Ultralytics YOLO27 :

Informations sur l’évaluation et le réglage fin des modèles#

Après avoir entraîné un modèle YOLO, l’étape suivante consiste à mesurer ses performances et à le régler finement pour combler ses lacunes. L’évaluation utilise des métriques comme la mAP et l’IoU pour quantifier la précision, tandis que le réglage fin ajuste les paramètres d’entraînement afin de renforcer les points faibles et de permettre au modèle d’atteindre l’objectif de ton projet. Ce guide explique les principales métriques d’évaluation, comment les interpréter et comment agir en fonction de leurs résultats.



Watch: Insights into Model Evaluation and Fine-Tuning | Tips for Improving Mean Average Precision

L’évaluation et le réglage fin interviennent vers la fin du flux de travail d’un projet de vision par ordinateur, une fois l’entraînement lancé et lorsque tu dois vérifier que le modèle est précis, efficace et prêt pour le déploiement.

Principales métriques d’évaluation#

Différentes métriques mesurent l’efficacité d’un modèle. Ces métriques de performance fournissent des informations numériques claires qui orientent les améliorations et permettent de vérifier que le modèle atteint les objectifs prévus.

Score de confiance#

Le score de confiance représente la certitude du modèle qu’un objet détecté appartient à une classe particulière. Il varie de 0 à 1, les scores élevés indiquant une plus grande confiance. Le score de confiance aide à filtrer les prédictions ; seules les détections dont le score de confiance dépasse un seuil défini sont considérées comme valides.

Aucune prédiction ne s’affiche ?

Lors de l’inférence, si aucune prédiction ne s’affiche et que tu as vérifié tout le reste, essaie d’abaisser le seuil de confiance. Il arrive que le seuil soit trop élevé, ce qui amène le modèle à ignorer des prédictions valides. L’abaisser permet au modèle d’envisager davantage de possibilités. Cela ne correspond peut-être pas aux objectifs finaux de ton projet, mais c’est un bon moyen de voir ce que le modèle peut faire et de décider comment le régler finement.

Intersection sur union#

L’intersection sur union (IoU) est une métrique de la détection d’objets qui mesure le chevauchement entre la boîte englobante prédite et la boîte englobante de vérité terrain. Les valeurs d’IoU vont de 0 à 1, où 1 représente une correspondance parfaite. L’IoU est essentielle, car elle mesure dans quelle mesure les limites prédites correspondent aux limites réelles de l’objet.

Intersection over Union Overview

Précision moyenne#

La précision moyenne (mAP) mesure les performances globales d’un modèle de détection d’objets. Elle examine la précision de la détection de chaque classe d’objets, calcule la moyenne de ces scores et fournit un nombre unique indiquant avec quelle précision le modèle peut identifier et classer les objets.

Deux métriques mAP sont les plus couramment rapportées :

  • mAP@.5 : mesure la précision moyenne avec un seuil d’IoU unique de 0.5. Cette métrique vérifie si le modèle peut trouver correctement les objets avec une exigence de précision moins stricte. Elle évalue si l’objet se trouve globalement au bon endroit, sans exiger un positionnement parfait, et permet de déterminer si le modèle est généralement efficace pour repérer les objets.
  • mAP@.5:.95 : calcule la moyenne des valeurs de mAP obtenues avec plusieurs seuils d’IoU, de 0.5 à 0.95 par incréments de 0.05. Cette métrique est plus détaillée et plus stricte. Elle donne une vision plus complète de la précision avec laquelle le modèle peut trouver des objets à différents niveaux d’exigence et se révèle particulièrement utile pour les applications nécessitant une détection précise des objets.

Parmi les autres métriques mAP figurent mAP@0.75, qui utilise un seuil d’IoU plus strict de 0.75, ainsi que mAP@small, medium et large, qui évaluent la précision sur des objets de différentes tailles.

Mean average precision mAP metric

Évaluer un modèle YOLO26#

Tu peux évaluer un modèle YOLO26 entraîné avec le mode validation. Pour comprendre plus en détail comment chaque métrique est calculée et interprétée, consulte le guide sur les métriques de performance de YOLO26.

Gérer différentes tailles d’image#

Évaluer ton modèle sur des images de différentes tailles t’aide à comprendre ses performances sur des jeux de données variés. Le paramètre de validation rect=true regroupe les images par rapport d’aspect et complète chaque lot jusqu’à la plus petite forme adaptée, afin que les images rectangulaires soient évaluées sans être forcées dans un carré.

Le paramètre imgsz définit la taille d’image utilisée pendant la validation, sous forme carrée. Si tu ne le définis pas explicitement, YOLO26 réutilise la valeur enregistrée dans les paramètres du modèle (640 pour les modèles préentraînés officiels, ou la taille utilisée pour entraîner un point de contrôle personnalisé). Avec rect=true, YOLO26 limite le côté le plus long à imgsz et complète le côté le plus court jusqu’à un multiple du stride, tout en préservant le rapport d’aspect. Ajuste imgsz en fonction des dimensions de ton jeu de données et de la mémoire GPU disponible.

Accéder aux métriques de YOLO26#

Pour comprendre en détail les performances de ton modèle, tu peux accéder à des métriques d’évaluation spécifiques avec quelques lignes de Python. L’extrait ci-dessous charge un modèle, exécute la validation et affiche les métriques les plus utiles.

Utilisation
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")

# Run validation on your dataset
results = model.val(data="coco8.yaml")

# Overall metrics
print("mAP50-95:", results.box.map)  # mAP at IoU 0.50:0.95
print("mAP50:", results.box.map50)  # mAP at IoU 0.50
print("mAP75:", results.box.map75)  # mAP at IoU 0.75
print("Mean precision:", results.box.mp)
print("Mean recall:", results.box.mr)
print("Fitness:", results.box.fitness())  # weighted score used for model selection

