İçeriğe geç

YOLOv8 - YOLOv6-3.0: Teknik Bir Karşılaştırma

Optimum nesne algılama modelini seçmek, sağlam bilgisayar görüşü uygulamaları oluşturmada çok önemli bir adımdır. Bu ayrıntılı karşılaştırma, Ultralytics YOLOv8 ve YOLOv6-3.0'ın mimari farklılıklarını, performans metriklerini ve ideal kullanım durumlarını araştırır. Her iki model de aynı zamanlarda ortaya çıkmış ve benzer sorunları çözmeyi amaçlamış olsa da, tasarım felsefeleri, çok yönlülükleri ve onları destekleyen ekosistemler açısından önemli ölçüde farklılık gösterir.

Ultralytics YOLOv8

Yazarlar: Glenn Jocher, Ayush Chaurasia ve Jing Qiu
Kuruluş: Ultralytics
Tarih: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
Belgeler: https://docs.ultralytics.com/models/yolov8/

Ultralytics YOLOv8, YOLO mimarisinin evriminde önemli bir sıçramayı temsil eder. Birleşik bir çerçeve olarak tasarlanan bu model, örnek segmentasyonu, poz tahmini ve sınıflandırma dahil olmak üzere basit algılamanın ötesinde çok çeşitli bilgisayarlı görü görevlerini destekler. Kullanıcı merkezli tasarımı, kullanım kolaylığına öncelik vererek, son teknoloji yapay zekayı her beceri düzeyinden geliştiricinin erişimine sunar.

Mimari ve Temel Özellikler

YOLOv8, model başlığını basitleştiren ve eğitim için gereken hiperparametre sayısını azaltan bir anchor-free algılama mekanizması sunar. Bu yaklaşım, farklı nesne şekilleri ve boyutları genelinde genellemeyi iyileştirir. Mimarisi, önceki yinelemelere kıyasla gradyan akışını ve özellik entegrasyonunu geliştiren bir C2f modülü kullanan son teknoloji bir backbone ve neck'e sahiptir.

Güçlü Yönler

  • Rakipsiz Çok Yönlülük: Birçok rakibin aksine, YOLOv8 nesne algılama ile sınırlı değildir. Tek bir kod tabanı içinde doğal olarak örnek segmentasyonu, görüntü sınıflandırması, poz tahmini ve yönlendirilmiş sınırlayıcı kutu (OBB) görevlerini destekler.
  • Üstün Verimlilik: Performans kıyaslamalarında vurgulandığı gibi, YOLOv8 daha az parametre ve FLOP ile daha yüksek doğruluk (mAP) elde eder. Bu, hem eğitim hem de çıkarım sırasında daha düşük bellek gereksinimlerine yol açar ve daha ağır transformatör tabanlı modellere göre kritik bir avantaj sağlar.
  • Kullanım Kolaylığı: Model, kolaylaştırılmış bir Python API ve komut satırı arayüzü (CLI) içine sarılmıştır ve kullanıcıların minimum kodla modelleri eğitmesine, doğrulamasına ve dağıtmasına olanak tanır.
  • Güçlü Ekosistem: Ultralytics tarafından desteklenen YOLOv8, sürekli güncellemelerden, kapsamlı belgelerden ve canlı bir topluluktan yararlanır. Bu, kurumsal dağıtımlar için uzun vadeli uygulanabilirlik ve destek sağlar.

Zayıflıklar

  • Küçük Nesne Tespiti: Oldukça yetenekli olmasına rağmen, YOLOv8 gibi tek aşamalı dedektörler, özel, hesaplama açısından maliyetli iki aşamalı dedektörlere kıyasla zaman zaman aşırı küçük veya gizlenmiş nesnelerle mücadele edebilir.

YOLOv8 hakkında daha fazla bilgi edinin

YOLOv6-3.0

Yazarlar: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu ve Xiangxiang Chu
Kuruluş: Meituan
Tarih: 2023-01-13
Arxiv: https://arxiv.org/abs/2301.05586
GitHub: https://github.com/meituan/YOLOv6
Belgeler: https://docs.ultralytics.com/models/yolov6/

