قالب های حاشیه نویسی (annotation formats)

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

قالب های حاشیه نویسی  (annotation formats)
قالب های حاشیه نویسی (annotation formats)

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

  

حاشیه نویسی  (annotation )
حاشیه نویسی (annotation )

جعبه مرزی (bounding box)چیست؟

جعبه مرزی در اصل یک ناحیه مستطیل شکل است که یک شی را احاطه کرده است. موقعیت شی، کلاس (مثلاً «ماشین»، «شخص») و اطمینان را مشخص می‌کند (نشان می‌دهد که چقدر احتمال دارد در آن مکان باشد).

جعبه مرزی (bounding box)
جعبه مرزی (bounding box)

 

فرمت (Common Objects in Context) COCO

(اشیاء مشترک در زمینه)

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

(Common Objects in Context) COCO
(Common Objects in Context) COCO

 

نمونه ای از یک حاشیه نویسی COCO:

{

    "image_id": 123,

    "category_id": 1,

    "bbox": [100, 150, 200, 250],

    "segmentation": [[...]],

    ...

}

اجزای قالب:

داده های COCO در قالب JSON ذخیره می شود. فایل حاشیه نویسی اصلی حاوی اطلاعات، مجوزها، تصاویر، دسته ها و حاشیه نویسی است.

حاشیه نویسی عبارتند از:

مختصات جعبه مرزی (برای تشخیص شی)

- جعبه های محدود کننده در قالب COCO به صورت [x_min، y_min، عرض، ارتفاع] نشان داده می شوند.

- مختصات (x_min، y_min) با گوشه بالا سمت چپ کادر محدود مطابقت دارد.

- عرض و ارتفاع نشان دهنده ابعاد جعبه مرزی است.

نقاط کلیدی (برای تخمین ژست)

زیرنویس ها (برای شرح تصاویر)

 

فرمت (You Only Look Once)YOLO

(شما فقط یک بار نگاه کنید)

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

(You Only Look Once)YOLO
(You Only Look Once)YOLO

 

نمونه خط حاشیه نویسی YOLO:

 

[0 ،0.5 ،0.6 ،0.2 ،0.3]

<class> <x_center> <y_center> <width> <height>

اجزای قالب:

برچسب کلاس: به هر شی در یک تصویر یک برچسب کلاس اختصاص داده می شود که نشان دهنده دسته ای است که به آن تعلق دارد (به عنوان مثال، "ماشین"، "شخص" یا "سگ").

مختصات جعبه محدود: جعبه های محدود کننده در قالب YOLO به صورت زیر نمایش داده می شوند:

[x_center، y_center، عرض، ارتفاع]

- مختصات (x_center، y_center) نشان دهنده نقطه مرکزی جعبه مرزی است.

- عرض و ارتفاع ابعاد جعبه مرزی است.

- فرمت YOLO از مختصات نرمال شده استفاده می کند، جایی که (x_center، y_center، عرض، ارتفاع) به مقادیر بین 0 و 1 مقیاس می شوند.

در اینجا تصویری وجود دارد که تفاوت بین نمایش جعبه مرزی Yolo و Coco را نشان می دهد:

 

تفاوت بین نمایش جعبه مرزی Yolo و Coco
تفاوت بین نمایش جعبه مرزی Yolo و Coco

 

فرمت XML PASCAL VOC (چالش شی بصری)

مجموعه داده‌های کلاس‌های شی بصری PASCAL (VOC) از یک قالب حاشیه‌نویسی مبتنی بر XML استفاده می‌کند. هر شی حاشیه نویسی شده در یک فایل XML، شامل اطلاعاتی مانند برچسب کلاس، مختصات جعبه مرزی و اندازه تصویر توضیح داده شده است.

XML PASCAL VOC
XML PASCAL VOC

نمونه ای از یک حاشیه نویسی PASCAL VOC XML:

<object>

    <name>cat</name>

    <bndbox>

        <xmin>100</xmin>

        <ymin>150</ymin>

        <xmax>300</xmax>

        <ymax>400</ymax>

    </bndbox>

