Object Detection (تشخیص و شناسایی اشیا) با پردازش تصویر

Object Detection در پردازش تصویر چیست؟

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

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

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

هدف از شناسایی و تشخیص  اشیا در پردازش تصویر چیست؟

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

 

 

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

ایده اصلی Object Detection در پردازش تصویر

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

مرحله اول: ساخت مدل برای تشخیص اشیا

ساخت مدل : فرض کنید هدف پیدا کردن IC در عکس های مختلف باشد. اصطلاحا به عکسی که از روی آن مدل می سازیم عکس مرجع می گوییم .با توجه به الگوریتم های مختلف مدل می تواند بر مبنای لبه ها ، پیکسل ها و یا نقاط ساخته شود. همانطور که در عکس می بینید در اینجا هدف پیدا کردن یک IC در عکس های مختلف است. این IC با مستطیل زرد رنگ نمایش داده شده است. در اینجا  مدل بر مبنای لبه ها ساخته شده می شود. همانطوری که در عکس می بینید مدل مچینگ (تطابق یا شناسایی اشیا) ساخته شده از روی عکس شامل تعدادی لبه است.

نحوه ی ساخت مدل مچینگ جهت object detection با پردازش تصویر

مرحله دوم : شناسایی اشیا

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

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

خروجی الگوریتم Object Detection در پردازش تصویر

خروجی الگوریتم عبارت است از:

1-مختصات شی

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

تشخیص موقعیت با object detection

2- چرخش

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

پیدا کردن چرخش اجسام با استفاده از الگوریتم مچینگ (الگویابی)

3- مقیاس

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

پیدا کردن اجسام با اندازه های مختلف در الگوریتم مچینگ (object detection)

One thought on “Object Detection (تشخیص و شناسایی اشیا) با پردازش تصویر

  1. مهدی میگوید:

    باسلام تشکر از توضیحات کامل و دقیق
    یک سوال داشتم
    آیا در پردازش تصویر میتونیم فاصله اجسام را بطور دقیق حتی درحد صدم یا دهم میلیمتر نسبت به دوربین محاسبه کرد؟؟یا یجوردیگه بگم
    من یک جسم مرجع دارم ک مثلا فاصلش تا دوربین۲۰.۳۴میلیمتره
    میخام ببینم اختلاف فاصله در جسم دومم رو حتی در حد صدم میلیمتر ب من میده؟؟؟دوتا جسم یکسان ک ب ظاهر خیلی فاصله هاشون شبیه ب همه ولی من اختلاف جزییشو میخام
    با تشکرررر فراوان ازشما و سایت خوبتون????

    • قدیر حسینی میگوید:

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

      • مهدی میگوید:

        بسیار ممنون فقط ی چیزی
        فاصله از دوربین تا جسم ها
        آیا میشه؟؟
        مثلا دوربین پیشرفته تر میخاد؟؟
        از نظر نرم افزاری همین نرم افزار جواب میده؟

        • قدیر حسینی میگوید:

          با سلام
          بله با همین نرم افزار امکان پذیر هست.
          ممکنه نیاز به دوربین های 3d داشته باشین.

  2. منوچهر دهواری میگوید:

    عالی میشد اگه بتونم دوربینی نصب کنم که با آن نوع جسم ،قدمت،قیمت،اجزا تشکیل دهنده آن ودیگر خاصیت های آن را برام مشخص میکرد

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

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