Ultralytics YOLO27:
Get Started

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

Alexey Bochkovskiy tarafından 2020'de https://github.com/AlexeyAB/darknet adresinde yayımlanan, son teknoloji ürünü gerçek zamanlı nesne dedektörü YOLOv4 için Ultralytics belgeleri sayfasına hoş geldin. YOLOv4, hız ve doğruluk arasında en uygun dengeyi sunacak şekilde tasarlanmıştır ve bu da onu birçok uygulama için mükemmel bir seçenek hâline getirir.

YOLOv4 mimari diyagramı YOLOv4 mimari diyagramı. Gerçek zamanlı nesne algılamayı en iyi duruma getirmek üzere birbirine bağlanan katmanlarıyla birlikte omurga, boyun ve başlık bileşenleri dâhil YOLOv4'ün karmaşık ağ tasarımını gösterir.

Giriş#

YOLOv4, You Only Look Once sürüm 4 anlamına gelir. YOLOv3 gibi önceki YOLO sürümlerinin ve diğer nesne algılama modellerinin sınırlamalarını gidermek üzere geliştirilmiş gerçek zamanlı bir nesne algılama modelidir. Diğer evrişimli sinir ağı (CNN) tabanlı nesne dedektörlerinden farklı olarak YOLOv4 yalnızca öneri sistemlerinde değil, bağımsız süreç yönetimi ve insan girdisini azaltma amacıyla da kullanılabilir. Geleneksel grafik işleme birimlerinde (GPU'lar) çalışması, düşük maliyetle yaygın kullanım olanağı sunar. Model, gerçek zamanlı olarak geleneksel bir GPU'da çalışacak ve eğitim için yalnızca bir GPU gerektirecek şekilde tasarlanmıştır.

Mimari#

YOLOv4, performansını iyileştirmek için birlikte çalışan çeşitli yenilikçi özelliklerden yararlanır. Bunlar arasında Weighted-Residual-Connections (WRC), Cross-Stage-Partial-connections (CSP), Cross mini-Batch Normalization (CmBN), Self-adversarial-training (SAT), Mish-activation, Mosaic veri artırma, DropBlock düzenlileştirme ve CIoU kaybı bulunur. Bu özellikler, son teknoloji ürünü sonuçlar elde etmek için bir araya getirilmiştir.

Tipik bir nesne dedektörü; girdi, omurga, boyun ve başlık olmak üzere birkaç bölümden oluşur. YOLOv4'ün omurgası ImageNet üzerinde önceden eğitilir ve nesne sınıflarını ve sınırlayıcı kutuları tahmin etmek için kullanılır. Omurga VGG, ResNet, ResNeXt veya DenseNet gibi çeşitli modellerden biri olabilir. Dedektörün boyun bölümü, farklı aşamalardaki özellik haritalarını toplamak için kullanılır ve genellikle birkaç aşağıdan yukarıya ve yukarıdan aşağıya yol içerir. Son nesne algılamalarını ve sınıflandırmalarını gerçekleştirmek için başlık bölümü kullanılır.

Ücretsiz Avantajlar Paketi#

YOLOv4, eğitim sırasında çıkarım maliyetini artırmadan modelin doğruluğunu iyileştiren ve "ücretsiz avantajlar paketi" olarak bilinen yöntemlerden de yararlanır. Veri artırma, nesne algılama alanında kullanılan yaygın bir ücretsiz avantajlar paketi tekniğidir; modelin sağlamlığını artırmak için girdi görüntülerinin çeşitliliğini artırır. Veri artırma örnekleri arasında fotometrik bozulmalar (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) bulunur. Bu teknikler, modelin farklı görüntü türlerine daha iyi genelleme yapmasına yardımcı olur.

Özellikler ve Performans#

YOLOv4, nesne algılamada en uygun hız ve doğruluğu sunacak şekilde tasarlanmıştır. YOLOv4 mimarisinde omurga olarak CSPDarknet53, boyun olarak PANet ve algılama başlığı olarak YOLOv3 kullanılır. Bu tasarım, YOLOv4'ün etkileyici bir hızda nesne algılamasını sağlayarak onu gerçek zamanlı uygulamalara uygun hâle getirir. YOLOv4, COCO gibi nesne algılama kıyaslamalarında son teknoloji ürünü sonuçlar elde ederek doğruluk konusunda da öne çıkar.

YOLOv5 ve YOLOv7 gibi YOLO ailesindeki diğer modellerle karşılaştırıldığında YOLOv4, hız ve doğruluk dengesi açısından güçlü konumunu korur. Daha yeni modeller bazı avantajlar sunabilse de YOLOv4'ün mimari yenilikleri, gerçek zamanlı performans gerektiren pek çok uygulama için güncelliğini korumasını sağlar.

Kullanım Örnekleri#

YOLOv4, Darknet tabanlı bir modeldir ve Ultralytics Python paketi tarafından yerel olarak desteklenmez: ultralytics/assets üzerinde yayımlanmış yolov4.pt önceden eğitilmiş ağırlıkları ve ultralytics/cfg/models/v4/ YAML dosyaları yoktur. Bu sayfa, mimari başvuru kaynağı olarak tutulmaktadır. YOLOv4'ü çalıştırmak isteyen kullanıcılar kurulum ve kullanım yönergeleri için doğrudan YOLOv4 GitHub deposuna başvurmalıdır.

YOLOv4'ü kullanmak için izleyebileceğin tipik adımlara kısaca göz atalım:

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

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

  3. Kurulum tamamlandıktan sonra modeli depoda verilen kullanım yönergelerine göre eğitebilir ve kullanabilirsin. Bu işlem genellikle veri kümeni hazırlamayı, model parametrelerini yapılandırmayı, modeli eğitmeyi ve ardından eğitilmiş modeli nesne algılama için kullanmayı içerir.

Belirli adımların kullanım senaryona ve YOLOv4 deposunun mevcut durumuna göre değişebileceğini unutma. Bu nedenle doğrudan YOLOv4 GitHub deposundaki yönergelere başvurmanı önemle tavsiye ederiz.

Ultralytics çerçevesinde eğitim ve çıkarım için YOLO11 veya YOLO26 sayfalarına bak.

Sonuç#

YOLOv4, hız ve doğruluk arasında denge kuran güçlü ve verimli bir nesne algılama modelidir. Eğitim sırasında benzersiz özelliklerden ve ücretsiz avantajlar paketi tekniklerinden yararlanması, gerçek zamanlı nesne algılama görevlerinde üstün performans göstermesini sağlar. Geleneksel bir GPU'ya sahip herkes YOLOv4'ü eğitip kullanabilir; bu da modeli gözetim sistemleri, otonom araçlar ve endüstriyel otomasyon dâhil çok çeşitli uygulamalar için erişilebilir ve kullanışlı kılar.

Projelerinde nesne algılama uygulamak isteyenler için YOLOv4, özellikle gerçek zamanlı performans öncelikliyse güçlü bir seçenektir. Ultralytics şu anda YOLO11 ve YOLO26 gibi daha yeni YOLO sürümlerini desteklemeye odaklansa da YOLOv4'te sunulan mimari yenilikler sonraki modellerin geliştirilmesini etkilemiştir.

Atıflar ve Teşekkürler#

Gerçek zamanlı nesne algılama alanına önemli katkılarından dolayı YOLOv4 yazarlarına teşekkür etmek isteriz:

Alıntı
@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}
}

