دید ماشینی

از ویکی‌پدیا، دانشنامهٔ آزاد
(تغییرمسیر از ماشین بینایی)
سامانه اولیه دید ماشین Autovision II که در سال ۱۹۸۳ در یک نمایشگاه تجاری به عرضه گذاشته شد.

دید ماشینی یا بینایی ماشینی (به انگلیسی: Machine vision) به استفاده از حسگرها برای دریافت سیگنال‌هایی که تشکیل‌دهنده تصویر یک شی هستند که توسط رایانه یا سایر وسایل پردازش سیگنال برای تفسیر و تحلیل سیگنال‌های دریافت شده از قطعه مورد استفاده قرار می‌گیرند گفته می‌شود. دید ماشینی به عنوان یک ابزار مهندسی در ابزارهای دیجیتال و در شبکه‌های رایانه‌ای، برای کنترل ابزارهای صنعتی دیگر از قبیل کنترل بازوهای ربات یا خارج کردن تجهیزات معیوب به کار می‌رود. در حقیقت دید ماشینی شاخه‌ای از علم مهندسی است که به رشته‌های علوم رایانه‌ای و علم نورشناسی و مهندسی مکانیک و خودکارسازی صنعتی ارتباط دارد. یکی از مهم‌ترین پر استفاده‌ترین کاربردهای آن در بازبینی و بررسی کالاهای صنعتی از جمله نیمه‌هادیها، اتومبیل‌ها، مواد خوراکی و دارو می‌باشد. همانند نیروی انسانی که با چشم غیر مسلح در خط تولید کالاها را برای تعیین کیفیت و نوع ساخت آن‌ها بازبینی می‌کنند، دید ماشینی از دوربین‌های دیجیتال و دوربین‌های هوشمند و نرم‌افزارهای پردازش تصویر برای این کار استفاده می‌کند. دستگاه‌های مربوط به دید ماشینی برای انجام دادن وظایفی خاص از جمله شمردن اشیاء در بالابرها، خواندن شماره سریال‌ها، جستجوی سطح‌های معیوب به کار می‌روند. در حال حاضر صنعت استفاده زیادی از سامانه دید ماشین برای آزمون چشمی[پانویس ۱] اشیاء که نیاز به سرعت بالا و دقت بالا و کار ۲۴ ساعته و تکرار محاسبات بالا دارد،می‌کند. اگرچه انسان عملکرد بهتر با قابلیت تطبیق‌دهی بیشتری برای خطاهای تازه در زمان کوتاه دارد ولی با توجه به ویژگی‌های ذکر شده این دستگاه‌ها به مرور جای نیروی انسانی را که به دلیل انحراف و شرایط بد دارای خطا می‌باشند، در صنعت پر می‌کند. رایانه‌ها به همان صورتی که انسان می‌بیند نمی‌توانند ببینند. در حالی که انسان می‌تواند بر استنباط و فرضیات اتکا کند، تجهیزات رایانه‌ای باید به وسیله آزمودن و تجزیه و تحلیل کردن جداگانه پیکسل‌ها و تلاش برای نتیجه‌گیری با توجه به پشتوانه اطلاعاتی و روش‌هایی مانند شناسایی الگو مشاهده کنند. علی‌رغم اینکه بعضی الگوریتم‌های دید ماشینی برای تقلید کردن از بینایی انسان توسعه یافته‌اند، تعداد معدودی روش برای تحلیل و شناسایی ویژگی‌های مرتبط تصاویر به صورت مؤثر و ثابت توسعه یافته‌اند. سامانه‌های دید ماشینی و دید رایانه‌ای قادر هستند به صورت ثابت تصاویر را تجزیه و تحلیل کنند، ولی پردازش تصویر بر پایهٔ رایانه، به صورت کلی برای انجام کارهای تکراری طراحی می‌شود و علی‌رغم پیشرفت‌های صورت گرفته در این زمینه، هیچ سامانهٔ دید ماشینی و دید رایانه‌ای قادر نیست با برخی از ویژگی‌های سامانه بینایی انسان در قالب درک تصویر، تحمل تغییرات نور، تضعیف قدرت تصویر و تغییرات اجزا و… تطبیق پیدا کند.

