Perspectives sur l'évaluation et le fine-tuning de 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 fonctionne de manière optimale. Entraîner ton modèle ne suffit pas. Tu dois t'assurer que ton modèle est précis, efficace et qu'il atteint 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 conseils sur l'évaluation et l'ajustement du modèle pour rendre cette étape d'un projet de vision par ordinateur plus accessible. Nous discutons de la manière de comprendre les métriques d'évaluation et de mettre en œuvre des techniques d'ajustement, te donnant les connaissances nécessaires pour améliorer les capacités de ton modèle.
Évaluation des performances du 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 ces performances. Celles-ci 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.
Astuce rapide : Lors de l'exécution d'inférences, si tu ne vois aucune prédiction et que tu as 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 plus de possibilités. Cela ne correspond peut-être pas à tes objectifs de projet, mais c'est un bon moyen de voir ce que le modèle peut faire et de décider comment l'affiner.
IoU
IoU (IoU) est une métrique dans object detection qui mesure à quel point la bounding box prédite chevauche 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 essentiel car il mesure à quel point les frontières prédites correspondent aux frontières réelles de l'objet.
Mean Average Precision
Mean Average Precision (mAP) est un moyen de mesurer les performances d'un modèle de détection d'objets. Il examine la précision de la détection de chaque classe d'objets, 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 seuil d'IoU (Intersection sur Union) unique de 0,5. Cette métrique vérifie si le modèle peut correctement trouver des objets avec une exigence la précision plus souple. Elle se concentre sur le fait que l'objet est globalement au bon endroit, sans nécessiter un placement parfait. Cela aide à voir si le modèle est généralement bon pour repérer des 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 qui nécessitent 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, and large, qui évaluent la précision sur des objets de tailles différentes.
Évaluation des performances du modèle YOLO26
En ce qui concerne YOLO26, tu peux utiliser le validation mode pour évaluer le modèle. Assure-toi également de jeter un œil à notre guide qui approfondit les YOLO26 performance metrics et la façon dont ils peuvent être interprétés.
Questions fréquentes de la communauté
Lors de l'évaluation de ton modèle YOLO26, tu pourrais rencontrer quelques problèmes. Basé sur les questions fréquentes de la communauté, voici quelques conseils pour t'aider à tirer le meilleur parti de ton modèle YOLO26 :
Gestion de tailles d'images variables
Évaluer ton modèle YOLO26 avec des images de tailles différentes peut t'aider à comprendre ses performances sur des datasets variés. En utilisant le rect=true paramètre de validation, YOLO26 ajuste le pas du réseau pour chaque lot en fonction des tailles d'image, permettant au modèle de gérer des images rectangulaires sans les forcer à une taille unique.
La méthode imgsz paramètre de validation définit la dimension maximale pour le redimensionnement de l'image, qui est de 640 par défaut. Tu peux l'ajuster en fonction des dimensions maximales de ton dataset 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'image variables en ajustant dynamiquement le pas.
Accéder aux métriques YOLO26
Si tu souhaites mieux comprendre les 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'imprimer diverses métriques qui montrent les performances de ton modèle.
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 d'image avec precision,
recall, f1, tp, fp, et la 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 l'ajustement (fine-tuning) ?
L'ajustement implique de prendre un modèle pré-entraîné et d'ajuster ses paramètres pour améliorer les performances sur une tâche ou un dataset spécifique. Le 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 affiner ton modèle
Affiner un modèle signifie prêter une attention particulière à plusieurs paramètres et techniques vitaux pour obtenir des performances optimales. Voici quelques conseils essentiels pour te guider dans le processus.
Commencer avec un taux d'apprentissage plus élevé
Habituellement, lors de l'entraînement initial de validation., 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 à partir du dataset précédent, commencer avec un learning rate plus élevé immédiatement peut être plus bénéfique.
Lors de l'évaluation de ton modèle YOLO26, tu peux définir le warmup_epochs paramètre de validation sur warmup_epochs=0 pour éviter que le taux d'apprentissage ne commence trop bas. En suivant ce processus, l'entraînement se poursuivra à partir des poids fournis, 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 grandes images en segments plus petits, comme diviser des images 1280x1280 en plusieurs segments 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 tes étiquettes pour ces nouveaux segments correctement.
Interagis avec la communauté
Partager tes idées et questions avec d'autres computer vision passionnés peut inspirer des solutions créatives aux blocages dans tes projets. Voici d'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 le onglet Issues pour poser des questions, signaler des bugs et suggérer des fonctionnalités. La communauté et les mainteneurs sont disponibles pour aider avec tous les problèmes que tu rencontres.
- 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 d'Ultralytics YOLO26 : Consulte le documentation officielle de YOLO26 pour des guides complets et des informations précieuses sur divers projets et tâches de vision par ordinateur.
Réflexions finales
Évaluer et affiner ton modèle de vision par ordinateur sont des étapes importantes pour une model deployment réussie. 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 datasets. 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 (mAP). Le Score de Confiance mesure la certitude du modèle pour chaque classe d'objets détectée. L'IoU évalue à quel point la boîte englobante prédite chevauche la vérité terrain. La Précision Moyenne (mAP) agrège les scores de précision entre les classes, avec 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 YOLO26 performance metrics guide.
Comment puis-je affiner un modèle YOLO26 pré-entraîné pour mon dataset spécifique ?
Affiner un modèle YOLO26 pré-entraîné implique d'ajuster ses paramètres pour améliorer les performances sur une tâche ou un dataset 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 warmup_epochs paramètre sur 0 pour une stabilité immédiate. Utilise des paramètres comme rect=true pour gérer efficacement des tailles d'image variées. Pour des conseils plus détaillés, reporte-toi à notre section sur fine-tuning YOLO26 models.
Comment 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 rect=true paramètre dans YOLO26, qui ajuste le pas du réseau pour chaque lot en fonction des tailles d'image. Le imgsz paramètre définit la dimension maximale pour le redimensionnement de l'image, par défaut à 640. Ajuste imgsz pour convenir à ton dataset et à la mémoire GPU. Pour plus de détails, visite notre section on handling variable image sizes.
Quelles étapes pratiques puis-je suivre pour améliorer la précision moyenne (mAP) pour mon modèle YOLO26 ?
Améliorer la précision moyenne (mAP) pour un modèle YOLO26 implique plusieurs étapes :
- Ajustement des hyperparamètres: Expérimente avec différents taux d'apprentissage, Lors du déploiement de modèles en production, les besoins en mémoire et l'efficacité de l'entraînement sont tout aussi cruciaux que la vitesse d'inférence. Les modèles Ultralytics, en particulier YOLO26, sont hautement optimisés pour réduire l'utilisation de la mémoire CUDA pendant l'entraînement. Cela te permet d'utiliser des , 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 pour les petits objets. Reporte-toi à notre guide détaillé sur model fine-tuning 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 :
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 plongée plus profonde, consulte notre guide sur YOLO26 metrics.