Você está na página 1de 25

Afonso Menegola

Relatrio de Progresso da Disciplina


Projeto de Diplomao

Porto Alegre
2015

Afonso Menegola

Relatrio de Progresso da Disciplina


Projeto de Diplomao

Relatrio de Progresso para a disciplina


ENG4029 Projeto de Diplomao do curso
de Engenharia Eltrica da Universidade Federal do Rio Grande do Sul UFRGS.

Universidade Federal do Rio Grande do Sul UFRGS


Departamento de Engenharia Eltrica

Porto Alegre
2015

Resumo
Apesar do conhecimento de que o ndice de distrbios de sono aumenta, pouca informao est disponvel sobre a deteco de ronco durante o sono. O presente projeto visa o
desenvolvimento de um algoritmo de deteco automtica do ronco atravs de um sinal
de udio no contexto de Mobile Health (mHealth), que possibilitaria uma anlise clnica
simples e robusta atravs de smartphones. Para detectar o evento de ronco em um sinal
de udio so propostas algumas tcnicas, como processamento de sinal e o algoritmo classificador AdaBoost. At o presente momento, atravs do tratamento de um sinal de udio
de um minuto com oito roncos, sete foram detectados como candidatos a ronco, sugerindo melhorias nessa etapa de processamento. Estipula-se que o algoritmo classificador
ir classificar corretamente, com alta especificidade, os eventos de ronco. Para o prximo
ponto de verificao espera-se obter essa resposta.
Palavras-chaves: Ronco. mHealth. AdaBoost.

Lista de ilustraes
Figura
Figura
Figura
Figura
Figura
Figura

1
2
3
4
5
6

Diagrama de blocos da etapa de Deteco e Segmentao


Bordas iniciais do evento de segmentao . . . . . . . . .
Bordas finais do evento de segmentao . . . . . . . . . .
Amplitude do sinal de udio . . . . . . . . . . . . . . . .
Histograma de energia da seo de um minuto. . . . . .
Energia do sinal de udio. . . . . . . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

13
14
14
17
18
18

Lista de abreviaturas e siglas


mHealth

Mobile Health

EEG

Eletroencefalograma

ECG

Eletrocardiograma

AdaBoost

Adaptive Boosting

Sumrio
Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
detector de evento de ronco .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

1
1.1
1.2
1.2.1
1.2.2
1.2.3
1.3

METODOLOGIA . . . . . . . .
Coleta de amostras . . . . . . . .
Implementao de um algoritmo
Pr-Processamento . . . . . . . . .
Deteco e segmentao de eventos
Classificao . . . . . . . . . . . .
Resultados esperados do projeto

11
11
12
12
12
14
15

PROGRESSO REALIZADO . . . . . . . . . . . . . . . . . . . . . . . 17
Concluso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