اجزای یک سامانه دید ماشین[ویرایش]

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

  1. یک یا چند دوربین دیجیتال یا آنالوگ (سیاه-سفید یا رنگی) با خواص نوری مناسب برای گرفتن عکس.
  2. واسطه‌ای که عکس‌ها را برای پردازش آماده می‌سازد. برای دوربین‌های آنالوگ این واسطه شامل یک دیجیتال‌کننده عکس است. هنگامی که این واسطه یک سخت‌افزارٍ جدا باشد، به آن چارچوب ساز[پانویس ۲] (کارتی که برای دریافت سیگنال تصویری و فرستادن آن به رایانه استفاده می‌شود) می‌گویند.
  3. یک پردازنده (گاهی یک رایانه خانگی یا پردازنده جاساز[پانویس ۳] مانند پردازنده سیگنال دیجیتال.
  4. نرم‌افزار دید ماشینی: این نرم‌افزار امکاناتی برای توسعه یک برنامه نرم‌افزاری که برای کاربردی مشخص است را فراهم می‌کند.
  • ۵. سخت‌افزار ورودی / خروجی (مثلاً I/O دیجیتال) یا حلقه‌های ارتباطی (مثلاً ارتباط شبکه‌ای یا RS-232) برای گزارش نتایج.
  1. یک دوربین هوشمند: یک وسیله ساده که همه موارد فوق را داراست.
  2. لنزهایی که بتواند به مقدار مطلوبی روی حسگر تصویر بزرگنمایی کنند.
  3. منابع نوری مناسب و گاهی خیلی مخصوص (مثلاً چراغ‌های LED، فلورسنت، هالوژن و . . .)
  4. یک برنامهٔ مشخص که بتواند تصاویر را پردازش کرده و مشخصه‌های مربوط و مناسب را شناسایی کند.
  5. یک حسگر هم‌زمان‌ساز برای شناسایی اجزا (گاهی یک حسگر نوری یا یک حسگر مغناطیسی): این حسگر برای راه‌اندازی سامانه استخراج و پردازش تصویر می‌باشد.

حسگر هم‌زمان ساز تعیین می‌کند که چه زمانی یک بخش (که معمولاً روی یک تسمه نقاله حرکت می‌کند) در موقعیتی قرار گرفته‌است که باید مورد بررسی واقع شود. این حسگر هنگامی‌که از زیر دوربین می‌گذرد و یک پالس نوری برای ثابت نگه داشتن تصویر ایجاد می‌کند، دوربین را برای گرفتن عکس فعال می‌کند. نوری که برای روشن کردن آن بخش به کار می‌رود در واقع برای آن است که مشخصه‌های مطلوب را برجسته و مشخصات نامطلوب (مثل سایه‌ها یا انعکاس‌ها) را به حداقل برساند. معمولاً چارچوب‌های ال‌ای‌دی با اندازه و طراحی مناسب برای این هدف مورد استفاده قرار می‌گیرند. تصویر دوربین یا توسط یک چارچوب ساز یا توسط یک حافظه رایانه‌ای (که در آن از چارچوب ساز استفاده نشده‌ است) گرفته می‌شود. چارچوب ساز یک وسیله دیجیتال‌کننده است (یا در داخل دوربین هوشمند یا به‌طور جداگانه) که خروجی دوربین را به قالب دیجیتال تبدیل کرده (معمولاً این قالب از یک آرایه دو بعدی از اعداد تشکیل شده که هر عدد متناظر شدت روشنایی نقطه متناظر در آن تصویر می‌باشد. به این نقاط پیکسل می‌گویند) و سپس تصویر را به منظور پردازش توسط نرم‌افزارٍ دید ماشینی در حافظه رایانه ذخیره می‌کند. به‌طور معمول نرم‌افزار، اقدامات متفاوتی را برای پردازش تصویر انجام می‌دهد. گاهی در ابتدا تصویر برای کاهش نویز یا تبدیل سایه‌های خاکستری به ترکیب ساده‌ای از رنگ‌های سیاه و سفید دستکاری می‌شود ( تصویر دورنگی[پانویس ۴]). در قدم بعدی نرم‌افزار عمل شمردن، اندازه‌گیری و شناسایی اجسام، ابعاد، کاستی‌ها و مشخصات دیگر تصویر را انجام می‌دهد. در نهایت با توجه به ضوابط و معیارهای برنامه‌ریزی شده ممکن است بخشی را بپذیرد یا رد کند. اگر یک بخش رد شد، نرم‌افزار به یک دستگاه مکانیکی فرمان می‌دهد تا آن بخش را خارج کند و همچنین سامانه خط تولید را قطع کرده و به کارگر هشدار می‌دهد تا مشکلی که باعث ایجاد خطا شده را رفع نماید. اگرچه اکثر دید‌های ماشینی بر مبنای دوربین‌های سیاه–سفید بنا نهاده شده‌اند، استفاده از دوربین‌های رنگی در حال رایج شدن است. همچنین امروزه شاهد افزایش استفاده از تجهیزات دوربین‌های دیجیتال به جای یک دوربین و یک چارچوب‌ساز جداگانه در دید ماشینی هستیم. استفاده از یک دوربین دیجیتال به منظور برقراری ارتباط مستقیم، باعث صرفه جویی در هزینه و نیز سادگی سامانه خواهد شد. دوربین‌های هوشمند که در داخل آن‌ها پردازنده تعبیه شده است، در حال تسخیر سهم بالایی از بازار ماشین‌های دید هستند. استفاده از یک پردازنده تعبیه شده (و یا یک پردازنده بهینه) نیاز ما به چارچوب‌ساز و یک رایانه خارجی را از بین می‌برد. به همین خاطر این پردازنده‌ها باعث کاهش هزینه، کاهش پیچیدگی سامانه و همچنین اختصاص توان پردازشی مشخص به هر دوربین می‌شود. دوربین‌های هوشمند معمولاً ارزان‌تر از سامانه‌های شامل یک دوربین و یک برد و یک رایانه خارجی هستند. همچنین توان بالای پردازنده داخلی و پردازنده‌های سیگنال دیجیتال منجر به بالا رفتن عملکرد و توانایی آن‌ها نسبت به سامانه‌های مرسوم (که بر مبنای رایانه خانگی هستند) شده‌است.

روش‌های پردازش[ویرایش]

شمارش پیکسل[ویرایش]

شمردن تعداد پیکسل‌های روشن و تاریک.

تعیین آستانه[ویرایش]

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

بخش‌بندی کردن[پانویس ۵][ویرایش]

تبدیل تصویر ورودی به بخش‌های مختلف برای موقعیت‌یابی و شمارش پیکسل‌ها.

تشخیص و شناسایی لکه‌ها و دستکاری[ویرایش]

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

تشخیص و شناسایی توسط اجزاء موجود[ویرایش]

استخراج اجزاءی خاص از یک تصویر ورودی مثلاً عکس.

تشخیص وشناسایی الگو به شکل مقاوم در برابر تغییرات[ویرایش]

به این معنا که موقعیت جسمی که ممکن است چرخانده شود یا اندازه‌اش تغییر کند یا قسمتی از این جسم توسط جسم دیگر پوشانده شود، را به‌طور دقیق شناسایی کند.

خواندن بارکد[ویرایش]

شناسایی و تعیین کدهای یک بعدی[پانویس ۶] و دو بعدی[پانویس ۷] پویش شده توسط ماشین‌ها طراحی شده‌است.

تشخیص و شناسایی کاراکتر نوری[ویرایش]

خواندن خودکار یک متن (مثال: یک رشته اعداد پشت سر هم).

اندازه‌گیری[ویرایش]

اندازه‌گیری ابعاد یک جسم (بر حسب میلی‌متر یا اینچ).

تشخیص و شناسایی لبه‌ها[ویرایش]

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

تشخیص و شناسایی از طریق تطبیق الگو[ویرایش]

پیدا کردن، مطابقت دادن و شمارش اشکال خاص در یک تصویر.

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

کاربردهای دید ماشین[ویرایش]

همان‌طور که در بین حواس انسان، بینایی از همه کاربرد وسیع تری دارد؛ دید ماشین نیز در زمینه‌های گوناگون کاربردهای متنوع و فراوانی دارد.

خودکارسازی صنعتی[ویرایش]

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

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

سامانه‌های دید ماشین به‌طور گسترده در صنعت تولید نیم‌زسانا‌ها کاربرد دارند. بدون وجود این سامانه‌ها تولید قطعات رایانه‌ای کاهش می‌یابد. این دستگاه‌ها برای بازبینی دقیق ویفرهای سیلیکونی و پردازنده‌ها به کار می‌روند. در صنعت خودروسازی، دید ماشین برای هدایت روبات‌های صنعتی، سنجش کیفیت کالاهای مشخص‌شده برای اهداف خاص و بازبینی سطح‌های رنگ شده ماشین جهت یافتن عیب به کار می‌رود. اگرچه روش‌های مربوط به سامانه‌های دید ماشین برای طیف‌های مرئی از اشیاء گسترش یافته‌اند ولی ممکن است مشابه آن برای طیف‌های نامرئی نور مانند اشعه مادون قرمز کار برده شوند.

حمل و نقل[ویرایش]

پلاک‌خوان[ویرایش]

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

سرعت‌سنج[ویرایش]

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

ثبت تخلف چراغ راهنمایی و رانندگی[ویرایش]

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

ایمنی رانندگی[ویرایش]

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

تشخیص حجم[ویرایش]

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

زمینه‌های مربوط به دید ماشین[ویرایش]

دید ماشین به مهندسی سامانه‌های تصویر در صنعت و تولید و همچنین به گستره وسیعی از علوم رایانه شامل دید رایانه، کنترل تجهیزات، شبکه‌های رایانه‌ای، مدارهای واسط و فراگیری ماشین مربوط می‌شود. لازم است ذکر شود که دو مفهوم دید ماشین و دید رایانه نباید با یکدیگر اشتباه گرفته شوند. دید رایانه مفهوم گسترده‌تری در حل مسائل تصویری دارد درحالی‌که دید ماشین یک روش مهندسی است که عموماً در مسائل مهندسی کاربرد دارد.

جستارهای وابسته[ویرایش]

پانویس[ویرایش]

  1. Visual inspection
  2. Frame grabber
  3. Embedded Processor
  4. Binarization
  5. Segmentation
  6. 1D
  7. 2D

برای مطالعهٔ بیشتر[ویرایش]

  • E. R. Davies (2004). Machine Vision: Theory, Algorithms, Practicalities. Morgan Kaufmann.
  • Batchelor B.G. and Whelan P.F. (1997). Intelligent Vision Systems for Industry. Springer-Verlag. ISBN 3-540-19969-1.. Online PDF version [۱]
  • Demant C. , Streicher-Abel B. and Waszkewitz P. (1999). Industrial Image Processing: Visual Quality Control in Manufacturing. Springer-Verlag. ISBN 3-540-66410-6.
  • Gonzales R. C. and Wintz P. A. (2001). Digital Image Processing. Longman Higher Education. ISBN 978-0-201-11026-5.
  • Pham D.T. and Alcock R.J. (2003). Smart Inspection Systems: Techniques and Applications of Intelligent Vision. Academic Press. ISBN 0-12-554157-0.
  • Berthold K.P. Horn (1986). Robot Vision. MIT Press. ISBN 0-262-08159-8.