Vai al contenuto

Visualizzazione Dati Avanzata: Heatmap con Ultralytics YOLO26 🚀

Introduzione alle mappe di calore

Apri le mappe di calore in Colab

Una heatmap generata con Ultralytics YOLO26 trasforma dati complessi in una matrice vibrante e codificata per colore. Questo strumento visivo impiega uno spettro di colori per rappresentare valori di dati variabili, dove le tonalità più calde indicano intensità più elevate e i toni più freddi significano valori inferiori. Le heatmap eccellono nella visualizzazione di intricati modelli di dati, correlazioni e anomalie, offrendo un approccio accessibile e coinvolgente all'interpretazione dei dati in diversi ambiti.



Guarda: Heatmap con Ultralytics YOLO26

Perché scegliere le mappe di calore per l'analisi dei dati?

  • Visualizzazione Intuitiva della Distribuzione dei Dati: Le mappe di calore semplificano la comprensione della concentrazione e della distribuzione dei dati, convertendo dataset complessi in formati visivi facili da capire.
  • Rilevamento Efficiente di Pattern: Visualizzando i dati in formato heatmap, diventa più facile individuare tendenze, cluster e outlier, facilitando un'analisi e approfondimenti più rapidi.
  • Analisi Spaziale e Processo Decisionale Migliorati: Le heatmap sono fondamentali per illustrare le relazioni spaziali, aiutando nei processi decisionali in settori come la business intelligence, gli studi ambientali e la pianificazione urbana.

Applicazioni nel mondo reale

TrasportiVendita al dettaglio
Heatmap di trasporto Ultralytics YOLO26Heatmap per il settore Retail con Ultralytics YOLO26
Heatmap di trasporto Ultralytics YOLO26Heatmap per il settore Retail con Ultralytics YOLO26

Mappe di calore che utilizzano 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="yolo26n.pt",  # path to the YOLO26 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, e.g., 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() Argomenti

Ecco una tabella con i Heatmap argomenti:

ArgomentoTipoPredefinitoDescrizione
modelstrNonePercorso di un file modello Ultralytics YOLO.
colormapintcv2.COLORMAP_JETColormap da utilizzare per la heatmap.
show_inboolTrueFlag per controllare se visualizzare i conteggi in streaming video.
show_outboolTrueFlag per controllare se visualizzare i conteggi out streaming video.
regionlist'[(20, 400), (1260, 400)]'Elenco dei punti che definiscono la regione di conteggio.

È anche possibile applicare diversi track argomenti nel Heatmap solution.

ArgomentoTipoPredefinitoDescrizione
trackerstr'botsort.yaml'Specifica l'algoritmo di tracking da utilizzare, ad esempio: bytetrack.yaml oppure botsort.yaml.
conffloat0.1Imposta la soglia di confidenza per i rilevamenti; valori inferiori consentono di tracciare più oggetti, ma potrebbero includere falsi positivi.
ioufloat0.7Imposta la soglia Intersection over Union (IoU) per filtrare i detect sovrapposti.
classeslistNoneFiltra i risultati per indice di classe. Per esempio, classes=[0, 2, 3] traccia solo le classi specificate.
verboseboolTrueControlla la visualizzazione dei risultati del tracking, fornendo un output visivo degli oggetti tracciati.
devicestrNoneSpecifica il dispositivo per l'inferenza (ad esempio, cpu, cuda:0 oppure 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 lo spessore della linea dei riquadri di delimitazione. Se None, lo spessore della linea viene regolato automaticamente in base alle dimensioni dell'immagine, fornendo una personalizzazione visiva per una maggiore chiarezza.
show_confboolTrueVisualizza il punteggio di confidenza per ogni rilevamento accanto all'etichetta, offrendo una panoramica sulla certezza del modello per ogni rilevamento.
show_labelsboolTrueMostra le etichette per ogni rilevamento nell'output visivo, fornendo una comprensione immediata degli oggetti rilevati.

Mappe di calore COLORMAP

Nome della colormapDescrizione
cv::COLORMAP_AUTUMNMappa dei colori autunnale
cv::COLORMAP_BONEMappa dei colori delle ossa
cv::COLORMAP_JETMappa dei colori Jet
cv::COLORMAP_WINTERMappa dei colori Winter
cv::COLORMAP_RAINBOWMappa dei colori arcobaleno
cv::COLORMAP_OCEANMappa dei colori dell'oceano
cv::COLORMAP_SUMMERMappa dei colori estiva
cv::COLORMAP_SPRINGMappa dei colori primaverile
cv::COLORMAP_COOLMappa di colori freddi
cv::COLORMAP_HSVMappa colori HSV (Hue, Saturation, Value)
cv::COLORMAP_PINKMappa dei colori rosa
cv::COLORMAP_HOTMappa di colori caldi
cv::COLORMAP_PARULAMappa dei colori Parula
cv::COLORMAP_MAGMAMappa colori Magma
cv::COLORMAP_INFERNOMappa dei colori Inferno
cv::COLORMAP_PLASMAMappa dei colori plasma
cv::COLORMAP_VIRIDISMappa colori Viridis
cv::COLORMAP_CIVIDISMappa colori Cividis
cv::COLORMAP_TWILIGHTMappa dei colori Twilight
cv::COLORMAP_TWILIGHT_SHIFTEDMappa dei colori Twilight spostata
cv::COLORMAP_TURBOMappa dei colori Turbo
cv::COLORMAP_DEEPGREENMappa colori Deep Green

