当前位置:首页 期刊杂志

基于功率谱密度图和卷积神经网络的心律失常分类研究

时间:2024-05-04

牟文锋,周登仕

(四川大学电子信息学院,成都610065)

0 引言

随着人口老年化的加剧,其心血管系统会逐渐减弱,更容易患上疾病。而近年来我国老年化人口呈指数的增长趋势,其心血管患者人数已经达到2.9 亿[1]。在临床医学中,心血管基本的死亡率占疾病中的首位,其高危险性的特点对人们的健康影响很大。心律失常是心血管基本的重要表现,心律失常极容易导致人猝死,并伴随其他高危心脏病。因此,快速且准确的对心律失常进行分类与识别,对于临床医学有着十分重要的意义。

心律失常类型中,对人影响最大的是:心房颤动(Atrial Fibrillation,Afib),心室颤动(Ventricular Fibrillation,Vfib)和起搏心跳(Paced beat,Pace)。Afib是最常见的持续性心律失常,往往会快速增长。房颤患者的心房频率非常快,达到了每分钟400-600 次,心电图(Electrocardiogram,ECG)中不会出现P 波。Vfib主要是心室的不规则振动和不适合的收缩导致的,会导致快速心跳的发生,心电图中记录了没有QRS 复合波的不稳定波动。Pace主要发生在心率过慢的环境中,需要使用刺激信号来刺激心房或者心室发生搏动,而出现的心电现象。正常心率(Normal sinus rhythm,Nsr)、Afib、Vfib和Pace的波形图如图1 所示。

图1 心律失常波形图

心电信号包含了心脏健康状况的细节信息,其有利于心脏健康的检测和诊断。但ECG 是高度非线性的,其振幅差异往往都极小。此外,ECG 信号获取时会记录较长时间,而人为的对心电信号进行识别是十分费时和费力的,可能还以为人为元素忽略掉了其重要信息。因此,近年来提出使用计算机辅助系统(Computer-Aided Diagnosis,CAD)来对心电信号进行分析,减少诊断的主观影响,而且极大地减少了信号分类的时间[2]。

表2 显示了近年来使用CAD 系统自动检测心律失常的研究,并使用不同的方法将心律失常分为对应的类别。Karimifard3 等人[3]提出使用Hermitian 基函数提出心电信号的高阶统计量,实验结果表明,该方法能够有效的抑制不同心律失常的形态变化,降低噪声的影响。Desai 等人[4]使用旋转森林算法对四类心律失常进行分类,得到了98.37%的分类准确率。Martis 等人[5]提出使用主成分分析(Principal Component Analysis,PCA)对分段的心电信号进行分析,使用12 维PCA 特征数据,得到的分类准确率为98%。

近年来,深度学习在心律失常识别中得到了广泛的应用。许多团队已经对卷积神经网络(Convolutional Neural Network,CNN)在心电中进行了研究,并取得了优异的效果。Yildirim 等人[6]提出使用离散小波变换结合双向长短期记忆网络的方式进行心律失常的分类,得到的分类准确率为99.39%。

1 实验数据

在本文中,心电信号数据从公开心律失常数据库中获得的[17]。其中,从MIT-BIH 心律失常数据库中获得Nsr和Pace类型,从MIT-BIH 房颤数据库中获取了Afib类型,从克瑞顿大学室性心律失常中提取Vfib类型。实验中,使用导联Ⅱ的心电信号数据。

其中,使用最为广泛的是MIT-BIH 心律失常数据库,被用于大部分已发表的研究中。其也是第一个可用于实现算法验证的目标数据库,多年来人们也在不停的完善。数据库中记录的心电信号都有其类型和相关信息的注释,这些对于心电信号基准点来说,是其评估心律失常自动分类方法的基础。

2 实验方法

众所周知,卷积神经网络在图像识别领域取得了巨大的成果。CNN 具有图像平移不变的独特能力,使得其被广泛应用于生理信号的形态分析中。

本文提出了基于功率谱密度图和CNN 网络模型的心律失常分类算法,主要包括三个阶段:第一阶段,使用小波变换对心电信号去去除噪声,并使用信号切割算法将信号切分为短时心电信号段。第二阶段,计算心电信号段的功率谱估计,得到其功率谱曲线。第三阶段,使用卷积神经网络对提出的功率谱密度图进行端到端的识别与分类。具体分类流程如图2 所示。

图2 心律失常分类算法流程图

2.1 预处理

心电信号在采集时,会因为各种原因含有噪声,所以为了使得算法的分类性能更好,预处理阶段需要对信号进行去噪(如基线漂移、电源干扰和肌肉收缩)。本文中,使用小波变换的方法去除心电信号中的基线漂移和其他噪声[7]。

