Découvre Ultralytics YOLOv8#
Présentation#
YOLOv8 a été publié par Ultralytics le 10 janvier 2023, offrant des performances de pointe en matière de précision et de vitesse. S'appuyant sur les avancées des versions précédentes de YOLO, YOLOv8 a introduit de nouvelles fonctionnalités et optimisations qui en font un choix idéal pour diverses tâches de détection d'objets dans un large éventail d'applications.

Watch: Ultralytics YOLOv8 Model Overview
Découvre et exécute directement les modèles YOLOv8 sur Ultralytics Platform.
Fonctionnalités clés de YOLOv8#
- Architectures avancées du backbone et du neck : YOLOv8 utilise des architectures de pointe pour le backbone et le neck, ce qui améliore les performances d'extraction de caractéristiques et de détection d'objets.
- Tête Ultralytics séparée sans ancres : YOLOv8 adopte une tête Ultralytics séparée sans ancres, ce qui contribue à améliorer la précision et l'efficacité du processus de détection par rapport aux approches avec ancres.
- Compromis précision-vitesse optimisé : En mettant l'accent sur un équilibre optimal entre précision et vitesse, YOLOv8 convient aux tâches de détection d'objets en temps réel dans divers domaines d'application.
- Diversité de modèles préentraînés : YOLOv8 propose une gamme de modèles préentraînés adaptés à différentes tâches et exigences de performance, ce qui facilite la recherche du modèle approprié pour ton cas d'utilisation spécifique.
Tâches et modes pris en charge#
La série YOLOv8 propose une gamme variée de modèles, chacun spécialisé dans des tâches spécifiques de vision par ordinateur. Ces modèles sont conçus pour répondre à divers besoins, de la détection d'objets à des tâches plus complexes comme la segmentation d'instances, la classification, la détection de poses/points clés et la détection d'objets orientés.
Chaque variante de la série YOLOv8 est optimisée pour sa tâche respective, afin de garantir des performances et une précision élevées. De plus, ces modèles sont compatibles avec différents modes opérationnels, notamment l'inférence, la validation, l'entraînement et l'exportation, ce qui facilite leur utilisation aux différentes étapes du déploiement et du développement.
| Modèle | Noms de fichiers | Tâche | Entraînement | Validation | Inférence | Exportation |
|---|---|---|---|---|---|---|
| YOLOv8 | yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt | Détection | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-seg | yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt | Segmentation d'instances | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-cls | yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt | Classification | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-pose | yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt | Pose/points clés | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-obb | yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt | Détection orientée | ✅ | ✅ | ✅ | ✅ |
Ce tableau présente une vue d'ensemble des variantes de modèles YOLOv8, en mettant en évidence leur applicabilité à des tâches spécifiques et leur compatibilité avec différents modes opérationnels tels que l'inférence, la validation, l'entraînement et l'exportation. Il illustre la polyvalence et la robustesse de la série YOLOv8, qui convient ainsi à diverses applications de vision par ordinateur.
Métriques de performance#
Consulte la documentation sur la détection pour voir des exemples d'utilisation de ces modèles entraînés sur COCO, qui comprennent 80 classes préentraînées.
Exemples d'utilisation de YOLOv8#
Cet exemple fournit des exemples simples d'entraînement et d'inférence avec YOLOv8. Pour consulter la documentation complète sur ces modes et les autres, regarde les pages de documentation Predict, Train, Val et Export.
Note que l'exemple ci-dessous concerne les modèles YOLOv8 Detect pour la détection d'objets. Pour découvrir les autres tâches prises en charge, consulte la documentation Segment, Classify, Pose et OBB.
Les modèles *.pt préentraînés avec PyTorch, ainsi que les fichiers de configuration *.yaml, peuvent être transmis à la classe YOLO() pour créer une instance de modèle en 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")Citations et remerciements#
Ultralytics n'a pas publié d'article de recherche officiel sur YOLOv8 en raison de l'évolution rapide des modèles. Nous nous concentrons sur l'avancement de la technologie et sa facilité d'utilisation plutôt que sur la production d'une documentation statique. Pour obtenir les informations les plus récentes sur l'architecture, les fonctionnalités et l'utilisation de YOLO, consulte notre dépôt GitHub et notre documentation.
Si tu utilises le modèle YOLOv8 ou tout autre logiciel de ce dépôt dans tes travaux, cite-le en utilisant le format suivant :
@software{yolov8_ultralytics,
author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu},
title = {Ultralytics YOLOv8},
version = {8.0.0},
year = {2023},
url = {https://github.com/ultralytics/ultralytics},
orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069},
license = {AGPL-3.0}
}Note que le DOI est en attente et sera ajouté à la citation dès qu'il sera disponible. Les modèles YOLOv8 sont fournis sous les licences AGPL-3.0 et Enterprise.
FAQ#
YOLOv8 est conçu pour améliorer les performances de détection d'objets en temps réel grâce à des fonctionnalités avancées. Contrairement aux versions précédentes, YOLOv8 intègre une tête Ultralytics séparée sans ancres, des architectures de backbone et de neck de pointe, et propose un compromis précision-vitesse optimisé, ce qui le rend idéal pour diverses applications. Pour plus de détails, consulte les sections Vue d'ensemble et Fonctionnalités clés.
Les modèles YOLOv8 atteignent des performances de pointe sur divers jeux de données d'évaluation. Par exemple, le modèle YOLOv8n atteint une mAP (précision moyenne) de 37,3 sur le jeu de données COCO et une vitesse de 0,99 ms sur A100 TensorRT. Tu trouveras des métriques de performance détaillées pour chaque variante de modèle, selon les différentes tâches et les différents jeux de données, dans la section Métriques de performance.
Tu peux entraîner un modèle YOLOv8 avec Python ou la CLI. Voici des exemples d'entraînement d'un modèle YOLOv8 préentraîné sur COCO avec le jeu de données COCO8 pendant 100 époques :
Exemplefrom ultralytics import YOLO # Load a COCO-pretrained YOLOv8n model model = YOLO("yolov8n.pt") # Train the model on the COCO8 example dataset for 100 epochs results = model.train(data="coco8.yaml", epochs=100, imgsz=640)Pour plus de détails, consulte la documentation sur l'entraînement.
Oui, tu peux évaluer les performances des modèles YOLOv8 en termes de vitesse et de précision avec différents formats d'exportation. Tu peux utiliser PyTorch, ONNX, TensorRT et bien d'autres outils pour l'évaluation. Voici des exemples de commandes d'évaluation avec Python et la CLI :
Exemplefrom ultralytics.utils.benchmarks import benchmark # Benchmark on GPU benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, device=0)Pour plus d'informations, consulte la section Métriques de performance.
YOLOv8 prend en charge un large éventail de tâches de vision par ordinateur, notamment la détection d'objets, la segmentation d'instances, la détection de poses/points clés, la détection d'objets orientés et la classification. Chaque variante de modèle est optimisée pour sa tâche spécifique et compatible avec différents modes opérationnels tels que l'inférence, la validation, l'entraînement et l'exportation. Consulte la section Tâches et modes pris en charge pour plus d'informations.