İçeriğe geç

YOLOv5 YOLOv8: Ultralytics Algılamanın Evrimi

Bilgisayar görme alanı, YOLO You Only Look Once) nesne algılayıcı ailesindeki sürekli yeniliklerin önemli katkısıyla hızla gelişmiştir. Bu serinin en etkili iki versiyonu şunlardır YOLOv5 ve YOLOv8'dir ve her ikisi de Ultralytics tarafından geliştirilmiştir. YOLOv5 , 2020 yılında piyasaya sürüldüğünde kullanım kolaylığı ve esneklik açısından endüstri standardını YOLOv5 , YOLOv8 2023 yılında piyasaya sürüldü) en son teknoloji performansı yeniden tanımlayan mimari yenilikler getirmiştir.

Bu kılavuz, geliştiricilerin, araştırmacıların ve mühendislerin belirli uygulama ihtiyaçları için doğru modeli seçmelerine yardımcı olmak amacıyla ayrıntılı bir teknik karşılaştırma sunarken, YOLO26 gibi bu alandaki en yeni gelişmeleri de vurgulamaktadır.

Ultralytics YOLOv5: Endüstri Standardı

2020 yılının Haziran ayında piyasaya sürülen YOLOv5 , yapay zekanın demokratikleşmesinde önemli bir dönüm noktası oldu. Önceki sürümlerin aksine, esas olarak C (Darknet) dilinde yazılmış olan YOLOv5 ilk yerel PyTorch uygulamasıydı ve bu da onu Python topluluğu için son derece erişilebilir hale getirdi.

Temel Özellikler ve Mimari

YOLOv5 , hız, doğruluk ve kullanıcı dostu tasarımının dengesi ile YOLOv5 . Mimarisi, YOLOv4'e göre birkaç önemli iyileştirme getirmiştir:

  • CSPDarknet Backbone: Gradyan akışını iyileştirmek ve parametreleri azaltmak için Çapraz Aşama Kısmi bağlantıları kullanır.
  • Otomatik Öğrenme Bağlantı Kutuları: Eğitim başlamadan önce özel veri kümesi için en uygun bağlantı kutusu boyutlarını otomatik olarak öğrenir.
  • Mozaik Veri Artırma: Dört görüntüyü tek bir görüntüde birleştiren, modelin detect nesneleri detect yeteneğini artıran ve bağlam genellemesini iyileştiren bir eğitim tekniği.

Teknik Özellikler:

YOLOv5 hakkında daha fazla bilgi edinin.

Ultralytics YOLOv8: En Son Teknolojiyi Tanımlamak

Ocak 2023'te piyasaya sürülen YOLOv8 , bilgisayar görme teknolojisinde önemli bir atılımdı. YOLOv5 kullanılan çapa tabanlı algılamadan çapa içermeyen bir YOLOv5 öğrenme sürecini basitleştirdi ve farklı nesne şekilleri arasında genellemeyi iyileştirdi.

Mimari Yenilikler

YOLOv8 , hem hızı hem de doğruluğu artıran bir dizi modern teknik YOLOv8 :

  • Anchor-Free Detection (Ankarsız Algılama): Manuel anchor box yapılandırması ihtiyacını ortadan kaldırarak nesne merkezlerini doğrudan tahmin eder. Bu, kutu tahminlerinin sayısını azaltır ve Non-Maximum Suppression (NMS) işlemini hızlandırır.
  • C2f Modülü: YOLOv5 C3 modülünün yerini alır, daha zengin gradyan akışı sunar ve daha iyi özellik çıkarma için kanal sayılarını ayarlar.
  • Ayrıştırılmış Başlık: Nesne, sınıflandırma ve regresyon görevlerini farklı dallara ayırarak her birinin daha etkili bir şekilde bir araya gelmesini sağlar.
  • Görev Çok Yönlülüğü: Sadece algılama değil, aynı zamanda örnek segmentasyonu, poz tahmini, sınıflandırma ve OBB (Oriented Bounding Box) desteklemek için sıfırdan tasarlanmıştır.

Teknik Özellikler:

YOLOv8 hakkında daha fazla bilgi edinin.

Performans Karşılaştırması

Bu iki güçlü modeli karşılaştırdığımızda, YOLOv8 benzer donanımlarda hem doğruluk (mAP) hem de gecikme süresi YOLOv5 YOLOv8 daha iyi performans gösterdiği açıktır. Bununla birlikte, YOLOv5 , eski sistemler için son derece verimli olan yüksek performanslı bir model YOLOv5 .

Aşağıdaki tablo COCO indeki performansı göstermektedir. Kalın yazılmış değerler her kategoride en iyi performansı göstermektedir.

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

Analiz

YOLOv8n Nano), parametre sayısında sadece marjinal bir artışla YOLOv5n (28,0) ile karşılaştırıldığında önemli ölçüde daha yüksek bir mAP 37,3) elde eder. Bu verimlilik artışı, her yüzde doğruluğun önemli olduğu modern uç uygulamalar için YOLOv8 üstün YOLOv8 seçim haline getirir.

Eğitim ve Ekosistem

Her iki model de, kullanım kolaylığını ön planda tutan Ultralytics büyük fayda sağlıyor.

Basitleştirilmiş Eğitim İş Akışı

YOLOv5 YOLOv8 geçişle YOLOv8 , tüm görevleri destekleyen birleşik bir CLI Python YOLOv8 tanıtıldı. YOLOv5 belirli komut YOLOv5 (ör. train.py, detect.py), YOLOv8 sonraki modeller gibi YOLO26 modüler paket yapısı kullanın.

