YOLOv9: A Leap Forward in Object Detection Technology
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.
İzle: Ultralytics | Endüstriyel Paket Veri Kümesi Kullanılarak Özel Veriler Üzerinde YOLOv9 Eğitimi
YOLOv9'a Giriş
In the quest for optimal real-time object detection, YOLOv9 stands out with its innovative approach to overcoming information loss challenges inherent in deep neural networks. By integrating PGI and the versatile GELAN architecture, YOLOv9 not only enhances the model's learning capacity but also ensures the retention of crucial information throughout the detection process, thereby achieving exceptional accuracy and performance.
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
as parameters for the reversible and its inverse function, respectively. This property is crucial for deep learning architectures, as it allows the network to retain a complete information flow, thereby enabling more accurate updates to the model's parameters. YOLOv9 incorporates reversible functions within its architecture to mitigate the risk of information degradation, especially in deeper layers, ensuring the preservation of critical data for object detection tasks.
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 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
The performance of YOLOv9 on the COCO dataset exemplifies its significant advancements in real-time object detection, setting new benchmarks across various model sizes. Table 1 presents a comprehensive comparison of state-of-the-art real-time object detectors, illustrating YOLOv9's superior efficiency and accuracy.
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
model, demonstrate improvements not only in accuracy (mAP metrics) but also in efficiency with a reduced number of parameters and computational needs (FLOPs). This table underscores YOLOv9's ability to deliver high precision while maintaining or reducing the computational overhead compared to prior versions and competing models.
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.
These results showcase YOLOv9's strategic advancements in model design, emphasizing its enhanced efficiency without compromising on the precision essential for real-time object detection tasks. The model not only pushes the boundaries of performance metrics but also emphasizes the importance of computational efficiency, making it a pivotal development in the field of computer vision.
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 pretrained *.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 | 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 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.
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:
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 supports various tasks including object detection and instance segmentation. It is compatible with multiple operational modes such as inference, validation, training, and export. This versatility makes YOLOv9 adaptable to diverse real-time computer vision applications. Refer to the supported tasks and modes section for more information.