YOLOv4 makalesinin aslına arXiv üzerinden ulaşabilirsin. Yazarlar çalışmalarını kamuya açık hâle getirmiştir ve kod tabanına GitHub üzerinden erişilebilir. Alanı ilerletme ve çalışmalarını daha geniş topluluğun erişimine sunma çabalarını takdir ediyoruz.

Sık Sorulan Sorular#

  • "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 en uygun dengeyi sunarak gerçek zamanlı uygulamalar için son derece elverişli hâle gelir. YOLOv4'ün mimarisi, son teknoloji ürünü sonuçlar elde etmek için Weighted-Residual-Connections (WRC), Cross-Stage-Partial-connections (CSP) ve Self-adversarial-training (SAT) gibi çeşitli yenilikçi özellikleri bünyesinde barındırır. Geleneksel GPU'larda verimli çalışan yüksek performanslı bir model arıyorsan YOLOv4 mükemmel bir seçenektir.

  • YOLOv4 mimarisi birkaç temel bileşenden oluşur: omurga, boyun ve başlık. VGG, ResNet veya CSPDarknet53 gibi modellerden oluşabilen omurga; sınıfları ve sınırlayıcı kutuları tahmin etmek üzere önceden eğitilir. PANet kullanan boyun, kapsamlı veri çıkarımı için farklı aşamalardaki özellik haritalarını birbirine bağlar. Son olarak YOLOv3 yapılandırmalarını kullanan başlık, son nesne algılamalarını gerçekleştirir. YOLOv4 ayrıca hız ve doğruluğunu daha da optimize etmek için mozaik veri artırma ve DropBlock düzenlileştirme gibi "ücretsiz avantajlar paketi" tekniklerinden yararlanır.

  • "Ücretsiz avantajlar paketi", çıkarım maliyetini artırmadan YOLOv4'ün eğitim doğruluğunu iyileştiren yöntemleri ifade eder. Bu teknikler; fotometrik bozulmalar (parlaklığı, kontrastı vb. ayarlama) ve geometrik bozulmalar (ölçekleme, kırpma, çevirme ve döndürme) gibi çeşitli veri artırma biçimlerini içerir. Girdi görüntülerinin çeşitliliğini artıran bu artırmalar, YOLOv4'ün farklı görüntü türlerine daha iyi genelleme yapmasına yardımcı olur; böylece gerçek zamanlı performanstan ödün vermeden sağlamlığı ve doğruluğu iyileşir.

  • YOLOv4, hem hızı hem de doğruluğu optimize edecek şekilde 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 çalışır ve hem eğitim hem de çıkarım için yalnızca bir GPU gerektirir. Bu özelliği, öneri sistemlerinden bağımsız süreç yönetimine kadar çeşitli uygulamalarda modeli erişilebilir ve kullanışlı kılar; böylece kapsamlı donanım kurulumlarına duyulan ihtiyacı azaltır ve gerçek zamanlı nesne algılama için uygun maliyetli bir çözüm sunar.

  • YOLOv4'ü kullanmaya başlamak için resmî YOLOv4 GitHub deposunu ziyaret etmelisin. Depoyu klonlamayı, bağımlılıkları yüklemeyi ve ortam değişkenlerini ayarlamayı içeren README dosyasındaki kurulum yönergelerini izle. Kurulum tamamlandıktan sonra veri kümeni hazırlayıp model parametrelerini yapılandırarak ve verilen kullanım yönergelerini izleyerek modeli eğitebilirsin. Ultralytics şu anda YOLOv4'ü desteklemediğinden, en güncel ve ayrıntılı yönergeler için doğrudan YOLOv4 GitHub deposuna başvurmanı öneririz.

Yorumlar