29
5 AN`LISE AUTOM`TICA DE SINAIS DE ECG Nesse captulo 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 cardacas 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ªo dos Dados Sinal Redimensionado Classificador Neural 0 [ Sinal com caractersticas normais ] 1 [ Sinal com caractersticas anormais ] ALARME 4s de Sinal 4s de Sinal Ciclos Cardacos Extrator Neural de Informaıes Inicio e Fim das Ondas, Segmentos, Intervalos; e Amplitudes Classificador Patolgico Patologia Existente Extraªo de Ciclos Cardacos Figura 17.Fluxograma do sistema desenvolvido.

5 AN`LISE AUTOM`TICA DE SINAIS DE ECG - dbd.puc-rio.br · 67 5 AN`LISE AUTOM`TICA DE SINAIS DE ECG Nesse capítulo descreve-se o funcionamento do programa desenvolvido, juntamente

  • 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.

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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.

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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)

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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.

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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.

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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.

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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�).

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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.

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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.

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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�.

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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.

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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�.

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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�.

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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.

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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).

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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);

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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.

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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;

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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.

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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.

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA

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.

DBD
PUC-Rio - Certificação Digital Nº 0210429/CA