Skip to content
Tutorials4 min read

توصيف المضلعات لمهام التجزئة

كيفية إعداد أدوات رسم المضلعات لتجزئة الصور، مع نصائح للأشكال المعقدة والمناطق المتداخلة.

Potato Team·

توصيف المضلعات لمهام التجزئة

يتيح توصيف المضلعات حدود أجسام دقيقة على مستوى البكسل للتجزئة الدلالية وتجزئة النماذج. يغطي هذا الدليل الإعداد وتقنيات التوصيف وأفضل الممارسات لمهام التجزئة المعقدة.

متى تستخدم المضلعات مقابل مربعات الإحاطة

استخدم المضلعات عندمااستخدم مربعات الإحاطة عندما
تحتاج حدود دقيقةالتوطين التقريبي كافٍ
أشكال أجسام غير منتظمةالأجسام مستطيلة تقريباً
تدريب نماذج التجزئةتدريب نماذج الكشف
أجسام متداخلةأجسام غير متداخلة
دقة أعلى مطلوبةالسرعة هي الأولوية

إعداد المضلعات الأساسي

yaml
annotation_task_name: "Image Segmentation"
 
data_files:
  - "data/images.json"
 
annotation_schemes:
  - annotation_type: image_annotation
    tools: [polygon]
    name: segments
    description: "Draw polygons around each object"
    labels:
      - name: road
        color: "#808080"
      - name: sidewalk
        color: "#F5F5DC"
      - name: building
        color: "#8B4513"
      - name: vegetation
        color: "#228B22"
      - name: sky
        color: "#87CEEB"
      - name: vehicle
        color: "#FF6B6B"
      - name: person
        color: "#4ECDC4"

رسم المضلعات

سير العمل الأساسي

  1. اختر تسمية من شريط الأدوات
  2. انقر لوضع رؤوس حول الجسم
  3. انقر نقراً مزدوجاً أو اضغط Enter لإغلاق المضلع
  4. اضبط الرؤوس بالسحب
  5. أضف نقاطاً بالنقر على الحواف

اختصارات لوحة المفاتيح

يوفر Potato اختصارات لوحة مفاتيح مدمجة لتحرير المضلعات:

  • Enter: إغلاق المضلع الحالي
  • Escape: إلغاء الرسم أو إلغاء التحديد
  • Delete: حذف الرأس أو المضلع المحدد
  • +/-: تكبير/تصغير
  • Space + سحب: تحريك الصورة

التعامل مع السيناريوهات المعقدة

الأجسام المتداخلة

للمهام ذات الأجسام المتداخلة، يمكن للمُوصِّفين رسم مضلعات متعددة تتداخل. يتم تخزين كل مضلع بشكل منفصل في المخرجات، مما يسمح بالتوصيف على مستوى النموذج حيث قد تحجب الأجسام بعضها.

نصائح للحدود المعقدة

عند توصيف أجسام ذات حدود معقدة:

  1. استخدم رؤوس أكثر للحواف المنحنية لالتقاط الشكل بدقة
  2. كبّر عند تتبع الحدود التفصيلية
  3. اعمل بشكل منهجي حول محيط الجسم
  4. استخدم وضع التحرير لتنقيح مواقع الرؤوس بعد الرسم الأولي

إعداد التجزئة الدلالية

لتجزئة الصورة الكاملة:

yaml
annotation_task_name: "Semantic Segmentation"
 
data_files:
  - "data/images.json"
 
annotation_schemes:
  - annotation_type: image_annotation
    tools: [polygon]
    name: semantic_segments
    description: "Segment the entire image"
    labels:
      - name: background
        color: "#000000"
      - name: road
        color: "#808080"
      - name: sidewalk
        color: "#F5F5DC"
      - name: building
        color: "#8B4513"
      - name: vegetation
        color: "#228B22"
      - name: sky
        color: "#87CEEB"
      - name: person
        color: "#4ECDC4"
      - name: vehicle
        color: "#FF6B6B"

إعداد تجزئة النماذج

لنماذج الأجسام الفردية:

yaml
annotation_task_name: "Instance Segmentation"
 
data_files:
  - "data/images.json"
 
annotation_schemes:
  - annotation_type: image_annotation
    tools: [polygon]
    name: instances
    description: "Draw polygons around each object instance"
    labels:
      - name: person
        color: "#4ECDC4"
      - name: car
        color: "#FF6B6B"
      - name: dog
        color: "#FFEAA7"

كل مضلع يُرسم سيُخزّن كتوصيف منفصل، مما يتيح لك تتبع النماذج الفردية لكل فئة أجسام.

مثال إعداد كامل

yaml
annotation_task_name: "Cityscapes-style Segmentation"
 
data_files:
  - "data/urban_scenes.json"
 
annotation_schemes:
  - annotation_type: image_annotation
    tools: [polygon]
    name: segments
    description: "Segment all objects following Cityscapes protocol"
    labels:
      # Flat
      - name: road
        color: "#804080"
      - name: sidewalk
        color: "#F423E8"
      # Construction
      - name: building
        color: "#464646"
      - name: wall
        color: "#666666"
      - name: fence
        color: "#BE9999"
      # Nature
      - name: vegetation
        color: "#6B8E23"
      - name: terrain
        color: "#98FB98"
      # Sky
      - name: sky
        color: "#4682B4"
      # Human
      - name: person
        color: "#DC143C"
      - name: rider
        color: "#FF0000"
      # Vehicle
      - name: car
        color: "#00008B"
      - name: truck
        color: "#000046"
      - name: bus
        color: "#003C64"
      - name: motorcycle
        color: "#0000E6"
      - name: bicycle
        color: "#770B20"

تنسيق المخرجات

يتم حفظ توصيفات المضلعات في مخرجات التوصيف مع إحداثيات كل رأس:

json
{
  "id": "img001",
  "annotations": {
    "segments": [
      {
        "label": "road",
        "points": [[0, 600], [100, 580], [200, 590], [0, 600]]
      },
      {
        "label": "car",
        "points": [[450, 400], [520, 400], [520, 480], [450, 480]]
      }
    ]
  }
}

نصائح لمضلعات عالية الجودة

  1. كبّر: اعمل بمقياس 2x أو أعلى للحدود التفصيلية
  2. استخدم اختصارات لوحة المفاتيح: أسرع بكثير من النقر على الأدوات
  3. ابدأ بالمعالم الرئيسية: مخطط تقريبي أولاً ثم صقّل
  4. اقتصاد الرؤوس: استخدم الحد الأدنى من النقاط اللازمة للدقة
  5. استراحات منتظمة: عمل المضلعات التفصيلية يسبب الإرهاق

الخطوات التالية


انظر /docs/features/image-annotation للتوثيق الكامل للمضلعات.