Ultralytics YOLO27 :

Comprendre les étapes clés d’un projet de vision par ordinateur#

La création d’un projet de vision par ordinateur consiste à suivre une séquence claire d’étapes : définir tes objectifs, collecter et annoter les données, entraîner et évaluer un modèle, puis le déployer et le maintenir en production. Ce guide présente chaque étape dans l’ordre et explique son importance, afin que tu puisses planifier et mener ton propre projet en toute confiance.

La vision par ordinateur est un sous-domaine de l’intelligence artificielle (AI) qui aide les ordinateurs à voir et à comprendre le monde comme les humains. Elle traite et analyse des images ou des vidéos pour en extraire des informations, reconnaître des schémas et prendre des décisions à partir de ces données.



Watch: How to Do Computer Vision Projects | A Step-by-Step Guide

Les techniques de vision par ordinateur comme la détection d’objets, la classification d’images et la segmentation d’instances peuvent être appliquées dans divers secteurs, de la conduite autonome à l’imagerie médicale, afin d’obtenir des informations précieuses.

Vue d’ensemble d’un projet de vision par ordinateur#

Avant d’aborder les détails de chaque étape d’un projet de vision par ordinateur, examinons le processus global. Si tu démarrais un projet de vision par ordinateur aujourd’hui, tu suivrais les étapes suivantes :

Computer Vision Project Steps Overview

Maintenant que tu sais à quoi t’attendre, passons directement aux étapes pour faire avancer ton projet.

Étape 1 : définir les objectifs de ton projet#

La première étape de tout projet de vision par ordinateur consiste à définir clairement le problème que tu essaies de résoudre. Connaître l’objectif final t’aide à commencer à élaborer une solution. Cela est particulièrement vrai pour la vision par ordinateur, car l’objectif de ton projet déterminera directement la tâche de vision par ordinateur sur laquelle tu devras te concentrer.

Voici quelques exemples d’objectifs de projet et des tâches de vision par ordinateur qui peuvent être utilisées pour les atteindre :

  • Objectif : Développer un système capable de surveiller et de gérer le flux de différents types de véhicules sur les autoroutes, afin d’améliorer la gestion du trafic et la sécurité.

    • Tâche de vision par ordinateur : La détection d’objets est idéale pour surveiller le trafic, car elle localise et identifie efficacement plusieurs véhicules. Elle est moins exigeante en calcul que la segmentation d’images, qui fournit des détails superflus pour cette tâche, ce qui garantit une analyse plus rapide en temps réel.
  • Objectif : Développer un outil qui aide les radiologues en fournissant des contours précis, au niveau du pixel, des tumeurs présentes sur les examens d’imagerie médicale.

    • Tâche de vision par ordinateur : La segmentation d’images convient à l’imagerie médicale, car elle fournit des contours précis et détaillés des tumeurs, essentiels pour évaluer leur taille et leur forme et planifier le traitement.
  • Objectif : Créer un système numérique qui catégorise différents documents (par exemple, des factures, des reçus et des documents juridiques) afin d’améliorer l’efficacité organisationnelle et la récupération des documents.

    • Tâche de vision par ordinateur : La classification d’images est idéale ici, car elle traite un document à la fois sans avoir à tenir compte de sa position dans l’image. Cette approche simplifie et accélère le processus de tri.

Choisir le bon modèle et la bonne approche d’entraînement#

Après avoir compris l’objectif du projet et les tâches de vision par ordinateur adaptées, une étape essentielle de la définition de l’objectif consiste à sélectionner le bon modèle et la bonne approche d’entraînement.

Selon l’objectif, tu peux choisir le modèle en premier ou après avoir déterminé quelles données tu peux collecter à l’étape 2. Par exemple, supposons que ton projet dépende fortement de la disponibilité de certains types de données. Dans ce cas, il peut être plus pratique de commencer par rassembler et analyser les données avant de sélectionner un modèle. En revanche, si tu comprends clairement les exigences du modèle, tu peux choisir celui-ci en premier, puis collecter des données qui correspondent à ces spécifications.

