YOLOv5 Hızlı Başlangıç 🚀#
Ultralytics YOLOv5 ile gerçek zamanlı nesne tespiti dünyasına adım at! Bu kılavuz, YOLOv5'te uzmanlaşmayı hedefleyen yapay zekâ meraklıları ve profesyoneller için kapsamlı bir başlangıç noktası sunmak üzere hazırlandı. İlk kurulumdan gelişmiş eğitim tekniklerine kadar her konuda yanındayız. Bu kılavuzun sonunda, en gelişmiş derin öğrenme yöntemlerini kullanarak YOLOv5'i projelerine güvenle uygulayabilecek bilgiye sahip olacaksın. Motorları çalıştırıp YOLOv5 dünyasına doğru yükselmeye başlayalım!
Yükleme#
YOLOv5 deposunu klonlayıp ortamı oluşturarak çalıştırmaya hazırlan. Bu işlem, gerekli tüm gereksinimlerin yüklenmesini sağlar. Python>=3.8.0 ve PyTorch>=1.8 sürümlerinin hazır olduğunu kontrol et. Bu temel araçlar, YOLOv5'i etkili bir şekilde çalıştırmak için kritik öneme sahiptir.
git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependenciesPyTorch Hub ile Çıkarım#
YOLOv5 PyTorch Hub çıkarımının kolaylığını deneyimle; modeller en yeni YOLOv5 sürümünden sorunsuz bir şekilde indirilir. Bu yöntem, model yükleme ve çalıştırmayı kolaylaştırmak için PyTorch gücünden yararlanır ve tahmin almayı basit hâle getirir.
import torch
# Model loading
model = torch.hub.load("ultralytics/yolov5", "yolov5s") # Can be 'yolov5n' - 'yolov5x6', or 'custom'
# Inference on images
img = "https://ultralytics.com/images/zidane.jpg" # Can be a file, Path, PIL, OpenCV, numpy, or list of images
# Run inference
results = model(img)
# Display results
results.print() # or .show(), .save(), .crop(), .pandas(), etc.detect.py ile Çıkarım#
detect.py aracını çeşitli kaynaklar üzerinde çok yönlü çıkarım yapmak için kullanabilirsin. Bu betik, en son YOLOv5 sürümünden modelleri otomatik olarak çeker ve sonuçları kolayca kaydeder. Bu betik, komut satırı kullanımı ve YOLOv5 modelini daha büyük sistemlere entegre etmek için idealdir; ayrıca resimler, videolar, dizinler, web kameraları ve hatta canlı akışlar gibi girdileri destekler.
python detect.py --weights yolov5s.pt --source 0 # webcam
python detect.py --weights yolov5s.pt --source image.jpg # image
python detect.py --weights yolov5s.pt --source video.mp4 # video
python detect.py --weights yolov5s.pt --source screen # screenshot
python detect.py --weights yolov5s.pt --source path/ # directory
python detect.py --weights yolov5s.pt --source list.txt # list of images
python detect.py --weights yolov5s.pt --source list.streams # list of streams
python detect.py --weights yolov5s.pt --source 'path/*.jpg' # glob pattern
python detect.py --weights yolov5s.pt --source 'https://youtu.be/LNwODJXcvt4' # YouTube video
python detect.py --weights yolov5s.pt --source 'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP streamEğitim#
Aşağıdaki eğitim talimatlarını takip ederek YOLOv5 COCO veri kümesi kıyaslamalarını yeniden oluşturabilirsin. Gerekli modeller ve veri kümeleri (coco128.yaml veya tam coco.yaml gibi) doğrudan en son YOLOv5 sürümünden çekilir. YOLOv5n/s/m/l/x modellerini bir V100 GPU üzerinde eğitmek sırasıyla 1/2/4/6/8 gün sürer (Çoklu GPU eğitimi kurulumlarının daha hızlı çalıştığını unutma). Mümkün olan en yüksek --batch-size değerini kullanarak performansı maksimize et veya en uygun toplu iş boyutunu otomatik olarak bulan YOLOv5 Otomatik Toplu İş özelliği için --batch-size -1 kullan. Aşağıdaki toplu iş boyutları V100-16GB GPU'lar için idealdir. Model yapılandırma dosyaları (*.yaml) hakkında ayrıntılar için Mimari Özeti sayfasına göz at.
# Train YOLOv5n on COCO128 for 3 epochs
python train.py --data coco128.yaml --epochs 3 --weights yolov5n.pt --batch-size 128
# Train YOLOv5s on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5s.yaml --batch-size 64
# Train YOLOv5m on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5m.yaml --batch-size 40
# Train YOLOv5l on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5l.yaml --batch-size 24
# Train YOLOv5x on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5x.yaml --batch-size 16
Sonuç olarak YOLOv5, yalnızca nesne tespiti için en gelişmiş araçlardan biri değil, aynı zamanda görsel anlayış aracılığıyla dünyayla etkileşim biçimimizi dönüştüren makine öğrenmesinin gücünün de bir göstergesidir. Bu kılavuzda ilerleyip YOLOv5'i projelerine uygulamaya başladıkça, bilgisayarlı görü alanında olağanüstü başarılara imza atabilecek teknolojik bir devrimin ön saflarında olduğunu unutma. Daha fazla bilgiye veya diğer vizyonerlerden desteğe ihtiyaç duyarsan, gelişen bir geliştirici ve araştırmacı topluluğuna ev sahipliği yapan GitHub depomuza davetlisin. Veri kümesi yönetimi ve kod yazmadan model eğitimi için Ultralytics Platform gibi ek kaynakları keşfet veya gerçek dünyadaki uygulamalar ve ilham için Çözümler sayfamıza göz at. Keşfetmeye ve yenilik yapmaya devam et; YOLOv5'in harikalarının tadını çıkar. Mutlu tespitler! 🌠🔍
SSS#
Çıkarım için gerekmez. PyTorch Hub, kodu ve ağırlıkları
torch.hub.load("ultralytics/yolov5", "yolov5s")ile isteğe bağlı olarak indirir.train.py,val.py,detect.pyveexport.pybetiklerini çalıştırmak için klonlama gereklidir.yolov5s.pt, çoğu proje için hız ve doğruluk arasında en iyi dengeyi sunar. Kenar cihazlar içinyolov5n.ptmodelini, doğruluğun hottan daha önemli olduğu durumlardayolov5m.ptileyolov5x.ptarasında seçim yap, 1280 pikselde eğitim için iseyolov5s6.ptgibi P6 varyantlarını kullan. Tam liste için önceden eğitilmiş kontrol noktaları tablosuna bak.Resimleri ve YOLO formatındaki etiketleri paralel
images/velabels/klasörlerine koy, bunları birdataset.yamliçinde tanımla vepython train.py --data dataset.yaml --weights yolov5s.ptkomutunu çalıştır. Özel Veri Eğitimi eğitimi her adımı adım adım açıklar.YOLOv5 kararlıdır ve bağımsız depoda tamamen desteklenmeye devam etmektedir, ancak artık en son model değildir. Yeni çalışmalar için,
ultralyticspaketindeki YOLO26 daha hızlıdır, daha doğrudur ve Hızlı Başlangıç kılavuzunda açıklanan aynıpip install ultralyticsiş akışını kullanarak NMS olmadan uçtan uca dışa aktarma yapar.