一种面向心律不齐分类的ECG信号处理方法与流程

文档序号:17332581发布日期:2019-04-05 22:11阅读:452来源:国知局
一种面向心律不齐分类的ECG信号处理方法与流程

本发明涉及生物医学领域,具体地,涉及一种面向心律不齐分类的ecg信号处理方法。



背景技术:

“心律不齐”指的是心跳或快或慢,超过了一般范围。很多心律不齐都没有任何症状。心律不齐有五个分型:非异位型(n:non-ectopic)、室性异位型(v:ventricularectopic)、室上性异位型(s:supraventricularectopic)、混合型(f:fusion)、未知型(q:unknown)。不同个体的心脏活动模式具有较大差异,甚至相同个体的心脏活动模式在不同时段也表现出巨大差异,这使得对心律不齐进行准确分类变得异常困难。

现有心率不齐分类方法主要分为两大类:1)基于专业医生的人工分类方法;2)基于特征提取、特征选择及分类器构建的计算机辅助分类方法。前者需要医生具有极其丰富的临床经验,且需耗费大量的时间成本,效率很低;此外,基于人工的检测及分类方法往往存在个体间差异和个体内差异,分类结果的一致性较差。后者虽然借助计算机大大降低了时间成本,且保证了结果的一致性,但其必须根据专家知识提前设计若干个特征。由于心脏活动模式在个体间和个体内都存在巨大差异,统一设计的特征难以准确刻画所有情况下的心脏活动模式,这限制了该种方法的分类精度。



技术实现要素:

本发明提供一种面向心律不齐分类的ecg信号处理方法,以解决心律不齐分类精度较低的问题。

本发明的技术方案为:

一种面向心律不齐分类的ecg信号处理方法,包括以下步骤:

s1:对ecg信号进行r峰检测、心跳提取、数据平衡预处理操作,得到格式统一的ecg信号段;

s2:对s1输出的ecg信号段进行小波分解操作,得到多个时频解析度下的ecg子层信号;

s3:利用多层双向长短时记忆神经网络,分别从s2输出的每个ecg子层进行中挖掘长时依赖关系,刻画ecg信号段的整体变化趋势;

s4:利用二维卷积神经网络,从每个经过s3处理后的ecg信号子层中挖掘局部特征,以刻画ecg信号中不同波形成分的特点;并得到每个ecg子层信号属于不同心律不齐分型的概率;

s5:将s4中每个ecg子层属于不同心律不齐分型的概率进行融合,从而得到该ecg信号段的最终分类结果。

进一步地,一种面向心律不齐分类的ecg信号处理方法,所述s1中,首先使用pan-tompkins算法定位ecg信号中的r峰的位置;然后以r峰为中心截取适当数量的采样点作为当前心跳所对应的ecg信号段;最后采用smote算法对实例较少的心率不齐分型进行上采样处理,得到数量平衡的数据集。

进一步地,一种面向心律不齐分类的ecg信号处理方法,s2中得到多个时频解析度下的ecg子层信号是指利用小波分解技术对ecg信号进行若干级分解,并根据每层细节分量的小波系数进行信号重构,从而得到若干不同时频解析度下的ecg子层信号。

进一步地,一种面向心律不齐分类的ecg信号处理方法,所述s3中利用多层双向长短时记忆神经网络以刻画ecg信号的整体波动模式是指:使用结构相同的多个多层长短时记忆神经网络并行地处理s2中得到的多个ecg子层信号,并将每层的处理结果并行地作为下一层网络的输入。

进一步地,一种面向心律不齐分类的ecg信号处理方法,所述s4中使用二维卷积神经网络刻画ecg信号中不同波形成分的波动模式是指:使用结构相同的多个二维卷积神经网络并行地处理s3中得到的多个ecg子层信号,并得到每个子层信号属于不同心率不齐分型的概率。

进一步地,一种面向心律不齐分类的ecg信号处理方法,所述s5中对每个ecg子层信号属于不同心率不齐分型的概率进行融合,是指利用sumrule技术,将上述概率进行融合,最终确定原始ecg信号段(即未分解的)所属的心率不齐分型。

