基于卷积自编码神经网络的心电信号降噪

2020-08-19 10:42孟宪辉
计算机工程与应用 2020年16期
关键词:肌电电信号电极

陈 健,刘 明,熊 鹏,孟宪辉,杨 林

河北大学 电子信息工程学院,河北省数字医疗工程重点实验室,河北 保定 071002

1 引言

目前,我国心血管疾病致死率占居民疾病死亡的40%以上,并且其患病率及死亡率仍处在持续上升的阶段[1]。动态心电图(Electrocardiogram,ECG)是心脏电活动在人体表皮的一种综合表现,蕴涵着丰富的反映心脏节律及其电传导的生理和病理信息,为无创性检查诊断心血管疾病提供了重要的病理信息,也是心脏功能是否良好的重要评价依据之一[2]。

如今,远程医疗的发展为动态ECG 信号的长期监测提供了平台。远程医疗背景下,心电信号容易受到周围环境中复杂噪声的干扰而影响医生对于心脏疾病的诊断。心电信号幅值微弱,且频谱与噪声存在重叠,从而导致在去噪过程中容易丢失信息。因此,如何在去除噪声的同时还保留心电信号的大部分有用信息一直是国内外学者的重点研究内容。

目前心电信号去噪的方法主要有经验模态法(Empirical Mode Decomposition,EMD)[2-4]、小波变换法[5-8]、S 变换法[9-10]、盲源分离法(Blind Source Separation,BBS)[11-13]等。采用 EMD 对 ECG 进行降噪,会误去除频谱与噪声重叠的微弱P波和T波;小波降噪算法对阈值的依赖性太高,需要经过多次的实验才能得到合适的阈值,心电信号去噪的实时性因此而降低;BBS 将噪声和ECG 分离开来,但对ECG 的细微变化敏感使得无法处理噪声复杂的情况;S变换通过选择所需频率来去除信号中的噪声分量,但算法的高复杂性无法保留ECG 的边缘特性。Liu等人[14]将指导滤波(Guided Filter,GF)的方法用到心电信号降噪上,但无法很好去除变异性心拍数据所含噪声。深度学习算法能够提取到信号的深层特征从而很好地解决这一问题。Li等人[15]提出了BP神经网络(BP Neural Network,BPNN)方法对心电信号降噪,但是它在滤除噪声的同时也滤除了部分心电信号有用的特征信息,这对医生的诊断造成了极大的干扰,也会大大增加心电自动分析的误诊率;Antczak[16]利用长短期记忆单元(long short-term memory,LSTM)构建了深度递归神经网络的心电信号去噪方法,但它容易导致过拟合,而且需要人工合成心电信号进行训练。因此,为了进一步提高在远程医疗背景下被复杂噪声污染的ECG 信号的降噪效果,尤其是对ECG 信号低频成分的保持,本文提出了基于卷积自编码神经网络的心电信号降噪算法。该方法将卷积神经网络和自编码器相结合,利用自编码器的编码、解码特性,通过卷积的方法构建深层神经网络来学习从含噪心电信号到干净心电信号的端对端映射。输入是含噪的心电信号,输出是它的干净版本,以端对端的方式学习完整的卷积和反卷积映射,从含噪的心电信号中得到干净的心电信号。

2 方法

本文利用自编码器编码、解码的特性,将卷积神经网络(Convolutional Neural Network,CNN)和自编码器(Auto-Encoder,AE)结合构建卷积自编码神经网络(Convolutional Auto-Encoder Neural Network,CAENN)。首先对心电信号进行归一化、截取心电向量等预处理;然后将预处理好的样本数据放到CAENN 的编码层进行卷积、池化的编码处理,卷积层充当特征提取器,对样本内容的细节特征进行编码,同时消除噪声;池化层对输入的特征图进行压缩,提取主要特征,同时简化网络复杂度;再经过CAENN 的解码层进行上采样、反卷积的解码处理,反卷积层对样本抽样进行解码以恢复样本内部细节,得到干净的心电信号;上采样解决了反卷积过程中滤波器重叠的问题。具体的实验是:先使用干净的原始心电信号对网络各层的权值进行初始化,完成网络预训练,然后使用含噪心电信号样本对网络参数整体调优,使其满足重构误差要求。本文算法框图如图1所示。

