Aperçu sur l'évaluation et le réglage fin des modèles

Introduction

Une fois que tu as entraîné ton modèle de vision par ordinateur, il est essentiel de l'évaluer et de l'affiner pour qu'il soit optimal. Le simple entraînement de ton modèle ne suffit pas. Tu dois t'assurer que ton modèle est précis, efficace et qu'il répond à l'objectif de ton projet de vision par ordinateur. En évaluant et en affinant ton modèle, tu peux identifier les faiblesses, améliorer sa précision et booster ses performances globales.



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

Dans ce guide, nous partageons des aperçus sur l'évaluation et le réglage fin des modèles pour rendre cette étape d'un projet de vision par ordinateur plus accessible. Nous expliquons comment comprendre les métriques d'évaluation et mettre en œuvre des techniques de réglage fin, te donnant les connaissances nécessaires pour élever les capacités de ton modèle.

Évaluer les performances d'un modèle à l'aide de métriques

Évaluer les performances d'un modèle nous aide à comprendre son efficacité. Diverses métriques sont utilisées pour mesurer la performance. Ces métriques de performance fournissent des informations numériques claires qui peuvent guider les améliorations pour s'assurer que le modèle atteint ses objectifs. Examinons de plus près quelques métriques clés.

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, des scores plus élevés indiquant une plus grande confiance. Le score de confiance aide à filtrer les prédictions ; seules les détections avec des scores de confiance supérieurs à un seuil spécifié sont considérées comme valides.

Conseil rapide : Lorsque tu exécutes des inférences, si tu ne vois aucune prédiction et que tu as déjà tout vérifié, essaie de baisser le score de confiance. Parfois, le seuil est trop élevé, ce qui pousse le modèle à ignorer des prédictions valides. Baisser le score permet au modèle de considérer davantage de possibilités. Cela pourrait ne pas correspondre aux objectifs de ton projet, mais c'est un bon moyen de voir ce dont le modèle est capable et de décider comment l'affiner.

Intersection sur Union

L'Intersection sur Union (IoU) est une métrique de détection d'objet qui mesure la qualité du chevauchement entre la boîte englobante prédite et la boîte englobante de vérité terrain. Les valeurs d'IoU varient de 0 à 1, où un 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.

Intersection over Union Overview

Précision moyenne moyenne

La Précision moyenne moyenne (mAP) est un moyen de mesurer la performance d'un modèle de détection d'objet. Elle examine la précision de détection de chaque classe d'objet, fait la moyenne de ces scores et donne un chiffre global qui montre avec quelle précision le modèle peut identifier et classer les objets.

Concentrons-nous sur deux métriques mAP spécifiques :

  • mAP@.5 : Mesure la précision moyenne à un seul seuil d'IoU (Intersection sur Union) 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 approximativement au bon endroit, sans avoir besoin d'un placement parfait. Elle aide à voir si le modèle est globalement doué 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 de rigueur et est particulièrement utile pour les applications nécessitant une détection d'objet précise.

Les 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 sur des objets de différentes tailles.

Mean average precision mAP metric

Évaluer les performances du modèle YOLO26

En ce qui concerne YOLO26, tu peux utiliser le mode de validation pour évaluer le modèle. Assure-toi également de consulter notre guide approfondi sur les métriques de performance YOLO26 et la manière de les interpréter.

Questions fréquentes de la communauté

Lors de l'évaluation de ton modèle YOLO26, tu pourrais rencontrer quelques difficultés. Sur la base des questions fréquentes de la communauté, voici quelques conseils pour t'aider à tirer le meilleur parti de ton modèle YOLO26 :

Gérer des tailles d'images variables

Évaluer ton modèle YOLO26 avec des images de tailles différentes peut t'aider à comprendre ses performances sur des jeux de données divers. En utilisant le paramètre de validation rect=true, YOLO26 ajuste le pas du réseau pour chaque lot en fonction des tailles d'image, permettant au modèle de traiter des images rectangulaires sans les forcer à une taille unique.

