• Nenhum resultado encontrado

Módulo de detecção de quedas em cadeiras de rodas

N/A
N/A
Protected

Academic year: 2021

Share "Módulo de detecção de quedas em cadeiras de rodas"

Copied!
56
0
0

Texto

(1)

DEPARTAMENTO ACAD ˆ

EMICO DE ELETR ˆ

ONICA

AUGUSTO GIACCHINI KLOTH

GABRIEL ZAMPRONI

VICTORIA BITENCOURT KUNG

M ´

ODULO DE DETECC

¸ ˜

AO DE QUEDAS EM CADEIRAS DE RODAS

TRABALHO DE CONCLUS ˜

AO DE CURSO

CURITIBA

(2)

GABRIEL ZAMPRONI

VICTORIA BITENCOURT KUNG

M ´

ODULO DE DETECC

¸ ˜

AO DE QUEDAS EM CADEIRAS DE RODAS

Trabalho de Conclus˜ao de Curso apresentado como requisito parcial para obtenc¸˜ao do grau de Engenheiro.

Orientador: Prof. Dr. Andr´e Eugˆenio Lazzaretti

CURITIBA 2018

(3)

AUGUSTO GIACCHINI KLOTH GABRIEL ZAMPRONI VICTORIA BITENCOURT KUNG

MÓDULO DE DETECÇÃO DE QUEDAS EM CADEIRAS DE RODAS

Este Trabalho de Conclusão de Curso de Graduação foi apresentado como requisito parcial para obtenção do título de Engenheiro Eletrônico, do curso de Engenharia Eletrônica do Departamento Acadêmico de Eletrônica (DAELN) outorgado pela Universidade Tecnológica Federal do Paraná (UTFPR). Os alunos foram arguidos pela Banca Examinadora composta pelos professores abaixo assinados. Após deliberação, a Banca Examinadora considerou o trabalho aprovado.

Curitiba, 16 de agosto de 2018.

____________________________________ Prof. Dr. Robinson Vida Noronha

Coordenador de Curso Engenharia Eletrônica

____________________________________ Profª. Drª. Carmen Caroline Rasera

Responsável pelos Trabalhos de Conclusão de Curso de Engenharia Eletrônica do DAELN

BANCA EXAMINADORA

______________________________________ Prof. Dr. André Eugênio Lazzaretti

Universidade Tecnológica Federal do Paraná Orientador

_____________________________________ Profª. Drª. Carmen Caroline Rasera

Universidade Tecnológica Federal do Paraná

_____________________________________ Prof. Dr. Daniel Fernando Pigatto

Universidade Tecnológica Federal do Paraná

(4)

KLOTH, A.G.; ZAMPRONI, G.; KUNG, V.B.. M ´ODULO DE DETECC¸ ˜AO DE QUEDAS EM CADEIRAS DE RODAS. 55 f. Trabalho de Conclus˜ao de Curso – Departamento Acadˆemico de Eletrˆonica, Universidade Tecnol´ogica Federal do Paran´a. Curitiba, 2018.

A mobilidade sempre foi um desafio para pessoas que dependem de cadeiras de rodas para se locomover. Uma simples queda do cadeirante pode gerar danos f´ısicos irrepar´aveis caso n˜ao haja um socorro r´apido. Visando propor uma soluc¸˜ao capaz de facilitar a seguranc¸a na mobilidade de usu´arios de cadeiras de rodas, neste trabalho foi desenvolvido um prot´otipo capaz de detectar quedas em uma cadeira de rodas e alertar o acontecimento via mensagem de texto para um telefone celular. A detecc¸˜ao de quedas ser´a feita por meio de um sistema embarcado que se comunica com sensores de acelerˆometro e girosc´opio, os quais ter˜ao seus dados coletados em tempo real e processados por algoritmos. As informac¸˜oes provenientes do sensor s˜ao tratadas por meio de um limiar de valores (threshold) a ser estabelecido e ainda por meio do algoritmo de aprendizado de m´aquina (machine learning) k-Nearest Neighbors. Previamente a esta implementac¸˜ao em tempo real, foi formada uma base de dados de queda e n˜ao-queda. Os dados desta base foram utilizados para formar o conjunto de treinamento do kNN e em seguida foi aplicado o m´etodo de validac¸˜ao cruzada k-folds. A bateria de testes finais do sistema foi efetuada em piso plano e em piso de paralelep´ıpedo. Os valores de acuidade obtidos foram de 96,9% para piso plano e de 93,0% para piso de paralelep´ıpedo.

(5)

KLOTH, A.G.; ZAMPRONI, G.; KUNG, V.B.. WHEELCHAIR FALL DETECTION MODULE. 55 f. Trabalho de Conclus˜ao de Curso – Departamento Acadˆemico de Eletrˆonica, Universidade Tecnol´ogica Federal do Paran´a. Curitiba, 2018.

Mobility has always been a challenge for people who depend on wheelchairs to get around. A simple fall of the wheelchair can cause irreparable physical damage if there is no quick rescue. Aiming to propose a solution capable of facilitating mobility safety for wheelchair users, this work presents a prototype capable of detecting falls in a wheelchair and alert the event via text message to a cell phone. The detection of falls is done by an embedded system connected to accelerometer and gyro sensors, which will have their data real-time collected and processed by algorithms. These algorithms are a threshold of values, which must be established, and also by a machine learning algorithm, which implements k-Nearest Neighbors to perform the task of detecting falls. Prior to this real-time implementation, a fall and non-fall database was formed. This database was used to build kNN training set and then k-folds method was applied to this database. System’s final tests were performed on flat floor and irregular floor. System’s accuracy values are 96.9% for flat floor and 93.0% for irregular floor.

(6)

FIGURA 1 Assento detector de press˜ao e sensor de acelerac¸˜ao . . . 17 –

FIGURA 2 Exemplo de algoritmo de aprendizado supervisionado . . . 19 –

FIGURA 3 Ilustrac¸˜ao do funcionamento do kNN para k = 3 . . . 21 –

FIGURA 4 Setup montado para a aquisic¸˜ao de dados . . . 26 –

FIGURA 5 Diagrama de interac¸˜ao para o setup inicial . . . 27 –

FIGURA 6 Sistema utilizado para a aquisic¸˜ao de dados . . . 29 –

FIGURA 7 Fluxograma de funcionamento do c´odigo para a an´alise por threshold . . . . 31 –

FIGURA 8 Fluxograma de funcionamento do c´odigo que implementa o kNN . . . 33 –

FIGURA 9 Ilustrac¸˜ao do funcionamento do k-folds . . . 34 –

FIGURA 10 Fluxograma do programa a ser executado no Raspberry . . . 36 –

FIGURA 11 Situac¸˜ao-teste em piso plano . . . 38 –

FIGURA 12 Situac¸˜ao-teste em piso de paralelep´ıpedos . . . 39 –

FIGURA 13 Arquivo CSV com os valores lidos do sensor . . . 41 –

FIGURA 14 Dados do acelerˆometro para um ensaio de n˜ao-queda . . . 42 –

FIGURA 15 Dados do acelerˆometro para um ensaio de queda . . . 43 –

FIGURA 16 Resultados do m´etodo de validac¸˜ao cruzada em func¸˜ao de k . . . 44 –

(7)

TABELA 1 Quantidade de ensaios de queda na coleta de dados . . . 28 –

TABELA 2 Quantidade de ensaios de atividade di´aria na coleta de dados . . . 28 –

TABELA 3 Quantidade de ensaios de queda nos testes finais . . . 37 –

TABELA 4 Quantidade de ensaios de atividade di´aria nos testes finais . . . 37 –

TABELA 5 Resultados do k-folds para a base de dados . . . 44 –

TABELA 6 Resultados dos ensaios do sistema de detecc¸˜ao de queda . . . 47 –

TABELA 7 Resultados dos ensaios de descida de rampa . . . 48 –

(8)

ADC Analog-to-Digital Coverter

API Application Programming Interface CSI Camera Serial Interface

CSV Comma-Separated Values DSI Display Serial Interface FIFO First In First Out

FIR Finite Impulse Response GPIO General Purpose Input/Output GPS Global Positioning System:

GSM Global System for Mobile Communication HDMI High Definition Multimedia Interface

IBGE Instituto Brasileiro de Geografia e Estat´ıstica IDE Integrated Development Environment

IMU Inertial Measurement Unit I2C Inter-Integrated Circuit IoT Internet of Things kNN k-Nearest Neighbors

LDA Linear Discriminant Analysis MPU Motion Processing Unit

PC Personal Computer

RAM Random Access Memory

SIM Subscriber Identity Module SMS Short Message Service SPI Serial Peripheral Interface SVM Support Vector Machine USB Universal Serial Bus

(9)

g Acelerac¸˜ao da gravidade k N´umero de grupos no k-folds

k N´umero de vizinhos mais pr´oximos no K-Nearest Neighbors

x Eixo do acelerˆometro com mesmo sentido e direc¸˜ao do movimento da cadeira para frente

