ماشین بینایی

سیستم اولیه ماشین بینایی Autovision II که در سال ۱۹۸۳ در یک نمایشگاه تجاری به عرضه گذاشته شد.
بینایی ماشینی استفاده از حس گرها برای دریافت سیگنال‌هایی که تشکیل دهنده تصویر یک شی هستند که توسط کامپیوتر و یا سایر وسایل پردازش سیگنال برای تفسیر و تحلیل سیگنال‌های دریافت شده از قطعه مورد استفاده قرار می‌گیرد.
Machine vision به عنوان یک ابزار مهندسی در ابزارهای دیجیتال و در شبکه‌های کامپیوتری، برای کنترل ابزارهای صنعتی دیگر از قبیل کنترل بازوهای روبات و یا خارج کردن تجهیزات معیوب به کار می‌رود. در حقیقت Machine vision شاخه‌ای از علم مهندسی است که به رشته‌های علوم کامپیوتری (Computer science) و علم نورشناسی و مهندسی مکانیک و اتوماسیون صنعتی ارتباط دارد. یکی از مهمترین پر استفاده‌ترین کاربردهای آن در بازبینی و بررسی کالاهای صنعتی از جمله نیمه هادیها، اتومبیل‌ها، مواد خوراکی و دارو می‌باشد. همانند نیروی انسانی که با چشم غیر مسلح در کالاها را برای تعیین کیفیت و نوع ساخت آن‌ها بازبینی می‌کنند، Machine vision از و و نرم‌افزارهای (پردازش تصویر) برای این کار استفاده می‌کند.
دستگاههای مربوطه (Machine vision) برای انجام دادن وظایفی خاص از جمله شمردن اشیاء در بالابرها، خواندن (Serial numbers)، جستجوی سطح‌های معیوب به کار می‌روند. در حال حاضر صنعت استفاده زیادی از سیستم ماشین بینایی برای اشیاء (Visual inspection) که نیاز به سرعت بالا و دقت بالا و کار ۲۴ ساعته و تکرار محابات بالا دارد، وجود دارد. اگرچه انسان عملکرد بهتر و قابلیت تطبیق دهی بیبشتری برای خطاهای تازه در زمان کوتاه دارد ولی با توجه به ویژگی‌های ذکر شده این دستگاه‌ها به مرور جای نیروی انسانی را که به دلیل انحراف و شرایط بد دارای خطا می‌باشند، در صنعت پر می‌کند.
کامپیوترها به همان صورتی که انسان می‌بیند نمی‌توانند ببینند. دوربین‌ها همانند سیستم بینایی انسان نیستند و در حالی که انسان می‌تواند بر استنباط و فرضیات اتکا کند، تجهیزات کامپیوتری باید به وسیله آزمودن و تجزیه و تحلیل کردن جداگانه پیکسل‌ها و تلاش کردن برای انجام نتیجه‌گیری با توجه به پشتوانه اطلاعاتی و روش‌هایی مانند مشاهده کنند. علی‌رغم اینکه بعضی الگوریتم‌های machine vision برای تقلید کردن از سیستم بینایی انسان توسعه یافته‌اند، تعداد معدودی روش برای تحلیل و شناسایی ویژگی‌های مرتبط تصاویر به صورت موثر و ثابت توسعه یافته‌اند. سیستم‌های Machine vision و computer vision قادر هستند به صورت ثابت تصاویر را تجزیه و تحلیل کنند، ولی image processing بر پایه کامپیوتر به صورت کلی برای انجام کارهای تکراری طراحی می‌شوند و علی‌رغم پیشرفت‌های صورت گرفته در این زمینه، هیچ سیستم machine vision و computer vision قادر نیست با برخی از ویژگی‌های سیستم بینایی انسان در قالب درک تصویر، تلرانس به تغییرات نور، تضعیف قدرت تصویر و تغییرات اجزا و… تطبیق پیدا کند.
اجزای یک سیستم ماشین بینایی
اگرچه "Machine vision" بیشتر به عنوان یک پروسه به کار بستن "Machine vision" در کاربردهای صنعتی شناخته شده است، برای لیست کردن اجزای سخت‌افزاری و نرم‌افزاری به کار برده شده نیز مفید می‌باشد. معمولا یک Machine vision از اجزای زیر ساخته شده است:
۱. یک و یا چند یا آنالوگ (سیاه-سفید یا رنگی) با اپتیک مناسب برای گرفتن عکس.
۲. واسطه‌ای که عکس‌ها را برای پردازش آماده می‌سازد. برای دوربین‌های آنالوگ این واسطه شامل یک دیجیتال‌کننده عکس است. هنگامی که این واسطه یک سخت‌افزار جدا باشد، به آن Frame grabber (کارتی که برای دریافت سیگنال تصویری و فرستادن آن به کامپیوتر استفاده می‌شود) می‌گویند.
۳. یک پردازشگر (گاهی یک یا پردازنده تعبیه شده (Embedded Processor) مانند
۴. نرم‌افزار Machine vision: این نرم‌افزار امکاناتی برای توسعه یک برنامه نرم‌افزاری که برای کاربردی مشخص است را فراهم می‌کند.
۵. سخت‌افزار ورودی / خروجی (مثلا I/O دیجیتال) یا حلقه‌های ارتباطی (مثلا ارتباط ای یا ) برای گزارش نتایج.
۶. یک دوربین هوشمند: یک وسیله ساده که همه موارد فوق را داراست.
۷. لنزهایی که بتواند به مقدار مطلوبی روی سنسور تصویر زوم کند.
۸. منابع نوری مناسب و گاهی خیلی مخصوص (مثلا چراغهای ، فلورسنت، لامپهای هالوژن و . . .)
۹. یک برنامه مشخص که بتواند تصاویر را پردازش کرده و مشخصه‌های مربوط و مناسب را شناسایی کند.
۱۰. یک سنسور هم‌زمان ساز برای شناسایی اجزا (گاهی یک سنسور نوری و یا یک مغناطیسی): این سنسور برای راه‌اندازی سیستم استخراج و پردازش تصویر می‌باشد.
سنسور هم‌زمان ساز تعیین می‌کند که چه زمانی یک بخش (که معمولا روی یک حرکت می‌کند) در موقعیتی قرار گرفته‌است که باید مورد بررسی واقع شود. این سنسور هنگامیکه از زیر دوربین می‌گذرد و یک پالس نوری برای ثابت نگهداشتن تصویر ایجاد می‌کند، دوربین را برای گرفتن عکس فعال می‌کند. نوری که برای روشن کردن آن بخش به کار می‌رود در واقع برای آن است که مشخصه‌های مطلوب را برجسته و مشخصات نامطلوب (مثل سایه‌ها و یا انعکاس‌ها) را به حداقل برساند. معمولا پنل‌های با اندازه و طراحی مناسب برای این هدف مورد استفاده قرار می‌گیرند.
تصویر دوربین یا توسط یک frame grabber و یا توسط یک حافظه کامپیوتری (که در آن از frame grabber استفاده نشده است) گرفته می‌شود. frame grabber یک وسیله است (یا در داخل و یا بطور جداگانه) که خروجی دوربین را به فرمت تبدیل کرده (معمولا این فرمت از یک آرایه دو بعدی از اعداد تشکیل شده که هر عدد متناظر شدت روشنایی نقطه متناظر در آن تصویر می‌باشد. به این نقاط می‌گویند.) و سپس تصویر را به منظور پردازش توسط نرم‌افزار Machine vision در ذخیره می‌کند.
به‌طور معمول نرم‌افزار، اقدامات متفاوتی را برای پردازش تصویر انجام می‌دهد. گاهی در ابتدا تصویر برای کاهش نویز و یا تبدیل سایه‌های خاکستری به ترکیب ساده‌ای از رنگهای سیاه و سفید دستکاری می‌شود ( ). در قدم بعدی نرم‌افزار عمل شمردن، اندازه‌گیری و شناسایی اجسام، ابعاد، کاستی‌ها و مشخصات دیگر تصویر را انجام می‌دهد. در نهایت با توجه به ضوابط و معیارهای برنامه‌ریزی شده ممکن است بخشی را بپذیرد و یا رد کند. اگر یک بخش رد شد، نرم‌افزار به یک دستگاه مکانیکی فرمان می‌دهد تا آن بخش را خارج کند و همچنین سیستم خط تولید را قطع کرده و به کارگر هشدار می‌دهد تا مشکلی که باعث ایجاد خطا شده را رفع نماید.
اگرچه اکثر Machine visionها بر مبنای دوربین‌های سیاه–سفید بنا نهاده شده‌اند، استفاده از دوربین‌های رنگی در حال رایج شدن است. همچنین امروزه شاهد شیوع فراوان استفاده از تجهیزات به جای یک دوربین و یک frame grabber جداگانه در Machine vision هستیم. استفاده از یک دوربین دیجیتال به منظور برقراری ارتباط مستقیم، باعث صرفه جویی در هزینه و نیز سادگی سیستم خواهد شد.
که در داخل آن‌ها embedded processorها تعبیه شده‌اند، در حال تسخیر سهم بالایی از بازار Machine visionها هستند. استفاده از یک embedded processor (و یا یک پردازنده بهینه) نیاز ما به frame grabber و یک کامپیوتر خارجی را از بین می‌برد. به همین خاطر این پردازنده‌ها باعث کاهش هزینه، کاهش پیچیدگی سیستم و همچنین اختصاص توان پردازشی مشخص به هر دوربین می‌شود. معمولا ارزان‌تر از سیستم‌های شامل یک دوربین و یک برد و یک کامپیوتر خارجی هستند. همچنین توان بالای embedded processor و‌ها منجر به بالا رفتن عملکرد و توانایی آن‌ها نسبت به سیستم‌های مرسوم (که بر مبنای PC هستند) شده‌است.
روش‌های پردازش
شمارش پیکسل
شمردن تعداد‌های روشن و تاریک.
تعیین آستانه
تبدیل یک عکس با قسمت‌های خاکستری به یک عکس سیاه و سفید به این طریق که با قرار دادن آستانه‌ای پیکسل‌های روشن‌تر از آن را سفید و پیکسل‌های تیره‌تر از آن را سیاه در نظر می‌گیریم.
بخش‌بندی کردن (Segmentation)
تبدیل تصویر ورودی به بخش‌های مختلف برای موقعیت یابی و شمارش پیکسل‌ها.
بررسی یک عکس برای یافتن گسسته از بین تمامی پیکسل‌ها.(به عنوان مثال یک حفره سیاه رنگ در درون یک جسم خاکستری) این لکه‌ها به عنوان نشان اختصاصی عکس خواهند بود.
تشخیص و شناسایی توسط اجزاء موجود
استخراج از یک تصویر ورودی مثلا عکس.
به‌طور مقاوم در برابر تغییرات
به این معنا که موقعیت جسمی که ممکن است چرخانده شود یا اندازه‌اش تغییر کند یا قسمتی از این جسم توسط جسم دیگر پوشانده شود، را به‌طور دقیق شناسایی کند.
خواندن
شناسایی و تعیین کدهای یک بعدی (1D) و دو بعدی (2D) اسکن شده توسط ماشین‌ها طراحی شده‌است.
خواندن خودکار یک متن (مثال: یک رشته اعداد پشت سر هم).
اندازه‌گیری
اندازه‌گیری ابعاد یک جسم (بر حسب یا ).
پیدا کردن لبه‌های یک جسم در یک تصویر.
تشخیص و شناسایی از طریق تطبیق الگو
پیدا کردن، مطابقت دادن و شمارش اشکال خاص در یک تصویر.
در اکثرموارد یک سیستم Machine vision به منظور بررسی کامل یک تصویر، از زنجیره مرکبی از این تکنیک‌های پردازش استفاده می‌کند. به عنوان مثال می‌توان به سیستمی اشاره کرد که بارکد را می‌خواند و هم سطح جسم را برای خراش احتمالی مورد بررسی قرار می‌دهد و هم ممکن است طول و عرض آن وسیله را اندازه‌گیری کند.
کاربردهای ماشین بینایی
همانطور که در بین حس‌های انسان بینایی از همه کاربرد وسیع‌تری دارد؛ بینایی ماشین نیز در زمینه‌های گوناگون کاربردهای متنوع و فراوانی دارد.
اتوماسیون صنعتی
دستگاهای ماشین بینایی دارای کاربردهای متنوعی هستند که از آن جمله به‌طور خلاصه می‌توان به موارد زیر اشاره نمود:
تولید صنعتی در مقیاس بزرگ.
ساخت اجزایی که نیاز به زمان تولید مشخصی دارند.
سیستم‌های ایمنی موجود در محیط‌های صنعتی.
بررسی مواد اولیه تولید (مثلا کنترل کیفیت و بررسی وقوع خطا)
کنترل موجودی انبار و سیستم‌های مدیریتی (شمارش، بارکد خواندن و ذخیره اطلاعات در سیستم‌های دیجیتال)
کنترل رباتهای تعقیب خطی که برای حمل بار در کارخانه‌های صنعتی استفاده می‌شوند.
کنترل کیفیت و بهبود محصولات غذایی.
ماشینی کردن اجزای کوچک صنعتی.
سیستم‌های ماشین بینایی به‌طور گسترده در صنعت کاربرد دارند. به راستی بدون وجود این سیستم‌ها تولید قطعات کامپیوتری کاهش می‌یابد. این دستگاه‌ها برای بازبینی دقیق ویفرهای سیلیکونی و بردازش گرها به کار می‌روند. در صنعت خودروسازی، Machine vision برای هدایت ، سنجیدن مناسب بودن کالاهای مشخص شده برای اهدافی خاص و بازبینی سطح‌های رنگ شده ماشین جهت یافتن عیب. اگرچه تکنیک‌های مربوط به سیستم‌های ماشین بینایی برای طیف‌های مرئی از اشیاء گسترش یافته‌اند ولی ممکن است مشابه با روش‌ها برای طیف‌های نامرئی نور مانند یا اشعه به کار برده شوند.
حمل و نقل
پلاک خوان
تشخیص کاراکترهای پلاک از جمله کاربردهای فراگیر ماشین بینایی می‌باشد. با شناساندن کاراکترهای پلاک هر کشور به سیستم پردازشی و جستجوی شباهت میان آن‌ها و تصاویر ورودی دوربین می‌توان پلاک موجود در تصویر را خواند. این سیستم‌ها در پارکینگ‌های هوشمند؛ ورودی و خروجی سازمان‌ها و مجتمع‌های بزرگ جهت کنترل تردد مورد استفاده قرار می‌گیرد. علاوه بر اینها در صورت پلاک خوانی یک خودرو در ابتدا و انتهای یک مسیر می‌توان سرعت میانگین آن را محاسبه و متخلفین را اعمال قانون کرد.
سرعت سنج
با استفاده از تصویر دو دوربین می‌توان عمق تصویر را بدست آورد و از این طریق تغییرات عمق را می‌توان بدست آورد که به معنی سرعت است. در نوعی از سرعت سنج‌های بزرگراهی از بینایی ماشین جهت استخراج سرعت استفاده می‌شود. مزیت این سیستم‌ها بر نمونه‌های مشابهی که از رادار و یا لیزر برای سرعت سنجی بهره می‌برند؛ پسیو بودن آن‌ها است. پسیو بودن به این معنی است که امواجی از خود صادر نمی‌کنند و به همین علت استفاده از jammer و یا detector به منظور جلوگیری از ثبت تخلف کارایی ندارد.
این سیستم‌ها در نوع ثابت و متحرک طراحی می‌شوند. سیستم‌های ثابت در کنار خیابان، جاده و یا بزرگراه نصب شده و سیستم‌های متحرک بر روی خودروی‌های پلیس نصب می‌شوند.
از این سیستم‌ها می‌توان به عنوان تردد شمار و سیستم کنترل ترافیک نیز بهره برد.
ثبت تخلف چراغ راهنمایی و رانندگی
با پردازش تصاویر دوربین‌های نصب شده در تقاطع‌ها می‌توان زمان، سرعت، جهت حرکت و پلاک خودروها را بدست آورد و بدین ترتیب تخلفات متنوعی از جمله عبور از چراغ قرمز، توقف روی خط عابر پیاده، گردش به چپ و راست و تخطی از سرعت مجاز هنگام عبور از تقاطع را ثبت کرد.
ایمنی رانندگی
برای افزایش سطح ایمنی در رانندگی؛ ماشین‌های جدید مجهز به سیستم‌های بینایی ماشینی شده‌اند که به راننده در حفظ هوشیاری و دقت کمک می‌کنند. از جمله این سیستم‌ها می‌توان به سیستم‌های تشخیص مانع؛ آینه کنار هشدار دهنده؛ هشدار دهنده تابلوهای راهنمایی و رانندگی و هشدار دهنده خارج شدن از خطوط جاده اشاره کرد.
تشخیص حجم
با توجه به اینکه سیستم‌های ماشین بینایی قادرند مشخصات مکانی نقاط تصاویر را استخراج کنند، می‌توان از آن‌ها به عنوان سیستم‌های تشخیص حجم بهره برد. به عنوان نمونه می‌توان به سیستم تشخیص حجم بار خودروهای سنگین اشاره کرد. این سیستم‌ها در محل‌های دفن زباله پسماند و یا نخاله ساختمانی، معادن و کارخانجات تولید مصالح ساختمانی کاربرد دارد.
زمینه‌های مربوط به ماشین بینایی
ماشین بینایی به مهندسی سیستم‌های تصویر در صنعت و تولید و همچنین به گستره وسیعی از علوم کامپیوتر شامل computer vision، کنترل تجهیزات، شبکه‌های کامپیوتری، مدارهای واسط و فراگیری ماشین مربوط می‌شود.
لازم به ذکر است که دو مفهوم Machine vision و نباید با یکدیگر اشتباه گرفته شوند. Computer vision مفهوم گسترده‌تری در حل مسائل تصویری دارد درحالیکه Machine vision یک روش مهندسی است که عموما در مسائل مهندسی کاربرد دارد.
لینک‌های مربوطه
واقعیت افزوده
بارکد
بینایی رایانه‌ای
Frame grabber
پردازش تصویر
تصویربرداری پزشکی
تشخیص نوری نویسه‌ها
الگو
mobile manipulator
بیشتر بخوانید
Machine Vision: Theory, Algorithms, Practicalities
Intelligent Vision Systems for Industry. Online PDF version
Industrial Image Processing: Visual Quality Control in Manufacturing
Digital Image Processing
Smart Inspection Systems: Techniques and Applications of Intelligent Vision
Robot Vision