نوشته‌ها

بینایی کامپیوتری (Computer vision) چیست؟

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

تصویر هنری از مریخ نورد NASA بر روی سطح سیاره مریخ. مثالی از خودروهای زمینی بدون سرنشین

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

کاوش در داده‌ها

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

وظایف اصلی در بینایی رایانه‌ای(بینایی کامپیوتری)

تشخیص شیء

تشخیص حضور و/یا حالت شیء در یک تصویر. به عنوان مثال:

  • جستجو برای تصاویر دیجیتال بر اساس محتوای آن‌ها (بازیابی محتوامحور تصاویر).
  • شناسایی صورت انسان‌ها و موقعیت آن‌ها در عکس‌ها.
  • تخمین حالت سه‌بعدی انسان‌ها و اندام‌هایشان.

پیگیری

پیگیری اشیاء شناخته شده در میان تعدادی تصویر پشت سر هم. به عنوان مثال:

  • پیگیری یک شخص هنگامی که در یک مرکز خرید راه می‌رود.

تفسیر منظره

ساختن یک مدل از یک تصویر/تصویر متحرک. به‌عنوان مثال:

  • ساختن یک مدل از ناحیهٔ پیرامونی به کمک تصاویری که از دوربین نصب شده بر روی یک ربات گرفته می‌شوند.

خودمکان‌یابی

مشحص کردن مکان و حرکت خود دوربین به عنوان عضو بینایی رایانه. به‌عنوان مثال:

  • مسیریابی یک ربات درون یک موزه.

سامانه‌های بینایی رایانه‌ای یا بینایی کامپیوتری

یک سامانهٔ نوعی بینایی رایانه‌ای را می‌توان به زیرسامانه‌های زیر تقسیم کرد:

تصویربرداری

تصویر یا دنباله تصاویر با یک سامانه تصویربرداری(دوربین، رادار، لیدار، سامانه توموگرافی) برداشته می‌شود. معمولاً سامانه تصویربرداری باید پیش از استفاده تنظیم شود.

پیش‌پردازش

در گام پیش‌پردازش، تصویر در معرض اَعمال «سطح پایین» قرار می‌گیرد. هدف این گام کاهش نوفه (کاهش نویز – جدا کردن سیگنال از نویز) و کم‌کردن مقدار کلی داده‌ها است. این کار نوعاً با به‌کارگیری روش‌های گوناگون پردازش تصویر(دیجیتال) انجام می‌شود. مانند:

  • زیرنمونه‌گیری تصویر.
  • اعمال فیلترهای دیجیتال.
    • پیچشها.
    • همبستگیها یا فیلترهای خطی لغزش‌نابسته.
      • عملگر سوبل.
      • محاسبهٔ گرادیان x و y(و احتمالاً گرادیان زمانی).
  • تقطیع تصویر.
    • آستانه‌گیری پیکسلی.
  • انجام یک ویژه‌تبدیل بر تصویر.
    • تبدیل فوریه.
  • انجام تخمین حرکت برای ناحیه‌های محلی تصویرکه به نام تخمین شارش نوری هم شناخته می‌شود.
  • تخمین ناهمسانی در تصاویر برجسته‌بینی.
  • تحلیل چنددقتی.

استخراج ویژگی

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

  • انجام آشکارسازی لبه.
  • استخراج ویژگی‌های گوشه ای.
  • استخراج تصاویر چرخش از نقشه‌های ژرفا.
  • بدست آوردن خطوط تراز و احتمالاً گذر از صفرهای خمش.

ثبت

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

  • تخمین کمترین مربعات.
  • تبدیل هاگ در انواع گوناگون.
  • درهم‌سازی هندسی.
  • پالودن ذره‌ای.

بینایی و تفسیر تصاویر در انسان‌ها

