İçeriğe geç

YOLOv7 vs YOLOv10: Mimari Evrim ve Performans Analizi

YOLO (You Only Look Once) ailesinin evrimi, çıkarım hızı ve tespit doğruluğu arasındaki ebedi ödünleşimi dengeleyerek bilgisayarla görmedeki gelişmelerin büyüleyici bir zaman çizelgesini temsil eder. Bu karşılaştırma iki önemli dönüm noktasını incelemektedir: YOLOv72022'de yeni ölçütler belirleyen sağlam bir model ve YOLOv10NMS'siz eğitim ile bir paradigma değişikliği getiren 2024 sürümü.

Her iki model de nesne tespiti için mükemmel seçenekler olsa da, farklı mimari felsefelere hitap ederler. YOLOv7 , eğitilebilir "serbest çanta" ve gradyan yolu optimizasyonunun sınırlarını zorlarken, YOLOv10 gerçek zamanlı uçtan uca verimlilik elde etmek için işlem sonrası darboğazları ortadan kaldırmaya odaklanır.

YOLOv7: Gradyan Yolunu optimize etme

Temmuz 2022'de piyasaya sürülen YOLOv7 , çıkarım maliyetlerini artırmadan eğitim sürecini optimize etmeye odaklanan önemli mimari değişiklikler getirmiştir. COCO veri setindeki yüksek doğruluğu nedeniyle genel amaçlı bilgisayarla görme görevleri için hızla favori haline geldi.

Yazarlar Chien-Yao Wang, Alexey Bochkovskiy ve Hong-Yuan Mark Liao
Organizasyon: Bilgi Bilimi Enstitüsü, Academia Sinica, Tayvan
Tarih: 2022-07-06
ArXiv:YOLOv7: Eğitilebilir ücretsiz torba, gerçek zamanlı nesne dedektörleri için yeni bir son teknoloji belirliyor
GitHub:WongKinYiu/yolov7

Temel Mimari Özellikler

YOLOv7 , Genişletilmiş Verimli Katman Toplama Ağını (E-ELAN) tanıttı. Bu mimari, en kısa ve en uzun gradyan yollarını kontrol ederek modelin daha çeşitli özellikleri öğrenmesine olanak tanır ve ağın eğitim sırasında etkili bir şekilde yakınsamasını sağlar.

Ayrıca YOLOv7 , çıkarım maliyetini artırmadan eğitim sırasında doğruluğu artıran "Bag-of-Freebies" yöntemlerini yoğun bir şekilde kullanmaktadır. Bunlar arasında, karmaşık bir eğitim yapısının basitleştirilmiş bir çıkarım yapısına dönüştürüldüğü ve öğrenilen performansı korurken gecikmeyi azaltan model yeniden parametrelendirmesi yer alır.

YOLOv7 hakkında daha fazla bilgi edinin

YOLOv10: NMS'nin Sonu

Tsinghua Üniversitesi'nden araştırmacılar tarafından Mayıs 2024'te piyasaya sürülen YOLOv10, nesne tespitinde uzun süredir devam eden bir darboğazı ele alıyor: Maksimum Olmayan BastırmaNMS). Geleneksel YOLO modelleri tek bir nesne için birden fazla sınırlayıcı kutu öngörür ve kopyaları filtrelemek için NMS 'ye güvenir. Bu işlem sonrası adım, sahnedeki nesne sayısına bağlı olarak değişen gecikme süresi ekler.

Yazarlar: Ao Wang, Hui Chen, Lihao Liu, vd.
Organizasyon: Tsinghua Üniversitesi
Tarih: 2024-05-23
ArXiv:YOLOv10: Gerçek Zamanlı Uçtan Uca Nesne Algılama
GitHub:THU-MIG/yolov10

Temel Mimari Özellikler

YOLOv10 bir Tutarlı İkili Atama stratejisi sunar. Eğitim sırasında model hem bire-çok başlığını (zengin denetim için) hem de bire-bir başlığını (uçtan uca tahmin için) kullanır. Çıkarım sırasında sadece bire bir kafa kullanılır ve NMS ihtiyacı tamamen ortadan kalkar. Bu, öngörülebilir, düşük gecikmeli çıkarımla sonuçlanır ve işlem süresinin sabit olması gereken uç yapay zeka uygulamaları için son derece uygundur.

