Ultralytics YOLO27:

مجموعة بيانات DOTA مع OBB#

تُعد مجموعة بيانات DOTA معيارًا مرجعيًا واسع النطاق لـاكتشاف الأجسام في الصور الجوية، وقد أُصدرت في ثلاثة إصدارات (v1.0 وv1.5 وv2.0)، وتضم ما يصل إلى 1.7 مليون وسم لـالمربعات المحيطة الموجّهة (OBB) عبر 18 فئة، جُمعت من مستشعرات ومنصات جوية متنوعة.

استكشف مجموعتي بيانات DOTA v1.5 وDOTA v1.0 المستضافتين رسميًا على منصة Ultralytics لمعاينة الوسوم الموجّهة، وفحص الإحصاءات، واستنساخهما للتدريب.

فئات أجسام مجموعة بيانات DOTA لاكتشاف الأجسام الجوية

الميزات الرئيسية#



Watch: How to Train Ultralytics YOLO on the DOTA Dataset for Oriented Bounding Boxes in Google Colab
  • تجميع من مستشعرات ومنصات متنوعة، بأحجام صور تتراوح من 800 × 800 إلى 20,000 × 20,000 بكسل.
  • تضم أكثر من 1.7 مليون مربع محيط موجّه عبر 18 فئة.
  • تدعم اكتشاف الأجسام متعدد المقاييس بفضل التفاوت الواسع في أحجام الأجسام ضمن كل صورة.
  • وسم الخبراء العينات باستخدام أشكال رباعية عشوائية (8 درجات حرية)، ما يلتقط الأجسام بمقاييس واتجاهات وأشكال مختلفة.

إصدارات مجموعة البيانات#

DOTA-v1.0#

  • تحتوي على 15 فئة شائعة.
  • تتألف من 2,806 صور و188,282 عينة.
  • نِسب التقسيم: النصف للتدريب (1,411 صورة)، والسدس للتحقق (458 صورة)، والثلث للاختبار (937 صورة).

DOTA-v1.5#

DOTA-v2.0#

  • تجميعات من Google Earth والقمر الصناعي GF-2 وصور جوية أخرى.
  • تحتوي على 18 فئة شائعة.
  • تتألف من 11,268 صورة و1,793,658 عينة ضخمة.
  • الفئات الجديدة المقدمة: "مطار" و"مهبط طائرات مروحية".
  • تقسيمات الصور:
    • التدريب: 1,830 صورة مع 268,627 عينة.
    • التحقق: 593 صورة مع 81,048 عينة.
    • Test-dev: 2,792 صورة مع 353,346 عينة.
    • Test-challenge: 6,053 صورة مع 1,090,637 عينة.

بنية مجموعة البيانات#

تتميز DOTA بتنسيق منظم مصمم خصيصًا لتحديات اكتشاف الأجسام باستخدام OBB:

  • الصور: مجموعة واسعة من الصور الجوية عالية الدقة التي تلتقط تضاريس ومنشآت متنوعة.
  • المربعات المحيطة الموجّهة: وسوم على شكل مستطيلات مدوّرة تحيط بالأجسام بغض النظر عن اتجاهها، وهي مثالية لالتقاط أجسام مثل الطائرات والسفن والمباني.

التطبيقات#

تُستخدم DOTA معيارًا مرجعيًا لتدريب النماذج وتقييمها، وقد صُممت خصيصًا لتحليل الصور الجوية. وبفضل تضمين وسوم OBB، تقدم تحديًا فريدًا يتيح تطوير نماذج متخصصة لـاكتشاف الأجسام تراعي خصائص الصور الجوية. وتُعد مجموعة البيانات قيّمة بوجه خاص لتطبيقات الاستشعار عن بُعد والمراقبة والرصد البيئي.

YAML مجموعة البيانات#

يحدد ملف YAML لمجموعة البيانات جذور الصور والوسوم، وأسماء الفئات، وغيرها من البيانات الوصفية المهمة. وتحافظ Ultralytics على ملفات YAML رسمية للإصداريْن الأكثر استخدامًا:

استخدم ملف YAML المطابق للإصدار الذي نزّلته، أو أنشئ ملف YAML مخصصًا إذا كنت تعمل مع DOTA-v2 أو مشتقًا آخر. يُنزّل كلا الإصدارين تلقائيًا (بحجم 2 غيغابايت) من أصول Ultralytics على GitHub عند التدريب للمرة الأولى.

