Yapay zeka modelleri ve platformları
YOLOv9: Gerçek Zamanlı Nesne Algılama Alanında Bir İlerleme
Nesne algılama son yıllarda derin öğrenme algoritmaları sayesinde hızlı bir ilerleme kaydetmiştir. YOLO (You Only Look Once) gibi algoritmalar, gerçek zamanlı nesne algılama için hızlı ve etkili bir çözüm sunmaktadır. YOLOv9, önceki sürümlerden daha yüksek doğruluk, verimlilik ve uygulanabilirlik sunan bir dizi geliştirme içerir. Bu makalede, YOLOv9’u gerçek zamanlı nesne algılama için yeni bir devlet standardı yapan yenilikleri keşfedeceğiz.
Nesne Algılama Hakkında Hızlı Bir Başlangıç
YOLOv9’un yeniliklerine girmeden önce, nesne algılamanın nasıl çalıştığını kısaca gözden geçirelim. Nesne algılamanın amacı, bir görüntüdeki nesneleri tanımlamak ve konumlandırmaktır, örneğin arabalar, insanlar veya hayvanlar. Bu, otonom araçlar, gözetim sistemleri ve görüntü arama gibi uygulamalar için kritik bir yetenektir.
Algılayıcı, bir görüntü alır ve her biri bir sınıflandırma etiketiyle ilişkili olan algılanan nesnelerin sınırlayıcı kutularını çıkarır. MS COCO gibi popüler veri kümeleri, bu modelleri eğitmek ve değerlendirmek için binlerce etiketli görüntü sağlar.
Nesne algılama için iki ana yaklaşım vardır:
- İki aşamlı algılayıcılar gibi Faster R-CNN, önce bölge önerileri oluşturur, sonra her bölgenin sınırlarını iyileştirir ve sınıflandırır. Bunlar daha doğru ancak daha yavaştır.
- Tek aşamlı algılayıcılar gibi YOLO, modeli tek bir geçişte doğrudan görüntüye uygular. Bunlar, bazı doğrulukları hızlı çıkarım süreleri için ticaret yapar.
YOLO, tek aşamlı yaklaşımın öncüsüdür. Şimdi, birden fazla sürüm boyunca nasıl geliştiğine bakalım.
Önceki YOLO Sürümlerinin İncelenmesi
YOLO (You Only Look Once) model ailesi, 2016’da yayımlanan orijinal sürümünden bu yana hızlı nesne algılama için ön saflardadır. İşte YOLO’nun birden fazla iterasyon boyunca nasıl ilerlediği hakkında bir hızlı bakış:
- YOLOv1 birleşik bir model önerdi, tam görüntülerden doğrudan sınırlayıcı kutular ve sınıf olasılıklarını öngörmek için. Bu, önceki iki aşamlı modellere kıyasla çok hızlı yaptı.
- YOLOv2 orijinali geliştirdi, daha iyi stabilite için toplu normalize kullanma, çeşitli ölçek ve en boy oranlarında kutulara bağlama ve diğer çeşitli optimizasyonlar ekledi.
- YOLOv3 daha fazla katman ve aralarındaki kısayollarla yeni bir özellik çıkarıcı ekledi, Darknet-53, doğruluğu daha da iyileştirdi.
- YOLOv4 diğer nesne algılayıcılar ve segmentasyon modellerinden fikirleri birleştirdi, doğruluğu daha da artırdı, aynı zamanda hızlı çıkarım korudu.
- YOLOv5 YOLOv4’ü PyTorch’da tamamen yeniden yazdı ve yeni bir özellik çıkarma omurgası ekledi, CSPDarknet ve diğer çeşitli geliştirmeler.
- YOLOv6 mimariyi ve eğitim sürecini optimize etmeye devam etti, büyük dış veri kümeleriyle önceden eğitilen modellerle performansı daha da artırdı.
Özetle, önceki YOLO sürümleri, model mimarisi, eğitim teknikleri ve önceden eğitim yoluyla daha yüksek doğruluk elde etti. Ancak modeller büyüdükçe ve daha karmaşık hale geldikçe, hız ve verimlilikten ödün verilir.
Daha İyi Verimlilik İhtiyacı
Çok fazla uygulama, nesne algılamanın sınırlı hesaplama kaynaklarına sahip cihazlarda gerçek zamanlı çalışmasını gerektirir. Modeller daha büyük ve daha hesaplama yoğun hale geldikçe, dağıtmak için pratik olmazlar.
Örneğin, bir otonom araba, yüksek kare hızlarında, aracın içindeki işlemciler kullanarak nesneleri algılamalıdır. Bir güvenlik kamerası, video akışında nesne algılamayı kendi gömülü donanımında çalıştırmalıdır. Telefonlar ve diğer tüketici cihazları, çok sıkı güç ve termal kısıtlamalara sahiptir.
Son YOLO sürümleri, yüksek doğruluk için büyük miktarda parametre ve çarpma-ekleme işlemleri (FLOPs) gerektirir. Ancak bu, hız, boyut ve güç verimliliği pahasına gelir.
Örneğin, YOLOv5-L, 1280×1280’lik tek bir görüntüyü işlemek için 100 milyar FLOPs’den fazla gerektirir. Bu, birçok gerçek zamanlı kullanım durumu için çok yavaştır. Daha büyük modellerin eğilimi, ayrıca aşırı uyumu artırır ve genelleştirmeyi daha zor hale getirir.
Bu nedenle, nesne algılamanın uygulanabilirliğini genişletmek için, verimliliği iyileştirmek için yollara ihtiyacımız vardır – daha az parametre ve hesaplama ile daha iyi doğruluk elde etmek. Şimdi, YOLOv9’da bu zorluğu ele almak için kullanılan tekniklere bakalım.
YOLOv9 – Daha Az Kaynakla Daha İyi Doğruluk
YOLOv9’un arkasındaki araştırmacılar, gerçek zamanlı performansı daha geniş bir cihaz yelpazesi boyunca elde etmek için verimliliği iyileştirmeye odaklandı. İki ana yenilik tanıttılar:
- Parametreleri ve FLOPs’ı en aza indirirken doğruluğu en üst düzeye çıkaran yeni bir model mimarisi olan Genel Verimli Katman Birleştirme Ağı (GELAN).
- Daha güvenilir öğrenme gradientleri sağlayan bir eğitim tekniği olan Programlanabilir Gradient Bilgisi (PGI), özellikle küçük modeller için.
Her bir ilerlemenin verimliliği nasıl iyileştirdiğine bakalım.
GELAN ile Daha Verimli Mimarisi
Model mimarisi, çıkarım sırasında hız ve kaynak kullanımı arasındaki dengeyi etkileyen kritik bir faktördür. Sinir ağı, ilgili özellikleri çıkarmak için yeterli derinlik ve genişlik gerektirir. Ancak çok fazla katman veya filtre, yavaş ve şişman modellere yol açar.
GELAN, en küçük posible mimariyle en yüksek doğruluğu elde etmek için tasarlandı.
GELAN, iki ana yapı taşı kullanır:
- Verimli Katman Birleştirme Blokları – Bu, çok ölçekli özellikleri verimli bir şekilde yakalamak için ağın birden fazla dalı boyunca dönüşümleri birleştirmektedir.
- Hesaplama Blokları – CSPNet blokları, katmanlar arasında bilgiyi iletmeye yardımcı olur. Herhangi bir blok, hesaplamayla ilgili kısıtlamalara bağlı olarak değiştirilebilir.
Bu blokları dikkatlice dengeleyerek ve birleştirerek, GELAN performans, parametre ve hız arasında bir denge noktasına ulaşır. Aynı modüler mimari, farklı model boyutları ve donanım boyunca ölçeklenebilir.
Deneyler, GELAN’ın önceki YOLO mimarilerine kıyasla küçük modellere daha fazla performans sığdırdığını gösterdi. Örneğin, GELAN-Küçük, 7M parametreyle, 11M parametreli YOLOv7-Nano’yu aştı. Ve GELAN-Orta, 20M parametreyle, 35-40M parametreli YOLOv7 orta modellerinin performansını eşitledi.
Bu nedenle, GELAN, modellerin daha hızlı ve daha kaynak kısıtlı cihazlarda çalışmasını sağlar. Şimdi, PGI’nin nasıl daha iyi eğitim sağladığını görelim.
Programlanabilir Gradient Bilgisi (PGI) ile Daha İyi Eğitim
Model eğitimi, en yüksek doğruluk elde etmek için eşit derecede önemlidir. YOLOv9 yazarları, küçük modellerin eğitilmesinde güvensiz gradient bilgileri nedeniyle oluşan sorunları tespit etti.
Gradyenler, modelin ağırlıklarının eğitim sırasında ne kadar güncelleneceğini belirler. Gürültülü veya yanıltıcı gradyanlar, kötü bir yakınsama sonucu verir. Bu sorun, daha küçük ağlar için daha belirgindir.
Derin denetim tekniği, ek yan dalları ve kayıpları tanıtma yoluyla bu soruna çözüm getirir, ancak küçük, hafif modeller için genellikle bozulur ve sapmaya neden olur.

