Ultralytics YOLO27 :
Get Started

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. Tu peux ainsi observer l’évolution du nombre d’objets au fil des images d’une vidéo. Ce guide présente quatre types de visualisation des données — les graphiques linéaires, les graphiques à barres, les diagrammes circulaires et les graphiques en aires — et explique comment passer de l’un à l’autre à l’aide d’exemples communs en Python et avec la CLI.



Regarder : Comment générer des graphiques analytiques avec Ultralytics | Graphiques linéaires, histogrammes, graphiques en aires et secteurs

Exemples visuels#

Graphique linéaireGraphique à barresDiagramme circulaire
Graphique linéaire 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 linéaires sont parfaits pour suivre l’évolution sur des périodes courtes ou longues et comparer les changements de plusieurs groupes sur une même période.
  • Les graphiques à barres conviennent à la comparaison de quantités entre différentes catégories et à la représentation des liens entre une catégorie et sa valeur numérique.
  • Les diagrammes circulaires permettent de représenter efficacement les proportions entre catégories et les parts d’un ensemble.
  • Les graphiques en aires remplissent la zone sous la ligne, ce qui permet de lire plus facilement d’un coup d’œil le nombre d’objets de chaque classe au fil du temps.

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 un graphique de 1280×720 (par défaut) que tu peux directement enregistrer dans une vidéo de sortie. Passe de "line" à "bar", "pie" ou "area" à l’aide d’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 qui présente 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.
figsizetuple[float, float](12.8, 7.2)Dimensions de la figure en pouces pour les graphiques Analytics ; (12.8, 7.2) affiche une image de 1280×720.
line_widthint2Épaisseur des lignes des boîtes, des points clés et des compteurs dessinés par la solution.
verboseboolTrueActive le journal de la solution pour chaque image, qui indique la forme de l'entrée, le nombre d'éléments par classe et la vitesse de traitement. L'appel de suivi reste toujours silencieux.

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

ArgumentTypeValeur par défautDescription
trackerstr'tracktrack.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 l'union (IoU) utilisé pour filtrer les détections qui se chevauchent.
classeslistNoneFiltre les résultats selon l'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 cible de l'image pour l'inférence : un entier pour une image carrée ou une paire (height, width). Les dimensions sont ajustées au stride du modèle.
max_detint300Nombre maximal de détections conservées par image avant le suivi, ce qui limite le nombre d'objets qu'une solution traite dans les scènes denses.
quantizeint or strNonePrécision de l'inférence : 16 (FP16) ou 32/non défini (FP32) pour les modèles PyTorch et TorchScript ; les autres formats utilisent la précision sélectionnée par leur artefact et leur environnement d'exécution. Remplace l'option obsolète 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#

Il est essentiel de savoir quand et comment utiliser les différents types de visualisation pour analyser efficacement les données. Les graphiques linéaires, les graphiques à barres et les diagrammes circulaires sont des outils fondamentaux qui peuvent t’aider à raconter l’histoire de tes données plus clairement et efficacement. La solution Analytics d’Ultralytics YOLO26 permet de générer facilement ces visualisations à partir des résultats de détection d’objets et de suivi, afin de t’aider à tirer des informations pertinentes de tes données visuelles.

FAQ#

  • Pour créer un graphique linéaire avec Ultralytics YOLO26 Analytics, suis ces étapes :

    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 vidéo et appelle la solution pour chaque image afin de mettre à jour le graphique linéaire 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 le graphique linéaire est le analytics_type par défaut.

  • Ultralytics YOLO26 offre plusieurs avantages pour créer des graphiques à barres :

    1. Visualisation des données en temps réel : intègre facilement les résultats de détection d’objets aux graphiques à barres pour les mettre à jour dynamiquement.
    2. Facilité d’utilisation : une API et des fonctions simples facilitent la mise en œuvre et la visualisation des données.
    3. Personnalisation : personnalise les titres, les libellés, les couleurs et bien plus encore selon tes besoins.
    4. Efficacité : traite 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 ne change pas. 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 aux diagrammes circulaires pour obtenir immédiatement des informations utiles.
    2. API conviviale : la configuration et l’utilisation sont simples et nécessitent peu de code.
    3. Personnalisation : de nombreuses options permettent de personnaliser les couleurs, les libellés et bien plus encore.
    4. Mises à jour en temps réel : traite 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 actualise le graphique à partir des données des objets suivis toutes les 30 images. Les graphiques linéaires, les graphiques à barres, les diagrammes circulaires et les graphiques en aires reflètent donc tous les nombres en direct. C’est exactement ce que fait la boucle sur les images de 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 : son API conviviale permet une mise en œuvre et une intégration rapides sans nécessiter beaucoup de code.
    3. Performances en temps réel : la solution est optimisée pour une inférence rapide et convient aux applications en temps réel.
    4. Applications variées : elle prend en charge le suivi de plusieurs objets, l’entraînement de modèles personnalisés et l’exportation vers différents formats tels que ONNX, TensorRT et CoreML.
    5. Documentation complète : une documentation détaillée et des ressources sur le blog accompagnent les utilisateurs à chaque étape.

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

Commentaires