Link to this sectionMappe di calore per il tracciamento di oggetti con Ultralytics YOLO26#
La soluzione Heatmap in Ultralytics YOLO26 traccia gli oggetti tra i fotogrammi video e sovrappone la loro intensità di movimento accumulata su ogni fotogramma, così che le aree trafficate brillino di colori caldi mentre quelle tranquille rimangano fredde. Basata sul tracciamento oggetti di YOLO26, trasforma qualsiasi video in una mappa di attività spaziale che rivela il flusso del traffico, il movimento della folla e le zone di sosta con una singola chiamata Python o comando CLI.
Watch: Heatmaps using Ultralytics YOLO26
Link to this sectionPerché usare le mappe di calore per l'analisi video?#
- Individua i pattern di attività a colpo d'occhio: L'intensità si accumula ovunque gli oggetti tracciati trascorrano del tempo, quindi le corsie ad alto traffico, gli scaffali popolari o i colli di bottiglia della folla risaltano senza bisogno di una revisione manuale fotogramma per fotogramma.
- Tracciamento integrato: La soluzione esegue internamente il rilevamento e il tracciamento di YOLO26, quindi non c'è una pipeline di tracciamento separata da configurare.
- Conteggio nel medesimo passaggio: Passa una
regionper contare gli oggetti che entrano ed escono da una zona mentre la mappa di calore si crea, combinando due attività di analisi in un'unica esecuzione.
Link to this sectionApplicazioni nel mondo reale#
| Trasporti | Vendita al dettaglio |
|---|---|
![]() | ![]() |
| Mappa di calore Ultralytics YOLO per i trasporti | Mappa di calore Ultralytics YOLO per il retail |
Link to this sectionCome generare mappe di calore con Ultralytics YOLO#
Esegui la soluzione Heatmap su una sorgente video dalla CLI o da Python. L'esempio Python scrive i fotogrammi elaborati in un file video di output:
# 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)]"Link to this sectionArgomenti di Heatmap()#
Ecco una tabella con gli argomenti di Heatmap:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
model | str | None | Percorso verso un file del modello Ultralytics YOLO. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Colormap da utilizzare per la heatmap. |
show_in | bool | True | Flag per controllare se visualizzare i conteggi in ingresso sul flusso video. |
show_out | bool | True | Flag per controllare se visualizzare i conteggi in uscita sul flusso video. |
region | list o dict | None | Punti che definiscono l'area di interesse, sotto forma di lista di tuple (x, y) o di dizionario che associa nomi di aree a liste di punti per aree multiple (solo per RegionCounter). Quando è None, le soluzioni che richiedono un'area utilizzano un valore predefinito. |
Puoi anche applicare diversi argomenti di track nella soluzione Heatmap.
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Specifica l'algoritmo di tracciamento da utilizzare. Opzioni integrate: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.1 | Imposta la soglia di confidenza per i rilevamenti; valori più bassi consentono di tracciare più oggetti ma possono includere falsi positivi. |
iou | float | 0.7 | Imposta la soglia di Intersection over Union (IoU) per filtrare i rilevamenti sovrapposti. |
classes | list | None | Filtra i risultati per indice di classe. Ad esempio, classes=[0, 2, 3] traccia solo le classi specificate. |
verbose | bool | True | Controlla la visualizzazione dei risultati di tracciamento, fornendo un output visivo degli oggetti tracciati. |
device | str | None | Specifica il dispositivo per l'inferenza (ad esempio, cpu, cuda:0 o 0). Consente agli utenti di scegliere tra CPU, una GPU specifica o altri dispositivi di calcolo per l'esecuzione del modello. |
Inoltre, gli argomenti di visualizzazione supportati sono elencati di seguito:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
show | bool | False | Se True, visualizza le immagini o i video annotati in una finestra. Utile per un feedback visivo immediato durante lo sviluppo o il test. |
line_width | int or None | None | Specifica la larghezza della linea dei bounding box. Se None, la larghezza della linea viene regolata automaticamente in base alla dimensione dell'immagine. Fornisce personalizzazione visiva per chiarezza. |
show_conf | bool | True | Mostra il punteggio di confidenza per ogni rilevamento accanto all'etichetta. Fornisce informazioni sulla certezza del modello per ogni rilevamento. |
show_labels | bool | True | Mostra le etichette per ogni rilevamento nell'output visivo. Offre una comprensione immediata degli oggetti rilevati. |
Link to this sectionMappe di colore per Heatmap#
L'argomento colormap accetta qualsiasi mappa di colore di OpenCV. Passa la costante dal modulo cv2, ad esempio colormap=cv2.COLORMAP_INFERNO:
| Nome della colormap | Descrizione |
|---|---|
cv2.COLORMAP_AUTUMN | Mappa colori Autumn |
cv2.COLORMAP_BONE | Mappa colori Bone |
cv2.COLORMAP_JET | Mappa colori Jet |
cv2.COLORMAP_WINTER | Mappa colori Winter |
cv2.COLORMAP_RAINBOW | Mappa colori Rainbow |
cv2.COLORMAP_OCEAN | Mappa colori Ocean |
cv2.COLORMAP_SUMMER | Mappa colori Summer |
cv2.COLORMAP_SPRING | Mappa colori Spring |
cv2.COLORMAP_COOL | Mappa colori Cool |
cv2.COLORMAP_HSV | Mappa colori HSV (Hue, Saturation, Value) |
cv2.COLORMAP_PINK | Mappa colori Pink |
cv2.COLORMAP_HOT | Mappa colori Hot |
cv2.COLORMAP_PARULA | Mappa colori Parula |
cv2.COLORMAP_MAGMA | Mappa colori Magma |
cv2.COLORMAP_INFERNO | Mappa colori Inferno |
cv2.COLORMAP_PLASMA | Mappa colori Plasma |
cv2.COLORMAP_VIRIDIS | Mappa colori Viridis |
cv2.COLORMAP_CIVIDIS | Mappa colori Cividis |
cv2.COLORMAP_TWILIGHT | Mappa colori Twilight |
cv2.COLORMAP_TWILIGHT_SHIFTED | Mappa colori Twilight Shifted |
cv2.COLORMAP_TURBO | Mappa colori Turbo |
cv2.COLORMAP_DEEPGREEN | Mappa colori Deep Green |
Link to this sectionCome funzionano le mappe di calore#
La soluzione Heatmap estende la classe ObjectCounter. Nel primo fotogramma elaborato, crea un livello di intensità vuoto che corrisponde alle dimensioni del fotogramma. Ogni fotogramma viene poi elaborato in due passaggi:
- Il tracciamento YOLO26 rileva e segue ogni oggetto nel fotogramma
- Per ogni oggetto tracciato, l'intensità della mappa di calore aumenta all'interno di una regione circolare centrata nel suo bounding box
Una volta per fotogramma, il livello di intensità accumulata viene normalizzato, colorato con la mappa di colore selezionata e miscelato con il fotogramma originale. L'overlay appare non appena viene tracciato almeno un oggetto; i fotogrammi senza oggetti tracciati vengono mostrati senza l'overlay della mappa di calore.
Il risultato è una visualizzazione dinamica che si sviluppa nel tempo, rivelando pattern di traffico, movimenti della folla o altri comportamenti spaziali nei tuoi dati video. Quando viene impostata una region, la soluzione conta anche gli oggetti che entrano ed escono da quella regione mentre la mappa di calore si crea.
Link to this sectionConclusione#
La soluzione Heatmap di Ultralytics YOLO26 trasforma i risultati del tracciamento degli oggetti in un intuitivo overlay di attività con poche righe di codice. Per approfondire, combinala con il conteggio degli oggetti, esplora le altre Soluzioni Ultralytics o leggi la documentazione sulla modalità di tracciamento sottostante.
Link to this sectionFAQ#
Link to this sectionCome genera mappe di calore da un video Ultralytics YOLO26?#
Ultralytics YOLO26 genera mappe di calore tracciando gli oggetti tra i fotogrammi video e accumulando un valore di intensità nella posizione di ciascun oggetto tracciato, quindi colorando il risultato e miscelandolo con il fotogramma originale. Le aree in cui gli oggetti appaiono frequentemente o si soffermano accumulano maggiore intensità e vengono renderizzate con colori più caldi. Per le opzioni di configurazione, fai riferimento alla sezione Heatmap() Argomenti.
Link to this sectionCome posso salvare l'output della mappa di calore in un file video?#
Usa cv2.VideoWriter di OpenCV e scrivi results.plot_im per ogni fotogramma elaborato, come mostrato nell'esempio principale. L'attributo plot_im contiene il fotogramma con l'overlay della mappa di calore già applicato.
Link to this sectionPosso combinare le mappe di calore con il conteggio degli oggetti?#
Sì. Passa un argomento region a Heatmap() con punti di una linea, un rettangolo o un poligono, e la soluzione conterà gli oggetti che entrano ed escono da quella regione mentre la mappa di calore si crea. I risultati restituiti includono in_count, out_count e i conteggi per classe. Vedi la guida al conteggio degli oggetti per i dettagli sulla configurazione della regione.
Link to this sectionCome posso visualizzare solo classi di oggetti specifiche nelle heatmap utilizzando Ultralytics YOLO26?#
Passa l'argomento classes a Heatmap() con gli indici delle classi che vuoi mantenere. Ad esempio, classes=[0, 2] crea la mappa di calore solo per persone e auto (indici classe COCO 0 e 2):
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
heatmap = solutions.Heatmap(show=True, model="yolo26n.pt", classes=[0, 2])
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
results = heatmap(im0)
cap.release()
cv2.destroyAllWindows()Link to this sectionCosa rende le heatmap di Ultralytics YOLO26 diverse da altri strumenti di visualizzazione dati come quelli di OpenCV o Matplotlib?#
Le mappe di calore di Ultralytics YOLO26 integrano rilevamento oggetti, tracciamento, accumulo di intensità e rendering dell'overlay in una singola chiamata, mentre strumenti generici come OpenCV o Matplotlib richiedono che tu costruisca quella pipeline da solo. La soluzione elabora flussi video in tempo reale e supporta il tracciamento persistente e mappe di colore personalizzabili immediatamente. Per dettagli sul modello sottostante, vedi la pagina del modello YOLO26.

