İçeriğe geç

YOLOv5 - YOLOv8: Gerçek Zamanlı Nesne Algılamanın Evrimi

Nesne tespitinin evrimi, YOLO (You Only Look Once) model ailesi tarafından önemli ölçüde şekillendirilmiştir. Ultralytics tarafından geliştirilen hem YOLOv5 hem de YOLOv8, bilgisayar görüşü tarihinde önemli anları temsil etmektedir. YOLOv5, basitliği ve hızı nedeniyle dünyanın en sevilen ve yaygın olarak kullanılan tespit mimarisi olarak kendini kanıtlarken, YOLOv8 daha geniş bir vizyon görevleri yelpazesini desteklemek için son teknoloji mimari yeniliklere sahip birleşik bir çerçeve sunmuştur.

Bu iki güçlü model arasında seçim yapmak, özel proje kısıtlamalarınıza, donanım kullanılabilirliğinize ve çoklu görev yeteneklerine duyulan ihtiyaca bağlıdır. Bu kılavuz, bilgisayarla görme mühendislerinin ve araştırmacıların doğru kararı vermesine yardımcı olmak için derinlemesine teknik bir analiz sunar.

YOLOv5: Kanıtlanmış Endüstri Standardı

Yazar: Glenn Jocher
Kuruluş:Ultralytics
Tarih: 2020-06-26
GitHub:https://github.com/ultralytics/yolov5
Belgeler:https://docs.ultralytics.com/models/yolov5/

2020'nin ortalarında piyasaya sürülen YOLOv5, nesne algılamanın erişilebilirliğinde devrim yaratmıştır. Önceki sürümlerinde kullanılan Darknet çerçevesinden uzaklaşarak, PyTorch'ta yerel olarak uygulanan ilk YOLO modelidir. Bu değişim, geliştiricilerin özel veri kümeleriyle eğitim almasını, dağıtmasını ve denemeler yapmasını inanılmaz derecede kolaylaştırmıştır.

YOLOv5, bir CSPDarknet backbone kullanır ve ankraj tabanlı bir dedektördür. Bu, nesne konumlarını tahmin etmek için önceden tanımlanmış ankraj kutularına dayandığı anlamına gelir. Bu yaklaşım, benzersiz veri kümelerinde optimum performans için bazı hiperparametre ayarlamaları gerektirse de, oldukça etkilidir. Mimarisi, çıkarım hızını ve düşük bellek kapasitesini vurgulayarak, onu Raspberry Pi ve NVIDIA Jetson'ın ilk nesilleri gibi kaynak kısıtlı donanımlarda dağıtım için favori yapar.

YOLOv5'in Temel Güçlü Yönleri

  • Eski Kararlılık: Üretim ortamlarında yıllarca aktif olarak kullanılması, onu mevcut en kararlı ve hatasız vizyon modellerinden biri yapmıştır.
  • Uç Optimizasyonu: Özellikle eski CPU'larda ve belirli mobil işlemcilerde, YOLOv5'in daha basit mimarisi bazen daha hızlı çıkarım gecikmesi sunabilir.
  • Geniş Ekosistem: Çok sayıda eğitim, üçüncü taraf entegrasyonu ve forum tartışması, sorun gidermeyi ve geliştirmeyi destekler.

YOLOv5 hakkında daha fazla bilgi edinin

YOLOv8: Çoklu Görev Güç Merkezi

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/

YOLOv8, yalnızca bir nesne algılayıcısı olarak değil, aynı zamanda görüntü segmentasyonu, poz tahmini, sınıflandırma ve yönlendirilmiş sınırlayıcı kutu (OBB) algılama için kapsamlı bir çerçeve olarak önemli bir sıçramayı temsil eder.