图1 基于卷积自编码神经网络的心电信号降噪算法框图

2.1 自编码器

自编码器(AE)是一种无监督学习算法。AE 由两层神经网络组成:第一层是由输入层和中间隐层节点组成的编码层;第二层是由中间隐层和输出层节点组成的解码层。编码层和解码层的输入、输出节点个数是相等的,其目的是通过学习一个恒等函数,使输入等于输出,来寻找原始数据之间隐藏的关联结构。

2.2 基于卷积自编码降噪神经网络

本文针对心电信号降噪问题所构建的卷积自编码神经网络(CAENN)是在自编码器[17]的基础上引入卷积操作,将普通的矩阵内积操作替换为卷积操作,以端对端的方式学习完整的卷积和反卷积映射,从含噪的心电信号中得到干净的心电信号。该网络主要分为编码和解码两部分,由一系列卷积层、下采样层、上采样层和反卷积层组成。卷积层充当特征提取器,对样本内容的细节特征进行编码,同时消除噪声;池化层对输入的特征图进行压缩,提取主要特征,同时简化网络复杂度。然后,反卷积层对样本抽样进行解码以恢复样本内部细节,得到干净的心电信号;上采样解决了反卷积过程中滤波器重叠的问题。在CAENN 中,权重是共享的,以保持空间局部性;同时解决了AE 因为层数增加参数呈指数增长的问题,大大降低了参数的数量。

2.2.1 CAENN编码

CAENN 编码部分由卷积层、激活函数和下采样层交替组成,卷积层充当特征提取器,对心电信号的特征进行编码,同时消除噪声。在卷积层中,当前层的卷积核与上一层的特征向量进行卷积,再经过激活函数形成这一层的特征映射。卷积层输出可以用下式表示:

其中,表示第l层卷积层第j个卷积核对应的特征向量,Mj表示当前神经元的接受域,表示第l层第j个卷积核的第i个加权系数,表示第l层第j个卷积核对应的偏置系数,f为非线性函数,其计算公式为:

下采样层在减少数据维数的同时保留了有用信息,采用池化技术来保持特征,使特征具有缩放、位移和不变性。同时,下采样层具有二次特征提取的作用,其计算公式为:

其中,down(·)表示下采样,表示加权系数,表示偏置系数。

2.2.2 CAENN解码

CAENN 解码部分由反池化、反卷积和激活函数交替组成。反池化是对池化相反的操作,解决了反卷积过程中滤波器重叠的问题。反卷积[18(]Deconvolution)又被称为转置卷积(Transposed Convolution),因为卷积层的前向传播过程就是反卷积层的反向传播过程,卷积层的反向传播过程就是反卷积层的前向传播过程。将卷积层的输出特征进行池化和反池化的处理,得到反卷积层的输入特征。上采样层(反池化层)可以用下式表示:

其中,up(·)表示上采样,⊗表示上采样操作,表示加权系数,表示偏置系数。

第l层的反卷积层的输出为:

2.2.3 CAENN网络参数变化

在卷积自编码降噪神经网络中,第一个卷积层中分布了8 个长度为3 个采样点的卷积核,其输入为200 个采样点的心电向量,输出8 个长度为200 个采样点的特征向量;第一个下采样层对第一个卷积层输出的特征向量进行池化操作,将特征向量压缩为100个采样点。这样依次对样本进行卷积、池化的编码处理,再进行反池化、反卷积的解码处理,学习从含噪心电信号到干净心电信号的端对端映射。CAENN网络参数的变化如表1所示。

表1 卷积自编码神经网络参数变化

2.2.4 Adam优化卷积自编码神经网络

对于CAENN 的参数,本文通过构建均方误差函数作为损失函数,最小化L(θ)的误差来估计网络参数。假设xn为标签数据,即原始干净的心电信号,通过标签数据与重构后的心电信号设计优化目标函数,n代表训练样本的数量,函数表达形式为:

为了优化CAENN网络,更新网络参数θ,本文采用Adam优化算法[19]代替随机梯度下降(Stochastic Gradient Descent,SGD)算法来最小化损失函数。随机梯度下降算法所有的权重更新都是采用单一的学习率(α),也就是说在网络训练的过程中学习率是不改变的。而Adam优化算法为不同的参数设计独立的自适应性学习率,通过梯度的一阶矩估计和二阶矩估计的计算来实现。并且Adam算法在保持较低内存需求的同时具有很高的计算效率,其梯度的对角缩放(Diagonal Rescaling)同样具有不变性。更新网络参数过程表示为:

其中,gt是均方误差函数L(θ)对θ的梯度,mt是对梯度的一阶矩估计,vt是对梯度的二阶矩估计,是对mt的偏差修正,是对vt的偏差修正,矩估计的指数衰减速率β1为0.90,β2为0.99,步长η为0.001,数值稳定的小常数ε为10-8,Δθt是计算的θt更新值,θt+1为t+1 时刻的θ值,即将θt和 Δθt的值求和应用到θt+1。Adam优化算法首先对参数向量、一阶矩向量和二阶矩向量进行初始化。然后循环迭代地更新各个部分,使参数θ收敛。即时间步t加1,更新偏差的一阶矩估计和二阶矩估计,接着计算一阶矩估计的偏差修正和二阶矩估计的偏差修正,再更新目标函数在该时间步上对参数θ所求的梯度,最后再用以上计算出来的值更新模型的参数θ。

3 仿真实验及分析

3.1 数据来源

本文数据选自包含48个长度为30 min记录的MITBIH心律失常数据库(MIT-BIH Arrhythmia Datebase),噪声选自MIT-BIH 中的噪声压力数据库(Noise Stress Database)。实验中为验证降噪效果和更好地模拟真实状态下患者的心电信号,将基线漂移、电极干扰和肌电干扰三类噪声按照一定的信噪比叠加到心电信号中。这些噪声MIT-BIH 数据库中已经给出,并且把人体肌肉、皮肤和设备电极等干扰变成了映射到心电信号中的数据,在使用时按照不同信噪比进行叠加即可。

3.2 评价指标

本文采用信噪比(Signal-to-Noise Ratio,SNR)和均方根误差(Root Mean Square Error,RMSE)两个指标来评估降噪算法的性能。如果xn表示干净的ECG 信号,为经去噪后的ECG信号,则SNR定义为:

信噪比表征的是干净心电信号与噪声之间的比值,单位为dB,是评价信号质量的一项重要指标,信噪比越高说明对于信号滤波的效果越好。另外一项指标为均方根误差,定义为:

均方根误差表征去噪后信号和原始真实信号的差值,均方根误差越低说明对于信号的滤波性能越好。

3.3 实验结果

网络输入选择合适长度的心电向量数据,对于采样点Si来讲,网络输入样本的大小为采样点的邻域v={S|Si-δ<S<Si+δ}。经过多次实验测试选择δ=200,此时的样本可以包含信号的大部分信息,不同于其他一些方法需要事先判别R波位置再进行心拍数据的截取,更加符合实际应用。

3.3.1 降噪结果

下面以MIT-BIH 数据库中230 号ECG 信号添加1.25 dB噪声的降噪结果进行展示。

图2所示为去除230号数据1.25 dB基线漂移(BW)的结果。图中Raw ECG为230号心电信号数据;Noisy ECG为叠加了1.25 dB基线漂移后的230号心电数据,基线漂移的存在使波形的整体走势发生了变化;Denoised ECG是基于本文方法降噪后的ECG,和Raw ECG的波形相比,基本没有形态差异。

图2 滤除基线漂移结果图

图3所示为去除230号数据1.25 dB电极干扰(EM)的结果。图中Raw ECG为230号心电信号数据;Noisy ECG为叠加了1.25 dB电极干扰后的230号心电数据,电极干扰的存在已经严重破坏了心电信号中特征波的形态,甚至模仿P波和T波;Denoised ECG是基于本文方法降噪后的ECG,基本和最上面的原始心电信号保持一致。

图3 滤除电极干扰结果图

