Vai al contenuto

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
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 .

📅C reato 1 anno fa ✏️ Aggiornato 15 giorni fa

Commenti