YOLOv8
Genel Bakış
YOLOv8 YOLO serisi gerçek zamanlı nesne dedektörlerinin en son yinelemesidir ve doğruluk ve hız açısından en üst düzeyde performans sunar. Önceki sürümlerindeki gelişmelerin üzerine inşa edilen , çok çeşitli uygulamalarda çeşitli nesne algılama görevleri için ideal bir seçim olmasını sağlayan yeni özellikler ve optimizasyonlar sunar. YOLO YOLOv8
İzle: Ultralytics YOLOv8 Modele Genel Bakış
Temel Özellikler
- Gelişmiş Omurga ve Boyun Mimarileri: YOLOv8 , gelişmiş özellik çıkarma ve nesne algılama performansı ile sonuçlanan son teknoloji omurga ve boyun mimarilerini kullanır.
- Çapasız Bölünmüş Ultralytics Başlığı: YOLOv8 , çapa tabanlı yaklaşımlara kıyasla daha iyi doğruluk ve daha verimli bir algılama sürecine katkıda bulunan çapasız bölünmüş bir Ultralytics başlığını benimser.
- Optimize Edilmiş Doğruluk-Hız Ödünleşimi: Doğruluk ve hız arasında optimum dengeyi korumaya odaklanan YOLOv8 , çeşitli uygulama alanlarındaki gerçek zamanlı nesne algılama görevleri için uygundur.
- Çeşitli Önceden Eğitilmiş Modeller: YOLOv8 , çeşitli görevlere ve performans gereksinimlerine hitap etmek için bir dizi önceden eğitilmiş model sunar ve özel kullanım durumunuz için doğru modeli bulmayı kolaylaştırır.
Desteklenen Görevler ve Modlar
YOLOv8 serisi, her biri bilgisayarla görme alanındaki belirli görevler için uzmanlaşmış çeşitli modeller sunar. Bu modeller, nesne algılamadan örnek segmentasyonu, poz/anahtar nokta algılama, yönlendirilmiş nesne algılama ve sınıflandırma gibi daha karmaşık görevlere kadar çeşitli gereksinimleri karşılamak üzere tasarlanmıştır.
YOLOv8 serisinin her bir çeşidi kendi görevi için optimize edilmiş olup yüksek performans ve doğruluk sağlamaktadır. Ayrıca, bu modeller Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma dahil olmak üzere çeşitli operasyonel modlarla uyumludur ve dağıtım ve geliştirmenin farklı aşamalarında kullanımlarını kolaylaştırır.
Model | Dosya adları | Görev | Çıkarım | Doğrulama | Eğitim | İhracat |
---|---|---|---|---|---|---|
YOLOv8 | yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt |
Algılama | ✅ | ✅ | ✅ | ✅ |
YOLOv8-seg | yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt |
Örnek Segmentasyonu | ✅ | ✅ | ✅ | ✅ |
YOLOv8-pose | yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt |
Poz/Kilit Noktaları | ✅ | ✅ | ✅ | ✅ |
YOLOv8-obb | yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt |
Yönlendirilmiş Algılama | ✅ | ✅ | ✅ | ✅ |
YOLOv8-cls | yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt |
Sınıflandırma | ✅ | ✅ | ✅ | ✅ |
Bu tablo, YOLOv8 model varyantlarına genel bir bakış sunmakta, belirli görevlerde uygulanabilirliklerini ve Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma gibi çeşitli çalışma modlarıyla uyumluluklarını vurgulamaktadır. Bu tablo, YOLOv8 serisinin çok yönlülüğünü ve sağlamlığını ortaya koymakta ve bilgisayarla görme alanındaki çeşitli uygulamalar için uygun hale getirmektedir.
Performans Ölçütleri
Performans
Önceden eğitilmiş 80 sınıf içeren COCO üzerinde eğitilen bu modellerle kullanım örnekleri için Algılama Dokümanları 'na bakın.
Model | boyut (piksel) |
mAPval 50-95 |
Hız CPU ONNX (ms) |
Hız A100 TensorRT (ms) |
params (M) |
FLOP'lar (B) |
---|---|---|---|---|---|---|
YOLOv8n | 640 | 37.3 | 80.4 | 0.99 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 1.20 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 1.83 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 2.39 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 3.53 | 68.2 | 257.8 |
Önceden eğitilmiş 600 sınıf içeren Open Image V7 üzerinde eğitilen bu modellerle kullanım örnekleri için Algılama Dokümanları 'na bakın.
Model | boyut (piksel) |
mAPval 50-95 |
Hız CPU ONNX (ms) |
Hız A100 TensorRT (ms) |
params (M) |
FLOP'lar (B) |
---|---|---|---|---|---|---|
YOLOv8n | 640 | 18.4 | 142.4 | 1.21 | 3.5 | 10.5 |
YOLOv8s | 640 | 27.7 | 183.1 | 1.40 | 11.4 | 29.7 |
YOLOv8m | 640 | 33.6 | 408.5 | 2.26 | 26.2 | 80.6 |
YOLOv8l | 640 | 34.9 | 596.9 | 2.43 | 44.1 | 167.4 |
YOLOv8x | 640 | 36.3 | 860.6 | 3.56 | 68.7 | 260.6 |
Önceden eğitilmiş 80 sınıf içeren COCO üzerinde eğitilen bu modellerle kullanım örnekleri için Segmentasyon Dokümanları 'na bakın.
Model | boyut (piksel) |
mAPbox 50-95 |
mAPmask 50-95 |
Hız CPU ONNX (ms) |
Hız A100 TensorRT (ms) |
params (M) |
FLOP'lar (B) |
---|---|---|---|---|---|---|---|
YOLOv8n-seg | 640 | 36.7 | 30.5 | 96.1 | 1.21 | 3.4 | 12.6 |
YOLOv8s-seg | 640 | 44.6 | 36.8 | 155.7 | 1.47 | 11.8 | 42.6 |
YOLOv8m-seg | 640 | 49.9 | 40.8 | 317.0 | 2.18 | 27.3 | 110.2 |
YOLOv8l-seg | 640 | 52.3 | 42.6 | 572.4 | 2.79 | 46.0 | 220.5 |
YOLOv8x-seg | 640 | 53.4 | 43.4 | 712.1 | 4.02 | 71.8 | 344.1 |
Önceden eğitilmiş 1000 sınıf içeren ImageNet üzerinde eğitilen bu modellerle kullanım örnekleri için Classification Docs bölümüne bakın.
Model | boyut (piksel) |
acc top1 |
acc top5 |
Hız CPU ONNX (ms) |
Hız A100 TensorRT (ms) |
params (M) |
FLOPs (B) 640'da |
---|---|---|---|---|---|---|---|
YOLOv8n-cls | 224 | 69.0 | 88.3 | 12.9 | 0.31 | 2.7 | 4.3 |
YOLOv8s-cls | 224 | 73.8 | 91.7 | 23.4 | 0.35 | 6.4 | 13.5 |
YOLOv8m-cls | 224 | 76.8 | 93.5 | 85.4 | 0.62 | 17.0 | 42.7 |
YOLOv8l-cls | 224 | 76.8 | 93.5 | 163.0 | 0.87 | 37.5 | 99.7 |
YOLOv8x-cls | 224 | 79.0 | 94.6 | 232.0 | 1.01 | 57.4 | 154.8 |
Önceden eğitilmiş 1 sınıf olan 'kişi' içeren COCO üzerinde eğitilen bu modellerle kullanım örnekleri için Poz Tahmini Dokümanlarına bakın.
Model | boyut (piksel) |
mAPpose 50-95 |
mAPpose 50 |
Hız CPU ONNX (ms) |
Hız A100 TensorRT (ms) |
params (M) |
FLOP'lar (B) |
---|---|---|---|---|---|---|---|
YOLOv8n-pose | 640 | 50.4 | 80.1 | 131.8 | 1.18 | 3.3 | 9.2 |
YOLOv8s-pose | 640 | 60.0 | 86.2 | 233.2 | 1.42 | 11.6 | 30.2 |
YOLOv8m-pose | 640 | 65.0 | 88.8 | 456.3 | 2.00 | 26.4 | 81.0 |
YOLOv8l-pose | 640 | 67.6 | 90.0 | 784.5 | 2.59 | 44.4 | 168.6 |
YOLOv8x-pose | 640 | 69.2 | 90.2 | 1607.1 | 3.73 | 69.4 | 263.2 |
YOLOv8x-pose-p6 | 1280 | 71.6 | 91.2 | 4088.7 | 10.04 | 99.1 | 1066.4 |
Önceden eğitilmiş 15 sınıf içeren DOTAv1 üzerinde eğitilen bu modellerle kullanım örnekleri için Yönlendirilmiş Algılama Dokümanları 'na bakın.
Model | boyut (piksel) |
mAPtest 50 |
Hız CPU ONNX (ms) |
Hız A100 TensorRT (ms) |
params (M) |
FLOP'lar (B) |
---|---|---|---|---|---|---|
YOLOv8n-obb | 1024 | 78.0 | 204.77 | 3.57 | 3.1 | 23.3 |
YOLOv8s-obb | 1024 | 79.5 | 424.88 | 4.07 | 11.4 | 76.3 |
YOLOv8m-obb | 1024 | 80.5 | 763.48 | 7.61 | 26.4 | 208.6 |
YOLOv8l-obb | 1024 | 80.7 | 1278.42 | 11.83 | 44.5 | 433.8 |
YOLOv8x-obb | 1024 | 81.36 | 1759.10 | 13.23 | 69.5 | 676.7 |
Kullanım Örnekleri
Bu örnek basit YOLOv8 eğitim ve çıkarım örnekleri sağlar. Bu ve diğer modlar hakkında tam dokümantasyon için Predict, Train, Val ve Export docs sayfalarına bakın.
Aşağıdaki örneğin nesne algılama için YOLOv8 Detect modelleri için olduğunu unutmayın. Desteklenen ek görevler için Segment, Classify, OBB dokümanlarına ve Pose dokümanlarına bakın.
Örnek
PyTorch ön eğitimli *.pt
modellerin yanı sıra yapılandırma *.yaml
dosyalar şu dosyalara aktarılabilir YOLO()
sınıfında bir model örneği oluşturmak için python:
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv8n model
model = YOLO('yolov8n.pt')
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
# Run inference with the YOLOv8n model on the 'bus.jpg' image
results = model('path/to/bus.jpg')
CLI komutları modelleri doğrudan çalıştırmak için kullanılabilir:
Atıflar ve Teşekkür
Çalışmanızda YOLOv8 modelini veya bu depodaki başka bir yazılımı kullanırsanız, lütfen aşağıdaki formatı kullanarak alıntı yapın:
Lütfen DOI'nin beklemede olduğunu ve mevcut olduğunda alıntıya ekleneceğini unutmayın. YOLOv8 modelleri şu adreste verilmiştir AGPL-3.0 ve Kurumsal lisanslar.
Oluşturma 2023-11-12, Güncelleme 2024-04-17
Yazarlar: glenn-jocher (12), Laughing-q (2), AyushExel (1), fcakyon (1)