YOLOv9: Nesne Tespiti Teknolojisinde İleriye Doğru Bir Atılım#
YOLOv9, Programlanabilir Gradyan Bilgisi (PGI) ve Genelleştirilmiş Verimli Katman Birleştirme Ağı (GELAN) gibi çığır açan teknikleri sunarak gerçek zamanlı nesne tespitinde önemli bir ilerlemeye işaret eder. Bu model, verimlilik, doğruluk ve uyarlanabilirlik konularında dikkate değer gelişmeler sergileyerek MS COCO veri kümesinde yeni kıyaslama ölçütleri belirler. YOLOv9 projesi, ayrı bir açık kaynaklı ekip tarafından geliştirilmiş olsa da, Ultralytics YOLOv5 tarafından sağlanan sağlam kod tabanı üzerine inşa edilmiştir ve yapay zeka araştırma topluluğunun işbirliği ruhunu sergilemektedir.
Watch: YOLOv9 Training on Custom Data using Ultralytics | Industrial Package Dataset

YOLOv9'a Giriş#
Optimal gerçek zamanlı nesne tespiti arayışında YOLOv9, derin sinir ağlarında doğası gereği bulunan bilgi kaybı zorluklarının üstesinden gelmeye yönelik yenilikçi yaklaşımıyla öne çıkar. PGI ve çok yönlü GELAN mimarisini entegre eden YOLOv9, yalnızca modelin öğrenme kapasitesini artırmakla kalmaz, aynı zamanda tespit süreci boyunca kritik bilgilerin korunmasını sağlayarak olağanüstü doğruluk ve performans elde eder.
YOLOv9'un Temel Yenilikleri#
YOLOv9'un geliştirmeleri, derin sinir ağlarındaki bilgi kaybının yarattığı zorlukları ele almaya dayanır. Bilgi Darboğazı İlkesi ve Tersinir Fonksiyonların yenilikçi kullanımı, YOLOv9'un yüksek verimlilik ve doğruluk sağlamasını garanti eden tasarımının merkezinde yer alır.
Bilgi Darboğazı İlkesi#
Bilgi Darboğazı İlkesi, derin öğrenmede temel bir zorluğu ortaya koyar: veri ağın birbirini izleyen katmanlarından geçerken bilgi kaybı potansiyeli artar. Bu fenomen matematiksel olarak şu şekilde temsil edilir:
I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))I ortak bilgiyi ifade ederken, f ve g sırasıyla theta ve phi parametrelerine sahip dönüşüm fonksiyonlarını temsil eder. YOLOv9, bu zorluğun karşısında, ağın derinliği boyunca temel verilerin korunmasına yardımcı olan, daha güvenilir gradyan üretimi ve dolayısıyla daha iyi model yakınsaması ile performans sağlayan Programlanabilir Gradyan Bilgisini (PGI) uygulayarak bu durumla mücadele eder.
Tersinir Fonksiyonlar#
Tersinir Fonksiyonlar kavramı, YOLOv9'un tasarımının bir diğer temel taşıdır. Bir fonksiyon, aşağıda ifade edildiği gibi, herhangi bir bilgi kaybı olmadan tersine çevrilebiliyorsa tersinir kabul edilir:
X = v_zeta(r_psi(X))psi ve zeta sırasıyla tersinir fonksiyon ve onun ters fonksiyonu için parametreler olarak kullanılır. Bu özellik, ağın eksiksiz bir bilgi akışını korumasını sağladığından derin öğrenme mimarileri için çok önemlidir ve böylece modelin parametrelerinin daha doğru bir şekilde güncellenmesine olanak tanır. YOLOv9, bilgi bozulması riskini azaltmak için mimarisine tersinir fonksiyonlar dahil eder, özellikle daha derin katmanlarda kritik verilerin nesne tespiti görevleri için korunmasını sağlar.
Hafif Modeller Üzerindeki Etkisi#
Bilgi kaybını ele almak, genellikle parametreleri eksik olan ve ileri besleme sürecinde önemli bilgileri kaybetmeye meyilli olan hafif modeller için özellikle hayati öneme sahiptir. YOLOv9'un mimarisi, PGI ve tersinir fonksiyonların kullanımıyla, optimize edilmiş bir modelde bile doğru nesne algılama için gerekli 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 ve derin ağ katmanlarında temel verilerin korunmasını sağlamak için YOLOv9'da tanıtılan yeni bir kavramdır. 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ı artırır.
Genelleştirilmiş Verimli Katman Birleştirme Ağı (GELAN)#
GELAN, stratejik bir mimari ilerlemeyi temsil ederek YOLOv9'un üstün parametre kullanımı ve hesaplama verimliliği elde etmesini sağlar. Tasarımı, çeşitli hesaplama bloklarının esnek bir şekilde entegrasyonuna izin vererek YOLOv9'un hız veya doğruluktan ödün vermeden çok çeşitli uygulamalara uyarlanabilir olmasını sağlar.

