Meet YOLO26: next-gen vision AI.

Link to this sectionYOLOv9: Nesne Algılama Teknolojisinde Bir İleri Adım#

YOLOv9, Programlanabilir Gradyan Bilgisi (PGI) ve Genelleştirilmiş Verimli Katman Birleştirme Ağı (GELAN) gibi çığır açan teknikleri tanıtarak gerçek zamanlı nesne algılamada önemli bir ilerlemeyi temsil eder. Bu model, verimlilik, doğruluk ve uyarlanabilirlik konularında kayda değer gelişmeler göstererek MS COCO veri kümesinde yeni standartlar belirler. YOLOv9 projesi, bağımsız bir açık kaynak ekibi tarafından geliştirilmiş olsa da, Ultralytics YOLOv5 tarafından sağlanan sağlam kod tabanının üzerine inşa edilmiştir ve yapay zeka araştırma topluluğunun iş birliği ruhunu sergiler.



Watch: YOLOv9 Training on Custom Data using Ultralytics | Industrial Package Dataset

YOLOv9 performans karşılaştırması

Link to this sectionYOLOv9'a Giriş#

Optimal gerçek zamanlı nesne algılama arayışında YOLOv9, derin sinir ağlarında doğal olarak 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 ederek YOLOv9, yalnızca modelin öğrenme kapasitesini artırmakla kalmaz, aynı zamanda algılama süreci boyunca kritik bilgilerin korunmasını sağlayarak olağanüstü doğruluk ve performans elde eder.

Link to this sectionYOLOv9'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.

Link to this sectionBilgi 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 ifadesinin karşılıklı bilgiyi, f ve g fonksiyonlarının ise sırasıyla theta ve phi parametrelerine sahip dönüşüm fonksiyonlarını temsil ettiği yerde, YOLOv9 bu zorluğa, 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 Bilgisi (PGI) uygulayarak yanıt verir.

Link to this sectionTersinir 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 parametrelerinin sırasıyla tersinir ve ters fonksiyonu temsil ettiği bu durum, derin öğrenme mimarileri için çok önemlidir; çünkü ağın eksiksiz bir bilgi akışını korumasına ve böylece modelin parametrelerinin daha doğru güncellenmesine olanak tanır. YOLOv9, özellikle derin katmanlarda bilgi bozulması riskini azaltmak ve nesne algılama görevleri için kritik verilerin korunmasını sağlamak amacıyla mimarisine tersinir fonksiyonları dahil eder.

Link to this sectionHafif 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.

Link to this sectionProgramlanabilir 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.

Link to this sectionGenelleş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 mimari karşılaştırması

Link to this sectionYOLOv9 Kıyaslamaları (Benchmark)#

YOLOv9 içerisinde Ultralytics kullanarak yapılan kıyaslama, eğitilmiş ve doğrulanmış modelinin gerçek dünya senaryolarındaki performansının değerlendirilmesini içerir. Bu süreç şunları kapsar:

  • 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

Link to this sectionMS COCO Veri Kümesindeki Performans#

YOLOv9'un COCO veri kümesi üzerindeki performansı, gerçek zamanlı nesne algılamadaki önemli ilerlemelerini örnekleyerek çeşitli model boyutlarında yeni standartlar belirler. Tablo 1, YOLOv9'un üstün verimliliğini ve doğruluğunu gösteren, en gelişmiş gerçek zamanlı nesne algılayıcılarının kapsamlı bir karşılaştırmasını sunar.

Performans
Modelboyut
(piksel)
mAPval
50-95
mAPval
50
parametreler
(M)
FLOPs
(B)
YOLOv9t64038.353.12.07.7
YOLOv9s64046.863.47.226.7
YOLOv9m64051.468.120.176.8
YOLOv9c64053.070.225.5102.8
YOLOv9e64055.672.858.1192.5

YOLOv9'un küçük t varyantından kapsamlı e modeline kadar değişen yinelemeleri, yalnızca doğrulukta (mAP metrikleri) değil, aynı zamanda daha az parametre sayısı ve hesaplama gereksinimi (FLOPs) ile verimlilikte de iyileştirmeler olduğunu 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 hassasiyet 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.

Özellikle YOLOv9c modeli, mimarinin optimizasyonlarının etkinliğini vurgular. YOLOv7 AF'den %42 daha az parametre ve %21 daha az hesaplama ihtiyacı ile çalışmasına rağmen benzer doğruluk oranlarına ulaşarak YOLOv9'un önemli verimlilik iyileştirmelerini gösterir. Ayrıca YOLOv9e modeli, YOLOv8x'e kıyasla %15 daha az parametre ve %25 daha az hesaplama ihtiyacının yanı sıra AP'de %1,7'lik artımlı bir iyileşme ile büyük modeller için yeni bir standart belirler.

Bu sonuçlar, YOLOv9'un model tasarımındaki stratejik ilerlemelerini sergileyerek, gerçek zamanlı nesne algılama görevleri için temel olan hassasiyetten ödün vermeden geliştirilmiş verimliliğini vurgular. Model, yalnızca performans metriklerinin sınırlarını zorlamakla kalmaz, aynı zamanda hesaplama verimliliğinin önemini vurgulayarak onu bilgisayarlı görü alanında önemli bir gelişme haline getirir.

