Post on 08-Jul-2022
UNIVERSIDADE VALE DO RIO DOCE - UNIVALE FACULDADE DE CIÊNCIAS TECNOLÓGICAS - FATEC
CIÊNCIA DA COMPUTAÇÃO
Euclides dos Santos Júnior
Victor Hugo Amaral Almeida
APLICAÇÃO DA REDE NEURAL ARTIFICIAL NA IDENTIFICAÇÃO DE PADRÕES EM ELETROCARDIOGRAMA
Governador Valadares
2011
EUCLIDES DOS SANTOS JÚNIOR
VICTOR HUGO AMARAL ALMEIDA
APLICAÇÃO DA REDE NEURAL ARTIFICIAL NA IDENTIFICAÇÃO DE PADRÕES EM ELETROCARDIOGRAMA
Trabalho de conclusão de curso submetido à Universidade Vale do Rio Doce como parte dos requisitos para a obtenção do grau de bacharel em Ciências da Computação.
Orientador: Prof. Claudio Humberto
J de Sousa
Governador Valadares
2011
EUCLIDES DOS SANTOS JÚNIOR
VICTOR HUGO AMARAL ALMEIDA
APLICAÇÃO DA REDE NEURAL ARTIFICIAL NA IDENTIFICAÇÃO DE PADRÕES EM ELETROCARDIOGRAMA
Monografia apresentada como requisito para
obtenção do grau de bacharel em Ciência da
Computação pela Faculdade de Ciências
Tecnológicas da Universidade Vale do Rio Doce
Governador Valadares, ___ de ____________ de _____.
Banca Examinadora:
__________________________________________
Prof. Claudio Humberto J. de Sousa - Orientador
Universidade Vale do Rio Doce
__________________________________________
Prof. Dr. João Batista Pozzato – Co-orientador
Universidade Vale do Rio Doce
________________________________________
Prof. Rossana Cristina Moraes
Universidade Vale do Rio Doce
AGRADECIMENTOS
Agradecemos a Deus por nos conceder sabedoria, determinação e saúde,
imprescindíveis para o desenvolvimento do projeto.
A nossos pais por incentivar, apoiar e financiar nossa caminhada por todo o curso.
A nossos familiares por sempre se mostrarem interessados no desenvolvimento do
projeto.
Ao professor Claudio Humberto pela orientação dada, sempre nos incentivando e
auxiliando no entendimento das Redes Neurais Artificiais.
Ao professor Dr. João Batista pelas ricas explicações a respeito do coração. Pelo
grande incentivo dado e por acreditar em nosso projeto, nos mostrando o potencial
de utilização do mesmo.
Aos médicos cardiologistas Érico Netto e Rogério Santana por prontamente nos
receber e nos ajudar no entendimento do eletrocardiograma.
A professora Rossana Cristina Moraes, pelo grande incentivo dado desde o início do
projeto.
A professora Adriana Claudia pela ajuda no entendimento das normas técnicas para
o desenvolvimento do projeto.
A todos que, direta e indiretamente, contribuíram para que este projeto fosse
desenvolvido.
O nosso muito obrigado.
“Você tem que encontrar o que você
gosta. E isso é verdade tanto para o seu
trabalho quanto para seus companheiros. Seu
trabalho vai ocupar uma grande parte da sua
vida, e a única maneira de estar
verdadeiramente satisfeito é fazendo aquilo
que você acredita ser um ótimo trabalho. E a
única maneira de fazer um ótimo trabalho é
fazendo o que você ama fazer. Se você ainda
não encontrou, continue procurando. Não se
contente.”
Steve Jobs
RESUMO
A Inteligência Artificial é uma área da computação que busca simular o comportamento do cérebro humano para solucionar problemas. A sua utilização tem permitido avanços tanto em linhas de pesquisas quanto no desenvolvimento de aplicações. A área da saúde é uma das que tem sido beneficiada, com soluções que auxiliam o trabalho dos profissionais. Com base nisso, surgiu a proposta de se desenvolver um projeto que consiste no treinamento de uma Rede Neural Artificial, onde se é possível reconhecer padrões em eletrocardiograma e classificá-los de acordo com seu diagnóstico. Os eletrocardiogramas utilizados no projeto eram de pessoas saudáveis e de pessoas diagnosticadas com infarto do miocárdio. O infarto do miocárdio foi escolhido por ser uma das doenças com maior incidência na taxa de mortalidade por doenças cardiovasculares no Brasil. Este texto apresenta um embasamento teórico dos assuntos necessários para o entendimento do projeto, bem como as etapas de desenvolvimento do mesmo. Palavra-chave: Inteligência Artificial. Eletrocardiograma. Rede Neural Artificial. Infarto do Miocárdio.
ABSTRACT
Artificial Intelligence is an area of computing that seeks to simulate the human brain to solve problems. Its use has allowed advances in both lines of research and application development. The health area is one that has benefited, with solutions that support the work of professionals. On this basis it was proposed to develop a project that consists in training an Artificial Neural Network, where you can recognize patterns in ECG and classify them according to their diagnosis. The electrocardiograms were used in the design of healthy people and people diagnosed with myocardial infarction. Myocardial infarction was chosen because it is one of the diseases with the highest incidence rate of cardiovascular mortality in Brazil. This paper presents a theoric background of the aspects that are necessary to understand the design and development phases of it. Keywords: Artificial Intelligence. Electrocardiogram. Artificial Neural Network. Myocardial Infarction.
LISTA DE ILUSTRAÇÕES
Figura 1. Localização do coração. ............................................................................. 12
Figura 2. Anatomia do coração. ................................................................................. 13
Figura 3. Sistema Cardiovascular. ............................................................................. 14
Figura 4. Anatomia do Coração. ................................................................................ 15
Figura 5. Bomba de Sódio(Na+) e Potássio(K+). ........................................................ 17
Figura 6. Estágios da atividade cardíaca representados no eletrocardiograma. ....... 18
Figura 7. Artéria bloqueada por trombo resultando na interrupção do fluxo sanguíneo
............................................................................................................................ 19
Figura 8. ECG ilustrando fibrilação ventricular, exibindo um traçado variável. ......... 19
Figura 9. Aumento da amplitude da onda T. ............................................................. 20
Figura 10. Surgimento da onda Q patológica; onda T se achata e se torna negativa.
............................................................................................................................ 20
Figura 11. Indicadores de infarto do miocárdio. ........................................................ 20
Figura 12. Medidas de tempo e voltagem no eletrocardiograma. ............................. 21
Figura 13. Localização dos eletrodos das seis derivações precordiais. .................... 23
Figura 14. Derivações periféricas. ............................................................................. 23
Figura 15. Estrutura de um neurônio artificial. ........................................................... 27
Figura 16. Rede multicamadas Feedforward. ............................................................ 32
Figura 17. Gráfico da função de ativação Purelin. ..................................................... 33
Figura 18. Gráfico da função de ativação Tansig. ..................................................... 33
Figura 19. Acima, 5 segundos de um exame e abaixo, segmento PQRST separado
do exame. ........................................................................................................... 41
Figura 20. Acima, imagem do segmento PQRST com ruído. Abaixo, imagem do
segmento após aplicar filtro de ruído. ................................................................ 42
Figura 21. Acima, imagem do segmento PQRST antes de ser nivelada ao ponto 0.
Abaixo, após ser nivelado. ................................................................................. 43
SUMÁRIO
1 INTRODUÇÃO .................................................................................................... 10 2 CORAÇÃO .......................................................................................................... 12 2.1 ATIVIDADE ELÉTRICA DO CORAÇÃO ........................................................... 17 2.2 INFARTO DO MIOCÁRDIO .............................................................................. 18 3 ELETROCARDIOGRAMA .................................................................................. 21 3.1 DERIVAÇÕES ................................................................................................... 22 3.1.1 Derivações Precordiais .............................................................................. 22 3.1.2 Derivações Periféricas ............................................................................... 23 4 INTELIGÊNCIA ARTIFICIAL .............................................................................. 24 4.1 APRENDIZADO ................................................................................................ 24 4.1.1 Aprendizado de Máquinas ......................................................................... 25 4.2 REDE NEURAL ARTIFICIAL ............................................................................ 25 4.2.1 Origem da RNA ........................................................................................... 26 4.2.2 Conceitos Básicos ..................................................................................... 28 4.2.3 Representações de Conhecimento ........................................................... 29 4.2.4 Topologia da RNA ...................................................................................... 29 4.2.5 Aprendizado Conexionista ........................................................................ 30 4.2.5.1 Aprendizado Supervisionado ...................................................................... 30 4.2.5.1.1 Treinamento .............................................................................................. 31 4.2.5.1.2 Validação .................................................................................................. 31 4.2.5.1.3 Teste ......................................................................................................... 31 4.2.5.2 Aprendizado Semi-Supervisionado ............................................................. 31 4.2.5.3 Aprendizado Não-Supervisionado .............................................................. 32 4.2.6 Rede Neural Feedforward .......................................................................... 32 4.2.7 Backpropagation ........................................................................................ 32 4.2.8 Funções de Ativação .................................................................................. 33 4.2.8.1 Purelin (Linear) ............................................................................................ 33 4.2.8.2 Tansig (Sigmoidal) ...................................................................................... 33 5 METODOLOGIA .................................................................................................. 34 5.1 PESQUISAS ..................................................................................................... 34 5.1.1 Entrevistas .................................................................................................. 34 5.1.2 Visitas à Clínica .......................................................................................... 35 5.2 OBTENÇÃO DOS DADOS ............................................................................... 36
5.3 IMPLEMENTAÇÃO ........................................................................................... 37 5.3.1 Ferramentas Utilizadas .............................................................................. 37 5.3.1.1 Bibliotecas de Software ............................................................................... 37 5.3.2 Treinamento da RNA .................................................................................. 38 5.3.3 Tratamento dos Dados ............................................................................... 39 5.3.3.1 Identificação dos Segmentos ...................................................................... 39 5.3.3.2 Aplicação de Filtro de Ruído ....................................................................... 41 5.3.3.3 Nivelamento da Onda ................................................................................. 42 5.3.4 Testes .......................................................................................................... 43 6 CONCLUSÃO ...................................................................................................... 44 7 REFERÊNCIAS ................................................................................................... 45
10
1 INTRODUÇÃO
A cada ano as ferramentas computacionais têm ficado cada vez mais
poderosas, permitindo que avanços sejam feitos em diversas áreas de
conhecimento. A área da saúde é uma das que são beneficiadas por estes avanços.
O profissional de saúde tem tido grande suporte na realização do diagnóstico
e tratamento de doenças utilizando ferramentas computacionais. Esse apoio é
importante pois permite um diagnóstico rápido e preciso.
O ECG (eletrocardiograma) é um dos exames mais utilizados para a
identificação de doenças cardíacas, pois além de ser um método simples e seguro
de ser realizado, possui também um baixo custo, o que tem incentivado estudos na
área (SOCIEDADE BRASILEIRA DE CARDIOLOGIA, 2003). Utilizando o
eletrocardiógrafo, pode-se verificar fenômenos que se originam durante a atividade
cardíaca (RAMOS; SOUSA, 2011). As informações registradas correspondem aos
sinais elétricos gerados pelo coração, captados através de eletrodos posicionados
ao longo de diversas áreas do tórax, braços e pernas (SOCIEDADE BRASILEIRA
DE CARDIOLOGIA, 2003).
Para se fazer a análise, é necessário interpretar as derivações do ECG, onde
a ideia central é analisar o coração de diferentes ângulos, ou seja, cada derivação
representa um par de eletrodos que registra uma visão diferente da mesma atividade
cardíaca (RAMOS; SOUSA, 2011). Ao todo existem 15 derivações, porém apenas
12 são analisadas em um exame regular (DUBIN, 1999).
A aplicação da Inteligência Artificial ao eletrocardiograma torna possível o
reconhecimento de padrões e a identificação de doenças cardíacas através da
análise das ondas geradas no exame. As RNAs (Redes Neurais Artificiais) têm sido
uma alternativa para o uso no reconhecimento de padrões. Elas são, basicamente,
modelos matemáticos que obtém conhecimento através do aprendizado automático,
adquirido através de um conjunto de dados de entrada previamente informados.
(SIGULEM et al, 1998).
Certos fatores podem influenciar o diagnóstico realizado pelo médico, como: a
quantidade de atendimentos realizados no decorrer do dia, o estado emocional e
físico do médico e a falta de experiência na área (SOCIEDADE BRASILEIRA DE
CARDIOLOGIA, 2003). Com isso, surge a necessidade da utilização de uma
11
ferramenta capaz de realizar uma análise automatizada, com um nível de precisão
satisfatório, diferenciando um exame saudável de um exame com alguma doença
cardíaca, auxiliando assim o diagnóstico médico.
Neste projeto será abordado o desenvolvimento de uma RNA capaz de
identificar eletrocardiogramas de pessoas saudáveis e de pessoas diagnosticadas
com infarto do miocárdio. Serão vistas as etapas para realizar o treinamento,
validação e teste da rede utilizando a suíte de desenvolvimento MatLab. Por fim será
apresentado o resultado obtido no treinamento da RNA.
12
2 CORAÇÃO
O coração é um poderoso músculo oco que trabalha como centro motor do
sistema circulatório. Ele possui a forma de uma pera, seu tamanho é de um punho
fechado e seu peso é de aproximadamente 255g. Ele está situado no tórax, entre os
pulmões, com seu vértice voltado para baixo, apontando para a esquerda, onde
pode-se sentir suas batidas. O coração encontra-se envolto por uma membrana
fibrosa chamada pericárdio. O pericárdio tem a função de eliminar a fricção nos
movimentos do coração, manter a posição adequada do órgão e limitar sua
dilatação. (FISHBEIN, 1967, p. 178).
Figura 1. Localização do coração.
Fonte: COWLES, 2011
Sob o pericárdio, encontra-se o miocárdio, que é uma grossa parede
muscular responsável pelas contrações e expansões do coração. No interior do
miocárdio encontra-se uma fina camada de tecido liso chamada endocárdio. Ela
permite que o sangue corra facilmente sobre ela. Qualquer inflamação nas camadas
interiores dos tecidos citados origina enfermidades conhecidas como pericardite,
miocardite e endocardite. (PORTAL SÃO FRANCISCO, 2011).
O interior do coração divide-se em duas cavidades principais. Estas duas
cavidades são semelhantes em sua estrutura, porém não há comunicação direta
entre elas. Cada uma delas contém duas câmaras chamadas átrio e ventrículo. Os
13
átrios são responsáveis por receber o sangue das veias. O átrio esquerdo recebe o
sangue rico em oxigênio, chamado arterial, vindo do pulmão; o átrio direito recebe o
sangue venoso, pobre em oxigênio. O ventrículo esquerdo tem a função de bombear
sangue vindo do pulmão, rico em oxigênio, para o restante do corpo; o ventrículo
direito bombeia o sangue vindo do corpo, pobre em oxigênio, para os pulmões. Cada
uma destas câmaras é possui válvulas que fazem com que o sangue mova somente
em uma direção. Ao todo são quatro câmaras e elas atuam em sincronia perfeita,
por isso, a corrente sanguínea encontra-se em movimento contínuo no organismo.
(FISHBEIN, 1967).
Figura 2. Anatomia do coração.
Fonte: Portal São Francisco, 2011
Depois de circular por todo o corpo, o sangue chega ao átrio direito através
das veias cavas. Ocorre então a contração do átrio, fazendo com que o sangue
passe pela válvula tricúspide e chegue ao ventrículo direito. O ventrículo direito
impulsiona o sangue através da válvula pulmonar, passando pela artéria pulmonar e
chegando aos pulmões. Nos pulmões, o sangue deixa o dióxido de carbono, recolhe
oxigênio e então, retorna ao átrio esquerdo pelas veias pulmonares. Saindo do átrio
esquerdo, o sangue oxigenado passa pela válvula mitral e chega ao ventrículo
esquerdo, este por sua vez, se contrai e envia o sangue, através da válvula aórtica,
para as artérias encarregadas de levá-lo a todo o corpo. O ventrículo esquerdo
14
assume o papel de bomba principal, possuindo, por isso, parede muscular mais
forte. (WECKER, 2011).
Os dois átrios contraem-se ao mesmo tempo, movimento chamado sístole
auricular. Esta contração obriga o sangue a passar aos ventrículos e após, ocorre o
relaxamento dos átrios, chamada de diástole ou dilatação. Durante a última parte da
diástole auricular e todo o período da sístole, os ventrículos permanecem relaxados
e recebem o sangue, momento chamado diástole ventricular. Imediatamente antes
de terminar a diástole ventricular, os átrios começam a contrair-se novamente,
enviando amis sangue aos ventrículos. Neste momento, a pressão no interior dos
ventrículos aumenta, e quando ela excede a pressão nas grandes artérias, estas se
abrem e ocorre a contração ventricular, chamada sístole. Abrem-se as válvulas que
se comunicam com as artérias e o sangue penetra no sistema arterial. Esta série
regular de contrações e relaxamentos rítmicos e de movimentos valvulares
síncronos recebe o nome de ciclo cardíaco. (WECKER, 2011).
Figura 3. Sistema Cardiovascular.
Fonte: WECKER, 2011
15
Toda a ação rítmica do coração é regulada por sua especial estrutura de
músculos e fibras nervosas, onde estas se concentram em dois pontos ou nódulos,
ramificadas em finas terminações que chegam a todas as partes do coração. Um
destes nódulos, chamado sinoatrial (SA), encontra-se inserido no tecido muscular da
parede do átrio direito, onde atua como regulador do coração ao enviar os impulsos
rítmicos que provocam a contração dos átrios. O outro nódulo, chamado
atrioventricular (AV), está na parte inferior da parede atrial direita e desempenha o
papel de regulador dos impulsos dos ventrículos. As contrações e expansões
combinadas das quatro câmaras do coração produzem as batidas, que podem ser
ouvidas na superfície do tórax. (FISHBEIN, 1967, p. 179).
Figura 4. Anatomia do Coração.
Fonte: ANATOMIA, 2011
Embora o coração possua seus próprios sistemas de controle de ritmo, a
ação cardíaca se torna mais eficaz ao receber impulsos reguladores vindos do
sistema nervoso central. O sistema nervoso é conectado com o coração através de
dois grupos diferentes de nervos, os sistemas parassimpático e simpático. Quando
os nervos parassimpáticos são estimulados, eles fazem com que ocorra uma
diminuição da frequência dos batimentos cardíacos, diminuição da força de
16
contração do músculo atrial, diminuição na velocidade de condução dos impulsos
através do nódulo AV (atrioventricular), aumentando o período de retardo entre a
contração atrial e ventricular, e causa a diminuição do fluxo sanguíneo através dos
vasos coronários. Para resumir, a estimulação parassimpática diminui todas as
atividades do coração. Usualmente, isto ocorre em período de repouso, ajudando a
preservar os recursos do coração e diminuir o desgaste do órgão. (RAMOS;
SOUSA, 2007)
Em contrapartida, a estimulação dos nervos simpáticos causa efeitos opostos,
como o aumento da frequência cardíaca, aumento da força de contração e aumento
do fluxo sanguíneo através dos vasos coronários, visando suprir o aumento da
nutrição do músculo cardíaco. A estimulação simpática, então, aumenta a atividade
cardíaca, aumentando a capacidade de bombeamento de sangue. Esse efeito é
necessário quando o indivíduo é submetido a situações de estresse, como exercício
físico, doença, calor excessivo, e outras condições que exigem um rápido fluxo
sanguíneo através do sistema circulatório.
Os neurônios pós-ganglionares do sistema nervoso simpático secretam
principalmente noradrenalina, por isso são chamados neurônios adrenérgicos. A
estimulação simpática do cérebro também promove a secreção de adrenalina pelas
glândulas supra-renais. Este hormônio é responsável pela taquicardia (batimento
cardíaco acelerado), pelo aumento da pressão arterial e da frequência respiratória,
resultando em aumento da secreção do suor, da glicose sanguínea e da atividade
mental, além da constrição dos vasos sanguíneos da pele.
O neurotransmissor secretado pelos neurônios pós-ganglionares do sistema
nervoso parassimpático é a acetilcolina, por isso são chamados colinérgicos.
Geralmente, eles possuem efeito contrário aos neurônios adrenérgicos. Sua
estimulação causa bradicardia (redução dos batimentos cardíacos), diminuição da
pressão arterial e da frequência respiratória, relaxamento muscular e outros efeitos
contrários aos da adrenalina. (FISHBEIN, 1967).
Ao contrair-se, o coração produz em seus tecidos correntes elétricas bastante
fortes para alcançar a superfície do corpo, podendo ser medidas com instrumentos
elétricos especiais (FISHBEIN, 1967). O eletrocardiógrafo, por exemplo, registra
essas correntes numa fita quadriculada, exame ao qual dá-se o nome de
eletrocardiograma.
17
2.1 ATIVIDADE ELÉTRICA DO CORAÇÃO
Para que haja atividade elétrica no coração, é necessário que ocorram
diversos processos fisiológicos. Inicialmente, estando a célula miocárdica em
repouso, ela apresenta alta concentração de sódio em seu interior, e no meio
externo, alta concentração de potássio. Conforme vai ocorrendo a ativação celular,
ocorrem trocas iônicas, fazendo com que a célula fique positiva e o meio extracelular
fica negativo. A repolarização da célula faz com que ela volte às condições iniciais.
Dessa forma, têm-se uma onda progressiva de despolarização, ou, onda de cargas
positivas. (RAMOS; SOUSA, 2007)
Figura 5. Bomba de Sódio(Na+) e Potássio(K+).
Fonte: ANATOMIA, 2011
A origem do estímulo de despolarização cardíaca é no nódulo sinusal,
localizado no átrio direito. Quando o impulso elétrico se espalha pelos dois átrios, de
forma concêntrica, é produzida a onda P, verificada no ECG. Então, a onda de
despolarização segue até o nódulo atrioventricular (AV), onde ocorre uma pausa de
aproximadamente 1/10 de segundo até que o estímulo aja realmente sobre o nódulo,
permitindo que o sangue entre nos ventrículos. Este intervalo pode ser verificado
pelo segmento P-R. Após a pausa, o impulso alcança o nódulo AV, o qual
retransmite o impulso elétrico para os ventrículos através do “feixe de His” (figura 4),
18
pelos ramos direito e esquerdo, e das “fibras de Purkinje“ (figura 4), o que resulta na
contração dos ventrículos. Essa despolarização ventricular forma o chamado
“complexo QRS”. (RAMOS; SOUSA, 2007)
Após o complexo QRS, existe uma pausa, sendo esta representada pelo
segmento ST. Após essa pausa, ocorre a repolarização do ventrículo e, então, o
relaxamento ventricular, formando a onda T. Ocorre então a repolarização atrial, e
todo o processo é reiniciado.
Figura 6. Estágios da atividade cardíaca representados no eletrocardiograma.
Fonte: Manual Merck, 2011
2.2 INFARTO DO MIOCÁRDIO
O infarto do miocárdio ocorre quando há uma redução ou corte do suprimento
de sangue a uma parte do músculo cardíaco. Isso acontece quando uma artéria
coronária está obstruída parcial ou totalmente. Com a falta de suprimento de
sangue, o músculo cardíaco sofre um dano irreversível, acarretando sua parada,
podendo levar à morte súbita, morte tardia ou insuficiência cardíaca. (O ATAQUE,
2011)
19
Figura 7. Artéria bloqueada por trombo, resultando na interrupção do fluxo sanguíneo.
Fonte: PORTAL SÃO FRANCISCO, 2011
Em raros casos, o infarto agudo pode acontecer em pessoas com artérias
coronárias normais. Este fato ocorre quando as coronárias apresentam um
espasmo, contraindo-se violentamente e produzindo um déficit parcial ou total de
suprimento de sangue ao músculo cardíaco.
De acordo com Carneiro (1992), o infarto agudo apresenta três fases, sendo
elas, a superaguda, aguda e crônica. Um indicador de infarto agudo do miocárdio é
um aplanamento do segmento ST, verificável através do eletrocardiograma. Quando
se encontra na fase superaguda, existe um supradesnível de ST e aumento da
amplitude da onda T. Na fase inicial da superaguda é o pior momento da evolução,
pois pode ocorrer uma fibrilação ventricular.
Figura 8. ECG ilustrando fibrilação ventricular, exibindo um traçado variável.
Fonte: COLLECTION, 2011
20
Figura 9. Aumento da amplitude da onda T.
Fonte: MISODOR, 2011
Figura 10. Surgimento da onda Q patológica;
onda T se achata e se torna negativa. Fonte: MISODOR, 2011
A evolução do infarto agudo é observada no traçado, apresentando uma
inversão da onda T e o aparecimento da onda Q patológica. Depois de algumas
semanas, o segmento ST volta à linha de base e a onda T pode manter-se invertida.
A onda Q patológica persiste, como marca de que já houve um infarto previamente.
Algumas vezes, a onda R pode apresentar amplitude reduzida em relação ao
traçado antes do infarto. Dentro de alguns anos, pode ocorrer o desaparecimento da
onda Q patológica. (CARNEIRO, 1992)
Figura 11. Indicadores de infarto do miocárdio.
Fonte: MISODOR, 2011
21
3 ELETROCARDIOGRAMA O ECG é um exame feito através da monitoração dos sinais cardíacos. Esta
técnica passou a ser utilizada após os estudos de Willian Einthoven, onde em suas
pesquisas, ele mostrou o relacionamento entre os potenciais elétricos gerados pelo
ECG com possíveis doenças cardíacas. Einthoven mostrou também as subdivisões
das principais ondas que compõem os pulsos gerados pelo coração, sendo elas: P,
Q, R, S e T. Esses pulsos formam o ciclo cardíaco. Este estudo lhe rendeu o premio
Nobel em 1924 (MELCO, 2007).
Inicialmente, o ECG foi utilizado para detectar arritmias tratáveis em pacientes
com Infarto Agudo do Miocárdio (IAM). Através da detecção e utilização de
desfibriladores cardíacos e marca-passos, foi possível reduzir o índice de
mortalidade no final dos anos 60. Com isso, o ECG se popularizou e passou a ser
usado em UTIs (Unidades de Tratamento Intensivo), tornando-se um dos métodos
mais importantes na detecção de doenças cardíacas (MELCO, 2007).
Para realizar o exame, utiliza-se o eletrocardiógrafo, este aparelho é capaz de
medir a diferença de potencial entre dois pontos. Os eletrodos são posicionados em
determinadas partes do corpo e então capturam os sinais de corrente. O resultado
do exame é registrado em um papel quadriculado, dividido em quadros de 1mm,
onde a cada grupo de cinco quadros na horizontal e na vertical, têm-se um quadro
maior. Este quadro maior equivale a 0,2 segundos no eixo horizontal (tempo) e 0,5
mV no eixo vertical (voltagem) (RAMOS; SOUSA, 2007).
Figura 12. Medidas de tempo e voltagem no eletrocardiograma.
Fonte: HOWMED, 2011
22
Um ECG normal é composto de uma onda P, o complexo QRS e uma onda T.
A onda P é resultado das correntes geradas pela despolarização dos átrios, antes de
sua contração. O complexo QRS é composto pelas ondas Q, R e S, e é resultado da
despolarização dos ventrículos antes da contração. A onda T é a onda de
repolarização ventricular, causada por correntes geradas enquanto os ventrículos se
recuperam do estado de despolarização. Cada batimento cardíaco normal possui o
conjunto das principais ondas do ciclo cardíaco (SPODE, 2001).
3.1 DERIVAÇÕES
Para entender como é feita a análise de um ECG, é necessário compreender
o funcionamento da atividade elétrica do coração. Para isso, utiliza-se o sistema de
derivações, o qual reflete toda a atividade elétrica do órgão (DUBIN, 1999). As
derivações são visualizações de um vetor de impulso elétrico do coração que
possuem direção e sentido (MELCO, 2007). Elas permitem visualizar a atividade
cardíaca de diferentes pontos, captados através de eletrodos conectados ao longo
do corpo.
O registro de cada eletrodo é chamado de derivação, onde cada derivação
representa um ciclo cardíaco em um determinado ponto, permitindo então uma vista
de vários ângulos (DUBIN, 1999). As derivações são definidas de acordo com o
posicionamento dos eletrodos, podendo ser no plano horizontal, também chamado
de derivações precordiais, ou no plano frontal, chamado de derivações periféricas.
A partir da avaliação desses registros, é possível verificar se houve alteração
no ciclo cardíaco, pois isto reflete no comportamento das ondas, sendo assim
possível identificar doenças cardíacas (DUBIN, 1999).
3.1.1 Derivações Precordiais Também conhecidas como derivações de plano horizontal, as derivações
precordiais medem a diferença de potencial entre o tórax e o coração. São seis as
derivações que compõem este plano, sendo elas V1, V2, V3, V4, V5 e V6. Cada
derivação possui um eletrodo correspondente situado em posições específicas sobre
o tórax. (RAMOS; SOUSA, 2007)
23
Figura 13. Localização dos eletrodos das seis derivações precordiais.
Fonte: RAMOS; SOUSA, 2007
3.1.2 Derivações Periféricas Este grupo de derivações mede a diferença de potencial entre os membros e
o coração. É composto por seis derivações, que são, D1, D2, D3, aVR, aVL e aVF.
Cada eletrodo deve ser devidamente posicionado para que todas as derivações
sejam medidas de forma correta. Nesse plano se verifica o triângulo de Einthoven,
quando se posiciona um eletrodo no braço direito, um eletrodo no braço esquerdo e
um na perna esquerda, formando um triângulo. Na perna direita deve-se colocar o
fio terra para estabilizar o traçado do exame. Com o triângulo formado, traça-se três
linhas de referência, cruzando o tórax e obtendo-se, assim, uma intersecção, pela
qual, têm-se as derivações D1, D2 e D3. Então, acrescenta-se três linhas de
referencia nesta intersecção, com ângulo de 30 graus entre elas. Dessa forma
obtém-se as derivações aVR, aVL e aVF. (RAMOS; SOUSA, 2007)
Figura 14. Derivações periféricas.
Fonte: RAMOS; SOUSA, 2007
24
4 INTELIGÊNCIA ARTIFICIAL Inteligência significa aquilo que possibilita o ser humano a escolher entre uma
coisa ou outra. Inteligência é a habilidade de realizar determinada tarefa de forma
eficiente.
Artificial significa algo não natural, isto é, produzido pelo homem. Assim,
inteligência artificial é um tipo de inteligência produzida pelo homem para colocar na
maquina algum tipo de habilidade que simula ou mais se aproxima da inteligência
humana. (FERNANDES, 2005).
Inteligência artificial é a parte da ciência da computação voltada para o
desenvolvimento de sistemas que exibem características, as quais se associam com
a inteligência no comportamento humano – por exemplo: compreensão da
linguagem, aprendizado, raciocínio, resolução de problemas, etc. (FEIGENBAUM,
1981).
Os principais modos de se trabalhar com inteligência artificial são: Algoritmos
Genéricos, Programação Evolutiva, Lógica Fuzzy, Sistemas Baseados em
Conhecimento, Raciocínio Baseado em Casos, Programação Genética e Redes
Neurais.
Para que se possa entender uma ação inteligente, é necessária uma análise
de todos os aspectos relacionados à aquisição e desenvolvimento da inteligência. O
conhecimento é o que faz com que sejam possíveis o encadeamento e
desenvolvimento da inteligência. Através desse raciocínio, fica bem clara a
necessidade de adquirir conhecimento voltado para sistemas computacionais de
inteligência artificial. Para se utilizar o conhecimento num sistema computacional, há
a necessidade de realizar uma estruturação do que será utilizado pelo sistema.
(FERNANDES, 2005).
4.1 APRENDIZADO
Segundo Lévy (1993) aprendizado é a capacidade de se adaptar, de
modificar, melhorar seu comportamento e suas respostas, representar o
conhecimento adquirido e interagir com o meio através de experimentações e
descobertas sendo, portanto uma das propriedades mais importantes dos seres que
se jugam inteligente, sejam humanos ou não. A capacidade de aprender tem certa
dependência de alguns itens:
25
a) Adaptação: É uma mudança de comportamento voltada para a evolução, melhorar seguindo algum critério. Seja um sistema biológico ou um sistema artificial que não é capaz de evoluir ou mudar seu comportamento diante de novas situações que lhe são propostas é considerado um sistema sem inteligência;
b) Correção: Nada mais é do que uma simples correção de erros cometidos no passado, de modo que não se repitam no futuro, erros que são cometidos no momento que é feita a adaptação. O sistema deve modificar seu comportamento caso o comportamento atual não seja satisfatório a algum tipo de exigência;
c) Interação: Pode ser definida como a interação com o meio, pois é através desse contato com o mundo que nos cerca que podemos trocar experiências ou realizar experiências, de forma a adquirir novos conhecimentos;
d) Otimização: É considerada uma melhoria do desempenho do sistema como um todo. O Aprendizado pode implicar em uma mudança no comportamento buscando a economia de energia gasta para realizar uma tarefa, ou até mesmo uma redução no tempo gasto para se realizar uma tarefa;
e) Representação: Representa-se o conhecimento adquirido. O sistema deve ser capaz de armazenar uma massa muito grande de conhecimento, e isso requer uma forma de representar estes conhecimentos que permita ao sistema explorá-los de maneira conveniente.
4.1.1 Aprendizado de Máquinas Aprendizado de máquina (ou “machine learning”) é uma área da inteligência
artificial que estuda métodos computacionais para adquirir novos conhecimentos
bem como meios de organizar o conhecimento já existente. O objetivo do
aprendizado de máquina é programar computadores para aprender um determinado
comportamento ou padrão automaticamente a partir de exemplos ou observações.
(OSÓRIO; VIEIRA, 1999)
4.2 REDE NEURAL ARTIFICIAL
Redes Neurais Artificiais são sistemas computacionais estruturados numa
aproximação à computação baseada em ligações. É formada por uma ligação de
nós ou neurônios, por isso o nome “rede“. Esta técnica foi inspirada no
comportamento do cérebro, especificamente, dos neurônios, que se interligam em
redes biológicas. (FERNANDES, 2005)
26
Na Rede Neural, o neurônio é a unidade computacional básica; a arquitetura
é uma estrutura topológica da forma que os neurônios são conectados; e a
aprendizagem da rede é um processo que a adapta de modo a computar uma
função desejada ou realizar uma tarefa.
Segundo Lippmann (1997, apud FERNANDES 2005), graças a uma grande
quantidade de interconexões entre os nós da rede, as Redes Neurais Artificiais são
capazes de adquirir, armazenar e utilizar conhecimentos experimentais para
alcançar uma boa performance. Elas também são conhecidas como: modelos
conexionistas, modelos de processamento paralelo distribuído e sistemas
neuromorfológicos.
4.2.1 Origem da RNA As primeiras informações sobre estudos na área da “computação neural”
surgiram em 1943, em artigos criados pelo neuroanatomista e psiquiatra Warren
McCulloch, do Instituto de Tecnologia de Massachusetts, e do matemático Walter
Pitts, da Universidade de Illinois. Sendo que alguns anos depois, em 1949, Donald
Olding Hebb publicava uma importante obra, o livro “The Organization of Behaviour”
(A organização do Comportamento) que influenciou vários modelos de RNAs de
destaque na atualidade. (FERNANDES, 2005)
Uma operação de uma unidade de processamento foi proposta por McCulloch
e Pitts em 1943, e ela pode ser resumida da seguinte maneira:
a) Sinais são apresentados à entrada; b) Cada sinal é multiplicado por um número, ou peso, que indica a sua
influência na saída da unidade; c) É feita a soma ponderada dos sinais que produz um nível de atividade; d) Se esse nível de atividade exceder certo limite (threshold) a unidade
produz uma determinada resposta de saída.
27
Figura 15. Estrutura de um neurônio artificial.
Fonte: CARVALHO, 2011
Em 1959 Frank Rosenblatt criou uma rede de múltiplos neurônios do tipo
discriminadores lineares e a batizou de Rede Perceptron. Rosenblatt baseou-se nas
linhas de pensamento de McCulloch e Pitts para desenvolver seu modelo.
Enquanto Rosenblatt trabalhava no Perceptron, Bernard Widrow da
Universidade de Stanford desenvolvia um novo modelo de processamento batizado
de Adaline. As redes Adaline se destacavam pela poderosa lei de aprendizado e o
princípio de treinamento que ficou conhecido como Regra Delta. (BRAGA;
CARVALHO; LUDERMIR, 2000).
Em 1969 os modelos baseados no Peceptron receberam uma dura crítica
feita por Minsky e Papert, em que estes provaram matematicamente que os modelos
de redes neurais baseados no Perceptron (redes de um só nível, o que na época era
o tipo de rede de Perceptron utilizado), não eram capazes de aprender uma simples
função lógica do tipo “Ou Exclusivo” (Exclusive Or - XOR). A função XOR possui um
padrão de valores de entrada e de saída cuja associação não podia ser aprendida
pelos modelos de redes baseadas em Perceptron disponíveis naquela época.
(CARVALHO, 2011).
Um período de pesquisas silenciosas seguiu-se até a década de 80, quando
surgiram novos modelos que deram um renovado impulso às redes neurais,
estabelecendo um campo concreto para o renascimento da área. Em 1982 surgia
um modelo importante de rede criado por John Hopfield, renomado físico de
reputação mundial, que se interessou pela neurocomputação e escreveu artigos que
percorreu o mundo todo, persuadindo centenas de cientistas, matemáticos e
tecnólogos altamente qualificados a se unirem nessa nova área emergente.
O modelo que Hopfield criou era baseado em um tipo de rede diferente dos
modelos fundamentados no Perceptron, tratando-se de uma rede com conexões
28
recorrentes e com um comportamento que tinha por base a competição entre os
neurônios, onde o aprendizado era não supervisionado.
Outros modelos similares ao modelo de Hopfield surgiram pouco depois, onde
podemos citar alguns como, por exemplo: a máquina de Boltzmann e o BAM (Binary
Associative Memory). (CARVALHO, 2011).
A década de 80 ficou também marcada profundamente pelo reaparecimento
das redes baseadas em Perceptron. Isso deveu-se ao desenvolvimento dos
computadores, que eram cada vez mais velozes e permitiam realizar melhores
simulações das redes neurais, bem como o desenvolvimento de modelos
matemáticos que permitiram a solução do problema apontado por Minsky e Papert.
Também podemos associar em parte este renascimento das redes neurais ao
suposto desencanto com a Inteligência Artificial clássica. O modelo que permitiu o
ressurgimento das redes baseadas em Perceptron foi o das redes multinível, onde o
novo algoritmo de aprendizado chamado Back-Propagation (Retropropagação)
desenvolvido por Rumelhart, Hinton e Williams, eu 1986, resolveu eu grande parte
os problemas de aprendizado existentes até então. (BRAGA; CARVALHO;
LUDERMIR, 2000).
Além dos modelos de Hopfield e do modelo de redes multinível com Back-
Propagation (chamado de Multi-Layer Perceptron - MLP), outro modelo importante
que surgiu nesta década foi o modelo de Kohonen, muito interessante, pois permite
o aprendizado competitivo com uma auto-organização da rede neural, criando os
chamados “mapas de atributos auto-organizáveis” (self-organizing maps).
Por fim, o último modelo de destaque neste período, foi o modelo ART
(Adaptive Ressonance Theory) criado por Gail Carpenter e Stephen Grossberg. Este
modelo possui um aprendizado do tipo não supervisionado, criando protótipos
(clusters) dos padrões aprendidos. O modelo ART teve diversas versões posteriores,
entre elas versões do tipo semi-supervisionado e com o uso de conceitos de logica
nebulosa (Fuzzy-ART).
4.2.2 Conceitos Básicos Uma rede artificial consiste de um agrupamento de unidades simples de
processamento que se comunicam enviando sinais uma para a outra a partir de um
grande número de conexões e seus pesos.
29
Dentro de uma rede neural é interessante distinguir três tipos de unidades: as
unidades de entrada que recebem dados de fora da rede neural, unidades de saída
que mandam o sinal pra fora da rede, e as unidades escondidas (ou “hidden”) das
quais os sinais de entrada e saída continuam dentro da rede. (FERNANDES, 2005).
4.2.3 Representações de Conhecimento A representação de conhecimentos nas redes conexionistas, como diz o
próprio nome, é fortemente ligada a noção de conexão de neurônios (elementos
processadores de informação) que interagem uns com os outros através destas
ligações. O modelo conexionista possui sua origem nos estudos feitos sobre as
estruturas de nosso cérebro (sofrendo uma grande simplificação do modelo original)
onde encontramos no modelo artificial, que é simulado, elementos como os
neurônios e as suas conexões, chamada de sinapses (PAULESKY, 2002).
O conhecimento de uma RNA está codificado na estrutura da rede, onde se
destacam as conexões (sinapses) entre as unidades (neurônios) que a compõe.
Nestas redes artificiais obtidas por simulação em computadores, associamos a cada
conexão um peso sináptico (valor numérico) que caracteriza a força da conexão
entre dois neurônios. O aprendizado em uma RNA é realizado por um processo de
adaptação dos seus pesos sinápticos.
Uma vez que os conhecimentos da rede estão codificados na estrutura de
interconexões entre os neurônios e nos pesos associados a estas conexões, fica
muito difícil para um ser humano realizar uma análise e interpretação dos
conhecimentos adquiridos por uma RNA. Os conhecimentos das redes se resumem
a um conjunto de valores numéricos descrevendo as conexões, e por consequência,
estes valores descrevem também o comportamento da rede. Entretanto, para um ser
humano estes dados não fazem muito sentido.
4.2.4 Topologia da RNA Uma RNA deve possuir, no mínimo, duas camadas: a camada de entrada e a
camada de saída dos resultados. Caso se utilize apenas duas camadas, o
desempenho da rede será muito limitado, não alcançando o resultado esperado,
sendo, então, necessário adicionar uma camada intermediária na estrutura da rede.
30
Nesta configuração, cada neurônio está ligado com todos os outros das camadas
vizinhas, porém neurônios da mesma camada não se comunicam.
Segundo Fernandes (2005), quanto mais camadas de neurônios, melhor é o
desempenho da rede neural, aumentando a capacidade de aprendizado e
melhorando a precisão com que ela delimita regiões de decisão. As regiões de
decisão são intervalos fixos onde a resposta pode ser encontrada. A camada de
entrada possui um neurônio especial chamado “bias“, o qual serve para aumentar os
graus de liberdade, ou seja, permite melhor adaptação da rede neural ao problema
proposto.
4.2.5 Aprendizado Conexionista O aprendizado conexionista utiliza redes neurais, que são construções
matemáticas não lineares altamente interconectadas inspiradas no fenômeno de
aprendizado do cérebro humano. As conexões entre os neurônios artificiais
possuem pesos que são obtidos através do treinamento, ou seja, o conhecimento
adquirido durante o treinamento de uma rede neural fica armazenado nos pesos das
ligações entre os neurônios artificiais. Muitas são as aplicações práticas das redes
neurais, como por exemplo, reconhecimento de imagens.
O aprendizado conexionista é em geral um processo gradual e iterado, onde
os pesos são modificados várias vezes, pouco à pouco, seguindo-se uma regra de
aprendizado que estabelece a forma como estes pesos são alterados. O
aprendizado é realizado utilizando-se um conjunto de dados de aprendizado
disponível. Cada iteração deste processo gradativo de adaptação dos pesos de uma
rede neural, sendo feita uma apresentação completa do conjunto de dados, é
chamada de época de aprendizado (FIESLER, 1997).
4.2.5.1 Aprendizado Supervisionado
O usuário dispõe de um comportamento de referência preciso que ele deseja
ensinar a rede. Sendo assim, a rede deve ser capaz de medir a diferença entre seu
comportamento atual e o comportamento de referência, então reduzir os pesos de
maneira a reduzir este erro (desvio de comportamento em relação aos exemplos de
referência). O aprendizado supervisionado utiliza conhecimentos empíricos,
habitualmente representados por um conjunto de exemplos etiquetados, ou seja,
31
exemplos com pares de dados de entrada com a respectiva saída associada.
(OSÓRIO; VIEIRA, 1999).
4.2.5.1.1 Treinamento
Para realizar o treinamento da RNA foi utilizado o aprendizado
supervisionado. Foi selecionado um grupo de dados para entrada na RNA e um
grupo de dados para a saída da respectiva entrada. A RNA realiza cálculos para se
chegar à saída esperada através da entrada informada.
4.2.5.1.2 Validação
Durante o treinamento da Rede Neural Artificial o MatLab realiza diversas
validações dos resultados parciais. O principal objetivo da validação é verificar se a
Rede Neural Artificial está classificando os dados de forma correta. O processo de
validação é repetido até que se chegue a um valor de acerto aceitável.
4.2.5.1.3 Teste
Na fase de teste se obtém o nível de desempenho da Rede Neural Artificial
treinada. Utiliza-se um grupo de dados diferente do utilizado no treinamento a fim de
se verificar a capacidade de generalização da Rede Neural Artificial. De acordo com
o valor obtido no teste verifica-se a necessidade de realizar ou não um novo
treinamento da rede.
4.2.5.2 Aprendizado Semi-Supervisionado
O usuário possui apenas indicações imprecisas como, por exemplo, o
sucesso e o insucesso da rede sobre o comportamento final esperado. As técnicas
de aprendizado semi-supervisionado são chamadas também de aprendizado por
reforço (Sutton, 98). Para ser mais exato, nesse tipo de aprendizado nós dispomos
apenas de uma avaliação quantitativa do comportamento do sistema sem, no
entanto poder medir quantitativamente o erro (desvio do comportamento em relação
ao comportamento de referência esperado). (OSÓRIO; VIEIRA, 1999)
32
4.2.5.3 Aprendizado Não-Supervisionado
Os pesos da rede são modificados em função de critérios internos, tais como,
por exemplo, a repetição de padrões de ativação em paralelo de vários neurônios. O
comportamento resultante desse tipo de aprendizado é usualmente comparado com
técnicas de análise de dados empregadas na estatística. (OSÓRIO; VIEIRA, 1999).
4.2.6 Rede Neural Feedforward As redes neurais do tipo Feedforward são caracterizadas por não possuir
ciclos e podem ser representadas em camadas, onde, os neurônios que recebem os
sinais de excitação do meio externo estão na camada de entrada; e os neurônios
que estão na saída são chamados de “camada de saída“. (FERNANDES, 2005)
Figura 16. Rede multicamadas Feedforward. Fonte: BARBOSA; FREITAS; NEVES, 2011.
4.2.7 Backpropagation O Algoritmo Backpropagation é utilizado no treinamento de redes
multicamadas. Ele utiliza o aprendizado supervisionado com correção de erros, onde
se apresenta um padrão de entrada e a resposta de uma unidade de neurônio é
propagada paras unidades da camada seguinte até chegar à camada de saída.
Então é calculado o erro da rede comparando a saída obtida com a saída desejada.
O valor do erro é então utilizado na correção dos pesos sinápticos da camada de
saída até a camada de entrada (Retropropagação), e então o processo é reiniciado,
até que se chegue ao resultado esperado.
33
4.2.8 Funções de Ativação
A função de ativação é importante para o comportamento da rede neural, pois
é ela que define a saída do neurônio artificial e o caminho no qual a informação é
conduzida. Existem várias funções de ativação, porém as utilizadas no projeto foram
Purelin e Tansig.
4.2.8.1 Purelin (Linear)
A função de ativação linear trabalha de forma a eliminar descontinuidade no
eixo X. (STEINER, 1995)
Figura 17. Gráfico da função de ativação Purelin.
Fonte: REPICKY, 2011
4.2.8.2 Tansig (Sigmoidal)
A função de ativação sigmoidal, como o próprio nome diz, possui uma curva
em forma de sigma (formato de S), e quando aplicada ao neurônio, ela adiciona
alguma não-linearidade aos dados. (STEINER, 1995)
Figura 18. Gráfico da função de ativação Tansig.
Fonte: REPICKY, 2011
34
5 METODOLOGIA
5.1 PESQUISAS
A partir do momento em que foi pensada a proposta do projeto, iniciou-se
uma pesquisa bibliográfica a respeito de o que é o eletrocardiograma, como ele
funciona e sua ajuda, através dos anos, na detecção de doenças cardíacas; sobre o
coração; e sobre a IA e suas aplicações.
Pesquisar sobre o coração e seu funcionamento foi de extrema importância
para o entendimento da dinâmica do eletrocardiograma e como algumas doenças se
manifestam. A respeito das doenças, as pesquisas foram focadas em como realizar
sua identificação em um eletrocardiograma.
Outras pesquisas, do tipo descritiva, foram feitas através de conversas com
médicos, visitas ao consultório para entender a dinâmica do exame e sua
importância no dia-a-dia do médico cardiologista e de seus pacientes. Foi necessário
encontrar uma base de dados que contivesse eletrocardiogramas de diferentes
pacientes com diferentes doenças, bem como exames de pacientes saudáveis para
realizar o treinamento da RNA.
5.1.1 Entrevistas As entrevistas realizadas foram de dois tipos, não-estruturada e
semiestruturada. A entrevista não-estruturada caracteriza-se pela ausência de um
roteiro, têm-se apenas o tema ao qual decorrerá a entrevista. O entrevistador tem
total liberdade de formular as questões na sequência que desejar e as questões,
geralmente, são elaboradas à medida que a conversação se desenvolve. Para este
tipo de entrevista, é importante que o entrevistador tenha total domínio sobre o
assunto (SIQUEIRA, 2005). A entrevista semiestruturada tem como característica o
fato de o entrevistador seguir um roteiro previamente estabelecido, que apresenta
um conjunto de questões abertas, onde a sequência das perguntas é escolhida pelo
entrevistador no decorrer da entrevista. Pode-se acrescentar questões que não
estavam no conjunto inicial para que dúvidas surgidas no decorrer da conversa
sejam sanadas (SIQUEIRA, 2005).
A primeira entrevista feita, com o Dr. João Batista Pozzato, foi do tipo não-
estruturada, onde foi apresentada a proposta do projeto, as ideias e o entrevistado
35
teve liberdade de abordar sobre o tema. O entrevistado discorreu a respeito de
doenças cardíacas relacionadas a hipertensão e como seria importante a
implantação de um sistema de auxílio ao diagnóstico de eletrocardiogramas em
Postos de Saúde (PSF – Programa Saúde da Família).
A segunda entrevista, com o Dr. Erico Ribeiro Netto, foi do tipo
semiestruturada, onde foi feito um roteiro com tópicos chaves para o
desenvolvimento da conversa. O entrevistado explicou sobre algumas doenças
cardíacas relacionadas à hipertensão, como a hipertrofia ventricular esquerda.
Explicou os processos para se realizar o diagnóstico da hipertrofia ventricular
esquerda em eletrocardiogramas e indicou algumas literaturas que seriam úteis no
desenvolvimento do projeto. Todas as questões do roteiro foram debatidas e houve
espaço para a discussão de questões que foram surgindo no decorrer da entrevista.
A terceira entrevista foi realizada novamente com o Dr. João Batista Pozzato,
de forma não-estruturada, onde lhe foram apresentadas as evoluções no projeto. O
entrevistado explanou a respeito de algumas doenças cardíacas e suas implicações
nos outros órgãos do corpo humano, bem como no próprio coração. Algumas
diretrizes foram passadas pelo entrevistado visando a continuidade do projeto, tendo
em vista que o entrevistado é, também, co-orientador do projeto.
A quarta entrevista foi realizada com o Dr. Rogério Santana, de forma não-
estruturada. Foi apresentada o tema do projeto e os resultados obtidos até o
momento da entrevista. Foram feitas algumas perguntas com relação à utilidade do
projeto em desenvolvimento, sobre o coração e doenças cardíacas em geral, e
sobre o eletrocardiograma. Com relação ao eletrocardiograma, o entrevistado
mostrou o sistema utilizado por ele para a realização do exame e forneceu o
software para análise e entendimento.
5.1.2 Visitas à Clínica Além das entrevistas, foram feitas duas visitas à Cardioleste, clínica onde o
Dr. Erico Ribeiro Netto realiza o exame de teste ergométrico em pacientes. Este é
um tipo de eletrocardiograma onde o paciente é submetido a esforço durante o
exame para avaliar o coração em diferentes situações. Nas visitas pôde-se ver o
programa que recebe os dados do eletrocardiógrafo e exibe na tela as ondas
geradas através da diferença de potencial dos pulsos cardíacos, possibilitando a
análise do médico.
36
Na primeira visita foram fornecidos pelo Dr. Erico alguns dados de saída
deste programa, com os quais foram feitos alguns testes em um algoritmo
(RAVIPRAKASH, 2006) que gera a onda do ECG através de dados informados. Não
foi obtido sucesso nesses testes pois faltavam dados necessários para a geração do
ECG.
Durante as visitas algumas dúvidas puderam ser esclarecidas a respeito do
funcionamento do coração, do eletrocardiograma e das doenças estudadas no
projeto.
5.2 OBTENÇÃO DOS DADOS
Os dados utilizados no projeto foram obtidos através de uma base de dados
internacional online e gratuita chamada PhysioNet. Esta base de dados contém
inúmeros eletrocardiogramas, onde estão disponíveis para download tanto a imagem
das ondas registradas pelo eletrocardiógrafo, quanto os dados expressos em mV
(milivolts) para cada instante de gravação do exame.
Foram escolhidas duas bases de dados contidas no PhysioNet, são elas: PTB
Diagnostic ECG Database, a qual contém uma grande quantidade de
eletrocardiogramas classificados como saudáveis, com infarto do miocárdio e
disritmia; St. Petersburg Institute of Cardiological Technics 12-lead Arrhythmia
Database, que contém exames de pacientes com hipertrofia ventricular esquerda. As
bases de dados contém dados das 12 derivações padrões de um eletrocardiograma.
Para realizar a visualização dos dados, pode-se utilizar o PhysioBank ATM,
uma interface no próprio website onde se pode escolher a base de dados, o exame
e o tipo de visualização dos dados desejados. A visualização pode ser através do
gráfico, onde são exibidas as ondas referentes a cada derivação contida no
eletrocardiograma selecionado, ou em forma de texto, onde cada ponto do
eletrocardiograma possui uma informação de tempo e voltagem (em mV).
Para o desenvolvimento do projeto, utilizou-se os dados em forma de texto,
por ser, dessa forma, mais preciso e necessitar de menos recurso computacional
para a transformação dos dados obtidos em dados utilizáveis no treinamento da
RNA. Para a obtenção dos dados através de linha de comando (ou código), o
PhysioNet possui uma biblioteca para o software MatLab, onde é possível
implementar funções específicas em um código fonte para que os dados sejam
obtidos diretamente da base de dados durante a execução de um programa. Essa
37
característica é importante por ser necessário ter os dados armazenados localmente
para se realizar o treinamento da RNA utilizando o software MatLab. Devido à
instabilidade de conexão com a base de dados, foi necessário realizar o download
de todos os exames contidos na base de dados PTB Diagnostic ECG Database e
armazená-los localmente.
5.3 IMPLEMENTAÇÃO
A proposta inicial era de se treinar a rede para detecção de pacientes com
hipertrofia ventricular esquerda, doença sugerida pelo Dr. João Batista Pozzato em
uma das entrevistas realizadas. Porém, em virtude da pouca quantidade de exames
encontrados no PhysioNet, de pacientes diagnosticados com tal doença, foi
necessário fazer o treinamento da rede utilizando exames com diagnóstico de infarto
do miocárdio.
5.3.1 Ferramentas Utilizadas A principal ferramenta utilizada é a Suíte de Desenvolvimento MatLab. O
MatLab permite trabalhar com vetores e matrizes de forma simplificada, o que é de
grande importância tendo em vista que os dados de um eletrocardiograma são
obtidos em forma de matriz. Além da facilidade de se trabalhar com matrizes, o
MatLab foi utilizado por possuir bibliotecas de Inteligência Artificial, sendo ele capaz
de treinar, simular e testar uma RNA de forma simplificada e precisa.
5.3.1.1 Bibliotecas de Software WFDB (WaveForm Database) Software Package; biblioteca fornecida pelo
PhysioNet e instalada no MatLab, possibilita acessar a base de dados online. Essa
biblioteca possibilita obter a matriz de dados do eletrocardiograma para ser usada no
treinamento da RNA.
ECGtools; biblioteca de código aberto, desenvolvida por Gari Clifford. Esta
biblioteca foi desenvolvida especialmente para processar dados de
eletrocardiograma disponíveis na base de dados PhysioNet. Possui funções que
permitem a classificação e separação das ondas P, QRS e T de um
eletrocardiograma.
38
5.3.2 Treinamento da RNA Inicialmente foi feito o treinamento da RNA utilizando 12 exames de 10
segundos de duração, obtidos na base de dados PTB Diagnostic ECG Database,
contida na base PhysioNet. Dentre os 12 exames utilizados, 4 eram de pessoas
saudáveis e 8 de pessoas diagnosticadas com infarto do miocárdio. Após obter os
exames, foram armazenados em uma matriz os dados da derivação V1 de cada
exame, sendo esta a matriz de entrada, onde cada linha possui os dados de um
exame. É necessária uma matriz de saída, contendo valores para cada linha da
matriz de entrada. Os valores utilizados na matriz de saída foram:
a) “0 0“ para exames de pessoas saudáveis;
b) “1 1“ para exames de pessoas com um tipo de doença.
Estes valores foram utilizados por serem julgados mais simples para
identificação.
Após definição de uma matriz de entrada e uma matriz de saída, é necessário
armazenar valores em matrizes para o teste e validação da RNA. Estes valores
devem ser diferentes dos utilizados para o treinamento da rede, pois deve-se provar
a capacidade de generalização da rede, isto é, identificar em exames desconhecidos
padrões que apontam a existência da patologia para a qual foi treinado, ou não.
A primeira rede criada foi do tipo FeedForward, possuindo 12 neurônios na
camada de entrada, correspondendo com o valor de exames utilizados para o
treinamento. Foram utilizadas duas camadas intermediárias onde, a primeira
utilizava a função de ativação Tansig e possuía 30 neurônios; a segunda utilizava a
função Tansig e possuía 10 neurônios. A quantidade de neurônios nas camadas
intermediárias foi definida de forma arbitrária. Na camada de saída foram utilizados 2
neurônios, número correspondente à quantidade de dados na matriz de saída para
cada exame.
Neste primeiro treinamento não se obteve um bom resultado na validação e
teste da rede onde, a taxa de acerto variou entre apenas 10% e 22%.
Para se obter melhores resultados, foram realizadas pesquisas para
determinar quais técnicas poderiam ser aplicadas no tratamento dos dados. Com
este propósito, foi utilizada uma função da biblioteca ECGtools a qual analisa os
dados do exame, identifica os picos da onda R e separa os segmentos P, QRS e T.
Uma vez tendo os segmentos separados, aplica-se um filtro de ruído disponível na
39
ferramenta de desenvolvimento MatLab, o Savitzky-Golay FIR. Este filtro é utilizado
para diminuir o ruído dos dados, melhorando a performance da RNA.
Aplicando estes melhoramentos citados, têm-se uma nova matriz de dados,
contendo apenas a porção do exame que é útil para o treinamento da rede. Com
esta nova matriz foi feito novamente o treinamento, desta vez, utilizando apenas
uma camada intermediária Tansig com 80 neurônios, uma camada de entrada com
1001 neurônios, correspondente à quantidade de valores para cada exame, e uma
camada de saída Purelin com 2 neurônios. Utilizando 20 exames para o treino, onde
10 de pessoas saudáveis e 10 de pessoas com diagnóstico de infarto do miocárdio,
foi possível obter uma taxa de acerto entre 80% e 95%.
Este novo resultado é notavelmente melhor que o obtido no primeiro instante,
o que prova que as alterações feitas nos dados surtiram efeito positivamente no
resultado final do treinamento.
5.3.3 Tratamento dos Dados Para se conseguir um bom resultado no treinamento da rede, foi preciso
realizar um tratamento dos dados para que estes fossem padronizados. A
padronização é importante pois deve-se considerar que cada exame possui uma
frequência cardíaca diferente e sua forma pode variar.
5.3.3.1 Identificação dos Segmentos Para a identificação dos segmentos P, QRS e T no eletrocardiograma, foram
utilizadas duas funções presentes na biblioteca ECGtools.
A primeira função utilizada é a rrextract(), que recebe como parâmetros 3
variáveis:
a) ECG: Variável que contém os dados de uma determinada derivação do
eletrocardiograma;
b) SF: Variável numérica que deverá conter o valor da quantidade de
amostras por segundo o exame possui;
c) THRESH: Valor do threshold aplicado. Por padrão utiliza-se 0,1.
Após receber os dados necessários, a função realiza uma análise dos dados
do eletrocardiograma e identifica, no vetor de dados, a posição dos picos das ondas
R. Esta função retorna duas variáveis:
40
a) RR: Elementos do vetor de dados que correspondem aos picos de onda R
encontradas no exame;
b) RS: Amplitude das ondas R encontradas no exame.
Código 1. Exemplo de chamada da função rrextract().
A segunda função é a select_train(). Ela recebe como dados de entrada as
seguintes variáveis:
a) ECGDATA: Variável que contém os dados de uma determinada derivação
do eletrocardiograma. Deve ser o mesmo grupo de dados utilizados na
função rrextract();
b) FIDDATA: São os dados retornados pela função rrextract() na variável RR;
c) N_TRAIN: Quantidade de complexos PQRST que serão adicionados à
nova matriz de dados;
d) N_LEAD: Variável não utilizada (valor padrão: 1);
e) DOWNSAMPLE: Variável não utilizada (valor padrão: 1);
f) WIND: Variável na utilizada (valor padrão: 1);
g) OFFSET: Variável não utilizada (valor padrão: 1);
h) SAMP_FREQ: Taxa de amostragem do exame.
Após realizar a detecção, a função retorna uma nova matriz de dados
contendo m colunas de 1 a n linhas de dados referentes ao exame, onde m é a
quantidade de ondas R encontradas no exame original; e n é a taxa de amostragem
do exame.
Código 2. Exemplo de chamada da função select_train().
... ECG = dados; FS = 1000; THRESH = 0,1; [RR RS] = rrextract(ECG, FS, THRESH);
... ECGDATA = dados; FIDDATA = RR(2:length(RR)); N_TRAIN = length(RR)-1; N_LEAD = 1; DOWNSAMPLE = 1; WIND = 1; OFFSET = 1; SAMP_FREQ = 1000; [DATAOUT] = select_train(ECGDATA, FIDDATA, N_TRAIN, N_LEAD,
DOWNSAMPLE, WIND, OFFSET, SAMP_FREQ);
41
Figura 19. Acima, 5 segundos de um exame e abaixo, segmento PQRST separado do exame.
Fonte: Elaborado pelos autores.
5.3.3.2 Aplicação de Filtro de Ruído Para redução dos ruídos, foi utilizado o filtro Savitzky-Golay FIR, encontrado
na própria suite de desenvolvimento MatLab. Este filtro recebe três valores como
parâmetro, sendo o primeiro o vetor de dados ao qual será aplicado o filtro; o
segundo e terceiro valores são relacionados, onde o segundo deve ser menor do
que o terceiro, para que utilizando da diferença entre estes valores, o filtro possa
remover o ruído. Não se deve aplicar valores muito altos ao filtro para não eliminar
características importantes do complexo PQRST.
Código 3. Exemplo de chamada da função de filtro de ruído.
... ECG_FILT = sgolayfilt(ECG, 0, 5);
42
Figura 20. Acima, imagem do segmento PQRST com ruído. Abaixo, imagem do segmento após
aplicar filtro de ruído. Fonte: Elaborado pelos autores.
5.3.3.3 Nivelamento da Onda
Depois de separar os complexos PQRST e aplicar o filtro de ruído, observou-
se que havia uma variação muito grande no eixo Y dos exames. Por isso, fez-se
necessário criar uma função que fizesse a média dos pontos, calculasse a diferença
da média com o ponto 0 do eixo Y e adicionasse essa diferença a todos os pontos
do exame, para que este fosse alinhado, o mais próximo possível, ao ponto 0.
Código 4. Função de nivelamento do complexo PQRST.
... MEDIA = mean(ECG); % Calcula a média de todos os pontos DIF = 0 – MEDIA; % Calcula a diferença entre a média e 0 ECG = ECG + DIF; % Soma a diferença a todos os pontos do vetor
43
Figura 21. Acima, imagem do segmento PQRST antes de ser nivelada ao ponto 0. Abaixo, após ser
nivelado. Fonte: Elaborado pelos autores.
5.3.4 Testes Nesta etapa é onde ocorre o teste da rede neural. Este teste têm por objetivo
verificar a capacidade de generalização da rede treinada e sua performance.
Para realizar o teste, foi utilizado um grupo de dados diferente do utilizado
para o treinamento da rede. Com um grupo de 20 exames, sendo 10 saudáveis e 10
com diagnóstico de infarto do miocárdio, a rede apresentou taxas variando de
acordo com a quantidade de neurônios na camada intermediária (oculta) utilizados,
onde o melhor resultado obtido foi 84% de acerto.
Tabela 1. Resultado de testes realizados.
Neurônios Camada Oculta Quantidade de Exames Acerto
60 10/10 81% 70 10/10 73% 80 10/10 84% 90 10/10 72%
100 10/10 65% Fonte: Elaborado pelos autores.
Com estes testes, foi possível comprovar a capacidade da rede neural
artificial em diferenciar exames saudáveis de exames diagnosticados com infarto do
miocárdio.
44
6 CONCLUSÃO Uma rede neural artificial foi treinada para reconhecer exames de pacientes
saudáveis e diferenciá-los dos diagnosticados com infarto do miocárdio. Para treiná-
la, foram utilizados exames disponíveis na base de dados PhysioNet, por ser uma
base de dados utilizada principalmente, por estudantes e pesquisadores. Os
resultados obtidos demonstraram que a rede neural teve capacidade de classificar
os exames com uma taxa de acerto satisfatória, identificando a patologia à qual foi
treinada.
Mesmo obtendo um bom resultado, é essencial que sejam feitos novos
treinamentos utilizando configurações diferentes de neurônios e tipos de rede para
que se chegue a um resultado melhor, diminuindo o número de falsos positivos e
aumentando a confiabilidade da rede.
Futuros projetos podem ser desenvolvidos com base neste trabalho, como o
treinamento da rede neural para detecção de uma quantidade maior de doenças
cardíacas; o desenvolvimento de um software com interface para o usuário,
utilizando a rede neural artificial treinada neste trabalho para realizar as
classificações dos exames de acordo com as patologias apresentadas; e a
integração deste software a um aparelho de eletrocardiograma, de forma a se
conseguir uma análise imediata do exame. Este último, é um projeto que visa o
desenvolvimento de um eletrocardiógrafo de baixo custo, acessível às unidades de
saúde da família; os postos de saúde; e integrar a ele um software de controle que
faça o diagnóstico no momento do exame. Todos estes projetos visam auxiliar o
trabalho dos profissionais de saúde, dando a eles mais um recurso ao qual possam
recorrer no exercício da profissão.
45
7 REFERÊNCIAS
ANATOMIA e Fisiologia do Coração. Disponível em: <http://www.misodor.com/CORACAO.php> . Acesso em: 30 out. 2011. O ATAQUE do Coração. Disponível em: <http://www.abcdasaude.com.br/artigo.php?300> . Acesso em: 28 out. 2011. BARBOSA, Anderson H.; FREITAS, Marcílio S. de R.; NEVES, Francisco de A.. Confiabilidade estrutural utilizando o método de Monte Carlo e redes neurais. Disponível em: <http://www.scielo.br/scielo.php?pid=s0370-44672005000300011&script=sci_arttext>. Acesso em: 16 out. 2011. BRAGA, A. P. de; CARVALHO, A. P. de L. F.; LUDERMIR, T. B. Redes Neurais Artificiais: teoria e aplicações. 1 ed. Rio de Janeiro: Livros Técnicos e Científicos, 2000. CARNEIRO, Enéas F.. O Eletrocardiograma. 3. ed. Rio de Janeiro: Livraria Editora Enéas Ferreira Carneiro, 1992. CARVALHO, André P. de L.. Redes Neurais Artificiais. Disponível em: <http://www.icmc.usp.br/~andre/research/neural/>. Acesso em: 27 out. 2011. COLLECTION of Multimedia Medical Databases. Disponível em: <http://ibmi.mf.uni-lj.si/mmd/cardio-a/eng/at/vent_ar.html> . Acesso em: 27 out. 2011. COWLES, Robert. Heart - lung transplant. Disponível em: <http://www.nlm.nih.gov/medlineplus/ency/presentations/100147_1.htm>. Acesso em: 09 out. 2011. DUBIN, Dale. Interpretação Rápida do ECG. 3 ed. Rio de Janeiro: Publicações Científicas Ltda, 1999. FERNANDES, Anita. Inteligência Artificial. 2. ed. Florianópolis: VisualBooks, 2005. FIESLER, E.; BEALE, R. Handbook of neural computation. NY, U.S.A.: Institute of Physics and Oxford University Press, 1997.
46
FISHBEIN, Morris (Coord.). Enciclopédia Familiar da Medicina e Saúde. 8. ed. São Paulo: Encyclopaedia Britannica do Brasil, 1967. HOWMED. Eletrocardiogram (ECG). Disponível em: <http://howmed.net/physiology/electrocardiogram-ecg/>. Acesso em: 23 out. 2011. LÉVY, P. As árvores de conhecimento. São Paulo: Escuta, 1993. MANUAL MERCK. Doenças Cardiovasculares. Disponível em: <http://www.manualmerck.net/?id=41&cn=610>. Acesso em: 18 out. 2011. MELCO, Tito C.. Estudo do Eletrocardiograma sob uma Abordagem Matemática. São Paulo: EPUSP, 2007. Disponível em: <http://www.pmr.poli.usp.br/pmr/bt/BTPMR0707.pdf>. Acesso em: 19 maio 2011. MISODOR. Considerações Eletrocardiográficas Sobre a Cardiopatia Isquêmica. Disponível em: <http://www.misodor.com/CESCI.php>. Acesso em: 14 out. 2011. OSÓRIO, Fernando S.; VIEIRA, Renata. Sistemas Híbridos Inteligentes. 1999. 60f. Dissertação (Curso de Informática) - Centro de Ciências Exatas e Tecnológicas, Universidade do Vale do Rio dos Sinos. Rio de Janeiro, 1999. Disponível em: <http://osorio.wait4.org/oldsite/enia99/enia99.pdf>. Acesso em: 05 out. 2011. PORTAL SÃO FRANCISCO. Pericárdio. Disponível em: <http://www.portalsaofrancisco.com.br/alfa/corpo-humano-sistema-cardiovascular/pericardio.php>. Acesso em: 01 out. 2011. RAMOS, Ângela P.; SOUSA, Bolivar S.. Eletrocardiograma: Princípios, Conceitos e Aplicações. Disponível em: <http://www.centrodeestudos.org.br/pdfs/ecg.pdf>. Acesso em: 19 maio 2011. RAVIPRAKASH, Karthik. ECG Simulation Using Matlab. College of Engeneering, Anna University. Chennai, 2005. Disponível em: <http://webscripts.softpedia.com/script/Scientific-Engineering-Ruby/Controls-and-Systems-Modeling/ECG-simulation-using-MATLAB-32785.html>. Acesso em: 31 mai. 2011. REPICKY, Phil. Neural Network Design: A description of how we designed the parameters for our neural network to classify accents. Disponível em: <http://cnx.org/content/m13228/latest/>. Acesso em: 27 out. 2011.
47
SIGULEM, Daniel et al. Sistema de Apoio a Decisão em Medicina. São Paulo, UNIFESP, 1998. Disponível em: <http://www.virtual.epm.br/material/tis/curr-med/sad_html/sistema.htm>. Acesso em: 20 maio 2011. SOCIEDADE BRASILEIRA DE CARDIOLOGIA (SBC). Diretriz de interpretação de eletrocardiograma de repouso, Salvador, v. 80, 2003. Disponível em: <http://www.scielo.br/pdf/abc/v80s2/a01v80s2.pdf>. Acesso em: 19 maio 2011. SPODE, Elton. Desenvolvimento de um sistema de monitoramento remoto não invasivo de sinais vitais. Porto Alegre: PGEE/PUC/RS, 2001. STEINER, Maria T. A.. Uma Metodologia para o Reconhecimento de Padrões Multivariados com Resposta Dicotômica. 1995. Tese (Doutorado em Engenharia) – Programa de Pós-Graduação em Engenharia de Produção, Universidade Federal de Santa Catarina. Florianópolis, 1995. Disponível em: <http://www.eps.ufsc.br/teses/steiner/indice/index.htm>. Acesso em: 23 out. 2011. WECKER, Jonas. Aula de Anatomia: Sistema Cardiovascular. Disponível em: <http://www.auladeanatomia.com/>. Acesso em: 09 out. 2011.