Link to this sectionAperçu de l'évaluation et du réglage fin des modèles#
Après avoir entraîné un modèle YOLO, l'étape suivante consiste à mesurer ses performances et à l'ajuster pour combler les lacunes. L'évaluation utilise des métriques comme le mAP et l' IoU pour quantifier la précision, tandis que le réglage fin ajuste les paramètres d'entraînement pour renforcer les points faibles afin que le modèle atteigne l'objectif de ton projet. Ce guide explique les métriques d'évaluation clés, comment les interpréter et les techniques de réglage fin qui améliorent les capacités de ton modèle.
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 du projet de vision par ordinateur, une fois que l'entraînement est en cours et que tu dois vérifier que le modèle est précis, efficace et prêt pour le déploiement.
Link to this sectionMétriques d'évaluation clés#
Diverses métriques mesurent l'efficacité d'un modèle. Ces métriques de performance fournissent des informations numériques claires qui guident les améliorations pour s'assurer que le modèle atteint ses objectifs prévus.
Link to this sectionScore 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 les plus élevés indiquant une plus grande confiance. Le score de confiance aide à filtrer les prédictions ; seules les détections avec un score de confiance supérieur à un seuil spécifié sont considérées comme valides.
Lors de l'exécution de l'inférence, si tu ne vois aucune prédiction et que tu as tout vérifié, essaie d'abaisser le seuil de confiance. Parfois, le seuil est trop élevé, ce qui amène le modèle à ignorer des prédictions valides. L'abaisser permet au modèle de prendre en compte davantage de possibilités. Cela peut ne pas correspondre 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 l'ajuster.
Link to this sectionIntersection sur Union#
L'Intersection sur Union (IoU) est une métrique de détection d'objets qui mesure la qualité du chevauchement entre la boîte englobante prédite et la boîte englobante de vérité terrain. Les valeurs IoU vont de 0 à 1, où 1 représente une correspondance parfaite. L'IoU est essentielle car elle mesure à quel point les limites prédites correspondent aux limites réelles de l'objet.
Link to this sectionPrécision moyenne 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'objet, fait la moyenne de ces scores et donne un chiffre unique qui montre avec quelle précision le modèle peut identifier et classer les objets.
Deux métriques mAP sont le plus couramment signalées :
- mAP@.5 : Mesure la précision moyenne à un seuil IoU unique de 0,5. Cette métrique vérifie si le modèle peut correctement trouver des objets avec une exigence de précision plus souple. Elle se concentre sur le fait que l'objet est à peu près au bon endroit, sans nécessiter un placement parfait, et aide à voir si le modèle est globalement bon pour repérer les objets.
- mAP@.5:.95 : Fait la moyenne des valeurs mAP calculées à plusieurs seuils d'IoU, de 0,5 à 0,95 par incréments de 0,05. Cette métrique est plus détaillée et stricte. Elle donne une image plus complète de la précision avec laquelle le modèle peut trouver des objets à différents niveaux d'exigence et est particulièrement utile pour les applications nécessitant une détection d'objets précise.
D'autres métriques mAP incluent mAP@0.75, qui utilise un seuil d'IoU plus strict de 0,75, et mAP@small, medium, et large, qui évaluent la précision pour des objets de différentes tailles.
Link to this sectionÉvaluation d'un modèle YOLO26#
Tu peux évaluer un modèle YOLO26 entraîné avec le mode de validation. Pour un aperçu plus approfondi de la façon dont chaque métrique est calculée et interprétée, consulte le guide des métriques de performance YOLO26.
Link to this sectionGestion des tailles d'image variables#
L'évaluation de ton modèle sur des images de tailles différentes t'aide à comprendre ses performances sur divers jeux de données. Le paramètre de validation rect=true regroupe les images par rapport hauteur/largeur et remplit chaque lot à la plus petite forme qui convient, de sorte que les images rectangulaires soient évaluées sans être forcées dans un carré.
Le paramètre imgsz définit la taille de l'image utilisée pendant la validation, appliquée sous forme de carré. Si tu ne la 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 quelle que soit la taille utilisée pour entraîner un point de contrôle personnalisé). Avec rect=true, YOLO26 contraint le côté le plus long à imgsz et complète le côté le plus court à un multiple du pas, préservant ainsi le rapport hauteur/largeur. Ajuste imgsz en fonction des dimensions de ton jeu de données et de la mémoire GPU disponible.
Link to this sectionAccéder aux métriques 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.
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 nom de fichier d'image, contenant precision, recall, f1, tp, fp et fn à un IoU de 0,5 pour chaque image. Les temps de prétraitement, d'inférence, de perte et de post-traitement sont rapportés séparément dans le dictionnaire results.speed. Ensemble, ils te permettent d'identifier les images avec lesquelles le modèle a des difficultés et de procéder au réglage fin en conséquence.
Link to this sectionRéglage fin de ton modèle#
Le réglage fin prend un modèle pré-entraîné et ajuste ses paramètres pour améliorer les performances sur une tâche ou un jeu de données spécifique. Également appelé réentraînement de modèle, il permet au modèle de mieux comprendre et prédire les résultats pour les données qu'il rencontrera dans des applications réelles. Sur la base de tes résultats d'évaluation, tu réentraînes le modèle pour obtenir des résultats optimaux en prêtant une attention particulière à quelques paramètres et techniques clés.
Link to this sectionCommencer avec un taux d'apprentissage plus élevé#
Lors d'un entraînement normal, le taux d'apprentissage commence bas et augmente progressivement au cours des premières époques pour stabiliser les mises à jour précoces. Lors du réglage fin, le modèle possède déjà des caractéristiques utiles issues du pré-entraînement, tu peux donc ignorer cet échauffement et commencer à t'adapter à tes nouvelles données immédiatement.
Définit l'argument d'entraînement warmup_epochs sur 0 dans model.train() pour désactiver la phase d'échauffement. L'entraînement se poursuit alors à partir des poids pré-entraînés au taux d'apprentissage de base configuré (lr0) au lieu de monter en puissance, en s'ajustant aux nuances de tes nouvelles données.
from ultralytics import YOLO
# Load a pretrained model
model = YOLO("yolo26n.pt")
# Fine-tune with the warmup phase disabled
model.train(data="coco8.yaml", epochs=10, warmup_epochs=0)Link to this sectionTuilage d'images pour les petits objets#
Le tuilage d'images peut améliorer la précision de détection pour les petits objets. En divisant des images plus grandes en segments plus petits, comme la division d'images 1280x1280 en plusieurs segments 640x640, tu préserves la résolution d'origine et laisses le modèle apprendre à partir de fragments haute résolution. Ultralytics prend cela en charge lors de l'inférence via l' inférence tuilée SAHI. Lors de l'entraînement sur des images tuilées, assure-toi d'ajuster correctement tes étiquettes pour chaque nouveau segment.
Link to this sectionConclusion#
L'évaluation et le réglage fin sont ce qui transforme un modèle entraîné en un modèle fiable et déployable : des métriques comme le mAP et l'IoU exposent les faiblesses, et des changements de paramètres ciblés les corrigent. Commence par le mode de validation pour comparer ton modèle, puis applique les techniques de réglage fin ci-dessus et continue d'itérer avec de nouveaux paramètres, techniques et jeux de données. Si des questions surviennent en cours de route, pose-les à 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 métriques clés pour évaluer les performances du modèle YOLO26 ?#
Pour évaluer les performances du 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 la qualité du chevauchement de la boîte englobante prédite avec 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 étant deux types courants pour des seuils d'IoU variables. Apprends-en plus sur ces métriques dans notre guide des métriques de performance YOLO26.
Link to this sectionComment puis-je régler finement un modèle YOLO26 pré-entraîné pour mon jeu de données spécifique ?#
Le réglage fin d'un modèle YOLO26 pré-entraîné implique l'ajustement de ses paramètres pour améliorer les 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ègle l'argument d'entraînement warmup_epochs sur 0 dans model.train() afin que le taux d'apprentissage commence immédiatement à la valeur de base configurée au lieu de monter en puissance. Pendant l'évaluation, des paramètres comme rect=true aident à gérer efficacement les tailles d'image variées. Pour des conseils plus détaillés, réfère-toi à notre section sur le réglage fin de ton modèle.
Link to this sectionComment puis-je gérer des tailles d'image variables lors de l'évaluation de mon modèle YOLO26 ?#
Pour gérer des tailles d'image variables pendant l'évaluation, utilise le paramètre rect=true dans YOLO26, qui regroupe les images par rapport hauteur/largeur et remplit chaque lot au lieu de forcer chaque image en un carré. Le paramètre imgsz définit la taille de l'image pour la validation ; si tu ne la remplaces pas, YOLO26 réutilise la valeur enregistrée du modèle (640 pour les modèles pré-entraînés officiels). Ajuste imgsz pour l'adapter à ton jeu de données et à ta mémoire GPU. Pour plus de détails, visite notre section sur la gestion des tailles d'image variables.
Link to this sectionQuelles étapes pratiques puis-je suivre pour améliorer la précision moyenne de mon modèle YOLO26 ?#
Améliorer la précision moyenne (mAP) pour un modèle YOLO26 implique plusieurs étapes :
- Réglage des hyperparamètres : Expérimente avec différents taux d'apprentissage, tailles de lot et augmentations d'image.
- Augmentation de données : Utilise des techniques comme Mosaic et MixUp pour créer des échantillons d'entraînement diversifiés.
- Tuilage d'images : Divise les images plus grandes en tuiles plus petites pour améliorer la précision de détection des petits objets.
Consulte notre section détaillée sur le réglage fin de ton modèle pour des stratégies spécifiques.
Link to this sectionComment puis-je accéder aux métriques d'évaluation du modèle YOLO26 en Python ?#
Tu peux accéder aux métriques d'évaluation du modèle YOLO26 en utilisant Python après avoir exécuté la validation :
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 à ajuster et à optimiser ton modèle YOLO26. Pour une plongée plus profonde, consulte notre guide sur les métriques de performance YOLO.