بینایی کامپیوتری (Computer vision) چیست؟
بینایی رایانهای به مسائل مختلفی از جمله استخراج داده از عکس، فیلم، مجموعه چند عکس از زوایای مختلف و پردازش تصاویر پزشکی میپردازد. معمولاً ترکیبی از روشهای مربوط به پردازش تصاویر و ابزارهای یادگیری ماشینی و آمار برای حل مسایل مختلف در این شاخه استفاده میگردد.
کاوش در دادهها
بینایی ماشینی را میتوان یکی از مصادیق و نمونههای بارز زمینهٔ مادر و اصلیتر کاوشهای ماشینی دادهها بهحساب آورد که در آن دادهها تصاویر دوبعدی یا سهبعدی هستند، که آنها را با استفاده از هوش مصنوعی آنالیز میکنند.
وظایف اصلی در بینایی رایانهای(بینایی کامپیوتری)
تشخیص شیء
تشخیص حضور و/یا حالت شیء در یک تصویر. به عنوان مثال:
- جستجو برای تصاویر دیجیتال بر اساس محتوای آنها (بازیابی محتوامحور تصاویر).
- شناسایی صورت انسانها و موقعیت آنها در عکسها.
- تخمین حالت سهبعدی انسانها و اندامهایشان.
پیگیری
پیگیری اشیاء شناخته شده در میان تعدادی تصویر پشت سر هم. به عنوان مثال:
- پیگیری یک شخص هنگامی که در یک مرکز خرید راه میرود.
تفسیر منظره
ساختن یک مدل از یک تصویر/تصویر متحرک. بهعنوان مثال:
- ساختن یک مدل از ناحیهٔ پیرامونی به کمک تصاویری که از دوربین نصب شده بر روی یک ربات گرفته میشوند.
خودمکانیابی
مشحص کردن مکان و حرکت خود دوربین به عنوان عضو بینایی رایانه. بهعنوان مثال:
- مسیریابی یک ربات درون یک موزه.
سامانههای بینایی رایانهای یا بینایی کامپیوتری
یک سامانهٔ نوعی بینایی رایانهای را میتوان به زیرسامانههای زیر تقسیم کرد:
تصویربرداری
تصویر یا دنباله تصاویر با یک سامانه تصویربرداری(دوربین، رادار، لیدار، سامانه توموگرافی) برداشته میشود. معمولاً سامانه تصویربرداری باید پیش از استفاده تنظیم شود.
پیشپردازش
در گام پیشپردازش، تصویر در معرض اَعمال «سطح پایین» قرار میگیرد. هدف این گام کاهش نوفه (کاهش نویز – جدا کردن سیگنال از نویز) و کمکردن مقدار کلی دادهها است. این کار نوعاً با بهکارگیری روشهای گوناگون پردازش تصویر(دیجیتال) انجام میشود. مانند:
- زیرنمونهگیری تصویر.
- اعمال فیلترهای دیجیتال.
- پیچشها.
- همبستگیها یا فیلترهای خطی لغزشنابسته.
- عملگر سوبل.
- محاسبهٔ گرادیان x و y(و احتمالاً گرادیان زمانی).
- تقطیع تصویر.
- آستانهگیری پیکسلی.
- انجام یک ویژهتبدیل بر تصویر.
- تبدیل فوریه.
- انجام تخمین حرکت برای ناحیههای محلی تصویرکه به نام تخمین شارش نوری هم شناخته میشود.
- تخمین ناهمسانی در تصاویر برجستهبینی.
- تحلیل چنددقتی.
استخراج ویژگی
هدف از استخراج ویژگی کاهش دادن بیش تر دادهها به مجموعهای از ویژگیهاست، که باید به اغتشاشاتی چون شرایط نورپردازی، موقعیت دوربین، نویز و اعوجاج ایمن باشند. نمونههایی از استخراج ویژگی عبارتاند از:
- انجام آشکارسازی لبه.
- استخراج ویژگیهای گوشه ای.
- استخراج تصاویر چرخش از نقشههای ژرفا.
- بدست آوردن خطوط تراز و احتمالاً گذر از صفرهای خمش.
ثبت
هدف گام ثبت برقراری تناظر میان ویژگیهای مجموعه برداشت شده و ویژگیهای اجسام شناختهشده در یک پایگاه دادههای مدل و/یا ویژگیهای تصویر قبلی است. در گام ثبت باید به یکفرضیه نهایی رسید. چند روش این کار عبارتاند از:
- تخمین کمترین مربعات.
- تبدیل هاگ در انواع گوناگون.
- درهمسازی هندسی.
- پالودن ذرهای.
بینایی و تفسیر تصاویر در انسانها
lز آنجایی که هدف نهایی computer vision ساخت مفسر قدرتمند اجسام 3D , رنگها و عمق تصاویر هست. دانستن این موضوع که چگونه مغز موجودات، بینایی و دیدن را تفسیر میکند و اینکه چند درصد نورونهای کل مغز در گیر این پروسه هستند نسبتاً اهمیت پیدا میکند. مقاله زیر میتواند یک نگاه کلی از این روند پیچیده بدهد.
حل مسئله تفسیر نور به ایدهها از جهان، درک بصری ویژگیها و اشیا، عملی خیلی پیچیده و به مراتب فراتر از تواناییهای قدرتمندترین ابرکامپیوترهای جهان است. بینایی نیازمند جدا کردن پیش زمینه از پس زمینه هست. تشخیص اشیا قرار گرفته در طیف گسترده ای از جهتها، تفسیر نشانههای فضایی با دقت بالا. مکانیزمهای نورونی در شبکههای عصبی ادراک بصری نگاه کلی از چگونگی محاسبه مغز در وضعیتهای پیچیده برای تفسیر بینایی را به ما میدهد.
ادراک بینایی زمانی آغاز میشوند که چشم نور را بر روی شبکیه چشم یا (retina) متمرکز میکند، که در آن جا توسط یک لایه از سلولهای گیرنده نوری جذب میشود. این سلولها نور را به سیگنالهای الکتروشیمیایی تبدیل میکنند و به دو نوع، میله ای و مخروطی تقسیم میشوند (بر اساس شکل هایشان). سلولهای میله ای مسئول دید ما در شب هستند و به نور کم پاسخ خیلی خوبی میدهند. سلولهای میله ای (Rod cells) عمدتاً در مناطق پیرامونی از شبکیه چشم (حول یا اطراف شبکیه) یافت میشوند و بنابراین اکثر مردم این موضوع را فهمیده اندکه اگر نگاه خود را در شب متمرکز کنند میتوانند منطقه مورد تمرکز را بهتر ببینند.
سلولهای مخروطی (Cone cells) در یک منطقه مرکزی شبکیه متمرکز به نام گودال متمرکز شدهاند که فرورفتگی (یا fovea) هم نام دارد. آنها مسئول وظایف سنگین و دقیقی مثل خواندن هستند. سلولهای Cone بسته به اینکه به نور آبی، قرمز، سبز چگونه واکنش میدهند به سه دسته تقسیم میشوند، و در مجموع این سه نوع از Cone ما را قادر به درک رنگها میکنند. سیگنالها از سلولهای گیرنده نوری (photoreceptor cells) از طریق شبکه ای از interneuronsها در لایه دوم شبکیه چشم به سلولهای ganglion در لایه سوم منتقل میشوند. نورونهای موجود در این دو لایه از شبکیه زمینه پذیرای پیچیده ای که آنها را قادر به تشخیص تضادهای تغییراتی در یک تصویر میکند را ارائه میدهند: این تغییرات ممکن است لبهها یا سایهها را نشان دهند. سلولهای Ganglion این اطلاعات را به همراه دیگر اطلاعات در مورد رنگ جمعآوری میکنند و خروجی خود را به مغز از طریق عصب بینایی ارسال میکنند. عصب یا Nerve بینایی در درجه اول اطلاعات را از طریق thalamus به قشاء مغزی (cerebral cortex) ارسال میکند. پس از ارسال اطلاعات در قسمت cerebral cortex ادراک بصری انسان به وقوع میپیوندد. اما در عین حال این عصب (Nerve) حامل اطلاعات مورد نیاز برای مکانیک دید نیز هست که به دو قسمت از ساقه مغز (brainstem) این اطلاعات را منتقل میکند. اولین قسمت از brainstem گروهی از سلولهای هسته هستند که pretectum نام دارند که کنترل غیرارادی اندازه مردمک در پاسخ به شدت نور را بر عهده دارند. اطلاعات مربوط به اهداف متحرک و اطلاعات ساکن اسکن شده توسط چشم نیز به قسمت دوم در brainstem منتقل میشود، یک هسته که با نام superior colliculus شناخته میشود مسئول حرکات چشم در پرشهای کوتاه هست. بخش دیگر از این دو قسمت saccades هست که به مغز اجازه درک یک اسکن هموار را با کمک چسباندن یک سری از تصاویر نسبتاً ثابت میدهد. Saccadic eye movement مشکل تاری شدید- که میتواند برای تصویر پیش بیاید – را حل میکند. چشم میتواند به صورت یکنواخت در سراسر چشمانداز بصری حرکت کند؛ saccadesها در بعضی از وضعیتها تجربه بصری را ممکن و آسان میکنند مانند مشاهده چشم فرد دیگری برای شما، در حالی که آن فرد در تلاش برای نگاه کردن سرتاسر اتاق هست.
بسیاری از تصاویر از شبکیه چشم (retina) از طریق عصب بینایی به بخشی از thalamus که به نام (lateral geniculate nucleus) شناخته شده است و در اختصار (LGN) هم کفته میشود منتقل میشوند، thalamus در عمق مرکز مغز قرار گرفته. LGN ورودی شبکیه (retinal) را به جریانهای موازی ای مورد جداسازی قرار میدهد که یکی حاوی رنگ و ساختار ثابت و دیگری حاوی تضادها (contrast) و حرکات هست. سلولهایی که پردازش رنگ و ساختار را انجام میدهند چهار لایه بالایی از شش لایه LGN را تشکیل میدهند. این چهار لایه به علت کوچکی سلولها، parvocellular نامیده میشوند. سلولهایی که پردازش حرکات و تضادهای تصویر را انجام میدهند دو لایه پایینی LGN رو تشکیل میدهند و به علت بزرگی سلولهای این قسمت، لایه magnocellular نامیده میشوند.
سلولهای لایههای magnocellular و parvocellular همه راهها را به بخشهای پشت مغز و به سمت قشر بینایی اولیه (Visual cortex _ V1) طرحریزی میکنند. سلولها در V1 در چندین مسیر مرتب شدهاند که این مسئله اجازه میدهد سیستم بینایی محل اشیاء را در فضا محاسبه کند. در ابتدا سلولهای V1 به صورت retinotopically یا موضعی سازمان یافتهاند، که به معنای این است که نقطه به نقطه روی نقشه بین شبکیه و قشر بینایی اولیه وجود دارد و مناطق همجوار در شبکیه چشم با مناطق همجوار در V1 مطابقت دارد؛ که این به V1 اجازه میدهد که موقعیت اشیا را در دو بعد از جهان بصری که افقی و عمودی (مختصات (x , y)) تعیین کند. بعد سوم و عمق نیز با مقایسه سیگنالهای دو چشم توسط V1 نقشهبرداری و تعیین میشود. این سیگنالها در پشته سلولها که ستون ocular dominance نامیده میشوند پردازش میشوند، که یک الگوی شطرنجی اتصالات متناوب بین سمت چپ و چشم راست است. اختلافی جزئی در موقعیت یک شی نسبت به هر چشم وجود دارد که اجازه میدهد تا عمق توسط مثلث محاسبه شود.
در نهایت، V1 به ستونهای جهت گیری سازمان یافته است، پشته از سلولها که به شدت توسط خطوط یک جهت گیری داده شده، فعال میشوند. ستونهای جهت امکان تشخیص لبههای اشیاء در جهان بصری را برایV1 را فراهم میسازند، و به طوری که آنها کار پیچیده ای از تشخیص بصری را شروع میکنند. سازمان ستونی از قشر بینایی اولیه برای اولین بار توسط David Hubel و Torsten Wiesel توصیف شده است، که در نتیجه بخاطر این موضوع جایزه نوبل ۱۹۸۱ را دریافت کردهاند.
جالب توجه است که این الگوی شطرنجی، سازمان ستونی V1 در هنگام تولد بسیار مبهم است. قشر بینایی یک نوزاد تازه متولد شده رشد بیش از حد (hypertrophy) , یا اتصالات اتفاقی دارد که باید به دقت و بر اساس تجربه بصری در بلند مدت هرس شوند، و در نهایت به ستونهای جداگانه تعریف شده تبدیل شوند- این در واقع یک کاهش در تعداد اتصالات و نه افزایش اتصالات خواهد بود -که در نهایت توانایی نوزاد برای دیدن جزئیات ریز و به رسمیت شناختن اشکال و الگوها را بهبود میبخشد.
این نوع از پالایش وابسته، به فعالیت به V1 محدود نمیشود و در بسیاری از مناطق سراسر قشر مغز (cerebral cortex) رخ میدهد. در همان زمان که توانایی تبعیض خطوط و لبه در قشر بینایی اولیه بهبود مییابد، سلولها را در قشر بینایی ثانویه (secondary visual cortex V2) , توانایی خود را برای تفسیر رنگ پالایش میکنند. V2 تا حد زیادی مسئول پدیده ثبات رنگ است؛ و این حقیقت را توضیح میدهد که واقعیت یک گل سرخ تحت تأثیر بسیاری از رنگهای مختلف نور توسط ما هنوز هم به رنگ سرخ به نظر میرسد. این طور گمان میشود که ثبات رنگ وقتی رخ میدهد که V2 میتواند یک شیء و نور محیط را مقایسه کند و میتواند برآورد رنگ روشنایی را کاهش دهد. با اینحال این پروسه با توجه به اینکه بیننده انتظار دارد که شیء بخصوص به چه رنگی داشته باشد، به شدت تحت تأثیر قرار میگیرد.
در حقیقت، تقریباً تمام ویژگیهای مرتبه بالاتر از بینایی و منظره توسط انتظارات بر اساس تجربه گذشته تحت تأثیر قرار میگیرد. این ویژگی به گسترش رنگ و درک فرم موجود در V3 و V4، به چهره و تشخیص شیء در لوب temporal (جایی که تصویر ذهنی سه بعدی از آنچه که میبینیم در نهایت تشکیل میشود) و به حرکت و آگاهی از فضای موجود در لوب parietal میانجامد. هرچند چنین روش و تأثیراتی گاهی اجازه میدهد مغز تحت تأثیر تصورات نادرست فریب بخورد، برای مثال در مواقع خطای دید در برخی از تصاویر، ولی این روش پردازش به ما توانایی دیدن و پاسخ سریع به جهان بصری را داده است. از تشخیص روشنایی و تاریکی در شبکیه چشم (retina) تا خطوط انتزاعی در V1 تا تفسیر اشیا و روابط فضاییشان در ناحیههای بصری بالاتر، هر وظیفه ای در ادراک بصری کارایی و قدرت سیستم بینایی انسان را نشان میدهد.
موارد حال حاضر استفاده از تکنولوژی computer vision
- کاربردهای غیرنظامی
- سرچ پیدا کردن تصاویر مشابه در سرویسهای Google یا Bing
- سرویسهای شناختی Microsoft
- پیدا کردن افراد یکسان در تصاویر حتی در صورتی که آنها تغییر فیافه داده باشند
- سرویس تشخیص احساسات لحظه ای افراد مبتنی بر تصاویر
- سرویس تشخیص سن افراد و جنسیت و . . . در تصاویر
- سرویس PhotoDNA
- سرویس قدرتمند تبدیل نوشتههای موجود در تصاویر به متن
- تشخیص چهره در ویدئو به صورت real time
- تبدیل گفتار به متن
- تشخیص لحن گفتار بر پایه متن
- سرویس پیدا کردن مفاهیم بر پایه محتویات متنی
- سرویسهای تشخیص زبانهای طبیعی
- سرویس توصیف تصاویر
- رباتهای چت پیشرفته (از جمله این رباتها می شه به Tay در twitter اشاره کرد)
- و سرویسهای دیگر . . . .
- سرویسهای شناختی IBM
- تشخیص احساسات بر پایه تصاویر
- سرویس اپن سورس توصیف تصاویر با node.js (سورس code)
- توصیف محتواهای متنی
- سرویس شناختی آنالیز شبکههای اجتماعی
- رباتهای خودکار پاسخ دهنده هوشمند به کاربران
- تشخیص احساسات بر پایهٔ محتوای متنی
- سرویس گرافهای شناختی از دادههای تاریک
- کسب و کارهای شناختی
- تشخیص real time ایتمهای مختلف با تراشه SyNAPSE
- و سرویسهای دیگر . . . .
- خودروهای خودران Google و بقیه شرکتها
- استفاده برای تشخیص چهره درگرفتن عکس در تلفنهای همراه همچنین استفاده در سرویس شبکه اجتماعی فیسبوک جهت نوشتن نامها بر روی تصاویر
- استفاده در فروشگاهها برای دنبال کردن سلایق بازدید کننده گان
- استفاده در تشخیص پلاک خودرو
- درمان بیماریها و تومورها و سرطان با Nanobots های که انرژی خود را از برخورد اتفاقی با سلولها به دست می آورند
- کاربردهای نظامی
- تشخیص و شناسایی چهره افراد در فرودگاها و مراکز حساس دیگر
- وسایل حرکتی بدون سرنشین _ مستقل (Uncrewed vehicle)
- خودروهای زمینی بدون سرنشین نظامی چند منظوره با قابلیتهای استفاده موتوریزه و انتقال نیروها و تجهیزات . . . (Unmanned ground vehicle)
- زیردریایی بدون سرنشین: زیردریایی شرکت بوئینگ (Boeing submarine) که قابلیت ماهها ماندن در زیر دریا و بررسی و ارسال اطلاعات به طور کاملاً مستقل را قادر میباشند
- ناوهای بدون سرنشین: ناوهای ضد زیردریایی ACTUV ساخت DARPA (سازمان پروژههای تحقیقاتی پیشرفتهٔ دفاعی)
- هواپیماهای بدون سرنشین و پهپادها با کنترل مستقل (Unmanned aerial vehicle)
- سیستم دفاع موشکی هوش مصنوعی (Artificially Intelligent Missile Defense System)
- فضاپیمای بدون سرنشین (Unmanned spacecraft)
- رباتهای Humanoid (پروژه Atlas robot)
- Nanobots