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'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:
nerede I
karşılıklı bilgiyi gösterir ve f
ve g
parametreli dönüşüm fonksiyonlarını temsil eder theta
ve phi
sı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:
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.
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:
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:
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)