İç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 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.

ModelDosya adlarıGörevÇıkarımDoğrulamaEğitimİhracat
YOLOv8yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.ptAlgılama
YOLOv8-segyolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.ptÖrnek Segmentasyonu
YOLOv8-poseyolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.ptPoz/Kilit Noktaları
YOLOv8-obbyolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.ptYönlendirilmiş Algılama
YOLOv8-clsyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.ptSı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 koyarak 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.

Modelboyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
A100 TensorRT
(ms)
params
(M)
FLOP'lar
(B)
YOLOv8n64037.380.40.993.28.7
YOLOv8s64044.9128.41.2011.228.6
YOLOv8m64050.2234.71.8325.978.9
YOLOv8l64052.9375.22.3943.7165.2
YOLOv8x64053.9479.13.5368.2257.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.

Modelboyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
A100 TensorRT
(ms)
params
(M)
FLOP'lar
(B)
YOLOv8n64018.4142.41.213.510.5
YOLOv8s64027.7183.11.4011.429.7
YOLOv8m64033.6408.52.2626.280.6
YOLOv8l64034.9596.92.4344.1167.4
YOLOv8x64036.3860.63.5668.7260.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.

Modelboyut
(piksel)
mAPbox
50-95
mAPmask
50-95
Hız
CPU ONNX
(ms)
Hız
A100 TensorRT
(ms)
params
(M)
FLOP'lar
(B)
YOLOv8n-seg64036.730.596.11.213.412.6
YOLOv8s-seg64044.636.8155.71.4711.842.6
YOLOv8m-seg64049.940.8317.02.1827.3110.2
YOLOv8l-seg64052.342.6572.42.7946.0220.5
YOLOv8x-seg64053.443.4712.14.0271.8344.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.

Modelboyut
(piksel)
acc
top1
acc
top5
Hız
CPU ONNX
(ms)
Hız
A100 TensorRT
(ms)
params
(M)
FLOP'lar
(B) 640'da
YOLOv8n-cls22469.088.312.90.312.74.3
YOLOv8s-cls22473.891.723.40.356.413.5
YOLOv8m-cls22476.893.585.40.6217.042.7
YOLOv8l-cls22476.893.5163.00.8737.599.7
YOLOv8x-cls22479.094.6232.01.0157.4154.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.

Modelboyut
(piksel)
mAPpose
50-95
mAPpose
50
Hız
CPU ONNX
(ms)
Hız
A100 TensorRT
(ms)
params
(M)
FLOP'lar
(B)
YOLOv8n-pose64050.480.1131.81.183.39.2
YOLOv8s-pose64060.086.2233.21.4211.630.2
YOLOv8m-pose64065.088.8456.32.0026.481.0
YOLOv8l-pose64067.690.0784.52.5944.4168.6
YOLOv8x-pose64069.290.21607.13.7369.4263.2
YOLOv8x-pose-p6128071.691.24088.710.0499.11066.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.

Modelboyut
(piksel)
mAPtest
50
Hız
CPU ONNX
(ms)
Hız
A100 TensorRT
(ms)
params
(M)
FLOP'lar
(B)
YOLOv8n-obb102478.0204.773.573.123.3
YOLOv8s-obb102479.5424.884.0711.476.3
YOLOv8m-obb102480.5763.487.6126.4208.6
YOLOv8l-obb102480.71278.4211.8344.5433.8
YOLOv8x-obb102481.361759.1013.2369.5676.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, 100 epok için COCO8 veri kümesinde COCO tarafından önceden eğitilmiş bir YOLOv8 modeli kullanılarak bir modelin eğitimi için ö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 ✏️ 12 gün önce güncellendi

Yorumlar