YOLOv5 - YOLOv7: Ekosistem ve Mimarinin Dengelenmesi
Doğru nesne algılama modelini seçmek, hem geliştiriciler hem de araştırmacılar için kritik bir karardır. YOLO (You Only Look Once) ailesinin evriminde, YOLOv5 ve YOLOv7, bilgisayar görüşü alanını şekillendiren önemli mimariler olarak öne çıkmaktadır. YOLOv7 doğruluk için önemli mimari yenilikler getirirken, Ultralytics YOLOv5 kullanılabilirlik, dağıtım ve sağlam bir ekosisteme odaklanarak geliştirici deneyiminde devrim yarattı.
Bu kılavuz, bu iki modelin mimarilerini, COCO veri kümesi üzerindeki performans metriklerini ve gerçek dünya uygulamalarına uygunluğunu analiz eden derinlemesine bir teknik karşılaştırmasını sunar.
Ultralytics YOLOv5: Mühendislik Standardı
2020'de piyasaya sürülen YOLOv5, açık kaynaklı nesne detect yazılımı beklentilerini yeniden tanımladı. Daha önce temel olarak araştırma kodu olarak var olan önceki yinelemelerin aksine, YOLOv5 ürün kullanımına hazır bir çerçeve olarak tasarlandı. Gerçek zamanlı çıkarım uygulamaları oluşturan şirketler için onu ilk tercih haline getirerek kullanım kolaylığına, dışarı aktarılabilirliğe ve hıza öncelik verdi.
Yazarlar: Glenn Jocher
Kuruluş:Ultralytics
Tarih: 2020-06-26
GitHub:https://github.com/ultralytics/yolov5
Belgeler:https://docs.ultralytics.com/models/yolov5/
YOLOv5'in Temel Avantajları
- Kullanıcı Odaklı Tasarım: YOLOv5, özel nesne algılama modellerini eğitmek için giriş engelini düşüren, kolaylaştırılmış bir API ve sorunsuz bir eğitim iş akışı sundu.
- Dağıtım Esnekliği: Dışa aktarma modları için yerel destek sayesinde, YOLOv5 modelleri çeşitli donanımlarda dağıtım için ONNX, CoreML, TFLite ve TensorRT gibi formatlara kolayca dönüştürülebilir.
- Verimli Kaynak Kullanımı: Mimari, düşük bellek tüketimi için optimize edilmiştir ve bu da onu uç yapay zeka NVIDIA Jetson veya Raspberry Pi gibi cihazlar için ideal hale getirir.
Ekosistem Desteği
YOLOv5, kapsamlı Ultralytics ekosistemi tarafından desteklenmektedir. Bu, Comet ve MLflow gibi deney izleme araçlarıyla ve ayrıca veri kümesi yönetimi platformlarıyla sorunsuz entegrasyonu içerir.
YOLOv5 hakkında daha fazla bilgi edinin
YOLOv7: "Ücretsiz Avantajlar Paketi" Yaklaşımı
2022'de yayınlanan YOLOv7, mimari optimizasyon yoluyla doğruluğun sınırlarını zorlamaya büyük önem verdi. Yazarlar, çıkarım maliyetini artırmadan özellik öğrenmeyi geliştirmeyi amaçlayan ve "eğitilebilir bedava hediyeler" olarak adlandırdıkları çeşitli yeni kavramlar tanıttı.
Yazarlar: Chien-Yao Wang, Alexey Bochkovskiy ve Hong-Yuan Mark Liao
Kuruluş: Institute of Information Science, Academia Sinica, Tayvan
Tarih: 2022-07-06
Arxiv:https://arxiv.org/abs/2207.02696
GitHub:https://github.com/WongKinYiu/yolov7
Belgeler:https://docs.ultralytics.com/models/yolov7/
Mimari Yenilikler
YOLOv7, ağın öğrenme yeteneğini geliştirmek için Genişletilmiş Verimli Katman Toplama Ağlarını (E-ELAN) içerir. Ayrıca, mimarinin derinliğini ve genişliğini aynı anda değiştiren model ölçekleme tekniklerini kullanır. mAP puanlarını yükseltmek için etkili olmakla birlikte, bu karmaşık mimari değişiklikler bazen modeli YOLOv5'te bulunan daha basit CSP-Darknet omurgasına kıyasla değiştirmeyi veya dağıtmayı zorlaştırabilir.
YOLOv7 hakkında daha fazla bilgi edinin
Teknik Performans Karşılaştırması
İki modeli karşılaştırırken, ödünleşme genellikle ham doğruluk ve pratik dağıtım hızı arasında yatar. YOLOv7 modelleri (özellikle daha büyük varyantlar) genellikle COCO val2017 veri kümesinde daha yüksek mAP elde eder. Ancak, Ultralytics YOLOv5, özellikle mobil dağıtım için çok önemli olan daha küçük varyantları (Nano ve Small) ile çıkarım hızı ve parametre verimliliğinde bir hakimiyet sürdürmektedir.
Aşağıdaki tablo, performans metriklerini vurgulamaktadır. Aşırı kaynak kısıtlı ortamlar için en hızlı seçeneklerden biri olmaya devam eden YOLOv5n'nin olağanüstü hızına dikkat edin.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOP'lar (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Metriklerin Analizi
- Hız - Doğruluk: YOLOv7x daha yüksek bir %53,1 mAP elde ederek, her pikselin önemli olduğu üst düzey güvenlik veya tıbbi analiz için uygun hale getirir. Bununla birlikte, video analizi veya otonom navigasyon gibi uygulamalar için, YOLOv5n'nin TensorRT üzerindeki 1,12 ms çıkarım süresi, daha ağır modellerin eşleşemeyeceği bir kare hızı yeteneği sunar.
- Eğitim Verimliliği: Ultralytics YOLOv5, YOLOv7'nin gerektirdiği karmaşık yeniden parametrelendirme şemalarına kıyasla eğitim sırasında genellikle daha hızlı yakınsamaya neden olan "AutoAnchor" stratejilerini ve gelişmiş hiperparametre evrimini kullanır.
- Bellek Ayak İzi: Transformatörleri veya YOLOv7 gibi karmaşık mimarileri eğitmek genellikle üst düzey GPU'lar (örneğin, A100'ler) gerektirir. Buna karşılık, YOLOv5'in verimli tasarımı, tüketici sınıfı donanımda eğitime olanak tanıyarak Yapay Zeka geliştirmeye erişimi demokratikleştirir.
Kod Uygulaması
Ultralytics YOLOv5 için en güçlü argümanlardan biri, Python API'sinin basitliğidir. Önceden eğitilmiş bir modeli yüklemek ve çıkarım çalıştırmak yalnızca birkaç satır kod gerektirir; bu da çerçevenin olgunluğunun bir kanıtıdır.
import torch
# Load the YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Define an image (url, local path, or numpy array)
img = "https://ultralytics.com/images/zidane.jpg"
# Run inference
results = model(img)
# Print results and show the image with bounding boxes
results.print()
results.show()
Bu soyutlama düzeyi, geliştiricilerin model mimarilerini ayıklamak yerine iş çözümleri oluşturmaya odaklanmalarını sağlar.
İdeal Kullanım Senaryoları
Ne Zaman YOLOv7 Seçmeli
YOLOv7, donanım kısıtlamalarının ham detect performansına ikincil olduğu akademik araştırmalar ve senaryolar için mükemmel bir seçimdir.
- Akademik Araştırma: Son teknoloji detect tekniklerini kıyaslamak için.
- Yüksek Hassasiyetli İnceleme: Küçük kusurları detect etmenin kritik olduğu ve gecikmenin daha az önemli olduğu üretim kalite kontrolü gibi.
Ne Zaman Ultralytics YOLOv5 Seçmeli
YOLOv5, hızlı geliştirme ve üretim dağıtımı için endüstri standardı olmaya devam ediyor.
- Uç Nokta Dağıtımı: TFLite veya CoreML dışa aktarımları aracılığıyla iOS ve Android cihazlarda çalıştırmak için mükemmeldir.
- Robotik: Düşük gecikme süresi, otonom robotikte gerekli geri bildirim döngüleri için çok önemlidir.
- Çeşitlilik: Detect işleminin ötesinde, YOLOv5 deposu örnek segmentasyonunu ve görüntü sınıflandırmasını destekleyerek birden fazla görüntü işleme görevi için birleşik bir kod tabanı sağlar.
Sonuç: İleriye Doğru Modern Yol
YOLOv7, mimari ayarlamanın gücünü gösterse de, Ultralytics YOLOv5, güvenilir, iyi belgelenmiş ve kolayca dağıtılabilir bir çözüme ihtiyaç duyan geliştiriciler için üstün bir seçim olmaya devam ediyor. Hız, doğruluk ve ekosistem desteği dengesi, dünya çapındaki üretim ortamlarında alakalı kalmasını sağlar.
Ancak, bilgisayarlı görme alanı hızla ilerliyor. Mutlak en iyi performansı arayanlar için YOLO11, Ultralytics'in en son evrimini temsil ediyor. YOLO11, YOLOv5'in kullanılabilirliğini temel alır, ancak hem YOLOv5'i hem de YOLOv7'yi doğruluk ve verimlilik açısından aşan son teknoloji transformatör tabanlı modüller ve anchor-free tasarımlar içerir.
Nesne Algılama, Poz Tahmini ve Yönlendirilmiş Sınırlayıcı Kutuları (OBB) destekleyen, geleceğe yönelik bir çözüm için Ultralytics YOLO11 çerçevesine geçiş yapılması şiddetle tavsiye edilir.
Daha Fazla Karşılaştırma Keşfedin
Diğer modellerin Ultralytics YOLO ailesine karşı nasıl bir performans sergilediğini inceleyin:
- YOLOv5 - YOLOv8 Karşılaştırması
- YOLOv7'ye karşı YOLOv8
- YOLOv7'ye karşı YOLO11
- RT-DETR vs YOLOv7
- YOLOv6 -e karşı YOLOv7