Migliorare le applicazioni di visione artificiale con le visualizzazioni
Scopri come trasformare i dati dalle applicazioni di computer vision in grafici di facile comprensione utilizzando il pacchetto Python Ultralytics per ottenere insight migliori.

Ogni minuto, da aeroporti e stazioni ferroviarie fino ai centri commerciali, vengono create enormi quantità di dati. Con la diffusione sempre più capillare dell'IA, gran parte di questi dati viene oggi analizzata ed elaborata. Tuttavia, a volte i risultati dei modelli di IA rendono difficile individuare pattern o comprendere i trend a colpo d'occhio. È qui che la visualizzazione dei dati ti aiuta: trasforma output complessi in insight chiari e facili da digerire.
Questo è particolarmente vero per le applicazioni di computer vision. La computer vision è un ramo dell'intelligenza artificiale (IA) che aiuta le macchine a interpretare e comprendere le informazioni visive dal mondo circostante, come immagini e video. Sebbene i modelli di vision AI, come Ultralytics YOLO11, possano aiutare ad analizzare tali dati visivi per ottenere informazioni, la visualizzazione dei dati aiuta a presentare tali informazioni in un formato facile da comprendere.
In parole povere, la visualizzazione dei dati colma il divario tra i dati grezzi e una reale comprensione utilizzando grafici analitici significativi. Nel mondo odierno guidato dai dati, questo è fondamentale perché non basta che le macchine svolgano solo dei compiti: abbiamo bisogno che raccontino una storia.
Questa esigenza di storytelling è esattamente il motivo per cui la visualizzazione dei dati è in crescita, con un mercato destinato a raggiungere i $18,36 miliardi entro il 2030. In precedenza, abbiamo esplorato come la computer vision possa offrire preziosi business insights. Oggi faremo un passo avanti, vedendo come generare grafici analitici chiari e intuitivi per le applicazioni di computer vision utilizzando il pacchetto Ultralytics. Iniziamo!

Fig 1. Un esempio di visualizzazione dei dati basata sugli output di YOLO11.
Link to this sectionUna panoramica della visualizzazione dati nelle applicazioni di computer vision#
La visualizzazione dati nelle applicazioni di computer vision comporta la trasformazione dei risultati dei computer vision tasks, come l'object detection e il tracking, in grafici o dashboard facili da comprendere. Questi elementi visivi aiutano a identificare pattern e tendenze, specialmente quando si lavora con grandi volumi di riprese video.
Ad esempio, invece di rivedere manualmente ore di filmati di sorveglianza, un semplice grafico a linee che mostra il numero di auto o persone rilevate nel tempo può evidenziare rapidamente le ore di punta o periodi insolitamente tranquilli.
Ecco alcuni motivi principali per cui la visualizzazione dei dati è utile:
-
Semplifica dati complessi: Migliaia di rilevamenti di oggetti possono sopraffare, ma visualizzazioni come grafici a barre o a torta rendono più facile vedere il quadro generale, ad esempio quali oggetti compaiono più frequentemente.
-
Rivela trend: I grafici a linee e a barre aiutano a identificare pattern nel tempo, come quando e dove il traffico pedonale tende ad aumentare.
-
Risparmia tempo: Invece di esaminare ogni fotogramma del video, i grafici possono evidenziare rapidamente dettagli importanti, come picchi improvvisi nell'attività dei veicoli o presenze insolite di oggetti in zone riservate.
-
Migliora la comunicazione: Gli elementi visivi rendono più semplice condividere insight con un pubblico non tecnico, aiutando tutti a comprendere i risultati in modo più chiaro.
Link to this sectionDiversi tipi di visualizzazioni dati#
Diversi tipi di grafici analitici possono trasformare i risultati di computer vision in elementi visivi chiari e facili da comprendere. Supponiamo che tu stia lavorando su un'applicazione di computer vision che rileva persone e veicoli nelle riprese di sorveglianza. In questo caso, un grafico a linee è ottimo per mostrare come cambia il numero di rilevamenti nel tempo, come ad esempio tracciare i picchi di traffico pedonale durante la giornata.
Allo stesso modo, i grafici a barre sono utili quando vuoi confrontare il numero di diversi tipi di oggetti rilevati, come vedere se appaiono più auto, bici o pedoni nel video. I grafici a torta, invece, mostrano quale percentuale rappresenta ogni tipo di oggetto sul totale dei rilevamenti. Ogni grafico ha il suo scopo e aiuta a rendere i complessi dati di computer vision più facili da interpretare e condividere.

