• Nenhum resultado encontrado

5. Conclusões e trabalho futuro

5.2. Trabalho futuro

Para trabalho futuro, propomos o treino e teste, dos HMMs propostos, com maior número de dados, de forma a atingir um melhor nível de reconhecimento, assim como a definição de diferentes estruturas para os modelos, com diferentes números de estados.

A elaboração de testes com a versão 2 do sensor Kinect, já disponível no mercado, poderá ajudar a obter melhores taxas de classificação, uma vez que o detetor de movimentos, nesta versão, ficou mais preciso, identificando, facilmente, gestos subtis, como mover os dedos, girar dos pulsos, detetar expressões faciais e identificar o batimento cardíaco. Por fim, propomos que sejam feitos testes em ambiente real, de forma a validar o sistema proposto e, eventualmente, disponível à população.

71

Referências

[1] «A importância da alimentação». [Em linha]. Disponível em: http://www.apagina.pt/?aba=7&cat=184&doc=13484. [Acedido: 13-Jun-2015]. [2] M. T. F. de S. Campos, J. B. R. Monteiro, e A. P. R. de C. Ornelas, «Fatores que

afetam o consumo alimentar e a nutrição do idoso», Rev. Nutr., vol. 13, n. 3, pp. 157–165, Dez. 2000.

[3] D. T. Rowland, Population Aging: The Transformation of Societies. Springer, 2012. [4] O. Amft e G. Troster, «Methods for Detection and Classification of Normal Swallowing from Muscle Activation and Sound», em Pervasive Health Conference

and Workshops, 2006, 2006, pp. 1–10.

[5] O. Amft, «Automatic dietary monitoring using on-body sensors: Detection of eating and drinking behaviour in healthy individuals», PHD, ETH Zurich, Switzerland, Zurich, 2008.

[6] A. Cunha, L. Pádua, L. Costa, e P. Trigueiros, «Evaluation of MS Kinect for elderly meal intake monitoring», apresentado na HCIST 2014 - International Conference on Health and Social Care Information Systems and Technologies, 2014.

[7] M. A. Sevick, B. Piraino, S. Sereika, T. Starrett, C. Bender, J. Bernardini, S. Stark, e L. E. Burke, «A Preliminary Study of PDA-Based Dietary Self-Monitoring in Hemodialysis Patients», J. Ren. Nutr., vol. 15, n. 3, pp. 304–311, Jul. 2005.

[8] B. Ann Yon, R. K. Johnson, J. Harvey-Berino, e B. C. Gold, «The Use of a Personal Digital Assistant for Dietary Self-Monitoring Does Not Improve the Validity of Self-Reports of Energy Intake», J. Am. Diet. Assoc., vol. 106, n. 8, pp. 1256–1259, Ago. 2006.

[9] B. A. Yon, R. K. Johnson, J. Harvey-Berino, B. C. Gold, e A. B. Howard, «Personal Digital Assistants are Comparable to Traditional Diaries for Dietary Self- Monitoring During a Weight Loss Program», J. Behav. Med., vol. 30, n. 2, pp. 165– 175, Abr. 2007.

[10] J. Mankoff, G. Hsieh, H. C. Hung, S. Lee, e E. Nitao, «Using Low-Cost Sensing to Support Nutritional Awareness», em UbiComp 2002: Ubiquitous Computing, G. Borriello e L. E. Holmquist, Eds. Springer Berlin Heidelberg, 2002, pp. 371–378.

72

[11] K. A. Siek, K. H. Connelly, Y. Rogers, P. Rohwer, D. Lambert, e J. L. Welch, «When Do We Eat? An Evaluation of Food Items Input into an Electronic Food Monitoring Application», em Pervasive Health Conference and Workshops, 2006, 2006, pp. 1–10.

[12] D. J. Patterson, D. Fox, H. Kautz, e M. Philipose, «Fine-grained activity recognition by aggregating abstract object usage», em Ninth IEEE International Symposium on

Wearable Computers, 2005. Proceedings, 2005, pp. 44–51.

