انتقل إلى المحتوى

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

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

دروس DOTA البصرية

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

  • جمع من أجهزة استشعار ومنصات مختلفة ، بأحجام صور تتراوح من 800 × 800 إلى 20000 × 20000 بكسل.
  • يتميز بأكثر من 1.7 مليون مربع محيط موجه عبر 18 فئة.
  • يشمل الكشف عن الكائنات متعددة المقاييس.
  • يتم شرح المثيلات بواسطة خبراء باستخدام رباعي تعسفي (8 d.o.f.) ، والتقاط كائنات بمقاييس واتجاهات وأشكال مختلفة.

إصدارات مجموعة البيانات

دوتا-v1.0

  • يحتوي على 15 فئة شائعة.
  • يضم 2,806 صورة مع 188,282 مثيلا.
  • نسب التقسيم: 1/2 للتدريب ، 1/6 للتحقق من الصحة ، و 1/3 للاختبار.

دوتا-v1.5

  • يتضمن نفس الصور مثل DOTA-v1.0.
  • يتم أيضا إضافة تعليقات توضيحية إلى مثيلات صغيرة جدا (أقل من 10 بكسل).
  • إضافة فئة جديدة: "رافعة الحاويات".
  • ما مجموعه 403,318 مثيل.
  • تم إصداره لتحدي DOAI 2019 حول اكتشاف الأجسام في الصور الجوية.

دوتا-v2.0

  • مجموعات من Google Earth، والقمر الصناعي GF-2، وصور جوية أخرى.
  • يحتوي على 18 فئة شائعة.
  • يضم 11,268 صورة مع 1,793,658 مثيلا.
  • تم إدخال فئات جديدة: "المطار" و "مهبط طائرات الهليكوبتر".
  • انقسامات الصورة:
    • التدريب: 1,830 صورة مع 268,627 مثيلا.
    • التحقق من الصحة: 593 صورة مع 81048 مثيلا.
    • تطوير الاختبار: 2,792 صورة مع 353,346 مثيلا.
    • تحدي الاختبار: 6053 صورة مع 1090637 مثيلا.

هيكل مجموعة البيانات

تعرض 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 بطريقة متعددة المقاييس.

تقسيم الصور

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 YOLOv8n-OBB model from scratch
model = YOLO("yolov8n-obb.yaml")

# Train the model on the DOTAv2 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=640)
# Train a new YOLOv8n-OBB model on the DOTAv2 dataset
yolo obb train data=DOTAv1.yaml model=yolov8n-obb.pt epochs=100 imgsz=640

عينة من البيانات والتعليقات التوضيحية

إن إلقاء نظرة على مجموعة البيانات يوضح عمقها:

صورة عينة مجموعة البيانات

  • أمثلة 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 YOLOv8n-OBB model from scratch
model = YOLO("yolov8n-obb.yaml")

# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=640)
# Train a new YOLOv8n-OBB model on the DOTAv1 dataset
yolo obb train data=DOTAv1.yaml model=yolov8n-obb.pt epochs=100 imgsz=640

لمزيد من التفاصيل حول كيفية تقسيم صور 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.



تم الإنشاء 2023-11-12-2023، تم التحديث 2024-07-04
المؤلفون: جلين-جوتشر (10)، الضحك-ك (1)

التعليقات