REFERNCIAS

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Introduo
Nos Estados Unidos, estima-se que 48% da populao ronca durante o sono. (RAM
et al., 2009). Exames de deteco e monitoramento de distrbios do sono so em geral
realizados em Laboratrios do Sono. Alm do exame clnico (anamnese e exame fsico), a
Polissonografia o procedimento existente para deteco de distrbios do sono, como o
prprio ronco. Diversas dificuldades esto associadas essa anlise: longa fila de espera,
desconforto do paciente, custo elevado, para citar algumas. Embora existam hoje em dia
aparelhos mveis que realizam a coleta de dados clnicos na casa do paciente, estes aparelhos so fornecidos pelo prprio laboratrio e no so capazes de suplantar as dificuldades
de acesso ao exame.
O paradigma Mobile Health (mHealth) tem surgido nos ltimos anos como uma
alternativa para auxiliar os pacientes e os profissionais de sade na preveno, diagnstico
e tratamento de doenas. No contexto de deteco e monitorao de disturbios do sono,
mHealth pode ser utilizado para gerao/coleta, agregao, processamento e disseminao
de informao clnica via dispositivos mveis sem fio. Nos Estados Unidos, estima-se
que 85% dos adultos possuam um telefone celular. Desses, 53% possuem smartphones,
e 19% dos donos de smartphone possuem no mnimo um aplicativo de sade. (FOX;
DUGGAN, 2012). Existe, portanto, um amplo nicho de mercado capaz de impulsionar o
desenvolvimento de aplicativos capazes de auxiliar o diagnstico de doenas do sono.
Para um aplicativo mvel auxiliar na deteco e monitorao de distrbios do sono,
a anlise de sinal de udio com o intuito de detectar e caracterizar a ocorrncia de ronco
durante o sono tem grande potencial clnico. Por um lado, poder ajudar na triagem de
pacientes mais ou menos suscetveis a esses distrbios, ensejando critrios de prioridade
para a lista de espera do exame de Polissonografia. Por outro lado, poder auxiliar no
acompanhamento e monitoramento de tratamentos, aps eventual deteco do distrbio.
O que promove a utilizao de smartphones valer-se da qualidade de resoluo e
preciso de sensores desses dispositivos, hoje em dia bastante acessveis populao. Aliado a isto, a conexo via rede sem fio Internet permite a utilizao de servidores de alto
desempenho para o processamento inteligente dos dados clnicos coletados. Alm disso,
acredita-se que, atualmente, esses dispositivos fornecem poder computacional adequado
para aplicaes de mHealth (LIU, 2011).
O objetivo do projeto realizar a deteco automtica de eventos de ronco a partir
do processamento e anlise de um sinal de udio, gravado com um smartphone, durante o
sono de pacientes/voluntrios. Tal deteco capaz de fornecer caractersticas objetivas
acerca da qualidade de sono associado ao distrbio do ronco, tais como a intensidade

10

Introduo

sonora, o nmero e durao de eventos de ronco durante o sono, a frequncia sonora do


ronco, dentre outros. Para que esses resultados sejam obtidos de forma espontnea,
necessrio o desenvolvimento de um algoritmo que aplique tcnicas de processamento de
sinal adequadas ao mHealth. O algoritmo poder otimizar o encaminhamento de pacientes
com propenso a distrbios do sono e realizar o monitoramento dos tratamentos destes
distrbios posteriormente ao diagnstico definitivo, de forma acessvel, simples e robusta.
Algumas limitaes, entretanto, devem ser superados. Deve-se verificar se os algoritmos existentes de deteco automtica de ronco so suficientemente simples para
que um smartphone seja capaz de realizar o processamento do sinal de udio. necessrio estabelecer uma relao otimizada entre a qualidade do arquivo de udio gerado e
o tamanho do mesmo, de modo que este possa ser processado sem perda de confiabilidade do resultado. Finalmente, necessrio mostrar que o algoritmo reproduz resultados
coerentes, para que possa ser utilizado em um diagnstico clnico. Para tanto, deve-se
simultaneamente otimizar a sensibilidade e especificidade do algoritmo, evitando tanto
falsos negativos (deteco de roncos como no-roncos) quanto falsos positivos (deteco
de no-roncos como roncos).

11

1 Metodologia
A produo do presente projeto se dar em trs etapas: (i) a implementao de
um algoritmo de deteco de ronco j existente, (ii) o estudo, anlise e implementao
de um algoritmo aplicado ao contexto mHealth e (iii) sua posterior validao. Para que
sejam concludas, primeiro ser ralizada uma coleta de amostras de udio durante o sono
de um paciente, e o posterior desenvolvimento do algoritmo de deteco.

1.1 Coleta de amostras


A obteno de sinais de ronco para serem utilizados como validao de um determinado experimento enfrenta uma srie de dificuldades, pois, diferentemente de sinais
utilizados em Eletrocardiograma (ECG) ou Eletroencefalograma (EEG), esses sinais no
possuem um banco de dados, por dois motivos principais:

1. O rudo de ronco possui alta variabilidade de caractersticas entre indivduos e entre


diferentes tipos de ronco (AGRAWAL et al., 2002).
2. O estudo de distrbios do sono uma linha de pesquisa recente.

