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

كشف كائن المربعات المحيطة الموجهة

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

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

بقشيش

YOLOv8 تستخدم نماذج OBB -obb لاحقة ، أي yolov8n-obb.pt ويتم تدريبهم مسبقا على DOTAv1.


شاهد: الكشف عن الكائنات باستخدام Ultralytics YOLOv8 المربعات المحيطة الموجهة (YOLOv8-أوب)

شاهد: الكشف عن الكائنات باستخدام YOLOv8-OBB باستخدام Ultralytics HUB

عينات بصرية

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

نماذج

YOLOv8 يتم عرض نماذج OBB المدربة مسبقا هنا ، والتي يتم تدريبها مسبقا على مجموعة بيانات DOTAv1 .

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

نموذج حجم
(بكسل)
خريطةاختبر
50
سرعة
وحده المعالجه المركزيه ONNX
(مللي ثانية)
سرعة
أ 100 TensorRT
(مللي ثانية)
المعلمات
(م)
يتخبط
(ب)
YOLOv8n-أوب 1024 78.0 204.77 3.57 3.1 23.3
YOLOv8s-أوب 1024 79.5 424.88 4.07 11.4 76.3
YOLOv8m-أوب 1024 80.5 763.48 7.61 26.4 208.6
YOLOv8l-أوب 1024 80.7 1278.42 11.83 44.5 433.8
YOLOv8x-أوب 1024 81.36 1759.10 13.23 69.5 676.7
  • اختبار 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

قطار

قطار YOLOv8n-obb على dota8.yaml مجموعة بيانات ل 100 حقبة بحجم الصورة 640. للحصول على قائمة كاملة بالوسيطات المتاحة ، راجع تكوين صفحة.

مثل

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-obb.yaml")  # build a new model from YAML
model = YOLO("yolov8n-obb.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolov8n-obb.yaml").load("yolov8n.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=yolov8n-obb.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo obb train data=dota8.yaml model=yolov8n-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=yolov8n-obb.yaml pretrained=yolov8n-obb.pt epochs=100 imgsz=640

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

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

فال

التحقق من صحة المدربين YOLOv8n-دقة نموذج obb على مجموعة بيانات DOTA8. لا حاجة لتمرير أي حجة على أنها model تحتفظ بتدريبها data والحجج كسمات نموذجية.

مثل

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-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=yolov8n-obb.pt data=dota8.yaml  # val official model
yolo obb val model=path/to/best.pt data=path/to/data.yaml  # val custom model

تنبأ

استخدم مدربا YOLOv8n-obb نموذج لتشغيل التنبؤات على الصور.

مثل

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-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/bus.jpg")  # predict on an image
yolo obb predict model=yolov8n-obb.pt source='https://ultralytics.com/images/bus.jpg'  # predict with official model
yolo obb predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg'  # predict with custom model

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

تصدير

تصدير أ YOLOv8n-obb نموذج لتنسيق مختلف مثل ONNX, CoreMLالخ.

مثل

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-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=yolov8n-obb.pt format=onnx  # export official model
yolo export model=path/to/best.pt format=onnx  # export custom trained model

ترد تنسيقات التصدير المتاحة YOLOv8-obb في الجدول أدناه. يمكنك التصدير إلى أي تنسيق باستخدام format الحجة ، أي format='onnx' أو format='engine'. يمكنك التنبؤ أو التحقق من صحة النماذج المصدرة مباشرة، أي yolo predict model=yolov8n-obb.onnx. يتم عرض أمثلة الاستخدام للطراز الخاص بك بعد اكتمال التصدير.

تنسيق format جدال نموذج البيانات الوصفية الحجج
PyTorch - yolov8n-obb.pt -
TorchScript torchscript yolov8n-obb.torchscript imgsz, optimize, batch
ONNX onnx yolov8n-obb.onnx imgsz, half, dynamic, simplify, opset, batch
OpenVINO openvino yolov8n-obb_openvino_model/ imgsz, half, int8, batch
TensorRT engine yolov8n-obb.engine imgsz, half, dynamic, simplify, workspace, int8, batch
CoreML coreml yolov8n-obb.mlpackage imgsz, half, int8, nms, batch
TF SavedModel saved_model yolov8n-obb_saved_model/ imgsz, keras, int8, batch
TF GraphDef pb yolov8n-obb.pb imgsz, batch
TF لايت tflite yolov8n-obb.tflite imgsz, half, int8, batch
TF حافة TPU edgetpu yolov8n-obb_edgetpu.tflite imgsz
TF.شبيبه tfjs yolov8n-obb_web_model/ imgsz, half, int8, batch
PaddlePaddle paddle yolov8n-obb_paddle_model/ imgsz, batch
NCNN ncnn yolov8n-obb_ncnn_model/ imgsz, half, batch

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



Created 2024-01-05, Updated 2024-06-10
Authors: glenn-jocher (20), Burhan-Q (4), Laughing-q (3), AyushExel (1)

التعليقات