رؤية YOLO 2026:

مجموعة بيانات 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/2 للتدريب (1,411 صورة)، 1/6 للتحقق (458 صورة)، و1/3 للاختبار (937 صورة).

DOTA-v1.5#

DOTA-v2.0#

  • مجموعات من Google Earth، وقمر GF-2 الصناعي، وصور جوية أخرى.
  • تحتوي على 18 فئة شائعة.
  • تتكون من 11,268 صورة مع عدد هائل بلغ 1,793,658 حالة.
  • تقديم فئات جديدة: "مطار" (airport) و"مهبط مروحيات" (helipad).
  • تقسيمات الصور:
    • التدريب: 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 بكسل من كل جانب، لذا يلزم التقطيع (tiling) قبل إدخال البيانات إلى 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

# Create a new YOLO26n-OBB model from scratch
model = YOLO("yolo26n-obb.yaml")

# 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 على جهودهم الثنائية في تنسيق مجموعة البيانات هذه. للحصول على فهم شامل لمجموعة البيانات وفروقها الدقيقة، يرجى زيارة official DOTA website.

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

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

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

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

    مثال على التدريب
    from ultralytics import YOLO
    
    # Create a new YOLO26n-OBB model from scratch
    model = YOLO("yolo26n-obb.yaml")
    
    # 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.

التعليقات