İçeriğe geç

DAMO-YOLO - YOLOv9 Karşılaştırması: Teknik Bir Karşılaştırma

Bilgisayar görüşü dünyasındaki hızlı gelişmelerde, optimum nesne algılama modelini seçmek, sistem gecikmesinden algılama doğruluğuna kadar her şeyi etkileyen çok önemli bir karardır. Bu kapsamlı kılavuz, Alibaba Group'tan yüksek hızlı bir detectör olan DAMO-YOLO ile bilgi koruma ve verimliliğe odaklanan bir mimari olan YOLOv9 arasında teknik bir karşılaştırma sunmaktadır. Geliştiricilerin ve araştırmacıların bilinçli seçimler yapmasına yardımcı olmak için mimari yeniliklerini, performans metriklerini ve ideal kullanım durumlarını analiz edeceğiz.

Her iki model de önceki modellere göre önemli iyileştirmeler sunarken, özellikle Ultralytics ekosistemi içinde kullanıldığında YOLOv9, son teknoloji ürünü doğruluk, geliştirici dostu araçlar ve çok yönlü dağıtım seçeneklerinin etkileyici bir karışımını sunar.

DAMO-YOLO, Alibaba tarafından geliştirilen ve "her şey için bir kez" metodolojisiyle tasarlanmış bir nesne algılama çerçevesidir. Düşük gecikme süresine ve yüksek verime öncelik vererek, belirli donanımlarda kesin olarak tanımlanmış hız kısıtlamaları gerektiren endüstriyel uygulamalar için güçlü bir rakiptir.

Yazarlar: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang ve Xiuyu Sun
Kuruluş:Alibaba Group
Tarih: 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444
GitHub:https://github.com/tinyvision/DAMO-YOLO

Mimari Yenilikler

DAMO-YOLO, otomatik tasarım süreçleri ve verimli bileşenler aracılığıyla kendini farklılaştırır:

  • Sinir Ağı Mimarisi Arama (NAS): DAMO-YOLO, backbonelar'ı manuel olarak tasarlamak yerine, farklı hesaplama bütçelerine göre uyarlanmış verimli yapılar (TinyNAS) keşfetmek için Sinir Ağı Mimarisi Arama'yı (NAS) kullanır.
  • RepGFPN Katmanı: Genelleştirilmiş Özellik Piramidi Ağı'nın (GFPN) RepGFPN olarak adlandırılan verimli bir varyasyonunu sunar. Bu bileşen, özellik kaynaştırmayı optimize eder ve daha hızlı çıkarım hızları sağlayarak yeniden parametrelendirmeyi destekler.
  • ZeroHead: Model, karmaşık detect başlıklarıyla tipik olarak ilişkili olan hesaplama yükünü azaltan hafif bir "ZeroHead" detect başlığı kullanır.
  • AlignedOTA: Eğitim kararlılığını ve doğruluğunu artırmak için, sınıflandırma ve regresyon görevleri arasındaki uyumsuzluk sorunlarını çözen bir etiket atama stratejisi olan AlignedOTA'yı kullanır.

Güçlü Yönler ve Sınırlamalar

DAMO-YOLO'nun temel gücü, çıkarım hızında yatmaktadır. Mimari, yüksek GPU verimi için büyük ölçüde optimize edilmiştir ve bu da onu işleme hacminin kritik olduğu video analiz hatları için uygun hale getirir. Ek olarak, damıtma kullanımı daha küçük modellerinin performansını artırır.

Ancak, DAMO-YOLO, ekosistem olgunluğu konusunda zorluklarla karşı karşıyadır. Ultralytics modelleri için mevcut olan sağlam araçlara kıyasla, kullanıcılar dağıtım, format dönüştürme ve topluluk desteği için daha az kaynak bulabilirler. Görev çok yönlülüğü de genellikle nesne algılama ile sınırlıdır, oysa modern çerçeveler genellikle segmentasyon ve poz tahmini desteği sunar.

DAMO-YOLO hakkında daha fazla bilgi edinin

YOLOv9: Maksimum Verimlilik için Programlanabilir Gradyanlar

YOLOv9, derin sinir ağlarındaki bilgi kaybı temel sorununu ele alarak gerçek zamanlı nesne algılamada bir paradigma değişimini temsil etmektedir. Kritik verilerin ağ derinliği boyunca korunmasını sağlayarak, YOLOv9 dikkat çekici parametre verimliliği ile üstün doğruluk elde etmektedir.

