Un guide sur les tests de modèles
Introduction
Après avoir formé et évalué ton modèle, il est temps de le tester. Le test d'un modèle consiste à évaluer ses performances dans des scénarios réels. Les tests prennent en compte des facteurs tels que la précision, la fiabilité, l'équité et la facilité à comprendre les décisions du modèle. L'objectif est de s'assurer que le modèle fonctionne comme prévu, qu'il donne les résultats escomptés et qu'il s'inscrit dans l'objectif global de ton application ou de ton projet.
Le test de modèle est assez similaire à l'évaluation de modèle, mais il s'agit de deux étapes distinctes dans un projet de vision par ordinateur. L'évaluation du modèle implique des mesures et des tracés pour évaluer la précision du modèle. En revanche, le test de modèle vérifie si le comportement appris du modèle correspond aux attentes. Dans ce guide, nous allons explorer des stratégies pour tester tes modèles de vision par ordinateur.
Test de modèle vs. Évaluation du modèle
Tout d'abord, comprenons la différence entre l'évaluation et le test d'un modèle à l'aide d'un exemple.
Supposons que tu aies formé un modèle de vision par ordinateur pour reconnaître les chats et les chiens, et que tu veuilles déployer ce modèle dans une animalerie pour surveiller les animaux. Pendant la phase d'évaluation du modèle, tu utilises un ensemble de données étiquetées pour calculer des mesures telles que l'exactitude, la précision, le rappel et le score F1. Par exemple, le modèle peut avoir une précision de 98 % dans la distinction entre les chats et les chiens dans un ensemble de données donné.
Après l'évaluation, tu testes le modèle à l'aide d'images provenant d'une animalerie pour voir s'il identifie bien les chats et les chiens dans des conditions plus variées et plus réalistes. Tu vérifies s'il peut étiqueter correctement les chats et les chiens lorsqu'ils sont en mouvement, dans des conditions d'éclairage différentes ou partiellement masqués par des objets tels que des jouets ou des meubles. Le test de modèle permet de vérifier que le modèle se comporte comme prévu en dehors de l'environnement d'évaluation contrôlé.
Préparer le test du modèle
Les modèles de vision par ordinateur apprennent à partir d'ensembles de données en détectant des modèles, en faisant des prédictions et en évaluant leurs performances. Ces ensembles de données sont généralement divisés en ensembles de formation et de test pour simuler les conditions du monde réel. Les données d'entraînement apprennent au modèle tandis que les données de test vérifient sa précision.
Voici deux points à garder à l'esprit avant de tester ton modèle :
- Représentation réaliste : Les données de test inédites doivent être similaires aux données que le modèle devra traiter lorsqu'il sera déployé. Cela permet d'obtenir une compréhension réaliste des capacités du modèle.
- Taille suffisante : La taille de l'ensemble de données de test doit être suffisamment importante pour fournir des indications fiables sur les performances du modèle.
Tester ton modèle de vision par ordinateur
Voici les étapes clés à suivre pour tester ton modèle de vision par ordinateur et comprendre ses performances.
- Effectue des prédictions : Utilise le modèle pour faire des prédictions sur l'ensemble des données de test.
- Comparer les prédictions : Vérifie dans quelle mesure les prédictions du modèle correspondent aux étiquettes réelles (vérité de terrain).
- Calculer les mesures de performance : Calcule les mesures telles que l'exactitude, la précision, le rappel et le score F1 pour comprendre les forces et les faiblesses du modèle. Les tests se concentrent sur la façon dont ces mesures reflètent les performances dans le monde réel.
- Visualise les résultats : Crée des aides visuelles comme les matrices de confusion et les courbes ROC. Celles-ci t'aident à repérer les domaines spécifiques où le modèle pourrait ne pas être performant dans les applications pratiques.
Ensuite, les résultats des tests peuvent être analysés :
- Images mal classées : Identifie et examine les images que le modèle a mal classées pour comprendre où il se trompe.
- Analyse des erreurs : Effectue une analyse approfondie des erreurs pour comprendre les types d'erreurs (par exemple, les faux positifs par rapport aux faux négatifs) et leurs causes potentielles.
- Biais et équité : Vérifie qu'il n'y a pas de biais dans les prédictions du modèle. Assure-toi que le modèle donne les mêmes résultats dans les différents sous-ensembles de données, en particulier s'il comprend des attributs sensibles comme la race, le sexe ou l'âge.
Teste ton modèle YOLOv8
Pour tester ton modèle YOLOv8 , tu peux utiliser le mode de validation. C'est un moyen simple de comprendre les forces du modèle et les points à améliorer. Tu devras également formater ton jeu de données de test correctement pour YOLOv8. Pour plus de détails sur l'utilisation du mode de validation, consulte la page de documentation sur la validation des modèles.
Utiliser YOLOv8 pour prédire sur plusieurs images de test
Si tu veux tester ton modèle YOLOv8 entraîné sur plusieurs images stockées dans un dossier, tu peux facilement le faire en une seule fois. Au lieu d'utiliser le mode de validation, qui est généralement utilisé pour évaluer les performances du modèle sur un ensemble de validation et fournir des mesures détaillées, tu peux simplement vouloir voir les prédictions sur toutes les images de ton ensemble de test. Pour cela, tu peux utiliser le mode prédiction.
Différence entre les modes de validation et de prédiction
- Mode de validation: Utilisé pour évaluer les performances du modèle en comparant les prédictions à des étiquettes connues (vérité terrain). Il fournit des mesures détaillées telles que l'exactitude, la précision, le rappel et le score F1.
- Mode prédiction: Utilisé pour exécuter le modèle sur de nouvelles données inédites afin de générer des prédictions. Il ne fournit pas de mesures de performance détaillées mais te permet de voir comment le modèle se comporte sur des images du monde réel.
Exécuter les prédictions de YOLOv8 sans formation personnalisée
Si tu souhaites tester le modèle de base YOLOv8 pour savoir s'il peut être utilisé pour ton application sans formation personnalisée, tu peux utiliser le mode prédiction. Bien que le modèle soit pré-entraîné sur des ensembles de données tels que COCO, l'exécution de prédictions sur ton propre ensemble de données peut te donner une idée rapide de ses performances dans ton contexte spécifique.
Surajustement et sous-ajustement dans l'apprentissage automatique
Lorsque tu testes un modèle d'apprentissage automatique, en particulier dans le domaine de la vision par ordinateur, il est important de faire attention à l'overfitting et à l'underfitting. Ces problèmes peuvent affecter de manière significative le fonctionnement de ton modèle avec de nouvelles données.
Surajustement
L'ajustement excessif se produit lorsque ton modèle apprend trop bien les données d'apprentissage, y compris le bruit et les détails qui ne se généralisent pas aux nouvelles données. Dans le domaine de la vision par ordinateur, cela signifie que ton modèle peut très bien fonctionner avec des images d'entraînement, mais qu'il a du mal à s'adapter à de nouvelles images.
Signes de surajustement
- Précision d'entraînement élevée, précision de validation faible : si ton modèle donne de très bons résultats sur les données d'entraînement mais de mauvais résultats sur les données de validation ou de test, il s'agit probablement d'un surajustement.
- Inspection visuelle : Parfois, tu peux constater un surajustement si ton modèle est trop sensible aux changements mineurs ou aux détails non pertinents des images.
Sous-appareillage
L'inadaptation se produit lorsque ton modèle ne peut pas capturer les modèles sous-jacents dans les données. Dans le domaine de la vision par ordinateur, un modèle sous-adapté peut même ne pas reconnaître correctement les objets dans les images d'apprentissage.
Signes d'inadaptation
- Faible précision d'apprentissage : si ton modèle ne peut pas atteindre une grande précision sur l'ensemble d'apprentissage, il se peut qu'il soit sous-adapté.
- Mauvaise classification visuelle : L'incapacité constante à reconnaître des caractéristiques ou des objets évidents suggère un sous-ajustement.
Équilibrer l'ajustement excessif et l'ajustement insuffisant
La clé est de trouver un équilibre entre l'ajustement excessif et l'ajustement insuffisant. Idéalement, un modèle doit être performant à la fois sur les ensembles de données de formation et de validation. Contrôler régulièrement les performances de ton modèle à l'aide de métriques et d'inspections visuelles, ainsi qu'appliquer les bonnes stratégies, peut t'aider à obtenir les meilleurs résultats.
Les fuites de données dans la vision par ordinateur et comment les éviter
Lorsque tu testes ton modèle, il est important de garder à l'esprit les fuites de données. La fuite de données se produit lorsque des informations extérieures à l'ensemble de données de formation sont accidentellement utilisées pour former le modèle. Le modèle peut sembler très précis pendant la formation, mais il ne sera pas performant sur de nouvelles données non vues lorsque la fuite de données se produit.
Pourquoi les fuites de données se produisent-elles ?
Les fuites de données peuvent être difficiles à repérer et proviennent souvent de biais cachés dans les données d'apprentissage. Voici quelques exemples courants de fuites de données dans le domaine de la vision artificielle :
- Biais de caméra : les différents angles, l'éclairage, les ombres et les mouvements de caméra peuvent introduire des motifs indésirables.
- Biais de superposition : les logos, les horodatages ou autres superpositions dans les images peuvent induire le modèle en erreur.
- Biais de police et d'objet : les polices spécifiques ou les objets qui apparaissent fréquemment dans certaines classes peuvent fausser l'apprentissage du modèle.
- Biais spatial : les déséquilibres entre l'avant-plan et l'arrière-plan, la distribution des boîtes englobantes et l'emplacement des objets peuvent affecter la formation.
- Biais d'étiquette et de domaine : des étiquettes incorrectes ou des décalages dans les types de données peuvent entraîner des fuites.
Détecter les fuites de données
Pour trouver les fuites de données, tu peux :
- Vérifie les performances : Si les résultats du modèle sont étonnamment bons, il se peut qu'il y ait des fuites.
- Regarde l'importance des caractéristiques : Si une caractéristique est beaucoup plus importante que les autres, cela peut indiquer une fuite.
- Inspection visuelle : Vérifie deux fois que les décisions du modèle ont un sens intuitif.
- Vérifie la séparation des données : Assure-toi que les données ont été divisées correctement avant tout traitement.
Éviter les fuites de données
Pour éviter les fuites de données, utilise un ensemble de données diversifié avec des images ou des vidéos provenant de caméras et d'environnements différents. Examine soigneusement tes données et vérifie qu'il n'y a pas de biais cachés, par exemple si tous les échantillons positifs ont été pris à un moment précis de la journée. En évitant les fuites de données, tu pourras rendre tes modèles de vision par ordinateur plus fiables et plus efficaces dans des situations réelles.
Ce qui vient après le test du modèle
Après avoir testé ton modèle, les étapes suivantes dépendent des résultats. Si ton modèle fonctionne bien, tu peux le déployer dans un environnement réel. Si les résultats ne sont pas satisfaisants, tu devras apporter des améliorations. Cela peut impliquer d'analyser les erreurs, de recueillir plus de données, d'améliorer la qualité des données, d'ajuster les hyperparamètres et de réentraîner le modèle.
Participe Ă la conversation sur l'IA
Faire partie d'une communauté de passionnés de vision par ordinateur peut aider à résoudre des problèmes et à apprendre plus efficacement. Voici quelques moyens d'entrer en contact, de demander de l'aide et de partager tes idées.
Ressources communautaires
- GitHub Issues : Explore le dépôt GitHub YOLOv8 et utilise l'onglet Issues pour poser des questions, signaler des bogues et suggérer de nouvelles fonctionnalités. La communauté et les responsables sont très actifs et prêts à aider.
- Ultralytics Serveur Discord : Rejoignez le Ultralytics Serveur Discord pour discuter avec d’autres utilisateurs et développeurs, obtenir de l’aide et partager vos expériences.
Documentation officielle
- Ultralytics YOLOv8 Documentation : consultez le fonctionnaire YOLOv8 documentation pour des guides détaillés et des conseils utiles sur divers projets de vision par ordinateur.
Ces ressources t'aideront à relever les défis et à rester au courant des dernières tendances et pratiques au sein de la communauté de la vision par ordinateur.
En résumé
La construction de modèles de vision par ordinateur dignes de confiance repose sur des tests de modèles rigoureux. En testant le modèle avec des données inédites, nous pouvons l'analyser et repérer les faiblesses comme le surajustement et les fuites de données. En réglant ces problèmes avant le déploiement, on aide le modèle à bien fonctionner dans les applications du monde réel. Il est important de se rappeler que le test du modèle est tout aussi crucial que l'évaluation du modèle pour garantir le succès et l'efficacité à long terme du modèle.
FAQ
Quelles sont les principales différences entre l'évaluation et le test de modèles dans le domaine de la vision par ordinateur ?
L'évaluation et le test d'un modèle sont des étapes distinctes dans un projet de vision par ordinateur. L'évaluation d'un modèle implique l'utilisation d'un ensemble de données étiquetées pour calculer des mesures telles que l'exactitude, la précision, le rappel et le score F1, ce qui donne un aperçu des performances du modèle avec un ensemble de données contrôlé. Le test du modèle, quant à lui, évalue les performances du modèle dans des scénarios réels en l'appliquant à de nouvelles données inédites, ce qui permet de s'assurer que le comportement appris du modèle correspond aux attentes en dehors de l'environnement d'évaluation. Pour un guide détaillé, reporte-toi aux étapes d'un projet de vision par ordinateur.
Comment puis-je tester mon modèle Ultralytics YOLOv8 sur plusieurs images ?
Pour tester ton modèle Ultralytics YOLOv8 sur plusieurs images, tu peux utiliser le mode prédiction. Ce mode te permet d'exécuter le modèle sur de nouvelles données inédites pour générer des prédictions sans fournir de métriques détaillées. Ce mode est idéal pour tester les performances dans le monde réel sur des ensembles d'images plus importants stockés dans un dossier. Pour évaluer les mesures de performance, utilise plutôt le mode validation.
Que dois-je faire si mon modèle de vision par ordinateur montre des signes d'ajustement excessif ou insuffisant ?
Pour remédier à l'ajustement excessif:
- Les techniques de régularisation comme le dropout.
- Augmente la taille de l'ensemble de données de formation.
- Simplifie l'architecture du modèle.
Pour remédier à l'insuffisance de l'ajustement:
- Utilise un modèle plus complexe.
- Fournir des caractéristiques plus pertinentes.
- Augmente le nombre d'itérations ou d'époques de formation.
Examine les images mal classées, effectue une analyse approfondie des erreurs et suis régulièrement les mesures de performance pour maintenir un équilibre. Pour plus d'informations sur ces concepts, explore notre section sur l'ajustement excessif et l'ajustement insuffisant.
Comment détecter et éviter les fuites de données dans la vision par ordinateur ?
Pour détecter les fuites de données :
- Vérifie que les performances du test ne sont pas anormalement élevées.
- Vérifie l'importance des caractéristiques pour obtenir des informations inattendues.
- Examine intuitivement les décisions du modèle.
- Veille à ce que la répartition des données soit correcte avant le traitement.
Pour éviter les fuites de données :
- Utilise divers ensembles de données avec différents environnements.
- Examine soigneusement les données pour y déceler des préjugés cachés.
- Veille Ă ce qu'il n'y ait pas de chevauchement d'informations entre les ensembles de formation et de test.
Pour des stratégies détaillées sur la prévention des fuites de données, reporte-toi à notre section sur les fuites de données dans la vision par ordinateur.
Quelles sont les étapes à suivre après avoir testé mon modèle de vision par ordinateur ?
Après le test, si les performances du modèle répondent aux objectifs du projet, procède au déploiement. Si les résultats ne sont pas satisfaisants, envisage :
- Analyse des erreurs.
- Recueillir des données plus diversifiées et de meilleure qualité.
- Réglage des hyperparamètres.
- Entraîne à nouveau le modèle.
Apprends de la section Test du modèle et évaluation du modèle. La section sur l'évaluation des modèles permet d'affiner et d'améliorer l'efficacité des modèles dans les applications du monde réel.
Comment exécuter les prédictions de YOLOv8 sans formation personnalisée ?
Tu peux effectuer des prédictions à l'aide du modèle YOLOv8 pré-entraîné sur ton ensemble de données pour voir s'il convient aux besoins de ton application. Utilise le mode prédiction pour avoir une idée rapide des résultats de performance sans te plonger dans un entraînement personnalisé.