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.

FAQ

Wat is Ultralytics YOLOv5u en waarin verschilt het van YOLOv5?

Ultralytics YOLOv5u is een geavanceerde versie van YOLOv5 en integreert de anker- en objectness-free split head die de nauwkeurigheid-snelheid afweging verbetert voor real-time objectdetectietaken. In tegenstelling tot de traditionele YOLOv5 gebruikt YOLOv5u een ankerloos detectiemechanisme, waardoor het flexibeler is en zich beter aanpast aan verschillende scenario's. Voor meer gedetailleerde informatie over de functies kun je het overzicht opYOLOv5 raadplegen.

Hoe verbetert de ankerloze kop Ultralytics de prestaties van objectdetectie in YOLOv5u?

De ankerloze Ultralytics kop in YOLOv5u verbetert de prestaties van objectdetectie door de afhankelijkheid van vooraf gedefinieerde ankerboxen te elimineren. Dit resulteert in een flexibeler en adaptief detectiemechanisme dat efficiënter kan omgaan met verschillende objectgroottes en -vormen. Deze verbetering draagt direct bij aan een evenwichtige afweging tussen nauwkeurigheid en snelheid, waardoor YOLOv5u geschikt is voor real-time toepassingen. Lees meer over de architectuur in de sectie Belangrijkste Kenmerken.

Kan ik voorgetrainde YOLOv5u-modellen gebruiken voor verschillende taken en modi?

Ja, je kunt voorgetrainde YOLOv5u modellen gebruiken voor verschillende taken zoals Objectdetectie. Deze modellen ondersteunen meerdere modi, waaronder Inferentie, Validatie, Training en Exporteren. Dankzij deze flexibiliteit kunnen gebruikers de mogelijkheden van YOLOv5u-modellen benutten voor verschillende operationele eisen. Kijk voor een gedetailleerd overzicht in de sectie Ondersteunde taken en modi.

Hoe verhouden de prestatiecijfers van YOLOv5u-modellen zich op verschillende platforms?

The performance metrics of YOLOv5u models vary depending on the platform and hardware used. For example, the YOLOv5nu model achieves a 34.3 mAP on COCO dataset with a speed of 73.6 ms on CPU (ONNX) and 1.06 ms on A100 TensorRT. Detailed performance metrics for different YOLOv5u models can be found in the Performance Metrics section, which provides a comprehensive comparison across various devices.

Hoe kan ik een YOLOv5u model trainen met de Ultralytics Python API?

Je kunt een YOLOv5u model trainen door een voorgetraind model te laden en het trainingscommando uit te voeren met je dataset. Hier is een snel voorbeeld:

Voorbeeld

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)
# 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

Ga voor meer gedetailleerde instructies naar de sectie Gebruiksvoorbeelden.



Aangemaakt 2023-11-12, Bijgewerkt 2024-07-04
Auteurs: glenn-jocher (15), Burhan-Q (1)

Reacties