Skip to content

DĂ©tection d'objets

Exemples de détection d'objets

La détection d'objets est une tâche qui consiste à identifier l'emplacement et la classe des objets dans une image ou un flux vidéo.

Le résultat d'un détecteur d'objets est un ensemble de boîtes délimitant les objets de l'image, ainsi que des étiquettes de classe et des scores de confiance pour chaque boîte. La détection d'objets est un bon choix lorsque vous devez identifier des objets intéressants dans une scène, mais que vous n'avez pas besoin de savoir exactement où se trouve l'objet ou quelle est sa forme exacte.



Regarder : Détection d'objets avec le modèle pré-entraîné Ultralytics YOLO .

Conseil

YOLO11 Les modèles de détection sont les modèles par défaut de YOLO11 , c'est-à-dire yolo11n.pt et sont formés à l'avance sur COCO.

Modèles

YOLO11 Les modèles de détection pré-entraînés sont présentés ici. Les modèles de détection, de segmentation et de pose sont entraînés sur l'ensemble de données COCO, tandis que les modèles de classification sont 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)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLO11n 640 39.5 56.1 ± 0.8 1.5 ± 0.0 2.6 6.5
YOLO11s 640 47.0 90.0 ± 1.2 2.5 ± 0.0 9.4 21.5
YOLO11m 640 51.5 183.2 ± 2.0 4.7 ± 0.1 20.1 68.0
YOLO11l 640 53.4 238.6 ± 1.4 6.2 ± 0.1 25.3 86.9
YOLO11x 640 54.7 462.8 ± 6.7 11.3 ± 0.2 56.9 194.9
  • mAPval Les valeurs sont celles d'un seul modèle Ă  une seule Ă©chelle sur COCO val2017 donnĂ©es.
    Reproduire par yolo val detect data=coco.yaml device=0
  • Vitesse La moyenne des images COCO val est calculĂ©e Ă  l'aide d'un Amazon EC2 P4d instance.
    Reproduire par yolo val detect data=coco.yaml batch=1 device=0|cpu

Train

Entraîne YOLO11n sur le jeu de données COCO8 pendant 100 époques à la taille d'image 640. Pour une liste complète des arguments disponibles, voir la page Configuration.

Exemple

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.yaml")  # build a new model from YAML
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo11n.yaml").load("yolo11n.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo detect train data=coco8.yaml model=yolo11n.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco8.yaml model=yolo11n.yaml pretrained=yolo11n.pt epochs=100 imgsz=640

Format des données

YOLO Le format du jeu de données de détection peut être consulté en détail dans le guide des jeux de données. Pour convertir votre jeu de données existant dans d'autres formats (comme COCO, etc.) au format YOLO , veuillez utiliser l'outil JSON2YOLO à l'adresse suivante : Ultralytics.

Val

Valider le modèle YOLO11n formé précision sur le jeu de données COCO8. Aucun argument n'est nécessaire car la fonction 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.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.box.map  # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps  # a list contains map50-95 of each category
yolo detect val model=yolo11n.pt  # val official model
yolo detect val model=path/to/best.pt  # val custom model

Prévoir

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

Exemple

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.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 detect predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'  # predict with official model
yolo detect 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 vers un format différent comme ONNX, CoreML, etc.

Exemple

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.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.pt format=onnx  # export official model
yolo export model=path/to/best.pt format=onnx  # export custom trained model

Les formats d'exportation disponibles sur YOLO11 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.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.pt âś… -
TorchScript torchscript yolo11n.torchscript âś… imgsz, optimize, batch
ONNX onnx yolo11n.onnx âś… imgsz, half, dynamic, simplify, opset, batch
OpenVINO openvino yolo11n_openvino_model/ âś… imgsz, half, int8, batch
TensorRT engine yolo11n.engine âś… imgsz, half, dynamic, simplify, workspace, int8, batch
CoreML coreml yolo11n.mlpackage âś… imgsz, half, int8, nms, batch
TF SavedModel saved_model yolo11n_saved_model/ âś… imgsz, keras, int8, batch
TF GraphDef pb yolo11n.pb ❌ imgsz, batch
TF Lite tflite yolo11n.tflite âś… imgsz, half, int8, batch
TF Bord TPU edgetpu yolo11n_edgetpu.tflite âś… imgsz
TF.js tfjs yolo11n_web_model/ âś… imgsz, half, int8, batch
PaddlePaddle paddle yolo11n_paddle_model/ âś… imgsz, batch
MNN mnn yolo11n.mnn âś… imgsz, batch, int8, half
NCNN ncnn yolo11n_ncnn_model/ âś… imgsz, half, batch
IMX500 imx yolov8n_imx_model/ âś… imgsz, int8

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

