YOLO Vision 2026:

YOLOv3 ve YOLOv3u#

Genel Bakış#

Bu belge, yakından ilişkili üç nesne tespiti modeline, yani YOLOv3, YOLOv3-Ultralytics ve YOLOv3u modellerine genel bir bakış sunar.

  1. YOLOv3: You Only Look Once (YOLO) nesne tespiti algoritmasının üçüncü versiyonudur. Orijinal olarak Joseph Redmon tarafından geliştirilen YOLOv3; çok ölçekli tahminler ve üç farklı boyutta tespit çekirdeği gibi özellikler sunarak önceki versiyonlarını geliştirmiştir.

  2. YOLOv3u: Bu, YOLOv8 modellerinde kullanılan ankraj (anchor) tabanlı olmayan, nesnesizlik (objectness-free) özellikli bölünmüş başlığı içeren YOLOv3-Ultralytics'in güncellenmiş bir versiyonudur. YOLOv3u, YOLOv3 ile aynı omurga (backbone) ve boyun mimarisini korur ancak YOLOv8'den gelen güncellenmiş tespit başlığına (detection head) sahiptir.

YOLOv3 nesne tespiti modeli başlığı

Temel Özellikler#

  • YOLOv3: 13x13, 26x26 ve 52x52 olmak üzere üç farklı tespit çekirdeği boyutu kullanarak tespit için üç farklı ölçek kullanımını tanıttı. Bu, farklı boyutlardaki nesneler için tespit doğruluğunu önemli ölçüde artırdı. Ek olarak YOLOv3, her bir bSınırlayıcı kutu (bounding box) için çoklu etiket tahminleri ve daha iyi bir özellik çıkarıcı ağ gibi özellikler ekledi.

  • YOLOv3u: Bu güncellenmiş model, YOLOv8'den çıpasız, nesnesizlik bölünen başlığı içerir. Önceden tanımlanmış çıpa kutularına ve nesnellik puanlarına olan ihtiyacı ortadan kaldırarak bu tespit başlığı tasarımı, modelin farklı boyut ve şekillerdeki nesneleri tespit etme yeteneğini geliştirebilir. Bu, YOLOv3u'yu nesne tespiti görevleri için daha dayanıklı ve doğru hale getirir.

Desteklenen Görevler ve Modlar#

YOLOv3, nesne tespiti görevleri için özel olarak tasarlanmıştır. Ultralytics, YOLOv3'ün üç varyantını destekler: yolov3u, yolov3-tinyu ve yolov3-sppu. İsimdeki u, bunların, ankraj tabanlı olan orijinal mimarilerinden farklı olarak YOLOv8'in ankraj tabanlı olmayan başlığını kullandığını gösterir. Bu modeller; doğruluk ve hızı dengeleyerek çeşitli gerçek dünya senaryolarındaki etkililikleriyle bilinir. Her varyant, benzersiz özellikler ve optimizasyonlar sunarak bunları çeşitli uygulamalar için uygun hale getirir.

Üç model de kapsamlı bir mod setini destekleyerek model dağıtımı ve geliştirmenin çeşitli aşamalarında çok yönlülük sağlar. Bu modlar arasında Çıkarım (Inference), Doğrulama (Validation), Eğitim (Training) ve Dışa Aktarma (Export) yer alır ve kullanıcılara etkili nesne tespiti için eksiksiz bir araç seti sunar.

Model TipiÖnceden Eğitilmiş AğırlıklarDesteklenen GörevlerEğitimDoğrulamaÇıkarımDışa Aktar (Export)
YOLOv3(u)yolov3u.ptNesne Algılama
YOLOv3-Tiny(u)yolov3-tinyu.ptNesne Algılama
YOLOv3u-SPP(u)yolov3-sppu.ptNesne Algılama

Bu tablo, her YOLOv3 varyantının yeteneklerinin bir bakışta görünümünü sağlar; nesne tespiti iş akışlarındaki çeşitli görevler ve operasyonel modlar için çok yönlülüklerini ve uygunluklarını vurgular.

Kullanım Örnekleri#

Bu örnek, basit YOLOv3 eğitimi ve çıkarımı örnekleri sağlar. Bunlar ve diğer modlar hakkında tam belgelendirme için Tahmin (Predict), Eğitim (Train), Doğrulama (Val) ve Dışa Aktarma (Export) dokümantasyon sayfalarına göz at.

