YOLOv7 ve YOLOv9: Modern Nesne Algılamaya Teknik Bir Derin Bakış
Gerçek zamanlı nesne algılama dünyası hızla evriliyor ve her yeni iterasyon, uç cihazlarda ve bulut sunucularında mümkün olanın sınırlarını zorluyor. Bilgisayarlı görü projeleri için mimarileri değerlendirirken, geliştiriciler sıklıkla yerleşik kıyaslamaları daha yeni inovasyonlarla karşılaştırır. Bu kapsamlı rehber, YOLO ailesindeki iki dönüm noktasını karşılaştırıyor: YOLOv7 ve YOLOv9.
Uygulaman için doğru modeli seçmene yardımcı olmak adına mimari atılımlarını, performans metriklerini ve ideal dağıtım senaryolarını analiz edeceğiz. Ayrıca Ultralytics Platformun bu modelleri nasıl birleştirdiğini, onları eğitmeyi, doğrulamayı ve dağıtmayı nasıl kolaylaştırdığını inceleyeceğiz.
Model Kökeni 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 geçmişini paylaşır ancak farklı mimari darboğazları hedefler.
YOLOv7: Bag-of-Freebies Öncüsü
2022'nin ortalarında piyasaya sürülen YOLOv7, kendisini oldukça güvenilir ve ağır bir şekilde optimize edilmiş bir mimari olarak kanıtladı. Yapısal yeniden parametrelendirme ve ortalama Hassasiyet (mAP) değerinden ödün vermeden yüksek çıkarım hızlarını korumak için "eğitilebilir ücretsiz özellikler çantası" (trainable bag-of-freebies) yaklaşımını tanıttı.
- Yazarlar: Chien-Yao Wang, Alexey Bochkovskiy ve Hong-Yuan Mark Liao
- Kuruluş: Bilgi Bilimleri Enstitüsü, Academia Sinica, Tayvan
- Tarih: 6 Temmuz 2022
- Arxiv: 2207.02696
- GitHub: WongKinYiu/yolov7
Mimari İnovasyonlar: YOLOv7, modelin kardinaliteyi genişleterek, karıştırarak ve birleştirerek daha çeşitli özellikleri öğ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 sağlar. Ancak, modern iterasyonlara 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ı Çözmek
Aynı araştırma ekibi tarafından 2024'ün başlarında tanıtılan YOLOv9, derin sinir ağlarında doğal olarak bulunan "bilgi darboğazını" ele alıyor. Veri derin katmanlardan geçerken, önemli ayrıntılar genellikle kaybolur. YOLOv9, bunu temelden yeni katman tasarımlarıyla hafifletir.
- Yazarlar: Chien-Yao Wang ve Hong-Yuan Mark Liao
- Kuruluş: Bilgi Bilimleri Enstitüsü, Academia Sinica, Tayvan
- Tarih: 21 Şubat 2024
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
Mimari İnovasyonlar: YOLOv9, Programlanabilir Gradyan Bilgisi (PGI) ve Genelleştirilmiş Verimli Katman Toplama Ağı'nı (GELAN) tanıtır. 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 seleflerinden çok daha az FLOP ile yüksek doğruluk elde etmesini sağlar.
YOLOv9 hakkında daha fazla bilgi edin
Performans Analizi
Mimariler arasında seçim yaparken, yapay zeka mühendisleri doğruluk, çıkarım hızı ve hesaplama maliyetini dengelemelidir. Aşağıdaki tablo, standart COCO veri kümesindeki bu modeller arasındaki performans farklarını vurgular.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametre (M) | FLOPs (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, yaklaşık %45 daha az parametre (20.0M'ye karşı 36.9M) kullanarak YOLOv7l'nin doğruluk oranını (%51.4 mAP) yakalar. Bu köklü azalma, YOLOv9m'yi bellek kısıtlı uç yapay zeka cihazlarında 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 (T4 TensorRT üzerinde 2.3ms) inanılmaz hızlar sağlar.
- Maksimum Doğruluk: Hassasiyetin en önemli olduğu uygulamalar için YOLOv9e, algılama doğruluğunu %55.6 mAP'ye çıkararak YOLOv7x'ten önemli ölçüde daha iyi performans gösterir.
YOLOv7 ve YOLOv9 güçlü olsalar da, yeni piyasaya sürülen YOLO26 kesin bir ileri sıçramayı temsil eder. YOLO26, karmaşık işlem sonrası süreçleri ortadan kaldıran ve CPU çıkarım hızlarını %43'e kadar artıran yerel bir uçtan uca NMS'siz tasarım sunar. Yenilikçi MuSGD optimize edici ve geliştirilmiş ProgLoss + STAL kayıp fonksiyonlarını kullanarak, YOLO26 benzersiz bir eğitim kararlılığı ve küçük nesne algılama doğruluğu sunar.
Ultralytics 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ğini belirler. Bu modelleri Ultralytics Python API aracılığıyla entegre etmek, geliştiriciler ve araştırmacılar için önemli avantajlar sağlar.
Kullanım Kolaylığı ve Eğitim Verimliliği
Geçmişte, YOLOv7'yi eğitmek karmaşık veri hazırlığı ve büyük ölçüde özelleştirilmiş betikler gerektiriyordu. Ultralytics çerçevesi, bu derin öğrenme karmaşıklıklarını ortadan kaldırır. Geliştiriciler mimariler arasında kolayca geçiş yapabilir, hiperparametre ayarı ile deneyler yapabilir ve akıllı veri artırma hatlarını minimum kodla kullanabilirler.
Furthermore, Ultralytics optimizes memory usage during training and inference. Unlike heavy transformer models (such as RT-DETR), Ultralytics YOLO architectures train significantly faster and require much less CUDA memory, making them ideal for consumer-grade GPUs.
Kod Örneği: Optimize Edilmiş Eğitim
En son teknoloji modelleri eğitmek Ultralytics ekosisteminde zahmetsizdir. İş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 bakılan bir ekosistem, çeşitli bilgisayarlı görü görevlerine erişim anlamına gelir. YOLOv7 temel olarak nesne algılama için oluşturulmuş olsa da (diğer görevler için daha sonra deneysel çatalları olsa da), modern Ultralytics modelleri yerel olarak çok yönlülük için oluşturulmuştur. Kutudan çıktığı haliyle, örnek bölümleme, 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ştirebilirsin.
İdeal Kullanım Durumları ve Uygulamalar
YOLOv7 ile YOLOv9 arasındaki karar genellikle sektörel kısıtlamalarına ve donanım kullanılabilirliğine bağlıdır.
YOLOv7 Ne Zaman Kullanılmalı?
- Eski Uç Dağıtımlar: YOLOv7'nin E-ELAN mimarisi için halihazırda yoğun bir ş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şleme 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, tümör tespiti gibi karmaşık tıbbi görüntü analizi görevlerini analiz ederken kritik olan, derin katmanlar boyunca ince ayrıntıları koruma konusunda olağanüstüdür.
- Yoğun Perakende Analitiği: Perakende raflarındaki yoğun paketlenmiş ürünleri takip etmek ve saymak için, YOLOv9'un özellik entegrasyonu üstün doğruluk sağlar ve yanlış negatifleri azaltır.
- Hava ve İHA Görüntüleri: YOLOv9m'nin parametre verimliliği, drone'larda yüksek çözünürlüklü görüntü işlemeye olanak tanıyarak, pil ömrünü tüketmeden yaban hayatı koruma ve tarımsal izlemeye yardımcı olur.
Sonuç
Hem YOLOv7 hem de YOLOv9, bilgisayarlı görü tarihindeki yerlerini sağlamlaştırdı. YOLOv7 gerçek zamanlı işleme için temel optimizasyonları tanıtırken, YOLOv9 parametre verimliliğini maksimize etmek için yapısal derin öğrenme darboğazlarını ele aldı.
Ancak, bugün yeni projelere başlayan geliştiriciler için Ultralytics ekosisteminden yararlanmak—özellikle YOLO11 ve YOLO26 gibi yeni nesil modeller—hız, doğruluk ve geliştirici deneyimi arasında en avantajlı dengeyi sunar. MuSGD optimize edici gibi inovasyonlar ve daha geniş donanım uyumluluğu için Dağılım Odaklı Kayıp (DFL) fonksiyonunun kaldırılması ile Ultralytics, yapay zeka uzmanları için en erişilebilir ve güçlü araçları sunmaya devam ediyor.