lز آنجایی که هدف نهایی computer vision ساخت مفسر قدرتمند اجسام ۳D , رنگ‌ها و عمق تصاویر هست. دانستن این موضوع که چگونه مغز موجودات، بینایی و دیدن را تفسیر می‌کند و اینکه چند درصد نورون‌های کل مغز در گیر این پروسه هستند نسبتاً اهمیت پیدا می‌کند. مقاله زیر می‌تواند یک نگاه کلی از این روند پیچیده بدهد.

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

ادراک بینایی زمانی آغاز می‌شوند که چشم نور را بر روی شبکیه چشم یا (retina) متمرکز می‌کند، که در آن جا توسط یک لایه از سلول‌های گیرنده نوری جذب می‌شود. این سلول‌ها نور را به سیگنال‌های الکتروشیمیایی تبدیل می‌کنند و به دو نوع، میله ای و مخروطی تقسیم می‌شوند (بر اساس شکل هایشان). سلولهای میله ای مسئول دید ما در شب هستند و به نور کم پاسخ خیلی خوبی می‌دهند. سلول‌های میله ای (Rod cells) عمدتاً در مناطق پیرامونی از شبکیه چشم (حول یا اطراف شبکیه) یافت می‌شوند و بنابراین اکثر مردم این موضوع را فهمیده اندکه اگر نگاه خود را در شب متمرکز کنند می‌توانند منطقه مورد تمرکز را بهتر ببینند.

جریان dorsal بصری (سبز رنگ در تصویر) و جریان ventral(بنفش) در تصویر مشخص شده. قسمت‌های بسیار زیادی ازcerebral cortex در پروسه بینایی نقش دارند.

سلولهای مخروطی (Cone cells) در یک منطقه مرکزی شبکیه متمرکز به نام گودال متمرکز شده‌اند که فرورفتگی (یا fovea) هم نام دارد. آنها مسئول وظایف سنگین و دقیقی مثل خواندن هستند. سلول‌های Cone بسته به اینکه به نور آبی، قرمز، سبز چگونه واکنش می‌دهند به سه دسته تقسیم می‌شوند، و در مجموع این سه نوع از Cone ما را قادر به درک رنگ‌ها می‌کنند. سیگنال‌ها از سلول‌های گیرنده نوری (photoreceptor cells) از طریق شبکه ای از interneuronsها در لایه دوم شبکیه چشم به سلول‌های ganglion در لایه سوم منتقل می‌شوند. نورون‌های موجود در این دو لایه از شبکیه زمینه پذیرای پیچیده ای که آنها را قادر به تشخیص تضادهای تغییراتی در یک تصویر می‌کند را ارائه می‌دهند: این تغییرات ممکن است لبه‌ها یا سایه‌ها را نشان دهند. سلول‌های Ganglion این اطلاعات را به همراه دیگر اطلاعات در مورد رنگ جمع‌آوری می‌کنند و خروجی خود را به مغز از طریق عصب بینایی ارسال می‌کنند. عصب یا Nerve بینایی در درجه اول اطلاعات را از طریق thalamus به قشاء مغزی (cerebral cortex) ارسال می‌کند. پس از ارسال اطلاعات در قسمت cerebral cortex ادراک بصری انسان به وقوع می‌پیوندد. اما در عین حال این عصب (Nerve) حامل اطلاعات مورد نیاز برای مکانیک دید نیز هست که به دو قسمت از ساقه مغز (brainstem) این اطلاعات را منتقل می‌کند. اولین قسمت از brainstem گروهی از سلول‌های هسته هستند که pretectum نام دارند که کنترل غیرارادی اندازه مردمک در پاسخ به شدت نور را بر عهده دارند. اطلاعات مربوط به اهداف متحرک و اطلاعات ساکن اسکن شده توسط چشم نیز به قسمت دوم در brainstem منتقل می‌شود، یک هسته که با نام superior colliculus شناخته می‌شود مسئول حرکات چشم در پرش‌های کوتاه هست. بخش دیگر از این دو قسمت saccades هست که به مغز اجازه درک یک اسکن هموار را با کمک چسباندن یک سری از تصاویر نسبتاً ثابت می‌دهد. Saccadic eye movement مشکل تاری شدید- که می‌تواند برای تصویر پیش بیاید – را حل می‌کند. چشم می‌تواند به صورت یکنواخت در سراسر چشم‌انداز بصری حرکت کند؛ saccadesها در بعضی از وضعیت‌ها تجربه بصری را ممکن و آسان می‌کنند مانند مشاهده چشم فرد دیگری برای شما، در حالی که آن فرد در تلاش برای نگاه کردن سرتاسر اتاق هست.

