Améliorer les applications de vision par ordinateur avec des visualisations
Apprends à transformer les données des applications de vision par ordinateur en graphiques faciles à comprendre en utilisant le package Python d'Ultralytics pour de meilleures perspectives.

Chaque minute, d'énormes quantités de données sont créées, des terminaux d'aéroport et gares ferroviaires aux centres commerciaux. À mesure que l'IA devient plus répandue, 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 rendent difficile le repérage de modèles ou la compréhension des tendances en un coup d'œil. C'est là que la visualisation de données aide : 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 (IA) qui aide les machines à interpréter et à comprendre les informations visuelles du monde qui les entoure, comme les images et les vidéos. Bien que les modèles d'IA visuelle, comme Ultralytics YOLO11, puissent aider à analyser ces données visuelles pour obtenir des informations, la visualisation de données permet de présenter ces informations sous un format facile à comprendre.
En termes simples, la visualisation de données comble le fossé entre les données brutes et une réelle compréhension en utilisant des graphiques analytiques pertinents. Dans le monde actuel axé sur les données, c'est essentiel car il ne suffit pas que les machines accomplissent des tâches, nous avons besoin qu'elles racontent une histoire.
Ce besoin de narration est précisément la raison pour laquelle la visualisation de données est en plein essor, le marché étant en passe d'atteindre 18,36 milliards de dollars d'ici 2030. Précédemment, nous avons exploré comment 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 en utilisant le package Ultralytics. Commençons !

Fig 1. Un exemple de visualisation de données basée sur les sorties de YOLO11.
Link to this sectionUn aperçu de la visualisation de données dans les applications de vision par ordinateur#
La visualisation de données dans les applications de vision par ordinateur implique de 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 visuels aident à identifier des modèles et des tendances, surtout lors du traitement de gros volumes d'enregistrements vidéo.
Par exemple, au lieu de revoir manuellement des heures de 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 mettre en évidence les heures de pointe ou les périodes inhabituellement calmes.
Voici quelques raisons clés pour lesquelles la visualisation de données est utile :
-
Simplifie les données complexes : Des milliers de détections d'objets peuvent être écrasantes, mais des visualisations comme les graphiques à barres ou les diagrammes circulaires facilitent la vision d'ensemble, par exemple, quels objets apparaissent le plus fréquemment.
-
Révèle les tendances : Les graphiques linéaires et à barres aident à identifier les modèles au fil du temps, comme quand et où le trafic piétonnier a tendance à augmenter.
-
Gagne du temps : Au lieu de passer en revue chaque image d'une vidéo, les graphiques peuvent rapidement mettre en évidence des détails importants, comme des pics soudains d'activité des véhicules ou des apparitions inhabituelles d'objets dans des zones restreintes.
-
Améliore la communication : Les visuels facilitent le partage des informations avec des publics non techniques, aidant tout le monde à comprendre les résultats plus clairement.
Link to this sectionDifférents types de visualisations de données#
Différents types de graphiques analytiques peuvent transformer les résultats de vision par ordinateur en visuels clairs et faciles à comprendre. Disons que tu travailles sur une application de vision par ordinateur qui détecte les personnes et les véhicules dans les images de surveillance. Dans ce cas, un graphique linéaire est idéal pour montrer comment le nombre de détections change au fil du temps, comme le suivi des pics de trafic piétonnier tout au long de la journée.
De même, les graphiques à barres sont utiles lorsque tu souhaites comparer le nombre de différents types d'objets détectés, comme voir s'il y a plus de voitures, de vélos ou de piétons dans la vidéo. Les diagrammes circulaires, quant à eux, montrent quel pourcentage chaque type d'objet représente sur le total des détections. Chaque graphique a son propre usage et aide à rendre les données complexes de vision par ordinateur plus faciles à interpréter et à partager.

