بینایی کامپیوتر چیست و چگونه عمل می‌کند؟

آفلاین
user-avatar
ارسطو عباسی
26 شهریور 1400, خواندن در 9 دقیقه

انسان‌ها بصورت لحظه‌ای و خودکار اطلاعات بصری بسیار زیادی را مشاهده و تحلیل می‌کنند. از این رو ایجاد حالتی مهندسی شده که توانایی انجام چنین کاری را بصورت طبیعی داشته باشد بی گمان دشوار است. اما در نهایت انجام چنین کاری غیر ممکن نبوده و با پیشرفت دنیای هوش مصنوعی ما توانایی آموختن تشخیص اطلاعات مختلف به کامپیوترها را پیدا کرده‌ایم.

در این مطلب از وبسایت راکت قصد داریم تا شما را با علم بینایی کامپیوتر آشنا کنیم و در کنار آن گریزهایی به موضوعاتی مانند هوش مصنوعی و یادگیری ماشین بزنیم.

بینایی کامپیوتر چیست؟

بینایی کامپیوتر یا Computer Vision شاخه‌ای از علم هوش مصنوعی و یادگیری ماشین است که در آن سعی می‌شود تا مدل‌هایی را ایجاد کرد که می‌توانند اطلاعات بصری را درک و دریافت کنند. منظور از این اطلاعات بصری هر چیزی‌ست که در دنیای واقعی و یا تصاویر و ویدیوها موجود باشد.

البته صرف «مشاهده کردن» دنیا کار بسیار آسانی خواهد بود: شما تنها نیاز دارید که یک دوربین را به کامپیوترتان متصل کنید. اما این کار کافی نخواهد بود. چالش اصلی دنیای بینایی کامپیوتر آن است که اپلیکیشن شما بتواند اطلاعاتی که دوربین‌تان ذخیره می‌کند را دسته‌بندی و تفسیر کند. برای مثال بگوید که چه اشیائی در این تصاویر وجود دارد و ارتباط آن‌ها با یکدیگر چیست؟ البته این موضوع به تصاویر ختم نشده و ویدیوها و حتی استریم‌های ویدیویی را نیز در بر می‌گیرد.

در نهایت کامپیوتر شما باید بتواند به خوبی جوابگوی سه وظیفه پایین باشد:

  • به صورت خودکار بتواند اشیائی که در تصویر وجود دارند را شناسایی کرده و بگوید که در چه جایی قرار دارند.
  • اشیاء دریافتی را دسته‌بندی کرده و روابط میان آن‌ها را پیدا کند.
  • محتوای کلی هر کدام از تصاویر را استخراج کند.

بینایی کامپیوتر به چه صورتی کار می‌کند؟

برای آنکه قابلیت تشخیص اشیاء را به کامپیوترها بدهیم باید با صدها و هزاران نمونه تصویر آموزش داده شوند. این کار باعث می‌شود تا در صورت مواجه با یک تصویر جدید آن را با هزاران نمونه پیش از خود  مقایسه کرده و با نزدیک‌ترین نوع خود ارتباط برقرار کند.

یکی دیگر از راهکارها استفاده از تکنیکی با عنوان «مهندسی ویژگی‌ها» است. اگر شما بخواهید به بچه‌ای تفاوت میان دوچرخه و اتوموبیل را توضیح دهید چه کاری انجام می‌دهید؟ مطمئنا با استفاده از ویژگی‌های هر کدام این تفاوت را قائل می‌شوید. برای مثال می‌گویید که دوچرخه دو چرخ داشته و اتوموبیل چهار چرخ، دوچرخه پدال دارد اما اتوموبیل خیر و... . مهندسی ویژگی‌ها در علوم کامپیوتر و هوش مصنوعی نیز دقیقا به همین شکل است.

