Ultralytics YOLO27:

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 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 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 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.

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 della stima della posa con YOLO

Argomenti AIGym#

Ecco una tabella con gli argomenti AIGym:

ArgomentoTipoPredefinitoDescrizione
modelstrNonePercorso al file del modello Ultralytics YOLO.
up_anglefloat145.0Soglia dell'angolo per la posa "up".
down_angleint90Soglia dell'angolo per la posa "down".
kptslist[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_widthint2Spessore delle linee per i riquadri, i punti chiave e i conteggi disegnati dalla soluzione.
verboseboolTrueAbilita 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:

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 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 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_detint300Numero massimo di rilevamenti conservati per fotogramma prima del tracciamento, limitando gli oggetti elaborati da una soluzione in scene dense.
quantizeint or strNonePrecisione 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:

ArgomentoTipoPredefinitoDescrizione
showboolFalseSe 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_confboolTrueVisualizza il punteggio di confidenza per ogni rilevazione accanto all'etichetta. Fornisce informazioni sul grado di certezza del modello per ogni rilevazione.
show_labelsboolTrueVisualizza 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 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 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.

Commenti