Principais pormenores
Estimativa de pose melhorada e deteção de erros por 64%.
-
DesafioDesenvolver um modelo de estimação de pose topo de gama para detetar uma postura humana num cenário em tempo real e efetuar a análise de erros e a contagem de repetições
-
SoluçãoAprendizagem profunda para estimativa exacta da pose humana e algoritmos de ciência de dados para deteção de erros
-
Tecnologias e ferramentasPyTorch, CoreML, TFLite, OpenCV, Scikit-learn
Cliente
O cliente é uma empresa americana em fase de arranque especializada no reconhecimento da atividade humana e na análise de movimentos.
Dispõem de uma aplicação móvel para cuidados de saúde concebida para captar e estimar os movimentos do corpo humano durante os treinos e a fisioterapia. A aplicação está equipada com ferramentas de monitorização que ajudam os utilizadores a fazer exercício da forma correta e a atingir os seus objectivos de fitness.
As soluções de código aberto para a estimativa da postura móvel não pareciam funcionar para o cliente, razão pela qual procuraram aconselhamento junto da ESSID Solutions sobre o problema da estimativa da postura humana em tempo real. Também vale a pena mencionar que não existiam soluções comuns para a deteção de erros e a contagem de repetições.
Desafio: desenvolver um modelo de estimação de pose topo de gama para detetar uma postura humana num cenário em tempo real
Para vencer a concorrência no mercado das aplicações de saúde móvel, o cliente pretendia reforçar a sua aplicação com IA (Inteligência Artificial). Tinham dificuldade em estimar a pose do corpo humano. A principal tarefa da nossa equipa era melhorar a sua precisão sem afetar a velocidade e a facilidade de utilização.
O cliente pretendia aumentar a escala da sua aplicação de fitness com deteção de erros em tempo real durante os treinos e a fisioterapia. Esta funcionalidade pode ajudar o utilizador a evitar erros comuns nos treinos e a reduzir significativamente o risco de lesões.
A equipa da ESSID Solutions aceitou o desafio de fornecer ao cliente estimativa de pose robusta e a funcionalidade de deteção de erros a partir do zero.
Solução: aprendizagem profunda para uma estimativa exacta da pose humana e algoritmos de ciência dos dados para deteção de erros
A estimativa da posição é uma técnica de visão por computador que prevê e segue não só a localização de uma pessoa ou objeto, mas também as suas articulações específicas. Até à data, foram feitos progressos notáveis na estimativa da postura, mas o reconhecimento de actividades humanas em contextos reais continua por definir. Esta tarefa torna-se ainda mais difícil quando a abordagem não é feita a partir de câmaras autónomas em modo offline, mas a partir de smartphones em tempo real. Isto acontece porque a execução em tempo real aumenta significativamente o débito dos dados de entrada e os cálculos necessários, enquanto os dispositivos móveis continuam a estar limitados nos recursos computacionais disponíveis.
A estimativa da postura pode ser classificada nos seguintes tipos: estimativa da postura de uma ou várias pessoas, 3D ou 2D, em tempo real ou offline. Depois de analisar as necessidades do cliente, decidimos que a estimativa em tempo real de poses de uma pessoa em 2D seria uma boa opção quando aplicada a exercícios físicos muito diferentes.
Para detetar as articulações humanas em movimento em tempo real, aplicámos abordagens de aprendizagem profunda adequadas a problemas complicados de visão computacional. Os nossos engenheiros tiveram de desenvolver uma tecnologia de rede neural totalmente nova para tirar partido de muitos conhecimentos e ideias, conseguindo assim uma qualidade de deteção de articulações competitiva.
Começámos por reunir todos os tipos de conjuntos de dados abertos para vários tipos de estimativa da postura humana, uma vez que grandes quantidades de dados são um ingrediente crucial das redes neurais profundas de alta qualidade que funcionam de forma precisa e robusta nos casos de utilização específicos do mundo real. Para além disso, tivemos de desenvolver os nossos próprios métodos de aumento de dados para aumentar ainda mais o conjunto de dados.
Depois de lidar com os conjuntos de dados, desenvolvemos um modelo avançado do esqueleto humano com pontos-chave adicionais que aumentaram consideravelmente as nossas oportunidades na análise de exercícios de fitness e fisioterapia.
O passo seguinte foi criar uma arquitetura neural de estimativa de pose eficiente. O cliente estava preocupado com o desempenho da aplicação móvel, pelo que nos concentrámos em otimizar a eficiência operacional e reduzir o tempo de carregamento.
Utilizámos o PyTorch para fornecer ao cliente um pipeline de formação simplificado, bem como modelos CoreML para a implementação de modelos de aprendizagem profunda e CV que desenvolvemos.
Outro problema da ciência dos dados foi a implementação da deteção de erros durante os treinos e a fisioterapia. A deteção de erros ajuda a compreender as formas adequadas e incorrectas de realizar exercícios físicos. É utilizada para identificar as articulações humanas e fornecer ao utilizador orientações sobre a forma correta de fazer o exercício. Por exemplo, a estimativa da posição da cabeça é essencial quando o utilizador está a fazer uma prancha. A aplicação estima a posição da cabeça para evitar lesões durante o exercício.
Vale a pena mencionar que tivemos de desenvolver algoritmos personalizados para a deteção de erros e a contagem de repetições, de modo a que os utilizadores da aplicação móvel possam obter feedback instantâneo através de uma interface áudio com um treinador virtual de IA.
Resultado: implementação melhorada da estimativa da pose e da deteção de erros
A ESSID Solutions aplicou com sucesso a sua experiência em visão computacional e aprendizagem profunda para ajudar o cliente com uma solução orientada para a IA. Os nossos conhecimentos especializados em redes neuronais móveis e aprendizagem profunda ajudaram a superar o desafio do reconhecimento da atividade humana em termos muito limitados, embora as abordagens de aprendizagem profunda exijam meses de trabalho. A nossa rede neural de estimativa da posição humana em tempo real e os algoritmos de deteção de erros foram integrados com êxito na aplicação de exercícios de treino e reabilitação.
Desenvolvemos uma solução que podia lidar com alterações de iluminação, perda de velocidade de fotogramas, outras pessoas a entrar no enquadramento, oclusões, etc.
Agora, a aplicação vai mais longe para garantir que o utilizador se exercita da forma correta e tira o máximo partido do seu treino. As recomendações do treinador de IA desenvolvido têm conhecimentos valiosos e ajudam os utilizadores a atingir os seus objectivos de fitness, evitando lesões desnecessárias.