الكشف عن كائنات المربعات المحدودة الموجهة
يذهب الاكتشاف الموجه للأجسام خطوة أبعد من اكتشاف الأجسام ويقدم زاوية إضافية لتحديد موقع الأجسام بدقة أكبر في الصورة.
يكون ناتج كاشف الأجسام الموجّهة عبارة عن مجموعة من المربعات المحدّدة المدوّرة التي تحيط بالأجسام الموجودة في الصورة بالضبط، بالإضافة إلى تسميات الفئات ودرجات الثقة لكل مربع. يُعد اكتشاف الكائنات خيارًا جيدًا عندما تحتاج إلى تحديد الكائنات ذات الأهمية في المشهد، ولكنك لا تحتاج إلى معرفة مكان الكائن أو شكله بالضبط.
نصيحة
YOLO11 تستخدم طرازات OBB -obb
اللاحقة، أي yolo11n-obb.pt
ويتم تدريبهم مسبقًا على DOTAv1.
شاهد: الكشف عن الكائنات باستخدام Ultralytics YOLO المربعات المحدودة الموجهة (YOLO-OBB)
العينات المرئية
اكتشاف السفن باستخدام OBB | اكتشاف المركبات باستخدام OBB |
---|---|
النماذج
YOLO11 تظهر نماذج OBB المُدرَّبة مسبقًا هنا، والتي تم تدريبها مسبقًا على مجموعة بيانات DOTAv1.
يتم تنزيل النماذج تلقائياً من أحدثإصدار Ultralytics عند الاستخدام الأول.
الطراز | الحجم (بكسل) |
اختبار mAPtest 50 |
السرعة CPU ONNX (مللي ثانية) |
السرعة T4 T4TensorRT10 (مللي ثانية) |
بارامز (م) |
(ب) |
---|---|---|---|---|---|---|
YOLO11n-obb | 1024 | 78.4 | 117.6 ± 0.8 | 4.4 ± 0.0 | 2.7 | 17.2 |
YOLO11s-obb | 1024 | 79.5 | 219.4 ± 4.0 | 5.1 ± 0.0 | 9.7 | 57.5 |
YOLO11m-obb | 1024 | 80.9 | 562.8 ± 2.9 | 10.1 ± 0.4 | 20.9 | 183.5 |
YOLO11l-obb | 1024 | 81.0 | 712.5 ± 5.0 | 13.5 ± 0.6 | 26.2 | 232.0 |
YOLO11x-obb | 1024 | 81.3 | 1408.6 ± 7.7 | 28.6 ± 1.0 | 58.8 | 520.2 |
- اختبار mAPtest هي قيم للنموذج الواحد متعدد النماذج على DOTAv1 مجموعة البيانات.
إعادة الإنتاج بواسطةyolo val obb data=DOTAv1.yaml device=0 split=test
وإرسال النتائج المدمجة إلى تقييم DOTA. - السرعة تم حساب متوسطها على صور DOTAv1 val باستخدام أمازون إي سي 2 بي 4 دي على سبيل المثال.
إعادة الإنتاج بواسطةyolo val obb data=DOTAv1.yaml batch=1 device=0|cpu
القطار
قم بتدريب YOLO11n-obb على مجموعة بيانات DOTA8 ل 100 حقبة زمنية بحجم صورة 640. للاطلاع على قائمة كاملة بالوسائط المتاحة انظر صفحة التهيئة.
مثال على ذلك
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-obb.yaml") # build a new model from YAML
model = YOLO("yolo11n-obb.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo11n-obb.yaml").load("yolo11n.pt") # build from YAML and transfer weights
# Train the model
results = model.train(data="dota8.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo obb train data=dota8.yaml model=yolo11n-obb.yaml epochs=100 imgsz=640
# Start training from a pretrained *.pt model
yolo obb train data=dota8.yaml model=yolo11n-obb.pt epochs=100 imgsz=640
# Build a new model from YAML, transfer pretrained weights to it and start training
yolo obb train data=dota8.yaml model=yolo11n-obb.yaml pretrained=yolo11n-obb.pt epochs=100 imgsz=640
شاهد: كيفية تدريب النماذج Ultralytics YOLO -OBB (المربعات المحدودة الموجهة) على مجموعة بيانات DOTA DOTA باستخدام Ultralytics HUB
تنسيق مجموعة البيانات
يمكن الاطلاع على تنسيق مجموعة بيانات OBB بالتفصيل في دليل مجموعة البيانات.
فال
التحقق من صحة نموذج YOLO11n-obb المدرّب الدقة على مجموعة بيانات DOTA8. لا حاجة لوسائط لأن model
تحتفظ بتدريبها data
والوسائط كسمات نموذجية.
مثال على ذلك
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-obb.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Validate the model
metrics = model.val(data="dota8.yaml") # no arguments needed, dataset and settings remembered
metrics.box.map # map50-95(B)
metrics.box.map50 # map50(B)
metrics.box.map75 # map75(B)
metrics.box.maps # a list contains map50-95(B) of each category
التنبؤ
استخدم نموذج YOLO11n-obb المدرّب لتشغيل التنبؤات على الصور.
مثال على ذلك
شاهد: كيفية الكشف عن صهاريج التخزين وتتبعها باستخدام Ultralytics YOLO -OBB | صناديق تحديد الاتجاه | DOTA
انظر بالكامل predict
تفاصيل الوضع في التنبؤ الصفحة.
التصدير
قم بتصدير نموذج YOLO11n-obb إلى تنسيق مختلف مثل ONNX ، CoreML ، إلخ.
مثال على ذلك
ترد تنسيقات التصدير المتاحة YOLO11-obb في الجدول أدناه. يمكنك التصدير إلى أي تنسيق باستخدام format
الحجة، أي format='onnx'
أو format='engine'
. يمكنك التنبؤ أو التحقق من الصحة مباشرةً على النماذج المصدرة، أي yolo predict model=yolo11n-obb.onnx
. تظهر أمثلة الاستخدام للنموذج الخاص بك بعد اكتمال التصدير.
التنسيق | format الجدال |
الطراز | البيانات الوصفية | الحجج |
---|---|---|---|---|
PyTorch | - | yolo11n-obb.pt |
✅ | - |
TorchScript | torchscript |
yolo11n-obb.torchscript |
✅ | imgsz , optimize , batch |
ONNX | onnx |
yolo11n-obb.onnx |
✅ | imgsz , half , dynamic , simplify , opset , batch |
OpenVINO | openvino |
yolo11n-obb_openvino_model/ |
✅ | imgsz , half , int8 , batch |
TensorRT | engine |
yolo11n-obb.engine |
✅ | imgsz , half , dynamic , simplify , workspace , int8 , batch |
CoreML | coreml |
yolo11n-obb.mlpackage |
✅ | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model |
yolo11n-obb_saved_model/ |
✅ | imgsz , keras , int8 , batch |
TF GraphDef | pb |
yolo11n-obb.pb |
❌ | imgsz , batch |
TF لايت | tflite |
yolo11n-obb.tflite |
✅ | imgsz , half , int8 , batch |
TF إيدج TPU | edgetpu |
yolo11n-obb_edgetpu.tflite |
✅ | imgsz |
TF.js | tfjs |
yolo11n-obb_web_model/ |
✅ | imgsz , half , int8 , batch |
PaddlePaddle | paddle |
yolo11n-obb_paddle_model/ |
✅ | imgsz , batch |
MNN | mnn |
yolo11n-obb.mnn |
✅ | imgsz , batch , int8 , half |
NCNN | ncnn |
yolo11n-obb_ncnn_model/ |
✅ | imgsz , half , batch |
IMX500 | imx |
yolo11n-obb_imx_model/ |
✅ | imgsz , int8 |
انظر بالكامل export
التفاصيل في التصدير الصفحة.
الأسئلة الشائعة
ما هي الصناديق المحدودة الموجهة (OBB) وكيف تختلف عن الصناديق المحدودة العادية؟
تتضمن المربعات المحددة الموجهة (OBB) زاوية إضافية لتحسين دقة تحديد موقع الجسم في الصور. على عكس المربعات المحددة العادية، والتي هي عبارة عن مستطيلات محاذاة للمحور، يمكن أن تدور المربعات المحددة الموجهة لتناسب اتجاه الكائن بشكل أفضل. وهذا مفيد بشكل خاص للتطبيقات التي تتطلب تحديد موضع الكائن بدقة، مثل الصور الجوية أو صور الأقمار الصناعية(دليل مجموعة البيانات).
كيف يمكنني تدريب نموذج YOLO11n-obb باستخدام مجموعة بيانات مخصصة؟
لتدريب نموذج YOLO11n-obb باستخدام مجموعة بيانات مخصصة، اتبع المثال أدناه باستخدام Python أو CLI:
مثال على ذلك
لمزيد من الوسائط التدريبية، راجع قسم التهيئة.
ما هي مجموعات البيانات التي يمكنني استخدامها لتدريب نماذج YOLO11-OBB؟
YOLO11-يتم تدريب نماذج OBB مسبقًا على مجموعات بيانات مثل DOTAv1 ولكن يمكنك استخدام أي مجموعة بيانات منسقة لـ OBB. يمكن العثور على معلومات مفصلة عن تنسيقات مجموعة بيانات OBB في دليل مجموعة البيانات.
كيف يمكنني تصدير نموذج YOLO11-OBB إلى تنسيق ONNX ؟
يعد تصدير نموذج YOLO11-OBB إلى تنسيق ONNX أمرًا سهلاً ومباشرًا باستخدام إما Python أو CLI:
مثال على ذلك
لمزيد من تنسيقات التصدير والتفاصيل، راجع صفحة التصدير.
كيف يمكنني التحقق من دقة نموذج YOLO11n-obb؟
للتحقق من صحة نموذج YOLO11n-obb، يمكنك استخدام الأوامر Python أو CLI كما هو موضح أدناه:
مثال على ذلك
راجع تفاصيل التحقق الكاملة في قسم "فال".