• Nenhum resultado encontrado

Inteligência artificial aplicada à monitorização automática de alimentação de idosos

N/A
N/A
Protected

Academic year: 2021

Share "Inteligência artificial aplicada à monitorização automática de alimentação de idosos"

Copied!
138
0
0

Texto

(1)

Inteligência Artificial Aplicada à Monitorização

Automática de Alimentação de Idosos

Dissertação de Mestrado em Engenharia Informática

Luís Filipe Macedo Costa

Orientador: Prof. Doutor António Cunha

Coorientador: Prof.ª Doutora Paula Trigueiros

(2)
(3)

Inteligência Artificial Aplicada à Monitorização

Automática de Alimentação de Idosos

Dissertação de Mestrado em Engenharia Informática

Luís Filipe Macedo Costa

Orientador: Prof. Doutor António Cunha

Coorientador: Prof.ª Doutora Paula Trigueiros

Composição do Júri:

______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________

(4)
(5)

“All we have to decide is what to do with the time that is given us.”

(6)
(7)

i

Agradecimentos

Pela disponibilidade e contributo que prestaram de alguma forma para que a realização deste trabalho se tornasse possível, gostaria de agradecer:

À Universidade de Trás-os-Montes e Alto Douro, pelo acolhimento prestado durante os cinco anos do meu percurso académico.

Ao Professor Doutor António Cunha, orientador deste trabalho, pela sua disponibilidade e ajuda durante toda a realização deste trabalho.

À Professora Doutora Paula Trigueiros, coorientadora deste trabalho, por todas as sugestões e correções que em muito enriqueceram esta dissertação.

À direção e a todos os docentes do curso de Engenharia Informática pela formação que ofereceram.

À minha mãe, que tornou todo este percurso possível e a quem devo tudo, e à minha irmã, por todo o apoio incondicional e paciência em todos os momentos.

À Emily González, por todo o carinho, apoio e por estar sempre ao meu lado.

A todos os colegas de curso, em especial ao Luís Pádua, Inês Domingues, David Narciso, João Gonçalves, Jorge Magalhães, Jorge Pereira, Luís Cardoso e Pedro Marques, pela amizade e companheirismo demonstrados ao longo destes anos.

A todos os amigos e familiares que de alguma forma deram o seu contributo. Um obrigado a todos!

(8)
(9)

iii

Resumo

A alimentação é um dos fatores que mais influência a saúde das pessoas e ainda mais a das pessoas mais velhas. Com o envelhecimento populacional dos últimos anos, o número destas pessoas, a viver sozinhas e que precisam de acompanhamento, aumentou muito. O acompanhamento institucional não é desejado pelos próprios e, quando necessário, tem custos muito elevados. Neste contexto, a monitorização à distância apresenta-se como uma solução que permite prolongar a sua permanência em casa. A monitorização da alimentação destaca-se, particularmente, por permitir a deteção precoce de problemas de saúde. Tradicionalmente, esta monitorização realiza-se com base em autorrelato, que é um método pouco rigoroso e, frequentemente, considerado como um “fardo pesado”. Em toda a literatura e estudos existentes, até à data, não se conhecem soluções totalmente automáticas e adequadas à monitorização de idosos.

Neste contexto, propõe-se um sistema de monitorização automática de alimentação, pensado para a monitorização de idosos, no seu ambiente natural. O sistema analisa as articulações do esqueleto humano, fornecidas pelo sensor Microsoft Kinect, dirigido para uma mesa (cenário proposto), deteta os gestos de alimentação, classifica-os com modelos ocultos de Markov (Hidden Markov Models) e estima a alimentação do utilizador. Foi implementado um protótipo demonstrativo para detetar e classificar gestos de alimentação, tendo sido testado com gestos de 8 utilizadores diferentes. Os gestos foram organizados em 3 grupos principais: comer sopa, comer prato principal e beber. Foram usados 689 gestos para teste de deteção, tendo o sistema obtido 77% de verdadeiros positivos, 22% de falsos positivos e de 23% falsos negativos. A classificação foi feita com 3 métodos propostos, tendo sido utilizados 231 gestos para teste. No método 1 (conta ocorrências), o sistema obteve 78% de classificações corretas para a sopa, 87% para o prato e 57% para os gestos de beber. No método 2 (classificação ponderada dos braços direito e esquerdo), 80% para a sopa, 80% para o prato e 47% para os gestos de beber. E, por fim, no método 3 (gestos da mão direita vs. gestos da mão esquerda), 70% para a sopa, 78% para o prato e 60% para os gestos de beber. As taxas obtidas de deteção e classificação permitem caracterizar a alimentação de uma pessoa (idosa), no seu ambiente natural, no entanto, será desejado melhorar o seu desempenho.

Palavras-chave: Monitorização, alimentação, idosos, Microsoft Kinect, inteligência

(10)
(11)

v

Abstract

Eating behavior is one of the factors that influences people’s health the most and even more in older people. With the population aging in the latest years, the number of these people, living alone and needing support, has highly increased. Institutional support is not wanted by themselves and, when needed, has high costs. In this context, remote monitoring is presented as a solution allowing to extend their permanence at home. Eating monitoring stands out, particularly, by allowing for premature detection of health problems. Traditionally, this kind of monitoring is achieved based in self-report, which is an inaccurate method and, frequently, considered as a “heavy burden”. In all the literature and existing studies, until today, there are no known automatic solutions that are adequate to monitor elderly people.

In this context, we propose an automatic eating behavior monitoring system, thought to monitor elderly people, in their natural environment. The system analyzes the coordinates of the human skeleton, provided by the Microsoft Kinect sensor, facing to a table (proposed scenario), detects eating gestures, classifies them with Hidden Markov Models (HMMs) and estimates the user’s feeding behavior.

A demonstrative prototype to detect and classify eating gestures was implemented and tested with gestures of 8 different users. The gestures were organized in 3 main groups: eat soup, eat main dish and drink. 689 gestures were used to test the detection and the system obtained 77% of true positives, 22% false positives and 23% false negatives. The classification was done with 3 proposed methods and 231 gestures were used for test. In method 1 (count occurrences), the system obtained 78% of correct classifications for soup, 87% for main dish and 57% for the drinking gestures. For method 2 (weighted classification of the right and left arms), 80% for soup, 80% for main dish and 47% for the drinking gestures. And, lastly, for method 3 (right hand gestures vs. left hand gestures), 70% for soup, 78% for main dish and 60% for the drinking gestures. The obtained detection and classification rates allow to characterize the eating behavior of a person (elder), in his natural environment, although, its performance should be improved.

Keywords: Monitoring, alimentation, elderly, Microsoft Kinect, artificial intelligence,

(12)
(13)

vii

Índice

Agradecimentos ... i Resumo ... iii Abstract ... v Índice de Figuras ... ix Índice de Tabelas ... xi 1. Introdução ... 1 1.1. Objetivos ... 2 1.2. Principais contribuições ... 3 1.3. Metodologia ... 3 1.4. Organização da dissertação ... 4 2. Estado da arte ... 5

2.1. Monitorização automática de alimentação ... 5

2.1.1. Mais intrusiva ... 6 2.1.2. Menos intrusiva ... 9 2.2. Sensores de movimentos ... 11 2.2.1. Microsoft Kinect ... 11 2.3. Reconhecimento de gestos ... 14 2.3.1. Várias abordagens... 14

2.3.2. Hidden Markov Models ... 16

3. Monitorização da alimentação com HMMs ... 23

3.1. Estudo prévio... 23

3.1.1. Gestos de alimentação ... 23

3.1.2. Cenário (Setup utilizado) ... 25

3.1.3. Casos estudados ... 26

3.1.4. Conclusões do estudo prévio ... 30

3.2. Sistema de monitorização de alimentação ... 31

3.2.1. Deteção de gestos ... 32

3.2.2. Pré-processamento ... 33

3.2.3. Classificação de gestos ... 38

3.2.4. Estimação de alimentação ... 48

4. Resultados obtidos ... 50

4.1. Dados adquiridos e validação ... 50

(14)

viii

4.2.1. Refeições ... 52

4.2.2. Outras tarefas ... 55

4.2.3. Conclusões da análise de deteção de gestos ... 56

4.3. Classificação de gestos ... 58

4.3.1. Gestos usados para treino e teste ... 59

4.3.2. Análise de resultados dos gestos de teste ... 59

5. Conclusões e trabalho futuro ... 68

5.1. Conclusões ... 68

5.2. Trabalho futuro ... 70

Referências ... 71

Anexos ... 77

Anexo A. Ferramentas de Desenvolvimento do MS Kinect ... 78

Anexo B. Hidden Markov Models ... 80

Anexo C. Exemplo prático de HMMs ... 95

