Visualizzazione avanzata dei dati: Heatmaps utilizzando Ultralytics YOLO11 🚀
Introduzione alle mappe di calore
Una mappa di calore generata con Ultralytics YOLO11 trasforma dati complessi in una matrice vivace e colorata. Questo strumento visivo utilizza uno spettro di colori per rappresentare i diversi valori dei dati, dove le tonalità più calde indicano intensità più elevate e quelle più fredde valori più bassi. 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: Mappe di calore con Ultralytics YOLO11
Perché scegliere le Heatmap per l'analisi dei dati?
- Visualizzazione intuitiva della distribuzione dei dati: Le heatmap semplificano la comprensione della concentrazione e della distribuzione dei dati, convertendo insiemi di dati complessi in formati visivi di facile comprensione.
- Rilevamento efficiente dei pattern: Visualizzando i dati in formato heatmap, diventa più facile individuare tendenze, cluster e outlier, facilitando analisi e approfondimenti più rapidi.
- Miglioramento dell'analisi spaziale e del processo decisionale: le mappe di calore sono fondamentali per illustrare le relazioni spaziali, favorendo i processi decisionali in settori quali la business intelligence, gli studi ambientali e la pianificazione urbana.
Applicazioni nel mondo reale
Trasporto | Vendita al dettaglio |
---|---|
![]() |
![]() |
Ultralytics YOLO11 Mappa di calore dei trasporti | Ultralytics YOLO11 Mappa di calore del commercio al dettaglio |
Mappe di calore 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)]"
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()
Argomenti
Ecco una tabella con i dati Heatmap
argomenti:
Argomento | Tipo | Predefinito | Descrizione |
---|---|---|---|
model |
str |
None |
Percorso del file del modelloYOLO Ultralytics . |
colormap |
int |
cv2.COLORMAP_JET |
Mappa dei colori da utilizzare per la mappa di calore. |
show_in |
bool |
True |
Flag per controllare se visualizzare o meno i conteggi nel flusso video. |
show_out |
bool |
True |
Flag per controllare se visualizzare i conteggi di uscita nel flusso video. |
region |
list |
[(20, 400), (1260, 400)] |
Elenco dei punti che definiscono la regione di conteggio. |
È inoltre possibile applicare diversi track
argomenti nella sezione Heatmap
soluzione.
Argomento | Tipo | Predefinito | Descrizione |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
Specifica l'algoritmo di tracciamento da utilizzare, ad es, bytetrack.yaml o botsort.yaml . |
conf |
float |
0.3 |
Imposta la soglia di confidenza per i rilevamenti; valori più bassi consentono di tracciare un maggior numero di oggetti, ma possono includere falsi positivi. |
iou |
float |
0.5 |
Imposta la soglia Intersection over Union (IoU) per il filtraggio dei rilevamenti sovrapposti. |
classes |
list |
None |
Filtra i risultati per indice di classe. Ad esempio, classes=[0, 2, 3] tiene traccia solo delle classi specificate. |
verbose |
bool |
True |
Controlla la visualizzazione dei risultati del tracciamento, fornendo un output visivo degli oggetti tracciati. |
device |
str |
None |
Specifica il dispositivo per l'inferenza (ad es, cpu , cuda:0 o 0 ). Consente agli utenti di scegliere tra CPU, uno specifico GPU 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 |
None or int |
None |
Specifica la larghezza della linea delle caselle di delimitazione. Se None La larghezza della linea viene regolata automaticamente in base alle dimensioni dell'immagine. Fornisce una personalizzazione visiva per la chiarezza. |
Mappa di calore COLORMAPI
Nome della mappa dei colori | Descrizione |
---|---|
cv::COLORMAP_AUTUMN |
Mappa dei colori autunnali |
cv::COLORMAP_BONE |
Mappa dei colori delle ossa |
cv::COLORMAP_JET |
Mappa dei colori del getto |
cv::COLORMAP_WINTER |
Mappa dei colori invernali |
cv::COLORMAP_RAINBOW |
Mappa dei colori dell'arcobaleno |
cv::COLORMAP_OCEAN |
Mappa dei colori dell'oceano |
cv::COLORMAP_SUMMER |
Mappa dei colori estivi |
cv::COLORMAP_SPRING |
Mappa dei colori della primavera |
cv::COLORMAP_COOL |
Mappa a colori di grande effetto |
cv::COLORMAP_HSV |
Mappa di colore HSV (Hue, Saturation, Value) |
cv::COLORMAP_PINK |
Mappa a colori rosa |
cv::COLORMAP_HOT |
Mappa dei colori caldi |
cv::COLORMAP_PARULA |
Mappa dei colori di Parula |
cv::COLORMAP_MAGMA |
Mappa dei colori del magma |
cv::COLORMAP_INFERNO |
Mappa a colori dell'Inferno |
cv::COLORMAP_PLASMA |
Mappa dei colori del plasma |
cv::COLORMAP_VIRIDIS |
Mappa a colori di Viridis |
cv::COLORMAP_CIVIDIS |
Mappa a colori di Cividis |
cv::COLORMAP_TWILIGHT |
Mappa a colori del crepuscolo |
cv::COLORMAP_TWILIGHT_SHIFTED |
Mappa dei colori Twilight spostata |
cv::COLORMAP_TURBO |
Mappa dei colori del turbo |
cv::COLORMAP_DEEPGREEN |
Mappa dei colori verde intenso |
Queste mappe di colore sono comunemente utilizzate per visualizzare i dati con rappresentazioni di colori diversi.
Come funzionano le Heatmap in Ultralytics YOLO11
La soluzione Heatmap di Ultralytics YOLO11 estende la classe ObjectCounter per generare e visualizzare i modelli di movimento nei flussi video. Quando viene inizializzata, la soluzione crea un livello di heatmap vuoto che viene aggiornato man mano che gli oggetti si muovono nell'inquadratura.
Per ogni oggetto rilevato, la soluzione:
- Traccia l'oggetto attraverso i fotogrammi utilizzando le funzionalità di tracciamento di YOLO11.
- Aggiorna l'intensità della mappa di calore nel punto in cui si trova l'oggetto.
- Applica una mappa di colori selezionata per visualizzare i valori dell'intensità
- Sovrappone la mappa di calore colorata al fotogramma originale.
Il risultato è una visualizzazione dinamica che si sviluppa nel tempo, rivelando modelli di traffico, movimenti della folla o altri comportamenti spaziali nei dati video.
FAQ
Come fa Ultralytics YOLO11 a generare le heatmap e quali sono i loro vantaggi?
Ultralytics YOLO11 genera heatmap trasformando dati complessi in una matrice colorata in cui le diverse tonalità rappresentano le intensità dei dati. Le heatmap facilitano la visualizzazione di modelli, correlazioni e anomalie nei dati. Le tonalità più calde indicano valori più alti, mentre quelle più fredde rappresentano valori più bassi. I vantaggi principali sono la visualizzazione intuitiva della distribuzione dei dati, il rilevamento efficiente dei modelli e l'analisi spaziale migliorata per il processo decisionale. Per ulteriori dettagli e opzioni di configurazione, consultare la sezione Configurazione delle mappe di calore.
È possibile utilizzare Ultralytics YOLO11 per eseguire il tracciamento degli oggetti e generare contemporaneamente una mappa di calore?
Sì, Ultralytics YOLO11 supporta il tracciamento degli oggetti e la generazione di mappe di calore contemporaneamente. Questo può essere ottenuto attraverso il suo Heatmap
integrata con i modelli di tracciamento degli oggetti. A tale scopo, è necessario inizializzare l'oggetto heatmap e utilizzare le funzionalità di tracciamento di YOLO11. 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="yolo11n.pt")
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
results = heatmap(im0)
cap.release()
cv2.destroyAllWindows()
Per ulteriori indicazioni, consultare la pagina Modalità di tracciamento.
Che cosa rende le heatmap di Ultralytics YOLO11 diverse da altri strumenti di visualizzazione dei dati come quelli di OpenCV o Matplotlib?
Ultralytics YOLO11 Le heatmap di sono progettate specificamente per l'integrazione con i suoi modelli di rilevamento e tracciamento degli oggetti, fornendo una soluzione end-to-end per l'analisi dei dati in tempo reale. A differenza di strumenti di visualizzazione generici come OpenCV o Matplotlib, le heatmap di YOLO11 sono ottimizzate per le prestazioni e l'elaborazione automatica, supportando funzioni come il tracciamento persistente, la regolazione del fattore di decadimento e la sovrapposizione di video in tempo reale. Per ulteriori informazioni sulle caratteristiche uniche di YOLO11, visitate la pagina Ultralytics YOLO11 Introduzione.
Come posso visualizzare solo classi di oggetti specifiche nelle heatmap utilizzando Ultralytics YOLO11 ?
È possibile visualizzare classi di oggetti specifiche specificando le classi desiderate nell'opzione track()
del modello YOLO . Per esempio, se si vogliono visualizzare solo le automobili e le persone (assumendo che i loro indici di classe siano 0 e 2), si può impostare il parametro classes
di conseguenza.
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()
Perché le aziende dovrebbero scegliere Ultralytics YOLO11 per la generazione di mappe di calore nell'analisi dei dati?
Ultralytics YOLO11 offre una perfetta integrazione tra il rilevamento avanzato degli oggetti e la generazione di mappe di calore in tempo reale, rappresentando la scelta ideale per le aziende che desiderano visualizzare i dati in modo più efficace. I vantaggi principali includono la visualizzazione intuitiva della distribuzione dei dati, il rilevamento efficiente dei modelli e l'analisi spaziale migliorata per un migliore processo decisionale. Inoltre, le caratteristiche all'avanguardia di YOLO11, come il tracciamento persistente, le mappe di colore personalizzabili e il supporto di vari formati di esportazione, lo rendono superiore ad altri strumenti quali TensorFlow e OpenCV per l'analisi completa dei dati. Per saperne di più sulle applicazioni aziendali, consultate i piani diUltralytics .