زمان تخمینی مطالعه: 15 دقیقه
الکتروهایو در این مقاله همه چیزهایی را که باید در مورد طبقهبندی تصویر(کلاسبندی تصویر) بدانید را پوشش میدهد که در واقع وظیفه بینایی رایانه برای شناسایی چیزی است که یک تصویر نشان میدهد. امروزه استفاده از شبکههای عصبی کانولوشن (CNN) روشی پیشرفته برای Image Classification است.
چرا طبقهبندی تصاویر مهم است؟
ما امروزه در عصر داده زندگی میکنیم. با تبدیل شدن اینترنت اشیا (IoT) و هوش مصنوعی (AI) به فناوریهای فراگیر، اکنون حجم عظیمی از داده تولید میشوند. دادهها از نظر فرم متفاوت هستند و میتوانند به صورت گفتار، متن، تصویر یا ترکیبی از هر یک از اینها باشند. دادههای تولید شده در قالب عکس یا فیلم، سهم قابل توجهی از ایجاد دادههای جهانی را تشکیل میدهند.حوزه AIoT، ترکیبی از هوش مصنوعی و IoT، توسعه سیستمهای بسیار مقیاسپذیر را امکانپذیر میسازد که از یادگیری ماشین برای تجزیه و تحلیل دادههای توزیع شده استفاده میکنند.
نیاز به هوش مصنوعی برای درک دادههای تصویر
از آنجایی که حجم عظیمی از دادههای تصویری که از دوربینها و حسگرها بهدست میآوریم بدون ساختار هستند، برای تجزیه و تحلیل کارآمد تصاویر به تکنیکهای پیشرفته مانند الگوریتمهای یادگیری ماشینی وابسته هستیم. کلاسبندی تصویر احتمالاً مهمترین بخش تجزیه و تحلیل تصویر دیجیتال است. این تکنیک از مدلهای یادگیری عمیق مبتنی بر هوش مصنوعی برای تجزیه و تحلیل تصاویر برای کارهای خاص استفاده میکند که دقت آنها از سطح انسانی (مثلاً در تشخیص چهره) فراتر رفته است.
از آنجایی که هوش مصنوعی از نظر محاسباتی بسیار فشرده است و شامل انتقال مقادیر عظیمی از اطلاعات بصری بالقوه حساس است، پردازش دادههای تصویر در فضای ابری با محدودیتهای شدیدی همراه است. بنابراین، یک روند بزرگ در حال ظهور به نام Edge AI وجود دارد که هدف آن انتقال وظایف یادگیری ماشینی (ML) از ابر به لبه است. این کار باعث میشود تا محاسبات ML را به منبع داده، به ویژه به دستگاههای لبه (رایانه) که به دوربینها متصل هستند، نزدیک کنید. انجام یادگیری ماشین برای شناسایی تصویر در لبه، غلبه بر محدودیتهای ابر از نظر حریم خصوصی، عملکرد بلادرنگ، کارایی، استحکام و موارد دیگر را ممکن میسازد. از این رو، استفاده از هوش مصنوعی Edge برای بینایی کامپیوتر، مقیاسبندی برنامههای شناسایی تصویر را در سناریوهای دنیای واقعی ممکن میسازد.
طبقهبندی تصویر پایه بینایی کامپیوتری
حوزه بینایی کامپیوتر شامل مجموعهای از مشکلات اصلی مانند طبقهبندی تصویر، محلیسازی، تقسیمبندی تصویر و تشخیص اشیا است. در این میان، طبقهبندی تصاویر را میتوان مسئله اساسی در نظر گرفت. این مبنایی برای سایر مشکلات بینایی کامپیوتری است. برنامههای طبقهبندی تصویر در بسیاری از زمینه ها مانند تصویربرداری پزشکی، شناسایی اشیا در تصاویر ماهوارهای، سیستمهای کنترل ترافیک، تشخیص چراغ ترمز، بینایی ماشین و غیره استفاده میشود.
طبقهبندی تصویر چیست؟
طبقهبندی تصویر وظیفه دستهبندی و اختصاص برچسبها به گروههایی از پیکسلها یا بردارها در یک تصویر بر اساس قوانین خاص را گویند. قانون طبقهبندی را میتوان از طریق یک یا چند مشخصه طیفی یا بافتی اعمال کرد. تکنیکهای طبقهبندی تصاویر عمدتاً به دو دسته تقسیم میشوند: تکنیکهای طبقهبندی تصاویر تحت نظارت(ناظر) و بدون نظارت(ناظر).
– طبقهبندی بدون نظارت Unsupervised
تکنیک طبقهبندی بدون نظارت یک روش کاملاً خودکار است که از دادههای آموزشی استفاده نمیکند. این بدان معناست که الگوریتمهای یادگیری ماشین برای تجزیه و تحلیل و خوشهبندی مجموعههای داده بدون برچسب با کشف الگوهای پنهان یا گروههای داده بدون نیاز به دخالت انسان استفاده میشوند. با کمک یک الگوریتم مناسب، خصوصیات خاص یک تصویر به طور سیستماتیک در مرحله پردازش تصویر شناسایی میشوند. تشخیص الگو و خوشهبندی تصویر دو مورد از رایجترین روشهای طبقهبندی تصویر هستند که در اینجا استفاده میشوند. دو الگوریتم محبوب که برای طبقهبندی تصاویر بدون نظارت استفاده میشوند عبارتند از «K-mean» و «ISODATA».
- K-means یک الگوریتم طبقهبندی بدون نظارت است که اشیاء را بر اساس ویژگیهای آنها به K دسته گروهبندی میکند. که به آن “خوشهبندی” نیز میگویند. خوشهبندی K-means یکی از سادهترین و محبوبترین الگوریتمهای یادگیری ماشینی بدون نظارت است.
- ISODATA مخفف “تکنیک تجزیه و تحلیل دادههای خودسازماندهی تکراری” است، این یک روش بدون نظارت است که برای کلاسبندی تصویر(Image Classification) استفاده میشود. رویکرد ISODATA شامل روشهای تکراری است که از فاصله اقلیدسی به عنوان معیار تشابه برای خوشهبندی عناصر داده در کلاسهای مختلف استفاده میکند. در حالی که k-means فرض میکند که تعداد خوشهها از قبل مشخص است، الگوریتم ISODATA تعداد متفاوتی از خوشهها را امکانپذیر میکند.
– طبقهبندی تحت نظارت
روشهای طبقهبندی تصویر نظارت شده از نمونههای مرجع طبقهبندیشده قبلی برای آموزش طبقهبندیکننده و متعاقباً طبقهبندی دادههای جدید و ناشناخته استفاده میکنند. بنابراین، تکنیک طبقهبندی نظارت شده، فرآیند انتخاب بصری نمونههای دادههای آموزشی در تصویر و تخصیص آنها به دستههای از پیش انتخابشده، از جمله پوشش گیاهی، جادهها، منابع آب و ساختمانها است. این کار برای ایجاد معیارهای آماری برای اعمال روی تصویر کلی انجام میشود.
– روشهای طبقهبندی تصاویر
دو تا از متداولترین روشها برای طبقهبندی تصویر کلی از طریق دادههای آموزشی، «حداکثر احتمال maximum likelihood» و «حداقل فاصله minimum distance» هستند. برای مثال، طبقهبندی «حداکثر احتمال» از ویژگیهای آماری دادهها استفاده میکند که در آن انحراف استاندارد و مقادیر میانگین هر بافتی وجود دارد و در ابتدا شاخصهای طیفی تصویر مورد تجزیه و تحلیل قرار میگیرند. سپس احتمال جدا شدن هر پیکسل از کلاسها با استفاده از توزیع نرمال برای پیکسلهای هر کلاس محاسبه میشود. علاوه بر این، از چند روش آمار کلاسیک و روابط احتمالی نیز در آن استفاده میشود. در نهایت، پیکسلها به دستهای از ویژگیها علامتگذاری میشوند که بیشترین احتمال را نشان میدهند.
طبقهبندی تصویر چگونه کار میکند؟
یک کامپیوتر یک تصویر را در قالب پیکسل تجزیه و تحلیل میکند و این کار را با در نظر گرفتن تصویر به عنوان آرایهای از ماتریسها با اندازه ماتریس وابسته به وضوح تصویر انجام میدهد. به زبان ساده، کلاسبندی تصویر در بینایی کامپیوتر، تجزیه و تحلیل این دادههای آماری با استفاده از الگوریتمها است. در پردازش تصویر دیجیتال، طبقهبندی تصویر با گروهبندی خودکار پیکسلها در دستههای مشخص یا به اصطلاح «کلاسها» انجام میشود.
الگوریتمها تصویر را به مجموعهای از برجستهترین ویژگیهای آن تفکیک میکنند و حجم کاری طبقهبندیکننده نهایی را کاهش میدهند. این ویژگیها به طبقهبندیکننده ایده میدهد که تصویر چه چیزی را نشان میدهد و در چه طبقهای میتواند در نظر گرفته شود. فرآیند استخراج مشخصه مهمترین مرحله در دستهبندی یک تصویر را تشکیل میدهد زیرا بقیه مراحل به آن بستگی دارد. کلاسبندی تصویر، بهویژه طبقهبندی تحت نظارت، به شدت به دادههای تغذیهشده به الگوریتم وابسته است. یک مجموعه داده طبقهبندی به خوبی بهینه شده در مقایسه با یک مجموعه داده بد با عدم تعادل دادهها بر اساس کلاس و کیفیت پایین تصاویر و حاشیه نویسی تصاویر عالی عمل میکند.
طبقهبندی تصاویر با استفاده از یادگیری ماشین
شناسایی تصویر با یادگیری ماشین از پتانسیل الگوریتمها برای یادگیری دانش پنهان از مجموعه دادههای نمونه سازمانیافته و سازماننیافته (Supervised Learning) استفاده میکند. محبوبترین تکنیک یادگیری ماشین یادگیری عمیق است که در آن لایههای پنهان زیادی در یک مدل استفاده میشود.
– پیشرفتهای اخیر در طبقهبندی تصاویر
با ظهور یادگیری عمیق، در ترکیب با سختافزار قوی هوش مصنوعی و پردازندههای گرافیکی، میتوان عملکرد فوقالعادهای را در کارهای طبقهبندی تصویر به دست آورد. از این رو، یادگیری عمیق موفقیتهای بزرگی را در زمینه شناسایی تصویر، تشخیص چهره و الگوریتمهای طبقهبندی تصویر به ارمغان آورد که عملکردی بالاتر از سطح انسانی و تشخیص اشیا در زمان واقعی را به دست میآورند. علاوه بر این، طی چند سال گذشته جهش زیادی در عملکرد استنتاج الگوریتم وجود داشته است.
- به عنوان مثال، در سال 2017، الگوریتم Mask R-CNN با زمان استنتاج 330 میلیثانیه در هر فریم، سریعترین آشکارساز شی بلادرنگ در معیار MS COCO بود.
- در مقایسه، الگوریتم YOLOR منتشر شده در سال 2021 به زمان استنتاج 12 میلیثانیه بر روی همان معیار میرسد و در نتیجه از الگوریتمهای یادگیری عمیق YOLOv3 و YOLOv4 پیشی میگیرد.
- عرضههای YOLOv7 و YOLOv8 (2023) نشاندهنده پیشرفتهترین حالتی است که از نظر سرعت و دقت از همه مدلهای شناخته شده قبلی از جمله YOLOR پیشی میگیرد.
- با Segment Anything Model (SAM)، Meta AI عملکرد برتر جدیدی را برای تقسیمبندی نمونههای تصویر منتشر کرد. SAM ماسکهای شی با کیفیت بالا را از اعلانهای ورودی تولید میکند.
– مزایای یادگیری عمیق در مقابل پردازش تصویر سنتی
در مقایسه با رویکرد مرسوم بینایی کامپیوتری در پردازش تصویر اولیه در حدود دو دهه پیش، یادگیری عمیق تنها به دانش مهندسی یک ابزار یادگیری ماشین نیاز دارد. برای ایجاد ویژگیهای دست ساز نیازی به تخصص در زمینههای بینایی ماشین خاصی ندارد. در هر صورت، یادگیری عمیق نیاز به برچسبگذاری دستی دادهها برای تفسیر نمونههای خوب و بد دارد که به عنوان حاشیهنویسی تصویر شناخته میشود. فرآیند به دست آوردن دانش یا استخراج بینش از دادههای برچسبگذاری شده توسط انسان، یادگیری تحت نظارت نامیده میشود. فرآیند ایجاد چنین دادههای برچسبگذاریشده برای آموزش مدلهای هوش مصنوعی به کار انسانی خستهکننده نیاز دارد(به عنوان مثال، برای حاشیهنویسی موقعیتهای ترافیکی منظم در رانندگی خودران). با این حال، امروزه مجموعه دادههای بزرگی با میلیونها داده برچسبگذاری شده با وضوح بالا از هزاران دسته مانند ImageNet، LabelMe، Google OID یا MS COCO داریم.
طبقهبندی تصویر CNN
طبقهبندی تصاویر را میتوان به عنوان کار طبقهبندی تصاویر به یک یا چند کلاس از پیش تعریف شده در نظر گرفت. اگرچه وظیفه طبقهبندی یک تصویر برای انسان غریزی و عادی است، اما برای یک سیستم خودکار تشخیص و طبقهبندی تصاویر بسیار چالش برانگیزتر است.
– موفقیت شبکههای عصبی
در میان شبکههای عصبی عمیق (DNN)، شبکه عصبی کانولوشنال (CNN) نتایج بسیار خوبی را در وظایف بینایی کامپیوتر، بهویژه در کلاسبندی تصویر، نشان داده است. شبکه عصبی کانولوشنال (CNN یا ConvNet) نوع خاصی از شبکه عصبی چند لایه است که از مکانیسم سیستمهای نوری و عصبی انسان الهام گرفته شده است. در سال 2012، یک شبکه عصبی پیچیده عمیق به نام AlexNet عملکرد بسیار خوبی در چالش شناسایی تصویری در مقیاس بزرگ ImageNet (ILSVRC) نشان داد. این شروع استفاده گسترده و توسعه مدلهای شبکه عصبی کانولوشن (CNN) مانند VGGNet، GoogleNet، ResNet، DenseNet و بسیاری دیگر را نشان داد.
– شبکه عصبی کانولوشنال (CNN)
CNN چارچوبی است که با استفاده از مفاهیم یادگیری ماشین توسعه یافته است. سیانانها میتوانند به تنهایی و بدون نیاز به دخالت انسان، از دادهها یاد بگیرند و آموزش ببینند. در واقع، در هنگام استفاده از CNN ها، فقط مقداری پیش پردازش مورد نیاز است. آنها فیلترهای تصویر خود را توسعه داده و تطبیق میدهند، که باید برای اکثر الگوریتمها و مدلها به دقت کدگذاری شوند. چارچوبهای CNN دارای مجموعهای از لایهها هستند که عملکردهای خاصی را انجام میدهند تا CNN را قادر به انجام این عملکردها کند.
– معماری CNN و لایهها
واحد اصلی یک چارچوب CNN با عنوان یک نورون شناخته میشود. مفهوم نورونها بر اساس نورونهای عصبی انسانی است، جایی که سیناپسها به دلیل فعال شدن نورونها رخ میدهند. اینها توابع آماری هستند که میانگین وزنی ورودیها را محاسبه میکنند و یک تابع فعالساز را برای نتیجه تولید شده اعمال میکنند. لایهها مجموعهای از نورونها هستند که هر لایه عملکرد خاصی دارد.
یک سیستم CNN ممکن است بین 3 تا 150 یا حتی بیشتر لایه داشته باشد در واقع عبارت “عمیق” در شبکههای عصبی عمیق به تعداد لایهها اشاره دارد. خروجی یک لایه به عنوان ورودی لایه دیگر عمل میکند. شبکههای عصبی چند لایه عمیق شامل Resnet50 (50 لایه) یا ResNet101 (101 لایه) است.
لایههای CNN میتوانند از چهار نوع اصلی باشند: لایه کانولوشن، لایه ReLu، لایه pooling و لایه کاملاً متصل.
- لایه کانولوشن: کانولوشن کاربرد ساده یک فیلتر برای ورودی است که منجر به فعالسازی میشود. لایه کانولوشن دارای مجموعهای از فیلترهای قابل آموزش است که محدوده دریافتی کمی دارند اما میتوان از آنها تا عمق کامل(full dept) دادههای ارائه شده استفاده کرد. لایههای کانولوشن بلوکهای ساختمانی اصلی هستند که در شبکههای عصبی کانولوشن استفاده میشوند.
- لایه ReLu: لایههای ReLu که به عنوان لایههای واحد خطی اصلاحشده نیز شناخته میشوند، توابع فعالسازی هستند که برای کاهش بیشبرازش(overfitting) و ایجاد دقت و اثربخشی CNN اعمال میشوند. آموزش مدلهایی که این لایهها را دارند راحتتر است و نتایج دقیقتری تولید میکند.
- لایه ترکیب(Pooling): این لایه نتیجه تمام نورونهای لایه قبل از خود را جمع آوری میکند و این دادهها را پردازش میکند. وظیفه اصلی یک لایه ترکیب، کاهش تعداد فاکتورهای در نظر گرفته شده و ارائه خروجی ساده است.
- لایه Fully-Connected: این لایه آخرین لایه خروجی برای مدلهای CNN است که ورودی دریافتی از لایههای قبل از خود را هموار میکند و نتیجه را برمیگرداند.
کاربردهای طبقهبندی تصویر
چند سال پیش، موارد استفاده اولیه طبقهبندی تصویر را میتوان عمدتاً در برنامههای امنیتی یافت. اما امروزه طبقهبندی تصاویر در طیف گستردهای از صنایع اهمیت پیدا کردهاند، مثالهایی از موارد استفاده در مراقبتهای بهداشتی، تولید صنعتی، شهرهای هوشمند، بیمه و حتی اکتشاف فضا را نام برد. یکی از دلایل جهش کاربرد این حوزه، افزایش روزافزون دادههای بصری در دسترس و پیشرفتهای سریع در فناوری محاسبات پیشرفته است. کلاسبندی تصویر روشی برای استخراج ارزش از این دادهها است. دادههای بصری که بهعنوان یک دارایی استراتژیک استفاده میشوند دارای ارزش ویژه هستند، زیرا هزینههای ذخیرهسازی و مدیریت آنها بیش از ارزشی است که از طریق برنامههای کاربردی در سراسر کسبوکار به دست میآید.
کاربردهای زیادی برای طبقهبندی تصاویر وجود دارد. موارد استفاده رایج از این تکنولوژی عبارتند از:
- بازرسی خودکار و کنترل کیفیت
- تشخیص اشیا در خودروهای بدون راننده
- تشخیص سلولهای سرطانی در اسلایدهای پاتولوژی
- تشخیص چهره در امنیت
- نظارت بر ترافیک و تشخیص ازدحام
- تقسیمبندی مشتریان خرده فروشی
- نقشهبرداری کاربردی اراضی
سخن پایانی
محققانی که در زمینههای تحلیل تصویر و بینایی رایانهای کار میکنند، میدانند که استفاده از هوش مصنوعی، بهویژه CNN، گامی انقلابی به جلو در طبقهبندی تصاویر(کلاسبندی تصویر) است. از آنجایی که CNN ها مدلهایی خودآموز هستند، اثربخشی آنها تنها زمانی افزایش مییابد که دادههای بیشتری در قالب تصاویر حاشیهنویسی (داده های دارای برچسب) به آنها داده شود.