İçeriğe geç

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

https://github.com/AlexeyAB/darknet adresindeki Alexey Bochkovskiy tarafından 2020'de piyasaya sürülen, son teknoloji ürünü, gerçek zamanlı bir nesne algılayıcısı olan YOLOv4 için Ultralytics dokümantasyon sayfasına hoş geldiniz. YOLOv4, hız ve doğruluk arasında optimum dengeyi sağlamak üzere 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 karmaşık ağ tasarımını, backbone, neck ve head bileşenleri ve bunların optimum gerçek zamanlı nesne algılama için birbirine bağlı katmanları dahil olmak üzere sergiliyor.

Giriş

YOLOv4, You Only Look Once sürüm 4 anlamına gelir. Önceki YOLO sürümlerinin (YOLOv3 gibi) ve diğer nesne algılama modellerinin sınırlamalarını gidermek için geliştirilmiş gerçek zamanlı bir nesne algılama modelidir. Diğer evrişimsel sinir ağı (CNN) tabanlı nesne algılayıcılarından farklı olarak, YOLOv4 yalnızca öneri sistemleri için değil, aynı zamanda bağımsız süreç yönetimi ve insan girdisi azaltımı için de uygulanabilir. Geleneksel grafik işleme birimlerinde (GPU'lar) çalışması, uygun bir fiyata toplu kullanıma olanak tanır ve eğitim için yalnızca bir GPU gerektirirken, geleneksel bir GPU üzerinde gerçek zamanlı olarak çalışacak şekilde tasarlanmıştır.

Mimari

YOLOv4, performansını optimize etmek için birlikte çalışan çeşitli yenilikçi özellikler kullanır. Bunlar arasında Ağırlıklı-Artık-Bağlantılar (WRC), Çapraz-Aşamalı-Kısmi-Bağlantılar (CSP), Çapraz mini-Yığın Normalleştirme (CmBN), Kendinden-çekişmeli-eğitim (SAT), Mish-aktivasyonu, Mozaik veri artırma, DropBlock düzenlileştirme ve CIoU kaybı bulunur. Bu özellikler, son teknoloji sonuçlar elde etmek için bir araya getirilmiştir.

Tipik bir nesne dedektörü, girdi, backbone, boyun ve başlık dahil olmak üzere çeşitli parçalardan oluşur. YOLOv4'ün backbone'u 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. Backbone, VGG, ResNet, ResNeXt veya DenseNet dahil olmak üzere çeşitli modellerden olabilir. Dedektörün boyun kısmı, farklı aşamalardan özellik haritalarını 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şlık kısmı, son nesne algılamalarını ve sınıflandırmalarını yapmak için kullanılan kısımdır.

Ücretsiz Ekstralar Paketi

YOLOv4 ayrıca, çıkarım maliyetini artırmadan modelin doğruluğunu eğitim sırasında iyileştiren teknikler olan "bedava hediyeler" olarak bilinen yöntemleri de kullanır. Veri artırma, modelin sağlamlığını artırmak için girdi görüntülerinin değişkenliğini artıran, nesne algılamada kullanılan yaygın bir bedava hediyeler tekniğidir. Veri artırmaya bazı örnekler, 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) içerir. Bu teknikler, modelin farklı türdeki görüntülere daha iyi genelleme yapmasına yardımcı olur.

Özellikler ve Performans

YOLOv4, nesne algılamada optimum hız ve doğruluk için tasarlanmıştır. YOLOv4'ün mimarisi, backbone olarak CSPDarknet53, neck olarak PANet ve algılama başlığı olarak YOLOv3'ü içerir. Bu tasarım, YOLOv4'ün etkileyici bir hızda nesne algılama gerçekleştirmesini sağlayarak gerçek zamanlı uygulamalar için uygun hale getirir. YOLOv4 ayrıca COCO gibi nesne algılama kıyaslamalarında son teknoloji sonuçlar elde ederek doğrulukta da üstündür.

YOLOv5 ve YOLOv7 gibi YOLO ailesindeki diğer modellerle karşılaştırıldığında, YOLOv4 hız ve doğruluk arasındaki dengede güçlü bir konumunu korumaktadır. Daha yeni modeller bazı avantajlar sunsa da, YOLOv4'ün mimari yenilikleri, gerçek zamanlı performans gerektiren birçok uygulama için onu alakalı kılmaya devam etmektedir.

Kullanım Örnekleri

Bu yazının yazıldığı an itibarıyla Ultralytics, YOLOv4 modellerini henüz desteklememektedir. Bu nedenle, YOLOv4'ü kullanmak isteyen kullanıcıların kurulum ve kullanım talimatları için doğrudan YOLOv4 GitHub deposuna başvurmaları gerekecektir.

