Link to this sectionAnalisi con Ultralytics YOLO26#
Link to this sectionIntroduzione#
Questa guida fornisce una panoramica completa di tre tipi fondamentali di visualizzazione dati: grafici a linee, grafici a barre e grafici a torta. Ogni sezione include istruzioni dettagliate e snippet di codice su come creare queste visualizzazioni usando Python.
Watch: How to generate Analytical Graphs using Ultralytics | Line Graphs, Bar Plots, Area and Pie Charts
Link to this sectionEsempi visivi#
| Grafico a linee | Grafico a barre | Grafico a torta |
|---|---|---|
![]() | ![]() | ![]() |
Link to this sectionPerché i grafici sono importanti#
- I grafici a linee sono ideali per tracciare i cambiamenti su periodi brevi e lunghi e per confrontare le variazioni di più gruppi nello stesso periodo.
- I grafici a barre, d'altra parte, sono adatti per confrontare quantità tra diverse categorie e mostrare le relazioni tra una categoria e il suo valore numerico.
- Infine, i grafici a torta sono efficaci per illustrare proporzioni tra categorie e mostrare le parti di un insieme.
yolo solutions analytics show=True
# Pass the source
yolo solutions analytics source="path/to/video.mp4"
# Generate the pie chart
yolo solutions analytics analytics_type="pie" show=True
# Generate the bar plots
yolo solutions analytics analytics_type="bar" show=True
# Generate the area plots
yolo solutions analytics analytics_type="area" show=TrueLink to this sectionArgomenti di Analytics#
Ecco una tabella che illustra gli argomenti di Analytics:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
model | str | None | Percorso verso un file del modello Ultralytics YOLO. |
analytics_type | str | 'line' | Tipo di grafico, ad esempio line, bar, area o pie. |
Puoi anche sfruttare diversi argomenti di track nella soluzione Analytics.
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Specifica l'algoritmo di tracciamento da utilizzare. Opzioni integrate: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.1 | Imposta la soglia di confidenza per i rilevamenti; valori più bassi consentono di tracciare più oggetti ma possono includere falsi positivi. |
iou | float | 0.7 | Imposta la soglia di Intersection over Union (IoU) per filtrare i rilevamenti sovrapposti. |
classes | list | None | Filtra i risultati per indice di classe. Ad esempio, classes=[0, 2, 3] traccia solo le classi specificate. |
verbose | bool | True | Controlla la visualizzazione dei risultati di tracciamento, fornendo un output visivo degli oggetti tracciati. |
device | str | None | Specifica il dispositivo per l'inferenza (ad esempio, cpu, cuda:0 o 0). Consente agli utenti di scegliere tra CPU, una GPU specifica o altri dispositivi di calcolo per l'esecuzione del modello. |
Inoltre, sono supportati i seguenti argomenti di visualizzazione:
| 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 | int or None | None | Specifica la larghezza della linea dei bounding box. Se None, la larghezza della linea viene regolata automaticamente in base alla dimensione dell'immagine. Fornisce personalizzazione visiva per chiarezza. |
Link to this sectionConclusione#
Capire quando e come utilizzare diversi tipi di visualizzazioni è fondamentale per un'analisi dei dati efficace. I grafici a linee, i grafici a barre e i grafici a torta sono strumenti fondamentali che possono aiutarti a trasmettere la storia dei tuoi dati in modo più chiaro ed efficace. La soluzione Analytics di Ultralytics YOLO26 fornisce un modo ottimizzato per generare queste visualizzazioni dai tuoi risultati di rilevamento oggetti e tracciamento, rendendo più semplice estrarre informazioni significative dai tuoi dati visivi.
Link to this sectionFAQ#
Link to this sectionCome creo un grafico a linee usando Ultralytics YOLO26 Analytics?#
Per creare un grafico a linee usando Ultralytics YOLO26 Analytics, segui questi passaggi:
- Carica un modello YOLO26 e apri il tuo file video.
- Inizializza la classe
Analyticscon il tipo impostato su "line". - Itera attraverso i fotogrammi del video, aggiornando il grafico a linee con i dati rilevanti, come il conteggio degli oggetti per fotogramma.
- Salva il video di output che mostra il grafico a linee.
Esempio:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.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))
out = cv2.VideoWriter(
"ultralytics_analytics.avi",
cv2.VideoWriter_fourcc(*"MJPG"),
fps,
(1280, 720), # this is fixed
)
analytics = solutions.Analytics(
analytics_type="line",
show=True,
)
frame_count = 0
while cap.isOpened():
success, im0 = cap.read()
if success:
frame_count += 1
results = analytics(im0, frame_count) # update analytics graph every frame
out.write(results.plot_im) # write the video file
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()Per ulteriori dettagli sulla configurazione della classe Analytics, visita la sezione Analisi con Ultralytics YOLO26.
Link to this sectionQuali sono i vantaggi dell'utilizzo di Ultralytics YOLO26 per creare grafici a barre?#
Utilizzare Ultralytics YOLO26 per creare grafici a barre offre diversi vantaggi:
- Visualizzazione dati in tempo reale: Integra senza problemi i risultati del rilevamento oggetti nei grafici a barre per aggiornamenti dinamici.
- Facilità d'uso: L'API semplice e le funzioni rendono l'implementazione e la visualizzazione dei dati intuitive.
- Personalizzazione: Personalizza titoli, etichette, colori e altro ancora per soddisfare le tue esigenze specifiche.
- Efficienza: Gestisci in modo efficiente grandi quantità di dati e aggiorna i grafici in tempo reale durante l'elaborazione video.
Usa il seguente esempio per generare un grafico a barre:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.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))
out = cv2.VideoWriter(
"ultralytics_analytics.avi",
cv2.VideoWriter_fourcc(*"MJPG"),
fps,
(1280, 720), # this is fixed
)
analytics = solutions.Analytics(
analytics_type="bar",
show=True,
)
frame_count = 0
while cap.isOpened():
success, im0 = cap.read()
if success:
frame_count += 1
results = analytics(im0, frame_count) # update analytics graph every frame
out.write(results.plot_im) # write the video file
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()Per saperne di più, visita la sezione Grafico a barre nella guida.
Link to this sectionPerché dovrei usare Ultralytics YOLO26 per creare grafici a torta nei miei progetti di visualizzazione dati?#
Ultralytics YOLO26 è una scelta eccellente per creare grafici a torta perché:
- Integrazione con il Rilevamento Oggetti: Integra direttamente i risultati del rilevamento oggetti nei grafici a torta per ottenere informazioni immediate.
- API intuitiva: Semplice da configurare e utilizzare con un codice minimo.
- Personalizzabile: Varie opzioni di personalizzazione per colori, etichette e altro ancora.
- Aggiornamenti in tempo reale: Gestisci e visualizza i dati in tempo reale, il che è ideale per progetti di analisi video.
Ecco un rapido esempio:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.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))
out = cv2.VideoWriter(
"ultralytics_analytics.avi",
cv2.VideoWriter_fourcc(*"MJPG"),
fps,
(1280, 720), # this is fixed
)
analytics = solutions.Analytics(
analytics_type="pie",
show=True,
)
frame_count = 0
while cap.isOpened():
success, im0 = cap.read()
if success:
frame_count += 1
results = analytics(im0, frame_count) # update analytics graph every frame
out.write(results.plot_im) # write the video file
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()Per ulteriori informazioni, fai riferimento alla sezione Grafico a torta nella guida.
Link to this sectionÈ possibile utilizzare Ultralytics YOLO26 per tracciare oggetti e aggiornare dinamicamente le visualizzazioni?#
Sì, Ultralytics YOLO26 può essere utilizzato per tracciare oggetti e aggiornare dinamicamente le visualizzazioni. Supporta il tracciamento di più oggetti in tempo reale e può aggiornare varie visualizzazioni come grafici a linee, grafici a barre e grafici a torta in base ai dati degli oggetti tracciati.
Esempio per il tracciamento e l'aggiornamento di un grafico a linee:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.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))
out = cv2.VideoWriter(
"ultralytics_analytics.avi",
cv2.VideoWriter_fourcc(*"MJPG"),
fps,
(1280, 720), # this is fixed
)
analytics = solutions.Analytics(
analytics_type="line",
show=True,
)
frame_count = 0
while cap.isOpened():
success, im0 = cap.read()
if success:
frame_count += 1
results = analytics(im0, frame_count) # update analytics graph every frame
out.write(results.plot_im) # write the video file
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()Per conoscere la funzionalità completa, consulta la sezione Tracciamento.
Link to this sectionCosa rende Ultralytics YOLO26 diverso da altre soluzioni di rilevamento oggetti come OpenCV e TensorFlow?#
Ultralytics YOLO26 si distingue dalle altre soluzioni di rilevamento oggetti come OpenCV e TensorFlow per molteplici ragioni:
- Precisione all'avanguardia: YOLO26 offre una precisione superiore nei compiti di rilevamento oggetti, segmentazione di istanze, segmentazione semantica e classificazione.
- Facilità d'uso: L'API intuitiva consente un'implementazione e un'integrazione rapide senza una codifica estesa.
- Prestazioni in tempo reale: Ottimizzato per l'inferenza ad alta velocità, adatto per applicazioni in tempo reale.
- Applicazioni diverse: Supporta vari compiti tra cui il tracciamento di oggetti multipli, l'addestramento di modelli personalizzati e l'esportazione in diversi formati come ONNX, TensorRT e CoreML.
- Documentazione completa: Ampia documentazione e risorse del blog per guidare gli utenti in ogni passaggio.
Per confronti più dettagliati e casi d'uso, esplora il nostro Blog di Ultralytics.


