Beeldclassificatie
Beeldclassificatie is de eenvoudigste van de drie taken en bestaat uit het classificeren van een volledige afbeelding in een van een reeks vooraf gedefinieerde klassen.
De uitvoer van een beeldclassificator is een enkel klassenlabel en een vertrouwensscore. Beeldclassificatie is handig als je alleen moet weten tot welke klasse een afbeelding behoort en niet hoeft te weten waar objecten van die klasse zich bevinden of wat hun exacte vorm is.
Kijken: YOLO Verken Ultralytics Taken: Beeldclassificatie met Ultralytics HUB
Tip
YOLOv8 Classificeer modellen gebruiken de -cls
achtervoegsel, dus yolov8n-cls.pt
en zijn voorgetraind op ImageNet.
Modellen
YOLOv8 voorgetrainde Classify-modellen worden hier getoond. Detect, Segment en Pose modellen zijn voorgetraind op de COCO dataset, terwijl Classify modellen zijn voorgetraind op de ImageNet dataset.
Modellen worden bij het eerste gebruik automatisch gedownload van de nieuwste Ultralytics release.
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 |
- acc waarden zijn modelnauwkeurigheden op de ImageNet dataset validatieset.
Reproduceren dooryolo val classify data=path/to/ImageNet device=0
- Snelheid gemiddeld over ImageNet-validebeelden met behulp van een Amazon EC2 P4d voorbeeld.
Reproduceren dooryolo val classify data=path/to/ImageNet batch=1 device=0|cpu
Trein
Train YOLOv8n-cls op de MNIST160 dataset voor 100 epochs bij afbeeldingsgrootte 64. Zie de configuratiepagina voor een volledige lijst met beschikbare argumenten.
Voorbeeld
from ultralytics import YOLO
# Load a model
model = YOLO('yolov8n-cls.yaml') # build a new model from YAML
model = YOLO('yolov8n-cls.pt') # load a pretrained model (recommended for training)
model = YOLO('yolov8n-cls.yaml').load('yolov8n-cls.pt') # build from YAML and transfer weights
# Train the model
results = model.train(data='mnist160', epochs=100, imgsz=64)
# Build a new model from YAML and start training from scratch
yolo classify train data=mnist160 model=yolov8n-cls.yaml epochs=100 imgsz=64
# Start training from a pretrained *.pt model
yolo classify train data=mnist160 model=yolov8n-cls.pt epochs=100 imgsz=64
# Build a new model from YAML, transfer pretrained weights to it and start training
yolo classify train data=mnist160 model=yolov8n-cls.yaml pretrained=yolov8n-cls.pt epochs=100 imgsz=64
Formaat dataset
YOLO Het formaat van de classificatie dataset is in detail te vinden in de Dataset Gids.
Val
Valideer de nauwkeurigheid van het getrainde YOLOv8n-cls model op de MNIST160 dataset. Er hoeft geen argument te worden doorgegeven als de model
behoudt zijn opleiding data
en argumenten als modelattributen.
Voorbeeld
from ultralytics import YOLO
# Load a model
model = YOLO('yolov8n-cls.pt') # load an official model
model = YOLO('path/to/best.pt') # load a custom model
# Validate the model
metrics = model.val() # no arguments needed, dataset and settings remembered
metrics.top1 # top1 accuracy
metrics.top5 # top5 accuracy
Voorspel
Gebruik een getraind YOLOv8n-cls model om voorspellingen op afbeeldingen uit te voeren.
Voorbeeld
Bekijk volledig predict
details over de modus in de Voorspel pagina.
Exporteer
Exporteer een YOLOv8n-cls model naar een ander formaat zoals ONNX, CoreML, enz.
Voorbeeld
Beschikbare YOLOv8-cls exportformaten staan in de tabel hieronder. Je kunt direct voorspellen of valideren op geΓ«xporteerde modellen, d.w.z. yolo predict model=yolov8n-cls.onnx
. Gebruiksvoorbeelden worden getoond voor je model nadat het exporteren is voltooid.
Formaat | format Argument |
Model | Metagegevens | Argumenten |
---|---|---|---|---|
PyTorch | - | yolov8n-cls.pt |
β | - |
TorchScript | torchscript |
yolov8n-cls.torchscript |
β | imgsz , optimize , batch |
ONNX | onnx |
yolov8n-cls.onnx |
β | imgsz , half , dynamic , simplify , opset , batch |
OpenVINO | openvino |
yolov8n-cls_openvino_model/ |
β | imgsz , half , int8 , batch |
TensorRT | engine |
yolov8n-cls.engine |
β | imgsz , half , dynamic , simplify , workspace , batch |
CoreML | coreml |
yolov8n-cls.mlpackage |
β | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model |
yolov8n-cls_saved_model/ |
β | imgsz , keras , int8 , batch |
TF GraphDef | pb |
yolov8n-cls.pb |
β | imgsz , batch |
TF Lite | tflite |
yolov8n-cls.tflite |
β | imgsz , half , int8 , batch |
TF Rand TPU | edgetpu |
yolov8n-cls_edgetpu.tflite |
β | imgsz , batch |
TF.js | tfjs |
yolov8n-cls_web_model/ |
β | imgsz , half , int8 , batch |
PaddlePaddle | paddle |
yolov8n-cls_paddle_model/ |
β | imgsz , batch |
NCNN | ncnn |
yolov8n-cls_ncnn_model/ |
β | imgsz , half , batch |
Bekijk volledig export
details in de Exporteer pagina.
Aangemaakt 2023-11-12, Bijgewerkt 2024-04-27
Auteurs: Burhan-Q (1), glenn-jocher (11), RizwanMunawar (2), fcakyon (1), Laughing-q (1), AyushExel (1)