Monitoraggio degli allenamenti con Ultralytics YOLO26#
Il monitoraggio degli allenamenti tramite la stima dei punti chiave con Ultralytics YOLO26 migliora la valutazione degli esercizi tracciando con precisione i punti di riferimento e le articolazioni del corpo in tempo reale. Questa tecnologia fornisce un feedback immediato sulla postura durante l'esercizio, traccia le routine di allenamento e misura le metriche delle prestazioni, ottimizzando le sessioni di allenamento sia per gli utenti che per i trainer.
Watch: How to Monitor Workout Exercises with Ultralytics YOLO | Squats, Leg Extension, Pushups and More
Vantaggi del monitoraggio degli allenamenti#
- Prestazioni ottimizzate: Personalizzazione degli allenamenti basata sui dati di monitoraggio per ottenere risultati migliori.
- Raggiungimento degli obiettivi: Traccia e adatta gli obiettivi di fitness per un progresso misurabile.
- Personalizzazione: Piani di allenamento personalizzati basati sui dati individuali per la massima efficacia.
- Consapevolezza della salute: Rilevamento precoce di schemi che indicano problemi di salute o sovrallenamento.
- Decisioni informate: Decisioni basate sui dati per adattare le routine e stabilire obiettivi realistici.
Applicazioni nel mondo reale#
| Monitoraggio degli allenamenti | Monitoraggio degli allenamenti |
|---|---|
![]() | ![]() |
| Conteggio flessioni | Conteggio trazioni |
Monitora gli allenamenti con YOLO26#
La soluzione AIGym esegue la stima della posa e conta le ripetizioni misurando l'angolo formato da tre punti chiave mentre un arto si muove tra le soglie up_angle e down_angle. Scegli i punti chiave per l'esercizio che vuoi tracciare con kpts, quindi esegui la soluzione sul tuo video con l'API Python o la CLI.
# 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]"Mappa dei punti chiave (KeyPoints)#

Argomenti di AIGym#
Ecco una tabella con gli argomenti di AIGym:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
model | str | None | Percorso verso un file del modello Ultralytics YOLO. |
up_angle | float | 145.0 | Soglia dell'angolo per la posa 'su'. |
down_angle | int | 90 | Soglia dell'angolo per la posa 'giù'. |
kpts | list[int] | '[6, 8, 10]' | Lista di tre indici di punti chiave usati per monitorare gli allenamenti. Questi punti chiave corrispondono alle articolazioni del corpo o parti, come spalle, gomiti e polsi, per esercizi come flessioni, trazioni, squat e addominali. |
line_width | int | 2 | Spessore della linea per i box, i keypoint e i conteggi disegnati dalla soluzione. |
verbose | bool | True | Abilita il registro per fotogramma della soluzione relativo a forma dell'input, conteggi delle classi e velocità di elaborazione. La chiamata di tracking in sé è sempre silenziosa. |
La soluzione AIGym supporta anche una serie di parametri di tracciamento degli oggetti:
| 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.25 | 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 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. |
device | str | None | Specifica il dispositivo per l'inferenza (ad esempio, cpu, cuda:0 o 0). Consente agli utenti di scegliere tra CPU, una specifica GPU o altri dispositivi di calcolo per l'esecuzione del modello. |
Inoltre, possono essere applicate le seguenti impostazioni di visualizzazione:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
show | bool | False | Se True, mostra le immagini o i video annotati in una finestra. Utile per un riscontro visivo immediato durante lo sviluppo o i test. |
show_conf | bool | True | Mostra il punteggio di confidenza per ogni rilevamento accanto all'etichetta. Fornisce informazioni sulla certezza del modello per ogni rilevamento. |
show_labels | bool | True | Mostra le etichette per ogni rilevamento nell'output visivo. Offre una comprensione immediata degli oggetti rilevati. |
FAQ#
Per monitorare i tuoi allenamenti usando Ultralytics YOLO26, puoi sfruttare le capacità di stima della posa per tracciare e analizzare i punti di riferimento e le articolazioni del corpo in tempo reale. Questo ti consente di ricevere un feedback immediato sulla postura durante l'esercizio, contare le ripetizioni e misurare le metriche delle prestazioni. Puoi iniziare usando il codice di esempio fornito per flessioni, trazioni o 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 ulteriori personalizzazioni e impostazioni, puoi fare riferimento alla sezione AIGym nella documentazione.
Utilizzare Ultralytics YOLO26 per il monitoraggio degli allenamenti offre diversi vantaggi chiave:
- Prestazioni ottimizzate: Personalizzando gli allenamenti basati sui dati di monitoraggio, puoi ottenere risultati migliori.
- Raggiungimento degli obiettivi: Traccia e adatta facilmente gli obiettivi di fitness per un progresso misurabile.
- Personalizzazione: Ottieni piani di allenamento personalizzati basati sui tuoi dati individuali per un'efficacia ottimale.
- Consapevolezza della salute: Rilevamento precoce di schemi che indicano potenziali problemi di salute o sovrallenamento.
- Decisioni informate: Prendi decisioni basate sui dati per adattare le routine e stabilire obiettivi realistici.
Puoi guardare una dimostrazione video su YouTube per vedere questi vantaggi in azione.
Ultralytics YOLO26 è estremamente preciso nel rilevare e tracciare gli esercizi grazie alle sue funzionalità avanzate di stima della posa. Può tracciare con precisione i punti di riferimento e le articolazioni del corpo, fornendo feedback in tempo reale sulla forma dell'esercizio e sulle metriche delle prestazioni. I pesi preaddestrati e la robusta architettura del modello garantiscono un'elevata precisione e affidabilità. Per esempi reali, dai un'occhiata alla sezione applicazioni del mondo reale nella documentazione, che mostra il conteggio di flessioni e trazioni.
Sì, Ultralytics YOLO26 può essere adattato per routine di allenamento personalizzate. La classe
AIGymrileva le ripetizioni degli esercizi utilizzando gli argomentiup_angle,down_angleekpts. Puoi specificare punti chiave e angoli per rilevare esercizi specifici. Ecco una configurazione di esempio: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 sulla configurazione degli argomenti, fai riferimento alla sezione Argomenti
AIGym. Questa flessibilità ti consente di monitorare vari esercizi e personalizzare le routine in base ai tuoi obiettivi di fitness.Per salvare l'output del monitoraggio degli allenamenti, puoi modificare il codice per includere un video writer che salvi i fotogrammi 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, permettendoti di rivedere le tue prestazioni di allenamento in seguito o di condividerle con i trainer per un feedback aggiuntivo.

