Link to this sectionنظرة عامة على مجموعات بيانات الصناديق المحيطة الموجهة (OBB)#
يتطلب تدريب نموذج دقيق لـ اكتشاف الأشياء باستخدام الصناديق المحيطة الموجهة (OBB) مجموعة بيانات شاملة. يشرح هذا الدليل تنسيقات بيانات OBB المتنوعة المتوافقة مع نماذج Ultralytics YOLO، ويقدم رؤى حول هيكلها وتطبيقها وطرق تحويل التنسيقات.
Link to this sectionتنسيقات بيانات OBB المدعومة#
Link to this sectionتنسيق 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.749758Link to this sectionتنسيق 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.zipLink to this sectionالاستخدام#
لتدريب نموذج باستخدام تنسيقات 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)Link to this sectionمجموعات البيانات المدعومة#
حاليًا، يتم دعم مجموعات البيانات التالية التي تحتوي على صناديق محيطة موجهة:
- DOTA-v1: الإصدار الأول من مجموعة بيانات DOTA، والذي يوفر مجموعة شاملة من الصور الجوية مع صناديق محيطة موجهة لاكتشاف الأشياء.
- DOTA-v1.5: إصدار وسيط من مجموعة بيانات DOTA، يوفر تعليقات توضيحية إضافية وتحسينات على DOTA-v1 لتعزيز مهام اكتشاف الأشياء.
- DOTA-v2: DOTA (مجموعة بيانات واسعة النطاق لاكتشاف الأشياء في الصور الجوية) الإصدار 2، تركز على الاكتشاف من منظور جوي وتحتوي على صناديق محيطة موجهة مع 1.7 مليون مثيل و11,268 صورة.
- DOTA8: مجموعة فرعية صغيرة مكونة من 8 صور من مجموعة بيانات DOTA الكاملة، مناسبة لاختبار سير العمل وفحوصات التكامل المستمر (CI) لتدريب OBB في مستودع
ultralytics. - DOTA128: مجموعة فرعية مكونة من 128 صورة من مجموعة بيانات DOTA مع جميع الصور في مجلد التدريب (تُستخدم للتدريب والتحقق)، مما يوفر توازنًا جيدًا بين الحجم والتنوع لاختبار نماذج OBB.
Link to this sectionدمج مجموعة بيانات OBB الخاصة بك#
بالنسبة لأولئك الذين يتطلعون إلى تقديم مجموعات البيانات الخاصة بهم مع صناديق محيطة موجهة، تأكد من التوافق مع "تنسيق YOLO OBB" المذكور أعلاه. قم بتحويل التعليقات التوضيحية الخاصة بك إلى هذا التنسيق المطلوب وقم بتفصيل المسارات والفئات وأسماء الفئات في ملف تكوين YAML مطابق.
Link to this sectionتحويل تنسيقات التسميات#
Link to this sectionتنسيق مجموعة بيانات 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، مما يضمن التوافق مع تنسيق OBB لـ Ultralytics YOLO.
من الضروري التحقق من توافق مجموعة البيانات مع نموذجك والالتزام باتفاقيات التنسيق اللازمة. تعد مجموعات البيانات المهيكلة بشكل صحيح محورية لتدريب نماذج اكتشاف كائنات فعالة بصناديق محيطة موجهة.
Link to this sectionالأسئلة الشائعة#
Link to this sectionما هي الصناديق المحيطة الموجهة (OBB) وكيف تُستخدم في نماذج Ultralytics YOLO؟#
الصناديق المحيطة الموجهة (OBB) هي نوع من التعليقات التوضيحية للصناديق المحيطة حيث يمكن تدوير الصندوق ليتوافق بشكل أوثق مع الكائن الذي يتم اكتشافه، بدلاً من أن يكون محاذيًا للمحاور فقط. هذا مفيد بشكل خاص في الصور الجوية أو صور الأقمار الصناعية حيث قد لا تكون الكائنات محاذية لمحاور الصورة. في نماذج Ultralytics YOLO، يتم تمثيل OBBs بنقاط زواياها الأربع في تنسيق YOLO OBB. وهذا يسمح باكتشاف أكثر دقة للكائنات لأن الصناديق المحيطة يمكن أن تدور لتناسب الكائنات بشكل أفضل.
Link to this sectionكيف أقوم بتحويل تسميات مجموعة بيانات 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.
Link to this sectionكيف أقوم بتدريب نموذج YOLO26 بصناديق محيطة موجهة (OBB) على مجموعة البيانات الخاصة بي؟#
يتضمن تدريب نموذج YOLO26 مع OBB التأكد من أن مجموعة البيانات الخاصة بك بتنسيق YOLO OBB ثم استخدام Ultralytics API لتدريب النموذج. إليك مثال في كل من 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 التوضيحية التفصيلية لتحسين دقة الاكتشاف.
Link to this sectionما هي مجموعات البيانات المدعومة حاليًا لتدريب 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 الأولي والتجريب.
تم تصميم مجموعات البيانات هذه للسيناريوهات التي توفر فيها OBBs ميزة كبيرة، مثل تحليل الصور الجوية وصور الأقمار الصناعية.
Link to this sectionهل يمكنني استخدام مجموعة البيانات الخاصة بي مع صناديق محيطة موجهة لتدريب YOLO26، وإذا كان الأمر كذلك، فكيف؟#
نعم، يمكنك استخدام مجموعة البيانات الخاصة بك مع صناديق محيطة موجهة لتدريب YOLO26. تأكد من تحويل تعليقات مجموعة البيانات التوضيحية إلى تنسيق YOLO OBB، والذي يتضمن تحديد الصناديق المحيطة من خلال نقاط زواياها الأربع. يمكنك بعد ذلك إنشاء ملف تكوين YAML يحدد مسارات مجموعة البيانات والفئات والتفاصيل الضرورية الأخرى. لمزيد من المعلومات حول إنشاء وتكوين مجموعات البيانات الخاصة بك، راجع قسم مجموعات البيانات المدعومة.