Link to this sectionYönlendirilmiş Sınırlayıcı Kutularla Nesne Algılama#
Yönlendirilmiş nesne algılama, bir görüntüdeki nesneleri daha doğru bir şekilde konumlandırmak için ekstra bir açı ekleyerek standart nesne algılamanın bir adım ötesine geçer.
Yönlendirilmiş bir nesne dedektörünün çıktısı, görüntüdeki nesneleri hassas bir şekilde çevreleyen döndürülmüş sınırlayıcı kutular ile birlikte her kutu için sınıf etiketleri ve güven puanlarından oluşur. Yönlendirilmiş sınırlayıcı kutular, özellikle hava görüntüleri gibi nesnelerin çeşitli açılarda göründüğü ve geleneksel eksene hizalı sınırlayıcı kutuların gereksiz arka planı içerebileceği durumlarda yararlıdır.
YOLO26 OBB modelleri -obb sonekini kullanır, yani yolo26n-obb.pt gibi, ve DOTAv1 üzerinde önceden eğitilmişlerdir.
Watch: How to Detect & Track Objects with Ultralytics YOLO26 Oriented Bounding Boxes (OBB) | Ship Tracking 🚢
Link to this sectionGörsel Örnekler#
| OBB kullanarak Gemi Algılama | OBB kullanarak Araç Algılama |
|---|---|
![]() | ![]() |
Link to this sectionModeller#
Burada, DOTAv1 veri kümesi üzerinde önceden eğitilmiş YOLO26 ön eğitimli OBB modelleri gösterilmektedir.
Modeller, ilk kullanımda en son Ultralytics sürümünden otomatik olarak indirilir.
| Model | boyut (piksel) | mAPtest 50-95(e2e) | mAPtest 50(e2e) | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| YOLO26n-obb | 1024 | 52.4 | 78.9 | 97.7 ± 0.9 | 2.8 ± 0.0 | 2.5 | 14.0 |
| YOLO26s-obb | 1024 | 54.8 | 80.9 | 218.0 ± 1.4 | 4.9 ± 0.1 | 9.8 | 55.1 |
| YOLO26m-obb | 1024 | 55.3 | 81.0 | 579.2 ± 3.8 | 10.2 ± 0.3 | 21.2 | 183.3 |
| YOLO26l-obb | 1024 | 56.2 | 81.6 | 735.6 ± 3.1 | 13.0 ± 0.2 | 25.6 | 230.0 |
| YOLO26x-obb | 1024 | 56.7 | 81.7 | 1485.7 ± 11.5 | 30.5 ± 0.9 | 57.6 | 516.5 |
- mAPtest değerleri DOTAv1 veri kümesi üzerinde tek model çok ölçekli sonuçlardır.
yolo val obb data=DOTAv1.yaml device=0 split=testkomutuyla yeniden oluşturun ve birleştirilmiş sonuçları DOTA değerlendirmesine gönderin. - Hız, Amazon EC2 P4d örneği kullanılarak DOTAv1 val görüntüleri üzerinden ortalanmıştır.
yolo val obb data=DOTAv1.yaml batch=1 device=0|cpukomutuyla yeniden oluşturun. - Parametreler ve FLOPs değerleri, Conv ve BatchNorm katmanlarını birleştiren ve uçtan uca modeller için bire-çok algılama başlığını kaldıran
model.fuse()işleminden sonraki birleştirilmiş model içindir. Önceden eğitilmiş kontrol noktaları tüm eğitim mimarisini korur ve daha yüksek sayılar gösterebilir.
Link to this sectionEğit#
YOLO26n-obb modelini DOTA8 veri kümesi üzerinde 640 görüntü boyutunda 100 dönem (epoch) boyunca eğit. Kullanılabilir argümanların tam listesi için Yapılandırma sayfasına bak.
Bir OBB ve onun 180° dönüşü aynıdır, bu nedenle dönüşüm 180° modunda tanımlanır ve kutunun bir yönü yoktur. Dahili olarak açı radyan cinsinden saklanır ve [-π/4, 3π/4) ([-45°, 135°)) aralığına normalize edilir, kutu genişliği w daha uzun kenar olarak alınır ve açı, pozitif x ekseninden w yönüne doğru saat yönündeki açı olarak tanımlanır. [0°, 90°) formu standartlaştırılmış DOTA tarzı kuraldır ve eğitim veya çıkarım sırasında uygulanmaz.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-obb.yaml") # build a new model from YAML
model = YOLO("yolo26n-obb.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo26n-obb.yaml").load("yolo26n-obb.pt") # build from YAML and transfer weights
# Train the model
results = model.train(data="dota8.yaml", epochs=100, imgsz=640)Watch: How to Train Ultralytics YOLO-OBB (Oriented Bounding Boxes) Models on DOTA Dataset using Ultralytics Platform
Link to this sectionVeri kümesi formatı#
OBB veri kümesi formatı Veri Kümesi Kılavuzunda ayrıntılı olarak bulunabilir. YOLO OBB formatı, sınırlayıcı kutuları bu yapıyı takip ederek 0 ile 1 arasında normalize edilmiş koordinatlara sahip dört köşe noktasıyla belirler. Ultralytics Platform, özel bir yönlendirilmiş sınırlayıcı kutu çizim aracıyla OBB ek açıklamasını destekler:
class_index x1 y1 x2 y2 x3 y3 x4 y4
Internally, YOLO processes losses and outputs in the xywhr format, which represents the bounding box's center point (xy), width, height, and rotation.
Link to this sectionDoğrula#
Eğitilmiş YOLO26n-obb modelinin DOTA8 veri kümesi üzerindeki doğruluğunu doğrula. model, eğitim datasını ve argümanlarını model öznitelikleri olarak koruduğu için herhangi bir argümana gerek yoktur.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-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 containing mAP50-95(B) for each category
metrics.box.image_metrics # per-image metrics dictionary with precision, recall, F1, TP, FP, and FNLink to this sectionTahmin Et#
Görüntüler üzerinde tahminler çalıştırmak için eğitilmiş bir YOLO26n-obb modeli kullan.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-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
# Access the results
for result in results:
xywhr = result.obb.xywhr # center-x, center-y, width, height, angle (radians)
xyxyxyxy = result.obb.xyxyxyxy # polygon format with 4-points
names = [result.names[cls.item()] for cls in result.obb.cls.int()] # class name of each box
confs = result.obb.conf # confidence score of each boxWatch: How to Detect and Track Storage Tanks using Ultralytics YOLO-OBB | Oriented Bounding Boxes | DOTA
Tam predict modu ayrıntılarını Tahmin sayfasında bulabilirsin.
Link to this sectionSonuç Çıktısı#
Yönlendirilmiş sınırlayıcı kutu algılama, görüntü başına bir Results nesnesi döndürür. Birincil tahmin alanı, algılanan her nesne için döndürülmüş kutuları, sınıf kimliklerini ve güven puanlarını içeren result.obb alanıdır.
| Nitelik | Tür | Şekil | Açıklama |
|---|---|---|---|
result.obb | OBB | (N) | Yönlendirilmiş kutular. |
result.obb.data | torch.float32 | (N,7/8) | Güven/sınıf içeren ham döndürülmüş kutular. |
result.obb.xywhr | torch.float32 | (N,5) | xywhr döndürülmüş kutular. |
result.obb.xyxyxyxy | torch.float32 | (N,4,2) | Dört köşe noktası. |
result.obb.conf | torch.float32 | (N,) | Güven puanları. |
Her görevdeki göreve özel Results alanları için Göreve Göre Tahmin Sonuçları bölümüne bak.
Link to this sectionDışa Aktar#
Bir YOLO26n-obb modelini ONNX, CoreML vb. gibi farklı bir formata dışa aktar.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-obb.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom-trained model
# Export the model
model.export(format="onnx")Kullanılabilir YOLO26-obb dışa aktarma formatları aşağıdaki tabloda yer almaktadır. format argümanını kullanarak, yani format='onnx' veya format='engine' şeklinde herhangi bir formata dışa aktarabilirsin. Dışa aktarılan modeller üzerinde doğrudan tahmin veya doğrulama yapabilirsin, yani yolo predict model=yolo26n-obb.onnx. Dışa aktarma tamamlandıktan sonra modelin için kullanım örnekleri gösterilir.
| Format | format Argümanı | Model | Meta veriler | Argümanlar |
|---|---|---|---|---|
| PyTorch | - | yolo26n-obb.pt | ✅ | - |
| TorchScript | torchscript | yolo26n-obb.torchscript | ✅ | imgsz, half, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n-obb.onnx | ✅ | imgsz, half, int8, dynamic, simplify, opset, nms, batch, data, fraction, device |
| OpenVINO | openvino | yolo26n-obb_openvino_model/ | ✅ | imgsz, half, dynamic, int8, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n-obb.engine | ✅ | imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n-obb.mlpackage | ✅ | imgsz, dynamic, half, int8, nms, batch, device |
| TF SavedModel | saved_model | yolo26n-obb_saved_model/ | ✅ | imgsz, keras, int8, nms, batch, data, fraction, device |
| TF GraphDef | pb | yolo26n-obb.pb | ❌ | imgsz, batch, device |
| TF Lite | tflite | yolo26n-obb.tflite | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| TF Edge TPU | edgetpu | yolo26n-obb_edgetpu.tflite | ✅ | imgsz, int8, data, fraction, device |
| TF.js | tfjs | yolo26n-obb_web_model/ | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| PaddlePaddle | paddle | yolo26n-obb_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n-obb.mnn | ✅ | imgsz, batch, int8, half, device |
| NCNN | ncnn | yolo26n-obb_ncnn_model/ | ✅ | imgsz, half, batch, device |
| IMX500 | imx | yolo26n-obb_imx_model/ | ✅ | imgsz, int8, data, fraction, nms, device |
| RKNN | rknn | yolo26n-obb_rknn_model/ | ✅ | imgsz, batch, name, int8, data, fraction, device |
| ExecuTorch | executorch | yolo26n-obb_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n-obb_axelera_model/ | ✅ | imgsz, batch, int8, data, fraction, device |
| DEEPX | deepx | yolo26n-obb_deepx_model/ | ✅ | imgsz, int8, data, optimize, device |
| Qualcomm QNN | qnn | yolo26n-obb_qnn_model/ | ✅ | imgsz, batch, name, int8, data, fraction, device |
Tam export ayrıntıları için Dışa Aktarma sayfasına bak.
Link to this sectionGerçek Dünya Uygulamaları#
YOLO26 ile OBB algılama, çeşitli endüstrilerde çok sayıda pratik uygulamaya sahiptir:
- Denizcilik ve Liman Yönetimi: Filo yönetimi ve izleme için gemilerin ve teknelerin çeşitli açılarda algılanması.
- Şehir Planlama: Hava görüntülerinden binaların ve altyapının analiz edilmesi.
- Tarım: Drone görüntülerinden mahsullerin ve tarım ekipmanlarının izlenmesi.
- Enerji Sektörü: Güneş panellerinin ve rüzgar türbinlerinin farklı yönelimlerde incelenmesi.
- Ulaşım: Çeşitli perspektiflerden yollardaki ve otoparklardaki araçların takip edilmesi.
Bu uygulamalar, OBB'nin nesneleri her açıda hassas bir şekilde çevreleme yeteneğinden yararlanarak geleneksel sınırlayıcı kutulardan daha doğru tespit sağlar.
Link to this sectionSSS#
Link to this sectionYönlendirilmiş Sınırlayıcı Kutular (OBB) nedir ve normal sınırlayıcı kutulardan farkları nelerdir?#
Yönlendirilmiş Sınırlayıcı Kutular (OBB), görüntülerdeki 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 uyum sağlamak için dönebilir. Bu, hava veya uydu görüntüleri (Veri Kümesi Kılavuzu) gibi hassas nesne yerleşimi gerektiren uygulamalar için özellikle yararlıdır.
Link to this sectionÖzel bir veri kümesi kullanarak nasıl YOLO26n-obb modeli eğitirim?#
Özel bir veri kümesiyle YOLO26n-obb modeli eğitmek için, Python veya CLI kullanarak aşağıdaki örneği takip et:
from ultralytics import YOLO
# Load a pretrained model
model = YOLO("yolo26n-obb.pt")
# Train the model
results = model.train(data="path/to/custom_dataset.yaml", epochs=100, imgsz=640)Daha fazla eğitim argümanı için Yapılandırma bölümüne göz at.
Link to this sectionYOLO26-OBB modellerini eğitmek için hangi veri kümelerini kullanabilirim?#
YOLO26-OBB modelleri DOTAv1 gibi veri kümeleri üzerinde önceden eğitilmiştir ancak OBB için biçimlendirilmiş herhangi bir veri kümesini kullanabilirsin. OBB veri kümesi biçimleri hakkında ayrıntılı bilgiye Veri Kümesi Kılavuzu bölümünden ulaşabilirsin.
Link to this sectionBir YOLO26-OBB modelini nasıl ONNX biçimine aktarabilirim?#
Bir YOLO26-OBB modelini ONNX biçimine aktarmak, Python veya CLI kullanılarak oldukça basittir:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-obb.pt")
# Export the model
model.export(format="onnx")Daha fazla dışa aktarma biçimi ve ayrıntı için Dışa Aktarma sayfasına bak.
Link to this sectionBir YOLO26n-obb modelinin doğruluğunu nasıl doğrularım?#
Bir YOLO26n-obb modelini doğrulamak için aşağıda gösterildiği gibi Python veya CLI komutlarını kullanabilirsin:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-obb.pt")
# Validate the model
metrics = model.val(data="dota8.yaml")Doğrulama ile ilgili tüm ayrıntıları Val bölümünde görebilirsin.

