بینایی کامپیوتری چیست و چگونه عمل می کند؟
فرض کنید فردی از آن سوی اتاق، توپی را به سمتتان پرتاب می کند و شما آن را می گیرید. این کار اگرچه فوق العاده ساده به نظر می رسد، اما در واقع یکی از پیچیده ترین فرایندهاییست که تاکنون به ادراک آن نائل آمده ایم، چه برسد به اینکه بخواهیم آن را بازسازی نماییم.
ابداع ماشینی که بتواند مثل انسان ببیند، عملی فوق العاده دشوار است، نه از آن جهت که کامپیوترها نتوانند این کار را انجام دهند، مشکل اصلی اینست که خودمان دقیقاً نمی دانیم چگونه از عهده این کار بر می آییم.
می توان فرایند سهل و ممتنع فوق را به این صورت خلاصه کرد: ابتدا تصویر توپ از عدسی چشم گذشته و روی شبکیه شکل می گیرد. سپس مقداری تجزیه و تحلیل ابتدایی صورت گرفته و نتیجه به سمت مغز ارسال می گردد، جایی که قشر بصری به آنالیز دقیق و عمیق آن خواهد پرداخت.
در مرحله بعدی، نتیجه آنالیز قشر بصری به دیگر بخش های کورتکس مغز ارسال شده و با تمام دانسته های کنونی فرد مقایسه می گردد، تا شیء مشاهده شده از نظر رده و ابعاد دسته بندی شود. نهایتاً مغز تصمیم می گیرد که عملی را انجام دهد: دست را بالا آورده و توپ را بگیرد (البته پیش بینی مسیر حرکت پرتابه نیز خود داستانی مجزاست).
تمامی مراحل فوق در کسری از ثانیه و تقریباً بدون هیچ تلاش آگاهانه از سوی انسان انجام می شود، و معمولاً به نتیجه ای نامطلوب ختم نخواهد گشت. با این حساب بازسازی چنین فعالیتی در یک سیستم کامپیوتری، مجموعه ای از مسائل و مشکلات به هم پیوسته را در بر خواهد گرفت.
البته هیچکس نگفته کار ساده ای در پیش داریم، به جز یکی از پیشگامان حوزه هوش مصنوعی به نام «ماروین مینسکی» که در سال 1966 به دانشجوی ارشد خودش دستور داد «دوربینی را به کامپیوتر متصل کرده و از دستگاه بخواهید آنچه می بیند را توصیف کند.» دانشجوی بیچاره نمی دانست بعد از پنجاه سال، هنوز سر این قضیه مشکل داریم.
تحقیقات جدی در این حوزه در دهه 50 میلادی شروع شد و در سه مسیر مختلف پیش رفت: شبیه سازی چشم (دشوار)؛ شبیه سازی قشر بصری (خیلی دشوار)؛ و شبیه سازی دیگر قسمت های مغز (خیلی خیلی دشوار).
دیدن
شاید بتوان شبیه سازی چشم را یکی از موفقیت آمیز ترین تلاش های انسان دانست. طی چند دهه گذشته توانسته ایم سنسورها و پردازشگرهای تصویری بسازیم که با قابلیت های چشم انسان برابری می کنند و حتی در مواردی، از آن هم بهتر هستند.
با تولید لنزهایی بی نقص و پیکسل های نیمه هادی در مقیاس نانومتری، به دقت و حساسیتی در دوربین های مدرن دست یافتیم که فقط لفظ فوق العاده را می توان برای توصیف آنها به کار گرفت. در حال حاضر، دوربین ها قادرند هزاران تصویر را در هر ثانیه ثبت کرده، و فاصله ها را با دقت خوبی تشخیص دهند.
با این حال علی رغم خروجی عالی، این دیوایس ها از بسیاری جهات هنوز در سطح دوربین های سوراخ سوزنی سده نوزدهم میلادی باقی مانده اند: آنها صرفاً انتشار فوتون های ورودی از یک جهت خاص را به ثبت می رسانند. بهترین حسگر دوربین حال حاضر نیز نمی تواند یک توپ را تشخیص دهد، چه برسد به اینکه مراحل گرفتن آن را برنامه ریزی نماید.
به بیان دیگر، سخت افزار به شدت محدود به نرم افزار است، که آن هم به نوبه خود مشکل عظیمی محسوب می گردد. به هر حال فناوری های نوین دوربین، پلتفرمی انعطاف پذیر و غنی را برای تحقیقات و پیشرفت های بیشتر فراهم ساخته اند.
توصیف کردن
در اینجا نمی خواهیم دوره کامل نوروآناتومی بصری را برگزار کنیم، اما کافیست بدانید مغز انسان بر پایه بینایی شکل گرفته. در مقایسه با سایر فعالیت ها، قسمت های بسیار بیشتری از مغز در فرایند دیدن نقش دارند و این عملکرد اختصاصی تا سطح خود سلول ها نیز پیش می رود.
میلیاردها سلول در مغز با یکدیگر همکاری می کنند تا الگوها را از میان سیگنال های شلوغ، درهم و نامرتب شبکیه تشخیص دهند. در صورتی که کنتراست یا تضادی در راستای یک خط با زاویه ای مشخص وجود داشته باشد، یا مثلاً حرکتی سریع در جهتی خاص شکل گیرد، مجموعه ای از نورون ها به تحریک یکدیگر می پردازند.
پس از تشخیص این وضعیت، شبکه هایی در سطوح بالاتر به تجمیع و ترکیب الگوها پرداخته و فراالگوها را تشکیل می دهند، مثلاً اینکه یک دایره در حال حرکت است. سپس شبکه دیگری از نرون ها اعلام می کند که دایره مورد نظر سفید رنگ بوده و خط های قرمز دارد.
نهایتاً گروه دیگری تشخیص می دهد که اندازه دایره لحظه به لحظه بزرگ تر می شود، و بر اساس این توصیفات خام اما مکمل، تصویری نهایی در ذهن شکل می گیرد.
تحقیقات اولیه در حوزه بینایی ماشین، با در نظر گرفتن این شبکه های بسیار پیچیده، رویکردی متفاوت را در پیش گرفتند: استدلال از بالا به پایین. مثلاً کتاب (این شکلی) است، پس دنبال (چنین الگویی) بگردیم، مگر اینکه کتاب روی لبه اش قرار گیرد، که در این صورت باید (چنین حالتی) را در نظر گرفت، یا اینکه خودرو (این شکلی) است و (اینگونه) حرکت می کند.
این رویکرد برای تعداد کمی شیء در محیطی کنترل شده به خوبی کار می کند، اما تصور کنید می خواهید تمام چیزهای پیرامونتان را از تمام زوایا و در شرایط مختلف نوری، در حال حرکت و صدها متغیر دیگر توصیف نمایید. قطعاً در این وضعیت حتی برای دستیابی به سطح شناخت کودکی نوپا، به مجموعه ای عظیم و غیر قابل باوری از داده نیاز خواهیم داشت.
روش پایین به بالا، که تقریباً نحوه عملکرد مغز را شبیه سازی می کند، امیدوار کننده تر به نظر می رسد. کامپیوتر با اعمال یک سری تبدیلات خاص روی تصویر، می تواند لبه ها، اشیاء متمایز و ژرفا را تشخیص داده و با ارائه چند عکس متوالی، قادر است حرکت را نیز شناسایی نماید.
در این فرایند از محاسبات ریاضی و آماری سنگینی استفاده می شود، اما بیشتر آن به تطابق اشیاء موجود و اشیائی که قبلاً بر اساس آنها آموزش دیده صرف می شود، یعنی همان کاری که مغز انسان نیز انجام می دهد.
در تصویری که می بینید (متعلق به E-Lab دانشگاه پردو) کامپیوتر با محاسبات فراوان و تطبیق دادن اشیاء متمایز موجود در صحنه با داده های پیشین، تا حدودی توانسته آنها را تشخیص داده و نامگذاری نماید، و البته اشتباهاتی نیز در این مسیر مرتکب گشته.
شاید با خودتان بگویید چرا زودتر از این روش استفاده نکردیم. در واقع طی سال های گذشته انجام چنین سطح محاسباتی با سیستم های پردازشی آن زمان تقریباً ناممکن بود، اما اخیراً با ساخت و توسعه شبکه های عصبی مصنوعی توانستیم به چنین توان پردازشی عظیمی دست یابیم.
با پیشرفت های صورت گرفته در حوزه پردازش موازی، موانع بسیاری از پیش روی علوم مختلف برداشته شد و با استفاده از سیستم هایی که اندکی شبیه به مغز انسان عمل می کنند، پژوهش ها شتاب سرسام آوری گرفتند. امروزه فرایند تشخیص الگو چندین برابر سریع تر شده و هر روز نیز پیشرفت های بیشتری حاصل می گردد.
فهمیدن
قطعاً می توان سیستمی ساخت که انواع سیب را از تمامی زوایا، در هر وضعیت ممکن، در حالت سکون یا حرکت، گاز خورده یا سالم، و هر شکل قابل تصور به خوبی تشخیص دهد، اما واضح است که این سیستم هیچ نظری در مورد پرتقال نخواهد داشت.
حتی سیستم ظاهراً کامل فوق در مورد چیستی سیب نیز ایده ای ندارد، این که خوردنیست یا پوشیدنی، اندازه اش چقدر است، و به چه منظور استفاده می شود. مشکل این است که حتی بهترین سخت افزارها و نرم افزارها نیز بدون زیرساختی قوی یا همان سیستم عامل، به هیچ دردی نمی خورند.
در انسان، این عملیات بر عهده باقی قسمت های مغز است: حافظه کوتاه مدت و درازمدت، ورودی از دیگر حواس، توجه و شناخت، میلیاردها درس که از تریلیون ها مورد تعامل با جهان آموخته شده، و به شیوه ای ناشناخته درون شبکه ای از نورون های متصل به هم، با ساختاری پیچیده تر از هر آنچه در تصور می آید، ثبت گشته.
و اینجا، همان جاییست که پیشگامان علوم کامپیوتر و هوش مصنوعی گیر کرده اند. تمامی دانشمندان کامپیوتر، مهندسین، روانشناسان و متخصصین علوم عصبی و حتی فلاسفه، نمی توانند به تعریفی کامل و کاربردی از نحوه کارکرد مغز انسان دست یابند، چه برسد به اینکه بخواهند آن را شبیه سازی نمایند.
البته نباید تصور کرد که به بن بست رسیده ایم. آینده بینایی کامپیوتری در گرو سیستم های قدرتمند اما اختصاصی است که همگام با مجموعه های گسترده تر، از جمله سامانه های در بر گیرنده مفاهیمی همچون مضمون، توجه و قصد، رو به جلو حرکت می کنند.
با همه این صحبت ها، بینایی کامپیوتری یا بینایی ماشین حتی در ابتدایی ترین شکل، فوق العاده سودمند است. دوربین های کنونی به راحتی چهره و لبخند را تشخیص می دهند. ماشین های خودران می توانند علائم راهنمایی و رانندگی را خوانده و مراقب عابرین پیاده باشند. ربات های خط تولید در کارخانه ها نیز به نظارت بر اوضاع پرداخته و در کنار کارگران انسانی به فعالیت مشغولند.
هرچند هنوز راه درازی برای رسیدن به سطح درک انسان داریم، و اصلاً نمی دانیم آیا رسیدن به آن ممکن است یا خیر، اما همین که با مشکلات موجود توانستیم مرحله دیدن را پشت سر گذاشته و تا حدودی به حوزه توصیف کردن پا بگذاریم، امیدوار کننده به نظر می رسد.