FAQ

Comment entraîner un modèle YOLO11 sur mon ensemble de données personnalisé ?

La formation d'un modèle YOLO11 sur un ensemble de données personnalisé se fait en quelques étapes :

  1. Préparez l'ensemble de données: Assurez-vous que votre jeu de données est au format YOLO . Pour obtenir des conseils, reportez-vous à notre Guide des jeux de données.
  2. Charger le modèle: Utilisez la bibliothèque Ultralytics YOLO pour charger un modèle pré-entraîné ou créer un nouveau modèle à partir d'un fichier YAML.
  3. Former le modèle: Exécuter le train dans Python ou la méthode yolo detect train dans CLI.

Exemple

from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo11n.pt")

# Train the model on your custom dataset
model.train(data="my_custom_dataset.yaml", epochs=100, imgsz=640)
yolo detect train data=my_custom_dataset.yaml model=yolo11n.pt epochs=100 imgsz=640

Pour plus de détails sur les options de configuration, consultez la page Configuration.

Quels sont les modèles pré-entraînés disponibles sur YOLO11?

Ultralytics YOLO11 propose différents modèles pré-entraînés pour la détection d'objets, la segmentation et l'estimation de la pose. Ces modèles sont pré-entraînés sur l'ensemble de données COCO ou ImageNet pour les tâches de classification. Voici quelques-uns des modèles disponibles :

Pour une liste détaillée et des mesures de performance, voir la section Modèles.

Comment puis-je valider la précision de mon modèle entraîné YOLO ?

Pour valider la précision de votre modèle YOLO11 , vous pouvez utiliser la fonction .val() dans Python ou la méthode yolo detect val dans CLI. Cette commande fournira des mesures telles que mAP50-95, mAP50, etc.

Exemple

from ultralytics import YOLO

# Load the model
model = YOLO("path/to/best.pt")

# Validate the model
metrics = model.val()
print(metrics.box.map)  # mAP50-95
yolo detect val model=path/to/best.pt

Pour plus de détails sur la validation, consultez la page Val.

Dans quels formats puis-je exporter un modèle YOLO11 ?

Ultralytics YOLO11 permet d'exporter des modèles dans différents formats tels que ONNX, TensorRT, CoreML, et d'autres encore, afin d'assurer la compatibilité entre les différentes plateformes et les différents appareils.

Exemple

from ultralytics import YOLO

# Load the model
model = YOLO("yolo11n.pt")

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

Consultez la liste complète des formats pris en charge et les instructions sur la page Exportation.

Pourquoi utiliser Ultralytics YOLO11 pour la détection d'objets ?

Ultralytics YOLO11 est conçu pour offrir des performances de pointe en matière de détection d'objets, de segmentation et d'estimation de la pose. Voici quelques avantages clés :

  1. Modèles pré-entraînés: Utilisez des modèles pré-entraînés sur des ensembles de données populaires tels que COCO et ImageNet pour un développement plus rapide.
  2. Haute précision: Atteint des scores mAP impressionnants, garantissant une détection fiable des objets.
  3. Vitesse: Optimisé pour l'inférence en temps réel, il est idéal pour les applications nécessitant un traitement rapide.
  4. Flexibilité: Exportation des modèles vers différents formats tels que ONNX et TensorRT pour un déploiement sur de multiples plateformes.

Explorez notre blog pour découvrir des cas d'utilisation et des exemples de réussite illustrant YOLO11 en action.

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

Commentaires