İç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 ediyor. 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ştirilmiş olsa da, şu şirketler 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.



İzle: Ultralytics | Endüstriyel Paket Veri Kümesi Kullanılarak Özel Veriler Üzerinde YOLOv9 Eğitimi

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 tersinir ve ters fonksiyonu için parametreler olarak. Bu özellik aşağıdakiler için çok önemlidir derin öğrenme mimarileri, ağın eksiksiz bir bilgi akışını korumasına izin verdiği için modelin parametrelerinde daha doğru güncellemeler yapılmasını sağlar. 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 mimarisinde tersine çevrilebilir işlevler içerir.

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ı

YOLOv9 Karşılaştırmaları

YOLOv9'da kıyaslama kullanarak Ultralytics eğitilmiş ve onaylanmış modelinizin performansını gerçek dünya senaryolarında değerlendirmeyi içerir. Bu süreç şunları içerir:

  • Performans Değerlendirmesi: Modelin hızının ve doğruluğunun değerlendirilmesi.
  • Dışa Aktarma Formatları: Modelin gerekli standartları karşıladığından ve çeşitli ortamlarda iyi performans gösterdiğinden emin olmak için farklı dışa aktarma formatlarında test edilmesi.
  • Çerçeve Desteği: Bu değerlendirmeleri kolaylaştırmak ve tutarlı ve güvenilir sonuçlar elde edilmesini sağlamak için Ultralytics YOLOv8 adresinde kapsamlı bir çerçeve sağlanması.

Kıyaslama yaparak, modelinizin yalnızca kontrollü test ortamlarında iyi performans göstermesini değil, aynı zamanda pratik, gerçek dünya uygulamalarında da yüksek performansı korumasını sağlayabilirsiniz.



İzle: Ultralytics Python Paketini Kullanarak YOLOv9 Modeli Nasıl Kıyaslanır?

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ı

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, yalnızca doğrulukta (mAP metrikleri) değil, aynı zamanda azaltılmış parametre sayısı ve hesaplama ihtiyaçları (FLOP'lar) ile verimlilikte de gelişmeler göstermektedir. Bu tablo, YOLOv9'un yüksek doğruluk ve verimlilik sunma yeteneğinin altını çizmektedir. hassas önceki sürümlere ve rakip modellere kıyasla hesaplama yükünü korurken veya azaltırken.

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 iyileşme kaydedilmiştir.

Bu sonuçlar, YOLOv9'un model tasarımındaki stratejik ilerlemelerini sergileyerek, gerçek zamanlı nesne algılama görevleri için gerekli hassasiyetten ödün vermeden gelişmiş 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 yolov9t yolov9s yolov9m 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 yararlanabilmelerini 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.

SSS

YOLOv9 gerçek zamanlı nesne tespiti için ne gibi yenilikler sunuyor?

YOLOv9, Programlanabilir Gradyan Bilgisi (PGI) ve Genelleştirilmiş Verimli Katman Toplama Ağı (GELAN) gibi çığır açan teknikler sunar. Bu yenilikler, derin sinir ağlarındaki bilgi kaybı sorunları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. YOLOv9' un MS COCO veri setinde yeni ölçütler belirleyen temel yenilikleri hakkında daha fazla bilgi edinin.

YOLOv9, MS COCO veri setinde diğer modellere kıyasla nasıl bir performans sergiliyor?

YOLOv9, daha yüksek doğruluk ve verimlilik elde ederek son teknoloji ürünü gerçek zamanlı nesne dedektörlerinden 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 göre %42 daha az parametre ve %21 daha az hesaplama talebi ile karşılaştırılabilir doğruluk elde eder. Ayrıntılı ölçümler için performans karşılaştırmalarını inceleyin.

Python ve CLI kullanarak bir YOLOv9 modelini nasıl eğitebilirim?

Hem Python hem de CLI komutlarını kullanarak bir YOLOv9 modelini eğitebilirsiniz. Python için, şu komutları kullanarak bir model oluşturun YOLO sınıfını ve train yöntem:

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 uygulayın:

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 edinin.

Hafif modeller için Ultralytics YOLOv9 kullanmanın avantajları nelerdir?

YOLOv9, bilgi kaybını azaltmak için tasarlanmıştır; bu da özellikle önemli bilgileri kaybetmeye eğilimli hafif modeller için önemlidir. Programlanabilir Gradyan Bilgisi (PGI) ve tersine çevrilebilir işlevleri entegre eden YOLOv9, temel verilerin korunmasını sağlayarak modelin doğruluğunu ve verimliliğini artırır. Bu da onu yüksek performanslı 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 hangi görevleri ve modları destekliyor?

YOLOv9, nesne algılama ve örnek segmentasyonu gibi çeşitli görevleri destekler. Çıkarım, doğrulama, eğitim ve dışa aktarma gibi çoklu çalışma modlarıyla uyumludur. Bu çok yönlülük, YOLOv9'u çeşitli gerçek zamanlı bilgisayarla görme uygulamalarına uyarlanabilir hale getirir. Daha fazla bilgi için desteklenen görevler ve modlar bölümüne bakın.

📅 9 ay önce oluşturuldu ✏️ 2 ay önce güncellendi

Yorumlar