YOLOv9: Programlanabilir Gradient Bilgisi Kullanarak Öğrenmek İstediğinizi Öğrenin https://arxiv.org/abs/2402.13616
Bu sınırlamayı aşmak için, YOLOv9 Programlanabilir Gradient Bilgisi (PGI) tanıttı. PGI’nin iki ana bileşeni vardır:
- Ek tersinir dallar – Bu, girişe geri dönebilen temiz gradyanlar sağlar, RevCols gibi blokları kullanarak.
- Çok seviyeli gradient entegrasyonu – Bu, farklı dalların karışmasını önler, tüm dallardan gradyanları birleştirerek ana modele geri besler.
Daha güvenilir gradyanlar üreterek, PGI küçük ve büyük modellerin daha etkili bir şekilde eğitilmesini sağlar:
Deneyler, PGI’nin küçük ve büyük YOLOv9 yapılandırmalarında doğruluğu artırdığını gösterdi. Örneğin, YOLOv9-Küçük için AP puanlarını %0,1-0,4 oranında artırdı. Daha derin modeller için kazanımlar daha önemliydi, örneğin YOLOv9-E için %55,6 mAP.
Bu nedenle, PGI, küçük ve büyük modellerin daha yüksek doğruluk seviyelerine ulaşmasını sağlar.
YOLOv9 Verimlilik için Yeni Devlet Standardını Belirledi
GELAN’ın mimari ilerlemeleriyle PGI’nin eğitim geliştirmelerinin birleşimi, YOLOv9’u verimlilik için yeni bir devlet standardına taşır:
- YOLOv9, önceki YOLO sürümlerine kıyasla daha iyi doğrulukla %10-15 daha az parametre ve %25 daha az hesaplama elde eder. Bu, hız ve yetenek açısından önemli iyileştirmeler sağlar.
- YOLOv9, YOLO-MS ve RT-DETR gibi diğer gerçek zamanlı algılayıcıları, parametre verimliliği ve FLOPs açısından geçer. Belirli bir performans seviyesine ulaşmak için çok daha az kaynak gerektirir.
- Küçük YOLOv9 modelleri, daha büyük önceden eğitilen modelleri, örneğin RT-DETR-X’i, geçer. RT-DETR-X’e kıyasla %36 daha az parametre kullanırken, %55,6 AP puanını elde eder.
Bu nedenle, YOLOv9, kısıtlı kaynaklar içinde en yüksek performansı elde etmek için yeni bir devlet standardını belirler.
GELAN – Verimlilik için Optimized Mimarisi
YOLOv9, en az parametre bütçesiyle en yüksek doğruluğu elde eden yeni bir mimari olan Genel Verimli Katman Birleştirme Ağı (GELAN) tanıtır. GELAN, önceki YOLO modellerinin üzerine kurulur, ancak çeşitli bileşenleri özellikle verimlilik için optimize eder.

