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

Oriented Bounding Boxes Object Detection

يذهب اكتشاف الكائنات الموجهة إلى أبعد من اكتشاف الكائن ويقدم زاوية إضافية لتحديد موقع الكائنات بشكل أكثر دقة في الصورة.

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

بقشيش

YOLO11 OBB models use the -obb لاحقة ، أي yolo11n-obb.pt ويتم تدريبهم مسبقا على DOTAv1.



شاهد: Object Detection using Ultralytics YOLO Oriented Bounding Boxes (YOLO-OBB)

عينات بصرية

كشف السفن باستخدام OBBالكشف عن المركبات باستخدام OBB
كشف السفن باستخدام OBBالكشف عن المركبات باستخدام OBB

نماذج

YOLO11 pretrained OBB models are shown here, which are pretrained on the DOTAv1 dataset.

يتم تنزيل الموديلات تلقائيا من الأحدث Ultralytics حرر عند الاستخدام الأول.

نموذجحجم
(بكسل)
خريطةاختبر
50
السرعة
CPU ONNX
(مللي ثانية)
Speed
T4 TensorRT10
(ms)
المعلمات
(م)
FLOPs
(B)
YOLO11n-obb102478.4117.6 ± 0.84.4 ± 0.02.717.2
YOLO11s-obb102479.5219.4 ± 4.05.1 ± 0.09.757.5
YOLO11m-obb102480.9562.8 ± 2.910.1 ± 0.420.9183.5
YOLO11l-obb102481.0712.5 ± 5.013.5 ± 0.626.2232.0
YOLO11x-obb102481.31408.6 ± 7.728.6 ± 1.058.8520.2
  • اختبار mAP القيم لنموذج واحد متعدد المقاييس على DOTAv1 مجموعة البيانات.
    إعادة إنتاج بواسطة yolo val obb data=DOTAv1.yaml device=0 split=test وإرسال النتائج المدمجة إلى تقييم دوتا.
  • سرعة تم حساب متوسطها عبر صور DOTAv1 val باستخدام أمازون EC2 P4d مثيل.
    إعادة إنتاج بواسطة yolo val obb data=DOTAv1.yaml batch=1 device=0|cpu

قطار

Train YOLO11n-obb on the DOTA8 dataset for 100 epochs at image size 640. For a full list of available arguments see the Configuration page.

مثل

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



شاهد: How to Train Ultralytics YOLO-OBB (Oriented Bounding Boxes) Models on DOTA Dataset using Ultralytics HUB

تنسيق مجموعة البيانات

يمكن العثور على تنسيق مجموعة بيانات OBB بالتفصيل في دليل مجموعة البيانات.

فال

Validate trained YOLO11n-obb model accuracy on the DOTA8 dataset. No arguments are needed as the 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
yolo obb val model=yolo11n-obb.pt data=dota8.yaml  # val official model
yolo obb val model=path/to/best.pt data=path/to/data.yaml  # val custom model

تنبأ

Use a trained YOLO11n-obb model to run predictions on images.

مثل

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

# Predict with the model
results = model("https://ultralytics.com/images/boats.jpg")  # predict on an image
yolo obb predict model=yolo11n-obb.pt source='https://ultralytics.com/images/boats.jpg'  # predict with official model
yolo obb predict model=path/to/best.pt source='https://ultralytics.com/images/boats.jpg'  # predict with custom model



شاهد: How to Detect and Track Storage Tanks using Ultralytics YOLO-OBB | Oriented Bounding Boxes | DOTA

شاهد التفاصيل predict تفاصيل الوضع في تنبأ صفحة.

تصدير

Export a YOLO11n-obb model to a different format like ONNX, CoreML, etc.

مثل

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 trained model

# Export the model
model.export(format="onnx")
yolo export model=yolo11n-obb.pt format=onnx  # export official model
yolo export model=path/to/best.pt format=onnx  # export custom trained model

Available YOLO11-obb export formats are in the table below. You can export to any format using the format الحجة ، أي format='onnx' أو format='engine'. يمكنك التنبؤ أو التحقق من صحة النماذج المصدرة مباشرة، أي yolo predict model=yolo11n-obb.onnx. يتم عرض أمثلة الاستخدام للطراز الخاص بك بعد اكتمال التصدير.

تنسيقformat جدالنموذجالبيانات الوصفيةالحجج
PyTorch-yolo11n-obb.pt-
TorchScripttorchscriptyolo11n-obb.torchscriptimgsz, optimize, batch
ONNXonnxyolo11n-obb.onnximgsz, half, dynamic, simplify, opset, batch
OpenVINOopenvinoyolo11n-obb_openvino_model/imgsz, half, int8, batch
TensorRTengineyolo11n-obb.engineimgsz, half, dynamic, simplify, workspace, int8, batch
CoreMLcoremlyolo11n-obb.mlpackageimgsz, half, int8, nms, batch
TF SavedModelsaved_modelyolo11n-obb_saved_model/imgsz, keras, int8, batch
TF GraphDefpbyolo11n-obb.pbimgsz, batch
TF لايتtfliteyolo11n-obb.tfliteimgsz, half, int8, batch
TF حافة TPUedgetpuyolo11n-obb_edgetpu.tfliteimgsz
TF.شبيبهtfjsyolo11n-obb_web_model/imgsz, half, int8, batch
PaddlePaddlepaddleyolo11n-obb_paddle_model/imgsz, batch
MNNmnnyolo11n-obb.mnnimgsz, batch, int8, half
NCNNncnnyolo11n-obb_ncnn_model/imgsz, half, batch

شاهد التفاصيل export التفاصيل في تصدير صفحة.

الأسئلة المتداولة

ما هي الصناديق المحدودة الموجهة (OBB) وكيف تختلف عن الصناديق المحدودة العادية؟

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

How do I train a YOLO11n-obb model using a custom dataset?

To train a YOLO11n-obb model with a custom dataset, follow the example below using Python or CLI:

مثل

from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo11n-obb.pt")

# Train the model
results = model.train(data="path/to/custom_dataset.yaml", epochs=100, imgsz=640)
yolo obb train data=path/to/custom_dataset.yaml model=yolo11n-obb.pt epochs=100 imgsz=640

لمزيد من الوسائط التدريبية، راجع قسم التهيئة.

What datasets can I use for training YOLO11-OBB models?

YOLO11-OBB models are pretrained on datasets like DOTAv1 but you can use any dataset formatted for OBB. Detailed information on OBB dataset formats can be found in the Dataset Guide.

How can I export a YOLO11-OBB model to ONNX format?

Exporting a YOLO11-OBB model to ONNX format is straightforward using either Python or CLI:

مثل

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-obb.pt")

# Export the model
model.export(format="onnx")
yolo export model=yolo11n-obb.pt format=onnx

لمزيد من تنسيقات التصدير والتفاصيل، راجع صفحة التصدير.

How do I validate the accuracy of a YOLO11n-obb model?

To validate a YOLO11n-obb model, you can use Python or CLI commands as shown below:

مثل

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-obb.pt")

# Validate the model
metrics = model.val(data="dota8.yaml")
yolo obb val model=yolo11n-obb.pt data=dota8.yaml

راجع تفاصيل التحقق الكاملة في قسم "فال".

📅 Created 10 months ago ✏️ Updated 10 days ago

التعليقات