Upload
vudung
View
215
Download
0
Embed Size (px)
Citation preview
67
5 ANÁLISE AUTOMÁTICA DE SINAIS DE ECG
Nesse capítulo descreve-se o funcionamento do programa desenvolvido, juntamente
com seu pré-processamento e resultados obtidos.
O algoritmo desenvolvido tem a finalidade de classificar os sinais de ECG de forma
automática em alguns dos principais tipos de patologias cardíacas existentes. De uma forma
sucinta, pode-se resumir o funcionamento do sistema pelo diagrama da Figura 17.
Sinal de ECG
Ajuste de Sinal Bruto
Sinal Ajustado
Segmentação do Sinal em blocos de 4s
Redução da Dimensãodos Dados
Sinal Redimensionado
Classificador Neural 0 [ Sinal comcaracterísticas normais ]
1 [ Sinal comcaracterísticas anormais ]
ALARME
4s de Sinal4s de Sinal
Ciclos Cardíacos
Extrator Neural deInformações
Inicio e Fim das Ondas,Segmentos, Intervalos;
e Amplitudes
ClassificadorPatológico
Patologia Existente
Extração de CiclosCardíacos
Figura 17.Fluxograma do sistema desenvolvido.
68
O programa é formado por vários sub-programas, que são responsáveis pelas diversas
etapas de processamento e foram desenvolvidos utilizando o pacote de programação Matlab
5.3 (The Mathworks, EUA).
Para o funcionamento do programa são necessários alguns segundos (t ≥ 4 s) do sinal
digitalizado de ECG (MLII ou DII) de um paciente, sendo que quanto mais tempo de leitura
esteja disponível, melhor será o diagnóstico. O sinal é ajustado e classificado por um
sistema neural inicial, em seguida o sinal é segmentado em ciclos cardíacos e são obtidos os
componentes de ECG. Finalmente, outro sistema neural determina o estado do paciente
com base nas informações obtidas da derivação em análise.
Nas próximas páginas, será explicado, com mais detalhamento, o fluxograma da
Figura 17, bem como os algoritmos de pré-processamento utilizados.
5.1 Obtenção do Sinal Cardíaco
O sinal cardíaco pode ser obtido por qualquer equipamento eletrocardiográfico, desde
que seja possível transformar os sinais analógicos em sinais digitais que possam ser
processados em um microcomputador. Idealmente a taxa de amostragem deve ser 250 Hz
ou superior, com resolução de digitaização igual ou superior a 12 bits.
Os dados utilizados nessa dissertação, como já mencionado no capítulo anterior,
foram obtidos do banco de dados do MIT (Goldberger, 2000). Os sinais foram obtidos pelo
método de Holter e, portanto, apresentam muitos artefatos de movimento, entre outros
problemas que não ocorrem em leituras eletrocardiográficas ambulatoriais, em que o
paciente se encontra em repouso.
69
5.2 Ajuste do Sinal Bruto
Inicialmente, todos os sinais são pré-processados, eliminando deslocamentos em
relação à linha isoelétrica, compensando o ganho, e reamostrando, quando necessário, para
a taxa de 250 Hz, como ilustrado na Figura 18 e Figura 19.
0 500 1000 1500 2000 2500 800 900
1000 1100 1200 1300
Figura 18.Sinal bruto com taxa de amostragem 360 Hz, 1024 pontos de deslocamento e ganho de
200 vezes.
0 250 500 750 1000 1250 1500 1750 2000 -1
-0.5
0
0.5
1
Figura 19.Sinal Ajustado para 250 Hz, após eliminação de ganho e deslocamentos.
Na Figura 18 é ilustrado o sinal bruto obtido pela descompactação do sinal do MIT.
Já na Figura 19 é apresentado o sinal após sua adequação, que nesse caso foi realizada
subtraindo o valor 1024, para o ajuste da linha isoelétrica, dividindo por 200 para eliminar
o ganho, e finalmente reamostrando de 360 Hz para 250 Hz.
Para realizar a reamostragem do sinal, foi utilizada a função �resample� do MatLab,
que consiste em reamostrar um vetor X em P/Q vezes (caso P/Q tenha um valor fracionário,
é utilizado o arredondamento para cima) utilizando uma implementação polifásica. Para
melhores resultados, também é aplicado um filtro FIR anti-aliasing (filtro passa-baixas)
70
para suavizar a interpolação dos pontos intermediários, juntamente com filtros de delay.
Todo esse procedimento usa-se de técnicas lineares para obter os resultados.
Após a adequação dos sinais, os sinais de ECG são segmentados em blocos de 4
segundos, ou seja, 1.000 pontos de amostragem (Figura 20). Uma vez obtidos os segmentos
dos sinais, esses são ajustados eliminando-se pequenas variações e flutuações, obtendo-se
uma linha isoelétrica mais estável, sendo para isso utilizado o comando �detrend� do
MatLab.
A função do �detrend� é basicamente encontrar a melhor reta que se ajusta ao sinal,
no sentido de mínimos quadrados, e em seguida subtrai esta reta, otendo um sinal sem
tendências lineares.
0 1s 2s 3s 4s -0.5
0
0.5
1
1.5
Figura 20.Quatro segundos de sinal ajustado e a linha isoelétrica recuperada.
No exemplo da Figura 20, foram utilizadas duas derivações quaisquer para
demonstrar o ajuste inicial. Na prática, somente a derivação MLII é utilizada.
71
5.3 Redução da Dimensionalidade
Os 4 s de sinais ajustados passam por métodos que permitem a redução da
dimensionalidade de dados, como a Transformada de Wavelet e PCA (descritos na seção
4.2).
Inicialmente os trabalhos foram desenvolvidos utilizando PCA, no entanto, essa
metodologia reduz a dimensionalidade com base em todo o conjunto de dados. Com isso,
ao serem utilizados novos dados, mesmo que sejam utilizadas as combinações lineares dos
vetores de loading do primeiro experimento para a redução de dimensionalidade, a redução
atual pode não apresentar um resultado tão acurado e explicativo, por não ter feito parte do
conjunto de dados original.
Assim os resultados iniciais obtidos por essa técnica foram muito bons, no entanto ao
se utilizar novos conjuntos de dados os resultados deixavam muito a desejar.
Para evitar esse problema, foi utilizada a técnica da Transformada de Wavelet para
redução da dimensionalidade. Nessa técnica são analisados individualmente os vetores
(cada vetor corresponde a um sinal de 4 segundos) e não uma matriz de dados como é o
caso do PCA. Esse classificador inicial recebe 4 segundos (1000 amostras a 250 Hz) de
sinal proveniente de um eletrocardiograma digital, e processa esse sinal utilizando-se a
transformada de Wavelet bi-ortogonal em 4º nível (bior1.5, disponível no Matlab). Assim
sendo, os 1.000 pontos são reduzidos através do conjunto de filtros para 63 pontos relativos
à aproximação do 4º nível, como ilustrado na Figura 21 e na Figura 22. Esses 63 pontos
serão então utilizados como dados de entrada de uma rede neural artificial, informando se o
72
sinal tem características normais ou não, e assim definindo se é possível extrair informação
temporal sobre as ondas componentes do ECG, como será descrito na próxima seção.
Figura 21.Processo de decomposição do sinal.
Figura 22.Decomposição do sinal em 4 níveis.
A seguir será tratado o funcionamento do classificador neural, e como o mesmo
utiliza o sinal com o dimensionamento reduzido.
Transformada de Wavelet
4º Nível 1000
pontos 63
pontos
Aproximação 4º Nível
Detalhamento4º Nível
Detalhamento3º Nível
Detalhamento2º Nível
Detalhamento1º Nível
Sinal Original
73
5.4 Classificador Neural
Existem patologias cardíacas que são muito complexas para extração dos
componentes do ECG. A Figura 23 ilustra um exemplo em que é difícil se localizar as
ondas �P� e �T�.
Figura 23.Sinal de ECG com dificuldades de se encontrar as ondas �P� e �T�.
Existem casos ainda onde determinadas ondas são inexistentes ou em que o sinal lido
é devido a um eletrodo com mau contato ou mesmo desacoplado. Nos equipamentos
comerciais, quando o sinal possui uma morfologia muito anormal, a qual pode evidenciar
uma fibrilação ventricular ou mau contato nos sensores, o equipamento dispara um alarme
para que o responsável possa verificar a situação e tomar as devidas providências. Nessa
dissertação, uma rede neural realiza uma classificação inicial, impedindo que sinais que
apresentem uma morfologia muito anormal passem para a próxima etapa, ativando um
alarme.
O classificador neural recebe como entrada os 63 pontos obtidos pela redução da
dimensionalidade e os classifica em �Possuem Características Normais� (Normais) ou em
�Não Possuem Características Normais� (Anormais), como ilustrado na Figura 24 a seguir.
74
RN
[ Anormal ] Alarme
Extrator de Informações[ Normal ]
...
12
6263
Figura 24.Diagrama do Classificador Neural.
Para se obter a melhor configuração de rede neural, o número de neurônios da
camada escondida foi variado entre 5 e 100. Para o treinamento foi utilizado o
backpropagation com validação cruzada, e as funções de ativação utilizadas nas camadas
escondidas e de saída foram o logaritmo sigmóide. Os 63 dados de entrada foram
normalizados entre 0 e 1, e as 2 saídas permitem valores entre 0 e 1, onde a saída de maior
valor era a selecionada. Para a criação das redes, foram utilizados 850 padrões, sendo 70%
destes para treinamento, 20% para validação e 10% para teste.
Nas tabelas abaixo, são apresentadas as topologias das melhores redes obtidas,
juntamente com suas matrizes de contingência.
Topologia 63-15-2
Topologia 63-10-2
Saídas Saídas Alvo 0 1 Alvo 0 1
0 100% 0% 0 100% 0% 1 0% 100%
1 0,01% 99,9% Tabela 3.Melhores redes e resultados de classificação para Treino.
Topologia 63-15-2
Topologia 63-10-2
Saídas Saídas Alvo 0 1 Alvo 0 1
0 100% 0 0 99% 1% 1 0 100%
1 0% 100% Tabela 4.Melhores redes e resultados de classificação para Validação.
75
Topologia 63-15-2
Topologia 63-10-2
Saídas Saídas Alvo 0 1 Alvo 0 1
0 100% 0% 0 100% 0% 1 0,02% 98,8%
1 2,02% 98,8% Tabela 5.Melhores redes e resultados de classificação para Teste.
Com base no treinamento sistemático empregado, selecionou-se a topologia 65-15-2
para a rede neural de classificação.
5.5 Extração de Ciclos Cardíacos
De posse dos sinais que possuem as características que se deseja estudar, os sinais de
4 s são segmentados em seus ciclos cardíacos, através da localização dos picos das ondas
�R� dos complexos �QRS�. Existem muitas técnicas que podem ser utilizadas para
localizar o pico da onda �R�, no entanto poucas apresentam bons resultados quando há
patologias cardíacas envolvidas.
5.5.1 Localização dos Picos das ondas �R�
Para a localização dos picos das ondas �R�, é utilizado inicialmente um método de
limiar, onde todos os trechos de sinal que estiverem acima de um determinado valor são
considerados como segmentos candidatos. Em cada segmento é localizado o valor mais
alto, formando os candidatos a pico da onda �R�. Esses candidatos têm sua morfologia
analisada por uma rede neural, evitando que ondas �T� ou eventuais ruídos sejam
erroneamente detectados, reduzindo assim o erro de detecção, principalmente em um tipo
76
específico de extra-sístole, na qual a onda �T� é igual ou maior que o pico da onda �R�,
como ilustrado na Figura 25 a seguir.
0 100 200 300 400 500 600 700 800 900 1000 0
0.5
1
1.5
2
2.5
3
3.5
4 .. . .. . .
Figura 25. Localização de picos das ondas �R�, as cruzes (+) representam picos candidatos, e os
pontos (o) picos eleitos.
Outro método testado para a detecção do pico da onda �R� foi o de janelas
deslizantes, onde n pontos são utilizados como entrada da RNA, os pontos são analisados e,
após isso, a janela é deslocada um ponto para a direita. Esse método é lento e tende a
selecionar muitos pontos quando existir ruído muito alto, porém possui resultados melhores
quando existe uma flutuação muito grande da linha de base (wandering line),
principalmente quando o sinal se torna negativo, caso que impede a detecção pelo método
anterior.
Como o primeiro método possui uma velocidade de detecção muito superior que o
método de janelas deslizantes, optou-se por somar ao sinal uma constante, de modo a
deslocar o sinal para valores positivos, caso da Figura 25 acima, possibilitando assim a
aplicação do primeiro método.
As redes neurais utilizadas para reconhecer os picos das ondas �R� recebem super-
treinamento, se tornando especialistas. O desempenho dessa rede era praticamente 99% a
77
100% de acerto para picos das ondas �R� normais. Como o objetivo desse trabalho é
analisar qualquer tipo de sinal de ECG, um novo treinamento foi realizado, dessa vez sendo
inseridos picos das ondas �R� com características patológicas que possuíam reflexos no
complexo �QRS�, como bloqueios de ramo. Nesse caso, o rendimento da rede teve uma
queda relativa em seu desempenho, ocasionando eventuais reconhecimentos de falsos picos
(1% a 4%).
Para o treinamento da rede neural, são selecionados 5 pontos à esquerda do pico da
onda �R� e 5 pontos à direita e calcula-se a diferença entre esses pontos e o pico, dessa
forma obtendo-se a �velocidade com que é realizada a descida� do pico. Ou seja, quanto
mais estreito for o pico, maior será a distância dos pontos de cada lado em relação ao pico;
quanto mais alargado, menor será a distância dos pontos em relação ao pico.
Assim sendo, a rede neural para reconhecimento de picos das ondas �R� possui 5
neurônios na camada de entrada e 1 neurônio na camada de saída que pode assumir 0 ou 1,
sendo que valores iguais ou acima de 0,5 são considerados como 1 e abaixo de 0,5 como 0.
Para a camada escondida o número de neurônios foi variado entre 1 e 10, sendo que as
redes que possuíam 1 e 3 neurônios na camada escondida foram as que obtiveram os
melhores resultados.
Para o treinamento foram utilizados 110 padrões, e testados com 490 picos das ondas
�R�. Como o treinamento foi extensivo para formar uma rede especialista, não houve erros
de treinamento. O número de neurônios na camada escondida é baixo, para que possa
apresentar boa generalização, de forma a auxiliar na detecção de picos incomuns.
No teste são apresentados picos das ondas �R� com características que não foram
apresentadas no treinamento, juntamente com sinais altamente ruidosos e com severos
78
problemas de linha isoelétrica. Na Tabela 6 são apresentados os resultados de teste para as
topologias utilizadas (teste com 490 padrões).
Topologia 10-1-1
Topologia 10-2-1
Topologia 10-3-1
Saídas Saídas Saídas Target 0 1 Target 0 1 Target 0 1
0 92% 7% 0 97% 3% 0 90% 10% 1 11% 90%
1 6% 94%
1 5% 95% Tabela 6.Melhores redes e resultados de classificação para Teste.
Com base no treinamento sistemático empregado, selecionou-se a topologia 10-2-1
para a rede neural de detecção de picos das ondas �R�.
Na Figura 26, é apresentado um caso onde ocorrem ondas �P� com características
pontiagudas. Como pode ser percebido, o algoritmo marcou todas as ondas �P� como
candidatas a picos das ondas �R�, no entanto somente elegeu as ondas corretas,
demonstrando o excelente desempenho da rede neural.
Nesse caso um programa de detecção por limiar teria resultados excelentes sem o uso
de RNA, pois os picos das ondas �R� estão muito acima dos outros componentes do ECG,
mas essa é apenas uma das várias condições que o sinal pode se apresentar.
0 100 200 300 400 500 600 700 800 900 1000 0 0.5
1 1.5
2 2.5
3 3.5
4 . . . . . . .
Figura 26.Seleção correta de picos das ondas �R�.
No caso da Figura 26, as ondas �P� possuem um pico agudo, porém o que as
distingue dos picos das ondas �R� é o seu rápido alargamento (ângulo de abertura maior do
que nos picos das ondas �R�).
79
Na Figura 27 e na Figura 28, são apresentados alguns tipos de sinais onde os picos
das ondas �R� são difíceis de se localizar por métodos convencionais. Para esses casos o
classificador neural de picos teve um excelente desempenho ao localizar os picos corretos.
. . . . . . . . ..
. . . . . . .
. .
Figura 27.Exemplos de ótimo desempenho em localizar os picos das ondas �R�.
. . . . . .
. . . . . . .
. .
.
Figura 28.Exemplos do ótimo desempenho da rede neural ao localizar os picos das ondas �R�.
Existem casos onde o classificador neural não possui um desempenho ótimo, como os
casos da Figura 29. Isso se deve ao fato da rede neural analisar a morfologia estreita dos
picos das ondas �R� (ângulo de abertura), e nesses casos, o ruído se apresentar com uma
amplitude muito alta.
80
.
.
. . . . . . .
.
. . . . . . .. . . . . .
. . ...
Figura 29.Problemas na detecção do pico da onda �R�.
Como pode ser observado na Figura 29 (círculos), o primeiro quadro teve uma
marcação em uma onda �T� e uma onda �P�, já no segundo quadro uma onda �R�
candidata não foi eleita, e no último quadro, pelo grande nível de ruído, ocorreram muitas
marcações errôneas.
5.5.2 Formação dos Ciclos Cardíacos
Uma vez localizados os picos das ondas �R�, quebra-se o sinal em ciclos cardíacos
utilizando a média das distâncias entre os picos consecutivos. Dessa forma, o tamanho do
ciclo varia proporcionalmente à freqüência cardíaca.
Os ciclos cardíacos passam por um ajuste linear/angular de forma a recuperarem a sua
linha isoelétrica. Esse método utiliza a média dos 5 primeiros pontos do ciclo cardíaco, para
definir a altura inicial, e a média dos 5 últimos pontos do ciclo cardíaco para definir a altura
final.
81
Figura 30.Ajuste do sinal por uma função de ajuste linear/angular.
Na Figura 30 é apresentado um caso onde o sinal será corrigido o ângulo de rotação,
bem como o deslocamento em relação a linha isoelétrica.
A Figura 31 apresenta os ciclos cardíacos ajustados para diferentes pacientes, sendo
possível perceber que os mesmos apresentam um número de pontos diferentes entre si, isso
se devendo à variação da freqüência cardíaca, bem como à ocorrência ou não de patologias.
Figura 31.Exemplo de ciclos cardíacos extraídos, usando a derivação MLII.
0 50 100 150 200-1
0
1
2
3
0 50 100 150 200-1
0
1
2
3
0 50 100 150 200-1
0
1
2
3
0 100 200 300-0 .5
0
0 .5
1
1 .5
0 100 200 300-0 .5
0
0 .5
1
1 .5
2
0 50 100 150 200-1
0
1
2
3
Linha isoelétrica
Sinal deslocado em relação à linha
isoelétrica
82
Praticamente não ocorreram erros na captura dos ciclos cardíacos. Em casos isolados
e muito anormais, foram encontrados elementos dos ciclos cardíacos anterior e/ou
posterior, que causaram um relativo desnivelamento na linha isoelétrica. Assim sendo,
pode-se dizer que esse é um excelente método de captura de ciclos cardíacos.
5.6 Extrator Neural de Informações
Para localizar os pontos iniciais e finais de cada onda componente do ECG,
inicialmente são encontrados os pontos centrais de cada onda. Isso é conseguido
procurando o ponto médio absoluto mais alto à esquerda do pico da onda �R�, para a onda
�P�, e o ponto médio absoluto mais alto do lado direito do pico da onda �R�, para a onda
�T�, pois esta pode ser positiva ou negativa, dependendo da condição de patologia ou
normalidade, como na Figura 32.
Figura 32.Pontos percentuais em ondas componentes do ECG.
Inicialmente, os instantes de tempo que correspondem aos picos das ondas P, R e T
são determinados por meio de algoritmos tradicionais de janelamento e limiar. De posse
dos instantes de tempo correspondentes aos picos consecutivos das ondas �R�, calcula-se
facilmente a freqüência cardíaca instantânea. Em seguida define-se uma janela, aqui
0 5 0 1 0 0 1 5 0 2 0 0- 1
- 0 . 5
0
0 . 5
1
1 . 5
2
2 . 5
3S i n a l n º 8 5 0
0 5 0 1 0 0 1 5 0 2 0 0- 0 . 5
0
0 . 5
1
1 . 5
2
2 . 5S i n a l n º 1
83
chamada de �quadro de captura�, que representa um único ciclo cardíaco com todos os seus
elementos da seqüência (PQRST), como mostrado na Figura 33. Através de uma heurística
os quadros de captura são divididos em quadros de leitura, como também indicado na
Figura 33 e descrito a seguir.
Figura 33.Quadro de Captura, dividido em quadros de leituras (linhas verticais pontilhadas), juntamente com as anotações definidas pelo MIT-BIH (Cruzes).
O início de cada quadro de captura é definido a 90% da distância entre o pico da onda
�P� do ciclo atual e o pico da onda �T� do ciclo anterior. Já o fim do quadro é definido a
30% da distância entre o pico da onda �T� do ciclo atual e o pico da onda �P� seguinte.
Dessa forma, é levada em consideração a assimetria do sinal, bem como as modificações
dos tamanhos dos quadros de acordo com a freqüência cardíaca.
Para cada quadro de captura, é recuperada a linha isoelétrica (zero milivolts,
correspondente à não atividade elétrica cardíaca), porque o sinal é geralmente corrompido
por ruído de baixa freqüência, principalmente devido aos movimentos de respiração. Para
isso, um ajuste linear é implementado considerando a média de alguns pontos do início e do
fim do quadro de captura, deslocando todo o quadro para o nível 0. Cada quadro de captura
corrigido é então subdividido em 3 quadros de leitura, correspondendo à onda �P�, ao
complexo �QRS� e à onda �T�.
84
O quadro de leitura da onda �P� começa no início do quadro de captura, com seu fim
no ponto médio entre o pico da onda �P� e o pico da onda �R�. O quadro de leitura do
complexo �QRS� começa no final do quadro de leitura da onda �P� e termina na metade da
distância entre o pico da onda �R� e o pico da onda �T�. Finalmente o quadro de leitura da
onda �T� começa no final do quadro de leitura do complexo �QRS� e termina no final do
quadro de captura, como apresentado na Figura 33.
Os sinais correspondentes a cada quadro de leitura são então normalizados, e para
cada quadro de leitura um número de percentuais são definidos (ex. 15%, 35%, 45%, 60%,
75%). Em seguida, determinam-se os instantes de tempo nos quais a onda normalizada
cruza cada nível percentual.
Figura 34.Pontos percentuais marcados nas ondas �P�, �QRS�, �T� (em valores absolutos).
Os instantes de tempo correspondentes aos pontos iniciais e finais das ondas são
definidos por um especialista para que a rede possa ter um treinamento supervisionado. Os
targets da rede são obtidos pela distância entre os pontos marcados pelo especialista e os
pontos centrais das ondas e, posteriormente, esses pontos são normalizados, dividindo-os
pela metade do tamanho do ciclo cardíaco.
O sistema de redes neurais é composto por 4 redes neurais artificiais MLP, com uma
camada escondida com função de ativação sigmoidal. A primeira e segunda redes neurais
artificiais são chamadas de �P� e �QRS�, possuindo 2 neurônios na camada de saída, que
correspondem ao início e final das respectivas ondas.
85
Essas redes são treinadas, utilizando-se como objetivos os instantes de tempo
definidos por médicos especialistas em análise de sinais de ECG. As demais redes neurais,
chamadas de �TE� e �TD�, possuem somente um neurônio na camada de saída,
correspondendo ao ponto inicial e final da onda �T�, respectivamente. Essa divisão se fez
necessária devido à grande assimetria inerente às ondas �T�.
Para se obter a melhor topologia de rede neural, o número de neurônios na camada de
entrada (pontos percentuais marcados em cada onda) foi variado entre 6 e 24. Já o número
de neurônios da camada escondida foi variado entre 5 e 20.
Os resultados obtidos foram satisfatórios, com erros médios (MAPE) de 23.84% para
�P� (Tabela 7), 11,76% para �TB� (Tabela 9), 8,01% para �TE� (Tabela 10), e com os
melhores resultados obtidos, 5,10%, para �QRS� (Tabela 8).
Os resultados são compatíveis com a natureza individual de cada onda, como o caso
da onda P, que geralmente apresenta a pior razão sinal/ruído, dessa forma obtendo menor
desempenho das redes.
# Camada Entrada
# Camada Escondi-
da
MAPE Treino
(%)
MAPEValida-
ção (%)
MAPETeste (%)
# CamadaEntrada
# CamadaEscondi-
da
MAPE Treino
(%)
MAPE Valida-
ção (%)
MAPETeste (%)
10 10 6,75 12,68 24,05 10 5 4,21 5,28 5,17 15 4,55 12,58 23,84 20 2,36 5,24 5,36
12 5 8,99 13,01 25,65 12 10 3,30 5,56 5,25 10 6,00 13,67 24,76 20 1,73 5,79 5,10
14 5 8,61 12,88 25,33 14 15 1,82 5,82 5,57 20 0,41 13,02 24,52 20 1,12 6,01 5,53
16 5 8,71 13,52 26,28 16 10 2,79 5,92 5,40 20 0,06 13,74 24,25 20 0,86 5,77 5,66
18 5 7,75 14,17 29,13 18 5 3,75 6,28 5,86 20 0,00 13,56 24,42 15 0,96 5,84 5,91
Tabela 7.Resultados para onda �P�. Tabela 8.Resultados para complexo �QRS�.
86
# Camada Entrada
# Camada Escondi-
da
MAPE Treino
(%)
MAPEValida-
ção (%)
MAPETeste (%)
# CamadaEntrada
# CamadaEscondi-
da
MAPE Treino
(%)
MAPE Valida-
ção (%)
MAPETeste (%)
10 5 5,64 7,77 13,23 10 5 6,34 7,44 7,97 10 4,62 7,52 12,66 10 5,97 7,28 8,01
12 10 4,20 7,34 11,76 12 10 4,98 7,09 8,93 20 3,16 6,89 11,80 15 4,62 7,33 9,28
14 5 4,88 7,09 13,16 14 5 5,67 7,06 9,49 15 2,98 6,64 12,68 15 4,14 7,15 9,29
16 5 4,54 6,94 12,03 16 15 4,00 7,13 9,37 10 3,01 6,88 12,02 20 3,60 7,29 9,56
18 10 2,96 7,26 11,92 18 15 3,25 7,23 8,57 15 1,72 7,46 12,26 20 2,73 7,38 9,14
Tabela 9.Resultados para onda �TB�. Tabela 10.Resultados para a onda �TE�.
As topologias selecionadas para cada rede neural de localização dos pontos iniciais e
finais das ondas componentes do ECG, são as que se encontram destacadas nas tabelas.
Para melhorar os resultados obtidos, foi proposto o uso de múltiplas redes neurais
artificiais (Wolf, 2003b, 2003c) A combinação inicial foi feita pela média das modas da
distribuição fornecida pelas saídas de um conjunto de RNAs (população). Contudo, o uso
da média aritmética simples conseguiu atingir melhores resultados.
Como resultados obteve-se os seguintes MAPE�s:
# Redes Neurais Artificiais
Teste para redes �P�
MAPE (%)
Teste para redes �QRS�
MAPE (%)
Teste para redes �TE�
MAPE (%)
Teste para redes �TD�
MAPE (%) 1 23,84 5,10 11,76 7,97 5 19,44 5,18 8,93 7,76
25 19,44 5,99 11,02 12,75 200 21,62 4,85 10,72 8,68
Tabela 11. Resultados obtidos por múltiplas redes.
Como pode ser observado na Tabela 11, a combinação de redes obteve uma melhoria
no desempenho. A partir dos testes realizados, pode-se considerar utilizar 5 redes neurais
artificiais como um número de redes ótimo, tendo propiciado uma diminuição de 4 pontos
percentuais no MAPE da onda �P� e 3 pontos na �TE�.
87
Caso o número de redes seja incrementado para 25 ou 200, o desempenho é reduzido.
Como a rede �QRS� não apresentou diferenças significativas no desempenho para os vários
testes, principalmente no que diz respeito ao MAPE se manter pequeno, não é justificado
neste caso o esforço computacional gerado pela combinação de várias redes.
Na Figura 35 são apresentados 2 exemplos obtidos pelas RNA�s. É importante
salientar que os erros obtidos pelas redes podem ser considerados adequados, pois a
marcação de pontos iniciais e finais de cada onda não possui um ponto exato, e sim
aproximado. Segundo um profissional da área médica, as marcações obtidas pelas RNA�s
são consideradas satisfatórias e bastante promissoras.
Figura 35.Resultados obtidos pelas RNA�s, �X� representam os resultados da rede, �O� os target�s.
Em muitos casos a marcação das RNA�s foi mais acurada que a marcação do próprio
especialista do MIT, talvez pelo fato dessa marcação ser uma tarefa estafante e com uma
tela de baixa resolução, o que leva a certa inacurácia na marcação dos pontos.
88
5.7 Comparação de Resultados
De modo a comparar essa dissertação com trabalhos similares encontrados na
literatura, calculou-se, além do MAPE, os valores médios e desvios padrões dos erros
(diferença entre desejado e obtido), como mostrado nas tabelas a seguir.
Onda P Complexo QRS Onda T Início Fim Início Fim Início Fim
µ (ms) -0,8264 -1,5082 -0,2104 -0,4309 -0,1926 -0,3346 σ (ms) 3,7037 2,2890 3,2486 3,9542 5,7413 6,3991
Tabela 12.Valores obtidos pelo algoritmo desenvolvido nessa dissertação.
Onda P Complexo QRS Onda T Início Fim Início Fim Início Fim
µ (ms) -0.072 0.505 -3.587 0.083 ----- 9.700 σ (ms) 5.695 8.310 4.193 7.705 ----- 16.447
Tabela 13.Valores obtidos pelo algoritmo desenvolvido pelo artigo: (Automatic Wave Onset and Offset Determination in ECG Signals:
Validation with the CSE Database) (Laguna, 1992).
O artigo (Laguna, 1992) utilizou um único banco de dados (CSE Database) para obter
os resultados da Tabela 13 (dados relativamente bem comportados), utilizando-se de
técnicas de recuperação da linha isoelétrica com base em múltiplas derivações, o que não
foi possível nesse trabalho, pois a quantidade de dados seria muito pequena. Para contornar
o problema de quantidade de dados, foram utilizados mais de um banco de dados (ver
Capítulo 4).
Como pode ser observado, o desvio padrão para todas ondas foi melhor no algoritmo
desenvolvido em relação ao artigo. Como o desvio padrão é menor, os valores obtidos
ficam mais próximos dos valores desejados, além disso, em alguns casos até mesmo o valor
da média foi mais próximo ao desejado, como o início do QRS, e o fim da onda T.
Na Tabela 14, são apresentadas as tolerâncias máximas aceitas em erros de
localização de ondas componentes de ECG (The ECG Working Party, 1985).
89
Onda P Complexo QRS Onda T Início Fim Início Fim Início Fim
σ (ms) Max. 10,2 12,7 6,5 11,6 ----- 30,6 Tabela 14.Tolerância máxima aceita em desvios padrões.
5.8 Classificador Patológico
A função do classificador patológico é analisar as informações que um especialista
humano utilizaria para determinar o problema. O correto seria realizar uma análise
minuciosa em todas as derivações de sinal de ECG, mas infelizmente isso não foi possível
neste trabalho, pois os dados obtidos do MIT somente apresentam poucas derivações. Dessa
forma, nesse trabalho foi utilizada a derivação mais utilizada no MIT que é a MLII.
Para o classificador patológico existem as seguintes informações obtidas pelos
processos anteriores:
• Duração da onda �P� (ms);
• Amplitude da onda �P� (mV);
• Duração do intervalo �PQ� (ms);
• Desnivelamento do segmento �PQ� (mV);
• Duração do complexo �QRS� (ms);
• Amplitude da onda �R� (mV);
• Amplitude da onda �Q� (mV);
• Duração do intervalo �ST� (ms);
• Desnivelamento do segmento �ST� (mV);
• Duração da onda �T� (ms);
90
• Amplitude da onda �T� (mV);
• Freqüência cardíaca média do trecho analisado (bpm);
• Desvio padrão da freqüência cardíaca do trecho analisado (%).
Abaixo é apresentado um exemplo onde um trecho de 4 segundos é analisado para
extrair as informações globais, e logo em seguida cada ciclo cardíaco integrante é analisado
separadamente para extrair os seus componentes:
0 50 100 150 200 250 300-0.5
0 0.5 1.0 1.5
Valores em mV
0 100 200 300 400 500 600 700 800 900 1000-1 0 1 2 Freqüência Cardíaca: 66.0569 - Desvio Padrão do Intervalo R-R: 0.81301%
Figura 36.Extração de informações dos 4 segundos para análise.
A Tabela 15 apresenta valores extraídos do trecho de sinal ilustrado na Figura 36,
onde um dos ciclos cardíacos é obtido para análise individual de ondas, e o trecho como um
todo para informações como FC (Freqüência Cardíaca) e DP (Desvio Padrão).
Duração Amplitude/Desnivelamento Onda P 100.9 ms 0,204 mV Onda R 68.0 ms 1,411 mV Onda S -- -0,158 mV (ruído) Onda T 244.0 ms -0,360 mV
Intervalo PR 172.0 ms -- Intervalo QT 400.0 ms -- Segmento PR -- -0,001 mV Segmento ST -- -0,217 mV
Tabela 15.Extração de informações de 4 segundos.
91
5.8.1 Funcionamento
Para a detecção automática de patologias cardíacas, foi desenvolvida uma heurística
definida por um especialista, baseada em valores numéricos extraídos da literatura
biomédica (Braunwald , 2000). O funcionamento é baseado em instruções IF-THEN-ELSE
(Anexo I), levando em consideração os valores limiares para a derivação, conforme descrito
no Capítulo 2. Na Figura 37 é apresentada uma tela do programa final já em
funcionamento:
Figura 37.Tela do Programa de Análise de ECG.
Como pode ser observado, o programa é apresentado em uma janela do Matlab, que é
a ferramenta de desenvolvimento utilizada.
O primeiro quadro, no canto superior esquerdo, representa o ciclo cardíaco em
análise, sendo o mesmo extraído do trecho de 4 segundos. No quadro abaixo é apresentado
o trecho de 4 segundos, que também é utilizado para se extrair informações. Na parte
superior direita, são apresentados valores extraídos dos componentes analisados, e por
92
último, na parte inferior da tela, são apresentadas as respostas do programa, com base nos
valores de normalidade de ECG segundo a bibliografia biomédica utilizada (Braunwald,
2000). Os eixos verticais de ambos os quadros se apresentam em mV, e os eixos horizontais
se apresentam em segundos.
As informações são extraídas da seguinte forma:
• Freqüência Cardíaca: Média da diferença entre os picos das ondas �R� do
complexo �QRS�, dividido por 250 (freqüência de amostragem) multiplicado
por 60. Dessa forma, se a diferença média entre os picos for de 250 pontos,
significa que temos um batimento por segundo, assim sendo, temos 60 por
minuto;
• Desvio Padrão: Desvio padrão das diferenças entre os picos das ondas �R� do
complexo �QRS�;
• Amplitude P: Média dos 3 pontos mais altos existentes entre o ponto inicial e
final da onda �P�;
• Duração P: Diferença entre o ponto final e inicial da onda �P�;
• Intervalo PR: Diferença entre o ponto inicial do complexo �QRS� e o início
da onda �P�;
• Amplitude Q: Menor valor encontrado entre o início do complexo �QRS� e o
pico da onda �R� do complexo �QRS�, valor apresentado em módulo;
• Amplitude R: O valor encontrado no pico da onda �R� (ponto mais alto);
• Amplitude S: Menor valor encontrado entre a onda �R� do complexo �QRS� e
o final do complexo �QRS�, valor apresentado em módulo;
93
• Duração do QRS: Diferença entre o ponto final e o inicio do complexo
�QRS�;
• Amplitude T: Média dos 3 pontos mais altos existentes entre o ponto inicial e
final da onda �T�;
• Duração T: Diferença entre o ponto final e inicial da onda �T�;
• Duração QT: Diferença entre o ponto final da onda �T� e o ponto inicial do
complexo �QRS�;
• Desnivelamento do Ponto J: Altura do ponto final do complexo �QRS�;
• Desnivelamento do seguimento ST: Média entre o ponto final do complexo
�QRS� e o ponto inicial da onda �T� (média do segmento inteiro).
Com base nas informações obtidas é possível sugerir a ocorrência de determinadas
anormalidades. No entanto, para poder realmente determinar a existência ou não de uma
doença, seria necessário informações de outras derivações, bem como dados históricos.
Figura 38.Exemplo de localização de patologias.
94
Figura 39.Outro exemplo de resposta do sistema.
Observando os sinais da Figura 38, sem atentar para o valor absoluto das amplitudes
dos componentes do registro, o mesmo aparenta normalidade. Se trata no entanto de uma
falsa impressão visual de normalidade devido ao fato de todos os componentes do ECG
estarem proporcionalmente acima dos valores limite (Braunwald, 2000). Na Figura 39, é
apresentada outra tela do programa onde não é apresentada nenhuma determinação de
patologia, apesar dos valores estarem fora do intervalo de normalidade.
5.8.2 Resultados Obtidos
Os resultados obtidos pelo sistema desenvolvido podem ser considerados muito bons,
pois, além de apresentar os valores numéricos dos componentes do ECG, também os
compara com valores de normalidade, alertando o usuário sobre as possíveis ocorrências de
não normalidade.
95
Já para o classificador patológico, é importante salientar que o mesmo somente
apresenta resultados ilustrativos e muito genéricos, por trabalhar com somente uma única
derivação eletrocardiográfica. Para se obter resultados confiáveis um especialista precisa
consultar as doze derivações, juntamente com dados históricos e outras informações
adicionais que não se encontram no sinal eletrocardiográfico.
Os resultados dependem diretamente dos resultados obtidos em cada etapa:
• Classificador inicial (Sinais Normais/Anormais);
• Localização dos picos das ondas �R�;
• Captura correta do ciclo cardíaco;
• Localização dos pontos centrais das ondas.
Uma característica interessante do programa é que o mesmo trabalha muito bem com
sinais normais, e caso não detecte corretamente os componentes de um sinal não normal, o
mesmo informa que o sinal não está dentro dos padrões de normalidade, dessa forma
sugerindo ao operador o encaminhamento do paciente a um especialista.
No próximo capítulo são apresentadas as conclusões da dissertação, bem como os
trabalhos futuros propostos.