YOLO Vision 2026:

Mappe di calore per il tracciamento di oggetti con Ultralytics YOLO26#

Open Heatmaps In Colab

La soluzione Heatmap in Ultralytics YOLO26 traccia gli oggetti nei fotogrammi video e sovrappone la loro intensità di movimento accumulata su ciascun fotogramma, in modo che le aree affollate risplendano di colori caldi mentre quelle tranquille rimangano fredde. Basata sul tracciamento degli oggetti di YOLO26, trasforma qualsiasi video in una mappa di attività spaziale che rivela il flusso del traffico, il movimento delle folle e le zone di sosta con una singola chiamata Python o comando CLI.



Watch: Heatmaps using Ultralytics YOLO26

Perché 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 nello stesso passaggio: Passa un region per contare gli oggetti che entrano ed escono da una zona mentre la heatmap si crea, combinando due attività di analisi in un'unica esecuzione.

Applicazioni nel mondo reale#

TrasportiVendita al dettaglio
Sovrapposizione heatmap di Ultralytics YOLO che mostra la densità del traffico veicolareSovrapposizione heatmap di Ultralytics YOLO che mostra il movimento dei clienti al dettaglio
Mappa di calore Ultralytics YOLO per i trasportiMappa di calore Ultralytics YOLO per il retail

Come 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)]"

Argomenti 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 la regione di interesse, sia una lista di tuple (x, y) o un dizionario che associa i nomi delle regioni a liste di punti per più regioni (solo RegionCounter). Quando None, le soluzioni che richiedono una regione fanno ricorso a un valore predefinito.
line_widthint2Spessore della linea per i box, i keypoint e i conteggi disegnati dalla soluzione.
verboseboolTrueAbilita il registro per fotogramma della soluzione relativo a forma dell'input, conteggi delle classi e velocità di elaborazione. La chiamata di tracking in sé è sempre silenziosa.

Puoi anche applicare diversi argomenti 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.25Imposta la soglia di confidenza per i rilevamenti; valori più bassi consentono di tracciare più oggetti ma possono includere falsi positivi.
ioufloat0.7Imposta la soglia 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.
devicestrNoneSpecifica il dispositivo per l'inferenza (ad esempio, cpu, cuda:0 o 0). Consente agli utenti di scegliere tra CPU, una specifica GPU o altri dispositivi di calcolo per l'esecuzione del modello.

Inoltre, gli argomenti di visualizzazione supportati sono elencati di seguito:

ArgomentoTipoPredefinitoDescrizione
showboolFalseSe True, mostra le immagini o i video annotati in una finestra. Utile per un riscontro visivo immediato durante lo sviluppo o i test.
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.

Mappe di colore per Heatmap#

L'argomento colormap accetta qualsiasi mappa colori 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

Come funzionano le mappe di calore#

La soluzione Heatmap estende la classe ObjectCounter. Sul primo fotogramma elaborato crea un livello di intensità vuoto che corrisponde alle dimensioni del fotogramma. Ciascun fotogramma viene quindi elaborato in due fasi:

  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 di folle o altri comportamenti spaziali nei tuoi dati video. Quando viene impostato un region, la soluzione conta anche gli oggetti che entrano ed escono da quella regione mentre la heatmap si forma.

Conclusione#

La soluzione Ultralytics YOLO26 Heatmap trasforma i risultati del tracciamento degli oggetti in una sovrapposizione di attività intuitiva con poche righe di codice. Per andare oltre, combinala con il conteggio degli oggetti, esplora le altre Soluzioni Ultralytics o leggi la modalità di tracciamento sottostante.

FAQ#

  • Ultralytics YOLO26 genera heatmap tracciando gli oggetti tra i fotogrammi video e accumulando un valore di intensità nella posizione di ciascun oggetto tracciato, per poi colorizzare il risultato e fonderlo con il fotogramma originale. Le aree in cui gli oggetti compaiono frequentemente o si trattengono accumulano un'intensità maggiore e vengono renderizzate con colori più caldi. Per le opzioni di configurazione, fai riferimento alla sezione Argomenti di Heatmap().

  • 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 la sovrapposizione della heatmap già applicata.

  • Sì. Passa un argomento region a Heatmap() con punti di linee, rettangoli o poligoni, e la soluzione conterà gli oggetti che entrano ed escono da quella regione mentre la heatmap si sviluppa. I risultati restituiti includono in_count, out_count e i conteggi per classe. Consulta la guida al conteggio degli oggetti per i dettagli sulla configurazione della regione.

  • Passa l'argomento classes a Heatmap() con gli indici di classe che desideri mantenere. Ad esempio, classes=[0, 2] crea la heatmap solo da persone e auto (indici di 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()
  • Le heatmap di Ultralytics YOLO26 integrano rilevamento di oggetti, tracciamento, accumulo di intensità e rendering della sovrapposizione in una singola chiamata, mentre strumenti generici come OpenCV o Matplotlib richiedono di costruire autonomamente quella pipeline. La soluzione elabora flussi video in tempo reale e supporta nativamente il tracciamento persistente e mappe colori personalizzabili. Per i dettagli sul modello sottostante, consulta la pagina del modello YOLO26.

Commenti