Escolar Documentos
Profissional Documentos
Cultura Documentos
SINAIS DE ELETROCARDIOGRAMA
Rio de Janeiro
2021
1. INTRODUÇÃO
A doença cardiovascular (DCV) é o maior desafio global para a saúde, com alta
mortalidade e morbidade. De acordo com as Estimativas Globais de Saúde da OMS para 2015,
as DCV são causa de aproximadamente 17.689 mil mortes, com taxa bruta de mortalidade de
240,9 mortes por cem mil habitantes. Em 2030, uma estimativa conservadora de mortes devido
a doenças cardiovasculares deve ser superior a 23,3 milhões por ano.
O eletrocardiograma (ECG) permite a representação da atividade elétrica do coração,
mostrando a contração e o relaxamento regulares do músculo cardíaco. A análise da forma de
onda do ECG é utilizada para diagnosticar diversas anormalidades cardíacas. Algumas técnicas
são usadas no processamento de sinal de ECG, que consistem na atenuação de ruído, correção
de linha de base, extração de características e a detecção de arritmia. A avaliação
eletrocardiográfica (ECG) dos ritmos cardíacos é amplamente utilizada e uma importante
modalidade não invasiva de diagnóstico e monitoramento. A interpretação do ECG é uma etapa
crucial no diagnóstico dos pacientes, principalmente em caso de evento agudo. A interpretação
incorreta do achado de ECG pode não apenas resultar em triagem inadequada do paciente, mas
também perder a oportunidade de detectar a candidatura do paciente para reperfusão aguda,
salvamento de vidas, terapias. Alguns estudos recentes relataram habilidades de interpretação
de ECG abaixo do ideal dos prestadores de cuidados de saúde de emergência com baixa
precisão na maioria dos diagnósticos críticos baseados em ECG. Portanto, um sistema de
classificações de ECG automatizado confiável será útil para marginalizar o fardo da má
interpretação do ECG.
Métodos de classificação automática de batimentos cardíacos, normais e anormais, são
de grande importância, uma vez que os resultados da classificação podem fornecer informações
valiosas para o diagnóstico de risco de arritmias ou morte súbita. Várias tentativas foram feitas
no passado para automatizar a detecção de arritmia de ECG usando algoritmos computacionais
avançados, como mapas de auto-organização (SOM), Perceptron multicamadas (MLP),
máquinas de vetor de suporte (SVM), sistemas fuzzy, modelos de Markov, etc.
Sendo assim, este trabalho propõe a classificação de batimentos cardíacos em
batimento normal, batimento supraventricular prematuro, contração ventricular prematura,
fusão de ventrículo e batimento inclassificável, utilizando inicialmente uma modelagem de rede
cnn e depois uma MLP e verificando o desempenho de ambas.
1.1.Eletrocardiografia e ECG
O reconhecimento precoce de uma doença cardíaca é muito importante, uma vez que
a doença cardíaca pode levar a morte instantânea. O eletrocardiograma (ECG) é um teste
detalhado e não invasivo contendo informações poderosas úteis para encontrar tratamentos para
doenças cardíacas. O eletrocardiografia é um método de monitorar as diferenças de potencial
na pele humana que são causada pela despolarização e repolarização dos músculos do coração.
Geralmente, dados de ECG é adquirido por meio de terminais. Os cabos são usados para medir
a atividade elétrica em corpo humano. O pacote de informações resultante é chamado de ECG.
O registro de ECG é uma forma de onda composta por muitos picos e ondas diferentes. Um
registro de ECG normal contém uma onda P, seção QRS e uma onda T seguido por uma
sequência cardíaca. A figura mostra um ciclo cardíaco normal.
1.2.Pré-processamento de dados
1.3.Classificação
1.4.Rede Neural
Uma rede neural simples usada para treinar dados de entrada para classificar os valores
de saída é apresentada na figura a seguir. As redes neurais têm três tipos de camadas. Uma
camada de entrada que recebe os valores de entrada, camadas ocultas que aplicam os pesos das
camadas aos dados de entrada usando uma função de ativação para decidir sobre os valores de
saída e uma camada de saída que gera os resultados.
Aqui, I1, I2, I3 são os valores de entrada de um conjunto de dados. W11, W12… .W33,
Wxy são os pesos (valores de magnitude) das conexões entre os nós das camadas ef representa
as funções de ativação que geram os resultados na camada oculta (aqui H1, H2) e na camada
de saída (aqui R) usando um critério. Os pesos determinam a força de uma ligação entre os nós.
Se os pesos forem maiores do que a entrada conectada a ela, haverá um impacto maior na saída.
Um valor inferior mais próximo de zero significa que a entrada não terá muito efeito nos nós
de saída; b representa o viés na rede para um neurônio. Bias é um valor constante que é usado
para ajustar a saída para a soma ponderada das entradas. Quando uma saída é gerada na direção
do movimento para frente, geralmente falta precisão na primeira iteração. A resposta de saída
é então propagada de volta para ajustar os pesos a fim de melhorar o processo de aprendizado,
obtendo a saída correta nas próximas iterações diretas. Na prática, as propriedades dos dados
de treinamento, como valores e tipos, podem variar em um conjunto de dados. Portanto, a
entrada para redes neurais é geralmente normalizada em uma escala fixa na camada de entrada.
Por exemplo, Idade e altura em um conjunto de dados de população estão originalmente em
duas escalas diferentes devido à sua distribuição de valor natural, mas após a normalização em
uma escala padrão entre 0 e 1, os valores sempre estarão entre 0 e 1. Os recursos de entrada
normalizados aumentam a taxa de aprendizagem da rede neural.
Este kernel é movido nos dados da imagem da esquerda para a direita em incrementos
de etapa de 1. Esses incrementos de etapa são chamados de passadas. O valor da passada para
esta convolução é 1. A convolução F de um kernel e dados de imagem é representada pela
seguinte equação (Skalski, P., 2019).
1.6.Função de ativação
Cada camada de convolução no modelo CNN é geralmente seguida por uma função
de ativação. Uma escolha comum para a maioria dos modelos CNN é a função ReLu (Unidade
Linear Retificada). ReLu define os valores negativos da matriz de recursos de entrada como
zero. CNNs são usados principalmente para processamento de informações do mundo real e,
portanto, a não linearidade no modelo de aprendizagem é necessária, pois a própria convolução
está no grupo de operações lineares Matematicamente ReLu é definido como
1.7.Camadas de agrupamento
Camadas de exclusão são usadas para liberar algumas informações em alguns dos
neurônios na rede para evitar problemas de super ajuste, enquanto camadas planas são usadas
antes da camada de saída para converter a saída multidimensional em um vetor. Esta etapa é
necessária para obter a forma de saída de acordo com o número de turmas treinadas e previstas.
Por exemplo, se estiver treinando em uma CNN, os dados de entrada consistem em duas
categorias, então a camada plana é necessária para reduzir o resultado da camada totalmente
𝐸 = 2 ∑s(𝑦 − 𝑝)
𝜕𝐸
∂Wx, y
2. DADOS
Neste estudo foi utilizado o dataset disponibilizado pela physionet,o banco de dados
de arritmia do MIT-BIH contém 48 trechos de meia hora de registros de ECG ambulatorial de
dois canais, obtidos de 47 indivíduos estudados pelo Laboratório de arritmia BIH entre 1975 e
1979. Vinte e três registros foram escolhidos aleatoriamente de um conjunto de 4000 24-
registros de ECG ambulatorial de uma hora coletados de uma população mista de pacientes
internados (cerca de 60%) e ambulatoriais (cerca de 40%) no Hospital Beth Israel de Boston;
as 25 gravações restantes foram selecionadas do mesmo conjunto para incluir arritmias menos
comuns, mas clinicamente significativas, que não estariam bem representadas em uma pequena
amostra aleatória. As gravações foram digitalizadas em 360 amostras por segundo por canal
com resolução de 11 bits em uma faixa de 10 mV. No total, o banco de dados disponibiliza 5
categorias de anoralidades no ECG ('N': 0, 'S': 1, 'V': 2, 'F': 3, 'Q': 4), sendo estas batimento
normal, batimento supraventricular prematuro, contração ventricular prematura, fusão de
ventrículo, batimento inclassificável.
O banco de dados foi dividido em treinamento, validação e teste. Para o treinamento,
utilizou-se 70% dos dados (76613 batimentos) e os 30% restantes (32834 batimentos) foram
utilizados para a validação e o teste.
3. METODOLOGIA
Neste estudo, as redes CNNs foram usadas para classificar fragmentos de sinal de ECG
de longa duração (10 s). O sistema classificador projetado tem uma estrutura ponta a ponta
completa, sem nenhum recurso de extração dos sinais nem seleção de recursos em qualquer
estágio. Para este efeito, foi projetada uma estrutura de rede inicialmente de 9 camadas,
incluindo camadas CNN padrão. A entrada deste estrutura de rede é composta por 109446
amostras de sinais de ECG. Na saída do classificador será realizada a previsão das classes às
quais pertencem os sinais, sendo que foram consideradas 5 categorias ('N': 0, 'S': 1, 'V': 2, 'F':
3, 'Q': 4), sendo estas batimento normal, batimento supraventricular prematuro, contração
ventricular prematura, fusão de ventrículo, batimento inclassificável. Diferente das técnicas
padrão, nenhuma detecção e segmentação do QRS foi realizada nos sinais de ECG.
A rede profunda proposta tem uma camada flatten na 6ª camada para que os mapas
obtidos a partir da 5ª camada seja transformado para o tamanho apropriado como uma entrada
para as camadas subsequentes da rede. Esta camada transforma vetores de recursos de entrada
multidimensionais em dados de saída unidimensionais. Os recursos obtidos a partir da camada
flatten alimentam as camadas de rede neural densas conectadas de 256 e 512 unidades. Na
última camada da rede, existe um camada de softmax que tem o número das classes de saída.
Usando a camada softmax, fazemos a previsão à qual pertencem os dados de entrada. Além de
tudo isso, a quinta camada tem a função dropout para evitar o sobreajuste durante a fase de
aprendizagem. Após o desenvolvimento do modelo, os números da camada, tipos e parâmetros
do algoritmo foram alterados manualmente e os desempenhos dos conjuntos de validação são
observados.
Para implementar modelos baseados em CNN, bibliotecas Python keras foram usadas
para treinamento e classificação usando camadas de modelo de rede neural. Alguns parâmetros
de implementações de rede neural e suas breves explicações são fornecidas abaixo.
• Forma de entrada: esta é a forma dos dados que são fornecidos à rede neural
• Épocas: refere-se a uma transmissão completa dos dados sendo treinados em redes
neurais. Por exemplo, se uma entrada de 1000 amostras é fornecida à rede, então uma época é
concluída quando um certo número de vezes todas as 1000 amostras são usadas uma vez.
• Perda: refere-se ao valor de erro que o modelo tenta reduzir durante o treinamento.
Uma diminuição no valor da perda significa que o modelo está convergindo para mais precisão.
Alguns exemplos de funções de cálculo de perda incluem (entropia cruzada binária e entropia
cruzada categórica)
4. RESULTADOS
Para a primeira rede CNN, foi obtido uma acurácia de 0.9922, na figura abaixo
podemos verificar como ficou a modelagem da rede.
Neste primeiro modelo como citado anteriormente, foi utilizado o otimizador adam
que é o mais utilizado e que apresenta melhores resultados na classificação do ECG. Vemos
que apesar de utilizarmos um número de épocas de 10, obtemos um resultado muito satisfatório
com a rede CNN.
Para o segundo modelo, fizemos apenas pequenas alterações no número de épocas e
no otimizador. Foram utilizados 2 épocas e o otimizador SGD (descida gradiente estocástica) e
a estrutura do modelo da CNN pode ser visto na figura abaixo, onde foi obtido uma acurácia de
0.9447.
Vemos que para apesar de utilizarmos uma quantidade de épocas pequenas o valor da
acurácia não alterou muito, desda forma, foi realizado o teste com mais uma rede CNN com
menos camadas.
Reduzimos duas das camadas de convulão, obtendo assim uma CNN de 7 camadas,
utilizando o otimizador Adam, 1 época e batch size de 100. O desempenho obtido foi de uma
acurácia de 0.9678.
Figura 13 - Estrutura da CNN 3
Para a rede MLP, separou-se 70% dos dados para treinamento, 15% para validação e
15% para teste. Considerou-se como critério de parada o erro desejado de 0,01. A rede foi
configuradas com três camadas escondidas com, respectivamente, 3, 6 e 4 neurônios. O melhor
desempenho para a MLP foi de 96,22.
REFERÊNCIAS