Ultralytics YOLO27:
Get Started

Monitoramento de treinos com Ultralytics YOLO26#

Open Workouts Monitoring In Colab

O monitoramento de treinos por meio da estimativa de pose com Ultralytics YOLO26 aprimora a avaliação dos exercícios ao rastrear com precisão os principais pontos de referência e articulações do corpo em tempo real. Essa tecnologia fornece feedback instantâneo sobre a execução dos exercícios, acompanha as rotinas de treino e mede métricas de desempenho, otimizando as sessões de treinamento tanto para usuários quanto para treinadores.



Assista: Como monitorar exercícios físicos com Ultralytics YOLO | Agachamentos, extensão de pernas, flexões e muito mais

Vantagens do monitoramento de treinos#

  • Desempenho otimizado: personalize os treinos com base nos dados de monitoramento para obter melhores resultados.
  • Alcance de metas: acompanhe e ajuste metas de condicionamento físico para medir o progresso.
  • Personalização: planos de treino personalizados com base em dados individuais para maior eficácia.
  • Atenção à saúde: detecção precoce de padrões que indicam problemas de saúde ou excesso de treinamento.
  • Decisões informadas: decisões baseadas em dados para ajustar rotinas e definir metas realistas.

Aplicações no mundo real#

Monitoramento de treinosMonitoramento de treinos
Contagem de flexões com YOLO e estimativa de poseContagem de barras com YOLO e estimativa de pose
Contagem de flexõesContagem de barras

Monitore treinos com YOLO26#

A solução AIGym executa estimativa de pose e conta repetições medindo o ângulo formado por três pontos-chave enquanto um membro se move entre os limites up_angle e down_angle. Escolha os pontos-chave do exercício que você quer acompanhar com kpts e execute a solução no vídeo usando a API do Python ou a CLI.

Monitoramento de treinos com 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 pontos-chave#

Diagrama da ordem dos pontos-chave da estimativa de pose do YOLO

Argumentos de AIGym#

Aqui está uma tabela com os argumentos de AIGym:

ArgumentoTipoPadrãoDescrição
modelstrNoneCaminho para um arquivo de modelo Ultralytics YOLO.
up_anglefloat145.0Limiar de ângulo para a pose de 'subida'.
down_anglefloat90.0Limiar de ângulo para a pose de '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, em exercícios como flexões, barras, agachamentos e exercícios abdominais.
line_widthint2Espessura das linhas das caixas, dos pontos-chave e das contagens desenhados pela solução.
verboseboolTrueAtiva o registro por quadro da solução, com o formato da entrada, as contagens por classe e a velocidade de processamento. A chamada de rastreamento em si é sempre silenciosa.

A solução AIGym também oferece suporte a vários parâmetros de rastreamento de objetos:

ArgumentoTipoPadrãoDescrição
trackerstr'tracktrack.yaml'Especifica o algoritmo de rastreamento a utilizar. Opções integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Define o limiar de confiança das deteções; valores mais baixos permitem rastrear mais objetos, mas podem incluir falsos positivos.
ioufloat0.7Define o limiar de interseção sobre união (IoU) para filtrar deteções sobrepostas.
classeslistNoneFiltra os resultados pelo índice da classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas.
devicestrNoneEspecifica o dispositivo para a inferência (por exemplo, cpu, cuda:0 ou 0). Permite escolher entre CPU, uma GPU específica ou outros dispositivos de computação para executar o modelo.
imgszint or tuple640Tamanho da imagem de destino para a inferência: um número inteiro para uma imagem quadrada ou um par (height, width). As dimensões são ajustadas ao stride do modelo.
max_detint300Número máximo de deteções mantidas por fotograma antes do rastreamento, limitando os objetos que uma solução processa em cenas densas.
quantizeint or strNonePrecisão de inferência: 16 (FP16) ou 32/unset (FP32) para modelos PyTorch e TorchScript fora da CPU; os outros formatos usam a precisão selecionada pelo artefato e pelo ambiente de execução. Substitui o argumento obsoleto half.

Além disso, é possível aplicar as seguintes configurações de visualização:

ArgumentoTipoPadrãoDescrição
showboolFalseSe True, exibe as imagens ou os vídeos anotados em uma janela. Útil para obter feedback visual imediato durante o desenvolvimento ou os testes.
show_labelsboolTrueExibe os rótulos de cada detecção na saída visual. Permite identificar imediatamente os objetos detectados.

Perguntas frequentes#

  • Para monitorar seus treinos usando Ultralytics YOLO26, você pode aproveitar os recursos de estimativa de pose para rastrear e analisar os principais pontos de referência e articulações do corpo em tempo real. Isso permite receber feedback instantâneo sobre a execução dos exercícios, contar repetições e medir métricas de desempenho. Você pode começar usando o código de exemplo fornecido para flexões, barras ou exercícios 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)
    
    cap.release()
    cv2.destroyAllWindows()

    Para personalizar e ajustar as configurações, consulte a seção AIGym da documentação.

  • Usar Ultralytics YOLO26 para monitorar treinos oferece vários benefícios importantes:

    • Desempenho otimizado: ao personalizar os treinos com base nos dados de monitoramento, você pode obter melhores resultados.
    • Alcance de metas: acompanhe e ajuste facilmente suas metas de condicionamento físico para medir o progresso.
    • Personalização: obtenha planos de treino personalizados com base nos seus dados individuais para alcançar a máxima eficácia.
    • Atenção à saúde: detecção precoce de padrões que indicam possíveis problemas de saúde ou excesso de treinamento.
    • Decisões informadas: tome decisões baseadas em dados para ajustar rotinas e definir metas realistas.

    Você pode assistir a uma demonstração em vídeo no YouTube para ver esses benefícios na prática.

  • Ultralytics YOLO26 é altamente preciso na detecção e no rastreamento de exercícios graças aos seus recursos de ponta de estimativa de pose. Ele rastreia com precisão os principais pontos de referência e articulações do corpo, fornecendo feedback em tempo real sobre a execução dos exercícios e as métricas de desempenho. Os pesos pré-treinados e a arquitetura robusta do modelo garantem alta precisão e confiabilidade. Para ver exemplos práticos, consulte a seção de aplicações no mundo real da documentação, que apresenta a contagem de flexões e barras.

  • Sim, Ultralytics YOLO26 pode ser adaptado para rotinas de treino personalizadas. A classe AIGym detecta repetições de exercícios usando os argumentos up_angle, down_angle e kpts. Você pode especificar pontos-chave e ângulos para detectar exercícios específicos. Veja um exemplo de configuração:

    from ultralytics import solutions
    
    gym = solutions.AIGym(
        line_width=2,
        show=True,
        kpts=[6, 8, 10],  # Para flexões — pode ser personalizado para outros exercícios
    )

    Para saber mais sobre como definir argumentos, consulte a seção Argumentos AIGym. Essa flexibilidade permite monitorar vários exercícios e personalizar rotinas de acordo com suas metas de condicionamento físico.

  • Para salvar os resultados do monitoramento de treinos, você pode modificar o código para incluir um gravador de vídeo que salve os quadros processados. Veja 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()

    Essa configuração grava o vídeo monitorado em um arquivo de saída, permitindo que você revise seu desempenho no treino mais tarde ou compartilhe o vídeo com treinadores para receber feedback adicional.

Comentários