YOLOv6-3.0, özel donanım üzerinde çıkarım hızının öncelikli olduğu endüstriyel uygulamalar için özel olarak tasarlanmış, Meituan tarafından geliştirilen bir nesne detect etme çerçevesidir. GPU kullanımını en üst düzeye çıkarmak için gelişmiş teknikler kullanarak hız ve doğruluk arasındaki dengeyi optimize etmeye odaklanır.

Mimari ve Temel Özellikler

YOLOv6 mimarisi, donanım farkındalıklı bir tasarım içerir ve ağın eğitim sırasında karmaşık dallara sahip olmasına izin veren, ancak çıkarım sırasında daha basit, daha hızlı bir yapıya katlanan Rep-Block (yeniden parametrelendirme) yapılarını kullanır. Ayrıca, ek çıkarım maliyetlerine neden olmadan doğruluğu artırmak için bir kendi kendine damıtma stratejisi kullanır.

Güçlü Yönler

  • GPU Çıkarım Hızı: Model, özellikle NVIDIA donanımında GPU performansı için yüksek düzeyde optimize edilmiştir ve bu da onu katı gecikme bütçelerine sahip endüstriyel senaryolar için güçlü bir aday yapmaktadır.
  • Kuantalama Desteği: YOLOv6, model kuantalaması desteğini vurgulayarak, modelleri sınırlı işlem hassasiyetine sahip donanımlarda dağıtmak için araçlar sağlar.
  • Mobil Optimizasyon: YOLOv6Lite gibi varyantlarla, çerçeve mobil ve CPU tabanlı uç noktalar için özel olarak tasarlanmış çözümler sunar.

Zayıflıklar

  • Sınırlı Görev Kapsamı: YOLOv6 öncelikli olarak nesne algılamaya odaklanmıştır. Ultralytics ekosistemini karakterize eden segmentasyon, poz tahmini ve izleme için yerel, kullanıma hazır desteğe sahip değildir.
  • Kaynak Yoğunluğu: YOLOv8'e kıyasla benzer doğruluğu elde etmek için, YOLOv6 modelleri genellikle önemli ölçüde daha fazla parametre ve FLOP gerektirir, bu da eğitim sırasında daha yüksek işlem yüküne yol açar.
  • Topluluk ve Bakım: Açık kaynak olmasına rağmen, ekosistem Ultralytics'e kıyasla daha az aktiftir, bu da sorunların daha yavaş çözülmesine ve daha az topluluk katkılı kaynağa yol açabilir.

YOLOv6 hakkında daha fazla bilgi edinin

Performans Karşılaştırması

Aşağıdaki tablo, COCO veri kümesi üzerindeki performans metriklerinin doğrudan bir karşılaştırmasını sunmaktadır. Bu veriler, Ultralytics YOLOv8'in verimliliğinin altını çizmektedir ve bu da azaltılmış model karmaşıklığı ile sürekli olarak yüksek Ortalama Hassasiyet (mAP) sağlamaktadır.

Modelboyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
T4 TensorRT10
(ms)
parametreler
(M)
FLOP'lar
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
YOLOv6-3.0n64037.5-1.174.711.4
YOLOv6-3.0s64045.0-2.6618.545.3
YOLOv6-3.0m64050.0-5.2834.985.8
YOLOv6-3.0l64052.8-8.9559.6150.7

Metriklerin Analizi

  • Verimlilik: YOLOv8, üstün parametre verimliliği gösterir. Örneğin, YOLOv8s, yalnızca 11,2M parametre ile rekabetçi bir 44,9 mAP elde ederken, YOLOv6-3.0s, neredeyse aynı 45,0 mAP'yi elde etmek için %65 daha fazla olan 18,5M parametre gerektirir. Bu, daha düşük depolama maliyetlerine ve uç cihazlarda daha hızlı güncellemelere dönüşür.
  • Hesaplama Yükü: Benzer şekilde, FLOPs (Kayan Nokta İşlemleri) açısından, YOLOv8m, YOLOv6-3.0m'nin 85.8B'sine kıyasla 78.9B FLOPs'de çalışır ve bu da Ultralytics modelini daha yüksek bir mAP (50.2'ye karşı 50.0) elde ederken hesaplama açısından daha hafif hale getirir.
  • Hız: YOLOv6-3.0, özel donanım farkındalıklı tasarımı sayesinde T4 GPU'larda biraz daha hızlı ham çıkarım hızları gösterse de, YOLOv8, GPU'ların kullanılamadığı dağıtımlar için çok önemli olan ONNX aracılığıyla mükemmel CPU performansı sunar.

