Passer au contenu

Visualisation avancée des données : Cartes thermiques utilisant Ultralytics YOLO11 🚀

Introduction aux cartes thermiques

Ouvrir les cartes thermiques dans Colab

Une carte thermique générée avec Ultralytics YOLO11 transforme des données complexes en une matrice vibrante à code couleur. Cet outil visuel utilise un spectre de couleurs pour représenter différentes valeurs de données, où les teintes plus chaudes indiquent des intensités plus élevées et les tons plus froids signifient des valeurs plus basses. 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 engageante de l'interprétation des données dans divers domaines.



Regarder : Cartes thermiques utilisant Ultralytics YOLO11

Pourquoi choisir les cartes thermiques pour l'analyse de 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, convertissant des ensembles de données complexes en formats visuels faciles à comprendre.
  • Détection efficace de motifs : En visualisant les données sous forme de carte thermique, il devient plus facile de repérer les tendances, les regroupements et les valeurs aberrantes, ce qui facilite l'analyse et les informations plus rapidement.
  • Analyse Spatiale et Prise de Décision Améliorées : Les cartes thermiques sont essentielles pour illustrer les relations spatiales, ce qui facilite les processus de prise de décision dans des secteurs tels que la veille économique, les études environnementales et l'urbanisme.

Applications concrètes

Transport Vente au détail
Carte de chaleur des transports Ultralytics YOLO11 Carte de chaleur de vente au détail Ultralytics YOLO11
Carte de chaleur des transports Ultralytics YOLO11 Carte de chaleur de vente au détail Ultralytics YOLO11

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 Par défaut Description
model str None Chemin d'accès au fichier de modèle Ultralytics YOLO.
colormap int cv2.COLORMAP_JET Palette de couleurs à utiliser pour la carte thermique.
show_in bool True Indicateur pour contrôler l'affichage des comptes entrants sur le flux vidéo.
show_out bool True Indicateur pour contrôler l'affichage des comptes sortants 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 arguments dans le Heatmap solution.

Argument Type Par 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 basses permettent de suivre plus d'objets, mais peuvent inclure de faux positifs.
iou float 0.5 Définit le seuil Intersection sur Union (IoU) pour filtrer les détections qui se chevauchent.
classes list None Filtre les résultats par index de classe. Par exemple, classes=[0, 2, 3] suit uniquement les classes spécifiées.
verbose bool True Contrôle l'affichage des résultats de suivi, fournissant une sortie visuelle des objets suivis.
device str None Spécifie le périphérique pour l'inférence (par exemple, cpu, cuda:0 ou 0). Permet aux utilisateurs de choisir entre le CPU, un GPU spécifique ou d'autres périphériques de calcul pour l'exécution du modèle.

De plus, les arguments de visualisation pris en charge sont énumérés ci-dessous :

Argument Type Par défaut Description
show bool False Si True, affiche les images ou vidéos annotées dans une fenêtre. Utile pour un retour 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 englobantes. Si None, la largeur de ligne est automatiquement ajustée en fonction de la taille de l'image. Fournit une personnalisation visuelle pour plus de clarté.
show_conf bool True Affiche le score de confiance pour chaque détection à côté de l'étiquette. Donne un aperçu de la certitude du modèle pour chaque détection.
show_labels bool True Affiche les étiquettes pour chaque détection dans la sortie visuelle. Fournit une compréhension immédiate des objets détectés.

COLORMAPs de carte thermique

Nom de la palette de couleurs Description
cv::COLORMAP_AUTUMN Palette de couleurs d'automne
cv::COLORMAP_BONE Palette de couleurs osseuse
cv::COLORMAP_JET Palette de couleurs Jet
cv::COLORMAP_WINTER Palette de couleurs d'hiver
cv::COLORMAP_RAINBOW Palette de couleurs arc-en-ciel
cv::COLORMAP_OCEAN Carte de couleurs de l'océan
cv::COLORMAP_SUMMER Palette de couleurs d'été
cv::COLORMAP_SPRING Palette de couleurs de printemps
cv::COLORMAP_COOL Palette de couleurs froides
cv::COLORMAP_HSV Carte de couleurs HSV (Teinte, Saturation, Valeur)
cv::COLORMAP_PINK Carte de couleurs rose
cv::COLORMAP_HOT Palette de couleurs chaudes
cv::COLORMAP_PARULA Palette de couleurs Parula
cv::COLORMAP_MAGMA Palette de couleurs Magma
cv::COLORMAP_INFERNO Palette de couleurs Inferno
cv::COLORMAP_PLASMA Palette de couleurs Plasma
cv::COLORMAP_VIRIDIS Palette de couleurs Viridis
cv::COLORMAP_CIVIDIS Carte de couleurs Cividis
cv::COLORMAP_TWILIGHT Palette de couleurs Twilight
cv::COLORMAP_TWILIGHT_SHIFTED Palette de couleurs Crépuscule décalé
cv::COLORMAP_TURBO Palette de couleurs Turbo
cv::COLORMAP_DEEPGREEN Palette de couleurs vert foncé

