Skip to content

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
Ultralytics YOLO11 Carte thermique des transports Ultralytics YOLO11 Carte thermique du commerce de détail

Cartes thermiques utilisant Ultralytics YOLO11 Exemple

# Run a heatmap example
yolo solutions heatmap show=True

# Pass a source video
yolo solutions heatmap source="path/to/video/file.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/file.mp4")
assert cap.isOpened(), "Error reading video file"
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
video_writer = cv2.VideoWriter("heatmap_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# In case you want to apply object counting + heatmaps, you can pass region points.
# region_points = [(20, 400), (1080, 400)]  # Define line points
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]  # Define region points
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360), (20, 400)]  # Define polygon points

# Init heatmap
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,  # If you want to do object counting with heatmaps, you can pass region_points
    # classes=[0, 2],  # If you want to generate heatmap for specific classes i.e person and car.
    # show_in=True,  # Display in counts
    # show_out=True,  # Display out counts
    # line_width=2,  # Adjust the line width for bounding boxes and text display
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    im0 = heatmap.generate_heatmap(im0)
    video_writer.write(im0)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

Arguments Heatmap()

Nom Type DĂ©faut Description
model str None Chemin d'accès au fichier modèle Ultralytics YOLO
colormap int cv2.COLORMAP_JET Carte de couleurs Ă  utiliser pour la carte thermique.
show bool False Indique si l'image doit être affichée avec la superposition de la carte thermique.
show_in bool True Affichage ou non du nombre d'objets entrant dans la région.
show_out bool True Affichage ou non du nombre d'objets sortant de la région.
region list None Points définissant la région de comptage (ligne ou polygone).
line_width int 2 Epaisseur des lignes utilisées pour le dessin.

Arguments model.track

Argument Type DĂ©faut Description
source str None Spécifie le répertoire source pour les images ou les vidéos. Prend en charge les chemins d'accès aux fichiers et les URL.
persist bool False Permet un suivi persistant des objets entre les images, en conservant les identifiants sur l'ensemble des séquences vidéo.
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.

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.

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/file.mp4")
heatmap = solutions.Heatmap(colormap=cv2.COLORMAP_PARULA, show=True, model="yolo11n.pt")

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    im0 = heatmap.generate_heatmap(im0)
    cv2.imshow("Heatmap", im0)
    if cv2.waitKey(1) & 0xFF == ord("q"):
        break

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/file.mp4")
heatmap = solutions.Heatmap(show=True, model="yolo11n.pt", classes=[0, 2])

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    im0 = heatmap.generate_heatmap(im0)
    cv2.imshow("Heatmap", im0)
    if cv2.waitKey(1) & 0xFF == ord("q"):
        break

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.

📅C réé il y a 1 an ✏️ Mis à jour il y a 17 jours

Commentaires