Yazarlar: Chien-Yao Wang, Hong-Yuan Mark Liao
Kuruluş:Institute of Information Science, Academia Sinica, Tayvan
Tarih: 2024-02-21
Arxiv:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
Belgelendirme:https://docs.ultralytics.com/models/yolov9/

Temel Mimari: PGI ve GELAN

YOLOv9, onu diğerlerinden ayıran iki çığır açan teknoloji sunar:

  1. Programlanabilir Gradyan Bilgisi (PGI): Derin ağlar genellikle, girdi verilerinin katmanlardan geçerken kaybolduğu bir bilgi darboğazından muzdariptir. PGI, güvenilir gradyanlar üreten yardımcı bir denetim dalı sağlayarak derin katmanların doğru ağırlık güncellemeleri için eksiksiz bilgi almasını sağlar.
  2. Genelleştirilmiş Verimli Katman Toplama Ağı (GELAN): Bu yeni mimari, CSPNet ve ELAN'ın güçlü yönlerini birleştirir. GELAN, parametre kullanımını en üst düzeye çıkarmak için tasarlanmıştır ve hem hafif hem de inanılmaz derecede güçlü bir model sunar.

PGI Neden Önemli

Geleneksel derin öğrenme modellerinde, çıktı katmanındaki kayıp fonksiyonu genellikle sığ katmanların güncellemelerine etkili bir şekilde rehberlik etmek için yeterli bilgiye sahip değildir. PGI bir köprü görevi görerek, girdi bilgilerini korur ve tüm ağın sağlam özellikler öğrenmesini sağlayarak daha iyi yakınsama ve daha yüksek doğruluğa yol açar.

Ultralytics'in Avantajı

Ultralytics ekosistemi içinde YOLOv9 kullanırken, geliştiriciler bağımsız uygulamalara göre önemli avantajlar elde eder:

  • Kullanım Kolaylığı: Ultralytics Python API ve CLI, karmaşık eğitim ardışık düzenlerini basit komutlara soyutlar.
  • Eğitim Verimliliği: Ultralytics metodolojileri, optimum kaynak kullanımını sağlar. YOLOv9, genellikle transformatör tabanlı dedektörlere kıyasla eğitim sırasında daha az CUDA belleği gerektirir, bu da onu daha geniş bir donanım yelpazesine erişilebilir kılar.
  • Çok Yönlülük: Temel YOLOv9 makalesi algılamaya odaklansa da, Ultralytics çerçevesi bu mimarilerin diğer görevlere genişletilmesini kolaylaştırır ve ONNX, TensorRT ve OpenVINO gibi formatlara sorunsuz dışa aktarılmasını sağlar.

YOLOv9 hakkında daha fazla bilgi edinin

Performans Analizi: Doğruluk ve Verimlilik

Aşağıdaki karşılaştırma, DAMO-YOLO ve YOLOv9 arasındaki ödünleşimleri vurgulamaktadır. DAMO-YOLO belirli donanımlarda rekabetçi hızlar sunarken, YOLOv9 daha az parametreyle sürekli olarak daha yüksek Ortalama Ortalama Hassasiyet (mAP) sağlayarak üstün mimari verimliliğini sergiler.

Modelboyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
T4 TensorRT10
(ms)
parametreler
(M)
FLOP'lar
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