YOLOv10 hakkında daha fazla bilgi edinin

Teknik Karşılaştırma: Mimari ve Performans

Bu modeller arasındaki temel fark, çıkarım verimliliğine yaklaşımlarında yatmaktadır. YOLOv7 son derece optimize edilmiş bir backbone (E-ELAN) özellikleri verimli bir şekilde çıkarır ancak yine de geleneksel son işlem gerektirir. YOLOv10 , işlem sonrası adımları kaldırmak için temel algılama kafasını değiştirerek benzer doğruluk seviyeleri için daha düşük gecikme süresi elde eder.

Performans Metrikleri

Aşağıdaki tabloda gösterildiği gibi, YOLOv10 üstün verimlilik göstermektedir. Örneğin, YOLOv10b daha yüksek bir mAP (%52,7), YOLOv7l 'e (%51,4) kıyasla önemli ölçüde daha az parametre (24,4M'ye karşı 36,9M) ve kayan nokta işlemi (FLOP) kullanmaktadır.

Gecikmeyi Anlama

"Hız" ölçümleri, YOLOv10'un NMS tasarımının etkisini vurgulamaktadır. NMS adımını kaldırarak YOLOv10 , çıkarım sırasında hesaplama ek yükünü azaltır; bu, özellikle işlem sonrası işlemlerin aksi takdirde darboğaz haline gelebileceği TensorRT gibi donanım hızlandırıcılarında faydalıdır.

Modelboyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
T4 TensorRT10
(ms)
parametreler
(M)
FLOP'lar
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

Güçlü ve Zayıf Yönler

YOLOv7 Güçlü Yönler:

  • Kanıtlanmış Sağlamlık: 2022'den beri çeşitli akademik ve endüstriyel ortamlarda kapsamlı olarak test edilmiştir.
  • Yüksek Çözünürlük Desteği: Belirli W6/E6 varyantları aracılığıyla daha yüksek çözünürlüklü girişlerde (örn. 1280 piksel) mükemmel performans.
  • Topluluk Kaynakları: Yaşı nedeniyle çok sayıda öğretici ve üçüncü taraf uygulaması mevcuttur.

YOLOv7 Zayıf Yönler:

  • Karmaşıklık: Yeniden parametrelendirme ve yardımcı kafa yapısı, modern Ultralytics modellerine kıyasla eğitim hattını karmaşıklaştırabilir.
  • NMS Bağımlılığı: Çıkarım hızı, NMS nedeniyle kısmen sahne yoğunluğuna bağlıdır.

YOLOv10 Güçlü Yönler:

  • En Düşük Gecikme Süresi: NMS mimari, gerçek zamanlı çıkarım için ideal olan son derece hızlı çıkarıma olanak tanır.
  • Verimlilik: Daha az parametre ve daha düşük bellek kullanımı ile son teknoloji doğruluğa ulaşır.
  • Dağıtım Kolaylığı: NMS adımının kaldırılması, ONNX ve TensorRT gibi formatlara aktarım sürecini basitleştirir.

YOLOv10 Zayıflıklar:

  • Görev Özgüllüğü: Ultralytics ekosistemindeki diğer modeller ( YOLO11 gibi) birleşik bir çerçevede segmentasyonu, poz tahminini ve OBB'yi yerel olarak desteklerken, öncelikle nesne algılamaya odaklanmıştır.

İdeal Kullanım Senaryoları