İşte YOLOv4'ü kullanmak için atabileceğiniz tipik adımların kısa bir özeti:

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

  2. Kurulum için README dosyasında verilen talimatları izleyin. Bu genellikle depoyu klonlamayı, gerekli bağımlılıkları yüklemeyi ve gerekli ortam değişkenlerini ayarlamayı içerir.

  3. Kurulum tamamlandıktan sonra, modeli depoda sağlanan kullanım talimatlarına göre eğitebilir ve kullanabilirsiniz. Bu genellikle veri kümenizi hazırlamayı, model parametrelerini yapılandırmayı, modeli eğitmeyi ve ardından eğitilmiş modeli nesne tespiti yapmak için 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.

Bu durumun neden olabileceği herhangi bir rahatsızlıktan dolayı üzgünüz ve YOLOv4 için destek uygulandıktan sonra 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 bedava hediyeler tekniklerini 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 gözetim sistemleri, otonom araçlar ve endüstriyel otomasyon dahil olmak üzere çok çeşitli uygulamalar için erişilebilir ve pratik hale getirir.

Projelerinde nesne tespiti uygulamak isteyenler için YOLOv4, özellikle gerçek zamanlı performans bir öncelik olduğunda güçlü bir rakip olmaya devam ediyor. Ultralytics şu anda YOLOv8 ve YOLO11 gibi daha yeni YOLO sürümlerini desteklemeye odaklanırken, YOLOv4'te tanıtılan mimari yenilikler bu sonraki modellerin gelişimini etkilemiştir.

Alıntılar ve Teşekkürler

Gerçek zamanlı nesne algılama alanındaki önemli katkılarından dolayı YOLOv4 yazarlarına 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 makalesine arXiv üzerinden ulaşılabilir. Yazarlar çalışmalarını kamuya açık hale getirmişlerdir ve kod tabanına GitHub üzerinden erişilebilir. Alanı geliştirmedeki ve çalışmalarını daha geniş bir topluluğa erişilebilir kılmadaki çabalarını takdir ediyoruz.

SSS

YOLOv4 nedir ve neden nesne tespiti için kullanmalıyım?

"You Only Look Once sürüm 4" anlamına gelen YOLOv4, Alexey Bochkovskiy tarafından 2020'de geliştirilen son teknoloji ürünü gerçek zamanlı bir nesne algılama modelidir. Hız ve doğruluk arasında optimum bir denge sağlayarak, gerçek zamanlı uygulamalar için son derece uygundur. YOLOv4'ün mimarisi, diğerlerinin yanı sıra, son teknoloji sonuçlar elde etmek için Ağırlıklı-Artık-Bağlantılar (WRC), Çapraz-Aşamalı-Kısmi-Bağlantılar (CSP) ve Kendinden-Çekişmeli-Eğitim (SAT) gibi çeşitli yenilikçi özellikleri 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ır?

YOLOv4'ün mimarisi, birkaç temel bileşen içerir: backbone, neck ve head. VGG, ResNet veya CSPDarknet53 gibi modeller olabilen backbone, sınıfları ve sınırlayıcı kutuları tahmin etmek için önceden eğitilmiştir. PANet'i kullanan neck, kapsamlı veri çıkarımı için farklı aşamalardaki özellik haritalarını birbirine bağlar. Son olarak, YOLOv3'ten yapılandırmalar kullanan head, son nesne tespitlerini yapar. YOLOv4 ayrıca mozaik veri artırma ve DropBlock düzenlileştirme gibi "bedava hediyeler" tekniklerini kullanarak hızını ve doğruluğunu daha da optimize eder.

YOLOv4 bağlamında "bedava hediyeler" nelerdir?

"Bedava eşantiyonlar", çıkarım maliyetini artırmadan YOLOv4'ün eğitim doğruluğunu iyileş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 artırmalar YOLOv4'ün farklı görüntü türlerine daha iyi genellemesine yardımcı olur, böylece gerçek zamanlı performansından ödün vermeden sağlamlığını ve doğruluğunu artırır.

YOLOv4, geleneksel GPU'larda gerçek zamanlı nesne tespiti için neden uygun kabul edilir?

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 kılar. Geleneksel GPU'larda verimli bir şekilde çalışır ve hem eğitim hem de çıkarım için yalnızca bir tanesine ihtiyaç duyar. Bu, onu öneri sistemlerinden bağımsız süreç yönetimine kadar çeşitli uygulamalar için erişilebilir ve pratik hale getirir, böylece 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'e nasıl başlayabilirim?

YOLOv4'e başlamak için, resmi YOLOv4 GitHub deposunu ziyaret etmelisiniz. Genellikle depoyu klonlamayı, bağımlılıkları yüklemeyi ve ortam değişkenlerini ayarlamayı içeren README dosyasında sağlanan kurulum talimatlarını izleyin. Kurulduktan sonra, veri kümenizi 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'ına başvurmanız önerilir.



📅 1 yıl önce oluşturuldu ✏️ 3 ay önce güncellendi

Yorumlar