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 algılama için birbirine bağlı katmanları 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şlem 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 gerektirirken, geleneksel bir GPU üzerinde 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ış:
-
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
YOLOv4 nedir ve nesne algılama için neden kullanmalıyım?
Açılımı "You Only Look Once version 4" olan YOLOv4, 2020 yılında Alexey Bochkovskiy tarafından geliştirilen son teknoloji ürünü bir gerçek zamanlı nesne algılama modelidir. Hız ve doğruluk arasında optimum bir denge kurarak gerçek zamanlı uygulamalar için son derece uygundur. YOLOv4'ün mimarisi, en gelişmiş sonuçları elde etmek için diğerlerinin yanı sıra Ağırlıklı-Arızi Bağlantılar (WRC), Çapraz Aşamalı-Kısmi Bağlantılar (CSP) ve Kendi kendine düşmanca eğitim (SAT) gibi çeşitli yenilikçi özellikler içerir. Geleneksel GPU'larda verimli bir şekilde çalışan yüksek performanslı bir model arıyorsanız, YOLOv4 mükemmel bir seçimdir.
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 hem hızı hem de doğruluğu optimize etmek için tasarlanmıştır, bu da onu hızlı ve güvenilir performans gerektiren gerçek zamanlı nesne algılama görevleri için ideal hale getirir. Geleneksel GPU'larda verimli bir şekilde çalışır ve hem eğitim hem de çıkarım için yalnızca bir GPU'ya ihtiyaç duyar. Bu da onu öneri sistemlerinden bağımsız süreç yönetimine kadar çeşitli uygulamalar için erişilebilir ve pratik hale getirerek kapsamlı donanım kurulumlarına olan ihtiyacı azaltır ve gerçek zamanlı nesne algılama için uygun maliyetli bir çözüm haline getirir.
Ultralytics şu anda desteklemiyorsa YOLOv4'ü kullanmaya 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.