تخطي إلى المحتوى

مجموعة بيانات DOTA DATASET مع OBB

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

فئات DOTA المرئية

الميزات الرئيسية

  • مجموعة من مستشعرات ومنصات مختلفة، بأحجام صور تتراوح بين 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 بكسل).
  • إضافة فئة جديدة: "رافعة حاويات".
  • ما مجموعه 403,318 حالة.
  • صدر من أجل تحدي DOAI 2019 حول اكتشاف الأجسام في الصور الجوية.

DOTA-v2.0

  • مجموعات من Google Earth، والقمر الصناعي GF-2، وصور جوية أخرى.
  • تحتوي على 18 فئة شائعة.
  • يضم 11,268 صورة مع 1,793,658 حالة ضخمة.
  • تم تقديم فئات جديدة: "المطار" و"مهبط طائرات الهليكوبتر".
  • انقسامات الصور:
    • التدريب: 1,830 1 صورة مع 268,627 حالة.
    • التحقق من الصحة: 593 صورة مع 81,048 حالة.
    • اختبار-التطوير: 2,792 صورة مع 353,346 حالة.
    • اختبار التحدي: 6,053 6 صورة مع 1,090,637 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 YOLO 🚀, AGPL-3.0 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: ../datasets/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 × 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، يمكنك استخدام مقتطفات التعليمات البرمجية التالية. راجع دائمًا وثائق النموذج الخاص بك للحصول على قائمة شاملة بالوسائط المتاحة.

تحذير

يُرجى ملاحظة أنه يمكن استخدام جميع الصور والشروح المرتبطة بها في مجموعة بيانات 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 في مساعيهم، من المناسب الاستشهاد بالأوراق البحثية ذات الصلة:

@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 هي مجموعة بيانات متخصصة تركز على اكتشاف الأجسام في الصور الجوية. وتتميز بمجموعة بيانات DOTA بصور مشروحة من مشاهد جوية متنوعة. إن تنوع DOTA في اتجاه الكائنات ومقياسها وشكلها عبر 1.7 مليون تعليق توضيحي و18 فئة يجعلها مثالية لتطوير وتقييم النماذج المصممة خصيصًا لتحليل الصور الجوية، مثل تلك المستخدمة في المراقبة والرصد البيئي وإدارة الكوارث.

كيف تتعامل مجموعة بيانات DOTA مع المقاييس والاتجاهات المختلفة في الصور؟

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

كيف يمكنني تدريب نموذج باستخدام مجموعة بيانات 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-v1.5 وDOTA-v2.0؟

  • DOTA-v1.0: يتضمن 15 فئة شائعة عبر 2,806 صورة تحتوي على 188,282 حالة. تنقسم مجموعة البيانات إلى مجموعات التدريب والتحقق من الصحة والاختبار.
  • DOTA-v1.5: يبني على DOTA-v1.0 من خلال وضع تعليقات توضيحية على المثيلات الصغيرة جدًا (أقل من 10 بكسل) وإضافة فئة جديدة هي "رافعة الحاويات"، بإجمالي 403,318 مثيلًا.
  • DOTA-v2.0: يتوسع أكثر مع التعليقات التوضيحية من Google Earth و GF-2 Satellite، ويضم 11,268 صورة و 1,793,658 حالة. يتضمن فئات جديدة مثل "مطار" و"مهبط طائرات الهليكوبتر".

للحصول على مقارنة مفصلة وتفاصيل إضافية، راجع قسم إصدارات مجموعة البيانات.

كيف يمكنني إعداد صور 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.

📅 تم إنشاؤها منذ 1 سنة مضت ✏️ تم التحديث منذ 1 شهر

التعليقات