6 کاربرد مهم Object Detection (تشخیص اشیا) در بینایی ماشین و پردازش تصویر

Object Detection (تشخیص و شناسایی اشیا)  کاربردهای فراوانی در پردازش تصویر و بینایی ماشین دارد. این الگوریتم یکی از پایه ای ترین الگوریتم های پردازش تصویر و بینایی ماشین  است که در حل مسائل مختلف به کار گرفته می شود. در این مقاله 6 مورد از کاربردهای Object Detection در سیستم های بینایی ماشین بررسی خواهد شد. این موارد عبارت اند از:

بهترین نرم افزار پردازش تصویر جهت پیاده سازی Object Detection نرم افزار پردازش تصویر HALCON می باشد. این نرم افزار ساخت شرکت آلمانی MVtec است، که در آن تشخیص و شناسایی اشیا با عنوان “مچینگ” نام گذاری شده است. همچنین  عکس های این مقاله از مثالهای آماده پردازش تصویر با نرم افزار هالکن آورده شده است. برای دیدن مثالهای بیشتر در تشخیص و شناسایی اشیا می توانید نرم افزار HALCON دانلود و نصب نمایید و به جستجوی مثال مورد نظر بپردازید (آموزش جستجوی مثالهای مورد نظر در نرم افزار HALCON را در مقاله “ 1000 پروژه پردازش تصویر با سورس کدهای آماده ” مطالعه نمایید)

برای ثبت نام در “دوره آموزشی بینایی ماشین با نرم افزار هالکن” اینجا کلیک کنید.

1- به کارگیری Object Detection جهت اعلام مختصات قطعه به ربات

یکی از کاربردهای شناسایی اشیا در بینایی ماشین اعلام مختصات قطعه به ربات است. ما با کمک این الگوریتم می توانیم قطعه را پیدا کنیم و مختصات آن را به ربات اعلام کنیم. بگذارید تا کمی بیشتر قضیه را بشکافیم. به وسیله تشخیص اشیا می توانیم مختصات قطعه را پیدا کنیم. پس از مشخص شدن مختصات قطعه کافی است تا آن را به ربات اعلام نماییم. اصطلاحا سیستم های pick and place این کار را انجام می دهند. به عنوان مثالی از این کاربرد فرض کنید ربات بخواهد تعدادی از گیره ها را بردارد. بدین ترتیب در هر مرحله الگوریتم Object Detection می بایست گیره را تشخیص و مختصات آن را اعلام کند. همانطور که در عکس های زیر قابل مشاهده است این عملیات تا برداشتن آخرین گیره ادامه پیدا می کند.

کاربرد پردازش تصویر در شناسایی اشیا

کاربرد پردازش تصویر در تشخیص اجسام

کاربرد پردازش تصویر در پیدا کردن اجسام

پیدا کردن اشیا برای pick and place با ربات

تشخیص اشیا در پیک اند پلیس با ربات

پیک اند پلیس با ویژن

ربات ویژن با پردازش تصویر

تشخیص محصولات با پردازش تصویر

2- کاربرد Object Detection جهت اندازه گیری اشیا

یکی دیگر از کاربردهای تشخیص اشیا در بینایی ماشین در اندازه گیری است. برای اندازه گیری خیلی وقت ها نیاز داریم ابتدا شی را پیدا کنیم. پس از پیدا کردن شی می توانیم آن را اندازه گیری نماییم. برای پیدا کردن شی از الگوریتم شناسایی اشیا استفاده می شود. به عنوان مثال در شکل زیر می خواهیم تیغ­های ریش تراش را مورد بررسی قرار دهیم. همانطور که در عکس با مستطیل های قرمز نشان داده شده است ممکن است برخی دندانه ها شکسته باشد. برای تشخیص نیاز داریم که ابتدا جایگاه دنده ها را مطابق شکل (مستطیل آبی رنگ) مشخص نماییم. پس از مشخص نمودن جایگاه دندانه ها به بررسی تیغه ها خواهیم پرداخت. برای بررسی تیغه ها به وسیله اندازه گیری فاصله بین لبه ها انجام می شود. مراحل انجام برنامه نویسی در ادامه تشریح می شوند.

مرحله آموزش

در اینجا نیز مرحله آموزش مشابه قبل است. برای اینکه بتوانیم از الگوریتم مچبنگ (شناسایی اشیا) در بینایی ماشین استفاده کنیم بایستی ابتدا یک مدل از آن را بسازیم. بنابراین در مرحله اول یک مدل مچینگ شامل سر و ته تیغه مطابق عکس می سازیم.

مرحله بررسی تیغه ها

در این مرحله می خواهیم تیغه ها را با استفاده از الگوریتم تشخیص اشیا بررسی کنیم. برای بررسی تیغه ها نیاز است مراحل زیر را طی نماییم.

مرحله اول : سر و ته تیغه را پیدا میکنیم.

مرحله دوم : با استفاده از مختصات بدست آمده از سر و ته تیغه ها می توانیم مستطیل زرد را مشخص نماییم.

مرحله سوم : در مستطیل زرد رنگ فاصله بین دندانه ها را بررسی می کنیم. چنانچه این فاصله زیاد بود آن را به عنوان خطا اعلام می نماییم.

پیدا کردن اجسام در تصویر

پیدا کردن عیوب محصولات با پردازش تصویر

