بینایی ماشین چیست؟ هرآنچه باید درباره این فناوری بدانید
بینایی ماشین فرایند “دیدن” را در سیستمهای هوشمند، امکانپذیر مینماید که به کمک آن میتوان بسیاری از فعالیتها که نیازمند شناخت بصری است را بهطور خودکار انجام داد.
با بالغ شدن اینترنت در دهه 1990 و در دسترس قرار گرفتن مجموعههای زیادی از تصاویر به صورت آنلاین جهت تجزیه و تحلیل، مدلهای بینایی ماشین رونق گرفت. همچنین، پیشرفتهای سختافزاری در کنار مجموعه دادههای در حال رشد باعث شد ماشینها بتوانند اجسام متنوعی را در عکسها و فیلمها شناسایی کنند. در دهههای اخیر، تأثیرات این پیشرفتها در زمینه بینایی ماشین، حیرتانگیز بوده بطوریکه سیستمهای امروزی در تشخیص و واکنش سریع به ورودیهای بصری دقیقتر از انسان عمل مینمایند. در این بخش به معرفی بینایی ماشین از جوانب مختلف، کاربردهای آن و برخی از سرویسهای برجسته این حوزه فناوری پرداخته میشود.
بینایی ماشین چیست؟
بینایی ماشین، یکی از حوزههای دانشی هوش مصنوعی است که به ماشینها قدرت مشاهده محیط اطراف و تحلیل و پردازش اطلاعات پیرامون آن را میدهد. تأکید سیستمهای بینایی ماشین، بیشتر بر روی قابلیتهای تحلیل تصاویر، استخراج اطلاعات مفید از آنها و درک و فهم اجسام موجود در آنهاست.
تاریخچه بینایی ماشین
لری رابرتز Larry Roberts، نخستین فردی بود که با بررسی امکان استخراج اطلاعات هندسی سه بعدی از تصاویر دو بعدی بلوکها ( چندوجهی) حوزه بینایی کامپیوتر را مطرح نمود و پدر علم بینایی کامپیوتر لقب گرفت. پس از آن محققان بسیاری این کار را دنبال کرده و الگوریتمهای مختلف بینایی کامپیوتر را در این زمینه مطرح کردند.
ماروین مینسکی Marvin Minksy اولین تلاش را برای تقلید از مغز انسان انجام داد که منجر گردید تحقیقات بیشتری در مورد توانایی کامپیوترها در پردازش اطلاعات برای تصمیمگیری هوشمندانه انجام شود. طی سالها، فرآیند خودکارسازی تجزیه و تحلیل تصویر منجر به ایجاد الگوریتمهای مختلف در این زمینه گردید و از سال 2010 به بعد که تکنیکهای یادگیری عمیق مطرح شد، شتاب گرفت. در سال 2012، Google Brain یک شبکه عصبی متشکل از 16000 پردازنده کامپیوتری ایجاد کرد و توانست با استفاده از الگوریتم یادگیری عمیق، عکس گربهها را تشخیص دهد. بهطور کلی، نقاط عطف کلیدی که در تکامل بینایی کامپیوتر و تجاریسازی این حوزه از فناوری نقش داشتهاند، به شرح زیر میباشد .
از سالهای 1950 – 1970:
- اولین اسکنر تصویر دیجیتال با تبدیل تصاویر به شبکه اعداد اختراع شد.
- لری رابرتز، پدر بینایی کامپیوتر، فرآیند به دست آوردن اطلاعات سه بعدی در مورد اجسام چندوجهی را از عکسهای دو بعدی توضیح داد.
- ماروین مینسکی به کمک دانشجوی کارشناسی ارشد خود، یک دوربین را به کامپیوتر متصل کرده و تلاش کردند به گونهای برنامهریزی کنند که کامپیوتر آنچه را که مشاهده میکند را توضیح دهد.
از سالهای 1970 – 1990:
- اولین استفاده تجاری از بینایی ماشین مطرح گردید که شناسایی کاراکترهای نوری Optical Character Recognition در یک متن تایپ شده یا دستنویس را فراهم نمود.
- کونیهیکو فوکوشیما Kunihiko Fukushima معماری ” neocognitron” که پایه و اساس شبکههای عصبی پیچشی است، را مطرح کرد.
- دستگاههای ضبط چندگانه همراه با نظارت تصویری روی دستگاههای خودپرداز معرفی شدند.
از سالهای 1990 – 2010:
- دو محقق در MIT اولین چارچوب تشخیص چهره تحت عنوان Viola-Jones را معرفی کردند که در لحظه این عملیات را انجام میداد.
- گوگل شروع به آزمایش خودروهای رباتیک در جادهها کرد.
- گوگل یک برنامه تشخیص تصویر برای جستجو بر اساس تصاویر گرفته شده توسط تلفنهای همراه تحت عنوان Goggles منتشر کرد.
- برای کمک به برچسب زدن عکسها، فیسبوک از تشخیص چهره بهره گرفت.
از سالهای 2010 – 2020:
- تشخیص چهره برای کمک به تأیید هویت اسامه بن لادن پس از کشته شدن وی در حمله آمریکا مورد استفاده قرار گرفت.
- شبکه عصبی Google Brain تصاویر گربهها را با استفاده از الگوریتم یادگیری عمیق تشخیص داد.
- گوگل، سیستم یادگیری ماشین منبع باز TensorFlow را راهاندازی کرد.
- اپل، آیفون X را در سال 2017 عرضه کرد و قابلیت شناسایی چهره را به عنوان یکی از اصلیترین ویژگیهای جدید این تلفن همراه معرفی نمود.
- آمازون، سیستم تشخیص چهره در لحظه خود را با نام Rekognition به ادارههای پلیس فروخت.
- اینتل کارت گرافیک Intel Xe را به بازار GPU عرضه کرد.
آیا بینایی ماشین با بینایی کامپیوتر تفاوت دارد؟
برخلاف تصور عموم، بینایی کامپیوتر و بینایی ماشین دو مفهوم متفاوت هستند که قرارگیری آنها به جای یکدیگر نادرست است. بینایی کامپیوتر یک مفهوم کلی از دریافت و پردازش خودکار تصاویر و فایلهای ویدوئویی است. تمرکز این حوزه از فناوری، علاوه بر مشاهده محیط اطراف، تجزیه و تحلیل و ارائه نتایج ارزشمند و مفیدی است که بر اساس مشاهدات صورت گرفته ارائه میشود.
بینایی ماشین که بخشی از این علم به شمار میآید، استفاده از روشها و الگوریتمهای بینایی کامپیوتر در عمل و برای کاربردهای مختلف است. بنابراین سیستمهای مجهز به بینایی کامپیوتر تا جای ممکن به فهم و پردازش تصاویر میپردازند بدون اینکه لزوماً هدف خاصی را دنبال نماید، اما در بینایی ماشین استخراج داده با یک هدف مشخص انجام میگیرد.
نحوۀ کار بینایی ماشین
بهطور کلی، بینایی ماشین بر اساس سه قدم اصلی عمل مینماید:
امروزه، سیستمهای هوش مصنوعی یک گام فراتر رفته و بر اساس درک تصویر اقداماتی نیز انجام میدهند. الگوریتمهای یادگیری ماشین و یادگیری عمیق در کنار قطعات سختافزاری از قبیل دوربینها و حسگرها توانستهاند مشابه توانایی بینایی انسان و یا حتی فراتر از آن را در ماشینها ایجاد نمایند.
آموزش بینایی ماشین
روند آموزشی بینایی ماشین برای افراد مختلف میتواند متفاوت باشد؛ اما براساس تجربه افراد خبره و متخصصان در این زمینه میتوان مسیر زیر را پیشنهاد نمود.
-
آشنایی با مفاهیم ریاضیاتی پایه
سطح مقدماتی:
- جبر خطی Linear algebra
- تجزیه مقادیر منفرد Singular Value Decomposition
- مفاهیم اولیه الگوشناسی Pattern Recognition
- آنالیز مؤلفه اصلی Principal Component Analysis
- فیلتر کالمن Kalman Filtering
- تبدیل فوریه Fourier Transform
- موجکها Wavelets
سطح پیشرفته:
- آنالیز تشخیصی خطی Linear Discriminant Analysis
- علم احتمالات، قانون بیز، حداکثر احتمال، میانگین دقت متوسط (mAP) mean Average Precision
- الگوریتم حداکثرسازی امید ریاضی
- سطح مقدماتی یادگیری آماری
- ماشین بردار پشتیبان Support Vector Machines
- مدلهای پنهان مارکوف Hidden Markov Models
- شبکههای بیز Bayesian Networks
و ….
2.یادگیری کتابخانههای رایج در بینایی ماشین
برای به دست آوردن دانش عملی در مورد نحوه کار الگوریتمهای مطرح در بینایی ماشین، یادگیری کتابخانههای این حوزه به ویژه OpenCV توصیه میشود که در این زمینه موارد زیر میتوانند مثمر ثمر واقع شوند. لازم به ذکر است هنگام برنامهنویسی در پایتون،C ، C++، معمولا از کتابخانه OpenCV برای بینایی کامپیوتر استفاده میشود. هنگام برنامه نویسی در MATLAB، به طور معمول جعبه ابزار سیستم بینایی کامپیوتر آن بیشترین کاربرد را دارد. به طور مشابه، در حال برنامه نویسی به زبان های دیگر، ممکن است کتابخانههای منبع باز بیشتری وجود داشته باشد.
– Learning OpenCV: Computer Vision with the OpenCV Library
– Tombone’s Computer Vision Blog
به طور کلی، کتابخانهها و چارچوبهای محبوب برای یادگیری ماشین و یادگیری عمیق نظیر Tensorflow و PyTorch راهنماهایی جهت آموزش و پیادهسازی راهکارهای اساسی بینایی ماشین مانند تشخیص چهره، طبقهبندی تصاویر، تشخیص حالت بدن و انتقال یادگیری ارائه کرده اند که جهت یادگیری میتوانند مراجع مناسبی باشند.
-
مطالعه کتابهای مرجع و یا مشاهده فیلمهای آموزشی جهت گسترش دانش مورد نیاز
کتابهای مرجع جهت تقویت دانش بینایی ماشین در بخش آتی ذکر شده است. جهت معرفی فیلمهای آموزشی میتوان به فیلمهای موجود در بسترهای یوتیوب، سخنرانیهای TED، دورههای آنلاین و سمینارهای مختلف اشاره کرد که در ادامه به برخی از پرکاربردترین آنها اشاره میگردد. علاوه بر این، سایتهایی مثل Medium و pyimagesearch که مرجع کاملی از مقالات علمی بینایی ماشین، مصاحبهها، بحثها و دورههای آموزشی است و یا سرویسهای بر بستر ابر ارائه شده توسط غولهای هوش مصنوعی نظیر گوگل، آمازون، مایکروسافت و آیبیام از جمله مراجع ارزشمندی است که میتوان از آنها بهره برد.
- فیلمهای آموزشی در بستر یوتیوب:
- سخنرانیهای TED
– Fei-Fei Li: How we’re teaching computers to understand pictures
– Blaise Agüera y Arcas: How PhotoSynth can connect the world’s images
– Chieko Asakawa: How new technology helps blind people explore the world
– Jennifer Healey: If cars could talk, accidents might be avoidable
– Golan Levin: Art that looks back at you
– Paul Debevec: Animating a photo-real digital face
– Golan Levin: Software (as) art
- دورههای آنلاین
– دورههای مقدماتی:
– Udacity: Introduction to Computer Vision
– Stanford’s CS231n: Convolutional Neural Networks for Visual Recognition
– University of Central Florida — Prof. Mubarak Shah’s Video lectures
– دورههای پیشرفته با تمرکز بر یادگیری عمیق:
– Geoff Hinton’s Neural Net lectures on Coursera
– Stanford course: Deep Learning for Natural Language Processing
– Stanford course: Convolutional Neural Networks for Visual Recognition
-
انجام پروژههای عملی
بدون شک تمرین و اجرای عملی مفاهیم کسب شده در هر زمینه، تأثیر ارزشمندی بر فهم آن علم دارد. بینایی ماشین نیز از این امر مستثنی نیست. با انجام پروژههای شخصی و یا تمارین عملی میتوان دانش کسب شده از منابع ذکر شده را به ورطه آزمایش گذاشت.
کتابهای بینایی ماشین
این کتاب که به عنوان کتاب مقدس بینایی کامپیوتر نیز شناخته میشود، مرجعی کامل برای دانشجویان رشته علوم کامپیوتر، مهندسان و متخصصین در این زمینه است. تمرکز این کتاب بر ارائه مطالبی در زمینه الگوریتمها، کاربردها و تکنیکهای پردازش و تشخیص تصاویر در بینایی کامپیوتر است. علاوه بر این، تعدادی از کاربردهای واقعی، بررسی و نحوه پیادهسازی و چالشهای عملیاتی تکنیکهای بینایی کامپیوتر در آنها اشاره گردیده است. بهطور کلی، این کتاب را میتوان مرجع کاملی از بینایی کامپیوتر نوین دانست که تمامی روشهای جدید این حوزه به جز یادگیری عمیق را پوشش میدهد (یادگیری عمیق بعد از انتشار این کتاب مطرح شده است).
Computer vision: algorithms and applications
این کتاب یک معرفی کلی از موضوعات پایهای بینایی کامپیوتر با تأکید بر الگوریتمها و مفاهیم ریاضیاتی مهم میباشد که مفاهیم گستردهای از ریاضیات مربوط به تشخیص و بخشبندی تصاویر تا عناصر پایهای بینایی کامپیوتر را پوشش میدهد. جهت درک بهتر مطالب ارائه شده در هر فصل، تمرینهای برنامهنویسی و پرسش و پاسخی نیز در انتها در نظر گرفته شده است.
نکته حائز اهمیت این کتاب، توضیح ساده و روان مفاهیم پیچیده این حوزه از فناوری است. همچنین، ایجاد توازنی منصفانه بین ارائه روشهای قدیمی و نوین، از دیگر مزایایی این کتاب است. مخاطبین این کتاب اغلب دانشجویان سال سوم و چهارم مقطع کارشناسی رشتههای مهندسی و علوم هستند.
Concise computer vision
این کتاب که بالغ بر 20000 بار به آن ارجاع داده شده است، به ارائه محتویات در زمینه بازسازی صحنهها از تصاویر با استفاده از هندسه و جبر میپردازد. در این کتاب، تکنیکهای سنتی و نوین هندسه نماهای چندگانه multiple view geometry بهطور واضح و شفاف شرح داده شده است. همچنین نویسندگان به معرفی اصول هندسی و اصطلاحات جبری ماتریسهای تبدیل دوربین camera projection matrices، ماتریس پایهای و تنسور کانونی پرداختهاند. در کنار موارد اشاره شده، دانش موردنیاز برای مدلهای بازسازی سهبعدی بر اساس چندین تصویری که به صورت همزمان و یا پشت سر هم گرفته شدهاند، نیز معرفی شده است. بهطور کلی، مطالعه این کتاب به متخصصان حرفهای و علاقهمندان به بینایی کامپیوتر هندسی و یا هندسه تصویری توصیه اکید میشود.
Multiple view geometry in computer vision
این کتاب، تئوری و روشهای ساخت اپلیکیشنهایی بر مبنای OpenCV4 و Python 3 را شرح میدهد. چگونگی اجرایی شدن عملیات پایه، نحوه پردازش تصویر، آنالیز ویدئو، برآورد عمق و بخشبندی تصویر نیز از مباحثی است که در این کتاب به آن اشاره میگردد. چالشهای دو تا از مباحث بینایی کامپیوتر؛ شناسایی و تشخیص چهره در این کتاب نیز مورد بررسی قرار گرفته است. همچنین با مطالعه این کتاب میتوان مفاهیم دستهبندی اجسام و مدلهای یادگیری ماشین جهت تشخیص اجسام و ردیابی آنها را فرا گرفت.
بهطور کلی این کتاب یکی از بهترین مراجع برای آموزش OpenCv است که تمامی مباحث اصلی آن را بهطور خوانا و قابل فهم پوشش میدهد. رویکردی شفاف و جامع در مورد شناسایی اجسام خاص نیز در این کتاب ارائه شده است. همچنین، مجموعهای از برنامههای شیءگرا در این مرجع آموزشی وجود دارند که این امکان را به کاربران میدهد، بر اساس نیاز خود آنها را سفارشی کنند.
Learning OpenCV 4 Computer Vision with Python 3
این کتاب به عنوان یکی از مراجع اصلی پردازش تصاویر دیجیتالی میباشد که از اهداف آن، ارائه مقدمهای بر مفاهیم و روشهای اصلی برای پردازش تصاویر و ایجاد بستری بنیادین برای مطالعات و تحقیقات بیشتر در این زمینه است. دلیل موفقیت این کتاب، تمرکز بر مفاهیم پایهای و روشهای عمومی است. سطح پیچیدگی ریاضیات در این کتاب متناسب با دانش دانشجویان سالهای ابتدایی مقطع کارشناسی میباشد که آشنایی اولیه با مفاهیمی نظیر بردارها، ماتریسها، احتمالات، آمار، سیستمهای خطی و برنامهنویسی کامپیوتر دارند.
Digital Image Processing
بینایی ماشین در رباتیک چه جایگاهی دارد؟
ظهور رباتهای هوشمند و سیستمهای اتوماسیون به عنوان یکی از مؤلفههای اصلی انقلاب صنعتی نسل چهارم شناخته شدهاند که نقش پررنگی را در افزایش بهرهوری و سودآوری کسبوکارهای متعدد ایفا میکنند. با تلفیق هوش مصنوعی با رباتیک، انعطافپذیری و هوشمندی رباتها به طور قابل توجهی افزایش یافته است. بدین منظور، لازم است رباتها جهت تعامل با محیط پیچیده و متغیر پیرامون، مانند انسان از امکاناتی نظیر حس بینایی برخوردار باشند. در اینجاست که وجود بینایی ماشین برای رباتها اهمیت پیدا میکند. با وجود سنسور/ دوربینها و الگوریتمهای مختلف بینایی ماشین، درک و پردازش محیط اطراف و به دنبال آن تصمیمگیری میسر میگردد. طراحی و ساخت رباتهای پزشکی، رباتهای آشپز، رباتهای خدماتی و رباتهای جمعکننده محصولات کشاورزی از جملههای نمونههای کاربردی از تلفیق این دو فناوری هستند.
برخی از کاربردهای بینایی ماشین
بینایی ماشین در فینتک چه کاربردهایی دارد؟
اعتبار سنجی: مسیر اعتبارسنجی مشتریان در بانکها و مؤسسات مالی جهت اخذ وام و یا سایر خدمات مالی زمانبر و اکثر اوقات همراه با خستگی فراوان است. به کمک بینایی ماشین میتوان بدون نیاز به حضور فیزیکی مشتریان در محل، فرایند احراز هویت را در زمان کوتاهی انجام داد که از یک طرف بهبود خدمات ارائه شده به مشتریان و از طرف دیگر صرفهجویی در زمان کارکنان این مؤسسات را به همراه دارد.
استخراج خودکار اطلاعات از مستندات: شرکتهای مالی مملو از فرمهای کاغذی و مستندات هستند که معمولاً توسط نیروی انسانی پردازش شده و در صورت نیاز، اطلاعات آنها به صورت دستی وارد نرمافزار و یا سیستم کامپیوتری میگردد. این فرایند بسیار زمانبر بوده و مستعد خطا میباشد. به کمک قابلیت نویسهخوان کاراکترهای نوری (OCR) میتوان اسناد را بهطور خودکار پردازش نمود و اطلاعات موردنیاز را استخراج و یا ثبت کرد. این قابلیت به تیمها کمک میکند به جای اختصاص دادن وقت و نیروی خود در ورود داده به سیستمهای کامپیوتری، بر روی مشکلات مهمتری تمرکز نمایند. استفاده از بینایی ماشین در پردازش قراردادهای پیچیده نیز قابل تعمیم است. الگوریتمهای این حوزه میتوانند به سرعت نقاط برجسته قراردادها را بیابند و زمان صرف شده برای مطالعه آنها توسط افراد را به میزان قابل توجهی کاهش دهند.
بررسی مطالبات از بیمه: در سالهای اخیر، به کمک فناوری بینایی ماشین میتوان میزان خسارات وارد شده به خودروها، منازل و یا سایر کسبوکارها را با پردازش از عکسهای گرفته شده از صحنههای آسیبدیده، برآورد نمود. این امر به میزان قابل توجهی در زمان و هزینه افراد و کارشناسان صرفهجویی مینماید.
به عنوان نمونه، شرکت Ant Financial یک فروشنده فینتک در چین با بیش از 7000 کارمند است. برنامه ارائه شده توسط آنها میتواند آسیب وارد شده به وسایل نقلیه را تشخیص داده و روند بررسی ادعا را با استفاده از بینایی ماشین تسهیل کند. این برنامه تصویر مربوطه را تجزیه و تحلیل کرده، شدت آن را برآورد مینماید و گزارشی را برای نمایندگان بیمه بهطور خودکار ارسال میکند.
همچنین میتوان قطعات و نحوه تعمیر آنها را به کمک این برنامه شناسایی کرد و میزان تأثیری که این حادثه بر حق بیمه راننده میگذارد را مشخص کرد. مدل موجود در برنامه Ant Financial با استفاده از هزاران تصویر از خودروهای آسیبدیده با نور و زوایای مختلف آموزش داده شده است.
بینایی ماشین در زمینههای پزشکی و سلامت چه کاربردهایی دارد؟
کاربرد بینایی ماشین در پزشکی
پردازش تصاویر پزشکی: بررسی درست و دقیق تصاویر پزشکی یکی از پیشنیازهای اصلی تشخیص و درمان بیماریها است که در حال حاضر با استفاده از فناوری بینایی ماشین میتوان تصاویر گرفته شده از درون بدن انسان را با سرعت بالا و دقتی قابل قبول پردازش کرد و نوع بیماری و محل دقیق آنرا تعیین نمود. همچنین از این قابلیت در کنار علم داده میتوان برای پیشبینی بیماریهایی نظیر گرفتگی قلب و سکته قلبی نیز استفاده نمود.
خدمات به معلولین: تاکنون بینایی ماشین توانسته در بهبود دسترسی افراد معلول به ویژه افراد نابینا و یا کمبینا به محیط اطرافشان نقش چشمگیری داشته باشد. در واقع به کمک سیستمهای مجهز به بینایی ماشین میتوان به اینگونه افراد کمک نمود تا بتوانند محیط افراد خود را به نوعی مشاهده کنند. به عنوان نمونه، افراد نابینا و یا کمبینا میتوانند با بهرهگیری از فناوری بینایی ماشین، اجناس را در فروشگاهها اسکن و شناسایی نموده و فرایند خرید را به آسانی و بدون هیچگونه زحمتی انجام دهند. همچنین سیستمهای بینایی ماشین اسناد را برای اینگونه افراد میخوانند و به شناسایی سن، جنس، احساسات و اقدامات دیگران به آنها کمک مینمایند.
کاربرد بینایی ماشین در داروسازی
فرایند خوانش نسخههای دارویی اغلب کاری پرزحمت و زمانبر است. قابلیت نویسهخوان کاراکترهای نوری (OCR) بینایی ماشین، پردازش و خوانش خودکار نسخههای دارویی را تسهیل بخشیده و به متصدیان در داروخانه در خوانش صحیح و سریع نسخهها یاری رسانیده است.
کاربرد بینایی ماشین در ورزش
بررسی حرکات ورزشی: به کمک فناوری بینایی ماشین میتوان حرکات افراد را در حین ورزش کردن کنترل نمود و در صورت انجام حرکت اشتباه به آنها هشدار داد. این امر تأثیر قابلتوجهی در جلوگیری از آسیب رساندن به مفاصل و بدن افراد دارد. به عنوان نمونه، شرکت Mustard با ارائه اپلیکیشنی مجهز به الگوریتمهای بینایی ماشین در کنار مجموعه دادههایی از حرکات ورزشکاران حرفهای به پردازش حرکات ورزشی افراد میپردازد. این اپلیکیشن با پردازش بیومکانیکی این حرکات و ارائه بازخورد و پیشنهادهایی به آنها، به بهبود اجرای حرکات مربوطه کمک مینماید.
New Real Madrid player James Rodriguez, from Colombia, plays with a ball and poses for photographers during his official presentation at the Santiago Bernabeu stadium in Madrid, Spain, Tuesday, July 22, 2014, after signing for Real Madrid. Real Madrid have signed Rodriguez from Monaco on a six-year contract, (AP Photo/Daniel Ochoa de Olza)
تجزیه و تحلیل فیلم مسابقات: پردازش فیلم مسابقات و استخراج نقاط ضعف و قوت بازیها یکی از گامهای اصلی در برنامهریزیهای آینده تیمهای ورزشی است. بینایی ماشین با تجزیه و تحلیل فیلم مسابقات و استخراج موارد کلیدی به روند تصمیمگیری مربیان و آنالیزورها در این زمینه یاری میرساند.
بهبود فرایند داوری: داوری در مسابقات یک فرایند تأثیرگذار و حیاتی است که اجرای آن بدون خطا، کاری بسیار دشوار است. امروزه سیستمهای بینایی ماشین با پردازش و شناسایی موارد مختلف ورزشی کمک شایان توجهی به تیم داوران جهت انجام بهینه داوری کردهاست.
کاربرد بینایی ماشین در تغذیه
یافتن دستورالعمل پخت غذا: قابلیتهای پردازش تصاویر سیستمهای بینایی ماشین این امکان را فراهم مینماید تا بتوان مواد تشکیلدهنده غذا را با استفاده از تصاویر آنها شناسایی کرد. همچنین با بهرهگیری از فناوری دادهکاوی در کنار بینایی ماشین، میتوان دستور پخت غذا را با توجه به صفحات معتبر آشپزی در سرتاسر دنیا، پیشبینی نمود. شرکت EDAMAM یکی از شرکتهایی است که با استفاده از بینایی ماشین، API هایی برای این منظور ارائه داده است.
اندازهگیری میزان کالری موجود در غذاها: برای داشتن تغذیه و رژیم مناسب، آگاهی از میزان کالری موجود در مواد غذایی از اهمیت بسزایی برخوردار است. به کمک فناوری بینایی ماشین میتوان میزان کالری مواد غذایی را از روی تصاویر آنها تخمین زد.
بینایی ماشین در کشاورزی و دامپروری چه کاربردهایی دارد؟
کاربرد بینایی ماشین درکشاورزی
نظارت بر سلامت و میزان رشد محصول: در زمینهای کشاورزی به خصوص زمینهای زراعی بزرگ با حجم و تنوع زیاد محصولات، نظارت مداوم بر سلامت محصولات از اهمیت بسزایی برخوردار میباشد، زیرا ممکن است در صورت بروز بیماری در یک محصول، این بیماری به سایر محصولات نیز سرایت نماید و منجر به اعمال خسارتهای جبرانناپذیری شود. در خیلی از اوقات، سلامت محصولات از روی ظاهر آنها قابل تخمین است و علائم ظاهر شده بر روی آنها، ممکن است به نوعی بیماری و یا کمبود ماده غذایی دلالت نماید. اینجاست که سیستمهای بینایی ماشین پا به عرصه میگذارند. در کنار علائم ظاهری، به کمک عوامل دیگری نظیر رنگ و اندازه میتوان سلامت و میزان رشد محصولات را توسط فناوری بینایی ماشین برآورد نمود و در صورت بروز مشکلات، به کشاورزان اطلاع داد.
تشخیص و دفع آفات: آفات و علفهای هرز از دغدغههای اصلی کشاورزان هستند که لازم است به طور دائم به آنها رسیدگی شود تا از بروز و یا رشد آنها جلوگیری گردد. در چند سال اخیر، سیستمهای بینایی ماشین توانستهاند در تشخیص خودکار آفات و علفهای هرز بسیار مؤثر واقع شوند. این امر علاوه بر صرفهجویی در وقت و انرژی کشاورزان و تشخیص و دفع به موقع آفات، باعث میگردد تنها بر روی مناطق آفتزده سمپاشی صورت گیرد که کاهش آلودگیهای خاک و آبهای زیرزمینی را نیز به همراه دارد.
نظارت بر سلامت خاک: با پردازش تصاویر گرفتهشده از دوربینهای مجهز به بینایی ماشین، میتوان بر سلامت خاک نظارت کرد و عواملی از قبیل میزان رطوبت، کمبود مواد غذایی و وجود آفات در خاک را شناسایی و به کشاورزان در مورد تعیین زمان مناسب جهت آبیاری، کود دهی، سمپاشی و مواردی از این قبیل یاری رسانید.
جداسازی و درجهبندی محصولات: تاکنون از فناوری بینایی ماشین در فرایندهای پس از برداشت محصول نیز بهره گرفته شده است. سیستمهای بینایی ماشین با پردازش تصاویر گرفته شده از محصولات از منظر رنگ، سایز، شکل و بافت، آنها را بهطور خودکار دستهبندی و یا در صورت نیاز جداسازی مینماید تا بتوان به یک کیفیت قابل قبول و یکنواخت برای مصارف مختلف دست یافت.
کاربرد بینایی ماشین در دامپروری
سیستم نظارت کلی و تشخیص حیوانات: کنترل و نظارت شبانهروزی بر رفتار حیوانات یکی از اصلیترین فعالیتها در مدیریت مزارع است که نیازمند حضور نیروی انسانی بهطور تماموقت میباشد. با توجه به گستردگی فضای موجود جهت نظارت و یکنواختی کار، انجام این فعالیت توسط انسان با خطای فراوان همراه است. در این زمینه، سیستمهای بینایی ماشین به کمک مزرعهداران آمده و با پردازش منطقه وسیعی از مزرعه و حرکات و رفتار حیوانات بهطور همزمان، رفتارها و علائم مشکوک را شناسایی مینماید و به افراد مسئول اطلاع میدهد. همچنین از این سیستمها میتوان در آمارگیری، پردازش و ثبت تغییرات محیطی استفاده نمود.
از سوی دیگر، قابلیت تشخیص چهره فناوری بینایی ماشین برای حیوانات نیز قابل استفاده است که به کمک آن میتوان حیوانی خاص را در میان یک یا چند گله شناسایی نمود. علاوه بر این، ردیابی آن حیوان، میزان حرکت، نحو تغذیه، تخمین وزن و بررسی الگوهای رفتاری از جمله امکاناتی است که این نوع از سیستمها در اختیار مزرعهداران قرار میدهند.
سیستمهای غذادهی خودکار: نوع تغذیه، زمان و میزان غذادهی در مزارع با انواع حیوانات دامی، متفاوت است که روزانه بارها تکرار شده و نیاز به کنترل و ثبت اطلاعات فراوان دارد. بینایی ماشین در کنار فناوریهایی نظیر اینترنت اشیا و رباتیک، میتواند این فرایند را در کمترین زمان ممکن و با دقتی قابلقبول، به صورت خودکار انجام دهد.
بینایی ماشین در امنیت چه کاربردهایی دارد؟
یکی از بارزترین کاربردهای سیستمهای بینایی ماشین، تسهیل در برقراری امنیت فیزیکی است. تجهیز دوربینهای مداربسته در مناطق مختلف شهری، مراکز خرید و مناطق مسکونی به سیستمهای بینایی ماشین منجر به شناسایی و پردازش هویت افراد؛ رفتار و حرکات آنها میگردد. همچنین در تلفیق بینایی ماشین با علم دادهکاوی میتوان الگوی رفتاری افراد را شناسایی نمود و حرکات و رفتار آنها را پیشبینی کرد. علاوه بر این، از این سیستمهای هوشمند میتوان در آمارگیری و شمارش جمعیت نیز بهره گرفت.
کنترل افراد در حین ورود از مزایای دیگر استفاده از فناوری بینایی ماشین در زمینه امنیت است. بهطور معمول، کنترل افراد غالباً توسط نگهبانها انجام میگرفت که از یک طرف باعث ایجاد ازدحام جمعیت و افزایش نارضایتی افراد و از طرف دیگر افزایش خطای نظارت را به همراه داشت. سیستمهای بینایی ماشین با بهرهگیری از قابلیت پردازش چهره، باعث تسهیل اجرای این فعالیت و افزایش دقت کنترل شده است. این نوع از سیستمها با پردازش همزمان تعداد زیادی از افراد در واحد زمان، هویت آنها را شناسایی کرده و با توجه به هویت آنها اجازه ورود را صادر میکنند.
بینایی ماشین در بازاریابی و فروش چه کاربردهایی دارد؟
تشخیص محصولات تقلبی: متأسفانه، امروزه تعداد محصولات تقلبی به صورت فرایندهای رو به رشد است که این امر میتواند تأثیرات منفی بسیاری بر مصرفکنندگان و نامهای تجاری گذارد. به ویژه در حوزه تجارت الکترونیک که مبادله کالا در فضای اینترنت و بدون حضور مشتری صورت میگیرد کنترل این محصولات تقلبی بسیار دشوار است. الگوریتمهای بینایی ماشین که با هزاران تصویر میکروسکوپی از کالاهای اصلی آموزش میبینند، میتوانند با پردازش تصویر به راحتی و با دقتی قابلقبول محصولات تقلبی را شناسایی و از مبادله آنها جلوگیری نمایند. علیبابا، غول چینی حوزه تجارت، توانسته به کمک سیستمهای بینایی ماشین در کنار الگوریتمهای پیشرفته شناسایی تقلب، بیش از 100 میلیون دلار کالای جعلی را ضبط نماید.
خدمترسانی بهینه به مشتریان: با نصب دوربینهای مجهز به سیستمهای بینایی ماشین در فروشگاهها و مراکز تجاری، میتوان به احساس مشتریان در حین خرید پی برد و در صورت ظاهر شدن علائمی ناشی از نارضایتی، به مسئولین مرکز خرید هشدار داد. همچنین با بررسی احساسات افراد، کالاهای محبوب نیز قابل شناسایی است.
علاوه بر این، با ترکیب سیستمهای بینایی ماشین با فناوری واقعیت افزوده میتوان به مشتریان جهت انجام بهینه خرید یاری رسانید. بهطور نمونه، امروزه آینههای هوشمندی به عنوان اتاقهای پرو مجازی در مراکز خرید پوشاک مورد استفاده قرار میگیرند که فرد میتواند بدون هیچ زحمتی لباس موردنظر خود را بررسی کند.
ایجاد جستجوی مشتری محور: وقتی صحبت از سامانههای خرید آنلاین میشود، مشتریان بیشتر از قسمت جستجو و یا فیلترها برای کشف محصولات جدید استفاده میکنند. این امر معمولاً مستلزم استفاده گسترده از برچسبها است که همه آنها به صورت دستی به محصولات اختصاص داده میشوند. از آنجا که برچسب زدن بهطور کامل به فروشنده بستگی دارد، میتواند برای مصرفکنندگان بسیار گیجکننده باشد. بدین منظور با استفاده از قابلیت پردازش تصویر سیستمهای بینایی ماشین میتوان به جای استفاده از برچسبها، از تصاویر کالای مورد نظر استفاده نمود. در این راستا، کاربر تصویر کالای موردنظر خود را آپلود کرده و محصولات مشابه یا حتی مناسبتر از آن را جستجو میکند. به عنوان نمونه، شرکت Pineterest از ابزاری مبتنی بر بینایی ماشین تحت عنوان Visual Search برای این منظور استفاده کرده است.
بینایی ماشین در تولید چه کاربردهایی دارد؟
مونتاژ و بستهبندی: امروزه، خیلی از مراکز تولیدی به دنبال اتوماتیک کردن خطوط تولیدی خود میباشند. یکی از پیشنیازهای اصلی جهت افزایش خودکارسازی، استفاده از فناوری بینایی ماشین جهت پردازش محصولات و بررسی موارد مختلفی نظیر موقعیت مکانی، سرعت و جهتدهی آنهاست تا بتوان عملیات مونتاژ و یا بستهبندی را به صورت خودکار انجام داد.
کنترل کیفیت محصول: در حین تولید،کیفیت قطعات در حال ساخت و محصولات به دفعات از مناظر مختلف نظیر رنگ، اندازه، بافت و شکل هندسی کنترل میشود. انجام این عملیات به دلیل یکنواختی زیادی که به همراه دارد باعث خستگی نیروی انسانی میگردد و عملکرد او را به شدت تحت تأثیر قرار خواهد داد. سیستمهای بینایی ماشین توانستهاند با انجام فرایند بازرسی محصولات بدون وقفه و با دقت بالا، تأثیر بسزایی را در بهبود کیفیت محصولات و افزایش بهرهوری سازمان ایفا نمایند. به عنوان نمونه، در کارخانههای تولیدکننده محصولات دارویی، بررسی برچسب، میزان دارو، شکستگی ظروف بستهبندی و غیره از جمله مواردی است که به راحتی توسط سیستمهای بینایی ماشین کنترل میشوند، در حالیکه انجام این بازرسی بدون خطا توسط انسان به دلیل تعدد مواردی که باید کنترل شود، بسیار دشوار و تا حدودی غیرممکن است.
نگهداری و تعمیرات: یکی از کاربردهای برجسته سیستمهای بینایی ماشین کشف نوع و محل خرابی تجهیزات است. بدون شک، در صورتیکه خرابیای به موقع کشف گردد میتوان از بروز آسیبهای جدی جلوگیری نمود. انجام این عملیات توسط نیروی انسانی مستلزم بررسی شبانهروزی تجهیزات با دقت بالاست. علاوه بر این، در خیلی از اوقات مکان خرابی خارج از دید نیروی انسانی میباشد و کشف آن توسط اپراتورها کاری دور از انتظار است. سیستمهای بینایی ماشین جهت بازرسی تجهیزات توانستهاند بسیاری از چالشهای اشاره شده را رفع نمایند. این سیستمها با کشف زودهنگام خرابیها و حذف محدودیت دسترسی به قسمتهای مختلف، توانستهاند فرایند نگهداری و تعمیرات را به میزان قابل توجهی بهبود بخشند.
مدیریت انبار: ثبت اطلاعات دقیق ورود و خروج کالا و حمل مواد و محصولات از چالشهای مدیریت انبار به ویژه در انبارهای بزرگ است. سیستم بینایی ماشین با پردازش محصول، برچسبزنی خودکار کالا و همزمان ثبت اطلاعات آن، میزان خطا را در فرایند ورود و خروج کالا بسیار کاهش داده است.
همچنین در خیلی از اوقات به دلیل حجم زیاد محصولات در فضای محدود انبارها، حمل کالا با مشکلات فراوانی روبهرو میشود. شرکت آمازون برای رفع این مشکل از رباتهایی تحت عنوان Kiva استفاده نموده که این رباتها با برخورداری از قابلیتهای بینایی ماشین و الگوریتمهای مسیریابی، کالاها را به راحتی جابجا مینمایند.
نرمافزارهای بینایی ماشین
نرمافزارهای این فناوری با هدف تسهیل فرایند طراحی و توسعه مدلهای یادگیری ماشین و الگوریتمهای بینایی ماشین ارائه شدهاند. این نرمافزارها در انجام فعالیتهای مختلفی نظیر برچسبگذاری دادهها، حاشیهنویسی تصاویر و حتی توسعه مدلهای بینایی ماشین، متخصصین هوش مصنوعی را یاری میرسانند. در ادامه، به نمونههایی از نرمافزارهای توسعه مدلهای بینایی ماشین و برچسبزنی اشاره میگردد.
نرمافزار Halcon
Halcon یک نرمافزار جامع برای بینایی ماشین با محیط توسعه یکپارچهای (IDE) است که در سراسر جهان مورد استفاده قرار میگیرد. معماری انعطافپذیر این نرمافزار، توسعه سریع سیستمهای بینایی ماشین، تصویربرداری پزشکی و برنامههای پردازش تصاویر را تسهیل مینماید. پشتیبانی جامع این نرمافزار از سیستمعاملهای چند هستهای و شتابدهنده GPU از ویژگیهای بارز آن است. به کمک این نرمافزار میتوان به توسعه مدلهای بینایی ماشین جهت تشخیص مکان اجسام، شناسایی اشیا، خواندن کد، بازرسی کیفیت چاپ و فعالیتهای سهبعدی پیچیده پرداخت.
نرمافزار Adaptive Vision
نرمافزار مبتنی بر جریان داده Adaptive Vision یکی از قویترین نرمافزارهای بینایی ماشین میباشد که علاوه بر معماری انعطافپذیر، با ارائه رابط کاربری ساده و کاربرپسند، طراحی و توسعه سختترین سیستمهای بینایی ماشین را ممکن ساخته است.کاربران بدون نیاز به مهارت برنامهنویسی پیشرفته از طریق فیلترهای موجود در Toolbox این نرمافزار (بیش از 1000 فیلتر)، الگوریتمهای بینایی ماشین را ایجاد کرده و با تنظیم پارامترهای مختلف و مشاهده نتایج مربوطه به صورت گرافیکی، به نتایج بهینه دست مییابند. این نرمافزار در ادغام با دوربینها و سنسورهای دریافتکننده اطلاعات، بیشتر در حوزههای صنعتی نظیر تولید خودرو، تولید دارو، بستهبندی، مونتاژهای الکترونیکی و لجستیک مورد استفاده قرار میگیرد.
نرمافزار برچسبزنی CVAT
CVAT یک ابزار منبع باز، رایگان و مبتنی بر وب است که برای حاشیهنویسی تصاویر و فایلهای ویدئویی، برچسبگذاری دادهها و آمادهسازی آنها برای الگوریتمهای بینایی ماشین مورد استفاده قرار میگیرد. این برنامه از وظایف اصلی یادگیری ماشین با نظارت نظیر تشخیص اشیا، دستهبندی و یا بخشبندی آنها پشتیبانی میکند و با پیشنهاد روشهای مختلف امکان حاشیهنویسی دادهها را برای کاربران فراهم مینماید.
نرمافزار برچسبزنی Super Annotate
Super Annotate یک پلتفرم برای ایجاد و مدیریت پروژههای حاشیهنویسی و بینایی کامپیوتر با استفاده از ابزارهای هوشمند است. این پلتفرم فعالیتهای مختلفی از مدیریت وظایف گروههای حاشیهنویسی گرفته تا انجام هوشمندانه عملیات حاشیهنویسی را پوشش میدهد. این نرمافزار با بهرهگیری از قابلیتهایی نظیر مدلهای یادگیری سفارشیشده، پیشبینی و بخشبندی تصاویر، توانسته عملیات حاشیهنویسی را در زمان و هزینه کم انجام دهد.
ابزارهای بینایی ماشین و کتابخانهها
بینایی ماشین قدرت ادراک، دستهبندی، شناسایی و ارائه واکنش به اجسام پیرامون را به ماشین اعطا میکند. سؤالی که در اینجا مطرح میشود این است که ماشین انجام این فعالیتها را چگونه انجام میدهد. به بیانی دیگر، از چه ابزارهایی برای اجرای این فعالیتهای بهره میگیرد. با الهام از شیوهای که چشم در مشاهده و ارائه واکنش نسبت به محیط پیرامون به انسان کمک میکند، الگوریتمهای یادگیری ماشین، یادگیری عمیق و همچنین قطعات سختافزاری از قبیل دوربین و حسگر نیز در تعامل با یکدیگر به ماشینها کمک میکنند تا دستیابی به این اهداف میسر گردد.
محققان طیف وسیعی از ابزارها و کتابخانههای نرمافزاری ساختهاند تا پروژهها و نرمافزارهای گوناگون را با بینایی ماشین تقویت کنند. این بخش به معرفی برخی از این ابزارها و کتابخانههای مشهور و پرکاربرد اختصاص یافته است.
آیا تا به حال به این موضوع فکر کردهاید که ماشین یا ربات چگونه میتواند تصاویر را شناسایی کند؟ این کار به لطف یک حوزه تحقیقاتی بین رشتهای تحت عنوان «بینایی رایانه» امکانپذیر شده است. ابزارهای بینایی ماشین چیست؟ به همان شیوهای که چشم در مشاهده و ارائه واکنش نسبت به محیط پیرامون به انسان کمک میکند، الگوریتمهای یادگیری ماشین و یادگیری عمیق و همچنین قطعات سختافزاری از قبیل دوربین و حسگر با یکدیگر در رایانه فعالیت میکنند تا این هدف محقق شود. بینایی ماشینقدرت ادراک، دستهبندی، شناسایی و ارائه واکنش به اجسام پیرامون را به ماشین اعطا میکند.
محققان طیف وسیعی از ابزارها و کتابخانههای نرمافزاری ساختهاند تا پروژهها و نرمافزارهای گوناگون را با بینایی ماشین تقویت کنند. مقاله حاضر بر آن است تا خوانندگان را با برخی از این ابزارها و کتابخانههای مشهور و پرکاربرد آشنا کند. پس تمرکز اصلی مقاله، آشناسازی و آگاهیبخشی به خوانندگان در خصوص این فناوریها است. انتظار میرود افراد پس از مطالعه دقیق این مقاله به اطلاعات خوبی در خصوص چگونگی استفاده از ابزارها و کتابخانهها در نرمافزارهایشان دست پیدا کنند.
اکنون به معرفی این لیست میپردازیم:
OpenVINO
حدود 80 درصد از رایانههای شخصی به پردازنده اینتل مجهز هستند. پس اصلاً جای تعجب نیست که ماشینهایِ مورد استفادهی شما نیز به احتمال 80 درصد مجهز به پردازنده اینتل باشد. حال سوال این است که چرا اینتل؟ توسعهدهندگان کارشان را به خوبی بلد هستند و قابلیت ساخت بهترین پردازندهها را دارند. اما این تنها دستاورد اینتل نیست. اینتل با ساخت تولکیتی برای طیف کثیری از نرمافزارهای هوش مصنوعی، در عرصه مدلهای تقاضامحور پیشگام است. این نرمافزارها عمدتاً بر پایه بینایی ماشین قرار دارند.
اینتل تولکیت OpenVINO خود را در روز 16 مِه 2018 روانه بازار کرد. این تولکیت با زبان برنامهنویسی C++ و پایتون نوشته شده است. VINO خلاصه شدۀ عبارت «استنتاج بصری و بهینهسازی شبکه عصبی» است. شاید این عبارت برایتان بیگانه باشد، اما واقعیت این است که اگر با آن عبارات آشنایی داشته باشید، در همان نگاه اول تشخیص میدهید که این تولکیت چه کاربردی دارد. پس بگذارید کار را شروع کنیم. استنتاج . این اصطلاح به معنای استفاده از مدل است و تا حد زیادی به استفاده از مدل آموزش دیده برای پیشبینی اشاره میکند. در استنتاج بصری، از مدل آموزش دیده برای پیشبینی مسائل در مرجع بصری استفاده میشود؛ رویکردی که در بینایی ماشین هم به کار برده میشود. عبارت بعدی، «بهینهسازی شبکه عصبی» است و به بهینهسازی شبکه عصبی در آموزشِ شبکه اشاره میکند. همین قدر کافی است! این اطلاعات مختصر برای پی بردن به کارکرد OpenVINO کفایت میکند. این تولکیت به بهینهسازیِ مدلِ آموزش دیده پرداخته و میتواند بطور مستقیم ابزارهایی را برای استفاده از آن مدل فراهم نماید تا استنتاج بصری به سرعت انجام پذیرد. به همین سادگی!
این تولکیت در چه جاهایی کاربرد دارد؟
OpenVINO همیشه از شما میخواهد که یک مدلِ از پیش آموزش دیده در اختیارش قرار دهید. این تولکیت هیچ ابزاری ارائه نمیکند تا با آن مدل مورد نظرتان را توسعه دهید یا به کدنویسی آن بپردازید. امکانات این تولکیت میتواند در مراحل بعدی به کار بیاید. تولکیت OpenVINO از چندین مدلِ از پیش آموزش داده شده تشکیل یافته است و تحت مولفه تولکیت «Model Zoo» ارائه شده است که امکان استفاده مستقیم از این مولفه وجود دارد. باید این نکته را به خاطر داشته باشید که «Model Zoo» تولکیتِ مخصوص توسعه مدل نیست. از دید نرمافزاری، این تولکیت برای بهینهسازی و استقرار مدل به کار برده میشود.
موارد کاربرد این تولکیت در بخش زیر خلاصه میشود:
• بهینهسازی الگوریتمها
• استفاده آسان از الگوریتمها در هر پلتفرمی
• استفاده از «Model Zoo» با هدف بکارگیریِ مدلی که بهترین عملکرد را در مسئله مورد نظر کاربر داشته باشد.
• استفاده از موتور استنتاج
• بهینهسازی قابلیتهای پردازش تصویر با استفاده از OpenCV
مطمئنم هیجان زیادی دارید که خودتان این تولکیت را امتحان کنید. خب توصیه میکنیم به این لینک مراجعه کنید
OpenCV
دور از انصاف است که درباره کتابخانههای بینایی ماشین حرف بزنید، اما اشارهای به OpenCV نکنید. OpenCV کتابخانه پردازش تصویری است که سه شرکت به نام اینتل، Itseez و Willow Garage در طراحی و ساخت آن ایفای نقش کردهاند. این کتابخانه از سال 2000 در دسترس کاربران قرار گرفته است. کتابخانه OpenCV عمدتاً با زبان برنامهنویسی C++ نوشته شده، اما برخی از ماژولها با C نوشته شدهاند. این کتابخانه برخلاف OpeNvino کاربردهای بسیار زیادی دارد. این کتابخانه قادر است مراحل پیشآموزش مدل و پیشاستقرار را با تاکید بیشتر بر پردازش تصویر انجام دهد.
OpenCV میتواند در موارد زیر به کار برده شود
• کارهای پیشپردازش مثل مقیاسدهی، حذف نویز و سایر کارهای فرمتینگ در تصویر یا ویدئو.
• این کتابخانه میتواند برای اجرای 2500 مدل بهینهسازی شده استفاده گردد؛ مدلهایی که در این کتابخانه گنجانده شدهاند.
• این کتابخانه میتواند برای توسعه جدیدترین مدلها در بینایی ماشین و یادگیری ماشین به کار برده شود.
• OpenCV برای توسعه مدلها از دستههای مختلف نیز کاربرد دارد؛ از جمله این دستهها میتوان به تشخیص و بازشناسی چهره، تشخیص اشیاء، استخراج مدل سهبعدی و هر کاربرد دیگری که به ذهنتان میرسد، اشاره کرد.
OpenCV کتابخانهای فوقالعاده است که جامعه کاربران وسیعی دارد و بیش از 47000 توسعهدهنده در این جامعه عضویت دارند. این توسعهدهندگان برای هر مسئلهای که با آن مواجه میشوید، جواب دارند. نه تنها برخی از استارتآپهای بزرگ از این کتابخانه استفاده میکنند، بلکه غولهای حوزه فناوری از قبیل گوگل، یاهو و مایکروسافت نیز به استفاده از OpenCV میپردازند. یکی از موارد استفادۀ کتابخانه OpenCV، تشخیص چهره است. OpenCV این امکان را در اختیار کاربر میگذارد تا فعالیتهای پردازش تصویر و الگوریتمهای پیشبینی را به نحو احسن انجام دهد. نه تنها میتوانید از الگوریتم شناسایی اشیاء استفاده کنید، بلکه این فرصت را دارید تا از ابزار «ردیابی اشیاء» برای ردیابی چهره به صورت فریم به فریم در ویدئو نیز استفاده نمائید. افزون بر این، OpenCV امکان آزمایش مدل را در ویدئوی زنده و حتی ویدئوی از پیش ضبط شده نیز فراهم میکند. حاضرید که کار رو شروع کنید؟ به این لینک مراجعه کنید و اولین مدلتون رو با این کتابخانه امتحان کنید.
پلتفرمهای سرویس ابری
اگر بحث از چارچوبهای بینایی ماشین باشد و نامی از غولهای فناوری در آن نباشد، شاید این تصور در ذهن ایجاد شود که گوگل این مقاله را در موتور جستجویش ندارد. گوگل محصول خود را «Vision AI» نامگذاری کرده است که اساساً دو محصولِ AutoML Vision و Vision API را دربرمیگیرد. این محصول به قدری GUI ساده ای دارد که هر شخصی میتواند برای آموزش الگوریتمهای بینایی از آن بهره ببرد. خب برای به کارگیری آن باید چه کار کنیم؟ فقط کافی است تصاویر را بارگذاری کنید و مدلی انتخاب کنید تا فرایند آموزش بر روی آن پیادهسازی شود. تمام! به همین سادگی! آمازون هم ابزاری تحت عنوان Amazon Rekognition دارد که این فرصت را به کاربران میدهد تا مدلهای یادگیری عمیق شان را به راحتی استفاده کنند. مایکروسافت نیز خدمات ابری Azure را عرضه کرده است و از این طریق API بینایی رایانه را اجرا میکند تا مدلهای بینایی رایانه را در ابر پردازش و تحلیل کرده و توسعهشان دهد. شرکت IBM دو موتور بینایی رایانه فوقالعاده موسوم به Watson Visual Recognition و PowerAI Vision دارد.
امکان استفاده از Watson Visual Recognition برای تجزیه و تحلیل تصاویر و ویدئوها وجود دارد. هدف از این کار، دستهبندی و سایر امور مرتبط با یادگیری ماشین است. PowerAI Vision زمینه را برای آموزش مدلهای بسیار دقیق فراهم میکند و نیازی به تخصص در یادگیری عمیق ندارد. همه راهحلهای ابری به این جهت ایجاد شدهاند که کاربران بتوانند به راحتی مدلهای بینایی ماشین را توسعه داده و به کار گیرند؛ بدون اینکه تخصص فنی بالایی در این زمینه داشته باشند. البته باید برای استفاده از این خدمات مبلغی را پرداخت کنید. میلیونها کاربر از این خدمات برای توسعه نرمافزارهای گوناگون استفاده میکنند؛ محصولات خود شرکتها نیز با بهرهگیری از این فناوریها توسعه داده شده است. گویا هیچ یک از غولهای فناوری قصد ندارند به راحتی از رقابت برای ارائه خدمات بینایی رایانه پا پس بکشند.
میز کار بینایی ناسا
شاید این موضوع اصلاً به ذهنمان خطور نکند، اما ناسا نیاز زیادی به کتابخانههای پردازش تصویر دارد و شاید در این راستا به استفاده از کتابخانه خاص خودش روی آورد. بنابراین، بخش «سیستمهای هوشمند مرکز تحقیقات Ames» طراحی و توسعه کتابخانه «میز کار بینایی» را بر عهده داشت. این کتابخانه به زبان C++ نوشته شده است. برخلاف سایر کتابخانهها، VWB توان بالایی برای ارائه مدلهایی با عملکرد نوین ندارد. VWB به منظور تجزیه و تحلیل تصاویر فضایی ساخته شده است. این کتابخانه در پیشبرد اهداف تحقیقاتی و رباتیک نقش بسزایی خواهد داشت.
کتابخانه VWB در امور زیر کاربرد دارد:
• تحلیل تصاویر
• افزایش کیفیت تصاویر
• تبدیلات هندسی و فضایی برای تجسم تصاویر
• ایجاد مدلهای مختصر و فشرده برای بکارگیری در موتورهای رباتیک فضایی
Nvidia VisionWorks
همه به این موضوع واقفاند که Nvidia بهترین کارتهای گرافیک را برای آموزش سریع مدلهای بینایی ماشین عرضه میکند. اما Nvidia کتابخانه مخصوص خود را برای توسعه مدلهای بینایی ماشین توسعه داده که VisionWorks نام دارد. افراد میتوانند با استفاده از VisionWorks خطوط لوله بینایی ماشین خود را با استفاده از ماژولهای ساده و فوقالعادۀ این تولکیت بسازند. VisionWorks این فرصت را به کاربران میدهد تا کارهای زیر را انجام دهند:
• کارهای رباتیک، توسعه الگوریتمهای محلیسازی و ردیابهای تصویری سریع
• نرمافزارهای مبتنی بر واقعیت افزوده؛ گرفتن خروجی سریعتر از کارهای گرافیکی
• تحلیل هوشمند ویدئو
رانندگی خودران یکی از بهترین موارد کاربرد است که راهبرد طراحی شده با VisionWorks آن را محقَق ساخته است. این کتابخانه یک رابط برنامهنویسی بینایی CUDA مستقیم در اختیار توسعهدهندهها گذاشت و توسعه سریعِ شناساگرهای اشیاء را آسان کرد. شناسایی اشیاء یکی از ویژگیهای کلیدی در رانندگی خودکار محسوب میشود. VisionWorks زمینه را برای ردیابی و تحلیلِ آسان چندین صحنه به صورت توامان فراهم میکند. این تولکیت باعث میشود از حداکثر توان پردازنده Nvidia در موارد بینایی ماشین استفاده کنید. این موضوع را فراموش نکنید که نیازی به دانش سرشار در خصوص چگونگی کارکرد این کتابخانهها ندارید. به محض اینکه بینش خوبی درباره توان این کتابخانه برای ارائه ورودی و خروجی کسب کردید، موارد استفاده عملی از آنها را نیز یاد خواهید گرفت.
سرویسهای بینایی ماشین
سرویسهای بینایی ماشین با قابلیتهای مختلفی که در پردازش تصویر و یا ویدئو دارند میتوانند باعث بهبود تجربه مصرفکننده، افزایش امنیت و صرفهجویی در زمان و هزینه شوند. در ذیل به برخی از سرویسهای برجسته این فناوری در پردازش تصویر و ویدئو اشاره میگردد.
1. بینایی ماشین و پردازش تصویر
پردازش اولیه تصاویر
در خیلی از اوقات تصاویر ورودی جهت پردازش توسط الگوریتمهای بینایی ماشین دارای مشخصات قابل قبولی نیستند. بدین منظور برخی از سرویسهای بینایی ماشین جهت آمادهسازی این تصاویر از منظر اندازه، جهتگیری و یا عدم وجود نویز طراحی و تدوین شدهاند.
ویرایش و سبکسازی تصاویر
بهبود کیفیت، تغییر سبک، فشردهسازی، رمزنگاری و کارتونی کردن تصاویر از جمله موارد ویرایشی است که معمولاً توسط افراد با تخصص بالا در زمانی طولانی انجام میشده است اما به کمک فناوری بینایی ماشین این فعالیتهای ویرایشی را میتوان در زمان کم و به راحتی انجام داد.
پردازش چهره
چهره با توجه به تنوع بالایی که در خصوصیات ظاهری خود دارد، یکی از وجههای تمایز بین موجودات زنده به شمار میرود. از این رو سیستمهای بینایی ماشین با قابلیت پردازش چهره امکاناتی نظیر احراز هویت، دستهبندی و تشخیص سن، جنس و احساسات را فراهم مینمایند. میتوان ادعا نمود پردازش چهره یکی از برجستهترین قابلیتهای سیستمهای بینایی ماشین میباشد که تاکنون در زمینههای کاربردی مختلفی مورد استفاده قرار گرفته است.
پردازش صحنه و محتوای تصویری
سرویسهای پردازش محتوا به شناسایی، پردازش و جستجوی موارد مختلف در تصاویر میپردازد. به کمک این سرویسها میتوان پلاک خودروها را شناسایی و پردازش کرد و یا محتوای نامناسب را در تصاویر تشخیص داد. این سرویسها در کنار بررسی محتوای تصویری، به پردازش تصاویر حاوی متن نیز میپردازد. تبدیل تصویر به نوشتار از قابلیتهای ارزشمند این دسته از سرویسها است که پردازش مدارک شناسایی و بانکی را سرعت بخشیده و بخشی وسیعی از عملیات پرزحمت ورود داده را خودکارسازی میکند. شناسایی اجسام مختلف، مکانیابی و شمارش آنها، دستهبندی تصاویر و شرح و توصیف صحنه از دیگر قابلیتهای سرویسهای پردازش صحنه و محتوای تصویری است.
سرویسهای پردازش تصاویر پزشکی یکی از کاربردهای خاصمنظوره این نوع از سرویسها میباشند. این سرویسها با قابلیت شناسایی اجسام به شناسایی آسیبها و دستهبندی آنها، تجزیه و تحلیل بیماری و آنالیز تصاویر پزشکی میپردازد.
بینایی ماشین و پردازش ویدئو
ویرایش ویدئو و سبکسازی
مشابه با سرویسهای ویرایش تصاویر، سرویسهای پردازش ویدئو نیز به ویرایش فایلهای ویدئویی و انجام فعالیتهایی نظیر بهبود کیفیت فایلها، رنگآمیزی و زیباسازی ویدئو و حذف اثر باران و یا مهآلودگی میپردازد. انجام این فعالیتها توسط سرویسهای بینایی ماشین باعث صرفهجویی قابل ملاحظه در زمان، هزینه و انرژی نیروی انسانی میگردد.
پردازش چهره و حالت بدن
سرویسهای بینایی ماشین قابلیت پردازش چهره در فایلهای ویدئویی را نیز دارند. پردازش چهره فعالیتهایی نظیر احراز هویت، ردیابی چهره موردنظر و تشخیص حالت بدن افراد زیادی را در فایلهای ویدئویی میسر مینماید. تشخیص زنده بودن ویدئو که تحت عنوان صحتسنجی نیز شناخته میشود از دیگر قابلیتهای بینایی ماشین در این دسته است. هدف از این سرویس، تشخیص این مسئله است که ویدئوی دریافت شده از فرد، جعلی نبوده و مورد دستکاری عامدانه قرار نگرفته باشد.
پردازش صحنه و محتوای ویدئویی
شناسایی انواع اجسام در صحنه و ردیابی آنها، تخمین فاصله اجسام، تهیه نقشه حرارتی، برچسبگذاری، بخشبندی و تشخیص حرکت از جمله کاربردهای قابل توجه بینایی ماشین در پردازش صحنههای ویدئویی است. همچنین به کمک قابلیتهای پردازش محتوا میتوان علاوه بر توصیف، خلاصه و یا تعدیل فایلهای ویدئویی؛ ناهنجاریها، خشونت و بهطور کلی رفتار افراد را شناسایی و پیشبینی نمود.
واقعیت مجازی و واقعیت افزوده
یکپارچگی واقعیتهای دیجیتال با هوش مصنوعی تحول چشمگیری در حوزههای مختلف زندگی بشر ایجاد کرده است. بینایی ماشین یکی از فناوریهای هوش مصنوعی است که در این یکپارچگی، نقش کلیدی ایفا مینماید. سرویسهای بینایی ماشین در مکانیابی و تهیه نقشه همزمان (SLAM) و بازسازی سهبعدی صحنه نقش تأثیرگذاری را ایفا میکنند و پیادهسازی این فناوریها را در دنیای واقع ممکن میسازند.
آینده بینایی ماشین
با انجام تحقیقات بیشتر جهت بهبود این فناوری میتوان ادعا نمود که به زودی بینایی ماشین طیف وسیعی از زمینههای زندگی بشر را پوشش خواهد داد. در این راستا، آموزش مدلهای بینایی ماشین آسانتر شده و محتویات بیشتری از تصاویر قابل استخراج میباشد. این حوزه در صورت ترکیب با سایر فناوریهای هوش مصنوعی میتواند توسعه و تدوین برنامههای قویتری را به همراه داشته باشد. به عنوان نمونه، ترکیب سیستمهای بینایی ماشین با فناوری پردازش گفتار به یاری افراد نابینا و یا کمبینا آمده و با توصیف آنچه در محیط پیرامون اتفاق میافتد، به آنها کمک میکند تا محیط اطراف خود را درک کنند.
با توجه به قابلیتهای سیستمهای بینایی کامپیوتری امروزی، شاید باور این نکته که مزایا و کاربردهای بیشتری از این فناوری همچنان ناشناخته باقی مانده است، دشوار باشد. اما چیزی که مسلم است که آینده بینایی کامپیوتر در کنار فناوریهای دیگر راه را برای سیستمهای ابر هوشمند هموار میکند. با این حال، چندین چالش جهت دستیابی به این امر وجود دارد که بزرگترین آنها ابهام در مورد اتفاقات به وقوع پیوسته در جعبه سیاه هوش مصنوعی است. با وجود اینکه بینایی کامپیوتر مانند سایر برنامهها نظیر یادگیری عمیق از نظر عملکردی بسیار مؤثر است، اما طرز کار آنها غیر قابل رمزگشایی میباشد که امید است در آینده نزدیک، این مورد نیز حل گردد.