İçeriğe geç

Nesne Algılama

Nesne algılama örnekleri

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

YOLO11 Algılama modelleri, varsayılan YOLO11 modelleridir, yani yolo11n.pt ve üzerinde önceden eğitilmiştir COCO.

Modeller

YOLO11 önceden eğitilmiş Algılama modelleri burada gösterilmiştir. Algılama, Segmentasyon ve Poz modelleri COCO veri kümesi üzerinde önceden eğitilirken, Sınıflandırma 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
Hız
CPU ONNX
(ms)
Hız
T4 TensorRT10
(ms)
parametreler
(M)
FLOP'lar
(B)
YOLO11n 640 39.5 56.1 ± 0.8 1.5 ± 0.0 2.6 6.5
YOLO11s 640 47.0 90.0 ± 1.2 2.5 ± 0.0 9.4 21.5
YOLO11m 640 51.5 183.2 ± 2.0 4.7 ± 0.1 20.1 68.0
YOLO11l 640 53.4 238.6 ± 1.4 6.2 ± 0.1 25.3 86.9
YOLO11x 640 54.7 462.8 ± 6.7 11.3 ± 0.2 56.9 194.9
  • mAPval değerleri, tek model ve tek ölçek için COCO val2017 veri kümesi üzerindendir.
    Tekrar oluşturmak için yolo val detect data=coco.yaml device=0
  • Hız değerleri, bir Amazon EC2 P4d örneği kullanılarak COCO val görüntülerinde ortalama alınmıştır.
    Tekrar oluşturmak için yolo val detect data=coco.yaml batch=1 device=0|cpu

Eğit

640 görüntü boyutunda 100 epok için COCO8 veri kümesi üzerinde YOLO11n'i eğitin. Mevcut argümanların tam listesi için Yapılandırma sayfasına bakın.

Örnek

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.yaml")  # build a new model from YAML
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo11n.yaml").load("yolo11n.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=yolo11n.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo11n.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=yolo11n.yaml pretrained=yolo11n.pt epochs=100 imgsz=640

Veri kümesi formatı

YOLO algılama veri kümesi formatı hakkında detaylı bilgiye Veri Kümesi Kılavuzu'ndan ulaşabilirsiniz. Mevcut veri kümenizi diğer formatlardan (COCO vb. gibi) YOLO formatına dönüştürmek için lütfen Ultralytics tarafından geliştirilen JSON2YOLO aracını kullanın.

Doğrula

Eğitilmiş YOLO11n modelini doğrulayın doğruluğu COCO8 veri kümesi üzerinde. 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("yolo11n.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 contains map50-95 of each category
yolo detect val model=yolo11n.pt      # val official model
yolo detect val model=path/to/best.pt # val custom model

Tahmin et

Resimler üzerinde tahminler yürütmek için eğitilmiş bir YOLO11n modeli kullanın.

Örnek

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.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=yolo11n.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 YOLO11n modelini ONNX, CoreML vb. gibi farklı bir formata aktarın.

Örnek

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.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.pt format=onnx      # export official model
yolo export model=path/to/best.pt format=onnx # export custom trained model

Mevcut YOLO11 dışa aktarma formatları aşağıdaki tabloda yer almaktadır. Herhangi bir formata format argümanını kullanarak dışa aktarabilirsiniz, örneğin format='onnx' veya format='engine'. Dışa aktarılan modeller üzerinde doğrudan tahmin veya doğrulama yapabilirsiniz, örneğin yolo predict model=yolo11n.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 - yolo11n.pt -
TorchScript torchscript yolo11n.torchscript imgsz, half, optimize, nms, batch, device
ONNX onnx yolo11n.onnx imgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINO openvino yolo11n_openvino_model/ imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRT engine yolo11n.engine imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreML coreml yolo11n.mlpackage imgsz, half, int8, nms, batch, device
TF SavedModel saved_model yolo11n_saved_model/ imgsz, keras, int8, nms, batch, device
TF GraphDef pb yolo11n.pb imgsz, batch, device
TF Lite tflite yolo11n.tflite imgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPU edgetpu yolo11n_edgetpu.tflite imgsz, device
TF.js tfjs yolo11n_web_model/ imgsz, half, int8, nms, batch, device
PaddlePaddle paddle yolo11n_paddle_model/ imgsz, batch, device
MNN mnn yolo11n.mnn imgsz, batch, int8, half, device
NCNN ncnn yolo11n_ncnn_model/ imgsz, half, batch, device
IMX500 imx yolo11n_imx_model/ imgsz, int8, data, fraction, device
RKNN rknn yolo11n_rknn_model/ imgsz, batch, name, device

Tamamını görün export ayrıntıları Dışa aktar sayfasında bulabilirsiniz.

SSS

Özel veri kümem üzerinde nasıl bir YOLO11 modeli eğitebilirim?

Özel bir veri kümesi üzerinde bir YOLO11 modeli eğitmek birkaç adım içerir:

  1. 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.
  2. Modeli Yükleyin: Ö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.
  3. Modeli Eğitme: Şu komutu çalıştırın: train python'daki metodu veya yolo detect train CLI'daki komutu.

Örnek

from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo11n.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=yolo11n.pt epochs=100 imgsz=640

Ayrıntılı yapılandırma seçenekleri için Yapılandırma sayfasını ziyaret edin.

YOLO11'de hangi önceden eğitilmiş modeller mevcut?

Ultralytics YOLO11, nesne tespiti, segmentasyonu 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. İşte mevcut modellerden bazıları:

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ş YOLO11 modelinizin doğruluğunu doğrulamak için CLI'daki .val() python'daki metodu veya yolo detect val komutunu kullanabilirsiniz. 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 YOLO11 modelini hangi formatlara aktarabilirim?

Ultralytics YOLO11, farklı platformlar ve cihazlar arasında uyumluluğu sağlamak için modelleri ONNX, TensorRT, CoreML ve daha fazlası gibi çeşitli formatlarda dışa aktarmaya olanak tanır.

Örnek

from ultralytics import YOLO

# Load the model
model = YOLO("yolo11n.pt")

# Export the model to ONNX format
model.export(format="onnx")
yolo export model=yolo11n.pt format=onnx

Desteklenen formatların ve talimatların tam listesi için Dışa Aktar sayfasına bakın.

Nesne tespiti için neden Ultralytics YOLO11'i kullanmalıyım?

Ultralytics YOLO11, nesne tespiti, segmentasyonu ve poz tahmini için son teknoloji performansı sunmak üzere tasarlanmıştır. İşte bazı temel avantajları:

  1. Önceden Eğitilmiş Modeller: Daha hızlı geliştirme için COCO ve ImageNet gibi popüler veri kümeleri üzerinde önceden eğitilmiş modelleri kullanın.
  2. Yüksek Doğruluk: Etkileyici mAP skorlarına ulaşarak güvenilir nesne tespiti sağlar.
  3. 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.
  4. Esneklik: Modelleri ONNX ve TensorRT gibi çeşitli formatlara aktararak birden fazla platformda dağıtım sağlayın.

Çalışır durumdaki YOLO11'i sergileyen kullanım örnekleri ve başarı hikayeleri için Blogumuza göz atın.



📅 1 yıl önce oluşturuldu ✏️ 3 ay önce güncellendi

Yorumlar