Skip to content

Informations sur l’évaluation et la mise au point des modèles

Introduction

Une fois que tu as formé ton modèle de vision par ordinateur, il est essentiel de l'évaluer et de l'affiner pour qu'il fonctionne de façon optimale. Il ne suffit pas de former ton modèle. Tu dois t'assurer que ton modèle est précis, efficace et qu'il remplit l'objectif de ton projet de vision par ordinateur. En évaluant et en affinant ton modèle, tu peux identifier ses faiblesses, améliorer sa précision et augmenter ses performances globales.

Dans ce guide, nous partagerons 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 accessible. Nous verrons comment comprendre les mesures d'évaluation et mettre en œuvre des techniques de réglage fin, ce qui te donnera 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

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 de performance fournissent des informations claires et numériques qui peuvent guider les améliorations afin de s'assurer que le modèle atteint les objectifs prévus. Examinons de plus près quelques mesures 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, 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 les scores de confiance sont supérieurs à un seuil spécifié sont considérées comme valides.

Petit conseil : Lorsque tu fais des déductions, si tu ne vois aucune prédiction et que tu as tout vérifié, essaie d'abaisser le score de confiance. Parfois, le seuil est trop élevé, ce qui fait que le modèle ignore les prédictions valides. L'abaissement du score permet au modèle d'envisager plus de possibilités. Cela ne répondra peut-être pas aux objectifs de ton 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

Intersection over Union (IoU) is a metric in object detection that measures how well the predicted bounding box overlaps with the ground truth bounding box. IoU values range from 0 to 1, where one stands for a perfect match. IoU is essential because it measures how closely the predicted boundaries match the actual object boundaries.

Intersection au-dessus de l'Union Vue d'ensemble

Mean Average Precision

Mean Average Precision (mAP) is a way to measure how well an object detection model performs. It looks at the precision of detecting each object class, averages these scores, and gives an overall number that shows how accurately the model can identify and classify objects.

Concentrons-nous sur deux mesures spécifiques du mAP :

  • mAP@.5: Measures the average precision at a single IoU (Intersection over Union) threshold of 0.5. This metric checks if the model can correctly find objects with a looser accuracy requirement. It focuses on whether the object is roughly in the right place, not needing perfect placement. It helps see if the model is generally good at spotting objects.
  • mAP@.5 :.95 : Fait la moyenne des valeurs mAP calculĂ©es Ă  plusieurs seuils de l'IoU, 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, on trouve mAP@0.75, qui utilise un seuil plus strict de 0,75, et mAP@small, medium, et large, qui évaluent la précision sur des objets de différentes tailles.

Moyenne Moyenne Précision Aperçu

Evaluating YOLO11 Model Performance

With respect to YOLO11, you can use the validation mode to evaluate the model. Also, be sure to take a look at our guide that goes in-depth into YOLO11 performance metrics and how they can be interpreted.

Questions courantes de la communauté

When evaluating your YOLO11 model, you might run into a few hiccups. Based on common community questions, here are some tips to help you get the most out of your YOLO11 model:

Gestion des tailles d’image variables

Evaluating your YOLO11 model with images of different sizes can help you understand its performance on diverse datasets. Using the rect=true validation parameter, YOLO11 adjusts the network's stride for each batch based on the image sizes, allowing the model to handle rectangular images without forcing them to a single size.

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. Tu peux ajuster cette valeur en fonction des dimensions maximales de ton jeu de données et de la mémoire disponible sur GPU . Même avec imgsz poser rect=true Permet au modèle de gérer efficacement les différentes tailles d’image en ajustant dynamiquement la foulée.

Accessing YOLO11 Metrics

If you want to get a deeper understanding of your YOLO11 model's performance, you can easily access specific evaluation metrics with a few lines of Python code. The code snippet below will let you load your model, run an evaluation, and print out various metrics that show how well your model is doing.

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)

The results object also includes speed metrics like preprocess time, inference time, loss, and postprocess time. By analyzing these metrics, you can fine-tune and optimize your YOLO11 model for better performance, making it more effective for your specific use case.

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 les performances d’une tâche ou d’un ensemble de données spécifique. Le processus, également connu sous le nom de réentraînement du modèle, permet au modèle de mieux comprendre et de prédire les résultats des données spécifiques qu’il rencontrera dans des applications réelles. Vous pouvez réentraîner votre modèle en fonction de votre évaluation de modèle pour obtenir des résultats optimaux.

Conseils pour affiner votre modèle

