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 bir şekilde 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
YOLO11 OBB modelleri şunları kullanır -obb
son ek, yani yolo11n-obb.pt
ve önceden eğitilmiş DOTAv1.
İzle: Ultralytics YOLO Yönlendirilmiş Sınırlayıcı Kutular (YOLO-OBB) kullanarak Nesne Algılama
Görsel Örnekler
OBB kullanarak Gemi Tespiti | OBB kullanarak Araç Algılama |
---|---|
Modeller
YOLO11 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 T4TensorRT10 (ms) |
params (M) |
FLOP'lar (B) |
---|---|---|---|---|---|---|
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 değerleri tek modelli çoklu ölçek içindir. DOTAv1 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
YOLO11n-obb'yi 640 görüntü boyutunda 100 epok için DOTA8 veri kümesi üzerinde eğitin. Kullanılabilir bağımsız değişkenlerin tam listesi için Yapılandırma sayfasına bakın.
Örnek
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
İzle: Ultralytics YOLO -OBB (Oriented Bounding Boxes) Modelleri Ultralytics HUB Kullanılarak DOTA Veri Kümesi Üzerinde Nasıl Eğitilir
Veri kümesi formatı
OBB veri kümesi formatı ayrıntılı olarak Veri Kümesi Kılavuzunda bulunabilir.
Val
Eğitilmiş YOLO11n-obb modelini doğrulayın doğruluk DOTA8 veri kümesi üzerinde. Hiçbir argüman gerekmez çünkü model
eğitimini sürdürür data
ve model öznitelikleri olarak argümanlar.
Örnek
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
Tahmin Et
Görüntüler üzerinde tahminleri çalıştırmak için eğitilmiş bir YOLO11n-obb modeli kullanın.
Örnek
İzle: Ultralytics YOLO -OBB | Oriented Bounding Boxes | DOTA kullanarak Depolama Tanklarını Tespit Etme ve İzleme
Tamamı görün predict
modunun ayrıntıları Tahmin Et Sayfa.
İhracat
Bir YOLO11n-obb modelini ONNX, CoreML vb. gibi farklı bir formata aktarın.
Örnek
Mevcut YOLO11-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=yolo11n-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 | - | 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 Lite | tflite |
yolo11n-obb.tflite |
✅ | imgsz , half , int8 , batch |
TF Kenar 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 |
Tamamı görün export
detaylar İhracat Sayfa.
SSS
Yönlendirilmiş Sınırlayıcı Kutular (OBB) nedir ve normal sınırlayıcı kutulardan farkı nedir?
Yönlendirilmiş Sınırlayıcı Kutular (OBB), görüntülerde nesne konumlandırma doğruluğunu artırmak için ek bir açı içerir. Eksen hizalı dikdörtgenler olan normal sınırlayıcı kutuların aksine, OBB'ler nesnenin yönüne daha iyi uyacak şekilde dönebilir. Bu özellikle hava veya uydu görüntüleri gibi hassas nesne yerleşimi gerektiren uygulamalar için kullanışlıdır(Veri Seti Kılavuzu).
Özel bir veri kümesi kullanarak bir YOLO11n-obb modelini nasıl eğitebilirim?
Bir YOLO11n-obb modelini özel bir veri kümesi ile eğitmek için Python veya CLI adreslerini kullanarak aşağıdaki örneği izleyin:
Örnek
Daha fazla eğitim argümanı için Yapılandırma bölümüne bakın.
YOLO11-OBB modellerini eğitmek için hangi veri kümelerini kullanabilirim?
YOLO11-OBB modelleri DOTAv1 gibi veri kümeleri üzerinde önceden eğitilmiştir ancak OBB için biçimlendirilmiş herhangi bir veri kümesini kullanabilirsiniz. OBB veri seti formatları hakkında ayrıntılı bilgi Veri Seti Kılavuzu'nda bulunabilir.
Bir YOLO11-OBB modelini ONNX formatına nasıl aktarabilirim?
Bir YOLO11-OBB modelinin ONNX formatına aktarılması Python veya CLI kullanılarak kolayca gerçekleştirilebilir:
Örnek
Daha fazla dışa aktarma biçimi ve ayrıntı için Dışa Aktarma sayfasına bakın.
YOLO11n-obb modelinin doğruluğunu nasıl teyit edebilirim?
Bir YOLO11n-obb modelini doğrulamak için aşağıda gösterildiği gibi Python veya CLI komutlarını kullanabilirsiniz:
Örnek
Val bölümündeki tüm doğrulama ayrıntılarına bakın.