Önemli Çıkarımlar:

  • Parametre Verimliliği: YOLOv9s, DAMO-YOLOs'den (46,0) daha yüksek bir mAP'ye (46,8) ulaşırken, parametrelerin yarısından daha azını (7,1M'ye karşı 16,3M) kullanır. Bu, YOLOv9'u uç yapay zeka cihazları için havadan güncellemeyi önemli ölçüde daha depolama dostu ve daha kolay hale getirir.
  • Üst Düzey Doğruluk: En büyük YOLOv9 varyantları (c ve e), doğruluk sınırlarını DAMO-YOLO'nun sınırlarının çok ötesine taşıyarak 55.6 mAP'ye ulaşıyor.
  • Hız: DAMO-YOLO orta büyüklükteki modeller için ham TensorRT gecikmesinde hafif bir avantaj gösterse de, YOLOv9t son derece hızlıdır (2,3 ms) ve bu da onu gerçek zamanlı mobil uygulamalar için ideal kılar.

Eğitim Metodolojileri ve Kullanılabilirlik

Eğitim deneyimi, iki model arasında önemli ölçüde farklılık gösterir. DAMO-YOLO'nun NAS'a olan bağımlılığı, mimariyi türetmek için karmaşık bir arama aşaması veya önceden aranmış backboneların kullanılmasını ima eder. Backbone yapısının özelleştirilmesi gerekiyorsa, "herkes için bir kez" yaklaşımı hesaplama açısından maliyetli olabilir.

Buna karşılık, Ultralytics tarafından desteklenen YOLOv9, kolaylaştırılmış bir eğitim modu sunar. Kullanıcılar, modelleri Open Images V7 gibi özel veri kümelerinde veya minimum yapılandırmayla özel koleksiyonlarda ince ayar yapabilir. Ultralytics HUB ile entegrasyon, bulut tabanlı eğitim, görselleştirme ve tek tıklamayla dağıtıma olanak tanıyarak, NAS veya hiperparametre ayarlama konusunda derin uzmanlık gerektirmeden gelişmiş yapay zekaya erişimi demokratikleştirir.

Kod Örneği: YOLOv9 Eğitimi

Ultralytics Python paketi ile YOLOv9'u uygulamak basittir.

from ultralytics import YOLO

# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")

# Train the model on the COCO8 dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model("path/to/image.jpg")

İdeal Kullanım Senaryoları

Ne Zaman DAMO-YOLO Seçmeli

  • Büyük Ölçekli Video İşleme: Her milisaniyelik gecikmenin önemli altyapı maliyet tasarruflarına dönüştüğü belirli sunucu GPU'larında binlerce video akışını işliyorsanız, DAMO-YOLO'nun yüksek verimlilik için optimizasyonu faydalı olabilir.
  • Sabit Donanım Kısıtlamaları: Donanımın bilindiği ve statik olduğu senaryolarda, NAS türetilmiş mimariler, mevcut işlem bütçesini mükemmel şekilde doldurmak için seçilebilir.

Ne Zaman YOLOv9 Seçmeli

  • Genel Amaçlı Bilgisayar Görüntüsü: Robotik, güvenlik veya perakende analitiği üzerinde çalışan geliştiricilerin çoğu için YOLOv9, doğruluk ve kullanım kolaylığı açısından en iyi dengeyi sunar.
  • Uç Nokta Dağıtımı: Üstün parametre verimliliği (örneğin, YOLOv9s) sayesinde, Raspberry Pi veya NVIDIA Jetson gibi kısıtlı cihazlara daha iyi uyar ve diğer uygulamalar için daha fazla alan bırakır.
  • Araştırma ve Geliştirme: PGI mimarisi, derin öğrenme verimliliği üzerine daha fazla araştırma için büyüleyici bir temel sağlar.
  • Olgun Bir Ekosistem Gerektirme: Projeniz güvenilir track işlemine, CoreML veya TFLite'a kolay dışa aktarıma ve aktif topluluk desteğine ihtiyaç duyuyorsa, YOLOv9'u çevreleyen Ultralytics ekosisteminin eşi benzeri yoktur.

Sonuç

Hem DAMO-YOLO hem de YOLOv9, nesne algılama alanındaki hızlı inovasyonu sergiliyor. DAMO-YOLO, maksimum hız performansı elde etmek için Sinirsel Mimari Arama'nın değerini kanıtlıyor. Ancak, YOLOv9 çoğu kullanıcı için daha çok yönlü ve güçlü bir çözüm olarak öne çıkıyor.

YOLOv9, PGI ile derin denetim bilgi darboğazını çözerek ve GELAN ile katmanları optimize ederek olağanüstü verimlilikle son teknoloji doğruluğu sunar. Ultralytics ekosistemiyle birleştirildiğinde, konseptten dağıtıma yolculuğu hızlandıran sağlam, iyi yönetilen ve kullanıcı dostu bir platform sunar. Güvenle en son teknoloji görüş uygulamaları oluşturmak isteyen geliştiriciler için Ultralytics YOLO modelleri üstün seçenek olmaya devam ediyor.

Diğer Modelleri İnceleyin

Ultralytics ailesinde diğer son teknoloji ürünü seçenekleri keşfetmekle veya daha fazla karşılaştırma yapmakla ilgileniyorsanız, bu kaynakları göz önünde bulundurun:


Yorumlar