بینایی ماشین توانایی کامپیوتر برای دیدن است و شاخه ای از دانش است که سعی دارد از طریق پردازش تصاویر دوبعدی، جهان سه بعدی پیرامون را بازسازی و تفسیر کند. به بیان ساده، بینایی ماشین یعنی اینکه کامپیوترها بتوانند جهان را به کمک دوربینها ببینند، بفهمند و حتی از بینایی انسان پیشی بگیرند.
بینایی ماشین را از دو منظر علمی و تکنولوژیکی میتوان بررسی کرد. به عنوان یک رشته علمی، بینایی ماشین به توسعه تئوری سیستمهای هوشمندی میپردازد که اطلاعات را از تصاویر استخراج میکنند و به عنوان یک رشته تکنولوژیکی (فناورانه) تلاش دارد که از تئوریها و مدلهای توسعه داده شده برای ساخت سیستمهای بینایی ماشین بهره برداری کند. به عنوان مثال تولیدکنندگان صنایع مختلف سیستمهای بینایی ماشین را برای بازرسی چشمی که نیاز به سرعت بالا، بزرگ نمایی، عملکرد ۲۴ ساعته و تکرارپذیری دارد استفاده میکنند
همچنین بخوانید: فناوری آشکارساز نوری
بینایی ماشین از یک یا چند دوربین فیلمبرداری، تبدیل آنالوگ به دیجیتال (ADC) و پردازش سیگنال دیجیتال (DSP) استفاده می کند. داده های به دست آمده به یک کامپیوتر یا ربات کنترل کننده می رود. بینایی ماشین از نظر پیچیدگی شبیه به تشخیص صدا است.
مفاهیم اولیه بینایی ماشین
بینایی ماشین را میتوان یک رشته ی میان رشته ای از علوم مختلف دانست.به طوری که میتواند در علومی مثل رایانه، برق و الکترونیک، صنایع، مکانیک و یا پزشکی مورد استفاده قرار گیرد.از طرفی بینایی ماشین با مفاهیمی چون پردازش تصویر و یا پردازش ویدیو ارتباطی تنگاتنگ دارد.به طوری که در بسیاری از موارد نمیتوان خط قرمز مشخصی بین آنها قائل شد.
وقتی سراغ مفاهیم اولیه پردازش تصویر و بینایی ماشین میرویم با این کلمات Computer Vision ،Machine Vision و Image Processing مواجه میشویم. پردازش تصویر(Image Processing) مفهومی جامع است. با این تعریف که یکی از شاخههای مدرن و متنوع هوش مصنوعی است که با ترکیب روشهای خاص و الگوریتمهای خاص بر روی یک تصویر، شما میتوانید پروژههای مختلفی را با کاربردهای خاص انجام دهید.
وقتی شما میخواهید از این الگوریتمهای پردازشی استفاده کنید باید به سراغ یک پردازنده مانند کامپیوتر بروید و همچنین باید از یک دوربین برای گرفتن تصویر و فرستادن آن به کامپیوتر استفاده کنید. بعد از اینکه تصاویر از دوربین به کامپیوتر ارسال شد؛ شما باید از نرمافزارهای مربوط به این رشته استفاده کنید.
در این صورت وقتی شما پروژهای را توسط این روش انجام دادید؛ در حقیقت از سیستم بینایی کامپیوتری (Computer Vision) استفاده کردهاید. در صنایع مختلف شما برای تعیین کیفیت و نوع ساخت و همچنین برای بازبینی و بررسی کالاهای صنعتی و کنترل آنها ازجمله نیمههادیها، اتومبیلها، مواد خوراکی و دارو از نیروی انسانی که با چشم کالاها را بازبینی کند نیاز دارید.
در این صورت اگر شما از کامپیوتر، دوربینهای صنعتی، لنز و لایتینگ و دیگر تجهیزات مورد نیاز یک پروژه استفاده کردید و توسط این تجهیزات و با نوشتن برنامههای کامپیوتری توانستید در صنایع مختلف یکی از کارهایی را که نیروی انسانی توسط چشم انجام میدهد را انجام دهید شما در حقیقت یک سیستم بینایی ماشین (Machine Vision) ساختهاید.
بینایی ماشین چگونه کار می کند؟
بینایی ماشین از دوربین ها برای گرفتن اطلاعات بصری از محیط اطراف استفاده می کند. سپس با استفاده از ترکیبی از سخت افزار و نرم افزار، تصاویر را پردازش کرده و و سپس تصاویر پردازش شده را تحلیل میکنند، اطلاعات را برای استفاده در برنامه های مختلف آماده می کند و اطلاعات نهایتا برای استفاده به کنترلر کامپیوتر و یا ربات میرود. فناوری بینایی ماشین اغلب از لنز های تخصصی برای بدست آوردن تصاویر استفاده می کند.
این رویکرد اجازه می دهد تا ویژگی های خاصی از تصویر پردازش، تجزیه و تحلیل و اندازه گیری شود. به عنوان مثال، یک برنامه بینایی ماشین به عنوان بخشی از یک سیستم تولید می تواند برای تجزیه و تحلیل مشخصه خاصی از قطعه ای که در خط مونتاژ تولید می شود استفاده شود. می تواند تعیین کند که آیا قطعه با معیارهای کیفی مطابقت دارد یا خیر و در غیر این صورت، قطعه را دور می زند.
در تنظیمات تولید، سیستمهای بینایی ماشین معمولاً به موارد زیر نیاز دارند:
نورپردازی:
نور شی یا صحنه را روشن می کند تا ویژگی های آن قابل مشاهده باشد.
لنز:
تصویر را می گیرد و به عنوان نور به سنسور دوربین می رساند.
برد تصویربرداری، قاب گیر یا سنسور:
این دستگاه ها برای پردازش تصویر از دوربین و تبدیل آن به فرمت دیجیتال به صورت پیکسل با هم کار می کنند. حسگرهای تصویر، نور را با استفاده از فناوری نیمه هادی اکسید فلزی تکمیلی یا دستگاهی شارژی، به سیگنال های الکتریکی تبدیل می کنند.
پردازنده:
پردازنده نرم افزار و الگوریتم های مرتبط را اجرا می کند که تصویر دیجیتال را پردازش کرده و اطلاعات مورد نیاز را استخراج می کند.
ارتباطات:
این سیستمها دوربینهای بینایی ماشین و سیستم پردازش را قادر میسازند تا با سایر عناصر سیستم بزرگتر ارتباط برقرار کنند، معمولاً با استفاده از سیگنال ورودی/خروجی گسسته یا اتصال سریال.
پردازشهای بینایی ماشین را در سه سطح دسته بندی میکنند:
بینایی سطح پایین (Low Level Vision) :
در بینایی سطح پایین، پردازش تصویر به منظور استخراج ویژگی (لبه، گوشه، یا جریان نوری) انجام میشود.
بینایی سطح میانی (Mid Level Vision):
بینایی سطح میانی با بهره گیری از ویژگیهای استخراج شده از بینایی سطح پایین تشخیص اشیا، تحلیل حرکت و بازسازی سه بعدی صورت میگیرد.
بینایی سطح بالا (High Level Vision):
بینایی سطح بالا وظیفه تفسیر اطلاعات مهیا شده به وسیله بینایی سطح میانی را بر عهده دارد، این تفسیرها ممکن است شامل توصیفهای مفهومی از صحنه مانند فعالیت، قصد و رفتار باشند. این سطح هم چنین مشخص میکند بینایی سطح پایین و میانی چه کارهایی باید انجام دهند.
دو نوع دوربین در ساخت ماشین بینایی مورد استفاده قرار می گیرد: دوربین های اسکن ناحیه ای و دوربین های اسکن خطی. در اینجا نحوه کار آنها آمده است:
اسکن ناحیه ای:
این دوربین ها با استفاده از حسگر مستطیلی در یک فریم عکس می گیرند. تعداد پیکسل های سنسور با عرض و ارتفاع تصویر مطابقت دارد. دوربین های اسکن ناحیه ای برای اسکن اشیایی که از نظر عرض و ارتفاع هم اندازه هستند استفاده می شود.
اسکن خطی:
این دوربین ها پیکسل به پیکسل تصویر می سازند. آنها برای عکس گرفتن از اقلام در حال حرکت یا اندازه های نامنظم مناسب هستند. حسگر هنگام گرفتن عکس با یک حرکت خطی از روی یک جسم عبور می کند. دوربینهای اسکن خطی مانند دوربینهای اسکن ناحیهای محدود به وضوح خاصی نیستند.
لنزهای دوربین از نظر کیفیت نوری متفاوت هستند. دو ویژگی مهم در هر سیستم بینایی، حساسیت و وضوح لنز است که دارای ویژگی های زیر است:
حساسیت:
توانایی ماشین برای دیدن در نور کم یا تشخیص تکانه های ضعیف در طول موج های نامرئی است.
وضوح:
میزانی است که یک ماشین می تواند بین اشیا تمایز قائل شود.
به طور کلی، هرچه وضوح بیشتر باشد، میدان دید محدودتر است. حساسیت و وضوح به یکدیگر وابسته هستند. اگر سایر عوامل ثابت باشند، افزایش حساسیت باعث کاهش وضوح و افزایش وضوح باعث کاهش حساسیت می شود.
چشم انسان به طول موج های الکترومغناطیسی از 390 تا 770 نانومتر حساس است. دوربین های فیلمبرداری می توانند به طیف وسیعی از طول موج های بسیار گسترده تر از آن حساس باشند. برخی از سیستم های بینایی ماشین در طول موج های مادون قرمز، فرابنفش یا اشعه ایکس کار می کنند.
بینایی ماشین دوچشمی که استریو نیز نامیده می شود به کامپیوتری با پردازنده پیشرفته نیاز دارد. علاوه بر این، دوربین های با وضوح بالا، مقدار زیادی رم و برنامه نویسی هوش مصنوعی برای درک عمق مورد نیاز است.
همچنین بخوانید: کاربرد های بینایی ماشین
تفاوت بین بینایی ماشین و پردازش تصویر
بینایی ماشین همیشه محدود به استفاده از تصویر نیست و بدون آن هم می توان از بینایی ماشین استفاده کرد. در واقع می توان اطلاعات ورودی را از طریق سنسورهای گرمایی به دست آورد و تصاویر حرکت انسان را از پشت یک دیوار نیز توسط سیستم های دارای بینایی ماشین به ثبت رسانده و از آن ها استفاده کرد. در حالی که پردازش تصویر صرفا با استفاده از عکس ها کار می کند.
همچنین بخوانید : واقعیت مجازی و جایگاه آن در مهندسی
تفاوت بین بینایی کامپیوتر و پردازش تصویر
پردازش تصویر صرفا جهت دریافت اطلاعات بصری و اعمال تغیرات روی تصویر به کار می رود و ارتباطی با درک و تفسیر اطلاعات ندارد. اما بینایی کامپیوتر این اطلاعات را تفسیر میکند و اطلاعات مهم تری را از آن استخراج میکند
تفاوت بین بینایی ماشین و بینایی کامپیوتر
بینایی کامپیوتر برای جمعآوری اطلاعات عمومی که ممکن است برای کارهای مختلف اعمال شود، بهتر است. همچنین می تواند بدون دوربین انجام شود زیرا این اصطلاح می تواند به توانایی کامپیوتر برای پردازش تصاویر از هر منبعی از جمله اینترنت اشاره کند.