YOLOv7 ve YOLOv10 arasındaki seçim genellikle dağıtım ortamının belirli kısıtlamalarına bağlıdır.

  • Aşağıdaki durumlarda YOLOv7 kullanın: v7 mimarisini zaten entegre eden eski bir proje üzerinde çalışıyorsanız veya çıkarım hızının ham hassasiyete göre ikincil olduğu büyük görüntülerde küçük nesne tespiti için belirli yüksek çözünürlüklü varyantlara ( YOLOv7 gibi) ihtiyacınız varsa.
  • Aşağıdaki durumlarda YOLOv10 kullanın: Kaynakları kısıtlı uç cihazlara (Raspberry Pi, Jetson Nano, cep telefonları) dağıtım yapıyorsanız veya otonom sürüş veya yüksek hızlı robotik gibi uygulamalar için mutlak minimum gecikme süresine ihtiyacınız varsa. Daha düşük bellek ayak izi, bulut ortamlarında çalıştırmayı da daha ucuz hale getirir.

Ultralytics Avantajı

İster YOLOv7 ister YOLOv10'u seçin, bunları Ultralytics Python API aracılığıyla kullanmak, ham depo kodunu kullanmaya göre önemli avantajlar sağlar. Ultralytics , bu modelleri kullanım kolaylığı, eğitim verimliliği ve çok yönlülüğe öncelik veren birleşik bir ekosisteme entegre etmiştir.

Kolaylaştırılmış Kullanıcı Deneyimi

Karmaşık derin öğrenme modellerini eğitmek, geçmişte karmaşık yapılandırma dosyalarını ve bağımlılıkları yönetmeyi gerektiriyordu. Ultralytics çerçevesi bu süreci standartlaştırır. Geliştiriciler mimariler arasında geçiş yapabilir (örneğin, YOLOv10n'den YOLOv10s'ye veya hatta YOLO11) veri yükleyicileri veya doğrulama komut dosyalarını yeniden yazmadan tek bir dize bağımsız değişkenini değiştirerek.

Kod Örneği

Aşağıdaki örnekte Ultralytics paketi kullanılarak bu modellerin nasıl yükleneceği ve tahmin edileceği gösterilmektedir. Altta yatan model mimarisinden bağımsız olarak API'nin nasıl tutarlı kaldığına dikkat edin.

from ultralytics import YOLO

# Load a pre-trained YOLOv10 model (NMS-free)
model_v10 = YOLO("yolov10n.pt")

# Load a pre-trained YOLOv7 model
model_v7 = YOLO("yolov7.pt")

# Run inference on an image
# The API handles underlying differences automatically
results_v10 = model_v10("https://ultralytics.com/images/bus.jpg")
results_v7 = model_v7("https://ultralytics.com/images/bus.jpg")

# Print results
for result in results_v10:
    result.show()  # Display predictions

Ekosistem ve Geleceğe Hazırlık

YOLOv7 ve YOLOv10 güçlü olmakla birlikte, Ultralytics ekosistemi sürekli olarak gelişmektedir. En son YOLO11 modeli, hem v7 (özellik birleştirme) hem de v10'dan (verimlilik) öğrenilen dersler üzerine inşa edilmiştir.

  • Bakımlı: Sık güncellemeler PyTorch, CUDA ve dışa aktarma formatlarınınCoreML, ONNX, TensorRT) en son sürümleriyle uyumluluğu sağlar.
  • Bellek Verimliliği: Ultralytics modelleri, eğitim sırasında GPU VRAM kullanımını en aza indirecek şekilde tasarlanmıştır ve birçok Transformer tabanlı alternatife ( RT-DETR gibi) kıyasla tüketici donanımında daha büyük parti boyutlarına izin verir.
  • Eğitim Verimliliği: Önceden ayarlanmış hiperparametreler ve "akıllı" veri kümesi taraması ile eğitim yakınsaması genellikle daha hızlıdır ve hesaplama maliyetlerinden tasarruf sağlar.

Bugün yeni projelere başlayan geliştiriciler için YOLO11YOLOv10 'da görülen hız ile önceki modellerin sağlam özellik çıkarımı arasında rafine bir denge sunmasının yanı sıra örnek segmentasyonu ve poz tahmini gibi basit algılamanın ötesindeki görevler için yerel destek sağladığından şiddetle tavsiye edilir.

Diğer Modelleri İnceleyin

Daha fazla karşılaştırma veya farklı mimarilerle ilgileniyorsanız, bu kaynakları göz önünde bulundurun:


Yorumlar