Örnek

Python'da bir model örneği oluşturmak için PyTorch ön eğitilmiş *.pt modellerinin yanı sıra *.yaml yapılandırma dosyaları da YOLO() sınıfına geçirilebilir:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv3u model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Alıntılar ve Teşekkür#

Araştırmanızda YOLOv3 kullanıyorsanız, lütfen orijinal YOLO makalelerini ve Ultralytics YOLOv3 deposunu alıntılayın:

Alıntı
@article{redmon2018yolov3,
  title={YOLOv3: An Incremental Improvement},
  author={Redmon, Joseph and Farhadi, Ali},
  journal={arXiv preprint arXiv:1804.02767},
  year={2018}
}

Orijinal YOLOv3'ü geliştirdikleri için Joseph Redmon ve Ali Farhadi'ye teşekkür ederiz.

SSS#

  • YOLOv3, Joseph Redmon tarafından geliştirilen ve tespitler için üç farklı ölçek (13x13, 26x26 ve 52x52) kullanan, doğruluk ile hız dengesiyle tanınan YOLO (You Only Look Once) nesne tespiti algoritmasının üçüncü yinelemesidir. YOLOv3-Ultralytics, daha fazla önceden eğitilmiş model için destek ekleyen ve daha kolay model özelleştirmesi sağlayan Ultralytics'in YOLOv3 uyarlamasıdır. YOLOv3u, YOLOv8'den gelen ankraj tabanlı olmayan, nesnesizlik özellikli bölünmüş başlığı entegre ederek çeşitli nesne boyutları için tespit dayanıklılığını ve doğruluğunu artıran YOLOv3-Ultralytics'in yükseltilmiş bir varyantıdır. Varyantlar hakkında daha fazla ayrıntı için YOLOv3 serisi bölümüne bakın.

  • Ultralytics ile bir YOLOv3 modeli eğitmek basittir. Modeli Python veya CLI kullanarak eğitebilirsiniz:

    Örnek
    from ultralytics import YOLO
    
    # Load a COCO-pretrained YOLOv3u model
    model = YOLO("yolov3u.pt")
    
    # Train the model on the COCO8 example dataset for 100 epochs
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    Daha kapsamlı eğitim seçenekleri ve yönergeler için Eğitim modu dokümantasyonumuzu ziyaret et.

  • YOLOv3u, YOLOv8 modellerinde kullanılan ankraj tabanlı olmayan, nesnesizlik özellikli bölünmüş başlığı dahil ederek YOLOv3 ve YOLOv3-Ultralytics'i geliştirir. Bu yükseltme, önceden tanımlanmış ankraj kutularına ve nesnesizlik skorlarına olan ihtiyacı ortadan kaldırarak farklı boyut ve şekillerdeki nesneleri daha hassas bir şekilde tespit etme yeteneğini geliştirir. Bu, YOLOv3u'yu karmaşık ve çeşitli nesne tespiti görevleri için daha iyi bir seçim haline getirir. Daha fazla bilgi için Temel Özellikler bölümüne göz at.

  • Python betikleri veya CLI komutları aracılığıyla YOLOv3 modellerini kullanarak çıkarım gerçekleştirebilirsiniz:

    Örnek
    from ultralytics import YOLO
    
    # Load a COCO-pretrained YOLOv3u model
    model = YOLO("yolov3u.pt")
    
    # Run inference with the YOLOv3u model on the 'bus.jpg' image
    results = model("path/to/bus.jpg")

    YOLO modellerini çalıştırma hakkında daha fazla ayrıntı için Çıkarım modu dokümantasyonuna başvur.

  • YOLOv3, YOLOv3-Tiny ve YOLOv3-SPP öncelikli olarak nesne tespiti 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ı için kullanılabilir. Desteklenen kapsamlı bir görev seti ve daha derinlemesine ayrıntılar için Nesne Tespiti görevleri dokümantasyonumuzu ziyaret et.

  • Araştırmanızda YOLOv3 kullanıyorsanız, lütfen orijinal YOLO makalelerini ve Ultralytics YOLOv3 deposunu alıntılayın. Örnek BibTeX alıntısı:

    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 hakkında daha fazla ayrıntı için Atıflar ve Teşekkürler bölümüne bakın.

Yorumlar