Para validao de algoritmos, a literatura realiza a coleta de amostras de pacientes durante o exame de Polissonografia. Essas amostras so classificadas manualmente em
eventos de ronco e no-ronco, utilizando audio e artifcios como espectrograma, intensidade sonora do evento e fluxo de ar obtido no exame (DAFNA; TARASIUK; ZIGEL,
2013).
Existem duas alternativas para a coleta de dados para este trabalho de Concluso
de Curso. A primeira a coleta de udio ao longo de um exame de Polissonografia.
Atualmente est sendo realizado a submisso de um projeto de pesquisa no Hospital So
Jos. A prxima reunio do comit de tica para a anlise da nova emenda est marcada
para o dia 30 de setembro de 2015.
Caso essa alternativa no se torne vivel dentro do prazo estabelecido para a concluso das coletas, ser realizada a coleta de udio de sono dos pesquisadores envolvidos
no projeto. Nesse caso, ser necessrio um estudo da viabilidade desse mtodo de validao, onde problemas como o nmero de amostras e a veracidade do arquivo de udio
devero ser superados.

12

Captulo 1. Metodologia

1.2 Implementao de um algoritmo detector de evento de ronco


Para que seja realizada uma introduo ao desenvolvimento de algoritmos de deteco de ronco, um algoritmo foi escolhido para ser implementado (DAFNA; TARASIUK;
ZIGEL, 2013). Os critrios de escolha foram a qualidade dos resultados, mais de 98%
de sensibilidade, especificidade e acurcia nos resultados e a importncia da revista de
sua publicao, bem como sua relevncia atual. O algoritmo foi publicado no Automatic Detection of Whole Night Snoring Events Using Non-Contact Microphone (DAFNA;
TARASIUK; ZIGEL, 2013) e se dar em trs etapas principais: Pr-processamento, deteco e segmentao de eventos, classificao e Melhorias, que sero descritas nas prximas
sees.

1.2.1 Pr-Processamento
O sinal ser coletado a uma frequncia de amostragem de 44.1kHz e 16 bits por
amostra. A densidade amostral do sinal ser reduzida, para uma resoluo de 16kHz.
Cada sinal ir passar por uma supresso de rudo adaptativo, baseado em um filtro de
Wiener. Este processo rastreia segmentos de rudo automaticamente para estimar sua
distribuio espectral, subtraindo-o do sinal de udio. O filtro de Wiener supe que tanto
o sinal quanto o rudo sejam processos estocsticos lineares (com propriedades espectrais
e de autocorrelao estacionrias) e minimiza o erro quadrtico no processo de filtragem
inversa, mitigando o efeito do rudo (SCALART; FILHO, 1996).

1.2.2 Deteco e segmentao de eventos


Nessa primeira etapa, o sinal de udio ser processado para identificar candidatos
a ronco. Um candidato a ronco um evento que possui energia superior a um certo
limiar caracterstico (calculado para uma seo de um minuto do sinal, dentro do qual o
candidato a evento de ronco ocorre) e durao entre 200 ms e 3500 ms.
O diagrama de blocos que implementa essa etapa pode ser observado na Figura 1.
Bloco 1: O sinal de udio de toda a noite dividido em sees de um minuto.
Para cada seo, um vetor de energia calculado utilizando quadros de 60 ms com
sobreposio de 75%.
Bloco 2: Uma energia limiar calculada para cada seo. Para encontrar este
valor limiar, um histograma de energia de cada seo calculado. Como existe uma
prevalncia de rudo estacionrio de fundo, o valor de energia relacionado ao pico do
histograma est localizado na baixa escala de energia. A energia limiar da seo
o valor de energia correspondente a um dcimo do valor mximo do histograma. O

1.2. Implementao de um algoritmo detector de evento de ronco

13

Figura 1 Diagrama de blocos da etapa de Deteco e Segmentao

Fonte: Dafna, Tarasiuk e Zigel (2013)

parmetro 0.1 corresponde prevalncia estimada, em durao temporal, do evento


