Aperçu de l'évaluation et de la mise au point des modèles
Introduction
Une fois que vous avez formé votre modèle de vision par ordinateur, il est essentiel de l'évaluer et de l'affiner pour qu'il fonctionne de manière optimale. Il ne suffit pas d'entraîner votre modèle. Vous devez vous assurer que votre modèle est précis, efficace et qu'il répond à l'objectif de votre projet de vision par ordinateur. En évaluant et en affinant votre modèle, vous pouvez identifier ses faiblesses, améliorer sa précision et accroître ses performances globales.
Regarder : Conseils pour l'évaluation et la mise au point des modèles | Conseils pour l'amélioration de la précision moyenne
Dans ce guide, nous allons partager des idées sur l'évaluation et le réglage fin des modèles qui rendront cette étape d'un projet de vision par ordinateur plus abordable. Nous verrons comment comprendre les métriques d'évaluation et mettre en œuvre des techniques de réglage fin, en vous donnant les connaissances nécessaires pour améliorer les capacités de votre modèle.
Évaluation de la performance des modèles à l'aide de métriques
L'évaluation des performances d'un modèle nous aide à comprendre l'efficacité de son fonctionnement. Diverses mesures sont utilisées pour évaluer les performances. Ces mesures fournissent des informations claires et chiffrées qui permettent d'orienter les améliorations afin de s'assurer que le modèle atteint les objectifs fixés. Examinons de plus près quelques mesures clés.
Note de confiance
Le score de confiance représente la certitude du modèle qu'un objet détecté appartient à une classe particulière. Il est compris entre 0 et 1, les scores les plus élevés indiquant une plus grande confiance. Le score de confiance permet de filtrer les prédictions ; seules les détections dont le score de confiance est supérieur à un seuil spécifié sont considérées comme valides.
Petit conseil : Lors de l'exécution des inférences, si vous ne voyez aucune prédiction et que vous avez vérifié tous les autres éléments, essayez d'abaisser le score de confiance. Parfois, le seuil est trop élevé, ce qui conduit le modèle à ignorer des prédictions valides. L'abaissement du score permet au modèle d'envisager davantage de possibilités. Il se peut que cela ne corresponde pas aux objectifs de votre projet, mais c'est un bon moyen de voir ce que le modèle peut faire et de décider comment l'affiner.
Intersection au-dessus de l'Union
L'intersection par rapport à l'union (IoU) est une mesure de la détection d'objets qui évalue le degré de chevauchement entre la boîte de délimitation prédite et la boîte de délimitation de la vérité terrain. Les valeurs de l'IoU sont comprises entre 0 et 1, la valeur 1 correspondant à une correspondance parfaite. L'IoU est essentiel car il mesure le degré de correspondance entre les limites prédites et les limites réelles de l'objet.
Moyenne Moyenne Précision
La précision moyenne (mAP) est un moyen de mesurer les performances d'un modèle de détection d'objets. Il prend en compte la précision de la détection de chaque classe d'objets, fait la moyenne de ces scores et donne un chiffre global qui indique la précision avec laquelle le modèle peut identifier et classer les objets.
Concentrons-nous sur deux mesures spécifiques du mAP :
- mAP@.5 : mesure la précision moyenne à un seul seuil IoU (Intersection over Union) de 0,5. Cette mesure permet de vérifier si le modèle peut trouver correctement des objets avec une exigence de précision plus faible. Elle se concentre sur la question de savoir si l'objet est à peu près au bon endroit, et non s'il doit être parfaitement placé. Elle permet de voir si le modèle est généralement bon pour repérer les objets.
- mAP@.5 :.95 : Moyenne des valeurs mAP calculées à plusieurs seuils d'intrants, de 0,5 à 0,95 par incréments de 0,05. Cette mesure est plus détaillée et plus 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 précise des objets.
Parmi les autres mesures mAP, citons mAP@0.75, qui utilise un seuil plus strict de 0,75, et mAP@small, medium et large, qui évaluent la précision pour des objets de différentes tailles.
Évaluation des performances du modèle YOLO11
En ce qui concerne YOLO11, vous pouvez utiliser le mode de validation pour évaluer le modèle. N'oubliez pas non plus de jeter un coup d'œil à notre guide qui traite en profondeur des mesures de performance deYOLO11 et de la manière dont elles peuvent être interprétées.
Questions communes à la Communauté
Lors de l'évaluation de votre modèle YOLO11 , vous risquez de rencontrer quelques difficultés. Sur la base des questions fréquemment posées par la communauté, voici quelques conseils pour vous aider à tirer le meilleur parti de votre modèle YOLO11 :
Gestion des tailles d'image variables
L'évaluation de votre modèle YOLO11 avec des images de différentes tailles peut vous aider à comprendre ses performances sur divers ensembles de données. L'utilisation de l'outil rect=true
le paramètre de validation YOLO11 ajuste la foulée du réseau pour chaque lot en fonction de la taille des images, ce qui permet au modèle de traiter des images rectangulaires sans les contraindre à une taille unique.
Le imgsz
Le paramètre de validation définit la dimension maximale pour le redimensionnement de l'image, qui est de 640 par défaut. Vous pouvez ajuster cette valeur en fonction des dimensions maximales de votre jeu de données et de la mémoire disponible sur GPU . Même avec imgsz
set, rect=true
permet au modèle de gérer efficacement les différentes tailles d'image en ajustant dynamiquement la foulée.
Accéder à YOLO11 Metrics
Si vous souhaitez mieux comprendre les performances de votre modèle YOLO11 , vous pouvez facilement accéder à des mesures d'évaluation spécifiques à l'aide de quelques lignes de code Python . L'extrait de code ci-dessous vous permet de charger votre modèle, d'exécuter une évaluation et d'imprimer diverses mesures indiquant les performances de votre modèle.
Utilisation
from ultralytics import YOLO
# Load the model
model = YOLO("yolo11n.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("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 des résultats comprend également des mesures de vitesse telles que le temps de prétraitement, le temps d'inférence, la perte et le temps de post-traitement. L'analyse de ces mesures vous permet d'affiner et d'optimiser votre modèle YOLO11 pour en améliorer les performances et le rendre plus efficace pour votre 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 afin d'améliorer les performances sur une tâche ou un ensemble de données spécifique. Ce processus, également connu sous le nom de recyclage du 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 les applications du monde réel. Vous pouvez recycler votre modèle sur la base de votre évaluation du modèle pour obtenir des résultats optimaux.
Conseils pour affiner votre modèle
La mise au point d'un modèle implique de prêter une attention particulière à plusieurs paramètres et techniques essentiels pour obtenir des performances optimales. Voici quelques conseils essentiels pour vous guider tout au long du processus.
Commencer avec un taux d'apprentissage plus élevé
Habituellement, au cours des premières périodes d'apprentissage, le taux d'apprentissage commence par être faible et augmente progressivement pour stabiliser le processus d'apprentissage. Cependant, étant donné que votre modèle a déjà appris certaines caractéristiques de l'ensemble de données précédent, il peut être plus avantageux de commencer tout de suite avec un taux d'apprentissage plus élevé.
Lors de l'évaluation de votre modèle YOLO11 , vous pouvez paramétrer l'option warmup_epochs
au paramètre de validation warmup_epochs=0
pour éviter que le taux d'apprentissage ne commence à être trop élevé. En suivant ce processus, l'apprentissage se poursuivra à partir des poids fournis, en s'adaptant aux nuances de vos nouvelles données.
Image Tiling for Small Objects (en anglais)
La mosaïque d'images peut améliorer la précision de la détection des petits objets. En divisant des images de grande taille en segments plus petits, par exemple en divisant des images de 1280x1280 en plusieurs segments de 640x640, vous conservez la résolution d'origine et le modèle peut apprendre à partir de fragments à haute résolution. Lorsque vous utilisez YOLO11, veillez à ajuster correctement vos étiquettes pour ces nouveaux segments.
S'engager avec la communauté
Partager vos idées et vos questions avec d'autres passionnés de vision par ordinateur peut vous inspirer des solutions créatives pour résoudre les problèmes rencontrés dans vos projets. Voici quelques excellents moyens d'apprendre, de résoudre des problèmes et de se connecter.
Trouver de l'aide et du soutien
- GitHub Issues : Explorez le dépôt GitHub YOLO11 et utilisez l'onglet Issues pour poser des questions, signaler des bogues et suggérer des fonctionnalités. La communauté et les mainteneurs sont disponibles pour vous aider à résoudre les problèmes que vous rencontrez.
- Ultralytics Serveur Discord : Rejoignez le serveur DiscordUltralytics pour vous connecter avec d'autres utilisateurs et développeurs, obtenir de l'aide, partager des connaissances et trouver des idées.
Documentation officielle
- Ultralytics YOLO11 Documentation : Consultez la documentation officielle de YOLO11 pour obtenir des guides complets et des informations précieuses sur diverses tâches et projets de vision par ordinateur.
RĂ©flexions finales
L'évaluation et la mise au point de votre modèle de vision par ordinateur sont des étapes importantes pour un déploiement réussi du modèle. Ces étapes permettent de s'assurer que votre modèle est précis, efficace et adapté à votre application globale. La clé de la formation du meilleur modèle possible est l'expérimentation et l'apprentissage continus. N'hésitez pas à modifier les paramètres, à essayer de nouvelles techniques et à explorer différents ensembles de données. Continuez à expérimenter et à repousser les limites du possible !
FAQ
Quels sont les principaux paramètres permettant d'évaluer la performance du modèle YOLO11 ?
Pour évaluer les performances du modèle YOLO11 , les mesures importantes sont le score de confiance, l'intersection sur l'union (IoU) et la précision moyenne (mAP). La note de confiance mesure la certitude du modèle pour chaque classe d'objet détectée. L'intersection sur l'union évalue le degré de chevauchement de la boîte de délimitation prédite avec la vérité terrain. La précision moyenne (mAP) regroupe les scores de précision entre les classes, mAP@.5 et mAP@.5 :.95 étant deux types courants pour les différents seuils de l'indice d'utilité. Pour en savoir plus sur ces mesures, consultez notre guide des mesures de performance surYOLO11 .
Comment puis-je affiner un modèle pré-entraîné YOLO11 pour mon ensemble de données spécifique ?
Le réglage fin d'un modèle YOLO11 pré-entraîné consiste à ajuster ses paramètres afin d'améliorer les performances sur une tâche ou un ensemble de données spécifique. Commencez par évaluer votre modèle à l'aide de métriques, puis fixez un taux d'apprentissage initial plus élevé en ajustant le paramètre warmup_epochs
à 0 pour une stabilité immédiate. Utilisez des paramètres tels que rect=true
pour gérer efficacement les différentes tailles d'images. Pour des conseils plus détaillés, consultez notre section sur les affiner les modèles YOLO11.
Comment puis-je gérer des images de taille variable lors de l'évaluation de mon modèle YOLO11 ?
Pour gérer des tailles d'image variables au cours de l'évaluation, utilisez la fonction rect=true
dans YOLO11, qui ajuste le pas du réseau pour chaque lot en fonction de la taille des images. Les imgsz
définit la dimension maximale pour le redimensionnement de l'image, la valeur par défaut étant 640. Ajuster imgsz
pour s'adapter à votre ensemble de données et à la mémoire de GPU . Pour plus de détails, visitez notre section sur la gestion des images de taille variable.
Quelles mesures pratiques puis-je prendre pour améliorer la précision moyenne de mon modèle YOLO11 ?
L'amélioration de la précision moyenne (mAP) d'un modèle YOLO11 comporte plusieurs étapes :
- Réglage des hyperparamètres: Expérimentez différents taux d'apprentissage, tailles de lots et augmentations d'images.
- Augmentation des données: Utilisez des techniques telles que Mosaic et MixUp pour créer des échantillons de formation diversifiés.
- Mosaïque d'images: Divisez les grandes images en tuiles plus petites afin d'améliorer la précision de la détection des petits objets. Reportez-vous à notre guide détaillé sur l'affinage du modèle pour connaître les stratégies spécifiques.
Comment puis-je accéder aux mesures d'évaluation du modèle YOLO11 dans Python?
Vous pouvez accéder aux mesures d'évaluation du modèle YOLO11 à l'aide de Python en suivant les étapes suivantes :
Utilisation
from ultralytics import YOLO
# Load the model
model = YOLO("yolo11n.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 paramètres permet d'affiner et d'optimiser votre modèle YOLO11 . Pour aller plus loin, consultez notre guide sur les indicateursYOLO11 .