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'ü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 stands for You Only Look Once version 4. It is a real-time object detection model developed to address the limitations of previous YOLO versions like YOLOv3 and other object detection models. Unlike other convolutional neural network (CNN) based object detectors, YOLOv4 is not only applicable for recommendation systems but also for standalone process management and human input reduction. Its operation on conventional graphics processing units (GPUs) allows for mass usage at an affordable price, and it is designed to work in real-time on a conventional GPU while requiring only one such GPU for training.
Mimarlık
YOLOv4 makes use of several innovative features that work together to optimize its performance. These include Weighted-Residual-Connections (WRC), Cross-Stage-Partial-connections (CSP), Cross mini-Batch Normalization (CmBN), Self-adversarial-training (SAT), Mish-activation, Mosaic data augmentation, DropBlock regularization, and CIoU loss. These features are combined to achieve state-of-the-art results.
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ış:
-
YOLOv4 GitHub deposunu ziyaret edin: https://github.com/AlexeyAB/darknet.
-
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.
-
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 adresine 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:
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.
SSS
What is YOLOv4 and why should I use it for object detection?
YOLOv4, which stands for "You Only Look Once version 4," is a state-of-the-art real-time object detection model developed by Alexey Bochkovskiy in 2020. It achieves an optimal balance between speed and accuracy, making it highly suitable for real-time applications. YOLOv4's architecture incorporates several innovative features like Weighted-Residual-Connections (WRC), Cross-Stage-Partial-connections (CSP), and Self-adversarial-training (SAT), among others, to achieve state-of-the-art results. If you're looking for a high-performance model that operates efficiently on conventional GPUs, YOLOv4 is an excellent choice.
YOLOv4'ün mimarisi performansını nasıl artırıyor?
YOLOv4'ün mimarisi birkaç temel bileşen içerir: omurga, boyun ve kafa. VGG, ResNet veya CSPDarknet53 gibi modeller olabilen omurga, sınıfları ve sınırlayıcı kutuları tahmin etmek için önceden eğitilmiştir. PANet kullanan boyun, kapsamlı veri çıkarımı için farklı aşamalardan gelen özellik haritalarını birbirine bağlar. Son olarak, YOLOv3'teki konfigürasyonları kullanan kafa, nihai nesne tespitlerini yapar. YOLOv4 ayrıca mozaik veri artırımı ve DropBlock düzenlemesi gibi "bag of freebies" tekniklerini kullanarak hızını ve doğruluğunu daha da optimize eder.
YOLOv4 bağlamında "bir çanta dolusu bedava" nedir?
"Bedavalar torbası", çıkarım maliyetini artırmadan YOLOv4'ün eğitim doğruluğunu geliştiren yöntemleri ifade eder. Bu teknikler fotometrik bozulmalar (parlaklık, kontrast vb. ayarlama) ve geometrik bozulmalar (ölçekleme, kırpma, çevirme, döndürme) gibi çeşitli veri artırma biçimlerini içerir. Giriş görüntülerinin değişkenliğini artırarak, bu büyütmeler YOLOv4'ün farklı görüntü türlerine daha iyi genelleme yapmasına yardımcı olur, böylece gerçek zamanlı performansından ödün vermeden sağlamlığını ve doğruluğunu artırır.
YOLOv4 neden geleneksel GPU'larda gerçek zamanlı nesne tespiti için uygun görülüyor?
YOLOv4 is designed to optimize both speed and accuracy, making it ideal for real-time object detection tasks that require quick and reliable performance. It operates efficiently on conventional GPUs, needing only one for both training and inference. This makes it accessible and practical for various applications ranging from recommendation systems to standalone process management, thereby reducing the need for extensive hardware setups and making it a cost-effective solution for real-time object detection.
Ultralytics şu anda desteklemiyorsa YOLOv4 ile nasıl başlayabilirim?
YOLOv4'ü kullanmaya başlamak için resmi YOLOv4 GitHub deposunu ziyaret etmelisiniz. README dosyasında verilen ve genellikle depoyu klonlama, bağımlılıkları yükleme ve ortam değişkenlerini ayarlamayı içeren kurulum talimatlarını izleyin. Kurulduktan sonra, veri setinizi hazırlayarak, model parametrelerini yapılandırarak ve sağlanan kullanım talimatlarını izleyerek modeli eğitebilirsiniz. Ultralytics şu anda YOLOv4'ü desteklemediğinden, en güncel ve ayrıntılı rehberlik için doğrudan YOLOv4 GitHub'a başvurmanız önerilir.