图4所示为去除230号数据1.25 dB肌电干扰(MA)的结果。图中Raw ECG为230号心电信号数据;Noisy ECG 为叠加了1.25 dB 肌电干扰后的230 号心电数据,肌电干扰的存在使心电信号波形中的P 波和T 波几乎被噪声淹没;Denoised ECG 是基于本文方法降噪后的ECG,基本和最上面的原始心电信号很好地吻合。

图4 滤除肌电干扰结果图

上面主要是针对存在单一噪声情况下的结果展示,但是在心电信号的实际采集过程中往往会存在几种噪声同时叠加的情况,因此针对动态心电图的特点,将数据库中的三种噪声都叠加到了心电信号中去模拟多噪声同时存在的情况,去噪的结果如图5所示。

图5 滤除三种噪声结果图

如图5 所示,图中Raw ECG 为230 号心电信号数据;Noisy ECG为叠加了1.25 dB基线漂移、肌电干扰以及电极干扰后的230号心电数据,信号的整体走势发生了改变,同时P波、T波被模仿和P波、T波消失都存在;Denoised ECG 是基于本文方法降噪后的ECG,得到的去噪后信号与230号干净心电信号形态很好地拟合。

从图2~图5四幅图中的中间曲线可以看出,三种噪声的存在对心电信号的形态都产生了不同程度的破坏,出现了一些伪病态波形,比如基线的改变,宽大畸形的QRS波的出现,或者P波、T波消失等。而从每幅图中最下面的曲线可以看到,降噪后的信号基本和原始信号一致。实验结果表明:基于卷积自编码神经网络的降噪网络可以很好地拟合干净心电信号,能有效地提高心电信号质量。

3.3.2 降噪结果的比较

为了验证本文所提方法的有效性,分别与小波阈值法(WT-Subband)、S变换法(S-Transform)、BP神经网络(BPNN)以及指导滤波法(GF)进行实验结果的比对。

表2为五种降噪算法对1.25 dB和5.00 dB电极干扰的滤除结果,图6以柱状图的方式展示了五种方法滤除1.25 dB 电极干扰的结果。相比于其他四种降噪算法,本文所提算法降噪结果的信噪比整体明显改善,且均方根误差明显降低。例如111 号数据叠加1.25 dB 电极干扰后,其经过WT-Subband、S-Transform、BPNN、GF方法降噪后的SNR 分别为1.56、6.40、5.56、9.12,RMSE 分别为 0.834、0.478、0.166;经本文算法降噪后 SNR 达到16.49,RMSE值降为0.102。对叠加1.25 dB电极干扰的ECG 经过WT-Subband、S-Transform、BPNN、GF 方法降噪后的平均SNR 分别为1.598、7.086、9.440、11.980,平均RMSE分别为0.827、0.443、0.181;经本文算法降噪后平均SNR达到14.27,平均RMSE值降为0.099。

表3为四种降噪算法对1.25 dB和5 dB基线漂移的滤除结果,图7 以柱状图的方式展示了四种方法滤除1.25 dB基线漂移的结果(GF法无法对基线漂移进行比较好的降噪)。相比其他三种降噪算法,本文算法滤除1.25 dB基线漂移整体上在得到高信噪比的同时保持了较低的均方根误差。例如213号数据叠加1.25 dB基线漂移后,其经过WT-Subband、S-Transform、BPNN 方法降噪后的 SNR 分别为 1.46、12.22、12.37,RMSE 分别为0.844、0.245、0.164;经本文算法降噪后SNR达到18.96,RMSE 值降为0.071。且对叠加1.25 dB 基线漂移的ECG经过WT-Subband、S-Transform、BPNN方法降噪后的平均SNR分别为1.473、11.624、10.997,平均RMSE分别为0.843、0.265、0.152;经本文算法降噪后平均SNR达到14.77,平均RMSE值降为0.099。