DOTAv1.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# DOTA 1.0 dataset https://captain-whu.github.io/DOTA/index.html for object detection in aerial images by Wuhan University
# Documentation: https://docs.ultralytics.com/datasets/obb/dota-v2
# Example usage: yolo train model=yolov8n-obb.pt data=DOTAv1.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── DOTAv1 ← downloads here (2 GB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: DOTAv1 # dataset root dir
train: images/train # train images (relative to 'path') 1411 images
val: images/val # val images (relative to 'path') 458 images
test: images/test # test images (optional) 937 images

# Classes for DOTA 1.0
names:
  0: plane
  1: ship
  2: storage tank
  3: baseball diamond
  4: tennis court
  5: basketball court
  6: ground track field
  7: harbor
  8: bridge
  9: large vehicle
  10: small vehicle
  11: helicopter
  12: roundabout
  13: soccer ball field
  14: swimming pool

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/DOTAv1.zip

تقسيم صور DOTA#

يتجاوز حجم الصور الخام عادةً 10,000 بكسل لكل جانب، لذا يلزم تقسيمها إلى مربعات قبل تمرير البيانات إلى YOLO. استخدم المساعد أدناه لتقسيم الصور المصدرية إلى قصاصات متداخلة بحجم 1024 × 1024 بمقاييس متعددة، مع الحفاظ على تزامن الوسوم.

تقسيم الصور
from ultralytics.data.split_dota import split_test, split_trainval

# Split train and val set, with labels.
split_trainval(
    data_root="path/to/DOTAv1.0/",
    save_dir="path/to/DOTAv1.0-split/",
    rates=[0.5, 1.0, 1.5],  # multiscale
    gap=500,
)
# Split test set, without labels.
split_test(
    data_root="path/to/DOTAv1.0/",
    save_dir="path/to/DOTAv1.0-split/",
    rates=[0.5, 1.0, 1.5],  # multiscale
    gap=500,
)
نصيحة

حافظ على تنظيم مجلد الإخراج وفق تنسيق YOLO القياسي (images/train وlabels/train وما إلى ذلك) حتى تتمكن من الإشارة إليه مباشرةً من ملف YAML لمجموعة البيانات.

الاستخدام#

لتدريب نموذج على مجموعة بيانات DOTA v1، يمكنك استخدام مقتطفات التعليمات البرمجية التالية. ارجع دائمًا إلى وثائق نموذجك للاطلاع على قائمة شاملة بالوسائط المتاحة. ولمن يرغبون في تجربة مجموعة فرعية أصغر أولًا، يمكن استخدام مجموعة بيانات DOTA8، التي لا تحتوي إلا على 8 صور للاختبار السريع، ويمكن استعراضها على منصة Ultralytics.

تحذير

يُرجى ملاحظة أن جميع الصور والوسوم المرتبطة بها في مجموعة بيانات DOTAv1 يمكن استخدامها لأغراض أكاديمية، لكن الاستخدام التجاري محظور. نقدّر كثيرًا تفهّمكم لرغبات منشئي مجموعة البيانات واحترامها!

مثال على التدريب
from ultralytics import YOLO

# Load a pretrained YOLO26n-OBB model
model = YOLO("yolo26n-obb.pt")

# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)

بيانات العينة والتعليقات التوضيحية#

تُظهر نظرة سريعة على مجموعة البيانات مدى عمقها:

مجموعة بيانات DOTA مع وسوم المربعات المحيطة الموجّهة

  • أمثلة DOTA: تبرز هذه اللقطة تعقيد المشاهد الجوية وأهمية وسوم المربعات المحيطة الموجّهة، التي تلتقط الأجسام في اتجاهها الطبيعي.

تقدم ثراء مجموعة البيانات رؤى لا تقدر بثمن حول تحديات اكتشاف الأجسام الخاصة بالصور الجوية. وقد أصبحت مجموعة بيانات DOTA-v2.0 شائعة بوجه خاص في مشاريع الاستشعار عن بُعد والمراقبة الجوية بفضل وسومها الشاملة وتنوع فئات الأجسام فيها.

الاقتباسات والشكر والتقدير#

إذا استخدمت DOTA في عملك، فيُرجى الاستشهاد بالأوراق البحثية ذات الصلة:

