Monitorização de treinos utilizando Ultralytics YOLO26

Abrir Monitorização de Treinos no Colab

A monitorização de treinos através da estimativa de pose com o Ultralytics YOLO26 melhora a avaliação de exercícios ao rastrear com precisão os principais pontos de referência e articulações do corpo em tempo real. Esta tecnologia fornece feedback instantâneo sobre a forma do exercício, rastreia rotinas de treino e mede métricas de desempenho, otimizando as sessões de treino para utilizadores e treinadores.



Watch: How to Monitor Workout Exercises with Ultralytics YOLO | Squats, Leg Extension, Pushups and More

Vantagens da Monitorização de Treinos

  • Desempenho Otimizado: Adaptação de treinos com base em dados de monitorização para melhores resultados.
  • Alcance de Objetivos: Rastreia e ajusta metas de fitness para um progresso mensurável.
  • Personalização: Planos de treino personalizados com base em dados individuais para maior eficácia.
  • Consciência de Saúde: Deteção precoce de padrões que indicam problemas de saúde ou sobretreino.
  • Decisões Informadas: Decisões baseadas em dados para ajustar rotinas e definir objetivos realistas.

Aplicações no Mundo Real

Monitorização de TreinosMonitorização de Treinos
Contagem de flexões YOLO com estimativa de poseContagem de elevações YOLO com estimativa de pose
Contagem de FlexõesContagem de Elevações
Monitorização de Treinos utilizando 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]"

Mapa de KeyPoints

Diagrama da ordem dos keypoints da estimativa de pose YOLO

Argumentos do AIGym

Aqui tens uma tabela com os argumentos do AIGym:

ArgumentoTipoPredefiniçãoDescrição
modelstrNoneCaminho para um arquivo de modelo Ultralytics YOLO.
up_anglefloat145.0Limite de ângulo para a pose 'up' (subida).
down_angleint90Limite de ângulo para a pose 'down' (descida).
kptslist[int]'[6, 8, 10]'Lista de três índices de pontos-chave usados para monitorar exercícios. Esses pontos-chave correspondem a articulações ou partes do corpo, como ombros, cotovelos e pulsos, para exercícios como flexões, barras, agachamentos e abdominais.

A solução AIGym também suporta uma série de parâmetros de rastreamento de objetos:

ArgumentoTipoPredefiniçãoDescrição
trackerstr'botsort.yaml'Especifica o algoritmo de rastreamento a ser usado, por exemplo, bytetrack.yaml ou botsort.yaml.
conffloat0.1Define o limite de confiança para as detecções; valores mais baixos permitem que mais objetos sejam rastreados, mas podem incluir falsos positivos.
ioufloat0.7Define o limite de Intersection over Union (IoU) para filtrar detecções sobrepostas.
classeslistNoneFiltra resultados pelo índice da classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas.
verboseboolTrueControla a exibição dos resultados de rastreamento, fornecendo uma saída visual dos objetos rastreados.
devicestrNoneEspecifica o dispositivo para inferência (por exemplo, cpu, cuda:0 ou 0). Permite que os usuários selecionem entre CPU, uma GPU específica ou outros dispositivos de computação para a execução do modelo.

Adicionalmente, as seguintes definições de visualização podem ser aplicadas:

ArgumentoTipoPredefiniçãoDescrição
showboolFalseSe True, exibe as imagens ou vídeos anotados numa janela. Útil para feedback visual imediato durante o desenvolvimento ou teste.
line_widthint or NoneNoneEspecifica a largura da linha das caixas delimitadoras. Se None, a largura da linha é ajustada automaticamente com base no tamanho da imagem. Oferece personalização visual para clareza.
show_confboolTrueExibe a pontuação de confiança para cada deteção ao lado do rótulo. Dá uma noção da certeza do modelo para cada deteção.
show_labelsboolTrueExibe rótulos para cada deteção na saída visual. Proporciona uma compreensão imediata dos objetos detetados.

FAQ

Como posso monitorizar os meus treinos utilizando Ultralytics YOLO26?

Para monitorizar os teus treinos utilizando Ultralytics YOLO26, podes utilizar as capacidades de estimativa de pose para rastrear e analisar os principais pontos de referência e articulações do corpo em tempo real. Isto permite-te receber feedback instantâneo sobre a tua forma de exercício, contar repetições e medir métricas de desempenho. Podes começar utilizando o código de exemplo fornecido para flexões, elevações ou treinos de abdominais, como mostrado:

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

Para mais personalização e definições, podes consultar a secção AIGym na documentação.

Quais são os benefícios de usar Ultralytics YOLO26 para monitorização de treinos?

Usar Ultralytics YOLO26 para monitorização de treinos proporciona vários benefícios fundamentais:

  • Desempenho Otimizado: Ao adaptar os treinos com base em dados de monitorização, podes obter melhores resultados.
  • Alcance de Objetivos: Rastreia e ajusta facilmente as metas de fitness para um progresso mensurável.
  • Personalização: Obtém planos de treino personalizados com base nos teus dados individuais para uma eficácia ótima.
  • Consciência de Saúde: Deteção precoce de padrões que indicam potenciais problemas de saúde ou sobretreino.
  • Decisões Informadas: Toma decisões baseadas em dados para ajustar rotinas e definir objetivos realistas.

Podes ver uma demonstração em vídeo no YouTube para ver estes benefícios em ação.

Qual a precisão do Ultralytics YOLO26 na deteção e rastreamento de exercícios?

O Ultralytics YOLO26 é altamente preciso na deteção e rastreamento de exercícios devido às suas capacidades de estimativa de pose de última geração. Consegue rastrear com precisão os principais pontos de referência e articulações do corpo, fornecendo feedback em tempo real sobre a forma do exercício e métricas de desempenho. Os pesos pré-treinados e a arquitetura robusta do modelo garantem uma precisão e fiabilidade elevadas. Para exemplos do mundo real, consulta a secção de aplicações do mundo real na documentação, que demonstra a contagem de flexões e elevações.

Posso usar Ultralytics YOLO26 para rotinas de treino personalizadas?

Sim, o Ultralytics YOLO26 pode ser adaptado para rotinas de treino personalizadas. A classe AIGym suporta diferentes tipos de pose, tais como pushup, pullup e abworkout. Podes especificar keypoints e ângulos para detetar exercícios específicos. Aqui tens um exemplo de configuração:

from ultralytics import solutions

gym = solutions.AIGym(
    line_width=2,
    show=True,
    kpts=[6, 8, 10],  # For pushups - can be customized for other exercises
)

Para mais detalhes sobre a definição de argumentos, consulta a secção Argumentos AIGym. Esta flexibilidade permite-te monitorizar vários exercícios e personalizar rotinas com base nos teus objetivos de fitness.

Como posso guardar a saída da monitorização de treinos utilizando Ultralytics YOLO26?

Para guardar a saída da monitorização de treinos, podes modificar o código para incluir um gravador de vídeo que guarde os frames processados. Aqui tens um exemplo:

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

Esta configuração grava o vídeo monitorizado num ficheiro de saída, permitindo-te rever o teu desempenho de treino mais tarde ou partilhá-lo com treinadores para feedback adicional.

Comentários