Fig 2. Exemples de graphiques analytiques.
Link to this sectionGé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 différents types de graphiques analytiques sont importants, examinons de plus près comment utiliser la solution d'analyse Ultralytics pour visualiser les résultats des prédictions de ton modèle de vision par ordinateur. Avant de parcourir le processus étape par étape, jetons un œil aux outils et aux options de configuration pour l'entraînement et l'utilisation du package Ultralytics et des modèles comme YOLO11.
Le package Python Ultralytics 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 avec, tu auras besoin d'un environnement de codage. Voici trois options simples :
-
Interface en ligne de commande (CLI) : C'est un outil de base, textuel uniquement, où tu peux taper des commandes pour exécuter ton code. Il n'a pas d'interface visuelle et tu interagis avec lui en tapant des instructions dans un terminal ou une invite de commande.
-
Jupyter Notebooks : C'est un environnement de codage interactif où tu peux écrire, exécuter et tester de petits morceaux de code (appelés "cellules") un par un. Il affiche les résultats directement sous chaque cellule, ce qui facilite la compréhension de ce qui se passe étape par étape. C'est particulièrement utile pour l'apprentissage et l'expérimentation.
-
Google Colab : Cette option est une version cloud gratuite de Jupyter Notebooks qui s'exécute dans ton navigateur web. Elle ne nécessite aucune installation sur ton ordinateur et te 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) comme Visual Studio Code (VS Code) ou dans des pipelines de production. Pour plus d'options, explore la documentation officielle d'Ultralytics.
Link to this sectionÉtape 1 : Configuration de l'environnement#
Une fois que tu as choisi ton environnement préféré, l'étape suivante consiste à le configurer pour exécuter les prédictions et visualiser les résultats. Tu peux utiliser n'importe lequel des environnements mentionnés ci-dessus, selon ce avec quoi tu es le plus à l'aise.
Si tu travailles dans Google Colab, garde à l'esprit qu'il utilise un CPU par défaut, ce qui peut ralentir les performances. Pour accélérer les choses, passe à un GPU en allant dans le menu "Exécution", en sélectionnant "Modifier le type d'exécution" et en réglant l'accélérateur matériel sur GPU (idéalement un T4).
Pour préparer ton environnement, tu devras installer le package Python Ultralytics en utilisant la commande mentionnée ci-dessous. Dans les outils basés sur les notebooks comme Colab ou Jupyter, assure-toi d'ajouter un point d'exclamation (!) avant la commande.
pip install ultralyticsLink to this sectionÉtape 2 : Téléchargement d'un fichier vidéo#
Ensuite, nous aurons besoin d'une vidéo avec laquelle travailler. Tu peux facilement en télécharger une depuis un site de stock gratuit comme Pexels. Assure-toi de choisir une vidéo qui inclut des objets que YOLO11 peut détecter. Puisque le modèle est pré-entraîné sur le dataset COCO, il peut reconnaître des objets courants tels que les personnes, les voitures et les vélos.
Pour ce tutoriel, nous utiliserons une vidéo de manutention de bagages dans un terminal d'aéroport animé. Tu peux utiliser la même vidéo ou en choisir une autre qui correspond à ton projet.