YOLOv9 Kıyaslamaları (Benchmark)#
Ultralytics kullanarak YOLOv9'da kıyaslama yapmak, eğitilmiş ve doğrulanmış modelinizin gerçek dünya senaryolarındaki performansını değerlendirmeyi içerir. Bu süreç şunları içerir:
- Performans Değerlendirmesi: Modelin hız ve doğruluğunun değerlendirilmesi.
- Dışa Aktarma Formatları: Modelin gerekli standartları karşıladığından ve çeşitli ortamlarda iyi çalıştığından emin olmak için farklı dışa aktarma formatları genelinde test edilmesi.
- Çerçeve Desteği: Bu değerlendirmeleri kolaylaştırmak ve tutarlı, güvenilir sonuçlar sağlamak için Ultralytics YOLOv8 içinde kapsamlı bir çerçeve sağlanması.
Kıyaslama yaparak, modelinin yalnızca kontrollü test ortamlarında iyi çalışmakla kalmayıp aynı zamanda pratik, gerçek dünya uygulamalarında da yüksek performans sürdürdüğünden emin olabilirsin.
Watch: How to Benchmark the YOLOv9 Model Using the Ultralytics Python Package
MS COCO Veri Kümesindeki Performans#
YOLOv9'un COCO veri kümesindeki performansı, gerçek zamanlı nesne tespitindeki önemli ilerlemelerini örnekleyerek çeşitli model boyutlarında yeni kıyaslama ölçütleri belirler. Tablo 1, en son teknolojiye sahip gerçek zamanlı nesne dedektörlerinin kapsamlı bir karşılaştırmasını sunarak YOLOv9'un üstün verimliliğini ve doğruluğunu gösterir.
YOLOv9'un küçük t varyantından kapsamlı e modeline kadar olan sürümleri, yalnızca doğrulukta (mAP metrikleri) değil, aynı zamanda azaltılmış parametre sayısı ve hesaplama gereksinimleri (FLOP'lar) ile verimlilikte de iyileştirmeler gösterir. Bu tablo, YOLOv9'un önceki sürümlere ve rakip modellere kıyasla hesaplama yükünü korurken veya azaltırken yüksek keskinlik sunma yeteneğinin altını çizer.
Karşılaştırmalı olarak, YOLOv9 dikkat çekici kazanımlar sergiler:
- Hafif Modeller: YOLOv9s, parametre verimliliği ve hesaplama yükü açısından YOLO MS-S'i geride bırakırken AP'de %0,4~0,6 oranında bir iyileşme sağlar.
- Orta ve Büyük Modeller: YOLOv9m ve YOLOv9e, model karmaşıklığı ile algılama performansı arasındaki dengeyi kurmada kayda değer ilerlemeler göstererek, geliştirilmiş doğrulukla beraber parametrelerde ve hesaplamalarda önemli azalmalar sunar.
YOLOv9c modeli, özellikle mimarinin optimizasyonlarının etkinliğini vurgular. YOLOv7 AF'ye kıyasla %42 daha az parametre ve %21 daha az hesaplama ihtiyacıyla çalışır, ancak karşılaştırılabilir bir doğruluk elde ederek YOLOv9'un önemli verimlilik iyileştirmelerini gösterir. Dahası, YOLOv9e modeli, YOLOv8x'e kıyasla %15 daha az parametre ve %25 daha az hesaplama ihtiyacı ile büyük modeller için yeni bir standart belirler ve AP'de kademeli %1,7'lik bir iyileşme sağlar.
Bu sonuçlar, YOLOv9'un model tasarımındaki stratejik ilerlemelerini sergileyerek gerçek zamanlı nesne tespiti görevleri için gerekli olan hassasiyetten ödün vermeden artırılmış verimliliğini vurgular. Model, yalnızca performans ölçütlerinin sınırlarını zorlamakla kalmaz, aynı zamanda hesaplama verimliliğinin önemini vurgulayarak onu bilgisayarlı görü alanında çok önemli bir gelişim haline getirir.
Sonuç#
Şubat 2024'te piyasaya sürülen YOLOv9, gerçek zamanlı nesne tespitinde çok önemli bir gelişmeyi temsil ederek verimlilik, doğruluk ve uyarlanabilirlik açısından önemli iyileştirmeler sundu. PGI ve GELAN gibi yenilikçi çözümlerle kritik zorlukları ele alarak YOLOv9, piyasaya sürüldüğü sırada yeni kıyaslama ölçütleri belirledi. YOLO11 ve YOLO26 gibi daha yeni modeller o zamandan beri ek iyileştirmelerle piyasaya sürülmüş olsa da, YOLOv9'un mimari yenilikleri alanı etkilemeye devam ediyor.
Kullanım Örnekleri#
Bu örnek, basit YOLOv9 eğitim ve çıkarım örnekleri sağlar. Bunlar ve diğer modlar hakkındaki tam belgeler için Tahmin, Eğitim, Doğrulama ve Dışa Aktarma belge sayfalarına bakın.
Python'da bir model örneği oluşturmak için PyTorch ön eğitilmiş *.pt modellerinin yanı sıra *.yaml yapılandırma dosyaları da YOLO() sınıfına geçirilebilir:
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")Desteklenen Görevler ve Modlar#
YOLOv9 serisi, her biri yüksek performanslı Nesne Tespiti için optimize edilmiş bir dizi model sunar. Bu modeller, farklı hesaplama ihtiyaçlarını ve doğruluk gereksinimlerini karşılayarak onları geniş bir uygulama yelpazesi için çok yönlü hale getirir.
| Model | Dosya Adları | Görevler | Eğitim | Doğrulama | Çıkarım | Dışa Aktar (Export) |
|---|---|---|---|---|---|---|
| YOLOv9 | yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.pt | Nesne Algılama | ✅ | ✅ | ✅ | ✅ |
| YOLOv9-seg | yolov9c-seg.pt yolov9e-seg.pt | Örnek Bölütleme | ✅ | ✅ | ✅ | ✅ |
Bu tablo, YOLOv9 model varyantlarının ayrıntılı bir genel bakışını sunarak nesne tespiti görevlerindeki yeteneklerini ve Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma gibi çeşitli operasyonel modlarla uyumluluklarını vurgular. Bu kapsamlı destek, kullanıcıların YOLOv9 modellerinin yeteneklerinden geniş bir nesne tespiti senaryosu yelpazesinde tam olarak yararlanabilmelerini sağlar.
YOLOv9 modellerini eğitmek, eşdeğer boyuttaki YOLOv8 modelinden daha fazla kaynak gerektirecek ve daha uzun sürecektir.
Alıntılar ve Teşekkür#
Gerçek zamanlı nesne algılama alanına önemli katkılarından dolayı YOLOv9 yazarlarına teşekkür ederiz:
@inproceedings{wang2024yolov9,
title={YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information},
author={Wang, Chien-Yao and Yeh, I-Hau and Liao, Hong-Yuan Mark},
booktitle={Computer Vision -- ECCV 2024},
pages={1--21},
year={2024},
organization={Springer Nature Switzerland}
}Resmi YOLOv9 makalesi Springer ECCV 2024 tutanaklarında ve arXiv üzerinde bir ön baskı ile yayınlanmıştır. Yazarlar çalışmalarını kamuya açık hale getirmişlerdir ve kod tabanına GitHub üzerinden erişilebilir. Alanı ilerletmek ve çalışmalarını daha geniş topluluğun erişimine sunmak için harcadıkları çabaları takdir ediyoruz.
SSS#
YOLOv9, Programlanabilir Gradyan Bilgisi (PGI) ve Genelleştirilmiş Verimli Katman Birleştirme Ağı (GELAN) gibi çığır açan teknikler sunar. Bu yenilikler, derin sinir ağlarındaki bilgi kaybı zorluklarını ele alarak yüksek verimlilik, doğruluk ve uyarlanabilirlik sağlar. PGI, ağ katmanları arasında temel verileri korurken, GELAN parametre kullanımını ve hesaplama verimliliğini optimize eder. MS COCO veri kümesinde yeni kıyaslama ölçütleri belirleyen YOLOv9'un temel yenilikleri hakkında daha fazla bilgi edinin.
YOLOv9, daha yüksek doğruluk ve verimlilik elde ederek son teknoloji ürünü gerçek zamanlı nesne dedektörlerini geride bırakır. COCO veri kümesinde, YOLOv9 modelleri hesaplama yükünü korurken veya azaltırken çeşitli boyutlarda üstün mAP puanları sergiler. Örneğin, YOLOv9c, YOLOv7 AF'ye kıyasla %42 daha az parametre ve %21 daha az hesaplama ihtiyacıyla karşılaştırılabilir bir doğruluk elde eder. Ayrıntılı metrikler için performans karşılaştırmalarını keşfedin.
Hem Python hem de CLI komutlarını kullanarak bir YOLOv9 modeli eğitebilirsiniz. Python için,
YOLOsınıfını kullanarak bir model örnekleyin vetrainyöntemini çağırın:from ultralytics import YOLO # Build a YOLOv9c model from pretrained weights and train model = YOLO("yolov9c.pt") results = model.train(data="coco8.yaml", epochs=100, imgsz=640)CLI eğitimi için şunu çalıştır:
yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640Eğitim ve çıkarım için kullanım örnekleri hakkında daha fazla bilgi edinin.
YOLOv9, genellikle önemli bilgileri kaybetmeye eğilimli hafif modeller için özellikle önemli olan bilgi kaybını azaltmak üzere tasarlanmıştır. Programlanabilir Gradyan Bilgisini (PGI) ve tersinir fonksiyonları entegre ederek YOLOv9, temel veri tutulumunu sağlayarak modelin doğruluğunu ve verimliliğini artırır. Bu, onu yüksek performansa sahip kompakt modeller gerektiren uygulamalar için son derece uygun hale getirir. Daha fazla ayrıntı için YOLOv9'un hafif modeller üzerindeki etkisine ilişkin bölümü inceleyin.
YOLOv9, nesne tespiti ve örnek segmentasyonu dahil olmak üzere çeşitli görevleri destekler. Çıkarım, doğrulama, eğitim ve dışa aktarma gibi birden fazla operasyonel modla uyumludur. Bu çok yönlülük, YOLOv9'u farklı gerçek zamanlı bilgisayarlı görü uygulamalarına uyarlanabilir hale getirir. Daha fazla bilgi için desteklenen görevler ve modlar bölümüne bakın.