İçeriğe geç

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
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ın yolo 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ın yolo 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
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

Tahmin Et

Görüntüler üzerinde tahminleri çalıştırmak için eğitilmiş bir YOLO11n-obb modeli kullanın.

Ö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

# 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



İ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

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

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

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

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

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

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

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

Val bölümündeki tüm doğrulama ayrıntılarına bakın.

📅1 1 ay önce oluşturuldu ✏️ 1 ay önce güncellendi

Yorumlar