Anexo D. Cálculo de relevância de articulações ... 100

Anexo E. Deteção de gestos... 102

(15)

ix

Índice de Figuras

Figura 1 – (a) Casaco com sensores de movimento. (b) Microfone em miniatura

integrado num invólucro de auscultadores. Retirado de [5]. ... 6

Figura 2 – (a) Sensores de alongamento em borracha. (b) Superfície eletromiográfica e microfone. Retirado de [5]... 6

Figura 3 – (a) Tipos de tags. (b) Luva usada na experiência. Retirado de [12]. ... 7

Figura 4 – Disposição do sistema incluindo a mesa de refeições, utensílios senhorizados (garfo/faca/copo) e um sensor Kinect. Retirado de [13]. ... 8

Figura 5 – Mesa com antena RFID e superfícies de pesagem. Adaptado de [16]. ... 9

Figura 6 – Modelo mão-cabeça. Retirado de [14]. ... 10

Figura 7 – Componentes do sensor Kinect [22]. (b) Inclinação do sensor [20]. ... 12

Figura 8 – (a) Imagem RGB. (b) Imagem de profundidade. Retirado de [19]. ... 12

Figura 9 – (a) Carateres de treino. (b) Direções utilizadas. Retirado de [43]. ... 17

Figura 10 – Diagrama de estados. (a) HMM0. (b) HMM1. ... 17

Figura 11 – (a) Segmentação das mãos. (b) Desenho exemplo. Adaptado de [45]. ... 18

Figura 12 – (a) Aproximação ao ângulo θ. (b) Codewords. Retirado de [45]. ... 19

Figura 13 – Resultados das diferentes estruturas e nº de estados. Adaptado de [45]. .... 19

Figura 14 – Carater exemplo. ... 20

Figura 15 – Declive e curvatura. Retirado de [46]. ... 21

Figura 16 – Inclinação e rotação. Adaptado de [47]... 22

Figura 17 – Esquematização dos elementos envolvidos na tarefa comer... 24

Figura 18 – Ilustração do cenário adotado... 25

Figura 19 – Aplicação desenvolvida para captura e tratamento de dados. ... 26

Figura 20 – Gestos de ingestão de sopa (mão esquerda). ... 28

Figura 21 – Gestos de ingestão de sopa (mão direita). ... 29

Figura 22 – Sistema de monitorização de alimentação. ... 31

Figura 23 – Zonas chave da deteção de gestos. ... 32

Figura 24 – (a) Coordenadas XY de um gesto adquirido pelo Kinect. (b) Coordenadas normalizadas. ... 34

Figura 25 – (a) Coordenadas com tamanho normalizado. (b) Coordenadas suavizadas. 35 Figura 26 – (a) Coordenadas suavizadas. (b) Coordenadas com velocidade normalizada. ... 37

(16)

x

Figura 27 – Perspetivas das direções. (a) Vista a 45º. (b) Vista a 90º. ... 37

Figura 28 – Módulo de Classificação de gestos. ... 38

Figura 29 – Diagrama de estados dos HMMs criados. ... 39

Figura 30 – Representação 3D de um gesto. ... 51

Figura 31 – Representação gráfica da transição de estados. Adaptado de [51]. ... 82

Figura 32 – Modelo ergódico de 3 estados. Adaptado de [52]. ... 87

Figura 33 – Modelo linear de 4 estados. Adaptado de [53]. ... 87

Figura 34 – Modelo esquerda-para-direita com 4 estados. Adaptado de [53]. ... 88

Figura 35 – Modelo Bakis com 4 estados. Adaptado de [53]... 88

(17)

xi

Índice de Tabelas

Tabela 1 – Atividades estudadas na abordagem 2. Retirado de [12]. ... 7

Tabela 2 – Pros e Contras de outros sensores. Retirado de [34]. ... 13

Tabela 3 – Conjunto de símbolos matemáticos. Retirado de [46]. ... 20

Tabela 4 – Gestos alimentares analisados por Amft. Retirado de [47]. ... 21

Tabela 5 – Refeições analisadas. ... 27

Tabela 6 – Resultados da análise dos gestos. ... 30

Tabela 7 – Exemplo de probabilidades obtidas na avaliação. ... 40

Tabela 8 – Exemplo de probabilidades obtidas na avaliação de uma sequência. ... 40

Tabela 9 – Tabela de desempate do Método 1. ... 41

Tabela 10 – Exemplo 1 do processo de avaliação. ... 42

Tabela 11 – Exemplo 2 do processo de avaliação. ... 42

Tabela 12 – Relevância das articulações para cada braço. ... 43

Tabela 13 – Tabela de decisão do Método 2. ... 44

Tabela 14 – Refeições adquiridas para demonstração do módulo de estimação. ... 48

Tabela 15 – Resultados obtidos num exemplo prático. ... 49

Tabela 16 – Número de refeições adquiridas. ... 50

Tabela 17 – Número de gravações adquiridas para outras tarefas. ... 51

Tabela 18 – Percentagem de gestos detetados para as refeições Sopa. ... 52

Tabela 19 – Percentagem de gestos detetados para as refeições Prato MD. ... 53

Tabela 20 – Percentagem de gestos detetados para as refeições Prato ME. ... 53

Tabela 21 – Percentagem de gestos detetados para as refeições Líquidos MD. ... 54

Tabela 22 – Percentagem de gestos detetados para as refeições Líquidos ME. ... 54

Tabela 23 – Número de gestos detetados para as gravações do tipo Ler. ... 55

Tabela 24 – Número de gestos detetados para as gravações do tipo Escrever. ... 55

Tabela 25 – Número de gestos detetados para Interação com smartphone. ... 56

Tabela 26 – Percentagem média de deteções corretas, incorretas e falhadas. ... 57

Tabela 27 – Classificação por articulação da refeição Sopa. ... 59

Tabela 28 – Classificação por articulação da refeição Prato MD. ... 60

Tabela 29 – Classificação por articulação da refeição Prato ME. ... 60

Tabela 30 – Classificação por articulação da refeição Líquidos MD. ... 61

(18)

xii

Tabela 32 – Classificação por articulação da refeição Prato MD e ME. ... 62

Tabela 33 – Classificação por articulação da refeição Prato MD e ME. ... 62

Tabela 34 – Percentagem geral de correção para cada articulação. ... 63

Tabela 35 – Resultados finais do Método 1. ... 64

Tabela 36 – Resultados finais do Método 1 com associação de gestos. ... 64

Tabela 37 – Resultados finais do Método 2. ... 65

Tabela 38 – Resultados finais do Método 2 com associação de gestos. ... 65

Tabela 39 – Resultados finais do Método 3. ... 66

Tabela 40 – Resultados finais do Método 3 com associação de gestos. ... 66

Tabela 41 – Comparação dos resultados das classificações dos 3 métodos. ... 67

Tabela 42 – Comparação dos resultados dos 3 métodos com associação de gestos. ... 67

Tabela 43 – Outras diferenças entre o MS Kinect SDK e o OpenNI. Retirado de [19]. 79 Tabela 44 – Tabela de probabilidades do tempo de amanhã baseadas no de hoje. ... 82

Tabela 45 – Probabilidades de se observar um guarda-chuva baseadas no tempo. ... 83

Tabela 46 – Número de gestos de treino. ... 100

Tabela 47 – Nº de classificações corretas dos gestos de treino para cada articulação. 100 Tabela 48 – Percentagem de classificações corretas dos gestos de treino. ... 100

Tabela 49 – Percentagem geral de acerto na classificação dos gestos de treino. ... 101

Tabela 50 – Percentagem e ordem de relevância de cada articulação para cada braço.101 Tabela 51 – Número de gestos detetados para as refeições Sopa. ... 102

Tabela 52 – Número de gestos detetados para as refeições Prato MD. ... 102

Tabela 53 – Número de gestos detetados para as refeições Prato ME. ... 102

Tabela 54 – Número de gestos detetados para as refeições Líquidos MD. ... 103

Tabela 55 – Número de gestos detetados para as refeições Líquidos ME. ... 103

Tabela 56 – Número total de gestos adquiridos. ... 104

Tabela 57 – Número de gestos usados para treino e teste de cada refeição. ... 105

Tabela 58 – Classificação dos gestos de teste da refeição Sopa 1. ... 106

Tabela 59 – Classificação global pelo Método 1 da refeição Sopa 1. ... 106

Tabela 60 – Classificação global pelo Método 1 dos gestos de teste Sopa. ... 107

Tabela 61 – Classificação global pelo Método 1 dos gestos de teste Prato MD. ... 107

Tabela 62 – Classificação global pelo Método 1 dos gestos de teste Prato ME... 107