本发明的有益效果为:所述的ecg信号处理方法,可以从多个时频解析度对ecg信号进行分析,并分别利用sb-lstm和td-cnn从ecg子层信号中挖掘信号的整体波动模式和局部波动模式,最终使用sumrule对每个ecg子层的中间分类结果进行融合,获取更加准确、健壮的分类结果。该方法避免了人工分类所产生的个体间差异和个体内差异,能够获得稳定的分类结果,此外,该方法不需要借助任何专家知识、不需要手动设计各种特征、不需要进行特征选择处理、不需要单独构建分类器,是典型的端到端方法,具有使用便捷、分类精度高等特点。

附图说明

图1是本发明一种面向心律不齐分类的ecg信号处理方法总体流程示意图;

图2是本发明一种面向心律不齐分类的ecg信号处理方法实施例中基于ecg的心率不齐分类模型的结构示意图;

图3是本发明一种面向心律不齐分类的ecg信号处理方法实施例中所设计的sb-lstm结构示意图。

图4是本发明一种面向心律不齐分类的ecg信号处理方法实施例中所设计的sb-lstm中的lstm单元的结构示意图。

图5是本发明一种面向心律不齐分类的ecg信号处理方法实施例中所设计的td-lstm结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明的实施例及其附图,对本发明中的技术方案进行清楚、完整地描述。

如图1所示,一种面向心律不齐分类的ecg信号处理方法,包括以下步骤:

s1:对ecg进行r峰检测、心跳提取、数据平衡等预处理操作,得到格式统一的ecg信号段。

r峰是ecg信号中表征一次心跳的最明显标志,因此可以用r峰所在位置表示每一次心跳发生的时刻。在本发明实施例中,采用流行的pan-tompkins算法进行r峰检测。然后,以r峰所在时刻为中心,选取适当数量的采样点来代表当次心跳所对应的ecg信号段。鉴于本发明实施例中ecg信号的采样频率为360hz,而人体正常心率范围为60-100次/分,因此以r峰为中心选择256个采样点作为当次心跳所对应的ecg信号段,这样既可以最大程度保留当次心跳的主要信息,又避免混入相邻心跳的信息。然后,再对该256个采样点进行二次抽样(每4个采样点抽取一个),使得每个心跳最终由64个采样点组成。由于正常心跳类型占全部心跳的绝大多数,因此需要对其余数量较少的心律不齐分型进行上采样操作。本发明实施例利用smote算法实现该上采样操作。具体地,首先对不同心律不齐分型进行聚类操作,然后随机地从数量较少的分型中挑选一个实例作为种子,并找到距离其最近的k个该类型实例(本例中k设为10,且以欧式距离作为距离度量方法),从该k个实例所张成的空间中随机选择一点作为新合成的实例,重复该操作,直到该心律不齐分型的实例个数达到合适的数量,最终使得所有心律不齐分型的实例个数相等即可。

s2:对s1输出的ecg信号段进行小波分解操作,得到多个时频解析度下的ecg子层信号。

利用小波分解操作将ecg信号分解为若干ecg子层信号,从而可以从多个时频解析度中挖掘更多隐含信息,以提升最终的分类性能。本发明实施例中,采用dwt技术进行ecg信号分解。具体地,使用daubechiesd6(“db6”)作为小波基。由于本发明实施例中,每个心跳所对应的ecg信号已经转换为90hz,因此仅对每一个ecg信号段进行6层分解。其中,最后一次分解所得到的近似分量的频率范围为0-1.4.6hz。在重构ecg子层信号时,分别用第一至第六层细节分量的小波系数进行信号重构(其他分量的小波系数置为0),分别得到6个ecg子层信号,记为d1,d2,d3,d4,d5,d6。于此同时,同时利用第一至第六层细节分量的小波系数进行信号重构(第六层近似分量的小波系数置为0,因为它的主要成分为信号噪音),得到另一个ecg子层信号,记为d0。需要注意的是,d0,d1,d2,d3,d4,d5,d6的长度相同,均由64个采样点组成。

s3:利用多层双向长短时记忆神经网络,分别从s2输出的每个ecg子层进行中挖掘长时依赖关系,从而刻画ecg信号段的整体变化趋势。

