Link to this sectionComment tester des modèles de vision par ordinateur#
Link to this sectionIntroduction#
Le test de modèle vérifie comment un modèle entraîné se comporte sur des données réelles et inédites — avec des objets en mouvement, mal éclairés ou partiellement cachés, plutôt que sur un jeu de données de référence. Alors que l'évaluation du modèle mesure des métriques sur un jeu de données étiqueté, le test vérifie que le comportement appris par le modèle correspond aux objectifs de ton application avant le déploiement. Ce guide couvre la préparation des données de test, le test des modèles Ultralytics YOLO26, et la détection du surapprentissage, du sous-apprentissage et de la fuite de données.
Watch: How to Test Machine Learning Models | Avoid Data Leakage in Computer Vision 🚀
Link to this sectionTest de modèle vs évaluation de modèle#
Le test et l'évaluation de modèle sont deux étapes distinctes d'un projet de vision par ordinateur. L'évaluation mesure les performances avec des métriques sur un jeu de données étiqueté ; le test vérifie si le comportement appris du modèle tient la route dans des conditions qui ressemblent au déploiement.
Supposons que tu aies entraîné un modèle de vision par ordinateur pour reconnaître des chats et des chiens, et que tu souhaites déployer ce modèle dans une animalerie pour surveiller les animaux. Pendant la phase d'évaluation, tu utilises un jeu de données étiqueté pour calculer des métriques comme l'exactitude, la précision et le rappel. Par exemple, le modèle pourrait avoir une exactitude de 98 % pour distinguer les chats des chiens sur un jeu de données donné.
Après l'évaluation, tu testes le modèle en utilisant des images provenant de l'animalerie pour voir dans quelle mesure il identifie correctement les chats et les chiens dans des conditions plus variées et réalistes. Tu vérifies s'il peut étiqueter correctement les chats et les chiens lorsqu'ils sont en mouvement, dans différentes conditions d'éclairage ou partiellement obscurcis par des objets comme des jouets ou des meubles. Le test de modèle vérifie que le modèle se comporte comme prévu en dehors de l'environnement d'évaluation contrôlé.
Link to this sectionPréparation au test de modèle#
Les datasets de vision par ordinateur sont généralement divisés en ensembles d'entraînement et de test pour simuler des conditions réelles : les training data entraînent le modèle, tandis que les données de test vérifient son comportement sur des exemples qu'il n'a jamais vus. L'Ultralytics Platform centralise l'organisation et l'annotation des datasets, ce qui facilite la création d'un jeu de test étiqueté.
- Représentation réaliste : Les données de test inédites doivent être similaires aux données que le modèle traitera lors du déploiement. Cela donne une image réaliste des capacités du modèle.
- Taille suffisante : Le jeu de données de test doit être assez volumineux pour fournir des informations fiables sur les performances du modèle.
Link to this sectionComment tester un modèle YOLO26#
Tester un modèle YOLO26 entraîné implique deux flux de travail complémentaires : la validation sur un fractionnement de test étiqueté pour obtenir des métriques quantitatives, et la prédiction sur de nouvelles images pour inspecter le comportement qualitativement.
Link to this sectionValider sur un fractionnement de test étiqueté#
Le mode validation compare les prédictions du modèle aux étiquettes de vérité terrain et rapporte la précision, le rappel, le mAP50 et le mAP50-95 pour les modèles de détection. Il enregistre également des aides visuelles comme une matrice de confusion et une courbe précision-rappel, qui t'aident à identifier les domaines spécifiques où le modèle ne performe pas bien.
from ultralytics import YOLO
# Load a pretrained model or your own trained checkpoint, e.g. "path/to/best.pt"
model = YOLO("yolo26n.pt")
# Validate; add split="test" if your dataset YAML defines a test split
metrics = model.val(data="coco8.yaml")
print(metrics.box.map) # mAP50-95Par défaut, la validation s'exécute sur le fractionnement val du jeu de données. Pour mesurer les performances sur un ensemble de test mis de côté, définis un fractionnement test: dans le YAML de ton jeu de données et passe split="test".
Link to this sectionPrédire sur de nouvelles images#
Le mode prédiction exécute le modèle sur de nouvelles données inédites sans nécessiter d'étiquettes. Il ne produit pas de métriques de performance, mais l'enregistrement des sorties annotées te permet de revoir comment le modèle se comporte sur des images réelles — par exemple, un dossier entier d'images de test en une seule fois.
from ultralytics import YOLO
# Load a pretrained model or your own trained checkpoint, e.g. "path/to/best.pt"
model = YOLO("yolo26n.pt")
# Run predictions on a folder of test images and save annotated results
results = model.predict(source="path/to/test_images", save=True)Pour vérifier si YOLO26 convient à ton application avant d'investir dans un entraînement personnalisé, exécute le mode prédiction avec un point de contrôle pré-entraîné sur tes propres images. Les modèles sont pré-entraînés sur des jeux de données comme COCO, donc les résultats donnent un aperçu rapide de la performance potentielle du modèle dans ton contexte spécifique.
Link to this sectionMode validation vs prédiction#
| Mode | Objectif | Nécessite des étiquettes | Sortie |
|---|---|---|---|
| Validation | Quantifier la performance par rapport à la vérité terrain | Oui | Précision, rappel, mAP50, mAP50-95, matrice de confusion, courbes PR |
| Prédiction | Inspecter le comportement du modèle sur de nouvelles données non étiquetées | Non | Images annotées et résultats de prédiction, pas de métriques |
Link to this sectionComment analyser les résultats de test#
Une fois les prédictions et les métriques obtenues, examine où et pourquoi le modèle échoue :
- Images mal classées : Identifie et examine les images que le modèle a mal classées pour comprendre où il fait erreur.
- Analyse d'erreur : Effectue une analyse d'erreur approfondie pour comprendre les types d'erreurs (par exemple, faux positifs vs faux négatifs) et leurs causes potentielles.
- Biais et équité : Vérifie s'il existe des biais dans les prédictions du modèle. Assure-toi que le modèle fonctionne aussi bien sur différents sous-ensembles de données, surtout s'il inclut des attributs sensibles comme la race, le genre ou l'âge.
Link to this sectionSurapprentissage et sous-apprentissage en apprentissage automatique#
Lors du test d'un modèle d'apprentissage automatique, en particulier en vision par ordinateur, il est important de surveiller le surapprentissage et le sous-apprentissage. Ces problèmes peuvent affecter considérablement la façon dont ton modèle fonctionne avec de nouvelles données.
| Problème | Signes courants | Comment y remédier |
|---|---|---|
| Surapprentissage | Exactitude d'entraînement élevée mais exactitude de validation faible ; hypersensibilité aux changements mineurs ou aux détails non pertinents dans les images | Applique une régularisation comme le dropout, augmente la taille du jeu de données d'entraînement, simplifie l'architecture du modèle |
| Sous-apprentissage | Exactitude faible même sur l'ensemble d'entraînement ; échec constant à reconnaître des caractéristiques ou des objets évidents | Utilise un modèle plus complexe, fournis des caractéristiques plus pertinentes, augmente les époques d'entraînement |
L'essentiel est de trouver un équilibre pour que le modèle fonctionne bien sur les jeux de données d'entraînement et de validation. Surveiller régulièrement les métriques et inspecter visuellement les prédictions pendant les tests t'aide à détecter une dérive vers l'un ou l'autre extrême.
Link to this sectionFuite de données en vision par ordinateur et comment l'éviter#
La fuite de données survient lorsque des informations provenant de l'extérieur du jeu de données d'entraînement sont accidentellement utilisées pour entraîner le modèle. Le modèle peut sembler très précis pendant l'entraînement, mais il ne fonctionnera pas bien sur de nouvelles données inédites en cas de fuite de données.
La fuite peut être difficile à repérer et provient souvent de biais cachés dans les données d'entraînement :
| Type de biais | À quoi cela ressemble |
|---|---|
| Biais de caméra | Différents angles, éclairages, ombres et mouvements de caméra introduisent des modèles indésirables |
| Biais de superposition | Logos, horodatages ou autres superpositions sur les images induisent le modèle en erreur |
| Biais de police et d'objet | Des polices ou des objets spécifiques qui apparaissent fréquemment dans certaines classes faussent l'apprentissage du modèle |
| Biais spatial | Les déséquilibres entre l'avant-plan et l'arrière-plan, les distributions de boîtes englobantes et les emplacements des objets affectent l'entraînement |
| Biais d'étiquette et de domaine | Des étiquettes incorrectes ou des décalages dans les types de données conduisent à une fuite |
Link to this sectionComment détecter et éviter la fuite de données#
Pour trouver une fuite de données, vérifie si les résultats du modèle sont étonnamment bons, regarde si une caractéristique est beaucoup plus importante que les autres, revérifie que les décisions du modèle sont intuitives et vérifie que les données ont été divisées correctement avant tout traitement.
Pour la prévenir, utilise un jeu de données diversifié avec des images ou des vidéos provenant de différentes caméras et environnements, et examine attentivement tes données pour détecter des biais cachés — comme le fait que tous les échantillons positifs soient pris à un moment spécifique de la journée. Éviter la fuite de données rend tes modèles de vision par ordinateur plus fiables dans des situations réelles.
Link to this sectionQue faire après le test de modèle#
Après avoir testé ton modèle, les prochaines étapes 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 l'analyse des erreurs, la collecte de plus de données, l'amélioration de la qualité des données, l'ajustement des hyperparamètres et le réentraînement du modèle.
Link to this sectionConclusion#
Un test de modèle rigoureux — validation sur un fractionnement de test mis de côté, prédiction sur des images réelles et vérification du surapprentissage et de la fuite de données — est ce qui transforme un modèle bien évalué en un modèle fiable. Résous les problèmes mis en évidence par les tests avant le déploiement, et ton modèle aura beaucoup plus de chances de fonctionner comme prévu en production. Si des questions surviennent, demande à la communauté sur le dépôt GitHub d'Ultralytics ou sur le serveur Discord d'Ultralytics.
Link to this sectionFAQ#
Link to this sectionQuelles sont les principales différences entre l'évaluation de modèle et le test de modèle en vision par ordinateur ?#
L'évaluation de modèle mesure la performance avec des métriques sur un jeu de données étiqueté, tandis que le test de modèle vérifie comment le modèle se comporte sur de nouvelles données inédites qui ressemblent aux conditions de déploiement. L'évaluation produit des chiffres comme la précision et le mAP à partir d'un jeu de données contrôlé ; le test révèle si le comportement appris tient la route avec un éclairage, un mouvement ou une occlusion variés. Voir Test de modèle vs évaluation de modèle pour un exemple pratique.
Link to this sectionComment puis-je tester mon modèle Ultralytics YOLO26 sur plusieurs images ?#
Utilise le mode prédiction et passe un chemin de dossier comme source — YOLO26 s'exécute sur chaque image du dossier et peut enregistrer les résultats annotés pour examen. Le mode prédiction ne calcule pas de métriques ; pour quantifier la performance sur un ensemble étiqueté, utilise plutôt le mode validation. Les deux flux de travail sont montrés dans Comment tester un modèle YOLO26.
Link to this sectionQuelles métriques la validation YOLO26 rapporte-t-elle sur un ensemble de test ?#
Pour les modèles de détection, la validation rapporte la précision, le rappel, le mAP50 et le mAP50-95, et enregistre des graphiques incluant une matrice de confusion et une courbe précision-rappel. Pour valider sur un fractionnement de test dédié plutôt que sur le fractionnement val par défaut, définis test: dans le YAML de ton jeu de données et passe split="test". Consulte le guide des métriques de performance pour savoir comment interpréter chaque métrique.
Link to this sectionQue dois-je faire si mon modèle de vision par ordinateur montre des signes de surapprentissage ou de sous-apprentissage ?#
Pour le surapprentissage, applique des techniques de régularisation comme le dropout, augmente la taille du jeu de données d'entraînement, ou simplifie l'architecture du modèle. Pour le sous-apprentissage, utilise un modèle plus complexe, fournis des caractéristiques plus pertinentes, ou entraîne pendant plus d'époques. Les signes de chaque problème et les correctifs correspondants sont résumés dans Surapprentissage et sous-apprentissage en apprentissage automatique.
Link to this sectionComment puis-je détecter et éviter la fuite de données en vision par ordinateur ?#
Suspecte une fuite de données lorsque les performances de test semblent étonnamment bonnes, qu'une seule caractéristique domine les prédictions, ou que les décisions du modèle ne semblent pas intuitives. Évite-la en utilisant des jeux de données diversifiés provenant de différentes caméras et environnements, en examinant les données pour détecter des biais cachés et en vérifiant que la division train/test a eu lieu avant tout traitement. Voir Fuite de données en vision par ordinateur pour les types de biais courants.
Link to this sectionQuelles étapes dois-je suivre après avoir testé mon modèle de vision par ordinateur ?#
Si les résultats atteignent tes objectifs de projet, déploie le modèle ; sinon, améliore-le avant le déploiement. Cela peut signifier analyser les erreurs, collecter plus de données diversifiées, améliorer la qualité des données, ajuster les hyperparamètres et réentraîner. Répète le test après chaque série de modifications pour confirmer que les correctifs ont fonctionné.