YOLOv3 ve YOLOv3u#
Genel Bakış#
Bu belge, birbiriyle yakından ilişkili üç nesne algılama modeline genel bir bakış sunar: YOLOv3, YOLOv3-Ultralytics ve YOLOv3u.
-
YOLOv3: Bu, You Only Look Once (YOLO) nesne algılama algoritmasının üçüncü sürümüdür. İlk olarak Joseph Redmon tarafından geliştirilen YOLOv3, çok ölçekli tahminler ve üç farklı algılama çekirdeği boyutu gibi özellikleri kullanıma sunarak önceki sürümlerini geliştirmiştir.
-
YOLOv3-Ultralytics: Bu, YOLOv3'ün Ultralytics PyTorch uygulamasıdır ve ultralytics/yolov3 deposunda sürdürülmektedir. Özgün çapa tabanlı mimariyi korurken daha fazla önceden eğitilmiş model ve daha kolay özelleştirme olanağı sunar.
-
YOLOv3u: Bu, YOLOv8 modellerinde kullanılan çapadan bağımsız, nesne olasılığı içermeyen ayrık başlığı bünyesine katan, YOLOv3-Ultralytics'in güncellenmiş sürümüdür. YOLOv3u, YOLOv3 ile aynı omurga ve boyun mimarisini korur, ancak YOLOv8'in güncellenmiş algılama başlığını kullanır.

