YOLOv7 ve YOLOv9: Modern Nesne Algılamaya Teknik Bir Derin Dalış
Gerçek zamanlı nesne algılama alanı hızla gelişti ve her yeni yineleme, hem uç cihazlarda hem de bulut sunucularında nelerin mümkün olduğunun sınırlarını zorluyor. Bilgisayar görüşü projeleri için mimarileri değerlendirirken, geliştiriciler sık sık yerleşik kıyaslamaları daha yeni yeniliklerle karşılaştırır. Bu kapsamlı rehber, YOLO ailesindeki iki önemli dönüm noktasını karşılaştırıyor: YOLOv7 ve YOLOv9.
Uygulamanız için doğru modeli seçmenize yardımcı olmak amacıyla mimari atılımlarını, performans metriklerini ve ideal dağıtım senaryolarını analiz edeceğiz. Ayrıca Ultralytics Platformu'nun bu modelleri nasıl birleştirdiğini, böylece eğitilmelerini, doğrulanmalarını ve dağıtılmalarını kolaylaştırdığını da inceleyeceğiz.
Model Soy Ağacı ve Teknik Özellikler
Bu modellerin kökenlerini ve tasarım felsefelerini anlamak, yetenekleri için temel bir bağlam sağlar. Her iki model de ortak bir araştırma soy ağacını paylaşır ancak farklı mimari darboğazları hedefler.
YOLOv7: 'Bag-of-Freebies' Öncüsü
2022 ortalarında piyasaya sürülen YOLOv7, son derece güvenilir ve yoğun bir şekilde optimize edilmiş bir mimari olarak kendini kanıtladı. ortalama Ortalama Hassasiyet (mAP)'den ödün vermeden yüksek çıkarım hızlarını korumak için yapısal yeniden parametrelendirme ve "eğitilebilir bedava özellikler torbası" yaklaşımını tanıttı.
- Yazarlar: Chien-Yao Wang, Alexey Bochkovskiy ve Hong-Yuan Mark Liao
- Kuruluş:Institute of Information Science, Academia Sinica, Taiwan
- Tarih: 6 Temmuz 2022
- Arxiv:2207.02696
- GitHub:WongKinYiu/yolov7
Mimari Yenilikler: YOLOv7, modelin kardinaliteyi genişleterek, karıştırarak ve birleştirerek daha çeşitli özellikler öğrenmesini sağlayan Genişletilmiş Verimli Katman Toplama Ağı (E-ELAN) özelliğine sahiptir. Bu tasarım, mükemmel GPU kullanımı ve çıkarım gecikmesi ile sonuçlanır. Ancak, modern yinelemelere kıyasla karmaşık eğitim süreçlerinde önemli miktarda bellek gerektirebilir.
YOLOv7 hakkında daha fazla bilgi edinin.
YOLOv9: Bilgi Darboğazını Çözme
Aynı araştırma ekibi tarafından 2024 başlarında tanıtılan YOLOv9, derin sinir ağlarında doğal olarak bulunan "bilgi darboğazını" ele alır. Veriler derin katmanlardan geçerken, önemli ayrıntılar genellikle kaybolur. YOLOv9, bunu temelden yeni katman tasarımları aracılığıyla hafifletir.
- Yazarlar: Chien-Yao Wang ve Hong-Yuan Mark Liao
- Kuruluş:Institute of Information Science, Academia Sinica, Taiwan
- Tarih: 21 Şubat 2024
- Arxiv:2402.13616
- GitHub:WongKinYiu/yolov9
Mimari Yenilikler: YOLOv9, Programlanabilir Gradyan Bilgisi (PGI) ve Genelleştirilmiş Verimli Katman Toplama Ağı (GELAN) sunar. PGI, güvenilir gradyanların korunmasını ve ağırlıkları doğru bir şekilde güncellemek için geri beslenmesini sağlar. GELAN, parametre verimliliğini maksimize ederek YOLOv9'un seleflerine göre önemli ölçüde daha az FLOPs ile yüksek doğruluk elde etmesini sağlar.
YOLOv9 hakkında daha fazla bilgi edinin.
Performans Analizi
Mimariler arasında seçim yaparken, yapay zeka mühendisleri doğruluk, çıkarım hızı ve hesaplama maliyeti arasında denge kurmalıdır. Aşağıdaki tablo, bu modellerin standart COCO veri kümesi üzerindeki performans farklılıklarını vurgulamaktadır.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOP'lar (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Temel Çıkarımlar
- Parametre Verimliliği: YOLOv9m, YOLOv7l'nin doğruluğuyla (51.4% mAP) eşleşirken, neredeyse %45 daha az parametre (20.0M'ye karşı 36.9M) kullanır. Bu radikal azalma, YOLOv9m'yi bellek kısıtlı uç yapay zeka cihazlarına dağıtmayı çok daha kolay hale getirir.
- Mikro Dağıtımlar: YOLOv9t (tiny) varyantının tanıtılması, gerçek zamanlı kısıtlamaların mutlak olduğu ortamlar için inanılmaz hızlar (T4 TensorRT üzerinde 2.3ms) sunar.
- Maksimum Doğruluk: Hassasiyetin çok önemli olduğu uygulamalar için YOLOv9e, algılama doğruluğunu %55.6 mAP'ye çıkararak YOLOv7x'i önemli ölçüde geride bırakır.
Bilgisayar Görüsü Projelerinizi Geleceğe Hazırlama
YOLOv7 ve YOLOv9 güçlü olsa da, yeni çıkan YOLO26 kesin bir ileri sıçramayı temsil ediyor. YOLO26, yerel uçtan uca NMS içermeyen bir tasarım sunarak karmaşık ön işlemeyi ortadan kaldırır ve CPU çıkarım hızlarını %43'e kadar artırır. Yeni MuSGD optimizer ve geliştirilmiş ProgLoss + STAL kayıp fonksiyonlarını kullanarak, YOLO26 eşsiz eğitim kararlılığı ve küçük nesne algılama doğruluğu sağlar.
Ultralytics'in Avantajı
Bir model mimarisi seçmek sadece ilk adımdır. Modeli çevreleyen yazılım ekosistemi, prototipten üretime ne kadar hızlı geçebileceğinizi belirler. Bu modelleri Ultralytics Python API aracılığıyla entegre etmek, geliştiriciler ve araştırmacılar için önemli faydalar sağlar.
Kullanım Kolaylığı ve Eğitim Verimliliği
Tarihsel olarak, YOLOv7'yi eğitmek karmaşık veri hazırlığı ve yoğun şekilde özelleştirilmiş betikler gerektiriyordu. Ultralytics çerçevesi, bu derin öğrenme karmaşıklıklarını soyutlar. Geliştiriciler, mimariler arasında kolayca geçiş yapabilir, hiperparametre ayarlamaları ile deney yapabilir ve minimum kodla akıllı veri artırma işlem hatlarını kullanabilir.
Ayrıca, Ultralytics eğitim ve çıkarım sırasında bellek kullanımını optimize eder. Ağır transformer modellerinin (RT-DETR gibi) aksine, Ultralytics YOLO mimarileri önemli ölçüde daha hızlı eğitilir ve çok daha az CUDA belleği gerektirir, bu da onları tüketici sınıfı GPU'lar için ideal kılar.
Kod Örneği: Akıcı Eğitim
Son teknoloji modelleri eğitmek, Ultralytics ekosistemi içinde sorunsuzdur. İşte bir YOLOv9 modelini nasıl eğiteceğinizi ve doğrulayacağınızı gösteren, tamamen çalıştırılabilir bir örnek:
from ultralytics import YOLO
# Initialize the model (you can swap 'yolov9c.pt' with 'yolov7.pt' or 'yolo26n.pt')
model = YOLO("yolov9c.pt")
# Train the model on the COCO8 sample dataset
train_results = model.train(
data="coco8.yaml",
epochs=50,
imgsz=640,
device="0", # Use GPU 0 if available
batch=16, # Optimized batch size for memory efficiency
)
# Validate the model's performance on the validation set
metrics = model.val()
# Export the trained model to ONNX format for deployment
model.export(format="onnx")
Görevler Arasında Eşsiz Çok Yönlülük
İyi yönetilen bir ekosistem, çeşitli bilgisayar görüsü görevlerine erişim anlamına gelir. YOLOv7 öncelikli olarak nesne algılama için inşa edilmiş olsa da (daha sonra diğer görevler için deneysel çatallamalarla), modern Ultralytics modelleri yerel olarak çok yönlülük için tasarlanmıştır. Kutudan çıktığı gibi, instance segmentasyon, poz tahmini, görüntü sınıflandırma ve Yönlendirilmiş Sınırlayıcı Kutu (OBB) algılamayı sorunsuz bir şekilde gerçekleştirebilirsiniz.
İdeal Kullanım Alanları ve Uygulamaları
YOLOv7 ve YOLOv9 arasındaki karar genellikle özel endüstri kısıtlamalarınıza ve donanım kullanılabilirliğinize bağlıdır.
YOLOv7 Ne Zaman Kullanılmalı
- Eski Nesil Uç Dağıtımlar: YOLOv7'nin E-ELAN mimarisi için zaten yoğun şekilde ayarlanmış ve optimize edilmiş donanım ortamları için, endüstriyel IoT için sağlam bir seçenek olmaya devam etmektedir.
- Trafik İzleme: YOLOv7'nin yüksek kare hızları ve kanıtlanmış kararlılığı, onu akıllı şehir altyapısı ve gerçek zamanlı trafik yönetimi için mükemmel kılar.
- Robotik Entegrasyonu: Dinamik ortamlarda gezinmek, düşük gecikmeli işlem gerektirir; bu, YOLOv7 varyantlarının yoğun bir şekilde test edildiği bir senaryodur.
YOLOv9 Ne Zaman Kullanılmalı
- Tıbbi Görüntüleme: YOLOv9'daki PGI mimarisi, derin katmanlar aracılığıyla ince ayrıntıları korumada olağanüstüdür; bu, tümör detect gibi karmaşık tıbbi görüntü analizi görevlerini analiz ederken kritik öneme sahiptir.
- Yoğun Perakende Analitiği: Perakende raflarındaki yoğun şekilde paketlenmiş öğeleri track ve saymak için, YOLOv9'un özellik entegrasyonu üstün doğruluk sağlar ve yanlış negatifleri azaltır.
- Hava ve Drone Görüntüleme: YOLOv9m'nin parametre verimliliği, dronlarda yüksek çözünürlüklü görüntü işlemeye olanak tanıyarak, pil ömrünü tüketmeden yaban hayatı korumasına ve tarımsal izlemeye yardımcı olur.
Sonuç
Hem YOLOv7 hem de YOLOv9, bilgisayar görüsü tarihinde yerlerini sağlamlaştırdı. YOLOv7, gerçek zamanlı işlem için temel optimizasyonlar sunarken, YOLOv9 parametre verimliliğini en üst düzeye çıkarmak için yapısal derin öğrenme darboğazlarını ele aldı.
Ancak, bugün yeni projelere başlayan geliştiriciler için, Ultralytics ekosisteminden—özellikle YOLO11 ve YOLO26 gibi yeni nesil modellerden—yararlanmak, hız, doğruluk ve geliştirici deneyimi arasında en uygun dengeyi sunar. MuSGD optimizer gibi yenilikler ve daha geniş donanım uyumluluğu için Distribution Focal Loss (DFL) kaldırılmasıyla Ultralytics, görüsü AI profesyonelleri için en erişilebilir ve güçlü araçları sağlamaya devam ediyor.