Affiner un modèle signifie porter une attention particulière à plusieurs paramètres et techniques vitaux pour obtenir des performances optimales. Voici quelques conseils essentiels pour vous guider tout au long du processus.

Starting With a Higher Learning Rate

Usually, during the initial training epochs, the learning rate starts low and gradually increases to stabilize the training process. However, since your model has already learned some features from the previous dataset, starting with a higher learning rate right away can be more beneficial.

When evaluating your YOLO11 model, you can set the warmup_epochs de validation pour warmup_epochs=0 pour éviter que le taux d’apprentissage ne commence trop élevé. En suivant ce processus, l’entraînement se poursuivra à partir des poids fournis, en s’adaptant aux nuances de vos nouvelles données.

Mosaïque d’images pour petits objets

Image tiling can improve detection accuracy for small objects. By dividing larger images into smaller segments, such as splitting 1280x1280 images into multiple 640x640 segments, you maintain the original resolution, and the model can learn from high-resolution fragments. When using YOLO11, make sure to adjust your labels for these new segments correctly.

Engagez-vous avec la communauté

Sharing your ideas and questions with other computer vision enthusiasts can inspire creative solutions to roadblocks in your projects. Here are some excellent ways to learn, troubleshoot, and connect.

Trouver de l’aide et du soutien

  • GitHub Issues: Explore the YOLO11 GitHub repository and use the Issues tab to ask questions, report bugs, and suggest features. The community and maintainers are available to assist with any issues you encounter.
  • Ultralytics Serveur Discord : Rejoins le serveur DiscordUltralytics pour te 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: Check out the official YOLO11 documentation for comprehensive guides and valuable insights on various computer vision tasks and projects.

RĂ©flexions finales

Evaluating and fine-tuning your computer vision model are important steps for successful model deployment. These steps help make sure that your model is accurate, efficient, and suited to your overall application. The key to training the best model possible is continuous experimentation and learning. Don't hesitate to tweak parameters, try new techniques, and explore different datasets. Keep experimenting and pushing the boundaries of what's possible!

FAQ

What are the key metrics for evaluating YOLO11 model performance?

To evaluate YOLO11 model performance, important metrics include Confidence Score, Intersection over Union (IoU), and Mean Average Precision (mAP). Confidence Score measures the model's certainty for each detected object class. IoU evaluates how well the predicted bounding box overlaps with the ground truth. Mean Average Precision (mAP) aggregates precision scores across classes, with mAP@.5 and mAP@.5:.95 being two common types for varying IoU thresholds. Learn more about these metrics in our YOLO11 performance metrics guide.

How can I fine-tune a pre-trained YOLO11 model for my specific dataset?

Fine-tuning a pre-trained YOLO11 model involves adjusting its parameters to improve performance on a specific task or dataset. Start by evaluating your model using metrics, then set a higher initial learning rate by adjusting the warmup_epochs à 0 pour une stabilité immédiate. Utilise des paramètres comme rect=true pour traiter efficacement des images de tailles variées. Pour des conseils plus détaillés, reporte-toi à notre section sur les fine-tuning YOLO11 models.

How can I handle variable image sizes when evaluating my YOLO11 model?

Pour gérer les tailles d'image variables pendant l'évaluation, utilise la fonction rect=true parameter in YOLO11, which adjusts the network's stride for each batch based on image sizes. The imgsz définit la dimension maximale pour le redimensionnement de l'image, la valeur par défaut étant 640. Ajuster imgsz pour s'adapter à ton jeu de données et à la mémoire de GPU . Pour plus de détails, visite notre section sur la gestion des tailles d'image variables.

What practical steps can I take to improve mean average precision for my YOLO11 model?

Improving mean average precision (mAP) for a YOLO11 model involves several steps:

  1. Tuning Hyperparameters: Experiment with different learning rates, batch sizes, and image augmentations.
  2. Data Augmentation: Use techniques like Mosaic and MixUp to create diverse training samples.
  3. Mosaïque d'images: Divise les grandes images en tuiles plus petites pour améliorer la précision de la détection des petits objets. Reporte-toi à notre guide détaillé sur le réglage fin du modèle pour connaître les stratégies spécifiques.

How do I access YOLO11 model evaluation metrics in Python?

You can access YOLO11 model evaluation metrics using Python with the following steps:

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)

Analyzing these metrics helps fine-tune and optimize your YOLO11 model. For a deeper dive, check out our guide on YOLO11 metrics.


📅 Created 3 months ago ✏️ Updated 7 days ago

Commentaires