Full text
Universidade do Minho Escola de Engenharia André Filipe Oliveira Araújo Desenvolvimento de um modelo de estimativa de pose usando Deep Learning outubro 2023
Universidade do Minho Escola de Engenharia André Filipe Oliveira Araújo Desenvolvimento de um modelo de estimativa de pose usando Deep Learning Dissertação de Mestrado Mestrado em Engenharia Informática Trabalho efetuado sob a orientação de Professora Cristina Manuela Peixoto dos Santos outubro 2023
Direitos de Autor e Condições de Utilização do Trabalho por Terceiros Este é um trabalho académico que pode ser utilizado por terceiros desde que respeitadas as regras e boas práticas internacionalmente aceites, no que concerne aos direitos de autor e direitos conexos. Assim, o presente trabalho pode ser utilizado nos termos previstos na licença abaixo indicada. Caso o utilizador necessite de permissão para poder fazer um uso do trabalho em condições não previstas no licenciamento indicado, deverá contactar o autor, através do RepositóriUM da Universidade do Minho. Licença concedida aos utilizadores deste trabalho: CC BY-NC-ND https://creativecommons.org/licenses/by-nc-nd/4.0/ i
Agradecimentos Todo o trabalho realizado durante o semestre passado não seria possível sem a ajuda, compreensão e apoio de muitas pessoas. Em primeiro lugar, gostaria de agradecer à Professora Cristina Santos pela oportunidade de realizar este trabalho e de integrar o grupo de investigação do BIRDLAB. Agradeço também à Sara, que sempre esteve disponível para ajudar e discutir a pesquisa e apresentou sugestões que me ajudaram a desenvolver o trabalho aqui apresentado. Por último, e mais importante, gostaria de agradecer à minha família, pelo apoio e os conselhos dado ao longo dos anos. ii
Declaração de Integridade Declaro ter atuado com integridade na elaboração do presente trabalho académico e confirmo que não recorri à prática de plágio nem a qualquer forma de utilização indevida ou falsificação de informações ou resultados em nenhuma das etapas conducente à sua elaboração. Mais declaro que conheço e que respeitei o Código de Conduta Ética da Universidade do Minho. Universidade do Minho, Braga, outubro 2023 André Filipe Oliveira Araújo iii
Resumo A estimação de pose procura de permitir aos computadores calcular a pose do corpo humano através da utilização de sensores Unidades de medição inercial (IMU). Por esta razão, apresenta diversas utilizações na indústria, onde pode ser usado na melhoria da colaboração entre humanos e robôs, na qual permite aos robôs monitorizar os movimentos humanos. A estimação de pose também tem aplicações no setor médico, mais precisamente na avaliação de riscos ergonómicos, reabilitação e desportos. Esta dissertação visa o desenvolvimento de um modelo de estimação de pose utilizando Deep Learning , através da fusão de dados provenientes de sensores acelerómetro, giroscópio e magnetómetro, existentes nos IMU. Para alcançar este objetivo foi implementada uma framework em Pytorch, onde estão elaborados os modelos para a estimativa de pose, na qual estão incluídos modelos que usam redes neuronais e modelos que usam redes híbridas, que juntam redes neuronais e filtros. Nesta framework , também foi implementado um modelo de calibração de dados (CalibNet), que usa redes neuronais e procura a diminuição do erro de calibração dos dados provenientes dos sensores, para posteriormente serem usados na estimativa de pose. Na avaliação dos métodos implementados foram usados dois datasets o Ergowear e o MTw Awinda, onde se obtiveram como melhores resultados de 18,78º e de 7,556º, respetivamente, na estimativa de pose. Palavras-chave Estimação de pose, Unidades de medição inercial (IMU), redes neuronais iv
Abstract Pose estimation seeks to allow computers to calculate the pose of the human body through the use of Unidades de medição inercial (IMU) sensors. For this reason, it has several uses in industry, where it can be used to improve collaboration between humans and robots, allowing robots to monitor human movements. Pose estimation also has applications in the medical sector, more precisely in the assessment of ergonomic risks, rehabilitation and sports. This dissertation aims to develop a pose estimation model using Deep Learning , through the fusion of data from accelerometer, gyroscope and magnetometer sensors, existing in IMU. To achieve this objective, a framework was implemented in Pytorch, where models for pose estimation are created, which includes models that use neural networks and models that use hybrid networks, which combine neural networks and filters. In this framework , a data calibration model (CalibNet) was also implemented, which uses neural networks and seeks to reduce the calibration error of data from sensors, to later be used in pose estimation . In evaluating the implemented methods, two datasets were used: Ergowear and MTw Awinda, where the best results of 18.78º and 7.556º, respectively, were obtained in pose estimation. Keywords Pose estimation, Unidades de medição inercial (IMU), neural networks v
Conteúdo 1 Introdução 1 1.1 Motivação ...................................... 1 1.2 Contextualização do problema ............................. 2 1.3 Objetivos e questões de investigação ......................... 3 1.4 Estrutura da dissertação ............................... 4 2 Estado da arte 5 2.1 Métodos de calibração ................................ 5 2.2 Métodos baseados em redes neuronais para estimação de ângulos baseada em tecnologia Inercial ..................................... 10 2.3 Discussão ...................................... 25 3 Materiais e Métodos 28 3.1 Dataset ........................................ 28 3.2 Métodos clássicos para benchmark .......................... 29 3.3 Framework de Deep learning ............................. 31 3.3.1 Preparação dos dados ............................ 31 3.3.2 Pre-processamento .............................. 33 3.3.3 Arquiteturas das redes neuronais ....................... 34 3.3.4 CalibNet ................................... 40 3.3.5 Losses .................................... 42 3.3.6 Métricas de avaliação ............................ 43 4 Resultados e discussão 44 4.1 Resultados dos regressores/redes com e sem mãos e pés ............... 44 4.2 Calibnet combinada com modelos de estimação de pose ............... 49 vi
MoCap motion capture technology . MSE Mean Square Error . QAD Quaternion Angle Difference . RCoeficiente de correlação. RMSE Root Mean Square Error . RNN Recurrent Neural Network . SINN Stacked Input Neural Network . SMPL Skinned Multi-Person Linear Model . TCN Temporal Convolutional Network . TGCN Temporal Graph Convolutional Network . xiii
Capítulo 1 Introdução Este documento apresenta o trabalho realizado durante esta dissertação, intitulada “Desenvolvimento de um modelo de estimativa de pose usando Deep Learning ”, no âmbito do segundo ano do Mestrado em Engenharia Informática, da Universidade do Minho. 1.1 Motivação As Lesões Musculoesqueléticas relacionadas com o trabalho (LMRT) são um grupo de condições médicas que afetam os músculos, tendões, ligamentos, articulações e ossos. Estas lesões podem ser causadas ou agravadas pela da alta exigência física das atividades laborais das indústrias transformadoras, coma tal representam 53% das doenças profissionais, com um alto impacto na economia [Bevan,2015]. Por estas razões a prevenção de Lesões Musculoesqueléticas relacionadas com o trabalho é fundamental e passa por um conjunto de medidas, entre elas temos a ergonomia adequada no local de trabalho. Uma das soluções para melhorar ergonomia dos processos fabris é a Colaboração Humano Robot (CHR), este conceito que se refere à interação direta entre humanos e robôs [Matheson et al.,2019], é um dos pontos centrais do conceito da Indústria 5.0. Para diminuir a probabilidade de ocorrência de Lesões Musculoesqueléticas relacionadas com o trabalho, a Colaboração Humano Robot oferece a possibilidade de personalizar o espaço de trabalho de cada trabalhador, permitindo assim uma melhoria na ergonomia da tarefa, no conforto e na qualidade de vida do mesmo, motivando-o assim e, potencialmente, mudando o paradigma nos processos de fabrico. Mas apesar de já existirem estações de trabalho equipadas com robôs colaborativos (cobots), estes apenas partilham o espaço de trabalho com pouca colaboração, tendendo unicamente a coexistir com humanos [Ivaldi et al.,2017]. Para realizar a relação colaborativa entre humanos e robôs, necessária para melhorar a ergonomia das tarefas, deve ser superado o desafio de fazê-los compreender mutuamente as 1
intenções de cada, fundamental para uma interação contínua e dinâmica. Para alcançar essa interação contínua e dinâmica surge o conceito de Human-awareness , este refere-se à capacidade do robô de monitorizar os movimentos humanos [El Zaatari et al.,2019]. 1.2 Contextualização do problema Para prevenir as Lesões Musculoesqueléticas relacionadas com o trabalho, a ergonomia das tarefas realizadas, pelos trabalhadores, deve ser melhorada através da Colaboração Humano Robot. Contudo, para que isto seja possível é necessário que tanto os trabalhadores e os robôs tenha consciência das intenções uns dos outros. Tornando, assim, capacidade monitorizar os movimentos humanos a Human-awareness [El Zaatari et al.,2019], é essencial para alcançar o Colaboração Humano Robot. A tecnologia de captura de movimento ou motion capture technology (MoCap) é então utilizada para aumentar a consciência do robô sobre a intenção e os estados humanos. Para além da sua utilidade na indústria, a motion capture technology (MoCap) é também tem utilidade no setor médico, mais precisamente na avaliação de riscos ergonómicos, reabilitação e desportos. Onde estas tecnologias ainda são utilizadas na obtenção de análises cinemáticas mais precisas do movimento, úteis para identificar distúrbios biomecânicos ou padrões atípicos de controlo neuromuscular [González-Alonso et al.,2021]. A motion capture technology pode ser classificada em dois tipos. O MoCap ótico, onde os sistemas tipicamente usados são OptiTrack (OptiTrack, Corvallis, OR, USA) [Peternel et al.,2019] e câmaras de profundidade (Kinect (Microsoft Corp., Edmond, WA, USA)) [Nogueira et al.,2019]. No entanto, apesar de ser a tecnologia de MoCap mais comuns e amplamente usadas, o facto do MoCap ótico usar câmaras e marcadores óticos para registar a posição tridimensional de objetos ou pessoas em movimento, apresenta desvantagens. Entre as desvantagens temos os problemas de privacidade (que podem gerar resistência na sua adoção), o campo de visão limitado da câmara, a necessidade de um ambiente com controlo de luz, a possibilidade de oclusão e a sua falta de portabilidade. O outro tipo de MoCap é o MoCap inercial, faz uso de sensores IMU, com acelerómetros, giroscópios e em alguns casos magnetómetros, para coletar dados. Apesar destes sensores não apresentarem as desvantagens do MoCap ótico, o MoCap inercial ainda apresenta algumas barreiras que precisam ser superadas para ser amplamente empregada. Isto, pois as soluções comerciais com mais recurso Xsens MTw Awinda (Xsens), Perception Neuron, Opal (APDM) ou Physiolog (Gait Up) são caras, motivado pelo alto preço do hardware e pela necessidade de pagar licenças de utilizador. Em alternativa a estes sistemas de MoCap inercial mais caros e com mais recursos, existem versões 2
comerciais de nível básico, com menos recursos, como o Xsens DOT (Xsens ) e Notch, mas apresentam algumas limitações [González-Alonso et al.,2021]. Entre as limitações temos que o software destes produtos fornece apenas dados brutos, sem interpretação, não sendo soluções prontas para uso por parte de um utilizador recém-chegado. Requerendo por partes dos utilizadores um conhecimento técnico e matemático para calibração de sensores, processamento e análise de dados brutos. A utilização de redes neuronais abstrai a necessidade destes conhecimentos, pois só é necessário enviar os dados para a rede, sem a utilização de modelos biomecânicos como, por exemplo, o Xsens. Ainda, os MoCap baseados em tecnologia inercial são uma tecnologia sensorial promissora, capazes de capturar movimentos 3D, com baixo custo, tamanho pequeno e são leves, permitido ser integrados a uma peça de vestuário e não limitar a mobilidade do utilizador. Assim, esta dissertação tem então como objetivo o desenvolvimento de um modelo de redes neuronais para fusão de sensores, com a intenção de estimar os ângulos das articulações do corpo humano, com baixos erros, sem a necessidade de modelos biomecânicos complexos. 1.3 Objetivos e questões de investigação O principal objetivo desta dissertação é desenvolver um modelo de estimação de poses para uso online . Visa melhorar a metodologia atual da equipa e explorar novos algoritmos de Deep Learning para realizar a fusão de dados inerciais (acelerómetro, giroscópio e magnetómetro). Como resultado, espera-se uma melhoria nos algoritmos de estimativa de ângulo de articulação. Para alcançar este objetivo principal, foram estabelecidos os seguintes subobjetivos: •Objetivo 1: Identificação e análise do estado da arte atual dos trabalhos relacionados modelo de estimativa de pose visando especificar criticamente as suas vantagens e limitações. •Objetivo 2: Familiarização com a framework de estimativa de pose, para perceber o seu funcionamento. •Objetivo 3: Implementação de algoritmos baseados em redes neuronais para estimação de ângulos baseada em tecnologia inercial. •Objetivo 3: Implementação de um algoritmo baseado em redes neuronais para calibração do sensor inercial, para melhorar os dados de entrada para o modelo de estimação de ângulos Estes objetivos e o estudo do estado da arte levantaram algumas questões de investigação (QI) entre as quais: 3
•Questão 1: A utilização de uma rede neuronal para calibrar os sensores melhora os resultados obtidos? Esta questão é relativa ao objetivo 3 e é abordado na secção 4.2. •Questão 2: As redes híbridas que combinam filtros com rede neuronais obtém melhores resultados do que apenas redes neuronais? Esta questão é relativa ao objetivo 4 e é abordado na secção 4.1. •Questão 3: A utilização dos dados das extremidades do corpo, como as mãos, os pés e a cabeça, influencia o resultado? Esta questão é relativa ao objetivo 5 e é abordado na secção 4.1. 1.4 Estrutura da dissertação Esta dissertação está organizada em 5 capítulos: O Capítulo 2contém uma breve revisão da literatura sobre algoritmos baseados em redes neuronais existentes para estimação de ângulos baseada em tecnologia inercial, seguida de uma discussão dos mesmos. O Capítulo 3especifica os detalhes dos materiais usados no desenvolvimento desta dissertação, entre as quais o dataset usado, bem como a framework onde estão implementados os modelos de redes neuronais e os métodos clássicos usados para benchmark . O Capítulo 4discute os resultados obtidos aos testes realizados aos modelos apresentados no capítulo 3e as suas limitações. O Capítulo 5conclui a dissertação, oferecendo uma breve análise do trabalho desenvolvido. 4
Capítulo 2 Estado da arte Neste capítulo é apresentada uma breve revisão da literatura sobre algoritmos baseados em redes neuronais existentes para estimação de ângulos baseada em tecnologia inercial. Para tal, começa por analisar alguma literatura referente aos métodos de calibração, seguido-se da literatura referente métodos baseados em redes neuronais para estimação de ângulos baseada em tecnologia Inercial. 2.1 Métodos de calibração Nesta secção vai ser abordado o estado da arte referente aos métodos de calibração de dados provenientes de IMU. Esta calibração dos sensores IMU é importante para garantir que os dados coletados pelos sensores são precisos e confiáveis, para posteriormente serem usados nos modelos de redes neuronais. Isto, pois estes sensores podem ter bias , ou seja, podem indicar valores diferentes de zero quando não há movimento, o que pode aumentar o erro na utilização dos dados estes sensores. Na utilização destes sensores para estimação de ângulos de articulações do corpo humano, é ainda necessária a calibração sensor-to-segment . Esta, tem com objetivo estabelecer uma relação precisa entre os dados capturados pelo sensor e as partes do corpo que estão a ser monitoradas, onde o ”sensor”referese a dispositivos de captura de movimento e ” segment ”refere-se a partes específicas do corpo humano. Para tal foram analisados os artigos [Pacher et al.,2020], [Li et al.,2022], bem como o artigo da equipa [Palermo et al.,2022] onde é descrito o método de calibração usado na framework . No artigo Pacher et al. [2020] é apresentado uma revisão de métodos de calibração de sensor-tosegment para análise cinemática da parte inferior do corpo com sensores inerciais. Este artigo apresenta estudos onde são expostos quatro abordagens para a calibração dos sensores referentes aos membros inferiores do corpo humano (segmentos pélvis, fémur, tíbia-fíbula e pé, relativamente aos eixos, longitudinal, médio-lateral e anterior-posterior). A primeira abordagem de calibração sensor-to-segment apresentada é a calibração manual. Esta é 5
considerada uma abordagem simples, onde um examinador deve alinhar os eixo do sistema de coordenadas do sensor inercial com eixos do sistema de coordenadas do segmento, por meio de rotações efetuadas aos dados coletados pelos sensores. Esta abordagem de calibração é favorecida em contexto clínico devido à sua simplicidade e rapidez de implementação, uma vez que o sujeito não é obrigado a adotar nenhum movimento ou postura específico, ou dispositivos complementares. No entanto, esse alinhamento é totalmente dependente do examinador, pelo que para garantir confiabilidade é necessário treino por parte do mesmo. Já na calibração estática o sujeito adota uma postura em particular onde se assume que durante essa postura um dos eixos está alinhado com a gravidade medida pelo acelerómetro. Outra abordagem é a calibração funcional, que pode ser vista como apropriada para definir os eixos de rotação das articulações, pois este eixo é obtido com base em movimentos de rotação realizados em torno do mesmo. No entanto, esta abordagem considera que o sujeito, durante a calibração, é capaz de realizar rotações puras em torno do eixo do segmento que está a ser identificado. Infelizmente, esta hipótese é altamente questionável, especialmente em pessoas com amplitude de movimento limitada. Por último temos a calibração anatómica, esta abordagem usa marcos anatómicos para definir os eixos do segmento, por meio de um dispositivo utilizado para localizar esses pontos de referência anatómicos. Possibilitando a sua aplicação a todos os tipos de pessoas, mesmo aqueles com contratura muscular ou amplitude de movimento limitada. Frequentemente estes diferentes métodos são combinados para definir o conjunto de eixos necessários para descrever os diferentes sistemas de coordenadas do segmento inferior do corpo. Para a revisão de métodos de calibração de sensor-to-segment ,Pacher et al. [2020] analisaram vários artigos referentes ao tema. Destes artigos foram examinados vários tópicos, entre os quais temos o método de calibração sensor-to-segment , movimentos ou posturas usadas, a computação matemática usada para obter a transformação de sensor para segmento para cada eixo e a metodologia de validação. Por sua vez, Li et al. [2022] propõem a utilização de uma rede neuronal designada Calibnet (figura 1), para a calibração do giroscópio. Este algoritmo procura melhorar a calibração de IMU de baixo custo por meio de uma Convolutional Neural Network (CNN) simples. Esta rede recebe como entrada as medições sequenciais do giroscópio e acelerómetro e estima a compensação de velocidade angular, mediante convolução de dilatação (figuras 2e3), para extração de recursos espaço-temporais. A estimativa da compensação da velocidade angular é posteriormente usada no modelo matemático. Este modelo matemático usa os dados do giroscópio e multiplica os por uma matriz Cw, que contem o fator escala e o desalinhamento para às medições do mesmo. A seguir, a compensação angular é adici6
onada ao resultado anterior, obtendo-se a velocidade angular corrigida. Esta é então integrada resultando estimativa da rotação 3D. Figura 1: A visão geral da estrutura proposta, da rede neuronal convolucional simples apresentada por Li et al. [2022], para calibração do giroscópio. Figura 2: Os detalhes da estrutura Calibnet. A Calibnet proposta usa medições temporais de giroscópio e medições de acelerómetro como entradas e gera a parte de compensação para medições de velocidade angular. Figura 3: A ilustração da Convolução de Dilatação 1D. O tamanho da dilatação indica o espaçamento entre os pontos do kernel da convolução. No artigo propuseram a utilização do log hyperbolic cosine (log-cosh) loss como função de erro para regressão de correção de medição do giroscópio. Comparado com a Huber loss , que é aproximadamente 7
igual a (y−y′)2/2 para a erros pequenos e a |y−y�|−log(2) para a erros grandes, então tem todas as vantagens da Huber loss e é duas vezes diferenciáveis tanto para erros pequenos quanto para erros grandes. A função de erro é definida abaixo: L(y, y′) = n ∑ i=1 log(cosh(y−y′)) (2.1) Já Palermo et al. [2022] apresenta o método de calibração estática simples, usado na calibração sensor-to-segment dos datasets ErgoAware e o MTw Awinda. Este pretende obter uma transformação razoável, usando os dados estáticos N-Pose coletados no início de cada tentativa, na realização da calibração sensor-to-segment dos datasets . 8
Referencia Objetivo Método de calibração Métricas Resultados Conclusão Observações [Palermo et al.,2022] Apresentar o processo usado na criação e processamento de 2 datasets Calibração estática simples usando os dados estáticos N-Pose Distancia do ângulo do quaternião (QAD) ErgoAware: 27.46° / MTwAwinda: 7.83° Pelos resultados obtidos podemos perceber que o dataset ErgoAware precisa de melhorar a calibração sensor-tosegment [Pacher et al.,2020] Destacar as diferentes propostas feitas para calibração sensor-tosegment para análise cinemática da parte inferiores do corpo manuais/ estáticos/ funcionais/ anatómicos RMSE Cada método apresentado tem caraterísticas que o tornam aplicável em diferentes situações A calibração manual é favorecida em contexto clínico, na estática o utilizador pode adotar uma postura natural, a funcional é apropriada para definir os eixos do segmento articular e a anatómica pode ser aplicada em pessoas com contratura muscular ou alcance limitado de movimento [Li et al., 2022] Obter uma calibração precisa de IMU de baixo custo por meio de uma CNN profunda simples Calibnet Absolute Orientation error (AOE) 1.77° O desempenho de estimativa de orientação pode competir com o estado da arte A capacidade da rede proposta para diferentes tipos de IMU ainda é um desafio Tabela 1: Métodos de calibração de dados provenientes de sensores IMU. 9
Figura 11: Modelo TCN para estimativa de ângulo. agruparam o acelerómetro e o giroscópio separadamente, sendo que o acelerómetro fornece informações de ângulo em grandes escalas de tempo e o giroscópio fornece informações precisas sobre a mudança de orientação, conforme pode ser visualizado na figura 12. Figura 12: Versão de entrada agrupada do modelo RNN na figura 10. A primeira camada RNN é dividida entre os sinais do acelerómetro e do giroscópio. Na figura 13 podemos visualizar que sem as otimizações, os modelos RNN eTCN funcionam num nível semelhante. Porém, após adicionar as otimizações, o RNN obtiveram um erro menor ao do TCN. Também podemos visualizar que tanto a otimização da loss quanto o aumento de dados foram necessários para superar o filtro de linha de base. Se todas as otimizações mencionadas forem aplicadas, a rede neuronal terá um desempenho significativamente melhor do que o filtro de linha de base. Rapp et al. [2021] introduzem uma nova estrutura que combina deep learning e otimização topdown para prever com precisão os ângulos das articulações das extremidades inferiores diretamente dos dados inerciais, sem depender das leituras do magnetómetro. Treinaram Deep Neural Network num grande conjunto de dados inerciais sintéticos derivados de um banco de dados de movimento baseado em marcadores clínicos de centenas de indivíduos. Técnicas de aumento de dados e uma abordagem de calibração automatizada foram usadas para reduzir o erro devido à variabilidade na colocação do sensor 16
Figura 13: Estudo de ablação. BM: Basemodel, LO: Otimização da loss , DA: Aumento de Dados e GI: Entrada Agrupada. e alinhamento do membro. Em termos de resultados, foi estimada a cinemática da extremidade inferior com um erro quadrático médio (± STD) inferior a 1,27 ° (± 0,38 °) em flexão/extensão; inferior a 2,52 ° (± 0,98 °) em addução /abdução; e menos de 3,34°(±1,02°) em rotação interna/externa, em testes de caminhada e corrida. Para tal propuseram Deep Neural Network (DNN), figura 14, que usa os dados inerciais sintéticos (aceleração linear triaxial e velocidade angular) dos dois segmentos adjacentes para prever a verdadeira orientação do segmento [Rs1, Rs2]e ângulos articulares [α1, α2, α3]Atualizaram as previsões de orientação do segmento iterativamente (etapa de otimização) até que a velocidade angular associada a eles correspondesse melhor aos dados do sensor virtual, e os ângulos de articulação atualizados foram calculados a partir dessas orientações otimizadas [β1, β2, β3]. Os ângulos de articulação 3-D finais (θ) foram então calculados usando uma média ponderada da previsão do modelo de deep learning αos resultados da rotina de otimização β. Figura 14: Abordagem Híbrida de Deep Learning e Otimização proposta por Rapp et al. [2021]. Como modelo de deep learning foram testadas duas arquiteturas abrangentes com pontos fortes complementares. A primeira foi uma Convolutional Neural Network Unidimensional (Conv1D), 17
que faz previsões eficientes numa janela de tempo que desliza por toda a série temporal e, portanto, é mais eficiente para processamento offline . A segunda foi uma Long Short-Term Memory (LSTM), que é uma RNN específica que faz previsões de um timestamp por vez, atualizando um estado interno para propagar informações anteriores. Hernandez et al. [2021] por sua vez, propõem uma abordagem baseada em Deep Learning para previsão de séries temporais da cinemática das articulações dos membros inferiores com um modelo profundo baseado em camadas convolucionais e em camadas recorrentes LSTM (DeepConvLSTM). Eles usaram camadas convolucionais para extrair recursos (domínio espacial) do sinal, e as camadas recorrentes para fornecer previsão de séries temporais (domínio do tempo). Eles começaram por transformar a entrada Xpor meio de duas camadas convolucionais com uma dimensão de filtro de 10 × 6 × 16 (tamanho do kernel de 10 x 6 e 16 canais) e 10 × 6 × 32, com função de ativação ReLU. À saída da última camada convolucional fazem reshape para 100 × 960, onde 960 representa o recurso extraído em cada intervalo de tempo. Seguidamente, conectam esta nova representação da série temporal a duas camadas recorrentes com dependências LSTM. Finalmente, as previsões de saída Ysão recuperadas a cada passo de tempo t. A arquitetura do modelo por eles usada está representada na figura 15. Figura 15: Arquitetura da rede neuronal recorrente convolucional profunda com memória de longo-curto prazo (DeepConvLSTM) considerada por Hernandez et al. [2021]. Já Coskun et al. [2017] apresentam um modelo híbrido, o LSTM Kalman Filter (LSTM-KF), que junta um filtro de Kalman com uma LSTM visando obter um modelo para a regularização temporal de estimadores de pose. A sua ideia principal é aproveitar os filtros de Kalman sem a necessidade de especificar uma função de transição linear Aou processo fixo e matrizes de covariância de medição QeR. Em vez disso, modelaram uma função de transição não linear fcom QeRusando três redes diferentes de Long Short-Term Memory (LSTM), fornecendo assim ao modelo a capacidade de aprender os parâmetros de Kalman a partir dos dados. A arquitetura LSTM é ilustrada na figura 16. Eles denotaram os três módulos LSTM para f,ˆ Qteˆ Rtpor LSTMf,LSTMQeLSTMR; cada um é 18
Figura 16: Visão geral do LSTM-KF. (a) Uma representação de alto nível da arquitetura que usa três módulos LSTM para prever os componentes internos do filtro kalman. (b) O LSTM-KF desenrolado ao longo do tempo, que pode ser treinado ponta a ponta com backpropagation . representado na figura 17. Onde a cada intervalo de tempo t,LSTMfrecebe a previsão anterior ˆyt−1como entrada e produz o estado intermediário ˆy′ t.LSTMQentão toma ˆy′ tcomo entrada e produz uma estimativa da covariância do processo, ˆ Qt, como saída. Enquanto isso, a observação ztserve como entrada para LSTMR, que produz apenas uma estimativa da covariância de medição, ˆ Rt, como saída. Finalmente, ˆy′ tezt, com as estimativas de covariância, são alimentados para um filtro de Kalman padrão produzindo finalmente a nova previsão ˆyt. Figura 17: Arquiteturas LSTM-KF. As redes maiores são usadas para o dataset human 3.6M e as redes menores para todos os outros (menores) datasets . Li et al. [2016] propõem um método usando Ground Reaction Forces (GRF) e moments medidos por um par de calçado com sensores vestíveis para estimar os ângulos articulares dos membros inferiores para análise da marcha. Esses sapatos com sensores vestíveis são combinados com sensores de movimento para construir um sistema de análise de marcha vestível da pesquisa anterior. Com base nas medições do sistema vestível, as redes neuronais são treinadas com apenas GRFs ou com a combinação de GRFs e moments como entrada e os ângulos das articulações como saída. Aplicaram o modelo de duas formas, uma para discutir a precisão da estimativa para uma pessoa 19
específica e outra para discutir a aplicabilidade geral do método do modelo. No primeiro modelo, usaram os GRFs de todas as placas de força móveis para treinar as redes neuronais. Primeiramente, usaram metade dos dados dos sujeitos A a D para treinar redes neuronais que tinham 15 nós ocultos (como mostrado na figura 18) respetivamente, e usaram outra metade dos dados para validar as redes neuronais, respetivamente. E por fim, usaram metade dos dados de cada sujeito, dos sujeitos A a F para treinar uma rede neuronal e outra metade para validar a rede neuronal separadamente. Além disso, usamos os resultados das medições do sujeito G e H para validar a rede neural e testar a aplicabilidade geral. No segundo modelo, todo o processo de modelagem e processo de validação igualou o primeiro, mas as redes neuronais foram treinadas tanto por GRFs quanto por moments . Figura 18: A rede neuronal artificial foi treinada pelos GRFs 3D das placas de força moveis e ângulo articular. Li et al. [2016] ainda propuseram um EKF modificado atualizado com forças de reação do solo (GRFs) e moments dos sensores vestíveis dos sapatos para reduzir o bias da estimativa do ângulo da articulação. As redes neuronais usadas para estimar ângulos de articulação com GRFs e moments atuam como uma ligação entre GRFs, moments e quaterniões (figura 19). No entanto, através da análise dos resultados obtidos nos testes efetuados, o desempenho deste método não é confiável e preciso como a rede neuronal. Com o objetivo estimar a posição, velocidade e orientação de um projétil usando apenas acelerómetros, giroscópios e magnetómetros, Roux et al. [2021] apresentam um novo método. Este algoritmo é composto por um Imperfect Right-Invariant Extended Kalman Filter (Imperfect R-IEKF) e uma Convolutional Neural Network (CNN) para otimizar dinamicamente a matriz de covariância de noise . Esta matriz de covariância variável no tempo é sempre ajustada para cada fase do voo do projétil. Para avaliar o desempenho do algoritmo, realizaram simulações de tiro de morteiro. As estimativas obtidas com um Imperfect R-IEKF superam as estimativas do Dead Reckoning . Além disso, o uso 20
Figura 19: Diagrama do EKF usado no sistema de análise de marcha vestível e o algoritmo EKF modificado. A linha sólida representa o fluxo de dados do vetor de estado no EKF modificado; a linha tracejada representa o fluxo de dados dos sensores ou modelo; a linha pontilhada representa o fluxo de dados do vetor de estado atualizado no EKF usado no sistema vestível. conjunto de um Imperfect R-IEKF e um CNN permitiu reduzir significativamente os erros de estimativa da trajetória do projétil. Imperfect R-IEKF é utilizado para estimar a trajetória do projétil e os bias do sensor usando exclusivamente acelerómetro triaxial, giroscópio e magnetómetro no quadro do projétil. Um Imperfect R-IEKF considera um erro de estimação composto por um erro invariante à direita como um IEKF e um erro de bias linear. Além disso, apenas uma parte dos estados estimados foi incorporada num grupo de Lie da matriz levando em consideração os bias do IMU e preservando a propriedade do ”grupo afim”. Como todos os filtros de Kalman, um Imperfect R-IEKF combina uma previsão e uma etapa de atualização. A atualização exponencial foi aplicada aos estados embutidos num grupo de Lie da matriz, consoante a teoria IEKF. Conforme mostrado na figura 20, o filtro visava estimar, apenas a partir do acelerómetro, giroscópio e magnetómetro ruidosos e tendenciosos, leituras no quadro do projétil: • A orientação R∈SO(3), velocidade v∈R3e posição p∈R3do projétil no quadro de navegação, sendo Ra matriz de rotação do quadro do projétil para o quadro de navegação. 21
Figura 20: Imperfect Right-Invariant Extended Kalman Filter • O bias dos giroscópios b∈R3, o bias dos acelerómetros ba∈R3e o bias dos magnetómetros bh∈R3no quadro do projétil. Normalmente, convolução(wh)é ajustado manualmente consoante as indicações de erro do sensor, e é constante durante o voo do projétil. Para melhorar as estimativas, Roux et al. [2021] propuseram o uso de uma Convolutional Neural Network (CNN), usando apenas leituras do magnetómetro Hb para estimar convolução(wh), variável no tempo e adaptado às diferentes fases do voo do projétil. A estrutura da CNN está demonstrada na figura 21. Onde como pode ser visto, as camadas de convolução unidimensionais são usadas para extrair features dos dados de entrada. Entre as camadas convolução aplicaram funções de ativação não lineares: unidade Linear Retificada (ReLU), Tangente Hiperbólica (Tanh) e LeakyReLU. E combinaram com camadas de dropout para evitar o overfitting da rede. Os resultados das camadas de convolução e ativação foram transmitidos para a camada linear totalmente conectada para estimar três parâmetros α,βeγ. O treino visa ajustar os parâmetros da CNN para minimizar a loss entre as estimativas obtidas com oImperfect R-IEKF onde a matriz de covariância de noise da medição é avaliada pela CNN e os dados de referência. Figura 21: Camadas CNN usados por Roux et al. [2021] 22
Referencia Objetivo dataset Tipo de RN/ Estrutura Métricas de avaliação Erro [Tong et al.,2020] Estimativa da articulação dos membros inferiores no plano sagital usando IMU espalhados Dados de sensores IMU coletados nos membros inferiores a 50hz LSTM / Bagging ensemble 18 LSTM - 2 layers Plano sagital articulações da perna RMSE 6.49º [Rapp et al.,2021] Estimativa da articulação dos membros inferiores usando dados virtuais IMU (accel+gyro) Dados IMU sintetizados do dataset MoCap personalizado Conv1D - 3 layers Pernas RMSE 5º (CNN) / 2,5º (com otimização) [Huang et al.,2018] Estimativa de SMPL de pose de usando 6 IMUs Dados IMU/SMPL sintetizados AMASS + (TotalCapture + DIP-IMU) bi-LSTM 2 layers Articulações de corpo inteiro RMSE 18.5º [Wouda et al.,2019] Estimativa de pose de corpo inteiro de 5 IMUs em dados brutos Personalizado com caminhadas e ações quotidianas SINN /LSTM RMSE da posição dos pontos-chave 6cm e 7cm [Yi et al.,2021] Estimativa de pose corpo inteiro usando 6 IMUs + Estimativa de translação global baseada em fusão DIP-IMU + TotalCapture + AMASS bi-LSTM Erro Angular 14.95º (±6.90º) [Weber et al.,2020] Estimativa de atitude em tempo real através do uso de IMU Personalizado: 50.000 amostras a 286 Hz RNN /TCN RMSE 1.73º/ 4.83º Continua... 23
Referencia Objetivo dataset Tipo de RN/ Estrutura Métricas de avaliação Resultados [Hernandez et al.,2021] Prever os ângulos articulares dos membros inferiores a partir dos dados da IMU durante a marcha Personalizado: frequência de 100 Hz DeepConvLSTM MAE 3.6(2.1)◦ [Coskun et al.,2017] Regularização temporal para estimativa de pose Human 3.6M LSTM-KF Distância euclidiana entre estimativa e as posições das articulações 3D. 70.98mm [Li et al.,2016] Estimar os ângulos articulares dos membros inferiores para análise da marcha medidos por um par de sapatos com sensores vestíveis Personalizado EKF modificado atualizado com GRF e moments R/RMSE 9° [Roux et al.,2021] Estimar a posição, velocidade e orientação de um projétil usando apenas acelerómetros, giroscópios e magnetómetros BALCO Imperfect R-IEKF e CNN MSE da orientação do projétil em cada eixo de Euler ϕ= 15.88 rad /θ = 0.56 rad /ψ= 1.77 rad Tabela 3: Redes e resultados presentes nos artigos. 24
2.3 Discussão Como pode ser observado na secção 2.1 o processo calibração sensor-to-segment pode ser realizada seguindo diversas abordagens (manuais, estáticos, funcionais, anatómicos), que podem também ser combinadas. Cada uma das abordagens tem as suas vantagens e desvantagens, em termos de simplicidade, velocidade de implementação, precisão, pressuposta ou aplicação. Não podendo ser dito que existe uma abordagem melhor que as outra. Outra forma de realizar o processo calibração dos dados do giroscópio, pode ser a utilização de uma rede neuronal como a proposta por Li et al. [2022]. Onde eles conseguiram um desempenho de calibração ótimo, que pode competir com os métodos usados no estado da arte. Já na secção 2.2 são apresentados diversos métodos de estimativa usando dados provenientes de IMU. Começando pôr o artigo de Tong et al. [2020] são exploradas a utilização de um LSTM e de Bagging ensemble com 18 redes LSTM, para fazer uma estimativa da articulação dos membros inferiores no plano sagital usando poucos IMUs e espalhados. A partir de testes por eles realizados podemos ver que na condição de garantir uma eficiência operacional aceitável, o ensemble LSTM baseado no algoritmo ’bagging’ é mais robusto e apresenta melhor desempenho na reconstrução do movimento do que um único LSTM. Huang et al. [2018] e Yi et al. [2021] fazem uso de uma variante do algoritmo LSTM chamada LSTM bidirecional (bi-LSTM). Huang et al. [2018] no seu artigo usam este algoritmo para realizar uma estimativa de SMPL de pose de corpo inteiro usando 6 IMU, no qual demonstra que um pequeno subconjunto de sensores pode ser usado para recuperar a pose de corpo inteiro com boa precisão. Por sua vez, Yi et al. [2021] utilizam o bi-LSTM para estimativa de pose do corpo inteiro usando 6IMUs e na estimativa de translação global. Comparações quantitativas e qualitativas mostram que o método por eles usado supera os métodos baseados em aprendizagem e otimização com uma grande margem de precisão e eficiência. Já Weber et al. [2020] evidenciam no seu artigo que através do uso de Recurrent Neural Network (RNN), como o LSTM, conseguiu obter melhores resultados na estimativa de atitude em tempo real com dados provenientes de IMU, do que através da utilização de Temporal Convolutional Network (TCN). Wouda et al. [2019] por sua vez, conseguiu mostrar que é possível obter bons resultados de redes neuronais mais simples com Stacked Input Neural Network (SINN), onde obteve resultados muito semelhantes ao do uso de uma LSTM, na estimativa de pose de corpo inteiro a partir de 5 IMU. 25
• ”estático”que calcula a calibração estática usando referência de gravidade e, se forem fornecidos alinhamentos manuais, combina-os com as rotações calculadas; • ”estático com magnetómetro”que calcula a calibração usando referências de gravidade e de campo magnético. Por fim, os parâmetros de calibração dos sensores e deslocamentos de calibração sensor-to-segment calculados, são usados para calibrar os dados para os datasets . Ao serem usados nos modelos implementados, os dados provenientes dos datasets são divididos em três conjuntos de dados, os dados de treino (75%), os dados de validação (10%) e os dados de teste (15%). A divisão foi realizada por sujeito. Cada conjunto de dados é carregado em DataLoaders, onde os dados de cada conjuntos são guardados em diferentes tensores, estes tensores têm quatro dimensões, a primeira procura separar as diferentes experiências e participantes, a segunda pretende apresentar as sequências de tempo, a terceira dimensão guarda os dados de sensores diferentes onde foram colocados os sensores e por último na quarta dimensão apresenta os dados para cada sensor. Na tentativa de alcançar o melhor resultado possível na estimativa de pose, também foi testado exclusão das extremidades, como as mãos, pés e cabeça, na estimativa de pose. Esta exclusão das extremidades é motivada pelo facto dos valores adquiridos pelos sensores nestes segmentos apresentam um gama de valores muito superior aos restantes segmentos, como pode ser observado pelos diagramas de bigodes apresentados nas figuras 24,25 e26. Figura 24: Diagrama de bigodes com a variação dos valores coletados pelos sensores de acelerómetro, em cada ponto, para os datasets Ergowear (esquerda) e Mtw Awinda (direita). 32
Figura 25: Diagrama de bigodes com a variação dos valores coletados pelos sensores de giroscópio, em cada ponto, para os datasets Ergowear (esquerda) e Mtw Awinda (direita). Figura 26: Diagrama de bigodes com a variação dos valores coletados pelos sensores de Magnetómetro, em cada ponto, para os datasets Ergowear (esquerda) e Mtw Awinda (direita). 3.3.2 Pre-processamento Para possibilitar o aumentar o conjunto de dados existentes, no treino dos modelos de estimativa e no modelo de calibração, foram utilizadas técnicas de Data Augmentation . Estas técnicas de Data Augmentation , para além de aumentarem os dados existentes, também procura aumentar a generalização dos dados, ajudado a evitar overfitting , através da introdução da variabilidade. Outra das vantagens destas técnicas é que a sua utilização no treino dos modelos tornam estes mais robustos a variações e ruídos nos dados de entrada. A utilização destas técnicas de Data Augmentation é apenas realizada quando a utilização das mesmas é especificada nos hiperparâmetros dos modelos e para os dados relevantes para o modelos em questão. Na utilização Data Augmentation foram utilizadas várias técnicas, entre elas temos o SensorNoise, esta técnica adiciona ruído gaussiano aos dados dos sensores. Outras técnicas usadas são SensorDropout, 33
que aplica Dropout para um valor de exclusão específico, o SequenceMasking, que oculta sequências nos dados e por fim temos RandomOrientation, que aplica orientação aleatória aos dados, por meio de rotações. 3.3.3 Arquiteturas das redes neuronais No desenvolvimento do modelo de estimativa de pose foram testadas vários algoritmos de deep learning . Alguns destes algoritmos são baseadas somente em redes neuronais, más também foram implementados redes híbridas, que combinam redes neuronais com filtros. Para estimativa de pose foram implementadas quatro de arquiteturas de redes neuronais, onde entre elas temos o RNN,LSTM,GRU,TGCN. Na implementação da Recurrent Neural Network (RNN) foi utilizado a arquitetura apresentada na figura 27. Esta rede RNN procura processar dados de sequências temporais, através da utilização de loops feedback , onde a saída de um neurónio em um timestamp é utilizada como entrada para o mesmo neurónio no próximo timestamp . Permitindo dar uso da sequência temporal na estimativa de pose. Figura 27: As arquiteturas de rede RNN implementada na Framework . Como pode ser visto na figura 27, a rede recebe os dados numa camada Linear que recebe os dados dos datasets Ergowear e Mtw Awinda e das suas versões sem extremidades. esta camada têm como entrada os dados recolhidos por cada sensor, normalmente 13 entradas, mas podem variar para 10, no caso não sejam utilizados os valores do magnetómetro, multiplicado pelo número de sensores usados, no dataset Ergowear são usados 9 sensores na versão original e 6 na variação do sem extremidades, já no dataset Mtw Awinda são usados 17 sensores na versão original e 12 na variação do sem extremidades. 34
A seguir os dados passam por uma sequência de camadas RNNcell, uma função de ativação Relu e termina com uma camada Dropout de 20%. Esta sequência normalmente ocorre 2 vezes como podemos ver na figura 27, mas pode ser ajustada por meio de hiperparâmetros. Para terminar os dados passam por uma camada de normalização LayerNorm e finalmente uma camada Linear que devolve os valores da estimativa de pose, o número de saídas da rede por sua vez vai variar conforme o formato de saída para cada ponto e o número de sensores usados na rede, este ultimo vai corresponder ao número de sensores de entrada. Já o formato é normalmente quaternião, onde são devolvidos um vetor de 4 elementos para cada ponto, mas também pode ser devolvido como uma representação a 6 dimensões, onde é devolvido vetor de 6 elementos para cada ponto. Apesar das redes RNN padrão terem em consideração os dados de sequências temporais, estas têm limitações que podem dificultar a captura de dependências de longo alcance em sequências. Por essa razão, e na tentativa de obter melhores resultados, foram implementados variantes das redes RNN. A rede Long Short-Term Memory (LSTM) é uma das variantes da rede RNN implementadas na framework . Esta rede e usada para tarefas que exigem modelagem de dependências de longo prazo, isto utiliza células de memória especiais e mecanismos de controle para lidar melhor com dependências de longo alcance, mitigando assim os problemas encontrados na rede RNN padrão. Figura 28: As arquiteturas de rede LSTM implementada na Framework . A implementação da rede LSTM utiliza a arquitetura apresentada na figura 28. Esta implementação é semelhante à implementação usada na arquitetura RNN apresentada na figura 27, onde apenas no lugar das camadas RNNcell, são utilizadas LSTMCell. Outra das variantes das redes RNN implementada foi a rede Gated Recurrent Unit (GRU), este 35
tipo de rede é semelhante às redes Long Short-Term Memory (LSTM), mas possui uma arquitetura simplificada com menos portas, usando assim menos recursos computacionais. Para a implementação da rede GRU foi utilizada a arquitetura apresentada na figura 29. Semelhante à arquitetura LSTM, esta arquitetura também tem por base a arquitetura apresentada na figura 27, referente a arquitetura RNN, onde as camadas GRUCell substituem as camadas RNNcell. Figura 29: As arquiteturas de rede GRU implementada na Framework . A outra arquitetura implementada é a Temporal Graph Convolutional Network (TGCN), esta rede foi projetada para trabalhar com dados que podem ser representados como grafos temporais. Estes gráficos temporais são gráficos onde as arestas e os nós podem mudar ao longo do tempo, na implementação desta rede na framework os nós dos grafos representam os dados recolhidos pelo sensor, enquanto as arestas, representadas por um dicionário de pontos adjacentes, representam as conexões físicas do corpo entre os pontos onde estão colocados os sensores. Na implementação da rede Temporal Graph Convolutional Network (TGCN) foi utilizada a arquitetura apresentada na figura 30. Esta arquitetura também tem por base implementação usada na arquitetura RNN apresentada na figura 27, mas ao contrário das arquiteturas anteriores para além de substituir as camadas RNNcell pelas camadas TGCNCell e de receber um dicionário com os segmentos adjacentes entre si, também o número de dados de entrada e de saída na rede são diferentes. A rede normalmente recebe 13 valores entradas, mas pode variar para 10 no caso não sejam utilizados os dados provenientes do magnetómetro, e devolve um quaternião, onde são devolvidos um vetor de 4 elementos, mas também pode ser devolvido como uma representação a 6 dimensões, onde é devolvido vetor de 6 elementos. 36
Figura 30: As arquiteturas de rede TGCN implementada na Framework . Na utilização das arquiteturas apresentadas anteriormente foi utilizado o algoritmo descrito na figura 31. Este algoritmo recebe os dados provenientes dos sensores (imus_mag, imus_acc, imus_gyr), a posição inicial (q0) e o número de sequências de tempo (T). O algoritmo inicia na sequência de tempo (t) 0 e percorre as sequências de tempo, começando por preparar os dados para percorrer a rede. Neste passo são retirados, caso seja o caso, os dados das extremidades como as mãos, pés e cabeça. Ainda neste passo os dados dos sensores pertinentes são organizados para percorrerem a rede neuronal. A seguir os dados preparados no passo anterior percorrem a rede, resultando num quaternião com a estimativa de pose. Seguidamente, a pose estimada pode passar por uma estratégia de fusão de dados previamente escolhida. Entre as estratégias de fusão temos várias opções, entre as quais a fusão Global onde o resultado é a saída de rede, a estratégia de fusão Complementar e por último temos a estratégia de fusão madgwick . Na estratégia de fusão complementar, começamos por calcular as mudanças na pose ao longo do tempo, tendo em conta as medições do giroscópio, equação 3.1. A seguir, os dados do giroscópio são incorporados na estimativa de pose, através da integração das mudanças estimadas na pose (qdot) ao longo do tempo dt, equação 3.2. E por fim, um novo quaternião com a estimativa de pose, é calculado como uma combinação ponderada do quaternião qgyr e o resultado da rede neuronal, equação 3.3. qdot = 0.5·q0∗p(3.1) qgyr =q0+ (qdot ·∆t)(3.2) 37
q= (1.0−self.compl_gain)·qgyr +self.compl_gain ·y(3.3) Já na estratégia de fusão madgwick , começamos também por calcular as mudanças na orientação ao longo do tempo, tendo em conta às medições do giroscópio, equação 3.1. Mas, a seguir, é se subtraída a estimativa de pose, equação 3.4. E por fim, o resultado desta subtração é integrada ao longo do tempo dt, equação 3.5. Obtendo-se um resultado semelhante à abordagem do filtro madgwick para estimativa de pose. qdot =qdot −(self.compl_gain ·y)(3.4) q=q0+ (qdot ·dt)(3.5) Finalmente, a estimativa de pose é guardado no tensor de saída na sequência de tempo correspondente e dada como posição inicial para a estimação de pose na sequência de tempo seguinte. Após percorrer todas as sequências é devolvido o tensor de saída já com a estimativa de pose para todas as sequências de tempo. Para além do algoritmo apresentado anteriormente também foram implementados outros algoritmos de redes híbridas, que combinam redes neuronais com filtros. Um destes algoritmos é o PoseFusionFilterRNNCorrection com o filtro madgwick , onde são utilizadas redes neuronais com arquitetura LSTM e arquitetura TGCN. O algoritmo PoseFusionFilterRNNCorrection, apresentado na figura 32, recebe de entrada os dados provenientes dos sensores (imus_mag, imus_acc, imus_gyr), a posição inicial (q0) e o número de sequências de tempo (T). O algoritmo inicia na sequência de tempo (t) 0 e começa por calcular o resultado de passar os dados dos sensores pelo filtro madgwick . Seguidamente preparam-se os dados para serem fornecidos a rede neuronal escolhida. O resultado obtido por esta rede, é então combinado com o resultado do filtro, donde se obtém a estimativa de pose. Após o seu cálculo, a estimativa de pose é guardado no tensor de saída na sequência de tempo correspondente e dada como posição inicial para a estimação de pose na sequência de tempo seguinte. Após percorrer todas as sequências e devolvido o tensor de saída já com a estimativa de pose para todas as sequências de tempo. A outra rede híbrida implementada na framework , usa o algoritmo PoseFusionMadgwickTuneRNN com uma arquitetura LSTM e o filtro madgwick , mas ao contrário do algoritmo anterior a rede é usada para calcular os valores dos ajustes ao filtro. 38
Figura 31: O algoritmo de rede neuronal implementado na Framework . Este algoritmo é apresentado na figura 33, a semelhança dos algoritmos anteriores tem como os dados provenientes dos sensores (imus_mag, imus_acc, imus_gyr), a posição inicial (q0) e o número de sequências de tempo (T) e inicia na sequência de tempo (t) 0 e para cada sequência de tempo o algoritmo estima a pose para a mesma. Na estimativa da pose, primeiramente os dados são preparados para serem usados na rede LSTM para calcular os valores de ajuste ao filtro. Após o cálculo dos valores de ajuste do filtro, os dados dos sensores e estes valores de ajuste do filtro previamente calculado passam pelo filtro madgwick , como resultado obtemos a estimativa de pose. A seguir, a estimativa de pose calculada é guardada no tensor de saída na sequência de tempo correspondente e dada como posição inicial para a estimação de pose na sequência de tempo seguinte. No fim de percorrer todas as sequências, o tensor de saída já com a estimativa de pose para todas as sequências de tempo é devolvido. 39
Figura 32: O algoritmo PoseFusionFilterRNNCorrection implementada na Framework . Figura 33: O algoritmo PoseFusionMadgwickTuneRNN implementado na Framework . 3.3.4 CalibNet A implementação da rede CalibNet teve por base o artigo de Li et al. [2022], referido na secção 2.1. Esta rede tem por objetivo calibrar os dados adquiridos pelos sensores, para diminuir o erro dos mesmos, para posteriormente poderem ser utilizados como valores de entrada nas redes referidas na secção 3.3.3 Como apresentado na figura 34, esta rede recebe com entrada os dados provenientes do giroscópio e do acelerómetro, para calcular o valor de ajuste do giroscópio. A seguir, este valor é adicionado a variação de velocidade angular. O resultado destas operações é então integrado pela variação de tempo e é obtido 40
Figura 34: Diagrama da estrutura da rede CalibNet, para calibração dos sensores IMU (∆Wrepresenta o valor de ajuste do giroscópio, ∆Gyr a variação da velocidade angular, ˆ Wt representa a soma da variação angular com o valor de ajuste do giroscópio e ˆ Wt_∆trepresenta o valor da orientação calibrado) o valor de orientação já calibrado. Na implementar da rede CalibNet foi usado o algoritmo apresentado na figura 35. Este algoritmo recebe os dados provenientes dos sensores IMU(imus_acc, imus_gyr), as sequências de tempo (T) e é iniciado na sequência de tempo,t= 0 . O algoritmo começa por calcular o valor de ajuste(newGyr) para cada sequência de tempo, este passo começa por preparar os dados dos sensores, esta preparação consiste na junção dos dados giroscópio e do acelerómetro num único tensor, que, a seguir, é considerado valor de entrada à rede neuronal CalibNet que obtém o valor de ajuste para aquela sequência de tempo. Após o cálculo do valor de ajuste (newGyr) para todas as sequências de tempo, este é adicionado ao valor ∆W, obtido subtração dos valores do giroscópio em cada sequência de tempo pelos valores do giroscópio da sequência de tempo anterior (imus_gyrt−imus_gyrt−1). A seguir, o resultado da adição do valor de ajuste (newGyr) com o ∆Wé integrado pelo tempo, obtendo-se o valor da orientação calibrado. A rede neuronal CalibNet usada para encontrar os valores de ajuste em cada sequência de tempo tem a arquitetura apresentada na figura 36. Como pode ser visto na arquitetura recebe como entrada os dados do giroscópio e do acelerómetro de cada sensor, onde o número de sensores varia conforme o dataset , dado que o dataset Ergowear utiliza 9 sensores e o dataset Mtw Awinda utiliza 17 sensores. Estes valores de entrada passam por 4 camada Convolutional Neural Network Unidimensional (Conv1D), a seguir passa por uma camada Linear e uma camada Dropout, e terminam noutra camada Linear, que devolve os valores de ajuste estimados. 41
Após a análise dos resultados dos testes podemos verificar que apesar dos modelos de redes híbridas, que usam os algoritmos PoseFusionFilterRNNCorrection apresentarem melhores resultados que os restantes modelos de redes neuronais, os resultados destes modelos são bastante semelhantes aos resultados de alguns filtros. Por exemplo, no dataset Ergowear os resultados do algoritmo PoseFusionFilterRNNCorrection com arquitetura LSTM (20.682 ± 16.2º com extremidades e 18.78 ± 11.42º sem extremidades) são bastantes próximos aos do filtro Madgwick sem Magnetómetro (20.717 ± 20.338 com extremidades e 17.906 ± 19.385 sem extremidades) Já para o dataset MTw Awinda os resultados do algoritmo PoseFusionFilterRNNCorrection com arquitetura LSTM (7.851 ± 6.642º com extremidades e 7.556 ± 6.952º sem extremidades) são bastantes próximos aos do filtro Madgwick com Magnetómetro sem rejeição de banda (7.767 ± 6.745º com extremidades e 7.696 ± 7.134º sem extremidades). Além disto, o tempo de treino destes modelos é superior para os modelos mais complexos, tornando as redes neuronais híbridas com o algoritmo PoseFusionFilterRNNCorrection, com tempo de treino de 14 horas e 16 minutos, é quase duas vezes mais demorada no treino do que as outras redes neuronais. A seguir temos a redes neuronais com fusão complementar, com tempo de treino de 8 horas e 44 minutos, e terminamos nas redes neuronais simples, onde o treino dura menos tempo, 6 horas. Mesmo dentro destas podemos perceber que as arquiteturas Temporal Graph Convolutional Network (TGCN), com tempo de treino de 8 horas e 26 minutos, são mais demoradas no treino que as arquiteturas Long ShortTerm Memory (LSTM), com tempo de treino de 6 horas, e esta mais demoradas que as arquiteturas Gated Recurrent Unit (GRU), com tempo de treino de 5 horas e 45 minutos, isto, pois as arquiteturas TGCN tem mais parâmetros para treinar que as arquiteturas LSTM, que por sua vez tem mais parâmetros que as arquiteturas GRU . 48
4.2 Calibnet combinada com modelos de estimação de pose Para a estimativa de pose através das redes neuronais com os dados calibrados pela rede Calibnet, foi primeiramente treinada uma rede de calibração com os dados relativos às sequências de calibração e de validação dos datasets Ergowear e MTw Awinda, não usados para estimativa de pose. De seguidas, estas redes de calibração calibnet pre-treinadas foram usadas para calibrar os dados dos datasets Ergowear e MTw Awinda a serem usados pelos pelas redes de estimativa de pose. Para avaliação dos resultados obtidos com os dados calibrados com a rede calibnet e comparação com os resultados obtidos com a calibração do dataset , foi utilizada a rede neuronal simples com arquitetura LSTM. Tendo em conta os resultados, apresentados na secção 4.1, também foi optado o uso dos datasets sem extremidades (hide_ends). Pelos resultados obtidos nestas experiências, apresentados na tabela 8, podemos ver que os resultados na estimativa de pose com os dados calibrados com a rede calibnet são um pouco melhores do que os resultados obtidos na estimativa de pose com a calibração do dataset , onde os resultados melhoraram 0.1◦no dataset Ergowear e 2◦no dataset MTw Awinda. Já o facto do dataset Ergowear obter melhores resultados que o dataset MTw Awinda, apesar deste ter dados com melhor qualidade, pode dever-se a dificuldade da rede neuronal em extrair caraterísticas dos dados, como explicado na secção 4.1. Tendo em conta estes resultados, o uso da rede Calibnet para calibração dos dados é útil nos modelos de estimativa de pose, tornando a implementação da mesma benéfica para a framework . dataset Calibnet Experiencia Variante Ergowear hide_e nds QADº MTw Awinda hide_ends QADº Ergowear hide_ends QADº MTw Awinda hide_ends QADº RN LSTM 22.457 ± 14.614 24.502 ± 20.967 22.373 ± 14.952 22.9 ± 19.803 Tabela 8: Comparação dos resultados obtidos pelos Métodos de redes neuronais(RN) de estimativa de pose implementados, para os datasets Ergowear e MTw Awinda sem extremidades (hide_ends), com a calibração dos datasets e com a calibração da rede calibnet, através da função de erro Quaternion Angle Difference (QAD) em graus. 49
Capítulo 5 Conclusões e trabalho futuro Para alcançar o objetivo de desenvolver um modelo de estimativa de pose usando Deep Learning , baseado em dados inerciais, foram implementados e testados vários algoritmos de redes neuronais. Para o estudo destes algoritmos foram utilizados dois datasets o Ergowear e o MTw Awinda. A revisão da literatura dos métodos de estimativa de pose com o uso de redes neuronais, permitiu inferir quais algoritmos que poderiam obter melhores resultados na estimativa de pose, bem como apresentou alguns métodos de calibração, cujo objetivo é diminuir o erro de calibração existente nos datasets usados. Tendo em consideração, os métodos apresentados na literatura foram implementados vários algoritmos de redes neuronais, entre os quais temos os algoritmos de redes neuronais sem filtros, os algoritmos de redes neuronais com filtros complementares, e os algoritmos de redes neuronais híbridas. Para cada algoritmo foram explorados várias arquiteturas, dos quais temos as Recurrent Neural Network (RNN), as Gated Recurrent Unit (GRU), as Long Short-Term Memory (LSTM) e as Temporal Graph Convolutional Network (TGCN). Para entender qual o impacto na estimativa de pose, foi também explorada a exclusão das extremidades, como as mãos, pés e cabeça e a utilização de redes neuronais na calibração dos dados dos sensores. Através dos testes conduzidos a estes algoritmos foi possível perceber que os métodos de redes neuronais híbridas, com a arquitetura LSTM, obtiveram melhores resultados que os outros algoritmos implementados. Nestes testes também é visível que a utilização dos dados datasets sem extremidades para a estimação de pose apresenta melhores resultados do que com o uso de extremidades, estes resultados podem ser explicados pelo facto dos dados destas extremidades apresentarem maior variação de valores que os restantes dos pontos coletados pelos sensores. Por fim, ainda é possível constatar que a utilização dos dados calibrados pela Calibnet na estimativa de pose apresenta resultados levemente superiores aos resultados obtidos com a calibração dos datasets . Apesar dos modelos de estimativa de pose usando Deep Learning , apresentarem resultados promisso50
res, os melhores resultados obtidos por estes modelos são bastante semelhantes aos melhores resultados obtidos pelos filtros, o filtro Madgwick sem Magnetómetro para o dataset o Ergowear e o Madgwick com Magnetómetro para o dataset o MTw Awinda. O trabalho desenvolvido ao longo desta dissertação permite responder às questões de investigação (QI): •Questão 1: A utilização de uma rede neuronal para calibrar os sensores melhora os resultados obtidos? Com base nos resultados expostos na secção 4.2, é possível observar que a utilização da rede Calibnet proporciona resultados ligeiramente superiores aos obtidos na calibração do dataset , para a estimativa de pose. •Questão 2: As redes híbridas que combinam filtros com rede neuronais obtém melhores resultados do que apenas redes neuronais? Os resultados mostram que a desempenho das redes híbridas é superior. Os testes também mostram que a melhoria dos resultados obtidos é maior no dataset MTw Awinda, onde este alcança erros próximos de 8◦, já o dataset Ergowear alcança erros perto dos 21◦. •Questão 3: A utilização dos dados das extremidades do corpo, como as mãos, os pés e a cabeça, influencia o resultado? Pelos testes apresentados na secção 4.1, é possível verificar-se que a não utilização das extremidades permite uma melhoria de até 4◦nos resultados das redes neuronais. 5.1 Perspetiva de trabalho futuro Ao longo do desenvolvimento desta dissertação foram detetadas várias melhorias a serem exploradas. Entre as melhorias possíveis está a implementação de mais métodos de estimativa de pose, entre as quais as LSTM bidirecional (bi-LSTM) e LSTM Kalman Filter (LSTM-KF) apresentadas durante a revisão do estado da arte na secção 2. Outra das melhorias possível é a melhoria dos métodos de calibração, onde pode ser testada o uso de diferentes funções de erro no treino da rede e o uso de outras redes de calibração de sensores. 51
Bibliografia Stephen Bevan. Economic impact of musculoskeletal disorders (msds) on work in europe. Best Practice Research Clinical Rheumatology , 29(3):356–373, 2015. ISSN 1521-6942. doi: https: //doi.org/10.1016/j.berh.2015.08.002. URL https://www.sciencedirect.com/science/ article/pii/S1521694215000947. Occupation and Musculoskeletal Disorders. Huseyin Coskun, Felix Achilles, Robert DiPietro, Nassir Navab, and Federico Tombari. Long short-term memory kalman filters: Recurrent neural estimators for pose regularization. In 2017 IEEE International Conference on Computer Vision (ICCV) , pages 5525–5533, Oct 2017. doi: 10.1109/ICCV.2017.589. Shirine El Zaatari, Mohamed Marei, Weidong Li, and Zahid Usman. Cobot programming for collaborative industrial tasks: An overview. Robotics and Autonomous Systems , 116:162–180, 2019. ISSN 09218890. doi: https://doi.org/10.1016/j.robot.2019.03.003. URL https://www.sciencedirect. com/science/article/pii/S092188901830602X. Javier González-Alonso, David Oviedo-Pastor, Héctor J. Aguado, Francisco J. Díaz-Pernas, David GonzálezOrtega, and Mario Martínez-Zarzuela. Custom imu-based wearable system for robust 2.4 ghz wireless human body parts orientation tracking and 3d movement visualization on an avatar. Sensors , 21(19), 2021. ISSN 1424-8220. doi: 10.3390/s21196642. URL https://www.mdpi.com/1424-8220/ 21/19/6642. Vincent Hernandez, Davood Dadkhah, Vahid Babakeshizadeh, and Dana Kulić. Lower body kinematics estimation from wearable sensors for walking and running: A deep learning approach. Gait Posture , 83:185–193, 2021. ISSN 0966-6362. doi: https://doi.org/10.1016/j.gaitpost.2020.10.026. URL https://www.sciencedirect.com/science/article/pii/S0966636220306068. Yinghao Huang, Manuel Kaufmann, Emre Aksan, Michael J. Black, Otmar Hilliges, and Gerard Pons-Moll. Deep inertial poser: Learning to reconstruct human pose from sparse inertial measurements in real time. ACM Trans. Graph. , 37(6), dec 2018. ISSN 0730-0301. doi: 10.1145/3272127.3275108. URL https://doi.org/10.1145/3272127.3275108. 52
Serena Ivaldi, Lars Fritzsche, Jan Babič, Freek Stulp, Michael Damsgaard, Bernhard Graimann, Giovanni Bellusci, and Francesco Nori. Anticipatory models of human movements and dynamics: the roadmap of the AnDy project. In Digital Human Models (DHM) , Bonn, Germany, June 2017. URL https: //hal.science/hal-01539731. Guangyi Li, Tao Liu, Jingang Yi, Hesheng Wang, Juan Li, and Yoshio Inoue. The lower limbs kinematics analysis by wearable sensor shoes. IEEE Sensors Journal , 16(8):2627–2638, April 2016. ISSN 15581748. doi: 10.1109/JSEN.2016.2515101. Ruihao Li , Chunlian Fu, Wei Yi , and Xiaodong Yi . Calib-net: Calibrating the low-cost imu via deep convolutional neural network. Frontiers in Robotics and AI , 8, 2022. ISSN 2296-9144. doi: 10.3389/frobt.2021.772583. URL https://www.frontiersin.org/articles/10.3389/ frobt.2021.772583. Eloise Matheson, Riccardo Minto, Emanuele G. G. Zampieri, Maurizio Faccio, and Giulio Rosati. Human– robot collaboration in manufacturing applications: A review. Robotics , 8(4), 2019. ISSN 2218-6581. doi: 10.3390/robotics8040100. URL https://www.mdpi.com/2218-6581/8/4/100. Roberto Nogueira, João Reis, Rui Pinto, and Gil Gonçalves. Self-adaptive cobots in cyber-physical production systems. In 2019 24th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA) , pages 521–528, Sep. 2019. doi: 10.1109/ETFA.2019.8869165. Léonie Pacher, Christian Chatellier, Rodolphe Vauzelle, and Laetitia Fradet. Sensor-to-segment calibration methodologies for lower-body kinematic analysis with inertial sensors: A systematic review. Sensors , 20(11), 2020. ISSN 1424-8220. doi: 10.3390/s20113322. URL https://www.mdpi.com/ 1424-8220/20/11/3322. Manuel Palermo, Sara M. Cerqueira, João André, António Pereira, and Cristina P. Santos. From raw measurements to human pose - a dataset with low-cost and high-end inertial-magnetic sensor data. Scientific Data , 9(1):591, Sep 2022. ISSN 2052-4463. doi: 10.1038/s41597-022-01690-y. URL https://doi.org/10.1038/s41597-022-01690-y. Luka Peternel, Cheng Fang, Nikos Tsagarakis, and Arash Ajoudani. A selective muscle fatigue management approach to ergonomic human-robot co-manipulation. Robotics and Computer-Integrated Manufacturing , 58:69–79, 2019. ISSN 0736-5845. doi: https://doi.org/10.1016/j.rcim.2019.01.013. URL https://www.sciencedirect.com/science/article/pii/S0736584518303132. 53
Eric Rapp, Soyong Shin, Wolf Thomsen, Reed Ferber, and Eni Halilaj. Estimation of kinematics from inertial measurement units using a combined deep learning and optimization framework. Journal of Biomechanics , 116:110229, 2021. ISSN 0021-9290. doi: https://doi.org/10.1016/j.jbiomech.2021.110229. URL https://www.sciencedirect.com/science/article/pii/S0021929021000099. Alicia Roux, Sébastien Changey, Jonathan Weber, and Jean-Philippe Lauffenburger. Cnn-based invariant extended kalman filter for projectile trajectory estimation using imu only. In 2021 International Conference on Control, Automation and Diagnosis (ICCAD) , pages 1–6, Nov 2021. doi: 10.1109/ICCAD52417.2021.9638770. Lina Tong, Rongkai Liu, and Liang Peng. Lstm-based lower limbs motion reconstruction using lowdimensional input of inertial motion capture system. IEEE Sensors Journal , 20(7):3667–3677, April 2020. ISSN 1558-1748. doi: 10.1109/JSEN.2019.2959639. Daniel Weber, Clemens Gühmann, and Thomas Seel. Neural networks versus conventional filters for inertial-sensor-based attitude estimation. In 2020 IEEE 23rd International Conference on Information Fusion (FUSION) , pages 1–8, July 2020. doi: 10.23919/FUSION45008.2020.9190634. Frank J. Wouda, Matteo Giuberti, Nina Rudigkeit, Bert-Jan F. van Beijnum, Mannes Poel, and Peter H. Veltink. Time coherent full-body poses estimated using only five inertial sensors: Deep versus shallow learning. Sensors , 19(17), 2019. ISSN 1424-8220. doi: 10.3390/s19173716. URL https://www. mdpi.com/1424-8220/19/17/3716. Xinyu Yi, Yuxiao Zhou, and Feng Xu. Transpose: Real-time 3d human translation and pose estimation with six inertial sensors. ACM Trans. Graph. , 40(4), jul 2021. ISSN 0730-0301. doi: 10.1145/3450626. 3459786. URL https://doi.org/10.1145/3450626.3459786. 54