YOLOv5 Hızlı Başlangıç 🚀#
Bu kılavuz, Ultralytics YOLOv5 ile gerçek zamanlı nesne algılamaya başlamak için bir başlangıç noktasıdır. Kurulumu, PyTorch Hub ve detect.py ile çıkarım yapmayı ve eğitimi ele alır; böylece bu derin öğrenme modelini kendi projelerinde kullanabilirsin.
Yükleme#
YOLOv5 deposunu klonla ve Python>=3.8.0 ile PyTorch>=1.8 içeren bir ortamda gereksinimleri yükle.
git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependenciesPyTorch Hub ile Çıkarım#
YOLOv5 çıkarımını, en son YOLOv5 sürümündeki modelleri otomatik olarak indiren PyTorch Hub üzerinden çalıştır. Bu yöntem, modeli yüklemek ve yürütmek için PyTorch kullanır; böylece tahmin almak kolaylaşır.
import torch
# Model yükleme
model = torch.hub.load("ultralytics/yolov5", "yolov5s") # 'yolov5n' - 'yolov5x6' veya 'custom' olabilir
# Görüntüler üzerinde çıkarım
img = "https://ultralytics.com/images/zidane.jpg" # Dosya, Path, PIL, OpenCV, numpy veya görüntü listesi olabilir
# Çıkarımı çalıştır
results = model(img)
# Sonuçları göster
results.print() # or .show(), .save(), .crop(), .pandas(), etc.detect.py ile çıkarım#
Çok çeşitli kaynaklardan çıkarım yapmak için detect.py kullan. Bu betik, en son YOLOv5 sürümündeki modelleri otomatik olarak getirir ve sonuçları runs/detect konumuna kaydeder. Komut satırı kullanımı ve YOLOv5'i daha büyük sistemlere entegre etmek için ideal olan bu betik; görüntüler, videolar, dizinler, web kameraları ve hatta canlı yayınlar 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ı izleyerek YOLOv5 COCO veri kümesi kıyaslama sonuçlarını yeniden elde et. Gerekli modeller ve veri kümeleri (coco128.yaml veya tam coco.yaml gibi) doğrudan en son YOLOv5 sürümünden alınır. V100 GPU üzerinde YOLOv5n/s/m/l/x eğitimi genellikle sırasıyla 1/2/4/6/8 gün sürer ( çoklu GPU eğitimi yapılandırmalarının daha hızlı çalıştığını unutma). Mümkün olan en yüksek --batch-size değerini kullanarak performansı en üst düzeye çıkar veya en uygun yığın boyutunu otomatik olarak bulan YOLOv5 AutoBatch özelliği için --batch-size -1 kullan. Aşağıdaki yığın boyutları V100-16GB GPU'lar için idealdir. Model yapılandırma dosyaları (*.yaml) hakkında ayrıntılı bilgi için Mimari Özetine bak.
# 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
YOLOv5'i bilgisayarlı görü projelerinde kullanırken, diğer geliştiricilere ve araştırmacılara soru sormak ve sonuçlarını paylaşmak için GitHub deposunu kullanabilirsin. Kod yazmadan veri kümesi yönetimi ve model eğitimi için Ultralytics Platform kullanabilir veya gerçek dünya uygulamaları için Çözümler sayfasına göz atabilirsin.
Sık Sorulan Sorular#
Çıkarım için gerekmez. PyTorch Hub, kodu ve ağırlıkları gerektiğinde
torch.hub.load("ultralytics/yolov5", "yolov5s")ile indirir.train.py,val.py,detect.pyveexport.pybetiklerini çalıştırmak için depoyu klonlaman gerekir.Çoğu proje için hız ve doğruluk açısından en iyi dengeyi
yolov5s.ptsunar. Uç cihazlar içinyolov5n.pt, doğruluğun hızdan daha önemli olduğu durumlardayolov5m.ptileyolov5x.ptarasındaki modelleri, 1280 pikselde eğitim içinseyolov5s6.ptgibi P6 varyantlarını kullan. Tam liste için önceden eğitilmiş kontrol noktaları tablosuna bak.Görüntüleri ve YOLO biçimindeki etiketleri paralel
images/velabels/klasörlerine koy, bunları birdataset.yamldosyasında tanımla vepython train.py --data dataset.yaml --weights yolov5s.ptkomutunu çalıştır. Özel Verilerle Eğitim öğreticisi her adımı açıklar.YOLOv5 kararlıdır ve bağımsız depoda tam olarak desteklenmeye devam eder, ancak artık en yeni model değildir. Yeni çalışmalar için
ultralyticspaketindeki YOLO26 daha hızlıdır, daha doğrudur ve Hızlı Başlangıç bölümünde açıklanan aynıpip install ultralyticsiş akışını kullanarak uçtan uca, NMS olmadan dışa aktarım yapar.
Yorumlar
Bir soru sor, sonuçlarını paylaş veya başka birine yardım et.