[13] M. khademi Hossein Mousavi Hondori, «Monitoring Intake Gestures using Sensor Fusion (Microsoft Kinect and Inertial Sensors) for Smart Home Tele-Rehab Setting», 2012.

[14] J. Gao, A. G. Hauptmann, A. Bharucha, e H. D. Wactlar, «Dining activity analysis using a hidden Markov model», em Proceedings of the 17th International

Conference on Pattern Recognition, 2004. ICPR 2004, 2004, vol. 2, pp. 915–918

Vol.2.

[15] «Sensitivity and specificity», Wikipedia, the free encyclopedia. 10-Set-2015. [16] K. Chang, S. Liu, H. Chu, J. Y. Hsu, C. Chen, T. Lin, C. Chen, e P. Huang, «The

Diet-Aware Dining Table: Observing Dietary Behaviors over a Tabletop Surface», em Pervasive Computing, K. P. Fishkin, B. Schiele, P. Nixon, e A. Quigley, Eds. Springer Berlin Heidelberg, 2006, pp. 366–382.

[17] «Motion detection - Wikipedia, the free encyclopedia». [Em linha]. Disponível em: https://en.wikipedia.org/wiki/Motion_detection. [Acedido: 16-Jul-2015].

[18] «Kinect», Wikipédia, a enciclopédia livre. 05-Nov-2014.

[19] J. Han, L. Shao, D. Xu, e J. Shotton, «Enhanced Computer Vision With Microsoft Kinect Sensor: A Review», IEEE Trans. Cybern., vol. 43, n. 5, pp. 1318–1334, Out. 2013.

[20] H. F. Narcizo e C. E. Câmara, «Desenvolvimento de Protótipo de Software para Reconhecimento de Posições e Gestos Utilizando Microsoft Kinect», Rev. Eng., vol. 7, pp. 60–84, Abr. 2013.

[21] «Amazon.com: Zoom for Kinect - Xbox 360: Video Games». [Em linha]. Disponível em: http://www.amazon.com/Zoom-Kinect-Xbox- 360/dp/B0050SYS5A. [Acedido: 20-Jul-2015].

73

[22] «Kinect for Windows Sensor Components and Specifications». [Em linha]. Disponível em: https://msdn.microsoft.com/en-us/library/jj131033.aspx. [Acedido: 04-Jul-2015].

[23] C. Amon, F. Fuhrmann, e F. Graf, «Evaluation of the spatial resolution accuracy of the face tracking system for kinect for windows v1 and v2», em Proceedings of the

6th Congress of the Alps Adria Acoustics Association, 2014.

[24] «Purchase the Kinect for Windows sensor». [Em linha]. Disponível em: http://www.microsoft.com/en-us/kinectforwindows/purchase/. [Acedido: 19-Jul- 2015].

[25] L. Yang, L. Zhang, H. Dong, A. Alelaiwi, e A. El Saddik, «Evaluating and Improving the Depth Accuracy of Kinect for Windows v2», IEEE Sens. J., vol. 15, n. 8, pp. 4275–4285, Ago. 2015.

[26] H. Fürntratt e H. Neuschmied, «Evaluating pointing accuracy on Kinect V2 sensor», em International Conference on Multimedia and Human-Computer Interaction

(MHCI), 2014.

[27] S. Zennaro, «Evaluation of Microsoft Kinect 360 and Microsoft Kinect One for robotics and computer vision applications», 2014.

[28] A. Maykol Pinto, P. Costa, A. P. Moreira, L. F. Rocha, G. Veiga, e E. Moreira, «Evaluation of Depth Sensors for Robotic Applications», em 2015 IEEE

International Conference on Autonomous Robot Systems and Competitions (ICARSC), 2015, pp. 139–143.

[29] M. J. Malinowski e E. Matsinos, «Comparative study of the two versions of the Microsoft Kinect sensor in regard to the analysis of human motion», ArXiv Prepr.

ArXiv150400221, 2015.

[30] A. Weinfield, «Gesture Recognition Using Microsoft’s Kinect v2», 2014.