Tabela 63 – Classificação global pelo Método 1 dos gestos de teste Líquidos MD. ... 108

(19)

xiii

Tabela 65 – Classificação global pelo Método 1 dos gestos de teste Prato MD e ME. 109

Tabela 66 – Classificação global pelo Método 1 dos gestos Líquidos MD e ME. ... 110

Tabela 67 – Classificação global pelo Método 2 dos gestos de teste Sopa. ... 111

Tabela 68 – Classificação global pelo Método 2 dos gestos de teste Prato MD. ... 111

Tabela 69 – Classificação global pelo Método 2 dos gestos de teste Prato ME... 112

Tabela 70 – Classificação global pelo Método 2 dos gestos de teste Líquidos MD. ... 112

Tabela 71 – Classificação global pelo Método 2 dos gestos de teste Líquidos ME. .... 113

Tabela 72 – Classificação global pelo Método 2 dos gestos de teste Prato MD e ME. 113 Tabela 73 – Classificação global pelo Método 2 dos gestos Líquidos MD e ME. ... 114

Tabela 74 – Classificação global pelo Método 3 dos gestos de teste Sopa. ... 115

Tabela 75 – Classificação global pelo Método 3 dos gestos de teste Prato MD. ... 115

Tabela 76 – Classificação global pelo Método 3 dos gestos de teste Prato ME... 116

Tabela 77 – Classificação global pelo Método 3 dos gestos de teste Líquidos MD. ... 116

Tabela 78 – Classificação global pelo Método 3 dos gestos de teste Líquidos ME. .... 117

Tabela 79 – Classificação global pelo Método 3 dos gestos de teste Prato MD e ME. 117 Tabela 80 – Classificação global pelo Método 3 dos gestos Líquidos MD e ME. ... 118

(20)
(21)

1

1. Introdução

A alimentação representa um papel de extrema importância na vida das pessoas. Para além de ser uma necessidade básica, é um dos fatores que mais afeta a saúde. Hoje em dia, sabe-se que não é suficiente ter acesso aos alimentos, mas também é necessário "saber comer", isto é, saber escolher os alimentos e as quantidades adequadas às necessidades diárias ao longo das diferentes fases da vida [1]. Qualquer distúrbio alimentar é prejudicial à saúde, pelo que, ter uma alimentação saudável e um equilíbrio energético são fatores chave para uma vida saudável. Estes fatores determinam riscos de doenças crónicas e morbidez geral, tornando-se predominantes em cidadãos que desenvolvem gordura corporal e peso excessivos, levando a vários problemas de saúde como obesidade, hipertensão e doenças cardiovasculares. Nas pessoas idosas, o processo de envelhecimento submete o organismo a várias alterações funcionais que afetam a saúde e as condições nutritivas das pessoas, fazendo com que a alimentação equilibrada possua um caráter de ainda maior importância [2].

Atualmente, as populações dos países desenvolvidos encontram-se envelhecidas. Isto deve-se a fatores como a melhoria da qualidade dos serviços de saúde associada a melhores condições de vida e de trabalho [3]. Por outro lado, aumentou a solidão das pessoas idosas devido à redução das famílias e ao êxodo dos jovens para os grandes centros urbanos e, como resultado, o tradicional apoio da família tem sido substituído por serviços institucionais personalizados de apoio domiciliário e internamento, nos quais se incluem a alimentação e a prevenção de riscos de saúde associados com a mesma. Estes serviços podem tornar-se dispendiosos, sobretudo em áreas dispersas, como as zonas rurais.

Como solução, têm surgido programas de monitorização e aconselhamento comportamental de longo prazo [4]. Nestes casos, a monitorização é feita tradicionalmente com base em autorrelato, que é frequentemente considerada pelos participantes como um “fardo pesado” [5]. O conhecimento da alteração de alimentação permite aos especialistas detetarem precocemente problemas de saúde. A monitorização automática apresenta-se como uma solução, permitindo estimar a alimentação de um utilizador, no seu ambiente natural, sem que este tenha que interagir com o sistema.

(22)

2

Existem já vários estudos no sentido de obter monitorização automática, mas que tendem a não ser adequados à monitorização de idosos.

Nesta dissertação, pretendeu-se desenvolver uma solução automática de monitorização de alimentação para idosos nas suas casas, com o mínimo de intrusão possível. Para isso, tecnologias como o sensor Microsoft Kinect, sensor de baixo custo, permitem, entre outras coisas, a deteção automática da presença de pessoas e modela-as através da representação do seu esqueleto. Após um estudo prévio para avaliação de alimentação usando o sensor Microsoft Kinect [6], concluímos que é possível realizar a monitorização da alimentação utilizando este sensor, num cenário de monitorização, em que o idoso vive sozinho e toma as suas refeições sentado em frente a uma mesa situada ao alcance do sensor.

1.1. Objetivos

Esta dissertação tem como principal objetivo a proposta de um sistema automático de monitorização da alimentação com a utilização dos modelos ocultos de Markov (HMMs – Hidden Markov Models). Este sistema tem por base um cenário em que um idoso vive sozinho e toma as suas refeições sentado numa mesa. Nesse sentido definiram-se os seguintes objetivos específicos:

 Estudo bibliográfico sobre sistemas de monitorização de alimentação;

 Estudo dos modelos ocultos de Markov;

 Definição e experimentação de HMMs para reconhecimento de gestos;

 Proposta de um sistema para a monitorização da alimentação capaz de estimar a quantidade de alimentos ingeridos;

 Implementação e avaliação de protótipo demonstrativo para o sistema de monitorização da alimentação proposto.

(23)

3

1.2. Principais contribuições

As principais contribuições desta dissertação são:

 Proposta HMMs para classificação de gestos de alimentação;

 Proposta de sistema de monitorização de alimentação;

 Implementação e avaliação de protótipo demonstrativo.

1.3. Metodologia

Para a realização deste trabalho, fez-se, numa primeira fase, um levantamento bibliográfico sobre soluções existentes de monitorização automática de alimentação, assim como, de uma descrição detalhada do sensor Microsoft Kinect, e de algumas técnicas utilizadas para reconhecimento de gestos, em especial detalhe, os HMMs. Numa segunda fase, foi proposto um sistema de monitorização automática de alimentação, com a utilização dos HMMs, composto por vários módulos, tendo-se, como base, um estudo realizado previamente.

Por fim, foram realizados testes práticos de deteção e classificação de gestos com o modelo proposto, no sentido de analisar a sua performance.

(24)

4

1.4. Organização da dissertação

No capítulo 2, é realizada a contextualização da temática da monitorização automática da alimentação, sendo apresentados trabalhos publicados na área, sensores utilizados e as técnicas de inteligência artificial utilizadas para o reconhecimento de gestos. Foi dada especial ênfase ao sensor Microsoft Kinect e aos modelos ocultos de Markov, uma vez que foram utilizados no sistema proposto. O sistema proposto é apresentado no capítulo 3, começando-se pela apresentação do estudo prévio de validação do sensor Microsoft Kinect para estimação de alimentação, seção 3.1, em que se apresenta a análise dos gestos efetuados pelos utilizadores durante a alimentação, se caracteriza o cenário utilizado e se apresentam os casos estudados para validação; e na seção 3.2, se apresenta o a arquitetura do sistema de proposto, nomeadamente os módulos de deteção de gestos, seção 3.2.1, o de pré-processamento, seção 3.2.2, o de classificação dos gestos com HMMs, seção 3.2.3, e o de estimação da alimentação, seção 3.2.4. No capítulo 4, são apresentados, na seção 4.1, os dados adquiridos e a respetiva validação, na seção 4.2, são apresentados referentes à deteção de gestos e, na seção 4.3, são apresentados os resultados referentes à classificação de gestos. Finalmente, no capítulo 5, são apresentadas as conclusões do trabalho e propostos trabalhos futuros.

(25)

5

2. Estado da arte

O objetivo desta dissertação foca-se na monitorização da alimentação de idosos, no seu ambiente do dia-a-dia, pelo que se organizou o estudo do estado da arte em 3 partes: a primeira, seção 2.1, focada na apresentação de trabalhos existentes de monitorização automática de alimentação, a segunda, seção 2.2, foca-se na caracterização de sensores de movimento, particularmente o sensor Kinect da Microsoft que foi utilizado no teste e, finalmente, a terceira, seção 2.3, aborda as técnicas de inteligência artificial que permitem reconhecer gestos, em especial os Hidden Markov Models, uma vez que foi a técnica utilizada nos testes.

2.1. Monitorização automática de alimentação

