Saúde

Estimação de Pose Humana por IA em Aplicativos de Fitness

mm
Adicione Unite.AI às suas fontes preferidas no Google

Por Maksym Tatariants, Engenheiro de Ciência de Dados da MobiDev.

A estimação de pose humana refere-se a uma tecnologia – relativamente nova, mas evoluindo rapidamente – que desempenha um papel significativo em aplicativos de fitness e dança, permitindo-nos colocar conteúdo digital sobre o mundo real.

Em resumo, o conceito de estimação de pose humana é uma tecnologia baseada em visão computacional capaz de detectar e processar a postura humana. A parte mais importante e central dessa tecnologia é a modelagem do corpo humano. Três modelos de corpo são mais proeminentes nos sistemas atuais de estimação de pose humana – baseado em esqueleto, baseado em contorno e baseado em volume.

Modelo Baseado em Esqueleto

Este modelo é composto por um conjunto de articulações (pontos-chave), como joelhos, tornozelos, pulsos, cotovelos, ombros e a orientação dos membros do corpo. Este modelo é notável por sua flexibilidade e, como tal, é adequado para estimação de pose humana tridimensional e bidimensional. Com modelagem tridimensional, a solução usa uma imagem RGB e encontra as coordenadas X, Y e Z das articulações. Com modelagem bidimensional, é a mesma análise de uma imagem RGB, mas usando as coordenadas X e Y.

Modelo Baseado em Contorno

Este modelo utiliza os contornos do tronco e dos membros do corpo, bem como sua largura aproximada. Aqui, a solução pega a silhueta do quadro do corpo e renderiza as partes do corpo como retângulos e limites dentro daquele quadro.

Modelo Baseado em Volume

Este modelo geralmente usa uma série de varreduras tridimensionais para capturar a forma do corpo e converte-a em um quadro de formas e malhas geométricas. Essas formas criam uma série tridimensional de poses e representações do corpo.

Como Funciona a Estimação de Pose Humana Tridimensional

Os aplicativos de fitness tendem a confiar na estimação de pose humana tridimensional. Para esses aplicativos, mais informações sobre a pose humana, melhor. Com essa técnica, o usuário do aplicativo gravará a si mesmo participando de um exercício ou rotina de treinamento. O aplicativo analisará os movimentos do corpo do usuário, oferecendo correções para erros ou imprecisões.

O fluxo de trabalho típico desse tipo de aplicativo geralmente segue esse padrão:

  • Primeiro, coletar dados sobre os movimentos do usuário enquanto ele realiza o exercício.
  • Em seguida, determinar quão corretos ou incorretos os movimentos do usuário foram.
  • Finalmente, mostre ao usuário, por meio da interface, quais erros ele pode ter cometido.

Atualmente, o padrão em tecnologia de pose humana é a topologia COCO. A topologia COCO é composta por 17 marcos ao longo do corpo, variando do rosto aos braços às pernas. Observe que a COCO não é o único quadro de pose humana, apenas o mais comumente usado.

Esse tipo de processo geralmente utiliza tecnologia de aprendizado de máquina profunda para a extração de articulações na estimação da pose do usuário. Em seguida, emprega algoritmos baseados em geometria para dar sentido ao que foi encontrado (analisar posições relativas das articulações detectadas). Ao usar um vídeo dinâmico como dados de origem, o sistema pode usar uma série de quadros, não apenas uma imagem, para capturar suas keypoints. O resultado é uma representação muito mais precisa dos movimentos reais do usuário, pois o sistema pode usar informações dos quadros adjacentes para resolver quaisquer incertezas sobre a posição do corpo humano no quadro atual.

Dentre as técnicas atuais para usar estimação de pose tridimensional em aplicativos de fitness, a abordagem mais precisa é aplicar primeiro um modelo para detectar keypoints bidimensionais e, em seguida, processar a detecção bidimensional com outro modelo para converter em previsões de keypoints tridimensionais.

Na pesquisa que publicamos recentemente, uma fonte de vídeo única foi usada, com redes neurais convolucionais com convoluções temporais dilatadas aplicadas para realizar a conversão de keypoints 2D para 3D.

Depois de analisar os modelos atuais, determinamos que o VideoPose3D é a solução mais adequada às necessidades da maioria dos aplicativos de fitness impulsionados por IA. A entrada usando esse sistema deve permitir que um conjunto bidimensional de keypoints seja detectado, onde um modelo pré-treinado no conjunto de dados COCO 2017 é aplicado como um detector 2D.