[31] P. Fankhauser, M. Bloesch, D. Rodriguez, R. Kaestner, M. Hutter, e R. Siegwart, «Kinect v2 for Mobile Robot Navigation: Evaluation and Modeling».

[32] H. M. E Lachat, «First experiences with Kinect V2 sensor for close range 3D modelling», ISPRS - Int. Arch. Photogramm. Remote Sens. Spat. Inf. Sci., vol. XL– 5/W4, 2015.

[33] T. Butkiewicz, «Low-cost coastal mapping using Kinect v2 time-of-flight cameras», em Oceans - St. John’s, 2014, 2014, pp. 1–9.

74

[34] «Depth Sensors Comparison - iPiSoft Wiki». [Em linha]. Disponível em: http://wiki.ipisoft.com/Depth_Sensors_Comparison. [Acedido: 30-Jun-2015]. [35] S. Mitra e T. Acharya, «Gesture Recognition: A Survey», IEEE Trans. Syst. Man

Cybern. Part C Appl. Rev., vol. 37, n. 3, pp. 311–324, Mai. 2007.

[36] L. I. Smith, «A tutorial on principal components analysis», Cornell Univ. USA, vol. 51, p. 52, 2002.

[37] «Filtro de Kalman – Wikipédia, a enciclopédia livre». [Em linha]. Disponível em: https://pt.wikipedia.org/wiki/Filtro_de_Kalman#Vis.C3.A3o_computacional. [Acedido: 02-Jul-2015].

[38] «Modelo oculto de Markov – Wikipédia, a enciclopédia livre». [Em linha]. Disponível em: https://pt.wikipedia.org/wiki/Modelo_oculto_de_Markov. [Acedido: 02-Jul-2015].

[39] J. Yang e Y. Xu, «Hidden Markov Model for Gesture Recognition», Mai. 1994. [40] «The Condensation Algorithm Home Page». [Em linha]. Disponível em:

http://www.robots.ox.ac.uk/~misard/condensation.html. [Acedido: 02-Jul-2015]. [41] «Máquina de estados finitos – Wikipédia, a enciclopédia livre». [Em linha].

Disponível em: https://pt.wikipedia.org/wiki/M%C3%A1quina_de_estados_finitos. [Acedido: 02-Jul-2015].

[42] A. C. Lorena e A. C. de Carvalho, «Introduçaoas Máquinas de Vetores Suporte», 2003.

[43] D. S. Cho, KISS ILVB Tutorial | 2005.04.16 | Seoul Introduction to Hidden Markov

Model and Its Application. 2005.

[44] L. R. Rabiner, «A tutorial on hidden Markov models and selected applications in speech recognition», em PROCEEDINGS OF THE IEEE, 1989, pp. 257–286. [45] M. Elmezain, A. Al-Hamadi, J. Appenrodt, e B. Michaelis, «A Hidden Markov

Model-based continuous gesture recognition system for hand motion trajectory», em

19th International Conference on Pattern Recognition, 2008. ICPR 2008, 2008, pp.

1–4.

[46] C. Nattee, «Mathematical Handwritten Formula Recognition».

[47] O. Amft, H. Junker, e G. Troster, «Detection of eating and drinking arm gestures using inertial body-worn sensors», em Ninth IEEE International Symposium on

75

[48] M. Pastor, A. Toselli, e E. Vidal, «Writing speed normalization for on-line handwritten text recognition», em Eighth International Conference on Document

Analysis and Recognition, 2005. Proceedings, 2005, pp. 1131–1135 Vol. 2.

[49] «Hidden Markov Model (HMM) Toolbox for Matlab». [Em linha]. Disponível em: http://www.cs.ubc.ca/~murphyk/Software/HMM/hmm.html. [Acedido: 18-Jun- 2015].

[50] «Deterministic and Probabilistic models and thinking | Learn and Teach Statistics and Operations Research». [Em linha]. Disponível em: https://learnandteachstatistics.wordpress.com/2013/12/16/deterministic-and-prob- models/. [Acedido: 02-Jul-2015].

