مقدمه

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

دانلود کامل کاتالوگ (شامل تصاویر بیشتر جهت آشنایی با موضوع)

 

بینایی ماشین چیست؟

بینایی ماشین (به انگلیسی: Machine vision) شاخه‌ای از علم مهندسی است که به رشته‌های علوم کامپیوتری (Computer science) و علم نورشناسی و مهندسی مکانیک و اتوماسیون صنعتی ارتباط دارد. یکی از مهمترین و پر استفاده‌ترین کاربردهای آن در بازبینی و بررسی کالاهای صنعتی از جمله نیمه هادیها، اتومبیل‌ها، مواد خوراکی و دارو می‌باشد. همانند نیروی انسانی که با چشم غیر مسلح در خط تولید کالاها را برای تعیین کیفیت و نوع ساخت آنها بازبینی می‌کنند، Machine vision از دوربین‌های دیجیتال و دوربین‌های هوشمند و نرم‌افزارهای image processing (پردازش تصویر) برای این کار استفاده می‌کند. دستگاههای مربوطه (Machine vision) برای انجام دادن وظایفی خاص از جمله شمردن اشیاء در بالابرها، خواندن شماره سریالها(Serial numbers)، جستجوی سطح‌های معیوب به کار می‌روند.

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

 

مزایای بهره گیری از بینایی ماشین در صنعت

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

 

کنترل کیفیت در صنعت

 

کاربردهای بینایی ماشین در صنعت

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

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

 

اجزای سیستم بینایی ماشین جهت پیاده سازی کنترل کیفیت هوشمند

اگرچه “بینایی ماشینی” بیشتر به عنوان یک فرآیند در کاربردهای صنعتی شناخته شده است، برای فهرست کردن اجزای سخت‌افزاری و نرم‌افزاری به کار برده شده نیز مفید می‌باشد. معمولاً یک بینایی ماشینی از اجزای زیر ساخته شده است:
۱٫ یک یا چند دوربین دیجیتال یا آنالوگ (سیاه-سفید یا رنگی) با اپتیک مناسب برای گرفتن عکس.
۲٫ واسطه‌ای که عکس‌ها را برای پردازش آماده می‌سازد. برای دوربین‌های آنالوگ این واسطه شامل یک دیجیتال کننده عکس است.

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

