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

الميزات الرئيسية#
شاهد: كيفية تدريب Ultralytics YOLO على مجموعة بيانات DOTA لمربعات الإحاطة الموجّهة في 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-v1.0.
- تتضمن أيضًا تعليقات توضيحية للمثيلات الصغيرة جدًا (أقل من 10 بكسلات).
- إضافة فئة جديدة: "رافعة حاويات".
- يبلغ إجمالي عدد المثيلات 403,318.
- صدر الإصدار ضمن تحدي DOAI لعام 2019 لاكتشاف الأجسام في الصور الجوية.
DOTA-v2.0#
- مجموعات من صور Google Earth والقمر الصناعي GF-2 وصور جوية أخرى.
- تضم 18 فئة شائعة.
- تتكون من 11,268 صورة تضم 1,793,658 مثيلًا.
- الفئات الجديدة المضافة: "مطار" و"مهبط طائرات الهليكوبتر".
- تقسيمات الصور:
- التدريب: 1,830 صورة تضم 268,627 مثيلاً.
- التحقق: 593 صورة تضم 81,048 مثيلاً.
- مجموعة الاختبار التطويرية: 2,792 صورة تضم 353,346 مثيلاً.
- مجموعة اختبار التحدي: 6,053 صورة تضم 1,090,637 مثيلاً.
بنية مجموعة البيانات#
يتميز DOTA بتخطيط منظم مُصمم خصيصًا لتحديات اكتشاف الأجسام باستخدام OBB:
- الصور: مجموعة ضخمة من الصور الجوية عالية الدقة التي تلتقط تضاريس ومنشآت متنوعة.
- مربعات الإحاطة الموجّهة: تعليقات توضيحية على شكل مستطيلات مُدارة تحيط بالأجسام بغض النظر عن اتجاهها، وهي مثالية لالتقاط أجسام مثل الطائرات والسفن والمباني.
التطبيقات#
يُستخدم DOTA معيارًا مرجعيًا لتدريب النماذج وتقييمها، مع تصميمها خصيصًا لتحليل الصور الجوية. وبفضل تضمين تعليقات OBB التوضيحية، يوفر DOTA تحديًا فريدًا يتيح تطوير نماذج متخصصة في اكتشاف الأجسام تراعي خصائص الصور الجوية الدقيقة. وتُعد مجموعة البيانات قيّمة على نحو خاص لتطبيقات الاستشعار عن بُعد والمراقبة والرصد البيئي.
ملف YAML لمجموعة البيانات#
يحدد ملف YAML لمجموعة البيانات مسارات جذر الصور والتسميات وأسماء الفئات والبيانات الوصفية المهمة الأخرى. تحتفظ Ultralytics بملفات YAML رسمية للإصدارين الأكثر استخدامًا:
استخدم ملف YAML المطابق للإصدار الذي نزّلته، أو أنشئ ملف YAML مخصصًا إذا كنت تعمل باستخدام DOTA-v2 أو إصدار مشتق آخر. يُنزّل كلا الإصدارين تلقائيًا (2 GB) من أصول Ultralytics على GitHub عند التدريب لأول مرة.
# 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_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(
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
# تحميل نموذج YOLO26n-OBB مدرّب مسبقًا
model = YOLO("yolo26n-obb.pt")
# تدريب النموذج على مجموعة بيانات DOTAv1
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)البيانات النموذجية والتعليقات التوضيحية#
تعطي نظرة سريعة على مجموعة البيانات لمحة عن عمقها:

- أمثلة 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)، وتوفر صورًا مشروحة من مشاهد جوية متنوعة. إن تنوع اتجاهات الأجسام وأحجامها وأشكالها عبر 1.7M تعليق توضيحي و18 فئة يجعل DOTA مثالية لتطوير النماذج المصممة لتحليل الصور الجوية وتقييمها، مثل النماذج المستخدمة في المراقبة والرصد البيئي وإدارة الكوارث.
تستخدم DOTA مربعات إحاطة موجّهة (OBB) للتعليقات التوضيحية، وتُمثّل هذه المربعات بمستطيلات مُدارة تحيط بالأجسام بغض النظر عن اتجاهها. وتضمن هذه الطريقة التقاط الأجسام بدقة، سواء أكانت صغيرة أم مائلة بزوايا مختلفة. كما تتيح الصور متعددة المقاييس في مجموعة البيانات، التي تتراوح أبعادها من 800 × 800 إلى 20,000 × 20,000 بكسل، اكتشاف الأجسام الصغيرة والكبيرة بفاعلية. وتكتسب هذه الطريقة قيمة خاصة في الصور الجوية، حيث تظهر الأجسام بزوايا ومقاييس مختلفة.
لتدريب نموذج على مجموعة بيانات DOTA، يمكنك استخدام المثال التالي مع Ultralytics YOLO:
مثال على التدريبfrom ultralytics import YOLO # تحميل نموذج YOLO26n-OBB مدرّب مسبقًا model = YOLO("yolo26n-obb.pt") # تدريب النموذج على مجموعة بيانات DOTAv1 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_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( data_root="path/to/DOTAv1.0/", save_dir="path/to/DOTAv1.0-split/", rates=[0.5, 1.0, 1.5], # multiscale gap=500, )تسهم هذه العملية في تحسين كفاءة التدريب وأداء النموذج. للاطلاع على تعليمات مفصلة، تفضل بزيارة قسم تقسيم صور DOTA.



