Nesne Algılama

Nesne algılama, bir görüntü veya video akışındaki nesnelerin konumunu ve sınıfını belirlemeyi içeren bir görevdir.
Bir nesne algılayıcının çıktısı, görüntüdeki nesneleri çevreleyen bir dizi sınırlayıcı kutudur ve her kutu için sınıf etiketleri ve güvenilirlik skorları içerir. Nesne algılama, bir sahnede ilgilenilen nesneleri tanımlamanız gerektiğinde iyi bir seçimdir, ancak nesnenin tam olarak nerede olduğunu veya tam şeklini bilmeniz gerekmez.
İzle: Önceden Eğitilmiş Ultralytics YOLO Modeli ile Nesne Algılama.
İpucu
YOLO26 detect modelleri, varsayılan YOLO26 modelleridir, yani, yolo26n.pt, ve üzerinde önceden eğitilmiştir COCO.
Modeller
YOLO26 önceden eğitilmiş detect modelleri burada gösterilmiştir. detect, segment ve Poz modelleri COCO veri kümesi üzerinde önceden eğitilirken, classify modelleri ImageNet veri kümesi üzerinde önceden eğitilmiştir.
Modeller, ilk kullanımda en son Ultralytics 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) | FLOP'lar (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, tek model ve tek ölçek için COCO val2017 veri kümesi üzerindendir.
Tekrar oluşturmak içinyolo val detect data=coco.yaml device=0 - Hız COCO val görüntülerinde ortalaması alınarak Amazon EC2 P4d örneği kullanılarak COCO val görüntülerinde ortalama alınmıştır.
Tekrar oluşturmak içinyolo val detect data=coco.yaml batch=1 device=0|cpu
Eğit
YOLO26n modelini COCO8 veri kümesi üzerinde 100 epoch boyunca 640 görüntü boyutunda eğitin. Mevcut tüm argümanların listesi için Yapılandırma sayfasına bakın.
Örnek
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)
# Build a new model from YAML and start training from scratch
yolo detect train data=coco8.yaml model=yolo26n.yaml epochs=100 imgsz=640
# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo26n.pt epochs=100 imgsz=640
# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco8.yaml model=yolo26n.yaml pretrained=yolo26n.pt epochs=100 imgsz=640
Veri kümesi formatı
YOLO detect veri kümesi formatına Veri Kümesi Kılavuzu'nda ayrıntılı olarak ulaşılabilir. Mevcut veri kümenizi diğer formatlardan (COCO vb. gibi) YOLO formatına dönüştürmek için lütfen Ultralytics tarafından sunulan JSON2YOLO aracını kullanın.
Doğrula
Eğitilmiş YOLO26n modelini doğrulayın doğruluğu COCO8 veri kümesinde. Herhangi bir argümana gerek yoktur, çünkü model eğitimini korur data ve argümanları model nitelikleri olarak saklar.
Örnek
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
yolo detect val model=yolo26n.pt # val official model
yolo detect val model=path/to/best.pt # val custom model
Tahmin et
Görüntüler üzerinde tahminler çalıştırmak için eğitilmiş bir YOLO26n modeli kullanın.
Örnek
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 box
yolo detect predict model=yolo26n.pt source='https://ultralytics.com/images/bus.jpg' # predict with official model
yolo detect predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # predict with custom model
Tamamını görün predict sayfasındaki mod ayrıntıları. Tahmin et sayfasında bulabilirsiniz.
Dışa aktar
Bir YOLO26n modelini ONNX, CoreML vb. farklı bir formata aktarın.
Örnek
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")
yolo export model=yolo26n.pt format=onnx # export official model
yolo export model=path/to/best.pt format=onnx # export custom-trained model
Mevcut YOLO26 aktarım formatları aşağıdaki tabloda yer almaktadır. Herhangi bir formata şu şekilde aktarabilirsiniz: format argümanı, yani format='onnx' veya format='engine'. Dışa aktarılan modeller üzerinde doğrudan tahmin veya doğrulama yapabilirsiniz, yani, yolo predict model=yolo26n.onnx. Kullanım örnekleri, dışa aktarma tamamlandıktan sonra modeliniz için gösterilir.
| Format | format Argüman | Model | Meta Veri | Argümanlar |
|---|---|---|---|---|
| PyTorch | - | yolo26n.pt | ✅ | - |
| TorchScript | torchscript | yolo26n.torchscript | ✅ | imgsz, half, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, half, dynamic, simplify, opset, nms, batch, device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz, half, dynamic, int8, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, half, int8, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz, keras, int8, nms, batch, device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, batch, device |
| TF Lite | tflite | yolo26n.tflite | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, device |
| TF.js | tfjs | yolo26n_web_model/ | ✅ | imgsz, half, int8, nms, batch, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz, batch, int8, half, device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, half, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, int8, data, fraction, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, int8, data, fraction, device |
Tamamını görün export ayrıntıları Dışa aktar sayfasında bulabilirsiniz.
SSS
Özel veri kümem üzerinde bir YOLO26 modelini nasıl eğitirim?
Özel bir veri kümesi üzerinde bir YOLO26 modeli eğitmek birkaç adım içerir:
- Veri Kümesini Hazırlayın: Veri kümenizin YOLO formatında olduğundan emin olun. Rehberlik için Veri Kümesi Kılavuzumuza bakın.
- 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ın.
- Modeli Eğitme: Şu komutu çalıştırın:
trainpython'daki metodu veyayolo detect trainCLI'daki komutu.
Örnek
from 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)
yolo detect train data=my_custom_dataset.yaml model=yolo26n.pt epochs=100 imgsz=640
Ayrıntılı yapılandırma seçenekleri için Yapılandırma sayfasını ziyaret edin.
YOLO26'da hangi önceden eğitilmiş modeller mevcuttur?
Ultralytics YOLO26, nesne algılama, segmentasyon ve poz tahmini için çeşitli önceden eğitilmiş modeller sunar. Bu modeller, sınıflandırma görevleri için COCO veri kümesi veya ImageNet üzerinde önceden eğitilmiştir. Mevcut modellerden bazıları şunlardır:
Ayrıntılı bir liste ve performans metrikleri için Modeller bölümüne bakın.
Eğitilmiş YOLO modelimin doğruluğunu nasıl doğrulayabilirim?
Eğitilmiş YOLO26 modelinizin doğruluğunu doğrulamak için şunları kullanabilirsiniz: .val() python'daki metodu veya yolo detect val CLI'daki komut. Bu, mAP50-95, mAP50 ve daha fazlası gibi metrikler sağlayacaktır.
Örnek
from ultralytics import YOLO
# Load the model
model = YOLO("path/to/best.pt")
# Validate the model
metrics = model.val()
print(metrics.box.map) # mAP50-95
yolo detect val model=path/to/best.pt
Daha fazla doğrulama ayrıntısı için Val sayfasını ziyaret edin.
Bir YOLO26 modelini hangi formatlara aktarabilirim?
Ultralytics YOLO26, farklı platformlar ve cihazlar arasında uyumluluk sağlamak için modelleri ONNX, TensorRT, CoreML gibi çeşitli formatlara aktarmaya olanak tanır.
Örnek
from ultralytics import YOLO
# Load the model
model = YOLO("yolo26n.pt")
# Export the model to ONNX format
model.export(format="onnx")
yolo export model=yolo26n.pt format=onnx
Desteklenen formatların ve talimatların tam listesi için Dışa Aktar sayfasına bakın.
Nesne algılama için neden Ultralytics YOLO26 kullanmalıyım?
Ultralytics YOLO26, nesne algılama, segmentasyon ve poz tahmini için son teknoloji performans sunmak üzere tasarlanmıştır. İşte bazı temel avantajları:
- Önceden Eğitilmiş Modeller: Daha hızlı geliştirme için COCO ve ImageNet gibi popüler veri kümelerinde önceden eğitilmiş modelleri kullanın.
- Yüksek Doğruluk: Güvenilir nesne tespiti sağlayan etkileyici mAP skorlarına ulaşır.
- Hız: Gerçek zamanlı çıkarım için optimize edilmiştir, bu da onu hızlı işlem gerektiren uygulamalar için ideal kılar.
- Esneklik: Modelleri ONNX ve TensorRT gibi çeşitli formatlara aktararak birden fazla platformda dağıtım sağlayın.
YOLO26'nın pratikteki kullanımını sergileyen kullanım senaryoları ve başarı hikayeleri için Blogumuzu keşfedin.