Visualisation avancée des données: Cartes thermiques à l'aide de Ultralytics YOLO11 🚀
Introduction aux cartes thermiques
Une carte thermique générée avec Ultralytics YOLO11 transforme des données complexes en une matrice vibrante, codée par couleur. Cet outil visuel utilise un spectre de couleurs pour représenter les différentes valeurs des données, les teintes plus chaudes indiquant des intensités plus élevées et les tons plus froids des valeurs plus faibles. Les cartes thermiques excellent dans la visualisation de modèles de données complexes, de corrélations et d'anomalies, offrant une approche accessible et attrayante de l'interprétation des données dans divers domaines.
Regarder : Cartes thermiques utilisant Ultralytics YOLO11
Pourquoi choisir les cartes thermiques pour l'analyse des données ?
- Visualisation intuitive de la distribution des données : Les cartes thermiques simplifient la compréhension de la concentration et de la distribution des données, en convertissant des ensembles de données complexes en formats visuels faciles à comprendre.
- Détection efficace des tendances : En visualisant les données sous forme de cartes thermiques, il est plus facile de repérer les tendances, les groupes et les valeurs aberrantes, ce qui accélère l'analyse et la compréhension.
- Amélioration de l'analyse spatiale et de la prise de décision : les cartes thermiques permettent d'illustrer les relations spatiales et de faciliter les processus de prise de décision dans des secteurs tels que l'intelligence économique, les études environnementales et l'urbanisme.
Applications dans le monde réel
Transport | Vente au détail |
---|---|
![]() |
![]() |
Ultralytics YOLO11 Carte thermique des transports | Ultralytics YOLO11 Carte thermique du commerce de détail |
Cartes thermiques utilisant Ultralytics YOLO
# Run a heatmap example
yolo solutions heatmap show=True
# Pass a source video
yolo solutions heatmap source="path/to/video.mp4"
# Pass a custom colormap
yolo solutions heatmap colormap=cv2.COLORMAP_INFERNO
# Heatmaps + object counting
yolo solutions heatmap region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]"
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("heatmap_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# For object counting with heatmap, you can pass region points.
# region_points = [(20, 400), (1080, 400)] # line points
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)] # rectangle region
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360), (20, 400)] # polygon points
# Initialize heatmap object
heatmap = solutions.Heatmap(
show=True, # display the output
model="yolo11n.pt", # path to the YOLO11 model file
colormap=cv2.COLORMAP_PARULA, # colormap of heatmap
# region=region_points, # object counting with heatmaps, you can pass region_points
# classes=[0, 2], # generate heatmap for specific classes i.e person and car.
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = heatmap(im0)
# print(results) # access the output
video_writer.write(results.plot_im) # write the processed frame.
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windows
Heatmap()
Arguments
Voici un tableau avec les Heatmap
arguments :
Argument | Type | Défaut | Description |
---|---|---|---|
model |
str |
None |
Chemin d'accès au fichier modèleYOLO d'Ultralytics . |
colormap |
int |
cv2.COLORMAP_JET |
Carte de couleurs à utiliser pour la carte thermique. |
show_in |
bool |
True |
Indicateur permettant de contrôler l'affichage du nombre d'entrées dans le flux vidéo. |
show_out |
bool |
True |
Indicateur permettant de contrôler l'affichage du nombre de sorties sur le flux vidéo. |
region |
list |
[(20, 400), (1260, 400)] |
Liste des points définissant la région de comptage. |
Vous pouvez également appliquer différents track
dans le Heatmap
solution.
Argument | Type | Défaut | Description |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
Spécifie l'algorithme de suivi à utiliser, par exemple, bytetrack.yaml ou botsort.yaml . |
conf |
float |
0.3 |
Définit le seuil de confiance pour les détections ; des valeurs plus faibles permettent de suivre plus d'objets mais peuvent inclure des faux positifs. |
iou |
float |
0.5 |
Définit le seuil d'intersection sur l'union (IoU) pour le filtrage des détections qui se chevauchent. |
classes |
list |
None |
Filtre les résultats par indice de classe. Par exemple, classes=[0, 2, 3] ne suit que les classes spécifiées. |
verbose |
bool |
True |
Contrôle l'affichage des résultats du suivi, fournissant une sortie visuelle des objets suivis. |
device |
str |
None |
Spécifie le dispositif d'inférence (par ex, cpu , cuda:0 ou 0 ). Permet aux utilisateurs de choisir entre CPU, un GPU spécifique ou d'autres dispositifs de calcul pour l'exécution du modèle. |
En outre, les arguments de visualisation soutenus sont énumérés ci-dessous :
Argument | Type | Défaut | Description |
---|---|---|---|
show |
bool |
False |
Si True affiche les images ou vidéos annotées dans une fenêtre. Utile pour un retour d'information visuel immédiat pendant le développement ou les tests. |
line_width |
None or int |
None |
Spécifie la largeur de ligne des boîtes de délimitation. Si les None La largeur de la ligne est automatiquement ajustée en fonction de la taille de l'image. Permet une personnalisation visuelle pour plus de clarté. |
Carte thermique COLORMAPs
Nom de la carte de couleurs | Description |
---|---|
cv::COLORMAP_AUTUMN |
Carte des couleurs d'automne |
cv::COLORMAP_BONE |
Carte des couleurs des os |
cv::COLORMAP_JET |
Carte des couleurs des jets |
cv::COLORMAP_WINTER |
Carte des couleurs de l'hiver |
cv::COLORMAP_RAINBOW |
Carte des couleurs de l'arc-en-ciel |
cv::COLORMAP_OCEAN |
Carte des couleurs de l'océan |
cv::COLORMAP_SUMMER |
Carte des couleurs de l'été |
cv::COLORMAP_SPRING |
Carte des couleurs du printemps |
cv::COLORMAP_COOL |
Carte des couleurs cool |
cv::COLORMAP_HSV |
Carte de couleurs HSV (teinte, saturation, valeur) |
cv::COLORMAP_PINK |
Carte en couleur rose |
cv::COLORMAP_HOT |
Carte des couleurs chaudes |
cv::COLORMAP_PARULA |
Carte des couleurs de Parula |
cv::COLORMAP_MAGMA |
Carte des couleurs du magma |
cv::COLORMAP_INFERNO |
Carte des couleurs de l'enfer |
cv::COLORMAP_PLASMA |
Carte des couleurs du plasma |
cv::COLORMAP_VIRIDIS |
Carte des couleurs de Viridis |
cv::COLORMAP_CIVIDIS |
Carte des couleurs de Cividis |
cv::COLORMAP_TWILIGHT |
Carte couleur du crépuscule |
cv::COLORMAP_TWILIGHT_SHIFTED |
Carte des couleurs du crépuscule décalé |
cv::COLORMAP_TURBO |
Carte des couleurs du turbo |
cv::COLORMAP_DEEPGREEN |
Carte des couleurs du vert profond |
Ces cartes de couleurs sont couramment utilisées pour visualiser des données avec différentes représentations colorées.
Comment fonctionnent les cartes thermiques dans Ultralytics YOLO11
La solution Heatmap d'Ultralytics YOLO11 étend la classe ObjectCounter pour générer et visualiser des modèles de mouvement dans les flux vidéo. Lors de l'initialisation, la solution crée une couche de carte thermique vierge qui est mise à jour au fur et à mesure que les objets se déplacent dans l'image.
Pour chaque objet détecté, la solution :
- Suivi de l'objet à travers les images en utilisant les capacités de suivi de YOLO11
- Met à jour l'intensité de la carte thermique à l'emplacement de l'objet
- Applique une carte de couleurs sélectionnée pour visualiser les valeurs d'intensité.
- Superposition de la carte thermique colorée sur le cadre original
Le résultat est une visualisation dynamique qui se construit au fil du temps, révélant des schémas de circulation, des mouvements de foule ou d'autres comportements spatiaux dans vos données vidéo.
FAQ
Comment Ultralytics YOLO11 génère-t-il des cartes thermiques et quels en sont les avantages ?
Ultralytics YOLO11 génère des cartes thermiques en transformant des données complexes en une matrice codée en couleur où les différentes teintes représentent l'intensité des données. Les cartes thermiques facilitent la visualisation des modèles, des corrélations et des anomalies dans les données. Les teintes chaudes indiquent des valeurs élevées, tandis que les teintes froides représentent des valeurs plus faibles. Les principaux avantages sont la visualisation intuitive de la distribution des données, la détection efficace des schémas et l'amélioration de l'analyse spatiale pour la prise de décision. Pour plus de détails et d'options de configuration, reportez-vous à la section Configuration de la carte thermique.
Puis-je utiliser Ultralytics YOLO11 pour effectuer un suivi d'objet et générer une carte thermique simultanément ?
Oui, Ultralytics YOLO11 prend en charge le suivi d'objets et la génération de cartes thermiques simultanément. Ceci peut être réalisé grâce à la fonction Heatmap
intégrée aux modèles de suivi des objets. Pour ce faire, vous devez initialiser l'objet heatmap et utiliser les capacités de suivi de YOLO11. Voici un exemple simple :
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
heatmap = solutions.Heatmap(colormap=cv2.COLORMAP_PARULA, show=True, model="yolo11n.pt")
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
results = heatmap(im0)
cap.release()
cv2.destroyAllWindows()
Pour plus d'informations, consultez la page Mode de suivi.
Qu'est-ce qui différencie Ultralytics YOLO11 heatmaps d'autres outils de visualisation de données comme ceux d'OpenCV ou de Matplotlib ?
Ultralytics YOLO11 sont spécifiquement conçues pour être intégrées à ses modèles de détection et de suivi d'objets, offrant ainsi une solution de bout en bout pour l'analyse de données en temps réel. Contrairement aux outils de visualisation génériques tels que OpenCV ou Matplotlib, YOLO11 heatmaps est optimisé pour les performances et le traitement automatisé, et prend en charge des fonctions telles que le suivi persistant, l'ajustement du facteur de décroissance et la superposition de vidéos en temps réel. Pour plus d'informations sur les caractéristiques uniques de YOLO11, visitez le site Ultralytics YOLO11 Introduction.
Comment puis-je visualiser uniquement des classes d'objets spécifiques dans les cartes thermiques à l'aide de Ultralytics YOLO11 ?
Vous pouvez visualiser des classes d'objets spécifiques en spécifiant les classes souhaitées dans le champ track()
du modèle YOLO . Par exemple, si vous ne souhaitez visualiser que les voitures et les personnes (en supposant que leurs indices de classe sont 0 et 2), vous pouvez définir le paramètre classes
en conséquence.
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
heatmap = solutions.Heatmap(show=True, model="yolo11n.pt", classes=[0, 2])
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
results = heatmap(im0)
cap.release()
cv2.destroyAllWindows()
Pourquoi les entreprises devraient-elles choisir Ultralytics YOLO11 pour la génération de cartes thermiques dans le cadre de l'analyse de données ?
Ultralytics YOLO11 offre une intégration transparente de la détection avancée d'objets et de la génération de cartes thermiques en temps réel, ce qui en fait un choix idéal pour les entreprises qui cherchent à visualiser les données de manière plus efficace. Les principaux avantages sont la visualisation intuitive de la distribution des données, la détection efficace des formes et l'analyse spatiale améliorée pour une meilleure prise de décision. En outre, les fonctionnalités de pointe de YOLO11, telles que le suivi persistant, les cartes de couleurs personnalisables et la prise en charge de divers formats d'exportation, le rendent supérieur à d'autres outils tels que TensorFlow et OpenCV pour une analyse complète des données. Pour en savoir plus sur les applications professionnelles, consultez le siteUltralytics Plans.