y Eixo do acelerˆometro que corresponde a linha transversal `a cadeira que aponta para a direita

(10)

1 INTRODUC¸ ˜AO . . . 10 1.1 MOTIVAC¸ ˜AO . . . 10 1.2 DESCRIC¸ ˜AO DO PROBLEMA . . . 12 1.3 OBJETIVOS . . . 13 1.3.1 Objetivo geral . . . 13 1.3.2 Objetivos espec´ıficos . . . 13 2 FUNDAMENTAC¸ ˜AO TE ´ORICA . . . 14 2.1 DESENVOLVIMENTOS RELACIONADOS . . . 14 2.1.1 Detecc¸˜ao de queda . . . 14

2.1.2 Quedas em cadeiras de rodas . . . 16

2.2 MACHINE LEARNING . . . 18 2.2.1 K-Nearest Neighbors . . . 20 2.3 SENSORES . . . 20 2.4 PLATAFORMAS DE DESENVOLVIMENTO . . . 23 2.4.1 Arduino . . . 23 2.4.2 Raspberry Pi . . . 23 3 METODOLOGIA . . . 25

3.1 SISTEMA PARA A AQUISIC¸ ˜AO DE DADOS DO SENSOR . . . 25

3.2 COLETA DE DADOS . . . 27

3.3 APLICAC¸ ˜AO DOS M ´ETODOS DE DETECC¸ ˜AO AOS DADOS . . . 28

3.3.1 M´etodo do threshold . . . 30

3.3.2 M´etodo kNN . . . 31

3.4 DESENVOLVIMENTO NO RASPBERRY PI . . . 34

3.5 TESTES FINAIS . . . 35

4 RESULTADOS . . . 40

4.1 DETECC¸ ˜AO DE QUEDA PELO M ´ETODO THRESHOLD . . . 40

4.2 DETECC¸ ˜AO DE QUEDA PELO M ´ETODO KNN . . . 43

4.3 DESENVOLVIMENTO DAS APLICAC¸ ˜OES NO RASPBERRY . . . 45

4.4 MONTAGEM FINAL . . . 46

4.5 TESTES FINAIS . . . 47

5 CONCLUS ˜AO . . . 49

5.1 TRABALHOS FUTUROS . . . 50

(11)

1 INTRODUC¸ ˜AO

1.1 MOTIVAC¸ ˜AO

Uma das diversas transformac¸˜oes ocorridas nas ´ultimas d´ecadas na sociedade ´e o aumento do protagonismo pol´ıtico das pessoas com deficiˆencia. Se no in´ıcio do s´eculo elas eram de certa forma isoladas da sociedade, a partir da d´ecada de 1980 foi constru´ıda uma pauta que reivindicava os direitos das pessoas com deficiˆencia, sejam estes sociais, civis, pol´ıticos ou econˆomicos. No Brasil, tais direitos s˜ao garantidos por uma legislac¸˜ao considerada abrangente, tanto na Constituic¸˜ao quanto em leis espec´ıficas e inseridos em outras leis e programas p´ublicos (MAIOR, 2015).

Dentro desta legislac¸˜ao, destacam-se o Estatuto da Pessoa com Deficiˆencia (Lei 13.146/2015) que tem base o Decreto 6949/2009. O texto de ambos os documentos tem por base o protocolo da Convenc¸˜ao Internacional sobre os Direitos das Pessoas com Deficiˆencia (BRASIL, 2009, 2015). O Decreto, em seu artigo sobre acessibilidade, se inicia propondo que

“A fim de possibilitar `as pessoas com deficiˆencia viver de forma independente e participar plenamente de todos os aspectos da vida, os Estados Partes tomar˜ao as medidas apropriadas para assegurar `as pessoas com deficiˆencia o acesso, em igualdade de oportunidades com as demais pessoas, ao meio f´ısico, ao transporte, `a informac¸˜ao e comunicac¸˜ao, inclusive aos sistemas e tecnologias da informac¸˜ao e comunicac¸˜ao, bem como a outros servic¸os e instalac¸˜oes abertos ao p´ublico ou de uso p´ublico, tanto na zona urbana como na rural.” (BRASIL, 2009)

A mobilidade pessoal ´e mencionada no Artigo 20 do mesmo Decreto 6949, que confere ao Estado a responsabilidade de assegur´a-la `a pessoa com deficiˆencia. O Estado deve facilitar a mobilidade com o m´aximo de independˆencia poss´ıvel, no momento e na forma que a pessoa com deficiˆencia preferir (BRASIL, 2009). Em seguida s˜ao citadas as tecnologias assistivas, e como o desenvolvimento destas deve ser incentivado e ampliado para todos os aspectos relativos `a mobilidade.

A respeito das tecnologias assistivas, ou tamb´em tecnologias de apoio, estas podem ser definidas de v´arias maneiras, mas, em linhas gerais, s˜ao os produtos ou servic¸os que visam

(12)

melhorar as capacidades funcionais de pessoa com deficiˆencia, aumentando sua independˆencia (GALV ˜AO FILHO, 2009). As principais tecnologias assistivas que visam melhorar a mobilidade de pessoas com deficiˆencia f´ısica s˜ao citadas por Sartoretto e Bersch (2017) como sendo as ´orteses, pr´oteses, andadores, bases m´oveis, al´em de ve´ıculos como scooters e as cadeiras de rodas, sejam manuais ou motorizadas.

Neste ponto, ´e importante ressaltar que uma tecnologia assistiva n˜ao precisa ser necessariamente um novo produto ou servic¸o. Por exemplo, o simples aumento do tempo de travessia de um sem´aforo de pedestres j´a ´e uma tecnologia assistiva para pessoas com mobilidade reduzida.

O exemplo acima citado se enquadra no que se denomina Universal Design, que, de acordo com o Centre for Excellence in Universal Design (2018), consiste em projetar um produto, ambiente ou sistema de forma tal que este possa ser utilizado no seu m´aximo potencial, da maneira mais natural e independente, no maior n´umero de situac¸˜oes e sem necessidade de adaptac¸˜oes por qualquer pessoa, independentemente da sua idade ou tamanho, das suas habilidades ou deficiˆencias f´ısicas, sensoriais ou intelectuais.

No Brasil, de acordo com dados da Pesquisa Nacional de Sa´ude, feita em 2013 pelo IBGE, 6,2% da populac¸˜ao tem algum tipo de deficiˆencia. A pesquisa dividiu as deficiˆencias em quatro tipos: auditiva, visual, f´ısica e intelectual. A deficiˆencia visual ´e a mais comum, acomete 3,6% da populac¸˜ao brasileira, seguida pela f´ısica (1,3%), pela auditiva (1,1%) e por fim pela intelectual (0,8%) (Empresa Brasil de Comunicac¸˜ao, 2015).

A pesquisa aponta ainda que quase a metade (46,8%) das pessoas com deficiˆencia f´ısica tem um uma limitac¸˜ao intensa ou muito intensa em func¸˜ao da deficiˆencia. Usando as estimativas atuais de populac¸˜ao, mais de 1,27 milh˜ao de brasileiros tˆem sua vida limitada de forma intensa pela deficiˆencia f´ısica (Instituto Brasileiro de Geografia e Estat´ıstica, 2018). Faltam estat´ısticas sobre o n´umero de usu´arios de cadeiras de rodas no Brasil, entretanto Smith et al. (2016) apresenta o dado de que no Canad´a em torno de 0,7% da populac¸˜ao acima de 15 anos utiliza cadeira de rodas manual. Um dado dispon´ıvel a este respeito no Brasil ´e que s˜ao produzidas e comercializadas cerca de 400 mil cadeiras de rodas por ano (Revista Reac¸˜ao, 2018).

Apesar do n´umero de usu´arios de cadeira de rodas n˜ao ser pequeno, o Brasil n˜ao trata bem os seus cidad˜aos que possuem esta necessidade. O IBGE analisou as ruas em torno das residˆencias em ´areas urbanas e concluiu que 4,7% dos domic´ılios possuem em seu entorno vias com rampa para cadeirantes. Nas regi˜oes Norte e Nordeste, este n´umero fica ainda menor: 1,6% (Portal Terra, 2012).

(13)

Outros ambientes tamb´em podem n˜ao apresentar o n´ıvel de acessibilidade suficiente, tais como residˆencias, edif´ıcios, centros de compras, entre outros. Nestes ambientes, e at´e mesmo naqueles que respeitam as normas de acessibilidade, ´e poss´ıvel que o usu´ario da cadeira de rodas sofra uma queda. Nesta situac¸˜ao, a dificuldade de se locomover complica o pedido de socorro, especialmente se a pessoa estiver sozinha no ambiente.

Tendo em vista o contexto j´a exposto, um sistema que enviasse uma mensagem de texto a uma pessoa de confianc¸a quando fosse detectada uma queda da cadeira de rodas – e por consequente, da pessoa nela sentada – seria um dispositivo que facilitaria a vida e melhoraria a mobilidade dos usu´arios de cadeira de rodas.

1.2 DESCRIC¸ ˜AO DO PROBLEMA

O projeto aqui tratado visa desenvolver um m´odulo para a detecc¸˜ao de quedas em cadeiras de rodas com o envio de uma mensagem de texto para uma pessoa de confianc¸a. Esta soluc¸˜ao deve ser de baixo custo, de simples utilizac¸˜ao e de f´acil adaptac¸˜ao para qualquer cadeira de rodas, de forma a maximizar o universo de usu´arios do dispositivo ora desenvolvido. Evidentemente que em modelos de cadeira de rodas motorizados, mais sofisticados e que j´a contam com sistemas eletrˆonicos embarcados, as funcionalidades do sistema aqui proposto poderiam ser integradas ao que j´a existe para controle do motor da cadeira, dependendo da compatibilidade entre os sistemas.

Do ponto de vista funcional, o sistema a ser desenvolvido necessitar´a de um sensor, cujos dados servir˜ao de base para que um algoritmo de detecc¸˜ao rodando em um microcontrolador detecte a queda. Uma vez detectada a queda, o pr´oprio microcontrolador poder´a ter acoplado um m´odulo para enviar a mensagem de texto aos telefones celulares cadastrados. Outra possibilidade seria que o sistema se comunicasse com o smartphone do usu´ario da cadeira de rodas por meio da tecnologia Bluetooth. Neste caso, seria necess´ario tamb´em o desenvolvimento de uma aplicac¸˜ao para o smartphone.

Para o algoritmo de detecc¸˜ao, ser˜ao testados dois m´etodos: a aplicac¸˜ao de um limiar aos dados adquiridos, tamb´em conhecido pelo termo em inglˆes threshold, e a utilizac¸˜ao de algoritmos de aprendizado de m´aquina, mais conhecido como machine learning, que s˜ao uma t´ecnica avanc¸ada de reconhecimento de padr˜oes. A avaliac¸˜ao do desempenho dos m´etodos neste sistema embarcado que ser´a desenvolvido tamb´em ´e parte do projeto.

Os sensores e demais componentes utilizados no projeto dever˜ao, al´em de obedecerem aos requisitos para este projeto, ser de f´acil aquisic¸˜ao e baixo custo, visando facilitar a produc¸˜ao,

(14)

a comercializac¸˜ao e a manutenc¸˜ao de um produto que venha a se originar deste projeto.

1.3 OBJETIVOS

Os objetivos deste projeto podem ser divididos em gerais e espec´ıficos e s˜ao enumerados a seguir.

1.3.1 OBJETIVO GERAL

Desenvolver o m´odulo de detecc¸˜ao de quedas em cadeiras de rodas com o envio de uma mensagem de texto para uma pessoa de confianc¸a e, atrav´es de sua utilizac¸˜ao, elevar a qualidade de vida e a sensac¸˜ao de seguranc¸a dos usu´arios de cadeira de rodas ao se locomover.

1.3.2 OBJETIVOS ESPEC´IFICOS

• Compreender o contexto no qual se enquadra o projeto e estudar projetos semelhantes;

• Escolher um sensor e uma plataforma que atendam aos requisitos do projeto;

• Formar uma base de dados para aplicar os m´etodos de detecc¸˜ao;

• Avaliar a efic´acia dos m´etodos de threshold e machine learning para a detecc¸˜ao das quedas;