Le choix entre un entraînement à partir de zéro et l’utilisation de l’apprentissage par transfert influence la manière dont tu prépares tes données. Un entraînement à partir de zéro nécessite un jeu de données diversifié pour construire la compréhension du modèle depuis le début. L’apprentissage par transfert te permet quant à lui d’utiliser un modèle préentraîné et de l’adapter avec un jeu de données plus petit et plus spécifique. De plus, le choix d’un modèle particulier à entraîner déterminera la façon dont tu devras préparer tes données, par exemple en redimensionnant les images ou en ajoutant des annotations, conformément aux exigences propres au modèle.

Training From Scratch Vs. Using Transfer Learning

Prends le déploiement en compte lors du choix d’un modèle

Prends en compte la cible de déploiement du modèle pour garantir sa compatibilité et ses performances. Par exemple, les modèles légers sont idéaux pour l’informatique en périphérie grâce à leur efficacité sur les appareils aux ressources limitées.

Pour en savoir plus, consulte notre guide sur la définition des objectifs de ton projet et la sélection du bon modèle.

Avant de passer à la mise en pratique d’un projet de vision par ordinateur, il est important de bien comprendre ces éléments. Vérifie que tu as pris en compte les points suivants avant de passer à l’étape 2 :

  • Définis clairement le problème que tu essaies de résoudre.
  • Détermine l’objectif final de ton projet.
  • Identifie la tâche de vision par ordinateur spécifique requise (par exemple, détection d’objets, classification d’images, segmentation d’images).
  • Décide si tu dois entraîner un modèle à partir de zéro ou utiliser l’apprentissage par transfert.
  • Sélectionne le modèle adapté à ta tâche et à tes besoins de déploiement.

Étape 2 : collecte et annotation des données#

La qualité de tes modèles de vision par ordinateur dépend de la qualité de ton jeu de données. Tu peux collecter des images sur Internet, prendre tes propres photos ou utiliser des jeux de données existants. Voici quelques excellentes ressources pour télécharger des jeux de données de haute qualité : Google Dataset Search Engine, UC Irvine Machine Learning Repository et Kaggle Datasets.

Certaines bibliothèques, comme Ultralytics, fournissent une prise en charge intégrée de différents jeux de données, ce qui facilite le démarrage avec des données de haute qualité. Ces bibliothèques incluent souvent des utilitaires permettant d’utiliser facilement les jeux de données populaires, ce qui peut te faire gagner beaucoup de temps et d’efforts au début de ton projet.

Cependant, si tu choisis de collecter des images ou de prendre tes propres photos, tu devras annoter tes données. L’annotation des données consiste à étiqueter tes données afin de transmettre des connaissances à ton modèle. Le type d’annotation que tu utiliseras dépend de ta technique de vision par ordinateur. Voici quelques exemples :

  • Classification d’images : Tu étiquettes l’image entière comme appartenant à une seule classe.
  • Détection d’objets : Tu dessines des boîtes englobantes autour de chaque objet de l’image et tu étiquettes chaque boîte.
  • Segmentation d’images : Tu étiquettes chaque pixel de l’image selon l’objet auquel il appartient, en créant des contours détaillés des objets.

Bounding box, polygon, and keypoint annotations

La collecte et l’annotation des données peuvent être des tâches manuelles longues. Un outil d’annotation dédié les accélère : Ultralytics Platform fournit un éditeur d’annotations intégré avec une annotation intelligente optimisée par SAM pour les données de détection, de segmentation et OBB, en enregistrant directement les étiquettes au format YOLO.

Étape 3 : augmenter les données et diviser ton jeu de données#

Après avoir collecté et annoté tes données d’images, il est important de commencer par diviser ton jeu de données en ensembles d’entraînement, de validation et de test avant d’effectuer l’augmentation des données. Diviser ton jeu de données avant l’augmentation est essentiel pour tester et valider ton modèle sur des données originales et non modifiées. Cela aide à évaluer précisément la capacité du modèle à se généraliser à de nouvelles données jamais vues.

Voici comment diviser tes données :

  • Ensemble d’entraînement : Il s’agit de la plus grande partie de tes données, généralement 70 à 80 % du total, utilisée pour entraîner ton modèle.
  • Ensemble de validation : Il représente généralement environ 10 à 15 % de tes données ; il sert à ajuster les hyperparamètres et à valider le modèle pendant l’entraînement, contribuant ainsi à éviter le surapprentissage.
  • Ensemble de test : Les 10 à 15 % restants de tes données sont mis de côté pour constituer l’ensemble de test. Celui-ci sert à évaluer les performances du modèle sur des données jamais vues une fois l’entraînement terminé.

