toco Estimativa de pose de IA no aplicativo de condicionamento físico - Unite.AI
Entre em contato

Assistência médica

Estimativa de pose de IA no aplicativo de condicionamento físico

mm

Publicado

 on

Por Maksym Tatariants, engenheiro de ciência de dados da MobiDevName.

A estimativa de pose humana refere-se a uma tecnologia – bastante nova, mas evoluindo rapidamente – que está desempenhando um papel significativo em aplicativos de fitness e dança, permitindo-nos colocar conteúdo digital no mundo real.

Resumindo, o conceito de estimativa da pose humana é uma tecnologia baseada em visão computacional capaz de detectar e processar a postura humana. A parte mais importante e central desta tecnologia é a modelagem do corpo humano. Três modelos corporais são mais proeminentes nos atuais sistemas de estimativa de pose humana – baseados no esqueleto, baseados no contorno e baseados no volume.

Modelo baseado em esqueleto

Esse modelo é formado por um conjunto de articulações (pontos-chave), como joelhos, tornozelos, punhos, cotovelos, ombros e a orientação dos membros do corpo. Este modelo é notável por sua flexibilidade e, como tal, é adequado para estimativa 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 juntas. Com a modelagem bidimensional, é a mesma análise de uma imagem RGB, mas usando as coordenadas X e Y.

Modelo baseado em contorno

Este modelo aproveita os contornos do tronco e dos membros do corpo, bem como a sua largura bruta. Aqui, a solução pega a silhueta da moldura do corpo e renderiza as partes do corpo como retângulos e limites dentro dessa estrutura.

Modelo baseado em volume

Este modelo geralmente usa uma série de varreduras tridimensionais para capturar a forma do corpo e convertê-lo em uma estrutura de formas e malhas geométricas. Essas formas criam uma série 3D de poses e representações corporais.

Como funciona a estimativa de pose humana 3D

Os aplicativos de condicionamento físico tendem a se basear na estimativa de pose humana tridimensional. Para esses aplicativos, quanto mais informações sobre a pose humana, melhor. Com esta técnica, o usuário do aplicativo irá gravar a si mesmo participando de um exercício ou rotina de exercícios. O aplicativo analisará os movimentos do corpo do usuário, oferecendo correções para erros ou imprecisões.

O fluxograma desse tipo de aplicativo normalmente segue este padrão:

  • Primeiro, colete dados sobre os movimentos do usuário durante a execução do exercício.
  • Em seguida, determine o quão corretos ou incorretos foram os movimentos do usuário.
  • Por fim, mostre ao usuário através da interface quais erros ele pode ter cometido.

No momento, o padrão em tecnologia de pose humana é topologia COCO. A topologia COCO é composta por 17 marcos em todo o corpo, variando do rosto aos braços e pernas. Observe que o COCO não é a única estrutura de pose do corpo humano, apenas a mais comumente usada.

Esse tipo de processo normalmente utiliza tecnologia de aprendizado de máquina profundo para a extração de juntas na estimativa da pose do usuário. Em seguida, ele emprega algoritmos baseados em geometria para entender o que foi encontrado (analisar as posições relativas das juntas detectadas). Ao usar um vídeo dinâmico como fonte de dados, o sistema pode usar uma série de quadros, e não apenas uma única imagem, para capturar seus pontos-chave. O resultado é uma representação muito mais precisa dos movimentos reais do usuário, uma vez que o sistema pode usar informações dos quadros adjacentes para resolver quaisquer incertezas relativas à posição do corpo humano no quadro atual.

Das técnicas atuais para usar a estimativa de pose 3D em aplicativos de condicionamento físico, a abordagem mais precisa é primeiro aplicar um modelo para detectar pontos-chave 2D e, posteriormente, processar a detecção 2D com outro modelo para convertê-los em previsões de pontos-chave 3D. 

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

Depois de analisar os modelos atualmente disponíveis, determinamos que o VideoPose3D é a solução mais adequada às necessidades da maioria dos aplicativos de condicionamento físico orientados por IA. A entrada usando este sistema deve permitir que um conjunto 2D de pontos-chave 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 junta ou ponto-chave atual, o VideoPose3D pode usar vários quadros em uma curta sequência de tempo para gerar informações de pose 2D. 

Para aumentar ainda mais a precisão da estimativa de pose 3D, mais de uma câmera pode coletar pontos de vista alternativos do usuário realizando o mesmo exercício ou rotina. Observe, no entanto, que requer maior poder de processamento, bem como arquitetura de modelo especializado para lidar com várias entradas de fluxo de vídeo.

Recentemente, Google revelou seu sistema BlazePose, um modelo orientado a dispositivos móveis para estimar a pose humana aumentando o número de pontos-chave analisados ​​para 33, um superconjunto do conjunto de pontos-chave COCO e 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 modelos de rosto articulando a semântica do corpo.

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

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

A estimativa de pose e o rastreamento no vídeo onde não se sabe se e onde a pessoa está presente geralmente são feitos em dois estágios. 

Na primeira etapa, um modelo de detecção de objetos é executado para localizar a presença de um ser humano ou para identificar sua ausência. Após a detecção da pessoa, o módulo de estimativa de pose pode processar a área localizada contendo a pessoa e prever a posição dos pontos-chave.

Uma desvantagem dessa configuração é que ela requer que os módulos de detecção de objeto e estimativa de pose sejam executados para cada quadro que consome recursos computacionais extras. Os autores do BlazePose, no entanto, criaram uma maneira inteligente de contornar esse problema e utilizá-lo com eficiência em outros módulos de detecção de pontos-chave, como Face Mesh e Mão do MediaPipe.

A ideia é que um módulo de detecção de objetos (detector de face no caso do BlazePose) possa 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 estimativa de pose.

A face produz o sinal mais forte quanto à posição do torso para a rede neural, como resultado da variação relativamente pequena na aparência e alto contraste em suas características. Consequentemente, é possível criar um sistema rápido e de baixa sobrecarga 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 estimativa de postura humana

O uso da estimativa de pose em aplicativos de condicionamento físico enfrenta o desafio do grande volume de variedade de poses humanas, por exemplo, as centenas de asanas na maioria dos regimes de ioga. 

Além disso, o corpo às vezes bloqueia certos membros capturados por qualquer câmera, os usuários podem usar roupas variadas que obscurecem as características do corpo e a aparência pessoal.

Ao usar qualquer modelo pré-treinado, observe que movimentos corporais incomuns ou ângulos de câmera estranhos podem levar a erros na estimativa de pose humana. Podemos mitigar esse problema até certo ponto usando dados sintéticos de uma renderização de modelo 3D do corpo humano ou ajustando 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 corretos e a arquitetura do modelo. Além disso, a tendência de desenvolvimento no campo da tecnologia de estimativa de pose humana sugere que alguns dos problemas que enfrentamos agora serão menos relevantes nos próximos anos.

A palavra final

A estimativa de pose humana contém uma variedade de usos potenciais futuros fora da área de aplicativos de condicionamento físico e rastreamento de movimentos humanos, de jogos a animação, de realidade aumentada a robótica. Isso não representa uma lista completa de possibilidades, mas destaca algumas das áreas mais prováveis ​​em que a estimativa de pose humana contribuirá para nosso cenário digital.

Maksym está interessado em obter novos insights e experiência em ciência de dados e aprendizado de máquina. Ele está particularmente interessado em tecnologias baseadas em Deep Learning e sua aplicação em casos de uso de negócios.