YOLO Vision 2026:

Monitoraggio degli allenamenti con Ultralytics YOLO26#

Open Workouts Monitoring In Colab

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 allenamentiMonitoraggio degli allenamenti
YOLO push-ups counting with pose estimationYOLO pull-ups counting with pose estimation
Conteggio flessioniConteggio 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.

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 (KeyPoints)#

YOLO pose estimation keypoints order diagram

Argomenti di AIGym#

Ecco una tabella con gli argomenti di AIGym:

ArgomentoTipoPredefinitoDescrizione
modelstrNonePercorso verso un file del modello Ultralytics YOLO.
up_anglefloat145.0Soglia dell'angolo per la posa 'su'.
down_angleint90Soglia dell'angolo per la posa 'giù'.
kptslist[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_widthint2Spessore della linea per i box, i keypoint e i conteggi disegnati dalla soluzione.
verboseboolTrueAbilita 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:

ArgomentoTipoPredefinitoDescrizione
trackerstr'botsort.yaml'Specifica l'algoritmo di tracciamento da utilizzare. Opzioni integrate: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Imposta la soglia di confidenza per i rilevamenti; valori più bassi consentono di tracciare più oggetti ma possono includere falsi positivi.
ioufloat0.7Imposta la soglia Intersection over Union (IoU) per filtrare i rilevamenti sovrapposti.
classeslistNoneFiltra i risultati per indice di classe. Ad esempio, classes=[0, 2, 3] traccia solo le classi specificate.
devicestrNoneSpecifica 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:

ArgomentoTipoPredefinitoDescrizione
showboolFalseSe True, mostra le immagini o i video annotati in una finestra. Utile per un riscontro visivo immediato durante lo sviluppo o i test.
show_confboolTrueMostra il punteggio di confidenza per ogni rilevamento accanto all'etichetta. Fornisce informazioni sulla certezza del modello per ogni rilevamento.
show_labelsboolTrueMostra 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 AIGym rileva le ripetizioni degli esercizi utilizzando gli argomenti up_angle, down_angle e kpts. 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.

Commenti