هر چند ما در اینجا به ذکر این مثال بسنده نمودیم، در مورد کاربردهای Object Detection در بینایی ماشین جهت اندازه گیری می توان چندین مقاله نوشت.

3-کاربرد شناسایی اشیا در بررسی چاپ

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

مرحله اول : یک مدل مچینگ از روی یکی از پرینت ها بسازیم. این مرحله فقط یک بار انجام می شود.

مرحله دوم : در عکس های مختلف به دنبال مدل مچینگ بگردیم.

مرحله سوم:  پس از پیدا کردن مدل مچینگ، با استفاده از الگوریتم های بررسی چاپ، صحت چاپ انجام شده را پیدا کنیم.

تشخیص چاپ با پردازش تصویر

 

کاربرد پردازش تصویر در کنترل کیفیت چاپ

 

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

4-کاربرد Object Detection در شناسایی مدل های مختلف

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

  • به ازای هر کدام از قطعات یک مدل برای الگوریتم تشخیص اشیا تعریف کنیم.
  • در عکس ها به دنبال مدل ها بگردیم؛ با پیدا شدن مدل ها نوع و تعداد هر مدل مشخص می شود.

این حالت در عکس های زیر به نمایش در آمده است .

کاربرد پردازش تصویر در تشخیص قطعات مختلف

پیدا کردن اجسام با نرم افزار پردازش تصویر

5-شناسایی و بررسی موقعیت با استفاده از Object Detection

به عنوان یکی از مهمترین کاربردهای شناسایی اشیا در بینایی ماشین و پردازش تصویر میتوانیم به شناسایی و بررسی موقعیت اجسام اشاره کنیم ؛ می توانیم موقعیت را تشخیص و اختلاف آن با موقعیت مرجع را مقایسه و خطا را استخراج نماییم به عنوان مثال در چاپ برچسب روی شامپو را در نظر می گیریم برچسب بایستی روی موقعیت مشخصی از شامپو قرار بگیرد برای این کار می توانیم از الگوریتم Object Detection استفاده کنیم بدین ترتیب کافی است:

  • مدل برچسب وقتی در جایگاه درست روی شامپو حک شده است را به عنوان مدل مرجع مچینگ تعریف می کنیم.
  • مختصات و زاویه مدل را ذخیره می کنیم (منظور از مختصات ، موقعیت نقطه مرکزی مستطیلی است که مدل در آن قرار گرفته است؛ به عنوان مثال موقعیت نقطه مرکزی مدل برابر با … و … است )
  • در عکس ها مختصات برچسب را به کمک الگوریتم مچینگ پیدا می کنیم .
  • حال جابه جایی برچسب نسبت به موقعیت مرجع خود در راستای عمودی و افقی را به راحتی محاسبه می کنیم برای اینکار کافی است مختصات فعلی مدل را (منظور از مختصات مدل نقطه مرکزی مدل در راستای افقی و عمودی) را با مختصات مرجع مقایسه نماییم و اختلاف آنها را به عنوان خطا اعلام کنیم. همچنین می توانیم اختلاف زاویه را نسبت به مرجع شناسایی نماییم.

کاربرد پردازش تصویر در تشخیص موقعیت

شناسایی موقعیت با پردازش تصویر

تشخیص موقعیت با بینایی ماشین

 

شناسایی اشیا در بینایی ماشین جهت بررسی و کنترل موقعیت همیشه مورد توجه صاحبان صنایع بوده است. به طور مشابه در صنایع مختلف می توانیم جهت بررسی موقعیت محصولات مختلف همین روال را انجام دهیم.

6-کاربرد الگوریتم شناسایی اشیا در صحت کامل بودن محصولات

صحت کامل بودن آخرین نمونه از کاربردهای Object Detection در بینایی ماشین که در این مقاله به آن خواهیم پرداخت. از آنجایی که هدف شناسایی اشیا پیدا کردن یک شی است پس می توان از آن برای شمارش تعدادی از اشیا استفاده نمود و از شمارش تعداد به صحت کامل بودن پی برد. برای روشن تر شدن این حالت به مثال زیر توجه کنید که در آن در هر بسته پنیر شامل 4 عدد پنیر خامه ای، دو عدد پنیر فلفلی و دو عدد پنیر ژامبونی است. برای بررسی صحت کامل بودن پنیر و درستی تعداد طعم های متفاوت می توان از الگوریتم تشخیص اشیا به صورت زیر استفاده نمود:

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

نرم افزار کنترل کیفیت اتوماتیک با پردازش تصویر

کاربرد پردازش تصویر در بازرسی محصولات خوراکی

تشخیص و شناسایی محصولات خوراکی با بینایی ماشین

کنترل کیفیت محصولات با پردازش تصویر و بینایی ماشین

ما در این مقاله سعی کردیم تعدادی از کاربردهای Object Detection در بینایی ماشین با ذکر تعدادی مثال بررسی کنیم. با این الگوریتم خیلی کارهای متنوع دیگری را نیز می توان انجام داد که به دلیل محدودیت این مقاله آن ها را ذکر نکردیم.

میتوانید برای انجام پروژه های خود از متخصصان ما مشاوره بگیرید.

مطالب مرتبط

3 دیدگاه برای “6 کاربرد مهم Object Detection (تشخیص اشیا) در بینایی ماشین و پردازش تصویر

  1. مریم گفته:

    سلام بسیار عالی بود.
    ممکنه لطفا در مورد affordance detection هم توضیح بفرمایید که چی هست و چه مفهوم و کاربردی داره ؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *