زمان تخمینی مطالعه: 14 دقیقه
شناسایی تصویر وظیفه شناخت اشیاء مورد علاقه در یک تصویر و تشخیص اینکه تصویر متعلق به کدام دسته است را بر عهده دارد. در حالت کلی شناسایی تصویر(Image recognition)، شناسایی عکس(photo recognition) و شناسایی نگاره(picture recognition) اصطلاحاتی هستند که به جای یکدیگر استفاده میشوند. هنگامی که به صورت بصری یک شی یا صحنه را میبینیم، به طور خودکار اشیا را به عنوان نمونههای مختلف شناسایی میکنیم و آنها را با تعاریف فردی مرتبط میکنیم. با این حال، تشخیص بصری یک کار بسیار پیچیده برای ماشینها است و به قدرت پردازش قابل توجهی نیاز دارد. کار شناسایی تصویر با هوش مصنوعی یک مشکل تحقیقاتی طولانی مدت در زمینه بینایی کامپیوتر است. در حالی که روشهای مختلفی برای تقلید بینایی انسان تکامل یافته است، هدف مشترک شناسایی تصویر، طبقهبندی اشیاء شناسایی شده به دستههای مختلف است (تعیین دستهای که یک تصویر به آن تعلق دارد).بنابراین به آن تشخیص شیء نیز میگویند.
در سالهای گذشته، یادگیری ماشین، بهویژه فناوری یادگیری عمیق، در بسیاری از وظایف بینایی رایانه و درک تصویر به موفقیتهای بزرگی دست یافته است. از این رو، روشهای شناسایی تصاویر مبتنی بر یادگیری عمیق بهترین نتایج را از نظر عملکرد (فریمهای محاسبهشده در ثانیه/FPS) و انعطافپذیری به دست میآورند. سایت الکتروهایو در ادامه این نوشته، بهترین الگوریتمهای یادگیری عمیق و مدلهای هوش مصنوعی را برای شناخت تصویر پوشش خواهد داد.
معنی و مفهوم شناسایی تصویر با هوش مصنوعی
در حوزه بینایی کامپیوتر، عباراتی مانند تقسیمبندی(Segmentation)، طبقهبندی(Classification)، شناسایی(Recognition) و تشخیص اشیا(Object Detection) اغلب به جای یکدیگر استفاده میشوند و وظایف مختلف با هم همپوشانی دارند. در حالی که این اغلب بدون مشکل است، اگر گردش کار شما به انجام یک کار خاص نیاز داشته باشد، همه چیز گیج کننده میشود.
– شناسایی تصویر در مقایسه با بینایی کامپیوتری
اصطلاحات شناسایی تصاویر و بینایی کامپیوتری اغلب به جای یکدیگر استفاده میشوند اما در واقع متفاوت هستند. در واقع، شناسایی تصویر یک کاربرد بینایی کامپیوتری است که اغلب به بیش از یک فرآیند بینایی کامپیوتری نیاز دارد، مانند شناسایی اشیا، شناخت تصویر و طبقهبندی تصویر.
شناسایی تصویر در مقابل محلیسازی شی(Object Localization)
محلی سازی اشیا زیر مجموعه دیگری از بینایی رایانه است که اغلب با شناسایی تصویر اشتباه گرفته میشود. محلیسازی شی به شناسایی محل یک یا چند شی در یک تصویر و ترسیم یک کادر محدود در اطراف محیط آنها اشاره دارد. با این حال، محلیسازی شی شامل طبقهبندی اشیاء شناسایی شده نمیشود.
شناسایی تصویر در مقابل تشخیص تصویر(Image Detection)
اصطلاحات شناسایی تصاویر و تشخیص تصویر اغلب به جای یکدیگر استفاده میشوند. با این حال، تفاوتهای فنی مهمی وجود دارد. تشخیص تصویر وظیفه گرفتن عکس به عنوان ورودی و یافتن اشیاء مختلف درون آن است. یک مثال تشخیص چهره است که هدف الگوریتمها یافتن الگوهای چهره در تصاویر است (به تصویر بالا توجه کنید). وقتی به طور مستقیم با تشخیص سروکار داریم، اهمیتی نمیدهیم که آیا اشیاء شناسایی شده مهم هستند یا خیر. هدف تشخیص تصویر تنها تمایز یک شی از شی دیگر برای تعیین تعداد موجودیتهای مجزا در تصویر است. بنابراین، جعبههای محدود کننده در اطراف هر شی جداگانه ترسیم میشوند. از سوی دیگر، شناخت تصویر وظیفه شناسایی اشیاء مورد علاقه در یک تصویر و تشخیص اینکه آنها به کدام دسته یا طبقه تعلق دارند است.
شناسایی تصویر با هوش مصنوعی چگونه کار میکند؟
- استفاده از بینایی کامپیوتری سنتی: رویکرد مرسوم بینایی کامپیوتری برای شناسایی تصویر، فرآیندی (خط لوله بینایی کامپیوتری) شامل فیلتر کردن تصویر، تقسیمبندی تصویر، استخراج ویژگی و طبقهبندی مبتنی بر قانون است. با این حال، مهندسی چنین خطوط لوله فرآیندی نیاز به تخصص عمیق در پردازش تصویر و بینایی کامپیوتری، زمان توسعه و آزمایش زیاد، با تنظیم دستی پارامترها دارد. به طور کلی، سیستمهای شناسایی تصاویر مبتنی بر پیکسل و بینایی رایانهای سنتی در مورد مقیاسپذیری یا توانایی استفاده مجدد از آنها در سناریوها/مکانهای مختلف بسیار محدود هستند.
- استفاده از یادگیری ماشین و یادگیری عمیق: از سوی دیگر، شناسایی تصویر با یادگیری ماشینی، از الگوریتمهایی برای یادگیری دانش پنهان در مجموعه دادههای مختلف استفاده میکند (به یادگیری با ناظر در مقابل یادگیری بدون ناظر مراجعه کنید). محبوبترین روش یادگیری ماشینی، یادگیری عمیق است، که در آن چندین لایه پنهان از یک شبکه عصبی در یک مدل استفاده میشود. معرفی یادگیری عمیق، در ترکیب با سختافزار و پردازندههای گرافیکی هوش مصنوعی قدرتمند، پیشرفتهای بزرگی را در زمینه شناسایی تصویر ایجاد کرد. با یادگیری عمیق، طبقهبندی تصویر و الگوریتمهای تشخیص چهره به عملکرد بالاتر از سطح انسانی و تشخیص اشیا در زمان واقعی دست مییابند. با این حال، تعادل بین عملکرد و راندمان محاسباتی چالشی بزرگ است. سختافزار و نرمافزار با مدلهای یادگیری عمیق باید کاملاً هماهنگ باشند تا بر مشکلات هزینههای بینایی رایانه غلبه کنند.
فرآیند سیستمهای شناسایی تصویر با هوش مصنوعی
مراحل اصلی در ستون فقرات سیستمهای شناسایی تصویر شامل موارد زیر است :
- مجموعه داده با دادههای آموزشی: مدلهای شناسایی تصویر به تصاویر برچسبدار به عنوان دادههای آموزشی (فیلم، تصویر، عکس و غیره) نیاز دارند. همچنین شبکههای عصبی به آن تصاویر آموزشی از مجموعه دادههای اکتسابی نیاز دارند تا درک درستی از ظاهر کلاسهای خاص ایجاد کنند. به عنوان مثال، یک مدل شناسایی تصویر که حالتهای مختلف را تشخیص میدهد (مدل تخمین pose) به چندین نمونه از حالتهای مختلف انسانی نیاز دارد تا بفهمد چه چیزی ژستها را از یکدیگر منحصر به فرد میکند.
- آموزش شبکههای عصبی برای شناسایی تصویر: تصاویر از مجموعه داده ایجاد شده به یک الگوریتم شبکه عصبی وارد میشوند. این جنبه یادگیری عمیق یا یادگیری ماشینی ایجاد یک مدل شناسایی تصویر است. آموزش الگوریتم شناسایی تصاویر، تشخیص تصویر با استفاده از شبکه عصبی کانولوشنال را برای شناسایی کلاسهای خاص ممکن میسازد. چندین فریمورک به خوبی آزمایش شده وجود دارد که امروزه به طور گسترده برای این اهداف استفاده میشود.
- تست مدل هوش مصنوعی: مدل آموزش دیده باید با تصاویری که بخشی از مجموعه داده آموزشی نیستند آزمایش شود. این برای تعیین قابلیت استفاده، عملکرد و دقت مدل استفاده میشود. بنابراین، حدود 80-90٪ از مجموعه داده کامل تصویر برای آموزش مدل استفاده میشود، در حالی که دادههای باقی مانده برای آزمایش مدل ذخیره میشود. عملکرد مدل بر اساس مجموعهای از پارامترها اندازهگیری میشود که درصد اطمینان از دقت در هر تصویر آزمایشی، شناساییهای نادرست و موارد دیگر را نشان میدهد.
شناسایی تصویر مبتنی بر هوش مصنوعی با یادگیری ماشینی
قبل از اینکه GPU ها (واحد پردازش گرافیکی) به اندازه کافی قدرتمند شوند تا از وظایف محاسباتی موازی شبکههای عصبی پشتیبانی کنند، الگوریتمهای یادگیری ماشین سنتی استاندارد طلایی برای تشخیص تصویر بودهاند.
– مدلهای یادگیری ماشینی شناسایی تصویر
در این بخش سه مدل معروف یادگیری ماشینی در شناسایی تصویر را بررسی میکنیم:
- ماشینهای بردار پشتیبانی: SVMها با ساختن هیستوگرام از تصاویر حاوی اشیاء مورد نظر و همچنین تصاویری که فاقد آن هستند، کار میکنند. سپس الگوریتم تصویر آزمایشی را میگیرد و مقادیر هیستوگرام آموزش دیده را با مقادیر بخشهای مختلف تصویر مقایسه میکند تا مطابقت را بررسی کند.
- مدلهای کیف ویژگیها(Bag of Features): مدلهای کیف ویژگیها مانند تبدیل ویژگی مستقل از مقیاس(SIFT) و نواحی حدی بیشینه پایدار (MSER) با گرفتن تصویر برای اسکن شدن و یافتن یک عکس نمونه از شی به عنوان مرجع کار میکنند. سپس مدل سعی میکند ویژگیهای عکس نمونه را با قسمتهای مختلف تصویر هدف مطابقت دهد تا ببیند آیا مطابقت پیدا شده است یا خیر.
- الگوریتم Viola-Jones: یک الگوریتم تشخیص چهره پرکاربرد از زمانهای قبل از وجود CNN (شبکه عصبی کانولوشنال) است، Viola-Jones با اسکن چهرهها و استخراج ویژگیهایی کار میکند. این روش به نوبه خود تعدادی طبقهبندی کننده تقویت شده را ایجاد میکند که برای بررسی تصاویر آزمایشی استفاده میشود. برای یافتن یک تطابق موفق، یک تصویر آزمایشی باید یک نتیجه مثبت از هر یک از این طبقهبندیکنندهها ایجاد کند.
– مدلهای شناسایی تصویر مبتنی بر یادگیری عمیق
در شناسایی تصاویر، استفاده از شبکههای عصبی کانولوشنال (CNN) را شناسایی تصاویر عمیق نیز مینامند. CNN ها با روشهای سنتی یادگیری ماشینی ناسازگار هستند. CNNها نه تنها سریعتر هستند و بهترین نتایج تشخیص را در شناسایی تصویر مبتنی بر یادگیری ماشین ارائه میدهند، بلکه میتوانند چندین نمونه از یک شی را از داخل یک تصویر شناسایی کنند، حتی اگر تصویر کمی تاب خورده، کشیده یا به شکل دیگری تغییر کند.
در شناسایی عکس مبتنی بر یادگیری عمیق، شبکههای عصبی کانولوشنال حتی در کارهایی مانند طبقهبندی اشیا به دستههای ریزدانه(fine-grained) مانند نژاد خاص سگ یا گونههای پرنده از انسانها بهتر عمل میکنند. محبوبترین مدلهای یادگیری عمیق، مانند YOLO، SSD، و RCNN از لایههای کانولوشن برای تجزیه یک تصویر یا عکس دیجیتال استفاده میکنند. در طول آموزش، هر لایه کانولوشن مانند یک فیلتر عمل میکند که یاد میگیرد برخی از جنبههای تصویر را قبل از اینکه به لایه بعدی منتقل شود، تشخیص دهد. یک لایه رنگها را پردازش میکند، لایهای دیگر شکلها و غیره. در پایان، یک نتیجه ترکیبی از همه این لایهها در مجموع هنگام تعیین اینکه آیا مطابقت پیدا شده است یا نه در نظر گرفته میشود.
الگوریتمهای محبوب شناسایی تصویر مبتنی بر هوش مصنوعی
برای شناسایی تصویر یا شناسایی عکس، چند الگوریتم بالاتر از بقیه هستند. در حالی که همه اینها الگوریتمهای یادگیری عمیق هستند، رویکرد اساسی آنها در مورد نحوه تشخیص کلاسهای مختلف اشیاء متفاوت است. بیایید نگاهی به برخی از محبوبترین مدلهای شناسایی تصویر امروزی بیندازیم:
- CNN مبتنی بر ناحیه سریعتر (RCNN سریعتر): RCNN سریعتر (شبکه عصبی کانولوشن مبتنی بر ناحیه) بهترین عملکرد را در خانواده الگوریتمهای شناسایی تصاویر R-CNN از جمله R-CNN و R-CNN سریع دارد. این الگوریتم از یک شبکه پیشنهادی ناحیه (RPN) برای تشخیص ویژگی به همراه یک RCNN سریع برای شناخت تصویر استفاده میکند که باعث ارتقای قابل توجهی نسبت به نسل قبلی خود میشود (توجه: RCNN سریع در مقایسه با RCNN سریعتر). RCNN سریعتر میتواند تصویری زیر 200 میلیثانیه پردازش کند، در حالی که RCNN سریع 2 ثانیه یا بیشتر طول میکشد.
- آشکارساز تک شات (SSD): RCNN ها جعبههای محدودکنندهای را در اطراف مجموعهای از نقاط پیشنهادی روی تصویر ترسیم میکنند که ممکن است برخی از آنها همپوشانی داشته باشند. آشکارسازهای تک شات (SSD) این مفهوم را با تقسیم تصویر به جعبههای مرزی پیشفرض به شکل شبکهای بر روی نسبتهای مختلف گسسته میکنند. سپس نقشههای ویژگی بهدستآمده از پردازش تصویر در نسبتهای مختلف را برای کنترل طبیعی اشیاء با اندازههای مختلف ترکیب میکند. این باعث میشود SSD ها بسیار انعطافپذیر، دقیق و آسان برای آموزش باشند. انواع پیادهسازیهای SSD میتواند تصویر را در 125 میلی ثانیه پردازش کند.
- شما فقط یک بار نگاه میکنید (YOLO): YOLO مخفف عبارت You Only Look Once است، و دقیقا مطابق با نام خود، الگوریتم یک فریم را فقط یک بار با استفاده از اندازه شبکه ثابت پردازش میکند و سپس تعیین میکند که آیا یک کادر شبکه حاوی تصویر است یا خیر. برای این منظور، الگوریتم تشخیص شیء از یک متریک اطمینان و جعبههای محدود کننده متعدد در هر جعبه شبکه استفاده میکند. با این حال، به پیچیدگیهای نسبتهای چندگانه یا نقشههای ویژگی نمیپردازد، و بنابراین، در حالی که نتایج سریعتر تولید میکند، ممکن است تا حدودی دقت کمتری نسبت به SSD داشته باشند. یک نوع سبک وزن و لبه بهینه شده از YOLO به نام Tiny YOLO میتواند یک ویدیو را با حداکثر سرعت 244 فریم در ثانیه یا یک تصویر با سرعت 4 میلی ثانیه را پردازش کند.
شناسایی تصویر مبتنی بر هوش مصنوعی برای چه مواردی استفاده میشود؟
در تمام صنایع، فناوری شناسایی تصاویر مبتنی بر هوش مصنوعی به طور فزایندهای رو به رشد است. کاربردهای آن در صنایعی مانند مراقبتهای بهداشتی، خرده فروشی، امنیت، کشاورزی و بسیاری دیگر ارزش اقتصادی ایجاد میکند.
- برنامه شناسایی تصویر برای آنالیز چهره: آنالیز چهره یک برنامه شناخت تصویر برجسته است. روشهای مدرن ML امکان استفاده از منابع ورودی ویدیویی هر دوربین دیجیتال یا وب کم را میدهد. در چنین برنامههایی، نرمافزار شناسایی تصویر از الگوریتمهای هوش مصنوعی برای تشخیص چهره همزمان، تخمین حالت چهره، همترازی چهره، تشخیص جنسیت، تشخیص لبخند، تخمین سن و تشخیص چهره با استفاده از یک شبکه عصبی کانولوشنال عمیق استفاده میکند.
- شناسایی تصویر برای تجزیه و تحلیل تصویر پزشکی: فناوری تشخیص بصری به طور گسترده در صنعت پزشکی استفاده میشود تا رایانهها تصاویری را که به طور معمول در طول دوره درمان به دست میآورند درک کنند. تجزیه و تحلیل تصویر پزشکی در حال تبدیل شدن به زیرمجموعه بسیار سودآور هوش مصنوعی است.
- شناسایی تصویر برای نظارت بر حیوانات: سیستمهای شناسایی تصاویر مبتنی بر یادگیری ماشین در کشاورزی از تکنیکهای جدیدی استفاده میکنند که برای تشخیص نوع حیوان و اعمال آن آموزش دیدهاند. نرمافزار شناسایی تصاویر مبتنی بر هوش مصنوعی برای نظارت بر حیوانات در کشاورزی استفاده میشود، جایی که میتوان دامها را از راه دور برای تشخیص بیماری، تشخیص ناهنجاری، مطابقت با دستورالعملهای رفاه حیوانات، اتوماسیون صنعتی و موارد دیگر نظارت کرد.
- تشخیص الگو و اشیا: فناوریهای شناسایی عکس و تشخیص ویدیو با هوش مصنوعی برای شناسایی افراد، الگوها، آرمها، اشیاء، مکانها، رنگها و اشکال مفید هستند. قابلیت سفارشیسازی شناسایی تصویر، امکان استفاده از آن را به همراه چندین برنامه نرمافزاری فراهم میکند. به عنوان مثال، پس از اینکه یک برنامه شناسایی تصویر برای شناسایی افراد در یک قاب ویدیویی اقدام کرد، میتوان از آن برای شمارش افراد استفاده کرد.
- شناسایی خودکار تصویر گیاه: شناسایی گیاهان مبتنی بر تصویر توسعه سریعی داشته است و در حال حاضر در تحقیقات و کاربردهای مدیریت منابع طبیعی استفاده گستردهای دارد. بر اساس یک مقاله تحقیقاتی که اخیرا چاپ شده است دقت شناسایی تصویر برای تعیین خانواده گیاهی، اشکال رشد، شکل زندگی و فراوانی منطقهای تجزیه و تحلیل شده است. این ابزار تشخیص جستجوی تصویر را با استفاده از عکس یک گیاه با نرم افزار تطبیق تصویر انجام میدهد تا نتایج را در پایگاه داده آنلاین جستجو کند.
- شناسایی تصویر غذا: شناسایی تصویر مبتنی بر یادگیری عمیق انواع مختلف غذا برای ارزیابی رژیم غذایی به کمک رایانه را بررسی میکند. بنابراین، برنامههای کاربردی نرمافزار شناسایی تصاویر برای بهبود دقت اندازهگیریهای فعلی دریافت رژیم غذایی با تجزیه و تحلیل تصاویر غذایی گرفتهشده توسط دستگاههای تلفن همراه و به اشتراکگذاشتهشده در رسانههای اجتماعی ایجاد شدهاند.
- شناسایی جستجوی تصویر: شناسایی جستجوی تصویر یا جستجوی بصری از ویژگیهای بصری آموخته شده از یک شبکه عصبی عمیق برای توسعه روشهای کارآمد و مقیاسپذیر برای بازیابی تصویر استفاده میکند. هدف در موارد استفاده از جستجوی بصری، انجام بازیابی تصاویر مبتنی بر محتوا برای برنامههای کاربردی آنلاین شناخت تصویر است. محققان یک فرهنگ لغت تصویری در مقیاس بزرگ را از مجموعه آموزشی ویژگیهای شبکه عصبی برای حل این مشکل چالش برانگیز ایجاد کردهاند.
2 پاسخ
با سلام
مطلب جامع و مفیدی بود
تشکر از تلاش برای تهیه مطالب مفید
با سلام و عرض ادب خدمت شما بزرگوار. خوشحالم که مطلب مورد توجه شما بوده است.
تیم پشتیبانی الکتروهایو