Mimari olarak, YOLOv8, nesnellik, sınıflandırma ve regresyon görevlerini ayıran bağlantısız bir başlık ile bağlantısız bir tasarıma geçer. Ayrıca, YOLOv5'te bulunan C3 modülünün yerini alan C2f modülünü (2 kıvrımlı Çapraz Aşamalı Kısmi Darboğaz) tanıtır. C2f modülü, gradyan akışını ve özellik kaynaşmasını iyileştirerek modelin hesaplama maliyetinde büyük bir artış olmadan daha karmaşık desenler öğrenmesini sağlar.

YOLOv8'in Temel Güçlü Yönleri

  • Son Teknoloji Doğruluğu: YOLOv5'e kıyasla COCO ve özel veri kümelerinde sürekli olarak daha yüksek mAP (Ortalama Ortalama Hassasiyet) puanları elde eder.
  • Çapa Olmayan Algılama: Çapa kutularını hesaplama veya ayarlama ihtiyacını ortadan kaldırır, eğitim hattını basitleştirir ve alışılmadık en boy oranlarına sahip nesneler üzerindeki genellemeyi iyileştirir.
  • Çok Yönlülük: Aynı API'yi kullanarak algılama, segmentasyon ve poz tahmini arasında geçiş yapabilme özelliği, karmaşık projeler için geliştirme süresini önemli ölçüde azaltır.

YOLOv8 hakkında daha fazla bilgi edinin

Teknik Derinlemesine İnceleme: Mimari ve Performans

YOLOv5'ten YOLOv8'e geçiş, performans kazanımlarını sağlayan çeşitli "kaputun altındaki" değişikliklerle işaretlenmiştir.

Mimari Değişimler

En dikkat çekici fark algılama kafasıdır. YOLOv5 , sınıflandırma ve lokalizasyonun özellikleri paylaştığı birleşik bir kafa kullanır. YOLOv8 , ağın bir nesnenin ne olduğunu ve nerede olduğunu belirlemek için ağırlıkları bağımsız olarak ayarlamasına olanak tanıyan ayrılmış bir kafa kullanır. Bu genellikle daha iyi yakınsama ve daha yüksek doğruluk sağlar.

Ayrıca, C3'ten C2f'ye geçiş ile backbone evrimi, YOLOv8'in daha zengin gradyan bilgisi yakalamasını sağlar. Bu, mimariyi biraz daha karmaşık hale getirse de, Ultralytics eğitim verimliliğinin yüksek kalmasını sağlamak için uygulamayı optimize etmiştir.

Performans Metrikleri

Modelleri standart COCO veri kümesi üzerinde karşılaştırırken, YOLOv8 üstün doğruluk-işlem oranları gösterir.

Modelboyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
T4 TensorRT10
(ms)
parametreler
(M)
FLOP'lar
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
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

Gösterildiği gibi, YOLOv8n (Nano), daha büyük YOLOv5s (Küçük) ile pratik olarak eşleşen 37,3'lük bir mAP elde eder ve bu model 37,4 puan alır, ancak önemli ölçüde daha az FLOP'a sahiptir. Bu verimlilik, modern Edge AI uygulamaları için kritik öneme sahiptir.

Eğitim Metodolojileri ve Ekosistem

Ultralytics modellerinin belirleyici özelliklerinden biri, geliştirici deneyimine odaklanmasıdır. Her iki model de kapsamlı Ultralytics ekosisteminden yararlanır, ancak bunlara erişim biraz farklıdır.

Kullanım Kolaylığı ve API

YOLOv8 tanıttı ultralytics Python paketi, birleşik bir CLI ve Python arayüzü. Bu paket, bağımlılıkları etkili bir şekilde yönetir ve aşağıdakiler için tutarlı bir API sağlar: eğitim, doğrulamave tahmin. İlginç bir şekilde, modern ultralytics paketi ayrıca YOLOv5 modellerini yükleyebilir ve çalıştırabilir, böylece nesiller arasındaki boşluğu kapatır.

from ultralytics import YOLO

# Load a YOLOv8 model (Official)
model_v8 = YOLO("yolov8n.pt")

# Load a YOLOv5 model (Legacy support via Ultralytics package)
model_v5 = YOLO("yolov5nu.pt")