بینایی کامپیوتری (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

منبع

مطالب مرتبط :

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

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

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

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

یادگیری ماشین چیست؟

تعریف عمومی از یادگیری ماشین  آن است که توسط دانشمند کامپیوتر آرتور ساموئل در سال ۱۹۵۹ داده شده است:

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

این یک پاسخ مفهومی ساده است، اما بطور مشخص، فرآیند “یادگیری ماشین” چیست؟ خروجی آن چیست؟ و چگونه می توان آن را به داده های شما اعمال کرد؟ در این مقاله  تلاش خواهیم کرد تا به تمام این سوالات به طور ساده پاسخ دهیم، اما اولا، تعریف دقیق تر زیر را ارائه خواهیم کرد:

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

برخی اصطلاحات

مدل

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

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

معادله ای که به عنوان ورودی مقدار رنگ پیکسل های یک عکس را می گیرد و به عنوان خروجی شناسایی شیء موجود در عکس را می دهد.

معادله ای که به عنوان ورودی وضعیت کنونی هیئت مدیره Go را می دهد و به عنوان خروجی نشانگر حرکتی است که بهترین شانس برنده شدن در بازی را به ارمغان می آورد.

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

ویژگی ها

ویژگی های ورودی  مدل ماشین آموخته شده :

آنها هر قطعه ای از اطلاعات هستند که ممکن است برای پیش بینی مفید باشند. در مثال بالا، پیش بینی پیش فرض وام، درآمد، بدهی های بزرگ، مبلغ درخواست شده، همه ویژگی ها هستند. ممکن است بسیاری از ویژگی های دیگر وجود داشته باشد که می تواند مفید باشد و بعضی از آنها ممکن است ترکیبی از ویژگی های دیگر باشد؛ برای مثال، نسبت درآمد به بدهی، یا امتیاز اعتباری (که البته خروجی یک مدل متفاوت از جمله بسیاری از این ویژگی های مشابه است)

بیش برازش overfitting

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

طبقه بندی مشکلات یادگیری ماشین

سه طبقه بندی اصلی از وظایف یادگیری ماشین وجود دارد:

  • یادگیری تحت نظارت: مدل با استفاده از یک مجموعه شناخته شده “داده های آموزشی” ساخته شده است که شامل تمام ویژگی ها و همچنین مقادیر شناخته شده (“برچسب ها”) خروجی است که ما در حال تلاش برای مدل سازی آن هستیم. هدف از تکنیک های یادگیری تحت نظارت، رسیدن به یک مدل است که ویژگی های ورودی را برحسب برچسب ها نشان می دهد.
  • یادگیری بدون نظارت: خروجی این الگوریتم یادگیری،  برچسب ها  نیستند؛ هدف این روش کشف ساختار ناشناخته مانند خوشه ها clutsters و یا الگوهای دیگر است.
  • یادگیری تقویتی: الگوریتم پاداش و مجازات را بر اساس موفقیت آن در دستیابی به یک هدف خاص به ارمغان می آورد – به عنوان مثال، یک الگوریتم Go برای تغییرات در یک مدل که باعث افزایش نسبت زمان برنده شدن مدل و مجازات برای تغییراتی که قصد کاهش آن را دارد.این  الگوریتم قصد دارد پاداش را به حداکثر و مجازات را به حداقل برساند.

وظایف همچنین می تواند بر اساس خروجی مورد نظر از مدل یادگیری طبقه بندی شود. سه تا از رایج ترین ها عبارتند از:

طبقه بندی: داده ها به دو یا چند کلاس یا “برچسب ها” تقسیم می شوند (مثلا “hotdog” در مقابل “not hotdog “) و هدف عمل یادگیری این است که یک مدل تولید کند که ورودی ها را به یکی یا بیشتر از این برچسبها اختصاص دهد.

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

خوشه بندي: آنالوگ بدون نظارت برای طبقه بندي؛ ورودی ها باید به گروه ها تقسیم شوند، اما قبل از ساخت مدل، گروه ها شناخته نمی شوند.مثال کاربرد: پیش بینی قیمت خانه

منبع


آشنایی با الگوریتم های ضروری یادگیری ماشین

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

انواع الگوریتم های یادگیری ماشین

سه نوع اصلی الگوریتم های یادگیری ماشین از قرار زیرند :

  • یادگیری نظارت شده (هدایت شده – Supervised Learning) : در این نوع از الگوریتم ها که بار اصلی یادگیری ماشین را بر دوش می کشند (از لحاظ تعداد الگوریتم های این نوع)، با دو نوع از متغیرها سروکار داریم . نوع اول که متغیرهای مستقل نامیده میشوند، یک یا چند متغیر هستند که قرار است بر اساس مقادیر آنها، یک متغیر دیگر را پیش بینی کنیم. مثلا سن مشتری و تحصیلات و میزان درآمد و وضعیت تاهل برای پیش بینی خرید یک کالا توسط یک مشتری ، متغیرهای مستقل هستند. نوع دوم هم متغیرهای وابسته یا هدف یا خروجی هستند و قرار است مقادیر آنها را به کمک این الگوریتم ها پیش بینی کنیم . برای این منظور باید تابعی ایجاد کنیم که ورودیها (متغیرهای مستقل) را گرفته و خروجی موردنظر (متغیر وابسته یا هدف) را تولید کند.
  • فرآیند یافتن این تابع که در حقیقت کشف رابطه ای بین متغیرهای مستقل و متغیرهای وابسته است را فرآیند آموزش (Training Process) می گوئیم که روی داده های موجود (داده هایی که هم متغیرهای مستقل و هم متغیرهای وابسته آنها معلوم هستند مثلا خریدهای گذشته مشتریان یک فروشگاه) اعمال میشود و تا رسیدن به دقت لازم ادامه می یابد.  نمونه هایی از این الگوریتم ها عبارتند از رگرسیون، درختهای تصمیم ، جنگل های تصادفی، N نزدیک ترین همسایه، و رگرسیون لجستیک.
  • یادگیری بدون ناظر (unsupervised learning) : در این نوع از الگوریتم ها ، متغیر هدف نداریم و خروجی الگوریتم، نامشخص است. بهترین مثالی که برای این نوع از الگوریتم ها می توان زد، گروه بندی خودکار (خوشه بندی) یک جمعیت است مثلاً با داشتن اطلاعات شخصی و خریدهای مشتریان، به صورت خودکار آنها را به گروه های همسان و هم ارز تقسیم کنیم . الگوریتم Apriori و K-Means از این دسته هستند.
  • یادگیری تقویت شونده (Reinforcement Learning) : نوع سوم از الگوریتم ها که شاید بتوان آنها را در زمره الگوریتم های بدون ناظر هم دسته بندی کرد ، دسته ای هستند که از آنها با نام یادگیری تقویت شونده یاد میشود. در این نوع از الگوریتم ها، یک ماشین (در حقیقت برنامه کنترل کننده آن)، برای گرفتن یک تصمیم خاص ، آموزش داده می شود و ماشین بر اساس موقعیت فعلی (مجموعه متغیرهای موجود) و اکشن های مجاز (مثلا حرکت به جلو ، حرکت به عقب و …) ، یک تصمیم را می گیرد که در دفعات اول، این تصمیم می تواند کاملاً تصادفی باشد و به ازای هر اکشن یا رفتاری که بروز می دهد، سیستم یک فیدبک یا بازخورد یا امتیاز به او میدهد و از روی این فیدبک، ماشین متوجه میشود که تصمیم درست را اتخاذ کرده است یا نه که در دفعات بعد در آن موقعیت ، همان اکشن را تکرار کند یا اکشن و رفتار دیگری را امتحان کند.
  • با توجه به وابسته بودن حالت و رفتار فعلی به حالات و رفتارهای قبلی، فرآیند تصمیم گیری مارکوف ، یکی از مثالهای این گروه از الگوریتم ها می تواند باشد . الگوریتم های شبکه های عصبی هم می توانند ازین دسته به حساب آیند. منظور از کلمه تقویت شونده در نام گذاری این الگوریتم ها هم اشاره به مرحله فیدبک و بازخورد است که باعث تقویت و بهبود عملکرد برنامه و الگوریتم می شود

الگوریتم های اصلی و رایج یادگیری ماشین

  1. رگرسیون خطی
  2. رگرسیون لجستیک
  3. درخت تصمیم
  4. SVM
  5. Naive Bayes
  6. KNN
  7. K-Means
  8. جنگل تصادفی
  9. الگوریتم های کاهش ابعاد
  10. Gradient Boost & Ada Boost

منبع

یادگیری ماشین قسمت ۱
یادگیری ماشین قسمت ۲
یادگیری ماشین قسمت ۳

ارتباط یادگیری ماشین با آمار

یادگیری ماشین و آمار رشته های نزدیکی هستند. طبق نظر مایکل. ال. جردن (Micheal l. Jordan) ایده های یادگیری ماشین، از اصول متدلوژی گرفته تا ابزار نظری، پیشینه ای طولانی در آمار دارند. او همچنین عبارت علم داده ها را برای نام گذاری کل این رشته پیشنهاد کرد.

لئو بریمن (Leo Breiman) دو پارادایم آماری را مطرح ساخت: مدل داده و مدل الگوریتمیک، که مدل “الگوریتمیک” کما بیش به معنای الگوریتم های یادگیری ماشین مثل جنگل تصادفی است.

برخی آماردانان با استفاده از روش های یادگیری ماشین، گرایشی ساخته اند که آن را یادگیری آماری می نامند.

تئوری یادگیری ماشین

یک هدف اساسی ماشین یادگیرنده، تعمیم دهی از تجربه است. منظور از تعمیم دهی در این چهارچوب، توانایی یک ماشین یادگیرنده در داشتن عملکردی دقیق در فعالیت ها و مثال های جدید و دیده نشده، بر مبنای تجربه آن ماشین با مجموعه داده های آموزش است.  مثال های آموزشی از یک توزیعِ عموماً ناشناخته می آیند (که به عنوان نماینده فضای رخدادها در نظر گرفته می شود) و یادگیرنده باید برای این فضا مدلی عمومی تولید کندکه به آن، توانایی پیش بینیِ بقدر کافی دقیق در موارد جدید را بدهد.

تحلیل محاسباتی الگوریتم های یادگیری ماشین و عملکرد آن ها شاخه ای از علوم کامپیوتر نظری تحت عنوان نظریه یادگیری محاسباتی را تشکیل می دهد. چون مجموعه های داده های آموزشی، متناهی هستند و آینده قطعیت ندارد، نظریه یادگیری معمولا تضمینی در مورد عملکرد الگوریتم ها به ما نمی دهد. در عوض، کران های احتمالاتی روی عملکرد، بسیار معمول هستند. تجزیه اُریب-واریانس (bias-variance decomposition) راهی برای کمّی سازی خطای تعمیم دهی است.

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

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

روش های یادگیری ماشین

یادگیری درخت تصمیم یا Decision tree learning

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

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

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

شبکه های عصبی مصنوعی

یک الگوریتم شبکه عصبی مصنوعی (ANN)، که معمولا “شبکه عصبی” (NN) نامیده می شود، الگوریتمی است که از ساختار و جنبه های عملکردی شبکه های عصبی بیولوژیکی الهام گرفته شده است. در این شبکه، محاسبات در قالب گروه های متصلی از نورون های مصنوعی، ساختار می یابند و اطلاعات را با یک روش پیوندگرایی به محاسبات، پردازش می کند. شبکه های عصبی مدرن، ابزارهای مدل سازی غیر خطی داده های آماری هستند. این شبکه ها معمولا برای مدل سازی روابط پیچیده بین ورودی ها و خروجی ها، الگو شناسی در داده ها، یا دریافت ساختار آماری در یک توزیع توئم احتمال میان متغیر های مشاهده شده استفاده می شوند.

یادگیری عمیق

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

برنامه نویسی منطقی استقرایی

برنامه نویسی منطقی استقرایی (ILP) روشی برای هدایت یادگیری با استفاده از برنامه نویسی منطقی به عنوان نمایشی یکنواخت برای مثال ها (داده ها)ی ورودی، دانش پس زمینه و فرضیات است. با داشتن یک کدگذاری (encoding) از دانشِ معلومِ پس زمینه و مجموعه ای از مثال ها که به عنوان پایگاه داده ای از حقایق نمایش داده می شود، یک سیستم ILP برنامه ای منطقی استخراج می کند که تمام مثال های مثبت را نتیجه دهد و هیچ یک از مثال های منفی را نتیجه ندهد. برنامه نویسی استقرایی (inductive programming) شاخه ای مرتبط است که هر نوع زبان برنامه نویسی برای نمایش فرضیات را در بر می گیرد (و نه فقط برنامه نویسی منطقی)، از قبیل برنامه های تابعی.

ماشین های بُردار پشتیبانی

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

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

 خوشه بندی یا Clustering

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

شبکه های بِیزی یا Bayesian networks

شبکه بیزی، شبکه باور (belief network) یا مدل گراف جهتدار غیرمدور، یک مدل گرافی احتمالاتی است که مجموعه متغیرهای تصادفی و استقلال شرطی آن ها را توسط یک گراف جهتدار غیرمدور (DAG) نمایش می دهد. برای مثال، شبکه بیزی می تواند ارتباط های احتمالاتی میان بیماری ها و علائم بیماری را نمایش دهد. با داشتن علائم، شبکه می تواند احتمال وجود بیماری های مختلف را محاسبه کند. الگوریتم های اثربخشی وجود دارند که استنباط و یادگیری را انجام می دهند.

یادگیری تقویتی

تمرکز روش یادگیری تقویتی بر این است که یک عامل چگونه باید در یک محیط عمل کند تا نوعی پاداش بلند مدت را بیشینه کند. الگوریتم های یادگیری تقویتی سعی دارند قاعده ای پیدا کنند که وضعیت های جهان را به عمل هایی که عامل باید در این وضعیت ها انجام دهد، تصویر کند. تفاوت یادگیری تقویتی با یادگیری نظارت شده در این است که جفت های صحیح وردودی/خروجی هرگز ارائه نمی شوند و نیز فعالیت های زیر-بهین (sub-optimal) نیز صریحاً اصلاح نمی شوند.

یادگیری نمایش یا Representation learning

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

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

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

یادگیری تشابه و متریک

در این مسئله، به ماشین یادگیرنده جفت های مثالی که مشابه در نظر گرفته شده اند، و جفت هایی که تشابه کمتری دارند، داده می شود. سپس ماشین باید یک تابع تشابه (یا یک تابع فاصله متریک) را یاد بگیرد که پیش بینی کند آیا اشیاء جدید شبیه هستند یا خیر. این روش برخی اوقات در سیستم های توصیه گر استفاده می شود.

یادگیری دیکشنری تُنُک یا Sparse dictionary learning

در این روش، یک داده به شکل ترکیبی خطی از توابع پایه ای نمایش داده می شود، و فرض می شود که ضرایب این ترکیب تنک هستند. فرض کنید که x یک داده d بُعدی و D یک ماتریس d در n باشد که هر ستون آن نمایشگر یک تابع پایه ای است. r ضریب نمایش x با استفاده از D است. از نظر ریاضی، یادگیری دیکشنری تنک به معنی حل دستگاه x ≈ Dr است که در آن r تنک است. بطور کلی n از d بزرگ تر فرض می شود تا آزادی برای نمایش تنک فراهم شود.

یادگیری دیکشنری با نمایش های تُنُک “ان-پی کاملِ قوی”  (strongly NP-hard) است و حل تقریبی آن هم دشوار است. یک روش ابتکاری محبوب برای یادگیری دیکشنری تنک K-SVD است.

یادگیری دیکشنری تنک در چندین چهارچوب مورد استفاده قرار گرفته است. در طبقه بندی، مسئله، تعیین کلاسی است که داده ای که قبلا ناشناخته بوده، به آن  تعلق دارد. فرض کنید که قبلاً یک دیشکنری برای هر کلاس ساخته شده است. آنگاه یک داده جدید به کلاسی مرتبط می شود که دیکشنری آن کلاس بهترین نمایش تنک برای آن داده را بدست دهد. یادگیری دیکشنری تنک در کاهش نویز تصویر نیز استفاده شده است. ایده کلیدی این است که یک تصویر “تمیز” را می توان به شکل تنک توسط یک دیکشنریِ تصویر نمایش داد، اما نویز را نمی توان.

الگوریتم های ژنتیک

یک الگوریتم ژنتیک (GA)، الگورریتم جستجوی ابتکاری است که از فرایند انتخاب طبیعی  تقلید می کند، و به امید یافتن پاسخ های مناسب به یک مسئله، ازروش های مثل جهش (mutation) و دوتیرگی (crossover) برای تولید کروموزوم جدید، استفاده می کند. در یادگیری ماشین، الگوریتم های ژنتیک در دهه های ۱۹۸۰ و ۱۹۹۰ کاربرد یافتند. برعکس، تکنیک های یادگیری ماشین نیز برای بهبود عملکرد الگوریتم های تکاملی و ژنتیک مورد استفاده قرار گرفته اند.

یادگیری ماشین قانون-محور

یادگیری ماشین قانون-محور عبارتی کلی برای هر نوع روش یادگیری ماشینی است که  برای ذخیره، کنترل یا استفاده از دانش، “قوانینی” را شناسایی، یادگیری یا استنتاج می کند. ویژگی مشخصه یک ماشین یادگیرنده قانون-محور، شناسایی و استفاده از مجموعه ای از قوانین است که بطور جمعی، نمایشگر دانش فراگرفته شده توسط سیستم هستند. این روش، با سایر یادگیرنده های ماشینی که عموماً یک مدل واحد را در تمام موارد برای پیشگویی می شناسند، در تمایز است. روش های یادگیری ماشین قانون-محور شامل سیستم های طبقه ساز یادگیرنده، یادگیری قانون وابستگی و سیستم های ایمنی مصنوعی هستند.

سیستم های طبقه ساز یادگیرنده Learning classifier systems

سیستم های طبقه ساز یادگیرنده یا به عبارتی طبقه بندی کننده ی یادگیرنده (LCS)، خانواده ای از الگوریتم های قانون-محور یادگیری ماشین هستند که یک مولفه اکتشاف (مثلاً بطور معمول یک الگوریتم ژنتیک) را یا یک مولفه یادگیرنده (که یادگیری نظارتی، یادگیری تقویتی یا یادگیری بی نظارت را انجام می دهد) ترکیب می کنند.  هدف این سیستم ها شناسایی مجموعه ای از قوانین وابسته به موضوع است که بطور جمعی، دانش را ذخیره و برای پیش بینی ها آن را به شکلی چند ضابطه ای استفاده می کنند.

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

کاربردهای یادگیری ماشین شامل موارد زیر است:

  • اثبات قضیه بطور خودکار
  • وبسایت های تطبیقی
  • هوش مصنوعی احساسی
  • بیوانفوماتیک
  • واسط مغز و رایانه
  • شیمی‌ انفورماتیک
  • طبقه بندی رشته های DNA
  • آناتومی محاسباتی
  • بینایی ماشین، از جمله شناسایی اشیاء
  • شناسایی کارت اعتباری جعلی
  • بازی عمومی (general game playing)
  • بازیابی اطلاعات
  • شناسایی کلاه برداری های اینترنتی
  • زبان شناسی
  • بازاریابی
  • کنترل یادگیری ماشین
  • ادراک ماشین
  • تشخیص پژشکی
  • اقتصاد
  • بیمه
  • پردازش زبان طبیعی
  • استنباط زبان طبیعی
  • بهینه سازی و الگوریتم های فرا ابتکاری
  • تبلیغات آنلاین
  • سیستم های توصیه گر
  • حرکت ربات
  • موتورهای جستجو
  • تحلیل احساسات (یا نظر کاوی)
  • مهندسی نرم افزار
  • شناسایی گفتار و دست نوشته
  • تحلیل بازارهای مالی
  • نظارت بر درستی ساحتار
  • الگوشناسی ترکیبی
  • پیش بینی سری های زمانی
  • تحلیل رفتار کاربر
  • ترجمه

در سال ۲۰۰۶ کمپانی فیلم سازی آنلاین نتفلیکس اولین رقابت “جایزه نتفلیکس” را برگزار کرد تا برنامه ای پیدا کند که پیش بینی بهتری از تمایلات کاربر داشته و دقت الگوریتم فعلی توصیه فیلم (Cinematch) خود را لااقل ۱۰% بهبود بخشد. گروهی متشکل از محققان بخش تحقیق و آزمایشگاه AT&T به همراه تیم های Big Chaos و Pragmatic Theory یک مدل چندگانه (ensemble model) ساختند که برنده جایزه ۱ میلیون دلاری سال ۲۰۰۹ شد.

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

در سال ۲۰۱۰ وال استریت ژورنال مقاله ای راجع به شرکت Rebellion Research و استفاده آن ها از یادگیری ماشین برای پیش بینی بحران مالی نوشت.

در سال ۲۰۱۲، وینود کسلا (Vinod Khosla) یکی از موسسین سان مایکروسیستمز (Sun Microsystems)، پیش بینی کرد که در دو دهه آینده بیش از ۸۰% از فرصت های شغلی پزشکی توسط نرم افزارهای تشخیص پزشکی یادگیری ماشین از بین خواهد رفت.

در سال ۲۰۱۴، گزارش شد که یک الگوریتم یادگیری ماشین در مطالعه تاریخ هنر استفاده شد تا نقاشی های هنرهای زیبا را بررسی کند، و نیز گزارش شد که این الگوریتم ممکن است تاثیرگذاری هایی را میان هنرمندان نشان داده باشد که قبلا شناخته شده نبوده است.

ارزیابی مدل

مدل های یادگیری ماشین طبقه بندی را می توان با تکنیک های تخمین دقت مثل روش هولد اوت (holdout) که داده ها را به یک مجموعه آموزش و یک مجموعه آزمایش تقسیم می کند (معمولا دو-سوم داده ها  در مجموعه آموزش و یک-سوم را در مجموعه آزمایش قرار می گیرند) و عملکرد مدل تحت آموزش را روی مجموعه آزمایش ارزیابی می کند، راستی آزمایی نمود. در مقایسه، روش تصدیق متقاطع N تایی  (N-fold cross validation) بطور تصادفی داده ها را به k زیرمجموعه تقسیم می کند که k-1 مورد از داده ها برای آموزش مدل استفاده می شود و   k-اُمین مورد برای آزمایش توانایی پیشگویی مدل استفاده می شود. علاوه بر روش های holdout و تصدیق متقاطع، راه اندازی خودکار (booststrap) که n مورد را، با جایگذاری، از مجموعه داده ها نمونه گیری می کند، می تواند برای ارزیابی دقیق مدل استفاه شود.

محققان علاوه بر دقت کلی، اغلب حساسیت و ویژگی را، که به ترتیب به معنای نسبت مثبت واقعی (TPR) و نسبت منفی واقعی (TNP) هستند، گزارش می کنند. بطور مشابه، محققین برخی اوقات نسبت مثبت کاذب  (FPR) و نسبت منفی کاذب (FNR) را نیز گزارش می کنند. با این حال، این ها نسبت هایی هستند که صورت و مخرج خود را نشان نمی دهند. مشخصه عملگری کل (TOC) روشی موثر جهت بیان توانایی تشخیص یک مدل است. TOC صورت و مخرج نسبت های فوق را نمایش می دهد، لذا اطلاعات بیشتری از منحنی های معمول مشخصه عملیاتی سیستم (ROC) و مساحت زیر این منحنی (AUC) بدست می دهد.

مسائل اخلاقی

یادگیری ماشین پرسش های اخلاقی متعددی را بوجود می آورد. سیستم های آموزش دیده روی مجموعه های داده های اُریب یا بایاس (bias) ، ممکن است این اریبی ها را هنگام استفاده نمایش دهند، لذا تبعیضات فرهنگی را دیجیتالی کنند. بنابراین جمع آوری مسئولانه داده ها بخش مهمی از یادگیری ماشین است.

چون زبان دارای اریبی است، ماشین هایی که روی پیکره های زبان  (language coropa) آموزش داده شده اند لزوماً اریبی را نیز یاد می گیرند.

نرم افزارها

برخی بسته های نرم افزاری که الگوریتم های یادگیری ماشین متنوعی دارند به شرح زیر هستند:

نرم فزار های رایگان و متن باز:

CNTK
Deeplearning4j
dlib
ELKI
GNU Octave
H2O
Mahout
Mallet
MEPX
mlpy
MLPACK
MOA (Massive Online Analysis)
MXNet

ND4J: ND arrays for Java

NuPIC
OpenAI Gym
OpenAI Universe
OpenNN
Orange
R
scikit-learn
Shogun
TensorFlow
Torch
Yooreeka
Weka

نرم افزارهای مالکیتی با ویرایش های رایگان و متن باز:

KNIME
RapidMiner

نرم افزار های مالکیتی:

Amazon Machine Learning
Angoss KnowledgeSTUDIO
Ayasdi
IBM Data Science Experience
Google Prediction API
IBM SPSS Modeler
KXEN Modeler
LIONsolver
Mathematica
MATLAB

Microsoft Azure Machine Learning

Neural Designer
NeuroSolutions
Oracle Data Mining
RCASE
SAP Leonardo
SAS Enterprise Miner
SequenceL
Skymind
Splunk
STATISTICA Data Miner

ژورنال ها

Journal of Machine Learning Research
Machine Learning
Neural Computation
منبع

یادگیری ماشین قسمت ۱
یادگیری ماشین قسمت ۲
یادگیری ماشین قسمت ۳

تعریف

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

Machine Learning

اهداف و انگیزه‌ها

هدف یادگیری ماشین این است که کامپیوتر (در کلی‌ترین مفهوم آن) بتواند به تدریج و با افزایش داده‌ها کارایی بهتری در انجام وظیفهٔ مورد نظر پیدا کند. گسترهٔ این وظیفه می‌تواند از تشخیص خودکار چهره با دیدن چند نمونه از چهرهٔ مورد نظر تا فراگیری شیوهٔ گام‌برداری روبات‌های دوپا با دریافت سیگنال پاداش و تنبیه باشد.

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

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

تقسیم‌بندی مسایل

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

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

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

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

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

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

یادگیری بی‌نظارت را می‌توان به صورت عمل کاهش بعد در نظر گرفت.

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

یادگیری با نظارت

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

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

تعریف ریاضی مسایل یادگیری ماشین

یادگیری با نظارت

در این مدل یادگیری مثال‌های آموزشی به صورت جفت‌های (x^{i},y^{i}) که در آن هر نمونه به همراه بر چسب آن داده شده‌اند و i اندیس هر مثال در مجموعه مثال‌های آموزشی D است. هدف در این یادگیری بدست آوردن تابع f است که بتواند برای نمونه‌های ورودی دیده نشده x بر چسب مناسب را برگرداند(f(x) = y). نمونه و بر چسب هر دو می‌توانند یک بردار باشند. اگر بر چسب یک عدد حقیقی باشد مسئله پیش روی ما رگرسیون نامیده می‌شود. اگر بر چسب یک عدد صحیح باشد به مسئله دستبه بندی گفته می‌شود.

 

یکی از انواع یادگیری از داده‌ها

منبع


یادگیری ماشین قسمت ۱
یادگیری ماشین قسمت ۲
یادگیری ماشین قسمت ۳

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

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

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

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]
صنايع غذايي
• بازرسي بطري و ظرف محصول
• درجه‌بندي ميوه‌ها، غلات، حبوبات و …
• بازرسي برچسب و باركد و تاريخ مصرف
• كنترل پربودن جعبه
منبع