de ronco, com respeito durao total da seo.
Bloco 3: Um filtro mediano de quinta ordem aplicado aos valores limiares de
energia de diferentes sees para suavizar e uniformizar os valores.
Bloco 4: Aplicam-se os valores limiares s suas sees correspondentes. Caso em
um certo instante de tempo o sinal exceda esse valor de energia, os instantes em que
esse limiar ultrapassado so guardados.
Bloco 5: Segmentao do Evento - Para encontrar o instante exato de incio e fim
do evento, uma tcnica de declividade de reta utilizada. Para uma esquematizao
pictrica dos Blocos 4 e 5, o processo de segmentao exemplificado na Figura 2
e Figura 3. A tcnica utilizada estima a inclinao da reta com seis quadros consecutivos de energia (uma janela de 90 ms). Uma regresso linear realizada para
estimar a inclinao. O processo repetido e transladado para fora dos limites do
evento um quadro por vez enquanto a declividade da reta no inverta seu sinal.
Bloco 6: Teste de Fragmentao - Caso os eventos de udio estejam prximos um
do outro (intervalo de tempo entre o instante final do primeiro evento e o instante
inicial do segundo evento, menor que 200 ms), o evento pode ter sido fragmentado
(como roncos interrompidos). Caso isso acontea, tomam-se os 100 ms finais do
primeiro evento e os 100 ms iniciais do segundo e comparam-se os espectros de
potncia (power spectra), utilizando o mtodo de coerncia para analisar se existe
uma componente de frequncia que ambos eventos compartilham. Caso isso ocorra,
o evento resultante a soma dos dois eventos fragmentados.

14

Captulo 1. Metodologia

Bloco 7: Teste de Durao de Evento - Os autores do artigo identificaram por


inspeo direta (humana) que 99% dos eventos do ronco esto entre 200 ms e 3500
ms. Caso a durao do evento no esteja compreendida em tal intervalo de duraes,
o evento descartado.

Figura 2 Bordas iniciais do evento


de segmentao

Figura 3 Bordas finais do evento


de segmentao

Fonte: Dafna, Tarasiuk e Zigel


(2013)

Fonte: Dafna, Tarasiuk e Zigel


(2013)

Finalmente, com o instante inicial e final de cada candidato ronco, pode ser
feita uma anlise em diversas caractersticas do candidato no domnio do tempo e da
frequncia, para posterior classificao em evento de ronco ou no-ronco.

1.2.3 Classificao
Para a etapa de classificao de evento entre ronco e no-ronco, o classificador
AdaBoost ser utilizado (FREUND; SCHAPIRE, 1997). Um algoritmo de Boosting um
algoritmo de aprendizado de mquina que constri um classificador forte (bom classificador) a partir de uma combinao linear adequada de um grupo de classificadores fracos
(maus classificadores). Um classificador fraco caracterizado por uma correlao baixa
com a classificao verdadeira (ele pode classificar exemplos marginalmente melhor que
uma predio aleatria). Um classificador forte, ao contrrio, possui alta correlao com
a classificao verdadeira, atravs de um supervisor.
Imagine um apostador em uma corrida de cavalos. Esse apostador iria procurar
a opinio de apostadores mais experientes antes de tomar sua deciso em que cavalo ele
deveria apostar. Cada apostador experiente daria boas sugestes baseadas em suas experincias, criando ento um conjunto de classificadores imprecisos. O ponto do AdaBoost
integrar essas sugestes, ponderadas por importncia, para formar um nico classificador
forte para apostar em um cavalo.
Assumindo que para uma entrada , cada classificador experiente ( ) expresse
sua opinio. Assumindo que se deva separar um conjunto de vetores de treinamento em
duas classes (e.g +1 ou -1), a deciso final do comit de apostadores experientes pode ser

1.3. Resultados esperados do projeto

15

expressa pela combinao linear (adequadamente ponderada) dessas opinies, de acordo


com a Equao 1.1.

( ) = 1 1 + . . . +

(1.1)

onde 1 , . . . , so os apostadores experientes e 1 , . . . , so os pesos que o apostador