Le paramètre de validation imgsz définit la dimension maximale pour le redimensionnement de l'image, qui est de 640 par défaut. Tu peux ajuster cela en fonction des dimensions maximales de ton jeu de données et de la mémoire GPU disponible. Même avec imgsz défini, rect=true permet au modèle de gérer efficacement des tailles d'images variables en ajustant dynamiquement le pas.

Accéder aux métriques YOLO26

Si tu souhaites approfondir ta compréhension des performances de ton modèle YOLO26, tu peux facilement accéder à des métriques d'évaluation spécifiques avec quelques lignes de code Python. L'extrait de code ci-dessous te permettra de charger ton modèle, d'exécuter une évaluation et d'afficher diverses métriques montrant les performances de ton modèle.

Utilisation
from ultralytics import YOLO

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

# Run the evaluation
results = model.val(data="coco8.yaml")

# Print specific metrics
print("Class indices with average precision:", results.ap_class_index)
print("Average precision for all classes:", results.box.all_ap)
print("Average precision:", results.box.ap)
print("Average precision at IoU=0.50:", results.box.ap50)
print("Class indices for average precision:", results.box.ap_class_index)
print("Class-specific results:", results.box.class_result)
print("F1 score:", results.box.f1)
print("F1 score curve:", results.box.f1_curve)
print("Overall fitness score:", results.box.fitness)
print("Mean average precision:", results.box.map)
print("Mean average precision at IoU=0.50:", results.box.map50)
print("Mean average precision at IoU=0.75:", results.box.map75)
print("Mean average precision for different IoU thresholds:", results.box.maps)
print("Mean results for different metrics:", results.box.mean_results)
print("Mean precision:", results.box.mp)
print("Mean recall:", results.box.mr)
print("Per-image metrics:", results.box.image_metrics)
print("Precision:", results.box.p)
print("Precision curve:", results.box.p_curve)
print("Precision values:", results.box.prec_values)
print("Specific precision metrics:", results.box.px)
print("Recall:", results.box.r)
print("Recall curve:", results.box.r_curve)

L'objet résultats inclut également image_metrics, un dictionnaire par image indexé par nom de fichier image avec precision, recall, f1, tp, fp, et fn, ainsi que des métriques de vitesse comme le temps de prétraitement, le temps d'inférence, la perte et le temps de post-traitement. En analysant ces métriques, tu peux affiner et optimiser ton modèle YOLO26 pour de meilleures performances, le rendant plus efficace pour ton cas d'utilisation spécifique.

Comment fonctionne le réglage fin ?

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. Ce processus, également connu sous le nom de réentraînement de modèle, permet au modèle de mieux comprendre et prédire les résultats pour les données spécifiques qu'il rencontrera dans des applications réelles. Tu peux réentraîner ton modèle en fonction de son évaluation pour obtenir des résultats optimaux.

Conseils pour le réglage fin de ton modèle

Affiner un modèle signifie prêter une attention particulière à plusieurs paramètres et techniques essentiels pour atteindre une performance optimale. Voici quelques conseils essentiels pour te guider tout au long du processus.

Commencer avec un taux d'apprentissage plus élevé

Habituellement, pendant les époques d'entraînement initiales, le taux d'apprentissage commence bas et augmente progressivement pour stabiliser le processus d'entraînement. Cependant, comme ton modèle a déjà appris certaines caractéristiques du jeu de données précédent, commencer immédiatement avec un taux d'apprentissage plus élevé peut être plus bénéfique.

Lors de l'évaluation de ton modèle YOLO26, tu peux définir le paramètre de validation warmup_epochs sur warmup_epochs=0 pour éviter que le taux d'apprentissage ne commence trop bas. En suivant ce processus, l'entraînement continuera à partir des poids fournis, en s'adaptant aux nuances de tes nouvelles données.

Tuilage 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 les images plus grandes en segments plus petits, comme diviser des images de 1280x1280 en plusieurs segments de 640x640, tu conserves la résolution originale et le modèle peut apprendre à partir de fragments haute résolution. Lorsque tu utilises YOLO26, assure-toi d'ajuster correctement tes étiquettes pour ces nouveaux segments.