ردیابی دقیق اشیاء بر اساس اطلاعات حرکت و الگوریتم k-means اتوماتیک

ﭼﮑﯿﺪه

ردﯾﺎﺑﯽ اﺷﯿﺎء ﻣﺘﺤﺮك ﯾﮑﯽ از ﭘﺮﮐﺎرﺑﺮدﺗﺮﯾﻦ ﻣﻘﻮﻟﻪﻫﺎ در ﺣﻮزه ﺑﯿﻨﺎﯾﯽ ﻣﺎﺷﯿﻦ ﻣﯽﺑﺎﺷﺪ ﮐﻪ در ﻃﻮل دﻫﻪﻫﺎي اﺧﯿﺮ ﺗﻮﺟﻪ ﻣﺤﻘﻘﺎن زﯾﺎدي را ﺑﻪ ﺧﻮد ﺟﻠﺐ ﮐﺮده اﺳﺖ .در اﯾﻦ ﻣﻘﺎﻟﻪ روﺷﯽ ﺟﺪﯾﺪ ﺑﺮاي ردﯾﺎﺑﯽ ﭼﻨﺪﯾﻦ ﺷﯽ ﻣﺘﺤﺮك ﺑﺼﻮرت ﻫﻤﺰﻣﺎن اراﺋﻪ ﻣﯽﮐﻨﯿﻢ. ﺑﺮاي اﯾﻦ ﮐﺎر اﺑﺘﺪا از اﻃﻼﻋﺎت ﺣﺮﮐﺖ ﻣﺮﺑﻮط ﺑﻪ “ﻧﻘﺎط وﯾﮋﮔﯽ ﺧﻮب ﺑﺮاي ردﯾﺎﺑﯽ” ﺑﺮاي ﺑﺪﺳﺖ آوردن ﻧﻘﺎط وﯾﮋﮔﯽ ﻣﺮﺗﺒﻂ ﺑﻪ اﺷـﯿﺎء ﻣﺘﺤـﺮك اﺳـﺘﻔﺎده ﺧﻮاﻫﯿﻢ ﮐﺮد. ﭘﺲ از اﯾﻨﮑﻪ ﻧﻘﺎط وﯾﮋﮔﯽ ﻣﺮﺗﺒﻂ ﺑﻪ اﺷﯿﺎء ﻣﺘﺤﺮك را ﻣﺸﺨﺺ ﮐﺮدﯾﻢ ﺑﺎ اﺳﺘﻔﺎده از اﻟﮕﻮرﯾﺘﻢ ﺧﻮﺷﻪﺑﻨﺪي k-means ﮐـﻪ در آن ﺗﻌﺪاد ﮐﻼﺳﺘﺮﻫﺎ ﺑﺪون داﺷﺘﻦ اﻃﻼﻋﺎت ﻗﺒﻠﯽ در ﻣﻮرد ﺗﻌﺪاد و ﻧﻮع اﺷﯿﺎء ﺑﺼﻮرت اﺗﻮﻣﺎﺗﯿﮏ ﺗﺨﻤﯿﻦ زده ﻣﯽﺷﻮد ﺑﻪ ﺧﻮﺷﻪﺑﻨﺪي ﻧﻘـﺎط وﯾﮋﮔﯽ ﺑﻌﻨﻮان اﺷﯿﺎء ﻣﺘﺤﺮك ﻣﺠﺰا بررسی خواهیم کرد .در اﯾﻦ ﻣﻘﺎﻟﻪ از ﺑﺮدار وﯾﮋﮔﯽ ﺷﺎﻣﻞ اﻧﺪازه ﺣﺮﮐﺖ، ﺟﻬﺖ ﺣﺮﮐﺖ، ﺷﺪت روﺷﻨﺎﯾﯽ و ﻣﻮﻗﻌﯿﺖ ﻧﻘﺎط وﯾﮋﮔﯽ اﺳﺘﻔﺎده ﮐﺮدﯾﻢ .ﻧﺘﺎﯾﺞ روش ﭘﯿﺸﻨﻬﺎدي ﻧﺸﺎن دﻫﻨﺪه دﻗﺖ ﺑﺎﻻ ﺑﺮاي ﺗﺨﻤﯿﻦ ﺗﻌﺪاد اﺷﯿﺎء ﻣﺘﺤﺮك ﻣﻮﺟﻮد در ﺻﺤﻨﻪ و ردﯾﺎﺑﯽ ﺳﺮﯾﻊ آنﻫﺎ دارد.

