远程医疗的复杂环境中,心电信号极易被噪声淹没,从而影响心血管疾病的智能诊断。基于此,本文提出了一种基于递归最小二乘法的回声状态网络心电信号降噪算法。该算法通过递归最小二乘法对该网络进行训练,可自动学习得到含噪心电数据中非线性的且具有区分度的深层次特征,并利用这些特征自动分离心电信号与噪声。实验中,采用信噪比和均方根误差为指标,将本文方法与基于子带自适应阈值的小波变换法和 S 变换法进行比较。实验结果表明,本方法降噪精度更优,同时信号的低频成分也得到了很好的保持。本文方法可做到消除心电信号中的复杂噪声并完整保留心电信号的形态,为心电图的特征检测和心血管疾病的智能诊断奠定了基础。
引用本文: 张杰烁, 刘明, 李鑫, 熊鹏, 刘秀玲. 基于递归最小二乘法的回声状态网络算法用于心电信号降噪. 生物医学工程学杂志, 2018, 35(4): 539-549. doi: 10.7507/1001-5515.201710072 复制
引言
目前,由心血管病引起的死亡已占城乡居民死亡构成的首位,并且心血管病患病率及死亡率仍处于上升阶段[1]。动态心电图(electrocardiogram,ECG)作为应用范围最广的诊断心血管疾病的重要无创性手段,其信号的低频成分的变化对心血管疾病的智能诊断至关重要,例如 ST 段的变化是利用动态 ECG 信号诊断心肌梗死的重要指标之一[2]。如今,远程医疗的发展为动态 ECG 信号的长期监测提供了平台。但与此同时,远程医疗背景下的信号采集和传输也混杂了多种因素造成的复杂噪声,并且这些复杂噪声也极易淹没 ECG 信号的主要特征,特别是例如 P波、T 波等低频成分。因此,如何消除 ECG 信号中的复杂噪声,并完整保留 ECG 信号的主要特征,成为当前医学信息处理领域亟待解决的难题。
目前,用于 ECG 信号降噪的方法主要有:人工神经网络(artificial neural networks,ANN)、集合经验模式分解(ensemble empirical mode decomposition,EEMD)、主成分分析(principal component analysis,PCA)、独立成分分析(independent component analysis,ICA)、傅里叶变换、S 变换和小波变换等[3-11]。Jebaraj 等[4]利用 EEMD 将含噪 ECG 信号分解为若干个不同时间尺度的固有模态函数(intrinsic mode function,IMF),然后将这些 IMF 中含有噪声的舍弃,最终能够滤除含噪信号中 60 Hz 的电力线干扰。但是,在舍弃的 IMF 中也会含有与低频噪声的频率相似的 ECG 的 P 波和 T 波,这就导致重构的 ECG 信号不完整。而 PCA 和 ICA 都是用于从非高斯噪声信号中寻找独立的源信号的盲源分离技术,能够滤除与 ECG 信号统计不相关的噪声[5-6]。但是,该类方法的鲁棒性低,对于含噪 ECG 信号的细微变化十分敏感,并不适用于远程医疗背景下 ECG 信号中含有复杂噪声的情况。Alyasseri 等[11]首先利用 β 爬山算法选择的最优的小波基将含噪 ECG 信号由时域变换到频域的不同尺度中,再利用阈值保留主要由有效信号控制的小波系数,最终该方法在去除高频大噪声方面取得了不错的结果。但对于 ECG 信号和噪声的频带相互重叠的情况,主要保留的小波系数仍然含有部分噪声信息,这也就必然导致重构的 ECG 信号的低频成分存在形态失真。基于以上分析,现有研究成果在降噪精度上均得到了较满意的效果,但并没有过多地关注于 ECG 信号的低频成分保持问题。
因此,为了进一步提高在远程医疗背景下被复杂噪声污染的 ECG 信号的降噪效果,尤其是对 ECG 信号低频成分的保持,本文提出了基于递归最小二乘(recursive least square,RLS)的回声状态网络(echo state network,ESN)算法——RLS-ESN 算法。该方法利用 RLS 来训练 ESN,从而使网络自动学习采集到的含噪 ECG 数据中非线性的且具有区分度的深层次特征,最后网络利用这些能够区分 ECG 信号和噪声的特征自动重构得到干净的 ECG 信号。
1 方法
如图 1 所示,基于 RLS 在线训练算法的 ESN 降噪框图主要由 4 部分组成:预处理信号、初始化 ESN、构建输入输出函数和基于 RLS 的在线训练网络。首先,由于过大的采样频率会造成 ECG 信号中冗余信息增多降低网络运行效率,而过小的采样频率又会丢失 ECG 信号中有效信息,因此本文算法对 ECG 信号以合适的 250 Hz 的采样频率进行重采样;其次,依据网络参数的范围设置合适的 ESN 网络参数;然后,为了更符合现实需求和 ECG 信号非平稳信号的特点,采用了逐个处理信号的 RLS 在线训练算法对 ESN 进行训练,利用储备池的稀疏性能得到含噪 ECG 数据中非线性的且具有区分度的深层次特征,并且通过训练得到最优的输出权值矩阵,保存训练好的 ESN 网络;最后,将测试集中含噪 ECG 信号输入训练好的 ESN 网络,利用储备池得到能够区分 ECG 信号和噪声的特征后,训练好的 ESN 网络再利用输出权值矩阵重构得到干净的 ECG 信号。
1.1 数据来源
本文实验中使用的 ECG 信号来自美国麻省理工学院与贝斯以色列医院(Massachusetts Institute of Technology and Beth Israel Hospital,MIT-BIH)联合构建的数据库中的心律失常数据库(Arrhythmia Database)(网址为:https://www.physionet.org/physiobank/database/mitdb/),该数据库中包括 48 组采样频率为 360 Hz 并且数据长度为 30 min 的动态 ECG 信号记录,每组记录包括来自医用的 24 h 动态 ECG 信号记录仪的 12 导联数据中的两个导联信号:第一个导联信号为修正的肢体Ⅱ导联,第二个导联信号为胸部 V2 导联或胸部 V5 导联[12]。为了与已有文献中的采用基于子带自适应阈值的小波变换(wavelet transform with subband dependent threshold,WT-Subband)降噪算法和 S 变换降噪算法进行比较,本文对应展示了 9 个 ECG 数据的实验结果,分别为:103 号、105 号、111 号、116 号、122 号、205 号、213 号、219 号、223 号。
实验中采用的噪声信号来自于 MIT-BIH 数据库中的噪声压力数据库(Noise Stress Test Database)(网址为:https://www.physionet.org/physiobank/database/nstdb/),其中包括 3 h 的动态 ECG 信号记录噪声数据,分别为基线漂移(baseline wander,BW)、肌电干扰(muscle artifacts,MA)和电极干扰(electrode motion,EM)共 3 种噪声数据。
1.2 基于 RLS-ESN 的 ECG 信号降噪算法
ESN 作为深度学习的主流模型之一,不但具有基于医疗大数据背景下数据增多效果更优的特点,而且还具有求解过程简单且训练速度快的特点。它的独特之处在于其是采用由随机稀疏连接的神经元组成的储备池来代替传统神经网络中的隐藏层,并且唯一需要训练的参数只有输出权值矩阵,因此大大简化了网络权值的求解过程和训练算法[13-14]。基于 ESN 的降噪算法是通过训练网络参数自动学习得到含噪 ECG 数据中非线性的且具有区分度的深层次特征,并利用这些特征以实现将 ECG 信号与噪声分离的目的。
本文提出了基于 RLS 的在线训练算法完成 ESN 降噪模型的权重更新。相比于离线训练算法一次性的处理所有的输入信号,以序列化的方式逐个处理输入信号的基于 RLS 的在线算法更适合于目前信息处理的需求[15]。并且 RLS 的基本思想是在每个时刻对所有已输入信号而言重估的平方误差的加权和最小,这使得其对 ECG 信号这种非平稳信号的适应性非常好[16]。基于 RLS 在线训练算法的 ESN 降噪模型的结构图如图 2 所示。
1.2.1 信号预处理
作为一种准周期性信号,ECG 信号有效信息主要分布在 P-QRS-T 波群中,冗余信息主要体现在相邻样本点之间的相关性和相邻心拍之间的相似性[17]。因此,在处理同等时间长度的 ECG 信号时,过大的采样频率会导致数据冗余增多,并且冗余信息的增多不仅没有为 ESN 降噪模型增添新的特征,反而会增大储备池维度,降低 ESN 的计算速率增大计算误差导致网络运行性能降低;而过小的采样频率则直接会导致 ECG 信号中相关性等特征信息的丢失。
基于此,Petrėnas 等[18]根据人的心理电活动周期并且经过多次试验得出,当 ECG 信号的频率为 250 Hz 时,可以在包含 ECG 信号主要特征的前提下使用较低纬度的储备池,以保证 ESN 的高效运行。因此本文预处理时,首先将 MIT-BIH 库中的 48 组 ECG 数据以及 3 种噪声数据重采样为 250 Hz。然后,将 3 种噪声数据按照一定的信噪比(signal-to-noise ratio,SNR)(以符号 SNR 表示)叠加到心律失常数据库中的 48 组 ECG 信号上,即可得到含噪 ECG 信号。最后,利用每个原始 ECG 数据的前 3 min 信号和相应的含噪 ECG 数据的前 3 min 信号组成训练集,剩余的含噪 ECG 信号组成测试集。
1.2.2 ESN 降噪模型的初始化
为消除 ECG 信号中的噪声,需构建基于 RLS 在线训练算法的 ESN 降噪模型。首先,进行参数的初始化。ESN 的主要参数包括:储备池规模、储备池稀疏程度、储备池谱半径和储备池输入单元尺度[19]。储备池规模(符号记为:N)定义为储备池中的神经元的个数,在储备池内部通过这 N 个神经元之间稀疏连接形成 N × N 的储备池内部神经元连接权值矩阵 W。储备池稀疏程度(符号记为:SD)定义为储备池中相互连接的神经元个数与总神经元个数之比,表达式为 SD = m/N,通常 SD 的取值为 1%~5%。储备池谱半径(符号记为:SR)定义为 W 的最大特征值的绝对值,表达式为 SR = max{abs(W 的特征值)},且当 SR < 1 时,ESN 才具有回声状态性质。储备池输入单元尺度(符号记为: IS)是一个尺度因子,在输入信号连接至储备池之前与输入信号相乘,将输入信号变换至神经元激活函数相应的范围内。
其次,进行权值矩阵的初始化。输入单元与储备池内部连接的的权值矩阵 Win 和储备池内部神经元连接权值矩阵 W 的初始化都是随机且服从均匀分布的,且初始给定后固定不变。而储备池与输出单元连接权值矩阵 Wout 和输出单元与储备池的连接权值矩阵 Wback 初始化为零矩阵,其中 Wout 通过训练得到其最终值。
1.2.3 输入输出信号的构建
ESN 的输入信号 xr(n)的表达式如式(1)所示。其中,x(n)为当前时刻的含噪 ECG 信号;x(n-1)为上一时刻的含噪 ECG 信号;x′(n)和 x″(n)分别为 x(n)的一阶导和二阶导,表征了 x(n)的细节特征。
'/> |
输出信号 y(n)为滤波后的 ECG 信号,定义如式(2)所示:
其中, g(·)为激活函数,在实验中选为恒等函数,即输出神经元为一个线性神经元;矩阵 v(n)的表达式为 ,其中 r(n)是储备池的状态矩阵。
误差定义为当前时刻的干净 ECG 信号 d(n)与 y(n)的差值,表达式为 e(n)= d(n)– y(n),其中 d(n)为当前时刻的干净 ECG 信号。因此,在训练中需要通过更新 Wout 和 r(n)使滤波后的 ECG 信号 y(n)逼近干净 ECG 信号 d(n),使误差 e(n)能够近似于 0。
1.2.4 基于 RLS 的在线训练
在本文中,输出权重 Wout 的更新选用基于 RLS 的在线训练算法[20]。具体过程如下:
(1)u(n)的表达式为 ,其中 ψ(n)为 v(n)的相关系数矩阵的逆矩阵,并且 ψ(n)的更新如式(3)、式(4)所示:
式中的遗忘因子 定义为一个范围为 0.95 < < 1 的常数。设定 ,其中 I 为单位矩阵,δ 为一个极小的正数。
(2)输出权重的更新如式(5)所示:
(3)储备池状态矩阵 r(n)的更新,如式(6)所示:
其中 Win 为 4 × N 的输入权值矩阵;W 为 N × N 的储备池内部权值矩阵;f(·)为储备池的激活函数,在实验中选为非线性的 tanh(·)函数;遗忘率 被定义为一个小于 1 的正数。
2 结果与讨论
2.1 性能指标
通过比较滤波后的信号与原始信号之间的 SNR 和均方根误差(root mean square error,RMSE)(以符号 RMSE 表示)来评估本文降噪算法的性能。若 di 表示干净 ECG 信号,yi 表示经过网络降噪后的估计 ECG 信号,SNR 定义为信号和噪声的比值,单位为分贝(dB),作为评价信号质量的重要指标,SNR 值越高说明滤波效果越好,表达式如式(7)所示:
RMSE 是一个无量纲参数,定义为估计信号和真实信号的差值,越低则说明滤波性能越好,表达式如式(8)所示:
2.2 实验结果与讨论
本文经过多次实验后,网络参数初始化为 SR = 0.4,SD = 2%,λ = 0.999 9,δ = 0.001 72,α = 0.8,IS = [0.01;0.01;0.9;0.8],输入神经元个数为 4,储备池规模 N 为 1 000,输出神经元个数为 1。
2.2.1 实验结果
滤除 1.25 dB 基线漂移的实验结果如图 3 所示。其中,含噪 ECG 信号和原始 ECG 信号(以 MIT-BIH 数据库中 103 号为例)相比较可以看出,基线漂移的存在已经影响了整体波形的走势;并且由含噪信号的局部细节图可以看出,基线漂移使得正常的 ST 段抬高成为凸面向上型。但经过本文提出的基于 RLS 在线训练算法的 ESN 降噪算法降噪后的 ECG 信号和原始 ECG 信号相比较可以看出,降噪后的信号回到了基线,且形态和原始信号基本保持一致,尤其从降噪后的 ECG 信号的局部细节图可以发现,ECG 信号的 ST 段已恢复为正常的波形。
滤除 1.25 dB 肌电干扰的实验结果如图 4 所示。其中,含噪 ECG 信号和原始 ECG 信号(以 103 号为例)相比较可以看出,肌电干扰已严重破坏了 ECG 信号中特征波的形态;并且由含噪 ECG 信号的局部细节图可以发现,Q 波和 S 波、P 波、T 波等低频成分已经被肌电干扰完全淹没,仅剩下了幅值较大的 R 波,造成了 ECG 信号的低频特征丢失。但经过本文提出的基于 RLS 在线训练算法的 ESN 降噪算法降噪后的 ECG 信号和原始 ECG 信号相比较可以看出,本文的降噪算法在滤除肌电干扰时,完整地保留了原有波形的形态特征,尤其从降噪后的 ECG 信号的局部细节图可以发现,ECG 信号的低频波形特征也得到了很好的保留。
滤除 1.25 dB 电极干扰的实验结果如图 5 所示。其中,含噪 ECG 信号和原始 ECG 信号(以 103 号为例)相比较可以看出,电极干扰已经改变了原始 ECG 信号中特征波的形态,部分噪声甚至在特征波未出现的地方模仿出了特征波的形态;并且由含噪 ECG 信号的局部细节图可以发现,电极干扰不但更改了 P 波和 T 波的形态,更是模拟出了原本没有的 U 波,使得正常的 T 波变成了 U 波增大型的 T 波。但经过本文提出的基于 RLS 在线训练算法的 ESN 降噪算法降噪后的 ECG 信号和原始 ECG 信号相比较可以看出,本文的降噪算法很好地滤除了 ECG 信号中电极干扰,恢复了信号原有的形态特征,尤其从降噪后的 ECG 信号的局部细节图可以发现,该降噪算法滤除了噪声模拟出的伪 U 波,并对于 ECG 信号的 P 波和 T 波等微弱波形特征也有较高的复原度。
如图 3~图 5 所示,3 种不同的噪声(基线漂移、肌电干扰、电极干扰)都对 ECG 的形态产生了破坏,出现一些伪病态波形,比如基线改变、P 波消失或者伪 U 波出现等。而从每幅图的原始信号和处理后的信号对比可以看出,本文提出的降噪算法很好地滤除了噪声,并且由每幅图降噪后的 ECG 信号局部细节图可以发现,降噪后的 ECG 信号很好地恢复了原始信号的形态特征。对于一些微弱低频成分,例如:P 波和 T 波,由于其幅值小频率低,一方面导致其极易被噪声淹没或改变形态,另一方面也使得其在降噪过程中容易被当成噪声滤除,但是在本文方法的降噪结果中,这些幅值很小的低频细节特征也得到了很好的恢复和保持。
2.2.2 与其他降噪方法的比较
如表 1 所示,分别为 WT-Subband 法、S 变换法和本文所提出的基于 RLS 在线训练算法的 ESN 降噪算法来滤除 0 dB、1.25 dB 及 5 dB 的基线漂移的实验结果,选取 MIT-BIH 数据库中共 9 个 ECG 数据的实验结果,分别为:103 号、105 号、111 号、116 号、122 号、205 号、213 号、219 号、223 号。
如图 6 所示,以柱状图的形式展示了三种方法滤除 1.25 dB 噪声后的结果。相比于使用前两种方法降噪,使用本文提出的方法降噪后 SNR 和 RMSE 与前两种方法相比有了明显的改善,表明了本文所提出的算法可以有效地滤除基线漂移噪声。例如,122 号数据叠加 1.25 dB 的基线漂移噪声后,其经过 WT-Subband 法和 S 变换法降噪后的 SNR 值分别为 1.60 dB 和 11.17 dB,RMSE 值分别为 0.830 和 0.276;经本文提出的算法降噪后的 SNR 值达到了 17.13 dB,RMSE 值降为了 0.048。
其中 219 号数据的实验结果中,本文所提出的方法与 S 变换法处理后的 SNR 值相差不多,RMSE 值则有相当大的提高,这是由于 219 号数据患者本身患有阵发性房颤,这导致其 ECG 信号中阵发性出现特异性心拍,且 RR 间期不正常。但其训练集中出现特异性心拍的个数较少,测试集中较多。本文所提出的降噪算法是依据训练集训练后所保存的 ESN 网络来进行降噪处理,当输入与训练样本相差较大的数据时其实验结果也会较差,同时如果其训练样本增多,其实验结果也将更优。
如表 2 所示,分别为采用 WT-Subband 法、S 变换法和本文所提出的基于 RLS 在线训练算法的 ESN 降噪算法对含有肌电干扰的 ECG 信号进行滤波后的结果,并以柱状图的形式展示了这三种方法分别滤除 1.25 dB 噪声后的 SNR 值和 RMSE 值,如图 7 所示。相比于使用前两种方法降噪,使用本文提出的方法降噪后 SNR 值和 RMSE 值与前两种方法相比有了一定的改善,表明了本文提出的降噪算法可以有效地滤除肌电干扰。例如,122 号数据叠加 1.25 dB 的肌电干扰后,其经过 WT-Subband 法和 S 变换法降噪后的 SNR 值分别为 2.86 dB 和 9.67 dB,RMSE 值分别为 0.729 和 0.328;经本文提出的算法降噪后的 SNR 值达到了 14.27 dB,RMSE 值降为了 0.069。
如表 3 所示,分别为采用 WT-Subband 法、S 变换法和本文所提出的基于 RLS 在线训练算法的 ESN 降噪模型算法对含有电极干扰的 ECG 信号进行滤波后的实验结果,如图 8 所示,为三种方法分别滤除 1.25 dB 电极干扰后的 SNR 值和 RMSE 值。相比于使用前两种方法降噪,使用本文提出的方法降噪后 SNR 值和 RMSE 值与前两种方法相比有了很大的改善。例如,122 号数据叠加 1.25 dB 的电极干扰后,其经过 WT-Subband 法和 S 变换法降噪后的 SNR 值分别为 1.75 dB 和 6.96 dB,RMSE 值分别为 0.816 和 0.449;经本文提出的算法降噪后的 SNR 值达到了 12.48 dB,RMSE 值降为了 0.083。
从表 1~表 3 的这 3 个表中以及图 6~图 8 的三个柱状图中可以看出,与 WT-Subband 法和 S 变换法相比,本文基于 RLS 在线训练算法的 ESN 降噪模型在去除 ECG 信号中的大噪声时,无论是反映降噪效果总体误差的 RMSE 值的降低,还是反映降噪后信号和噪声的比值关系的 SNR 值的较大提高,都验证了本文提出的基于 RLS 在线训练算法的 ESN 降噪模型对 ECG 信号中的三种复杂噪声有着较好的降噪效果。
3 结论
针对消除 ECG 信号包含的复杂噪声并完整保留 ECG 信号的形态这一难题,本文提出了基于 RLS 在线训练算法的 ESN 降噪模型。与 WT-Subband 法和 S 变换法的实验结果对比表明,基于 RLS 在线训练算法的 ESN 降噪模型的实验结果在 SNR 值和 RMSE 值上都具有明显优势,能够达到较好的降噪效果。并且,采用 MIT-BIH 数据库中的数据进行对比实验结果表明,该降噪模型在处理被噪声污染较严重的 ECG 信号时,不仅有较好的降噪效果,而且 ECG 信号的低频特征波也得到了很好的恢复和保持。综上所述,本文实验结果表明,本文所提出的降噪模型在心血管疾病的智能诊断的预处理阶段具有很好的应用价值和实际意义。
引言
目前,由心血管病引起的死亡已占城乡居民死亡构成的首位,并且心血管病患病率及死亡率仍处于上升阶段[1]。动态心电图(electrocardiogram,ECG)作为应用范围最广的诊断心血管疾病的重要无创性手段,其信号的低频成分的变化对心血管疾病的智能诊断至关重要,例如 ST 段的变化是利用动态 ECG 信号诊断心肌梗死的重要指标之一[2]。如今,远程医疗的发展为动态 ECG 信号的长期监测提供了平台。但与此同时,远程医疗背景下的信号采集和传输也混杂了多种因素造成的复杂噪声,并且这些复杂噪声也极易淹没 ECG 信号的主要特征,特别是例如 P波、T 波等低频成分。因此,如何消除 ECG 信号中的复杂噪声,并完整保留 ECG 信号的主要特征,成为当前医学信息处理领域亟待解决的难题。
目前,用于 ECG 信号降噪的方法主要有:人工神经网络(artificial neural networks,ANN)、集合经验模式分解(ensemble empirical mode decomposition,EEMD)、主成分分析(principal component analysis,PCA)、独立成分分析(independent component analysis,ICA)、傅里叶变换、S 变换和小波变换等[3-11]。Jebaraj 等[4]利用 EEMD 将含噪 ECG 信号分解为若干个不同时间尺度的固有模态函数(intrinsic mode function,IMF),然后将这些 IMF 中含有噪声的舍弃,最终能够滤除含噪信号中 60 Hz 的电力线干扰。但是,在舍弃的 IMF 中也会含有与低频噪声的频率相似的 ECG 的 P 波和 T 波,这就导致重构的 ECG 信号不完整。而 PCA 和 ICA 都是用于从非高斯噪声信号中寻找独立的源信号的盲源分离技术,能够滤除与 ECG 信号统计不相关的噪声[5-6]。但是,该类方法的鲁棒性低,对于含噪 ECG 信号的细微变化十分敏感,并不适用于远程医疗背景下 ECG 信号中含有复杂噪声的情况。Alyasseri 等[11]首先利用 β 爬山算法选择的最优的小波基将含噪 ECG 信号由时域变换到频域的不同尺度中,再利用阈值保留主要由有效信号控制的小波系数,最终该方法在去除高频大噪声方面取得了不错的结果。但对于 ECG 信号和噪声的频带相互重叠的情况,主要保留的小波系数仍然含有部分噪声信息,这也就必然导致重构的 ECG 信号的低频成分存在形态失真。基于以上分析,现有研究成果在降噪精度上均得到了较满意的效果,但并没有过多地关注于 ECG 信号的低频成分保持问题。
因此,为了进一步提高在远程医疗背景下被复杂噪声污染的 ECG 信号的降噪效果,尤其是对 ECG 信号低频成分的保持,本文提出了基于递归最小二乘(recursive least square,RLS)的回声状态网络(echo state network,ESN)算法——RLS-ESN 算法。该方法利用 RLS 来训练 ESN,从而使网络自动学习采集到的含噪 ECG 数据中非线性的且具有区分度的深层次特征,最后网络利用这些能够区分 ECG 信号和噪声的特征自动重构得到干净的 ECG 信号。
1 方法
如图 1 所示,基于 RLS 在线训练算法的 ESN 降噪框图主要由 4 部分组成:预处理信号、初始化 ESN、构建输入输出函数和基于 RLS 的在线训练网络。首先,由于过大的采样频率会造成 ECG 信号中冗余信息增多降低网络运行效率,而过小的采样频率又会丢失 ECG 信号中有效信息,因此本文算法对 ECG 信号以合适的 250 Hz 的采样频率进行重采样;其次,依据网络参数的范围设置合适的 ESN 网络参数;然后,为了更符合现实需求和 ECG 信号非平稳信号的特点,采用了逐个处理信号的 RLS 在线训练算法对 ESN 进行训练,利用储备池的稀疏性能得到含噪 ECG 数据中非线性的且具有区分度的深层次特征,并且通过训练得到最优的输出权值矩阵,保存训练好的 ESN 网络;最后,将测试集中含噪 ECG 信号输入训练好的 ESN 网络,利用储备池得到能够区分 ECG 信号和噪声的特征后,训练好的 ESN 网络再利用输出权值矩阵重构得到干净的 ECG 信号。
1.1 数据来源
本文实验中使用的 ECG 信号来自美国麻省理工学院与贝斯以色列医院(Massachusetts Institute of Technology and Beth Israel Hospital,MIT-BIH)联合构建的数据库中的心律失常数据库(Arrhythmia Database)(网址为:https://www.physionet.org/physiobank/database/mitdb/),该数据库中包括 48 组采样频率为 360 Hz 并且数据长度为 30 min 的动态 ECG 信号记录,每组记录包括来自医用的 24 h 动态 ECG 信号记录仪的 12 导联数据中的两个导联信号:第一个导联信号为修正的肢体Ⅱ导联,第二个导联信号为胸部 V2 导联或胸部 V5 导联[12]。为了与已有文献中的采用基于子带自适应阈值的小波变换(wavelet transform with subband dependent threshold,WT-Subband)降噪算法和 S 变换降噪算法进行比较,本文对应展示了 9 个 ECG 数据的实验结果,分别为:103 号、105 号、111 号、116 号、122 号、205 号、213 号、219 号、223 号。
实验中采用的噪声信号来自于 MIT-BIH 数据库中的噪声压力数据库(Noise Stress Test Database)(网址为:https://www.physionet.org/physiobank/database/nstdb/),其中包括 3 h 的动态 ECG 信号记录噪声数据,分别为基线漂移(baseline wander,BW)、肌电干扰(muscle artifacts,MA)和电极干扰(electrode motion,EM)共 3 种噪声数据。
1.2 基于 RLS-ESN 的 ECG 信号降噪算法
ESN 作为深度学习的主流模型之一,不但具有基于医疗大数据背景下数据增多效果更优的特点,而且还具有求解过程简单且训练速度快的特点。它的独特之处在于其是采用由随机稀疏连接的神经元组成的储备池来代替传统神经网络中的隐藏层,并且唯一需要训练的参数只有输出权值矩阵,因此大大简化了网络权值的求解过程和训练算法[13-14]。基于 ESN 的降噪算法是通过训练网络参数自动学习得到含噪 ECG 数据中非线性的且具有区分度的深层次特征,并利用这些特征以实现将 ECG 信号与噪声分离的目的。
本文提出了基于 RLS 的在线训练算法完成 ESN 降噪模型的权重更新。相比于离线训练算法一次性的处理所有的输入信号,以序列化的方式逐个处理输入信号的基于 RLS 的在线算法更适合于目前信息处理的需求[15]。并且 RLS 的基本思想是在每个时刻对所有已输入信号而言重估的平方误差的加权和最小,这使得其对 ECG 信号这种非平稳信号的适应性非常好[16]。基于 RLS 在线训练算法的 ESN 降噪模型的结构图如图 2 所示。
1.2.1 信号预处理
作为一种准周期性信号,ECG 信号有效信息主要分布在 P-QRS-T 波群中,冗余信息主要体现在相邻样本点之间的相关性和相邻心拍之间的相似性[17]。因此,在处理同等时间长度的 ECG 信号时,过大的采样频率会导致数据冗余增多,并且冗余信息的增多不仅没有为 ESN 降噪模型增添新的特征,反而会增大储备池维度,降低 ESN 的计算速率增大计算误差导致网络运行性能降低;而过小的采样频率则直接会导致 ECG 信号中相关性等特征信息的丢失。
基于此,Petrėnas 等[18]根据人的心理电活动周期并且经过多次试验得出,当 ECG 信号的频率为 250 Hz 时,可以在包含 ECG 信号主要特征的前提下使用较低纬度的储备池,以保证 ESN 的高效运行。因此本文预处理时,首先将 MIT-BIH 库中的 48 组 ECG 数据以及 3 种噪声数据重采样为 250 Hz。然后,将 3 种噪声数据按照一定的信噪比(signal-to-noise ratio,SNR)(以符号 SNR 表示)叠加到心律失常数据库中的 48 组 ECG 信号上,即可得到含噪 ECG 信号。最后,利用每个原始 ECG 数据的前 3 min 信号和相应的含噪 ECG 数据的前 3 min 信号组成训练集,剩余的含噪 ECG 信号组成测试集。
1.2.2 ESN 降噪模型的初始化
为消除 ECG 信号中的噪声,需构建基于 RLS 在线训练算法的 ESN 降噪模型。首先,进行参数的初始化。ESN 的主要参数包括:储备池规模、储备池稀疏程度、储备池谱半径和储备池输入单元尺度[19]。储备池规模(符号记为:N)定义为储备池中的神经元的个数,在储备池内部通过这 N 个神经元之间稀疏连接形成 N × N 的储备池内部神经元连接权值矩阵 W。储备池稀疏程度(符号记为:SD)定义为储备池中相互连接的神经元个数与总神经元个数之比,表达式为 SD = m/N,通常 SD 的取值为 1%~5%。储备池谱半径(符号记为:SR)定义为 W 的最大特征值的绝对值,表达式为 SR = max{abs(W 的特征值)},且当 SR < 1 时,ESN 才具有回声状态性质。储备池输入单元尺度(符号记为: IS)是一个尺度因子,在输入信号连接至储备池之前与输入信号相乘,将输入信号变换至神经元激活函数相应的范围内。
其次,进行权值矩阵的初始化。输入单元与储备池内部连接的的权值矩阵 Win 和储备池内部神经元连接权值矩阵 W 的初始化都是随机且服从均匀分布的,且初始给定后固定不变。而储备池与输出单元连接权值矩阵 Wout 和输出单元与储备池的连接权值矩阵 Wback 初始化为零矩阵,其中 Wout 通过训练得到其最终值。
1.2.3 输入输出信号的构建
ESN 的输入信号 xr(n)的表达式如式(1)所示。其中,x(n)为当前时刻的含噪 ECG 信号;x(n-1)为上一时刻的含噪 ECG 信号;x′(n)和 x″(n)分别为 x(n)的一阶导和二阶导,表征了 x(n)的细节特征。
'/> |
输出信号 y(n)为滤波后的 ECG 信号,定义如式(2)所示:
其中, g(·)为激活函数,在实验中选为恒等函数,即输出神经元为一个线性神经元;矩阵 v(n)的表达式为 ,其中 r(n)是储备池的状态矩阵。
误差定义为当前时刻的干净 ECG 信号 d(n)与 y(n)的差值,表达式为 e(n)= d(n)– y(n),其中 d(n)为当前时刻的干净 ECG 信号。因此,在训练中需要通过更新 Wout 和 r(n)使滤波后的 ECG 信号 y(n)逼近干净 ECG 信号 d(n),使误差 e(n)能够近似于 0。
1.2.4 基于 RLS 的在线训练
在本文中,输出权重 Wout 的更新选用基于 RLS 的在线训练算法[20]。具体过程如下:
(1)u(n)的表达式为 ,其中 ψ(n)为 v(n)的相关系数矩阵的逆矩阵,并且 ψ(n)的更新如式(3)、式(4)所示:
式中的遗忘因子 定义为一个范围为 0.95 < < 1 的常数。设定 ,其中 I 为单位矩阵,δ 为一个极小的正数。
(2)输出权重的更新如式(5)所示:
(3)储备池状态矩阵 r(n)的更新,如式(6)所示:
其中 Win 为 4 × N 的输入权值矩阵;W 为 N × N 的储备池内部权值矩阵;f(·)为储备池的激活函数,在实验中选为非线性的 tanh(·)函数;遗忘率 被定义为一个小于 1 的正数。
2 结果与讨论
2.1 性能指标
通过比较滤波后的信号与原始信号之间的 SNR 和均方根误差(root mean square error,RMSE)(以符号 RMSE 表示)来评估本文降噪算法的性能。若 di 表示干净 ECG 信号,yi 表示经过网络降噪后的估计 ECG 信号,SNR 定义为信号和噪声的比值,单位为分贝(dB),作为评价信号质量的重要指标,SNR 值越高说明滤波效果越好,表达式如式(7)所示:
RMSE 是一个无量纲参数,定义为估计信号和真实信号的差值,越低则说明滤波性能越好,表达式如式(8)所示:
2.2 实验结果与讨论
本文经过多次实验后,网络参数初始化为 SR = 0.4,SD = 2%,λ = 0.999 9,δ = 0.001 72,α = 0.8,IS = [0.01;0.01;0.9;0.8],输入神经元个数为 4,储备池规模 N 为 1 000,输出神经元个数为 1。
2.2.1 实验结果
滤除 1.25 dB 基线漂移的实验结果如图 3 所示。其中,含噪 ECG 信号和原始 ECG 信号(以 MIT-BIH 数据库中 103 号为例)相比较可以看出,基线漂移的存在已经影响了整体波形的走势;并且由含噪信号的局部细节图可以看出,基线漂移使得正常的 ST 段抬高成为凸面向上型。但经过本文提出的基于 RLS 在线训练算法的 ESN 降噪算法降噪后的 ECG 信号和原始 ECG 信号相比较可以看出,降噪后的信号回到了基线,且形态和原始信号基本保持一致,尤其从降噪后的 ECG 信号的局部细节图可以发现,ECG 信号的 ST 段已恢复为正常的波形。
滤除 1.25 dB 肌电干扰的实验结果如图 4 所示。其中,含噪 ECG 信号和原始 ECG 信号(以 103 号为例)相比较可以看出,肌电干扰已严重破坏了 ECG 信号中特征波的形态;并且由含噪 ECG 信号的局部细节图可以发现,Q 波和 S 波、P 波、T 波等低频成分已经被肌电干扰完全淹没,仅剩下了幅值较大的 R 波,造成了 ECG 信号的低频特征丢失。但经过本文提出的基于 RLS 在线训练算法的 ESN 降噪算法降噪后的 ECG 信号和原始 ECG 信号相比较可以看出,本文的降噪算法在滤除肌电干扰时,完整地保留了原有波形的形态特征,尤其从降噪后的 ECG 信号的局部细节图可以发现,ECG 信号的低频波形特征也得到了很好的保留。
滤除 1.25 dB 电极干扰的实验结果如图 5 所示。其中,含噪 ECG 信号和原始 ECG 信号(以 103 号为例)相比较可以看出,电极干扰已经改变了原始 ECG 信号中特征波的形态,部分噪声甚至在特征波未出现的地方模仿出了特征波的形态;并且由含噪 ECG 信号的局部细节图可以发现,电极干扰不但更改了 P 波和 T 波的形态,更是模拟出了原本没有的 U 波,使得正常的 T 波变成了 U 波增大型的 T 波。但经过本文提出的基于 RLS 在线训练算法的 ESN 降噪算法降噪后的 ECG 信号和原始 ECG 信号相比较可以看出,本文的降噪算法很好地滤除了 ECG 信号中电极干扰,恢复了信号原有的形态特征,尤其从降噪后的 ECG 信号的局部细节图可以发现,该降噪算法滤除了噪声模拟出的伪 U 波,并对于 ECG 信号的 P 波和 T 波等微弱波形特征也有较高的复原度。
如图 3~图 5 所示,3 种不同的噪声(基线漂移、肌电干扰、电极干扰)都对 ECG 的形态产生了破坏,出现一些伪病态波形,比如基线改变、P 波消失或者伪 U 波出现等。而从每幅图的原始信号和处理后的信号对比可以看出,本文提出的降噪算法很好地滤除了噪声,并且由每幅图降噪后的 ECG 信号局部细节图可以发现,降噪后的 ECG 信号很好地恢复了原始信号的形态特征。对于一些微弱低频成分,例如:P 波和 T 波,由于其幅值小频率低,一方面导致其极易被噪声淹没或改变形态,另一方面也使得其在降噪过程中容易被当成噪声滤除,但是在本文方法的降噪结果中,这些幅值很小的低频细节特征也得到了很好的恢复和保持。
2.2.2 与其他降噪方法的比较
如表 1 所示,分别为 WT-Subband 法、S 变换法和本文所提出的基于 RLS 在线训练算法的 ESN 降噪算法来滤除 0 dB、1.25 dB 及 5 dB 的基线漂移的实验结果,选取 MIT-BIH 数据库中共 9 个 ECG 数据的实验结果,分别为:103 号、105 号、111 号、116 号、122 号、205 号、213 号、219 号、223 号。
如图 6 所示,以柱状图的形式展示了三种方法滤除 1.25 dB 噪声后的结果。相比于使用前两种方法降噪,使用本文提出的方法降噪后 SNR 和 RMSE 与前两种方法相比有了明显的改善,表明了本文所提出的算法可以有效地滤除基线漂移噪声。例如,122 号数据叠加 1.25 dB 的基线漂移噪声后,其经过 WT-Subband 法和 S 变换法降噪后的 SNR 值分别为 1.60 dB 和 11.17 dB,RMSE 值分别为 0.830 和 0.276;经本文提出的算法降噪后的 SNR 值达到了 17.13 dB,RMSE 值降为了 0.048。
其中 219 号数据的实验结果中,本文所提出的方法与 S 变换法处理后的 SNR 值相差不多,RMSE 值则有相当大的提高,这是由于 219 号数据患者本身患有阵发性房颤,这导致其 ECG 信号中阵发性出现特异性心拍,且 RR 间期不正常。但其训练集中出现特异性心拍的个数较少,测试集中较多。本文所提出的降噪算法是依据训练集训练后所保存的 ESN 网络来进行降噪处理,当输入与训练样本相差较大的数据时其实验结果也会较差,同时如果其训练样本增多,其实验结果也将更优。
如表 2 所示,分别为采用 WT-Subband 法、S 变换法和本文所提出的基于 RLS 在线训练算法的 ESN 降噪算法对含有肌电干扰的 ECG 信号进行滤波后的结果,并以柱状图的形式展示了这三种方法分别滤除 1.25 dB 噪声后的 SNR 值和 RMSE 值,如图 7 所示。相比于使用前两种方法降噪,使用本文提出的方法降噪后 SNR 值和 RMSE 值与前两种方法相比有了一定的改善,表明了本文提出的降噪算法可以有效地滤除肌电干扰。例如,122 号数据叠加 1.25 dB 的肌电干扰后,其经过 WT-Subband 法和 S 变换法降噪后的 SNR 值分别为 2.86 dB 和 9.67 dB,RMSE 值分别为 0.729 和 0.328;经本文提出的算法降噪后的 SNR 值达到了 14.27 dB,RMSE 值降为了 0.069。
如表 3 所示,分别为采用 WT-Subband 法、S 变换法和本文所提出的基于 RLS 在线训练算法的 ESN 降噪模型算法对含有电极干扰的 ECG 信号进行滤波后的实验结果,如图 8 所示,为三种方法分别滤除 1.25 dB 电极干扰后的 SNR 值和 RMSE 值。相比于使用前两种方法降噪,使用本文提出的方法降噪后 SNR 值和 RMSE 值与前两种方法相比有了很大的改善。例如,122 号数据叠加 1.25 dB 的电极干扰后,其经过 WT-Subband 法和 S 变换法降噪后的 SNR 值分别为 1.75 dB 和 6.96 dB,RMSE 值分别为 0.816 和 0.449;经本文提出的算法降噪后的 SNR 值达到了 12.48 dB,RMSE 值降为了 0.083。
从表 1~表 3 的这 3 个表中以及图 6~图 8 的三个柱状图中可以看出,与 WT-Subband 法和 S 变换法相比,本文基于 RLS 在线训练算法的 ESN 降噪模型在去除 ECG 信号中的大噪声时,无论是反映降噪效果总体误差的 RMSE 值的降低,还是反映降噪后信号和噪声的比值关系的 SNR 值的较大提高,都验证了本文提出的基于 RLS 在线训练算法的 ESN 降噪模型对 ECG 信号中的三种复杂噪声有着较好的降噪效果。
3 结论
针对消除 ECG 信号包含的复杂噪声并完整保留 ECG 信号的形态这一难题,本文提出了基于 RLS 在线训练算法的 ESN 降噪模型。与 WT-Subband 法和 S 变换法的实验结果对比表明,基于 RLS 在线训练算法的 ESN 降噪模型的实验结果在 SNR 值和 RMSE 值上都具有明显优势,能够达到较好的降噪效果。并且,采用 MIT-BIH 数据库中的数据进行对比实验结果表明,该降噪模型在处理被噪声污染较严重的 ECG 信号时,不仅有较好的降噪效果,而且 ECG 信号的低频特征波也得到了很好的恢复和保持。综上所述,本文实验结果表明,本文所提出的降噪模型在心血管疾病的智能诊断的预处理阶段具有很好的应用价值和实际意义。