Fig 2. Esempi di grafici analitici.
Link to this sectionGenerare grafici analitici per ottenere insight di computer vision#
Ora che abbiamo esplorato cos'è la visualizzazione dati e perché diversi tipi di grafici analitici sono importanti, diamo un'occhiata più da vicino a come utilizzare la soluzione Ultralytics Analytics per visualizzare i risultati delle previsioni del tuo modello di computer vision. Prima di seguire la procedura passo dopo passo, esaminiamo gli strumenti e le opzioni di configurazione per addestrare e utilizzare il pacchetto Ultralytics e modelli come YOLO11.
Il pacchetto Python di Ultralytics rende semplice addestrare modelli, rilevare oggetti, eseguire previsioni e visualizzare i risultati. Per iniziare, avrai bisogno di un ambiente di programmazione. Ecco tre semplici opzioni:
-
Interfaccia a riga di comando (CLI): È uno strumento di base, basato solo su testo, dove puoi digitare comandi per eseguire il tuo codice. Non ha un'interfaccia visiva e interagisci con esso digitando istruzioni in un terminale o prompt dei comandi.
-
Jupyter Notebooks: È un ambiente di programmazione interattivo dove puoi scrivere, eseguire e testare piccoli blocchi di codice (chiamati "celle") uno alla volta. Mostra i risultati direttamente sotto ogni cella, rendendo facile capire cosa sta succedendo passo dopo passo. È particolarmente utile per l'apprendimento e la sperimentazione.
-
Google Colab: Questa opzione è una versione gratuita basata su cloud di Jupyter Notebooks che viene eseguita nel tuo browser web. Non richiede alcuna configurazione sul tuo computer e ti dà accesso a GPU gratuite per un'elaborazione più veloce.
Questi strumenti sono ottimi per iniziare rapidamente, ma gli utenti possono anche integrare Ultralytics in Ambienti di Sviluppo Integrato (IDE) come Visual Studio Code (VS Code) o in pipeline di produzione. Per ulteriori opzioni, esplora la documentazione ufficiale di Ultralytics.
Link to this sectionPassaggio 1: Configurazione dell'ambiente#
Una volta scelto il tuo ambiente preferito, il passo successivo è configurarlo per eseguire previsioni e visualizzare i risultati. Puoi usare uno qualsiasi degli ambienti menzionati sopra, a seconda di quello con cui hai più familiarità.
Se lavori su Google Colab, tieni presente che utilizza una CPU per impostazione predefinita, il che può rallentare le prestazioni. Per velocizzare le cose, passa a una GPU andando nel menu "Runtime", selezionando "Cambia tipo di runtime" e impostando l'acceleratore hardware su GPU (idealmente una T4).
Per preparare il tuo ambiente, dovrai installare il pacchetto Python di Ultralytics usando il comando indicato di seguito. Negli strumenti basati su notebook come Colab o Jupyter, assicurati di aggiungere un punto esclamativo (!) prima del comando.
pip install ultralyticsLink to this sectionPasso 2: Scaricare un file video#
Successivamente, avremo bisogno di un video su cui lavorare. Puoi scaricarne facilmente uno da un sito stock gratuito come Pexels. Assicurati di scegliere un video che includa oggetti che YOLO11 può rilevare. Poiché il modello è pre-addestrato sul dataset COCO, può riconoscere oggetti comuni come persone, auto e biciclette.
Per questo tutorial, useremo un video di gestione bagagli in un affollato terminal aeroportuale. Puoi usare lo stesso video o sceglierne un altro che si adatti al tuo progetto.

