Algoritmo para Detecção do Complexo QRS e Reconhecimento de

Transcrição

Algoritmo para Detecção do Complexo QRS e Reconhecimento de
Algoritmo para Detecção do Complexo QRS e Reconhecimento de
Contração Ventricular Prematura em Eletrocardiograma
João Paulo do Vale Madeiro1, Paulo César Cortez2, Francisco Ivan de Oliveira3, Robson
da Silva Siqueira4
1,2,3,4
Departamento de Engenharia de Teleinformática (DETI),
Universidade Federal do Ceará (UFC), Brasil
Resumo - Este trabalho propõe um algoritmo capaz de extrair de um Eletrocardiograma informações que
descrevam a morfologia do complexo QRS, de forma a determinar a análise do ritmo cardíaco e o
reconhecimento de uma contração ventricular prematura. Estas informações são obtidas a partir da
detecção dos pontos significativos do complexo QRS: ondas Q, R e S. A performance do algoritmo é
avaliada através de testes com a base de dados Arrhytmia Database do MIT-BIH que atestam a viabilidade
do emprego do algoritmo.
Palavras-chave: Eletrocardiograma (ECG), Complexo QRS, Transformada Wavelet (WT), Limiar Adaptativo.
Abstract - This paper proposes an algorithm capable of extracting from an Electrocardiogram features
describing QRS morphology in order to evaluate cardiac rhythm and recognize a premature ventricular
contraction. These features are obtained from the detection of significant points of the QRS Complex: Q, R
and S waves. The performance of the proposed algorithm was tested using the records of the MIT-BIH
Arrhythmia Database.
Key-words: Electrocardiogram (ECG), QRS Complex, Wavelet Transform (WT), Adaptive Threshold.
Introdução
Alguns dos tipos mais perturbadores de
disfunção cardíaca não resultam do músculo
cardíaco anormal, mas em virtude do ritmo
cardíaco anormal, o que caracteriza as arritmias
cardíacas [1]. Dentre as possíveis causas das
arritmias cardíacas, relacionam-se [1]: ritmicidade
anormal do marca-passo, deslocamento do
marca-passo do nodo sinusal para outras áreas
do coração e vias anormais para transmissão do
impulso elétrico do coração. A contração
prematura é uma contração cardíaca antes do
momento que deveria ocorrer a contração normal
[1]. Esta condição também é chamada de extrasístole, batimento prematuro ou batimento
ectópico. Uma extra-sístole ventricular ocorre
quando um foco situado em algum lugar dos
ventrículos dispara um impulso precocemente e
assume a função de marca-passo por um
batimento [2]. O próximo impulso originado do
nodo sinusal irá encontrar os ventrículos em
estado refratário, e causa uma pausa
compensadora que se segue imediatamente à
contração prematura. A extra-sístole ventricular
causa em geral efeitos específicos no
Eletrocardiograma, que são os seguintes [1]:
complexo QRS prolongado e com alta amplitude,
devido à condução lenta e numa única direção do
impulso elétrico através do músculo ventricular,
onda T com potencial elétrico de polaridade
oposta à do complexo QRS e pausa
compensadora entre a contração prematura e a
contração seguinte. A Figura 1 ilustra
características de uma contração ventricular
prematura no Eletrocardiograma anteriormente
descritas.
Figura 1 – Contração ventricular prematura em
um ECG.
Algumas extra-sístoles ventriculares são
relativamente benignas em sua origem e resultam
de fatores como cigarros, café, falta de sono,
vários estados de intoxicação moderada e,
mesmo, irritabilidade emocional [1]. Por outro
lado, muitas outras resultam de impulsos fugidios
ou de sinais reentrantes, que se originam em
torno dos limites de áreas cardíacas infartadas,
ou isquêmicas [1]. Estatísticas mostram que
pessoas com número significativo de extrasístoles ventriculares têm probabilidade muito
maior do que uma pessoa normal de desenvolver
fibrilação
ventricular
espontânea
letal,
presumivelmente iniciada por uma destas
contrações prematuras [1]. Portanto, a presença
destas extra-sístoles não deve ser ignorada.
Neste
trabalho,
um
algoritmo
é
desenvolvido com o uso da técnica do limiar
adaptativo e da transformada Wavelet cujo
parâmetro de escala variável. A técnica do limiar
adaptativo
é
comumente
utilizada
pelos
algoritmos de processamento de sinal ECG no
estágio da detecção do complexo QRS. Os
diversos modos de aplicação desta técnica têm
uma
característica
em
comum:
préprocessamento sobre o sinal. As transformadas
Wavelet e de Hilbert, os filtros integradores e
derivativos permitem obter sinais modificados do
ECG original, que mantém energia acentuada
para o complexo QRS [3,4,5]. No algoritmo
proposto neste trabalho, dois detetores trabalham
alternadamente. O detetor R-R identifica as
posições das ondas R através de um limiar
adaptativo. Neste estágio, apenas intervalos em
que é detectada discrepância de duração do
intervalo R-R são filtrados, utilizando a função
“Chapéu de Mexicano” como Wavelet-Mãe. A
operação
de
convolução
aplicada
pela
transformada Wavelet visa validar picos em
análise ou procurar picos não detectados através
da técnica do limiar adaptativo. O detector Q-S
identifica as posições dos picos Q e S. Neste
estágio, seleciona-se uma janela, de tamanho
variável, em torno de cada pico R e aplica-se a
transformada Wavelet, usando a mesma WaveletMãe. O parâmetro de escala da transformada é
variável ao longo do exame e uma rotina de
treinamento é utilizada para se determinar seu
valor inicial. A partir das características extraídas
do ECG pelos dois detetores, intervalos R-R e
dos limites de cada complexo QRS, é possível
desenvolver o algoritmo proposto para o
reconhecimento das contrações ventriculares
prematuras.
Metodologia
A Transformada Wavelet
A transformada Wavelet é uma operação
linear que decompõe um sinal em componentes
de diferentes escalas ou resoluções [6,7]. Uma
função
(t) é chamada Wavelet, podendo
assumir valores reais e complexos em L²(R), se, e
somente se, sua transformada de Fourier satisfaz:
O que implica que
+∞
ψ (t )dt = 0.
−∞
A partir de uma Wavelet mãe (t), deduz-se um
conjunto de funções, chamadas Wavelet filhas,
dadas por:
em que a e são os parâmetros de escala e de
translação, respectivamente.
A transformada de Wavelet de uma função f(t) é
dada por:
Wf (a, t ) =
1
a
+∞
f (t )ψ
−∞
t −τ
a
A Wavelet mãe utilizada neste trabalho é a
segunda derivada da função gaussiana, também
conhecida como “Chapéu de Mexicano”
ψ (t ) =
1
2π
(1 − t )e
2
−t 2
2
O Algoritmo Proposto
Dois sub-sistemas interdependentes detectam os
pontos significativos do complexo QRS: o detetor
RR localiza as posições dos picos R e o detetor
QS localiza as posições dos picos Q e S, usando
a informação de posição de cada onda R.
Detetor RR
Neste estágio não há pré-processamento, mas
um limiar adaptativo é utilizado, como um
parâmetro de decisão no processo de
comparação.
Toma-se
uma
expressão
ponderada, envolvendo valores estimados de
amplitude de pico (Re) e valores reais de
amplitude de pico (R) no instante k-1, para
determinar o limiar th[k]. Este valor de limiar será
usado para detectar a posição RR do próximo
pico, no instante k. A expressão é dada a seguir
em que X e Y são pesos determinados de acordo
com a discrepância entre as amplitudes de pico
nos instantes k-2 e k-1 e
é um fator de
amplitude. Em cada instante, o valor estimado de
pico é dado por Re[k]=th[k-1]/ e seu valor inicial
é baseado na máxima amplitude de um intervalo
inicial do ECG.
Há dois tipos de falha que ocorre no
modelo do limiar: detecção falso-positiva (picos
não-válidos) e detecção falso-negativa (picos
válidos não identificados). Ambas as falhas
podem ser corrigidas através da aplicação da
transformada Wavelet. Primeiro, ao detectar-se
um possível pico R, calcula-se o parâmetro t
como segue
em que I[k] é o último intervalo, entre RR[k] (pico
já armazenado) e o pico em análise, m(R-R) é a
média dos intervalos RR e
é o desvio padrão
destes intervalos. Se o parâmetro t exceder um
fator de tolerância 1, então tem-se indicação de
detecção falso-negativa e se t for menor que um
parâmetro 2, tem-se indicação de detecção falso
positiva.
Na ocorrência de indicação de detecção
falso-negativa, se o intervalo entre o último pico
armazenado e o pico em teste não exceder um
intervalo de tempo crítico, dado por 3 vezes o
último intervalo R-R, então o algoritmo aplica no
intervalo entre R[k] e o pico em teste a
transformada Wavelet. Para o intervalo filtrado,
um limiar temporário é calculado com base num
novo fator de amplitude, que é determinado de
acordo com as discrepâncias entre as amplitudes
R[k-1] e R[k] e entre os intervalos I[k-1],
correspondente aos picos R[k-1] e R[k], e I[k]. A
Tabela a seguir, sintetiza o cálculo do limiar
temporário:
R[k-1] < 0.8*R[k] R[k-1] > 0.8*R[k]
=0.50
=0.30
th[k]= *R[k-1]
th[k]= *R[k]
I[k]<2*I[k-1]
=0.70
=0.50
th[k]= *R[k-1]
th[k]= *R[k]
Tabela 1 - Cálculo do limiar temporário para
reconhecimento de picos não-detectados.
I[k]>2*I[k-1]
Na ocorrência de indicação de detecção
falso-positiva separa-se um intervalo contendo o
último pico armazenado R[k] e o pico em teste.
Aplica-se sobre este intervalo a transformada
Wavelet e obtém-se um limiar temporário dado
por pela percentagem
do máximo valor em
módulo do sinal filtrado. Se o pico em teste
ultrapassa o limiar e a sua distância com relação
ao último pico armazenado não é menor que o
comprimento do sinal “Chapéu de Mexicano”,
utilizado na transformada, então, armazena-se a
a sua posição como RR[k+1]. Se a distância do
pico em teste com relação ao último pico
armazenado é menor que o comprimento do sinal
“Chapéu de Mexicano”, então RR[k] recebe a
posição do pico com maior amplitude em módulo
no sinal filtrado.
Detetor QS
No detetor QS, determina-se os limites do
complexo QRS, a partir das posições dos picos R
já obtidos. Calcula-se a energia de cada
complexo QRS pela soma dos quadrados das
amostras contidas no intervalo definido pelos
picos Q e S. O processo inicia-se com um estágio
de treinamento que determina a escala inicial da
transformada Wavelet.
Estágio de Treinamento
A Wavelet “Chapéu de Mexicano” é
definida em um intervalo [Ti,Tf] e, dada a sua
resolução desejada S, o espaçamento entre cada
amostra é dado por (Tf-Ti)/S. Esta relação define
o parâmetro de escala da transformada Wavelet.
A partir de um certo número de picos R já
determinados no exame, testa-se uma seqüência
de resoluções para a Wavelet “Chapéu de
Mexicano, dada por td_R. Então, obtém-se uma
janela de tamanho td_R[k] em torno de cada pico
R já detectado, sobre a qual aplica-se a
transformada. Determinam-se os pontos críticos
mais próximos à posição correspondente ao pico
R. Tomando estes pontos como possíveis limites
do complexo QRS, efetua-se um teste de
eficiência da filtragem.
Teste de Eficiência da Filtragem
Com o objetivo de avaliar a filtragem
efetuada, determina-se uma relação entre a
energia do sinal correspondente ao intervalo
obtido no estágio anterior e a energia do sinal
“Chapéu de Mexicano” utilizado na transformada.
Os dois sinais são transladados para que os picos
sejam coincididos e as amplitudes das amostras
do intervalo correspondente ao QRS são
normalizadas em relação às amplitudes máxima e
mínima do “Chapéu de Mexicano”. Então, o
seguinte parâmetro de erro é calculado:
Este parâmetro, calculado em forma de
média, informa a evolução da eficiência da
filtragem para uma seqüência de resoluções do
sinal “Chapéu de Mexicano” na detecção das
ondas Q e S. O estágio de treinamento toma
como resolução td para o sinal “Chapéu de
Mexicano” aquela amostra da seqüência td_R
que houver produzido menor valor médio do erro
e, ao longo dos batimentos para treinamento.
Estágio de Detecção e Adaptação
A detecção das ondas Q e S é efetuada
após cada detecção dos picos R. A resolução da
transformada Wavelet que é inicialmente usada é
aquela determinada no estágio de treinamento.
Contudo, o parâmetro de erro, explicado na seção
anterior, é continuamente calculado e monitorado.
A discrepância entre intervalos consecutivos,
correspondentes à duração do complexo QRS,
também é avaliada. A atualização do parâmetro
de escala da transformada se dá quando, por dois
batimentos consecutivos, o erro obtido para uma
dada aplicação da transformada excede aquele
erro mínimo médio encontrado no estágio de
treinamento de um fator configurável, ou se o
intervalo entre os picos Q e S, varia de um
determinado fator também configurável.
Reconhecimento do Padrão da Contração
Ventricular Prematura
De posse dos intervalos R-R, obtidos pela
detecção das ondas R, e dos limites de cada
complexo QRS, obtidos pela detecção das ondas
Q e S, elaborou-se um algoritmo simples de
reconhecimento das contrações ventriculares
prematuras. Três condições são testadas para
que seja detectada a ocorrência de batimentos
que caracterizam a contração ventricular
prematura.
Primeiramente, é verificada a ocorrência
de uma pausa compensadora seguida de um
batimento precoce. Os intervalos consecutivos
em que se verifica uma relação do tipo I[k] > (1+
)*I[k-1], em que
é um fator de superação
configurável, são selecionados. Três batimentos
definem estes dois intervalos, sendo o batimento
central aquele que provavelmente corresponde a
uma contração prematura. Então, calcula-se a
energia do complexo QRS dos três batimentos de
cada par de intervalos selecionados. Os grupos
de intervalos que possuírem energia do QRS
central maior do que a energia dos complexos
QRS adjacentes, de um dado fator configurável
são selecionados.
Finalmente, procede-se a determinação do
pico
da onda T correspondente ao batimento
central dos grupos selecionados no teste anterior.
Calcula-se um limiar a partir da máxima amplitude
do intervalo entre o QRS central e o terceiro QRS
de cada grupo. Obtém-se o pico mais próximo do
QRS central. Se este pico obtido e a onda R do
QRS central apresentarem amplitudes de sinal
contrário, então o QRS central do par de
intervalos correspondente é reconhecido como
uma contração ventricular prematura.
preditividade positiva (+P%) e uma taxa de erro
de detecção (DER %) de 1.27%. A Tabela 2
relaciona o desempenho do algoritmo, mostrando
alguns resultados e a Figura 2 ilustra complexos
QRS detectados para o exame 112.
Record
DER(%)
Se(%)
+P(%)
100
0
100
100
101
0
100
100
102
0.68
99.95
99.36
103
0
100
100
104
1.66
99.68
98.65
105
1.94
98.71
99.33
106
5.03
95.92
98.97
107
1.45
98.83
99.72
118
1.92
98.07
100
119
0
100
100
Tabela 2 - Resultados de Detecção do Complexo
QRS
Figura 2 - Complexos QRS detectados no exame
112
Para reconhecimento de contração ventricular
prematura (CVP), testaram–se os exames 100,
102, 104, 105, 106, 116, 118 e 119. A Tabela 3
ilustra os resultados de detecção obtidos e a
Figura 3 ilustra uma contração ventricular
prematura reconhecida no exame 119 .
Resultados
A performance do algoritmo na detecção de
complexos QRS e de contrações ventriculares
prematuras é avaliada através de testes com a
base de dados Arrhythmia Database do MIT-BIH.
Obteve-se para detecção do complexo QRS
99.06% de sensitividade (Se%), 99.7% de
Figura 3 - Contração ventricular reconhecida no
exame 119 correspondente ao batimento central
Exame
Total CVP
CVP
detectadas
100
1
1
102
4
3
104
2
0
106
520
222
116
109
38
118
96
43
119
444
442
Tabela 3 – Resultados do Reconhecimento de
Contração Ventricular Prematura
[4]
[5]
Discussão e Conclusões
algorithm based on the Hilbert transform.
Computers
in
Cardiology
2000, 24-27
Sept.2000 Pages:379 – 382.
Tan, K.F.; Chan, K.L.; Choi, K.; Detection of
the QRS complex, P wave and T wave in
electrocardiogram. Advances in Medical
Signal and Information Processing, 2000.
First International Conference on (IEE Conf.
Publ. No. 476) , 4-6 Sept. 2000 Pages:41 47.
Martinez, J.P.; Olmos, S.; Laguna, P.;
Evaluation of a wavelet-based ECG waveform
detector on the QT database. Computers in
Cardiology 2000 , 24-27. Sept.2000, Pages
181-184.
Kadambe, S.; Murray, R.; Boudreaux-Bartels,
G.F.; Wavelet transform-based QRS complex
detector. Biomedical Engineering, IEEE
Transactions on, Volume: 46 , Issue: 7 , July
1999. Pages:838 – 848.
Oliveira, F. Ivan.; Cortez, P.C.; A new
algorithm for determining the cardiac rhythm
nd
in
electrocardiogram.
2
Brasilian
Symposium of Software Quality – 2003.
O método mostrou-se muito eficiente na detecção
de complexos QRS, inclusive em exames com
forte contaminação de ruído, como 105, e com
expressiva variação da morfologia do complexo
QRS, como o 106. Com relação ao
reconhecimento das contrações ventriculares
prematuras, obteve-se uma taxa de detecção de
63.7%. Levando em consideração que o método
não utiliza pré-procesamento, mas apenas as
informações obtidas pelo detector QRS, que são
os intervalos R-R e os limites de cada complexo
QRS,
os
resultados
são
considerados
satisfatórios. No entanto, mais simulações serão
realizadas
e
novos
resultados
serão
documentados para o método proposto.
Contato
Referências
João Paulo do Vale Madeiro
[1] Guyton, Arthur C.; Hall, John E.; “Textbook of
Medical Physiology”, Guanabara Koogan
S.A., 2002.
[2] Brener,J., 1967. “Heart rate”, on book of P.H
Venables
&
I.
Martin,
“Manual
of
Psychophysiological methods”, Amsterdam:
North-Holland.
[3] Benitez, D.S.; Gaydecki, P.A.; Zaidi, A.;
Fitzpatrick,A.P.;. A new QRS detection
[6]
[7]
Departamento de Engenharia de Teleinformática
– DETI
Universidade Federal do Ceará
Fone: 85 2889582
E-mail: [email protected]