# Per-class metrics
print("Class indices evaluated:", results.box.ap_class_index)
print("Per-class mAP50-95:", results.box.maps)

# Per-image precision, recall, F1, TP, FP, and FN
print("Per-image metrics:", results.box.image_metrics)

# Per-stage timing breakdown in milliseconds per image
print("Timing breakdown (ms/image):", results.speed)

Note que fitness() est une méthode et doit être appelée avec des parenthèses, tandis que des métriques comme map, map50 et mp sont des propriétés auxquelles on accède directement.

L’attribut results.box.image_metrics est un dictionnaire par image indexé par le nom de fichier de l’image. Il contient precision, recall, f1, tp, fp et fn à une IoU de 0.5 pour chaque image. Les temps de prétraitement, d’inférence, de calcul de la perte et de post-traitement sont indiqués séparément dans le dictionnaire results.speed. Ensemble, ces informations te permettent d’identifier les images qui posent problème au modèle et de le régler finement en conséquence.

Régler finement ton modèle#

Le réglage fin consiste à prendre un modèle préentraîné et à ajuster ses paramètres pour améliorer ses performances sur une tâche ou un jeu de données spécifique. Également appelé réentraînement du modèle, il permet au modèle de mieux comprendre et prédire les résultats correspondant aux données qu’il rencontrera dans des applications réelles. En fonction de tes résultats d’évaluation, tu réentraînes le modèle sur tes propres données en ajustant les arguments d’entraînement présentés dans le guide du réglage fin.

Découpage en tuiles pour les petits objets#

Le découpage des images en tuiles peut améliorer la précision de détection des petits objets. En divisant les grandes images en segments plus petits, par exemple en séparant des images de 1280x1280 en plusieurs segments de 640x640, tu préserves la résolution d’origine et permets au modèle d’apprendre à partir de fragments haute résolution. Ultralytics prend en charge cette opération au moment de l’inférence grâce à l’inférence en tuiles avec SAHI. Lors de l’entraînement sur des images en tuiles, veille à ajuster correctement tes annotations pour chaque nouveau segment.

Conclusion#

L’évaluation et le réglage fin transforment un modèle entraîné en modèle fiable et déployable : des métriques comme mAP et IoU révèlent les faiblesses, et des modifications ciblées des paramètres permettent d’y remédier. Commence par le mode validation pour évaluer ton modèle, puis réentraîne-le avec les arguments présentés dans le guide du réglage fin et poursuis les itérations avec de nouveaux paramètres, techniques et jeux de données. 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#

  • Pour évaluer les performances d’un modèle YOLO26, les métriques importantes incluent le score de confiance, l’intersection sur union (IoU) et la précision moyenne (mAP). Le score de confiance mesure la certitude du modèle pour chaque classe d’objet détectée. L’IoU évalue le chevauchement entre la boîte englobante prédite et la vérité terrain. La précision moyenne (mAP) agrège les scores de précision entre les classes ; mAP@.5 et mAP@.5:.95 sont deux types courants correspondant à différents seuils d’IoU. Pour en savoir plus sur ces métriques, consulte notre guide sur les métriques de performance de YOLO26.

  • Le réglage fin d’un modèle YOLO26 préentraîné consiste à ajuster ses paramètres afin d’améliorer ses performances sur une tâche ou un jeu de données spécifique. Commence par évaluer ton modèle avec des métriques, puis réentraîne-le à partir des poids préentraînés sur ton propre jeu de données. Pendant l’évaluation, des paramètres comme rect=true aident à gérer efficacement les différentes tailles d’image. Pour connaître les arguments d’entraînement à ajuster, consulte le guide du réglage fin.

  • Pour gérer différentes tailles d’image pendant l’évaluation, utilise le paramètre rect=true dans YOLO26. Il regroupe les images par rapport d’aspect et complète chaque lot au lieu de forcer toutes les images à être carrées. Le paramètre imgsz définit la taille des images pour la validation ; si tu ne le remplaces pas, YOLO26 réutilise la valeur enregistrée dans le modèle (640 pour les modèles préentraînés officiels). Ajuste imgsz en fonction de ton jeu de données et de la mémoire GPU. Pour plus de détails, consulte notre section sur la gestion des différentes tailles d’image.

  • Améliorer la précision moyenne (mAP) d’un modèle YOLO26 implique plusieurs étapes :

    1. Réglage des hyperparamètres : expérimente avec différents taux d’apprentissage, tailles de lot et augmentations d’image.
    2. Augmentation des données : utilise des techniques comme Mosaic et MixUp pour créer des échantillons d’entraînement variés.
    3. Découpage en tuiles : divise les grandes images en tuiles plus petites afin d’améliorer la précision de détection des petits objets.

    Pour les arguments d’entraînement correspondant aux étapes 1 et 2, consulte le guide du réglage fin ; l’étape 3 est expliquée dans la section sur le découpage en tuiles.

  • Tu peux accéder aux métriques d’évaluation d’un modèle YOLO26 avec Python après avoir exécuté la validation :

    Utilisation
    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("yolo26n.pt")
    
    # Run validation
    results = model.val(data="coco8.yaml")
    
    # Access key metrics
    print("Mean average precision at IoU=0.50:", results.box.map50)
    print("Mean average precision at IoU=0.50:0.95:", results.box.map)
    print("Mean recall:", results.box.mr)
    print("Class indices evaluated:", results.box.ap_class_index)

    L’analyse de ces métriques t’aide à régler finement et à optimiser ton modèle YOLO26. Pour approfondir, consulte notre guide sur les métriques de performance de YOLO.

Commentaires