• Definir a melhor soluc¸˜ao para a detecc¸˜ao de quedas (um dos m´etodos ou ambos combinados);

• Analisar, do ponto de vista do hardware empregado, eventuais limitac¸˜oes para a implementac¸˜ao em tempo real de algum dos m´etodos;

• Estudar a documentac¸˜ao dos componentes envolvidos bem como bibliotecas que possam auxiliar na elaborac¸˜ao do projeto;

• Desenvolver o programa que realizar´a a comunicac¸˜ao com o sensor, a detecc¸˜ao de queda e o envio da mensagem;

(15)

2 FUNDAMENTAC¸ ˜AO TE ´ORICA

2.1 DESENVOLVIMENTOS RELACIONADOS

2.1.1 DETECC¸ ˜AO DE QUEDA

A detecc¸˜ao de quedas ´e uma necessidade recorrente quando do desenvolvimento de dispositivos que atuem como tecnologias assistivas. Em Belomo (2015), Chien-Liang et al. (2010), Quadros (2017) e Tianjiao et al. (2016), o objeto de desenvolvimento ´e um sistema de detecc¸˜ao de quedas para pessoas idosas, que s˜ao mais sujeitas a quedas que adultos e crianc¸as, seja andando em casa ou na rua.

Nestes trabalhos s˜ao propostos diversos m´etodos e dispositivos para detecc¸˜ao das quedas, Belomo (2015) e Tianjiao et al. (2016) prop˜oem utilizar um smartphone para este fim. Chien-Liang et al. (2010) utiliza as imagens de cˆameras de seguranc¸a para identificar quedas e Quadros (2017) prop˜oe um dispositivo para ser utilizado no pulso.

Nesta sec¸˜ao, ser˜ao analisados os algoritmos empregados e os resultados obtidos em tais desenvolvimentos. Os conceitos de sensibilidade, especificidade e acuidade s˜ao utilizados por estes autores e ser˜ao empregados tamb´em neste trabalho. A sensibilidade ´e uma medida da habilidade do sistema de detectar todas as quedas que de fato ocorreram e, a especificidade, uma medida da habilidade de detectar somente as quedas reais, ou seja, de n˜ao haver falsos-positivos. Estes valores s˜ao expressos normalmente em percentual e a acuidade ´e calculada obtendo o valor m´edio entre sensibilidade e especificidade.

No trabalho de Belomo (2015), s˜ao utilizados os dados de acelerˆometro do smartphone. A detecc¸˜ao a partir destes dados ´e complexa, pois, al´em do celular ter de estar obrigatoriamente no bolso da calc¸a do usu´ario, h´a diversas atividades do dia-a-dia que geram grande acelerac¸˜ao sobre o smartphone, tais como subir escadas, correr e pular. Por esta raz˜ao, o algoritmo proposto calcula e analisa diversos parˆametros a partir das amostras do acelerˆometro, e dependendo destes ´e feita a classificac¸˜ao como queda ou atividade di´aria.

(16)

um desempenho melhor do que os outros em diversas situac¸˜oes, mas ainda assim ocorrem falsos-positivos e algumas quedas n˜ao s˜ao detectadas em algumas situac¸˜oes. Vale ressaltar que foi prevista uma funcionalidade que espera alguns segundos antes de enviar a mensagem. Neste per´ıodo fica dispon´ıvel um bot˜ao, para que o usu´ario comunique que ocorreu um falso-positivo e, sendo assim, n˜ao gere a mensagem. A mensagem a ser enviada conter´a ainda a localizac¸˜ao na qual a pessoa se encontra.

A soluc¸˜ao proposta por Tianjiao et al. (2016) utiliza o mesmo tipo de hardware, um smartphonecom acelerˆometros nos trˆes eixos. A an´alise se baseia no m´odulo da acelerac¸˜ao medida, se esta estiver acima de um threshold por um determinado per´ıodo, ´e verificada a velocidade do usu´ario. Se estiver baixa, ´e uma prov´avel queda. Por fim, ´e verificada a acelerac¸˜ao vertical, se estiver dentro de um crit´erio ´e constatada a queda.

Como cada um destes autores utilizou bases de dados diferentes, n˜ao ´e poss´ıvel comparar os m´etodos, entretanto os valores de especificidade e sensibilidade estiveram sempre acima de 80%, com excec¸˜ao da atividade de entrar no carro de Belomo (2015), onde foi obtido 79%.

Quadros (2017) e Chien-Liang et al. (2010) se destacam em relac¸˜ao aos trabalhos anteriormente citados por utilizarem o kNN como forma de classificac¸˜ao dos dados de entrada. O funcionamento do m´etodo ser´a detalhado em uma sec¸˜ao espec´ıfica.

No caso de Chien-Liang et al. (2010), o kNN ´e utilizado para detectar a silhueta da pessoa na imagem. Nesta detecc¸˜ao j´a ´e feita a classificac¸˜ao da posic¸˜ao da pessoa dentre os estados em p´e, posic¸˜ao tempor´aria e deitada. Os autores consideraram o desempenho desta detecc¸˜ao bom, mesmo em situac¸˜oes que alteram a silhueta da pessoa, como abrir os brac¸os.

Chien-Liang et al. (2010) utiliza, entretanto, um threshold para detectar se a pessoa est´a deitada por opc¸˜ao ou se houve um evento de queda. Se a mudanc¸a de em p´e para deitado for muito r´apida, ent˜ao a pessoa caiu e n˜ao deitou intencionalmente. Esse threshold detectou corretamente 82% das quedas e 84% das situac¸˜oes em que a pessoa deitou propositalmente. Para obter o valor de threshold, foi medido em 30 amostras o tempo que uma pessoa leva para se deitar.

Quadros (2017) se destaca por utilizar um sistema com uma IMU e comparar diversos m´etodos de threshold e machine learning. A primeira an´alise realizada foi utilizando threshold, para haver uma queda ´e necess´ario detectar uma elevada velocidade vertical e em seguida o impacto com o ch˜ao. A velocidade ´e obtida pela integrac¸˜ao da acelerac¸˜ao. Foram utilizadas diversas combinac¸˜oes de parˆametros, a que obteve os melhores resultados empregou apenas os

(17)

valores em m´odulo de acelerac¸˜ao e velocidade, obtendo 98,8% de sensibilidade e 82,5% de especificidade. O crit´erio utilizado para definir o melhor m´etodo foi a acuidade.

Com o intuito de melhorar a acuidade do sistema, Quadros (2017) adiciona ao thresholdanteriormente utilizado o M´etodo de Madgwick. Este m´etodo supostamente melhora a decomposic¸˜ao do movimento nos eixos cartesianos, ao utilizar os dados de acelerac¸˜ao, girosc´opio e magnetˆometro. De fato, houve uma elevac¸˜ao da acuidade para 91,1%.

Insatisfeito com o threshold aliado ao M´etodo de Madgwick, Quadros (2017) aplicou `a sua base de dados t´ecnicas de machine learning visando melhorar a detecc¸˜ao de quedas de idosos. Foram utilizados cinco m´etodos: kNN, LDA, SVM, Logistic Regression e Decision Trees. O desempenho destes m´etodos foi avaliado seguindo os mesmos parˆametros de especificidade e sensibilidade usados no threshold e considerando as hip´oteses de se utilizar os valores apenas da acelerac¸˜ao, da acelerac¸˜ao e do girosc´opio ou os trˆes dispon´ıveis (acelerac¸˜ao, girosc´opio e magnetˆometro).

Na primeira an´alise, utilizando apenas os dados do acelerˆometro sem decompor as componentes, para quatro dos cinco m´etodos os melhores resultados foram obtidos quando os parˆametros analisados foram m´edia e valor m´aximo de acelerac¸˜ao, velocidade e deslocamento. Para o SVM, entretanto, mostrou-se mais vantajoso desprezar os valores referentes `a velocidade. Os valores de acuidade variaram de 92,7% (Decision Trees) a 96,9% (Logistic Regression).

Em seguida, analisou-se apenas a componente vertical decomposta (proveniente dos dados do acelerˆometro e do girosc´opio), nesta etapa todos os m´etodos apresentaram desempenho inferior em relac¸˜ao `a situac¸˜ao anterior. O autor justificou este fato afirmando que a decomposic¸˜ao da componente vertical remove caracter´ısticas dos dados originais que s˜ao importantes para os m´etodos de machine learning (QUADROS, 2017).

As ´ultimas baterias de testes utilizaram todos os dados dispon´ıveis: de acelerac¸˜ao, do girosc´opio e do magnetˆometro. Com estes dados, foi feita a an´alise pelo M´etodo de Madgwick e tamb´em uma an´alise dos valores de seno e cosseno da orientac¸˜ao espacial do dispositivo. Em ambos os casos, o m´etodo cujo desempenho foi considerado melhor ´e o kNN, com 96,4% e 99,0% de acuidade, respectivamente, sendo que, na segunda an´alise, a sensibilidade encontrada foi 100%, ou seja, todas as quedas foram detectadas (QUADROS, 2017).

2.1.2 QUEDAS EM CADEIRAS DE RODAS

O presente desenvolvimento n˜ao ´e in´edito no mundo. Tendo em vista a j´a discutida importˆancia deste tema, outros pesquisadores j´a desenvolveram sistemas semelhantes, os quais

(18)

ser˜ao discutidos nesta sec¸˜ao. Infelizmente, nenhum destes autores traz dados de desempenho de seus sistemas. Alguns desenvolvimentos s˜ao mais simples, como o proposto neste trabalho pretende ser, outros prop˜oem uma soluc¸˜ao mais completa.

O sistema proposto por Seung-Hun et al. (2016) consiste em um sensor de acelerac¸˜ao para determinar o ˆangulo que a cadeira forma com o ch˜ao e com a perpendicular. Os valores provenientes do sensor passam por um Filtro de Kalman, devido ao ru´ıdo existente na medic¸˜ao. O filtro torna a resposta do sistema mais lenta, por´em muito mais precisa. O m´etodo utilizado para a detecc¸˜ao ´e um threshold. Entretanto, neste trabalho o intuito ´e prevenir a queda (alertando o risco iminente) e n˜ao detect´a-la para depois agir.

Uma soluc¸˜ao mais complexa ´e apresentada por Yang et al. (2014). Al´em desta ser integrada atrav´es de IoT, a Internet das Coisas, esta soluc¸˜ao ´e um sistema completo de monitoramento de sa´ude, com medic¸˜ao de sinais vitais e das condic¸˜oes ambientais, como press˜ao, temperatura e poluic¸˜ao.

A parte do sistema que concerne `a cadeira de rodas ´e composta de dois sensores. Um deles ´e o assento detector de press˜ao, que detecta se o corpo caiu da cadeira ou n˜ao. Este assento foi desenvolvido pela Wuhan University of Technology e j´a possui um algoritmo testado. O sensor de acelerac¸˜ao utilizado ´e do fabricante Freescale, modelo MMA7260. O assento montado na cadeira e o sensor s˜ao mostrados na Figura 1. Infelizmente n˜ao s˜ao dados detalhes com relac¸˜ao a como foi implementada a detecc¸˜ao de quedas (YANG et al., 2014).

