İçeriğe geç

YOLOv9: Nesne Algılama Teknolojisinde İleriye Doğru Bir Atılım

YOLOv9, Programlanabilir Gradyan Bilgisi (PGI) ve Genelleştirilmiş Verimli Katman Toplama Ağı (GELAN) gibi çığır açan teknikler sunarak gerçek zamanlı nesne tespitinde önemli bir ilerlemeye işaret etmektedir. Bu model, MS COCO veri setinde yeni ölçütler belirleyerek verimlilik, doğruluk ve uyarlanabilirlikte kayda değer gelişmeler göstermektedir. YOLOv9 projesi, ayrı bir açık kaynak ekibi tarafından geliştirilmekle birlikte, şu kuruluşlar tarafından sağlanan sağlam kod tabanı üzerine inşa edilmiştir Ultralytics YOLOv5Yapay zeka araştırma topluluğunun işbirlikçi ruhunu sergiliyor.

YOLOv9 performans karşılaştırması

YOLOv9'a Giriş

Optimum gerçek zamanlı nesne algılama arayışında YOLOv9, derin sinir ağlarının doğasında bulunan bilgi kaybı zorluklarının üstesinden gelmeye yönelik yenilikçi yaklaşımıyla öne çıkıyor. PGI ve çok yönlü GELAN mimarisini entegre eden YOLOv9, modelin öğrenme kapasitesini artırmakla kalmıyor, aynı zamanda algılama süreci boyunca önemli bilgilerin korunmasını sağlayarak olağanüstü doğruluk ve performans elde ediyor.

YOLOv9'un Temel Yenilikleri

YOLOv9'un ilerlemeleri, derin sinir ağlarındaki bilgi kaybının yarattığı zorlukları ele alma konusunda derin köklere sahiptir. Bilgi Darboğazı İlkesi ve Tersinir İşlevlerin yenilikçi kullanımı, tasarımının merkezinde yer alır ve YOLOv9'un yüksek verimlilik ve doğruluğu korumasını sağlar.

Bilgi Darboğazı İlkesi

Bilgi Darboğazı İlkesi, derin öğrenmede temel bir zorluğu ortaya koymaktadır: veriler bir ağın ardışık katmanlarından geçtikçe, bilgi kaybı potansiyeli artar. Bu olgu matematiksel olarak şu şekilde gösterilir:

I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))

nerede I karşılıklı bilgiyi gösterir ve f ve g parametreli dönüşüm fonksiyonlarını temsil eder theta ve phisırasıyla. YOLOv9, ağın derinliği boyunca temel verilerin korunmasına yardımcı olan, daha güvenilir gradyan üretimi ve sonuç olarak daha iyi model yakınsaması ve performansı sağlayan Programlanabilir Gradyan Bilgisini (PGI) uygulayarak bu zorluğa karşı koymaktadır.

Tersinir Fonksiyonlar

Tersine Çevrilebilir Fonksiyonlar kavramı YOLOv9'un tasarımının bir diğer temel taşıdır. Bir fonksiyon, şu şekilde ifade edildiği gibi herhangi bir bilgi kaybı olmadan tersine çevrilebiliyorsa tersine çevrilebilir olarak kabul edilir:

X = v_zeta(r_psi(X))

ile psi ve zeta sırasıyla tersine çevrilebilir ve ters fonksiyonu için parametreler olarak. Bu özellik derin öğrenme mimarileri için çok önemlidir, çünkü ağın eksiksiz bir bilgi akışını korumasına ve böylece modelin parametrelerinde daha doğru güncellemeler yapılmasına olanak tanır. YOLOv9, özellikle daha derin katmanlarda bilgi bozulması riskini azaltmak ve nesne algılama görevleri için kritik verilerin korunmasını sağlamak için mimarisine tersine çevrilebilir işlevler dahil eder.

Hafif Modeller Üzerindeki Etkisi

Bilgi kaybının ele alınması, genellikle yetersiz parametrelendirilmiş ve ileri besleme işlemi sırasında önemli bilgileri kaybetmeye eğilimli olan hafif modeller için özellikle hayati önem taşımaktadır. YOLOv9'un mimarisi, PGI ve tersine çevrilebilir fonksiyonların kullanımı sayesinde, basitleştirilmiş bir modelde bile doğru nesne tespiti için gereken temel bilgilerin korunmasını ve etkin bir şekilde kullanılmasını sağlar.

Programlanabilir Gradyan Bilgisi (PGI)