Fig 3. Une image de la vidéo d'entrée montrant la manutention des bagages dans un terminal d'aéroport.
Link to this sectionÉtape 3 : Importation des packages#
Ensuite, nous pouvons importer les bibliothèques nécessaires et charger la vidéo d'entrée.
Nous commencerons par importer OpenCV (cv2), qui est 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 à exécuter 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. Assure-toi de remplacer "path/to/video.mp4" par l'emplacement réel de ton fichier vidéo téléchargé.
De plus, l'extrait de code ci-dessous inclut une vérification simple pour s'assurer que la vidéo se charge correctement. Si le chemin est erroné 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"Link to this sectionÉtape 4 : Préparation de l'enregistreur vidéo#
Ensuite, nous configurerons un enregistreur vidéo pour enregistrer la sortie. Lorsque nous exécuterons 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 originale.
Dans l'extrait de code ci-dessous, nous extrayons d'abord les propriétés clés de la vidéo d'entrée : sa largeur, sa hauteur et ses images par seconde (fps). Ces valeurs sont prises directement de la vidéo et converties en entiers pour s'assurer qu'elles sont dans le bon format pour écrire la sortie.
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 en utilisant le format MJPG, qui est une méthode de compression vidéo courante. La résolution de sortie est fixée à 1280x720 pixels, indépendamment de 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),
)Link to this sectionÉtape 5 : Configuration de la solution d'analyse Ultralytics#
Maintenant, nous allons configurer la solution d'analyse Ultralytics pour générer des graphiques à partir de la vidéo. Tu peux choisir la manière dont les données sont affichées, comme un graphique linéaire, circulaire, en aires ou à barres, et quel 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",
)Link to this sectionÉtape 6 : Traitement de 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()Link to this sectionÉtape 7 : Tout assembler#
Enfin, assemblons 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 détection d'objets YOLO11 avec des boîtes englobantes et des étiquettes, et une autre montrant les graphiques d'analyse en temps réel.
Pour ce faire, nous configurerons deux instances VideoWriter, une pour enregistrer la vidéo de prédiction et une autre pour les analyses. Cette version du code inclut à la fois le suivi d'objets et la génération de graphiques, afin que tu puisses voir les résultats de détection aux côtés des informations visuelles.
Voici le code complet avec des exemples des sorties de prédiction et d'analyse.
import cv2
from ultralytics import YOLO, solutions
# Load model and video
model = YOLO('yolo11n.pt')
cap = cv2.VideoCapture('path/to/video.mp4')
assert cap.isOpened(), "Error opening video"
# Get properties
w, h = int(cap.get(3)), int(cap.get(4))
fps = cap.get(5)
analytics_res = (1280, 720)
# Writers for prediction and analytics videos
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)
# Analytics setup
analytics = solutions.Analytics(show=True, analytics_type="area", model='yolo11n.pt')
# Process frames
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()Lorsque le code ci-dessus s'exécute avec succès, il générera deux vidéos de sortie. Le fichier “output_predictions.avi” montrera les résultats de détection d'objets avec des boîtes englobantes 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 d'analyse basée sur les prédictions. En utilisant le graphique en aires, 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 valises ou une activité dans cette partie de la vidéo.

Fig 5. Prédictions YOLO11 visualisées sous forme de graphique en aires.
Link to this sectionUtilisation de graphiques dans des applications réelles de vision par ordinateur#
Voici quelques applications réelles de vision par ordinateur où la visualisation de données a un impact significatif :
-
Santé : Les systèmes de vision par ordinateur peuvent surveiller l'activité des patients, les déplacements du personnel et l'utilisation de l'équipement 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 modèles, comme les heures d'occupation maximale des patients ou les retards de réponse.
-
Commerce de détail et e-commerce : L'IA de vision peut être utilisée pour suivre les déplacements des clients, le temps passé devant les étagères et les interactions avec les produits. Les analyses visuelles comme les graphiques à barres ou les diagrammes circulaires peuvent mettre en évidence quelles zones du magasin ou quels articles reçoivent le plus d'attention, aidant les détaillants à optimiser le placement 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 violations de sécurité ou l'état de l'équipement. La visualisation de données peut montrer les tendances des types de défauts les plus courants ou mettre en évidence les périodes avec les taux d'erreur les plus élevés, permettant une prise de décision plus rapide et une maintenance préventive.
Link to this sectionPoints clés#
Avec le package Ultralytics, tu peux facilement transformer des séquences vidéo en graphiques clairs et pertinents qui révèlent ce qui se passe, comme le suivi du nombre de personnes ou d'objets apparaissant au fil du temps. Au lieu de revoir manuellement des heures de vidéo, tu peux générer des résumés visuels qui mettent en évidence les modèles et les tendances clés, ce qui facilite une réaction rapide. Que ce soit dans les hôpitaux, les magasins de détail ou les installations de fabrication, ces graphiques transforment des résultats d'IA complexes en informations que tout le monde peut comprendre et utiliser.
Tu souhaites en savoir plus sur l'IA ? Explore notre dépôt GitHub, connecte-toi avec notre communauté et consulte nos options de licence pour lancer ton projet de vision par ordinateur. Découvre plus d'innovations comme l'IA dans l'industrie manufacturière et la vision par ordinateur dans l'industrie logistique sur nos pages de solutions.






