Meet YOLO26: next-gen vision AI.

Link to this sectionMappe di calore per il tracciamento di oggetti con Ultralytics YOLO26#

Apri le heatmap in Colab

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 region per 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#

TrasportiVendita al dettaglio
Overlay della mappa di calore Ultralytics YOLO che mostra la densità del traffico veicolareOverlay della mappa di calore Ultralytics YOLO che mostra il movimento dei clienti nel retail
Mappa di calore Ultralytics YOLO per i trasportiMappa 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:

Heatmap con 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)]"

Link to this sectionArgomenti di Heatmap()#

Ecco una tabella con gli argomenti di Heatmap:

ArgomentoTipoPredefinitoDescrizione
modelstrNonePercorso verso un file del modello Ultralytics YOLO.
colormapintcv2.COLORMAP_DEEPGREENColormap da utilizzare per la heatmap.
show_inboolTrueFlag per controllare se visualizzare i conteggi in ingresso sul flusso video.
show_outboolTrueFlag per controllare se visualizzare i conteggi in uscita sul flusso video.
regionlist o dictNonePunti 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.

ArgomentoTipoPredefinitoDescrizione
trackerstr'botsort.yaml'Specifica l'algoritmo di tracciamento da utilizzare. Opzioni integrate: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.1Imposta la soglia di confidenza per i rilevamenti; valori più bassi consentono di tracciare più oggetti ma possono includere falsi positivi.
ioufloat0.7Imposta la soglia di Intersection over Union (IoU) per filtrare i rilevamenti sovrapposti.
classeslistNoneFiltra i risultati per indice di classe. Ad esempio, classes=[0, 2, 3] traccia solo le classi specificate.
verboseboolTrueControlla la visualizzazione dei risultati di tracciamento, fornendo un output visivo degli oggetti tracciati.
devicestrNoneSpecifica 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:

ArgomentoTipoPredefinitoDescrizione
showboolFalseSe True, visualizza le immagini o i video annotati in una finestra. Utile per un feedback visivo immediato durante lo sviluppo o il test.
line_widthint or NoneNoneSpecifica 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_confboolTrueMostra il punteggio di confidenza per ogni rilevamento accanto all'etichetta. Fornisce informazioni sulla certezza del modello per ogni rilevamento.
show_labelsboolTrueMostra 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 colormapDescrizione
cv2.COLORMAP_AUTUMNMappa colori Autumn
cv2.COLORMAP_BONEMappa colori Bone
cv2.COLORMAP_JETMappa colori Jet
cv2.COLORMAP_WINTERMappa colori Winter
cv2.COLORMAP_RAINBOWMappa colori Rainbow
cv2.COLORMAP_OCEANMappa colori Ocean
cv2.COLORMAP_SUMMERMappa colori Summer
cv2.COLORMAP_SPRINGMappa colori Spring
cv2.COLORMAP_COOLMappa colori Cool
cv2.COLORMAP_HSVMappa colori HSV (Hue, Saturation, Value)
cv2.COLORMAP_PINKMappa colori Pink
cv2.COLORMAP_HOTMappa colori Hot
cv2.COLORMAP_PARULAMappa colori Parula
cv2.COLORMAP_MAGMAMappa colori Magma
cv2.COLORMAP_INFERNOMappa colori Inferno
cv2.COLORMAP_PLASMAMappa colori Plasma
cv2.COLORMAP_VIRIDISMappa colori Viridis
cv2.COLORMAP_CIVIDISMappa colori Cividis
cv2.COLORMAP_TWILIGHTMappa colori Twilight
cv2.COLORMAP_TWILIGHT_SHIFTEDMappa colori Twilight Shifted
cv2.COLORMAP_TURBOMappa colori Turbo
cv2.COLORMAP_DEEPGREENMappa 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:

  1. Il tracciamento YOLO26 rileva e segue ogni oggetto nel fotogramma
  2. 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.

Commenti