البته کلی گویی‌هایی که در بخش مهندسی ویژگی‌ها صورت می‌گیرد همواره با خطا روبرو می‌شود. برای مثال اگر برای یک دوچرخه تنها دو چرخ بودن را قائل شویم در این صورت هوش مصنوعی، موتورها را نیز به عنوان دوچرخه تشخیص می‌دهد. در این حالت‌ است که مهندسان یادگیری ماشین سعی می‌کنند که از کلی گویی دوری کرده و با جزئیات بسیار زیاد فرایند تشخیص اشیاء را پیش ببرند. این موضوع در رابطه با سیستم‌های تشخیص چهره بسیار مورد اهمیت قرار خواهد گرفت چرا که انسان‌ها شباهت‌های فیزیکی بسیار زیادی دارند اما اگر به دقت توجه کنیم متوجه خواهیم شد که رنگ موی سر، فاصله چشم‌ها با یکدیگر، نحوه کشیده شدن ابروها و... هر انسانی می‌تواند کمی با دیگر انسان‌ها تفاوت داشته باشد. از این رو در ایجاد سیستم‌های تشخیص چهره این موضوع ارزیابی خواهد شد.

یکی دیگر از چالش‌های بینایی کامپیوتر وجود تصاویر در حالت‌های کیفیتی متفاوت است. برای مثال ممکن است تصویری که شما از یک گربه گرفته‌اید میزان روشنایی متفاوتی با مدل‌هایی داشته باشد که قبلا به هوش مصنوعی داده‌اند. در این حالت است که هوش مصنوعی با مشکل روبرو خواهد بود. بیایید به صورت جداگانه نگاهی به هر کدام از این حالت‌ها بیاندازیم.

چالش‌های بینایی کامپیوتر

میزان روشنایی متفاوت

برای بینایی کامپیوتر بسیار مهم است که از هر چیزی که قصد آموزش آن به هوش مصنوعی را دارید در نورهای مختلفی از آن تصویربرداری کنید. روشنایی و سیستم‌های فیلترینگ تصاویر می‌تواند باعث شود که رنگ یک توپ سفید در تصاویر تغییر کرده و همین باعث سردرگم شدن هوش مصنوعی شود. به همین دلیل پیشنهاد می‌کنم که در هنگام جمع‌آوری تصاویر برای آموزش دادن به هوش مصنوعی از تصاویری با نورها و فیلترهای متفاوت استفاده کنید.

نویز

زمانی که میزان نویز در تصاویر بالا باشد برای کامپیوتر بسیار مشکل خواهد بود که این تصاویر را شناسایی کند. منظور از نویز، پیکسل‌هایی هستند که از میزان عادی خود روشن‌تر و یا تاریک‌تر شده‌اند. معمولا در دوربین‌های مدار بسته این میزان نویز بالاست و به همین دلیل ممکن است در ایجاد سیستم تشخیص چهره روی چنین دستگاه‌هایی با مشکل روبرو شوید.

زاویه دید

بسیار مهم است که برای هر شئ از چند زاویه تصاویری را به هوش مصنوعی یاد بدهید. در این حالت هوش مصنوعی می‌تواند در بازه گسترده‌تری تصاویر را تشخیص دهد.

روی هم قرار گرفتن

گاهی اوقات ممکن است چند شئ در یک تصویر وجود داشته باشند که روی هم قرار گرفته و بعضی از ویژگی‌های شئ دیگر را مخفی نگه داشته باشد. این موضوع باعث می‌شود که تشخیص هوش مصنوعی در آینده دچار مشکل شود. بهتر است از تصاویری استفاده شود که شئ مورد نظر به صورت تکی حضور داشته باشد.

یک شئ با انواع مختلف

اشیائی که به یک دسته‌بندی تعلق دارند اما از ظاهر متفاوتی برخوردار هستند نیز یکی دیگر از چالش‌های اصلی برای بینایی کامپیوتر است. برای مثال ما یک دسته‌بندی لامپ داریم اما صدها نوع از همین لامپ را در دنیا داشته و تشخیص تمام این موارد سخت است.

شباهت نادرست

