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

الميزات الرئيسية
Watch: How to Train Ultralytics YOLO26 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/6 للتحقق، و 1/3 للاختبار.
DOTA-v1.5
- تتضمن نفس صور DOTA-v1.0.
- تمت إضافة شرح للنماذج الصغيرة جداً (أقل من 10 بكسل).
- إضافة فئة جديدة: "رافعة حاويات" (container crane).
- إجمالي 403,318 نموذجاً.
- تم إصدارها من أجل تحدي DOAI 2019 لاكتشاف الكائنات في الصور الجوية.
DOTA-v2.0
- مجموعات من Google Earth، و GF-2 Satellite، وصور جوية أخرى.
- تحتوي على 18 فئة شائعة.
- تتكون من 11,268 صورة مع عدد هائل يبلغ 1,793,658 نموذجاً.
- تم تقديم فئات جديدة: "مطار" (airport) و "مهبط طائرات مروحية" (helipad).
- تقسيمات الصور:
- التدريب: 1,830 صورة تحتوي على 268,627 نموذجاً.
- التحقق: 593 صورة تحتوي على 81,048 نموذجاً.
- اختبار التطوير: 2,792 صورة تحتوي على 353,346 نموذجاً.
- اختبار التحدي: 6,053 صورة تحتوي على 1,090,637 نموذجاً.
هيكل مجموعة البيانات
تعرض DOTA تخطيطاً منظماً مصمماً لتحديات اكتشاف الكائنات OBB:
- الصور: مجموعة واسعة من الصور الجوية عالية الدقة التي تلتقط تضاريس وهياكل متنوعة.
- صناديق الإحاطة الموجهة: شروحات على شكل مستطيلات مائلة تحيط بالكائنات بغض النظر عن اتجاهها، وهي مثالية لالتقاط كائنات مثل الطائرات والسفن والمباني.
التطبيقات
تعد DOTA معياراً مرجعياً لتدريب وتقييم النماذج المصممة خصيصاً لتحليل الصور الجوية. ومع إدراج شروحات OBB، فإنها توفر تحدياً فريداً، مما يتيح تطوير نماذج اكتشاف كائنات متخصصة تلبي دقة الصور الجوية. مجموعة البيانات هذه ذات قيمة خاصة للتطبيقات في الاستشعار عن بعد والمراقبة والرصد البيئي.
ملف YAML الخاص بمجموعة البيانات
يحدد ملف YAML (لغة توصيف أخرى) الخاص بمجموعة البيانات جذور الصور/التصنيفات، وأسماء الفئات، وبيانات وصفية مهمة أخرى. يحتفظ Ultralytics بملفات YAML رسمية للإصدارين الأكثر استخداماً:
استخدم ملف YAML الذي يطابق الإصدار الذي قمت بتنزيله، أو قم بإنشاء ملف YAML مخصص إذا كنت تعمل مع DOTA-v2 أو أي مشتق آخر.
# 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
# └── dota1 ← 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 صور فقط للاختبار السريع.
يرجى ملاحظة أن جميع الصور والشروحات المرتبطة بها في مجموعة بيانات 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-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={2021},
volume={},
number={},
pages={1-1},
doi={10.1109/TPAMI.2021.3117983}
}ملاحظة شكر خاصة للفريق الذي يقف وراء مجموعات بيانات DOTA على جهودهم الجديرة بالثناء في تنظيم هذه المجموعة. للحصول على فهم شامل لمجموعة البيانات وفروقها الدقيقة، يرجى زيارة موقع DOTA الرسمي.
الأسئلة الشائعة
ما هي مجموعة بيانات DOTA ولماذا هي مهمة لاكتشاف الكائنات في الصور الجوية؟
مجموعة بيانات DOTA هي مجموعة بيانات متخصصة تركز على اكتشاف الكائنات في الصور الجوية. وهي تتميز بصناديق الإحاطة الموجهة (OBB)، وتوفر صوراً مشروحة من مشاهد جوية متنوعة. إن تنوع DOTA في اتجاه الكائنات ومقياسها وشكلها عبر 1.7 مليون شرح و 18 فئة يجعلها مثالية لتطوير وتقييم النماذج المصممة لتحليل الصور الجوية، مثل تلك المستخدمة في المراقبة، والرصد البيئي، وإدارة الكوارث.
كيف تتعامل مجموعة بيانات DOTA مع المقاييس والتوجهات المختلفة في الصور؟
تستخدم DOTA صناديق الإحاطة الموجهة (OBB) للشرح، والتي يتم تمثيلها بواسطة مستطيلات مائلة تحيط بالكائنات بغض النظر عن اتجاهها. تضمن هذه الطريقة التقاط الكائنات بدقة، سواء كانت صغيرة أو بزوايا مختلفة. علاوة على ذلك، تسمح صور مجموعة البيانات متعددة المقاييس، التي تتراوح من 800 × 800 إلى 20,000 × 20,000 بكسل، باكتشاف كل من الكائنات الصغيرة والكبيرة بفعالية. هذا النهج ذو قيمة خاصة للصور الجوية حيث تظهر الكائنات بزوايا ومقاييس متنوعة.
كيف يمكنني تدريب نموذج باستخدام مجموعة بيانات DOTA؟
لتدريب نموذج على مجموعة بيانات 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 و DOTA-v1.5 و DOTA-v2.0؟
- DOTA-v1.0: تتضمن 15 فئة شائعة عبر 2,806 صور مع 188,282 نموذجاً. تنقسم مجموعة البيانات إلى مجموعات تدريب وتحقق واختبار.
- DOTA-v1.5: تعتمد على DOTA-v1.0 من خلال شرح النماذج الصغيرة جداً (أقل من 10 بكسل) وإضافة فئة جديدة، "رافعة حاويات" (container crane)، بإجمالي 403,318 نموذجاً.
- DOTA-v2.0: تتوسع أكثر مع شروحات من Google Earth و GF-2 Satellite، وتتميز بـ 11,268 صورة و 1,793,658 نموذجاً. تتضمن فئات جديدة مثل "مطار" (airport) و "مهبط طائرات مروحية" (helipad).
للحصول على مقارنة مفصلة وتفاصيل إضافية، تحقق من قسم إصدارات مجموعة البيانات.
كيف يمكنني إعداد صور DOTA عالية الدقة للتدريب؟
يتم تقسيم صور 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.