نظرة عامة على مجموعات بيانات الصناديق المحيطة الموجهة (OBB)
يتطلب تدريب نموذج دقيق لاكتشاف الكائنات باستخدام الصناديق المحيطة الموجهة (OBB) مجموعة بيانات شاملة. يشرح هذا الدليل تنسيقات مجموعات بيانات OBB المختلفة المتوافقة مع نماذج Ultralytics YOLO، ويقدم رؤى حول هيكلها وتطبيقها وطرق تحويل التنسيقات.
تنسيقات مجموعات بيانات OBB المدعومة
تنسيق YOLO OBB
يحدد تنسيق YOLO OBB الصناديق المحيطة من خلال نقاط زواياها الأربع بإحداثيات مطبعة بين 0 و 1. وهو يتبع هذا التنسيق:
class_index x1 y1 x2 y2 x3 y3 x4 y4داخلياً، تعالج YOLO الخسائر والمخرجات بتنسيق xywhr، والذي يمثل نقطة المركز (xy)، والعرض، والارتفاع، والدوران لـ صندوق التحديد.

مثال على ملف تصنيف *.txt للصورة أعلاه، والذي يحتوي على كائن من الفئة 0 بتنسيق OBB، يمكن أن يبدو كما يلي:
0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758تنسيق YAML لمجموعة البيانات
يستخدم إطار عمل Ultralytics تنسيق ملف YAML لتحديد تكوين مجموعة البيانات والنموذج لتدريب نماذج OBB. إليك مثال على تنسيق YAML المستخدم لتحديد مجموعة بيانات OBB:
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# DOTA8 dataset (8 images from the DOTAv1 split) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/obb/dota8/
# Example usage: yolo train model=yolov8n-obb.pt data=dota8.yaml
# parent
# ├── ultralytics
# └── datasets
# └── dota8 ← downloads here (1 MB)
# 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: dota8 # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 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/dota8.zipالاستخدام
لتدريب نموذج باستخدام تنسيقات OBB هذه:
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-v1: الإصدار الأول من مجموعة بيانات DOTA، والذي يوفر مجموعة شاملة من الصور الجوية مع صناديق محيطة موجهة لاكتشاف الكائنات.
- DOTA-v1.5: إصدار وسيط من مجموعة بيانات DOTA، يوفر تعليقات توضيحية إضافية وتحسينات على DOTA-v1 لمهام اكتشاف الكائنات المحسنة.
- DOTA-v2: الإصدار الثاني من DOTA (مجموعة بيانات واسعة النطاق لاكتشاف الكائنات في الصور الجوية)، يركز على الاكتشاف من منظور جوي ويحتوي على صناديق محيطة موجهة مع 1.7 مليون حالة و 11,268 صورة.
- DOTA8: مجموعة فرعية صغيرة من 8 صور من مجموعة بيانات DOTA الكاملة مناسبة لاختبار مهام سير العمل وفحوصات التكامل المستمر (CI) لتدريب OBB في مستودع
ultralytics. - DOTA128: مجموعة فرعية من 128 صورة من مجموعة بيانات DOTA مع جميع الصور في مجلد التدريب (تستخدم للتدريب والتحقق)، مما يوفر توازناً جيداً بين الحجم والتنوع لاختبار نماذج OBB.
دمج مجموعة بيانات OBB الخاصة بك
بالنسبة لأولئك الذين يتطلعون إلى تقديم مجموعات البيانات الخاصة بهم مع صناديق محيطة موجهة، تأكد من التوافق مع "تنسيق YOLO OBB" المذكور أعلاه. قم بتحويل تعليقاتك التوضيحية إلى هذا التنسيق المطلوب وقم بتفصيل المسارات والفئات وأسماء الفئات في ملف تكوين YAML المقابل.
تحويل تنسيقات التسميات
تحويل تنسيق مجموعة بيانات DOTA إلى تنسيق YOLO OBB
يمكن تحقيق نقل التسميات من تنسيق مجموعة بيانات DOTA إلى تنسيق YOLO OBB باستخدام هذا البرنامج النصي:
from ultralytics.data.converter import convert_dota_to_yolo_obb
convert_dota_to_yolo_obb("path/to/DOTA")تعد آلية التحويل هذه مفيدة لمجموعات البيانات بتنسيق DOTA، مما يضمن التوافق مع تنسيق Ultralytics YOLO OBB.
من الضروري التحقق من توافق مجموعة البيانات مع نموذجك والالتزام باتفاقيات التنسيق اللازمة. تعتبر مجموعات البيانات المنظمة بشكل صحيح محورية لتدريب نماذج اكتشاف كائنات فعالة باستخدام صناديق محيطة موجهة.
الأسئلة الشائعة
ما هي الصناديق المحيطة الموجهة (OBB) وكيف يتم استخدامها في نماذج Ultralytics YOLO؟
الصناديق المحيطة الموجهة (OBB) هي نوع من التعليقات التوضيحية للصناديق المحيطة حيث يمكن تدوير الصندوق ليتماشى بشكل أوثق مع الكائن الذي يتم اكتشافه، بدلاً من مجرد كونه محاذاة للمحاور. هذا مفيد بشكل خاص في الصور الجوية أو صور الأقمار الصناعية حيث قد لا تكون الكائنات محاذاة لمحاور الصورة. في نماذج Ultralytics YOLO، يتم تمثيل صناديق OBB بنقاط زواياها الأربع في تنسيق YOLO OBB. وهذا يسمح باكتشاف أكثر دقة للكائنات لأن الصناديق المحيطة يمكن أن تدور لتناسب الكائنات بشكل أفضل.
كيف يمكنني تحويل تسميات مجموعة بيانات DOTA الحالية الخاصة بي إلى تنسيق YOLO OBB لاستخدامها مع Ultralytics YOLO26؟
يمكنك تحويل تسميات مجموعة بيانات DOTA إلى تنسيق YOLO OBB باستخدام وظيفة convert_dota_to_yolo_obb من Ultralytics. يضمن هذا التحويل التوافق مع نماذج Ultralytics YOLO، مما يتيح لك الاستفادة من إمكانيات OBB لاكتشاف محسّن للكائنات. إليك مثال سريع:
from ultralytics.data.converter import convert_dota_to_yolo_obb
convert_dota_to_yolo_obb("path/to/DOTA")سيقوم هذا البرنامج النصي بإعادة تنسيق تعليقات DOTA التوضيحية الخاصة بك إلى تنسيق متوافق مع YOLO.
كيف يمكنني تدريب نموذج YOLO26 مع صناديق محيطة موجهة (OBB) على مجموعة البيانات الخاصة بي؟
يتضمن تدريب نموذج YOLO26 مع OBB التأكد من أن مجموعة بياناتك بتنسيق YOLO OBB ثم استخدام واجهة برمجة تطبيقات Ultralytics لتدريب النموذج. إليك مثال في كل من Python و CLI:
from ultralytics import YOLO
# Create a new YOLO26n-OBB model from scratch
model = YOLO("yolo26n-obb.yaml")
# Train the model on the custom dataset
results = model.train(data="your_dataset.yaml", epochs=100, imgsz=640)يضمن هذا أن يستفيد نموذجك من تعليقات OBB التوضيحية التفصيلية لتحسين الدقة.
ما هي مجموعات البيانات المدعومة حالياً لتدريب OBB في نماذج Ultralytics YOLO؟
في الوقت الحالي، تدعم Ultralytics مجموعات البيانات التالية لتدريب OBB:
- DOTA-v1: الإصدار الأول من مجموعة بيانات DOTA، والذي يوفر مجموعة شاملة من الصور الجوية مع صناديق محيطة موجهة لاكتشاف الكائنات.
- DOTA-v1.5: إصدار وسيط من مجموعة بيانات DOTA، يوفر تعليقات توضيحية إضافية وتحسينات على DOTA-v1 لمهام اكتشاف الكائنات المحسنة.
- DOTA-v2: تتضمن مجموعة البيانات هذه 1.7 مليون حالة مع صناديق محيطة موجهة و 11,268 صورة، مع التركيز بشكل أساسي على اكتشاف الكائنات الجوية.
- DOTA8: مجموعة فرعية أصغر من 8 صور من مجموعة بيانات DOTA تستخدم للاختبار وفحوصات التكامل المستمر (CI).
- DOTA128: مجموعة فرعية من 128 صورة مع جميع الصور في مجلد التدريب (تستخدم للتدريب والتحقق)، مما يوفر تنوعاً أكبر من DOTA8 مع بقائه قابلاً للإدارة لتطوير نموذج OBB الأولي والتجريب.
تم تصميم مجموعات البيانات هذه للسيناريوهات التي توفر فيها صناديق OBB ميزة كبيرة، مثل تحليل الصور الجوية وصور الأقمار الصناعية.
هل يمكنني استخدام مجموعة البيانات الخاصة بي مع صناديق محيطة موجهة لتدريب YOLO26، وإذا كان الأمر كذلك، فكيف؟
نعم، يمكنك استخدام مجموعة البيانات الخاصة بك مع صناديق محيطة موجهة لتدريب YOLO26. تأكد من تحويل تعليقات مجموعة البيانات التوضيحية إلى تنسيق YOLO OBB، والذي يتضمن تحديد الصناديق المحيطة من خلال نقاط زواياها الأربع. يمكنك بعد ذلك إنشاء ملف تكوين YAML يحدد مسارات مجموعة البيانات والفئات والتفاصيل الضرورية الأخرى. لمزيد من المعلومات حول إنشاء مجموعات البيانات الخاصة بك وتكوينها، راجع قسم مجموعات البيانات المدعومة.