本发明涉及心电信号处理降噪技术领域,具体涉及一种基于深度卷积生成对抗网络的ecg降噪方法。
背景技术:
ecg的应用面临着挑战,如信号非平稳、非线性,诊断情况复杂,其中包含噪声多,可用性低,信号波形复杂,含有多种不同幅值的波形,细微的波动都会影响疾病判断等问题。对其解决的方案目前最为常用的就是对采集到的信号进行降噪预处理增加其可用性,对信号采集时间长,样本数量多的进行数据预处理和降低数据复杂度。就目前的研究而言,现有的降噪方法取得了令人满意的成果,但现有的降噪方法还存在两方面不足:一是现有的去噪方法功能的单一性,对各种噪声的适应性不够好。二是现有的去噪方法在降噪过程中易将病理信息当作噪声处理,可能会丢失大量的有用信息,降噪网络对心电信号的局部相关性和全局相关性考虑不够全面,易引起信号失真。
技术实现要素:
本发明为了克服以上技术的不足,提供了一种根据对抗网络具有学习输入与输出之间差异的能力,用对抗方法搭建基于深度卷积生成对抗网络的ecg降噪方法。本发明克服其技术问题所采用的技术方案是:
一种基于深度卷积生成对抗网络的ecg降噪方法,包括:
a)从mit-bih噪声压力测试数据库中选择em、bm和ma噪声记录作为噪声数据n;
b)将一维心电信号转换为二维数据,利用卷积对抗网络的对抗训练完成心电信号降噪;
c)通过深度卷积对抗网络学习方法将步骤b)中卷积对抗网络中的生成网络模型进行训练,利用训练后的生成网络,输出降噪后的心电信号;
d)计算深度卷积对抗网络中的判别器的损失函数ld;
e)当判别网络和生成网络的损失函数竖直趋于纳什平衡时,保存网络模型;
f)利用步骤e)中的网络模型对步骤a)中的噪声数据n进行降噪处理。
进一步的,步骤a)包括如下步骤:
a-1)从mit-bih噪声压力测试数据库中选用10组原始心电信号数据,每组数据是2*650000个数据点,以每个心电周期采样310个点对选择的10组原始心电信号数据进行划分样本,每组样本数据采样出1998个样本;
a-2)在划分的原始心电信号中加入信噪比为0db、1.25db和50db的em、bm、ma噪声数据n,每条心电信号构造噪声训练样本数量为5400个,测试样本数量为594个。
步骤a)中从mit-bih噪声压力测试数据库中分别选择编号为103、105、111、116、122、205、213、219、223、230的噪声记录。
步骤a-2)中依次加入单噪声、双噪声和三噪声,单噪声为em噪声或bw噪声或ma噪声,双噪声为em噪声加ma噪声或bw噪声加ma噪声或bw噪声加em噪声,三噪声为em噪声加ma噪声加bw噪声。
进一步的,步骤b)包括如下步骤:
b-1)利用公式x=s n计算得到含噪声的信号x,式中s为干净的心电信号,利用x=(x1,x2,...,xk),s=(s1,s2,...,sk),n=(n1,n2,...,nk)表示心电信号的一维的信号,其中xi为第i个含噪信号,si为第i个干净的心电信号,ni为第i个噪声信号,k为样本的长度,1≤i≤k,k=310;
b-2)通过公式g(x)=s′→s=x-n计算得到降噪后的心电信号g(x),s′为卷积对抗网络的生成器生成的信号,s′=(s1′,s2′,...,sk′);
b-3)将一维的信号进行空间投影重构,用二维数据表示,通过公式g(z)=s′→s=x-n计算得到二维重构的降噪后的心电信号g(z);
b-4)在卷积对抗网络的生成网络中,将一维的信号经过重构层转化为二维的矩阵数据,在第一个卷积层中,卷积核为10,尺寸为(3,2),步长为(2,1),padding设置为valid,在bn层进行数据的归一化,激活函数使用leakyrelu,第二个卷积层中卷积层核为20,尺寸为(2,2),步长为(2,1),padding设置为same,激活函数使用leakyrelu,在bn层进行批归一化,第一个反卷积层卷积核设为20,尺寸为(2,2),步长为(2,1),padding设置为same,在bn层进行批归一化,激活函数使用relu,第二个卷积层以上一层卷积输出为输入,设置卷积核为10,尺寸为(4,2),步长为(2,1),padding设置为valid,在bn层进行批归一化,激活函数使用tanh,数据还原回62*5维,生成器返回降噪处理后的心电信号g(x);
b-5)在卷积对抗网络的判别网络中,第一个卷积层输入原始干净信号s和降噪后的心电信号g(z),卷积核为10,尺寸为(3,3),步长为(2,2),padding设置为same,在ln层进行层归一化,激活函数使用leakyrelu,第二个卷积层以第一层卷积层的输出为输入,卷积核设置为10,尺寸为(3,3),步长为(2,2),padding设置为same,在ln层进行层归一化,激活函数使用leakyrelu,全连接层以第二层的卷积输出为输入,输出降噪信号质量判别的d(r)和d(f),d(r)为判别器输入干净样本后的逻辑判断值,d(f)为判别器输入降噪样本后的逻辑判断值。
进一步的,步骤c)包括如下步骤:
c-1)卷积对抗网络中的生成网络模型进行训练时加入wgan的梯度clip限制,限制为[-0.01,0.01];
c-2)训练生成网络模型的网络结构时,设置d_iter=5,当epoch=epoch_max时输入噪声数据n,保存经过生成器输出的降噪信号;
c-3)通过公式lg=lgoriginal αldist βldist-max计算生成器的损失函数lg,式中α=0.5,β=0.3,lgoriginal为生成器的原始损失函数,lgoriginal=log(1-d(g(x))),d(g(x))为判别网络判别g(x)信号是来自于原始干净信号而不是生成去噪后的信号的概率,ldist为生成信号与原始信号之间的整体差异,
进一步的,步骤d)中通过公式ld=ldoriginal λgp计算深度卷积对抗网络中的判别器的损失函数ld,λ=10,
本发明的有益效果是:改进原有的对抗网络结构,加入了二维卷积与反卷积网络结构,加速训练过程的同时,提高网络优化稳定性,较之一般网络具有更强的泛化能力,在特征层归一化方面进行了批处理操作,便于调整隐藏中的数据分布,使得网络更易于被训练,针对对抗神经网络自身训练过程十分不稳定的缺陷,通过在判别器的损失函数中加入了梯度惩罚,极大程度地减小训练过程中梯度爆炸和弥散的可能性,从而提高网络优化稳定性,使用改进后的损失函数,使损失函数效果更佳。
附图说明
图1为本发明的系统结构框架图。
具体实施方式
下面结合附图1对本发明做进一步说明。
一种基于深度卷积生成对抗网络的ecg降噪方法,包括:
a)从mit-bih噪声压力测试数据库中选择em、bm和ma噪声记录作为噪声数据n;
b)将一维心电信号转换为二维数据,利用卷积对抗网络的对抗训练完成心电信号降噪;
c)通过深度卷积对抗网络学习方法将步骤b)中卷积对抗网络中的生成网络模型进行训练,利用训练后的生成网络,输出降噪后的心电信号;
d)计算深度卷积对抗网络中的判别器的损失函数ld;
e)当判别网络和生成网络的损失函数竖直趋于纳什平衡时,保存网络模型;
f)利用步骤e)中的网络模型对步骤a)中的噪声数据n进行降噪处理。
改进原有的对抗网络结构,加入了二维卷积与反卷积网络结构,加速训练过程的同时,提高网络优化稳定性,较之一般网络具有更强的泛化能力,在特征层归一化方面进行了批处理操作,便于调整隐藏中的数据分布,使得网络更易于被训练,针对对抗神经网络自身训练过程十分不稳定的缺陷,通过在判别器的损失函数中加入了梯度惩罚,极大程度地减小训练过程中梯度爆炸和弥散的可能性,从而提高网络优化稳定性,使用改进后的损失函数,使损失函数效果更佳。
进一步的,步骤a)包括如下步骤:
a-1)从mit-bih噪声压力测试数据库中选用10组原始心电信号数据,每组数据是2*650000个数据点,以每个心电周期采样310个点对选择的10组原始心电信号数据进行划分样本,每组样本数据采样出1998个样本;
a-2)在划分的原始心电信号中加入信噪比为0db、1.25db和50db的em、bm、ma噪声数据n,每条心电信号构造噪声训练样本数量为5400个,测试样本数量为594个。
步骤a)中从mit-bih噪声压力测试数据库中分别选择编号为103、105、111、116、122、205、213、219、223、230的噪声记录。
步骤a-2)中依次加入单噪声、双噪声和三噪声,单噪声为em噪声或bw噪声或ma噪声,双噪声为em噪声加ma噪声或bw噪声加ma噪声或bw噪声加em噪声,三噪声为em噪声加ma噪声加bw噪声。
进一步的,步骤b)包括如下步骤:
b-1)利用公式x=s n计算得到含噪声的信号x,式中s为干净的心电信号,利用x=(x1,x2,...,xk),s=(s1,s2,...,sk),n=(n1,n2,...,nk)表示心电信号的一维的信号,其中xi为第i个含噪信号,si为第i个干净的心电信号,ni为第i个噪声信号,k为样本的长度,1≤i≤k,k=310;
b-2)通过公式g(x)=s′→s=x-n计算得到降噪后的心电信号g(x),s′为卷积对抗网络的生成器生成的信号,s′=(s1′,s2′,...,sk′);
b-3)将一维的信号进行空间投影重构,用二维数据表示,通过公式g(z)=s′→s=x-n计算得到二维重构的降噪后的心电信号g(z);
b-4)在卷积对抗网络的生成网络中,将一维的信号经过重构层转化为二维的矩阵数据,在第一个卷积层中,卷积核为10,尺寸为(3,2),步长为(2,1),padding设置为valid,在bn层进行数据的归一化,激活函数使用leakyrelu,第二个卷积层中卷积层核为20,尺寸为(2,2),步长为(2,1),padding设置为same,激活函数使用leakyrelu,在bn层进行批归一化,第一个反卷积层卷积核设为20,尺寸为(2,2),步长为(2,1),padding设置为same,在bn层进行批归一化,激活函数使用relu,第二个卷积层以上一层卷积输出为输入,设置卷积核为10,尺寸为(4,2),步长为(2,1),padding设置为valid,在bn层进行批归一化,激活函数使用tanh,数据还原回62*5维,生成器返回降噪处理后的心电信号g(x);
b-5)在卷积对抗网络的判别网络中,第一个卷积层输入原始干净信号s和降噪后的心电信号g(z),卷积核为10,尺寸为(3,3),步长为(2,2),padding设置为same,在ln层进行层归一化,激活函数使用leakyrelu,第二个卷积层以第一层卷积层的输出为输入,卷积核设置为10,尺寸为(3,3),步长为(2,2),padding设置为same,在ln层进行层归一化,激活函数使用leakyrelu,全连接层以第二层的卷积输出为输入,输出降噪信号质量判别的d(r)和d(f),d(r)为判别器输入干净样本后的逻辑判断值,d(f)为判别器输入降噪样本后的逻辑判断值。
进一步的,步骤c)包括如下步骤:
c-1)卷积对抗网络中的生成网络模型进行训练时加入wgan的梯度clip限制,限制为[-0.01,0.01];
c-2)训练生成网络模型的网络结构时,设置d_iter=5,当epoch=epoch_max时输入噪声数据n,保存经过生成器输出的降噪信号;
c-3)通过公式lg=lgoriginal αldist βldist-max计算生成器的损失函数lg,式中α=0.5,β=0.3,lgoriginal为生成器的原始损失函数,lgoriginal=log(1-d(g(x))),d(g(x))为判别网络判别g(x)信号是来自于原始干净信号而不是生成去噪后的信号的概率,ldist为生成信号与原始信号之间的整体差异,
进一步的,步骤d)中通过公式ld=ldoriginal λgp计算深度卷积对抗网络中的判别器的损失函数ld,λ=10,
1.一种基于深度卷积生成对抗网络的ecg降噪方法,其特征在于,包括:
a)从mit-bih噪声压力测试数据库中选择em、bm和ma噪声记录作为噪声数据n;
b)将一维心电信号转换为二维数据,利用卷积对抗网络的对抗训练完成心电信号降噪;
c)通过深度卷积对抗网络学习方法将步骤b)中卷积对抗网络中的生成网络模型进行训练,利用训练后的生成网络,输出降噪后的心电信号;
d)计算深度卷积对抗网络中的判别器的损失函数ld;
e)当判别网络和生成网络的损失函数竖直趋于纳什平衡时,保存网络模型;
f)利用步骤e)中的网络模型对步骤a)中的噪声数据n进行降噪处理。
2.根据权利要求1所述的基于深度卷积生成对抗网络的ecg降噪方法,其特征在于,步骤a)包括如下步骤:
a-1)从mit-bih噪声压力测试数据库中选用10组原始心电信号数据,每组数据是2*650000个数据点,以每个心电周期采样310个点对选择的10组原始心电信号数据进行划分样本,每组样本数据采样出1998个样本;
a-2)在划分的原始心电信号中加入信噪比为0db、1.25db和50db的em、bm、ma噪声数据n,每条心电信号构造噪声训练样本数量为5400个,测试样本数量为594个。
3.根据权利要求2所述的基于深度卷积生成对抗网络的ecg降噪方法,其特征在于:步骤a)中从mit-bih噪声压力测试数据库中分别选择编号为103、105、111、116、122、205、213、219、223、230的噪声记录。
4.根据权利要求2所述的基于深度卷积生成对抗网络的ecg降噪方法,其特征在于:步骤a-2)中依次加入单噪声、双噪声和三噪声,单噪声为em噪声或bw噪声或ma噪声,双噪声为em噪声加ma噪声或bw噪声加ma噪声或bw噪声加em噪声,三噪声为em噪声加ma噪声加bw噪声。
5.根据权利要求1所述的基于深度卷积生成对抗网络的ecg降噪方法,其特征在于,步骤b)包括如下步骤:
b-1)利用公式x=s n计算得到含噪声的信号x,式中s为干净的心电信号,利用x=(x1,x2,...,xk),s=(s1,s2,...,sk),n=(n1,n2,...,nk)表示心电信号的一维的信号,其中xi为第i个含噪信号,si为第i个干净的心电信号,ni为第i个噪声信号,k为样本的长度,1≤i≤k,k=310;
b-2)通过公式g(x)=s′→s=x-n计算得到降噪后的心电信号g(x),s′为卷积对抗网络的生成器生成的信号,s′=(s1′,s2′,...,sk′);
b-3)将一维的信号进行空间投影重构,用二维数据表示,通过公式g(z)=s′→s=x-n计算得到二维重构的降噪后的心电信号g(z);
b-4)在卷积对抗网络的生成网络中,将一维的信号经过重构层转化为二维的矩阵数据,在第一个卷积层中,卷积核为10,尺寸为(3,2),步长为(2,1),padding设置为valid,在bn层进行数据的归一化,激活函数使用leakyrelu,第二个卷积层中卷积层核为20,尺寸为(2,2),步长为(2,1),padding设置为same,激活函数使用leakyrelu,在bn层进行批归一化,第一个反卷积层卷积核设为20,尺寸为(2,2),步长为(2,1),padding设置为same,在bn层进行批归一化,激活函数使用relu,第二个卷积层以上一层卷积输出为输入,设置卷积核为10,尺寸为(4,2),步长为(2,1),padding设置为valid,在bn层进行批归一化,激活函数使用tanh,数据还原回62*5维,生成器返回降噪处理后的心电信号g(x);
b-5)在卷积对抗网络的判别网络中,第一个卷积层输入原始干净信号s和降噪后的心电信号g(z),卷积核为10,尺寸为(3,3),步长为(2,2),padding设置为same,在ln层进行层归一化,激活函数使用leakyrelu,第二个卷积层以第一层卷积层的输出为输入,卷积核设置为10,尺寸为(3,3),步长为(2,2),padding设置为same,在ln层进行层归一化,激活函数使用leakyrelu,全连接层以第二层的卷积输出为输入,输出降噪信号质量判别的d(r)和d(f),d(r)为判别器输入干净样本后的逻辑判断值,d(f)为判别器输入降噪样本后的逻辑判断值。
6.根据权利要求5所述的基于深度卷积生成对抗网络的ecg降噪方法,其特征在于,步骤c)包括如下步骤:
c-1)卷积对抗网络中的生成网络模型进行训练时加入wgan的梯度clip限制,限制为[-0.01,0.01];
c-2)训练生成网络模型的网络结构时,设置d_iter=5,当epoch=epoch_max时输入噪声数据n,保存经过生成器输出的降噪信号;
c-3)通过公式lg=lgoriginal αldist βldist-max计算生成器的损失函数lg,式中α=0.5,β=0.3,lgoriginal为生成器的原始损失函数,lgoriginal=log(1-d(g(x))),d(g(x))为判别网络判别g(x)信号是来自于原始干净信号而不是生成去噪后的信号的概率,ldist为生成信号与原始信号之间的整体差异,
7.根据权利要求6所述的基于深度卷积生成对抗网络的ecg降噪方法,其特征在于:步骤d)中通过公式ld=ldoriginal λgp计算深度卷积对抗网络中的判别器的损失函数ld,λ=10,