Monitoraggio degli allenamenti con Ultralytics YOLO26
Il monitoraggio degli allenamenti tramite la stima della posa con Ultralytics YOLO26 migliora la valutazione degli esercizi tracciando con precisione i punti di riferimento e le articolazioni chiave del corpo in tempo reale. Questa tecnologia fornisce un feedback istantaneo sulla forma dell'esercizio, traccia le routine di allenamento e misura le metriche di performance, ottimizzando le sessioni di allenamento sia per gli utenti che per gli istruttori.
Guarda: Come monitorare gli esercizi di allenamento con Ultralytics YOLO | Squat, leg extension, push-up e altro
Vantaggi del Monitoraggio degli Allenamenti
- Prestazioni Ottimizzate: Adattamento degli allenamenti in base ai dati di monitoraggio per risultati migliori.
- Raggiungimento degli obiettivi: Monitora e adatta gli obiettivi di fitness per progressi misurabili.
- Personalizzazione: Piani di allenamento personalizzati basati sui dati individuali per una maggiore efficacia.
- Consapevolezza della salute: Rilevamento precoce di modelli che indicano problemi di salute o sovrallenamento.
- Decisioni Informate: Decisioni basate sui dati per adeguare le routine e fissare obiettivi realistici.
Applicazioni nel mondo reale
| Monitoraggio degli allenamenti | Monitoraggio degli allenamenti |
|---|---|
![]() | ![]() |
| Conteggio di flessioni | Conteggio di trazioni alla sbarra |
Monitoraggio degli allenamenti utilizzando Ultralytics YOLO
# Run a workout example
yolo solutions workout show=True
# Pass a source video
yolo solutions workout source="path/to/video.mp4"
# Use keypoints for pushups
yolo solutions workout kpts="[6, 8, 10]"
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("workouts_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Init AIGym
gym = solutions.AIGym(
show=True, # display the frame
kpts=[6, 8, 10], # keypoints for monitoring specific exercise, by default it's for pushup
model="yolo26n-pose.pt", # path to the YOLO26 pose estimation model file
# 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 processing is complete.")
break
results = gym(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
Mappa dei KeyPoints (Punti chiave)

AIGym Argomenti
Ecco una tabella con i AIGym argomenti:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
model | str | None | Percorso di un file modello Ultralytics YOLO. |
up_angle | float | 145.0 | Soglia angolare per la posa 'alta'. |
down_angle | float | 90.0 | Soglia angolare per la posa 'bassa'. |
kpts | list[int] | '[6, 8, 10]' | Elenco di tre indici di keypoint utilizzati per il monitoraggio degli allenamenti. Questi keypoint corrispondono ad articolazioni o parti del corpo, come spalle, gomiti e polsi, per esercizi quali flessioni, trazioni, squat e allenamenti addominali. |
Il AIGym solution supporta anche una serie di parametri di object tracking:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Specifica l'algoritmo di tracking da utilizzare, ad esempio: bytetrack.yaml oppure botsort.yaml. |
conf | float | 0.1 | Imposta la soglia di confidenza per i rilevamenti; valori inferiori consentono di tracciare più oggetti, ma potrebbero includere falsi positivi. |
iou | float | 0.7 | Imposta la soglia Intersection over Union (IoU) per filtrare i detect sovrapposti. |
classes | list | None | Filtra i risultati per indice di classe. Per esempio, classes=[0, 2, 3] traccia solo le classi specificate. |
verbose | bool | True | Controlla la visualizzazione dei risultati del tracking, fornendo un output visivo degli oggetti tracciati. |
device | str | None | Specifica il dispositivo per l'inferenza (ad esempio, cpu, cuda:0 oppure 0). Consente agli utenti di scegliere tra CPU, una GPU specifica o altri dispositivi di calcolo per l'esecuzione del modello. |
Inoltre, è possibile applicare le seguenti impostazioni 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 lo spessore della linea dei riquadri di delimitazione. Se None, lo spessore della linea viene regolato automaticamente in base alle dimensioni dell'immagine, fornendo una personalizzazione visiva per una maggiore chiarezza. |
show_conf | bool | True | Visualizza il punteggio di confidenza per ogni rilevamento accanto all'etichetta, offrendo una panoramica sulla certezza del modello per ogni rilevamento. |
show_labels | bool | True | Mostra le etichette per ogni rilevamento nell'output visivo, fornendo una comprensione immediata degli oggetti rilevati. |
FAQ
Come monitoro i miei allenamenti utilizzando Ultralytics YOLO26?
Per monitorare i tuoi allenamenti utilizzando Ultralytics YOLO26, puoi sfruttare le capacità di stima della posa per tracciare e analizzare in tempo reale i punti di riferimento e le articolazioni chiave del corpo. Questo ti consente di ricevere un feedback istantaneo sulla forma dell'esercizio, contare le ripetizioni e misurare le metriche di performance. Puoi iniziare utilizzando il codice di esempio fornito per flessioni, trazioni o esercizi addominali, come mostrato:
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))
gym = solutions.AIGym(
line_width=2,
show=True,
kpts=[6, 8, 10],
)
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = gym(im0)
cv2.destroyAllWindows()
Per un'ulteriore personalizzazione e impostazioni, puoi fare riferimento alla sezione AIGym nella documentazione.
Quali sono i vantaggi dell'utilizzo di Ultralytics YOLO26 per il monitoraggio degli allenamenti?
L'utilizzo di Ultralytics YOLO26 per il monitoraggio degli allenamenti offre numerosi vantaggi chiave:
- Prestazioni Ottimizzate: Adattando gli allenamenti in base ai dati di monitoraggio, puoi ottenere risultati migliori.
- Obiettivo raggiunto: Monitora e adatta facilmente gli obiettivi di fitness per progressi misurabili.
- Personalizzazione: Ottieni piani di allenamento personalizzati in base ai tuoi dati individuali per un'efficacia ottimale.
- Consapevolezza della salute: Rilevamento precoce di modelli che indicano potenziali problemi di salute o sovrallenamento.
- Decisioni Informate: Prendi decisioni basate sui dati per adeguare le routine e fissare obiettivi realistici.
Puoi guardare una dimostrazione video su YouTube per vedere questi vantaggi in azione.
Quanto è accurato Ultralytics YOLO26 nel detect e track degli esercizi?
Ultralytics YOLO26 è estremamente accurato nel detect e track degli esercizi grazie alle sue capacità all'avanguardia di stima della posa. Può tracciare con precisione i punti di riferimento e le articolazioni chiave del corpo, fornendo un feedback in tempo reale sulla forma dell'esercizio e sulle metriche di performance. I pesi pre-addestrati del modello e l'architettura robusta garantiscono elevata precisione e affidabilità. Per esempi reali, consulta la sezione applicazioni nel mondo reale della documentazione, che mostra il conteggio di flessioni e trazioni.
Posso usare Ultralytics YOLO26 per routine di allenamento personalizzate?
Sì, Ultralytics YOLO26 può essere adattato per routine di allenamento personalizzate. La AIGym la classe supporta diversi tipi di posa come pushup, pullup, e abworkout. Puoi specificare punti chiave e angoli per detect esercizi specifici. Ecco un esempio di configurazione:
from ultralytics import solutions
gym = solutions.AIGym(
line_width=2,
show=True,
kpts=[6, 8, 10], # For pushups - can be customized for other exercises
)
Per maggiori dettagli sull'impostazione degli argomenti, consultare la sezione Argomenti AIGym sezione. Questa flessibilità ti consente di monitorare vari esercizi e personalizzare le routine in base alle tue obiettivi di fitness.
Come posso salvare l'output del monitoraggio degli allenamenti utilizzando Ultralytics YOLO26?
Per salvare l'output del monitoraggio dell'allenamento, puoi modificare il codice per includere un video writer che salva i frame elaborati. Ecco un 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))
video_writer = cv2.VideoWriter("workouts.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
gym = solutions.AIGym(
line_width=2,
show=True,
kpts=[6, 8, 10],
)
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = gym(im0)
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
Questa configurazione scrive il video monitorato in un file di output, consentendoti di rivedere le tue prestazioni di allenamento in un secondo momento o di condividerlo con gli allenatori per un feedback aggiuntivo.