Après avoir divisé tes données, tu peux effectuer une augmentation des données en appliquant des transformations comme la rotation, le changement d’échelle et le retournement des images afin d’augmenter artificiellement la taille de ton jeu de données. L’augmentation des données rend ton modèle plus robuste aux variations et améliore ses performances sur les images jamais vues.

Data augmentation examples

Des bibliothèques comme OpenCV, Albumentations et TensorFlow proposent des fonctions d’augmentation flexibles que tu peux utiliser. De plus, certaines bibliothèques, comme Ultralytics, disposent de paramètres d’augmentation intégrés directement dans leur fonction d’entraînement du modèle, ce qui simplifie le processus.

Pour mieux comprendre tes données, tu peux utiliser des outils comme Matplotlib ou Seaborn afin de visualiser les images et d’analyser leur distribution et leurs caractéristiques. La visualisation de tes données aide à identifier les schémas, les anomalies et l’efficacité de tes techniques d’augmentation. L’onglet Charts d’Ultralytics Platform peut présenter nombre de ces informations sans aucun code en générant automatiquement, pour chaque jeu de données importé, la distribution des divisions, le nombre de classes, des histogrammes des dimensions des images et des cartes thermiques de la position des annotations.

En comprenant, divisant et augmentant correctement tes données, tu peux développer un modèle bien entraîné, validé et testé, qui fonctionne efficacement dans des applications réelles.

Étape 4 : entraînement du modèle#

Une fois ton jeu de données prêt pour l’entraînement, tu peux te concentrer sur la configuration de l’environnement nécessaire, la gestion de tes jeux de données et l’entraînement de ton modèle.

Tout d’abord, tu dois t’assurer que ton environnement est correctement configuré. Cela comprend généralement les éléments suivants :

  • Installer les bibliothèques et frameworks essentiels comme TensorFlow, PyTorch ou Ultralytics.
  • Si tu utilises un GPU, l’installation de bibliothèques comme CUDA et cuDNN aidera à activer l’accélération GPU et à accélérer le processus d’entraînement.

Ensuite, tu peux charger tes jeux de données d’entraînement et de validation dans ton environnement. Normalise et prétraite les données en les redimensionnant, en convertissant leur format ou en les augmentant. Une fois ton modèle sélectionné, configure les couches et définis les hyperparamètres. Compile le modèle en définissant la fonction de perte, l’optimiseur et les métriques de performance.

Les bibliothèques comme Ultralytics simplifient le processus d’entraînement. Tu peux commencer l’entraînement en transmettant les données au modèle avec un minimum de code. Ces bibliothèques gèrent automatiquement l’ajustement des poids, la rétropropagation et la validation. Elles proposent également des outils pour suivre facilement la progression et ajuster les hyperparamètres. Après l’entraînement, enregistre le modèle et ses poids avec quelques commandes.

Il est important de garder à l’esprit qu’une bonne gestion des jeux de données est essentielle pour un entraînement efficace. Utilise le contrôle de version pour les jeux de données afin de suivre les modifications et de garantir la reproductibilité. Des outils comme DVC (Data Version Control) peuvent aider à gérer les jeux de données volumineux.

Étape 5 : évaluation et réglage fin du modèle#

Il est important d’évaluer les performances de ton modèle à l’aide de différentes métriques et de l’affiner pour améliorer son exactitude. L’évaluation aide à identifier les domaines dans lesquels le modèle excelle et ceux où il peut être amélioré. Le réglage fin garantit que le modèle est optimisé pour obtenir les meilleures performances possibles.

  • Métriques de performance : Utilise des métriques comme l’exactitude, la précision, le rappel et le score F1 pour évaluer les performances de ton modèle. Ces métriques donnent une idée de la qualité de ses prédictions.
  • Réglage des hyperparamètres : Ajuste les hyperparamètres pour optimiser les performances du modèle. Des techniques comme la recherche en grille ou la recherche aléatoire peuvent aider à trouver les meilleures valeurs d’hyperparamètres.
  • Réglage fin : Effectue de petits ajustements de l’architecture du modèle ou du processus d’entraînement pour améliorer les performances. Cela peut impliquer de modifier les taux d’apprentissage, les tailles de lot ou d’autres paramètres du modèle.

