Ultralytics YOLO27 :

Comment tester des modèles de vision par ordinateur#

Introduction#

Les tests de modèle vérifient les performances d'un modèle entraîné sur des données réelles jamais vues auparavant — des objets en mouvement, mal éclairés ou partiellement masqués, plutôt qu'un benchmark soigneusement sélectionné. Alors que l'évaluation du modèle mesure des métriques sur un jeu de données annoté, les tests vérifient que le comportement appris par le modèle correspond aux objectifs de ton application avant le déploiement. Ce guide explique comment préparer les données de test, tester les modèles Ultralytics YOLO26 et détecter le surapprentissage, le sous-apprentissage et les fuites de données.



Watch: How to Test Machine Learning Models | Avoid Data Leakage in Computer Vision 🚀

Tests de modèle et évaluation de modèle#

Les tests de modèle et l'évaluation de modèle sont deux étapes distinctes d'un projet de vision par ordinateur. L'évaluation mesure les performances à l'aide de métriques sur un jeu de données annoté ; les tests vérifient si le comportement appris par le modèle reste valable dans des conditions similaires à celles du déploiement.

Supposons que tu aies entraîné un modèle de vision par ordinateur pour reconnaître les chats et les chiens, et que tu souhaites le déployer dans une animalerie afin de surveiller les animaux. Pendant la phase d'évaluation du modèle, tu utilises un jeu de données annoté pour calculer des métriques comme l'exactitude, la précision et le rappel. Par exemple, le modèle peut atteindre une exactitude de 98 % pour distinguer les chats des chiens dans un jeu de données donné.

Après l'évaluation, tu testes le modèle avec des images prises dans une animalerie afin de voir dans quelle mesure il identifie les chats et les chiens dans des conditions plus variées et réalistes. Tu vérifies s'il peut correctement étiqueter les chats et les chiens lorsqu'ils sont en mouvement, sous différents éclairages ou partiellement masqués par des objets comme des jouets ou des meubles. Les tests de modèle vérifient que le modèle se comporte comme prévu en dehors de l'environnement d'évaluation contrôlé.

Préparer les tests de modèle#

Les jeux de données de vision par ordinateur sont généralement divisés en ensembles d'entraînement et de test pour simuler les conditions réelles : les données d'entraînement enseignent au 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 jeux de données, ce qui facilite la création d'un jeu de test annoté.

Avant de tester
  • Représentation réaliste : Les données de test jamais vues auparavant doivent être similaires aux données que le modèle traitera une fois déployé. Tu obtiens ainsi une image réaliste des capacités du modèle.
  • Taille suffisante : Le jeu de données de test doit être suffisamment grand pour fournir des informations fiables sur les performances du modèle.

Comment tester un modèle YOLO26#

Tester un modèle YOLO26 entraîné implique deux flux de travail complémentaires : le valider sur une partition de test annotée pour obtenir des métriques quantitatives, et effectuer des prédictions sur de nouvelles images afin d'inspecter qualitativement son comportement.

Valider sur une partition de test annotée#

Le mode validation compare les prédictions du modèle aux annotations de vérité terrain et fournit la précision, le rappel, mAP50 et mAP50-95 pour les modèles de détection. Il enregistre également des supports visuels comme une matrice de confusion et une courbe précision-rappel, qui t'aident à repérer les domaines précis dans lesquels le modèle pourrait être moins performant.

Utilisation
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-95

Par défaut, la validation s'exécute sur la partition val du jeu de données. Pour mesurer les performances sur un jeu de test mis de côté, définis une partition test: dans le fichier YAML de ton jeu de données et transmets split="test".

Effectuer des prédictions sur de nouvelles images#

Le mode prédiction exécute le modèle sur de nouvelles données jamais vues sans nécessiter d'annotations. Il ne produit pas de métriques de performance, mais l'enregistrement des sorties annotées te permet d'examiner le comportement du modèle sur des images réelles — par exemple, sur un dossier entier d'images de test en une seule fois.

