یکی از مهم‌ترین عملیاتی که در بینایی ماشین (Computer Vision) وجود دارد بخش بندی تصویر یا Segmentation Image است. در بخش‌بندی تصویر، بخش‌هایی از یک تصویر را که به یک کلاس متعلق هستند با هم دسته‌بندی می‌کنند؛ به‌عبارت دیگر، تصاویر یا فریم‌های ویدئویی به بخش‌ها یا اشیای متعدد پارتیشن‌بندی می‌شوند. در ادامه به‌صورت کامل مفهوم بخش بندی تصویر را توضیح داده‌ایم.

Segmentation Image

مقدمه

فرض کنید می‌خواهید از جاده عبور کنید. اولین کاری که انجام می‌دهید چیست؟ معمولاً به چپ و راست نگاه می‌کنید، خودروهای موجود در جاده را بررسی می‌کنید و تصمیم خود را می‌گیرید. مغز ما قادر است در عرض چند میلی ثانیه تجزیه‌وتحلیل کند که چه وسیله‌ نقلیه‌ای (ماشین، اتوبوس، کامیون و غیره) به‌سمت ما می‌آید، اما آیا ماشین‌ها هم می‌توانند این کار را انجام دهند؟

پاسخ این سؤال تا چند سال قبل یک «نه» قاطع بود، اما پیشرفت‌های اخیر در حوزه‌ی بینایی ماشین بازی را تغییر داده است. در حال حاضر ما قادر به ساختن مدل‌های بینایی ماشینی هستیم که می‌توانند اجسام را تشخیص دهند، شکل آن‌ها، جهت حرکت و موارد دیگر را پیش‌بینی کنند.

در این مطلب، شما را با مفهوم بخش‌بندی تصویر آشنا می‌کنیم که یک الگوریتم قدرتمند بینایی ماشین است که براساس ایده تشخیص اشیا (Object Detection) طراحی شده است و سطح کاملاً جدیدی از کار با داده‌های تصویر را امکان‌پذیر می‌کند.

پیشنهاد می‌کنیم با بینایی ماشین آشنا شوید.

تشخیص اشیا (Object Detection) و بخش‌بندی تصویر

بخش بندی تصویر (Image Segmentation) چیست؟‌

بیایید مفهوم بخش‌بندی تصویر را با استفاده از مثالی ساده درک کنیم. تصویر زیر را در نظر بگیرید:

بینایی ماشین و تشخیص اشیا درمورد سگ

در این عکس فقط یک شیء وجود دارد؛ یک سگ. در این حالت می‌توانیم یک مدل طبقه‌بندی ساده بسازیم که پیش‌بینی کند در تصویر داده‌شده یک سگ وجود دارد، اما اگر یک گربه و یک سگ را در یک تصویر واحد داشته باشیم، چطور؟

تشخیص سگ و گربه با استفاده از بخش‌بندی تصویر

در این حالت می‌توانیم یک طبقه‌بندی‌کننده چندکلاسه را آموزش دهیم. حالا مشکل دیگری وجود دارد؛ مکان هیچ‌یک از حیوانات یا اجسام موحود در تصویر را نمی‌دانیم.

اینجاست که محلی‌سازی تصویر (Image Localization) وارد می‌شود. محلی‌سازی تصویر کمک می‌کند تا مکان یک شیء واحد در تصویر داده‌شده را شناسایی کنیم؛ بنابراین در صورت وجود چندین شیء در تصویر، مفهوم تشخیص اشیاء (Object Detection) را خواهیم داشت. در این صورت می‌توانیم مکان و کلاس هر شیء موجود در تصویر را پیش‌بینی کنیم.

بخش‌بندی تصویر و محلی‌سازی تصویر

اما قبل از تشخیص اشیا و حتی قبل از طبقه‌بندی تصویر (Image Classification) باید بدانیم که تصویر از چه چیزی تشکیل شده است؛ اینجاست که بخش‌بندی تصویر مطرح می‌شود.

بخش بندی تصویر (Image Segmentation) چطور کار می‌کند؟