Queste colormap sono comunemente utilizzate per visualizzare i dati con diverse rappresentazioni di colore.

Come funzionano le Heatmap in Ultralytics YOLO26

La soluzione Heatmap in Ultralytics YOLO26 estende la classe ObjectCounter per generare e visualizzare i pattern di movimento nei flussi video. Una volta inizializzata, la soluzione crea un livello heatmap vuoto che viene aggiornato man mano che gli oggetti si muovono all'interno del frame.

Per ogni oggetto rilevato, la soluzione:

  1. track l'oggetto attraverso i frame utilizzando le capacità di tracking di YOLO26
  2. Aggiorna l'intensità della heatmap nella posizione dell'oggetto
  3. Applica una colormap selezionata per visualizzare i valori di intensità
  4. Sovrappone la heatmap colorata al frame originale

Il risultato è una visualizzazione dinamica che si sviluppa nel tempo, rivelando modelli di traffico, movimenti della folla o altri comportamenti spaziali nei tuoi dati video.

FAQ

Come genera le heatmap Ultralytics YOLO26 e quali sono i loro vantaggi?

Ultralytics YOLO26 genera heatmap trasformando dati complessi in una matrice codificata per colore, dove diverse tonalità rappresentano le intensità dei dati. Le heatmap facilitano la visualizzazione di pattern, correlazioni e anomalie nei dati. Le tonalità più calde indicano valori più elevati, mentre i toni più freddi rappresentano valori inferiori. I principali vantaggi includono una visualizzazione intuitiva della distribuzione dei dati, un rilevamento efficiente dei pattern e un'analisi spaziale migliorata per il processo decisionale. Per maggiori dettagli e opzioni di configurazione, fare riferimento alla sezione Configurazione Heatmap.

Posso usare Ultralytics YOLO26 per eseguire il tracking degli oggetti e generare una heatmap contemporaneamente?

Sì, Ultralytics YOLO26 supporta il tracking degli oggetti e la generazione di heatmap contemporaneamente. Questo può essere ottenuto tramite la sua Heatmap soluzione integrata con modelli di tracking degli oggetti. Per farlo, è necessario inizializzare l'oggetto heatmap e utilizzare le capacità di tracking di YOLO26. Ecco un semplice esempio:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
heatmap = solutions.Heatmap(colormap=cv2.COLORMAP_PARULA, show=True, model="yolo26n.pt")

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    results = heatmap(im0)
cap.release()
cv2.destroyAllWindows()

Per ulteriori indicazioni, consulta la pagina della Modalità Tracking.

Cosa rende le heatmap di Ultralytics YOLO26 diverse dagli altri strumenti di visualizzazione dati come quelli di OpenCV o Matplotlib?

Le heatmap di Ultralytics YOLO26 sono specificamente progettate per l'integrazione con i suoi modelli di object detection e tracking, fornendo una soluzione end-to-end per l'analisi dei dati in tempo reale. A differenza degli strumenti di visualizzazione generici come OpenCV o Matplotlib, le heatmap di YOLO26 sono ottimizzate per le prestazioni e l'elaborazione automatizzata, supportando funzionalità come il tracking persistente, la regolazione del fattore di decadimento e l'overlay video in tempo reale. Per maggiori informazioni sulle caratteristiche uniche di YOLO26, visita l'Introduzione a Ultralytics YOLO26.

Come posso visualizzare solo classi di oggetti specifiche nelle heatmap utilizzando Ultralytics YOLO26?

Puoi visualizzare classi di oggetti specifiche specificando le classi desiderate nel track() method del modello YOLO. Ad esempio, se vuoi visualizzare solo auto e persone (supponendo che i loro indici di classe siano 0 e 2), puoi impostare il classes parameter di conseguenza.

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()

Perché le aziende dovrebbero scegliere Ultralytics YOLO26 per la generazione di heatmap nell'analisi dei dati?

Ultralytics YOLO26 offre un'integrazione perfetta di object detection avanzata e generazione di heatmap in tempo reale, rendendolo una scelta ideale per le aziende che desiderano visualizzare i dati in modo più efficace. I principali vantaggi includono una visualizzazione intuitiva della distribuzione dei dati, un rilevamento efficiente dei pattern e un'analisi spaziale migliorata per un migliore processo decisionale. Inoltre, le funzionalità all'avanguardia di YOLO26, come il tracking persistente, le colormap personalizzabili e il supporto per vari formati di esportazione, lo rendono superiore ad altri strumenti come TensorFlow e OpenCV per un'analisi completa dei dati. Scopri di più sulle applicazioni aziendali su Piani Ultralytics.



📅 Creato 2 anni fa ✏️ Aggiornato 2 giorni fa
glenn-jocherRizwanMunawarRizwanMunawarMatthewNoycepderrengerUltralyticsAssistantIvorZhu331AyushExelYOLOv5-Magic

Commenti