atribui opinio de cada apostador experiente do comit (importncia do classificador).
AdaBoost um algoritmo de Boosting por realizar essa combinao de classificadores fracos em um classificador forte, e adaptativo por alterar os pesos atribudos aos
eventos em cada iterao na etapa de treinamento dos classificadores. O peso para cada
exemplo incorretamente classificado por um classificador fraco na amostra de treinamento
aumentado, enquanto os pesos para exemplos corretamente classificados, diminudos.
Tal algoritmo atualmente um dos melhores classificadores da literatura, atingindo
92% de exatido na sua deciso. (P.K. et al., 2011). Sua utilizao se dar classificando os
candidatos a ronco (+1:ronco, -1: no-ronco) baseando sua deciso nas 34 caractersticas
(relacionadas aos domnios temporal e espectral) utilizadas no artigo.

1.3 Resultados esperados do projeto


O projeto a ser desenvolvido busca minimizar um problema social e clnico at
pouco tempo ignorado pela comunidade mdica, buscando o melhor resultado em termos
de confiabilidade clnica. Para tanto, a utilizao de mHealth para fornecer dados clnicos
para deteco ou acompanhamento de distrbio do sono satisfaz a busca: satisfaz tanto
a necessidade de monitoramento contnuo e peridico da evoluo do quadro clnico de
pacientes que roncam quanto a impossibilidade de tal monitoramento ser realizado atravs
de mltiplas polissonografias.
O detector automtico de ronco proposto ir ter trs resultados finais:
1. Nmero de eventos de ronco.
2. Intensidade sonora dos eventos de ronco.
3. A frequncia sonora do ronco.
Tais resultados devero ser obtidos, processados e analisados em um ambiente que
possui baixa capacidade de processamento, como por exemplo um celular. Portanto, o
arquivo de udio dever ser comprimido ao mximo sem perda de confiabilidade.
Para que os resultados sejam otimizados, as seguintes caractersticas devero ser
satisfeitas pelo sistema:

16

Captulo 1. Metodologia

Instrues simples.
Baixo nmero de iteraes.
Baixa taxa de amostragem do sinal.
Baixa profundidade de bits por amostra.
Finalmente, trs perguntas devero ser respondidas ao final do projeto:
1. mHealth realmente uma plataforma capaz de produzir resultados clnicos confiveis
para a deteco automtica do ronco?
2. Ao longo da pesquisa realizada, conseguiu-se reduzir a complexidade do algoritmo
frente ao implementado pelo artigo base?
3. Qual o impacto da qualidade de aquisio do sinal sonoro no resultado?

17

2 Progresso Realizado
At o momento, todas as etapas do diagrama de blocos descritos na Figura 1
foram realizadas. O processamento de um sinal de um minuto de udio foi realizado
atravs do software MathWorks MATLAB R2013b. O sinal utilizado foi gerado gravando
trinta segundos iniciais de rudo ambiente e ento iniciando uma sequncia de oito roncos.
A Figura 4 mostra o grfico de amplitude do sinal de udio.

Figura 4 Amplitude do sinal de udio


Magnitude do Sinal de udio
0.08
Amplitude
0.06

Amplitude(Arbritrio)

0.04
0.02
0
0.02
0.04
0.06
0.08
0.1

10

20

30
Tempo(s)

40

50

60

Fonte: Produzido pelo autor.

O histograma da Figura 5 foi utilizado para encontrar o limiar de energia. Como


descrito na subseo 1.2.2, o valor de energia correspondente a um dcimo do pico do
histograma o limiar de energia , que possui o valor de 72.5dB.
Explcito na Figura 6 est o grfico de energia do sinal em funo do tempo,
onde a linha tracejada o limiar de energia encontrado anteriormente. Na figura se pode
visualizar o surgimento dos candidatos a ronco.
Aps realizar o Bloco 5 da Figura 1, foram detectados 35 eventos. Realizando o
teste de fragmentao, 6 eventos possuam alta correlao em pelo menos uma frequncia,
e agregando-os, resultaram 29 eventos. Finalmente, ao realizar o teste de durao de
evento, 16 eventos foram considerados como candidatos a ronco.

18

Captulo 2. Progresso Realizado

Figura 5 Histograma de energia da seo de um minuto.


Histograma de energia para seo de 1 minuto
250

200

Counts

150

100

Bin Count: 21

50

Bin Center: 72.5