Pour mieux comprendre les techniques d’évaluation et de réglage fin des modèles, consulte notre guide sur l’analyse de l’évaluation des modèles.

Étape 6 : test du modèle#

Le test du modèle confirme que celui-ci fonctionne correctement sur des données totalement inédites et vérifie qu’il est prêt à être déployé. La différence entre le test et l’évaluation du modèle est que le test vise à vérifier les performances du modèle final, plutôt qu’à l’améliorer de manière itérative.

Il est important de tester et de déboguer soigneusement les problèmes courants susceptibles de survenir. Teste ton modèle sur un jeu de données de test distinct, qui n’a pas été utilisé pendant l’entraînement ou la validation. Ce jeu de données doit représenter des scénarios réels afin de garantir que les performances du modèle sont cohérentes et fiables.

Traite également les problèmes courants comme le surapprentissage, le sous-apprentissage et la fuite de données. Utilise des techniques comme la validation croisée et la détection d’anomalies pour identifier et corriger ces problèmes. Pour découvrir des stratégies de test complètes, consulte notre guide sur le test des modèles.

Étape 7 : déploiement du modèle#

Une fois ton modèle soigneusement testé, il est temps de le déployer. Le déploiement d’un modèle consiste à le rendre disponible dans un environnement de production. Voici les étapes pour déployer un modèle de vision par ordinateur :

  • Configuration de l’environnement : Configure l’infrastructure nécessaire pour l’option de déploiement choisie, qu’elle soit basée sur le cloud (AWS, Google Cloud, Azure) ou en périphérie (appareils locaux, IoT).
  • Exportation du modèle : Exporte ton modèle au format approprié (par exemple, ONNX, TensorRT ou CoreML pour YOLO26) afin de garantir sa compatibilité avec ta plateforme de déploiement.
  • Déploiement du modèle : Déploie le modèle en configurant des API ou des points de terminaison et en l’intégrant à ton application.
  • Garantie de l’évolutivité : Mets en place des équilibreurs de charge, des groupes d’autoscaling et des outils de surveillance pour gérer les ressources et traiter l’augmentation du volume de données et des demandes des utilisateurs.

Pour obtenir des conseils plus détaillés sur les stratégies et les bonnes pratiques de déploiement, consulte notre guide des pratiques de déploiement des modèles. Ultralytics Platform fournit également des points de terminaison de déploiement gérés, avec autoscaling dans 42 régions du monde, et prend automatiquement en charge la configuration de l’infrastructure.

Étape 8 : surveillance, maintenance et documentation#

Une fois ton modèle déployé, il est important de surveiller continuellement ses performances, de le maintenir pour gérer les éventuels problèmes et de documenter l’ensemble du processus pour référence et amélioration futures.

Les outils de surveillance peuvent t’aider à suivre les indicateurs clés de performance (KPI) et à détecter les anomalies ou les baisses d’exactitude. En surveillant le modèle, tu peux repérer sa dérive, c’est-à-dire la baisse de ses performances au fil du temps due à des changements dans les données d’entrée. Réentraîne périodiquement le modèle avec des données mises à jour afin de maintenir son exactitude et sa pertinence.

Model monitoring and maintenance lifecycle

En plus de la surveillance et de la maintenance, la documentation est également essentielle. Documente soigneusement l’ensemble du processus, notamment l’architecture du modèle, les procédures d’entraînement, les hyperparamètres, les étapes de prétraitement des données et toutes les modifications effectuées pendant le déploiement et la maintenance. Une bonne documentation garantit la reproductibilité et facilite les futures mises à jour ou opérations de dépannage. En surveillant, maintenant et documentant efficacement ton modèle, tu peux t’assurer qu’il reste précis, fiable et facile à gérer tout au long de son cycle de vie.

Échanger avec la communauté#

Échanger avec une communauté de passionnés de vision par ordinateur peut t’aider à résoudre en toute confiance les problèmes rencontrés pendant ton projet. Voici quelques moyens d’apprendre, de dépanner et de développer efficacement ton réseau.

