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 |
Heatmaps utilizzando Ultralytics YOLO11 Esempio
# Run a heatmap example
yolo solutions heatmap show=True
# Pass a source video
yolo solutions heatmap source="path/to/video/file.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/file.mp4")
assert cap.isOpened(), "Error reading video file"
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
video_writer = cv2.VideoWriter("heatmap_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# In case you want to apply object counting + heatmaps, you can pass region points.
# region_points = [(20, 400), (1080, 400)] # Define line points
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)] # Define region points
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360), (20, 400)] # Define polygon points
# Init heatmap
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, # If you want to do object counting with heatmaps, you can pass region_points
# classes=[0, 2], # If you want to generate heatmap for specific classes i.e person and car.
# show_in=True, # Display in counts
# show_out=True, # Display out counts
# line_width=2, # Adjust the line width for bounding boxes and text display
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or video processing has been successfully completed.")
break
im0 = heatmap.generate_heatmap(im0)
video_writer.write(im0)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
Argomenti Heatmap()
Nome | Tipo | Predefinito | Descrizione |
---|---|---|---|
model |
str |
None |
Percorso del file del modello Ultralytics YOLO |
colormap |
int |
cv2.COLORMAP_JET |
Mappa dei colori da utilizzare per la mappa di calore. |
show |
bool |
False |
Se visualizzare l'immagine con la sovrapposizione della mappa di calore. |
show_in |
bool |
True |
Se visualizzare il conteggio degli oggetti che entrano nell'area. |
show_out |
bool |
True |
Se visualizzare il conteggio degli oggetti che escono dalla regione. |
region |
list |
None |
Punti che definiscono la regione di conteggio (una linea o un poligono). |
line_width |
int |
2 |
Spessore delle linee utilizzate nel disegno. |
Argomenti model.track
Argomento | Tipo | Predefinito | Descrizione |
---|---|---|---|
source |
str |
None |
Specifica la directory di origine delle immagini o dei video. Supporta percorsi di file e URL. |
persist |
bool |
False |
Consente il tracciamento persistente degli oggetti tra i fotogrammi, mantenendo gli ID tra le sequenze video. |
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. |
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.
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/file.mp4")
heatmap = solutions.Heatmap(colormap=cv2.COLORMAP_PARULA, show=True, model="yolo11n.pt")
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
im0 = heatmap.generate_heatmap(im0)
cv2.imshow("Heatmap", im0)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
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/file.mp4")
heatmap = solutions.Heatmap(show=True, model="yolo11n.pt", classes=[0, 2])
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
im0 = heatmap.generate_heatmap(im0)
cv2.imshow("Heatmap", im0)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
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 .