Skip to content

Classification des images

Exemples de classification d'images

La classification des images est la plus simple des trois tâches et consiste à classer une image entière dans l'une des classes prédéfinies.

Le résultat d'un classificateur d'images est une étiquette de classe unique et un score de confiance. La classification d'images est utile lorsqu'il s'agit de savoir à quelle classe appartient une image et qu'il n'est pas nécessaire de savoir où se trouvent les objets de cette classe ou quelle est leur forme exacte.



Regarder : Explorer Ultralytics YOLO Tâches : Classification d'images à l'aide de Ultralytics HUB

Conseil

YOLO11 Classifier les modèles à l'aide de l'outil -cls c'est-à-dire yolo11n-cls.pt et sont formés à l'avance sur ImageNet.

Modèles

YOLO11 Les modèles Classify pré-entraînés sont présentés ici. Les modèles de détection, de segmentation et de pose sont pré-entraînés sur l'ensemble de données COCO, tandis que les modèles de classification sont pré-entraînés sur l'ensemble de données ImageNet.

Les modèles se téléchargent automatiquement à partir de la dernièreversion de Ultralytics lors de la première utilisation.

Modèle taille
(pixels)
acc
top1
acc
top5
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B) à 640
YOLO11n-cls 224 70.0 89.4 5.0 ± 0.3 1.1 ± 0.0 1.6 3.3
YOLO11s-cls 224 75.4 92.7 7.9 ± 0.2 1.3 ± 0.0 5.5 12.1
YOLO11m-cls 224 77.3 93.9 17.2 ± 0.4 2.0 ± 0.0 10.4 39.3
YOLO11l-cls 224 78.3 94.3 23.2 ± 0.3 2.8 ± 0.0 12.9 49.4
YOLO11x-cls 224 79.5 94.9 41.4 ± 0.9 3.8 ± 0.0 28.4 110.4
  • acc sont les précisions des modèles sur les ImageNet ensemble de validation de l'ensemble de données.
    Reproduire par yolo val classify data=path/to/ImageNet device=0
  • Vitesse moyenne des images de valeur ImageNet à l'aide d'un Amazon EC2 P4d instance.
    Reproduire par yolo val classify data=path/to/ImageNet batch=1 device=0|cpu

Train

Entraîner YOLO11n-cls sur l'ensemble de données MNIST160 pour 100 époques à la taille d'image 64. Pour une liste complète des arguments disponibles, voir la page Configuration.

