Détection d'objets
La détection d'objets est une tâche qui consiste à identifier l'emplacement et la classe d'objets dans une image ou un flux vidéo.
Le résultat d'un détecteur d'objets est un ensemble de boîtes englobantes qui entourent les objets dans l'image, accompagnées d'étiquettes de classe et de scores de confiance pour chaque boîte. La détection d'objets est un bon choix lorsque tu as besoin d'identifier des objets d'intérêt dans une scène, mais que tu n'as pas besoin de connaître exactement où se trouve l'objet ou sa forme exacte.
Watch: Object Detection with Pretrained Ultralytics YOLO Model.
Les modèles YOLO26 Detect sont les modèles YOLO26 par défaut, par exemple yolo26n.pt, et sont pré-entraînés sur COCO.
Modèles
Les modèles YOLO26 Detect pré-entraînés sont présentés ici. Les modèles Detect, Segment et Pose sont pré-entraînés sur le jeu de données COCO, les modèles Semantic sont pré-entraînés sur Cityscapes, et les modèles Classify sont pré-entraînés sur le jeu de données ImageNet.
Les modèles sont téléchargés automatiquement depuis la dernière version d'Ultralytics lors de la première utilisation.
| Modèle | taille (pixels) | mAPval 50-95 | mAPval 50-95(e2e) | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| YOLO26n | 640 | 40.9 | 40.1 | 38.9 ± 0.7 | 1.7 ± 0.0 | 2.4 | 5.4 |
| YOLO26s | 640 | 48.6 | 47.8 | 87.2 ± 0.9 | 2.5 ± 0.0 | 9.5 | 20.7 |
| YOLO26m | 640 | 53.1 | 52.5 | 220.0 ± 1.4 | 4.7 ± 0.1 | 20.4 | 68.2 |
| YOLO26l | 640 | 55.0 | 54.4 | 286.2 ± 2.0 | 6.2 ± 0.2 | 24.8 | 86.4 |
| YOLO26x | 640 | 57.5 | 56.9 | 525.8 ± 4.0 | 11.8 ± 0.2 | 55.7 | 193.9 |
- Les valeurs mAPval sont pour un modèle unique à échelle unique sur le jeu de données COCO val2017.
Reproduis en utilisantyolo val detect data=coco.yaml device=0 - Vitesse moyennée sur les images COCO val en utilisant une instance Amazon EC2 P4d.
Reproduis en utilisantyolo val detect data=coco.yaml batch=1 device=0|cpu - Les valeurs Params et FLOPs sont pour le modèle fusionné après
model.fuse(), qui fusionne les couches Conv et BatchNorm et, pour les modèles end2end, supprime la tête de détection auxiliaire un-à-plusieurs. Les checkpoints pré-entraînés conservent l'architecture d'entraînement complète et peuvent afficher des nombres plus élevés.
Entraînement
Entraîne YOLO26n sur le jeu de données COCO8 pendant 100 époques à une taille d'image de 640. Pour une liste complète des arguments disponibles, consulte la page Configuration.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.yaml") # build a new model from YAML
model = YOLO("yolo26n.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo26n.yaml").load("yolo26n.pt") # build from YAML and transfer weights
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)Vois les détails complets du mode train sur la page Train. Les modèles de détection peuvent également être entraînés sur des GPU cloud via la plateforme Ultralytics.
Format de jeu de données
Le format de jeu de données de détection YOLO peut être trouvé en détail dans le Guide des jeux de données. Pour convertir ton jeu de données existant à partir d'autres formats (comme COCO, etc.) au format YOLO, utilise l'outil JSON2YOLO par Ultralytics. Tu peux également annoter et gérer tes jeux de données de détection directement sur la plateforme Ultralytics avec des outils d'étiquetage assistés par IA.
Val
Valide la précision du modèle YOLO26n entraîné sur le jeu de données COCO8. Aucun argument n'est nécessaire car le model conserve ses data d'entraînement et ses arguments en tant qu'attributs de modèle.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.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 containing mAP50-95 for each category
metrics.box.image_metrics # per-image metrics dictionary with precision, recall, F1, TP, FP, and FNPrédictions
Utilise un modèle YOLO26n entraîné pour exécuter des prédictions sur des images.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.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
# Access the results
for result in results:
xywh = result.boxes.xywh # center-x, center-y, width, height
xywhn = result.boxes.xywhn # normalized
xyxy = result.boxes.xyxy # top-left-x, top-left-y, bottom-right-x, bottom-right-y
xyxyn = result.boxes.xyxyn # normalized
names = [result.names[cls.item()] for cls in result.boxes.cls.int()] # class name of each box
confs = result.boxes.conf # confidence score of each boxVois les détails complets du mode predict sur la page Predict.
Exportation
Exporte un modèle YOLO26n vers un format différent comme ONNX, CoreML, etc.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom-trained model
# Export the model
model.export(format="onnx")Les formats d'exportation YOLO26 disponibles sont dans le tableau ci-dessous. Tu peux exporter vers n'importe quel format en utilisant l'argument format, par exemple format='onnx' ou format='engine'. Tu peux prédire ou valider directement sur les modèles exportés, par exemple yolo predict model=yolo26n.onnx. Des exemples d'utilisation sont présentés pour ton modèle une fois l'exportation terminée.
| Format | Argument format | Modèle | Métadonnées | Arguments |
|---|---|---|---|---|
| PyTorch | - | yolo26n.pt | ✅ | - |
| TorchScript | torchscript | yolo26n.torchscript | ✅ | imgsz, half, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, half, dynamic, simplify, opset, nms, batch, device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz, half, dynamic, int8, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, half, int8, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz, keras, int8, nms, batch, data, fraction, device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, batch, device |
| TF Lite | tflite | yolo26n.tflite | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, int8, data, fraction, device |
| TF.js | tfjs | yolo26n_web_model/ | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz, batch, int8, half, device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, half, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, int8, data, fraction, nms, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, int8, data, fraction, device |
| DeepX | deepx | yolo26n_deepx_model/ | ✅ | imgsz, int8, data, optimize, device |
Consulte les détails complets de l'export sur la page Export.
FAQ
Puis-je entraîner et déployer des modèles de détection sans coder ?
Oui. La Ultralytics Platform fournit un flux de travail basé sur navigateur pour annoter les jeux de données, entraîner des modèles de détection sur des GPU cloud et les déployer sur des points de terminaison d'inférence. Consulte le guide de démarrage rapide de la plateforme pour commencer.
Comment entraîner un modèle YOLO26 sur mon jeu de données personnalisé ?
L'entraînement d'un modèle YOLO26 sur un jeu de données personnalisé implique quelques étapes :
- Prépare le jeu de données : Assure-toi que ton jeu de données est au format YOLO. Pour obtenir des conseils, consulte notre Guide des jeux de données.
- Charge le modèle : Utilise 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.
- Entraîne le modèle : Exécute la méthode
trainen Python ou la commandeyolo detect traindans le CLI.
from ultralytics import YOLO
# Load a pretrained model
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset
model.train(data="my_custom_dataset.yaml", epochs=100, imgsz=640)Pour des options de configuration détaillées, visite la page Configuration.
Quels modèles pré-entraînés sont disponibles dans YOLO26 ?
Ultralytics YOLO26 propose divers modèles pré-entraînés pour la détection d'objets, la segmentation d'instances, la segmentation sémantique et l'estimation de pose. Ces modèles sont pré-entraînés sur le jeu de données COCO, Cityscapes pour la segmentation sémantique, ou ImageNet pour les tâches de classification. Voici quelques-uns des modèles disponibles :
Pour une liste détaillée et les métriques de performance, consulte la section Modèles.
Comment puis-je valider la précision de mon modèle YOLO entraîné ?
Pour valider la précision de ton modèle YOLO26 entraîné, tu peux utiliser la méthode .val() en Python ou la commande yolo detect val dans le CLI. Cela fournira des métriques comme mAP50-95, mAP50, et plus encore.
from ultralytics import YOLO
# Load the model
model = YOLO("path/to/best.pt")
# Validate the model
metrics = model.val()
print(metrics.box.map) # mAP50-95Pour plus de détails sur la validation, visite la page Val.
Vers quels formats puis-je exporter un modèle YOLO26 ?
Ultralytics YOLO26 permet d'exporter des modèles vers divers formats tels que ONNX, TensorRT, CoreML, et plus encore pour assurer la compatibilité entre différentes plateformes et appareils.
from ultralytics import YOLO
# Load the model
model = YOLO("yolo26n.pt")
# Export the model to ONNX format
model.export(format="onnx")Consulte la liste complète des formats pris en charge et les instructions sur la page Export.
Pourquoi devrais-tu utiliser Ultralytics YOLO26 pour la détection d'objets ?
Ultralytics YOLO26 est conçu pour offrir des performances de pointe pour la détection d'objets, la segmentation d'instances, la segmentation sémantique et l'estimation de pose. Voici quelques avantages clés :
- Modèles pré-entraînés : Utilise des modèles pré-entraînés sur des jeux de données populaires comme COCO et ImageNet pour un développement plus rapide.
- Haute précision : Atteint des scores mAP impressionnants, assurant une détection d'objets fiable.
- Vitesse : Optimisé pour l'inférence en temps réel, ce qui le rend idéal pour les applications nécessitant un traitement rapide.
- Flexibilité : Exporte des modèles vers divers formats comme ONNX et TensorRT pour un déploiement sur plusieurs plateformes.
Explore notre Blog pour des cas d'utilisation et des témoignages de réussite mettant en avant YOLO26 en action.