اینکه کل تصویر را هم‌زمان پردازش کنیم ایده‌ی خیلی خوبی نیست؛ زیرا بخش‌هایی در تصویر وجود دارد که هیچ اطلاعاتی ندارند و مفید نیستند. با تقسیم تصویر به بخش‌های مختلف می‌توانیم فقط از بخش‌های مهم برای پردازش تصویر استفاده کنیم. این همان کاری است که در بخش‌بندی تصویر انجام می‌دهیم.

یک تصویر درواقع مجموعه‌ای از پیکسل‌های مختلف است. پیکسل‌هایی که ویژگی‌های مشابه دارند با استفاده از بخش‌بندی تصویر با هم گروه‌بندی می‌شوند. با نگاهی به این تصویر می‌توانیم درک بهتری از مفهوم بخش‌بندی تصویر به دست آوریم:

بخش‌بندی تصویر و محلی‌سازی تصویر

در تشخیص اشیا یک کادر محدودکننده برای هر کلاس در تصویر ساخته می‌شود که برای مثال، سگ یا گربه را در عکس مشخص با آن کادر مشخص می‌کند، اما درمورد شکل جسم اطلاعاتی به ما نمی‌دهد. در این حالت ما فقط مختصات کادر محدودکننده را خواهیم داشت، اما ما می‌خواهیم اطلاعات بیشتری درمورد عکس به دست آوریم؛ به‌همین دلیل، به تکنیک بخش‌بندی تصویر نیاز داریم.

بخش‌بندی تصویر یک ماسک پیکسلی برای هر جسم موجود در تصویر ایجاد می‌کند و درک بسیار دقیق‌تری از اجسام موجود در تصویر به ما می‌دهد.

اما سؤال اینجاست که چرا باید این‌قدر جزئی تصویر را پردازش کنیم؟ آیا نمی‌توان همه مسائل پردازش تصویر را با استفاده از مختصات کادر محدودکننده حل کرد؟ بهتر است برای پاسخ به این سؤال مثالی واقعی بیاوریم.

پیشنهاد می‌کنیم با یادگیری ماشین آشنا شوید.

چرا به بخش بندی تصویر (Image Segmentation) احتیاج داریم؟

سرطان از دیرباز یک بیماری کشنده بوده است. حتی در عصر پیشرفت‌های تکنولوژیکی امروزی، اگر سرطان را در مراحل اولیه تشخیص ندهیم، می‌تواند کشنده باشد. تشخیص هر چه سریع‌تر سلول‌های سرطانی می‌تواند جان میلیون‌ها نفر را نجات دهد.

شکل سلول‌های سرطانی نقش تعیین‌کننده‌ای در تعیین شدت سرطان دارد. احتمالاً باید پاسخ سؤالتان را تا حدی درک کرده باشید. تشخیص اشیا (Object Detection) در اینجا خیلی مفید نخواهد بود؛ زیرا در این حالت ما فقط کادرهای محدودکننده‌ای تولید می‌کنیم که در شناسایی شکل سلول‌ها کمکی نمی‌کنند.

تکنیک‌های بخش‌بندی تصویر در اینجا بسیار مؤثر خواهد بود. این تکنیک‌ها به ما کمک می‌کنند تا دقیق‌تر این مسئله را بررسی کنیم و نتایج مفیدتری را به دست آوریم.

تشیخص سلول‌های سرطانی با بخش‌بندی تصویر

در اینجا ما می‌توانیم شکل همه سلول‌های سرطانی را به وضوح مشاهده کنیم. بخش‌بندی تصویر کاربردهای بسیار متنوعی در صنایع مختلف دارد و فقط به حوزه‌ی پزشکی محدود نیست.

بخش‌بندی تصویر در طیف گسترده‌ای از حوزه‌های بینایی ماشین در دنیای واقعی، ازجمله تشخیص علائم جاده، زیست‌شناسی، ارزیابی مصالح ساختمانی یا نظارت تصویری، نقش اصلی را ایفا می‌کند؛ همچنین، خودروهای خودران و سیستم‌های پیشرفته کمک‌راننده (ADAS) باید سطوح جاده یا عابر پیاده را تشخیص دهند.

