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

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

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

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

بقشيش

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



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

عينات بصرية

كشف السفن باستخدام 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 موجودة في الجدول أدناه. يمكنك التنبؤ أو التحقق من صحة النماذج المصدرة مباشرة ، أي yolo predict model=yolov8n-obb.onnx. يتم عرض أمثلة الاستخدام للطراز الخاص بك بعد اكتمال التصدير.

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

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



تم النشر في 2024-01-05, اخر تحديث 2024-02-03
المؤلفون: جلين جوشر (10) ، ضاحكا س (3) ، أيوشكسيل (1)

التعليقات