تمام حقوق برای خط مهندسی محفوظ است
بینایی ماشین چیست؟
بینایی ماشین شاخه ای از دانش است که سعی دارد از طریق پردازش تصاویر دوبعدی، جهان سه بعدی پیرامون را بازسازی و تفسیر کند. به بیان ساده، بینایی ماشین یعنی اینکه کامپیوترها بتوانند جهان را به کمک دوربینها ببینند، بفهمند و حتی از بینایی انسان پیشی بگیرند.
بینایی ماشین میتواند در هر جایی که نیاز است تا ماشین به جای انسان ببیند، مورد استفاده قرار گیرد.
بینایی ماشین را از دو منظر علمی و تکنولوژیکی میتوان بررسی کرد. به عنوان یک رشته علمی، بینایی ماشین به توسعه تئوری سیستمهای هوشمندی میپردازد که اطلاعات را از تصاویر استخراج میکنند و به عنوان یک رشته تکنولوژیکی (فناورانه) تلاش دارد که از تئوریها و مدلهای توسعه داده شده برای ساخت سیستمهای بینایی ماشین بهره برداری کند. به عنوان مثال تولیدکنندگان صنایع مختلف سیستمهای بینایی ماشین را برای بازرسی چشمی که نیاز به سرعت بالا، بزرگ نمایی، عملکرد ۲۴ ساعته و تکرارپذیری دارد استفاده میکنند.
مفاهیم اولیه بینایی ماشین
وقتی سراغ مفاهیم اولیه پردازش تصویر و بینایی ماشین میرویم با این کلمات Computer Vision ، Machine Vision و Image Processing مواجه میشویم.
پردازش تصویر(Image Processing) مفهومی جامع است. با این تعریف که یکی از شاخههای مدرن و متنوع هوش مصنوعی است که با ترکیب روشهای خاص و الگوریتمهای خاص بر روی یک تصویر، شما میتوانید پروژههای مختلفی را با کاربردهای خاص انجام دهید.
وقتی شما میخواهید از این الگوریتمهای پردازشی استفاده کنید باید به سراغ یک پردازنده مانند کامپیوتر بروید و همچنین باید از یک دوربین برای گرفتن تصویر و فرستادن آن به کامپیوتر استفاده کنید. بعد از اینکه تصاویر از دوربین به کامپیوتر ارسال شد؛ شما باید از نرمافزارهای مربوط به این رشته استفاده کنید. در این صورت وقتی شما پروژهای را توسط این روش انجام دادید؛ در حقیقت از سیستم بینایی کامپیوتری (Computer Vision) استفاده کردهاید.
در صنایع مختلف شما برای تعیین کیفیت و نوع ساخت و همچنین برای بازبینی و بررسی کالاهای صنعتی و کنترل آنها ازجمله نیمههادیها، اتومبیلها، مواد خوراکی و دارو از نیروی انسانی که با چشم کالاها را بازبینی کند نیاز دارید. در این صورت اگر شما از کامپیوتر، دوربینهای صنعتی، لنز و لایتینگ و دیگر تجهیزات مورد نیاز یک پروژه استفاده کردید و توسط این تجهیزات و با نوشتن برنامههای کامپیوتری توانستید در صنایع مختلف یکی از کارهایی را که نیروی انسانی توسط چشم انجام میدهد را انجام دهید شما در حقیقت یک سیستم بینایی ماشین (Machine Vision) ساختهاید.
کارکرد سیستمهای بینایی ماشین
روال کار به این صورت است که کامپیوترها با استفاده از دوربینها تصویربرداری میکنند، به کمک الگوریتمهای بینایی ماشین تصاویر را پردازش و سپس تصاویر پردازش شده را تحلیل میکنند، در نهایت اشیای موجود در تصویر را میفهمند و بر اساس نوع اشیای موجود در تصویر، تصمیم گیری لازم را انجام میدهند. معمولا به هر سیستم بینایی ماشین یک یا چند دوربین، مبدل آنالوگ به دیجیتال و غیره متصل است و خروجی این سیستم به یک کنترلر کامپیوتر یا یک ربات میرود.
پردازشهای بینایی ماشین را در سه سطح دسته بندی میکنند:
-
بینایی سطح پایین (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) استفاده میکنند و پردازش تصویر در این بخش میتواند سرعت و دقت این روش را بسیار بالا ببرد.
-
تشخیص پلاک (Vehicle License Recognition)
تشخیص پلاک از جمله کاربردهای فراگیر بینایی ماشین میباشد. با شناساندن کاراکترهای پلاک هر کشور به سیستم پردازشی و جستجوی شباهت میان آنها و تصاویر ورودی دوربین میتوان پلاک موجود در تصویر را خواند. این سیستمها در پارکینگهای هوشمند، ورودی و خروجی سازمانها و مجتمعهای بزرگ جهت کنترل تردد مورد استفاده قرار میگیرد. علاوه بر اینها در صورت پلاک خوانی یک خودرو در ابتدا و انتهای یک مسیر میتوان سرعت میانگین آن را محاسبه و متخلفین را اعمال قانون کرد.
-
سرعت سنج (Speedometer)
در نوعی از سرعت سنجهای بزرگراهی از بینایی ماشین جهت استخراج سرعت استفاده میشود. این سیستمها در نوع ثابت و متحرک طراحی میشوند. سیستمهای ثابت در کنار خیابان، جاده و یا بزرگراه نصب شده و سیستمهای متحرک بر روی خودرویهای پلیس نصب میشوند. از این سیستمها میتوان به عنوان تردد شمار و سیستم کنترل ترافیک نیز بهره برد.
-
ثبت تخلف (Submit an Infringement)
با پردازش تصاویر دوربینهای نصب شده در تقاطعها میتوان زمان، سرعت، جهت حرکت و پلاک خودروها را بدست آورد و بدین ترتیب تخلفات متنوعی از جمله عبور از چراغ قرمز، توقف روی خط عابر پیاده، گردش به چپ و راست و تخطی از سرعت مجاز هنگام عبور از تقاطع را ثبت کرد.
-
ایمنی در رانندگی (Driving Safety)
برای افزایش سطح ایمنی در رانندگی، ماشینهای جدید مجهز به سیستمهای بینایی ماشینی شدهاند که به راننده در حفظ هوشیاری و دقت کمک میکنند. از جمله این سیستمها میتوان به سیستمهای تشخیص مانع، آینه کنار هشدار دهنده، هشدار دهنده تابلوهای راهنمایی و رانندگی و هشدار دهنده خارج شدن از خطوط جاده اشاره کرد.
-
تشخیص حجم (Volume Detection)
با توجه به اینکه سیستمهای بینایی ماشین قادرند مشخصات مکانی نقاط تصاویر را استخراج کنند، میتوان از آنها به عنوان سیستمهای تشخیص حجم بهره برد. این سیستم در محلهای دفن زباله پسماند و یا نخاله ساختمانی، معادن و کارخانجات تولید مصالح ساختمانی کاربرد دارد.
نرم افزارهای بینایی ماشین
از سالها پیش نرم افزارهای زیادی برای تسهیل کاربردهای پردازش تصویر و بینایی ماشین توسعه یافتهاند که شاید معروف ترین آنها جعبه ابزار پردازش تصویر نرم افزار MATLAB باشد.
اما کسانی که تجربه کار با این نرم افزار را دارند به خوبی میدانند که با وجود سهولت برنامه نویسی با آن، سرعت اجرای MATLAB به خصوص برای کار با ویدیو بسیار آزاردهنده است. همچنین این نرم افزار متن باز (Open Source) نیست.
OpenCV یک کتابخانه متن باز برای بینایی کامپیوتر است. این کتابخانه به زبان C و ++C نوشته شده و تحت لینوکس، ویندوز و بسیاری پلت فرمهای دیگر قابل اجرا است.
بنابراین میتواند برای کاربردهای بیدرنگ (Real Time) بسیار مطلوب باشد.
امروزه با پیشرفت علم و تکنولوژی، بشر سعی در استفاده حداکثری از دستآوردهای خود را دارد و بینایی ماشین یکی از ابزارهایی است که او را در این مسیر کمک میکند. بینایی ماشین علمی است وسیع با کاربردهای فراوان، امیدواریم که توانسته باشیم اطلاعات مفیدی در اختیار شما همراهان محترم خط مهندسی قرار داده باشیم.
جمعآوری و نگارش: خط مهندسی
منبع: خط مهندسی
عالی بود
بهترین ها رو براتون آروز می کنم
سلام. ممنونم از مطالب خوبی که گذاشتید. منم یک سایت دارم که نمونه هایی از این سیستم های ماشین بینایی رو نوشته ام . اگه کسی دوست داشت میتونه بیاد ببینه . فیلم هاشم هست
سلام خداقوت ممنون از مطالب خوبتون
نظرتون راجع به استفاده از نرم افزار لب ویو برای بینایی ماشین چیست؟
ممنونم در پایان نامه ام استفاده کردم
ممنون از شما عالی بود?
واقعا دنبال همچین چیزی میگشتم.
با آرزوی موفقیت برای شما..?
با سلام. بسیار عالی و مفید و کاربردی بود. ممنونم
مفید بود
ممنون