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

الميزات الرئيسية#
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-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 عينة.
- 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 عند التدريب للمرة الأولى.
# 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-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.