[51] E. Fosler-lussier, «Markov Models and Hidden Markov Models: A Brief Tutorial», em CA TR-98-041;1998;p1 Page 132 of 141, 1998.

[52] J. Yamagishi, «An introduction to hmm-based speech synthesis», Technical report, Tokyo Institute of Technology, 2006.

[53] S. Hymel, «Massively Parallel Hidden Markov Models for Wireless Applications», thesis, Virginia Tech, 2011.

[54] A. P. Mark Stamp, «A Revealing Introduction to Hidden Markov Models», 2013. [55] C. Zhai, «A Brief Note on the Hidden Markov Models (HMMs)», Dep. Comput. Sci.

77

78

Anexo A. Ferramentas de Desenvolvimento do MS Kinect

A Microsoft fornece um Software Development Kit (SDK) para que os programadores possam criar aplicações que utilizem as funcionalidades que o sensor disponibiliza, sendo algumas delas as seguintes [20]:

 Mapeamento esquelético;

o Segundo a Microsoft, o sensor Kinect pode reconhecer até 6 utilizadores ao mesmo tempo, sendo que só é possível fazer o mapeamento esquelético de dois. Os restantes são reconhecidos com um círculo demarcando a sua posição;

o O Kinect consegue identificar até 20 articulações, se o utilizador estiver em pé, e 10 se o utilizador estiver sentado;

o Pode ser feita a medição da distância máxima que o dispositivo pode captar através da leitura da coordenada Z da articulação central do corpo.

 Determinação de distâncias entre o sensor de profundidade e objetos;

 Captação de áudio;

 Reconhecimento por voz com recurso a dicionários (português não incluído). Existe ainda outro SDK com o nome Open Natural Interaction (OpenNI) SDK. As funcionalidades destes dois softwares (Microsoft Kinect SDK e OpenNI SDK) são diretamente comparáveis. Existem algumas diferenças como:

 OpenNI é multiplataforma, ao contrário do MS Kinect SDK;

 O mapeamento esquelético do OpenNI necessita que o utilizador se coloque numa pose predefinida para serem detetadas articulações suficientes, por outro lado, o MS Kinect SDK não necessita disso, no entanto, está mais aberto a falsos positivos;

 O MS Kinect SDK é capaz de seguir a parte superior do corpo do utilizador (10 articulações) caso a parte inferior do corpo não esteja visível;

 O OpenNI foca-se na deteção das mãos e mapeamento esquelético das mesmas, enquanto que o MS Kinect SDK realiza reconhecimento de gestos simples como “agarrar” e “empurrar”.

Outras diferenças entre Microsoft Kinect SDK e OpenNI [19], como por exemplo, o número de articulações que cada um é capaz de detetar, encontram-se representadas na Tabela 43.

79

Tabela 43 – Outras diferenças entre o MS Kinect SDK e o OpenNI. Retirado de [19].

OpenNI MS Kinect SDK

Calibração da câmara Sim Sim

Calibração automática do corpo Não Sim

Esqueleto em pé Sim (15 articulações) Sim (20 articulações)

Esqueleto sentado Não Sim

Reconhecimento de gestos corporais Sim Sim

Análise de gestos manuais Sim Sim

Seguimento facial Sim Sim

Analisador de cena Sim Sim

Exploração 3D Sim Sim

80

Anexo B. Hidden Markov Models

Os acontecimentos no mundo real, normalmente, produzem factos observáveis que podem ser caraterizados como sinais. Estes sinais podem ser discretos na natureza como, por exemplo, os carateres de um alfabeto finito, ou contínuos como, por exemplo, amostras de voz. As fontes destes podem ser estacionária – quando as suas propriedades estatísticas não variam com o tempo – ou não-estacionárias, quando variam com o tempo. Os sinais podem ser puros se provêm diretamente de uma fonte única) ou podem ser corrompidos por outras fontes de sinal (por exemplo, ruído) ou por distorções de transmissão.