ﮐﻠﻤﺎت ﮐﻠﯿﺪي

اﺷﯿﺎء ﻣﺘﺤﺮك، ردﯾﺎﺑﯽ، ﻧﻘﺎط وﯾﮋﮔﯽ ﺧﻮب ﺑﺮای ردیابی، KLT

فایل PDF – در ۶ صفحه- نویسندگان : عزیز کزمیانی، ناصر فرج زاده، حامد خانی

ردیابی دقیق اشیا بر اساس اطلاعات حرکت و الگوریتم k-means اتوماتیک

پسورد فایل : behsan-andish.ir


آشکارسازی افتادن با استفاده از روش نوین ردیابی بر پایه الگوریتم اصلاح شده کانتور

چکیده

 

 

 

 

 

 

 

 

فایل PDF – در ۱۵ صفحه- نویسندگان : حمید رجبی، منوچهر نحوی

آشکارسازی افتادن با استفاده از روش نوین ردیابی بر پایه الگوریتم اصلاح شده کانتور

پسورد فایل : behsan-andish.ir

 


Image Processing Algorithms for Real-Time Tracking and Control of an Active Catheter

الگوریتم پردازش تصویر برای ردیابی زمان واقعی و کنترل کاتتر فعال

Abstract—In this paper, we investigate vision-based robotassisted active catheter insertion. A map of the vessels is extracted using image processing techniques and the locations of the junctions of the blood vessels are detected. The desired path of the catheter and the target is selected by the user/clinician. The tip of the catheter is tracked in real-time and the robot and the active catheter are controlled based on the position of the catheter inside the vessels. The active catheter is commanded by an autonomous guidance algorithm to bend in the appropriate direction at the branches. The stroke length for the robotic insertion is controlled by the autonomous guidance algorithm to ensure smooth motion of the catheter inside arteries. A PI controller has been implemented to overcome flexing in the catheter and maintain smooth motion. The catheter is autonomously guided from the point of entry to the target via appropriate commands, thereby shielding the surgeon from radiation exposure due to the X-rays in X-ray fluoroscopy and relieving him/her of stress and fatigue. Experimental results for the insertion algorithms are shown using a laboratory testbed. Index terms — Real-time catheter tracking, angioplasty, catheter insertion, tip position control, active catheter, image processing, hybrid impedance control.

