İçeriğe geç

Ultralytics 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 YOLO YOLOv8 nesne algılama görevleri için ideal bir seçim olmasını sağlayan yeni özellikler ve optimizasyonlar sunar.

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 eden bir dizi önceden eğitilmiş model sunarak özel kullanım durumunuz için doğru modeli bulmanızı 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

Ultralytics YOLOv8 Yayın

Ultralytics modellerin hızla gelişen doğası nedeniyle YOLOv8 için resmi bir araştırma makalesi yayınlamamıştır. 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 belgelerimize 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 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.

SSS

YOLOv8 nedir ve önceki YOLO sürümlerinden farkı nedir?

YOLOv8 Ultralytics YOLO serisinin en son yinelemesidir ve gelişmiş özelliklerle gerçek zamanlı nesne algılama performansını artırmak için tasarlanmıştır. Önceki sürümlerden farklı olarak , YOLOv8 çapasız bölünmüş bir Ultralytics kafası, son teknoloji omurga ve boyun mimarileri içerir ve optimize edilmiş doğruluk-hız ödünleşimi sunar, bu da onu çeşitli uygulamalar için ideal hale getirir. Daha fazla ayrıntı için Genel Bakış ve Temel Özellikler bölümlerine bakın.

Farklı bilgisayarla görme görevleri için YOLOv8 adresini nasıl kullanabilirim?

YOLOv8 nesne algılama, örnek segmentasyonu, poz/anahtar nokta algılama, yönlendirilmiş nesne algılama ve sınıflandırma dahil olmak üzere çok çeşitli bilgisayarla görme görevlerini destekler. Her model çeşidi 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 ölçütleri nelerdir?

YOLOv8 modeller, çeşitli kıyaslama veri kümelerinde en son teknolojiye sahip performansa ulaşmaktadır. Örneğin, YOLOv8n modeli COCO veri kümesinde 37,3 mAP (ortalama Ortalama Hassasiyet) ve A100 TensorRT üzerinde 0,99 ms hız elde etmiştir. Farklı görevler ve veri kümelerinde her model varyantı için ayrıntılı performans ölçümleri Performans Ölçümleri bölümünde bulunabilir.

Bir YOLOv8 modelini nasıl eğitebilirim?

Bir YOLOv8 modelinin eğitimi Python veya CLI kullanılarak yapılabilir. Aşağıda, COCO8 veri kümesinde 100 epok için COCO tarafından önceden eğitilmiş bir YOLOv8 modeli kullanılarak bir modelin eğitimine ilişkin örnekler 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.

Performans için YOLOv8 modellerini kıyaslayabilir miyim?

Evet, YOLOv8 modelleri çeşitli dışa aktarma biçimlerinde hız ve doğruluk açısından performans açısından karşılaştırılabilir. Kıyaslama için PyTorch, ONNX, TensorRT ve daha fazlasını kullanabilirsiniz. Aşağıda Python ve CLI kullanarak kıyaslama yapmak 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

Daha fazla bilgi için Performans Ölçütleri bölümüne bakın.

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

Yorumlar