YOLOv8
Overzicht
YOLOv8 is de nieuwste iteratie in de YOLO serie van realtime objectdetectoren en biedt baanbrekende prestaties op het gebied van nauwkeurigheid en snelheid. Voortbouwend op de verbeteringen van eerdere YOLO versies, introduceert YOLOv8 nieuwe functies en optimalisaties die het een ideale keuze maken voor diverse objectdetectietaken in een breed scala aan toepassingen.
Kijken: Ultralytics YOLOv8 Overzicht modellen
Belangrijkste kenmerken
- Geavanceerde ruggengraat- en nekarchitectuur: YOLOv8 maakt gebruik van geavanceerde ruggengraat- en nekarchitectuur, wat resulteert in betere extractie van eigenschappen en detectie van objecten.
- Ankerloze Split Ultralytics Head: YOLOv8 maakt gebruik van een ankerloze Split Ultralytics head, die bijdraagt aan een betere nauwkeurigheid en een efficiënter detectieproces in vergelijking met ankergebaseerde benaderingen.
- Geoptimaliseerde afweging tussen nauwkeurigheid en snelheid: Met een focus op het handhaven van een optimale balans tussen nauwkeurigheid en snelheid, is YOLOv8 geschikt voor real-time objectdetectietaken in diverse toepassingsgebieden.
- Verscheidenheid aan voorgetrainde modellen: YOLOv8 biedt een reeks voorgetrainde modellen voor verschillende taken en prestatie-eisen, waardoor het eenvoudiger wordt om het juiste model te vinden voor jouw specifieke toepassing.
Ondersteunde taken en modi
De YOLOv8 serie biedt een breed scala aan modellen, elk gespecialiseerd voor specifieke taken in computer vision. Deze modellen zijn ontworpen om aan verschillende eisen te voldoen, van objectdetectie tot complexere taken zoals objectsegmentatie, pose-/keypuntdetectie, georiënteerde objectdetectie en classificatie.
Elke variant van de YOLOv8 serie is geoptimaliseerd voor de respectievelijke taak en garandeert hoge prestaties en nauwkeurigheid. Bovendien zijn deze modellen compatibel met verschillende operationele modi, waaronder Inferentie, Validatie, Training en Export, waardoor ze gemakkelijker te gebruiken zijn in verschillende stadia van inzet en ontwikkeling.
Model | Bestandsnamen | Taak | Inferentie | Validatie | Training | Exporteer |
---|---|---|---|---|---|---|
YOLOv8 | yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt |
Opsporing | ✅ | ✅ | ✅ | ✅ |
YOLOv8-seg | yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt |
Instance segmentatie | ✅ | ✅ | ✅ | ✅ |
YOLOv8-pose | yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt |
Houding/Keypunten | ✅ | ✅ | ✅ | ✅ |
YOLOv8-obb | yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt |
Georiënteerde detectie | ✅ | ✅ | ✅ | ✅ |
YOLOv8-cls | yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt |
Classificatie | ✅ | ✅ | ✅ | ✅ |
Deze tabel geeft een overzicht van de modelvarianten op YOLOv8 , waarbij hun toepasbaarheid in specifieke taken en hun compatibiliteit met verschillende bedrijfsmodi zoals Inferentie, Validatie, Training en Export worden benadrukt. Het toont de veelzijdigheid en robuustheid van de YOLOv8 serie, waardoor ze geschikt zijn voor een verscheidenheid aan toepassingen in computer vision.
Prestatiecijfers
Prestaties
Zie Detection Docs voor gebruiksvoorbeelden met deze modellen getraind op COCO, die 80 voorgetrainde klassen bevatten.
Model | grootte (pixels) |
mAPval 50-95 |
Snelheid CPU ONNX (ms) |
Snelheid A100 TensorRT (ms) |
params (M) |
FLOP's (B) |
---|---|---|---|---|---|---|
YOLOv8n | 640 | 37.3 | 80.4 | 0.99 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 1.20 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 1.83 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 2.39 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 3.53 | 68.2 | 257.8 |
Zie Detection Docs voor gebruiksvoorbeelden met deze modellen getraind op Open Image V7, die 600 voorgetrainde klassen bevatten.
Model | grootte (pixels) |
mAPval 50-95 |
Snelheid CPU ONNX (ms) |
Snelheid A100 TensorRT (ms) |
params (M) |
FLOP's (B) |
---|---|---|---|---|---|---|
YOLOv8n | 640 | 18.4 | 142.4 | 1.21 | 3.5 | 10.5 |
YOLOv8s | 640 | 27.7 | 183.1 | 1.40 | 11.4 | 29.7 |
YOLOv8m | 640 | 33.6 | 408.5 | 2.26 | 26.2 | 80.6 |
YOLOv8l | 640 | 34.9 | 596.9 | 2.43 | 44.1 | 167.4 |
YOLOv8x | 640 | 36.3 | 860.6 | 3.56 | 68.7 | 260.6 |
Zie Segmentatiedocumenten voor gebruiksvoorbeelden met deze modellen getraind op COCO, die 80 voorgetrainde klassen bevatten.
Model | grootte (pixels) |
mAPbox 50-95 |
mAPmask 50-95 |
Snelheid CPU ONNX (ms) |
Snelheid A100 TensorRT (ms) |
params (M) |
FLOP's (B) |
---|---|---|---|---|---|---|---|
YOLOv8n-seg | 640 | 36.7 | 30.5 | 96.1 | 1.21 | 3.4 | 12.6 |
YOLOv8s-seg | 640 | 44.6 | 36.8 | 155.7 | 1.47 | 11.8 | 42.6 |
YOLOv8m-seg | 640 | 49.9 | 40.8 | 317.0 | 2.18 | 27.3 | 110.2 |
YOLOv8l-seg | 640 | 52.3 | 42.6 | 572.4 | 2.79 | 46.0 | 220.5 |
YOLOv8x-seg | 640 | 53.4 | 43.4 | 712.1 | 4.02 | 71.8 | 344.1 |
Zie Classificatie Documenten voor gebruiksvoorbeelden met deze modellen getraind op ImageNet, die 1000 voorgetrainde klassen bevatten.
Model | grootte (pixels) |
acc top1 |
acc top5 |
Snelheid CPU ONNX (ms) |
Snelheid A100 TensorRT (ms) |
params (M) |
FLOP's (B) bij 640 |
---|---|---|---|---|---|---|---|
YOLOv8n-cls | 224 | 69.0 | 88.3 | 12.9 | 0.31 | 2.7 | 4.3 |
YOLOv8s-cls | 224 | 73.8 | 91.7 | 23.4 | 0.35 | 6.4 | 13.5 |
YOLOv8m-cls | 224 | 76.8 | 93.5 | 85.4 | 0.62 | 17.0 | 42.7 |
YOLOv8l-cls | 224 | 76.8 | 93.5 | 163.0 | 0.87 | 37.5 | 99.7 |
YOLOv8x-cls | 224 | 79.0 | 94.6 | 232.0 | 1.01 | 57.4 | 154.8 |
Zie Pose Estimation Docs voor gebruiksvoorbeelden met deze modellen getraind op COCO, die 1 voorgetrainde klasse, 'persoon', bevatten.
Model | grootte (pixels) |
mAPpose 50-95 |
mAPpose 50 |
Snelheid CPU ONNX (ms) |
Snelheid A100 TensorRT (ms) |
params (M) |
FLOP's (B) |
---|---|---|---|---|---|---|---|
YOLOv8n-pose | 640 | 50.4 | 80.1 | 131.8 | 1.18 | 3.3 | 9.2 |
YOLOv8s-pose | 640 | 60.0 | 86.2 | 233.2 | 1.42 | 11.6 | 30.2 |
YOLOv8m-pose | 640 | 65.0 | 88.8 | 456.3 | 2.00 | 26.4 | 81.0 |
YOLOv8l-pose | 640 | 67.6 | 90.0 | 784.5 | 2.59 | 44.4 | 168.6 |
YOLOv8x-pose | 640 | 69.2 | 90.2 | 1607.1 | 3.73 | 69.4 | 263.2 |
YOLOv8x-pose-p6 | 1280 | 71.6 | 91.2 | 4088.7 | 10.04 | 99.1 | 1066.4 |
Zie Oriented Detection Docs voor gebruiksvoorbeelden met deze modellen getraind op DOTAv1, die 15 voorgetrainde klassen bevatten.
Model | grootte (pixels) |
mAPtest 50 |
Snelheid CPU ONNX (ms) |
Snelheid A100 TensorRT (ms) |
params (M) |
FLOP's (B) |
---|---|---|---|---|---|---|
YOLOv8n-obb | 1024 | 78.0 | 204.77 | 3.57 | 3.1 | 23.3 |
YOLOv8s-obb | 1024 | 79.5 | 424.88 | 4.07 | 11.4 | 76.3 |
YOLOv8m-obb | 1024 | 80.5 | 763.48 | 7.61 | 26.4 | 208.6 |
YOLOv8l-obb | 1024 | 80.7 | 1278.42 | 11.83 | 44.5 | 433.8 |
YOLOv8x-obb | 1024 | 81.36 | 1759.10 | 13.23 | 69.5 | 676.7 |
Voorbeelden
Dit voorbeeld geeft eenvoudige YOLOv8 training en inferentie voorbeelden. Voor volledige documentatie over deze en andere modi zie de Predict, Train, Val en Export docs pagina's.
Let op het onderstaande voorbeeld is voor YOLOv8 Detect modellen voor objectdetectie. Zie voor aanvullende ondersteunde taken de docs Segment, Classify, OBB en Pose.
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 YOLOv8n model
model = YOLO('yolov8n.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 YOLOv8n model on the 'bus.jpg' image
results = model('path/to/bus.jpg')
CLI commando's zijn beschikbaar om de modellen direct uit te voeren:
Citaten en Erkenningen
Als je het YOLOv8 model of andere software uit dit archief gebruikt in je werk, citeer het dan met de volgende opmaak:
Houd er rekening mee dat de DOI nog in behandeling is en aan de citatie zal worden toegevoegd zodra deze beschikbaar is. YOLOv8 modellen worden geleverd onder AGPL-3.0 en Enterprise-licenties.
Aangemaakt 2023-11-12, Bijgewerkt 2024-04-17
Auteurs: glenn-jocher (12), Laughing-q (2), AyushExel (1), fcakyon (1)