این مقاله به تشخیص تصویر، به عنوان کاز هوش مصنوعی (AI) و بینایی ماشین میپردازد. تشخیص تصویر با یادگیری عمیق، یکی از کاربردهای کلیدی از بینایی مبتنی بر هوش مصنوعی است و امروزه برای راهاندازی طیف گستردهای از موارد استفاده در دنیای واقعی به کار میرود. در ادامه، ما یک نمای کلی جامع از روشها و پیادهسازیهای پیشرفته فناوری یادگیری ماشین در تشخیص تصویر ارائه خواهیم داد.
تشخیص تصویر با هوش مصنوعی
تشخیص تصویر، وظیفه شناسایی اشیاء مورد نظر درون یک تصویر و تشخیص اینکه تصویر به چه دستهای تعلق دارد را بر عهده دارد. اصطلاحات تشخیص تصویر، تشخیص عکس دارای معانی مترادفی هستند.
زمانی که ما به صورت بصری یک شیء یا صحنهای را میبینیم، به طور خودکار اشیاء را به عنوان نمونههای مجزا شناسایی کرده و آنها را با تعاریف منحصربهفرد مرتبط میکنیم. با این حال، تشخیص بصری برای ماشینها کار بسیار پیچیدهای است که نیازمند قدرت پردازش قابل توجهی میباشد.
تشخیص بصری با هوش مصنوعی یک مسئله تحقیقاتی دیرینه در زمینه پردازش تصویر رایانهای است. در حالی که روشهای مختلفی برای تقلید از بینایی انسان تکامل یافته است، هدف مشترک تشخیص تصویر، طبقهبندی اشیاء شناسایی شده در دستههای مختلف (تعیین دستهای که یک تصویر به آن تعلق دارد) است. بنابراین، به آن تشخیص اشیاء نیز گفته میشود.
در سالهای گذشته، یادگیری ماشین، به ویژه فناوری یادگیری عمیق، در بسیاری از وظایف مربوط به بینایی رایانهای و درک تصویر، به موفقیتهای بزرگی دست یافته است. بدین ترتیب، روشهای تشخیص تصویر با یادگیری عمیق از نظر عملکرد (فریم بر ثانیه پردازششده) و انعطافپذیری به بهترین نتایج دست مییابند. در ادامه این مقاله، بهترین الگوریتمهای یادگیری عمیق و مدلهای هوش مصنوعی برای تشخیص تصویر را پوشش خواهیم داد.
معنای تشخیص تصویر هوش مصنوعی و تعریف آن
در حوزه پردازش تصویر رایانهای، اصطلاحاتی مانند بخشبندی، طبقهبندی، تشخیص و آشکارسازی شیء اغلب به صورت مترادف به کار میروند و وظایف مختلف با هم تداخل دارند. در حالی که این موضوع عمدتاً مشکلی ایجاد نمیکند، اما اگر فرآیند کاری شما نیازمند انجام یک کار خاص به صورت ویژه باشد، این اصطلاحات میتوانند باعث سردرگمی شوند.
تشخیص تصویر هوش مصنوعی در مقابل پردازش تصویر رایانهای
اصطلاحات تشخیص تصویر و پردازش تصویر رایانهای اغلب به صورت جایگزین به کار میروند، اما در واقع با هم تفاوت دارند. در حقیقت، تشخیص تصویر کاربردی از پردازش تصویر رایانهای است که اغلب به بیش از یک وظیفه پردازش تصویر رایانهای، مانند آشکارسازی شیء، شناسایی تصویر و طبقهبندی تصویر نیاز دارد.
-
پردازش تصویر رایانهای (Computer Vision): یک حوزه گسترده است که به رایانهها توانایی درک و تحلیل محتوای تصاویر و ویدیوها را میدهد. این حوزه شامل وظایف مختلفی مانند تشخیص اشیاء، ردیابی حرکت، درک صحنه، و تفسیر تصاویر پزشکی میشود.
-
تشخیص تصویر هوش مصنوعی (AI Image Recognition): وظیفه خاصتری در حوزه پردازش تصویر رایانهای است که بر شناسایی اشیاء و طبقهبندی تصاویر به دستههای از پیش تعریفشده تمرکز دارد. تشخیص تصویر از مجموعهای از تکنیکهای پردازش تصویر برای استخراج ویژگیهای کلیدی از یک تصویر و سپس استفاده از آن ویژگیها برای طبقهبندی تصویر به یک دسته خاص استفاده میکند.
تشخیص تصویر در مقابل آشکارسازی تصویر
اصطلاحات تشخیص بصری و آشکارسازی تصویر اغلب به جای یکدیگر به کار میروند. با این حال، تفاوتهای فنی مهمی بین آنها وجود دارد.
آشکارسازی تصویر (Image Detection)
آشکارسازی تصویر وظیفهای است که یک تصویر را به عنوان ورودی میگیرد و اشیاء مختلف موجود در آن را پیدا میکند. نمونهای از این کار، تشخیص چهره است که در آن الگوریتمها به دنبال الگوهای چهره در تصاویر میگردند (به مثال زیر مراجعه کنید). هنگامی که ما به طور دقیق با آشکارسازی سروکار داریم، اهمیت اشیاء شناسایی شده اهمیتی ندارد. هدف آشکارسازی تصویر تنها تمایز بین اشیاء برای تعیین تعداد موجودیتهای متمایز موجود در تصویر است. بنابراین، قابهای حاشیهدار به دور هر شیء جداگانه کشیده میشوند.
تشخیص تصویر (Image Recognition)
تشخیص بصری وظیفهای است که اشیاء مورد نظر را در یک تصویر شناسایی کرده و تشخیص میدهد که آنها به چه دسته یا کلاسی تعلق دارند. به عبارت دیگر، تشخیص تصویر برچسبگذاری اشیاء کشفشده با یک برچسب از مجموعه برچسبهای از پیش تعریفشده تمرکز دارد.
برای درک بهتر تفاوت، به مثال زیر توجه کنید:
فرض کنید تصویری از یک گربه نشسته روی چمن دارید.
آشکارسازی تصویر: با موفقیت یک گربه را در تصویر تشخیص میدهد و یک قاب حاشیهدار دور آن میکشد.
تشخیص تصویر: علاوه بر تشخیص وجود یک گربه، آن را بهعنوان «گربه» طبقهبندی میکند.
تشخیص تصویر هوش مصنوعی چگونه کار میکند؟
با استفاده از پردازش تصویر رایانهای سنتی
رویکرد سنتی پردازش تصویر رایانهای به تشخیص تصویر، شامل یک توالی (پایپلاین پردازش تصویر) از فیلترینگ تصویر، بخشبندی تصویر، استخراج ویژگی و طبقهبندی مبتنی بر قانون است. با این حال، مهندسی چنین پایپلاینهایی نیازمند تخصص عمیق در پردازش تصویر و پردازش تصویر رایانهای، زمان توسعه و آزمایش زیاد همراه با تنظیم دستی پارامترها است. به طور کلی، سیستمهای تشخیص تصویر سنتی مبتنی بر رایانه و پیکسل از نظر قابلیت ارتقاء یا توانایی استفاده مجدد در سناریوها/موقعیتهای مختلف بسیار محدود هستند.
با استفاده از یادگیری ماشین و یادگیری عمیق
از طرف دیگر، تشخیص تصویر با یادگیری ماشین از الگوریتمها برای یادگیری دانش پنهان از مجموعهای از نمونههای خوب و بد (نگاه کنید به یادگیری با نظارت در مقابل یادگیری بدون نظارت) استفاده میکند. محبوبترین روش یادگیری ماشین، یادگیری عمیق است که در آن از لایههای پنهان متعدد یک شبکه عصبی در یک مدل استفاده میشود.
یادگیری با نظارت (Supervised Learning)
رویکرد یادگیری ماشینی که در آن برچسبهای صحیح برای دادههای آموزشی ارائه میشود. الگوریتم یادگیری ماشین با استفاده از دادههای آموزشی، یک مدل را برای پیشبینی برچسبهای دادههای جدید (تصاویر جدید) آموزش میدهد.
یادگیری بدون نظارت (Unsupervised Learning)
رویکرد یادگیری ماشینی که در آن دادههای آموزشی بدون برچسب ارائه میشوند. الگوریتم یادگیری ماشین الگوها یا ساختارهای پنهان را در دادهها کشف میکند.
معرفی یادگیری عمیق، همراه با سختافزار قدرتمند هوش مصنوعی و پردازندههای گرافیکی (GPU)، پیشرفتهای بزرگی را در زمینه تشخیص تصویر رقم زد. با یادگیری عمیق، الگوریتمهای طبقهبندی تصویر و تشخیص چهره به عملکردی فراتر از انسان و تشخیص اشیاء در زمان واقعی دست مییابند. با این حال، دستیابی به تعادل بین عملکرد و کارایی محاسباتی همچنان یک چالش باقی مانده است. سختافزار و نرمافزار با مدلهای یادگیری عمیق باید کاملاً همسو باشند تا بر مشکلات هزینهای پردازش تصویر رایانهای غلبه شود. بنابراین، توانایی استفاده همیشگی از جدیدترین الگوریتمها تأثیر مستقیمی بر هزینهها دارد: الگوریتم قدرتمند و کارآمد نیازمند سختافزاری چندین برابر ارزانتر است و یا در مقایسه با الگوریتمهای قدیمی، به عملکرد چندین برابر بهتر روی سختافزار مشابه دست مییابد.
پیشرفت الگوریتمهای پردازش تصویر رایانهای
در طول سالها، شاهد جهشهای قابل توجهی در عملکرد الگوریتمهای پردازش تصویر رایانهای بودهایم:
سال ۲۰۱۷، الگوریتم Mask RCNN سریعترین آشکارساز اشیاء در زمان واقعی روی بنچمارک MS COCO بود که زمان استنتاج آن ۳۳۰ میلیثانیه به ازای هر فریم بود.
در مقایسه، الگوریتم YOLOR که در سال ۲۰۲۱ منتشر شد، به زمان استنتاج ۱۲ میلیثانیه روی همان بنچمارک دست یافت و از الگوریتمهای یادگیری عمیق محبوب YOLOv4 و YOLOv3 فراتر رفت.
جولای ۲۰۲۲، الگوریتم YOLOv7 حتی از نظر سرعت و دقت از YOLOR نیز به طور قابل توجهی پیشی گرفت.
سال ۲۰۲۳، مدل YOLOv8 که به تازگی منتشر شد، به عملکردی در بالاترین سطح (SOTA) برای تشخیص اشیاء در زمان واقعی دست یافت. مدل قدرتمند Segment Anything نیز در زمینه بخشبندی تصویر، در حال حاضر SOTA محسوب میشود.
ابتدای سال ۲۰۲۴، YOLOv9 منتشر شد که یک معماری جدید برای آموزش مدلهای هوش مصنوعی تشخیص اشیاء است.
در مقایسه با رویکرد سنتی پردازش تصویر رایانهای در اوایل پردازش تصویر ۲۰ سال پیش، یادگیری عمیق برای ایجاد ویژگیهای دستساز، تنها نیازمند دانش مهندسی در یک ابزار یادگیری ماشین است، نه تخصص در حوزههای خاص پردازش تصویر. در حالی که روشهای اولیه به مقادیر بسیار زیادی داده آموزشی نیاز داشتند، روشهای جدید یادگیری عمیق تنها به دهها نمونه آموزشی نیاز دارند. با این حال، یادگیری عمیق برای برچسبگذاری نمونههای خوب و بد به فرایندی به نام “حاشیهنگاری تصویر” (image annotation) نیازمند است که خود دادهها را به صورت دستی برچسبگذاری میکند. فرایند یادگیری از دادههایی که توسط انسان برچسبگذاری شدهاند، یادگیری با نظارت (supervised learning) نامیده میشود. فرآیند ایجاد چنین دادههای برچسبگذاریشده برای آموزش مدلهای هوش مصنوعی، نیازمند کار انسانی زمانبر است، برای مثال، برچسبگذاری تصاویر و حاشیهنگاری موقعیتهای ترافیکی استاندارد در رانندگی خودکار.
فرآیند سیستمهای تشخیص تصویر هوش مصنوعی
سیستمهای تشخیص تصویر بر اساس چند مرحله کلیدی کار میکنند:
دیتاست حاوی دادههای آموزشی
مدلهای تشخیص تصویر برای آموزش به تصاویر برچسبگذاریشده (فیلم، تصویر، عکس و غیره) به عنوان داده آموزشی نیاز دارند. شبکههای عصبی برای درک نحوهی به نظر رسیدن کلاسهای خاص، به این تصاویر آموزشی از دیتاست گردآوریشده نیاز دارند. به عنوان مثال، یک مدل تشخیص تصویر که حالتهای مختلف بدن را تشخیص میدهد (مدل تخمین پوزیشن) برای درک تمایزات منحصربهفرد بین حالتهای مختلف، به نمونههای متعدد از حالتهای مختلف بدن انسان نیاز دارد.
آموزش شبکههای عصبی برای تشخیص تصویر
تصاویر از دیتاست ساختهشده وارد الگوریتم شبکه عصبی میشوند. این جنبهی یادگیری عمیق یا یادگیری ماشینی در ایجاد یک مدل تشخیص تصویر است. آموزش یک الگوریتم تشخیص تصویر، شناسایی کلاسهای خاص را برای تشخیص تصویر با شبکه عصبی کانولوشنال (Convolutional Neural Network – CNN) امکانپذیر میکند. امروزه چندین چارچوب (framework) معتبر و تستشده برای این اهداف به طور گسترده مورد استفاده قرار میگیرند.
آزمایش مدل هوش مصنوعی
مدل آموزشدیده باید با تصاویری که بخشی از دیتاست آموزشی نیستند، آزمایش شود. این کار برای تعیین قابلیت استفاده، عملکرد و دقت مدل استفاده میشود. بنابراین، حدود ۸۰ تا ۹۰ درصد از کل دیتاست تصویر برای آموزش مدل استفاده میشود، در حالی که دادههای باقیمانده برای آزمایش مدل کنار گذاشته میشوند. عملکرد مدل بر اساس مجموعهای از پارامترها اندازهگیری میشود که نشاندهندهی درصد اطمینان از دقت به ازای هر تصویر تست، شناساییهای نادرست و موارد دیگر است.
تشخیص تصویر هوش مصنوعی با یادگیری ماشین
پیش از آنکه پردازندههای گرافیکی (GPU) به قدرتی برسند که بتوانند از محاسبات موازی عظیم شبکههای عصبی پشتیبانی کنند، الگوریتمهای یادگیری ماشین سنتی، استاندارد طلایی برای تشخیص تصویر بودهاند.
مدلهای یادگیری ماشین تشخیص تصویر
بیایید به سه مورد از محبوبترین مدلهای یادگیری ماشین تشخیص تصویر نگاهی بیندازیم:
-
دستهبندی بردار پشتیبان (Support Vector Machines – SVM) SVMها با ساختن هیستوگرامهایی از تصاویر حاوی اشیاء هدف و همچنین تصاویری که حاوی آنها نیستند، کار میکنند. سپس الگوریتم تصویر تست را برداشته و مقادیر هیستوگرام آموزشدیده را با مقادیر بخشهای مختلف تصویر برای بررسی تطابق مقایسه میکند.
-
مدلهای کیسه ویژگی (Bag of Features): مدلهای کیسهی ویژگی مانند تبدیل ویژگی مقیاسناپذیر (SIFT) و نواحی افراطی با ثبات حداکثر (MSER) با گرفتن تصویری که باید اسکن شود و یک تصویر نمونه از شیء موردنظر به عنوان مرجع، کار میکنند. سپس مدل سعی میکند ویژگیهای موجود در تصویر نمونه را بهصورت پیکسلی با بخشهای مختلف تصویر هدف مطابقت دهد تا ببیند آیا تطابقی پیدا میشود.
-
الگوریتم ویولا-جونز (Viola-Jones): الگوریتم ویولا-جونز، یک الگوریتم تشخیص چهره پرکاربرد از دوران قبل از شبکههای عصبی کانولوشنال (CNN)، با اسکن چهرهها و استخراج ویژگیهایی که سپس از یک طبقهبندیکننده تقویتشده عبور داده میشوند، عمل میکند. این کار به نوبهی خود مجموعهای از طبقهبندیکنندههای تقویتشده ایجاد میکند که برای بررسی تصاویر تست استفاده میشوند. برای یافتن یک تطابق موفق، یک تصویر تست باید از هر یک از این طبقهبندیکنندهها خروجی مثبت تولید کند.
مدلهای تشخیص تصویر با یادگیری عمیق
در تشخیص تصویر، استفاده از شبکههای عصبی کانولوشنال (CNN) همچنین به عنوان تشخیص تصویر عمیق (Deep Image Recognition) شناخته میشود. CNN ها توسط روشهای سنتی یادگیری ماشین بیرقیب هستند. CNN ها نه تنها از نظر سرعت در تشخیص تصویر با یادگیری ماشین بینظیر هستند و بهترین نتایج را ارائه میدهند، بلکه میتوانند چندین نمونه از یک شیء را در یک تصویر، حتی اگر تصویر کمی خمیده، کشیده یا به شکل دیگری تغییر شکل داده باشد، تشخیص دهند.
در تشخیص تصویر عمیق، شبکههای عصبی کانولوشنال (CNN) حتی در وظایفی مانند طبقهبندی اشیاء در دستههای بسیار دقیق، مانند نژاد خاص سگ یا گونه پرنده، از انسانها نیز بهتر عمل میکنند. محبوبترین مدلهای یادگیری عمیق مانند YOLO، SSD و RCNN از لایههای کانولوشن برای تجزیه یک تصویر دیجیتال یا عکس استفاده میکنند. در طول آموزش، هر لایه کانولوشن مانند فیلتری عمل میکند که یاد میگیرد قبل از انتقال به لایه بعدی، برخی جنبههای تصویر را تشخیص دهد. یک لایه رنگها، لایه دیگر شکلها و غیره را پردازش میکند. در نهایت، هنگام تعیین اینکه آیا تطابقی پیدا شده است، نتیجه ترکیبی همه این لایهها به طور کلی در نظر گرفته میشود.
الگوریتمهای محبوب تشخیص تصویر هوش مصنوعی
برای تشخیص تصویر یا تشخیص عکس، چند الگوریتم نسبت به سایرین برتری دارند. در حالی که همه این موارد الگوریتمهای یادگیری عمیق هستند، رویکرد اساسی آنها در نحوه تشخیص کلاسهای مختلف اشیاء متفاوت است. بیایید نگاهی به برخی از محبوبترین مدلهای تشخیص تصویر امروز بیندازیم:
شبکه عصبی کانولوشنال مبتنی بر ناحیه سریعتر (Faster R-CNN)
Faster R-CNN (شبکه عصبی کانولوشنال مبتنی بر ناحیه) بهترین عملکرد را در خانواده الگوریتمهای تشخیص تصویر R-CNN دارد که شامل R-CNN و Fast R-CNN میشود. این الگوریتم از یک شبکه پیشنهاد ناحیه (RPN) برای تشخیص ویژگیها به همراه Fast R-CNN برای تشخیص تصویر استفاده میکند که آن را به یک ارتقاء قابل توجه نسبت به نسل قبلی خود تبدیل میکند (توجه: Fast R-CNN در مقابل Faster R-CNN). Faster R-CNN میتواند تصویری را زیر ۲۰۰ میلیثانیه پردازش کند، در حالی که Fast R-CNN برای این کار به ۲ ثانیه یا بیشتر زمان نیاز دارد.
تشخیصگر تکشات (SSD – Single Shot Detector)
الگوریتمهای R-CNN با کشیدن باکسهای حاشیه (Bounding Boxes) اطراف مجموعه پیشنهادی از نقاط روی تصویر که برخی از آنها ممکن است همپوشانی داشته باشند، عمل میکنند. تشخیصگرهای تکشات (SSD) این مفهوم را با تقسیم تصویر به باکسهای حاشیه پیشفرض به شکل یک شبکه بر روی نسبتهای تصویر (Aspect Ratio) مختلف گسستهسازی میکنند. سپس این الگوریتم، نقشههای ویژگی (Feature Maps) به دست آمده از پردازش تصویر در نسبتهای تصویر مختلف را برای مدیریت طبیعی اشیاء با اندازههای مختلف ترکیب میکند. این امر باعث میشود SSDها بسیار انعطافپذیر، دقیق و آسان برای آموزش باشند. یک پیادهسازی از SSD میتواند تصویری را ظرف ۱۲۵ میلیثانیه پردازش کند.
فقط یکبار نگاه میکنی (YOLO – You Only Look Once)
YOLO مخفف You Only Look Once (فقط یکبار نگاه میکنی) است و مطابق با نامش، این الگوریتم تنها یکبار با استفاده از یک اندازه شبکه ثابت، فریم را پردازش میکند و سپس تعیین میکند که یک باکس شبکه حاوی تصویر است یا خیر. برای این منظور، الگوریتم تشخیص شیء از معیار اطمینان (Confidence Metric) و چندین باکس حاشیه درون هر باکس شبکه استفاده میکند. با این حال، این الگوریتم وارد پیچیدگیهای نسبتهای تصویر یا نقشههای ویژگی متعدد نمیشود، بنابراین در حالی که نتایج سریعتری تولید میکند، ممکن است کمی از SSD کمتر دقیق باشد. یک نسخه سبک و بهینهسازیشده برای لبه دستگاه از YOLO به نام Tiny YOLO میتواند یک ویدیو را تا ۲۴۴ فریم در ثانیه یا ۱ تصویر را در ۴ میلیثانیه پردازش کند.
نسخههای محبوب دیگر YOLO عبارتند از:
- YOLOv3
- YOLOv4
- YOLOv5
- YOLOv6
- YOLOv7
- YOLOv8
- YOLOv9
چگونه مدلهای یادگیری عمیق تشخیص تصویر را به کار بگیریم؟
تشخيص تصوير با پایتون
وقتی صحبت از تشخیص تصویر به میان میآید، پایتون زبان برنامهنویسی منتخب برای اکثر دانشمندان داده و مهندسان بینایی ماشین است. این زبان از کتابخانههای بسیار زیادی پشتیبانی میکند که به طور خاص برای گردش کار هوش مصنوعی – از جمله تشخیص و شناسایی تصویر – طراحی شدهاند.
مراحل انجام کار:
1-آماده سازی رایانه
برای اینکه رایانه شما بتواند وظایف تشخیص تصویر با پایتون را انجام دهد، نیاز به دانلود پایتون و نصب بستههای مورد نیاز برای اجرای کارهای تشخیص تصویر، از جمله Keras دارید.
2-Keras چیست؟
Keras یک رابط برنامهنویسی (API) یادگیری عمیق سطح بالا برای اجرای برنامههای کاربردی هوش مصنوعی است. این کتابخانه بر روی TensorFlow/Python اجرا میشود و به کاربران نهایی کمک میکند تا برنامههای یادگیری ماشینی و هوش مصنوعی را با استفاده از کد قابل فهم برای انسان پیادهسازی کنند.
3-استفاده از Colab گوگل
اگر رایانه شما کارت گرافیک ندارد، میتوانید از نمونههای رایگان GPU به صورت آنلاین در Google Colab استفاده کنید. برای طبقهبندی حیوانات، مجموعه داده برچسبگذاری شدهای به نام «Animals-10» وجود دارد که میتوانید آن را در وبسایت Kaggle پیدا کنید. دریافت این مجموعه داده کاملا رایگان است.
4-شروع کدنویسی با پایتون
پس از اینکه با دریافت توکن API، مجموعه داده آنلاین را از Kaggle به دست آوردید، میتوانید پس از بارگذاری مجدد فایلهای ضروری در Google Drive، شروع به کدنویسی با پایتون کنید. برای جزئیات بیشتر در مورد پیادهسازیهای خاص پلتفرم، چندین مقاله خوب در اینترنت وجود دارد که شما را به صورت گام به گام در فرآیند راهاندازی یک محیط برای هوش مصنوعی روی رایانه شخصی یا Colab راهنمایی میکند.
آموزش مدل اختصاصی برای تشخیص تصویر
یک مدل اختصاصی برای تشخیص تصویر، یک مدل یادگیری ماشینی است که به طور خاص برای یک کار تشخیص تصویر خاص طراحی شده است. این کار میتواند شامل استفاده از الگوریتمهای سفارشی یا تغییراتی در الگوریتمهای موجود برای بهبود عملکرد آنها روی تصاویر (به عنوان مثال، بازآموزی مدل) باشد.
در حالی که مدلهای پیشآموزش داده شده، الگوریتمهای قدرتمندی را ارائه میدهند که روی میلیونها نقطه داده آموزش داده شدهاند، اما دلایل زیادی وجود دارد که چرا شما ممکن است بخواهید یک مدل اختصاصی برای تشخیص تصویر ایجاد کنید. برای مثال، ممکن است مجموعهای از تصاویر داشته باشید که با مجموعه دادههای استانداردی که مدلهای تشخیص تصویر فعلی روی آنها آموزش داده شدهاند، بسیار متفاوت باشد. در این حالت، یک مدل اختصاصی میتواند برای یادگیری بهتر ویژگیهای داده شما و بهبود عملکرد استفاده شود.
از طرف دیگر، ممکن است روی یک برنامه جدید کار کنید که در آن مدلهای تشخیص تصویر فعلی به دقت یا عملکرد مورد نیاز دست نمییابند. ایجاد یک مدل اختصاصی بر اساس یک مجموعه داده خاص میتواند یک کار پیچیده باشد و نیازمند جمعآوری داده با کیفیت بالا و حاشیهنویسی تصویر است. این کار به درک خوبی از هر دو حوزه یادگیری ماشینی و بینایی ماشین نیاز دارد.
تشخیص تصویر با هوش مصنوعی: API های ابری در مقابل هوش مصنوعی لبه (Edge AI)
تشخیص تصویر با هوش مصنوعی به دو روش اصلی انجام میشود: API های ابری تشخیص تصویر و هوش مصنوعی لبه (Edge AI). هر کدام از این روشها مزایا و معایب خاص خود را دارند و برای سناریوهای متفاوتی مناسب هستند.
تشخیص تصویر با API های ابری
آسانی استفاده: API های ابری مانند Amazon Rekognition (AWS) و Google Vision API (Google Cloud) راهی آسان برای انجام تشخیص تصویر بر روی تصاویر ارائه میدهند. شما تنها با فراخوانی یک سرویس مبتنی بر ابر میتوانید اشیاء، چهرهها، متن یا دست خط را در تصاویر تشخیص دهید.
ابزار توسعه سریع: API های تشخیص تصویر ابری ابزاری قدرتمند برای توسعهدهندگان هستند تا به سرعت نرمافزار تشخیص تصویر بسازند و مستقر کنند، به خصوص زمانی که بتوان دادهها را به سرور ابری منتقل کرد (مسئله حریم خصوصی، امنیت و قانونی بودن را در نظر بگیرید).
موارد مناسب برای API های ابری
- ایدهپردازی و نمونهسازی اولیه
- راهحلهای با مقیاس کم
- موارد غیر بحرانی (اتصال اینترنت، پهنای باند، استحکام سیستم)
- وظایف غیر بلادرنگ (تأخیر، حجم بالای داده، هزینه زیاد)
محدودیتهای API های ابری
- وابستگی به ابر: نیازمند برقراری دائم اینترنت، که میتواند در صورت قطعی اینترنت مشکل ایجاد کند.
- تأخیر: ارسال داده به ابر و دریافت پاسخ میتواند منجر به تأخیر شود، که برای کاربردهای بلادرنگ مناسب نیست.
- حریم خصوصی و امنیت: ارسال داده به ابر ممکن است مسائل امنیتی و یا نقض حریم خصوصی را به همراه داشته باشد.
- هزینه: پردازش ابری میتواند برای حجم بالای دادهها گران تمام شود.
هوش مصنوعی لبه (Edge AI)
برای غلبه بر محدودیتهای راهحلهای ابری، روندهای جدید تشخیص بصری بر گسترش ابر با استفاده از محاسبات لبه (Edge Computing) با یادگیری ماشین بر روی دستگاه تمرکز دارد. با هوش مصنوعی لبه، پردازش تصویر با هوش مصنوعی به صورت بلادرنگ و بدون نیاز به ارسال داده به ابر انجام میشود. این امر باعث عملکرد بالاتر استنتاج (inference) و استحکام مورد نیاز برای سیستمهای حرفهای میشود.
موارد مناسب برای هوش مصنوعی لبه
- پردازش بلادرنگ ویدیو: تجزیه و تحلیل ویدیو در زمان واقعی، مانند سیستمهای نظارت تصویری
- دستگاههای با توان محاسباتی محدود: هوش مصنوعی لبه میتواند بر روی دستگاههای کوچک با توان پردازشی پایین اجرا شود.
- حریم خصوصی و امنیت: دادهها بر روی دستگاه باقی میمانند و به ابر منتقل نمیشوند.
کاربردهای تشخیص بصری با هوش مصنوعی
فناوری تشخیص تصویر با هوش مصنوعی در حال تبدیل شدن به ضرورتی اجتنابناپذیر در تمامی صنایع است. کاربردهای آن ارزش اقتصادی قابل توجهی را در صنایع مختلف مانند مراقبتهای بهداشتی، خرده فروشی، امنیت، کشاورزی و بسیاری موارد دیگر به ارمغان میآورد. برای دیدن لیست گستردهای از کاربردهای بینایی ماشین و تشخیص تصویر، توصیه میکنیم لیست ما از محبوبترین برنامههای کاربردی بینایی ماشین را همین امروز بررسی کنید.
تشخیص چهره با هوش مصنوعی
تشخیص چهره یکی از برجستهترین کاربردهای تشخیص بصری است. روشهای یادگیری ماشینی مدرن به استفاده از فیدئوی دوربین دیجیتال یا وبکم برای تحلیل همزمان چهرهها امکانپذیر میسازند. در چنین کاربردهایی، نرمافزار تشخیص بصری با استفاده از الگوریتمهای هوش مصنوعی برای موارد زیر به کار میرود:
- تشخیص همزمان چهره
- تخمین زاویه چهره
- همراستاسازی چهره
- تشخیص جنسیت
- تشخیص لبخند
- تخمین سن
- تشخیص چهره با استفاده از شبکه عصبی کانولوشن عمیق
تحلیل چهره با بینایی ماشین به سیستمها این امکان را میدهد تا فریمهای ویدیویی یا عکسها را برای تشخیص هویت، قصد، وضعیت عاطفی و سلامتی، سن یا قومیت تجزیه و تحلیل کنند. برخی از ابزارهای تشخیص چهره برای شبکههای اجتماعی حتی به دنبال کمیتسازی سطوح جذابیت درکشده با امتیازدهی هستند.
سایر وظایف مرتبط با تشخیص چهره شامل شناسایی تصویر چهره، تشخیص چهره و تأیید چهره است که شامل روشهای پردازش تصویری برای یافتن و مطابقت دادن چهره شناسایی شده با تصاویر چهره در یک پایگاه داده میشود. روشهای تشخیص یادگیری عمیق قادرند افراد را در عکسها یا ویدیوها حتی با افزایش سن یا در شرایط نوری چالشبرانگیز شناسایی کنند.
یکی از محبوبترین کتابخانههای نرمافزاری متنباز برای ساخت برنامههای کاربردی تشخیص چهره با هوش مصنوعی، DeepFace نام دارد که قادر به تجزیه و تحلیل تصاویر و ویدیوها است.
تشخیص تصویر با هوش مصنوعی در تحلیل تصاویر پزشکی
فناوری تشخیص تصویر به طور گستردهای در صنعت پزشکی برای درک تصاویر به دست آمده در طول درمان توسط کامپیوترها مورد استفاده قرار میگیرد. تحلیل تصاویر پزشکی در حال تبدیل شدن به زیرمجموعهای بسیار سودآور از هوش مصنوعی است. به عنوان مثال، کارهای متعددی در رابطه با شناسایی ملانوما، نوعی سرطان پوستی کشنده، انجام شده است. نرمافزار تشخیص بصری با یادگیری عمیق امکان پایش تومور در طول زمان را فراهم میکند، برای مثال، برای تشخیص ناهنجاریها در اسکنهای سرطان سینه.
تشخیص تصویر با هوش مصنوعی در کشاورزی، محیط زیست و خرده فروشی
تشخیص بصری با هوش مصنوعی کاربردهای گستردهای در بخشهای مختلف دارد، از جمله کشاورزی، محیط زیست و خرده فروشی. در ادامه به برخی از این موارد اشاره میکنیم:
تشخیص تصویر در کشاورزی
نظارت بر حیوانات
سیستمهای تشخیص تصویر با یادگیری ماشینی در کشاورزی از تکنیکهای جدیدی استفاده میکنند که برای تشخیص نوع حیوان و رفتارهای آن آموزش داده شدهاند. نرمافزار تشخیص بصری با هوش مصنوعی برای نظارت بر حیوانات در دامداری کاربرد دارد. این نرمافزار میتواند به صورت از راه دور برای موارد زیر به کار رود:
-
- تشخیص بیماری
- تشخیص ناهنجاری
- انطباق با دستورالعملهای رفاه حیوانات
- اتوماسیون صنعتی
تشخیص الگو و اشیاء
شناسایی الگو و اشیاء در تصاویر و ویدیوها
فناوری تشخیص الگو و شیء با هوش مصنوعی در عکس و ویدیو برای شناسایی افراد، الگوها، لوگوها، اشیاء، مکانها، رنگها و شکلها مفید است. قابلیت شخصیسازی تشخیص بصری به آن امکان میدهد تا با نرمافزارهای مختلف دیگری نیز ادغام شود. به عنوان مثال، پس از اینکه یک برنامه تشخیص بصری برای تشخیص افراد در فریمهای ویدیویی تخصص پیدا کرد، میتواند برای شمارش افراد استفاده شود، که یک کاربرد محبوب بینایی ماشین در فروشگاههای خرده فروشی است.
تشخیص خودکار گیاهان با تصویر
شناسایی خودکار گونههای گیاهی
شناسایی گیاهان با استفاده از تصویر به سرعت در حال توسعه است و هم اکنون در موارد پژوهشی و مدیریت محیط زیست مورد استفاده قرار میگیرد. یک مقاله تحقیقاتی اخیر، دقت تشخیص گونههای گیاهی را برای تعیین تیره گیاه، شکل ظاهری، نوع حیات و فراوانی منطقهای گیاهان تجزیه و تحلیل کرده است. این ابزار با استفاده از عکس یک گیاه و نرمافزار تطبیق تصویر، جستجوی تصویری را انجام میدهد و نتایج را با یک پایگاه داده آنلاین مطابقت میدهد. نتایج نشان میدهند که دقت تشخیص با هوش مصنوعی بالا است، به طوری که از حدود ۱۵۰۰ عکس، ۷۹.۶ درصد از ۵۴۲ گونه به درستی شناسایی شدند، در حالی که تیره گیاه برای ۹۵ درصد از گونهها به درستی شناسایی شد.
تشخیص تصویر با هوش مصنوعی برای غذا
تشخیص بصری با هوش مصنوعی برای انواع مختلف غذا به کار میرود تا به ارزیابی رژیم غذایی با کمک کامپیوتر کمک کند. بنابراین، برنامههای کاربردی نرمافزار تشخیص تصویر برای بهبود دقت اندازهگیریهای فعلی مصرف غذا با تجزیه و تحلیل تصاویر غذای ثبت شده توسط دستگاههای تلفن همراه و به اشتراک گذاشته شده در شبکههای اجتماعی، توسعه یافتهاند. از این رو، یک برنامه تشخیص بصری برای انجام تشخیص الگو به صورت آنلاین در تصاویری که توسط دانشجویان آپلود میشود، مورد استفاده قرار میگیرد.
تشخیص اشیاء در جستجوی تصویری
تشخیص اشیاء در جستجوی تصویری، یا جستجوی بصری، از ویژگیهای تصویری که از یک شبکه عصبی عمیق آموخته شده است برای توسعه روشهای کارآمد و مقیاسپذیر برای بازیابی تصویر استفاده میکند. هدف در موارد استفاده جستجوی تصویری، انجام بازیابی محتوابی تصاویر برای برنامههای کاربردی آنلاین تشخیص تصویر است. محققان برای حل این مشکل چالشبرانگیز، یک فرهنگ لغت تصویری بزرگمقیاس از مجموعه آموزشی ویژگیهای شبکه عصبی ایجاد کردهاند.
کاربردهای رایج تشخیص تصویر با هوش مصنوعی:
بازرسی و تحلیل پیش بینی کننده در تولید: تشخیص خودکار نقص در محصولات تولیدی با استفاده از تصویر.
سیستمهای ایمنی و نظارت توزیع شده: تشخیص نفوذ خودکار برای برقراری امنیت.
تجزیه و تحلیل خوردگی و تشخیص نشتی در نفت و گاز: سیستمهای تشخیص تصویر برای یافتن مشکلات در لولهها و مخازن.
تشخیص تقلب در بیمه: نرمافزار تشخیص عکس برای شناسایی موارد کلاهبرداری.
شمارش افراد و تحلیل جمعیت در شهرهای هوشمند: شمارش افراد به صورت بلادرنگ برای مدیریت بهتر شهر.
تشخیص سلاح (چاقو، اسلحه): برنامههای تشخیص تصویر برای امنیت عمومی.
ناوبر خودکار وسایل نقلیه و پهپادها: استفاده از تشخیص خودکار برای هدایت اتوماتیک.
03134596234- 09912604660
منبع: Image Recognition: The Basics and Use Cases (2024 Guide)