بخش‌بندی تصویر مبتنی بر یادگیری عمیق (Deep Learning) برای بخش‌بندی تصاویر ماهواره‌ای در حوزه‌ی سنجش از دور (Remote Sensing)، ازجمله تکنیک‌های برنامه‌ریزی شهری یا کشاورزی، استفاده می‌شود؛ همچنین، تصاویر جمع‌آوری‌شده با هواپیماهای بدون سرنشین (UAVs) با استفاده از تکنیک‌های یادگیری عمیق بخش‌بندی می‌شوند و این فرصت را برای رسیدگی به مشکلات مهم اقلیمی و محیط‌زیستی مرتبط با تغییرات آب‌وهوا ارائه می‌کنند.

انواع بخش بندی تصویر (Image Segmentation)

می‌توان تکنیک‌های بخش‌بندی تصویر را به‌طور کلی به دو نوع بخش‌بندی معنایی (Semantic Segmentation) و بخش‌بندی نمونه‌ای (Instance Segmentation) تقسیم کرد. این تصاویر را در نظر بگیرید:

بخش‌بندی نمونه‌ای و بخش‌بندی معنایی

آیا می‌توانید تفاوت این دو تصویر را تشخیص دهید؟ هر دو تصویر از بخش‌بندی تصویر برای شناسایی و مکان‌یابی افراد حاضر استفاده می‌کنند.

در تصویر ۱، هر پیکسل به یک کلاس خاص، کلاس پس‌زمینه یا کلاس افراد، تعلق دارد؛ همچنین تمامی پیکسل‌های متعلق به یک کلاس خاص با یک رنگ (پس‌زمینه سیاه و افراد صورتی) نشان داده شده‌اند. این نمونه‌ای از بخش‌بندی معنایی (Semantic Segmentation) است.

تصویر ۲ نیز کلاس خاصی را به هر پیکسل تصویر اختصاص داده است؛ با این حال اجسام مختلف از یک کلاس دارای رنگ‌های مختلفی هستند؛ شخص ۱ با رنگ قرمز، شخص ۲ سبز، شخص ۳ زرد، شخص ۴ آبی، شخص ۵ بنفش و زمینه‌ی عکس سیاه مشخص شده است. این نمونه‌ای از بخش‌بندی نمونه‌ای (Instance Segmentation) است.

پیشنهاد می‌کنیم با کاربرد تشخیص اشیا آشنا شوید.

جمع‌بندی مطالب درباره بخش بندی تصویر

در سال‌های گذشته روش‌های بخش‌بندی تصویر با کمک تکنیک‌های یادگیری عمیق (Deep Learning) پیشرفت‌های زیادی کرده است؛ از این رو، تقسیم‌بندی تصویر توسعه کاربردهایی در دنیای واقعی، ازجمله تشخیص تومور یا تشخیص بیماری کرونا ویروس از روی تصاویر اشعه ایکس، و مهم‌تر از همه، خودروهای خودران را سرعت می‌بخشد.

آموزش علم داده و یادگیری ماشین با کلاس‌های آنلاین آموزش علم داده کافه‌تدریس

کافه‌تدریس کلاس‌های آنلاین آموزش علم داده را به‌صورت کاملاً تعاملی، پویا و کارگاهی، در قالب کار روی پروژه‌های واقعی دیتا ساینس، برگزار می‌کند. این کلاس‌ها در دوره‌های مقدماتی و پیشرفته برگزار می‌شود و به شما امکان می‌دهد از هر نقطه‌ی جغرافیایی به جامع‌ترین و به‌روزترین آموزش دیتا ساینس و ماشین لرنینگ دسترسی داشته باشید.

برای آشنایی بیشتر با کلاس‌های آنلاین آموزش علم داده کافه‌تدریس و مشاوره‌ی رایگان برای شروع یادگیری دیتا ساینس و ماشین لرنینگ و مسیر شغلی آن روی این لینک کلیک کنید:

دوره جامع یادگیری علم داده (Data Science)