بایگانی برچسب برای: بینایی کامپیوتر

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

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

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

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

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

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

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

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

1. یک و یا چند دوربین دیجیتال یا آنالوگ ( سیاه-سفید یا رنگی ) با اپتیک مناسب برای گرفتن عکس.
2. واسطه ای که عکس‌ها را برای پردازش آماده می سازد. برای دوربین‌های آنالوگ این واسطه شامل یک دیجیتال کننده عکس است. هنگامی که این واسطه یک سخت‌افزارٍ جدا باشد، به آن Frame grabber ( کارتی که برای دریافت سیگنال تصویری و فرستادن آن به کامپیوتر استفاده می شود)می گویند.
3. یک پردازشگر ( گاهی یک PC یا پردازنده تعبیه شده ( Embedded Processor ) مانند DSP
4. نرم‌افزار ماشین بینایی : این نرم‌افزار امکاناتی برای توسعه یک برنامه نرم‌افزاری که برای کاربردی مشخص است را فراهم می کند.
5. سخت‌افزار ورودی / خروجی ( مثلا I/O دیجیتال ) یا حلقه‌های ارتباطی ( مثلا ارتباط شبکه ای یا RS-232 ) برای گزارش نتایج.
6. یک دوربین هوشمند : یک وسیله ساده که همه موارد فوق را داراست.
7. لنزهایی که بتواند به مقدار مطلوبی روی سنسور تصویر زوم کند.
8. منابع نوری مناسب و گاهی خیلی مخصوص ( مثلا چراغهای LED، فلورسنت، لامپهای هالوژن و . . . )
9. یک برنامهٔ مشخص که بتواند تصاویر را پردازش کرده و مشخصه‌های مربوط و مناسب را شناسایی کند.
10. یک سنسور همزمان ساز برای شناسایی اجزا ( گاهی یک سنسور نوری و یا یک سنسور مغناطیسی ) : این سنسور برای راه اندازی سیستمٍ استخراج و پردازش تصویر می باشد.

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

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

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

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

بینایی ماشین

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

بینایی ماشین مجموعه ای از روش ها و تکنولوژی هاست که برای درک و آنالیز خودکار مبتنی بر تصاویر ، در زمینه هایی مثل بازرسی خودکار ، فرآیند کنترل و هدایت روبات در صنعت استفاده می شود. بینایی ماشین ارتباط نزدیکی با “بینایی رایانه ای ” دارد ولی با آن فرق دارد.

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

تصویربرداری

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

شکلی از تصویربرداری خطی و تصویر برداری سه بعدی

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

پردازش تصویر

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

تصمیم گیری

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

چند مثال برای بینایی ماشین در زیر ذکر شده است :

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

مزیت ها

فواید استفاده از یک سیستم بینایی ماشین چیست ؟

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

بینایی رایانه ای

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

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

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

در زیر جدولی ارائه شده است که تا حدودی تفاوت های بینایی رایانه ای با بینایی ماشین ذکر شده است :

منبع : http://d-i-p.ir