Ultralytics YOLO ile Nesne Tespiti#
Nesne tespiti, bir görüntü veya video akışındaki nesnelerin konumunu ve sınıfını belirlemeyi içeren bir görevdir.
Bir nesne dedektörünün çıktısı, görüntüdeki nesneleri çevreleyen bir dizi sınırlayıcı kutu ile birlikte her kutu için sınıf etiketleri ve güven puanlarıdır. Nesne algılama, bir sahnede ilgilendiğin nesneleri tanımlaman gerektiğinde, ancak nesnenin tam olarak nerede olduğunu veya kesin şeklini bilmene gerek olmadığında iyi bir seçimdir.
Watch: Object Detection with Pretrained Ultralytics YOLO Model.
YOLO26 Detect modelleri varsayılan YOLO26 modelleridir, yani yolo26n.pt, ve COCO üzerinde ön eğitilmiştir.
Modeller#
YOLO26 ön eğitilmiş Detect modelleri burada gösterilmektedir. Detect, Segment ve Pose modelleri COCO veri kümesi üzerinde, Semantic modelleri Cityscapes üzerinde ve Classify modelleri ImageNet veri kümesi üzerinde ön eğitilmiştir.
Models, ilk kullanımda en son Ultralytics release sürümünden otomatik olarak indirilir.
| Model | boyut (piksel) | mAPval 50-95 | mAPval 50-95(e2e) | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| YOLO26n | 640 | 40.9 | 40.1 | 38.9 ± 0.7 | 1.7 ± 0.0 | 2.4 | 5.4 |
| YOLO26s | 640 | 48.6 | 47.8 | 87.2 ± 0.9 | 2.5 ± 0.0 | 9.5 | 20.7 |
| YOLO26m | 640 | 53.1 | 52.5 | 220.0 ± 1.4 | 4.7 ± 0.1 | 20.4 | 68.2 |
| YOLO26l | 640 | 55.0 | 54.4 | 286.2 ± 2.0 | 6.2 ± 0.2 | 24.8 | 86.4 |
| YOLO26x | 640 | 57.5 | 56.9 | 525.8 ± 4.0 | 11.8 ± 0.2 | 55.7 | 193.9 |
- mAPval değerleri COCO val2017 veri kümesinde tek model ve tek ölçek içindir.
Şununla yeniden üretin:yolo val detect data=coco.yaml device=0 - Speed, bir Amazon EC2 P4d örneği kullanılarak COCO val görüntüleri üzerinden ortalama olarak hesaplanmıştır.
Şu komutla yeniden üretebilirsin:yolo val detect data=coco.yaml batch=1 device=0|cpu - Params ve FLOPs değerleri, Conv ve BatchNorm katmanlarını birleştiren ve uçtan uca modeller için yardımcı bire çok algılama başlığını kaldıran
model.fuse()sonrasındaki birleştirilmiş model içindir. Önceden eğitilmiş kontrol noktaları tam eğitim mimarisini korur ve daha yüksek sayılar gösterebilir.
Eğit (Train)#
YOLO26n modelini COCO8 veri kümesi üzerinde 640 görüntü boyutunda 100 epoch boyunca eğit. Mevcut argümanların tam listesi için Configuration sayfasına bak.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.yaml") # build a new model from YAML
model = YOLO("yolo26n.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo26n.yaml").load("yolo26n.pt") # build from YAML and transfer weights
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)Tam train modu detaylarını Train sayfasında gör. Algılama modelleri ayrıca Ultralytics Platform cloud training ile eğitilebilir.
Veri kümesi biçimi#
YOLO algılama veri kümesi formatı hakkında ayrıntılı bilgi Dataset Guide içinde bulunabilir. Mevcut veri kümeni diğer formatlardan (COCO vb.) YOLO formatına dönüştürmek için lütfen Ultralytics tarafından sunulan JSON2YOLO aracını kullan. Ayrıca algılama veri kümelerini Ultralytics Platform's AI-assisted annotation tools ile etiketleyebilir ve yönetebilirsin.
Doğrula (Val)#
Eitilmiş YOLO26n model accuracy değerini COCO8 veri kümesi üzerinde doğrula. model, eğitim data verilerini 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.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Validate the model
metrics = model.val() # no arguments needed, dataset and settings remembered
metrics.box.map # map50-95
metrics.box.map50 # map50
metrics.box.map75 # map75
metrics.box.maps # a list containing mAP50-95 for each category
metrics.box.image_metrics # per-image metrics dictionary with precision, recall, F1, TP, FP, and FNTahmin Et (Predict)#
Görüntüler üzerinde tahminler çalıştırmak için eğitilmiş bir YOLO26n modeli kullan.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.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
# Access the results
for result in results:
xywh = result.boxes.xywh # center-x, center-y, width, height
xywhn = result.boxes.xywhn # normalized
xyxy = result.boxes.xyxy # top-left-x, top-left-y, bottom-right-x, bottom-right-y
xyxyn = result.boxes.xyxyn # normalized
names = [result.names[cls.item()] for cls in result.boxes.cls.int()] # class name of each box
confs = result.boxes.conf # confidence score of each boxTam predict modu ayrıntılarını Tahmin sayfasında görün.
Sonuç Çıktısı#
Nesne tespiti, görüntü başına bir Results nesnesi döndürür. Birincil tahmin alanı, algılanan her nesne için kutu koordinatlarını, sınıf kimliklerini ve güven skorlarını içeren result.boxes alanıdır.
| Öznitelik | Tip | Şekil | Açıklama |
|---|---|---|---|
result.boxes | Boxes | (N) | Tespit kutuları. |
result.boxes.data | torch.float32 | (N,6/7) | Ham [x1,y1,x2,y2,conf,cls] ve isteğe bağlı izleme kimliği (track ID). |
result.boxes.xyxy | torch.float32 | (N,4) | xyxy piksel kutuları. |
result.boxes.conf | torch.float32 | (N,) | Güven skorları. |
result.boxes.cls | torch.float32 | (N,) | Sınıf kimlikleri; adlar için int türüne dönüştürülür. |
Her görev genelinde göreve özgü Results alanları için Göreve Göre Tahmin Sonuçları bölümüne bakın.
Dışa Aktar (Export)#
Bir YOLO26n modelini ONNX, CoreML vb. gibi farklı bir formata dışa aktar.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom-trained model
# Export the model
model.export(format="onnx")Mevcut YOLO26 dışa aktarma formatları aşağıdaki tabloda yer almaktadır. format argümanını, yani format='onnx' veya format='engine' kullanarak herhangi bir forma dışa aktarabilirsin. Dışa aktarılan modeller üzerinde doğrudan tahmin veya doğrulama yapabilirsin, yani yolo predict model=yolo26n.onnx. Kullanım örnekleri dışa aktarma tamamlandıktan sonra modelin için gösterilir.
| Format | format Argümanı | Model | Meta veriler | Argümanlar |
|---|---|---|---|---|
| PyTorch | - | yolo26n.pt | ✅ | - |
| TorchScript | torchscript | yolo26n.torchscript | ✅ | imgsz, quantize, dynamic, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, quantize, dynamic, simplify, opset, nms, batch, data, fraction, device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz, quantize, dynamic, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz, quantize, dynamic, simplify, opset, workspace, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, quantize, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz, keras, quantize, opset, nms, batch, data, fraction, device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, opset, batch, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, quantize, opset, data, fraction, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz, batch, dynamic, quantize, simplify, opset, nms, device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, quantize, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, quantize, data, fraction, nms, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, quantize, simplify, opset, data, fraction, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, quantize, data, fraction, device |
| DEEPX | deepx | yolo26n_deepx_model/ | ✅ | imgsz, quantize, simplify, opset, data, optimize, device |
| Qualcomm QNN | qnn | yolo26n_qnn.onnx | ✅ | imgsz, batch, name, quantize, simplify, opset, data, fraction, device |
| LiteRT | litert | yolo26n.tflite | ✅ | imgsz, quantize, batch, data, fraction, device |
| Hailo | hailo | yolo26n_hailo_model/ | ✅ | imgsz, name, quantize, data, fraction, simplify, conf, iou |
| Huawei Ascend | ascend | yolo26n_ascend_model/ | ✅ | imgsz, batch, name, quantize, opset, simplify, nms |
Tam export ayrıntılarını Dışa Aktar sayfasında görün.
SSS#
Evet. Ultralytics Platform quickstart, veri kümelerini etiketleme, bulut GPU'larında algılama modelleri eğitme ve bunları çıkarım uç noktalarına dağıtma için tarayıcı tabanlı bir iş akışını kapsar.
Özel bir veri kümesinde bir YOLO26 modelini eğitmek birkaç adım içerir:
- Veri Kümesini Hazırla: Veri kümenin YOLO formatında olduğundan emin ol. Rehberlik için Dataset Guide sayfamıza göz at.
- Modeli Yükle: Önceden eğitilmiş bir modeli yüklemek veya bir YAML dosyasından yeni bir model oluşturmak için Ultralytics YOLO kütüphanesini kullan.
- Modeli Eğit: Python'da
trainyöntemini veya CLI'dayolo detect trainkomutunu çalıştır.
Örnekfrom ultralytics import YOLO # Load a pretrained model model = YOLO("yolo26n.pt") # Train the model on your custom dataset model.train(data="my_custom_dataset.yaml", epochs=100, imgsz=640)Ayrıntılı yapılandırma seçenekleri için Configuration sayfasını ziyaret et.
Ultralytics YOLO26, object detection, instance segmentation, semantic segmentation ve pose estimation için çeşitli ön eğitilmiş modeller sunar. Bu modeller COCO veri kümesi, anlamsal segmentasyon için Cityscapes veya sınıflandırma görevleri için ImageNet üzerinde ön eğitilmiştir. Mevcut modellerden bazıları şunlardır:
Ayrıntılı bir liste ve performans metrikleri için Models bölümüne bak.
Eğittiğin YOLO26 modelinin doğruluğunu doğrulamak için Python'da
.val()yöntemini veya CLI'dayolo detect valkomutunu kullanabilirsin. Bu, mAP50-95, mAP50 ve benzeri metrikleri sağlayacaktır.Örnekfrom ultralytics import YOLO # Load the model model = YOLO("path/to/best.pt") # Validate the model metrics = model.val() print(metrics.box.map) # mAP50-95Daha fazla doğrulama detayı için Val sayfasını ziyaret et.
Ultralytics YOLO26; farklı platformlar ve cihazlar arasında uyumluluk sağlamak amacıyla modellerin ONNX, TensorRT, CoreML ve benzeri çeşitli formatlara dışa aktarılmasına olanak tanır.
Örnekfrom ultralytics import YOLO # Load the model model = YOLO("yolo26n.pt") # Export the model to ONNX format model.export(format="onnx")Desteklenen formatların tam listesini ve talimatları Export sayfasında kontrol et.
Ultralytics YOLO26; object detection, instance segmentation, semantic segmentation ve pose estimation için en son teknoloji performansını sunmak üzere tasarlanmıştır. İşte bazı temel avantajlar:
- Ön Eğitilmiş Modeller: Daha hızlı geliştirme için COCO ve ImageNet gibi popüler veri kümeleri üzerinde ön eğitilmiş modelleri kullan.
- Yüksek Doğruluk: Etkileyici mAP skorlarına ulaşarak güvenilir nesne algılama sağlar.
- Hız: real-time inference için optimize edilmiştir, bu da onu hızlı işleme gerektiren uygulamalar için ideal kılar.
- Esneklik: Modelleri birden fazla platformda dağıtmak için ONNX ve TensorRT gibi çeşitli formatlara dışa aktar.
YOLO26'yı iş başında gösteren kullanım senaryoları ve başarı hikayeleri için Blog sayfamızı keşfet.