Meet YOLO26: next-gen vision AI.

Link to this sectionمجموعة بيانات DOTA مع OBB#

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

فئات كائنات مجموعة بيانات DOTA للاكتشاف الجوي

Link to this sectionالميزات الرئيسية#



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 درجات حرية)، مما يلتقط كائنات ذات مقاييس واتجاهات وأشكال مختلفة.

Link to this sectionإصدارات مجموعة البيانات#

Link to this sectionDOTA-v1.0#

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

Link to this sectionDOTA-v1.5#

Link to this sectionDOTA-v2.0#

  • مجموعات من Google Earth، وقمر GF-2 الصناعي، وصور جوية أخرى.
  • تحتوي على 18 فئة شائعة.
  • تتكون من 11,268 صورة مع عدد هائل بلغ 1,793,658 حالة.
  • تقديم فئات جديدة: "مطار" (airport) و"مهبط مروحيات" (helipad).
  • تقسيمات الصور:
    • التدريب: 1,830 صورة مع 268,627 حالة.
    • التحقق: 593 صورة مع 81,048 حالة.
    • اختبار-التطوير (Test-dev): 2,792 صورة مع 353,346 حالة.
    • اختبار-التحدي (Test-challenge): 6,053 صورة مع 1,090,637 حالة.

Link to this sectionهيكل مجموعة البيانات#

تُظهر DOTA تصميماً مهيكلاً مصمماً خصيصاً لتحديات اكتشاف الكائنات باستخدام OBB:

  • الصور: مجموعة واسعة من الصور الجوية عالية الدقة التي تلتقط تضاريس وهياكل متنوعة.
  • صناديق التحديد الموجهة: تعليقات في شكل مستطيلات دوارة تحيط بالكائنات بغض النظر عن اتجاهها، وهي مثالية لالتقاط كائنات مثل الطائرات والسفن والمباني.

Link to this sectionالتطبيقات#

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

Link to this sectionYAML مجموعة البيانات#

يحدد ملف YAML (Yet Another Markup Language) لمجموعة البيانات جذور الصور/التسميات، وأسماء الفئات، وبيانات وصفية مهمة أخرى. تحتفظ Ultralytics بملفات YAML رسمية لأكثر إصدارين استخداماً:

استخدم ملف YAML الذي يطابق الإصدار الذي قمت بتنزيله، أو أنشئ ملف YAML مخصصاً إذا كنت تعمل مع DOTA-v2 أو أي إصدار مشتق آخر.

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
#     └── 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

Link to this sectionتقسيم صور 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 الخاص بمجموعة البيانات.

Link to this sectionالاستخدام#

لتدريب نموذج على مجموعة بيانات 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)

Link to this sectionعينة من البيانات والتعليقات#

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

مجموعة بيانات DOTA مع تعليقات صناديق التحديد الموجهة

  • أمثلة DOTA: تؤكد هذه اللقطة على تعقيد المشاهد الجوية وأهمية تعليقات صندوق التحديد الموجه، والتي تلتقط الكائنات في اتجاهها الطبيعي.

توفر ثراء مجموعة البيانات رؤى لا تقدر بثمن حول تحديات اكتشاف الكائنات الحصرية للصور الجوية. أصبحت مجموعة بيانات DOTA-v2.0 شائعة بشكل خاص لمشاريع الاستشعار عن بعد والمراقبة الجوية نظراً لتعليقاتها الشاملة وفئات الكائنات المتنوعة.

Link to this sectionالاقتباسات والشكر#

إذا كنت تستخدم 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 الرسمي.

Link to this sectionأسئلة شائعة#

Link to this sectionما هي مجموعة بيانات DOTA ولماذا تعد مهمة لاكتشاف الكائنات في الصور الجوية؟#

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

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

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

Link to this sectionكيف يمكنني تدريب نموذج باستخدام مجموعة بيانات 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.

Link to this sectionما هي الاختلافات بين DOTA-v1.0 و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 الصناعي، وتضم 11,268 صورة و1,793,658 حالة. وهي تشمل فئات جديدة مثل "مطار" و"مهبط مروحيات".

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

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

التعليقات