本文使用的CNN 网络识别模型,具有平移识别的能力,所以本文将信号切割为短时心电片段,每段信号长度为1800 个采样点。这样避免了使用过多的定位算法,以及RR 间期的计算。

2.2 功率谱密度图

功率谱估计是信号分析中广泛应用的方法之一,功率谱通过傅里叶变换来进行求解[8]。功率谱揭示了信号的重复和相关模式,在检测、估计和数据预测方面有着重要意义。一般来说,信号的相关性和可预测性越强,其功率谱就越集中,反之信号的随机性和不可预测性越强,则功率谱曲线就越宽。因此,信号的功率谱可以用来推断信号处理过程中重复结构或相关模式的存在。

求功率谱密度图(Power Spectral Density,PSD)的方法有很多,主要有:非参数的功率谱估计、基于模型的功率谱估计和高分辨率谱估计[9]。本文选用其非参数功率估计方法,由于其具有很好的分类性能,使用Welch 频谱估计方法来计算功率谱曲线。Welch 方法[10]通过重叠和加窗段的修改周期图进行平均实现的。信号为x(l),长度为L,被分为长度为N 的K 个片段,每个重叠段在计算周期图之前被加窗,第i 段被定义为:

其中D 是重叠长度,对于D=N/2,重叠率等于50%,对于D=N,重叠率等于0。

本文使用MATLAB 软件的Pwelch 函数来进行功率谱计算,其参数设置为:nfft=360,noverlap=64,window=hanning(128),并且不做趋势处理。得到的信号的功率密度谱图如图3 所示。

图3 心电信号对应的功率谱密度图

2.3 学习/分类

卷积神经网络[11]是含有卷积计算的一种前馈神经网络,在图像处理领域能够得到很好的效果。本文提出的卷积神经网络模型共23 层,其包括:卷积层、池化层、全连接层、ReLu 激活函数、Dropout 层,其网络结构如图4 所示。

图4 CNN网络结构模型图

CNN 网络中,第1 层到第18 层,是卷积层和池化层重叠而来。第19 层和第20 层是全连接层,具有4096 个神经元。网络的最后一层是具有4 个神经元的全连接层,具有Softmax 功能,用于预测心律失常的类别[12]。卷积层有利于对图像进行特征提取,池化层可以降低特征图的维数,心电信号的分类取决于最终全连接层的输出。

3 实验结果及分析

本文使用十次交叉验证的方法来对其算法进行评估,使用90%的实验数据来进行CNN 网络的训练,另外10%的数据来进行测试,实验的验证数据从训练数据集中获取。本文共选择了13550 个实验数据,得到的分类混淆矩阵如图5 所示。

图5 分类混淆矩阵

为了更好观察网络对四个类型的分类效果,本文使用一下几个指标对其进行评估:准确率(Acc)、精确度(Pre)、特异性(Spec)、召回率(Recall)。其中Afib类型和Nsr类型的分类精确度最高,而Afib类型的特异性最低,为79.91%。

表1 网络分类整体性能

本文提出的心律失常分类算法的整体分类性能如表1 所示。分类的准确率为96%,精确度为98.82%,特异性为98.77%,召回率为97.11%。表2 总结了近年来基于MIT-BIH 数据库的心律失常分类算法,可以看出,在分类准确率上超过了大部分研究团队。相比Acharya[13]提出的对5 秒长度的心电信号进行分类,与本文提出的短时信号长度十分接近,但本文算法的分类准确率高出1.1 个百分点。与Zubair[15]同样使用CNN 网络来进行分类的比较,本文的算法高出3.3 个百分点,说明本文的算法更加有效。而Kallas[16]在其实验中,获得了97%的高分类准确率,但其使用了复杂的分析方法和分类器,需要手工对特征进行提取,使得网络耗时增加,不能实现端到端的信号识别方法。

表2 基于MIT-BIH 数据库的心律失常分类算法总结

4 结语

随着医疗技术的不断发展,对心律失常的诊断准确度和识别耗时的要求会不断提高。准确的CAD 诊断系统可以帮助临床医生进行早期诊断,也可以帮助患者得到早期治疗。本文提出的自动心律失常识别系统能够有效地反映心脏状况,该系统基于功率谱密度图对数据进行功率谱估计,并使用卷积神经网络模型进行分类和识别,得到的分类准确率达到了96%。与现有的算法比,更适用辅助临床诊断。未来的工作中,准备使用更高级别的卷积神经网络来对源数据进行识别,得到更好的分类准确率。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!