Fig 3. Un fotogramma del video di input che mostra la gestione bagagli in un terminal aeroportuale.
Link to this sectionPasso 3: Importare i pacchetti#
Successivamente, possiamo importare le librerie necessarie e caricare il video di input.
Inizieremo importando OpenCV (cv2), che è una libreria ampiamente utilizzata per lavorare con immagini e video nella computer vision. Importeremo anche la libreria Ultralytics, che ci aiuta a eseguire l'object detection e a generare analisi dal video.
Quindi, proveremo ad aprire il file video specificandone il percorso. Assicurati di sostituire "path/to/video.mp4" con la posizione effettiva del tuo file video scaricato.
Inoltre, lo snippet di codice qui sotto include un semplice controllo per assicurarsi che il video venga caricato correttamente. Se il percorso è errato o il file è corrotto, il programma si fermerà e mostrerà un messaggio di errore: "Error reading video file."
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"Link to this sectionPasso 4: Preparare il video writer#
Quindi, configureremo un video writer per salvare l'output. Quando eseguiremo le analisi, questa parte del codice creerà un nuovo file video che registra i grafici aggiornati generati da ogni fotogramma del video originale.
Nello snippet di codice qui sotto, estraiamo innanzitutto le proprietà chiave dal video di input: larghezza, altezza e fotogrammi al secondo (fps). Questi valori sono presi direttamente dal video e convertiti in interi per garantire che siano nel formato corretto per scrivere l'output.
Successivamente, usiamo la funzione cv2.VideoWriter per creare un nuovo file video, chiamato "analytics_output.avi" (puoi rinominarlo come necessario). Il video viene salvato utilizzando il formato MJPG, che è un metodo di compressione video comune. La risoluzione di output è impostata su 1280×720 pixel, indipendentemente dalle dimensioni del video originale.
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
out = cv2.VideoWriter(
"analytics_output.avi",
cv2.VideoWriter_fourcc(*"MJPG"),
fps,
(1280, 720),
)Link to this sectionPasso 5: Configurare la soluzione Ultralytics Analytics#
Ora configureremo la soluzione Ultralytics Analytics per generare grafici dal video. Puoi scegliere come visualizzare i dati, ad esempio come grafico a linee, a torta, ad area o a barre, e quale modello YOLO utilizzare. In questo esempio, useremo il modello leggero "yolo11n.pt" e mostreremo i risultati come grafico ad area.
analytics = solutions.Analytics(
show=True,
analytics_type="area",
model="yolo11n.pt",
)Link to this sectionPasso 6: Elaborare il video di input#
La parte finale del codice esegue un ciclo che elabora il video un fotogramma alla volta. Ogni fotogramma viene passato allo strumento di analisi, che aggiorna il grafico in tempo reale. Il grafico aggiornato viene quindi scritto nel video di output. Se un fotogramma non può essere letto, il ciclo si interrompe. Dopo aver elaborato tutti i fotogrammi, il video viene salvato e le finestre aperte vengono chiuse.
frame_count = 0
while cap.isOpened():
success, im0 = cap.read()
if success:
frame_count += 1
results = analytics(im0, frame_count)
out.write(results.plot_im)
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()Link to this sectionPasso 7: Mettere tutto insieme#
Infine, mettiamo tutto insieme. Con solo poche righe di codice extra, possiamo generare due video di output: uno che mostra i risultati di object detection di YOLO11 con bounding box ed etichette, e un altro che mostra i grafici analitici in tempo reale.
Per fare ciò, configureremo due istanze di VideoWriter: una per salvare il video delle previsioni e un'altra per le analisi. Questa versione del codice include sia l'object tracking che la generazione di grafici, così puoi vedere i risultati dei rilevamenti insieme agli insight visivi.
Ecco il codice completo insieme agli esempi sia degli output di previsione che di quelli analitici.
import cv2
from ultralytics import YOLO, solutions
# Load model and video
model = YOLO('yolo11n.pt')
cap = cv2.VideoCapture('path/to/video.mp4')
assert cap.isOpened(), "Error opening video"
# Get properties
w, h = int(cap.get(3)), int(cap.get(4))
fps = cap.get(5)
analytics_res = (1280, 720)
# Writers for prediction and analytics videos
out_pred = cv2.VideoWriter('output_predictions.avi', cv2.VideoWriter_fourcc(*'MJPG'), fps, (w, h))
out_ana = cv2.VideoWriter('output_analytics.avi', cv2.VideoWriter_fourcc(*'MJPG'), fps, analytics_res)
# Analytics setup
analytics = solutions.Analytics(show=True, analytics_type="area", model='yolo11n.pt')
# Process frames
frame_count = 0
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
frame_count += 1
pred_frame = model.track(frame, persist=True)[0].plot()
out_pred.write(pred_frame)
resized = cv2.resize(pred_frame, analytics_res)
out_ana.write(analytics(resized, frame_count).plot_im)
cap.release(), out_pred.release(), out_ana.release(), cv2.destroyAllWindows()Quando il codice sopra viene eseguito correttamente, genererà due video di output. Il file “output_predictions.avi” mostrerà i risultati di object detection con bounding box ed etichette, mentre “output_analytics.avi” visualizzerà i grafici analitici in tempo reale basati sui rilevamenti.

