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 dedektörünün çıktısı, görüntüdeki nesneleri çevreleyen sınırlayıcı kutular kümesi ile birlikte her kutu için sınıf etiketleri ve güven skorlarıdır. Nesne algılama, bir sahnedeki ilgilendiğin nesneleri tanımlaman gerektiğinde, ancak nesnenin tam olarak nerede olduğunu veya kesin şeklini bilmene ihtiyaç duymadığında iyi bir tercihtir.
Watch: Object Detection with Pretrained Ultralytics YOLO Model.
YOLO26 Detect modelleri varsayılan YOLO26 modelleridir, yani yolo26n.pt dosyalarıdır ve COCO üzerinde önceden eğitilmişlerdir.
Modeller
YOLO26 önceden eğitilmiş Detect modelleri burada gösterilmektedir. Detect, Segment ve Pose modelleri COCO veri kümesi üzerinde önceden eğitilmiştir, Classify modelleri ise 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) | parametre (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ümesindeki tek model, tek ölçek değerleridir.
yolo val detect data=coco.yaml device=0ile yeniden oluşturabilirsin. - Hız, Amazon EC2 P4d örneği kullanılarak COCO val görüntüleri üzerinde ortalaması alınmıştır.
yolo val detect data=coco.yaml batch=1 device=0|cpuile yeniden oluşturabilirsin. - Params ve FLOPs değerleri, Conv ve BatchNorm katmanlarını birleştiren ve uçtan uca modeller için yardımcı bire-çok tespit başlığını kaldıran
model.fuse()sonrası 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 dönem boyunca eğit. Mevcut argümanların tam listesi için Yapılandırma 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)train moduna dair tüm detayları Train sayfasında bulabilirsin. Algılama modelleri, Ultralytics Platform aracılığıyla bulut GPU'larında da eğitilebilir.
Veri kümesi formatı
YOLO algılama veri kümesi formatının detaylarını Veri Kümesi Kılavuzu sayfasında bulabilirsin. Mevcut veri kümeni diğer formatlardan (COCO gibi) YOLO formatına dönüştürmek için lütfen Ultralytics tarafından sunulan JSON2YOLO aracını kullan. Ayrıca, yapay zeka destekli etiketleme araçlarıyla Ultralytics Platform üzerinde doğrudan algılama veri kümelerini etiketleyebilir ve yönetebilirsin.
Doğrula (Val)
Eğitilmiş YOLO26n modelinin doğruluğunu COCO8 veri kümesi üzerinde 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.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
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 boxpredict moduna dair tüm detayları Predict sayfasında bulabilirsin.
Dışa Aktar (Export)
Bir YOLO26n modelini ONNX, CoreML vb. 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ı kullanarak, yani format='onnx' veya format='engine' şeklinde herhangi bir formata dışa aktarım yapabilirsin. Dışa aktarılan modeller üzerinde doğrudan tahmin veya doğrulama yapabilirsin, örneğin 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 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, data, fraction, 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, int8, data, fraction, device |
| TF.js | tfjs | yolo26n_web_model/ | ✅ | imgsz, half, int8, nms, batch, data, fraction, 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, nms, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, int8, data, fraction, device |
| DeepX | deepx | yolo26n_deepx_model/ | ✅ | imgsz, int8, data, optimize, device |
Tam export ayrıntıları için Dışa Aktarma sayfasına bak.
SSS
Kod yazmadan algılama modellerini eğitebilir ve dağıtabilir miyim?
Evet. Ultralytics Platform, veri kümelerini etiketlemek, bulut GPU'larında algılama modelleri eğitmek ve bunları çıkarım uç noktalarına dağıtmak için tarayıcı tabanlı bir iş akışı sunar. Başlamak için Platform hızlı başlangıç kılavuzuna bak.
Kendi özel veri kümem üzerinde YOLO26 modelini nasıl eğitirim?
Özel bir veri kümesinde 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 Veri Kümesi Kılavuzu sayfamıza başvur.
- Modeli Yükle: Önceden eğitilmiş bir model 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
trainmetodunu veya CLI'dayolo detect trainkomutunu çalıştır.
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)Detaylı yapılandırma seçenekleri için Yapılandırma sayfasını ziyaret et.
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. İşte mevcut modellerden bazıları:
Detaylı bir liste ve performans metrikleri için Modeller bölümüne bak.
Eğitilmiş YOLO modelimin doğruluğunu nasıl doğrulayabilirim?
Eğitilmiş YOLO26 modelinin doğruluğunu doğrulamak için Python'da .val() metodunu veya CLI'da yolo detect val komutunu kullanabilirsin. Bu, mAP50-95, mAP50 ve daha fazlası gibi metrikler sağlayacaktır.
from 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.
Bir YOLO26 modelini hangi formatlara aktarabilirim?
Ultralytics YOLO26, farklı platformlar ve cihazlar arasında uyumluluk sağlamak için modellerin ONNX, TensorRT, CoreML ve daha fazlası gibi çeşitli formatlara dışa aktarılmasına olanak tanır.
from 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 incele.
Nesne algılama için neden Ultralytics YOLO26 kullanmalıyım?
Ultralytics YOLO26, nesne algılama, segmentasyon ve poz tahmini için en son teknoloji performans sunacak şekilde 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ümeleri üzerinde önceden eğitilmiş modellerden faydalan.
- Yüksek Doğruluk: Etkileyici mAP skorlarına ulaşarak güvenilir nesne algılama sağlar.
- 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 birden fazla platformda dağıtım için ONNX ve TensorRT gibi çeşitli formatlara aktar.
YOLO26'nın iş başında olduğu kullanım örnekleri ve başarı hikayeleri için Blog sayfamızı keşfet.