İçeriğe geç

Ultralytics YOLOv8'i keşfedin

Genel Bakış

YOLOv8, Ultralytics tarafından 10 Ocak 2023'te piyasaya sürüldü ve doğruluk ve hız açısından en son performansı sunuyor. Önceki YOLO sürümlerinin gelişmelerine dayanarak YOLOv8, çok çeşitli uygulamalardaki çeşitli nesne algılama görevleri için ideal bir seçim olmasını sağlayan yeni özellikler ve optimizasyonlar sunmuştur.

Ultralytics YOLOv8



İzle: Ultralytics YOLOv8 Modeline Genel Bakış

YOLOv8'in Temel Özellikleri

  • Gelişmiş Backbone ve Neck Mimarileri: YOLOv8, gelişmiş özellik çıkarımı ve nesne algılama performansı ile sonuçlanan son teknoloji ürünü backbone ve neck mimarileri kullanır.
  • Ankrajsız Bölünmüş Ultralytics Head: YOLOv8, ankraj tabanlı yaklaşımlara kıyasla daha iyi doğruluk ve daha verimli bir algılama sürecine katkıda bulunan, ankraj içermeyen bölünmüş bir Ultralytics head kullanır.
  • Optimize Edilmiş Doğruluk-Hız Dengesi: Doğruluk ve hız arasında optimum bir dengeyi korumaya odaklanan YOLOv8, çeşitli uygulama alanlarında 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 sunarak, özel kullanım durumunuz için doğru modeli bulmayı kolaylaştırır.

Desteklenen Görevler ve Modlar

YOLOv8 serisi, her biri bilgisayar görüşünde belirli görevler için uzmanlaşmış çeşitli modeller sunar. Bu modeller, nesne algılamadan örnek segmentasyon, 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 varyantı, kendi görevine göre optimize edilmiştir ve yüksek performans ve doğruluk sağlar. Ek olarak, 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 Dışa aktar
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/Anahtar 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ış sunarak, bunların belirli görevlerdeki uygulanabilirliğini ve Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma gibi çeşitli operasyonel modlarla uyumluluğunu vurgular. YOLOv8 serisinin çok yönlülüğünü ve sağlamlığını sergileyerek, onları bilgisayar görüşü alanındaki çeşitli uygulamalar için uygun hale getirir.

Performans Metrikleri

Performans

COCO üzerinde eğitilmiş ve 80 adet önceden eğitilmiş sınıfı içeren bu modellerle ilgili kullanım örnekleri için Algılama Belgelerine bakın.