فایل PDF – در ۸ صفحه- نویسنده : M. Azizian , J. Jayender , R.V. Patel

Image Processing Algorithms for Real-Time Tracking and Control of an Active Catheter

پسورد فایل : behsan-andish.ir


BraMBLe: A Bayesian Multiple-Blob Tracker

ردیاب چندگانه بیزی

Abstract

Blob trackers have become increasingly powerful in recent years largely due to the adoption of statistical appearance models which allow effective background subtraction and robust tracking of deforming foreground objects. It has been standard, however, to treat background and foreground modelling as separate processes – background subtraction is followed by blob detection and tracking – which prevents a principled computation of image likelihoods. This paper presents two theoretical advances which address this limitation and lead to a robust multiple-person tracking system suitable for single-camera real-time surveillance applications.

The first innovation is a multi-blob likelihood function which assigns directly comparable likelihoods to hypotheses containing different numbers of objects. This likelihood function has a rigorous mathematical basis: it is adapted from the theory of Bayesian correlation, but uses the assumption of a static camera to create a more specific back- ground model while retaining a unified approach to back- ground and foreground modelling. Second we introduce a Bayesian filter for tracking multiple objects when the number of objects present is unknown and varies over time. We show how a particle filter can be used to perform joint inference on both the number of objects present and their configurations. Finally we demonstrate that our system runs comfortably in real time on a modest workstation when the number of blobs in the scene is small.