Segundo Rabiner [44], um problema de extremo interesse, é a caraterização destes sinais em termos de modelos. Em primeiro lugar, um modelo de sinal pode fornecer uma base para uma descrição teórica de um sistema de processamento de sinal, que pode ser usado para processar o sinal, assim como fornecer um output desejado. Por exemplo, se estivermos interessados em melhorar um sinal de voz corrompido por ruído e distorção de transmissão, podemos usar o modelo do sinal para desenhar um sistema que irá remover o ruído e desfazer a distorção na transmissão. Em segundo lugar, os modelos de sinal são importantes porque são potencialmente capazes de nos fazer aprender várias caraterísticas acerca da sua fonte, sem necessidade de ter a fonte disponível. Esta propriedade é, especialmente, importante quando o custo de obter sinais da fonte original é elevado. Finalmente, a razão primordial pela qual os modelos de sinal são importantes é o seu bom funcionamento na prática como, por exemplo, sistemas de previsão, reconhecimento e identificação. [44]

Os tipos de modelos de sinais podem ser divididos em modelos determinísticos e modelos estatísticos. Os primeiros geralmente exploram algumas propriedades conhecidas do sinal, por exemplo, se este for uma onda senoidal ou uma soma de exponenciais. Nestes casos, a especificação do modelo de sinal, é normalmente direta. Tudo o que é necessário é determinar (estimar) os valores dos parâmetros do modelo de sinal (por exemplo, amplitude ou frequência) [44]. Exemplos de modelos determinísticos incluem cálculo de horários, estruturas de preços e contabilidade [50]. O segundo tipo de modelo de sinal é o conjunto dos modelos estatísticos, em que se tenta caraterizar apenas as propriedades estatísticas do sinal. Exemplos desse tipo de modelos incluem processos Gaussianos, processos de Poisson, processo de Markov e processos ocultos de Markov ou modelos

81

ocultos de Markov (Hidden Markov Models – HMMs). Os HMMs têm como objetivo essencial a modelação de dados sequenciais [43]. No desenho dos HMMs, existem três problemas fundamentais: a avaliação da probabilidade (ou likelihood) de uma sequência de observações, dado um HMM específico; a determinação da melhor sequência dos estados do modelo; e o ajuste dos parâmetros do modelo de forma a se obter uma melhor representação do sinal observado [44].

Princípio de funcionamento

De forma a fornecer uma explicação do funcionamento dos HMMs, apresenta-se o conhecido exemplo da meteorologia [51], onde se pretende prever o clima com base num histórico de observações.

Assumindo um modelo simplificado de previsão do tempo, estão previstos apenas três tipos de clima: Soalheiro (S), Chuvoso (C) e Nublado (N), cada um com duração de um dia inteiro, não podendo mudar de chuvoso para soalheiro a meio do dia.

Pretende-se então recolher as probabilidades 𝑃(𝑞𝑛 | 𝑞𝑛−1, 𝑞𝑛−2, … , 𝑞1), sendo que 𝑞𝑛−1… 𝑞1 representa o histórico do clima observado nos dias anteriores e 𝑞𝑛 representa o clima de hoje.

Podemos obter as probabilidades dos tipos de tempo de amanhã e dos dias seguintes usando n dias de histórico. Por exemplo, se soubermos qual o tempo dos três dias anteriores (soalheiro, soalheiro, nublado) em ordem cronológica, a probabilidade de amanhã estar chuvoso é dada pela probabilidade condicionada 𝑃(𝑞4 = C | 𝑞3 = N, 𝑞2 = S, 𝑞1 = S). No entanto, existe um problema: quanto maior for

n, mais histórico necessitamos de recolher. Suponhamos que n = 5, então temos 5

amostras que originam um universo de 35 = 243 possíveis históricos diferentes.

Este problema é simplificado usando a chamada Suposição de Markov, que diz que numa sequência {𝑞1, 𝑞2, … , 𝑞𝑛} a probabilidade condicionada pode ser aproximada de acordo

com a Eq. 1.

𝑃(𝑞𝑛 | 𝑞𝑛−1, 𝑞𝑛−2, … , 𝑞1) ≈ 𝑃(𝑞𝑛 | 𝑞𝑛−1) Eq. 1

