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 principali punti di riferimento e le articolazioni del corpo in tempo reale. Questa tecnologia fornisce un feedback immediato sulla tecnica di esecuzione, tiene traccia delle routine di allenamento e misura le metriche delle prestazioni, ottimizzando le sessioni di allenamento sia per gli utenti sia per gli istruttori.
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 sulla base dei dati di monitoraggio per ottenere risultati migliori.
- Raggiungimento degli obiettivi: Monitoraggio e modifica degli obiettivi di fitness per ottenere progressi misurabili.
- Personalizzazione: Piani di allenamento personalizzati sulla base dei dati individuali per una maggiore efficacia.
- Consapevolezza della salute: Rilevamento precoce di schemi che indicano problemi di salute o sovrallenamento.
- Decisioni consapevoli: 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 sposta tra le soglie up_angle e down_angle. Scegli i punti chiave dell'esercizio che vuoi monitorare 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#

Argomenti AIGym#
Ecco una tabella con gli argomenti AIGym:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
model | str | None | Percorso al file del modello Ultralytics YOLO. |
up_angle | float | 145.0 | Soglia dell'angolo per la posa "up". |
down_angle | int | 90 | Soglia dell'angolo per la posa "down". |
kpts | list[int] | '[6, 8, 10]' | Elenco di tre indici dei punti chiave utilizzati per monitorare gli allenamenti. Questi punti chiave corrispondono ad articolazioni o parti del corpo, come spalle, gomiti e polsi, per esercizi come flessioni, trazioni, squat e allenamenti per gli addominali. |
line_width | int | 2 | Spessore delle linee per i riquadri, i punti chiave e i conteggi disegnati dalla soluzione. |
verbose | bool | True | Abilita il registro per fotogramma della soluzione, con forma dell'input, conteggi delle classi e velocità di elaborazione. La chiamata di tracciamento è sempre silenziosa. |
La soluzione AIGym supporta anche una serie di parametri per il 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 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 inferenza di destinazione: un numero intero per un'immagine quadrata o una coppia (height, width). Le forme vengono regolate in base al passo del modello. |
max_det | int | 300 | Numero massimo di rilevamenti conservati per fotogramma prima del tracciamento, limitando gli oggetti elaborati da una soluzione in scene dense. |
quantize | int or str | None | Precisione dell'inferenza: 16 (FP16) o 32/non impostato (FP32) per i modelli PyTorch e TorchScript; altri formati vengono calcolati alla precisione selezionata dal loro artefatto e runtime. Sostituisce il flag deprecato half. |
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 ottenere un feedback visivo immediato durante lo sviluppo o i test. |
show_conf | bool | True | Visualizza il punteggio di confidenza per ogni rilevazione accanto all'etichetta. Fornisce informazioni sul grado di certezza del modello per ogni rilevazione. |
show_labels | bool | True | Visualizza le etichette per ogni rilevazione nell'output visivo. Consente di comprendere immediatamente gli oggetti rilevati. |
FAQ#
Per monitorare i tuoi allenamenti con Ultralytics YOLO26, puoi utilizzare le funzionalità di stima della posa per tracciare e analizzare i principali punti di riferimento e le articolazioni del corpo in tempo reale. In questo modo puoi ricevere un feedback immediato sulla tecnica di esecuzione, contare le ripetizioni e misurare le metriche delle prestazioni. Puoi iniziare utilizzando il codice di esempio fornito per flessioni, trazioni o 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) cv2.destroyAllWindows()Per ulteriori personalizzazioni e impostazioni, puoi fare riferimento alla sezione AIGym della documentazione.
L'utilizzo di Ultralytics YOLO26 per il monitoraggio degli 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 ottenere progressi misurabili.
- Personalizzazione: Ottieni piani di allenamento personalizzati sulla base dei tuoi dati individuali per la massima efficacia.
- Consapevolezza della salute: Rilevamento precoce di schemi che indicano potenziali 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 è altamente preciso nel rilevare e tracciare gli esercizi grazie alle sue funzionalità all'avanguardia di stima della posa. È in grado di tracciare con precisione i principali punti di riferimento e le articolazioni del corpo, fornendo feedback in tempo reale sulla tecnica di esecuzione e sulle metriche delle prestazioni. I pesi preaddestrati del modello e la sua solida architettura 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.
Sì, Ultralytics YOLO26 può essere adattato a 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 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 ulteriori dettagli sulla configurazione degli argomenti, consulta la 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 in modo da includere un oggetto per la scrittura dei 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, consentendoti di rivedere in seguito le prestazioni del tuo allenamento o di condividerlo con gli istruttori per ricevere ulteriore feedback.