فایل PDF – در ۸ صفحه- نویسنده :M. hard , J. MacCormick

BraMBLe A Bayesian Multiple-Blob Tracker

پسورد فایل : behsan-andish.ir

 


Identification Of F117 Fighter With Image Processing By Using Labview

شناسایی جنگنده F117 با پردازش تصویر با استفاده از Labview

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

Abstract – In this paper, a method for tracking (identifying) the fighter F117 is introduced. Because of its individual design and also the material that is used to build the fighter body, it cannot be identified and tracked with the conventional radars. In this work, an operational method based on image processing and by using LabView software is presented. By extraction the special geometrical properties of this fighter, an accurate and high speed tracking system is introduced.

Keywords – Boundary conditions, Cameras, Data acquisition , Entropy

فایل PDF – در ۴ صفحه- نویسنده :H. Ghayoumi zadeh , H. Goodarzi dehrizi , J. Haddadnia

Identification Of F117 Fighter With Image Processing By Using Labview

پسورد فایل : behsan-andish.ir


Multi-Camera Multi-Person Tracking for EasyLiving

ردیابی چند نفره چند دوربین برای زندگی بهتر

Abstract : While intelligent environments are often cited as a reason for doing work on visual person-tracking, really making an intelligent environment exposes many realworld problems in visual tracking that must be solved to make the technology practical. In the context of our EasyLiving project in intelligent environments, we created a practical person-tracking system that solves most of the real-world problems. It uses two sets of color stereo cameras for tracking multiple people during live demonstrations in a living room. The stereo images are used for locating people, and the color images are used for maintaining their identities. The system runs quickly enough to make the room feel responsive, and it tracks multiple people standing, walking, sitting, occluding, and entering and leaving the space.
Keywords: multi- person tracking, multiple stereo/color cameras, intelligent environment

