Ultralytics YOLO27 :

Analyses avec Ultralytics YOLO26#

Les analyses avec Ultralytics YOLO26 transforment les résultats de détection d’objets et de suivi en graphiques en temps réel, afin que tu puisses observer l’évolution du nombre d’objets d’une image à l’autre dans une vidéo. Ce guide couvre quatre types de visualisation des données — graphiques en courbes, graphiques à barres, diagrammes circulaires et graphiques en aires — et montre comment passer de l’un à l’autre à l’aide d’exemples partagés en Python et avec la CLI.



Watch: How to generate Analytical Graphs using Ultralytics | Line Graphs, Bar Plots, Area and Pie Charts

Exemples visuels#

Graphique en courbesGraphique à barresDiagramme circulaire
Graphique en courbes d’analyse YOLO pour le suivi d’objetsGraphique à barres d’analyse YOLO pour le nombre de détectionsDiagramme circulaire d’analyse YOLO pour la répartition des classes

Pourquoi visualiser les données de détection ?#

  • Les graphiques en courbes sont idéaux pour suivre les évolutions sur de courtes ou de longues périodes et pour comparer les évolutions de plusieurs groupes sur une même période.
  • Les graphiques à barres conviennent pour comparer des quantités entre différentes catégories et montrer les relations entre une catégorie et sa valeur numérique.
  • Les diagrammes circulaires sont efficaces pour illustrer les proportions entre les catégories et montrer les parties d’un ensemble.
  • Les graphiques en aires remplissent le graphique en courbes afin que le nombre d’objets par classe au fil du temps soit plus facile à lire d’un coup d’œil.

Générer des graphiques d’analyse#

Transmets ta vidéo à la solution Analytics et sélectionne un graphique avec analytics_type. La solution effectue la détection et le suivi sur chaque image et génère, par défaut, un graphique de 1280×720 que tu peux écrire directement dans une vidéo de sortie. Passe de "line" à "bar", "pie" ou "area" avec un seul argument.

Analyses avec Ultralytics YOLO
yolo solutions analytics show=True

# Pass the source
yolo solutions analytics source="path/to/video.mp4"

# Generate the pie chart
yolo solutions analytics analytics_type="pie" show=True

# Generate the bar plots
yolo solutions analytics analytics_type="bar" show=True

# Generate the area plots
yolo solutions analytics analytics_type="area" show=True

Arguments de Analytics#

Voici un tableau présentant les arguments d’Analytics :

ArgumentTypeValeur par défautDescription
modelstrNoneChemin vers un fichier de modèle Ultralytics YOLO.
analytics_typestr'line'Type de graphique, c'est-à-dire line, bar, area ou pie.
line_widthint2Épaisseur des lignes des boîtes, des points clés et des comptages dessinés par la solution.
verboseboolTrueActive le journal par image de la solution, qui indique la forme d'entrée, les comptages par classe et la vitesse de traitement. L'appel de suivi lui-même est toujours silencieux.

Tu peux également utiliser différents arguments de track dans la solution Analytics.

ArgumentTypeValeur par défautDescription
trackerstr'botsort.yaml'Indique l'algorithme de suivi à utiliser. Options intégrées : botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Définit le seuil de confiance des détections ; des valeurs plus faibles permettent de suivre davantage d'objets, mais peuvent inclure des faux positifs.
ioufloat0.7Définit le seuil d'intersection sur union (IoU) pour filtrer les détections qui se chevauchent.
classeslistNoneFiltre les résultats par indice de classe. Par exemple, classes=[0, 2, 3] ne suit que les classes spécifiées.
devicestrNoneIndique le périphérique utilisé pour l'inférence (par exemple, cpu, cuda:0 ou 0). Permet de choisir entre le CPU, un GPU spécifique ou d'autres périphériques de calcul pour l'exécution du modèle.
imgszint or tuple640Taille de l'image d'inférence cible : un entier pour un carré ou une paire (height, width). Les formes sont ajustées au pas du modèle.
max_detint300Nombre maximal de détections conservées par image avant le suivi, ce qui limite les objets traités par une solution dans les scènes denses.
quantizeint or strNonePrécision de l'inférence : 16 (FP16) ou 32/non définie (FP32) pour les modèles PyTorch et TorchScript ; les autres formats s'exécutent à la précision sélectionnée par leur artefact et leur environnement d'exécution. Remplace l'indicateur déprécié half.

Les arguments de visualisation suivants sont également pris en charge :