Fig 4. Un fotogramma dal file “output_predictions.avi”.
Ecco un fotogramma dall'output analitico basato sulle previsioni. Usando il grafico ad area, possiamo ottenere insight come le fluttuazioni nel conteggio delle valigie nel tempo, come un picco intorno al fotogramma 268, che indica il movimento o l'attività delle valigie in quella parte del video.

Fig 5. Previsioni di YOLO11 visualizzate come grafico ad area.
Link to this sectionUtilizzare i grafici nelle applicazioni di computer vision del mondo reale#
Ecco alcune applicazioni di computer vision nel mondo reale dove la visualizzazione dei dati ha un impatto significativo:
-
Healthcare: I sistemi di computer vision possono monitorare l'attività dei pazienti, i movimenti del personale e l'utilizzo delle attrezzature in tempo reale. Ciò genera grandi quantità di dati visivi che, quando visualizzati, possono rivelare pattern, come i picchi di occupazione dei pazienti o ritardi nelle risposte.
-
Retail ed e-commerce: La vision AI può essere utilizzata per tracciare il movimento dei clienti, il tempo di permanenza davanti agli scaffali e le interazioni con i prodotti. Le analisi visive come grafici a barre o a torta possono evidenziare quali zone del negozio o articoli ricevono maggiore attenzione, aiutando i rivenditori a ottimizzare il posizionamento dei prodotti e migliorare le conversioni.
-
Produzione: Le telecamere dotate di modelli di computer vision possono monitorare le linee di assemblaggio per individuare difetti, violazioni della sicurezza o lo stato delle attrezzature. La visualizzazione dei dati può mostrare trend nei tipi di difetti più comuni o evidenziare periodi con i tassi di errore più elevati, consentendo un processo decisionale più rapido e una manutenzione preventiva.
Link to this sectionPunti chiave#
Con il pacchetto Ultralytics, puoi trasformare facilmente le riprese video in grafici chiari e intuitivi che rivelano ciò che sta accadendo, come tracciare quante persone o oggetti compaiono nel tempo. Invece di rivedere manualmente ore di video, puoi generare riassunti visivi che evidenziano pattern e trend chiave, facilitando l'agire rapidamente. Che si tratti di ospedali, negozi al dettaglio o impianti di produzione, questi grafici trasformano complessi output di IA in insight che chiunque può comprendere e utilizzare.
Vuoi saperne di più sull'IA? Esplora il nostro repository GitHub, connettiti con la nostra community e dai un'occhiata alle nostre opzioni di licenza per avviare il tuo progetto di computer vision. Scopri di più su innovazioni come l'IA nella produzione e la computer vision nell'industria logistica sulle nostre pagine delle soluzioni.