</object>

اجزای قالب:

نام فایل: مسیر نسبی تصویر مشروح را مشخص می کند.

Path: مسیر مطلق فایل خروجی را پس از حاشیه نویسی ارائه می دهد.

اندازه: شامل ارتفاع، عرض (بر حسب پیکسل) و عمق (تعداد کانال، معمولاً 3 برای تصاویر RGB).

Object: شیء حاشیه نویسی شده را شامل نام، وضعیت، وضعیت برش و دشواری آن توصیف می کند.

- نام: برچسب کلاس شی (به عنوان مثال، "ماشین"، "شخص"، و غیره).

- Pose: جهت را نشان می دهد (به عنوان مثال، "چپ"، "راست").

- Truncated: اگر جسم فراتر از کادر محدود گسترش یابد، روی 1 تنظیم کنید، در غیر این صورت 0.

- Difficult: اگر شی مورد ارزیابی قرار نگیرد، روی 1 تنظیم کنید، در غیر این صورت 0.

Bounding Box: گوشه های بالا-چپ و پایین-راست کادر محدود را مشخص می کند (در مختصات پیکسل: xmin، ymin، xmax، ymax).

مقایسه:

 

1.COCO:

o فرمت: حاشیه نویسی COCO در فایل های JSON ذخیره می شود.

o ساختار:

- یک فایل JSON حاوی حاشیه نویسی برای همه تصاویر موجود در مجموعه داده است.

-اجزای اساسی:

-اطلاعات: اطلاعات استاندارد در مورد تصاویر.

- تصاویر: جزئیات تصویر.

- حاشیه نویسی: حاشیه نویسی شی.

- مجوز: اطلاعات مجوز.

o استفاده:

- COCO به دلیل مجموعه داده های در مقیاس بزرگ با دسته بندی اشیاء متنوع محبوب است.

-با داشتن یک فایل واحد مدیریت حاشیه نویسی را ساده می کند.

-با این حال، فرمت JSON می تواند کمتر برای انسان قابل خواندن باشد.

 

2.YOLO:

o فرمت: حاشیه نویسی های YOLO معمولاً به صورت فایل های txt. در کنار تصاویر ذخیره می شوند.

o ساختار:

- هر فایل txt مربوط به یک تصویر حاشیه نویسی است.

- قالب ساده است: [class_id x_center y_center width height]

o استفاده:

- YOLO به دلیل قابلیت تشخیص اشیاء در زمان واقعی خود شناخته شده است.

-فرمت ساده txt کار با آن را آسان می کند.

- با این حال، فاقد فراداده اضافی فراتر از کادرهای مرزی است.

 

3. پاسکال VOC :

o قالب: حاشیه نویسی های پاسکال VOC در فایل های XML ذخیره می شوند.

o ساختار:

- هر فایل XML مربوط به یک تصویر حاشیه نویسی است.

- اجزای اصلی عبارتند از:

- پوشه: حاوی تصاویر است.

- نام فایل: مسیر نسبی تصویر مشروح.

- مسیر: مسیر مطلق فایل خروجی پس از حاشیه نویسی.

- اندازه: ارتفاع، عرض و عمق (تعداد کانال) تصویر.

- شی: حاوی اطلاعاتی در مورد شی مشروح (نام، حالت، کوتاه، دشوار) است.

- bndbox: مختصات جعبه مرزی (گوشه های بالا-چپ و پایین-راست).

O استفاده:

- پاسکال VOC به طور گسترده در تحقیقات بینایی کامپیوتری و محک زدن استفاده می شود.

- اطلاعات دقیقی در مورد نمونه های شی ارائه می دهد.

- با این حال، ساختار XML می تواند پیچیده و پرمخاطب باشد.

به طور خلاصه:

پاسکال VOC: با جزئیات اما پیچیده (XML).

COCO: فایل حاشیه نویسی در مقیاس بزرگ (JSON).

YOLO: قالب ساده، تشخیص بی‌درنگ (txt.).