فایل PDF – در ۸ صفحه- نویسنده :John Krumm, Steve Harris, Brian Meyers, Barry Brumitt, Michael Hale, Steve Shafer

Multi-Camera Multi-Person Tracking for EasyLiving

پسورد فایل : behsan-andish.ir


Real-Time Multitarget Tracking by a Cooperative Distributed Vision System

پیگیری چند هدفه در زمان واقعی توسط سیستم بینایی توزیع شده تعاونی

Target detection and tracking is one of the most important and fundamental technologies to develop real-world computer vision systems such as security and traffic monitoring systems. This paper first categorizes target tracking systems based on characteristics of scenes, tasks, and system architectures. Then we present a real-time cooperative multitarget tracking system. The system consists of a group of active vision agents (AVAs), where an AVA is a logical model of a network-connected computer with an active camera. All AVAs cooperatively track their target objects by dynamically exchanging object information with each other. With this cooperative tracking capability,the system as a whole can trackmultiple moving objects persistently even under complicated dynamic environments in the real world. In this paper, we address the technologies employed in the system and demonstrate their effectiveness.
Keywords—Cooperative distributed vision, cooperative tracking, fixed-viewpoint camera, multi-camera sensing, multitarget tracking, real-time cooperation by multiple agents, real-time tracking.

فایل PDF – در ۱۵ صفحه- نویسنده :TAKASHI MATSUYAMA AND NORIMICHI UKITA

Real-Time Multitarget Tracking by a Cooperative Distributed Vision System

پسورد فایل : behsan-andish.ir


Machine Vision: Tracking I

بینایی ماشین: ردیابی-بخش ۱

فایل PDF از یک فایل Power Point – در ۳۱ صفحه- نویسنده :ناشناس

MachineVision_4

پسورد فایل : behsan-andish.ir

کارکرد سیستم‌های بینایی ماشین

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

پردازش‌های بینایی ماشین را در سه سطح دسته بندی می‌کنند:

  • بینایی سطح پایین (Low Level Vision)

در بینایی سطح پایین، پردازش تصویر به منظور استخراج ویژگی (لبه، گوشه، یا جریان نوری) انجام می‌شود.

  • بینایی سطح میانی (Mid Level Vision)

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

  • بینایی سطح بالا (High Level Vision)

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

 

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

امروزه می‌توان ردپای بینایی ماشین را در صنعت، هواشناسی، شهرسازی، کشاورزی، نجوم و فضا نوردی، پزشکی و غیره که در ادامه درباره هرکدام مختصرا بحث شده است، مشاهده کرد.
  • صنعت (Industry)

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

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

بینایی ماشین-صنعت-نان

  •  هواشناسی (Meteorology)

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

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

  • شهرسازی (Urbanization)

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

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

 

بینایی ماشین-شهر سازی

  • کشاورزی (Agricultural)

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

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

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

بینایی ماشین-کشاورزی

  • نظامی (Martial)

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

بینایی ماشین-نظامی

  •  امنیتی (Security)

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

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

 

بینایی ماشین-امنیتی

  •  نجوم و فضا نوردی (Astronomy and Space Exploration)

ساخت دستگاه‌های اتوماتیک رصد آسمان و ثبت وقایع آسمانی به صورت خودکار از کاربردهای بینایی ماشین است که امروزه روی آن کار می‌شود.

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

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

کاربرد دیگر آن حذف گردوخاک و جو سیاره‌ها از تصاویر به کمک تصویربرداری IR و X-RAY به‌صورت همزمان و ترکیب این تصاویر است.

 

بینایی ماشین-تلسکوپ هابل-نجوم

  •  پزشکی (Medic)

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

 

بینایی ماشین-پزشکی

  •  فناوری‌های علمی (Scientific Technology)

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

بینایی ماشین در توسعه فناوری پیشرفته Global Positioning Systems) GPS) نقش زیادی داشته و تهیه نقشه‌های سه‌بعدی از جاده‌ها در تمام نقاط جهان، از کاربردهای دیگر آن است. هم چنین با به وجود آمدن این علم، مسابقات ربات‌های فوتبالیست به‌صورت جدی دنبال شد.

رباتیک-ربات فوتبالیست

  • باستان‌شناسی (Archaeology)

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

بینایی ماشین-باستان شناسی

  •  سینما (Cinema)

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

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

  •  اقتصاد (Economy)

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

  •  زمین شناسی (Geology)

با پردازش تصویر می‌توان کانی‌های مختلف را از روی رنگ و اندازه آن ها شناسایی و دسته بندی کرد. همچنین درزمین‌شناسی برای پی بردن به مواد تشکیل دهنده کانی ها از روش پرتونگاری (Tomography) استفاده می‌کنند و پردازش تصویر در این بخش می‌تواند سرعت و دقت این روش را بسیار بالا ببرد.

بینایی ماشین-زمین شناسی

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

  •  سرعت سنج (Speedometer)

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

بینایی ماشین-سرعت سنج

  • ثبت تخلف (Submit an Infringement)

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