# Training is identical for both
results = model_v8.train(data="coco8.yaml", epochs=100)

Bellek ve Verimlilik

RT-DETR gibi transformatör tabanlı modellerle karşılaştırıldığında, hem YOLOv5 hem de YOLOv8 olağanüstü bellek verimliliğine sahiptir. Transformatörler genellikle önemli miktarda CUDA belleği ve yakınsama için daha uzun eğitim süreleri gerektirir. Buna karşılık, Ultralytics YOLO modelleri, tüketici sınıfı GPU'larda ve hatta CPU'larda çalışacak şekilde optimize edilmiştir ve yüksek performanslı yapay zekaya erişimi demokratikleştirmektedir.

Entegre Ekosistem

Her iki model de Ultralytics HUB ile tamamen uyumludur ve sorunsuz veri kümesi yönetimi, model görselleştirme ve gerçek dünya cihazlarına tek tıklamayla dağıtım olanağı sağlar.

İdeal Kullanım Senaryoları

Doğru modeli seçmek genellikle modelin konuşlandırılacağı belirli ortama bağlıdır.

Ne zaman YOLOv5 seçmeli

YOLOv5 aşağıdakiler için mükemmel bir seçim olmaya devam ediyor:

  • Eski Sistemler: Altyapının zaten YOLOv5 mimarisi üzerine inşa edildiği mevcut işlem hatlarını güncellemek.
  • Belirli Uç Donanımı: Bazı eski NPU (Sinirsel İşleme Birimi) sürücüleri, özellikle YOLOv5 mimarisi için yüksek düzeyde optimize edilmiş desteğe sahiptir.
  • Ultra Düşük Gecikme Süresi: CPU çıkarımının her milisaniyesinin önemli olduğu senaryolarda, YOLOv5n'nin daha basit birleşik başlığı bazen v8n'ye göre ham hız avantajı sunabilir.

Ne zaman YOLOv8 seçmeli

YOLOv8 için önerilen seçimdir:

  • Yeni Gelişmeler: Bugün bir projeye başlamak, YOLOv8 (veya daha yeni YOLO11) daha iyi bir geleceğe dönük yol sağlar.
  • Karmaşık Görevler: Örnek segmentasyonu (örneğin, tıbbi hücre analizi) veya kilit nokta tespiti (örneğin, spor analitiği) gerektiren uygulamalar.
  • High Accuracy Requirements: Otonom araç güvenlik sistemleri veya güvenlik gözetimi gibi bir detect işleminin kaçırılmasının kritik olduğu senaryolar.

Sonuç

Hem YOLOv5 hem de YOLOv8, Ultralytics'in açık kaynaklı yeniliğe olan bağlılığının kanıtıdır. YOLOv5, alanda bir efsane olarak kalmaya devam ediyor; güvenilir, hızlı ve yaygın olarak destekleniyor. Ancak, YOLOv8, geliştiricilerin beklediği kullanım kolaylığından ödün vermeden daha yüksek doğruluk ve daha fazla çok yönlülük sağlayan mimari gelişmelerle bu temeli geliştiriyor.

Yeni projelerin çoğu için, YOLOv8'deki gelişmeleri kullanmanızı veya hız ve hassasiyetin nihai dengesi için bu kavramları daha da geliştiren en son YOLO11'e yükseltmenizi öneririz.

Diğer Modelleri İnceleyin

Algılama teknolojisindeki en son gelişmeleri keşfetmekle ilgileniyorsanız, şunlara göz atmayı düşünebilirsiniz:

  • YOLO11: En son evrim, YOLOv8'e göre daha hızlı işleme ve gelişmiş özellik çıkarımı sunar.
  • RT-DETR: GPU belleğinin daha az kısıtlayıcı olduğu durumlarda ideal olan, gerçek zamanlı uygulamalar için yüksek doğruluk sunan, dönüştürücü tabanlı bir model.

Yorumlar