İçeriğe geç

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

Ultralytics 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:

# Load a COCO-pretrained YOLOv8n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv8n model and run inference on the 'bus.jpg' image
yolo predict model=yolov8n.pt source=path/to/bus.jpg

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:

@software{yolov8_ultralytics,
  author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu},
  title = {Ultralytics YOLOv8},
  version = {8.0.0},
  year = {2023},
  url = {https://github.com/ultralytics/ultralytics},
  orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069},
  license = {AGPL-3.0}
}

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)

Yorumlar