Exemple

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.yaml")  # build a new model from YAML
model = YOLO("yolo11n-cls.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo11n-cls.yaml").load("yolo11n-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=yolo11n-cls.yaml epochs=100 imgsz=64

# Start training from a pretrained *.pt model
yolo classify train data=mnist160 model=yolo11n-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=yolo11n-cls.yaml pretrained=yolo11n-cls.pt epochs=100 imgsz=64

Format des données

YOLO Le format des jeux de données de classification est détaillé dans le guide des jeux de données.

Val

Valider le modèle YOLO11n-cls entraîné précision sur l'ensemble de données MNIST160. Aucun argument n'est nécessaire car l'outil model conserve sa formation data et les arguments en tant qu'attributs du modèle.

Exemple

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-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
yolo classify val model=yolo11n-cls.pt  # val official model
yolo classify val model=path/to/best.pt  # val custom model

Prévoir

Utiliser un modèle YOLO11n-cls entraîné pour effectuer des prédictions sur des images.

Exemple

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image
yolo classify predict model=yolo11n-cls.pt source='https://ultralytics.com/images/bus.jpg'  # predict with official model
yolo classify predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg'  # predict with custom model

Voir l'intégralité predict dans la section Prévoir page.

Exportation

Exporter un modèle YOLO11n-cls dans un format différent comme ONNX, CoreML, etc.

Exemple

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom trained model

# Export the model
model.export(format="onnx")
yolo export model=yolo11n-cls.pt format=onnx  # export official model
yolo export model=path/to/best.pt format=onnx  # export custom trained model

Les formats d'exportation disponibles pour YOLO11-cls sont présentés dans le tableau ci-dessous. Vous pouvez exporter vers n'importe quel format à l'aide de la fonction format l'argument, c'est-à-dire format='onnx' ou format='engine'. Vous pouvez prédire ou valider directement les modèles exportés, c'est-à-dire yolo predict model=yolo11n-cls.onnx. Des exemples d'utilisation sont présentés pour votre modèle une fois l'exportation terminée.

Format format Argument Modèle Métadonnées Arguments
PyTorch - yolo11n-cls.pt -
TorchScript torchscript yolo11n-cls.torchscript imgsz, optimize, batch
ONNX onnx yolo11n-cls.onnx imgsz, half, dynamic, simplify, opset, batch
OpenVINO openvino yolo11n-cls_openvino_model/ imgsz, half, int8, batch
TensorRT engine yolo11n-cls.engine imgsz, half, dynamic, simplify, workspace, int8, batch
CoreML coreml yolo11n-cls.mlpackage imgsz, half, int8, nms, batch
TF SavedModel saved_model yolo11n-cls_saved_model/ imgsz, keras, int8, batch
TF GraphDef pb yolo11n-cls.pb imgsz, batch
TF Lite tflite yolo11n-cls.tflite imgsz, half, int8, batch
TF Bord TPU edgetpu yolo11n-cls_edgetpu.tflite imgsz
TF.js tfjs yolo11n-cls_web_model/ imgsz, half, int8, batch
PaddlePaddle paddle yolo11n-cls_paddle_model/ imgsz, batch
MNN mnn yolo11n-cls.mnn imgsz, batch, int8, half
NCNN ncnn yolo11n-cls_ncnn_model/ imgsz, half, batch
IMX500 imx yolo11n-cls_imx_model/ imgsz, int8

Voir l'intégralité export détails dans le Exportation page.

FAQ

Quel est l'objectif de YOLO11 dans la classification des images ?

YOLO11 modèles, tels que yolo11n-cls.ptsont conçus pour une classification efficace des images. Ils attribuent une étiquette de classe unique à l'ensemble de l'image, accompagnée d'un score de confiance. Cette méthode est particulièrement utile pour les applications où il suffit de connaître la classe spécifique d'une image, plutôt que d'identifier l'emplacement ou la forme des objets dans l'image.

Comment entraîner un modèle YOLO11 pour la classification d'images ?

Pour entraîner un modèle YOLO11 , vous pouvez utiliser les commandes Python ou CLI . Par exemple, pour entraîner un modèle yolo11n-cls sur l'ensemble de données MNIST160 pour 100 époques avec une taille d'image de 64 :

Exemple

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="mnist160", epochs=100, imgsz=64)
yolo classify train data=mnist160 model=yolo11n-cls.pt epochs=100 imgsz=64

Pour plus d'options de configuration, consultez la page Configuration.

Où puis-je trouver des modèles de classification pré-entraînés sur YOLO11 ?

Les modèles de classification pré-entraînés YOLO11 sont disponibles dans le site Modèles section. Les modèles tels que yolo11n-cls.pt, yolo11s-cls.pt, yolo11m-cls.ptetc., sont entraînés au préalable sur la base des données de l ImageNet et peut être facilement téléchargé et utilisé pour diverses tâches de classification d'images.

Comment puis-je exporter un modèle YOLO11 dans différents formats ?

Vous pouvez exporter un modèle YOLO11 entraîné vers différents formats à l'aide des commandes Python ou CLI . Par exemple, pour exporter un modèle au format ONNX :

Exemple

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load the trained model

# Export the model to ONNX
model.export(format="onnx")
yolo export model=yolo11n-cls.pt format=onnx  # export the trained model to ONNX format

Pour plus de détails sur les options d'exportation, voir la page Exportation.

Comment valider un modèle de classification formé sur YOLO11 ?

Pour valider la précision d'un modèle entraîné sur un ensemble de données tel que MNIST160, vous pouvez utiliser les commandes suivantes Python ou CLI :

Exemple

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load the trained model

# Validate the model
metrics = model.val()  # no arguments needed, uses the dataset and settings from training
metrics.top1  # top1 accuracy
metrics.top5  # top5 accuracy
yolo classify val model=yolo11n-cls.pt  # validate the trained model

Pour plus d'informations, consultez la section Valider.

📅C réé il y a 1 an ✏️ Mis à jour il y a 2 mois

Commentaires