Bin Edges: [72.4, 72.6]

0
65

70

75

80

85
90
Magnitude (dB)

95

100

105

Fonte: Produzido pelo autor.

Tais candidatos foram reescritos em um novo sinal de udio. O sinal resultante


passou de um minuto para 16 segundos, e ao escutar o sinal percebeu-se que o algoritmo
detectou apenas 7 roncos.
Figura 6 Energia do sinal de udio.
Intensidade sonora da seo de 1 minuto
105
Energia
Limiar de Energia

100

Magnitude (dB)

95
90
85
80
75
70
65

10

20

30
Tempo (s)

40

50

60

Fonte: Produzido pelo autor.

Dado o curto perodo de tempo, no houve nenhuma reviso do cdigo escrito no

19

MATLAB. Ser investigado o motivo do oitavo ronco no ter sido detectado, alm de outros pequenos problemas j observados. Entretanto, os resultados obtidos so promissores
e indicam que o algoritmo est correto. Espera-se o algoritmo de classificao descubra,
dentre os 29 eventos observados, que somente 7 (nesse caso) so de fato eventos de ronco.

21

Concluso
Em vista dos argumentos apresentados, mostrou-se mHealth um contexto desafiador para aplicaes de novas tecnologias. Verificou-se que existe uma populao
pronta para usar esse conceito, pois no s uma grande parcela das pessoas possuem
um smartphone, mas tambm se mostram proativas em utilizar aplicativos de sade. Em
outro lado do sistema, profissionais da sade anseiam por novos resultados que aprimorem
sua anlise clnica, de forma simples e robusta.
O projeto apresentado possui grande relevncia para um projeto de diplomao,
pois estimula a multidisciplinaridade necessria profisso de um engenheiro. Tal desenvolvimento contemplar o uso de processamento de sinais, programao e inteligncia
artificial para a soluo de um problema cuja abstrao se far necessria, tendo em vista
que no houve um estudo de problemas de sade no curso.
Os resultados apresentados so satisfatrios para o curto perodo de tempo de
desenvolvimento. o algoritmo se mostrou eficaz na busca de candidatos a ronco, obtendo
7 de 8 eventos, sendo que ainda no foi feita uma reviso de cdigo em busca de erros.
Acredita-se no potencial do algoritmo de classificao AdaBoost para a correta eliminao
de eventos resultantes de rudo de ambiente.
Para o prximo ponto de verificao, estipula-se que j ter resultados de uma
deteco automtica de roncos, alm de uma parcela da monografia escrita.

23

Referncias
AGRAWAL, S. et al. Sound frequency analysis and the site of snoring in natural and
induced sleep. Clin. Otolaryngol., n. 27, p. 162166, 2002. Citado na pgina 11.
DAFNA, E.; TARASIUK, A.; ZIGEL, Y. Automatic detection of whole night snoring
events using non-contact microphone. Plos One, n. 8, 2013. Citado 4 vezes nas pginas
11, 12, 13 e 14.
FOX, S.; DUGGAN, M. Mobile health 2012. Pew Internet, 2012. Citado na pgina 9.
FREUND, Y.; SCHAPIRE, R. E. A decision-theoretic generalization of on-line learning
and an application to boosting. Journal of Computer and Systems Sciences, n. 55, p.
119139, 1997. Citado na pgina 14.
LIU, C. Status and trends of mobile-health applications for ios devices: A developers
perspective. The journal of Systems and Software, n. 84, p. 20222033, 2011. Citado na
pgina 9.
P.K., D. et al. Performance comparison of machine learning algorithms and number of
independent components used in fmri decoding of belief vs. disbelief. Neuroimage, n. 52,
p. 544553, 2011. Citado na pgina 15.
RAM, S. et al. Prevalence and impact of sleep disorders and sleep habits in the united
states. Sleep Breath, n. 14, p. 6370, 2009. Citado na pgina 9.
SCALART, P.; FILHO, J. V. Speech enhancement based on a priori signal to noise
estimation. Acoustics, Speech and Signal Processing, n. 2, p. 629632, 1996. Citado na
pgina 12.

Você também pode gostar