本发明实施例中使用sb-lstm神经网络结构来挖掘每一个ecg子层信号中采样点之间的长期依赖关系,以刻画ecg信号段的整体波动模式。所设计的sb-lstm网络结构如图3所示,它由三层双向lstm构成。其中,上一层的输出作为下一层的输入,且保持上一层lstm的结果输出给下一层同方向lstm。每个lstm的内部结构如图4所示,它由三个门构成,即:忘记门、输入门及输出门。三个门相互作用,共同控制lstm状态的更新。其中,忘记门用来丢掉lstm之前状态中的无用信息;输入门决定当前应当给lstm状态添加哪些信息;输出门确定当前细胞应当将哪些信息作为lstm的最终状态。给定t时刻的输入向量xt,lstm的输出ht以及lstm的状态ct按照如下公式进行更新:

ft=σ(wf·[ht-1,xt]+bf)

it=σ(wi·[ht-1,xt]+bi)

ot=σ(wo·[ht-1,xt]+bo)

ht=ot⊙tanh(ct)

其中,[x,y]表示矩阵x与矩阵y的链接结果;wf,bf,wi,bi,wo及bo分别代表忘记门、输入门及输出门的权重和偏置项;σ表示激活函数,⊙表示矩阵按元素相乘操作;wc,bc分别表示与当前lstm的输入对应的中间输出结果、权重矩阵及偏置项。具体在实施时,每个lstm中的隐藏神经元个数设置为32个;s2中所得到的7个ecg子层信号(d0,d1,d2,d3,d4,d5,d6)分别并行地由1个sb-lstm进行处理,并最终得到7组输出(每个输出由前向输出结果和后向输出结果组成,其大小为64×64的矩阵)。

s4:利用二维卷积神经网络,从每个经过s3处理后的ecg信号子层中挖掘局部特征,以刻画ecg信号中不同波形成分的特点;并得到每个ecg子层信号属于不同心律不齐分型的概率。

本发明实施例中使用td-cnn神经网络结构来挖掘每一个ecg子层信号的局部特征,以刻画ecg信号中不同波形成分的波动模式。本发明实施例中所设计的td-cnn网络结构如图5所示,它由两个卷积层、一个最大值池化层(max-pooling)、一个平均池化层(avg-pooling)、两个全连接层组成。具体地,第一个卷积层拥有32个过滤器(filters),每个过滤器的大小为4×4矩阵,且步长为2;max-pooling的接收域大小也为4×4,但步长为4;第二个卷积层的过滤器的个数设置为64个,以得到更高层的信号表示;max-pooling层的接收域大小及步长与max-pooling层相同;两个全连层所含的神经元个数分别设为32和5,并在最后一个全链接层之后添加一个softmax层,从而将网络输出结果转换成概率分布形式。计算时,将s3中所得到的7组输出结果分别并行地由1个td-cnn进行处理,最终得到7组结果,每个结果分别表示对应的ecg子层信号属于不同心律不齐分型的概率。

s5:将s4中每个ecg子层属于不同心律不齐分型的概率进行融合,从而得到该ecg信号段的最终分类结果。

在s4中得到了每个ecg子层信号分别属于不同心率不齐分型的概率(即中间结果),为了更加准确地确定原始ecg信号段(即未进行分解的ecg信号)究竟属于哪种分型,需要对这些中间结果进行融合,得到最终的分类结果。本发明实施例中,使用sumrule技术进行中间结果融合。具体地,给定一个ecg子层信号xl(l=1,2,…,n)(n表示子层的个数),p(ωi|xl)(i=1,2,3,4,5)表示xl属于ωi分型的概率(ω1,ω2,ω3,ω4和ω5分别表示5种心率不齐分型,即n、s、v、f和q)。最终,原始ecg信号段所属分型可以由以下公式确定:

在训练整个神经网络模型时,每个心率不齐分型使用one-hot格式进行编码,采用分类交叉熵函数计算网络的损失;使用leakyrelu作为网络中神经元的激活函数;使用adam优化器来更新网络中的各个参数;网络中的各种参数,如权重矩阵、偏置等均初始化为随机值;为了避免过拟合现象,本发明实施例使用下降学习率技术(学习率初始值为0.002,每1000次迭代,学习率下降为原来的90%)、l-2正则化技术(正则化强度设置为10-4)、dropout技术(添加在二维卷积神经网络中的avg-pooling之后,且保持率设置为0.95)对网络进行处理;数据集按0.7:0.1:0.2的比例划分为训练集、验证集、测试集,每次训练以128个实例作为一个mini-batch,每100次迭代计算一次网络性能,整个数据集训练5遍,选择在测试集上性能最优的模型作为最终的模型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1