PGI, bilgi darboğazı sorunuyla mücadele etmek için YOLOv9'da tanıtılan yeni bir kavramdır ve derin ağ katmanlarında temel verilerin korunmasını sağlar. Bu, güvenilir gradyanların oluşturulmasına olanak tanıyarak doğru model güncellemelerini kolaylaştırır ve genel algılama performansını iyileştirir.

Genelleştirilmiş Verimli Katman Birleştirme Ağı (GELAN)

GELAN, YOLOv9'un üstün parametre kullanımı ve hesaplama verimliliği elde etmesini sağlayan stratejik bir mimari ilerlemeyi temsil etmektedir. Tasarımı, çeşitli hesaplama bloklarının esnek entegrasyonuna izin vererek YOLOv9'u hız veya doğruluktan ödün vermeden geniş bir uygulama yelpazesine uyarlanabilir hale getirir.

YOLOv9 mimari karşılaştırması

MS COCO Veri Seti Üzerindeki Performans

YOLOv9'un COCO veri kümesindeki performansı, çeşitli model boyutlarında yeni ölçütler belirleyerek gerçek zamanlı nesne algılamadaki önemli ilerlemelerini örneklemektedir. Tablo 1, YOLOv9'un üstün verimliliğini ve doğruluğunu gösteren, son teknoloji ürünü gerçek zamanlı nesne dedektörlerinin kapsamlı bir karşılaştırmasını sunmaktadır.

Tablo 1. Son Teknoloji Gerçek Zamanlı Nesne Algılayıcıların Karşılaştırılması

Diğer model ölçekleri ne zaman satışa sunulacak?

Aşağıdaki tabloda çeşitli model ölçekleri için gösterilen tüm metriklere rağmen, sadece için konfigürasyonlar YOLOv9c ve YOLOv9e yayınlanmıştır. Ultralytics Ekibi, diğer yapılandırmaları kullanılabilir hale geldikçe eklemek için hızla çalışacaktır, bu nedenle güncellemeler için burayı düzenli olarak kontrol ettiğinizden emin olun.

Performans

Model boyut
(piksel)
mAPval
50-95
mAPval
50
params
(M)
FLOP'lar
(B)
YOLOv9t 640 38.3 53.1 2.0 7.7
YOLOv9s 640 46.8 63.4 7.2 26.7
YOLOv9m 640 51.4 68.1 20.1 76.8
YOLOv9c 640 53.0 70.2 25.5 102.8
YOLOv9e 640 55.6 72.8 58.1 192.5
Model boyut
(piksel)
mAPbox
50-95
mAPmask
50-95
params
(M)
FLOP'lar
(B)
YOLOv9c-seg 640 52.4 42.2 27.9 159.4
YOLOv9e-seg 640 55.1 44.3 60.5 248.4

YOLOv9'un yinelemeleri, küçükten t kapsamlı bir varyant e modeli, sadece doğrulukta (mAP metrikleri) değil, aynı zamanda daha az sayıda parametre ve hesaplama ihtiyacı (FLOP) ile verimlilikte de gelişmeler göstermektedir. Bu tablo, YOLOv9'un önceki sürümlere ve rakip modellere kıyasla hesaplama yükünü korurken veya azaltırken yüksek hassasiyet sunma yeteneğinin altını çizmektedir.

Karşılaştırmalı olarak, YOLOv9 dikkate değer kazanımlar sergilemektedir:

  • Hafif Modeller: YOLOv9s, parametre verimliliği ve hesaplama yükünde YOLO MS-S'yi geride bırakırken AP'de %0,4∼0,6'lık bir iyileşme sağlar.
  • Orta ila Büyük Modeller: YOLOv9m ve YOLOv9e, model karmaşıklığı ve tespit performansı arasındaki dengeyi sağlamada kayda değer ilerlemeler göstererek, gelişmiş doğruluk zemininde parametrelerde ve hesaplamalarda önemli azalmalar sunar.

Özellikle YOLOv9c modeli, mimarinin optimizasyonlarının etkinliğini vurgulamaktadır. YOLOv7 AF'ye göre %42 daha az parametre ve %21 daha az hesaplama ihtiyacı ile çalışmasına rağmen karşılaştırılabilir doğruluk elde ederek YOLOv9'un önemli verimlilik iyileştirmelerini ortaya koymaktadır. Ayrıca, YOLOv9e modeli, YOLOv9'a göre %15 daha az parametre ve %25 daha az hesaplama ihtiyacı ile büyük modeller için yeni bir standart belirlemektedir. YOLOv8xBunun yanı sıra AP'de %1,7'lik bir artış kaydedilmiştir.