بسیاری از اوقات پیش خواهد آمد که یک دسته‌بندی به یک دسته‌بندی دیگر شباهت دارد و یا برای مثال یک انسان کاملا شبیه به یک فرد مشهور است. در این حالت تصاویر با همدیگر شباهت دارند اما ماهیت آن‌ها متفاوت است. این مورد نیز یکی‌دیگر از چالش‌های بینایی کامپیوتر است.

 

در حال حاضر با در نظر گرفتن تمام این مشکلات و چالش‌ها بنظر می‌رسد که کار بینایی کامپیوتری به جای مناسبی نخواهد رسید. اما در اشتباه هستید، مهندسین یادگیری ماشین حال با کمک گرفتن از توانایی‌های شبکه‌های عصبی بسیاری از این چالش‌ها را با تکنیک‌های متفاوت تغییر داده‌اند.

استفاده‌ها از بینایی کامپیوتری

بینایی کامپیوتر می‌تواند در موارد بسیار زیادی استفاده شود. در این بخش از مقاله قصد داریم در رابطه با این موارد صحبت کنیم:

تشخیص‌های پزشکی: دسته‌بندی کردن تصاویر و تشخیص الگوها مواردی هستند که مستقیما می‌توانند به کمک یک پزشک بیایند. برای مثال زمانی را تصور کنید که بخواهید یک سی‌تی‌اسکن را تشخیص دهید، در این صورت بینایی کامپیوتر به کمک پزشکان خواهد آمد.

ماشین‌های خودران: بازار ماشین‌های خودکار امروزه بسیار گرم شده و تمام این تکنولوژی وابسته به علم بینایی کامپیوتری است.

سیستم‌های امنیتی: سیستم‌های امنیتی برای کنترل ورود و خروج می تواند به خوبی از سیستم‌های تشخیص بینایی استفاده کند.

مدیریت کارخانه‌ها: بررسی درست کار کردن قسمت به قسمت یک کارخانه بزرگ کار سختی‌ست به همین دلیل می‌توان از سیستم‌های تشخیص چهره بهره گرفت و تمام بخش‌های یک کارخانه را تحت نظر داشت.

مشکلات سیستم بینایی کامپیوتری

بینایی کامپیوتری در کنار تمام مزیت‌هایی که دارد مشکلات و مواردی را نیز بوجود آورده که می‌تواند حل کردن‌شان کاری سخت باشد. اولین مشکل آن است که هنوز به اندازه‌ای تقویت پیدا نکرده که بتوان بصورت صد در صد روی آن حساب باز کرد. به همین دلیل همواره نیازمند بودن یک اپراتور انسانی برای کنترل آن وجود دارد. مسئله دوم بحث حریم خصوصی و امنیت این سیستم است. از آنجایی که از این سرویس در بخش‌های مختلفی مانند سیستم‌های کنترل شهری و... استفاده می‌شود کاربران از حریم خصوصی خودشان نگرانی دارند. برای مثال ممکن است از این سیستم برای تشخیص افراد تروریست استفاده شود اما از آنجایی که حجم عظیمی از داده توسط این سیستم‌ها جمع‌آوری می‌شود کسی نمی‌داند آن حجم از داده برای چه موارد دیگری استفاده خواهد شد.

در پایان

در این مطلب از وبسایت راکت با مقدمه‌ای بر بینایی کامپیوتر با شما همراه بودیم. استفاده از این سرویس مطمئنا در آینده نه چندان دور باعث می‌شود که انسان بتواند بهتر وظایف خود را انجام دهد.

 

منبع

چه امتیازی به این مقاله می دید؟
خیلی بد
بد
متوسط
خوب
عالی

دیدگاه‌ها و پرسش‌ها

برای ارسال دیدگاه لازم است، ابتدا وارد سایت شوید.

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

آفلاین
user-avatar
ارسطو عباسی @arastoo
برنامه‌نویس و مدیر بخش تولید محتوا وبسایت راکت - وبلاگ شخصی: https://arastoo.dev
دنبال کردن

گفتگو‌ برنامه نویسان

بخشی برای حل مشکلات برنامه‌نویسی و مباحث پیرامون آن وارد شو