A pesquisa realizada mostrou que a monitorização das atividades relacionadas com a alimentação é um desafio não resolvido e que, por isso, os especialistas da área continuam a basear-se em relatórios manuais dos alimentos ingeridos, produzidos pelos seus pacientes diariamente, em papel ou, mais recentemente, em dispositivos móveis [7]. Estas estratégias apresentam, por vezes, resultados errados, uma vez que é frequente os pacientes não registarem todos os alimentos ingeridos por vários motivos, nomeadamente, vergonha, esquecimento ou dificuldade no uso dos dispositivos móveis [8] [9].

A primeira abordagem para solucionar este problema passou por estratégias de simplificar o registo dos alimentos como, por exemplo, com a utilização de gravadores de registo por voz e pelo uso de leitores de códigos de barras. Contudo, estas estratégias resultaram em estimativas com erros semelhantes aos relatórios manuais [10] [11].

Seguiram-se as abordagens de monitorização automática de alimentação, com o objetivo de retirar ao utilizador a preocupação de fazer o registo. Estas abordagens foram, por nós, divididas em dois grupos: um com monitorização “mais intrusiva”, em que esta é feita com base em sensores colocados no utilizador e/ou nos utensílios e/ou no ambiente envolvente; outro com monitorização “menos intrusiva”, em que esta é feita com base em sensores apenas colocados no ambiente envolvente ao utilizador. Passa-se a apresentar exemplos encontrados destes dois grupos.

(26)

6

2.1.1. Mais intrusiva

O trabalho realizado por Amft et al. [5] tinha como objetivo fornecer métodos alternativos de monitorização da alimentação à utilização dos métodos manuais tradicionais. Os autores utilizaram uma combinação de vários sensores corporais para análise de diferentes fases do comportamento do utilizador durante uma refeição, nomeadamente, a fase de transporte, mastigação e deglutição. Os sensores utilizados foram: um casaco com sensores de movimento para acompanhar os gestos de transporte [Figura 1 (a)]; um mini microfone para captação dos sons produzidos pelo maxilar ao mastigar [Figura 1 (b)]; e um sensor em forma de gola na garganta para detetar movimentos de engolir (Figura 2).

(a) (b)

Figura 1 – (a) Casaco com sensores de movimento. (b) Microfone em miniatura integrado num invólucro de auscultadores. Retirado de [5].

(a) (b)

Figura 2 – (a) Sensores de alongamento em borracha. (b) Superfície eletromiográfica e microfone. Retirado de [5].

Com a utilização da combinação destes sensores foram obtidos resultados positivos. Na fase de transporte, foi possível reconhecer com sucesso diferentes tipos de movimentos. Na fase da mastigação, o autor alcançou resultados bem-sucedidos para dois tipos de comida dos três analisados (mole, húmida, e seca). Na fase da deglutição, existiram alguns erros, contudo, foi possível obter uma indicação de eventos de deglutição.

Apesar dos bons resultados obtidos nesta abordagem, esta não é fácil de ser incorporada para tarefas rotineiras, em especial para pessoas que vivem sozinhas.

(27)

7

O trabalho de Patterson et al. [12] tinha como objetivo explorar a interação com objetos para realizar o reconhecimento de atividades da rotina matinal do utilizador. Era pretendido, por exemplo, não apenas reconhecer que o utilizador se encontrava a cozinhar, mas também o que estava a cozinhar. No total, foram estudadas 11 atividades diferentes, listadas na Tabela 1.

Tabela 1 – Atividades estudadas na abordagem 2. Retirado de [12]. Nº Atividade Nome

1 Ir à casa de banho 2 Fazer farinha de aveia 3 Fazer ovos mexidos 4 Preparar sumo de laranja

5 Fazer café

6 Fazer chá

7 Fazer ou atender uma chamada telefónica

8 Tirar o lixo

9 Preparar a mesa 10 Comer pequeno-almoço 11 Limpar a mesa

De forma aos autores poderem proceder ao reconhecimento das atividades, com base na interação com os objetos, foram colocadas 60 etiquetas RFID em objetos de uma cozinha, tocados pelo utilizador durante um teste prático. Para a leitura destas etiquetas, o utilizador usou, simultaneamente, duas luvas com uma antena RFID. Na Figura 3, é possível observar as etiquetas e luvas RFID utilizadas na experiência.

(a) (b)

Figura 3 – (a) Tipos de tags. (b) Luva usada na experiência. Retirado de [12].

Após o desenvolvimento e teste de diferentes modelos de dados, os autores obtiveram taxas de precisão de cerca de 52.5% até 81.2%. Com estes resultados, os autores puderam concluir que é possível obter um reconhecimento fino das atividades mesmo quando estas são intercaladas ou interrompidas.

Esta abordagem também possui um caráter intrusivo e pouco prático devido à necessidade de etiquetagem de todos os objetos envolvidos e a contínua utilização das luvas para leitura dessas etiquetas.

(28)

8

O trabalho de Hondori et al. [13] tinha como objetivo desenvolver um sistema para ajudar pacientes, que tinham sofrido AVC (Acidente Vascular Cerebral), a completar as atividades da sua rotina diária, de forma independentemente e menos dispendiosa. Os pacientes necessitariam de, sem a ajuda deste sistema, ser visitados por clínicas de reabilitação para cuidado pessoal. A abordagem apresentada visa detetar atividades de ingestão de alimentos e líquidos na casa dos utilizadores. O sistema desenvolvido utiliza uma combinação de sensores, nomeadamente, o sensor de movimentos Microsoft Kinect e sensores inerciais colocados nos talheres e copo. Na Figura 4, encontra-se representada a disposição do sistema.

Figura 4 – Disposição do sistema incluindo a mesa de refeições, utensílios senhorizados (garfo/faca/copo) e um sensor Kinect. Retirado de [13].

O sistema desenvolvido foi capaz de monitorizar atividades da rotina diária, no que concerne à ingestão de alimentos e líquidos, para avaliar o progresso dos utilizadores ao longo do tempo. Os autores demonstraram que a posição, disposição angular e aceleração dos gestos dos braços podem ser capturados e analisados.

Esta abordagem é menos intrusiva e mais prática do que as apresentadas anteriormente, uma vez que o utilizador não necessita de usar sensores no seu corpo. Contudo, é necessário a utilização destes talheres especiais para que seja possível a realização da monitorização, o que nos levou a incluí-la no grupo das abordagens mais intrusivas. A informação retirada deste sistema pode ser usada para gerar feedbacks e poderá contribuir para indiciar alterações do estado de saúde dos pacientes.

(29)

9

2.1.2. Menos intrusiva

O trabalho desenvolvido por Chang et al. [16] tinha como objetivo monitorizar interações, como a transferência de comida entre recipientes. Para isso, foram usadas etiquetas e um leitor RFID para identificação dos recipientes, que continham diferentes tipos de comida, e uma superfície de pesagem embutidas numa mesa de refeições comum. Através da leitura das etiquetas RFID, é possível obter informação nutricional dos alimentos, como o número de calorias e, com os sensores de peso, é possível obter uma estimativa da quantidade de alimentos ingeridos. Na Figura 5, é apresentada a mesa utilizada com a antena RFID e os sensores de pesagem.

Figura 5 – Mesa com antena RFID e superfícies de pesagem. Adaptado de [16].

Com esta abordagem, é possível automaticamente monitorizar que alimentos, e em que quantidade, cada indivíduo consome durante uma refeição. Após a realização de vários testes, em diferentes cenários, e com diferentes participantes, os autores obtiveram uma taxa de precisão perto dos 80%.

Apesar dos bons resultados desta abordagem e das suas caraterísticas menos intrusivas, é necessária a realização de etiquetagem específica dos recipientes e a utilização da mesa adaptada pelos autores para identificação apropriada, o que nos pareceu pouco prática.

(30)

10

O trabalho de Gao et al. [14] visava medir as dificuldades alimentares de pacientes com demência numa clínica. O objetivo consistia em, automaticamente, contar o número de gestos realizados até à boca (transporte de comida) através de técnicas de visão por computador. Neste trabalho, foi desenvolvido um algoritmo de segmentação de movimentos para fornecer features (caraterísticas relevantes) para o sistema. De seguida, com base nas features de movimento encontradas, os dados passaram por um algoritmo de três fases, nomeadamente, encontrar sujeitos individuais, detetar faces e caraterizar as atividades. Concluída a última fase do algoritmo anterior, foi definido um modelo mão-cabeça (Figura 6) e a consequente utilização de um modelo estatístico para a deteção dos movimentos.

Figura 6 – Modelo mão-cabeça. Retirado de [14].

Os autores realizaram testes com duas formas de classificação, nomeadamente, baseada apenas em movimentos relativos entre a cabeça e a mão e com a utilização do modelo estatístico. Os resultados mostraram que, num total 56 gestos, ambas as formas de classificação foram capazes de detetar 50, não tendo sido detetados 6. Adicionalmente, na primeira forma, houve 26 falsos positivos detetados, sendo que, na segunda forma, existiram apenas 9.

