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.
İ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:
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:
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
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
Daha fazla bilgi için Performans Ölçütleri bölümüne bakın.