Modèles et plateformes d’IA
Décomposition de Yolov8 : l’œuvre maîtresse de la vision par ordinateur d’Ultralytics

Jusqu’à présent, la détection d’objets dans les images à l’aide de modèles de vision par ordinateur rencontrait un obstacle majeur en raison d’un délai de traitement de quelques secondes. Ce délai entravait l’adoption pratique dans des cas d’utilisation tels que la conduite autonome. Cependant, la sortie du modèle de vision par ordinateur YOLOv8 par Ultralytics a brisé le délai de traitement. Le nouveau modèle peut détecter des objets en temps réel avec une précision et une vitesse inégalées, ce qui le rend populaire dans l’espace de la vision par ordinateur.
Cet article explore YOLOv8, ses capacités et la façon de l’affiner et de créer vos propres modèles grâce à son référentiel Github open-source.
Yolov8 Expliqué
YOLO (You Only Live Once) est un modèle de vision par ordinateur populaire capable de détecter et segmenter des objets dans les images. Le modèle a subi plusieurs mises à jour par le passé, YOLOv8 marquant la 8e version.
Comme il se présente, YOLOv8 s’appuie sur les capacités des versions précédentes en introduisant de puissantes nouvelles fonctionnalités et améliorations. Cela permet une détection d’objets en temps réel dans les données d’images et de vidéos avec une précision et une précision accrues.
De v1 à v8 : Un bref historique
Yolov1 : Sorti en 2015, la première version de YOLO a été introduite comme un modèle de détection d’objets à une seule étape. Les fonctionnalités incluaient le modèle lisant l’image entière pour prédire chaque boîte de délimitation en une seule évaluation.
Yolov2 : La version suivante, sortie en 2016, a présenté une performance de premier plan sur les benchmarks tels que PASCAL VOC et COCO et fonctionne à des vitesses élevées (67-40 FPS). Il pouvait également détecter avec précision plus de 9 000 catégories d’objets, même avec des données de détection spécifiques limitées.
Yolov3 : Lancé en 2018, Yolov3 a présenté de nouvelles fonctionnalités telles qu’un réseau de base plus efficace, plusieurs ancrages et un pooling pyramidal spatial pour l’extraction de fonctionnalités multi-échelle.
Yolov4 : Avec la sortie de Yolov4 en 2020, la nouvelle technique d’augmentation de données Mosaic a été introduite, qui a offert des capacités de formation améliorées.
Yolov5 : Sorti en 2021, Yolov5 a ajouté de puissantes nouvelles fonctionnalités, notamment l’optimisation des hyperparamètres et le suivi des expériences intégré.
Yolov6 : Avec la sortie de Yolov6 en 2022, le modèle a été open-source pour promouvoir le développement piloté par la communauté. De nouvelles fonctionnalités ont été introduites, telles qu’une nouvelle stratégie d’auto-distillation et une stratégie d’entraînement aidé par ancrage (AAT).
Yolov7 : Sorti la même année, en 2022, Yolov7 a amélioré le modèle existant en termes de vitesse et de précision et était le modèle de détection d’objets le plus rapide au moment de sa sortie.
Ce qui fait que YOLOv8 se démarque

