مجموعة بيانات DOTA مع OBB
تعتبر DOTA مجموعة بيانات متخصصة، تؤكد على الكشف عن الأجسام في الصور الجوية. نشأت من سلسلة مجموعات بيانات DOTA، وهي تقدم صورًا مشروحة تلتقط مجموعة متنوعة من المشاهد الجوية مع مربعات محيطة موجهة (OBB).
الميزات الرئيسية
شاهد: كيفية تدريب Ultralytics YOLO11 على مجموعة بيانات DOTA للمربعات المحيطة الموجهة في Google Colab
- تجميع من مختلف أجهزة الاستشعار والمنصات، بأحجام صور تتراوح من 800 × 800 إلى 20000 × 20000 بكسل.
- يتميز بأكثر من 1.7 مليون مربع إحاطة موجه عبر 18 فئة.
- يشمل اكتشاف الأجسام متعدد المقاييس.
- يتم ترميز المثيلات بواسطة خبراء باستخدام رباعي الأضلاع (8 d.o.f.) اعتباطي، لالتقاط الكائنات ذات المقاييس والاتجاهات والأشكال المختلفة.
إصدارات مجموعة البيانات
DOTA-v1.0
- يحتوي على 15 فئة شائعة.
- تتكون من 2,806 صورة مع 188,282 مثيلًا.
- نسب التقسيم: 1/2 للتدريب، 1/6 للتحقق من الصحة، و 1/3 للاختبار.
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 مثيل.
- تحدي الاختبار: 6,053 صورة مع 1,090,637 مثيل.
هيكل مجموعة البيانات
يعرض DOTA تخطيطًا منظمًا مصممًا خصيصًا لتحديات الكشف عن الكائنات OBB:
- الصور: مجموعة واسعة من الصور الجوية عالية الدقة التي تلتقط تضاريس وهياكل متنوعة.
- مربعات إحاطة موجهة: تعليقات توضيحية في شكل مستطيلات مُدَوَّرة تغلف الكائنات بغض النظر عن اتجاهها، وهي مثالية لالتقاط كائنات مثل الطائرات والسفن والمباني.
التطبيقات
تعتبر DOTA معيارًا لتدريب وتقييم النماذج المصممة خصيصًا لتحليل الصور الجوية. مع تضمين تعليقات OBB التوضيحية، فإنها توفر تحديًا فريدًا، مما يتيح تطوير نماذج اكتشاف الكائنات المتخصصة التي تلبي الفروق الدقيقة في الصور الجوية. تعتبر مجموعة البيانات ذات قيمة خاصة للتطبيقات في الاستشعار عن بعد والمراقبة والرصد البيئي.
ملف YAML لمجموعة البيانات
تتضمن مجموعات البيانات عادةً ملف YAML (لغة ترميز أخرى) يوضح بالتفصيل تكوين مجموعة البيانات. بالنسبة إلى DOTA v1 و DOTA v1.5، توفر Ultralytics DOTAv1.yaml
و DOTAv1.5.yaml
ملفات. لمزيد من التفاصيل حول هذه الملفات بالإضافة إلى DOTA v2، يرجى الرجوع إلى المستودع والوثائق الرسمية لـ DOTA.
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
# └── dota1 ← downloads here (2GB)
# 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
لتدريب مجموعة بيانات DOTA، نقوم بتقسيم صور DOTA الأصلية ذات الدقة العالية إلى صور بدقة 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,
)
الاستخدام
لتدريب نموذج على مجموعة بيانات DOTA v1، يمكنك استخدام مقتطفات التعليمات البرمجية التالية. ارجع دائمًا إلى وثائق النموذج الخاص بك للحصول على قائمة كاملة بالوسائط المتاحة. بالنسبة لأولئك الذين يتطلعون إلى التجربة مع مجموعة فرعية أصغر أولاً، ضع في اعتبارك استخدام مجموعة بيانات DOTA8، التي تحتوي على 8 صور فقط للاختبار السريع.
تحذير
يرجى ملاحظة أنه يمكن استخدام جميع الصور والتعليقات التوضيحية المرتبطة بها في مجموعة بيانات DOTAv1 للأغراض الأكاديمية، ولكن الاستخدام التجاري محظور. نحن نقدر تفهمك واحترامك لرغبات مُنشئي مجموعة البيانات!
مثال على التدريب
from ultralytics import YOLO
# Create a new YOLO11n-OBB model from scratch
model = YOLO("yolo11n-obb.yaml")
# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)
# Train a new YOLO11n-OBB model on the DOTAv1 dataset
yolo obb train data=DOTAv1.yaml model=yolo11n-obb.pt 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 إلى 20000 × 20000 بكسل، اكتشاف الكائنات الصغيرة والكبيرة بشكل فعال. يعتبر هذا النهج ذا قيمة خاصة للصور الجوية حيث تظهر الكائنات بزوايا ومقاييس مختلفة.
كيف يمكنني تدريب نموذج باستخدام مجموعة بيانات DOTA؟
لتدريب نموذج على مجموعة بيانات DOTA، يمكنك استخدام المثال التالي مع Ultralytics YOLO:
مثال على التدريب
from ultralytics import YOLO
# Create a new YOLO11n-OBB model from scratch
model = YOLO("yolo11n-obb.yaml")
# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)
# Train a new YOLO11n-OBB model on the DOTAv1 dataset
yolo obb train data=DOTAv1.yaml model=yolo11n-obb.pt epochs=100 imgsz=1024
لمزيد من التفاصيل حول كيفية تقسيم ومعالجة صور DOTA مسبقًا، راجع قسم تقسيم صور DOTA.
ما هي الاختلافات بين DOTA-v1.0 و DOTA-v1.5 و DOTA-v2.0؟
- DOTA-v1.0: تتضمن 15 فئة شائعة عبر 2806 صورة مع 188282 مثيلًا. يتم تقسيم مجموعة البيانات إلى مجموعات التدريب والتحقق والاختبار.
- DOTA-v1.5: تعتمد على DOTA-v1.0 عن طريق إضافة تعليقات توضيحية لمثيلات صغيرة جدًا (أقل من 10 بكسل) وإضافة فئة جديدة، "رافعة حاويات"، ليصبح المجموع 403318 مثيلًا.
- DOTA-v2.0: تتوسع بشكل أكبر مع التعليقات التوضيحية من Google Earth و GF-2 Satellite، وتضم 11268 صورة و 1793658 مثيلًا. وهي تتضمن فئات جديدة مثل "مطار" و "مهبط طائرات الهليكوبتر".
لإجراء مقارنة تفصيلية وتفاصيل إضافية، تحقق من قسم إصدارات مجموعة البيانات.
كيف يمكنني تجهيز صور 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.