Ces palettes de couleurs sont couramment utilisées pour visualiser des données avec différentes représentations de couleurs.

Comment fonctionnent les cartes thermiques dans Ultralytics YOLO11

La solution Heatmap dans Ultralytics YOLO11 étend la classe ObjectCounter pour générer et visualiser les schémas de mouvement dans les flux vidéo. Lors de l'initialisation, la solution crée une couche de heatmap vierge qui est mise à jour lorsque les objets se déplacent dans le cadre.

Pour chaque objet détecté, la solution :

  1. Suit l'objet à travers les trames en utilisant les capacités de suivi de YOLO11
  2. Met à jour l'intensité de la carte thermique à l'emplacement de l'objet
  3. Applique une palette de couleurs sélectionnée pour visualiser les valeurs d'intensité
  4. Superpose la carte thermique colorée sur la trame originale

Le résultat est une visualisation dynamique qui s'accumule au fil du temps, révélant les schémas de circulation, les 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 sont leurs avantages ?

Ultralytics YOLO11 génère des cartes thermiques en transformant des données complexes en une matrice à code couleur où différentes teintes représentent les intensités des données. Les cartes thermiques facilitent la visualisation des modèles, des corrélations et des anomalies dans les données. Les teintes plus chaudes indiquent des valeurs plus élevées, tandis que les tons plus froids représentent des valeurs plus faibles. Les principaux avantages comprennent la visualisation intuitive de la distribution des données, la détection efficace des modèles et l'analyse spatiale améliorée 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 le suivi d'objets 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. Cela peut être réalisé grâce à sa Heatmap solution intégrée aux modèles de suivi d'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 Tracking Mode.

Qu'est-ce qui différencie les cartes thermiques Ultralytics YOLO11 des autres outils de visualisation de données comme ceux d'OpenCV ou Matplotlib ?

Les cartes thermiques Ultralytics YOLO11 sont spécialement conçues pour être intégrées à ses modèles de détection d'objets et de suivi, offrant 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, les cartes thermiques YOLO11 sont optimisées pour la performance et le traitement automatisé, prenant en charge des fonctionnalités telles que le suivi persistant, l'ajustement du facteur de dégradation et la superposition vidéo en temps réel. Pour plus d'informations sur les fonctionnalités uniques de YOLO11, consultez l'introduction à Ultralytics YOLO11.

Comment puis-je visualiser uniquement des classes d’objets spécifiques dans les cartes thermiques à l’aide d’Ultralytics YOLO11 ?

Vous pouvez visualiser des classes d'objets spécifiques en spécifiant les classes souhaitées dans le track() méthode du modèle YOLO. Par exemple, si vous souhaitez uniquement visualiser les voitures et les personnes (en supposant que leurs indices de classe sont 0 et 2), vous pouvez définir le classes paramètre 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 l'analyse de données ?

Ultralytics YOLO11 offre une intégration transparente de la détection d'objets avancée et de la génération de cartes thermiques en temps réel, ce qui en fait un choix idéal pour les entreprises cherchant à visualiser les données plus efficacement. Les principaux avantages comprennent la visualisation intuitive de la distribution des données, la détection efficace des motifs et l'analyse spatiale améliorée pour une meilleure prise de décision. De plus, les fonctionnalités de pointe de YOLO11, telles que le suivi persistant, les palettes de couleurs personnalisables et la prise en charge de divers formats d'exportation, le rendent supérieur à d'autres outils comme TensorFlow et OpenCV pour une analyse complète des données. Pour en savoir plus sur les applications commerciales, consultez les Plans Ultralytics.



📅 Créé il y a 1 an ✏️ Mis à jour il y a 4 mois

Commentaires