سلام یاسر عزیز زاده هستم و شما مخاطبان را به مطالعه قسمت دوم از سری مقالات همه چیز درباره بینایی کامپیوتر دعوت میکنم.
در مقاله قبلی با هم با بینایی کامپیوتر آشنا شدیم و به دو سؤال بینایی کامپیوتر چیست؟ و چگونه کار میکند؟ بهطور مختصر پاسخ دادیم و البته سؤال هایی را نیز مطرح کردیم که در این مقاله پاسخ خواهند یافت.
قبل از وارد شدن به بحث چیزی که ذهن ام را به خودش درگیر کرده بود را با شما میخواهم درمیان بگذارم و آن هم این است که برای رسیدن به هدف اصلی نگارش این مطالب که اثر بخشی و دادن اطلاعات جهت دار به کسانی که علاقهمند به این حوزه هستند است، بایستی هم من که ترجمه میکنم و مینویسم و هم شما که میخوانید برای پیشروی صحیح که آن هم پیشروی مرحله به مرحله است حوصله پیشه کنیم.
اکثر مواقع کسی که وارد حوزه بینایی کامپیوتر میشود ناگزیر با کلماتی از قبیل پردازش تصویر، بینایی ماشین و یا حتی بینایی نهفته برخورد میکند.
زیرا لازم است تفاوتها و اشتراکهای این اصطلاحات را تا جایی که نیاز داریم بدانیم.
بینایی ماشین
بینایی کامپیوتر در مقاله قبلی توضیح داده شد و با بینایی ماشین هم در بسیاری از موارد هم پوشانی دارد. در حالی که بینایی کامپیوتر روی توسعه و استفاده از نرم افزار، الگوریتمهای یادگیری عمیق و مدلهای سریعتر و دقیقتر تمرکز دارد؛ سیستمهای مرتبط با بینایی ماشین علاوه بر استفاده از این الگوریتمها و مدلها از نرم افزارهای پردازش تصویر نیز استفاده کرده و بیشتر بر روی توسعه سخت افزارهای لازم مانند دوربینهای پیشرفته، لنزها، نور پردازیهای مناسب محفظههای تصویر برداری که بیشتر در صنعت مورد توجه هستند و برای گرفتن یک تصویر با کیفیت از اجسام مورد نظر بسیار حائز اهمیت میباشند، تمرکز داشته و علاوه بر داشتن کاربردهای سادهتر دقت بسیار بالایی را میطلبند.
برای درک اهمیت موضوع فرض کنید میخواهیم با استفاده از یک سیستم بینایی ماشین درستی و عدم وجود انحراف در خروجی خط تولید تیرآهن نورد را کنترل کنیم.
در این صورت دوربین سیستم بینایی ماشین ما چه ویژگیهایی باید داشته باشد؟
قابلیت تصویر برداری با کیفیت در شرایط نوری ویژه، شرایط حرارتی متغیر و نویز دار، قابلیت ثبت تصاویر با سرعت بالا و غیره. با اینکه کار سادهای به نظر میآید اما ضرورت وجود دقت بالا زمانی بیشتر ملموس میشود که آسیبهای ناشی از عدم کارکرد صحیح سیستم را متصور بشویم.
سخت افزار سیستمهای بینایی ماشین
سیستمهای بینایی ماشین برای اجرای مدلهای مختلف به عنوان واحد پردازش لزوماً نیاز به کامپیوتر ندارند و میتوان در آنها از پلتفرمهای پردازشی مختلف مانند MCU’s, FPGA بهصورت ON board با دوربین استفاده کرد درست مانند سیستمهایی که در بسیاری از رباتهای صنعتی وجود دارد.
برای مثال این لینک و این لینک نشانگر دو سیستم دوربین توسعه یافته بینایی ماشین توسط شرکت Cognex است که یکی از قدرتمند ترین شرکت های فعال در حوزه توسعه و تولید محصولات و سیستم های مرتبط با بینایی ماشین است.
اما پردازش تصویر کجای دنیای تصاویر قرار دارد
همانطور که می دانید تصاویر از آرایههای دو بعدی تشکیل شدهاند و پردازش تصویر بیشتر راجع به استفاده و اعمال توابع ریاضی روی تصاویر بدون استفاده از هیچ گونه هوش مصنوعی است که شامل کاربردهایی از جمله شناسایی الگو، فیلتر گذاری، استخراج ویژگی، حذف نویز، فشرده سازی، واتر مارکینگ، ویرایش تصاویر و غیره میشوند.
جواب این است که خیلی کارها را میتوان بدون بینایی کامپیوتر و هوش مصنوعی انجام داد اما آیا نتیجه همان سرعت، دقت، بهرهوری، هزینه و انعطاف را حفظ خواهد کرد یا خیر؟ طبیعتاً جواب خیر است. لیکن هر کدام جای خود را دارند.
اهمیت پردازش تصویر در پیش پردازش دادههای تصاویر مورد استفاده در مدلهای بینایی کامپیوتر بسیار زیاد میباشد زیرا مدلهای مختلف تصاویر با ویژگیهای مختلفی را به عنوان ورودی دریافت میکنند. همچنین کاربرد پردازش تصویر در داده افزایی دادههای آموزشی مورد استفاده در مدلها و در خروجی مدلها برای بصری سازی نتایج انکار ناپذیر است.
قصد ندارم این نوشته را طولانی کنم. تا اینجای کار با بعضی از مفاهیم پایه آشنا شدیم و اطلاعاتی کسب کردیم در مقالههای بعدی هر جلسه به طور مفصل یک موضوع خاص را بحث خواهیم کرد.
اعتقاد دارم ضمن داشتن بینش از اینکه چه هدفی را دنبال میکنیم، داشتن نقشه راه نیز تقریباً به همان اندازه مهم است. چرا که بدون داشتن هیچ نقشه راهی رسیدن به هدف در گرو بسیاری از اما و اگر های دور از توجه ما، قرار خواهد گرفت. حال که بحث ما یک حوزه تخصصی با ریزه کاریهای فراوان است اهمیت این موضوع دو چندان میشود.
نقشه راه
- پرداختن به یادگیری عمیق و شبکههای عصبی پیچشی
- بررسی انواع یادگیری و پرداختن به یادگیری انتقالی
- معرفی پلتفرمهای مورد استفاده برای آموزش و پیاده سازی مدلهای بینایی کامپیوتر
- یک مقاله کامل درباره وظایف و کاربردهای بینایی کامپیوتر
- معرفی کتابخانه OpenCV با نگرش بینایی کامپیوتر
- تشریح فریموورک Tensorflow و مدل MobileNet
- حل مسئله کلاس بندی اشیاء
- بررسی پیاده سازی مدلهای بینایی کامپیوتر روی کامپیوترهای تک بردی از جمله Raspberry pi and Nano Jetson
- بررسی وجود امکانات پیاده سازی مدلهای هوش مصنوعی مرتبط با بینایی کامپیوتر روی میکرو کنترلر ها
- آموزش بهینه سازی مدلهای بینایی کامپیوتر برای پیاده سازی روی امبدد سیستمها و کامپیوترهای تک بردی
- پیاده سازی یک مدل کلاس بند اشیاء روی Raspberry pi 4
طبیعتاً با توجه به بازخوردهایی که از سوی شما دوستان دریافت میکنیم مطالب از جهاتی قابل انعطاف خواهند بود. سؤالات و نظرات خودتان را با ما در میان بگذارید.
منابع
منبع:سیسوگ