در بخشبندیِ تصویر، خروجی دربارهٔ ناحیهها یا پیکسلهاست. در Semantic Segmentation، هر پیکسل برچسبِ کلاس دارد؛ در Instance Segmentation، ماسکِ هر نمونهٔ شیء جدا نگه داشته میشود. دو شیء از یک کلاس میتوانند در نقشهٔ معنایی یک برچسب بگیرند، اما در نقشهٔ نمونه شناسههایِ جدا داشته باشند.
تصویرِ آموزشی را از برچسبِ ساختهشده جدا کنیم
این تمرین عکسِ واقعی یا خروجیِ شبکهٔ بینایی نیست. نویسنده رویِ یک شبکهٔ پنجسطر و هفتستون، دو مربعِ ۲×۲ِ کنارِ هم تعریف کرده است: شیء چپ با شناسهٔ یک و شیء راست با شناسهٔ دو. هر دو از کلاسِ یک هستند؛ صفر پسزمینه است. این تعریفِ دستی، دادهٔ مرجعِ همین مثال است.
مختصات از صفر شروع میشود. هر دو شیء در سطرهایِ یک و دو قرار دارند؛ ستونهایِ یک و دو برای چپ و سه و چهار برای راست است. چون کنارِ هماند، ناحیهٔ کلاسِ یک پیوسته دیده میشود. تعدادِ پیکسلهایِ هر نمونه چهار، مجموعِ کلاسِ یک هشت و پسزمینه بیستوهفت است.
دو خروجیِ عددیِ همان داده
ماسکِ کلاس؛ ۰ پسزمینه و ۱ شیء
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 | 1 | 0 | 0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
ماسکِ نمونه؛ ۱ چپ و ۲ راست، هر دو از یک کلاس
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 2 | 2 | 0 | 0 |
| 0 | 1 | 1 | 2 | 2 | 0 | 0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
عددها رنگ یا احتمال نیستند؛ شناسهاند و با راهنمایِ همان جدول تفسیر میشوند. در ماسکِ کلاس، عددِ یک فقط «شیء از کلاسِ آموزشی» را میگوید. در ماسکِ نمونه، یک و دو هویتِ دو ناحیهٔ تعریفشدهاند. تبدیلِ آنها به کلاس نیازمندِ نگاشتِ صریح است: ۱→۱ و ۲→۱.
چرا از کلاس، هویتِ نمونه را پس نمیگیریم؟
کد یک برچسبگذاریِ جایگزین هم میسازد که همهٔ هشت پیکسلِ شیء را نمونهٔ نه مینامد و ۹ را به همان کلاسِ یک وصل میکند. نقشهٔ کلاسِ آن عیناً با نقشهٔ قبلی برابر است، ولی تقسیمِ نمونهها یکی نیست. پس تبدیلِ نمونه به کلاس بخشی از اطلاعاتِ هویت را حذف میکند.
این ضدنمونه نمیگوید هر دو برچسبگذاری برایِ یک صحنهٔ واقعی درستاند. در تعریفِ دستیِ اصلی دو شیء داریم؛ نکته این است که فقط از خروجیِ کلاس نمیتوان ثابت کرد مرجع چند نمونه داشته است. استفاده از مرزِ تصویر، شکل یا مدلِ دیگری، اطلاعات و روشِ تازهای میخواهد.
برنامه چه چیزهایی را کنترل کرد؟
تابع، مستطیلیبودنِ آرایه و وجودِ نگاشت برایِ همهٔ شناسهها را بررسی میکند. حذفِ نگاشتِ نمونهٔ دو رد شده است. سپس شمارِ پیکسلها، برابرشدنِ دو خروجیِ معنایی و متفاوتبودنِ نقشههایِ نمونه واقعاً کنترل میشوند. تابعِ render از همان آرایه جدول میسازد؛ جدولِ بالا از دادهٔ تمرین آمده است.
این کد هیچ فایلِ عکس یا مدل را باز نمیکند. score، احتمالِ شیء، تشخیصِ خودکار و کیفیتِ segmentation گزارش نشدهاند. جدولِ عددی نیز جایِ دیدنِ ماسک رویِ تصویرِ مجاز و بررسیِ تطبیقِ مرزها در پروژهٔ واقعی را نمیگیرد.
کادر و لبه، خروجیِ دیگری هستند
کادرِ تشخیصِ شیء هندسهٔ مستطیل را دارد؛ یک کادر شکلِ دقیقِ تمامِ پیکسلهایِ شیء را مشخص نمیکند. لبهٔ Sobel هم تغییرِ روشنایی را میسنجد و نامِ کلاس یا هویتِ شیء نمیسازد. معیارِ IoU کادر را بدونِ تعریفِ مجموعهٔ پیکسل به ماسک منتقل نکنید.
در یک مسئلهٔ واقعی، اول بگویید کلاسِ هر پیکسل میخواهید، نمونههایِ جدا یا ترکیبی از اینها. سپس راهنمایِ برچسب، پسزمینه، ناحیهٔ نامعلوم و شکلِ خروجی را مشخص کنید. نامِ یک مدل بهتنهایی قراردادِ تحویل را روشن نمیکند.
اگر مسئلهٔ کسبوکارِ شما گفتار، پاسخگویی یا تحلیلِ مکالمه است، مسیرِ مرتبطِ اپرا را انتخاب کنید. این مثال معرفیِ خدمتِ بخشبندیِ تصویر یا قابلیتِ بینایی در محصولاتِ اپرا نیست.
فایل تمرین و منبع
ساختِ دو ماسک، کنترلِ نگاشت و نمایشِ جدولِ پیکسل · آرایههایِ ۵×۷، راهنمایِ کلاس و ضدنمونهٔ هویتِ ازدسترفته
منابع در 2026-11-04 خوانده شدند؛ این تاریخ، تاریخ انتشار منبع نیست. مثالها و فایلهای این راهنما آموزشی و ساختهٔ تحریریهاند.