Utilisation
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)
Tester un modèle préentraîné avant l'entraînement personnalisé

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, ce qui te donne rapidement une idée de leurs performances potentielles dans ton contexte spécifique.

Mode validation et mode prédiction#

ModeObjectifNécessite des annotationsSortie
ValidationQuantifier les performances par rapport à la vérité terrainOuiPrécision, rappel, mAP50, mAP50-95, matrice de confusion, courbes PR
PrédictionInspecter le comportement du modèle sur de nouvelles données non annotéesNonImages annotées et résultats des prédictions, sans métriques

Comment analyser les résultats des tests#

Une fois les prédictions et les métriques disponibles, examine en détail 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 se trompe.
  • Analyse des erreurs : Effectue une analyse approfondie des erreurs pour comprendre leurs types (par exemple, faux positifs contre faux négatifs) et leurs causes potentielles.
  • Biais et équité : Vérifie la présence éventuelle de biais dans les prédictions du modèle. Assure-toi que le modèle offre des performances équivalentes sur les différents sous-ensembles de données, surtout si celles-ci incluent des attributs sensibles comme l'origine ethnique, le genre ou l'âge.

Surapprentissage et sous-apprentissage en apprentissage automatique#

Lorsque tu testes un modèle d'apprentissage automatique, notamment en vision par ordinateur, il est important de surveiller le surapprentissage et le sous-apprentissage. Ces problèmes peuvent affecter considérablement les performances de ton modèle sur de nouvelles données.

ProblèmeSignes courantsComment y remédier
SurapprentissageExactitude élevée sur l'entraînement mais faible sur la validation ; sensibilité excessive aux changements mineurs ou aux détails non pertinents des imagesApplique une régularisation comme le dropout, augmente la taille du jeu de données d'entraînement ou simplifie l'architecture du modèle
Sous-apprentissageFaible exactitude, même sur le jeu d'entraînement ; échec systématique à reconnaître des caractéristiques ou des objets évidentsUtilise un modèle plus complexe, fournis davantage de caractéristiques pertinentes ou augmente le nombre d'époques d'entraînement

L'essentiel est de trouver un équilibre afin que le modèle offre de bonnes performances sur les jeux de données d'entraînement et de validation. Le suivi régulier des métriques et l'inspection visuelle des prédictions pendant les tests t'aident à détecter une dérive vers l'un ou l'autre de ces extrêmes.

Comparison of underfitting, appropriate fitting, and overfitting on the same dataset

Fuites de données en vision par ordinateur et comment les éviter#

Une fuite de données se produit lorsque des informations extérieures au jeu de données d'entraînement sont utilisées accidentellement pour entraîner le modèle. Le modèle peut sembler très précis pendant l'entraînement, mais il n'offrira pas de bonnes performances sur de nouvelles données jamais vues lorsqu'une fuite de données se produit.

Les fuites peuvent être difficiles à repérer et proviennent souvent de biais cachés dans les données d'entraînement :

Type de biaisCe à quoi il ressemble
Biais lié à la caméraDes angles, éclairages, ombres et mouvements de caméra différents introduisent des motifs indésirables
Biais lié aux incrustationsLes logos, horodatages ou autres incrustations dans les images induisent le modèle en erreur
Biais lié aux polices et aux objetsDes polices ou des objets spécifiques qui apparaissent fréquemment dans certaines classes faussent l'apprentissage du modèle
Biais spatialLes déséquilibres entre premier plan et arrière-plan, la distribution des boîtes englobantes et l'emplacement des objets affectent l'entraînement
Biais lié aux annotations et au domaineDes annotations incorrectes ou des changements de types de données entraînent des fuites

Comment détecter et éviter les fuites de données#