Note-se que falsos positivos são aqueles que foram detetados incorretamente. Por exemplo, na medicina, um falso positivo existe quando uma pessoa saudável é incorretamente diagnosticada como estando doente. [15]

Esta abordagem apresenta-se como menos intrusiva e prática, uma vez que necessita apenas da instalação de câmaras. Contudo, a informação que é capaz de fornecer está limitada aos gestos, e não permite determinar que tipos de alimentos são ingeridos.

(31)

11

2.2. Sensores de movimentos

Para o objetivo desta dissertação, a deteção de movimentos apesenta-se como fator relevante, uma vez que permite obter informação de uma forma não intrusiva.

Os sensores de movimento têm como função detetar um objeto e a sua alteração na posição, relativamente ao meio envolvente ou a alteração do meio envolvente, relativamente ao objeto. A deteção de movimentos podem ser feita através de infravermelhos, ótica, radiofrequência, som, vibração e magnetismo. [17]

O sensor de movimentos que se utilizou nesta dissertação foi o Kinect, desenvolvido pela Microsoft. Assim, optou-se por fazer aqui uma caracterização detalhada e fazer referência a outros sensores, destacando a sua diferenças.

2.2.1. Microsoft Kinect

O Kinect, originalmente designado de "Project Natal", foi desenvolvido para a consola de jogos Xbox 360, em parceria com a empresa PrimeSense [18]. É um sensor RGB-D que fornece imagens a cores e de profundidade sincronizadas. Com um algoritmo de captura de movimentações humanas 3D, possibilita interações entre os utilizadores e um jogo, sem a necessidade de um controlador por toque. Recentemente, a sociedade de visão por computador descobriu que a tecnologia do sensor de profundidade do Kinect poderia ser estendida além dos jogos, a um preço bem mais baixo que câmaras 3D tradicionais. Em apenas dois anos, depois do Kinect ter sido lançado, um amplo número de artigos científicos, assim como demonstrações técnicas, foram lançados em diversas conferências/revistas, nos mais variados tipos de projetos [19].

Este sensor possui quatro componentes principais (Figura 7), nomeadamente, uma câmara RGB (câmara a cores) que suporta resoluções de 640x480 a 30 frames por segundo (fps) e 1280x960 a 12 fps; um sensor de profundidade composto por um emissor de infravermelhos e uma câmara (recetor) de infravermelhos que suporta as resoluções de 80x60, 320x240 e 640x480, sendo estas a 30 fps; uma matriz de entrada de áudio, contendo quatro microfones para captura do som [20]; e um motor de angulação vertical que ajusta a inclinação do sensor adicionando um alcance de +/- 27 graus, para cima ou para baixo [19]. Existem ainda lentes denominadas “Zoom” que podem ser aplicadas sobre o Kinect para aumentar o ângulo de captação lateral [21], mas perde-se em termos de profundidade.

(32)

12

Figura 7 – Componentes do sensor Kinect [22]. (b) Inclinação do sensor [20].

Na Figura 8, é apresentada a imagem adquirida através câmara RGB (a) e do sensor de profundidade (b).

(a) (b)

Figura 8 – (a) Imagem RGB. (b) Imagem de profundidade. Retirado de [19].

Nas imagens que o sensor Kinect fornece (cores e profundidade), cada ponto possui coordenadas X, Y e Z. Os valores de X e Y representam as coordenadas de um pixel. De raiz, o SDK fornece estes valores compreendidos entre -1 e 1. Contudo, é possível convertê-los na notação comum, isto é, numa imagem com resolução 640 x 480, o valor de X está compreendido entre 1 e 640 e o valor de Y entre 1 e 480. Por outro lado, Z refere-se à distância em milímetros até ao dispositivo.

Existem duas versões diferentes do sensor Kinect, a versão para Xbox 360 e a versão para Windows com algumas diferenças entre si [20] e duas ferramentas de desenvolvimento principais (Anexo A).

Com o lançamento da consola de nova geração da Microsoft no final de 2013, a Xbox One, foi lançado, em conjunto, uma nova versão do Kinect. O seu aspeto é semelhante ao Kinect da Xbox 360, mas com algumas modificações. [18] [23]. Na versão 2, a Microsoft não apresenta uma versão específica para Windows como fez anteriormente. Em vez disso, utilizou apenas a abordagem da utilização de um adaptador, que também existia como alternativa para utilização da primeira versão do sensor [24].

Atualmente, já existem vários trabalhos científicos que utilizam o sensor Kinect V2. Os primeiros trabalhos desenvolvidos consistem, essencialmente, na análise da performance e viabilidade do sensor [25] [26], assim como a comparação das suas funcionalidades

(33)

13

com a versão anterior para aplicação em diferentes áreas [23] [27] [28] [29]. Outros trabalhos encontrados que fazem uso do sensor incluem o reconhecimento de gestos [30], navegação com robôs [31], modelação 3D [32] e mapeamento costeiro [33]. Em termos gerais, os trabalhos realizados mostraram que o sensor possui uma grande potencialidade para utilização em várias áreas, ultrapassando, de forma significativa, a capacidade da versão anterior do sensor.

Existem outros sensores de movimento semelhantes aos do da primeira versão da Microsoft, como o ASUS Xtion e o PrimeSense Carmine [34]. Na Tabela 2, são apresentadas vantagens e desvantagens destes sensores relativamente à primeira versão do Kinect.

Tabela 2 – Pros e Contras de outros sensores. Retirado de [34].

Pros Contras

Mais compactos Dispositivos menos populares Menos pesados Menor qualidade dos drivers Não necessitam de fonte de energia para além

de USB

Não funcionam com alguns controladores USB (especialmente 3.0)

Menos interferência na utilização de múltiplos sensores combinados

Não possuem motor de angulação automático (apenas manual)

Melhor qualidade de imagem RGB

Foram consultados os preços de venda dos vários sensores mencionados1. Verificou-se que o sensor da PrimeSense já não se encontra oficialmente à venda pelo fabricante, assim como a primeira versão do sensor Kinect, tanto para a Xbox 360, como para Windows. Contudo, através da consulta de versões comercializadas por terceiros, em segunda mão ou versões reacondicionadas, foi possível determinar que o Kinect V1 (para Windows ou para Xbox com adaptador) possui um preço médio, à data da escrita desta dissertação, na ordem dos 100 euros. A versão 2, com adaptador, possui um preço de 200 euros (150 do sensor e 50 do adaptador). A versão da PrimeSense custa cerca de 200 euros. A versão com fios da ASUS tem um preço de 150 euros e a versão sem fios custa 200 euros. Resumindo, o sensor Kinect V1 possui um custo menor, de pelo menos 50%, em relação aos seus concorrentes diretos, sendo esta uma das grandes razões pelas quais este sensor adquiriu uma elevada popularidade. A V2 apresenta-se como uma versão bastante

(34)

14

promissora para o desenvolvimento de novos trabalhos científicos, mantendo um custo bastante acessível para as caraterísticas que possui.

2.3. Reconhecimento de gestos

São muitas as abordagens conhecidas para fazer reconhecimento de gestos, que vão desde a modelagem estatística, visão por computador e reconhecimento de padrões, processamento de imagem e sistemas conexionistas. Muitos dos problemas têm sido resolvidos com base em modelagem estatística, como o PCA (Principal Component

Analysis), HMMs (Hidden Markov Models), filtragem de Kalman, filtragem de partículas

e algoritmos de condensação mais avançados. O FSM (Finite-State Machine) tem sido também empregado com sucesso na modelagem de gestos humanos [35]. Segue-se, na seção 2.4.1, uma descrição geral das técnicas referidas e, na seção 2.4.2, uma descrição mais detalhada da abordagem HMM, que foi a técnica utilizada nesta dissertação.

2.3.1. Várias abordagens

O PCA é uma técnica estatística que se aplica em campos como o reconhecimento de faces, compressão de imagens e para encontrar padrões. É uma forma de identificar padrões em dados e expressa os dados de forma a destacar as suas semelhanças e diferenças. [36]

O filtro de Kalman é um método matemático que tem como objetivo gerar resultados que se aproximem dos valores originais através de medições contaminadas com ruído, realizadas ao longo do tempo. [37]

