Améliorer les applications de vision par ordinateur grâce aux visualisations
Découvre comment transformer les données issues d’applications de vision par ordinateur en graphiques faciles à comprendre grâce au package Python d’Ultralytics, pour obtenir de meilleures informations.

Chaque minute, d’énormes quantités de données sont générées, des terminaux d’aéroport et des gares aux centres commerciaux. À mesure que l’IA se généralise, une grande partie de ces données est désormais analysée et traitée. Mais il arrive que les résultats de ces modèles d’IA rendent difficile le repérage des motifs 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 à assimiler.
C’est particulièrement vrai pour les applications de vision par ordinateur. La vision par ordinateur est une branche de l’intelligence artificielle (AI) qui aide les machines à interpréter et à comprendre les informations visuelles du monde qui les entoure, comme les images et les vidéos. Les modèles d’IA visuelle, comme Ultralytics YOLO11, peuvent analyser ces données visuelles pour en extraire des informations, tandis que la visualisation des données permet de les présenter dans un format facile à comprendre.
En bref, la visualisation des données fait le lien entre les données brutes et leur compréhension réelle à l’aide de graphiques analytiques pertinents. Dans le monde actuel, guidé par les données, c’est essentiel, car les machines ne doivent pas se contenter d’exécuter des tâches : nous devons aussi leur faire raconter une histoire.
Ce besoin de raconter des histoires explique précisément l’essor de la visualisation des données, dont le marché devrait atteindre 18,36 milliards de dollars d’ici 2030. Nous avons précédemment étudié la façon dont la vision par ordinateur peut fournir de précieux indicateurs commerciaux. Aujourd’hui, nous allons aller plus loin en expliquant comment générer des graphiques analytiques clairs et instructifs pour les applications de vision par ordinateur avec le package Ultralytics. C’est parti !

Fig. 1. Exemple de visualisation de données à partir des résultats de YOLO11.
Présentation 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, comme la détection et le suivi d’objets, en graphiques ou tableaux de bord faciles à comprendre. Ces représentations visuelles aident à repérer les motifs et les tendances, en particulier lorsqu’on travaille avec de grandes quantités de séquences vidéo.
Par exemple, au lieu de passer des heures à examiner manuellement des vidéos de surveillance, un simple graphique linéaire montrant le nombre de voitures ou de personnes détectées au fil du temps peut rapidement faire ressortir les heures de pointe ou les périodes inhabituellement calmes.
Voici quelques raisons essentielles pour lesquelles la visualisation des données est utile :
-
Simplifie les données complexes : Des milliers de détections d’objets peuvent être difficiles à appréhender, mais des visualisations comme les diagrammes à barres ou circulaires permettent de mieux saisir l’ensemble, par exemple en indiquant quels objets apparaissent le plus souvent.
-
Révèle les tendances : Les graphiques linéaires et à barres aident à repérer les motifs au fil du temps, par exemple quand et où la circulation piétonne tend à augmenter.
-
Fait gagner du temps : Au lieu d’examiner chaque image vidéo, les graphiques peuvent rapidement mettre en évidence des détails importants, comme une hausse soudaine de l’activité des véhicules ou l’apparition inhabituelle d’objets dans des zones interdites.
-
Améliore la communication : Les représentations visuelles facilitent le partage des résultats avec des publics non techniques et aident tout le monde à mieux les comprendre.
Différents types de visualisations de données#
Différents types de graphiques analytiques permettent de transformer les résultats de la vision par ordinateur en représentations visuelles claires et faciles à comprendre. Imaginons que tu travailles sur une application de vision par ordinateur qui détecte des personnes et des véhicules dans des images de vidéosurveillance. Dans ce cas, un graphique linéaire est idéal pour montrer l’évolution du nombre de détections au fil du temps, par exemple pour suivre les pics de circulation piétonne au cours de la journée.
De même, les diagrammes à barres sont utiles pour comparer le nombre de différents types d’objets détectés, par exemple pour voir si la vidéo montre plus de voitures, de vélos ou de piétons. Les diagrammes circulaires, quant à eux, indiquent la part que représente chaque type d’objet dans le total des détections. Chaque graphique a son utilité et contribue à rendre les données complexes de vision par ordinateur plus faciles à interpréter et à partager.

