بینایی ماشین چیست؟
بینایی ماشین (Machine vision) به استفاده از حسگرها برای دریافت سیگنالهایی که تشکیلدهنده تصویر یک شی هستند که توسط کامپیوتر یا سایر وسایل پردازش سیگنال برای تفسیر و تحلیل سیگنالهای دریافت شده از قطعه مورد استفاده قرار میگیرد، گفته میشود. دید ماشینی به عنوان یک ابزار مهندسی در ابزارهای دیجیتال و در شبکههای رایانهای، برای کنترل ابزارهای صنعتی دیگر از قبیل کنترل بازوهای ربات یا خارج کردن تجهیزات معیوب به کار میرود. در حقیقت دید ماشینی شاخهای از علم مهندسی است که به رشتههای علوم رایانهای و علم نورشناسی و مهندسی مکانیک و خودکارسازی صنعتی ارتباط دارد. یکی از مهمترین پر استفادهترین کاربردهای آن در بازبینی و بررسی کالاهای صنعتی از جمله نیمههادیها، اتومبیلها، مواد خوراکی و دارو میباشد. همانند نیروی انسانی که با چشم غیر مسلح در خط تولید کالاها را برای تعیین کیفیت و نوع ساخت آنها بازبینی میکنند، دید ماشینی از دوربینهای دیجیتال و دوربینهای هوشمند و نرمافزارهای پردازش تصویر برای این کار استفاده میکند. دستگاههای مربوط به دید ماشینی برای انجام دادن وظایفی خاص از جمله شمردن اشیاء در بالابرها، خواندن شماره سریالها، جستجوی سطحهای معیوب به کار میروند. در حال حاضر صنعت استفاده زیادی از سامانه دید ماشین برای آزمون چشمی اشیاء که نیاز به سرعت بالا و دقت بالا و کار ۲۴ ساعته و تکرار محاسبات بالا دارد،میکند. اگرچه انسان عملکرد بهتر با قابلیت تطبیقدهی بیشتری برای خطاهای تازه در زمان کوتاه دارد ولی با توجه به ویژگیهای ذکر شده این دستگاهها به مرور جای نیروی انسانی را که به دلیل انحراف و شرایط بد دارای خطا میباشند، در صنعت پر میکند. رایانهها به همان صورتی که انسان میبیند نمیتوانند ببینند. در حالی که انسان میتواند بر استنباط و فرضیات اتکا کند، تجهیزات رایانهای باید به وسیله آزمودن و تجزیه و تحلیل کردن جداگانه پیکسلها و تلاش برای نتیجهگیری با توجه به پشتوانه اطلاعاتی و روشهایی مانند شناسایی الگو مشاهده کنند. علیرغم اینکه بعضی الگوریتمهای دید ماشینی برای تقلید کردن از بینایی انسان توسعه یافتهاند، تعداد معدودی روش برای تحلیل و شناسایی ویژگیهای مرتبط تصاویر به صورت مؤثر و ثابت توسعه یافتهاند. سامانههای دید ماشینی و دید رایانهای قادر هستند به صورت ثابت تصاویر را تجزیه و تحلیل کنند، ولی پردازش تصویر بر پایه رایانه، به صورت کلی برای انجام کارهای تکراری طراحی میشود و علیرغم پیشرفتهای صورت گرفته در این زمینه، هیچ سامانه دید ماشینی و دید رایانهای قادر نیست با برخی از ویژگیهای سامانه بینایی انسان در قالب درک تصویر، تحمل تغییرات نور، تضعیف قدرت تصویر و تغییرات اجزا و… تطبیق پیدا کند.
بینایی کامپیوتر چیست؟
بینایی کامپیوتر (Computer vision) یکی از شاخههای علوم کامپیوتر است که شامل روشهای مربوط به دستیابی تصاویر، پردازش، آنالیز و درک محتوای آنها است. معمولاً این پردازشها تصاویر تولید شده در دنیای واقعی را به عنوان ورودی دریافت و دادههایی عددی یا سمبلیک را به عنوان خروجی تولید میکنند، مانند در شکلهایی از تصمیمگیری. یکی رویههای توسعه این شاخه بر اساس شبیهسازی توانایی بینایی انسان در رایانه است.
یک دستگاه مبتنی بر بینایی ماشین چگونه ساخته می شود؟
اگرچه بینایی ماشین بیشتر به عنوان یک فرایند صنعتی شناخته شده، برای فهرست کردن مولفههای سختافزاری و نرمافزاری نیز میتواند مفید باشد. برای آنکه بتوان به بینایی ماشین دست پیدا کردن ابتدا باید مولفههای مربوطه که به شرح زیر هستند آماده شود: یک یا چند دوربین دیجیتال با قابلیت تصویربرداری مناسب، واسطهای که عکسها را برای پردازش آماده میسازد. دستگاهی که برای دریافت سیگنال تصویری و فرستادن آن به کامپیوتر استفاده میشود، یک دستگاه پردازشی که میتواند یک کامپیوتر خانگی یا پردازنده توکار مانند پردازنده سیگنال دیجیتال است، نرمافزار دید ماشین: این نرمافزار امکاناتی برای توسعه یک برنامه نرمافزاری که برای کاربردی مشخص است را فراهم میکند، سختافزار ورودی / خروجی (ورودی/خروجی دیجیتال) یا حلقههای ارتباطی (مثلاً ارتباط شبکهای یا RS-232) برای گزارش نتایج، یک دوربین هوشمند: یک وسیله ساده که همه موارد فوق را داراست، لنزهایی که بتواند به مقدار مطلوبی روی حسگر تصویر بزرگنمایی کنند، منابع نوری مناسب و گاهی خیلی مخصوص (مثلاً چراغهای LED، فلورسنت، هالوژن و . . .)، یک برنامه مشخص که بتواند تصاویر را پردازش کرده و مشخصههای مربوط و مناسب را شناسایی کند و یک حسگر همزمانساز برای شناسایی اجزا (گاهی یک حسگر نوری یا یک حسگر مغناطیسی): این حسگر برای راهاندازی سامانه استخراج و پردازش تصویر است.
حسگر همزمان ساز تعیین میکند که چه زمانی یک بخش (که معمولاً روی یک تسمه نقاله حرکت میکند) در موقعیتی قرار گرفتهاست که باید مورد بررسی واقع شود. این حسگر هنگامیکه از زیر دوربین میگذرد و یک پالس نوری برای ثابت نگه داشتن تصویر ایجاد میکند، دوربین را برای گرفتن عکس فعال میکند. نوری که برای روشن کردن آن بخش به کار میرود در واقع برای آن است که مشخصههای مطلوب را برجسته و مشخصات نامطلوب (مثل سایهها یا انعکاسها) را به حداقل برساند. معمولاً چارچوبهای الایدی با اندازه و طراحی مناسب برای این هدف مورد استفاده قرار میگیرند. تصویر دوربین یا توسط یک چارچوب ساز یا توسط یک حافظه رایانهای (که در آن از چارچوب ساز استفاده نشده است) گرفته میشود. چارچوب ساز یک وسیله دیجیتالکننده است (یا در داخل دوربین هوشمند یا بهطور جداگانه) که خروجی دوربین را به قالب دیجیتال تبدیل کرده (معمولاً این قالب از یک آرایه دو بعدی از اعداد تشکیل شده که هر عدد متناظر شدت روشنایی نقطه متناظر در آن تصویر میباشد. به این نقاط پیکسل میگویند) و سپس تصویر را به منظور پردازش توسط نرمافزارٍ دید ماشینی در حافظه رایانه ذخیره میکند. بهطور معمول نرمافزار، اقدامات متفاوتی را برای پردازش تصویر انجام میدهد. گاهی در ابتدا تصویر برای کاهش نویز یا تبدیل سایههای خاکستری به ترکیب سادهای از رنگهای سیاه و سفید دستکاری میشود. در قدم بعدی نرمافزار عمل شمردن، اندازهگیری و شناسایی اجسام، ابعاد، کاستیها و مشخصات دیگر تصویر را انجام میدهد. در نهایت با توجه به ضوابط و معیارهای برنامهریزی شده ممکن است بخشی را بپذیرد یا رد کند. اگر یک بخش رد شد، نرمافزار به یک دستگاه مکانیکی فرمان میدهد تا آن بخش را خارج کند و همچنین سامانه خط تولید را قطع کرده و به کارگر هشدار میدهد تا مشکلی که باعث ایجاد خطا شده را رفع نماید. اگرچه اکثر دیدهای ماشینی بر مبنای دوربینهای سیاه–سفید بنا نهاده شدهاند، استفاده از دوربینهای رنگی در حال رایج شدن است. همچنین امروزه شاهد افزایش استفاده از تجهیزات دوربینهای دیجیتال به جای یک دوربین و یک چارچوبساز جداگانه در دید ماشینی هستیم. استفاده از یک دوربین دیجیتال به منظور برقراری ارتباط مستقیم، باعث صرفه جویی در هزینه و نیز سادگی سامانه خواهد شد. دوربینهای هوشمند که در داخل آنها پردازنده تعبیه شده است، در حال تسخیر سهم بالایی از بازار ماشینهای دید هستند. استفاده از یک پردازنده تعبیه شده (و یا یک پردازنده بهینه) نیاز ما به چارچوبساز و یک رایانه خارجی را از بین میبرد. به همین خاطر این پردازندهها باعث کاهش هزینه، کاهش پیچیدگی سامانه و همچنین اختصاص توان پردازشی مشخص به هر دوربین میشود. دوربینهای هوشمند معمولاً ارزانتر از سامانههای شامل یک دوربین و یک برد و یک رایانه خارجی هستند. همچنین توان بالای پردازنده داخلی و پردازندههای سیگنال دیجیتال منجر به بالا رفتن عملکرد و توانایی آنها نسبت به سامانههای مرسوم شده است. بینایی رایانهای به مسائل مختلفی از جمله استخراج داده از عکس، فیلم، مجموعه چند عکس از زوایای مختلف و پردازش تصاویر پزشکی میپردازد. معمولاً ترکیبی از روشهای مربوط به پردازش تصاویر و ابزارهای یادگیری ماشینی و آمار برای حل مسایل مختلف در این شاخه استفاده میگردد.
کنکاش در دادهها
بینایی ماشین را میتوان یکی از مصادیق و نمونههای بارز زمینه در حوزه کاوشهای ماشینی دادهها بهحساب آورد که در آن دادهها تصاویر دوبعدی یا سهبعدی هستند، که آنها را با استفاده از هوش مصنوعی آنالیز میکنند. از وظایف اصلی در بینایی کامپیوتری میتوان به تشخیص شیء، تشخیص حضور و/یا حالت شیء در یک تصویر، جستجو برای تصاویر دیجیتال بر اساس محتوای آنها (بازیابی محتوامحور تصاویر)، شناسایی صورت انسانها و موقعیت آنها در عکسها، تخمین حالت سهبعدی انسانها و اندامهایشان، پیگیری، پیگیری اشیاء شناخته شده در میان تعدادی تصویر پشت سر هم، پیگیری یک شخص هنگامی که در یک مرکز خرید راه میرود، تفسیر مناظر، ساختن یک مدل از یک تصویر/تصویر متحرک، ساختن یک مدل از ناحیه پیرامونی به کمک تصاویری که از دوربین نصب شده بر روی یک ربات گرفته میشوند، خودمکانیابی، مشخص کردن مکان و حرکت خود دوربین به عنوان عضو بینایی رایانه (مسیریابی یک ربات درون یک موزه) اشاره کرد.
سیستمهای مبتنی بر بینایی کامپیوتری
یک سامانه مبتنی بر بینایی کامپیوتری را میتوان به زیرسامانههای زیر تقسیم کرد:
تصویربرداری: تصویر یا دنباله تصاویر با یک سامانه تصویربرداری(دوربین، رادار، لیدار، سامانه توموگرافی) برداشته میشود. معمولاً سامانه تصویربرداری باید پیش از استفاده تنظیم شود.
پیشپردازش: در گام پیشپردازش، تصویر در معرض اَعمال «سطح پایین» قرار میگیرد. هدف این گام کاهش نویز - جدا کردن سیگنال از نویز و کمکردن مقدار کلی دادهها است. این کار نوعاً با بهکارگیری روشهای گوناگون پردازش تصویر(دیجیتال) انجام میشود.
کاربردهای دید ماشین
همانگونه که در بین حواس انسان، بینایی از همه کاربرد وسیع تری دارد؛ دید ماشین نیز در زمینههای گوناگون کاربردهای متنوع و فراوانی دارد. از مهمترین کاربردها به موارد زیر میتوان اشاره کرد:
خودکارسازی صنعتی: دستگاهای دید ماشین دارای کاربردهای متنوعی هستند که از آن جمله بهطور خلاصه میتوان به تولید صنعتی در مقیاس بزرگ، ساخت اجزایی که نیاز به زمان تولید مشخصی دارند، سامانههای ایمنی موجود در محیطهای صنعتی، بررسی مواد اولیه تولید (مثلاً کنترل کیفیت و بررسی وقوع خطا)، کنترل موجودی انبار و سامانههای مدیریتی (شمارش، بارکد خواندن و ذخیره اطلاعات در سامانههای دیجیتال)، کنترل رباتهای تعقیب خطی که برای حمل بار در کارخانههای صنعتی استفاده میشوند، کنترل کیفیت و بهبود محصولات غذایی و ماشینی کردن اجزای کوچک صنعتی اشاره کرد.
سامانههای دید ماشین بهطور گسترده در صنعت تولید نیمزساناها کاربرد دارند. بدون وجود این سامانهها تولید قطعات رایانهای کاهش مییابد. این دستگاهها برای بازبینی دقیق ویفرهای سیلیکونی و پردازندهها به کار میروند. در صنعت خودروسازی، دید ماشین برای هدایت روباتهای صنعتی، سنجش کیفیت کالاهای مشخصشده برای اهداف خاص و بازبینی سطحهای رنگ شده ماشین جهت یافتن عیب به کار میرود. اگرچه روشهای مربوط به سامانههای دید ماشین برای طیفهای مرئی از اشیاء گسترش یافتهاند ولی ممکن است مشابه آن برای طیفهای نامرئی نور مانند اشعه مادون قرمز کار برده شوند.
پلاکخوان خودروها: تشخیص نویسههای پلاک از جمله کاربردهای فراگیر دید ماشین میباشد. با شناساندن نویسههای پلاک هر کشور به سامانه پردازشی و جستجوی شباهت میان آنها و تصاویر ورودی دوربین میتوان پلاک موجود در تصویر را خواند. این سامانهها در پارکینگهای هوشمند، ورودی و خروجی سازمانها و مجتمعهای بزرگ جهت کنترل تردد مورد استفاده قرار میگیرند. علاوه بر اینها در صورت پلاک خوانی یک خودرو در ابتدا و انتهای یک مسیر میتوان سرعت میانگین آن را محاسبه و متخلفین را اعمال قانون کرد.
سرعتسنج: با استفاده از تصویر دو دوربین میتوان عمق تصویر را بدست آورد و از این طریق تغییرات عمق را میتوان بدست آورد که به معنی سرعت است. در نوعی از سرعتسنجهای بزرگراهی از دید ماشین جهت تشخیص سرعت استفاده میشود. مزیت این سامانهها بر نمونههای مشابهی که از رادار یا لیزر برای سرعتسنجی بهره میبرند، انفعالی بودن آنها است. انفعالی بودن به این معنی است که این تجهیزات امواجی از خود صادر نمیکنند و به همین علت استفاده از اختلالگر یا ردیاب به منظور جلوگیری از ثبت تخلف کارایی ندارد. این سامانهها در نوع ثابت و متحرک طراحی میشوند. سامانههای ثابت در کنار خیابان، جاده یا بزرگراه نصب شده و سامانههای متحرک بر روی خودرویهای پلیس نصب میشوند. از این سامانهها میتوان به عنوان ترددشمار و سامانه کنترل ترافیک نیز بهره برد.
ثبت تخلف چراغ راهنمایی و رانندگی: با پردازش تصاویر دوربینهای نصب شده در تقاطعها میتوان زمان، سرعت، جهت حرکت و پلاک خودروها را بدست آورد و بدین ترتیب تخلفات متنوعی از جمله عبور از چراغ قرمز، توقف روی خط عابر پیاده، گردش به چپ و راست و تخطی از سرعت مجاز هنگام عبور از تقاطع را ثبت کرد.
ایمنی رانندگی: برای افزایش سطح ایمنی در رانندگی، خودروهای جدید مجهز به سامانههای دید ماشین شدهاند که به راننده در حفظ هوشیاری و دقت کمک میکنند. از جمله این سامانهها میتوان به سامانههای تشخیص مانع، آینه کنار هشدار دهنده، هشداردهنده تابلوهای راهنمایی و رانندگی و هشدار دهنده خارج شدن از خطوط جاده اشاره کرد.
تشخیص حجم: با توجه به اینکه سامانههای دید ماشین قادرند مشخصات مکانی نقاط تصاویر را استخراج کنند، میتوان از آنها به عنوان سامانههای تشخیص حجم بهره برد. به عنوان نمونه میتوان به سامانه تشخیص حجم بار خودروهای سنگین اشاره کرد. این سامانهها در محلهای دفن پسماند یا نخاله ساختمانی، معادن و کارخانجات تولید مصالح ساختمانی کاربرد دارد.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