Um Modelo Oculto de Markov (ou Hidden Markov Model) é um modelo estatístico com parâmetros desconhecidos, onde o objetivo consiste em determinar os parâmetros ocultos a partir dos parâmetros observáveis [38]. Um HMM é apropriado para lidar com as propriedades aleatórias em reconhecimento de gestos. Em vez de usar características geométricas, os gestos são convertidos em símbolos sequenciais. São usados para representar gestos e os seus parâmetros são aprendidos a partir da sua informação de treino. Baseando-se no critério mais provável de desempenho, os gestos são reconhecidos, avaliando os HMMs treinados. O HMM foi encontrado para modelar eficientemente

(35)

15

informação espácio-temporal de uma forma natural. O modelo tem o nome "oculto" porque tudo o que pode ser visto é apenas uma sequência de observações [39].

O algoritmo de condensação (Condensation Algorithm – Conditional Density

Propagation) é um algoritmo que permite representações gerais de probabilidade com o

objetivo de melhorar o seguimento de objetos em cenas altamente confusas. Algoritmos anteriores como, por exemplo, o filtro de Kalman, têm sido limitados na gama de distribuições de probabilidade que eles representam. Os resultados experimentais mostram que o aumento da generalidade, leva a uma melhoria acentuada no desempenho de seguimento. Além de permitir um seguimento de alta qualidade em ambientes confusos, a simplicidade do algoritmo de condensação permite também a utilização de modelos de movimento não-lineares mais complexos do que os correntemente utilizados em filtros de Kalman. [40]

Uma máquina de estados finitos (FSM) é um modelo matemático que tem, como conceito, uma máquina abstrata que tem de estar num dos seus estados finitos. Esta máquina está em apenas um estado de cada vez e transita para um novo estado quando uma determinada condição é realizada [41]. Na abordagem FSM, um gesto pode ser modelado como uma sequência ordenada de estados numa configuração espácio-temporal. O número de estados no FSM pode variar entre as aplicações. O gesto é reconhecido como uma trajetória protótipo de um fluxo contínuo não segmentado de dados de sensores que constituem um conjunto de trajetórias. As trajetórias dos gestos são representadas como um conjunto de pontos (por exemplo, as posições amostradas da cabeça, mãos e olhos) num espaço 2D [35].

Soft Computing é um conjunto de metodologias que trabalha em sinergia e fornece a

capacidade de processamento de informação flexível para lidar com situações ambíguas da vida real. O seu objetivo é explorar a tolerância à imprecisão, incerteza, o raciocínio aproximado e a verdade parcial, a fim de alcançar robustez e soluções de baixo custo. O sistema de reconhecimento pode ser projetado para ser totalmente treinado, quando em uso, ou pode adaptar-se dinamicamente ao utilizador atual. Métodos de Soft Computing como conjuntos difusos (fuzzy sets), redes neuronais artificiais (Artificial Neural

Networks – ANNs), algoritmos genéticos (Genetic Algorithms – GAs) e conjuntos rough,

(36)

16

As máquinas de vetores de suporte (SVM – Support Vector Machines) constituem uma das técnicas de aprendizagem estatística cujos resultados da sua aplicação são comparáveis com os obtidos com redes neuronais artificiais e, em algumas tarefas, têm-se mostrado superiores, tais como na deteção de faces em imagens e em aplicações de bioinformática. Têm como principais caraterísticas, a boa capacidade de generalização e robustez em grandes dimensões. Algumas das suas desvantagens incluem a demora em gerar o modelo e a execução do mesmo, a sensibilidade a ruído e a escolha dos parâmetros influencia grandemente o resultado. [42]

Com base no levantamento destas técnicas, a adotada neste trabalho foram os HMMs devido a ser um algoritmo apropriado para lidar com as propriedades aleatórias em reconhecimento de gestos e à sua aplicação com sucesso dentro do contexto do problema. Na seção seguinte, esta técnica é explicada pormenorizadamente.

2.3.2. Hidden Markov Models

Os Hidden Markov Models (HMMs) ou, em português, modelos ocultos de Markov, foram a abordagem selecionada e utilizada na proposta do sistema monitorização de alimentação.

Os modelos estatísticos com base em Markov, inicialmente introduzidos nos finais dos anos 60 e inícios dos anos 70, têm tido uma popularidade crescente desde os anos 80. Existem duas razões pelas quais isto tem acontecido: em primeiro lugar, estes modelos são muito ricos em estrutura matemática e podem, assim, ser utilizados numa grande variedade de aplicações; em segundo lugar, quando estes são aplicados adequadamente, funcionam muito bem na prática para várias aplicações.

(37)

17

Exemplos Práticos da Aplicação de HMMs

De forma a clarificar as aplicações dos HMMs, foram selecionados 2 exemplos demonstrativos e 3 exemplos de aplicação, que se passam a apresentar.

Exemplos demonstrativos

Reconhecimento de caracteres manuscritos

Cho [43] exemplifica os HMMs com uma aplicação de reconhecimento de dois carateres distintos, o “0” e o “1”, escritos à mão. Para cada um destes carateres, foi criado um HMM. As observações consistiram em sequências de 16 direções (M = 16) obtidas desde que a caneta pousa até que é levantada, como se pode ver na Figura 9.

(a) (b)

Figura 9 – (a) Carateres de treino. (b) Direções utilizadas. Retirado de [43].

O autor usou uma estrutura esquerda-para-direita de 3 estados (N = 3) para o HMM do carater “0” (HMM0), como se pode ver na Figura 10 (a), e uma estrutura linear de 2 estados (N = 2) para o HMM do carater “1” (HMM1) – Figura 10 (b).

b1 (o) 1 a12 2 a23 3 a33 a22 a11 b2 (o) π1 a13 b3 (o) b1 (o) 1 a12 2 a22 a11 π1 b2 (o) (a) (b)

Figura 10 – Diagrama de estados. (a) HMM0. (b) HMM1.

As matrizes de transição e observação dos HMMs foram inicializadas aleatoriamente. Os dois HMMs foram treinados com 3 sequências para cada carater, tendo o autor procedido à avaliação com as mesmas 6 sequências.

Nota: O uso das mesmas sequências de treino e de validação não nos pareceu um procedimento adequado, pelo que esta estratégia não será seguida na nossa abordagem.

(38)

18

Os resultados obtidos foram satisfatórios, tendo sido confirmado uma maior probabilidade das 3 sequências do carater “0” terem sido geradas pelo HMM0 e das 3 sequência do carater “1”, relativamente ao HMM1.

O processo completo realizado, neste exemplo, encontra-se descrito em Anexo C.

Reconhecimento de voz

Rabiner [44] dá um exemplo demonstrativo concetual de HMMs aplicados para reconhecimento de voz básico. O autor assume a existência de um vocabulário com V palavras a serem reconhecidas, onde cada palavra irá ser modelada por um HMM distinto. Para cada uma das V palavras, existe um conjunto de treino com K amostras de cada palavra (pronunciadas por 1 ou mais locutores), onde cada amostra corresponde a uma sequência de observações que representam as caraterísticas da palavra (espetral e/ou temporal) de forma apropriada. Segundo o autor, um vocabulário de tamanho modesto terá, por exemplo, V = 100, N = 5 e M = 40. A estrutura normalmente utilizada neste tipo de aplicação será do tipo esquerda-para-direita ou Bakis.

Exemplos de aplicação

Reconhecimento dos carateres “0”-“9” desenhados pela mão em vídeo

Elmezain et al. [45] recorreram aos HMMs para reconhecimento de carateres numéricos de “0” a “9”, desenhados com a mão, em frente a uma câmara de vídeo com base na deteção e segmentação da região das mãos na imagem (Figura 11 (a)). Na Figura 11 (b), está representado o desenho de um gesto de exemplo (“32”).

(a) (b)

(39)

19

O sistema deteta gestos contínuos obtidos pelo seguimento da mão esquerda do utilizador. A separação dos números é feita quando detetado o final de um gesto através de um movimento horizontal. Para os números desenhados que contêm movimentos horizontais como, por exemplo, o “2”, o “4” e o “7”, os autores recorrem à utilização do fator da velocidade para fazer a separação.

Os gestos foram codificados no plano XY da imagem com 18 direções (M = 18) a que o autor intitulou de codewords (Figura 12 (b)). Estas são obtidas por aproximação ao ângulo

θ do entre dois pontos consecutivos (Figura 12 (a)).

(a) (b)

Figura 12 – (a) Aproximação ao ângulo θ. (b) Codewords. Retirado de [45].

Para cada número, o autor definiu um HMM, com 3 a 10 estados, fazendo testes em 3 estruturas diferentes: ergódica, esquerda-para-direita e linear.

Os resultados obtidos estão representados na Figura 13, onde se pode ver a taxa de reconhecimento para cada estrutura em função da estrutura e do número de estados.

Figura 13 – Resultados das diferentes estruturas e nº de estados. Adaptado de [45].

