YOLOv3 ve YOLOv3u#
Genel Bakış#
Bu belge, yakından ilişkili üç nesne tespiti modeline genel bir bakış sunar: YOLOv3, YOLOv3-Ultralytics ve YOLOv3u.
-
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.
-
YOLOv3u: YOLOv8 modellerinde kullanılan çıpasız (anchor-free), nesnesizlik (objectness-free) bölünen başlığı bünyesine katan YOLOv3-Ultralytics'in güncellenmiş bir versiyonudur. YOLOv3u, YOLOv3 ile aynı omurga ve boyun mimarisini korur ancak YOLOv8'in güncellenmiş tespit başlığına sahiptir.

Temel Özellikler#
-
YOLOv3: 13x13, 26x26 ve 52x52 olmak üzere üç farklı tespit çekirdeği boyutundan yararlanarak üç farklı ölçekte tespit 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 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'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, özellikle nesne tespiti görevleri için tasarlanmıştır. Ultralytics, üç YOLOv3 varyantını destekler: yolov3u, yolov3-tinyu ve yolov3-sppu. İsimdeki u, bunların orijinal mimarilerinin çıpa tabanlı olmasına karşın YOLOv8'in çıpasız başlığını kullandığını belirtir. Bu modeller, doğruluk ile hızı dengeleyerek çeşitli gerçek dünya senaryolarındaki etkinlikleriyle tanınır. Her varyant, onları bir dizi uygulama için uygun kılan benzersiz özellikler ve optimizasyonlar sunar.
Her üç 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; kullanıcılara etkili nesne tespiti için eksiksiz bir araç seti sunan Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma işlemlerini içerir.
| Model Tipi | Önceden Eğitilmiş Ağırlıklar | Desteklenen Görevler | Eğitim | Doğrulama | Çıkarım | 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 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 sunar. Bunlar ve diğer modlar hakkında tam dokümantasyon için Çıkarım, Eğitim, Doğrulama ve Dışa Aktarma doküman 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#
Araştırmanızda YOLOv3 kullanıyorsanız, lütfen orijinal YOLO makalelerini ve Ultralytics YOLOv3 deposunu alıntılayın:
@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, YOLOv3-Ultralytics ve YOLOv3u arasındaki farklar nelerdir?#
YOLOv3, Joseph Redmon tarafından geliştirilen object detection algoritmasının accuracy ve hız dengesiyle bilinen ve tespitler için üç farklı ölçek (13x13, 26x26 ve 52x52) kullanan üçüncü sürümüdür. YOLOv3-Ultralytics, YOLOv3'ün Ultralytics tarafından geliştirilen ve daha fazla ön eğitilmiş model desteği ekleyerek model özelleştirmesini kolaylaştıran bir uyarlamasıdır. YOLOv3u, YOLOv3-Ultralytics'in yükseltilmiş bir varyantıdır; YOLOv8'den çıpasız (anchor-free), nesnesiz (objectness-free) bölünmüş başlığı entegre ederek çeşitli nesne boyutları için tespit dayanıklılığını ve doğruluğunu artırır. Varyantlar hakkında daha fazla detay için YOLOv3 series sayfasına göz at.
Ultralytics kullanarak nasıl bir YOLOv3 modeli eğitebilirim?#
Ultralytics ile bir YOLOv3 modeli eğitmek basittir. Modeli Python veya CLI kullanarak eğitebilirsiniz:
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 edin.
YOLOv3u'yu nesne tespiti görevleri için ne daha doğru yapar?#
YOLOv3u, YOLOv8 modellerinde kullanılan çıpasız, nesnesizlik bölünen başlığı bünyesine katarak YOLOv3 ve YOLOv3-Ultralytics'i geliştirir. Bu yükseltme, önceden tanımlanmış çıpa kutularına ve nesnellik puanlarına olan ihtiyacı ortadan kaldırarak farklı boyutlardaki ve şekillerdeki nesneleri daha hassas bir şekilde tespit etme yeteneğini geliştirir. Bu, YOLOv3u'yu karmaşık ve çeşitlilik gösteren nesne tespiti görevleri için daha iyi bir seçim haline getirir. Daha fazla bilgi için Temel Özellikler bölümüne bakın.
Çıkarım için YOLOv3 modellerini nasıl kullanabilirim?#
Python betikleri veya CLI komutları aracılığıyla YOLOv3 modellerini kullanarak çıkarım gerçekleştirebilirsiniz:
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 bakın.
YOLOv3 ve varyantları tarafından hangi görevler desteklenmektedir?#
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 edin.
Araştırmamda YOLOv3'ü alıntılamak için kaynakları nerede bulabilirim?#
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ı:
@article{redmon2018yolov3,
title={YOLOv3: An Incremental Improvement},
author={Redmon, Joseph and Farhadi, Ali},
journal={arXiv preprint arXiv:1804.02767},
year={2018}
}Daha fazla alıntı detayı için Alıntılar ve Teşekkürler bölümüne bakın.