Découvre Ultralytics YOLOv8#
Présentation#
Ultralytics a lancé YOLOv8 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 de nombreux domaines d’application.

Regarder : Présentation du modèle Ultralytics YOLOv8
Découvre et exécute directement des 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 backbone et de neck de pointe, ce qui améliore les performances d’extraction de caractéristiques et de détection d’objets.
- Tête Ultralytics split sans ancres : YOLOv8 adopte une tête Ultralytics split sans ancres, ce qui contribue à une meilleure précision et à un processus de détection plus efficace que les 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é des modèles préentraînés : YOLOv8 propose un éventail de modèles préentraînés adaptés à différentes tâches et exigences de performance, ce qui facilite le choix du modèle approprié à ton cas d’utilisation.
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 répondent à divers besoins, de la détection d’objets à des tâches plus complexes comme la segmentation d’instances, la classification, la détection de pose/de 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, ce qui garantit 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’export, ce qui facilite leur utilisation aux différentes étapes du développement et du déploiement.
| Modèle | Noms de fichiers | Tâche | Entraînement | Validation | Inférence | Export |
|---|---|---|---|---|---|---|
| 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 donne un aperçu des variantes de modèles YOLOv8, en présentant leur adéquation à des tâches spécifiques et leur compatibilité avec différents modes opérationnels, comme l’inférence, la validation, l’entraînement et l’export. Il illustre la polyvalence et la robustesse de la série YOLOv8, qui convient ainsi à diverses applications de vision par ordinateur.
Indicateurs 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 présente des cas simples d’entraînement et d’inférence avec YOLOv8. Pour la documentation complète sur ces modes et d’autres modes, consulte les pages de documentation Prédiction, Entraînement, Validation et Export.
Note que l’exemple ci-dessous concerne les modèles YOLOv8 de détection d’objets. Pour connaître les autres tâches prises en charge, consulte la documentation sur la segmentation, la classification, la pose et les OBB.
Les modèles *.pt préentraînés 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
# Charger un modèle YOLOv8n préentraîné sur COCO
model = YOLO("yolov8n.pt")
# Afficher les informations du modèle (facultatif)
model.info()
# Entraîner le modèle sur le jeu de données d'exemple COCO8 pendant 100 époques
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Exécuter l’inférence avec le modèle YOLOv8n sur l’image 'bus.jpg'
results = model("path/to/bus.jpg")Citations et remerciements#
Ultralytics n’a pas publié d’article de recherche officiel sur YOLOv8, car les modèles évoluent rapidement. Nous nous concentrons sur le développement de la technologie et sur 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 la documentation.
Si tu utilises le modèle YOLOv8 ou tout autre logiciel de ce dépôt dans ton travail, cite-le au 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 proposés 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 split sans ancres, des architectures de backbone et de neck de pointe, et offre un compromis optimisé entre précision et vitesse, ce qui le rend idéal pour diverses applications. Pour plus de détails, consulte les sections Présentation et Fonctionnalités clés.
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 classification, la détection de pose/de points clés et la détection d’objets orientés. Chaque variante du 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’export. Consulte la section Tâches et modes pris en charge pour plus d’informations.
Les modèles YOLOv8 offrent des performances de pointe sur divers jeux de données de référence. Par exemple, le modèle YOLOv8n atteint une précision moyenne (mAP) de 37,3 sur le jeu de données COCO et une vitesse de 0,99 ms sur A100 TensorRT. Tu trouveras dans la section Métriques de performance des métriques détaillées pour chaque variante de modèle selon les différentes tâches et les différents jeux de données.
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 # Charger un modèle YOLOv8n préentraîné sur COCO model = YOLO("yolov8n.pt") # Entraîner le modèle sur le jeu de données d'exemple COCO8 pendant 100 époques 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’export. Tu peux utiliser PyTorch, ONNX, TensorRT et d’autres outils pour ces tests. Voici des exemples de commandes pour réaliser des tests avec Python et la CLI :
Exemplefrom ultralytics.utils.benchmarks import benchmark # Benchmark sur GPU benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, device=0)Pour plus d’informations, consulte la section Métriques de performance.