ArgumentTypeValeur par défautDescription
showboolFalseSi True, affiche les images ou vidéos annotées dans une fenêtre. Utile pour obtenir un retour visuel immédiat pendant le développement ou les tests.

Conclusion#

Comprendre quand et comment utiliser les différents types de visualisation est essentiel pour analyser efficacement les données. Les graphiques en courbes, les graphiques à barres et les diagrammes circulaires sont des outils fondamentaux qui peuvent t’aider à présenter l’histoire de tes données plus clairement et plus efficacement. La solution Analytics d’Ultralytics YOLO26 offre un moyen simplifié de générer ces visualisations à partir de tes résultats de détection d’objets et de suivi, ce qui facilite l’extraction d’informations pertinentes à partir de tes données visuelles.

FAQ#

  • Pour créer un graphique en courbes avec Analytics d’Ultralytics YOLO26, suis les étapes suivantes :

    1. Charge un modèle YOLO26 et ouvre ton fichier vidéo.
    2. Initialise la classe Analytics avec analytics_type="line".
    3. Parcours les images de la vidéo en appelant la solution à chaque image afin de mettre à jour le graphique en courbes avec des données telles que le nombre d’objets.
    4. Écris results.plot_im dans une vidéo de sortie pour enregistrer le graphique.

    Utilise l’exemple Python ci-dessus comme point de départ : il exécute déjà la boucle complète sur les images, et un graphique en courbes est le analytics_type par défaut.

  • L’utilisation d’Ultralytics YOLO26 pour créer des graphiques à barres offre plusieurs avantages :

    1. Visualisation des données en temps réel : intègre facilement les résultats de détection d’objets dans des graphiques à barres pour des mises à jour dynamiques.
    2. Facilité d’utilisation : une API et des fonctions simples facilitent l’implémentation et la visualisation des données.
    3. Personnalisation : personnalise les titres, les étiquettes, les couleurs et bien plus encore pour répondre à tes besoins spécifiques.
    4. Efficacité : gère efficacement de grandes quantités de données et mets à jour les graphiques en temps réel pendant le traitement vidéo.

    Pour générer un graphique à barres, définis analytics_type="bar" dans l’exemple Python ci-dessus ; le reste de la boucle sur les images est identique. Consulte la section Exemples visuels pour voir un aperçu.

  • Ultralytics YOLO26 est un excellent choix pour créer des diagrammes circulaires, car :

    1. Intégration à la détection d’objets : intègre directement les résultats de détection d’objets dans des diagrammes circulaires pour obtenir immédiatement des informations pertinentes.
    2. API conviviale : elle est simple à configurer et à utiliser avec un minimum de code.
    3. Personnalisation : diverses options de personnalisation sont disponibles pour les couleurs, les étiquettes et bien plus encore.
    4. Mises à jour en temps réel : gère et visualise les données en temps réel, ce qui est idéal pour les projets d’analyse vidéo.

    Pour générer un diagramme circulaire, définis analytics_type="pie" dans l’exemple Python ci-dessus. Pour plus d’informations, consulte la section Exemples visuels du guide.

  • Oui. Le suivi est intégré à la solution Analytics : elle suit plusieurs objets en temps réel et met à jour le graphique à partir des données des objets suivis à chaque image. Ainsi, les graphiques en courbes, les graphiques à barres, les diagrammes circulaires et les graphiques en aires reflètent tous les décomptes en direct. C’est exactement ce que fait la boucle sur les images dans l’exemple Python ci-dessus. Pour en savoir plus sur la fonctionnalité de suivi sous-jacente, consulte la section Suivi.

  • Ultralytics YOLO26 se distingue des autres solutions de détection d’objets comme OpenCV et TensorFlow pour plusieurs raisons :

    1. Précision de pointe : YOLO26 offre une précision supérieure pour les tâches de détection d’objets, de segmentation d’instances, de segmentation sémantique et de classification.
    2. Facilité d’utilisation : une API conviviale permet une implémentation et une intégration rapides sans nécessiter de programmation approfondie.
    3. Performances en temps réel : optimisé pour l’inférence à haute vitesse, il convient aux applications en temps réel.
    4. Applications variées : prend en charge le suivi de plusieurs objets, l’entraînement de modèles personnalisés et l’exportation vers différents formats comme ONNX, TensorRT et CoreML.
    5. Documentation complète : une documentation étendue et des ressources de blog pour guider les utilisateurs à chaque étape.

    Pour des comparaisons et des cas d’utilisation plus détaillés, explore notre blog Ultralytics.

Commentaires