Bu sonuçlar, YOLOv9'un model tasarımındaki stratejik ilerlemelerini sergilemekte ve gerçek zamanlı nesne algılama görevleri için gerekli hassasiyetten ödün vermeden geliştirilmiş verimliliğini vurgulamaktadır. Model sadece performans ölçütlerinin sınırlarını zorlamakla kalmıyor, aynı zamanda hesaplama verimliliğinin önemini vurgulayarak bilgisayarla görme alanında çok önemli bir gelişme sağlıyor.

Sonuç

YOLOv9, verimlilik, doğruluk ve uyarlanabilirlik açısından önemli iyileştirmeler sunarak gerçek zamanlı nesne algılamada önemli bir gelişmeyi temsil etmektedir. PGI ve GELAN gibi yenilikçi çözümler aracılığıyla kritik zorlukları ele alan YOLOv9, bu alanda gelecekteki araştırma ve uygulamalar için yeni bir emsal oluşturuyor. Yapay zeka topluluğu gelişmeye devam ederken, YOLOv9 teknolojik ilerlemeyi sağlamada işbirliği ve inovasyonun gücünün bir kanıtı olarak duruyor.

Kullanım Örnekleri

Bu örnek basit YOLOv9 eğitim ve çıkarım örnekleri sağlar. Bu ve diğer modlarla ilgili tüm belgeler için Predict, Train, Val ve Export docs sayfalarına bakın.

Örnek

PyTorch ön eğitimli *.pt modellerin yanı sıra yapılandırma *.yaml dosyalar şu dosyalara aktarılabilir YOLO() sınıfında bir model örneği oluşturmak için python:

from ultralytics import YOLO

# Build a YOLOv9c model from scratch
model = YOLO('yolov9c.yaml')

# Build a YOLOv9c model from pretrained weight
model = YOLO('yolov9c.pt')

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)

# Run inference with the YOLOv9c model on the 'bus.jpg' image
results = model('path/to/bus.jpg')

CLI komutları modelleri doğrudan çalıştırmak için kullanılabilir:

# Build a YOLOv9c model from scratch and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640

# Build a YOLOv9c model from scratch and run inference on the 'bus.jpg' image
yolo predict model=yolov9c.yaml source=path/to/bus.jpg

Desteklenen Görevler ve Modlar

YOLOv9 serisi, her biri yüksek performanslı Nesne Algılama için optimize edilmiş bir dizi model sunar. Bu modeller, farklı hesaplama ihtiyaçlarına ve doğruluk gereksinimlerine cevap vererek onları geniş bir uygulama yelpazesi için çok yönlü hale getirir.

Model Dosya adları Görevler Çıkarım Doğrulama Eğitim İhracat
YOLOv9 yolov9c.pt yolov9e.pt Nesne Algılama
YOLOv9-seg yolov9c-seg.pt yolov9e-seg.pt Örnek Segmentasyonu

Bu tablo, YOLOv9 model varyantlarına ayrıntılı bir genel bakış sunmakta, nesne algılama görevlerindeki yeteneklerini ve Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma gibi çeşitli operasyonel modlarla uyumluluklarını vurgulamaktadır. Bu kapsamlı destek, kullanıcıların çok çeşitli nesne algılama senaryolarında YOLOv9 modellerinin yeteneklerinden tam olarak yararlanabilmesini sağlar.

Not

YOLOv9 modellerinin eğitimi, eşdeğer büyüklükteki YOLOv8 modeline göre daha fazla kaynak gerektirecek ve daha uzun sürecektir.

Atıflar ve Teşekkür

YOLOv9 yazarlarına gerçek zamanlı nesne algılama alanındaki önemli katkılarından dolayı teşekkür ederiz:

@article{wang2024yolov9,
  title={{YOLOv9}: Learning What You Want to Learn Using Programmable Gradient Information},
  author={Wang, Chien-Yao  and Liao, Hong-Yuan Mark},
  booktitle={arXiv preprint arXiv:2402.13616},
  year={2024}
}

Orijinal YOLOv9 makalesi arXiv'de bulunabilir. Yazarlar çalışmalarını kamuya açık hale getirmişlerdir ve kod tabanına GitHub üzerinden erişilebilir. Alanı ilerletme ve çalışmalarını daha geniş bir topluluk için erişilebilir hale getirme çabalarını takdir ediyoruz.



Oluşturuldu 2024-02-26, Güncellendi 2024-04-17
Yazarlar: glenn-jocher (4), Burhan-Q (2), Laughing-q (1)

Yorumlar