YOLOv3 ve YOLOv3u
Genel Bakış
Bu belge, birbiriyle yakından ilişkili üç nesne algılama modeline, yani YOLOv3, YOLOv3-Ultralytics ve YOLOv3u modellerine genel bir bakış sunar.
-
YOLOv3: You Only Look Once (YOLO) nesne algılama algoritmasının üçüncü sürümüdür. Orijinal olarak Joseph Redmon tarafından geliştirilen YOLOv3, çok ölçekli tahminler ve üç farklı boyutta algılama çekirdeği gibi özellikler sunarak seleflerini geliştirmiştir.
-
YOLOv3u: YOLOv8 modellerinde kullanılan anchor-free (çapa içermeyen), objectness-free (nesnellik puanı içermeyen) ayrık başlık yapısını bünyesinde barındıran güncellenmiş bir YOLOv3-Ultralytics sürümüdür. YOLOv3u, YOLOv3 ile aynı backbone ve boyun mimarisini korur ancak YOLOv8'deki güncellenmiş detection head yapısına sahiptir.

Temel Özellikler
-
YOLOv3: 13x13, 26x26 ve 52x52 olmak üzere üç farklı boyutta algılama çekirdeğinden yararlanarak algılama için üç 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ı. Ek olarak YOLOv3, her bounding box için çok etiketli tahminler ve daha iyi bir özellik çıkarıcı ağ gibi özellikler ekledi.
-
YOLOv3u: Bu güncellenmiş model, YOLOv8'den gelen anchor-free, objectness-free ayrık başlık yapısını içerir. Önceden tanımlanmış çapa kutularına (anchor boxes) ve nesnellik puanlarına olan ihtiyacı ortadan kaldıran bu başlık tasarımı, modelin değişen boyut ve şekillerdeki nesneleri algılama yeteneğini geliştirebilir. Bu, YOLOv3u'yu nesne algılama görevleri için daha sağlam ve doğru kılar.
Desteklenen Görevler ve Modlar
YOLOv3, özellikle object detection görevleri için tasarlanmıştır. Ultralytics, üç YOLOv3 varyantını destekler: yolov3u, yolov3-tinyu ve yolov3-sppu. İsimdeki u harfi, orijinal çapa tabanlı (anchor-based) mimarilerinin aksine, bunların YOLOv8'in anchor-free başlığını kullandığını ifade eder. Bu modeller, doğruluk ve hız arasında denge kurarak çeşitli gerçek dünya senaryolarındaki etkinlikleriyle bilinirler. Her varyant, benzersiz özellikler ve optimizasyonlar sunarak onları bir dizi uygulama için uygun hale getirir.
Her üç model de kapsamlı bir mod setini destekleyerek model deployment ve geliştirme süreçlerinin çeşitli aşamalarında çok yönlülük sağlar. Bu modlar arasında Inference, Validation, Training ve Export yer alır ve kullanıcılara etkili nesne algılama için eksiksiz bir araç seti sunar.
| Model Tipi | Önceden Eğitilmiş Ağırlıklar | Desteklenen Görevler | Çıkarım | Doğrulama | Eğitim | Dışa Aktar (Export) |
|---|---|---|---|---|---|---|
| YOLOv3(u) | yolov3u.pt | Nesne Tespiti | ✅ | ✅ | ✅ | ✅ |
| YOLOv3-Tiny(u) | yolov3-tinyu.pt | Nesne Tespiti | ✅ | ✅ | ✅ | ✅ |
| YOLOv3u-SPP(u) | yolov3-sppu.pt | Nesne Tespiti | ✅ | ✅ | ✅ | ✅ |
Bu tablo, her bir YOLOv3 varyantının yeteneklerine bir bakış sunarak, nesne algılama iş akışlarında ç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ğitim ve çıkarım örnekleri sunar. Bunlar ve diğer modlar hakkında tam dokümantasyon için Predict, Train, Val ve Export dokümantasyon sayfalarına bakın.
PyTorch önceden eğitilmiş *.pt modellerinin yanı sıra 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
# 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
YOLOv3'ü araştırmanda kullanıyorsan, lütfen orijinal YOLO makalelerini ve Ultralytics YOLOv3 deposunu kaynak göster:
@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ürler.
SSS
YOLOv3, YOLOv3-Ultralytics ve YOLOv3u arasındaki farklar nelerdir?
YOLOv3 is the third iteration of the YOLO (You Only Look Once) object detection algorithm developed by Joseph Redmon, known for its balance of accuracy and speed, utilizing three different scales (13x13, 26x26, and 52x52) for detections. YOLOv3-Ultralytics is Ultralytics' adaptation of YOLOv3 that adds support for more pretrained models and facilitates easier model customization. YOLOv3u is an upgraded variant of YOLOv3-Ultralytics, integrating the anchor-free, objectness-free split head from YOLOv8, improving detection robustness and accuracy for various object sizes. For more details on the variants, refer to the YOLOv3 series.
Ultralytics kullanarak nasıl bir YOLOv3 modeli eğitebilirim?
Ultralytics ile bir YOLOv3 modeli eğitmek oldukça basittir. Modeli Python veya CLI kullanarak eğitebilirsin:
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 kılavuzlar için Train modu dokümantasyonumuzu ziyaret et.
YOLOv3u'yu nesne algılama görevleri için daha doğru kılan nedir?
YOLOv3u, YOLOv8 modellerinde kullanılan anchor-free, objectness-free ayrık başlık yapısını bünyesine katarak YOLOv3 ve YOLOv3-Ultralytics üzerinde iyileştirmeler yapar. Bu yükseltme, önceden tanımlanmış çapa kutularına ve nesnellik puanlarına olan ihtiyacı ortadan kaldırarak, değişen boyut ve şekillerdeki nesneleri daha hassas bir şekilde algılama yeteneğini artırır. Bu, YOLOv3u'yu karmaşık ve çeşitli nesne algılama görevleri için daha iyi bir seçenek haline getirir. Daha fazla bilgi için Temel Özellikler bölümüne bakabilirsin.
YOLOv3 modellerini çıkarım (inference) için nasıl kullanabilirim?
YOLOv3 modellerini kullanarak Python betikleri veya CLI komutlarıyla çıkarım yapabilirsin:
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 Inference modu dokümantasyonuna bakabilirsin.
YOLOv3 ve varyantları tarafından hangi görevler desteklenmektedir?
YOLOv3, YOLOv3-Tiny ve YOLOv3-SPP öncelikli olarak nesne algılama görevlerini destekler. Bu modeller; Inference, Validation, Training ve Export gibi model dağıtımı ve geliştirmenin çeşitli aşamaları için kullanılabilir. Desteklenen kapsamlı görevler ve daha derinlemesine ayrıntılar için Nesne Algılama görevleri dokümantasyonumuzu ziyaret et.
YOLOv3'ü araştırmamda kaynak göstermek için kaynakları nerede bulabilirim?
YOLOv3'ü araştırmanda kullanıyorsan, lütfen orijinal YOLO makalelerini ve Ultralytics YOLOv3 deposunu kaynak göster. Örnek BibTeX atıfı:
@article{redmon2018yolov3,
title={YOLOv3: An Incremental Improvement},
author={Redmon, Joseph and Farhadi, Ali},
journal={arXiv preprint arXiv:1804.02767},
year={2018}
}Daha fazla atıf detayı için Atıflar ve Teşekkür bölümüne bakabilirsin.