Monitoraggio degli allenamenti con Ultralytics YOLO26#
Il monitoraggio degli allenamenti tramite la stima della posa con Ultralytics YOLO26 migliora la valutazione degli esercizi grazie al tracciamento accurato in tempo reale dei punti di riferimento e delle articolazioni principali del corpo. Questa tecnologia fornisce un feedback immediato sulla corretta esecuzione degli esercizi, traccia le routine di allenamento e misura le metriche delle prestazioni, ottimizzando le sessioni per chi si allena e per i trainer.
Guarda: Come monitorare gli esercizi di allenamento con Ultralytics YOLO | Squat, estensioni delle gambe, flessioni e altro
Vantaggi del monitoraggio degli allenamenti#
- Prestazioni ottimizzate: personalizza gli allenamenti sulla base dei dati di monitoraggio per ottenere risultati migliori.
- Raggiungimento degli obiettivi: monitora e modifica gli obiettivi di fitness per misurare i progressi.
- Personalizzazione: crea piani di allenamento su misura, basati sui dati individuali, per essere più efficaci.
- Consapevolezza della salute: rileva precocemente schemi che indicano problemi di salute o sovrallenamento.
- Decisioni consapevoli: prendi decisioni basate sui dati per modificare le routine e fissare obiettivi realistici.
Applicazioni nel mondo reale#
| Monitoraggio degli allenamenti | Monitoraggio degli allenamenti |
|---|---|
![]() | ![]() |
| Conteggio delle flessioni | Conteggio delle 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. Seleziona con kpts i punti chiave dell'esercizio che vuoi monitorare, quindi esegui la soluzione sul 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#

Argomenti di AIGym#
Ecco una tabella con gli argomenti di AIGym:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
model | str | None | Percorso a un file modello Ultralytics YOLO. |
up_angle | float | 145.0 | Soglia angolare per la posa «verso l'alto». |
down_angle | float | 90.0 | Soglia angolare per la posa «verso il basso». |
kpts | list[int] | [6, 8, 10] | Elenco di tre indici di punti chiave usati per monitorare gli allenamenti. Questi punti chiave corrispondono alle articolazioni o alle parti del corpo, come spalle, gomiti e polsi, per esercizi come flessioni, trazioni, squat ed esercizi per gli addominali. |
line_width | int | 2 | Spessore delle linee dei riquadri, dei punti chiave e dei conteggi disegnati dalla soluzione. |
verbose | bool | True | Abilita il log per frame della soluzione, con forma dell'input, conteggi per classe e velocità di elaborazione. La chiamata di tracking è sempre silenziosa. |
La soluzione AIGym supporta anche una serie di parametri per il tracciamento degli oggetti:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
tracker | str | 'tracktrack.yaml' | Specifica l'algoritmo di tracciamento da usare. Opzioni integrate: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Imposta la soglia di confidenza per le rilevazioni; valori più bassi consentono di tracciare più oggetti, ma possono includere falsi positivi. |
iou | float | 0.7 | Imposta la soglia di Intersezione sull'unione (IoU) per filtrare le rilevazioni sovrapposte. |
classes | list | None | Filtra i risultati in base all'indice della classe. Ad esempio, classes=[0, 2, 3] traccia solo le classi specificate. |
device | str | None | Specifica il dispositivo per l'inferenza (ad es. cpu, cuda:0 o 0). Consente di scegliere tra CPU, una GPU specifica o altri dispositivi di calcolo per l'esecuzione del modello. |
imgsz | int or tuple | 640 | Dimensione dell'immagine di destinazione per l'inferenza: un intero per un'immagine quadrata o una coppia (height, width). Le forme vengono adattate allo stride del modello. |
max_det | int | 300 | Numero massimo di rilevazioni da mantenere per fotogramma prima del tracciamento, che limita gli oggetti elaborati da una soluzione nelle scene dense. |
quantize | int or str | None | Precisione dell'inferenza: 16 (FP16) oppure 32/non impostata (FP32) per i modelli PyTorch e TorchScript; gli altri formati eseguono i calcoli con la precisione scelta dall'artefatto e dal runtime. Sostituisce il flag deprecato half. |
Inoltre, puoi applicare 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 ottenere un riscontro visivo immediato durante lo sviluppo o i test. |
show_labels | bool | True | Mostra le etichette di ogni rilevamento nell'output visivo. Permette di identificare immediatamente gli oggetti rilevati. |
Domande frequenti#
Per monitorare i tuoi allenamenti con Ultralytics YOLO26, puoi usare le funzionalità di stima della posa per tracciare e analizzare in tempo reale i punti di riferimento e le articolazioni principali del corpo. In questo modo puoi ricevere un feedback immediato sulla corretta esecuzione degli esercizi, contare le ripetizioni e misurare le metriche delle prestazioni. Puoi iniziare usando il codice di esempio fornito per le flessioni, le trazioni o gli esercizi per gli addominali, come mostrato di seguito:
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) cap.release() cv2.destroyAllWindows()Per ulteriori opzioni di personalizzazione e impostazioni, consulta la sezione AIGym della documentazione.
Usare Ultralytics YOLO26 per monitorare gli allenamenti offre diversi vantaggi chiave:
- Prestazioni ottimizzate: personalizzando gli allenamenti sulla base dei dati di monitoraggio, puoi ottenere risultati migliori.
- Raggiungimento degli obiettivi: monitora e modifica facilmente gli obiettivi di fitness per misurare i progressi.
- Personalizzazione: ottieni piani di allenamento su misura, basati sui tuoi dati individuali, per la massima efficacia.
- Consapevolezza della salute: rileva precocemente schemi che indicano possibili problemi di salute o sovrallenamento.
- Decisioni consapevoli: prendi decisioni basate sui dati per modificare le routine e fissare obiettivi realistici.
Puoi guardare una dimostrazione video su YouTube per vedere questi vantaggi in azione.
Ultralytics YOLO26 rileva e traccia gli esercizi con grande precisione grazie alle sue funzionalità all'avanguardia di stima della posa. È in grado di tracciare con precisione i punti di riferimento e le articolazioni principali del corpo, fornendo feedback in tempo reale sulla corretta esecuzione degli esercizi e sulle metriche delle prestazioni. I pesi preaddestrati del modello e la sua architettura robusta garantiscono elevata precisione e affidabilità. Per vedere esempi pratici, consulta la sezione applicazioni nel mondo reale della documentazione, che mostra il conteggio delle flessioni e delle trazioni.
Sì, puoi adattare Ultralytics YOLO26 a routine di allenamento personalizzate. La classe
AIGymrileva le ripetizioni degli esercizi usando gli argomentiup_angle,down_angleekpts. Puoi specificare i punti chiave e gli angoli per rilevare esercizi specifici. Ecco un esempio di configurazione:from ultralytics import solutions gym = solutions.AIGym( line_width=2, show=True, kpts=[6, 8, 10], # Per le flessioni: si può personalizzare per altri esercizi )Per ulteriori informazioni sulla configurazione degli argomenti, consulta la sezione Argomenti
AIGym. Questa flessibilità ti permette di monitorare diversi esercizi e personalizzare le routine in base ai tuoi obiettivi di fitness.Per salvare l'output del monitoraggio degli allenamenti, puoi modificare il codice aggiungendo un writer video 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 salva il video monitorato in un file di output, così puoi rivedere in seguito le prestazioni del tuo allenamento o condividerlo con i trainer per ricevere ulteriori feedback.