Esta aproximação é de primeira ordem, já que a probabilidade de uma observação temporal n depende apenas da observação temporal n – 1. Numa suposição de Markov de

82

segunda ordem, n depende de n – 1 e n – 2. Normalmente, quando se refere suposições de Markov está-se a referir a suposições de primeira ordem.

Pode-se então, usando a suposição de Markov, expressar a probabilidade de cada possível histórico através da Eq. 2:

𝑃(𝑞1, … , 𝑞𝑛) = ∏𝑖=1𝑛 𝑃(𝑞𝑖 | 𝑞𝑖−1) Eq. 2

No exemplo anterior, com esta simplificação apenas se consideram 32 = 9 possíveis históricos, para caraterizar todas as sequências. Esta suposição pode, ou não, ser válida dependendo da situação (neste caso do clima, provavelmente não será válida), mas usa-se para simplificar a situação.

Então, escolha-se arbitrariamente alguns números para 𝑃(𝑞𝑎𝑚𝑎𝑛ℎã | 𝑞ℎ𝑜𝑗𝑒), expressos na

Tabela 44.

Tabela 44 – Tabela de probabilidades do tempo de amanhã baseadas no de hoje. Amanhã S C N Hoje S 0.8 0.05 0.15 C 0.2 0.6 0.2 N 0.2 0.3 0.5

Os modelos que usam a suposição de Markov de primeira ordem, i.e. modelos de Markov de primeira ordem, podem ser representados por máquina de estados finitos, em que as transições são dadas por probabilidades. Para o exemplo da meteorologia, ter-se-ia uma máquina de estados com três estados: S, C e N (Figura 31); sendo que as transições são dadas pelas probabilidades da Tabela 44.

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

Supondo-se agora que o clima de hoje é soalheiro, qual a probabilidade de amanhã o clima estar soalheiro e no dia seguinte estar chuvoso.

Chuvoso (C) Soalheiro (S) Nublado (N) 0.2 0.8 0.2 0.5 0.2 0.05 0.15 0.3 0.6

83

Isto pode ser calculado com base nos dados da Tabela 44 ou Figura 31, da seguinte forma: 𝑃(𝑞2 = S, 𝑞3 = C | 𝑞1 = S) = 𝑃(𝑞3 = C | 𝑞2 = S, 𝑞1 = S) ∗ 𝑃(𝑞2 = S | 𝑞1 = S)

= 𝑃(𝑞3 = C |𝑞2 = S) ∗ 𝑃(𝑞2 = S | 𝑞1 = S) = (0.05) ∗ (0.8)

= 0.04

Estados ocultos

Até aqui, as observações (histórico do clima) identificam diretamente o estado do clima (i.e. os estados do modelo, neste caso S, C e N). Como o próprio nome indica, os HMM têm estado ocultos, i.e. não observáveis, o que é comparável à situação de alguém que está fechado num quarto por vários dias e lhe é perguntado qual o clima que está lá fora, tendo como única pista, a observação se a pessoa que entra no quarto transporta ou não um guarda-chuva consigo.

A variável o será usada para representar a observação: 𝑜 = V, se traz guarda-chuva, e 𝑜 = F, se não traz guarda-chuva. Considerem-se as probabilidades do estado do clima com base na observação se a pessoa que entra traz ou não guarda-chuva, expressas na Tabela 45.

Tabela 45 – Probabilidades de se observar um guarda-chuva baseadas no tempo. Guarda-chuva? (y)

Verdadeiro – V Falso – F

S 0.1 0.9

Clima N 0.3 0.7

(w) C 0.8 0.2

Pretende-se calcular qual é a probabilidade de no segundo dia estar chuvoso, dado que no primeiro dia estava soalheiro, e que se observa a presença do guarda-chuva no segundo dia, ou seja 𝑃(𝑞2 = C | 𝑞1 = S, 𝑜2 = V). Assume-se que a probabilidade inicial da pessoa transportar guarda-chuva em qualquer dia é 𝑃(𝑜 = V) = 0.5.

84

Assim, temos:

𝑃(𝑞2 = C | 𝑞1 = S, 𝑜2 = V) =𝑃(𝑞2 = C, 𝑞1 = S | 𝑜2 = V) 𝑃(𝑞1 = S | 𝑜2 = V) Sendo 𝑜2 e 𝑞1 independentes temos:

= 𝑃(𝑞2 = C, 𝑞1 = S | 𝑜2 = V) 𝑃(𝑞1 = S)

Aplicando a Regra de Bayes:

= 𝑃(𝑜2 = V | 𝑞1 = S, 𝑞2 = C) ∗ 𝑃(𝑞2 = C, 𝑞1 = S) 𝑃(𝑞1 = S) ∗ 𝑃(𝑜2 = V)

Usando a Suposição de Markov:

=𝑃(𝑜2 = V | 𝑞2 = C) ∗ 𝑃(𝑞2 = C, 𝑞1 = S) 𝑃(𝑞1 = S) ∗ 𝑃(𝑜2 = V)

Aplicando a regra interseção probabilidades:

= 𝑃(𝑜2 = V | 𝑞2 = C) ∗ 𝑃(𝑞2 = C | 𝑞1 = S) ∗ 𝑃(𝑞1 = S) 𝑃(𝑞1 = S) ∗ 𝑃(𝑜2 = V)

Cortando 𝑃(𝑞1 = 𝑆) no numerador e denominador:

= 𝑃(𝑜2 = V | 𝑞2 = C) ∗ 𝑃(𝑞2 = C | 𝑞1 = S) 𝑃(𝑜2 = V)

E substituindo por valores temos:

𝑃(𝑞2 = C | 𝑞1 = S, 𝑜2 = V) =

(0.8) ∗ (0.05)

85

Especificação de um HMM

Para especificar um HMM são necessários 5 elementos, dois parâmetros do modelo (𝑁 e 𝑀) e três matrizes de probabilidades de medida 𝐴, 𝐵 e 𝜋, nomeadamente, (1) Número N de estados ocultos, (2) Número M de observações distintas, (3) Matriz de distribuição de probabilidades de transição, (4) Matriz B de distribuição de probabilidade de observação, e (5) Matriz 𝜋 inicial de distribuição de probabilidade de estados [44]. Por uma questão de conveniência, usamos a notação compacta 𝜆 = (𝐴, 𝐵, 𝜋) para indicar o conjunto de parâmetros completo do modelo.

1. Número N de estado ocultos

Um HMM possui N estados ocultos que, em aplicações práticas, têm frequentemente significado físico associado. Os estados do modelo estão geralmente interligados de forma a que qualquer estado possa ser alcançado por outro – modelo ergódico. Contudo, isso não é obrigatório, pelo existem outros modelos como, por exemplo, o modelo esquerda-direita, em que isso não acontece – estes modelos são apresentados mais à frente. O conjunto dos estados é aqui designado por 𝐸 = {𝐸1, 𝐸2, … , 𝐸𝑁}, sendo 𝐸1, … , 𝐸𝑁 os estados individuais e 𝑞𝑡 é o estado no instante t.

2. Número M de observações distintas

M representa o número de observações distintas, isto é, o tamanho discreto do alfabeto. O conjunto de observações é aqui designado por 𝑊 = {𝑊1, 𝑊2, … , 𝑊𝑀}, sendo

𝑊1, … , 𝑊𝑀 as observações individuais e 𝑜𝑡 o valor da observação no instante t.

3. Matriz A de distribuição de probabilidade de transição

As probabilidades de transições são caracterizadas através da matriz 𝐴 = {𝑎𝑖𝑗} de distribuição de probabilidade de transição onde 𝑎𝑖𝑗 é a probabilidade de transição do

estado j para o estado i, ou seja:

𝑎𝑖𝑗 = 𝑃(𝑞𝑡+1 = 𝐸𝑗 | 𝑞𝑡 = 𝐸𝑖), 1 ≤ 𝑖, 𝑗 ≤ 𝑁 Nos casos em que não há transição entre dois estados o seu valor será zero.

86

4. Matriz B de distribuição de probabilidade de observação