YOLOv5 :

python train.py --img 640 --batch 16 --epochs 50 --data coco128.yaml --weights yolov5s.pt

YOLOv8 :

yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

Ultralytics Avantajı

Her iki model de Ultralytics ile sorunsuz bir şekilde entegre olur. Bu sayede kullanıcılar, eğitim çalıştırmalarını görselleştirebilir, veri kümelerini yönetebilir ve tek tıklamayla modeli ONNX, TensorRTve CoreML model dışa aktarımı gerçekleştirmelerine olanak tanır.

Kullanım Durumları ve Öneriler

Bu iki model arasında seçim yapmak, özel kısıtlamalarınıza bağlıdır, ancak yeni projeler için genellikle yeni modeller önerilir.

YOLOv5 için İdeal Senaryolar

  • Eski Sistemler: YOLOv5 ıyla zaten derinlemesine entegre edilmiş ve geçiş maliyetlerinin yüksek olduğu projeler.
  • Özel Donanım Desteği: Bazı eski kenar AI hızlandırıcıları, YOLOv5 özel katman yapıları için özel olarak ayarlanmış, yüksek düzeyde optimize edilmiş çekirdeklere sahip olabilir.
  • Basitlik: Tamamen eğitim amaçlı olarak, YOLOv5 açık komut dosyası tabanlı yapısı, yeni başlayanların satır satır incelemesini kolaylaştırabilir.

YOLOv8 için İdeal Senaryolar

  • Yüksek Doğruluk Gereksinimleri: Tıbbi görüntüleme veya kalite kontrol gibi, ince ayrıntıların algılanmasının kritik öneme sahip olduğu uygulamalar.
  • Çoklu Görev Öğrenimi: Algılama ile birlikte segmentasyon veya poz tahmini gerektiren projeler.
  • Geleceğe Hazırlık: Yeni projeler başlatan geliştiriciler, uzun vadeli destek ve en yeni dağıtım araçlarıyla uyumluluk sağlamak için YOLOv8 veya daha yeni sürümleri) tercih etmelidir.

Gelecek: Ultralytics

YOLOv5 YOLOv8 mükemmel YOLOv8 da, bu alan gelişmeye devam etmektedir. 2026 yılında mutlak performans zirvesini arayan geliştiriciler için Ultralytics şiddetle tavsiye ederiz.

Neden YOLO26'yı Seçmelisiniz? YOLO26, v5 ve v8'in mirasını temel alır, ancak hız ve verimlilik açısından devrim niteliğinde değişiklikler getirir:

  • Uçtan Uca NMS: Non-Maximum Suppression (NMS) ihtiyacını ortadan kaldırarak, YOLO26 dağıtım mantığını basitleştirir ve çıkarım gecikmesini azaltır. Bu kavram, YOLOv10.
  • MuSGD Optimizer: Görme modellerine LLM eğitiminin istikrarını getiren ve daha hızlı yakınsama sağlayan hibrit bir optimizer.
  • Edge için geliştirildi: DFL kaldırma ve özel CPU sayesinde YOLO26, önceki nesillere kıyasla CPU'larda %43'e kadar daha hızlı çalışır.
  • Üstün Küçük Nesne Algılama: Yeni ProgLoss ve STAL işlevleri, drone görüntüleme ve IoT uygulamaları için hayati önem taşıyan küçük hedeflerde performansı önemli ölçüde artırır.

YOLO26 hakkında daha fazla bilgi edinin

Sonuç

Hem YOLOv5 YOLOv8 , bilgisayar görme tarihindeki önemli YOLOv8 . YOLOv5 , birçok mevcut uygulama için güvenilir, düşük bellek gerektiren bir iş gücü olmaya devam etmekte ve eğitimde sağladığı istikrar ve düşük kaynak kullanımı ile övgü toplamaktadır. YOLOv8ise, üstün çok yönlülük, daha yüksek doğruluk ve güncel araştırma trendlerine uygun daha modern bir mimari tasarım sunar.

En son teknolojiyi talep edenler için, YOLO26 veya YOLO11 daha da büyük hız ve hassasiyet avantajları sağlayacaktır. Sonuç olarak, sağlam Ultralytics , hangi modeli seçerseniz seçin, başarılı olmak için gerekli araçlara, belgelere ve topluluk desteğine sahip olmanızı sağlar.

Kod Örneği: Çıkarım Çalıştırma

Ultralytics basitliğini deneyimleyin. Bu kod, YOLOv8, YOLO11 ve YOLO26 modellerinde birbirinin yerine kullanılabilir.

from ultralytics import YOLO

# Load a pretrained model (choose yolov8n.pt or yolo26n.pt)
model = YOLO("yolov8n.pt")

# Run inference on an image from the web
results = model("https://ultralytics.com/images/bus.jpg")

# Process results list
for result in results:
    boxes = result.boxes  # Boxes object for bbox outputs
    masks = result.masks  # Masks object for segmentation masks
    keypoints = result.keypoints  # Keypoints object for pose outputs
    probs = result.probs  # Probs object for classification outputs
    result.show()  # display to screen
    result.save(filename="result.jpg")  # save to disk

Bu modelleri iş akışınıza entegre etme hakkında daha fazla bilgi için Hızlı Başlangıç Kılavuzumuzu ziyaret edin.


Yorumlar