En cliquant sur "Accepter tous les cookies", vous acceptez que des cookies soient stockés sur votre appareil afin d'améliorer la navigation sur le site, d'analyser l'utilisation du site et de nous aider dans nos efforts de marketing. Plus d'informations
Paramètres des cookies
En cliquant sur "Accepter tous les cookies", vous acceptez que des cookies soient stockés sur votre appareil afin d'améliorer la navigation sur le site, d'analyser l'utilisation du site et de nous aider dans nos efforts de marketing. Plus d'informations
Apprenez à transformer des données provenant d'applications de vision par ordinateur en graphiques faciles à comprendre à l'aide du paquetage Python Ultralytics pour une meilleure compréhension.
Chaque minute, d'énormes quantités de données sont créées, depuis les terminaux d'aéroports et les gares jusqu'aux centres commerciaux. Avec la généralisation de l'IA, une grande partie de ces données est désormais analysée et décomposée. Mais parfois, les résultats de ces modèles d'IA peuvent rendre difficile la détection de modèles ou la compréhension des tendances en un coup d'œil. C'est là que la visualisation des données est utile : elle transforme des résultats complexes en informations claires et faciles à comprendre.
C'est particulièrement vrai lorsqu'il s'agit d'applications de vision par ordinateur. La vision par ordinateur est une branche de l'intelligence artificielle (IA) qui aide les machines à interpréter et à comprendre les informations visuelles du monde environnant, telles que les images et les vidéos. Alors que les modèles de vision artificielle, comme Ultralytics YOLO11, peuvent aider à analyser ces données visuelles pour obtenir des informations, la visualisation des données aide à mettre ces informations dans un format facile à comprendre.
En termes simples, la visualisation des données comble le fossé entre les données brutes et la compréhension réelle en utilisant des graphiques analytiques significatifs. Dans le monde actuel axé sur les données, cet aspect est essentiel, car il ne suffit pas que les machines exécutent des tâches - nous avons besoin qu'elles racontent une histoire.
Ce besoin de raconter des histoires est précisément la raison pour laquelle la visualisation des données est en plein essor, le marché devant atteindre 18,36 milliards de dollars d' ici à 2030. Précédemment, nous avons exploré la manière dont la vision par ordinateur peut fournir des informations commerciales précieuses. Aujourd'hui, nous allons aller plus loin en expliquant comment générer des graphiques analytiques clairs et pertinents pour les applications de vision par ordinateur à l'aide du logiciel Ultralytics. C'est parti !
Fig. 1. Exemple de visualisation de données basée sur les résultats de YOLO11.
Vue d'ensemble de la visualisation des données dans les applications de vision par ordinateur
La visualisation des données dans les applications de vision par ordinateur consiste à transformer les résultats des tâches de vision par ordinateur, telles que la détection et le suivi d'objets, en graphiques ou tableaux de bord faciles à comprendre. Ces visuels permettent d'identifier des modèles et des tendances, en particulier lorsque l'on travaille avec de grands volumes de séquences vidéo.
Par exemple, au lieu d'examiner manuellement des heures de vidéo surveillance, un simple graphique linéaire montrant le nombre de voitures ou de personnes détectées au fil du temps peut rapidement mettre en évidence les heures de pointe ou les périodes anormalement calmes.
Voici quelques raisons essentielles pour lesquelles la visualisation des données est utile :
Simplifier les données complexes : Des milliers de détections d'objets peuvent être accablantes, mais les visualisations telles que les diagrammes à barres ou les diagrammes circulaires facilitent la vue d'ensemble, par exemple, les objets qui apparaissent le plus fréquemment.
Révéler les tendances: Les graphiques linéaires et à barres permettent d'identifier les tendances au fil du temps, par exemple quand et où le trafic piétonnier a tendance à augmenter.
Gain de temps : Au lieu d'examiner chaque image de la vidéo, les graphiques peuvent rapidement mettre en évidence les détails importants, comme les pics soudains d'activité des véhicules ou les apparitions d'objets inhabituels dans les zones réglementées.
Améliore la communication : Les visuels facilitent le partage des informations avec des publics non techniques et permettent à chacun de mieux comprendre les résultats.
Différents types de visualisation de données
Différents types de graphiques analytiques permettent de transformer les résultats de la vision par ordinateur en images claires et faciles à comprendre. Supposons que vous travailliez sur une application de vision artificielle qui détecte les personnes et les véhicules dans les vidéos de surveillance. Dans ce cas, un graphique linéaire est idéal pour montrer comment le nombre de détections évolue dans le temps, comme pour suivre les pics de fréquentation tout au long de la journée.
De même, les diagrammes à barres sont utiles pour comparer le nombre de types d'objets détectés, par exemple pour déterminer si la vidéo contient plus de voitures, de vélos ou de piétons. Les diagrammes circulaires, quant à eux, indiquent le pourcentage de chaque type d'objet par rapport au nombre total de détections. Chaque graphique a sa propre utilité et permet de faciliter l'interprétation et le partage de données de vision industrielle complexes.
Générer des graphiques analytiques pour obtenir des informations sur la vision par ordinateur
Maintenant que nous avons exploré ce qu'est la visualisation de données et pourquoi les différents types de graphiques analytiques sont importants, regardons de plus près comment utiliser la solution Ultralytics Analytics pour visualiser les résultats des prédictions de votre modèle de vision par ordinateur. Avant de suivre le processus étape par étape, examinons les outils et les options de configuration pour la formation et l'utilisation du progiciel Ultralytics et de modèles tels que YOLO11.
Le package Ultralytics Python facilite l'entraînement des modèles, la détection des objets, l'exécution des prédictions et la visualisation des résultats. Pour commencer, vous aurez besoin d'un environnement de codage. Voici trois options simples :
Interface de ligne de commande (CLI): Il s'agit d'un outil de base, uniquement textuel, dans lequel vous pouvez saisir des commandes pour exécuter votre code. Elle n'a pas d'interface visuelle et vous interagissez avec elle en tapant des instructions dans un terminal ou une invite de commande.
Jupyter Notebooks: Il s'agit d'un environnement de codage interactif dans lequel vous pouvez écrire, exécuter et tester de petits morceaux de code (appelés "cellules") un par un. Les résultats sont affichés directement sous chaque cellule, ce qui permet de comprendre facilement ce qui se passe étape par étape. Il est particulièrement utile pour l'apprentissage et l'expérimentation.
Google Colab: Cette option est une version gratuite de Jupyter Notebooks, basée sur le cloud, qui s'exécute dans votre navigateur web. Elle ne nécessite aucune installation sur votre ordinateur et vous donne accès à des GPU gratuits pour un traitement plus rapide.
Ces outils sont parfaits pour démarrer rapidement, mais les utilisateurs peuvent également intégrer Ultralytics dans des environnements de développement intégrés (IDE) tels que Visual Studio Code (VS Code) ou dans des pipelines de production. Pour plus d'options, consultez la documentation officielle d'Ultralytics.
Étape 1 : Mise en place de l'environnement
Une fois que vous avez choisi votre environnement préféré, l'étape suivante consiste à le configurer pour l'exécution des prédictions et la visualisation des résultats. Vous pouvez utiliser n'importe lequel des environnements mentionnés ci-dessus, en fonction de ce avec quoi vous êtes le plus à l'aise.
Si vous travaillez dans Google Colab, n'oubliez pas qu'il utilise par défaut un processeur, ce qui peut ralentir les performances. Pour accélérer les choses, passez au GPU en allant dans le menu "Runtime", en sélectionnant "Change runtime type" et en réglant l'accélérateur matériel sur GPU (idéalement un T4).
Pour préparer votre environnement, vous devez installer le paquetage Ultralytics Python à l'aide de la commande mentionnée ci-dessous. Dans les outils de type notebook comme Colab ou Jupyter, veillez à ajouter un point d'exclamation ( !) avant la commande.
pip install ultralytics
Étape 2 : Téléchargement d'un fichier vidéo
Ensuite, nous aurons besoin d'une vidéo pour travailler. Vous pouvez facilement en télécharger une à partir d'un site de stock gratuit comme Pexels. Veillez à choisir une vidéo qui contient des objets que YOLO11 peut détecter. Le modèle ayant été entraîné sur l'ensemble de données COCO, il peut reconnaître des objets courants tels que des personnes, des voitures et des bicyclettes.
Pour ce tutoriel, nous utiliserons une vidéo de la manutention des bagages dans un terminal d'aéroport très fréquenté. Vous pouvez utiliser la même vidéo ou en choisir une autre qui corresponde à votre projet.
Fig. 3. Image de la vidéo d'entrée montrant la manutention des bagages dans un terminal d'aéroport.
Étape 3 : Importation des paquets
Ensuite, nous pouvons importer les bibliothèques nécessaires et charger la vidéo d'entrée.
Nous commencerons par importer OpenCV (cv2), une bibliothèque largement utilisée pour travailler avec des images et des vidéos dans le domaine de la vision par ordinateur. Nous importerons également la bibliothèque Ultralytics, qui nous aide à effectuer la détection d'objets et à générer des analyses à partir de la vidéo.
Ensuite, nous essaierons d'ouvrir le fichier vidéo en spécifiant son chemin d'accès. Veillez à remplacer "chemin/vers/video.mp4" par l'emplacement réel du fichier vidéo téléchargé.
De plus, l'extrait de code ci-dessous comprend une simple vérification pour s'assurer que la vidéo se charge correctement. Si le chemin d'accès est incorrect ou si le fichier est corrompu, le programme s'arrête et affiche un message d'erreur : "Erreur de lecture du fichier vidéo".
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
Étape 4 : Préparation de l'auteur de la vidéo
Ensuite, nous mettrons en place un graveur vidéo pour enregistrer le résultat. Lorsque nous lançons l'analyse, cette partie du code crée un nouveau fichier vidéo qui enregistre les graphiques actualisés générés à partir de chaque image de la vidéo d'origine.
Dans l'extrait de code ci-dessous, nous commençons par extraire les principales propriétés de la vidéo d'entrée : sa largeur, sa hauteur et son nombre d'images par seconde (ips). Ces valeurs sont extraites directement de la vidéo et converties en nombres entiers afin de s'assurer qu'elles sont dans le bon format pour l'écriture de la sortie.
Ensuite, nous utilisons la fonction cv2.VideoWriter pour créer un nouveau fichier vidéo, nommé "analytics_output.avi" (vous pouvez le renommer si nécessaire). La vidéo est enregistrée au format MJPG, qui est une méthode de compression vidéo courante. La résolution de sortie est fixée à 1280×720 pixels, quelle que soit la taille de la vidéo originale.
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
out = cv2.VideoWriter(
"analytics_output.avi",
cv2.VideoWriter_fourcc(*"MJPG"),
fps,
(1280, 720),
)
Étape 5 : Mise en place de la solution Ultralytics Analytics
Nous allons maintenant configurer la solution Ultralytics Analytics pour qu'elle génère des graphiques à partir de la vidéo. Vous pouvez choisir le mode d'affichage des données (diagramme linéaire, circulaire, de surface ou à barres) et le modèle YOLO à utiliser. Dans cet exemple, nous utiliserons le modèle léger "yolo11n.pt" et afficherons les résultats sous la forme d'un graphique de surface.
La dernière partie du code exécute une boucle qui traite la vidéo image par image. Chaque image est transmise à l'outil d'analyse, qui met à jour le graphique en temps réel. Le graphique mis à jour est ensuite écrit sur la vidéo de sortie. Si une image ne peut être lue, la boucle s'arrête. Une fois toutes les images traitées, la vidéo est enregistrée et toutes les fenêtres ouvertes sont fermées.
Enfin, assemblons le tout. Avec quelques lignes de code supplémentaires, nous pouvons générer deux vidéos de sortie : l'une montrant les résultats de la détection d'objets de YOLO11 avec des boîtes de délimitation et des étiquettes, et l'autre montrant les graphiques d'analyse en temps réel.
Pour ce faire, nous allons mettre en place deux instances VideoWriter, l'une pour enregistrer la vidéo de prédiction et l'autre pour les analyses. Cette version du code inclut à la fois le suivi des objets et la génération de graphiques, afin que vous puissiez voir les résultats de la détection en même temps que les informations visuelles.
Voici le code complet ainsi que des exemples de prédictions et d'analyses.
Lorsque le code ci-dessus s'exécute correctement, il génère deux vidéos de sortie. Le fichier "output_predictions.avi" montrera les résultats de la détection d'objets avec des boîtes de délimitation et des étiquettes, tandis que "output_analytics.avi" affichera les graphiques d'analyse en temps réel basés sur les détections.
Fig. 4. Une image du fichier "output_predictions.avi".
Voici une image de la sortie analytique basée sur les prédictions. En utilisant le diagramme de zone, nous pouvons obtenir des informations telles que les fluctuations du nombre de valises au fil du temps, comme un pic autour de l'image 268, indiquant un mouvement de valise ou une activité dans cette partie de la vidéo.
Fig. 5. Les prédictions de YOLO11 visualisées sous forme d'un graphique de surface.
Utilisation des graphes dans les applications de vision par ordinateur dans le monde réel
Voici quelques applications réelles de vision par ordinateur où la visualisation des données a un impact significatif :
Santé: Les systèmes de vision par ordinateur peuvent surveiller l'activité des patients, les mouvements du personnel et l'utilisation des équipements en temps réel. Cela génère de grandes quantités de données visuelles qui, lorsqu'elles sont visualisées, peuvent révéler des schémas, tels que les pics d'occupation des patients ou les retards de réponse.
Commerce de détail et commerce électronique : L'IA de la vision peut être utilisée pour suivre les mouvements des clients, le temps passé devant les rayons et les interactions avec les produits. Les analyses visuelles, telles que les diagrammes à barres ou à secteurs, peuvent mettre en évidence les zones du magasin ou les articles qui reçoivent le plus d'attention, ce qui aide les détaillants à optimiser l'emplacement des produits et à améliorer les conversions.
Fabrication : Les caméras équipées de modèles de vision par ordinateur peuvent surveiller les chaînes de montage pour détecter les défauts, les infractions à la sécurité ou l'état de l'équipement. La visualisation des données peut montrer les tendances des types de défauts les plus courants ou mettre en évidence les périodes où les taux d'erreur sont les plus élevés, ce qui permet d'accélérer la prise de décision et la maintenance préventive.
Principaux enseignements
Avec le logiciel Ultralytics, vous pouvez facilement transformer des séquences vidéo en graphiques clairs et pertinents qui révèlent ce qui se passe, par exemple le nombre de personnes ou d'objets qui apparaissent au fil du temps. Au lieu d'examiner manuellement des heures de vidéo, vous pouvez générer des résumés visuels qui mettent en évidence des modèles et des tendances clés, ce qui vous permet d'agir rapidement. Que ce soit dans les hôpitaux, les magasins de détail ou les usines de fabrication, ces graphiques transforment les résultats complexes de l'IA en informations compréhensibles et utilisables par tous.