Pour détecter une fuite de données, vérifie si les résultats du modèle sont étonnamment bons, examine si une caractéristique est bien plus importante que les autres, assure-toi que les décisions du modèle sont intuitivement cohérentes et vérifie que les données ont été correctement divisées avant tout traitement.

Pour la prévenir, utilise un jeu de données diversifié contenant des images ou des vidéos provenant de caméras et d'environnements différents, et examine attentivement tes données à la recherche de biais cachés — par exemple, si tous les échantillons positifs ont été capturés à un moment précis de la journée. Éviter les fuites de données rend tes modèles de vision par ordinateur plus fiables dans les situations réelles.

Que faire après les tests de modèle#

Après avoir testé ton modèle, les prochaines étapes dépendent des résultats. Si ton modèle offre de bonnes performances, tu peux le déployer dans un environnement réel. Si les résultats ne sont pas satisfaisants, tu devras l'améliorer. Cela peut impliquer d'analyser les erreurs, de recueillir davantage de données, d'améliorer la qualité des données, d'ajuster les hyperparamètres et de réentraîner le modèle.

Conclusion#

Des tests de modèle rigoureux — validation sur une partition de test mise de côté, prédictions sur des images réelles et vérification du surapprentissage et des fuites de données — transforment un modèle bien évalué en un modèle fiable. Traite les problèmes révélés par les tests avant le déploiement, et ton modèle aura bien plus de chances de fonctionner comme prévu en production. Si tu as des questions en cours de route, adresse-toi à la communauté sur le dépôt GitHub d'Ultralytics ou le serveur Discord d'Ultralytics.

FAQ#

  • L'évaluation d'un modèle mesure les performances à l'aide de métriques sur un jeu de données annoté, tandis que les tests vérifient le comportement du modèle sur de nouvelles données jamais vues qui ressemblent aux conditions de déploiement. L'évaluation produit des valeurs comme la précision et mAP à partir d'un jeu de données contrôlé ; les tests révèlent si le comportement appris reste valable avec des éclairages, mouvements ou occultations variés. Consulte Tests de modèle et évaluation de modèle pour voir un exemple détaillé.

  • Utilise le mode prédiction et transmets le chemin d'un 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 les performances sur un jeu annoté, utilise plutôt le mode validation. Les deux flux de travail sont présentés dans Comment tester un modèle YOLO26.

  • Pour les modèles de détection, la validation fournit la précision, le rappel, mAP50 et mAP50-95, et enregistre des graphiques comprenant une matrice de confusion et une courbe précision-rappel. Pour valider une partition de test dédiée plutôt que la partition val par défaut, définis test: dans le fichier YAML de ton jeu de données et transmets split="test". Consulte le guide des métriques de performance pour savoir comment interpréter chaque métrique.

  • En cas de 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. En cas de sous-apprentissage, utilise un modèle plus complexe, fournis davantage de caractéristiques pertinentes ou entraîne le modèle pendant davantage d'époques. Les signes de chaque problème et les solutions correspondantes sont résumés dans Surapprentissage et sous-apprentissage en apprentissage automatique.

  • Soupçonne une fuite de données lorsque les performances sur les tests sont étonnamment bonnes, qu'une seule caractéristique domine les prédictions ou que les décisions du modèle ne sont pas intuitivement cohérentes. Préviens-la en utilisant des jeux de données diversifiés provenant de caméras et d'environnements différents, en recherchant les biais cachés dans les données et en vérifiant que la division entraînement/test a eu lieu avant tout traitement. Consulte Fuites de données en vision par ordinateur pour connaître les types de biais courants.

  • Si les résultats répondent aux objectifs de ton projet, déploie le modèle ; sinon, améliore-le avant le déploiement. Cela peut impliquer d'analyser les erreurs, de recueillir des données plus diversifiées, d'améliorer la qualité des données, d'ajuster les hyperparamètres et de réentraîner le modèle. Répète les tests après chaque série de modifications pour confirmer que les corrections ont fonctionné.

Commentaires