Eğitim ve Kullanılabilirlik

Bu modeller arasındaki belirleyici farklardan biri, geliştirici deneyimidir. Ultralytics, modellerin nasıl eğitildiği ve dağıtıldığı konusunda açıkça görülen, sorunsuz bir iş akışına öncelik verir.

Birleşik İş Akışı

Ultralytics, tüm görevlerde tutarlı bir API sağlar. İster detect, segment veya poz tahmini yapıyor olun, sözdizimi aynı kalır ve öğrenme eğrisini önemli ölçüde azaltır.

Ultralytics ile Kullanım Kolaylığı

YOLOv8, yalnızca birkaç satır kodla bir projeye entegre edilebilir. Python SDK'sı, veri yüklemeyi, artırmayı (augmentation) ve eğitim ardışık düzeni kurulumunu otomatik olarak gerçekleştirir.

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model("path/to/image.jpg")

Aksine, YOLOv6 etkili olmasına rağmen, genellikle akademik depolara özgü daha fazla manuel yapılandırma ve bağımlılık yönetimi gerektirir, bu da hızlı prototiplemeyi ve MLOps entegrasyonunu yavaşlatabilir.

İdeal Kullanım Senaryoları

Ne Zaman Ultralytics YOLOv8 Seçmeli

  • Çeşitli Uygulamalar: Projeniz sadece sınırlandırma kutularından daha fazlasını gerektirdiğinde—nesneleri segment veya anahtar noktalarını tahmin etmek gibi—YOLOv8'in çoklu görev yetenekleri vazgeçilmezdir.
  • Uç ve Bulut Dağıtımı: Dışa aktarma modları sayesinde YOLOv8, cep telefonlarından bulut sunucularına kadar her şeyi kapsayan TFLite, ONNX, CoreML ve TensorRT'ye sorunsuz bir şekilde dağıtılır.
  • Hızlı Geliştirme: Hızlı bir şekilde yineleme yapması gereken ekipler için, kapsamlı belgeler ve aktif topluluk desteği, arıza süresini ve sorun gidermeyi en aza indirir.

Ne Zaman YOLOv6-3.0 Seçmeli

  • Belirli Endüstriyel Donanım: Dağıtım ortamınız sıkı bir şekilde kontrol ediliyorsa ve özellikle Rep-Block mimarilerinden (belirli GPU kurulumları gibi) yararlanan donanım kullanıyorsa, YOLOv6 marjinal hız kazanımları sunabilir.
  • Eski Sistemler: Yeniden düzenlemenin mümkün olmadığı durumlarda, YOLOv6'nın belirli girdi/çıktı formatları üzerine zaten inşa edilmiş mevcut işlem hatları için.

Sonuç

YOLOv6-3.0 endüstriyel nesne algılama alanında güçlü bir rakip olmaya devam ederken, Ultralytics YOLOv8 bilgisayarla görme projelerinin büyük çoğunluğu için daha kapsamlı, verimli ve geleceğe dönük bir çözüm sunar. Daha az parametreyle üstün doğruluk sunma yeteneği, gelişen bir ekosistem ve birden fazla görme görevi için destek ile birleştiğinde, hem geliştiriciler hem de araştırmacılar için önerilen seçimdir.

Bilgisayar görüşü teknolojisindeki en son gelişmeleri keşfetmek isteyenler için, YOLOv8 tarafından oluşturulan verimlilik ve performansı daha da geliştiren YOLO11'i incelemeyi düşünebilirsiniz. Ek olarak, RT-DETR gibi transformatör tabanlı modellerle yapılan karşılaştırmalar, modern detect mimarilerine daha fazla ışık tutabilir.


Yorumlar