Engage-toi avec la communauté

Partager tes idées et tes questions avec d'autres passionnés de vision par ordinateur peut inspirer des solutions créatives aux blocages dans tes projets. Voici quelques excellents moyens d'apprendre, de dépanner et de te connecter.

Trouver de l'aide et du support

  • GitHub Issues : Explore le dépôt GitHub de YOLO26 et utilise l'onglet Issues pour poser des questions, signaler des bugs et suggérer des fonctionnalités. La communauté et les responsables sont disponibles pour t'aider avec tout problème rencontré.
  • Serveur Discord d'Ultralytics : Rejoins le serveur Discord d'Ultralytics pour te connecter avec d'autres utilisateurs et développeurs, obtenir du support, partager des connaissances et échanger des idées.

Documentation officielle

  • Documentation Ultralytics YOLO26 : Consulte la documentation officielle YOLO26 pour des guides complets et des aperçus précieux sur diverses tâches et projets de vision par ordinateur.

Réflexions finales

L'évaluation et l'ajustement fin de ton modèle de vision par ordinateur sont des étapes importantes pour un déploiement de modèle réussi. Ces étapes aident à s'assurer que ton modèle est précis, efficace et adapté à ton application globale. La clé pour entraîner le meilleur modèle possible est l'expérimentation et l'apprentissage continus. N'hésite pas à ajuster les paramètres, essayer de nouvelles techniques et explorer différents jeux de données. Continue d'expérimenter et de repousser les limites de ce qui est possible !

FAQ

Quelles 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 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 moyenne (mAP) agrège les scores de précision à travers 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.

Comment puis-je affiner un modèle YOLO26 pré-entraîné pour mon jeu de données spécifique ?

L'ajustement fin d'un modèle YOLO26 pré-entraîné implique d'ajuster ses paramètres pour améliorer ses performances sur une tâche ou un jeu de données spécifique. Commence par évaluer ton modèle en utilisant des métriques, puis définis un taux d'apprentissage initial plus élevé en ajustant le paramètre warmup_epochs à 0 pour une stabilité immédiate. Utilise des paramètres comme rect=true pour gérer efficacement les tailles d'images variables. Pour des conseils plus détaillés, réfère-toi à notre section sur le réglage fin des modèles YOLO26.

Comment puis-je gérer des tailles d'images variables lors de l'évaluation de mon modèle YOLO26 ?

Pour gérer des tailles d'images variables lors de l'évaluation, utilise le paramètre rect=true dans YOLO26, qui ajuste le pas du réseau pour chaque lot en fonction des tailles d'image. Le paramètre imgsz définit la dimension maximale pour le redimensionnement de l'image, par défaut à 640. Ajuste imgsz pour l'adapter à ton jeu de données et à la mémoire GPU. Pour plus de détails, visite notre section sur la gestion des tailles d'images variables.

Quelles étapes pratiques puis-je suivre pour améliorer la précision moyenne moyenne de mon modèle YOLO26 ?

Améliorer la précision moyenne moyenne (mAP) pour 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 de données : Utilise des techniques comme Mosaic et MixUp pour créer des échantillons d'entraînement diversifiés.
  3. Tuilage d'images : Divise les images plus grandes en tuiles plus petites pour améliorer la précision de détection pour les petits objets. Réfère-toi à notre guide détaillé sur le réglage fin des modèles pour des stratégies spécifiques.

Comment 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 avec les étapes suivantes :

Utilisation
from ultralytics import YOLO

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

# Run the evaluation
results = model.val(data="coco8.yaml")

# Print specific metrics
print("Class indices with average precision:", results.ap_class_index)
print("Average precision for all classes:", results.box.all_ap)
print("Mean average precision at IoU=0.50:", results.box.map50)
print("Mean recall:", results.box.mr)

L'analyse de ces métriques aide à affiner et à optimiser ton modèle YOLO26. Pour une analyse plus approfondie, consulte notre guide sur les métriques YOLO26.

Commentaires