Pode ver-se que as estruturas, esquerda-para-direita, e linear alcançaram a maior taxa de reconhecimento com a utilização de 3 e 4 estados e que em termos médios, a estrutura linear foi a que apresentou melhores resultados (98.94%). O autor considerou a estrutura linear de 5 estados como mais adequada.

(40)

20

Reconhecimento de símbolos matemáticos manuscritos

Nattee [46] usou HMMs para reconhecimento de 42 símbolos matemáticos (Tabela 3) desenhados com uma caneta digital num tablet.

Tabela 3 – Conjunto de símbolos matemáticos. Retirado de [46].

ϕ π α θ γ β ∫ ϵ

× … √x ∑ ∞ ≤ ≥ ¬

+ - ± = ( ) →

sin cos tan log lim lt ! z

0 1 2 3 4 5 6 7

8 9 A B C F a b

c d i j k n x y

Na Figura 14, encontra-se representado o desenho de um símbolo de exemplo.

Figura 14 – Carater exemplo.

Para os dados adquiridos, o autor realizou um pré-processamento com 5 fases distintas: 1. Eliminação de pontos duplicados:

2. Normalização de tamanho; 3. Suavização;

4. Normalização de velocidade.

A extração de caraterísticas dos símbolos foi feita a partir das seguintes observações: 1. Estado da caneta: em contato com o tablet ou sem contato;

2. Distância normalizada desde o início até ao fim do gesto;

3. Coordenada y normalizada: a posição da coordenada y após todos os pontos terem passado pela normalização de tamanho;

4. Declive da vizinhança α: o declive da vizinhança do ponto atual [x(t), y(t)] é representado pelo cosseno e seno do ângulo α (Figura 15);

5. Curvatura β: a curvatura do ponto atual [x(t), y(t)] é representada pelo cosseno e seno do ângulo β (Figura 15).

(41)

21

Figura 15 – Declive e curvatura. Retirado de [46].

Por outras palavras, para cada caraterística, de cada ponto original (com coordenadas x e y), existirá outro valor único correspondente. Por exemplo, na primeira caraterística, cada ponto com coordenadas será convertido num valor booleano (verdadeiro ou falso) que representa se a caneta se encontra em contato, ou não, com o tablet no instante de tempo t.

O autor compara a classificação utilizando estas diferentes caraterísticas, fazendo uma análise da performance de cada uma delas isoladamente e combinando-as umas com as outras.

Os resultados mostraram que o reconhecimento com a utilização de 4 caraterísticas (2, 3, 4 e 5) possuem a melhor taxa (89.28%), seguindo-se com a utilização das 5 caraterísticas (88.79%) e a utilização de caraterísticas (1, 2, 3 e 4).

Reconhecimento de gestos alimentares

Amft [47] usou HMMs para o reconhecimento de gestos alimentares, listados na Tabela 4, usando sensores inerciais colocados nas parte inferior e superior dos braços.

Tabela 4 – Gestos alimentares analisados por Amft. Retirado de [47]. Categoria Ferramentas Tipo de comida e gesto

Talheres Garfo, faca e prato Lasanha; toque com o garfo e carga, atividade de corte com a faca envolvido

Colher Colher e tijela Cerais com leite; carga da colher e manuseamento

Mão - Barra de chocolate; segurada na mão, movida para a boca e de volta

Bebida Copo Água; copo foi movido para a boca e de volta para a mesa

No trabalho realizado, foram criados HMMs individuais para cada gesto. Os modelos utilizados tinham uma estrutura esquerda-para-direita com número de estados que variou de N = 4 até N = 10.

(42)

22

Foram utilizadas 8 caraterísticas para os HMMs:

1. Ângulo de inclinação dos sensores da parte superior dos braços; 2. Rotação dos sensores da parte superior dos braços;

3. Ângulo de inclinação dos sensores da parte inferior dos braços; 4. Rotação dos sensores da parte inferior dos braços;

5. Derivada do sinal de aceleração dos sensores da parte inferior dos braços, com orientação de medida ao longo do ângulo de inclinação;

6. Soma cumulativa de aceleração dos sensores da parte inferior dos braços (orientação igual à do anterior);

7. Derivada da taxa do sinal de viragem dos sensores da parte inferior dos braços, com orientação de medida ao longo do ângulo de rotação;

8. Soma cumulativa da taxa do sinal de viragem dos sensores da parte inferior dos braços (orientação igual à do anterior).

Na Figura 16, encontra-se representada a demonstração do ângulo de inclinação e rotação.

Figura 16 – Inclinação e rotação. Adaptado de [47].

Os resultados mostraram uma taxa de reconhecimento de 97.4% dos 784 gestos analisados, concluindo-se, assim, que os modelos representaram os gestos de forma correta e foram capazes de reconhecer precisamente os gestos presentes no conjunto de teste.

(43)

23

3. Monitorização da alimentação com HMMs

Na presente dissertação, foi proposto e avaliado um conjunto de HMMs para reconhecimento de gestos de ingestão de alimentos.

Na seção 3.1, apresenta-se o estudo prévio que validou a utilização do sensor Microsoft Kinect para a monitorização de comportamentos alimentares [6]. Nesse trabalho, foram identificados os gestos relevantes realizados durante o processo de alimentação. Foi definido um cenário para experimentação e foram feitos testes com diferentes participantes para a avaliar a viabilidade da utilização do sensor. Na seção 3.2, é apresentada a proposta de um sistema de monitorização de alimentação com recurso a HMMs.

3.1. Estudo prévio

Foi realizado um estudo prévio para avaliar a viabilidade da utilização do sensor Microsoft Kinect (versão 1) para fazer a monitorização da alimentação de idosos nas suas casas com base na identificação de gestos. [6]

Na seção 3.1.1, apresentam-se os gestos considerados relevantes, seguindo-se a seção 3.1.2 com a apresentação do cenário utilizado para os testes de validação. Na seção 3.1.3, apresentam-se os casos estudados, nomeadamente, a forma como os dados foram capturados e tratados, a descrição dos testes e a análise dos gestos obtidos. Finalmente, na seção 3.1.4, apresentam-se conclusões do estudo prévio.

3.1.1. Gestos de alimentação

Os gestos que se pretendem analisar são os gestos relacionados com o transporte de alimentos que consistem em levar a comida do prato até à boca. Estes gestos são realizados pelas partes superiores do corpo: braços, tronco e cabeça. No decurso da refeição, são utilizados instrumentos como colher, faca, garfo e copo (ou caneca) que servem para assistir na preparação e transporte da comida até à boca. Estes gestos podem ser divididos em vários tipos de movimentos, nomeadamente, gestos de transporte, realizados para levar comida para a boca, gestos de transporte de líquidos, gestos relacionados com preparação de comida, e outros.

(44)

24

A forma de comer de uma pessoa pode ser subdividida, esquematicamente, da seguinte forma (Figura 17):

Figura 17 – Esquematização dos elementos envolvidos na tarefa comer.

No decurso de uma refeição, a pessoa executa uma sequência de gestos com diferentes partes do corpo. Foram observadas as seguintes situações:

Comer (geral): existe uma inclinação da cabeça para a frente e movimentação das mãos desde a zona do prato até perto da boca;

Comer com garfo e faca: são utilizadas as duas mãos, mas apenas uma mão de cada vez irá realizar o movimento à boca. As mãos realizam movimentos alternados no prato (por exemplo, cortar carne);

Refeição exemplo: bife com arroz.

Comer com colher: é utilizada apenas uma mão, e apenas essa mão irá exercer o movimento até à boca;

Refeição exemplo: sopa.

Comer com as mãos: pode ser realizado com uma ou duas mãos. Se forem utilizadas duas mãos, ambas poderão realizar o movimento de levar comida à boca. Existe ainda uma movimentação das mãos mais próximas da boca (em relação à utilização de talheres);

Refeição exemplo: pão e fruta.

Beber: utilização de uma ou duas mãos, onde existe, por vezes, inclinação da cabeça para trás.

Neste trabalho irão ser estudados os gestos de transporte de alimentos, realizados com o auxílio de talheres e o transporte líquidos. Não irão ser analisados gestos realizados exclusivamente com recurso às mãos, devido a não ter sido estudada a sua viabilidade no trabalho prévio.

Comer

Garfo e faca Colher Mãos

Beber

Copo ou Caneca

(45)

25

3.1.2. Cenário (Setup utilizado)

Nesta seção, pretendia-se definir um cenário para experimentação. Sendo o nosso objetivo detetar gestos alimentares, foi necessário utilizar a melhor configuração possível na tentativa de detetar esses mesmos gestos. Para tal, foram testadas várias configurações com diferentes distâncias do sensor ao utilizador, a altura do sensor e da sua angulação. Em todos os testes realizados as seguintes definições mantiveram-se inalteradas:

 Kinect de frente para o utilizador;

 Esqueleto no modo sentado;