La précision et la vitesse inégalées de YOLOv8 font que le modèle de vision par ordinateur se démarque des versions précédentes. C’est une réalisation considérable, car les objets peuvent désormais être détectés en temps réel sans délai, contrairement aux versions précédentes.
Mais outre cela, YOLOv8 est doté de puissantes fonctionnalités, qui incluent :
- Architecture personnalisable : YOLOv8 offre une architecture flexible que les développeurs peuvent personnaliser pour répondre à leurs besoins spécifiques.
- Entraînement adaptatif : Les nouvelles capacités d’entraînement adaptatif de YOLOv8, telles que l’équilibrage de la fonction de perte pendant l’entraînement et les techniques, améliorent le taux d’apprentissage. Prenez Adam, qui contribue à une meilleure précision, une convergence plus rapide et une meilleure performance globale du modèle.
- Analyse d’images avancée : Grâce aux nouvelles capacités de segmentation sémantique et de prédiction de classe, le modèle peut détecter des activités, des couleurs, des textures et même des relations entre les objets, outre sa fonctionnalité de détection d’objets de base.
- Augmentation de données : Les nouvelles techniques d’augmentation de données aident à résoudre les aspects des variations d’images, tels que la faible résolution, l’occlusion, etc., dans des situations de détection d’objets réels où les conditions ne sont pas idéales.
- Prise en charge de la colonne vertébrale : YOLOv8 offre une prise en charge de plusieurs colonnes vertébrales, notamment CSPDarknet (colonne vertébrale par défaut), EfficientNet (colonne vertébrale légère) et ResNet (colonne vertébrale classique), que les utilisateurs peuvent choisir.
Les utilisateurs peuvent même personnaliser la colonne vertébrale en remplaçant la CSPDarknet53 par n’importe quelle autre architecture de CNN compatible avec les dimensions d’entrée et de sortie de YOLOv8.
Entraînement et affinement de YOLOv8
Le modèle YOLOv8 peut être affiné pour s’adapter à certains cas d’utilisation ou être entraîné entièrement à partir de zéro pour créer un modèle spécialisé. Plus de détails sur les procédures d’entraînement peuvent être trouvés dans la documentation officielle.
Explorons comment vous pouvez effectuer ces deux opérations.
Affinement de YOLOV8 avec un jeu de données personnalisé
L’opération d’affinement charge un modèle préexistant et utilise ses poids par défaut comme point de départ pour l’entraînement. Intuitivement, le modèle se souvient de toutes ses connaissances précédentes, et l’opération d’affinement ajoute de nouvelles informations en ajustant les poids.
Le modèle YOLOv8 peut être affiné avec votre code Python ou via l’interface de ligne de commande (CLI).
1. Affiner un modèle YOLOv8 en utilisant Python
Commencez par importer le package Ultralytics dans votre code. Ensuite, chargez le modèle personnalisé que vous souhaitez former en utilisant le code suivant :
Tout d’abord, installez la bibliothèque Ultralytics à partir de la distribution officielle.
| # Installez le package Ultralytics à partir de PyPI pip install ultralytics |
Ensuite, exécutez le code suivant dans un fichier Python :
| from ultralytics import YOLO
# Chargez un modèle # Entraînez le modèle sur le jeu de données MS COCO |
Par défaut, le code entraînera le modèle en utilisant le jeu de données COCO pour 100 époques. Cependant, vous pouvez également configurer ces paramètres pour définir la taille, l’époque, etc., dans un fichier YAML.
Une fois que vous avez entraîné le modèle avec vos paramètres et votre chemin de données, surveillez les progrès, testez et ajustez le modèle, et continuez à le réentraîner jusqu’à ce que vous obteniez les résultats souhaités.
2. Affiner un modèle YOLOv8 en utilisant la CLI
Pour entraîner un modèle en utilisant la CLI, exécutez le script suivant dans la ligne de commande :
| yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 |
La commande CLI charge le modèle pré-entraîné `yolov8n.pt` et l’entraîne davantage sur le jeu de données défini dans le fichier `coco8.yaml`.
Création de votre propre modèle avec YOLOv8
Il existe essentiellement 2 façons de créer un modèle personnalisé avec le framework YOLO :
- Entraînement à partir de zéro : Cette approche vous permet d’utiliser l’architecture YOLOv8 prédéfinie mais n’utilisera pas de poids pré-entraînés. L’entraînement se fera à partir de zéro.
- Architecture personnalisée : Vous modifiez l’architecture YOLO par défaut et entraînez la nouvelle structure à partir de zéro.
La mise en œuvre de ces deux méthodes reste la même. Pour entraîner un modèle YOLO à partir de zéro, exécutez le code Python suivant :
| from ultralytics import YOLO
# Chargez un modèle # Entraînez le modèle |
Remarquez que cette fois, nous avons chargé un fichier `.yaml` au lieu d’un fichier `.pt`. Le fichier YAML contient les informations d’architecture pour le modèle, et aucun poids n’est chargé. La commande d’entraînement démarrera l’entraînement de ce modèle à partir de zéro.
Pour entraîner une architecture personnalisée, vous devez définir la structure personnalisée dans un fichier `.yaml` similaire à `yolov8n.yaml` ci-dessus. Ensuite, chargez ce fichier et entraînez le modèle en utilisant le même code que ci-dessus.
Pour en savoir plus sur la détection d’objets à l’aide de l’IA et pour rester informé des dernières tendances de l’IA, visitez unite.ai.