As probabilidades de observação são caracterizadas pela matriz B de distribuição de probabilidade de observação no estado, 𝐵 = {𝑏𝑗(𝑘)}, onde j é o estado e k é a observação, ou seja:

𝑏𝑗(𝑘) = 𝑃(𝑊𝑘 em 𝑡 | 𝑞𝑡 = 𝐸𝑗) sendo que 1 ≤ 𝑗 ≤ 𝑁, 1 ≤ 𝑘 ≤ 𝑀 No exemplo do clima, a matriz B é dada na Tabela 45.

5. Matriz 𝝅 inicial de distribuição de probabilidade dos estados

A probabilidade do modelo estar no início num determinado estado é dada pela matriz 𝜋 = {𝜋𝑖} de distribuição de probabilidade inicial de estados, onde 𝜋𝑖 representa a probabilidade do modelo iniciar no estado i, ou seja:

87

Estrutura de um HMM

Existem várias estruturas diferentes que podem ser adotados para a criação de um HMM, como, por exemplo, ergódica, linear, esquerda-para-direita, Bakis e paralela, sendo estas descritas de seguida.

Ergódica

A estrutura típica de um HMM é a do modelo ergódico, onde cada estado pode ser alcançado desde qualquer outro numa transição simples [52]. A Figura 32 representa um modelo ergódico de três estados.

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

Linear

Nos modelos com estrutura linear [53], o processo inicia-se obrigatoriamente no primeiro estado e cada estado transita unicamente para o seguinte, isto é, o estado 1 transita unicamente para 2, o estado 2 para o 3 e assim consecutivamente. Na Figura 33 encontra-se representado um modelo linear de 4 estados.

b1 (o)

1

2

3

π1 a12 a23 a33 a22 a11

4

b4 (o) a44 a34 b3 (o) b2 (o)

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

1

2

a21

3

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

88

Esquerda-para-direita

Os modelos esquerda-para-direita (left-to-right) são semelhantes aos modelos lineares mas com mais transições. São frequentemente usados em reconhecimento de voz, já que estes conseguem apropriadamente modelar sinais cujas propriedades mudam sucessivamente [52]. Na Figura 34, encontra-se representado um modelo esquerda-para-direita de 4 estados. Neste tipo de HMM, o processo inicia-se obrigatoriamente no primeiro estado. Consecutivamente, o processo avança para os estados seguintes com a possibilidade de existirem saltos entre estados, isto é, o processo pode transitar, por exemplo, do estado 1 para o 3 ou para o 4 sem passar pelo 2.

b1 (o)

1

2

3

π1 a12 a23 b3 (o) a33 a22 a11 a13

4

b4 (o) a44 a34 a24 b2 (o) a14

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

Bakis

No modelo Bakis, o processo inicia-se obrigatoriamente no primeiro estado e cada estado transita unicamente para o seguinte ou para o consequente, isto é, o processo, por exemplo, pode transitar unicamente do estado 1 para o 2 ou para o 3. [53]

Na Figura 35, encontra-se representado um modelo com estrutura Bakis de 4 estados.

b1 (o)

1

2

3

π1 a12 a23 b3 (o) a33 a22 a11 a13

4

b4 (o) a44 a34 a24 b2 (o)

89

Paralela

Nos modelos com estrutura paralela também se inicia obrigatoriamente no primeiro estado e, como nos modelos com estrutura Bakis, cada estado transita unicamente para o seguinte ou para o consequente. Contudo, independentemente do percurso do processo, existe um estado de destino comum. [44]

Por exemplo, se possuirmos um modelo HMM com estrutura paralela de 6 estados, independentemente do percurso, o processo irá terminar no estado 6. Na Figura 36, encontra-se representado um modelo com estrutura paralela de 6 estados.

b1 (o)

1

a12

2

a24

4

b4 (o) a44 a22 a11 a13

6

b6 (o) a66 a46 a56 b2 (o)

3

a35

5

a33 a55 a34 a25 b3 (o) b5 (o) π1

90

Os três tipos de problemas que os HMM podem resolver

Documentos relacionados