محل دقیق قسمت thalamus(تالاموس) در عمق مغز در تصویر سه بعدی

بسیاری از تصاویر از شبکیه چشم (retina) از طریق عصب بینایی به بخشی از thalamus که به نام (lateral geniculate nucleus) شناخته شده است و در اختصار (LGN) هم کفته می‌شود منتقل می‌شوند، thalamus در عمق مرکز مغز قرار گرفته. LGN ورودی شبکیه (retinal) را به جریان‌های موازی ای مورد جداسازی قرار می‌دهد که یکی حاوی رنگ و ساختار ثابت و دیگری حاوی تضادها (contrast) و حرکات هست. سلول‌هایی که پردازش رنگ و ساختار را انجام می‌دهند چهار لایه بالایی از شش لایه LGN را تشکیل می‌دهند. این چهار لایه به علت کوچکی سلول‌ها، parvocellular نامیده می‌شوند. سلول‌هایی که پردازش حرکات و تضادهای تصویر را انجام می‌دهند دو لایه پایینی LGN رو تشکیل می‌دهند و به علت بزرگی سلول‌های این قسمت، لایه magnocellular نامیده می‌شوند.

سلول‌های لایه‌های magnocellular و parvocellular همه راه‌ها را به بخش‌های پشت مغز و به سمت قشر بینایی اولیه (Visual cortex _ V1) طرح‌ریزی می‌کنند. سلول‌ها در V1 در چندین مسیر مرتب شده‌اند که این مسئله اجازه می‌دهد سیستم بینایی محل اشیاء را در فضا محاسبه کند. در ابتدا سلول‌های V1 به صورت retinotopically یا موضعی سازمان یافته‌اند، که به معنای این است که نقطه به نقطه روی نقشه بین شبکیه و قشر بینایی اولیه وجود دارد و مناطق همجوار در شبکیه چشم با مناطق همجوار در V1 مطابقت دارد؛ که این به V1 اجازه می‌دهد که موقعیت اشیا را در دو بعد از جهان بصری که افقی و عمودی (مختصات (x , y)) تعیین کند. بعد سوم و عمق نیز با مقایسه سیگنال‌های دو چشم توسط V1 نقشه‌برداری و تعیین می‌شود. این سیگنال‌ها در پشته سلولها که ستون ocular dominance نامیده می‌شوند پردازش می‌شوند، که یک الگوی شطرنجی اتصالات متناوب بین سمت چپ و چشم راست است. اختلافی جزئی در موقعیت یک شی نسبت به هر چشم وجود دارد که اجازه می‌دهد تا عمق توسط مثلث محاسبه شود.

در نهایت، V1 به ستون‌های جهت گیری سازمان یافته است، پشته از سلول‌ها که به شدت توسط خطوط یک جهت گیری داده شده، فعال می‌شوند. ستون‌های جهت امکان تشخیص لبه‌های اشیاء در جهان بصری را برایV1 را فراهم می‌سازند، و به طوری که آنها کار پیچیده ای از تشخیص بصری را شروع می‌کنند. سازمان ستونی از قشر بینایی اولیه برای اولین بار توسط David Hubel و Torsten Wiesel توصیف شده است، که در نتیجه بخاطر این موضوع جایزه نوبل ۱۹۸۱ را دریافت کرده‌اند.