Figura 1: Assento detector de press˜ao montado na cadeira e sensor de acelerac¸˜ao Freescale MMA7260.

Fonte: (YANG et al., 2014).

(19)

projeto, cuja aplicabilidade seria principalmente o ambiente hospitalar, s˜ao utilizados sensores para pacientes que se encontram sentados (em cadeiras comuns ou de rodas), mas que apresentam a intenc¸˜ao de se levantar, o que poderia ocasionar uma queda em func¸˜ao de estarem debilitados. Os sensores de press˜ao e de distˆancia (capacitivos) instalados no assento e nos apoios de brac¸o e para as costas da cadeira informam suas medic¸˜oes para um sistema de reconhecimento de gestos, que detecta a possibilidade do paciente de estar se levantando.

O dispositivo de Knight et al. (2008) se conecta atrav´es da rede de Internet sem fio do hospital com um computador central a partir do qual seriam geradas as notificac¸˜oes para os enfermeiros. Al´em disso, inclui um sintetizador de voz para transmitir mensagens ao pacientes (por exemplo, que um enfermeiro est´a chegando ou que ele n˜ao deve tentar se levantar sozinho). Sabe-se apenas que a t´ecnica utilizada para o reconhecimento de gestos ´e uma an´alise probabil´ıstica.

Shyla e Megha (2017) prop˜oem um sistema que poderia ser adaptado a qualquer cadeira de rodas, manual ou motorizada. Este sistema incluiria detecc¸˜ao de obst´aculos e um localizador, al´em de v´ıdeo ao vivo das cˆameras instaladas na cadeira se houver um telefone celular conectado. Um sistema semelhante a uma detecc¸˜ao de quedas tamb´em existe, ´e denominado de monitoramento de emergˆencia e aplica um threshold no valor lido do acelerˆometro.

O hardware deste projeto consiste em sensores ultrassˆonicos para a detecc¸˜ao de obst´aculos, um m´odulo GSM para o envio de mensagens, motores para movimentar a cadeira, um display, um m´odulo de GPS para localizac¸˜ao, um acelerˆometro ADXL335 e o microcontrolador NXP LPC21488. Para as funcionalidades da cˆamera, ´e necess´ario um celular com Android e um computador para reproduzir os v´ıdeos gravados (SHYLA; MEGHA, 2017).

2.2 MACHINE LEARNING

O reconhecimento de padr˜oes est´a presente desde o in´ıcio do desenvolvimento cient´ıfico e tecnol´ogico. Um exemplo disso foram as observac¸˜oes astronˆomicas e seus padr˜oes por Tycho Brae no S´eculo XVI, que permitiram mais tarde a elaborac¸˜ao das leis de movimentac¸˜oes planet´arias por Johannes Kepler. Atualmente o reconhecimento de padr˜oes est´a ligado ao uso de algoritmos capazes de reconhecer caracter´ısticas recorrentes em um grupo de dados e usar tais caracter´ısticas reconhecidas para classificar essas informac¸˜oes em categorias (BISHOP, 2006).

(20)

ser obtidos utilizando o machine learning. Esta ferramenta ´e, na verdade, um conjunto de t´ecnicas matem´aticas, aplicadas atrav´es de recursos computacionais, que permitem a extrac¸˜ao de informac¸˜oes a partir de uma base de dados, bem como o reconhecimento de padr˜oes e a realizac¸˜ao de inferˆencias sobre o que foi descoberto (CHIO; FREEMAN, 2018).

Bishop (2006) evidencia ainda que, em machine learning ´e usual que um vasto conjunto de amostras com suas caracter´ısticas j´a reconhecidas e normalmente rotuladas manualmente seja chamado de conjunto de treinamento. Por sua vez, outro conjunto de dados cujas caracter´ısticas n˜ao foram ainda enquadradas em uma classificac¸˜ao ´e chamado de conjunto de teste.

O machine learning pode ser dividido em duas formas de operac¸˜ao: o aprendizado supervisionado e n˜ao-supervisionado. O objetivo do aprendizado supervisionado ´e realizar predic¸˜oes corretas baseadas em evidˆencias, utilizando um conjunto de treinamento com informac¸˜oes de estrutura, r´otulos e resultados j´a conhecidos e com base nesses dados gerar previs˜oes a cada nova entrada do conjunto de teste (Mathworks Inc., 2016). Na Figura 2 ´e ilustrado um algoritmo que emprega o aprendizado supervisionado, onde tamb´em ´e poss´ıvel notar a existˆencia de labels no conjunto de treinamento.

Figura 2: Exemplo de algoritmo que emprega o aprendizado supervisionado. Fonte: (GERON, 2017).

Em contrapartida, o aprendizado n˜ao supervisionado ´e caracterizado pela ausˆencia de r´otulos no conjunto de treinamento. Isso ocorre pois o objetivo do aprendizado ´e procurar os padr˜oes nos quais o conjunto ser´a dividido dentro do pr´oprio conjunto. Posteriormente ser˜ao inclu´ıdas nas divis˜oes as novas amostras de teste, conforme as suas caracter´ısticas (CHIO; FREEMAN, 2018).

(21)

2.2.1 K-NEAREST NEIGHBORS

O k-Nearest Neighbors (kNN) ´e, de acordo com Weinberger e Saul (2009), um dos mais simples e antigos algoritmos de machine learning. Trata-se de um algoritmo de aprendizado supervisionado cuja caracter´ıstica ´e classificar novas instˆancias n˜ao-identificadas de acordo com as k instˆancias vizinhas identificadas em um conjunto de treinamento.

O algoritmo ´e baseado em instˆancias representadas por pontos em um espac¸o multidimensional Rm para um conjunto de treinamento. Cada instˆancia do conjunto de treinamento ´e um vetor cujas posic¸˜oes contˆem caracter´ısticas da instˆancia. Para atuar como um classificador de uma nova instˆancia de um conjunto de teste presente em um espac¸o multidimensional de vetores, o kNN ir´a determinar a distˆancia desta instˆancia para cada instˆancia do conjunto de treinamento, obtendo assim os k vizinhos mais pr´oximos no espac¸o Rm, onde k ´e um valor inteiro (GARCIA et al., 2008).

A busca pelos k vizinhos de maior proximidade da instˆancia a ser classificada ´e normalmente implementada se iniciando pelo c´alculo da distˆancia euclidiana entre a instˆancia de teste e cada elemento conjunto de treinamento. Na Figura 3 ´e ilustrada a relac¸˜ao de distˆancia para o valor k = 3. Ap´os o c´alculo, os resultados das distˆancias s˜ao ordenados e os k menores valores escolhidos. Por fim, a instˆancia ´e classificada com base na maioria dos r´otulos de seus k vizinhos escolhidos, ou seja, analisando os r´otulos das k instˆancias mais pr´oximas, o r´otulo que for maioria entre as mesmas ser´a atribu´ıdo a instˆancia de teste (JAMES et al., 2013).

A distˆancia euclidiana entre dois vetores ´e definida por ANTON e RORRES (2001) como sendo a norma da subtrac¸˜ao de um vetor do outro. Para um espac¸o com m dimens˜oes, tem-se a distˆancia euclidiana d entre u = (u1, u2, · · · , um) e v = (v1, v2, · · · , vm) apresentada na equac¸˜ao (1). No caso do kNN, os vetores cuja distˆancia ser´a calculada ser˜ao o vetor a ser classificado e cada um dos vetores do conjunto de teste.

d= q

(u1− v1)2+ (u2− v2)2+ · · · + (um− vm)2 (1)

2.3 SENSORES

Os sensores mais utilizados para a detecc¸˜ao de queda s˜ao aqueles que conseguem medir grandezas derivadas ou relacionadas com posic¸˜ao. Dentre estes destacam-se o acelerˆometro, o magnetˆometro e o girosc´opio, que ser˜ao objeto de estudo dessa sec¸˜ao.

(22)

Figura 3: Ilustrac¸˜ao do funcionamento do algoritmo kNN considerando k = 3. Fonte: (GARCIA et al., 2008).

O tipo de acelerˆometro mais comum ´e o piezoel´etrico, que utiliza em sua construc¸˜ao um cristal piezoel´etrico. Este cristal tem a propriedade de fornecer uma tens˜ao que varia de acordo com o esforc¸o sofrido pelo cristal. A acelerac¸˜ao do sensor gera uma forc¸a sobre a massa s´ısmica interna do acelerˆometro, estressando o cristal piezoel´etrico e resultando em uma carga el´etrica de alta impedˆancia proporcional `a forc¸a aplicada, que ´e proporcional tamb´em `a acelerac¸˜ao, pela Segunda Lei de Newton (National Instruments, 2017). Em seguida, ´e necess´ario transformar essa impedˆancia para um valor adequado para o circuito seguinte, que ter´a tipicamente uma impedˆancia menor (AZOSENSORS, 2014).