表4为五种降噪算法对1.25 dB和5.00 dB肌电干扰的滤除结果,图8以柱状图的方式展示了五种方法滤除1.25 dB 肌电干扰的结果。通过图形实验结果的对比可以明显看出本文算法与WT-Subband、S-Transform、BPNN、GF方法相比,在滤除1.25 dB的肌电干扰所得的SNR 除 111、219、230 号心电信号有明显优势外,213 和223号信号的降噪效果表现一般。可能的原因是肌电干扰对心电信号的整体影响比较大,在一些原始信号特征不明显的情况下本文降噪效果一般,但在RMSE方面本文算法整体呈下降趋势。对叠加1.25 dB 肌电干扰的ECG 经过WT-Subband、S-Transform、BPNN、GF 方法降噪后的平均 SNR 分别为 2.800、9.791、8.933、10.943、11.800,平均RMSE分别为0.731、0.328、0.196;经本文算法降噪后平均SNR达到11.8,平均RMSE值降为0.139。

表2 滤除电极干扰结果

图6 滤除电极干扰的信噪比和均方根误差柱状图

表3 滤除基线漂移结果

图7 滤除基线漂移的信噪比和均方根误差柱状图

表4 滤除肌电干扰结果

图8 滤除肌电干扰的信噪比和均方根误差柱状图

3.4 结果分析

从表2~表4 这三个表以及图5~图8 柱状图中可以看出,与小波阈值法、S 变换法、BP 神经网络法和GF 法相比本文降噪算法整体性能明显提高。但在滤除肌电干扰时,S变换法和GF法在105、213和223号数据要优于本文算法,是因为GF法是利用心拍模板进行降噪,对一些比较有规律的数据效果比较好,但对其他存在较多变异性心拍时GF 法就无法很好地滤除噪声,且无法很好地滤除基线漂移噪声,存在很大的局限性;因为105、213 和223 号数据和肌电干扰在频域的差别是很大的,而S变换法是在频域将ECG信号与肌电干扰噪声分开,因此S 变换法在滤除肌电干扰时必然会出现比较好的结果。之所以出现这种情况是肌电干扰比较复杂,而心电信号本身比较微弱,当对ECG 叠加一定信噪比的肌电干扰时,原来的ECG几乎被噪声淹没,严重影响了神经网络对特征的学习,导致在一些情况下降噪效果不是很好,但整体上对滤除肌电干扰本文算法还是有一定优势,比如平均SNR均比其他算法高,且平均RMSE均比其他算法低。在滤除基线漂移和电极干扰时,对比小波阈值法、S 变换法、BP 神经网络法和GF 法,本文算法整体有比较大的优势,且在均方根误差上达到了惊人的相似,说明本文算法对基线漂移和电极干扰滤除效果相当,且滤除效果比小波阈值法、S变换法、BP神经网络法和GF法好。

本文算法利用CNN 的稀疏连接、权值共享等特性很好地学习到了心电信号的深层特征,并大大减少了参数数量,提高了计算效率。对心电信号进行降噪处理时,能更好地保留原信号的低频成分,针对变异心拍也不受模板的局限性,可以作为心电信号的预处理算法在心电的远程监护中发挥作用。

4 结论

考虑到实际应用中心电信号微弱波形易被淹没以及完全干净的心电信号难以获得的情况,本文提出了一种基于卷积自编码神经网络的降噪算法,通过将卷积神经网络和自编码器相结合构建降噪网络,在提取信号的深层特征滤除信号中所含噪声的同时还保留了大部分的有用信息。实验结果表明,本文降噪算法相比于小波阈值法、S变换法、BP神经网络法和指导滤波法,在滤除肌电干扰、基线漂移以及电极干扰三种常见噪声时所得的SNR整体上有明显提高,并且RMSE有所降低,达到了很好的去噪效果。综上所述,本文所提出的降噪模型在心血管疾病智能诊断的预处理阶段具有很好的应用价值和实际意义。

猜你喜欢
肌电电信号电极
盆底肌电刺激联合盆底肌训练治疗自然分娩后压力性尿失禁的临床观察
产后早期联合应用盆底肌电生物反馈仪、电刺激、针对性护理对盆底肌功能恢复的影响
基于联合聚类分析的单通道腹部心电信号的胎心率提取
电极反应式的书写方法
针对电极事故的控制系统方案应用
基于Code Composer Studio3.3完成对心电信号的去噪
基于随机森林的航天器电信号多分类识别方法
经皮神经肌电刺激治疗上肢周围神经损伤的疗效
三维电极体系在废水处理中的应用
女生穿运动鞋与高跟鞋步行腰背肌电比较