İçeriğe geç

YOLOv4: Yüksek Hızlı ve Hassas Nesne Algılama

Alexey Bochkovskiy tarafından 2020 yılında https://github.com/AlexeyAB/darknet adresinde piyasaya sürülen son teknoloji ürünü, gerçek zamanlı bir nesne dedektörü olan YOLOv4 için Ultralytics dokümantasyon sayfasına hoş geldiniz. YOLOv4, hız ve doğruluk arasında optimum dengeyi sağlamak için tasarlanmıştır ve bu da onu birçok uygulama için mükemmel bir seçim haline getirir.

YOLOv4 mimari diyagramı YOLOv4 mimari diyagramı. YOLOv4'ün omurga, boyun ve kafa bileşenleri ve bunların optimum gerçek zamanlı nesne tespiti için birbirine bağlı katmanları da dahil olmak üzere karmaşık ağ tasarımını sergiliyor.

Giriş

YOLOv4, You Only Look Once sürüm 4 anlamına gelmektedir. YOLOv3 gibi önceki YOLO sürümlerinin ve diğer nesne algılama modellerinin sınırlamalarını ele almak için geliştirilmiş gerçek zamanlı bir nesne algılama modelidir. Diğer evrişimli sinir ağı (CNN) tabanlı nesne algılayıcıların aksine, YOLOv4 sadece tavsiye sistemleri için değil, aynı zamanda bağımsız süreç yönetimi ve insan girdisi azaltma için de uygulanabilir. Geleneksel grafik işleme birimleri (GPU'lar) üzerinde çalışması, uygun bir fiyatla kitlesel kullanıma izin verir ve eğitim için yalnızca böyle bir GPU'ya ihtiyaç duyarken geleneksel bir GPU'da gerçek zamanlı olarak çalışmak üzere tasarlanmıştır.

Mimarlık

YOLOv4, performansını optimize etmek için birlikte çalışan çeşitli yenilikçi özelliklerden yararlanır. Bunlar arasında Ağırlıklı-Arızi Bağlantılar (WRC), Çapraz Aşamalı-Kısmi Bağlantılar (CSP), Çapraz mini-Yığın Normalleştirme (CmBN), Kendinden-adversarial-eğitim (SAT), Yanlış-aktivasyon, Mozaik veri artırımı, DropBlock düzenlemesi ve CIoU kaybı bulunmaktadır. Bu özellikler, son teknoloji ürünü sonuçlar elde etmek için bir araya getirilmiştir.

Tipik bir nesne detektörü girdi, omurga, boyun ve kafa gibi çeşitli parçalardan oluşur. YOLOv4'ün omurgası ImageNet üzerinde önceden eğitilmiştir ve nesnelerin sınıflarını ve sınırlayıcı kutularını tahmin etmek için kullanılır. Omurga, VGG, ResNet, ResNeXt veya DenseNet dahil olmak üzere çeşitli modellerden olabilir. Dedektörün boyun kısmı, farklı aşamalardan özellik haritaları toplamak için kullanılır ve genellikle birkaç aşağıdan yukarıya yol ve birkaç yukarıdan aşağıya yol içerir. Baş kısmı, nihai nesne tespitlerini ve sınıflandırmalarını yapmak için kullanılan kısımdır.

Ücretsiz Çantalar

YOLOv4 ayrıca, çıkarım maliyetini artırmadan eğitim sırasında modelin doğruluğunu artıran teknikler olan "bag of freebies" olarak bilinen yöntemleri de kullanır. Veri artırımı, nesne tespitinde kullanılan ve modelin sağlamlığını artırmak için girdi görüntülerinin değişkenliğini artıran yaygın bir serbest torba tekniğidir. Veri artırmanın bazı örnekleri arasında fotometrik bozulmalar (bir görüntünün parlaklığını, kontrastını, tonunu, doygunluğunu ve gürültüsünü ayarlama) ve geometrik bozulmalar (rastgele ölçekleme, kırpma, çevirme ve döndürme ekleme) yer alır. Bu teknikler modelin farklı görüntü türlerine daha iyi genelleme yapmasına yardımcı olur.

Özellikler ve Performans

YOLOv4 nesne tespitinde optimum hız ve doğruluk için tasarlanmıştır. YOLOv4'ün mimarisi omurga olarak CSPDarknet53, boyun olarak PANet ve algılama kafası olarak YOLOv3'ü içerir. Bu tasarım, YOLOv4'ün nesne tespitini etkileyici bir hızda gerçekleştirmesini sağlayarak onu gerçek zamanlı uygulamalar için uygun hale getirir. YOLOv4 aynı zamanda doğruluk konusunda da üstündür ve nesne algılama kıyaslamalarında son teknoloji ürünü sonuçlar elde eder.

Kullanım Örnekleri

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

YOLOv4'ü kullanmak için atabileceğiniz tipik adımlara kısa bir genel bakış:

  1. YOLOv4 GitHub deposunu ziyaret edin: https://github.com/AlexeyAB/darknet.

  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 YOLOv4 deposunun mevcut durumuna bağlı olarak değişebileceğini unutmayın. Bu nedenle, doğrudan YOLOv4 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 YOLOv4 desteği uygulandığında bu belgeyi Ultralytics için kullanım örnekleriyle güncellemeye çalışacağız.

Sonuç

YOLOv4, hız ve doğruluk arasında bir denge kuran güçlü ve verimli bir nesne algılama modelidir. Eğitim sırasında benzersiz özellikler ve ücretsiz teknikler kullanması, gerçek zamanlı nesne algılama görevlerinde mükemmel performans göstermesini sağlar. YOLOv4, geleneksel bir GPU'ya sahip herkes tarafından eğitilebilir ve kullanılabilir, bu da onu çok çeşitli uygulamalar için erişilebilir ve pratik hale getirir.

Atıflar ve Teşekkür

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

@misc{bochkovskiy2020yolov4,
      title={YOLOv4: Optimal Speed and Accuracy of Object Detection},
      author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao},
      year={2020},
      eprint={2004.10934},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Orijinal YOLOv4 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 (6), sergiuwaxmann (1)

Yorumlar