Fig. 2. Exemples de graphiques analytiques.
Générer des graphiques analytiques pour tirer des enseignements de la vision par ordinateur#
Maintenant que nous avons vu ce qu’est la visualisation des données et pourquoi les différents types de graphiques analytiques sont importants, examinons de plus près comment utiliser la solution Analytics d’Ultralytics pour visualiser les résultats des prédictions de ton modèle de vision par ordinateur. Avant de détailler la procédure étape par étape, découvrons les outils et les options de configuration pour entraîner et utiliser le package Ultralytics et des modèles comme YOLO11.
Le package Python Ultralytics facilite l’entraînement des modèles, la détection d’objets, l’exécution de prédictions et la visualisation des résultats. Pour commencer, tu auras besoin d’un environnement de programmation. Voici trois options simples :
-
Interface en ligne de commande (CLI) : C’est un outil de base, uniquement textuel, dans lequel tu peux saisir des commandes pour exécuter ton code. Il ne comporte pas d’interface visuelle et tu interagis avec lui en saisissant des instructions dans un terminal ou une invite de commandes.
-
Jupyter Notebooks : C’est un environnement de programmation interactif dans lequel tu peux écrire, exécuter et tester de petits blocs de code (appelés « cellules ») un par un. Les résultats s’affichent directement sous chaque cellule, ce qui permet de comprendre facilement ce qui se passe étape par étape. C’est particulièrement utile pour apprendre et expérimenter.
-
Google Colab : Cette option est une version gratuite de Jupyter Notebooks dans le cloud, qui s’exécute dans ton navigateur Web. Elle ne nécessite aucune configuration sur ton ordinateur et te donne accès à des GPU gratuits pour accélérer le traitement.
Ces outils sont parfaits pour démarrer rapidement, mais tu peux aussi intégrer Ultralytics à des environnements de développement intégrés (IDEs), comme Visual Studio Code (VS Code), ou à des pipelines de production. Pour découvrir d’autres options, consulte la documentation officielle d’Ultralytics.
Étape 1 : Configurer l’environnement#
Une fois que tu as choisi ton environnement, l’étape suivante consiste à le configurer pour exécuter des prédictions et visualiser les résultats. Tu peux utiliser n’importe lequel des environnements mentionnés ci-dessus, selon celui avec lequel tu es le plus à l’aise.
Si tu travailles dans Google Colab, n’oublie pas qu’il utilise un CPU par défaut, ce qui peut ralentir les performances. Pour accélérer les choses, passe à un GPU en ouvrant le menu « Runtime », en sélectionnant « Change runtime type » et en définissant l’accélérateur matériel sur GPU (idéalement un T4).
Pour préparer ton environnement, tu dois installer le package Python Ultralytics à l’aide de la commande ci-dessous. Dans les outils basés sur des notebooks, comme Colab ou Jupyter, veille à ajouter un point d’exclamation (!) avant la commande.
pip install ultralyticsÉtape 2 : Télécharger un fichier vidéo#
Ensuite, il te faut une vidéo sur laquelle travailler. Tu peux facilement en télécharger une depuis un site de vidéos libres de droits, comme Pexels. Choisis une vidéo contenant des objets qu’Ultralytics YOLO11 peut détecter. Comme le modèle a été préentraîné sur le jeu de données COCO, il peut reconnaître des objets courants comme les personnes, les voitures et les vélos.
Pour ce tutoriel, nous allons utiliser une vidéo de manutention des bagages dans un terminal d’aéroport très fréquenté. Tu peux utiliser la même vidéo ou en choisir une autre adaptée à ton projet.