Link to this sectionSonuç#

Şubat 2024'te yayınlanan YOLOv9, verimlilik, doğruluk ve uyarlanabilirlik açısından önemli iyileştirmeler sunarak gerçek zamanlı nesne algılamada önemli bir gelişmeyi temsil ediyordu. PGI ve GELAN gibi yenilikçi çözümlerle kritik zorlukları ele alarak YOLOv9, yayınlandığı dönemde yeni standartlar belirledi. YOLO11 ve YOLO26 gibi daha yeni modeller ek iyileştirmelerle yayınlanmış olsa da, YOLOv9'un mimari yenilikleri alanı etkilemeye devam ediyor.

Link to this sectionKullanım Örnekleri#

Bu örnek, basit YOLOv9 eğitim ve çıkarım örnekleri sunar. Bunlar ve diğer modlar hakkında tam dokümantasyon için Predict, Train, Val ve Export doküman sayfalarına bakabilirsin.

Örnek

PyTorch önceden eğitilmiş *.pt modellerinin yanı sıra yapılandırma *.yaml dosyaları, Python'da bir model örneği oluşturmak için YOLO() sınıfına aktarılabilir:

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")

Link to this sectionDesteklenen Görevler ve Modlar#

YOLOv9 serisi, her biri yüksek performanslı Nesne Algılama için optimize edilmiş bir model yelpazesi sunar. Bu modeller, farklı hesaplama ihtiyaçlarını ve doğruluk gereksinimlerini karşılayarak onları çok çeşitli uygulamalar için çok yönlü hale getirir.

ModelDosya AdlarıGörevlerÇıkarımDoğrulamaEğitimDışa Aktar (Export)
YOLOv9yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.ptNesne Tespiti
YOLOv9-segyolov9c-seg.pt yolov9e-seg.ptÖrnek Segmentasyonu

Bu tablo, YOLOv9 model varyantlarına dair ayrıntılı bir genel bakış sunarak nesne algılama 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 çok çeşitli nesne algılama senaryolarında tam olarak yararlanabilmelerini sağlar.

Not

YOLOv9 modellerini eğitmek, eşdeğer boyuttaki YOLOv8 modelinden daha fazla kaynak gerektirir ve daha uzun sürer.

Link to this sectionAlı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:

Alıntı
@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 yayımlanmış olup, ön baskısına arXiv üzerinden ulaşabilirsin. Yazarlar çalışmalarını halka açık hale getirmişlerdir ve kod tabanına GitHub üzerinden erişebilirsin. Alanı ilerletme ve çalışmalarını daha geniş bir topluluk için erişilebilir kılma konusundaki çabalarını takdir ediyoruz.

Link to this sectionSSS#

Link to this sectionYOLOv9, gerçek zamanlı nesne algılama için ne tür yenilikler getiriyor?#

YOLOv9, Programlanabilir Gradyan Bilgisi (PGI) ve Genelleştirilmiş Verimli Katman Birleştirme Ağı (GELAN) gibi çığır açan teknikleri tanıtır. 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ı boyunca temel verileri korurken, GELAN parametre kullanımını ve hesaplama verimliliğini optimize eder. MS COCO veri kümesinde yeni standartlar belirleyen YOLOv9'un temel yenilikleri hakkında daha fazla bilgi edinebilirsin.

Link to this sectionYOLOv9, diğer modellere kıyasla MS COCO veri kümesinde nasıl bir performans sergiliyor?#

YOLOv9, daha yüksek doğruluk ve verimlilik elde ederek en gelişmiş gerçek zamanlı nesne algılayıcılarından daha iyi performans gösterir. 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ı ile benzer bir doğruluk elde eder. Ayrıntılı metrikler için performans karşılaştırmalarını keşfedebilirsin.

Link to this sectionPython ve CLI kullanarak nasıl YOLOv9 modeli eğitebilirim?#

YOLOv9 modelini hem Python hem de CLI komutlarını kullanarak eğitebilirsin. Python için YOLO sınıfını kullanarak bir model örneği oluştur ve train metodunu çağır:

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=640

Eğitim ve çıkarım için kullanım örnekleri hakkında daha fazla bilgi edinebilirsin.

Link to this sectionUltralytics YOLOv9'u hafif modeller için kullanmanın avantajları nelerdir?#

YOLOv9, genellikle önemli bilgileri kaybetmeye meyilli olan hafif modeller için özellikle önemli olan bilgi kaybını azaltmak üzere tasarlanmıştır. Programlanabilir Gradyan Bilgisi (PGI) ve tersinir fonksiyonları entegre ederek YOLOv9, temel verilerin korunmasını sağlar ve modelin doğruluğunu ve verimliliğini artırır. Bu durum, yüksek performanslı kompakt modeller gerektiren uygulamalar için onu oldukça uygun hale getirir. Daha fazla ayrıntı için YOLOv9'un hafif modeller üzerindeki etkisi bölümünü keşfedebilirsin.

Link to this sectionYOLOv9 hangi görevleri ve modları destekler?#

YOLOv9, nesne algılama 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 çeşitli gerçek zamanlı bilgisayarlı görü uygulamalarına uyarlanabilir kılar. Daha fazla bilgi için desteklenen görevler ve modlar bölümüne başvurabilirsin.

Yorumlar