技术领域
本发明属于心电图检测技术领域,具体涉及一种基于深度学习法心电节拍特征自动化提取及分类方法。
背景技术
在人体各项指标参数中,心脏活动分析是智能判断的关键部分,而心电图(electrocardiography,ECG)是全世界普遍采用的心律失常等多种心脏疾病非侵入性检查和诊断的重要手段,也是反映心脏周期性活动的重要指标,在临床中得到广泛的应用。心律失常(arrhythmia)是心血管疾病中重要的一组疾病。它是由于心脏活动的起源和(或)传导障碍导致心脏搏动的频率和(或)节律异常,而引发的一个极其常见而又非常重要的心电活动异常症状,它可单独发病,亦可与其他心血管病伴发。因此,心律失常分类是心电图智能诊断分析的重要内容之一。
目前的心电图检测设备已不仅限于心电图的图形记录,并且可以进行心电图数字化采集和自动分析,从而提高分析速度和精度,并帮助医生找到最佳的治疗方法,减轻医生的工作强度。
在过去几十年里,利用基于信号处理技术和模式识别技术的ECG检测和分类的方法代表了心脏病专家在诊断中的重要解决方案。最近有几种通用的方法基于机器学习和信号处理的ECG分类技术,如聚类,多层感知器(MLP)和隐马尔科夫模型,支持向量机。通常,这些方法的主要步骤是预处理,特征提取和分类。现有诊断模型基本上都是建立在有限时间段异常心电信号的低层特征之上,一些疑难病症的复杂性使其很难用一些规则来描述,该诊断模型存在很大的局限性。虽然对判断常见类型的心血管疾病有一定的辅助作用,但对复杂的疾病诊断仍然严重依赖医生的经验和诊断水平。传统模型诊断效果差的主要原因在于传统模型的学习能力有限,不能在心电信号的低层特征与心血管医生的经验和诊断知识的高层次语义特征之间建立有机连结。也就是说,传统模型无法像医生查图一样利用综合知识和经验充分挖掘心电信号的全部有用信息。
最近一些研究人员进行了许多深度学习的工作来检测异常心电图信号,例如使用1-D卷积神经网络(CNN)做心电图分类或者使用34-layer cnn进行心律失常检测,然而这些技术多是基于CNN,这些改进中的大多数重点是设计更多复杂,更深入和更广泛的cnn网络,并旨在学习基于大量和多样化数据集的特征表征,这些方法进一步提高了卷积神经网络(CNN)的处理能力,缺点是仅仅在某些具体数据结构下高效和有效,不能深度的精准对心电信号进行提取和分类。
发明内容
本发明的目的是克服现有技术的不足而提供一种简单易行、定位精准、分类精确的基于深度学习法心电节拍特征自动化提取及分类方法。
本发明的技术方案如下:
一种基于深度学习法心电节拍特征自动化提取法,包括以下步骤:
1)、采用双正交小波变换去除高频噪声和基线漂移;
2)、通过二进样条小波变换产生极大极小值检测R波;
3)、根据步骤2)R波基础上检测QRS波群及P、T波。
优选的,所述步骤3)中QRS波群的具体检测方法是:
对第i个心拍进行类型的识别,把第i个心拍称为当前心拍记做C-B;
第i-1个心拍记做P-B;
第i+1个心拍记做N-B;
C-B、P-B、N-B的R波峰值位置分别为Ri-1、Ri、Ri+1;
Ri-1、Ri的时间差,即当前心拍的RR间期,记做C-RR;
Ri-1、Ri-2的时间差,即第i-1个心拍的RR间期,记做P-RR;
Ri+1、Ri的时间差,即第i+1个心拍的RR间期,记做N-RR;
则,P-RR=Time(Ri-1-Ri-2);
C-RR=Time(Ri-Ri-1);
N-RR=Time(Ri+1-Ri)。
优选的,对通过二进样条小波变换产生极大极小值检测到的波形采用双向长短时记忆网络(Bi-LSTM)对检测的波形数据信息进行深度学习分类。
优选的,所述双向长短时记忆网络(Bi-LSTM)的具体做法是,训练序列向前和向后分别是两个长短时记忆网络,而且这两个长短时记忆网络都连接着一个输出层,该双向长短时记忆网络提供给输出层输入序列中每一个点的完整的过去和未来的上下文信息。
与现有技术相比,本发明的有益效果是:
1、本发明采用双正交小波变化对心电信号进行预处理,有效的简化后续心电信号特征提取程序部分,便于对心电信号的深度挖掘提取;
2、本发明采用二进样条小波变化产生极大极小值对波群进行精准检测,针对同种病理不同心拍的波形差异各样的特点,通过检测两个QRS波中R波之间的时间反应波形差异的重要特征,从而能够对心电信号进行深度精准检测;
3、本发明采用双向长短期记忆网络(Bi-LSTM),采用当前训练序列分向前和向后为两个长短时记忆网络,从而获取输出层输入序列中每一个点的完整的过去和未来的上下文信息,从而对心电信号进行精准分类;
总之,本发明具有有效简化特征提取程序、对波形进行精准定位、心电信号精准分类的优点。
附图说明
图1为实施例2中双向长短期记忆网络图。
图2为公式原理图。
图3为心拍数据表。
图4为Bi-Lstm模型的超参数表。
图5为MIT数据库心拍分类结果情况统计表。
图6为实验结果表。
图中:w1,输入层到向前隐含层的权值;w2,输入层到向后隐含层的权值;w3,向前隐含层到向前隐含层的权值;w4,向前隐含层到输出层的权值;w5,向后隐含层到向后隐含层的权值;w6,向后隐含层到输出层的权值。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
一种基于深度学习法心电节拍特征自动化提取法,包括以下步骤:1)、采用双正交小波变换去除高频噪声和基线漂移;2)、通过二进样条小波变换产生极大极小值检测R波;3)、根据步骤2)R波基础上检测QRS波群及P、T波。
本实施例中,所述步骤3)中R波的具体检测方法是:对第i个心拍进行类型的识别,把第i个心拍称为当前心拍记做C-B;第i-1个心拍记做P-B;第i+1个心拍记做N-B;C-B、P-B、N-B的R波峰值位置分别为Ri-1、Ri、Ri+1;Ri-1、Ri的时间差,即当前心拍的RR间期,记做C-RR;Ri-1、Ri-2的时间差,即第i-1个心拍的RR间期,记做P-RR;Ri+1、Ri的时间差,即第i+1个心拍的RR间期,记做N-RR;则,P-RR=Time(Ri-1-Ri-2);C-RR=Time(Ri-Ri-1);N-RR=Time(Ri+1-Ri)。
本实施例中采用双正交小波变换去除高频噪声和基线漂移的依据如下:
参阅附图,傅里叶变换无法对对于心电等非稳定信号中时间特性加以分析;小波变换良好的空间和频域局部化特性,使其可以对信号在时域和频域上进行多尺度细化分析,可以有效地从心电信号中提取信号信息;研究人员已经利用小波变换多种方法实现了QRS波的准确高效的定位;准确的波群检测结果是心拍识别的基础,本实施例选择它来处理心电信号;
连续小波变换基本定义为公式(1),
其中a为尺度因子,τ为平移因子,称ψa,τ(t)为小波基函数为公式(2)
由于a和τ是连续变换的值,所以称其为连续小波变换;但连续小波变换实际运算过程复杂,且二位计算存在大量冗余,所以常将连续小波加以离散,得到离散小波变换,实际应用时采用二进的动态采样网络得到小波为公式(3),
二进小波由于是对尺度参数进行了离散,而平移参数保持连续变化,它所具有的平移不变性使得其非常适合模式识别和信号检测;本实施例通过二进样条小波变换产生极大极小值检测R波,并在R波基础上提取P-QRS-T波群;
而双正交小波(Biorthogonal wavelet)具有低复杂度、高实时性以及多尺度特性,且运算简单,本实施例选择双正交小波变换在心电信号特征提取时对信号进行变换以去除高频噪声和基线漂移。
因此,由于信号在时域和频域上,具有多尺度细化分析的功能,小波变换是时间和频率的局部变换,良好的空间和频域局部化特性可以有效地从心电信号中提取信号信息。
实施例2
一种基于深度学习法心电节拍特征自动化分类方法,通过二进样条小波变换产生极大极小值检测到的波形采用双向长短期记忆网络(Bi-LSTM)对检测的波形数据信息进行深度学习分类。
本实施例中,所述双向长短期记忆网络(Bi-LSTM)中的每一个训练序列由同一个输出层连接在一起的两个长短期记忆网络(LSTM)组成,分别为向前长短期记忆网络和向后长短期记忆网络;所述双向长短期记忆网络(Bi-LSTM)提供给输出层输入序列中每一个点的完整的过去和未来的上下文信息,在这个过程中,每一个时步上有六个独特的权值被重复利用,分别为输入层到向前隐含层的权值w1,输入层到向后隐含层的权值w2;向前隐含层到向前隐含层的权值w3,向后隐含层到向后隐含层的权值w4,向前隐含层到输出层的权值w5,向后隐含层到输出层的权值w6。
本实施例的所述双向长短期记忆网络(Bi-LSTM)中整个双向长短期记忆网络的计算过程如下:
长短期记忆网络(Long Short-Term MemoryLSTM)是一种时间递归神经网络,该神经网络可以有效保留历史信息,实现对文本的长期依赖信息进行学习。LSTM网络由三个门(输入门、遗忘门和输出门)和一个cell单元来实现历史信息的更新和保留。LSTM数据更新过程如下,在时刻t时,输入门会根据上一时刻LSTM单元的输出结果ht-1和当前时刻的输入xt作为输入,通过计算来决定是否将当前信息更新到LSTM cell中,可以表述为公式(4)。
忘记门会根据上一时刻隐藏层的输出结果ht-1和当前时刻的输入xt作为输入,来决定需要保留和舍弃的信息,实现对历史信息的存储,可以表述为公式(5)。
对于当前的候选记忆单元值Cin是由当前输入数据xt和上一时刻LSTM隐层单元输出结果ht-1决定的,可以表述为公式(6)。
当前时刻记忆单元状态值Ct除了由当前的候选单元Cin以及自身状态Ct-1,还需要通过输入门和遗忘门对这两部分因素进行调节,可以表述为公式(7)。
计算输出门Ot,用于控制记忆单元状态值的输出,可以表述为公式(8)。
最后LSTM单元的输出为ht,可以表述为公式(9)。
在计算每个位置的隐藏向量之后,将最后的隐藏向量看作是心电信号表示,将其馈送到一个输出长度为分类号的线性层,并且添加softmax层函数以输出心拍分类为N,S,V,F或Q,其中K是心拍类别数,计算为公式(10)
向前推算,对于双向长短期记忆网络的隐含层,向前推算跟单向的长短期记忆网络一样,除了输入序列对于两个隐含层是相反方向的,输出层直到两个隐含层处理完所有的全部输入序列才更新:
for t=1 to T do
Forward pass for the forward hidden layer,storing activations at each timestep
for t=T to 1 do
Forward pass for the backward hidden layer,storing activations at each timestep
For all t,in any order do
Forward pass for the output layer,using the stored activations from both hidden layers
向后推算,双向长短期记忆网络的向后推算与标准的长短期记忆网络通过时间反向传播相似,除了所有的输出层δ项首先被计算,然后返回给两个不同方向的隐含层:
For all t,in any order do
Backward pass for the output layer,using storing δ terms at each timestep
for t=T to 1do
BPTT Backward pass for the forward hidden layer,using the stored δ terms from the output layer
for t=1to T do
BPTT Backward pass for the backward hidden layer,using the stored δ terms from the output layer
本发明的实验结果与分析如下:
心拍分类检测任务是对输入为B=[b1,...,b188]的序列进行分类以输出标签C=[c1,...,c5]的,每个ci代表C不同的节拍类之一,每个输出标签都对应于输入的一部分,使用双向长短期记忆网络监督学习的方法,以端到端的方式解决了这个问题,其中定义损失函数是ECG心拍分类的交叉熵误差为公式(11)
其中,B是训练数据,C是心拍类别的数,b是一个心拍数据,pc(b)表示由SOFTMAX层给定的预测b属于C类的概率,psc(b)表示类别c是否是正确的ECG节拍类别,其值是1和0,本发明采用梯度下降方法来更新参数。
将所有心拍数据依据ANSI/AAMI EC57:2012标准分为N(正常或者束支传导阻滞节拍),S(室上性异常节拍),V(心室异常节拍),F(融合节拍),Q(未能分类的节拍)5类节拍,对MIT数据库的92991个心拍进行分类统计,得到心拍数据表、Bi-Lstm模型的超参数表、MIT数据库心拍分类结果情况统计表、实验结果表。
由实验结果可以看出,对MIT数据库的9299个心拍进行分类统计,其中8191个心拍的专家注释为N类。通过本发明分类方法,N类心拍被正确分类的数目为8182个,分类敏感度为1.00,精确率为1.00;同样,根据上表中S、V、Q的分类统计结果,S类心拍分类敏感度为0.92,精确率为0.97;v类心拍分类敏感度为0.98,精确率为0.97;F类心拍分类敏感度为0.79,精确率为0.96;Q类心拍分类敏感度为1.00,精确率为1.00;通过计算,总体分类准确率达到了99.43%;与现有的分类方法相比,本发明提供得的心电节拍特征自动化提取及分类方法的分类准确性、实用性方面有了一定的进步。
尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。