Model boyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
A100 TensorRT
(ms)
parametreler
(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

600 önceden eğitilmiş sınıfı içeren Open Image V7 üzerinde eğitilmiş bu modellerle ilgili kullanım örnekleri için Algılama Belgeleri'ne bakın.

Model boyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
A100 TensorRT
(ms)
parametreler
(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

80 önceden eğitilmiş sınıfı içeren COCO üzerinde eğitilmiş bu modellerle ilgili kullanım örnekleri için Segmentasyon Belgeleri'ne bakın.

Model boyut
(piksel)
mAPbox
50-95
mAPmask
50-95
Hız
CPU ONNX
(ms)
Hız
A100 TensorRT
(ms)
parametreler
(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

1000 önceden eğitilmiş sınıfı içeren ImageNet üzerinde eğitilmiş bu modellerle ilgili kullanım örnekleri için Sınıflandırma Belgeleri'ne bakın.

Model boyut
(piksel)
acc
top1
acc
top5
Hız
CPU ONNX
(ms)
Hız
A100 TensorRT
(ms)
parametreler
(M)
FLOP'lar
(Milyar) - 224
YOLOv8n-cls 224 69.0 88.3 12.9 0.31 2.7 0.5
YOLOv8s-cls 224 73.8 91.7 23.4 0.35 6.4 1.7
YOLOv8m-cls 224 76.8 93.5 85.4 0.62 17.0 5.3
YOLOv8l-cls 224 76.8 93.5 163.0 0.87 37.5 12.3
YOLOv8x-cls 224 79.0 94.6 232.0 1.01 57.4 19.0

1 önceden eğitilmiş sınıf olan 'kişi'yi içeren COCO üzerinde eğitilmiş bu modellerle ilgili kullanım örnekleri için Poz Tahmini Belgeleri'ne bakın.

Model boyut
(piksel)
mAPpose
50-95
mAPpose
50
Hız
CPU ONNX
(ms)
Hız
A100 TensorRT
(ms)
parametreler
(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

DOTAv1 üzerinde eğitilmiş bu modellerle kullanım örnekleri için Yönlendirilmiş Algılama Belgelerine bakın; bu belgelere 15 adet önceden eğitilmiş sınıf dahildir.

Model boyut
(piksel)
mAPtest
50
Hız
CPU ONNX
(ms)
Hız
A100 TensorRT
(ms)
parametreler
(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

YOLOv8 Kullanım Örnekleri

Bu örnek, basit YOLOv8 eğitimi ve çıkarım örnekleri sunar. Bunlar ve diğer modlar hakkında tam dokümantasyon için Tahmin, Eğitim, Değerlendirme ve Dışa Aktarma doküman sayfalarına bakın.

Aşağıdaki örneğin, nesne algılama için YOLOv8 Algılama modelleri için olduğuna dikkat edin. Ek desteklenen görevler için Segmentasyon, Sınıflandırma, OBB dokümanlarına ve Poz dokümanlarına bakın.

Örnek

PyTorch önceden eğitilmiş *.pt modellerin yanı sıra yapılandırma *.yaml dosyaları YOLO() python'da bir model örneği oluşturmak için sınıfa geçirilebilir:

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")

Modelleri doğrudan çalıştırmak için CLI komutları mevcuttur:

# 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

Alıntılar ve Teşekkürler

Ultralytics YOLOv8 Yayını

Ultralytics, modellerin hızla gelişen yapısı nedeniyle YOLOv8 için resmi bir araştırma makalesi yayınlamadı. Statik dokümantasyon üretmek yerine, teknolojiyi geliştirmeye ve kullanımını kolaylaştırmaya odaklanıyoruz. YOLO mimarisi, özellikleri ve kullanımı hakkında en güncel bilgiler için lütfen GitHub depomuza ve dokümantasyonumuza bakın.

Çalışmanızda YOLOv8 modelini veya bu depodaki başka bir yazılımı kullanırsanız, lütfen aşağıdaki formatı kullanarak atıfta bulunun:

@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 kullanılabilir olduğunda alıntıya ekleneceğini unutmayın. YOLOv8 modelleri AGPL-3.0 ve Kurumsal lisanslar altında sağlanmaktadır.

SSS

YOLOv8 nedir ve önceki YOLO sürümlerinden nasıl farklıdır?

YOLOv8, gelişmiş özelliklerle gerçek zamanlı nesne algılama performansını iyileştirmek için tasarlanmıştır. Önceki sürümlerden farklı olarak YOLOv8, bir anchor-free bölünmüş Ultralytics başlığı, son teknoloji ürünü backbone ve neck mimarilerini içerir ve optimize edilmiş doğruluk-hız dengesi sunarak çeşitli uygulamalar için idealdir. Daha fazla ayrıntı için Genel Bakış ve Temel Özellikler bölümlerine bakın.

YOLOv8'i farklı bilgisayar görüşü görevleri için nasıl kullanabilirim?

YOLOv8, nesne tespiti, örnek segmentasyonu, poz/anahtar nokta tespiti, yönlendirilmiş nesne tespiti ve sınıflandırma dahil olmak üzere çok çeşitli bilgisayarlı görü görevlerini destekler. Her model varyantı, kendi özel görevi için optimize edilmiştir ve Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma gibi çeşitli çalışma modlarıyla uyumludur. Daha fazla bilgi için Desteklenen Görevler ve Modlar bölümüne bakın.

YOLOv8 modelleri için performans metrikleri nelerdir?

YOLOv8 modelleri, çeşitli kıyaslama veri kümelerinde son teknoloji performansı elde eder. Örneğin, YOLOv8n modeli, COCO veri kümesinde 37,3 mAP (ortalama Ortalama Hassasiyet) ve A100 TensorRT'de 0,99 ms hız elde eder. Farklı görevler ve veri kümeleri genelinde her model varyantı için ayrıntılı performans metrikleri Performans Metrikleri bölümünde bulunabilir.

Bir YOLOv8 modeli nasıl eğitirim?

Bir YOLOv8 modelini eğitmek için python veya CLI kullanılabilir. Aşağıda, COCO üzerinde önceden eğitilmiş bir YOLOv8 modeli kullanılarak COCO8 veri kümesi üzerinde 100 epok için bir model eğitme örnekleri verilmiştir:

Örnek

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

Daha fazla ayrıntı için Eğitim belgelerini ziyaret edin.

YOLOv8 modellerini performans açısından kıyaslayabilir miyim?

Evet, YOLOv8 modelleri, çeşitli dışa aktarma formatlarında hız ve doğruluk açısından performans açısından kıyaslanabilir. Kıyaslama için PyTorch, ONNX, TensorRT ve daha fazlasını kullanabilirsiniz. Aşağıda, python ve CLI kullanılarak kıyaslama için örnek komutlar verilmiştir:

Örnek

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
yolo benchmark model=yolov8n.pt data='coco8.yaml' imgsz=640 half=False device=0

Ek bilgiler için Performans Metrikleri bölümünü inceleyin.



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

Yorumlar