本发明属于心电数据分类技术领域,特别涉及一种结合特征提取和inception网络的心电数据分类方法及系统。
背景技术:
在医学实践中,ecg(electrocardiogram心电图)是一种较为廉价和可靠的工具,通过对大量心电数据的分析,可以帮助医生发现许多心脏疾病,如房颤、心肌梗死、急性低血压等。由于新型传感技术的迅速发展,需要分析的心电数据不仅数量庞大,而且结构复杂;此外,长期心电图记录的分析非常繁琐和耗时,因此,使用机器学习的方法来进行心电数据的分类和诊断成为一种趋势。
目前,已经有很多基于特征选择的方法对ecg数据进行了特征提取,比如r-r间期、p-p间期、p-r间期等等;这些特征与领域知识高度相关,因此称为“专家特征”;但是,对于其中的一部分特征,其重建需要较多的导联,因此其适用性相当有限。一些现有方法提取了频域特征,方法包括小波分解、主成分分析和独立成分分析等,尽管这些特征在数学上有明确的意义,但是并没有生理学上的含义,因此医生无法直观地理解。
近年来,深度神经网络在许多领域都取得了巨大的成功,一些研究采用了深度神经网络对ecg数据进行分类,并取得了不错的效果。然而,目前对如何将特征提取与深度神经网络结合起来进行ecg数据分类的研究仍较为匮乏。
以下文献提供了一种可参考的结合了特征提取和神经网络的心电数据分类方法:
文献1.sanninog,depietrog.adeeplearningapproachforecg-basedheartbeatclassificationforarrhythmiadetection[j].futuregenerationcomputersystems,2018,86:446-455.
文献1提出了一种结合了特征提取和深度神经网络的心电数据分类方法。该方法首先从原始ecg数据中分割出单个心跳节拍,提取ecg数据中r-r间期周围的一系列特征,并构建了一个全连接的深度神经网络,然后将心跳数据和提取到的特征作为神经网络的输入进行ecg数据分类。该文献中所述方法存在一些问题:首先,该方法将ecg数据分割成了单个心跳节拍会造成一定程度的信息损失,而且提取的特征并不够全面;其次,其提出的深度神经网络用于模型最后的分类任务,只是单纯地作为一个分类器,而实际上除了一些专家特征外,ecg数据中还包含更深层次的特征,而深度神经网络可以被设计为深层次特征的提取器。
综上,亟需一种新的结合特征提取和inception网络的心电数据分类方法及系统。
技术实现要素:
本发明的目的在于提供一种结合特征提取和inception网络的心电数据分类方法及系统,以解决上述存在的一个或多个技术问题。本发明中,模型既提取非常有价值的专家特征,又考虑到心电数据的深层次特征,能够达到增强模型健壮性和分类能力的目的。
为达到上述目的,本发明采用以下技术方案:
本发明的一种结合特征提取和inception网络的心电数据分类方法,包括以下步骤:
步骤1,滤除获取原始的心电图数据中的基线漂移以及电力干扰,获得滤波后的心电图数据;对滤波后的心电图数据进行归一化处理,获得处理后的心电图数据;
步骤2,将步骤1获得的处理后的心电图数据进行分割,获得若干心跳片段;
步骤3,对步骤2获得的若干心跳片段进行特征提取;其中,每一个心跳片段的所有提取到的特征整合形成一个特征向量,作为心跳特征;对于每一个心跳片段,提取的特征包括:心跳间隔时间、相对小波能量、小波总能量、r振幅、q振幅、qrs波持续时间以及小波熵;
步骤4,神经网络模型的构建,包括:构建循环神经网络集成模型,用于对得到的心跳特征进行类别预测;构建适用于心电数据的inception网络,用于对步骤1获得的处理后的心电图数据进行深层次的特征提取;
步骤5,将步骤3获得的心跳特征按原始的心跳顺序输入步骤4构建的循环神经网络集成模型,取softmax层的输出作为预测向量;将步骤1获得的处理后的心电图数据输入步骤4构建并训练好的inception网络,取全局平均池化层的输出作为深层次特征;计算获得整个心电图数据上的相对小波能量、小波能量,以及全部心跳片段的小波能量和心跳间隔时间的绝对平均偏差;
步骤6,将通过循环神经网络集成模型获得的特征、通过inception网络获得的深层次特征以及整个心电图数据上的提取到的特征进行整合,获得整合后的特征;将整合后的特征作为预构建的多层感知机的输入,训练所述多层感知机至预设收敛条件,获得最终的分类模型;其中,所述最终的分类模型用于心电数据分类。
本发明的进一步改进在于,步骤1中,所述滤除其中的基线漂移以及电力干扰,包括:对原始的心电图数据进行3hz~45hz的带通滤波;所述归一化处理时,令均值为0,标准差为1。
本发明的进一步改进在于,步骤2中,进行分割时采用qrs检测方法。
本发明的进一步改进在于,步骤3还包括:以无监督方式在提取出来的心跳数据上训练两个堆叠降噪自动编码器,用于提取心跳数据中的深层次特征。
本发明的进一步改进在于,步骤3还包括:
在原始的心跳数据上训练第一堆叠降噪自动编码器,获得训练完成的第一堆叠降噪自动编码器;
将原始的心跳数据转换到小波域,提取小波系数作为输入进行第二堆叠降噪自动编码器的训练,获得训练完成的第二堆叠降噪自动编码器;
将心跳数据输入训练完成的第一堆叠降噪自动编码器,通过第一堆叠降噪自动编码器的encoding侧,计算得到对应于心跳数据的低维embedding,作为提取到的特征;
将心跳数据转换到小波域,并提取小波系数输入训练完成的第二堆叠降噪自动编码器,通过第二堆叠降噪自动编码器的encoding侧,计算得到对应于心跳数据的小波系数的低维embedding,作为提取到的特征;
将每一个心跳片段的所有提取到的特征整合在一起,形成一个特征向量,作为心跳特征,用于输入循环神经网络集成模型。
本发明的进一步改进在于,步骤4中,构建的适用于心电数据的inception网络包括:
inception模块,包括:bottleneck层,用于执行步长为1、长度为m的滑动滤波操作,将输入从m维的心电数据转换为m维;在bottleneck层之后设置多个并行的、采用不同长度的滤波器的独立的卷积层;每个卷积层之后设置批归一化层和relu激活层;将每个独立的卷积层和最大池化的结果拼接起来,获得的序列数据作为inception模块的输出;
所述inception网络由多个inception模块堆叠形成,其间加入残差连接;其中,第一个inception模块的输入为心电数据,剩余的inception模块的输入均为上一个inception模块的输出;
训练好的inception网络作为深层次特征提取器,取全局平均池化层的输出作为深层次心电信号特征。
本发明的进一步改进在于,步骤4中,构建的适用于心电数据的inception网络具体包括:
inception模块中,在bottleneck层之后设置三个并行的、采用不同长度的滤波器的卷积层,滤波器的长度分别为10、20、40;其中,inception模块的输入为多导联心电数据或单导联心电数据;输入是单导联的心电数据时,bottleneck层中的m=1;
inception网络中,6个inception模块依次连接;第1个inception模块的输入为心电数据,剩余的5个inception模块的输入均是上一个inception模块输出;将前3个inception模块组织为第一个残差块,后3个inception模块组织为第二个残差块;将第一个残差块的输入与输出进行一个加操作,加操作的结果输入第二个残差块;第6个inception模块后接一个全局平均池化层,用于对输出的数据进行全局平均池化得到特征值;全局平均池化层后设置有一个全连接层和一个softmax层。
本发明的进一步改进在于,inception模块中,bottleneck层后设置一个和卷积层并行的最大池化层;最大池化层后设置一个1×1的卷积操作。
本发明的一种结合特征提取和inception网络的心电数据分类系统,包括:
数据预处理模块,用于滤除获取原始的心电图数据中的基线漂移以及电力干扰,获得滤波后的心电图数据;对滤波后的心电图数据进行归一化处理,获得处理后的心电图数据;
数据分割模块,用于将数据预处理模块获得的处理后的心电图数据进行分割,获得若干心跳片段;
特征提取模块,用于对数据分割模块获得的若干心跳片段进行特征提取;其中,每一个心跳片段的所有提取到的特征整合形成一个特征向量,作为心跳特征;对于每一个心跳片段,提取的特征包括:心跳间隔时间、相对小波能量、小波总能量、r振幅、q振幅、qrs波持续时间以及小波熵;
网络模型,包括:循环神经网络集成模型,用于对得到的心跳特征进行类别预测;适用于心电数据的inception网络,用于对处理后的心电图数据进行深层次的特征提取;将获得的心跳特征按原始的心跳顺序输入循环神经网络集成模型,取softmax层的输出作为预测向量;将处理后的心电图数据输入训练好的inception网络,取全局平均池化层的输出作为深层次特征;计算获得整个心电图数据上的相对小波能量、小波能量,以及全部心跳片段的小波能量和心跳间隔时间的绝对平均偏差;将通过循环神经网络集成模型获得的特征、通过inception网络获得的深层次特征以及整个ecg数据上提取到的特征进行整合,获得整合后的特征;将整合后的特征作为预构建的多层感知机的输入,训练所述多层感知机至预设收敛条件,获得最终的分类模型;
输入输出模块,用于将待分类的原始心电图数据输入模型并输出最终的分类结果
与现有技术相比,本发明具有以下有益效果:
本发明结合心电图特征提取和inception神经网络的心电数据分类方法,首先,对原始的心电图数据进行预处理,包括去除噪声、归一化等操作;其次,对于处理后的数据,一方面作为后面构建的inception网络的输入,另一方面按心跳间隔进行分割,针对每一个心跳片段,提取其空间特征、频域特征以及领域特征;再次,构建一组不同参数的循环神经网络,并将前面提取出的特征作为模型的输入得到一组预测值;最后,针对处理后的心电数据构建一个inception网络,提取全局平均池化层的输出,作为心电数据的全局深层次特征,之后将其与前一步得出的预测值以及另外几个全局特征整合起来,输入到一个多层感知机中,得到最后的分类结果。本发明将心电图数据分割成了连续的心跳片段,相对于只将心电图数据分割成单个心跳片段的方法,避免了一定程度的信息损失;此外,本发明将深度神经网络提取到的深层次特征作为分类的另一个依据,并与其他专家特征相结合进行心电数据的分类,以此将深度神经网络作为一个深层次特征提取器,使得模型充分利用了深度神经网络的优势,提取到更加全面的特征,达到了增强模型健壮性和分类能力的目的。
本发明中,使用堆叠降噪自动编码器提取每个心跳片段的低维embedding,获取心跳数据中的深层次特征。
本发明中,为了增加循环神经网络模型内部的多样性,通过超参数搜索的方法得到一组网络设置和参数各不相同的循环神经网络。
本发明中,为了增加inception网络模块抵抗小扰动的能力,在bottleneck层后面引入一个和卷积层并行的最大池化层,其后再加一个1x1的卷积操作,以保证得到的数据长度和卷积层的输出保持一致。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面对实施例或现有技术描述中所需要使用的附图做简单的介绍;显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种结合特征提取和inception网络的心电数据分类方法的流程示意框图;
图2是本发明实施例中,inception网络基本模块结构示意图;
图3是本发明实施例中,inception网络结构示意图。
具体实施方式
为使本发明实施例的目的、技术效果及技术方案更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述;显然,所描述的实施例是本发明一部分实施例。基于本发明公开的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的其它实施例,都应属于本发明保护的范围。
请参阅图1,本发明实施例的一种结合特征提取和inception网络的心电数据分类方法,包括以下步骤:
步骤1,数据预处理,包括:首先对原始的心电图数据进行3hz~45hz的带通滤波,滤除数据中的基线漂移以及电力干扰;然后对滤波得到的数据进行归一化处理,令其均值为0、标准差为1。
步骤2,对数据预处理得到的数据进行分割,包括:首先,利用pan和tompkin提出的qrs检测方法将心电数据分割为一系列的心跳片段;然后将分割得到的心跳片段按初始顺序进行下一步的特征提取。
步骤3,特征提取,包括:对于心电数据中的每一个心跳片段,分别提取以下特征:心跳间隔时间、5个频段上的相对小波能量、小波总能量、r振幅、q振幅、qrs波持续时间以及小波熵。除了上述特征外,进一步地,以无监督方式在提取出来的心跳数据上训练两个堆叠降噪自动编码器(sdae),来提取心跳数据中的深层次特征。具体地,在原始心跳数据上训练第一个sdae,然后将心跳数据转换到小波域,提取其小波系数作为输入进行第二个sdae的训练。训练完成后,将心跳数据输入sdae,通过sdae的encoding侧,计算得到对应于心跳数据及其小波系数的低维embedding,也就是用sdae提取出来的特征。最后,将特征提取过程中,每一个心跳片段的所有提取到的特征整合在一起,形成一个特征向量,然后对于所有的心跳特征,按原始的心跳顺序输入到下一步中构建的一组循环神经网络中。
步骤4,神经网络模型的构建,包括:一是构建一个循环神经网络(rnn)的集成模型用来对上一步得到的心跳特征进行类别预测。具体来说,为了增加网络模型内部的多样性,构建一组网络设置和参数各不相同的循环神经网络,包括10个循环神经网络,基本结构依次由recurrent层、前向层、softmax层构成,通过一个超参数优化任务得到,在超参数搜索空间中,定义recurrent层数为1~5、基本单元为门控循环(gru)单元或者双向长短期记忆(blstm)单元、每层的单元数目为64~256、dropout值为0.4~0.85,前向层数目为1或2,后接一个softmax层。按照定义的超参数搜索空间构建并训练循环神经网络,将10个表现最好的网络模型保存下来,作为集成循环神经网络模型。
二是构建一个适用于心电数据的inception网络用来对前面预处理得到的完整心电数据进行深层次特征提取。inception网络是cnn发展中一个重要的里程碑,其设计思想是使用不同的滤波器组合进行卷积操作,让网络自己学习最佳的参数组合。在这里提出了一种可应用于心电数据的inception网络。
请参阅图2,最终网络结构如图2所示,网络的构建步骤包括:
step1:构建基本inception模块。首先,inception模块的输入既可以是多导联心电数据,也可以是单导联心电数据。具体来说,inception模块的第一个主要结构是bottleneck层,该层执行步长为1、长度为m的滑动滤波操作,将输入从m维的心电数据转换为m维,这样可以显著地降低模型的复杂性。在本问题中,因为输入是单导联的心电数据,只有1维,故选取bottleneck层中的m=1。第二个主要结构是卷积层,即在bottleneck层之后设置三个并行的、采用不同长度的滤波器的卷积层,其滤波器的长度分别为10、20、40,每个卷积层之后紧接着是1个批归一化层(bn)和relu激活层。此外,为了增加模型抵抗小扰动的能力,还在bottleneck层后面引入一个和卷积层并行的最大池化层,其后再加一个1×1的卷积操作,以保证得到的数据长度和卷积层的输出保持一致。最后,将三个独立的卷积层和最大池化的结果拼接起来,得到一个新的序列数据作为当前inception模块的输出。在本问题中,将inception三个卷积层的滤波器数目设置为32,其长度分别设置为10、20、40,由于最大池化的输出和卷积层输出一致,因此总的滤波器数目为32×4=128,inception模块输出的数据维度为128维。
step2:构建inception网络。在inception模块的基础上,就可以进一步构建inception网络。总的来说,在本问题中,inception网络由6个inception模块堆叠起来,其间加入残差连接以解决网络训练过程中梯度消失、网络退化等问题。首先,将6个inception模块依次连接起来,第一个inception模块的输入为心电数据,其他模块的输入都是上一个模块的输出。然后,将前面3个模块组织为一个残差块,后面3个为另一个残差块。第一个残差块的输入通过一个shortcut连接到第二个残差块,也就是将第一个残差块的输入与输出进行一个加操作,再输入到第二个残差块。其次,在第二个残差块(第6个inception模块)后接一个全局平均池化层,对输出为128维的数据进行全局平均池化得到128个特征值。最后,在全局平均池化层后添加一个全连接层(dense)和一个softmax层。
inception网络构建完成之后,就可以将数据作为输入对网络进行训练,最后得到训练好的网络作为一个深层次特征提取器,取全局平均池化层的输出作为深层次心电信号特征。
步骤5,特征整合及分类,包括:将步骤3中得到心跳特征输入到集成的循环神经网络模型中,取softmax层的输出作为预测向量。其次,将原始心电数据输入到步骤4中构建并训练好的inception网络中,取全局平均池化层的输出作为深层次特征。然后,根据整条ecg数据计算整个心电图数据上的相对小波能量、小波能量,以及全部心跳片段的小波能量和心跳间隔时间的绝对平均偏差;最后,构建一个多层感知机(mlp),并将通过循环神经网络集成模型获得的特征、通过inception网络获得的深层次特征以及整个ecg数据上提取到的特征整合在一起,整合后的所有特征作为mlp的输入,训练此模型后产生最终的分类模型。
综上,基于心电图数据分类这一问题,本发明提出了一种结合心电图特征提取和inception神经网络的心电数据分类方法。首先,对原始的心电图数据进行预处理,包括去除噪声、归一化等操作;其次,对于处理后的数据,一方面作为后面要构建的inception网络的输入,另一方面按心跳间隔进行分割,针对每一个心跳片段,提取其空间特征、频域特征以及领域特征,并使用堆叠降噪自动编码器提取每个心跳片段的低维embedding;再次,构建一组不同参数的循环神经网络,并将前面提取出的特征作为模型的输入得到一组预测值;最后,针对原始的心电数据构建一个inception网络,提取网络最后一层的输出作为心电数据的全局深层次特征,之后将其与前一步得出的预测值以及另外几个全局特征整合起来,输入到一个多层感知机(mlp)中,得到最后的分类结果。
本发明的一种结合特征提取和inception网络的心电数据分类系统,包括:
数据预处理模块,用于滤除获取原始的心电图数据中的基线漂移以及电力干扰,获得滤波后的心电图数据;对滤波后的心电图数据进行归一化处理,获得处理后的心电图数据;
数据分割模块,用于将数据预处理模块获得的处理后的心电图数据进行分割,获得若干心跳片段;
特征提取模块,用于对数据分割模块获得的若干心跳片段进行特征提取;其中,每一个心跳片段的所有提取到的特征整合形成一个特征向量,作为心跳特征;对于每一个心跳片段,提取的特征包括:心跳间隔时间、相对小波能量、小波总能量、r振幅、q振幅、qrs波持续时间以及小波熵;
网络模型,包括:循环神经网络集成模型,用于对得到的心跳特征进行类别预测;适用于心电数据的inception网络,用于对处理后的心电图数据进行深层次的特征提取;将获得的心跳特征按原始的心跳顺序输入循环神经网络集成模型,取softmax层的输出作为预测向量;将处理后的心电图数据输入训练好的inception网络,取全局平均池化层的输出作为深层次特征;计算获得整个心电图数据上的相对小波能量、小波能量,以及全部心跳片段的小波能量和心跳间隔时间的绝对平均偏差;将通过循环神经网络集成模型获得的特征、通过inception网络获得的深层次特征以及整个ecg数据上提取到的特征进行整合,获得整合后的特征;将整合后的特征作为预构建的多层感知机的输入,训练所述多层感知机至预设收敛条件,得最终的分类模型;
输入输出模块,用于将待分类的原始心电图数据输入模型并输出最终的分类结果,所述最终的分类模型用于心电数据分类。
具体实施例
本发明实施例的一种结合特征提取和inception网络的心电数据分类方法,包括以下步骤:
(1)数据预处理:在本例中,数据集以physionetcomputingincardiology(cinc)2017challenge数据集为例,该数据集包含12186条长度不同的单导联心电记录,采样频率为300hz,时间长度从9秒到60秒不等,专家们将这些心电数据分别归为正常窦性心律(n)、房颤(af)、其他心律失常(o)或噪声数据(~)。首先对原始的心电图数据进行3hz~45hz的带通滤波,滤除数据中的基线漂移以及电力干扰,然后对滤波得到的数据进行归一化处理,令其均值为0、标准差为1。
(2)数据分割:对数据预处理得到的数据进行分割,首先,利用pan和tompkin提出的qrs检测方法将心电数据分割为一系列的心跳片段,然后将分割得到的心跳片段按初始顺序进行下一步的特征提取。
(3)特征提取:对于心电数据中的每一个心跳片段,分别提取以下特征:心跳间隔时间、5个频段上的相对小波能量、小波总能量、r振幅、q振幅、qrs波持续时间以及小波熵。除了上述特征外,进一步地,以无监督方式在提取出来的心跳数据上训练两个堆叠降噪自动编码器(sdae),来提取心跳数据中更加微妙或深层次的特征。具体地,在原始心跳数据上训练第一个sdae,然后将心跳数据转换到小波域,提取其小波系数作为输入进行第二个sdae的训练。训练完成后,将心跳数据输入sdae,通过sdae的encoding侧,计算得到对应于心跳数据及其小波系数的低维embedding,也就是用sdae提取出来的特征。最后,将特征提取过程中,每一个心跳片段的所有提取到的特征整合在一起,形成一个特征向量,然后对于所有的心跳特征,按原始的心跳顺序输入到下一步中构建的一组循环神经网络中。
(4)神经网络模型的构建,这一步的工作主要有两部分:一是构建一个循环神经网络(rnn)的集成模型用来对上一步得到的心跳特征进行类别预测。具体来说,为了增加网络模型内部的多样性,构建一组网络设置和参数各不相同的循环神经网络,包括10个循环神经网络,基本结构依次由recurrent层、前向层、softmax层构成,通过一个超参数优化任务得到,在超参数搜索空间中,定义recurrent层数为1~5、基本单元为门控循环(gru)单元或者双向长短期记忆(blstm)单元、每层的单元数目为64~256、dropout值为0.4~0.85,前向层数目为1或2,后接一个softmax层。按照定义的超参数搜索空间构建并训练循环神经网络,将10个表现最好的网络模型保存下来,作为集成循环神经网络模型。
二是构建一个适用于心电数据的inception网络用来对前面预处理得到的完整心电数据进行深层次的特征提取。inception网络是cnn发展中一个重要的里程碑,其设计思想是使用不同的滤波器组合进行卷积操作,让网络自己学习最佳的参数组合。在这里提出了一种可应用于心电数据的inception网络。
网络的构建步骤如下,最终网络结构如图2所示:
step1:构建基本inception模块。首先,inception模块的输入既可以是多导联心电数据,也可以是单导联心电数据。具体来说,inception模块的第一个主要结构是bottleneck层,该层执行步长为1、长度为m的滑动滤波操作,将输入从m维的心电数据转换为m维,这样可以显著地降低模型的复杂性。在本问题中,因为输入是单导联的心电数据,只有1维,故选取bottleneck层中的m=1。第二个主要结构是卷积层,即在bottleneck层之后设置三个并行的、采用不同长度的滤波器的卷积层,其滤波器的长度分别为10、20、40,每个卷积层之后紧接着是1个批归一化层(bn)和relu激活层。此外,为了增加模型抵抗小扰动的能力,还在bottleneck层后面引入一个和卷积层并行的最大池化层,其后再加一个1×1的卷积操作,以保证得到的数据长度和卷积层的输出保持一致。最后,将三个独立的卷积层和最大池化的结果拼接起来,得到一个新的序列数据作为当前inception模块的输出。在本问题中,将inception三个卷积层的滤波器数目设置为32,其长度分别设置为10、20、40,由于最大池化的输出和卷积层输出一致,因此总的滤波器数目为32×4=128,inception模块输出的数据维度为128维。
step2:构建inception网络。在inception模块的基础上,就可以进一步构建inception网络。总的来说,在本问题中,inception网络由6个inception模块堆叠起来,其间加入残差连接以解决网络训练过程中梯度消失、网络退化等问题。首先,将6个inception模块依次连接起来,第一个inception模块的输入为心电数据,其他模块的输入都是上一个模块的输出。然后,将前面3个模块组织为一个残差块,后面3个为另一个残差块。第一个残差块的输入通过一个shortcut连接到第二个残差块,也就是将第一个残差块的输入与输出进行一个加操作,再输入到第二个残差块。其次,在第二个残差块(第6个inception模块)后接一个全局平均池化层,对输出为128维的数据进行全局平均池化得到128个特征值。最后,在全局平均池化层后添加一个全连接层(dense)和一个softmax层。
inception网络构建完成之后,就可以将数据作为输入对网络进行训练,最后得到训练好的网络作为一个深层次特征提取器,取全局平均池化层的输出作为深层次心电信号特征。
(5)特征整合及分类,包括:首先,将步骤3中得到心跳特征输入到集成的循环神经网络模型中,取softmax层的输出作为预测向量。其次,将原始心电数据输入到步骤4中构建并训练好的inception网络中,取全局平均池化层的输出作为深层次特征。然后,计算整个心电图数据上的相对小波能量、小波能量,以及全部心跳片段的小波能量和心跳间隔时间的绝对平均偏差。最后,构建一个多层感知机(mlp),并将通过循环神经网络集成模型获得的特征、通过inception网络获得的深层次特征以及整个ecg数据上提取到的特征整合在一起,整合后的所有特征作为mlp的输入,训练此模型后产生最终的分类模型。
综上,本发明实施例中,将心电数据问题中传统的特征提取方法与深度神经网络结合起来,按心跳片段提取心电数据特征并输入到一组集成的循环神经网络模型中,得到类别预测值,并使用一个inception网络提取心电数据中的深层次特征,与专家特征相结合进行心电数据的分类,使得模型充分利用了深度神经网络的优势,提取到更加全面的特征,以此达到增强模型分类性能的目的。
综上所述,本发明公开了一种结合心电图特征提取和inception神经网络的心电数据分类方法,包括以下步骤:首先,对原始的心电图数据进行预处理,包括去除噪声、归一化等操作;其次,对于处理后的数据,一方面作为后面要构建的inception网络的输入,另一方面按心跳间隔进行分割,针对每一个心跳片段,提取其空间特征、频域特征以及领域特征,并使用堆叠降噪自动编码器提取每个心跳片段的低维embedding;再次,构建一组不同参数的循环神经网络,并将前面提取出的特征作为模型的输入得到一组预测值;最后,针对原始的心电数据构建一个inception网络,提取全局平均池化层的输出,作为心电数据的全局深层次特征,之后将其与前一步得出的预测值以及另外几个全局特征整合起来,输入到一个多层感知机(mlp)中,得到最后的分类结果。本发明通过将深度神经网络提取到的深层次特征作为分类的另一个依据,并与其他专家特征相结合进行心电数据的分类,以此将深度神经网络作为一个深层次特征提取器,以达到增强模型健壮性和分类能力的目的。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。
1.一种结合特征提取和inception网络的心电数据分类方法,其特征在于,包括以下步骤:
步骤1,滤除获取原始的心电图数据中的基线漂移以及电力干扰,获得滤波后的心电图数据;对滤波后的心电图数据进行归一化处理,获得处理后的心电图数据;
步骤2,将步骤1获得的处理后的心电图数据进行分割,获得若干心跳片段;
步骤3,对步骤2获得的若干心跳片段进行特征提取;其中,每一个心跳片段的所有提取到的特征整合形成一个特征向量,作为心跳特征;对于每一个心跳片段,提取的特征包括:心跳间隔时间、相对小波能量、小波总能量、r振幅、q振幅、qrs波持续时间以及小波熵;
步骤4,神经网络模型的构建,包括:构建循环神经网络集成模型,用于对得到的心跳特征进行类别预测;构建适用于心电数据的inception网络,用于对步骤1获得的处理后的心电图数据进行深层次的特征提取;
步骤5,将步骤3获得的心跳特征按原始的心跳顺序输入步骤4构建的循环神经网络集成模型,取softmax层的输出作为预测向量;将步骤1获得的处理后的心电图数据输入步骤4构建并训练好的inception网络,取全局平均池化层的输出作为深层次特征;计算获得整个心电图数据上的相对小波能量、小波能量,以及全部心跳片段的小波能量和心跳间隔时间的绝对平均偏差;
步骤6,将通过循环神经网络集成模型获得的特征、通过inception网络获得的深层次特征以及整个心电图数据上的提取到的特征进行整合,获得整合后的特征;将整合后的特征作为预构建的多层感知机的输入,训练所述多层感知机至预设收敛条件,获得最终的分类模型;其中,所述最终的分类模型用于心电数据分类。
2.根据权利要求1所述的一种结合特征提取和inception网络的心电数据分类方法,其特征在于,步骤1中,
所述滤除其中的基线漂移以及电力干扰,包括:对原始的心电图数据进行3hz~45hz的带通滤波;
所述归一化处理时,令均值为0,标准差为1。
3.根据权利要求1所述的一种结合特征提取和inception网络的心电数据分类方法,其特征在于,步骤2中,进行分割时采用qrs检测方法。
4.根据权利要求1所述的一种结合特征提取和inception网络的心电数据分类方法,其特征在于,步骤3还包括:以无监督方式在提取出来的心跳数据上训练两个堆叠降噪自动编码器,用于提取心跳数据中的深层次特征。
5.根据权利要求4所述的一种结合特征提取和inception网络的心电数据分类方法,其特征在于,步骤3还包括:
在原始的心跳数据上训练第一堆叠降噪自动编码器,获得训练完成的第一堆叠降噪自动编码器;
将原始的心跳数据转换到小波域,提取小波系数作为输入进行第二堆叠降噪自动编码器的训练,获得训练完成的第二堆叠降噪自动编码器;
将心跳数据输入训练完成的第一堆叠降噪自动编码器,通过第一堆叠降噪自动编码器的encoding侧,计算得到对应于心跳数据的低维embedding,作为提取到的特征;
将心跳数据转换到小波域,并提取小波系数输入训练完成的第二堆叠降噪自动编码器,通过第二堆叠降噪自动编码器的encoding侧,计算得到对应于心跳数据的小波系数的低维embedding,作为提取到的特征;
将每一个心跳片段的所有提取到的特征整合在一起,形成一个特征向量,作为心跳特征,用于输入循环神经网络集成模型。
6.根据权利要求1所述的一种结合特征提取和inception网络的心电数据分类方法,其特征在于,步骤4中,构建的适用于心电数据的inception网络包括:
inception模块,包括:bottleneck层,用于执行步长为1、长度为m的滑动滤波操作,将输入从m维的心电数据转换为m维;在bottleneck层之后设置多个并行的、采用不同长度的滤波器的独立的卷积层;每个卷积层之后设置批归一化层和relu激活层;将每个独立的卷积层和最大池化的结果拼接起来,获得的序列数据作为inception模块的输出;
所述inception网络由多个inception模块堆叠形成,其间加入残差连接;其中,第一个inception模块的输入为心电数据,剩余的inception模块的输入均为上一个inception模块的输出;
训练好的inception网络作为深层次特征提取器,取全局平均池化层的输出作为深层次心电信号特征。
7.根据权利要求6所述的一种结合特征提取和inception网络的心电数据分类方法,其特征在于,步骤4中,构建的适用于心电数据的inception网络具体包括:
inception模块中,在bottleneck层之后设置三个并行的、采用不同长度的滤波器的卷积层,滤波器的长度分别为10、20、40;其中,inception模块的输入为多导联心电数据或单导联心电数据;输入是单导联的心电数据时,bottleneck层中的m=1;
inception网络中,6个inception模块依次连接;第1个inception模块的输入为心电数据,剩余的5个inception模块的输入均是上一个inception模块输出;将前3个inception模块组织为第一个残差块,后3个inception模块组织为第二个残差块;将第一个残差块的输入与输出进行一个加操作,加操作的结果输入第二个残差块;第6个inception模块后接一个全局平均池化层,用于对输出的数据进行全局平均池化得到特征值;全局平均池化层后设置有一个全连接层和一个softmax层。
8.根据权利要求6所述的一种结合特征提取和inception网络的心电数据分类方法,其特征在于,
inception模块中,bottleneck层后设置一个和卷积层并行的最大池化层;最大池化层后设置一个1×1的卷积操作。
9.一种结合特征提取和inception网络的心电数据分类系统,其特征在于,包括:
数据预处理模块,用于滤除获取原始的心电图数据中的基线漂移以及电力干扰,获得滤波后的心电图数据;对滤波后的心电图数据进行归一化处理,获得处理后的心电图数据;
数据分割模块,用于将数据预处理模块获得的处理后的心电图数据进行分割,获得若干心跳片段;
特征提取模块,用于对数据分割模块获得的若干心跳片段进行特征提取;其中,每一个心跳片段的所有提取到的特征整合形成一个特征向量,作为心跳特征;对于每一个心跳片段,提取的特征包括:心跳间隔时间、相对小波能量、小波总能量、r振幅、q振幅、qrs波持续时间以及小波熵;
网络模型,包括:循环神经网络集成模型,用于对得到的心跳特征进行类别预测;适用于心电数据的inception网络,用于对处理后的心电图数据进行深层次的特征提取;将获得的心跳特征按原始的心跳顺序输入循环神经网络集成模型,取softmax层的输出作为预测向量;将处理后的心电图数据输入训练好的inception网络,取全局平均池化层的输出作为深层次特征;计算获得整个心电图数据上的相对小波能量、小波能量,以及全部心跳片段的小波能量和心跳间隔时间的绝对平均偏差;将通过循环神经网络集成模型获得的特征、通过inception网络获得的深层次特征以及整个ecg数据上提取到的特征进行整合,获得整合后的特征;将整合后的特征作为预构建的多层感知机的输入,训练所述多层感知机至预设收敛条件,获得最终的分类模型;
输入输出模块,用于将待分类的原始心电图数据输入模型并输出最终的分类结果。
技术总结