جالب توجه است که این الگوی شطرنجی، سازمان ستونی V1 در هنگام تولد بسیار مبهم است. قشر بینایی یک نوزاد تازه متولد شده رشد بیش از حد (hypertrophy) , یا اتصالات اتفاقی دارد که باید به دقت و بر اساس تجربه بصری در بلند مدت هرس شوند، و در نهایت به ستون‌های جداگانه تعریف شده تبدیل شوند- این در واقع یک کاهش در تعداد اتصالات و نه افزایش اتصالات خواهد بود -که در نهایت توانایی نوزاد برای دیدن جزئیات ریز و به رسمیت شناختن اشکال و الگوها را بهبود می‌بخشد.

primary visual cortex (V1)

این نوع از پالایش وابسته، به فعالیت به V1 محدود نمی‌شود و در بسیاری از مناطق سراسر قشر مغز (cerebral cortex) رخ می‌دهد. در همان زمان که توانایی تبعیض خطوط و لبه در قشر بینایی اولیه بهبود می‌یابد، سلول‌ها را در قشر بینایی ثانویه (secondary visual cortex V2) , توانایی خود را برای تفسیر رنگ پالایش می‌کنند. V2 تا حد زیادی مسئول پدیده ثبات رنگ است؛ و این حقیقت را توضیح می‌دهد که واقعیت یک گل سرخ تحت تأثیر بسیاری از رنگ‌های مختلف نور توسط ما هنوز هم به رنگ سرخ به نظر می‌رسد. این طور گمان می‌شود که ثبات رنگ وقتی رخ می‌دهد که V2 می‌تواند یک شیء و نور محیط را مقایسه کند و می‌تواند برآورد رنگ روشنایی را کاهش دهد. با اینحال این پروسه با توجه به اینکه بیننده انتظار دارد که شیء بخصوص به چه رنگی داشته باشد، به شدت تحت تأثیر قرار می‌گیرد.

در حقیقت، تقریباً تمام ویژگی‌های مرتبه بالاتر از بینایی و منظره توسط انتظارات بر اساس تجربه گذشته تحت تأثیر قرار می‌گیرد. این ویژگی به گسترش رنگ و درک فرم موجود در V3 و V4، به چهره و تشخیص شیء در لوب temporal (جایی که تصویر ذهنی سه بعدی از آنچه که می‌بینیم در نهایت تشکیل می‌شود) و به حرکت و آگاهی از فضای موجود در لوب parietal می‌انجامد. هرچند چنین روش و تأثیراتی گاهی اجازه می‌دهد مغز تحت تأثیر تصورات نادرست فریب بخورد، برای مثال در مواقع خطای دید در برخی از تصاویر، ولی این روش پردازش به ما توانایی دیدن و پاسخ سریع به جهان بصری را داده است. از تشخیص روشنایی و تاریکی در شبکیه چشم (retina) تا خطوط انتزاعی در V1 تا تفسیر اشیا و روابط فضاییشان در ناحیه‌های بصری بالاتر، هر وظیفه ای در ادراک بصری کارایی و قدرت سیستم بینایی انسان را نشان می‌دهد.