بینایی ماشین-ثبت تخلف

  • ایمنی در رانندگی (Driving Safety)

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

بینایی ماشین-ایمنی رانندگی

  •  تشخیص حجم (Volume Detection)

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

بینایی ماشین-نخاله ساختمانی

نرم افزارهای بینایی ماشین

 

بینایی ماشین-متلب

 

از سال‌ها پیش نرم افزارهای زیادی برای تسهیل کاربرد‌های پردازش تصویر و بینایی ماشین توسعه یافته‌اند که شاید معروف ترین آن‌ها جعبه ابزار پردازش تصویر نرم افزار MATLAB باشد.

اما کسانی که تجربه کار با این نرم افزار را دارند به خوبی می‌دانند که با وجود سهولت برنامه نویسی با آن، سرعت اجرای MATLAB به خصوص برای کار با ویدیو بسیار آزاردهنده است. همچنین این نرم افزار متن باز (Open Source) نیست.

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

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

 


منابع

fa.wikipedia.org

www.enline.ir

 

بینایی ماشین چیست؟قسمت اول
بینایی ماشین چیست؟قسمت دوم

بینایی ماشین

بینایی ماشین (به انگلیسی: Machine vision) استفاده از حس گرها برای دریافت سیگنال‌هایی که تشکیل دهنده تصویر یک شی هستند که توسط کامپیوتر یا سایر وسایل پردازش سیگنال برای تفسیر و تحلیل سیگنال‌های دریافت شده از قطعه مورد استفاده قرار می‌گیرد. 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 قادر نیست با برخی از ویژگی‌های سیستم بینایی انسان در قالب درک تصویر، تلرانس به تغییرات نور، تضعیف قدرت تصویر و تغییرات اجزا و… تطبیق پیدا کند.

سیستم اولیه ماشین بینایی Autovision II که در سال ۱۹۸۳ در یک نمایشگاه تجاری به عرضه گذاشته شد.

 سیستم اولیه ماشین بینایی Autovision II که در سال ۱۹۸۳ در یک نمایشگاه تجاری به عرضه گذاشته شد.

اجزای یک سیستم بینایی ماشین

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

  • ۱. یک یا چند دوربین دیجیتال یا آنالوگ (سیاه-سفید یا رنگی) با اپتیک مناسب برای گرفتن عکس.
  • ۲. واسطه‌ای که عکس‌ها را برای پردازش آماده می‌سازد. برای دوربین‌های آنالوگ این واسطه شامل یک دیجیتال کننده عکس است. هنگامی که این واسطه یک سخت‌افزارٍ جدا باشد، به آن 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 برای هدایت روبات‌های صنعتی، سنجیدن مناسب بودن کالاهای مشخص شده برای اهدافی خاص و بازبینی سطح‌های رنگ شده ماشین جهت یافتن عیب. اگرچه تکنیک‌های مربوط به سیستمهای ماشین بینایی برای طیف‌های مرئی از اشیاء گسترش یافته‌اند ولی ممکن است مشابه با روش‌ها برای طیف‌های نامرئی نور مانند اشعه مادون قرمز یا اشعه به کار برده شوند.

حمل و نقل

پلاک خوان

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

سرعت سنج

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

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

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

ایمنی رانندگی

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

تشخیص حجم

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

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

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

منبع


بینایی ماشین چیست؟


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

بینایی ماشین را از دو منظر علمی و تکنولوژیکی می‌توان بررسی کرد. به عنوان یک رشته علمی، بینایی ماشین به توسعه تئوری سیستم‌های هوشمندی می‌پردازد که اطلاعات را از تصاویر استخراج می‌کنند و به عنوان یک رشته تکنولوژیکی (فناورانه) تلاش دارد که از تئوری‌ها و مدل‌های توسعه داده شده برای ساخت سیستم‌های بینایی ماشین بهره برداری کند. به عنوان مثال تولیدکنندگان صنایع مختلف سیستم‌های بینایی ماشین را برای بازرسی چشمی که نیاز به سرعت بالا، بزرگ نمایی، عملکرد ۲۴ ساعته و تکرارپذیری دارد استفاده می‌کنند.

 

بینایی ماشین-01

 

مفاهیم اولیه بینایی ماشین

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

وقتی سراغ مفاهیم اولیه پردازش تصویر و بینایی ماشین می‌رویم با این کلمات  Computer Vision ،  Machine Vision و Image Processing  مواجه می‌شویم.

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

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

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

 

بینایی ماشین-02

بینایی ماشین چیست؟قسمت ۱
بینایی ماشین چیست؟قسمت ۲

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

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

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

دستگاههای مربوطه (ماشین بینایی) برای انجام دادن وظایفی خاص از جمله شمردن اشیاء در بالابرها، خواندن شماره سریالها (Serial numbers)، جستجوی سطح‌های معیوب به کار می روند. در حال حاضر صنعت استفاده زیادی از سیستم ماشین بینایی برای بازبینی تصویری اشیاء (Visual inspection) که نیاز به سرعت بالا و دقت بالا و کار ۲۴ ساعته و تکرار محابات بالا دارد، وجود دارد.

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

علی رغم اینکه بعضی الگوریتم‌های ماشین بینایی برای تقلید کردن از سیستم بینایی انسان توسعه یافته اند، تعداد معدودی روش برای تحلیل و شناسایی ویژگیهای مرتبط تصاویر به صورت مؤثر و ثابت توسعه یافته اند. سیستم‌های Machine vision و computer vision قادر هستند به صورت ثابت تصاویر را تجزیه و تحلیل کنند، ولی image processing بر پایهٔ کامپیوتر به صورت کلی برای انجام کارهای تکراری طراحی می شوند و علی رغم پیشرفت‌های صورت گرفته در این زمینه، هیچ سیستم machine vision و computer vision قادر نیست با برخی از ویژگی‌های سیستم بینایی انسان در قالب درک تصویر، تلرانس به تغییرات نور، تضعیف قدرت تصویر و تغییرات اجزا و… تطبیق پیدا کند.

اجزای یک ماشین بینایی

اگرچه ماشین بینایی بیشتر به عنوان یک پروسهٔ به کار بستنٍ “Machine vision” در کاربردهای صنعتی شناخته شده است، برای لیست کردن اجزای سخت‌افزاری و نرم‌افزاری به کار برده شده نیز مفید می باشد. معمولاً یک ماشین بینایی از اجزای زیر ساخته میشود :

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

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

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

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

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