İçeriğe geç

YOLOv7: Eğitilebilir Ücretsiz Çantalar

YOLOv7, 5 FPS ila 160 FPS aralığında hem hız hem de doğruluk açısından bilinen tüm nesne dedektörlerini geride bırakan son teknoloji ürünü bir gerçek zamanlı nesne dedektörüdür. GPU V100'de 30 FPS veya daha yüksek hızda bilinen tüm gerçek zamanlı nesne dedektörleri arasında en yüksek doğruluğa (%56,8 AP) sahiptir. Ayrıca, YOLOv7, YOLOR, YOLOX, Scaled-YOLOv4, YOLOv5 ve diğerleri gibi diğer nesne dedektörlerinden hız ve doğruluk açısından daha iyi performans gösterir. Model, başka veri kümeleri veya önceden eğitilmiş ağırlıklar kullanılmadan sıfırdan MS COCO veri kümesi üzerinde eğitilmiştir. YOLOv7 için kaynak kodu GitHub'da mevcuttur.

YOLOv7 ile SOTA nesne dedektörlerinin karşılaştırılması Son teknoloji nesne dedektörlerinin karşılaştırılması. Tablo 2'deki sonuçlardan, önerilen yöntemin kapsamlı olarak en iyi hız-doğruluk dengesine sahip olduğunu biliyoruz. YOLOv7-tiny-SiLU'yu YOLOv5-N (r6.1) ile karşılaştırırsak, yöntemimizin 127 fps daha hızlı ve AP'de %10,7 daha doğru olduğunu görürüz. Buna ek olarak, YOLOv7 161 fps kare hızında %51,4 AP'ye sahipken, aynı AP'ye sahip PPYOLOE-L sadece 78 fps kare hızına sahiptir. Parametre kullanımı açısından YOLOv7, PPYOLOE-L'den %41 daha azdır. 114 fps çıkarım hızına sahip YOLOv7-X'i 99 fps çıkarım hızına sahip YOLOv5-L (r6.1) ile karşılaştırırsak, YOLOv7-X AP'yi %3,9 oranında iyileştirebilir. YOLOv7-X, benzer ölçekteki YOLOv5-X (r6.1) ile karşılaştırılırsa, YOLOv7-X'in çıkarım hızı 31 fps daha hızlıdır. Ayrıca, parametre ve hesaplama miktarı açısından YOLOv7-X, YOLOv5-X (r6.1) ile karşılaştırıldığında parametreleri %22 ve hesaplamayı %8 oranında azaltırken AP'yi %2,2 oranında iyileştirmektedir (Kaynak).

Genel Bakış

Gerçek zamanlı nesne algılama, çoklu nesne takibi, otonom sürüş, robotik ve tıbbi görüntü analizi dahil olmak üzere birçok bilgisayarla görme sisteminde önemli bir bileşendir. Son yıllarda, gerçek zamanlı nesne algılama gelişimi, verimli mimariler tasarlamaya ve çeşitli CPU'ların, GPU'ların ve sinir işleme birimlerinin (NPU'lar) çıkarım hızını artırmaya odaklanmıştır. YOLOv7, uçtan buluta kadar hem mobil GPU hem de GPU cihazlarını destekler.

Mimari optimizasyonuna odaklanan geleneksel gerçek zamanlı nesne dedektörlerinin aksine, YOLOv7 eğitim sürecinin optimizasyonuna odaklanmaktadır. Bu, "eğitilebilir ücretsiz torba" olarak bilinen bir kavram olan çıkarım maliyetini artırmadan nesne algılama doğruluğunu artırmak için tasarlanmış modülleri ve optimizasyon yöntemlerini içerir.

Temel Özellikler

YOLOv7 birkaç temel özellik sunuyor:

  1. Model Yeniden Parametrelendirme: YOLOv7, gradyan yayılım yolu kavramı ile farklı ağlardaki katmanlara uygulanabilen bir strateji olan planlı bir yeniden parametreli model önermektedir.

  2. Dinamik Etiket Ataması: Birden fazla çıktı katmanına sahip modelin eğitimi yeni bir sorun ortaya çıkarmaktadır: "Farklı dalların çıktıları için dinamik hedefler nasıl atanır?" Bu sorunu çözmek için YOLOv7, kabadan inceye kılavuzlu etiket ataması adı verilen yeni bir etiket atama yöntemi sunmaktadır.

  3. Genişletilmiş ve Bileşik Ölçeklendirme: YOLOv7, gerçek zamanlı nesne dedektörü için parametreleri ve hesaplamayı etkin bir şekilde kullanabilen "genişletme" ve "bileşik ölçeklendirme" yöntemleri önermektedir.

  4. Verimlilik: YOLOv7 tarafından önerilen yöntem, son teknoloji ürünü gerçek zamanlı nesne dedektörünün yaklaşık %40 parametresini ve %50 hesaplamasını etkili bir şekilde azaltabilir ve daha hızlı çıkarım hızına ve daha yüksek tespit doğruluğuna sahiptir.

Kullanım Örnekleri

Yazının yazıldığı tarih itibariyle Ultralytics şu anda YOLOv7 modellerini desteklememektedir. Bu nedenle, YOLOv7'yi kullanmak isteyen tüm kullanıcıların kurulum ve kullanım talimatları için doğrudan YOLOv7 GitHub deposuna başvurmaları gerekecektir.

İşte YOLOv7'yi kullanmak için atabileceğiniz tipik adımlara kısa bir genel bakış:

  1. YOLOv7 GitHub deposunu ziyaret edin: https://github.com/WongKinYiu/yolov7.

  2. Kurulum için README dosyasında verilen talimatları izleyin. Bu genellikle deponun klonlanmasını, gerekli bağımlılıkların kurulmasını ve gerekli ortam değişkenlerinin ayarlanmasını içerir.

  3. Kurulum tamamlandıktan sonra, depoda sağlanan kullanım talimatlarına göre modeli eğitebilir ve kullanabilirsiniz. Bu genellikle veri setinizi hazırlamayı, model parametrelerini yapılandırmayı, modeli eğitmeyi ve ardından nesne algılama gerçekleştirmek için eğitilmiş modeli kullanmayı içerir.

Lütfen belirli adımların özel kullanım durumunuza ve YOLOv7 deposunun mevcut durumuna bağlı olarak değişebileceğini unutmayın. Bu nedenle, doğrudan YOLOv7 GitHub deposunda sağlanan talimatlara başvurmanız şiddetle tavsiye edilir.

Bunun neden olabileceği her türlü rahatsızlıktan dolayı üzgünüz ve YOLOv7 desteği uygulandığında bu belgeyi Ultralytics için kullanım örnekleriyle güncellemeye çalışacağız.

Atıflar ve Teşekkür

YOLOv7 yazarlarına gerçek zamanlı nesne algılama alanındaki önemli katkılarından dolayı teşekkür ederiz:

@article{wang2022yolov7,
  title={{YOLOv7}: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors},
  author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark},
  journal={arXiv preprint arXiv:2207.02696},
  year={2022}
}

Orijinal YOLOv7 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.



Oluşturma 2023-11-12, Güncelleme 2024-01-07
Yazarlar: glenn-jocher (5), sergiuwaxmann (1)

Yorumlar