YOLO Vision 2026 :

Comment tester des modèles de vision par ordinateur#

Introduction#

Le test de modèle vérifie les performances d'un trained model sur des données réelles et inédites (objets en mouvement, mal éclairés ou partiellement cachés) plutôt que sur un benchmark sélectionné. Alors que l'model evaluation 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 goals of your application avant le déploiement. Ce guide aborde la préparation des données de test, le test des modèles Ultralytics YOLO26 et la détection du overfitting, du sous-apprentissage et de la fuite de données.



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

Test de modèle vs évaluation de modèle#

Le test de modèle et l'évaluation de modèle sont deux steps in a computer vision project distincts. L'évaluation mesure les performances à l'aide de métriques sur un jeu de données étiqueté ; le test vérifie si le comportement appris par le modèle résiste à des conditions qui ressemblent au déploiement.

Supposons que tu aies entraîné un modèle de computer vision 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 du modèle, tu utilises un jeu de données étiqueté pour calculer des métriques telles que l'accuracy, la precision et le recall. Par exemple, le modèle peut être précis à 98 % pour distinguer les chats des chiens dans 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é.

Pré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 enseignent le modèle, tandis que les données de test vérifient son comportement sur des exemples qu'il n'a jamais vus. La Ultralytics Platform centralise l'organisation et l'annotation des jeux de données, ce qui aide lors de la création d'un ensemble de test étiqueté.

Avant de tester
  • 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.

Comment 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.

Valider sur un fractionnement de test étiqueté#

Le Validation mode compare les prédictions du modèle aux étiquettes de vérité terrain et rapporte la précision, le rappel, mAP50 et mAP50-95 pour les modèles de détection. Il enregistre également des aides visuelles telles qu'une matrice de confusion et une courbe précision-rappel, qui t'aident à repérer les domaines spécifiques où le modèle pourrait ne pas bien fonctionner.

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 division val du jeu de données. Pour mesurer les performances sur un ensemble de test distinct, définis une division test: dans le fichier YAML de ton jeu de données et transmets split="test".

Prédire sur de nouvelles images#

Le Prediction mode 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 résultats annotés te permet d'examiner le comportement du modèle sur des images du monde réel, par exemple 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 un entraînement personnalisé

Pour vérifier si YOLO26 convient à ton application avant d'investir dans un entraînement personnalisé, exécute le mode de 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 tels que COCO, de sorte que les résultats donnent une idée rapide de la performance potentielle du modèle dans ton contexte spécifique.

Mode validation vs prédiction#

ModeObjectifNécessite des étiquettesSortie
ValidationQuantifier la performance par rapport à la vérité terrainOuiPrécision, rappel, mAP50, mAP50-95, matrice de confusion, courbes PR
PredictionInspecter le comportement du modèle sur de nouvelles données non étiquetéesNonImages annotées et résultats de prédiction, pas de métriques

Comment 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.

Surapprentissage et sous-apprentissage en apprentissage automatique#

Lors du test d'un modèle de machine learning, en particulier en vision par ordinateur, il est important de surveiller le surapprentissage et l'underfitting. Ces problèmes peuvent affecter considérablement l'efficacité de ton modèle avec de nouvelles données.

ProblèmeSignes courantsComment y remédier
SurapprentissageExactitude d'entraînement élevée mais exactitude de validation faible ; hypersensibilité aux changements mineurs ou aux détails non pertinents dans les imagesApplique une regularization telle que le masquage (dropout), augmente la taille du jeu de données d'entraînement, simplifie l'architecture du modèle
Sous-apprentissageExactitude faible même sur l'ensemble d'entraînement ; échec constant à reconnaître des caractéristiques ou des objets évidentsUtilise un modèle plus complexe, fournis des caractéristiques plus pertinentes, augmente les epochs 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.

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

Fuite 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éraDifférents angles, éclairages, ombres et mouvements de caméra introduisent des modèles indésirables
Biais de superpositionLogos, horodatages ou autres superpositions sur les images induisent le modèle en erreur
Biais de police et d'objetDes 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 avant-plan et arrière-plan, les distributions de bounding box et les emplacements des objets affectent l'entraînement
Biais d'étiquette et de domaineDes étiquettes incorrectes ou des décalages dans les types de données conduisent à une fuite

Comment 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.

Que faire après le test de modèle#

Après avoir testé ton modèle, les étapes suivantes dépendent des résultats. Si ton modèle donne de bons résultats, 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 d'erreurs, la gathering more data, l'amélioration de la qualité des données, l'adjusting hyperparameters et le réentraînement du modèle.

Conclusion#

Des tests de modèles rigoureux — validation sur une division de test distincte, prédiction sur des images réelles et vérification du surapprentissage et de la fuite de données — permettent de transformer un modèle bien évalué en un modèle fiable. Résous les problèmes révélés 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 se posent en cours de route, pose-les à la communauté sur le Ultralytics GitHub repository ou le Ultralytics Discord server.

FAQ#

  • L'évaluation de modèle mesure les performances avec des métriques sur un jeu de données étiqueté, tandis que le test de modèle vérifie le comportement du modèle sur de nouvelles données inédites qui ressemblent aux conditions de déploiement. L'évaluation produit des chiffres tels que la précision et mAP à partir d'un jeu de données contrôlé ; le test révèle si le comportement appris résiste à un éclairage, un mouvement ou une occlusion variés. Consulte Model Testing vs. Model Evaluation pour un exemple concret.

  • Utilise le prediction mode 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 de prédiction ne calcule pas de métriques ; pour quantifier les performances sur un ensemble étiqueté, utilise plutôt le validation mode. Les deux flux de travail sont présentés dans How to Test a YOLO26 Model.

  • Pour les modèles de détection, la validation rapporte 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 sur une division de test dédiée plutôt que sur la division par défaut val, définis test: dans le fichier YAML de ton jeu de données et transmets split="test". Consulte le performance metrics guide pour savoir comment interpréter chaque métrique.

  • En cas de surapprentissage, applique des techniques de régularisation telles que le masquage, 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 des caractéristiques plus pertinentes ou entraîne sur un plus grand nombre d'époques. Les signes de chaque problème et les correctifs correspondants sont résumés dans Overfitting and Underfitting in Machine Learning.

  • Soupçonne une fuite de données lorsque les performances des tests semblent étonnamment bonnes, qu'une seule caractéristique domine les prédictions ou que les décisions du modèle n'ont pas de sens intuitif. Préviens-la en utilisant des jeux de données diversifiés provenant de différentes caméras et environnements, en examinant les données à la recherche de biais cachés et en vérifiant que la division train/test a eu lieu avant tout traitement. Consulte Data Leakage in Computer Vision 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 signifier analyser les erreurs, collecting more diverse data, améliorer la qualité des données, tuning hyperparameters et réentraîner. Répète les tests après chaque série de modifications pour confirmer que les correctifs ont fonctionné.

Commentaires