o 10 Articulações a explorar: cabeça, ombro esquerdo, cotovelo esquerdo, pulso esquerdo, mão esquerda, ombro direito, cotovelo direito, pulso direito, mão direita e centro dos ombros.

Depois de várias configurações testadas, foi escolhido um cenário como o exemplificado na Figura 18, com o Kinect posicionado em frente ao utilizador a uma distância de 1.2 metros, a uma altura do chão de 1.2 metros e com uma angulação de -10 graus.

Figura 18 – Ilustração do cenário adotado.

Este posicionamento foi escolhido para evitar a ocultação das mãos durante a refeição. O cenário é, então, constituído por uma mesa, uma cadeira, um prato, um copo, talheres (faca, garfo e colher) e o sensor Kinect posicionado em frente ao utilizador.

1.2m

(46)

26

3.1.3. Casos estudados

Após a definição final do cenário a utilizar, foi então realizada a captura de dados de refeições de diferentes participantes. No estudo prévio [6], foram analisadas um total de três refeições realizadas por três sujeitos autónomos diferentes, sendo dois deles pessoas idosas (Maria com 83 anos e Alice com 85 anos) e o terceiro um jovem (Pedro com 25 anos). Cada refeição era composta por dois pratos, a sopa e o prato principal. Durante a fase de experimentação, foi pedido aos participantes que comessem normalmente, não olhassem para o sensor, e que não se levantassem até que a refeição estivesse concluída.

Captura e tratamento de dados

Na captura de dados, tanto no trabalho prévio [6], assim como no precedente, foi utilizada a primeira versão do sensor Microsoft Kinect, assim como uma aplicação desenvolvida em C#, no Visual Studio que torna possível a utilização do sensor.

Na fase de captura de dados, foi utilizado o Kinect Studio, uma ferramenta que vem associada ao SDK do Kinect da Microsoft, que possibilita fazer a gravação de dados para que mais tarde possam ser novamente visualizados.

No tratamento dos dados, foi utilizada a aplicação desenvolvida, onde foram adicionados diferentes botões que representavam diferentes movimentos que a pessoa realizava durante a refeição como, por exemplo, quando a pessoa tem a mão no prato ou perto da boca ou do copo. A aplicação desenvolvida para a captura e tratamento de dados encontra-se ilustrada na Figura 19.

Figura 19 – Aplicação desenvolvida para captura e tratamento de dados.

Botões para marcação e identificação dos gestos realizados

(47)

27

Cada refeição foi, então, visualizada e foram definidos os diferentes movimentos da pessoa. O objetivo desta tarefa era a criação de ficheiros Excel que continham as coordenadas captadas pelo sensor, bem como a identificação do movimento realizado para diferentes intervalos de coordenadas. Estes conjuntos de coordenadas foram de seguida utilizados para análise.

Experimentação

Após a captura e tratamento dos dados, foi feita a análise das refeições realizadas pelos três participantes. Foram adquiridos 30 minutos e 38 segundos válidos (sem erros do sensor e violações do cenário) de gravação, onde foram realizados 280 gestos, na soma das três refeições. Na Tabela 5, estão expressas, detalhadamente, as refeições analisadas, nomeadamente, a duração de cada uma, assim como o número de gestos realizados.

Tabela 5 – Refeições analisadas. Duração da experiência Nº mão direita (prato-boca) Nº mão esquerda (prato-boca) Nº mão direita (copo-boca) Outros gestos Nº total Maria 05:32 44 0 4 9 57 Alice 18:37 150 3 2 5 160 Pedro 06:29 31 27 3 2 63 Total 30:38 225 30 9 16 280

Análise dos gestos

Neste trabalho, foram analisadas as distâncias:

 Das mãos ao prato;

 Das mãos à cabeça;

 Das mãos ao copo.

Na Figura 20, encontram-se representadas as variações das distâncias de alguns gestos capturados durante uma refeição de sopa, para a mão esquerda. Nesta refeição, a mão utilizada para transporte da comida foi a mão direita.

(48)

28

Figura 20 – Gestos de ingestão de sopa (mão esquerda).

Na Figura 21, estão representadas as variações das distâncias de alguns gestos capturados durante uma refeição de sopa para a mão direita. Em ambas as figuras, as partes dentro dos retângulos cinzentos representam o momento em que ocorreu um gesto de transporte. Como se pode verificar com a observação da Figura 21, existe uma alteração regular das distâncias quando ocorre um gesto de ingestão.

Distância da mão esquerda ao copo manteve-se inalterada Distância da mão esquerda à cabeça manteve-se entre 33 e 38cm

(49)

29

Figura 21 – Gestos de ingestão de sopa (mão direita).

Esta observação foi realizada para cada gesto em análise e foram considerados, como gestos possíveis de deteção, aqueles que mostram uma alternância nas distâncias como o exemplo da Figura 21. Na Tabela 6, estão expressos os resultados finais, após a análise individual de cada gesto, onde, para cada refeição e tipo de gesto, foram contados os gestos realizados e classificados como “sucesso”, aqueles que seriam possíveis de serem detetados. A percentagem de sucesso representa a relação direta do número de gestos, classificados como sucesso, divididos pelo número total de gestos. Note-se que o Pedro utilizou a mão direita na sopa e a mão esquerda no prato principal, enquanto que a Maria e a Alice utilizaram a mão direita para ambos os pratos.

Momento de alternância das

(50)

30

Tabela 6 – Resultados da análise dos gestos. Gestos de ingestão Nº Maria Sucesso % Nº Alice Sucesso % Nº Pedro Sucesso % Sopa Duração: 03m03s Duração: 02m21s Duração: 02m56s Mão direita (prato-boca) 29 29 100% 34 30 88% 31 24 77%

Outros gestos 4 - - 2 - - 0 - -

Prato principal Duração: 02m29s Duração: 16m18s Duração: 03m33s Mão direita (prato-boca) 15 12 80% 116 108 93% 0 0 - Mão esquerda (prato-boca) 0 0 - 3 3 100% 27 20 74% Mão direita (copo-boca) 4 4 100% 2 2 100% 3 3 100%

Outros gestos 5 - - 3 - - 2 - -

3.1.4. Conclusões do estudo prévio

Pela observação da Tabela 6, podemos concluir que existiu uma taxa de sucesso de pelo menos 74% para uma distância isolada (observada na distância da mão esquerda do Pedro do prato até à boca no prato principal) e com uma taxa média de sucesso de 89% para todas as distâncias. Também, o posicionamento de forma errada das articulações, por parte sensor, não foram significantes e podem ser automaticamente identificadas por análise de coerência do esqueleto sentado. Ficámos, assim, confiantes que estes resultados são suficientes e que é possível utilizar esta abordagem para desenvolver um sistema para automaticamente detetar os gestos de ingestão e assim fazer a monitorização da alimentação.

Imagem

Figura 4 – Disposição do sistema incluindo a mesa de refeições, utensílios senhorizados (garfo/faca/copo)  e um sensor Kinect
Figura 5 – Mesa com antena RFID e superfícies de pesagem. Adaptado de [16].
Tabela 2 – Pros e Contras de outros sensores. Retirado de [34].
Figura 18 – Ilustração do cenário adotado.
+7

Referências

Documentos relacionados

Entretanto, é evidenciado uma menor quantidade de células CD4+ e CD8+ nos pulmões dos animais P2X7RKO infectados com a cepa Beijing 1471 em relação àqueles dos camundongos

A prevalência global de enteroparasitoses foi de 36,6% (34 crianças com resultado positivo para um ou mais parasitos), ocorrendo quatro casos de biparasitismo, sendo que ,em

Os instrutores tiveram oportunidade de interagir com os vídeos, e a apreciação que recolhemos foi sobretudo sobre a percepção da utilidade que estes atribuem aos vídeos, bem como

Afinal de contas, tanto uma quanto a outra são ferramentas essenciais para a compreensão da realidade, além de ser o principal motivo da re- pulsa pela matemática, uma vez que é

Os testes de desequilíbrio de resistência DC dentro de um par e de desequilíbrio de resistência DC entre pares se tornarão uma preocupação ainda maior à medida que mais

Mineração de conhecimento interativa em níveis diferentes de abstração: Como é  difícil  prever  o  que  exatamente  pode  ser  descoberto  de  um  banco 

( continuação da página 3 ) · Utilizações finais específicas Não existe mais nenhuma informação relevante disponível.. 8 Controlo da

Após a busca e análise de publicações existentes sobre a aplicação da inteligência artificial na educação através das técnicas de sistemas especialistas,