Temel Özellikler#
-
YOLOv3: Algılama için 13x13, 26x26 ve 52x52 boyutlarında üç farklı algılama çekirdeğinden yararlanan üç farklı ölçeğin kullanımını tanıttı. Bu, farklı boyutlardaki nesneler için algılama doğruluğunu önemli ölçüde artırdı. Ayrıca YOLOv3, her sınırlayıcı kutu için çok etiketli tahminler ve daha iyi bir özellik çıkarıcı ağ gibi özellikler ekledi.
-
YOLOv3u: Bu güncellenmiş model, YOLOv8'in çapadan bağımsız, nesne olasılığı içermeyen ayrık başlığını bünyesine katar. Önceden tanımlanmış çapa kutularına ve nesne olasılığı puanlarına duyulan ihtiyacı ortadan kaldıran bu algılama başlığı tasarımı, modelin farklı boyut ve şekillerdeki nesneleri algılama becerisini geliştirebilir. Böylece YOLOv3u, nesne algılama görevlerinde daha sağlam ve doğru sonuçlar verir.
Desteklenen Görevler ve Modlar#
YOLOv3, özellikle nesne algılama görevleri için tasarlanmıştır. Ultralytics, YOLOv3'ün üç varyantını destekler: yolov3u, yolov3-tinyu ve yolov3-sppu. Adlarındaki u, özgün mimarileri çapa tabanlıyken bu modellerin YOLOv8'in çapadan bağımsız başlığını kullandığını belirtir. Bu modeller, doğruluk ve hızı dengeleyerek çeşitli gerçek dünya senaryolarındaki etkinlikleriyle tanınır. Her varyant, kendine özgü özellikler ve optimizasyonlar sunarak çeşitli uygulamalara uygun hâle gelir.
Üç model de model dağıtımı ve geliştirme süreçlerinin farklı aşamalarında çok yönlülük sağlayan kapsamlı bir mod kümesini destekler. Bu modlar arasında Çıkarım, Doğrulama, Eğitim ve Dışa aktarma yer alır; böylece kullanıcılara etkili nesne algılama için eksiksiz bir araç seti sunulur.
| Model Türü | Önceden Eğitilmiş Ağırlıklar | Desteklenen Görevler | Eğitim | Doğrulama | Çıkarım | Dışa aktar |
|---|---|---|---|---|---|---|
| YOLOv3(u) | yolov3u.pt | Nesne Algılama | ✅ | ✅ | ✅ | ✅ |
| YOLOv3-Tiny(u) | yolov3-tinyu.pt | Nesne Algılama | ✅ | ✅ | ✅ | ✅ |
| YOLOv3-SPP(u) | yolov3-sppu.pt | Nesne Algılama | ✅ | ✅ | ✅ | ✅ |
Bu tablo, her YOLOv3 varyantının yeteneklerine hızlıca göz atma olanağı sunar ve nesne algılama iş akışlarındaki çeşitli görevler ile çalışma modlarına uygunluklarını ve çok yönlülüklerini öne çıkarır.
Kullanım Örnekleri#
Bu örnek, YOLOv3 ile eğitim ve çıkarım yapmaya yönelik basit örnekler sunar. Bunlar ve diğer modlar hakkında tüm belgeler için Tahmin, Eğitim, Doğrulama ve Dışa aktarma belge sayfalarına bak.
PyTorch önceden eğitilmiş *.pt modelleri ve yapılandırma *.yaml dosyaları, Python'da bir model örneği oluşturmak için YOLO() sınıfına aktarılabilir:
from ultralytics import YOLO
# COCO üzerinde önceden eğitilmiş bir YOLOv3u modelini yükle
model = YOLO("yolov3u.pt")
# Model bilgilerini görüntüle (isteğe bağlı)
model.info()
# Modeli COCO8 örnek veri kümesinde 100 dönem boyunca eğit
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 'bus.jpg' görüntüsünde YOLOv3u modeliyle çıkarım yap
results = model("path/to/bus.jpg")Atıflar ve Teşekkürler#
Araştırmanda YOLOv3 kullanıyorsan lütfen özgün YOLO makalelerine ve Ultralytics YOLOv3 deposuna atıfta bulun:
@article{redmon2018yolov3,
title={YOLOv3: An Incremental Improvement},
author={Redmon, Joseph and Farhadi, Ali},
journal={arXiv preprint arXiv:1804.02767},
year={2018}
}Özgün YOLOv3'ü geliştirdikleri için Joseph Redmon ve Ali Farhadi'ye teşekkür ederiz.
Sık Sorulan Sorular#
YOLOv3, Joseph Redmon tarafından geliştirilen YOLO (You Only Look Once) nesne algılama algoritmasının üçüncü yinelemesidir. Doğruluk ve hızı dengelemesiyle tanınır ve algılama için üç farklı ölçekten (13x13, 26x26 ve 52x52) yararlanır. YOLOv3-Ultralytics, YOLOv3'ün daha fazla önceden eğitilmiş model desteği ekleyen ve model özelleştirmeyi kolaylaştıran Ultralytics uyarlamasıdır. YOLOv3u ise YOLOv3-Ultralytics'in, YOLOv8'in çapadan bağımsız ve nesne olasılığı içermeyen ayrık başlığını bütünleştiren geliştirilmiş varyantıdır; böylece farklı boyutlardaki nesneler için algılama sağlamlığını ve doğruluğunu artırır. Varyantlar hakkında daha fazla bilgi için YOLOv3 serisine bak.
Ultralytics ile YOLOv3 modeli eğitmek kolaydır. Modeli Python veya CLI kullanarak eğitebilirsin:
Örnekfrom ultralytics import YOLO # COCO üzerinde önceden eğitilmiş bir YOLOv3u modelini yükle model = YOLO("yolov3u.pt") # Modeli COCO8 örnek veri kümesinde 100 dönem boyunca eğit results = model.train(data="coco8.yaml", epochs=100, imgsz=640)Daha kapsamlı eğitim seçenekleri ve yönergeler için Eğitim modu belgelerini ziyaret et.
YOLOv3u, YOLOv8 modellerinde kullanılan çapadan bağımsız, nesne olasılığı içermeyen ayrık başlığı bünyesine katarak YOLOv3 ve YOLOv3-Ultralytics modellerini geliştirir. Bu yükseltme, önceden tanımlanmış çapa kutularına ve nesne olasılığı puanlarına duyulan ihtiyacı ortadan kaldırarak farklı boyut ve şekillerdeki nesneleri daha hassas algılama becerisini artırır. Böylece YOLOv3u, karmaşık ve çeşitli nesne algılama görevleri için daha iyi bir seçenek hâline gelir. Daha fazla bilgi için Temel Özellikler bölümüne bak.
YOLOv3 modellerini kullanarak Python betikleri veya CLI komutlarıyla çıkarım yapabilirsin:
Örnekfrom ultralytics import YOLO # COCO üzerinde önceden eğitilmiş bir YOLOv3u modelini yükle model = YOLO("yolov3u.pt") # 'bus.jpg' görüntüsünde YOLOv3u modeliyle çıkarım yap results = model("path/to/bus.jpg")YOLO modellerini çalıştırma hakkında daha fazla bilgi için Çıkarım modu belgelerine bak.
YOLOv3, YOLOv3-Tiny ve YOLOv3-SPP öncelikli olarak nesne algılama görevlerini destekler. Bu modeller; çıkarım, doğrulama, eğitim ve dışa aktarma gibi model dağıtımı ve geliştirmenin çeşitli aşamalarında kullanılabilir. Desteklenen görevlerin kapsamlı listesi ve daha ayrıntılı bilgi için Nesne Algılama görevleri belgelerini ziyaret et.
Araştırmanda YOLOv3 kullanıyorsan lütfen özgün YOLO makalelerine ve Ultralytics YOLOv3 deposuna atıfta bulun. BibTeX atıf örneği:
Alıntı@article{redmon2018yolov3, title={YOLOv3: An Incremental Improvement}, author={Redmon, Joseph and Farhadi, Ali}, journal={arXiv preprint arXiv:1804.02767}, year={2018} }Atıf ayrıntıları için Atıflar ve Teşekkürler bölümüne bak.