Overslaan naar inhoud

YOLOv5

Overzicht

YOLOv5u vertegenwoordigt een vooruitgang in objectdetectiemethoden. YOLOv5u is gebaseerd op de basisarchitectuur van het YOLOv5 model ontwikkeld door Ultralytics, integreert YOLOv5u de anker- en objectness-free split head, een eigenschap die eerder werd geïntroduceerd in de YOLOv8 modellen. Deze aanpassing verfijnt de architectuur van het model, wat leidt tot een verbeterde nauwkeurigheid-snelheid afweging in objectdetectietaken. Gezien de empirische resultaten en de afgeleide kenmerken biedt YOLOv5u een efficiënt alternatief voor diegenen die op zoek zijn naar robuuste oplossingen in zowel onderzoek als praktische toepassingen.

Ultralytics YOLOv5

Belangrijkste kenmerken

  • Ankerloze Split Ultralytics Head: Traditionele objectdetectiemodellen vertrouwen op voorgedefinieerde ankerboxen om objectlocaties te voorspellen. YOLOv5u moderniseert deze aanpak echter. Door gebruik te maken van een ankerloze gesplitste kop Ultralytics wordt een flexibeler en adaptief detectiemechanisme gegarandeerd, waardoor de prestaties in diverse scenario's verbeteren.

  • Geoptimaliseerde afweging tussen nauwkeurigheid en snelheid: Snelheid en nauwkeurigheid werken vaak tegengesteld. Maar YOLOv5u daagt deze afweging uit. Het biedt een gekalibreerde balans, waardoor realtime detecties mogelijk zijn zonder in te leveren op nauwkeurigheid. Deze eigenschap is vooral van onschatbare waarde voor toepassingen die een snelle reactie vereisen, zoals autonome voertuigen, robotica en real-time videoanalyse.

  • Verscheidenheid aan voorgetrainde modellen: YOLOv5u begrijpt dat verschillende taken verschillende toolsets vereisen en biedt daarom een overvloed aan vooraf getrainde modellen. Of je je nu richt op Inferentie, Validatie of Training, er staat een model op maat voor je klaar. Deze variëteit zorgt ervoor dat je niet zomaar een one-size-fits-all oplossing gebruikt, maar een model dat specifiek is afgestemd op jouw unieke uitdaging.

Ondersteunde taken en modi

De YOLOv5u modellen, met verschillende voorgetrainde gewichten, blinken uit in Objectdetectietaken. Ze ondersteunen een uitgebreide reeks modi, waardoor ze geschikt zijn voor diverse toepassingen, van ontwikkeling tot implementatie.

Type model Voorgetrainde gewichten Taak Inferentie Validatie Training Exporteer
YOLOv5u yolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6u Objectdetectie ✅ ✅ ✅ ✅

Deze tabel geeft een gedetailleerd overzicht van de YOLOv5u modelvarianten, met de nadruk op hun toepasbaarheid in objectdetectietaken en ondersteuning voor verschillende operationele modi zoals Inferentie, Validatie, Training en Exporteren. Deze uitgebreide ondersteuning zorgt ervoor dat gebruikers volledig gebruik kunnen maken van de mogelijkheden van YOLOv5u-modellen in een breed scala aan objectdetectiescenario's.

Prestatiecijfers

Prestaties

Zie Detection Docs voor gebruiksvoorbeelden met deze modellen getraind op COCO, die 80 voorgetrainde klassen bevatten.

Model YAML grootte
(pixels)
mAPval
50-95
Snelheid
CPU ONNX
(ms)
Snelheid
A100 TensorRT
(ms)
params
(M)
FLOP's
(B)
yolov5nu.pt yolov5n.yaml 640 34.3 73.6 1.06 2.6 7.7
yolov5su.pt yolov5s.yaml 640 43.0 120.7 1.27 9.1 24.0
yolov5mu.pt yolov5m.yaml 640 49.0 233.9 1.86 25.1 64.2
yolov5lu.pt yolov5l.yaml 640 52.2 408.4 2.50 53.2 135.0
yolov5xu.pt yolov5x.yaml 640 53.2 763.2 3.81 97.2 246.4
yolov5n6u.pt yolov5n6.yaml 1280 42.1 211.0 1.83 4.3 7.8
yolov5s6u.pt yolov5s6.yaml 1280 48.6 422.6 2.34 15.3 24.6
yolov5m6u.pt yolov5m6.yaml 1280 53.6 810.9 4.36 41.2 65.7
yolov5l6u.pt yolov5l6.yaml 1280 55.7 1470.9 5.47 86.1 137.4
yolov5x6u.pt yolov5x6.yaml 1280 56.8 2436.5 8.98 155.4 250.7

Voorbeelden

Dit voorbeeld geeft eenvoudige YOLOv5 training en inferentie voorbeelden. Voor volledige documentatie over deze en andere modi zie de Predict, Train, Val en Export docs pagina's.

Voorbeeld

PyTorch voorgetraind *.pt modellen en configuratie *.yaml bestanden kunnen worden doorgegeven aan de YOLO() klasse om een instantie van een model te maken in python:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv5n model
model = YOLO('yolov5n.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 YOLOv5n model on the 'bus.jpg' image
results = model('path/to/bus.jpg')

CLI commando's zijn beschikbaar om de modellen direct uit te voeren:

# Load a COCO-pretrained YOLOv5n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv5n model and run inference on the 'bus.jpg' image
yolo predict model=yolov5n.pt source=path/to/bus.jpg

Citaten en Erkenningen

Als je YOLOv5 of YOLOv5u gebruikt in je onderzoek, citeer dan de Ultralytics YOLOv5 repository als volgt:

@software{yolov5,
  title = {Ultralytics YOLOv5},
  author = {Glenn Jocher},
  year = {2020},
  version = {7.0},
  license = {AGPL-3.0},
  url = {https://github.com/ultralytics/yolov5},
  doi = {10.5281/zenodo.3908559},
  orcid = {0000-0001-5950-6979}
}

Merk op dat YOLOv5 modellen worden geleverd onder AGPL-3.0 en Enterprise-licenties.



Gemaakt op 2023-11-12, Bijgewerkt op 2024-04-17
Auteurs: glenn-jocher (9)

Reacties