Com os avanços no desenvolvimento de sistemas de Realidade Virtual e Aumentada, houve um crescimento da necessidade de inovações nas formas como os usuários podem interagir com essas aplicações. Um dos métodos mais estudados nas últimas décadas para promover tal inovação consiste na captura de imagens dos usuários e interpretação para transpor suas ações para o contexto virtual, o que ganhou ainda mais força com o desenvolvimento de câmeras 3D e dos algoritmos de aprendizado profundo. Visando permitir a utilização dos dados do usuário dentro do ambiente virtual, os algoritmos de processamento de imagens precisam identificar alguns pontos-chave, como as articulações, para estimar o posicionamento dos membros do usuário no espaço. Para isso, as soluções que ganharam destaque comumente tiram vantagem de algoritmos de aprendizado de máquina com aplicação de Redes Neurais Convolucionais (HUANG et al., 2020).
O crescimento da demanda pelo desenvolvimento dessas interfaces deu origem a diversas áreas de pesquisa voltadas para interpretação de partes do corpo humano e de sua projeção em sistemas imersivos. Exemplos são as áreas de Skeleton Pose Estimation, que visa a captação de informações das principais grandes articulações do corpo e a área deHand Pose Estimation,
com foco no entendimento da posição das articulações das mãos. Dentre os diversos algoritmos desenvolvidos nessas áreas, um ganhou destaque por permitir a identificação de diversas porções do corpo humano (rosto, mãos, pés, além das principais articulações do tronco e dos membros) em tempo real e com a utilização de câmeras simples (RGB), o algoritmo, conhecido como OpenPose, foi publicado por Cao et al. (2021) e possui uma versão em código aberto publicada no GitHub (o serviço baseado em nuvem para hospedagem gratuita de repositórios de código-fonte). O código utilizado nessa aplicação foi escrito em C++ e, devido a sua flexibilidade para processamento e fácil disponibilidade, tem sido largamente aplicada em diversos contextos, como a interpretação e reconhecimento de atividades culinárias usando imagens RGB do ponto de vista do usuário (NOORI et al., 2019), a projeção em 3D das articulações das mãos utilizando uma única imagem (PANTELERIS; OIKONOMIDIS; ARGYROS, 2018) e o reconhecimento de atividades de músicos para facilitar a identificação da origem dos sons de instrumentos (GAN et al., 2020).
Contudo, o modelo implementado no OpenPose apresenta algumas desvantagens, como sua baixa taxa de atualização de cerca de 6 a 10 fps (framespor segundo) mesmo quando executado em computadores com placas gráficas de alto poder de processamento, além disso, a aplicação não oferece compatibilidade nativa com câmeras 3D, que poderiam oferecer uma camada adicional de dados para estimativa.
Sistemas que permitem a aplicação de câmeras RGB-D ganharam destaque por permitirem a adição de informações de profundidade para as estimativas 3D sem a necessidade de um conjunto complexo de câmeras. Mais especificamente, dentre os estudos que voltaram-se para o processamento de imagens das mãos, alguns algoritmos ganharam relevância em pesquisas recentes que compararam suas performances em datasetspadronizados. O evento HANDS 2017 propôs um desafio público para o desenvolvimento de algoritmos para estimar a posição de articulações das mãos em 3D utilizando como base os datasetsabertos BigHand2.2M e First-Person Hand Action. O desafio avaliou três métricas para comparação dos modelos: 1) O erro médio para cada articulação em cadaframee a média de todos osframesde teste, 2) A razão da quantidade de articulações dentro de um limiar de erro, e 3) A proporção de quadros contendo todas as articulações dentro de um limiar de distância da posição real (KIM et al., 2017). Dentre os algoritmos participantes do desafio, os três primeiros colocados foram os listados abaixo:
a) AWR (Adaptative Weighting Regression)- Proposto por Huang et al. (2020) b) A2J (Anchor-to-Joint Regression Network)- Proposto por Xiong et al. (2019) c) V2V-PoseNet (Voxel-to-Voxel Prediction Network)- Proposto por Moon, Chang
e Lee (2018)
A figura 8 apresenta um gráfico comparativo dos principais modelos participantes do desafio de acordo com sua data de publicação e exibe suas respectivas projeções de erro médio. O modelo proposto por Huang et al. (2020) se destacou dos demais, superando as falhas apresentadas pelos métodos baseados em detecção e regressão, uma vez que combina as duas estratégias, além de aplicar uma técnica de integração discreta sobre todos ospixelsda imagem, o que permite obter coordenadas das articulações com o auxílio de mapas adaptativos de pesos. Essa técnica melhorou a acurácia da rede e melhorou seus resultados principalmente em cenários onde há muita similaridade entre os dedos na imagem. O modelo AWR, assim como os demais, possui um repositório de código aberto e está disponível através do GitHub.
Figura 8: Gráfico comparativo dos principais algoritmos participantes do desafio HANDS 2017.
Fonte: PAPERS WITH CODE - HANDS 2017 BENCHMARK. . . (2022).
5 VISÃO GERAL DA PLATAFORMA
Esse capítulo apresenta, em linhas gerais, a visão global dos principais componentes e arquitetura da Plataforma no qual a proposta elaborada nesse projeto, para a criação do módulo de acompanhamento de progresso dos pacientes, está inserido.
Para a construção da plataforma foi necessária a implementação e interconexão de um conjunto de sistemas. A figura 9 exibe um diagrama de componentes com uma visão geral dos principais módulos que a constituem. A descrição dos componentes construídos nesse projeto e dos sistemas auxiliares está apresentada no Capítulo 6.
Figura 9: Diagrama de componentes da Plataforma.
Fonte: Autor.
A listagem a seguir discorre, em linhas gerais, sobre as principais responsabilidades de cada módulo da plataforma:
a) Firmwaredo Estimulador: consiste no programa escrito em C++ para controle do estimulador.
b) Módulo de RV: construído com a plataforma Unity 3D, é o módulo responsável por garantir maior imersão para o usuário durante a execução do programa de reabilitação. Esse módulo possui dois ambientes modelados para permitir a realização de exercícios de forma que se assemelhem a tarefas cotidiano. Os exercícios construídos no ambiente virtual incluem atividades como a preparação de um café-da-manhã ou a organização de uma estante de livros. Esse componente se comunica diretamente com o Módulo Web para iniciar e pausar as sequências de estimulação.
c) Módulo Web: plataforma responsável pela criação e gerenciamento dos programas de reabilitação e pelo acompanhamento do progresso.
d) Módulo de Avaliação de Progresso: módulo proposto para processar as imagens dos exercícios realizados pelos pacientes, capturados através da câmera RGB-D, e utilizar as estimações do posicionamento das articulações da mão para o cálculo da métrica do desvio entre o exercício realizado e o resultado esperado, assim permitindo o acompanhamento do progresso realizado por cada paciente durante o período de utilização do sistema.
e) Sistema deHand Posing: responsável por processar e disponibilizar informações referentes ao posicionamento dos pontos-chave da mão do usuário no espaço.
Esse módulo consiste em uma adaptação do algoritmo preditivo AWR, detalhado na Seção 3.2. As informações disponibilizadas por esse módulo são utilizadas pelo Módulo de Avaliação de Progresso para quantificar a evolução do usuário na execução dos exercícios.
f) Câmera Intel Realsense D435: câmera utilizada para captação das imagens RGB-D utilizadas pelo sistema deHand Posing.
6 METODOLOGIA
Esse capítulo apresenta, em detalhes, a metodologia utilizada para a construção da plataforma descrita no Capítulo 5. As seções a seguir estão organizadas da seguinte forma:
A Seção 6.1 discorre sobre os sistemas auxiliares desenvolvidos e fornece seus detalhes de implementação e responsabilidades. A Seção 6.2 apresenta as etapas para construção do módulo de acompanhamento do progresso, detalhando os componentes necessários para sua construção e os passos aplicados para a captura, processamento e computação das métricas de evolução dos usuários.