Ressources de la communauté#

  • Issues GitHub : Consulte le dépôt GitHub de YOLO26 et utilise l’onglet Issues pour poser des questions, signaler des bugs et suggérer de nouvelles fonctionnalités. La communauté active et les mainteneurs sont là pour t’aider à résoudre des problèmes spécifiques.
  • Serveur Discord d’Ultralytics : Rejoins le serveur Discord d’Ultralytics pour échanger avec d’autres utilisateurs et développeurs, obtenir de l’aide et partager des informations.

Documentation officielle#

  • Documentation Ultralytics de YOLO26 : Consulte la documentation officielle de YOLO26 pour découvrir des guides détaillés contenant des conseils utiles sur différentes tâches et différents projets de vision par ordinateur.

L’utilisation de ces ressources t’aidera à surmonter les difficultés et à rester au fait des dernières tendances et bonnes pratiques de la communauté de la vision par ordinateur.

Prochaines étapes#

Tu disposes désormais d’une feuille de route pour chaque étape d’un projet de vision par ordinateur, de la définition des objectifs à la surveillance d’un modèle déployé. Mets-la en pratique en entraînant ton premier modèle YOLO, ou approfondis une étape particulière grâce aux guides associés ci-dessus. Pour exécuter l’ensemble du pipeline sans écrire de code, découvre Ultralytics Platform.

FAQ#

  • Le choix de la bonne tâche de vision par ordinateur dépend de l’objectif final de ton projet. Par exemple, si tu veux surveiller le trafic, la détection d’objets convient, car elle peut localiser et identifier plusieurs types de véhicules en temps réel. Pour l’imagerie médicale, la segmentation d’images est idéale pour fournir des contours détaillés des tumeurs et faciliter le diagnostic et la planification du traitement. En savoir plus sur des tâches spécifiques comme la détection d’objets, la segmentation d’instances, la segmentation sémantique et la classification d’images.

  • L’annotation des données est essentielle pour apprendre à ton modèle à reconnaître des schémas. Le type d’annotation varie selon la tâche :

    • Classification d’images : L’image entière est étiquetée comme appartenant à une seule classe.
    • Détection d’objets : Des boîtes englobantes sont dessinées autour des objets.
    • Segmentation d’images : Chaque pixel est étiqueté selon l’objet auquel il appartient.

    L’éditeur d’annotations intégré à Ultralytics Platform peut t’aider dans ce processus. Pour plus de détails, consulte notre guide sur la collecte et l’annotation des données.

  • Diviser ton jeu de données avant l'augmentation permet de valider les performances du modèle sur des données originales et non modifiées. Suis ces étapes :

    • Jeu d'entraînement : 70 à 80 % de tes données.
    • Jeu de validation : 10 à 15 % pour l'ajustement des hyperparamètres.
    • Jeu de test : les 10 à 15 % restants pour l'évaluation finale.

    Après la division, applique des techniques d'augmentation des données comme la rotation, le redimensionnement et le retournement pour accroître la diversité du jeu de données. Des bibliothèques comme Albumentations et OpenCV peuvent t'aider. Ultralytics propose également des paramètres d'augmentation intégrés pour plus de simplicité.

  • Exporte ton modèle entraîné avec la méthode export, en choisissant un format adapté à ta cible de déploiement. Ultralytics prend en charge plusieurs formats, notamment ONNX, TensorRT et CoreML. Pour exporter ton modèle YOLO26, suis ces étapes :

    • Utilise la méthode export avec le paramètre de format souhaité.
    • Assure-toi que le modèle exporté respecte les spécifications de ton environnement de déploiement (par exemple, des appareils edge ou le cloud).

    Pour plus d'informations, consulte le guide d'exportation des modèles.

  • La surveillance et la maintenance continues sont essentielles à la réussite à long terme d'un modèle. Mets en place des outils pour suivre les indicateurs clés de performance (KPIs) et détecter les anomalies. Réentraîne régulièrement le modèle avec des données actualisées pour lutter contre la dérive du modèle. Documente l'ensemble du processus, y compris l'architecture du modèle, les hyperparamètres et les modifications, afin de garantir la reproductibilité et de faciliter les futures mises à jour. Pour en savoir plus, consulte notre guide de surveillance et de maintenance.

Commentaires