موارد حال حاضر استفاده از تکنولوژی computer vision

  • کاربردهای غیرنظامی
    1. سرچ پیدا کردن تصاویر مشابه در سرویس‌های Google یا Bing
    2. سرویس‌های شناختی Microsoft
      1. پیدا کردن افراد یکسان در تصاویر حتی در صورتی که آنها تغییر فیافه داده باشند
      2. سرویس تشخیص احساسات لحظه ای افراد مبتنی بر تصاویر
      3. سرویس تشخیص سن افراد و جنسیت و . . . در تصاویر
      4. سرویس PhotoDNA
      5. سرویس قدرتمند تبدیل نوشته‌های موجود در تصاویر به متن
      6. تشخیص چهره در ویدئو به صورت real time
      7. تبدیل گفتار به متن
      8. تشخیص لحن گفتار بر پایه متن
      9. سرویس پیدا کردن مفاهیم بر پایه محتویات متنی
      10. سرویس‌های تشخیص زبان‌های طبیعی
      11. سرویس توصیف تصاویر
      12. ربات‌های چت پیشرفته (از جمله این ربات‌ها می شه به Tay در twitter اشاره کرد)
      13. و سرویس‌های دیگر . . . .
    3. سرویس‌های شناختی IBM
      1. تشخیص احساسات بر پایه تصاویر
      2. سرویس اپن سورس توصیف تصاویر با node.js (سورس code)
      3. توصیف محتواهای متنی
      4. سرویس شناختی آنالیز شبکه‌های اجتماعی
      5. ربات‌های خودکار پاسخ دهنده هوشمند به کاربران
      6. تشخیص احساسات بر پایهٔ محتوای متنی
      7. سرویس گراف‌های شناختی از داده‌های تاریک
      8. کسب و کارهای شناختی
      9. تشخیص real time ایتم‌های مختلف با تراشه SyNAPSE
      10. و سرویس‌های دیگر . . . .
    4. خودروهای خودران Google و بقیه شرکت‌ها
    5. استفاده برای تشخیص چهره درگرفتن عکس در تلفن‌های همراه همچنین استفاده در سرویس شبکه اجتماعی فیسبوک جهت نوشتن نام‌ها بر روی تصاویر
    6. استفاده در فروشگاه‌ها برای دنبال کردن سلایق بازدید کننده گان
    7. استفاده در تشخیص پلاک خودرو
    8. درمان بیماری‌ها و تومورها و سرطان با Nanobots های که انرژی خود را از برخورد اتفاقی با سلول‌ها به دست می آورند

 

ناو ACTUV

تصویری از رونمایی کشتی جنگی بدون سرنشین ضد زیر دریایی با قابلیت ردیابی ممتد یا به اختصار (ACTUV)

  • کاربردهای نظامی
    • تشخیص و شناسایی چهره افراد در فرودگاها و مراکز حساس دیگر
    • وسایل حرکتی بدون سرنشین _ مستقل (Uncrewed vehicle)
      1. خودروهای زمینی بدون سرنشین نظامی چند منظوره با قابلیت‌های استفاده موتوریزه و انتقال نیروها و تجهیزات . . . (Unmanned ground vehicle)
      2. زیردریایی بدون سرنشین: زیردریایی شرکت بوئینگ (Boeing submarine) که قابلیت ماه‌ها ماندن در زیر دریا و بررسی و ارسال اطلاعات به طور کاملاً مستقل را قادر می‌باشند
      3. ناوهای بدون سرنشین: ناوهای ضد زیردریایی ACTUV ساخت DARPA (سازمان پروژه‌های تحقیقاتی پیشرفتهٔ دفاعی)
      4. هواپیماهای بدون سرنشین و پهپادها با کنترل مستقل (Unmanned aerial vehicle)
      5. سیستم دفاع موشکی هوش مصنوعی (Artificially Intelligent Missile Defense System)
      6. فضاپیمای بدون سرنشین (Unmanned spacecraft)
      7. ربات‌های Humanoid (پروژه Atlas robot)
      8. Nanobots

منبع

مطالب مرتبط :

تفاوت بینایی ماشین و بینایی کامپیوتر

آشنایی با ماشین بینایی

آشنایی با بینایی ماشین و بینایی رایانه ای

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

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

بینایی کامپیوتر

Computer Vision
Field of robotics in which programs attempt to identify objects represented in digitized images provided by video cameras, thus enabling robots to “see.” Much work has been done on stereo vision as an aid to object identification and location within a three-dimensional field of view. Recognition of objects in real time, as would be needed for active robots in complex environments, usually requires computing power beyond the capabilities of present-day technology. See also pattern recognition.

بینایی کامپیوتر گرایشی از رباتیک است که در آن ، با شناسایی اشیاء موجود در تصاویر دیجیتالی بدست آمده از دوربین های فیلم برداری ، امکان “دیدن” را برای ربات ها فراهم می سازد. تا کنون کار های زیادی بر روی دید دوگانه (استریو ویژن) جهت کمک به شناسایی و مکان جسم در سه بعد انجام شده است. جهت شناسایی اشیا به صورت بلادرنگ که ربات ها در محیط های پیچیده بدان نیازمندند ، معمولا احتیاج به قدرت محاسباتی فراتر از تکنولوژی روز داریم.
منبع : Britannica Encyclopedia