Quando ´e medida a acelerac¸˜ao est´atica de acordo com a gravidade, consegue-se descobrir qual ´e o ˆangulo que o dispositivo forma com relac¸˜ao `a Terra. Por outro lado, ao medir dados de acelerac¸˜ao dinˆamica, ´e poss´ıvel analisar como dispositivo est´a se movendo (Dimension Engineering LLC, 2018).

O girosc´opio, por sua vez, ´e utilizado para obter dados em relac¸˜ao `a sua pr´opria inclinac¸˜ao com a Terra (KAUR, 2013). Dentre estes dados, o principal ´e a velocidade angular, obtida atrav´es da forc¸a de Coriolis, que atua nos brac¸os da unidade (a parte m´ovel do girosc´opio), produzindo vibrac¸˜ao vertical. A parte estacion´aria dobra devido `a vibrac¸˜ao do brac¸o acionador na vertical, produzindo um movimento de detecc¸˜ao nos brac¸os sensores. O movimento do par de brac¸os sensores produz uma diferenc¸a de potencial a partir da qual a velocidade angular ´e detectada (Seiko Epson Corp., 2018).

(23)

Algumas aplicac¸˜oes dos sensores de girosc´opio s˜ao os sistemas de detecc¸˜ao de tremido em cˆameras fotogr´aficas e de v´ıdeo, a detecc¸˜ao de movimento para videogames e o controle eletrˆonico de estabilidade de ve´ıculos. No futuro, espera-se utilizar estes dispositivos para aplicac¸˜oes em sistemas de suporte e seguranc¸a de direc¸˜ao de ve´ıculos e tamb´em em controles de movimento rob´otico (Seiko Epson Corp., 2018).

O magnetˆometro ´e um instrumento utilizado para realizac¸˜ao de medic¸˜oes de intensidade de campo magn´etico. Sensores magnetˆometros embarcados existentes em smartphonee tablets s˜ao capazes de medir o campo magn´etico em trˆes eixos perpendiculares (VIEIRA; AGUIAR, 2013). Os magnetˆometros mais comuns medem o campo magn´etico atrav´es de sensores de Efeito Hall (Texas Instruments Inc., 2018).

No campo da medic¸˜ao de posic¸˜ao e direc¸˜ao, o magnetˆometro constitui uma soluc¸˜ao por funcionar como uma b´ussola. Atrav´es do campo magn´etico da Terra, ´e poss´ıvel determinar para qual direc¸˜ao um dispositivo est´a apontado (NIELD, 2017).

Dentre os dispositivos existentes no mercado, a s´erie MPU-60X0 da Invensense destaca-se por ter sido o primeiro sistema integrado de rastreamento de movimento de seis eixos, combinando os trˆes eixos de girosc´opio com os trˆes de acelerˆometro, juntamente com uma t´ecnica de processamento digital dos sinais de movimento. O dispositivo tem um tamanho diminuto (apenas 4x4x0.9mm) e se comunica atrav´es de um barramento de I2C dedicado (InvenSense Inc., 2013b).

Os sensores da s´erie MPU-60X0 utilizam, para a convers˜ao dos sinais anal´ogicos para digitais, seis ADCs de 16 bits. Este sensor apresenta um range do girosc´opio program´avel entre 250, 500, 1000, e 2000◦/s e um range do acelerˆometro tamb´em program´avel entre as escalas de 2g, 4g, 8g, e 16g. Ao se escolher um range menor, o ru´ıdo de quantizac¸˜ao do ADC ´e reduzido em termos absolutos. Um buffer FIFO de 1024 bytes ajuda a reduzir o consumo de energia do sistema, ao permitir que o processador do sistema leia os dados do sensor em rajadas.

O acelerˆometro utilizado por Yang et al. (2014), modelo MMA7260 do fabricante Freescale, apresenta range program´avel de 1,5g, 2g, 4g e 6g. Al´em disso, suas sa´ıdas s˜ao anal´ogicas, o que obriga o uso de um ADC externo (NXP, 2008). J´a o sensor utilizado por Shyla e Megha (2017), o ADXL335, conta com o ADC integrado, podendo se comunicar via I2C ou SPI. Entretanto, seu fator de escala ´e fixo, de forma que o ru´ıdo de quantizac¸˜ao do ADC de 10 bits n˜ao ´e reduzido ao se reduzir a escala. Um recurso interessante do ADXL335 ´e o sensor de queda livre (Analog Devices Inc., 2009).

(24)

2.4 PLATAFORMAS DE DESENVOLVIMENTO

2.4.1 ARDUINO

O Arduino ´e um ecossistema de hardware e software de c´odigo aberto. Existe uma variedade de ferramentas de software e de plataformas de hardware assim como de documentac¸˜ao. Todos estes recursos facilitam o uso ao consumidor final. Por isso o Arduino ´e atualmente uma ferramenta bastante popular para o desenvolvimento de produtos IoT, assim como uma ferramenta de sucesso para a educac¸˜ao de Ciˆencia, Tecnologia, Engenharia e Matem´atica (Arduino, 2018).

O Arduino se iniciou como um projeto de pesquisa no Instituto de Design de Interac¸˜ao de Ivrea no in´ıcio dos anos 2000. Os desenvolvedores utilizaram como base o projeto Processing, uma linguagem utilizada para aprendizado de codificac¸˜ao na ´area de artes visuais. A primeira placa do Arduino foi lanc¸ada em 2005 com o intuito de auxiliar estudantes de Design, que n˜ao possu´ıam experiˆencia anterior em eletrˆonica ou programac¸˜ao de microcontroladores, a criar prot´otipos de trabalho (COSTA, 2018).

O Arduino Software IDE permite ao usu´ario escrever programas e envi´a-los diretamente `a placa. Para o desenvolvimento do c´odigo, a plataforma permite o uso de bibliotecas em linguagem C++, o que facilita o uso para projetos mais complexos. H´a uma gama de produtos do Arduino, como placas, m´odulos em formatos menores de placas cl´assicas, shields(elementos que podem ser conectados `a placa e oferecer recursos extras) e kits. Para todos esses produtos, tutoriais e bibliotecas prontas est˜ao dispon´ıveis no site oficial e em f´oruns alimentados pela comunidade que utiliza o Arduino (Arduino, 2018; CHAVIER, 2018).

2.4.2 RASPBERRY PI

A Fundac¸˜ao Raspberry Pi ´e uma instituic¸˜ao de caridade que tem sua base no Reino Unido. O objetivo dessa fundac¸˜ao ´e estimular cada vez mais pessoas para a ´area de produc¸˜ao digital por todo o mundo para que, a partir deste est´ımulo, as pessoas possam ser capazes de compreender e modelar o mundo cada vez mas digital, permitindo resolver problemas e que estejam preparados para os empregos do futuro. Ela ´e fornecedora de computadores de baixo custo e alto desempenho, permitindo que o usu´ario possa aprender, resolver problemas e se divertir (Raspberry Pi Foundation, 2018b).

A finalidade que o usu´ario pode ter para seu hardware Raspberry Pi ´e bastante variada. Provavelmente o usu´ario, ao acessar o site da Fundac¸˜ao, encontrar´a tutoriais que possam

(25)

auxili´a-lo na criac¸˜ao de seu projeto. A placa ´e comumente utilizada em conjunto com o sistema operacional Raspbian Desktop, o que permite com que o usu´ario utilize in´umeras bibliotecas de c´odigo livre para seu projeto, assim como que ele programe diretamente na placa (Raspberry Pi Foundation, 2018c).

O Raspbian ´e uma variac¸˜ao do sistema operacional Debian otimizada para o uso em Raspberry Pi. Um ponto interessante ´e o fato de que o Raspbian n˜ao foi desenvolvido pela Fundac¸˜ao Raspberry Pi, mas sim por um grupo de entusiastas dos projetos Debian e Raspberry Pi (Raspbian Project, 2018).

H´a diversos modelos de Raspberry sendo comercializados, dentre estes destaca-se por ser dos mais completos o Raspberry Pi 3, que utiliza um processador quad-core de 1,2 GHz e possui 1 GB de mem´oria RAM. Dentre as opc¸˜oes de conectividade destacam-se os m´odulos de Internet sem fio e de Bluetooth de baixo uso de energia e a porta Ethernet que tamb´em pode ser utilizada para conex˜ao com a Internet. Para a sa´ıda de v´ıdeo, h´a uma porta HDMI dispon´ıvel. Al´em disso, h´a 40 pinos GPIO de entrada e sa´ıda de dados, quatro portas USB, al´em de portas CSI e DSI para cˆameras e telas touchscreen. O armazenamento n˜ao-vol´atil, que em um PC ´e responsabilidade do disco r´ıgido, no Raspberry ocorre em um cart˜ao de mem´oria (Raspberry Pi Foundation, 2018a).

(26)

3 METODOLOGIA

O desenvolvimento do presente projeto possui cinco etapas bastante definidas, para cada uma destas foi reservada uma sec¸˜ao dentro deste cap´ıtulo.

Na primeira destas, foi montado um dispositivo empregando o sensor escolhido, o que permitiu a coleta dos dados do sensor. Em seguida, foi definido um procedimento para obtenc¸˜ao das amostras de dados e utilizando este procedimento foram coletados os dados. A terceira etapa consistiu em aplicar os m´etodos de detecc¸˜ao de queda de maneira offline em um computador pessoal. Em seguida, foi montado e programado o dispositivo final com as funcionalidades previstas e por fim foram realizados os testes finais.

3.1 SISTEMA PARA A AQUISIC¸ ˜AO DE DADOS DO SENSOR

Para a aquisic¸˜ao de amostras de valores de girosc´opio e acelerˆometro em movimentos convencionais e de quedas da cadeira de rodas foi escolhido o sensor MPU-6050 do fabricante Invensense. Os principais fatores que motivaram a escolha deste sensor foram o fato de incorporar acelerˆometro, girosc´opio e ADC e suas caracter´ısticas tais como range, resoluc¸˜ao e precis˜ao, que foram julgados adequados `as tarefas ora propostas. Importante ressaltar que anteriormente a qualquer medic¸˜ao ´e necess´ario proceder com a calibrac¸˜ao do sensor, realizada pelo firmware no momento da escolha da escala a ser utilizada, conforme previsto na documentac¸˜ao (InvenSense Inc., 2013a).

Os ranges utilizados foram de 2g para o acelerˆometro e de 250◦/s para o girosc´opio. Com isso, a acelerac¸˜ao era medida em passos de 163841 ge o girosc´opio em passos de 1311 ◦/s.

Nesta situac¸˜ao tamb´em se definiu que o eixo x teria o mesmo sentido e direc¸˜ao do movimento da cadeira para frente e que o eixo z teria a mesma direc¸˜ao e sentido da forc¸a gravitacional. Portanto, o eixo y ´e uma linha transversal `a cadeira e que aponta para a direita.

Este sensor teve como primeiro objetivo neste projeto compor a base de dados para ser aplicada posteriormente no conjunto de treinamento do kNN e para o desenvolvimento do

(27)

mecanismo de threshold. Para tal, um setup foi montado junto de uma cadeira de rodas a fim de obter as informac¸˜oes desejadas de acordo com diferentes tipos de posic¸˜ao e movimentos.

A montagem deste setup de aquisic¸˜ao de dados utilizou uma cadeira de rodas convencional com o sensor MPU-6050 e uma placa Arduino Mega presos no apoio de brac¸o direito do assento conforme mostrada na Figura 4. A placa Arduino foi ligada a um computador pessoal para onde os dados aquistados pela MPU eram recebidos e salvos. A placa poderia ser ligada ao computador tanto atrav´es de um cabo USB quanto por meio do m´odulo sem fio HC-06 que utiliza o protocolo Bluetooth e ´e compat´ıvel com o Arduino (Guangzhou HC, 2011).

Figura 4: Setup montado para a aquisic¸˜ao de dados. Fonte: Autoria pr´opria.

Os sensores (girosc´opio e acelerˆometro) da MPU se comunicam com a placa Arduino utilizando o protocolo I2C como interface. O recebimento e tratamento dos dados recebidos foi feito por meio de um programa escrito em linguagem C, o qual recebia as informac¸˜oes do sensor e apresentava tais valores em um terminal de monitor serial. Este programa utilizou como base, al´em do datasheet da MPU, dispon´ıvel em InvenSense Inc. (2013a), tamb´em o trabalho de Romanov (2016a) e o c´odigo dispon´ıvel em Romanov (2016b).

(28)

Em seguida, competia ao computador pessoal agrupar, ap´os cada ensaio, os valores provenientes do terminal e posteriormente salv´a-los em arquivos no formato CSV. Este formato foi escolhido por facilitar a importac¸˜ao para os aplicativos que seriam utilizados futuramente na an´alise dos dados. A interac¸˜ao entre os equipamentos ´e mostrada na Figura 5.

Figura 5: Diagrama de interac¸˜ao para o setup inicial. Fonte: Autoria pr´opria.

3.2 COLETA DE DADOS

A primeira definic¸˜ao referente `a metodologia de coleta de dados foi a taxa de amostragem, que foi definida como sendo de 5 Hz, ou seja, uma amostra a cada 200 ms. Em seguida, definiu-se quantas e quais seriam as situac¸˜oes de queda e n˜ao-queda (atividades cotidianas) a serem ensaiadas para a obtenc¸˜ao da base de dados.

Com a utilizac¸˜ao de m´etodos de machine learning, foi necess´ario formar o conjunto de treinamento do m´etodo. Para isto foram utilizados os dados coletados nesta etapa. O conjunto de treinamento deve ser grande o suficiente para cobrir diversas situac¸˜oes, por´em caso seja muito grande h´a problemas de convergˆencia. Sendo assim, definiu-se 80 amostras como o tamanho do conjunto de treinamento e por consequˆencia da base de dados a ser inicialmente obtida. Ainda, definiu-se que 80% dos dados seriam provenientes de quedas e os 20% restantes de n˜ao-quedas.

A Tabela 1 mostra as situac¸˜oes de queda definidas e o n´umero de experimentos por situac¸˜ao. A direc¸˜ao da queda pode ser para frente, para tr´as ou para cada um dos lados. J´a a direc¸˜ao do movimento anterior `a queda ´e a mesma da cadeira, que pode ser apenas para frente ou para tr´as, pois o sensor est´a sempre na mesma direc¸˜ao das rodas traseiras (grandes) da cadeira, que n˜ao esterc¸am.

(29)

Tabela 1: Quantidade de ensaios de queda realizados na coleta de dados.

Movimento da cadeira Direc¸˜ao da queda Quantidade de ensaios Em movimento para frente Para a direita 3

Em movimento para frente Para a esquerda 3

Em movimento para frente Para frente 4

Em movimento para frente Para tr´as 4

Em movimento para tr´as Para a direita 2 Em movimento para tr´as Para a esquerda 2

Em movimento para tr´as Para frente 2

Em movimento para tr´as Para tr´as 2

Parado Para a direita 10

Parado Para a esquerda 10

Parado Para frente 11

Parado Para tr´as 11

Fonte: Autoria pr´opria.

realizar pequenas variac¸˜oes, seja variando o per´ıodo da queda ou a acelerac¸˜ao durante a queda. Dessa maneira, visa-se obter uma base de dados menos viciada, o que cobriria um rol maior de situac¸˜oes que poderiam ocorrer no mundo real.

De maneira semelhante, definiu-se o protocolo para ensaio das situac¸˜oes cotidianas, as que devem ser classificadas como n˜ao-queda. A Tabela 2 mostra as situac¸˜oes definidas e o n´umero de experimentos por situac¸˜ao.

Tabela 2: Quantidade de ensaios de atividade di´aria realizados na coleta de dados.

Movimento da cadeira Quantidade de ensaios

Cont´ınuo para frente 4

Cont´ınuo para tr´as 2

Curto e intermitente 10

Fonte: Autoria pr´opria.

Na Tabela 2, os movimentos classificados como curtos e intermitentes seriam aqueles quando n˜ao h´a intenc¸˜ao de movimento do usu´ario. Exemplos deste tipo de movimento seriam estar sentado em frente a um computador ou televis˜ao ou ainda em uma roda de conversas.

A Figura 6 mostra o sistema utilizado para a aquisic¸˜ao de dados durante esta etapa.

3.3 APLICAC¸ ˜AO DOS M ´ETODOS DE DETECC¸ ˜AO AOS DADOS

Uma vez formada a base de dados, a elaborac¸˜ao de um m´etodo para a detecc¸˜ao de quedas seguir´a de forma diferente para cada um dos tipos de algoritmos, justamente em func¸˜ao

(30)

Figura 6: Sistema utilizado para a aquisic¸˜ao de dados. Fonte: Autoria pr´opria.

das diferenc¸as entre eles. Enquanto os m´etodos de machine learning permitem uma abordagem mais formal, com base em t´ecnicas de validac¸˜ao, os m´etodos baseados em threshold s˜ao em geral tratados de maneira mais emp´ırica.

Com relac¸˜ao aos m´etodos de machine learning, optou-se por avaliar inicialmente apenas o m´etodo dos k-Nearest Neighbors. Tal escolha justifica-se no fato deste m´etodo estar entre os mais simples e de ter apresentado um desempenho pr´oximo aos demais na an´alise efetuada por Quadros (2017). Sendo assim, esperou-se do kNN desempenho aceit´avel para esta situac¸˜ao, de forma neste trabalho que n˜ao fosse necess´aria a implementac¸˜ao de outros m´etodos de machine learning.

Ressalta-se que, nesta etapa de an´alise inicial dos dados, todo o processamento foi feito de maneira offline em computadores pessoais. Foram utilizados programas e scripts para implantar os m´etodos de detecc¸˜ao e realizar o processamento das amostras.

(31)

3.3.1 M ´ETODO DO THRESHOLD

No m´etodo do threshold, que ´e baseado em um valor-limiar para a detecc¸˜ao de queda, o desenvolvimento do m´etodo se d´a em func¸˜ao deste valor a ser determinado. Sendo assim, inicialmente ´e necess´ario determinar qual ou quais valores podem ser de interesse para a implementac¸˜ao do m´etodo.

Tanto para a acelerac¸˜ao quanto para os valores lidos do girosc´opio, pode-se analisar as componentes correspondentes aos eixos x, y e z. Outro valor de interesse em um vetor (como ´e o caso da acelerac¸˜ao e do valor do girosc´opio) ´e o m´odulo (ou valor absoluto), definido pela Equac¸˜ao (2) (ANTON; RORRES, 2001).

|v| = q

(vx)2+ (vy)2+ (vz)2 (2)

O comportamento esperado era que a an´alise apenas da m´edia das componentes j´a fosse suficiente para nortear o desenvolvimento do threshold, sendo que uma an´alise estat´ıstica mais avanc¸ada poderia ser empregada caso necess´ario.

Esperava-se que a sa´ıda do acelerˆometro n˜ao tivesse variac¸˜oes bruscas em seus valores, quando do uso normal, pois a maior acelerac¸˜ao sobre a cadeira ´e a gravitacional, as acelerac¸˜oes necess´arias para colocar a cadeira em movimento s˜ao tipicamente muito menores. Ou seja, esperava-se poder medir a acelerac¸˜ao est´atica da cadeira de rodas. Uma forma de refinar os resultados da detecc¸˜ao de acelerac¸˜ao est´atica seria utilizar filtros visando suprimir ruido.

Para realizar esta an´alise, os dados em formato CSV gerados pelo setup de aquisic¸˜ao de dados foram importados para o software Octave, onde cada ensaio foi tratado como uma matriz, cujas colunas s˜ao os valores correspondentes aos eixos x, y e z de acelerac¸˜ao e girosc´opio e as linhas s˜ao as leituras efetuadas na taxa de amostragem definida. O Octave ´e um software livre, planejado para ser utilizado em c´alculos matem´aticos, tendo sua linguagem bastante pr´oxima com a do software MATLAB, o que traz diversas vantagens para o c´alculo com matrizes como o que foi executado (EATON, 2018).

O fluxograma da Figura 7 mostra o funcionamento do c´odigo previsto para a an´alise por threshold.

Na implementac¸˜ao definitiva no sistema embarcado, esta an´alise deve ser realizada, a princ´ıpio, a cada vez que houver uma nova amostra. Ou seja, a cada vez que houver uma nova leitura da MPU, ser´a executado o algoritmo que determinar´a por threshold se houve queda ou n˜ao. Os parˆametros deste algoritmo ser˜ao os valores atuais lidos do sensor e alguns valores

(32)

Figura 7: Fluxograma de funcionamento do c´odigo previsto para a an´alise por threshold. Fonte: Autoria pr´opria.

anteriores, caso seja utilizada alguma t´ecnica estat´ıstica ou filtro.

3.3.2 M ´ETODO KNN

A aplicac¸˜ao do algoritmo de machine learning k-Nearest Neighbors foi implementada de forma a classificar os valores obtidos em tempo real pelos sensores da MPU em dois grupos distintos, o de queda e n˜ao-queda.

O conjunto de treinamento ´e composto pelos dados obtidos a partir dos ensaios do setupinicial e o conjunto de teste ´e formado pelos dados obtidos em tempo real dos sensores acoplados `a cadeira de rodas. As amostras de ambos os conjuntos s˜ao compostas por vetores que seguir˜ao a estrutura de doze componentes por vetor, sendo as seis primeiras posic¸˜oes o valor m´aximo dentre cinco amostras consecutivas dos valores obtidos no girosc´opio e acelerˆometro. As seis ´ultimas posic¸˜oes correspondem `a m´edia aritm´etica simples entre as mesmas cinco amostras consecutivas de valores enviados pelos sensores. Esta ´e uma t´ecnica semelhante `a

(33)

utilizada por Quadros (2017).

De maneira semelhante ao que se efetuou com o m´etodo do threshold, a an´alise inicial do desempenho do kNN foi realizada de forma offline, em um computador pessoal, onde a quantidade de processamento n˜ao era um limitante. Foi escrito um c´odigo na linguagem de programac¸˜ao Python vers˜ao 2.7, na IDE Microsoft Visual Studio 2017, vers˜ao Community. A escolha desta linguagem visou possibilitar o reaproveitamento do c´odigo no sistema embarcado a ser desenvolvido. O fluxograma da Figura 8 apresenta o funcionamento deste c´odigo que implementa o kNN.

Visando estimar a precis˜ao do conjunto de treinamento montado foi utilizado o m´etodo de validac¸˜ao cruzada k-Folds, que permite obter a precis˜ao do modelo para outros conjuntos de dados. Al´em disso, atrav´es deste ´e poss´ıvel estimar o melhor valor de k interac¸˜oes para o m´etodo kNN, parˆametro este de suma importˆancia para o m´etodo (JAMES et al., 2013).

O k-Folds primeiramente divide o conjunto de dados em k grupos (Folds) de mesmo tamanho, sendo um desses considerado como o grupo de validac¸˜ao e os demais como grupos de teste. A partir dessa divis˜ao, o valor do erro quadr´atico m´edio ´e calculado para cada grupo de teste em relac¸˜ao ao grupo de validac¸˜ao. Esse procedimento de c´alculo ´e repetido k vezes, sendo que em cada rodada o grupo de validac¸˜ao ´e substitu´ıdo por um outro grupo do conjunto de testes. Ap´os as k rodadas terem sido calculadas ´e realizada a m´edia simples entre os valores de erros m´edios quadr´aticos de cada rodada. A Figura 9 ilustra o funcionamento do k-folds para o valor de cinco rodadas (JAMES et al., 2013).

Neste ponto, cabe uma considerac¸˜ao a respeito do s´ımbolo k, utilizado tanto pelo kNN quanto pelo k-folds. Muito embora ambos utilizem o s´ımbolo k em suas nomenclaturas, o k em cada m´etodo se refere a parˆametros distintos. No kNN o k se refere ao n´umero de vizinhos a terem sua distˆancia medida, j´a no k-folds se refere a quantidade de grupos (folds) que ser˜ao divididos.

Como j´a foi citado, outra aplicac¸˜ao do k-folds ´e determinar o melhor valor do n´umero de vizinhos a serem computados pelo kNN. Esta determinac¸˜ao se d´a pela an´alise do erro quadr´atico m´edio para cada valor de k no m´etodo k-folds. O k que obtiver o menor valor de erro ou ainda, o menor valor a partir de qual o erro permanec¸a constante ser´a o melhor n´umero de vizinhos no kNN. Em outras palavras, determinar o k ideal para o kNN consiste em testar diferentes quantidades de rodadas (divis˜oes de grupos, o k do k-folds) na validac¸˜ao cruzada e comparar seus resultados finais em busca de um valor que traga os melhores resultados (JAMES et al., 2013).

(34)

Figura 8: Fluxograma de funcionamento do c´odigo que implementa o kNN. Fonte: Autoria pr´opria.

(35)

Figura 9: Ilustrac¸˜ao do funcionamento do k-folds para cinco rodadas. Fonte: (JAMES et al., 2013).

O Sklearn1´e uma biblioteca open source que possui diversas ferramentas para machine learning, dentre essas a func¸˜ao cross val score(), a qual retorna os valores dos erros m´edios quadr´aticos de cada rodada em um vetor. Um de seus parˆametros de entrada ´e o n´umero de interac¸˜oes. Com o aux´ılio desta biblioteca foi poss´ıvel simplificar e agilizar o processo de validac¸˜ao cruzada de uma base de dados (PEDREGOSA et al., 2011).

3.4 DESENVOLVIMENTO NO RASPBERRY PI

Uma vez obtidos os resultados dos testes com os m´etodos de threshold e kNN, foi escrito o c´odigo final, que gerou um aplicativo a ser executado no Raspberry Pi 3. Este c´odigo foi escrito na linguagem de programac¸˜ao Python, para que os desenvolvimentos j´a existentes neste trabalho referentes ao kNN pudessem ser aproveitados com o m´ınimo de complicac¸˜ao.

A escolha do Raspberry Pi para esta etapa se deu em func¸˜ao de ser um hardware compacto, por´em com grande capacidade de processamento. Al´em disso, os pinos de GPIO facilitam a comunicac¸˜ao com o sensor e com os demais m´odulos que viessem a ser necess´arios.

Outro desafio desta etapa foi definir como os m´etodos de detecc¸˜ao trabalhariam em conjunto. Esta definic¸˜ao dependeu essencialmente do desempenho de cada m´etodo em relac¸˜ao `a detecc¸˜ao de queda. Por exemplo, se um m´etodo detectasse todas as quedas, por´em tivesse

(36)

alto ´ındice de falso-positivo, este m´etodo seria interessante para uma an´alise inicial. Caso os m´etodos apresentassem desempenho semelhante, seria interessante avaliar a possibilidade de combinar atrav´es de uma disjunc¸˜ao ou de uma conjunc¸˜ao os resultados de cada m´etodo.

O fator desempenho tamb´em teve papel importante nesta etapa. Como se trata de um sistema embarcado, as amostras s˜ao processadas em tempo real, sendo assim h´a um per´ıodo definido no qual o m´etodo deve decidir se houve queda ou n˜ao. Esta ´e uma preocupac¸˜ao maior com respeito ao kNN, que consome mais recursos de processamento na sua execuc¸˜ao e que, portanto, deve ter seu c´odigo o mais otimizado poss´ıvel.

O desenvolvimento da aplicac¸˜ao teve como requisitos os enumerados a seguir.

• Implementar os m´etodos de detecc¸˜ao de queda kNN e threshold;

• Enviar a mensagem SMS para o n´umero de telefone cadastrado;

• Sinalizar quando h´a falha do envio do SMS por um motivo qualquer;

• Limitar o n´umero de SMS enviados a uma a cada 90 segundos, de maneira a n˜ao lotar a caixa de mensagens do receptor destas.

O fluxograma da Figura 10 mostra a implementac¸˜ao de todo o c´odigo para o caso do thresholdfazer a an´alise inicial e o KNN tomar a decis˜ao final.

3.5 TESTES FINAIS

Ap´os a soluc¸˜ao estar totalmente implementada, esta foi submetida a uma bateria de testes para que o seu desempenho fosse validado. Nesta bateria de testes objetivou-se tanto verificar o desempenho em situac¸˜oes reais, o que n˜ao havia sido feito com os m´etodos trabalhando separadamente, quanto verificar se a associac¸˜ao dos m´etodos n˜ao trouxe nenhum tipo de preju´ızo.

Esta verificac¸˜ao consiste em fazer novamente ensaios de queda e n˜ao queda, da mesma forma e na mesma quantidade que foi efetuado para a obtenc¸˜ao dos dados utilizados no kNN. As Tabelas 3 e 4 mostram quais e quantos ensaios foram realizados.

Por fim, o teste de uso di´ario foi feito na rua, percorrendo duas quadras em uma calc¸ada com trechos lisos, de paralelep´ıpedo, com buracos e com imperfeic¸˜oes. Al´em disso, foram realizados testes em pequenos degraus e rampas. As rampas testadas s˜ao as existentes junto a faixas de pedestres, na entrada de edif´ıcios e tamb´em uma rampa de garagem de

(37)

Figura 10: Fluxograma do funcionamento do programa a ser executado no Raspberry. Fonte: Autoria pr´opria.

paralelep´ıpedos. As Figuras 11 e 12 ilustram, respectivamente, uma situac¸˜ao de teste em piso plano e outra em piso de paralelep´ıpedos.

Como nem todos os testes foram realizados, por uma raz˜ao de seguranc¸a, com uma pessoa na cadeira, a acelerac¸˜ao a que a cadeira de rodas foi submetida durante os testes ´e superior `aquelas encontradas durante o uso do produto. Quando a cadeira estiver com o peso

(38)

Tabela 3: Quantidade de ensaios de queda realizados nos testes finais.

Movimento da cadeira Direc¸˜ao da queda Quantidade de ensaios Em movimento para frente Para a direita 3

Em movimento para frente Para a esquerda 3

Em movimento para frente Para frente 4

Em movimento para frente Para tr´as 4

Em movimento para tr´as Para a direita 2 Em movimento para tr´as Para a esquerda 2

Em movimento para tr´as Para frente 2

Em movimento para tr´as Para tr´as 2

Parado Para a direita 10

Parado Para a esquerda 10

Parado Para frente 11

Parado Para tr´as 11

Fonte: Autoria pr´opria.

Tabela 4: Quantidade de ensaios de atividade di´aria realizados nos testes finais.

Movimento da cadeira Quantidade de ensaios

Cont´ınuo para frente 4

Cont´ınuo para tr´as 2

Curto e intermitente 10

Fonte: Autoria pr´opria.

do usu´ario, este constitui uma in´ercia para o movimento e, com isso, a cadeira n˜ao dever´a se acelerar tanto quanto durante os ensaios. Vale ressaltar que tamb´em foram efetuados testes com uma pessoa na cadeira de rodas, visando simular uma situac¸˜ao mais real.

(39)

Figura 11: Situac¸˜ao-teste em piso plano. Fonte: Autoria pr´opria.

(40)

Figura 12: Situac¸˜ao-teste em piso de paralelep´ıpedos. Fonte: Autoria pr´opria.

(41)

4 RESULTADOS

Os resultados a serem apresentados nesse cap´ıtulo permitir˜ao obter uma vis˜ao geral de todo o sistema final desenvolvido e de seu funcionamento. Para isso, ser˜ao mostrados os resultados para a detecc¸˜ao de queda da cadeira de rodas, empregando os m´etodos do threshold e k-Nearest Neighbors.

Al´em disso, ser˜ao apresentadas a arquitetura final do software desenvolvido, o seu processo de implementac¸˜ao e tamb´em detalhes do hardware que faz parte da soluc¸˜ao. Ainda, ser˜ao abordadas a eficiˆencia e a precis˜ao na detecc¸˜ao de quedas em situac¸˜oes de movimento cotidianas, tais como quedas laterais e frontais por meio dos testes descritos na metodologia.

Com relac¸˜ao ao setup inicial para a obtenc¸˜ao de dados, que utilizou o Arduino em seu desenvolvimento, o funcionamento ocorreu dentro do esperado. A ´unica observac¸˜ao negativa vem do m´odulo de Bluetooth, que ficava perdendo o pareamento com frequˆencia durante as quedas. Sendo assim, a aquisic¸˜ao dos dados foi feita com o Arduino conectado ao PC por meio de um cabo USB suficientemente longo a ponto de n˜ao atrapalhar o movimento da cadeira de rodas.

A Figura 13 mostra um exemplo de arquivo CSV com os valores lidos do sensor durante um dos ensaios.

4.1 DETECC¸ ˜AO DE QUEDA PELO M ´ETODO THRESHOLD

Uma vez obtidos os dados utilizando o sensor e o Arduino, a primeira tentativa de implementar o threshold consistiu em aplicar apenas um limiar ao m´odulo da acelerac¸˜ao medida pelo sensor. Entretanto, notou-se que em algumas quedas o valor da acelerac¸˜ao ficava praticamente constante em torno da acelerac¸˜ao da gravidade g. Em outras quedas, este valor variava bastante, assim como em algumas atividades di´arias tamb´em era notada esta variac¸˜ao. Ou seja, apenas o m´odulo da acelerac¸˜ao n˜ao proporcionaria uma detecc¸˜ao correta das quedas.

(42)

Figura 13: Arquivo CSV com os dados provenientes do ensaio e lidos do MPU. Fonte: Autoria pr´opria.

analisando cada eixo separadamente e tamb´em o valor do m´odulo. Nesta an´alise pˆode-se perceber o padr˜ao de queda e n˜ao-queda, atrav´es da variac¸˜ao do valor da componente da acelerac¸˜ao no eixo z. Este ´e um resultado bastante l´ogico, uma vez que a cadeira ca´ıda muda sua posic¸˜ao e a acelerac¸˜ao gravitacional passa a atuar sobre outros eixos do sensor. As Figuras 14 e 15 mostram, respectivamente, um exemplo de situac¸˜ao de n˜ao-queda e de queda da cadeira.

Com isso, implantou-se o threshold com base na raz˜ao entre o valor do acelerac¸˜ao no eixo z az e o m´odulo da acelerac¸˜ao |a|. Foram efetuados testes com v´arios valores de limiar, visando obter o valor ideal desta raz˜ao. Quando a raz˜ao estava muito pr´oxima de 1, ocorriam alguns falsos-positivos. Importante ressaltar que o falso positivo desaparecia quando o valor da raz˜ao era diminu´ıdo.

Por outro lado, a diminuic¸˜ao do valor de limiar gerava tamb´em uma reduc¸˜ao da sensibilidade. Sendo assim, em situac¸˜oes nas quais a cadeira n˜ao deitasse totalmente, seria

(43)

Figura 14: Dados do acelerˆometro para um ensaio de n˜ao-queda Fonte: Autoria pr´opria.

poss´ıvel que um sistema com baixa sensibilidade n˜ao detectasse a queda. Tal situac¸˜ao, entretanto, n˜ao se verificou nos testes ora efetuados.

Em situac¸˜oes como a da Figura 14, pode-se notar que alguns pontos tˆem seu valor muito diferente do seu antecessor e do seu sucessor. Uma das raz˜oes para este comportamento seria ru´ıdo na comunicac¸˜ao com o sensor. Outra possibilidade seriam impactos na cadeira que n˜ao resultassem em queda, mas que, entretanto, imprimissem uma acelerac¸˜ao curta e intensa `a cadeira. Para resolver este problema foi implementado um filtro FIR do tipo m´edia m´ovel.

Atrav´es da implementac¸˜ao do filtro eliminou-se, sem preju´ızo da detecc¸˜ao das quedas, este efeito descrito no par´agrafo anterior, que geraria falsos-positivos. A especificidade do sistema passou de 81,2% para 100%. Indiferentemente `a existˆencia ou n˜ao do filtro, ap´os a definic¸˜ao de um valor ´otimo para a raz˜ao entre az e |a| a sensibilidade foi calculada em 92,2%.

Tendo em vista o bom desempenho do threshold utilizando os dados do acelerˆometro, optou-se por n˜ao implementar uma an´alise dos dados provenientes do girosc´opio por threshold. Em uma an´alise simplificada, concluiu-se que utilizar os dados do girosc´opio para detectar a queda da cadeira seria mais complicado, pois os movimentos cotidianos da cadeira influenciam

(44)

Figura 15: Dados do acelerˆometro para um ensaio de queda Fonte: Autoria pr´opria.

mais o girosc´opio do que o acelerˆometro. Entretanto, estes dados do girosc´opio foram utilizados pelo m´etodo kNN para compor a sua an´alise.

4.2 DETECC¸ ˜AO DE QUEDA PELO M ´ETODO KNN

Como previsto na metodologia, desenvolveu-se um programa em Python que implementa o kNN para o tipo de dado proposto na metodologia. Os dados que serviram de base para esta etapa tamb´em foram os mesmos utilizados para o m´etodo de threshold.

Em seguida, aplicou-se o m´etodo de validac¸˜ao cruzada k-folds para um valor de k = 10 foldse foram obtidos os valores de erros m´edios quadr´aticos para cada rodada. Os resultados retornados da validac¸˜ao s˜ao apresentados na Tabela 5.

Al´em do valor de generalizac¸˜ao do conjunto de treinamento o k-folds foi usado para obter um valor otimizado de k para o m´etodo do kNN. Na Figura 16 s˜ao mostrados em forma de gr´afico os resultados finais do m´etodo de validac¸˜ao cruzada para diferentes quantidades de rodadas, ou seja, cada valor de k no gr´afico representa a quantidade de grupos (folds) que foram utilizados. No eixo vertical ´e ilustrada a acuidade do resultado em uma escala de 0 at´e 1 e no

(45)

Tabela 5: Resultados do k-folds para a base de dados. Rodada Probabilidade 1 81,25% 2 87,5% 3 87,5% 4 81,25% 5 81,25% 6 87,5% 7 93,75% 8 75% 9 87,5% 10 81,25% M´edia 84,37%

Fonte: Autoria pr´opria.

eixo horizontal ´e mostrado o valor da quantidade de grupos.

Figura 16: Resultados finais do m´etodo de validac¸˜ao cruzada em func¸˜ao de k. Fonte: Autoria pr´opria.

Analisando o gr´afico ´e poss´ıvel constatar que a partir de sete folds o valor de erro se estabiliza, ou seja, a partir do valor de k = 7 o resultado do m´etodo k-folds se torna constante em torno de 84% de precis˜ao para o modelo apresentado. Dessa forma, o valor de otimizac¸˜ao para a quantidade de vizinhos a serem empregados no kNN foi estabelecido como sendo sete.

(46)

4.3 DESENVOLVIMENTO DAS APLICAC¸ ˜OES NO RASPBERRY

De maneira a implementar os m´etodos de threshold e kNN apresentados anteriormente, foi criado um software na linguagem de programac¸˜ao Python vers˜ao 2.7. O principal objetivo dessa implementac¸˜ao foi unificar os c´odigos de ambos os m´etodos citados anteriormente e obter o seu funcionamento final em um Raspberry Pi 3, que foi a plataforma escolhida para implementar o sistema embarcado.

A implementac¸˜ao do programa, por quest˜oes de melhor depurac¸˜ao de erros e testes no software, foi realizada inicialmente em um computador pessoal com o sistema operacional Microsoft Windows 10 e utilizando a ferramenta de desenvolvimento Microsoft Visual Studio 2017 vers˜ao Community. Ap´os a parte de implementac¸˜ao do algoritmo do kNN estar completa no PC, o c´odigo foi migrado para o Raspberry Pi 3. O desenvolvimento do c´odigo prosseguiu na placa utilizando a pr´opria ferramenta nativa de desenvolvimento do Python 2.7.

Ainda no Raspberry, foi implementado o c´odigo respons´avel pelo interfaceamento com os sensores da MPU6050 por meio do protocolo de comunicac¸˜ao I2C, visando a aquisic¸˜ao dos valores em tempo real.

Em seguida, foi utilizada a API da Twilio1 para o desenvolvimento do mecanismo de alerta via SMS sobre o acontecimento de acidentes (Twilio Inc., 2018). A escolha pela utilizac¸˜ao desta API teve como objetivo simplificar o desenvolvimento da parte de envio da mensagem. Como vantagem desta soluc¸˜ao tem-se o fato de n˜ao ser necess´ario um m´odulo de GSM para o Raspberry nem um smartphone conectado por Bluetooth, a desvantagem ´e a necessidade do Raspberry estar sempre conectado `a Internet.

A identificac¸˜ao de quedas pela soluc¸˜ao utiliza o threshold e kNN de forma sequencial, ou seja, primeiramente os valores de entrada passam pela an´alise do threshold. Caso o threshold n˜ao considere como queda o kNN n˜ao ser´a acionado e novas amostras ser˜ao coletadas e analisadas. Caso seja indicada uma situac¸˜ao de queda pelo threshold, as informac¸˜oes oriundas do vetor de teste seguir˜ao para a an´alise pelo m´etodo kNN, caso confirmada a queda um SMS ser´a enviado, notificando a ocorrˆencia da queda. Este c´odigo foi implementado conforme o fluxograma da Figura 10.

A opc¸˜ao por utilizar o threshold como crit´erio inicial para detecc¸˜ao da queda se deu principalmente pela alta carga experimentada pelo processador quando do c´alculo do m´etodo do kNN. Sendo assim, utilizar o kNN a cada nova amostragem, ainda mais em sistema embarcado com sistema operacional, poderia levar o Raspberry a um comportamento inesperado devido `a

Referências

Documentos relacionados

Por isso, respondendo a Heurgon acerca de sua tese, Le Goff sinalizou que em função de suas leituras, havia conquistado certa familiaridade com o conjunto da Idade Média,

O Conselho Federal de Psicologia (CFP) apresenta à categoria e à sociedade em geral o documento de Referências Técnicas para a Prática de Psicólogas(os) em Programas de atenção

Os casos não previstos neste regulamento serão resolvidos em primeira instância pela coorde- nação do Prêmio Morena de Criação Publicitária e, em segunda instância, pelo

• A Revolução Industrial corresponde ao processo de industrialização que teve início na segunda metade do.. século XVIII no

Los porcentajes del market share durante 2012 se ubicaron en los núme- ros habituales que se vienen dando desde hace años: entre el 2% en Perú y Uruguay y el 13% en Chile

Mestrado em Administração e Gestão Pública, começo por fazer uma breve apresentação histórica do surgimento de estruturas da Administração Central com competências em matéria

 Numéricos das das Propriedades Propriedades do do Ar Ar Úmido, Úmido, Cartas Cartas Psicrométricas, Psicrométricas, Processos Processos Psicrométricos, Psicrométricos,

Por último, temos o vídeo que está sendo exibido dentro do celular, que é segurado e comentado por alguém, e compartilhado e comentado no perfil de BolsoWoman no Twitter. No