Fig. 3. Une image de la vidéo d’entrée montrant la manutention des bagages dans un terminal d’aéroport.
Étape 3 : Importer les packages#
Ensuite, nous pouvons importer les bibliothèques nécessaires et charger la vidéo d’entrée.
Nous allons commencer par importer OpenCV (cv2), une bibliothèque largement utilisée pour travailler avec des images et des vidéos en 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 allons essayer d’ouvrir le fichier vidéo en indiquant son chemin. Veille à remplacer « path/to/video.mp4 » par l’emplacement réel du fichier vidéo téléchargé.
L’extrait de code ci-dessous comprend également une vérification simple pour s’assurer que la vidéo se charge correctement. Si le chemin est incorrect ou si le fichier est corrompu, le programme s’arrêtera et affichera un message d’erreur : « Error reading video file. »
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"Étape 4 : Préparer l’enregistreur vidéo#
Ensuite, nous allons configurer un enregistreur vidéo pour sauvegarder le résultat. Lorsque nous lancerons les analyses, cette partie du code créera un nouveau fichier vidéo qui enregistrera les graphiques mis à jour 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 propriétés essentielles de la vidéo d’entrée : sa largeur, sa hauteur et sa fréquence d’images par seconde (fps). Ces valeurs sont directement extraites de la vidéo et converties en nombres entiers afin de garantir leur compatibilité avec l’écriture du résultat.
Ensuite, nous utilisons la fonction cv2.VideoWriter pour créer un nouveau fichier vidéo nommé « analytics_output.avi » (tu peux le renommer si nécessaire). La vidéo est enregistrée au format MJPG, une méthode de compression vidéo courante. La résolution de sortie est définie sur 1280×720 pixels, quelle que soit la taille de la vidéo d’origine.
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 : Configurer la solution Analytics d’Ultralytics#
Nous allons maintenant configurer la solution Analytics d’Ultralytics pour générer des graphiques à partir de la vidéo. Tu peux choisir le mode d’affichage des données, sous forme de graphique linéaire, circulaire, en aires ou à barres, ainsi que le modèle YOLO à utiliser. Dans cet exemple, nous utiliserons le modèle léger « yolo11n.pt » et afficherons les résultats sous forme de graphique en aires.
analytics = solutions.Analytics(
show=True,
analytics_type="area",
model="yolo11n.pt",
)Étape 6 : Traiter la vidéo d’entrée#
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 dans la vidéo de sortie. Si une image ne peut pas ê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.
frame_count = 0
while cap.isOpened():
success, im0 = cap.read()
if success:
frame_count += 1
results = analytics(im0, frame_count)
out.write(results.plot_im)
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()Étape 7 : Tout assembler#
Enfin, assemblons le tout. Avec seulement 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 d’Ultralytics YOLO11 avec des boîtes englobantes et des étiquettes, et l’autre affichant les graphiques analytiques en temps réel.
Pour ce faire, nous allons configurer deux instances de VideoWriter : l’une pour enregistrer la vidéo de prédiction et l’autre pour les analyses. Cette version du code comprend le suivi d’objets et la génération de graphiques, afin que tu puisses voir les résultats de détection à côté des informations visuelles.
Voici le code complet, accompagné d’exemples des résultats de prédiction et d’analyse.
import cv2
from ultralytics import YOLO, solutions
# Charger le modèle et la vidéo
model = YOLO('yolo11n.pt')
cap = cv2.VideoCapture('path/to/video.mp4')
assert cap.isOpened(), "Error opening video"
# Obtenir les propriétés
w, h = int(cap.get(3)), int(cap.get(4))
fps = cap.get(5)
analytics_res = (1280, 720)
# Enregistreurs pour les vidéos de prédiction et d’analyse
out_pred = cv2.VideoWriter('output_predictions.avi', cv2.VideoWriter_fourcc(*'MJPG'), fps, (w, h))
out_ana = cv2.VideoWriter('output_analytics.avi', cv2.VideoWriter_fourcc(*'MJPG'), fps, analytics_res)
# Configuration des analyses
analytics = solutions.Analytics(show=True, analytics_type="area", model='yolo11n.pt')
# Traiter les images
frame_count = 0
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
frame_count += 1
pred_frame = model.track(frame, persist=True)[0].plot()
out_pred.write(pred_frame)
resized = cv2.resize(pred_frame, analytics_res)
out_ana.write(analytics(resized, frame_count).plot_im)
cap.release(), out_pred.release(), out_ana.release(), cv2.destroyAllWindows()Si le code ci-dessus s’exécute correctement, il générera deux vidéos de sortie. Le fichier « output_predictions.avi » affichera les résultats de détection d’objets avec des boîtes englobantes et des étiquettes, tandis que le fichier « output_analytics.avi » montrera les graphiques analytiques en temps réel établis à partir des détections.

Fig. 4. Une image du fichier « output_predictions.avi ».
Voici une image de la sortie analytique basée sur les prédictions. Le graphique en aires permet de tirer des enseignements, comme les fluctuations du nombre de valises au fil du temps. On observe, par exemple, un pic vers l’image 268, qui indique un mouvement ou une activité liés aux valises à ce moment de la vidéo.

Fig. 5. Prédictions d’Ultralytics YOLO11 représentées sous forme de graphique en aires.
Utiliser des graphiques dans des applications de vision par ordinateur du monde réel#
Voici quelques applications de vision par ordinateur du monde réel où la visualisation des données a un impact significatif :
-
Santé : Les systèmes de vision par ordinateur peuvent surveiller en temps réel l’activité des patients, les déplacements du personnel et l’utilisation du matériel. Cela génère de grandes quantités de données visuelles qui, une fois visualisées, peuvent révéler des tendances, comme les périodes de forte occupation des chambres ou les retards d’intervention.
-
Commerce de détail et commerce électronique : L’IA visuelle peut servir à suivre les déplacements des clients, le temps qu’ils passent devant les rayons et leurs interactions avec les produits. Les analyses visuelles, sous forme de diagrammes à barres ou circulaires, peuvent montrer quels rayons ou articles attirent le plus l’attention, aidant ainsi les commerçants à optimiser le placement des produits et à améliorer les conversions.
-
Industrie manufacturière : 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 aux règles de sécurité ou l’état des équipements. La visualisation des données peut montrer les tendances concernant les défauts les plus fréquents ou mettre en évidence les périodes où le taux d’erreur est le plus élevé, permettant ainsi de prendre des décisions plus rapidement et d’effectuer une maintenance préventive.
Points clés à retenir#
Avec le package Ultralytics, tu peux facilement transformer des séquences vidéo en graphiques clairs et instructifs qui révèlent ce qui se passe, par exemple en suivant le nombre de personnes ou d’objets visibles au fil du temps. Au lieu de passer des heures à examiner manuellement des vidéos, tu peux générer des synthèses visuelles qui mettent en évidence les principaux motifs et tendances, ce qui facilite une intervention rapide. Que ce soit dans les hôpitaux, les magasins ou les usines, ces graphiques transforment les résultats complexes de l’IA en informations que tout le monde peut comprendre et exploiter.
Tu veux en savoir plus sur l’IA ? Explore notre dépôt GitHub, échange avec notre communauté et consulte nos options de licence pour lancer ton projet de vision par ordinateur. Découvre les innovations comme l’IA dans l’industrie manufacturière et la vision par ordinateur dans le secteur de la logistique sur nos pages de solutions.