پردازش تصویر

image processing
به مجموعه عملیاتی که یک ماشین الکترونیکی(مثلا کامپیوتر) به منظور ویرایش تصاویر انجام میدهد پردازش تصویر گفته می شود.
مثال: به تمامی عملیاتی که در برنامه فوتوشاپ بر روی تصاویر انجام میشود پردازش تصویر گفته می شود.
بین سه عبارت “پردازش تصویر” و “بینایی کامپیوتر” و “بینایی ماشین” تفاوت وجود دارد. که متاسفانه در ایران خیلی ها فرق این ها را نمی دانند و به همه ی آن ها می گویند پردازش تصویر !
منبع

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

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

همانند نیروی انسانی که با چشم غیر مسلح در خط تولید کالاها را برای تعیین کیفیت و نوع ساخت آنها بازبینی می کنند، Machine vision از دوربین‌های دیجیتال و دوربین‌های هوشمند و نرم‌افزارهای image processing (پردازش تصویر) برای این کار استفاده می کند. دستگاههای مربوطه (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 ( کارتی که برای دریافت سیگنال تصویری و فرستادن آن به کامپیوتر استفاده می شود)می گویند.
۳٫ یک پردازشگر ( گاهی یک PC یا پردازنده تعبیه شده ( Embedded Processor ) مانند DSP
۴٫ نرم‌افزار Machine vision : این نرم‌افزار امکاناتی برای توسعه یک برنامه نرم‌افزاری که برای کاربردی مشخص است را فراهم می کند.
۵٫ سخت‌افزار ورودی / خروجی ( مثلا I/O دیجیتال ) یا حلقه‌های ارتباطی ( مثلا ارتباط شبکه ای یا RS-232 ) برای گزارش نتایج.
۶٫ یک دوربین هوشمند : یک وسیله ساده که همه موارد فوق را داراست.
۷٫ لنزهایی که بتواند به مقدار مطلوبی روی سنسور تصویر زوم کند.
۸٫ منابع نوری مناسب و گاهی خیلی مخصوص ( مثلا چراغهای LED، فلورسنت، لامپهای هالوژن و . . . )
۹٫ یک برنامهٔ مشخص که بتواند تصاویر را پردازش کرده و مشخصه‌های مربوط و مناسب را شناسایی کند.
۱۰٫ یک سنسور همزمان ساز برای شناسایی اجزا ( گاهی یک سنسور نوری و یا یک سنسور مغناطیسی ) : این سنسور برای راه اندازی سیستمٍ استخراج و پردازش تصویر می باشد.

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

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

تصویر دوربین یا توسط یک frame grabber و یا توسط یک حافظه کامپیوتری (که در آن از frame grabber استفاده نشده است) گرفته می شود. frame grabber یک وسیله دیجیتال کننده است ( یا در داخل دوربین هوشمند و یا بطور جداگانه) که خروجی دوربین را به فرمت دیجیتال تبدیل کرده ( معمولاً این فرمت از یک آرایه دو بعدی از اعداد تشکیل شده که هر عدد متناظر شدت روشنایی نقطه متناظر در آن تصویر می باشد. به این نقاط پیکسل می گویند.) و سپس تصویر را به منظور پردازش توسط نرم‌افزارٍ Machine vision در حافظه کامپیوتر ذخیره می کند.

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

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

همچنین امروزه شاهد شیوع فراوان استفاده از تجهیزات دوربین‌های دیجیتال به جای یک دوربین و یک frame grabber جداگانه در Machine vision هستیم. استفاده از یک دوربین دیجیتال به منظور برقراری ارتباط مستقیم، باعث صرفه جویی در هزینه و نیز سادگی سیستم خواهد شد. دوربین‌های هوشمند که در داخل آنها embedded processor‌ها تعبیه شده اند، در حال تسخیر سهم بالایی از بازار Machine vision‌ها هستند.

استفاده از یک embedded processor ( و یا یک پردازنده بهینه ) نیاز ما به frame grabber و یک کامپیوتر خارجی را از بین می برد. به همین خاطر این پردازنده‌ها باعث کاهش هزینه، کاهش پیچیدگی سیستم و همچنین اختصاص توان پردازشی مشخص به هر دوربین می شود. دوربین‌های هوشمند معمولاً ارزان تر از سیستمهای شامل یک دوربین و یک برد و یک کامپیوتر خارجی هستند. همچنین توان بالای embedded processor و DSP‌ها منجر به بالا رفتن عملکرد و توانایی آنها نسبت به سیستمهای مرسوم ( که بر مبنای PC هستند ) شده است.
منبع

روش‌های پردازش :

شمارش پیکسل :

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

تعیین آستانه :

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

بخش بندی کردن (Segmentation) :

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

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

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

تشخیص و شناسایی توسط اجزاء موجود :

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

تشخیص وشناسایی الگو به طور مقاوم در برابر تغییرات :

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

خواندن بارکد :

شناسایی و تعیین کدهای یک بعدی (۱D) و دو بعدی (۲D) اسکن شده توسط ماشین‌ها طراحی شده است.

تشخیص و شناسایی کاراکتر نوری :

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

اندازه گیری :

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

تشخیص و شناسایی لبه ها :

پیدا کردن لبه‌های یک جسم در یک تصویر.

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

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

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

کاربردهای ماشین بینایی :

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

۱٫ تولید صنعتی در مقیاس بزرگ.
۲٫ ساخت اجزایی که نیاز به زمان تولید مشخصی دارند.
۳٫ سیستمهای ایمنی موجود در محیط‌های صنعتی.
۴٫ بررسی مواد اولیه تولید ( مثلا کنترل کیفیت و بررسی وقوع خطا )
۵٫ کنترل موجودی انبار و سیستمهای مدیریتی ( شمارش، بارکد خواندن و ذخیره اطلاعات در سیستمهای دیجیتال )
۶٫ کنترل رباتهای تعقیب خطی که برای حمل بار در کارخانه‌های صنعتی استفاده می شوند.
۷٫ کنترل کیفیت و بهبود محصولات غذایی.
۸٫ ماشینی کردن اجزای کوچک صنعتی.
سیستم‌های ماشین بینایی به طور گسترده در صنعت تولید نیمه هادی ها کاربرد دارند. به راستی بدون وجود این سیستم‌ها تولید قطعات کامپیوتری کاهش می یابد. این دستگاهها برای بازبینی دقیق ویفرهای سیلیکونی و بردازش گرها به کار می روند. در صنعت خودروسازی، Machine vision برای هدایت روبات‌های صنعتی، سنجیدن مناسب بودن کالاهای مشخص شده برای اهدافی خاص و بازبینی سطح‌های رنگ شده ماشین جهت یافتن عیب. اگرچه تکنیک‌های مربوط به سیستمهای ماشین بینایی برای طیف‌های مرئی از اشیاء گسترش یافته اند ولی ممکن است مشابه با روش‌ها برای طیف‌های نامرئی نور مانند اشعه مادون قرمز یا اشعه به کار برده شوند.

زمینه‌های مربوط به ماشین بینایی :

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

كاربردهاي ماشين‌ بينايي در صنايع مختلف

ورق‌هاي فولاد، آلومينيوم، مس و …
ورق پليمري، كامپوزيت، كارتن پلاست و …
ورق‌هاي سلولوزي(كاغذ، مقوا، كارتن)
لوله و پروفيل فلزي
لوله پليمري و كابل
منسوجات (پارچه، موكت، فرش و بافته‌هاي صنعتي)
كاشي، سراميك و كفپوش‌هاي ديگر
مديريت و كنترل هوشمند ترافيك
صنايع هوافضا
بسته‌بندي و چاپ
صنايع خودرو
داروسازي و پزشكي
صنايع الكترونيك
صنايع غذايي

……………………..

[عکس: dp01.jpg]
صنايع فولاد، آلومينيوم، مس و …
• بازرسي و كنترل كيفيت سطح
• اندازه‌گيري عرض
• مانيتورينگ، آرشيو و بازبيني تصاوير محصول
• تهيه نقشه عيوب
• درجه‌بندي محصول

………………………………….
[عکس: dp02.jpg]
ورق پليمري، كامپوزيت، كارتن پلاست و …
• بازرسي و كنترل كيفيت سطح
• مانيتورينگ، آْرشيو و بازبيني تصاوير محصول
• تهيه نقشه عيوب
• درجه‌بندي محصول

……………………………….
[عکس: dp03.jpg]
ورق‌هاي سلولوزي(كاغذ، مقوا، كارتن)
• بازرسي و كنترل كيفيت سطح
• مانيتورينگ، آْرشيو و بازبيني تصاوير محصول
• تهيه نقشه عيوب
• درجه‌بندي محصول

……………………………….
[عکس: dp04.jpg]
لوله و پروفيل فلزي
• بازرسي و كنترل كيفيت سطح
• اندازه‌گيري ابعاد
• تهيه نقشه عيوب
• درجه‌بندي محصول

…………………………

[عکس: dp05.jpg]
لوله پليمري و كابل
• بازرسي و كنترل كيفيت سطح
• اندزه‌گيري قطر
• تهيه نقشه عيوب
• درجه‌بندي محصول

……………………………
[عکس: dp06.jpg]
منسوجات (پارچه، موكت، فرش و بافته‌هاي صنعتي)
• بازرسي الياف
• بازرسي نخ
• بازرسي بافت پارچه
• بازرسي چاپ
• تهيه نقشه عيوب

……………………………..
[عکس: dp07.jpg]
كاشي، سراميك و كفپوش‌هاي ديگر
• بازرسي سطح
• كنترل طرح چاپ
• کنترل سطح رنگ (Shade)
• درجه‌بندي
منبع

[عکس: dp08.jpg]
مديريت و كنترل هوشمند ترافيك
• آمار و اطلاعات ترافيكي
• كنترل هوشمند تقاطع
• كنترل ترافيك تونل‌ها و پل‌ها
• تشخيص سانحه
• ثبت تخلف سرعت

……………………………

[عکس: dp09.jpg]
صنايع هوافضا
• آشكارسازي اپتيكي
• هدايت و كنترل هوشمند
• رديابي اهداف متحرك
• نقشه‌برداري و پردازش تصاوير هوايي

…………………………..

[عکس: dp10.jpg]
بسته‌بندي و چاپ
• بازرسي چاپ
• بازرسي برچسب، باركد و تاريخ مصرف
• بازرسي بطري و ظرف محصول
• كنترل پربودن جعبه

………………………….

[عکس: dp11.jpg]
صنايع خودرو
• كنترل رباتهاي خط توليد
• كنترل ابعادي قطعات
• بازرسي سطح قطعات
• بازرسي رنگ خودرو
• بازرسي مونتاژ خودرو

………………………….

[عکس: dp12.jpg]
داروسازي و پزشكي
• كنترل بسته‌بندي انواع دارو
• بازرسي برچسب، باركد و تاريخ
• آشكارسازي و تشخيص تومورها
• پردازش تصاوير پزشكي(آنژيوگرافي، ماموگرافي و …)

…………………………….
[عکس: dp13.jpg]
صنايع الكترونيك
• بازرسي PCB
• بازرسي قطعات مونتاژشده
• بازرسي چاپ بورد
• بازرسي برچسب و باركد

……………………………..

[عکس: dp14.jpg]
صنايع غذايي
• بازرسي بطري و ظرف محصول
• درجه‌بندي ميوه‌ها، غلات، حبوبات و …
• بازرسي برچسب و باركد و تاريخ مصرف
• كنترل پربودن جعبه
منبع