YOLOv9: Programlanabilir Gradient Bilgisi Kullanarak Öğrenmek İstediğinizi Öğrenin
https://arxiv.org/abs/2402.13616
CSPNet ve ELAN Hakkında Arka Plan
Son YOLO sürümleri, CSPNet tabanlı omurgalara dayanan daha verimli bir mimari sunar. CSPNet, paralel ağ dalları boyunca özellik haritalarını birleştirmek için minimal ek yük sağlar:
Bu, katmanları sırayla yığmaktan daha verimlidir, genellikle冗余 hesaplamalara ve aşırı parametrelemeye yol açar.
YOLOv7, CSPNet’i Basitleştirilmiş ELAN (Efficient Layer Aggregation Network) olarak geliştirdi, blok yapısını basitleştirdi:
ELAN, katmanlar arasındaki kısayolları kaldırdı, çıkışta bir birleştirme düğümü bırakarak. Bu, parametre ve FLOPs verimliliğini daha da iyileştirdi.
ELAN’ı Esnek Verimlilik için Genelleştirme
GELAN, YOLOv9’da kullanılan omurgadır. GELAN, esneklik ve verimlilik için beberapa önemli değişiklik yaptı:
- Değiştirilebilir hesaplamalı bloklar – Önceki ELAN sabit konvolüsyonel katmanlara sahipti. GELAN, herhangi bir hesaplamalı bloğu, örneğin ResNets veya CSPNet’i, daha fazla mimari seçeneği sunarak değiştirmeye izin verir.
- Derinlik parametrelemesi – Ana dal için ayrı blok derinlikleri, kaynak kullanımını basitleştirir.
- Değişikliklere karşı稳il performans – GELAN, farklı blok türleri ve derinlikleriyle tutarlı bir performans sağlar, esnek ölçekleme sağlar.
Bu değişiklikler, GELAN’ı güçlü ancak yapılandırılabilir bir omurga haline getirir:
Deneyler, GELAN modellerinin tutarlı olarak önceki YOLO mimarilerini parametre başına doğrulukta aştığını gösterdi:
- GELAN-Küçük, 7M parametreyle, 11M parametreli YOLOv7-Nano’yu geçti
- GELAN-Orta, daha ağır YOLOv7 orta modellerinin performansını eşitledi
Bu nedenle, GELAN, YOLOv9’u farklı verimlilik hedeflerine göre ölçeklendirmek için optimize edilmiş bir omurga sağlar. Şimdi, PGI’nin nasıl daha iyi eğitim sağladığını görelim.
PGI – Tüm Model Büyüklükleri için Geliştirilmiş Eğitim
Mimari seçimler, çıkarım zamanında hız ve kaynak kullanımı üzerinde etkiye sahipken, eğitim süreci de model kaynak kullanımını etkiler. YOLOv9, farklı model büyüklükleri ve karmaşıklıkları için eğitim sürecini iyileştirmek için Programlanabilir Gradient Bilgisi (PGI) adlı yeni bir teknik kullanır.
Güvensiz Gradyanların Sorunu
Eğitim sırasında, bir loss fonksiyonu model çıktılarını gerçek etiketlerle karşılaştırır ve parametreleri güncellemek için bir hata gradyanı hesaplar. Gürültülü veya yanıltıcı gradyanlar kötü bir yakınsama sonucu verir.
Çok derin ağlar, bilgi darboğazı yoluyla bu soruna katkıda bulunur – derin katmanlardan gradyanlar, kaybolan veya sıkıştırılan sinyallerle bozulur.
Derin denetim yardımcı olur, ek yan dalları ve kayıpları tanıtma yoluyla daha temiz gradyanlar sağlar. Ancak küçük modeller için genellikle bozulur ve farklı dallar arasındaki sapma ve karışmaya neden olur.
Bu nedenle, tüm model büyüklükleri için, özellikle küçük olanlar için, güvenilir gradyanlar sağlamak için bir yol gereklidir.
Programlanabilir Gradient Bilgisi (PGI) Tanıtımı
Güvensiz gradyanları ele almak için, YOLOv9 Programlanabilir Gradient Bilgisi (PGI) önerir. PGI’nin iki ana bileşeni, gradyan kalitesini iyileştirmek için tasarlanmıştır:
1. Ek tersinir dallar
Ek dallar, RevCols gibi blokları kullanarak girişe geri dönebilen temiz gradyanlar sağlar. Bu, bilgi darboğazını önler.
2. Çok seviyeli gradient entegrasyonu
Bir birleştirme bloğu, tüm dallardan gradyanları birleştirir ve ana modele geri besler. Bu, dallar arasındaki sapmayı önler.
Daha güvenilir gradyanlar üreterek, PGI eğitim yakınsamasını ve verimliliği tüm model büyüklüklerinde iyileştirir:
- Küçük modeller daha önce kullanamadıkları derin denetimi faydalanabilir
- Daha büyük modeller daha temiz gradyanlar elde eder, daha iyi bir genellemeye olanak tanır
Deneyler, PGI’nin küçük ve büyük YOLOv9 yapılandırmalarında doğruluğu artırdığını gösterdi:
- YOLOv9-Küçük için AP puanlarını %0,1-0,4 oranında artırdı
- Daha büyük YOLOv9 modelleri için %0,5-0,6 AP puanı artışı
Bu nedenle, PGI’nin programlanabilir gradyanları, küçük ve büyük modellerin daha verimli bir şekilde eğitilmesini sağlar.
YOLOv9 Yeni Devlet Standardını Belirledi
GELAN’ın mimari ilerlemeleriyle PGI’nin eğitim geliştirmelerinin birleşimi, YOLOv9’u gerçek zamanlı nesne algılama için yeni bir devlet standardına taşır:
COCO veri kümesinde yapılan deneyler, YOLOv9’un önceki YOLO sürümlerini ve diğer gerçek zamanlı algılayıcıları, YOLO-MS ve RT-DETR’i, doğruluk ve verimlilik açısından geçtiğini gösterdi:
Birkaç önemli vurgulama:
- YOLOv9-Küçük, YOLO-MS-Küçük’ü %10 daha az parametre ve hesaplamayla geçer
- YOLOv9-Orta, daha ağır YOLOv7 modellerinin performansını, weniger kaynak kullanarak eşler
- YOLOv9-Büyük, YOLOv8-X’i %15 daha az parametre ve %25 daha az FLOPs ile geçer
Şaşırtıcı bir şekilde, küçük YOLOv9 modelleri, daha büyük önceden eğitilen modelleri, örneğin RT-DETR-X’i, geçer. RT-DETR-X’e kıyasla 4 kat daha az parametre kullanırken, daha yüksek doğruluk elde eder.
Bu sonuçlar, YOLOv9’un üstün verimliliğini gösterir. İyileştirmeler, gerçek zamanlı nesne algılama için daha fazla gerçek dünya kullanım durumu sağlar.
YOLOv9 Güncellemeleri Hakkında Ana Noktalar
Hızlıca, YOLOv9’un yeni devlet standardı performansını sağlayan bazı ana güncellemeleri ve yenilikleri özetleyelim:
- GELAN optimize mimarisi – Parametre verimliliğini, esnek birleştirme blokları aracılığıyla iyileştirir, modelleri farklı hedeflere göre ölçeklendirmeye olanak tanır.
- Programlanabilir gradient bilgisi – Daha güvenilir gradyanlar sağlar, eğitim yakınsamasını ve verimliliği tüm model büyüklüklerinde iyileştirir.
- Daha az kaynakla daha iyi doğruluk – YOLOv8’e kıyasla %10-15 daha az parametre ve %25 daha az hesaplamayla daha iyi doğruluk elde eder, daha hızlı çıkarım sağlar.
- Tüm model büyüklüklerinde üstün sonuçlar – Hafif, orta ve büyük model yapılandırmalarında yeni devlet standardını belirler, önceden eğitilen modelleri geçer.
- Uygulanabilirliğin genişletilmesi – Daha yüksek verimlilik, gerçek zamanlı nesne algılama için daha fazla gerçek dünya kullanım durumu sağlar.
YOLOv9, doğruluk, verimlilik ve uygulanabilirliği doğrudan ele alarak, nesne algılamayı gerçek dünya ihtiyaçlarını karşılamak için ilerletir. Güncellemeler, bu kritik bilgisayar görüşü yeteneğinde gelecekteki yenilikler için güçlü bir temel sağlar.












