Yönlendirilmiş Sınırlayıcı Kutular Nesne Algılama
Yönlendirilmiş nesne tespiti, nesne tespitinden bir adım daha ileri gider ve bir görüntüdeki nesneleri daha doğru bulmak için ekstra bir açı sunar.
Yönlendirilmiş bir nesne algılayıcının çıktısı, her kutu için sınıf etiketleri ve güven puanlarıyla birlikte görüntüdeki nesneleri tam olarak çevreleyen bir dizi döndürülmüş sınırlayıcı kutudur. Nesne algılama, bir sahnedeki ilgi çekici nesneleri tanımlamanız gerektiğinde, ancak nesnenin tam olarak nerede olduğunu veya tam şeklini bilmeniz gerekmediğinde iyi bir seçimdir.
İpucu
YOLOv8 OBB modelleri şunları kullanır -obb
son ek, yani yolov8n-obb.pt
ve önceden eğitilmiş DOTAv1.
İzle: Ultralytics YOLOv8 Yönlendirilmiş Sınırlayıcı Kutular (YOLOv8-OBB) kullanarak Nesne Algılama |
İzle: Ultralytics HUB kullanarak YOLOv8-OBB ile Nesne Algılama |
Görsel Örnekler
OBB kullanarak Gemi Tespiti | OBB kullanarak Araç Algılama |
---|---|
Modeller
YOLOv8 Burada DOTAv1 veri kümesi üzerinde ön eğitime tabi tutulmuş OBB modelleri gösterilmektedir.
Modeller ilk kullanımda en son Ultralytics sürümünden otomatik olarak indirilir.
Model | boyut (piksel) |
mAPtest 50 |
Hız CPU ONNX (ms) |
Hız A100 TensorRT (ms) |
params (M) |
FLOP'lar (B) |
---|---|---|---|---|---|---|
YOLOv8n-obb | 1024 | 78.0 | 204.77 | 3.57 | 3.1 | 23.3 |
YOLOv8s-obb | 1024 | 79.5 | 424.88 | 4.07 | 11.4 | 76.3 |
YOLOv8m-obb | 1024 | 80.5 | 763.48 | 7.61 | 26.4 | 208.6 |
YOLOv8l-obb | 1024 | 80.7 | 1278.42 | 11.83 | 44.5 | 433.8 |
YOLOv8x-obb | 1024 | 81.36 | 1759.10 | 13.23 | 69.5 | 676.7 |
- mAPtest değerleri tek modelli çoklu ölçek içindir. DOTAv1 testi veri kümesi.
Tarafından çoğaltınyolo val obb data=DOTAv1.yaml device=0 split=test
ve birleştirilmiş sonuçları DOTA değerlendirmesi. - Hız kullanılarak DOTAv1 val görüntüleri üzerinden ortalaması alınmıştır. Amazon EC2 P4d örnek.
Tarafından çoğaltınyolo val obb data=DOTAv1.yaml batch=1 device=0|cpu
Tren
Tren YOLOv8n-obb üzerinde dota8.yaml
640 görüntü boyutunda 100 epok için veri kümesi. Kullanılabilir argümanların tam listesi için bkz. Konfigürasyon Sayfa.
Örnek
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
Veri kümesi formatı
OBB veri kümesi formatı Veri Kümesi Kılavuzunda ayrıntılı olarak bulunabilir.
Val
DOTA8 veri kümesi üzerinde eğitilmiş YOLOv8n-obb model doğruluğunu doğrulayın. Herhangi bir argüman geçilmesine gerek yoktur. model
eğitimini sürdürür data
ve model öznitelikleri olarak argümanlar.
Örnek
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
Tahmin Et
Görüntüler üzerinde tahminleri çalıştırmak için eğitilmiş bir YOLOv8n-obb modeli kullanın.
Örnek
Tamamı görün predict
modunun ayrıntıları Tahmin Et Sayfa.
İhracat
Bir YOLOv8n-obb modelini ONNX, CoreML, vb. gibi farklı bir formata aktarın.
Örnek
Mevcut YOLOv8-obb dışa aktarma formatları aşağıdaki tabloda yer almaktadır. kullanarak herhangi bir formata dışa aktarabilirsiniz. format
argümanı, yani format='onnx'
veya format='engine'
. Doğrudan dışa aktarılan modeller üzerinde tahmin veya doğrulama yapabilirsiniz, örn. yolo predict model=yolov8n-obb.onnx
. Dışa aktarma tamamlandıktan sonra modeliniz için kullanım örnekleri gösterilir.
Biçim | format Tartışma |
Model | Metadata | Argümanlar |
---|---|---|---|---|
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 Lite | tflite |
yolov8n-obb.tflite |
✅ | imgsz , half , int8 , batch |
TF Kenar TPU | edgetpu |
yolov8n-obb_edgetpu.tflite |
✅ | imgsz , batch |
TF.js | 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 |
Tamamı görün export
detaylar İhracat Sayfa.
Oluşturuldu 2024-01-05, Güncellendi 2024-05-08
Yazarlar: Burhan-Q (3), glenn-jocher (16), Laughing-q (3), AyushExel (1)