Ultralytics YOLO27:
Get Started

Monitoraggio degli allenamenti con Ultralytics YOLO26#

Open Workouts Monitoring In Colab

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 allenamentiMonitoraggio degli allenamenti
Conteggio delle flessioni con YOLO tramite stima della posaConteggio delle trazioni con YOLO tramite stima della posa
Conteggio delle flessioniConteggio 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.

Monitoraggio degli allenamenti con 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]"

Mappa dei punti chiave#

Diagramma dell'ordine dei punti chiave per la stima della posa con YOLO

Argomenti di AIGym#

Ecco una tabella con gli argomenti di AIGym:

ArgomentoTipoPredefinitoDescrizione
modelstrNonePercorso a un file modello Ultralytics YOLO.
up_anglefloat145.0Soglia angolare per la posa «verso l'alto».
down_anglefloat90.0Soglia angolare per la posa «verso il basso».
kptslist[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_widthint2Spessore delle linee dei riquadri, dei punti chiave e dei conteggi disegnati dalla soluzione.
verboseboolTrueAbilita 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:

ArgomentoTipoPredefinitoDescrizione
trackerstr'tracktrack.yaml'Specifica l'algoritmo di tracciamento da usare. Opzioni integrate: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Imposta la soglia di confidenza per le rilevazioni; valori più bassi consentono di tracciare più oggetti, ma possono includere falsi positivi.
ioufloat0.7Imposta la soglia di Intersezione sull'unione (IoU) per filtrare le rilevazioni sovrapposte.
classeslistNoneFiltra i risultati in base all'indice della classe. Ad esempio, classes=[0, 2, 3] traccia solo le classi specificate.
devicestrNoneSpecifica 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.
imgszint or tuple640Dimensione 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_detint300Numero massimo di rilevazioni da mantenere per fotogramma prima del tracciamento, che limita gli oggetti elaborati da una soluzione nelle scene dense.
quantizeint or strNonePrecisione 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:

ArgomentoTipoPredefinitoDescrizione
showboolFalseSe 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_labelsboolTrueMostra 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 AIGym rileva le ripetizioni degli esercizi usando gli argomenti up_angle, down_angle e kpts. 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.

Commenti