توسيم الصور
توسيم الصور بمربعات الإحاطة والمضلعات والرسم الحر ونقاط المعالم.
يدعم نظام توسيم الصور في Potato طرق توسيم متعددة لمهام الرؤية الحاسوبية بما في ذلك كشف الكائنات، والتجزئة، وتوسيم النقاط المفتاحية.
الأدوات المدعومة
| الأداة | الوصف | حالة الاستخدام |
|---|---|---|
bbox | مربعات إحاطة مستطيلة | كشف الكائنات |
polygon | مضلعات متعددة النقاط | تجزئة النسخ |
freeform | رسم حر | أشكال غير منتظمة |
landmark | علامات نقطية | كشف النقاط المفتاحية |
fill | أداة ملء على مستوى البكسل | أقنعة التجزئة |
eraser | مسح المناطق المرسومة | تصحيح أقنعة التجزئة |
brush | أداة فرشاة الرسم | تجزئة دقيقة |
الإعداد الأساسي
annotation_schemes:
- name: "objects"خيارات الإعدادات
| الحقل | النوع | الافتراضي | الوصف |
|---|---|---|---|
name | string | مطلوب | معرّف فريد للتوسيم |
description | string | مطلوب | التعليمات المعروضة للموسِّمين |
annotation_type | string | مطلوب | يجب أن يكون "image_annotation" |
tools | list | مطلوب | أدوات التوسيم المفعلة (bbox، polygon، freeform، landmark، fill، eraser، brush) |
labels | list | مطلوب | تسميات الفئات للتوسيمات |
zoom_enabled | boolean | true | تفعيل عناصر التكبير |
pan_enabled | boolean | true | تفعيل التنقل بالسحب |
min_annotations | integer | 0 | الحد الأدنى للتوسيمات المطلوبة |
max_annotations | integer | null | الحد الأقصى للتوسيمات المسموحة (null = غير محدود) |
freeform_brush_size | integer | 5 | حجم الفرشاة للرسم الحر |
freeform_simplify | float | 2.0 | عامل تبسيط المسار |
إعداد التسميات
يمكن أن تكون التسميات نصوصًا بسيطة أو كائنات مفصلة:
# Simple labels (auto-colored)
labels:
- person
- car
- tree
# Detailed labels with custom colors and shortcuts
labels:
- name: "person"
color: "#FF6B6B"
key_value: "1"
- name: "car"
color: "#4ECDC4"
key_value: "2"
- name: "bicycle"
color: "#45B7D1"
key_value: "3"أمثلة
كشف الكائنات (مربعات الإحاطة)
annotation_schemes:
- name: "detection"تجزئة النسخ (المضلعات)
annotation_schemes:
- name: "segmentation"توسيم النقاط المفتاحية (المعالم)
annotation_schemes:
- name: "facial_landmarks"أدوات متعددة
annotation_schemes:
- name: "mixed_annotation"اختصارات لوحة المفاتيح
| المفتاح | الإجراء |
|---|---|
b | تفعيل أداة مربع الإحاطة |
p | تفعيل أداة المضلع |
f | تفعيل أداة الرسم الحر |
l | تفعيل أداة المعلم |
1-9 | اختيار التسمية |
Delete | إزالة التوسيم المحدد |
Ctrl+Z | تراجع |
Ctrl+Y | إعادة |
+ / - | تكبير/تصغير |
صيغة البيانات
بيانات الإدخال
يجب أن يتضمن ملف البيانات مسارات صور أو عناوين URL:
[
{
"id": "img_001",
"image_url": "https://example.com/images/photo1.jpg"
},
{
"id": "img_002",
"image_url": "/data/images/photo2.png"
}
]إعداد حقل الصورة في الإعدادات:
item_properties:
id_key: id
text_key: image_urlتطلب لوحة الرسم كل صورة مع CORS لتتمكن من قراءة بكسلات الصورة. وكثير من المضيفات العامة، ومنها cocodataset.org، لا ترسل ترويسة Access-Control-Allow-Origin وترفض هذا الطلب، وبدءاً من Potato 2.11 تعيد لوحة الرسم حينئذ تحميل الصورة دون CORS. وعلى الصورة المحمَّلة بهذه الطريقة تعمل مربعات الإحاطة والمضلعات والقطوع الناقصة والنقاط والخطوط الحرة والفرشاة كلها. أما الأدوات التي تقرأ بكسلات الصورة فلا يمكن تشغيلها عليها، فأداة الملء تذكر أنها لا تستطيع قراءة الصورة ولا تملأ شيئاً، ويذكر SAM والتجزئة بموجّه نصي أن المضيف لا يرسل ترويسات CORS. ولاستخدام هذه الأدوات، انسخ الصور إلى media_directory الخاص بالمهمة وأشِر إليها بالصيغة /media/<file>.
صيغة المخرجات
تتضمن التوسيمات بيانات هندسية لكل توسيم:
{
"id": "img_001",
"annotations": {
"objects": [
{
"id": "ann_1",
"type": "bbox",
"label": "car",
"geometry": {
"x": 100,
"y": 150,
"width": 200,
"height": 100
}
},
{
"id": "ann_2",
"type": "polygon",
"label": "building",
"geometry": {
"points": [
[50, 50],
[150, 50],
[150, 200],
[50, 200]
]
}
}
]
}
}صيغ الصور المدعومة
- JPEG / JPG
- PNG
- GIF
- WebP
أقنعة التجزئة
جديد في الإصدار 2.2.0
تتيح أدوات fill وeraser وbrush توسيم أقنعة التجزئة على مستوى البكسل. هذه الأدوات مثالية لمهام التجزئة الدلالية حيث تكون حدود المناطق الدقيقة مطلوبة.
annotation_schemes:
- name: "segmentation"| المفتاح | الإجراء |
|---|---|
i | تفعيل أداة الملء |
e | تفعيل أداة المسح |
r | تفعيل أداة الفرشاة |
مربعات الإحاطة لمستندات PDF
جديد في الإصدار 2.2.0
ارسم مربعات إحاطة على صفحات PDF وصور المستندات. عند دمجها مع نوع العرض pdf في instance_display، يمكن للموسِّمين رسم مربعات على صفحات فردية من مستندات PDF.
instance_display:
fields:
- key: pdf_url
type: pdf
annotation_schemes:
- name: "document_regions"أفضل الممارسات
- استخدم الأدوات المناسبة - مربعات الإحاطة للكشف السريع، والمضلعات للحدود الدقيقة، والملء/الفرشاة للتجزئة
- حدد تسميات واضحة - استخدم فئات متميزة وغير متداخلة
- حدد حدود التوسيم - استخدم
min_annotationsلضمان الاكتمال - فعّل التكبير - ضروري للتوسيمات المفصلة على الصور عالية الدقة
- استخدم اختصارات لوحة المفاتيح - تسرّع التوسيم بشكل ملحوظ
- وفّر ألوان التسميات - يسهّل التمييز بين التوسيمات بصريًا