بیایید با یک سوال ساده شروع کنیم: در این صفحه چه میبینید؟ لوگوی آسا در بالای سمت راست صفحه، تصویر شاخص مطلب، فهرست محتوا در سمت چپ و متنی که اکنون در حال خواندن آن هستید. شما تمام این دادههای تصویری را در کثری از ثانیه تجزیه و تحلیل کردهاید، اما این موضوع برای رایانهها صدق نمیکند. توانمندسازی رایانهها برای دیدن جهان به همان شیوهای که انسانها میبینند، تا همین چند سال پیش مثل یک رویا بود، رویایی که حالا با بینایی کامپیوتر (Computer Vision) در حال تبدیل شدن به واقعیت است. در این مطلب از آسا قرار است در مورد بینایی کامپیوتر، نحوه کار، قابلیتها، کاربردها، چالشها و آینده آن صحبت کنیم. با ما تا انتهای مطلب همراه باشید.
کامپیوتر ویژن چیست؟
انسانها برای جمعآوری و تفسیر اطلاعات به چشمان خود تکیه میکنند تا به واسطه آنها محیط خود را درک کنند و اقدامات را به درستی انجام دهند. این اقدام ساده شامل جمعآوری دادههای بصری و تفسیر بلادرنگ است. بینایی کامپیوتر هم در سادهترین تعریف خود، همین کار را انجام میدهد. اصطلاح بینایی کامپیوتر، اساسا بیانگر آن چیزی است که یک کامپیوتر میتواند درک کند. بنابراین، میتوان Computer Vision را چشمهای ماشینی دانست که توسط یک سیستم هوش مصنوعی کار میکند. این «چشمها» به ماشینها اجازه میدهند تا مشاهده، تجزیه و تحلیل و درک کنند و در نهایت محیط خود را مانند انسانها ببینند. با این حال، برخلاف بینایی انسان، این «حواس بصری» توسط دوربینها و الگوریتمهای پیچیدهای فراهم میشوند که میتوانند دادهها را به سرعت و با دقت تجزیه و تحلیل کنند.
سیستمهای Computer Vision میتوانند هزاران تصویر یا ویدیو را در عرض چند دقیقه پردازش کنند و در عین حال نقص یا بینظمی را تشخیص دهند. بینایی ماشین میتواند به میزان قابل توجهی حاشیه خطا را کاهش دهد و منجر به نتایج دقیقتر و مطمئنتر در عملیاتهای با حجم بالا شود و از این نظر فراتر از تواناییهای انسان در سرعت و کارایی است. اما یک کامپیوتر چطور میبیند؟
کامپیوتر ویژن چگونه کار میکند؟
بینایی کامپیوتر از مجموعهای از الگوریتمها، تکنیکها و اصول تشکیل شده تا ماشینها را توانمند سازد که دادههای بصری را درک و تفسیر کنند. این کار شامل فرآیند پیچیدهای از تجزیه و تحلیل تصاویر و ویدئوها برای استخراج اطلاعات معنادار است که اغلب از یادگیری ماشینی، تشخیص الگو، پردازش تصویر و مخصوصا یادگیری عمیق و شبکههای عصبی استفاده میکند. فرآیند بینایی کامپیوتر معمولا شامل مراحل زیر است.
۱- جمعآوری تصاویر
اولین گام در بینایی کامپیوتر به دست آوردن دادههای بصری است که میتواند به صورت تصویر یا فیلم باشد. این دادهها میتوانند از منابع مختلفی مانند دوربینها، حسگرها یا پایگاههای داده تصویری قدیمی به دست بیایند.
۲- پیش پردازش
قبل از شروع تجزیه و تحلیل، تصاویر اغلب تحت پیش پردازش قرار میگیرند. این فرآیند شامل تمیز کردن دادهها، حذف نویز، تصحیح اعوجاج (Distortion)، و تنظیم روشنایی یا کنتراست برای افزایش کیفیت تصاویر است. هدف پیش پردازش، اطمینان از دریافت ورودی بصری دقیق و قابل اعتماد الگوریتمها است.
۳- استخراج ویژگی
استخراج ویژگی شامل شناسایی و ثبت الگوها یا ویژگیهای متمایز درون تصاویر است. این ویژگیها میتواند لبهها، گوشهها، بافتها، شکلها یا توزیع رنگ باشد. این به سادهسازی دادهها و استخراج اطلاعات مربوطه کمک میکند و باعث میشود تجزیه و تحلیل و طبقهبندی اطلاعات راحتتر انجام شود.
۴- طبقهبندی اشیا
الگوریتمهای بینایی ماشین بعد از استخراج ویژگیها و استفاده از Deep Learning (یادگیری عمیق)، اشیا را شناسایی و طبقهبندی میکنند. این فرآیند رایانهها را قادر میسازد تا بین کلاسهای مختلف اشیا تمایز قائل شوند، مانند تشخیص اینکه آیا تصویر حاوی گربه است یا سگ.
نکته: نقش یادگیری عمیق در بینایی ماشین بسیار پیچیده و خارج از این بحث است. در یک توضیح ساده، صدها و هزاران تصویر از یک شی (به عنوان مثال یک سگ) به الگوریتم میدهیم و به آن میگوییم که تمام اینها تصویر یک سگ هستند. در نهایت، الگوریتمهای یادگیری عمیق میتوانند ویژگیهای خاص و مشترک را در تمام این تصاویر پیدا کنند و به این ترتیب تمام آن عکسها و عکسهای بعدی را به عنوان یک سگ طبقهبندی کنند.
۵- شناسایی شی
شناسایی شی فراتر از طبقهبندی است و هدف آن شناسایی دقیق نمونههای خاصی از اشیا در یک تصویر است. در این مرحله، از الگوریتمهای پیشرفته، بهویژه شبکههای عصبی کانولوشنال (CNN)، برای طبقهبندی و تشخیص دقیق اشیا استفاده میشوند. در نهایت، دادههای تجزیه و تحلیل شده را میتوان برای تکمیل فرآیند بینایی کامپیوتر استفاده کرد.
با ترکیب قدرت یادگیری عمیق (Deep Learning)، یادگیری ماشین (machine learning)، تشخیص الگو و پردازش تصویر، سیستمهای بینایی کامپیوتری میتوانند مجموعهای از وظایف، از درک تصویر اولیه تا تحلیل بصری پیچیده را انجام دهند. پیشرفت در این فناوریها به طور قابل توجهی دامنه و قابلیتهای بینایی کامپیوتر را گسترش داده است و منجر به پذیرش گسترده آن در صنایع و برنامههای مختلف شده است که در ادامه به آنها اشاره میکنیم؛ اما قبل از آن به وظایف کامپیوتر ویژن خواهیم پرداخت.
وظایف و قابلیتهای متداول بینایی کامپیوتر
بینایی کامپیوتر یک انقلاب در تکنولوژی محسوب میشود؛ انقلابی که قابلیتهای فوقالعادهای ارائه میدهد. هر یک از این قابلیتها میتواند یک صنعت را دگرگون کند که در بخش بعدی به آن خواهیم پرداخت، اما حالا بیایید قابلیتها و ابزارهایی که بینایی کامپیوتر ارائه میدهد را بررسی کنیم.
۱- طبقهبندی تصویر (Image Classification)
این وظیفه شامل تشخیص دسته یا کلاس یک تصویر است. در اینجا، مدل بینایی کامپیوتر تصویر ورودی را دریافت میکند و بر اساس ویژگیهایش، آن را به یکی از دستههای از پیش تعیینشده تخصیص میدهد. به عنوان مثال، تشخیص اینکه یک تصویر شامل یک گربه یا یک سگ است.
یک مثال متداول این است که دوربین گوشی شما میتواند چهرهها را در هنگام عکاسی تشخیص دهد و روی آنها فوکوس کند.
۲- تشخیص اشیا (Object Detection)
تشخیص اشیا شامل شناسایی و تعیین موقعیت اشیای مختلف در یک تصویر است. برخلاف طبقهبندی تصویر که فقط یک کلاس کلی برای تصویر تعیین میکند، تشخیص اشیاء، مکان دقیق اشیای مختلف را با استفاده از جعبههای مرزی (Bounding Boxes) مشخص میکند. به عنوان مثال، شناسایی و مشخص کردن موقعیت گربه و سگ در یک تصویر که هر دو در آن وجود دارند.
۳- ردیابی اشیا (Object Tracking)
در ردیابی اشیا، هدف دنبال کردن حرکت یک یا چند شی در طول زمان در یک ویدیو یا توالی تصاویر است. این تکنیک برای کاربردهایی مانند نظارت تصویری و سیستمهای خودران بسیار مهم است. علاوه بر این، ردیابی اشیا میتواند برای نظارت بر ترافیک در محیط های شهری، نظارت انسانی و تصویربرداری پزشکی استفاده شود.
۴- تقسیمبندی تصویر (Image Segmentation)
تقسیمبندی تصویر فرآیندی است که در آن یک تصویر به بخشهای مختلفی تقسیم میشود که هر کدام نمایانگر ناحیهای با ویژگیهای مشابه هستند. این کار میتواند به صورت کلی (Semantic Segmentation) انجام شود که در آن همه پیکسلهای تصویر به دستههای مختلف تقسیم میشوند.
همچنین میتواند به صورت دقیقتر (Instance Segmentation) انجام گیرد که در آن هر شی در تصویر، جداگانه و به طور دقیق تشخیص داده میشود. به عنوان مثال، اگر یک گربه و یک سگ در یک تصویر وجود داشته باشد، میتوان از تقسیمبندی برای تشخیص این دو حیوان استفاده کرد. بر خلاف تشخیص شی، که جعبهای را در اطراف یک شی میسازد، تقسیمبندی از پیکسلها برای تعیین شکل یک شی، تجزیه و تحلیل و برچسب گذاری آن استفاده میکند.
۵- تشخیص چهره (Face Recognition)
تشخیص چهره به شناسایی و تشخیص چهرههای افراد در تصاویر و ویدئوها میپردازد. این تکنیک برای کاربردهایی مانند امنیت، احراز هویت و مدیریت حضور و غیاب استفاده میشود. یک کاربرد متداول تشخیص چهره، در برخی از تلفنهای هوشمند پیشرفته است که از چهره مالک برای قفلگشایی استفاده میکند.
۶- تشخیص کاراکتر نوری (Optical Character Recognition)
تشخیص کاراکتر نوری یا کاراکتر خواننوری (OCR) تکنیکی است که هر نوع متن نوشته شده یا چاپ شده را از یک تصویر به قالب قابل خواندن ماشین تبدیل میکند. نمونه این فناوری را در دوربینهای تشخیص پلاک و قابلیت ترجمه از روی تصویر مترجم گوگل دیدهاید.
برخی دیگر از قابلیتهای کامپیوتر ویژن شامل بازسازی سهبعدی (۳D Reconstruction)، تشخیص حالت (Pose Estimation)، تشخیص حرکت (Motion Detection)، تشخیص فعالیت انسانی (Activity Recognition)، تولید تصویر (Image Generation) و تولید متن از تصویر (Image Captioning) است. اگر بخواهیم تمام قابلیتهای بینایی کامپیوتر را معرفی کنیم، این لیست بیشتر و بیشتر ادامه پیدا میکند.
کاربردها و اهمیت بینایی کامپیوتر
بینایی کامپیوتر به یک فناوری محوری در بسیاری از صنایع تبدیل شده است و نحوه تفسیر و تعامل ماشینها با دنیای بصری را متحول کرده است. کاربردهای آن گسترده و متنوع است و بخشهایی مانند مراقبتهای بهداشتی، خودرو، خردهفروشی و بسیاری دیگر را تحت تاثیر قرار میدهد.
بهداشت و درمان
بینایی کامپیوتر، تصویربرداری پزشکی را متحول کرده است و به تشخیص و درمان بیماری کمک میکند. این فناوری، تجزیه و تحلیل خودکار تصاویر پزشکی مانند اشعه ایکس، ام آر آی و سی تی اسکن را امکان پذیر کرده است و به رادیولوژیستها در شناسایی ناهنجاریها یا تومورها کمک میکند. همچنین توسعه رباتهای جراحی را با دقت بالا امکانپذیر کرده و نتایج جراحی را بهبود میبخشد.
صنعت خودرو
صنعت خودرو از کامپیوتر ویژن برای افزایش ایمنی و توسعه فناوریهای رانندگی خودکار استفاده میکند. سیستمهای پیشرفته کمک راننده (ADAS) از دید کامپیوتری برای شناسایی موانع، خواندن علائم راهنمایی و رانندگی و ارائه هشدارهای خروج از خط استفاده میکنند. وسایل نقلیه کاملا خودمختار حالا دیگر فقط یک رویا نیستند، در حال حاضر خودروهایی مانند تسلا میتوانند به طور کامل وظیفه رانندگی را به عهده بگیرند و حتی تاکسیهای بدون راننده هم در حال ظهور هستند. همه این خودروها برای هدایت و درک محیط اطراف خود به شدت به بینایی کامپیوتری همراه با سنسورهای دیگر متکی هستند.
خردهفروشی
در خردهفروشی، کامپیوتر ویژن مدیریت موجودی، فرآیندهای پرداخت و خدمات مشتری را تسهیل میکند. سیستمهای هوشمند میتوانند سطوح موجودی را ردیابی کنند، فضای قفسه را مدیریت کنند و حتی رفتارهای مصرفکننده را تجزیه و تحلیل کنند.
امنیت و نظارت
بینایی کامپیوتری به طور قابل توجهی سیستمهای امنیتی را از طریق تشخیص چهره، تشخیص ناهنجاری و تجزیه و تحلیل نظارت بلادرنگ افزایش میدهد. امروزه از این فناوری در نظارت بر ایمنی عمومی، کنترل دسترسی در ساختمانها و کمک به شناسایی فعالیتها یا رفتارهای غیرعادی که میتوانند تهدیدآمیز باشند، استفاده میشود.
کشاورزی
بینایی کامپیوتر برای تجزیه و تحلیل تصاویر هوایی از مزارع به منظور تشخیص مشکلاتی مانند بیماریهای گیاهی، آفات و نیاز به آبیاری استفاده میشود. علاوه بر این، رباتهای مجهز به کامپیوتر ویژن در حال ظهور هستند که کاشت، سمپاشی و برداشت محصولات را به طور خودکار انجام میدهند.
این مثالها تنها نمونهای از کاربردهای بینایی کامپیوتری امروزی را نشان میدهند. این فناوری هر روز پیشرفت میکند و ضریب نفوذ خود را در تمام حوزهها افزایش میدهد.
چالشهای بینایی کامپیوتر چیست؟
اگرچه بینایی کامپیوتری مزایای بسیاری را ارائه میدهد، اما با چالشهایی روبهرو است که میتواند مانعی برای پذیرش گستردهتر باشد. تنوع و پیچیدگی دادههای بصری یکی از موانعی است که در آن، دادهها به دلیل تفاوت در شرایط نوری، پسزمینه و ظاهر اشیا، درصد بالایی از تنوع را نشان میدهند. توسعه الگوریتمهایی که بتواند به خوبی دادههای بصری متنوع سازگار باشد، همچنان یک چالش مهم است.
چالش دیگر، دسترسی محدود به دادههای برچسبگذاری شده است. توسعه مدلهای بینایی کامپیوتری دقیق و قابل اعتماد، اغلب به مجموعهای عظیم از دادههای برچسبدار برای آموزش نیاز دارد. با این حال، برچسبگذاری دستی مقادیر زیادی از دادهها میتواند زمانبر و پرهزینه باشد. به دست آوردن و حاشیهنویسی مجموعه دادهها در مقیاس بزرگ با تغییرات متنوع همچنان یک چالش برای بسیاری از برنامهها است.
آخرین مانعی که هنگام اجرای فناوریهای بینایی کامپیوتری با آن مواجه میشویم، نگرانیهای اخلاقی و حفظ حریم خصوصی است. اطمینان از استفاده مسئولانه و شفاف از الگوریتمهای بینایی رایانه، رسیدگی به سوگیریها و حفظ حریم خصوصی در حین استفاده از مزایای فناوری، چالشهای مهمی هستند که در حال حاضر به خوبی تعریف یا تنظیم نشدهاند.
برای حل این چالشها، نیاز به تحقیقات و پیشرفتهای مداوم در الگوریتمهای بینایی کامپیوتری، جمعآوری دادهها، تکنیکهای حاشیه نویسی، معماری مدل و چارچوبهای اخلاقی داریم. با پیشرفت این زمینه و مقابله با این چالشها، به توسعه و استقرار بیشتر سیستمهای بینایی رایانهای قابل اعتماد، دقیق و مسئولانه کمک خواهیم کرد.
بیشتر بخوانید: دادهکاوی چیست؟
آینده بینایی کامپیوتر
بینایی کامپیوتر به سرعت در حال رشد است و به لطف پیشرفت تکنولوژی، سریعتر هم میشود. در سالهای آینده، میتوان انتظار داشت که فناوریهای بینایی کامپیوتر برای کسبوکارها در دسترستر، مقیاسپذیرتر و سازگارتر شوند. تحقیقات و نوآوری در حال انجام، قرار است نقشی کلیدی در پیشبرد این پیشرفت ایفا کند. بنابراین، صنایع در سراسر جهان، شانس بهرهمندی از این پیشرفتها را خواهند داشت. آینده بینایی کامپیوتر توسط طیف وسیعی از عوامل، از جمله توسعه مدلهای جدید شبکه عصبی مانند ترانسفورماتورهای بینایی شکل خواهد گرفت. این مدلها میتوانند بینشها و رویکردهای تازهای را در این زمینه به ارمغان بیاورند. واضح است که بینایی کامپیوتر فقط یک تکنولوژی نیست، بلکه یک تغییر اساسی است که صنایع مختلف را تحت تاثیر قرار میدهد.
https://www.sas.com/en_th/insights/analytics/computer-vision.html
https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-computer-vision#object-classification
https://www.ibm.com/topics/computer-vision
دیدگاهتان را بنویسید