Visualisation avancée des données : Cartes thermiques utilisant 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 à 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 |
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 :
- Suit l'objet à travers les trames en utilisant les capacités de suivi de YOLO11
- Met à jour l'intensité de la carte thermique à l'emplacement de l'objet
- Applique une palette de couleurs sélectionnée pour visualiser les valeurs d'intensité
- 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.