اقتباس
@article{9560031,
  author={Ding, Jian and Xue, Nan and Xia, Gui-Song and Bai, Xiang and Yang, Wen and Yang, Michael and Belongie, Serge and Luo, Jiebo and Datcu, Mihai and Pelillo, Marcello and Zhang, Liangpei},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
  title={Object Detection in Aerial Images: A Large-Scale Benchmark and Challenges},
  year={2022},
  volume={44},
  number={11},
  pages={7778-7796},
  doi={10.1109/TPAMI.2021.3117983}
}

نتوجه بخالص الشكر إلى الفريق القائم على مجموعات بيانات DOTA على جهوده الجديرة بالتقدير في إعداد مجموعة البيانات هذه. وللحصول على فهم شامل لمجموعة البيانات وخصائصها الدقيقة، يُرجى زيارة موقع DOTA الرسمي.

الأسئلة الشائعة#

  • مجموعة بيانات DOTA هي مجموعة بيانات متخصصة تركز على اكتشاف الأجسام في الصور الجوية. وتتميز بالمربعات المحيطة الموجّهة (OBB)، إذ توفر صورًا موسومة من مشاهد جوية متنوعة. ويجعل تنوع DOTA في اتجاه الأجسام ومقياسها وشكلها عبر 1.7 مليون وسم و18 فئة منها مثالية لتطوير النماذج المصممة لتحليل الصور الجوية وتقييمها، مثل النماذج المستخدمة في المراقبة والرصد البيئي وإدارة الكوارث.

  • تستخدم DOTA المربعات المحيطة الموجّهة (OBB) للوسم، وهي ممثلة بمستطيلات مدوّرة تحيط بالأجسام بغض النظر عن اتجاهها. وتضمن هذه الطريقة التقاط الأجسام بدقة، سواء كانت صغيرة أو واقعة بزوايا مختلفة. كما تتيح الصور متعددة المقاييس في مجموعة البيانات، التي تتراوح من 800 × 800 إلى 20,000 × 20,000 بكسل، اكتشاف الأجسام الصغيرة والكبيرة بفاعلية. ويُعد هذا النهج قيّمًا بوجه خاص للصور الجوية، حيث تظهر الأجسام بزوايا ومقاييس متنوعة.

  • لتدريب نموذج على مجموعة بيانات DOTA، يمكنك استخدام المثال التالي مع Ultralytics YOLO:

    مثال على التدريب
    from ultralytics import YOLO
    
    # Load a pretrained YOLO26n-OBB model
    model = YOLO("yolo26n-obb.pt")
    
    # Train the model on the DOTAv1 dataset
    results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)

    لمزيد من التفاصيل حول تقسيم صور DOTA ومعالجتها مسبقًا، راجع قسم تقسيم صور DOTA.

    • DOTA-v1.0: تشمل 15 فئة شائعة عبر 2,806 صور و188,282 عينة. وتنقسم مجموعة البيانات إلى مجموعات التدريب والتحقق والاختبار.
    • DOTA-v1.5: تبني على DOTA-v1.0 من خلال وسم العينات الصغيرة جدًا (الأقل من 10 بكسلات) وإضافة فئة جديدة، هي "رافعة حاويات"، ليبلغ الإجمالي 403,318 عينة.
    • DOTA-v2.0: تتوسع أكثر بفضل الوسوم المستخرجة من Google Earth والقمر الصناعي GF-2، وتضم 11,268 صورة و1,793,658 عينة. كما تشمل فئتين جديدتين هما "مطار" و"مهبط طائرات مروحية".

    للاطلاع على مقارنة مفصلة ومعلومات إضافية، راجع قسم إصدارات مجموعة البيانات.

  • تُقسّم صور DOTA، التي قد تكون كبيرة جدًا، إلى دقات أصغر لتسهيل التدريب. إليك مقتطف Python لتقسيم الصور:

    مثال
    from ultralytics.data.split_dota import split_test, split_trainval
    
    # split train and val set, with labels.
    split_trainval(
        data_root="path/to/DOTAv1.0/",
        save_dir="path/to/DOTAv1.0-split/",
        rates=[0.5, 1.0, 1.5],  # multiscale
        gap=500,
    )
    # split test set, without labels.
    split_test(
        data_root="path/to/DOTAv1.0/",
        save_dir="path/to/DOTAv1.0-split/",
        rates=[0.5, 1.0, 1.5],  # multiscale
        gap=500,
    )

    تُحسّن هذه العملية كفاءة التدريب وأداء النموذج. للحصول على تعليمات مفصلة، انتقل إلى قسم تقسيم صور DOTA.

التعليقات