Para a previsão mais precisa da posição de uma articulação ou keypoint atual, o VideoPose3D pode usar vários quadros ao longo de uma sequência curta de tempo para gerar informações de pose 2D.

Para aumentar ainda mais a precisão da estimação de pose tridimensional, mais de uma câmera pode coletar pontos de vista alternados do usuário realizando o mesmo exercício ou rotina. Observe, no entanto, que isso requer mais poder de processamento, bem como arquitetura de modelo especializada para lidar com múltiplas entradas de fluxo de vídeo.

Recentemente, o Google (GOOGL ) lançou seu sistema BlazePose, um modelo orientado a dispositivos móveis para estimar a pose humana, aumentando o número de keypoints analisados para 33, um superset do conjunto de keypoints COCO e de duas outras topologias – BlazePalm e BlazeFace. Como resultado, o modelo BlazePose pode produzir resultados de previsão de pose consistentes com modelos de mão e face, articulando semântica corporal.

Cada componente dentro de um sistema de estimação de pose humana baseado em aprendizado de máquina precisa ser rápido, levando no máximo alguns milissegundos por quadro para detecção e rastreamento de pose.

Devido ao fato de que o pipeline BlazePose (que inclui componentes de estimação e rastreamento de pose) precisa operar em uma variedade de dispositivos móveis em tempo real, cada parte individual do pipeline é projetada para ser muito eficiente computacionalmente e executar a 200-1000 FPS.

A estimação de pose e rastreamento em vídeo, onde não se sabe se e onde a pessoa está presente, geralmente é feita em duas etapas.

Na primeira etapa, um modelo de detecção de objeto é executado para localizar a presença de uma pessoa ou identificar sua ausência. Depois que a pessoa é detectada, o módulo de estimação de pose pode processar a área localizada que contém a pessoa e prever a posição dos keypoints.

Uma desvantagem desse setup é que ele requer que os módulos de detecção de objeto e estimação de pose sejam executados para cada quadro, o que consome recursos computacionais extras. Os autores do BlazePose, no entanto, conceberam uma maneira inteligente de contornar esse problema e utilizar eficientemente em outros módulos de detecção de keypoints, como FaceMesh e MediaPipe Hand.

A ideia é que um módulo de detecção de objeto (detector de face no caso do BlazePose) pode ser usado apenas para iniciar o rastreamento de pose no primeiro quadro, enquanto o rastreamento subsequente da pessoa pode ser feito usando exclusivamente as previsões de pose após algum alinhamento de pose, parâmetros para os quais são previstos usando o modelo de estimação de pose.

A face produz o sinal mais forte para a posição do tronco para a rede neural, como resultado da variação relativamente pequena na aparência e do alto contraste em suas características. Consequentemente, é possível criar um sistema rápido e de baixo overhead para detecção de pose por meio de uma série de suposições justificáveis baseadas na ideia de que a cabeça humana será localizável em todos os casos de uso pessoal.

Superando os Desafios da Estimação de Pose Humana

Usar estimação de pose em aplicativos de fitness enfrenta o desafio do volume e variedade de poses humanas, por exemplo, as centenas de asanas em muitas rotinas de yoga.

Além disso, o corpo às vezes bloqueará certos membros capturados por qualquer câmera dada, os usuários podem usar roupas variadas que obscurecem recursos do corpo e aparências pessoais.

Ao usar qualquer modelo pré-treinado, observe que movimentos corporais incomuns ou ângulos de câmera estranhos podem levar a erros na estimação de pose humana. Podemos mitigar esse problema em certa medida usando dados sintéticos de um modelo de corpo humano 3D renderizado ou ajustando com dados específicos do domínio em questão.

A boa notícia é que podemos evitar ou mitigar a maioria das fraquezas. A chave para fazer isso é escolher os dados de treinamento e a arquitetura do modelo certos. Além disso, a tendência de desenvolvimento no campo da tecnologia de estimação de pose humana sugere que alguns dos problemas que enfrentamos agora serão menos relevantes nos próximos anos.

A Palavra Final

A estimação de pose humana tem uma variedade de usos potenciais no futuro fora da área de aplicativos de fitness e rastreamento de movimentos humanos, desde jogos até animação, Realidade Aumentada e robótica. Isso não representa uma lista completa das possibilidades, mas destaca algumas das áreas mais prováveis onde a estimação de pose humana contribuirá para nosso paisagem digital.

Maksym está ansioso para adquirir novas perspectivas e experiências em Ciência de Dados e Aprendizado de Máquina. Ele está particularmente interessado em tecnologias baseadas em Aprendizado Profundo e sua aplicação em casos de uso empresariais.