一种基于CycleGAN和BiLSTM神经网络方法的心博异常检测
方法
技术领域
本发明涉及心电图异常检测技术领域,具体为一种基于CycleGAN和 BiLSTM神经网络方法的心博异常检测方法。
背景技术
心律失常指的是由于各种原因导致心脏激动的形成或传导障碍,使整个或部分心脏的活动频率过快或过慢,节律不规则。临床上通常根据电生理对心律失常进行分类,由于心脏结构复杂,因此,心律失常种类也很多。科学研究表面,我国每年约有54万人死于心脏性猝死,近九成猝死原因是心律失常。由此可知,心律失常对人体的危害是非常大的。
目前心电图在心律失常检测方面,具有准确率高、价格实惠、无副作用等特点,是临床最常用的检查手段之一。常见的心电图分析系统通常先借助计算机辅助诊断(computer aided diagnosis,CAD)得到初步的结果,再由心电医生归并、校正得出最终结论。在CAD中,心博(一个心动周期或一次心跳)分析是心律失常分析的基础。心博识别的准确度,极大地影响了后续人工分析的效率。这使得采用计算机对心电信号进行智能诊断带来了很大障碍。不平衡问题是指训练集中某一个类的样本数量远超过其他类的数量。数量过多的类被称为多数类,其他类被称为少数类。以著名的MIT-BIH心律失常数据集为例,当心电信号被处理成心拍段落之后,其中N类别的心拍样本数量达到Q类别心拍样本的8000倍以上,达到F类别心拍样本的100倍以上。因此,我们将N类称为多数类,其他类别称为少数类。在医学诊断领域中,将少数类样本(即异常样本)错误分类成多数样本(正常样本)会延迟最佳治疗时间,其代价远高于将多数类(正常样本)错分成少数类(异常样本)。此外,大多数机器学习算法都假定在平衡的数据上进行训练所得的,高度倾斜的训练数据会使学习到的算法更偏向于多数类。如何根据心电数据的特性,来克服不平衡的训练数据对分类问题所造成的影响,是我们需要解决的关键问题。
随着人工智能技术的发展,目前心律失常的检测面临着两个挑战:特征提取中,传统方法对于多类别分类性能比较低,一些深度学习算法虽然加强了特征表示,但忽略了特征时序性和信息间的流通性。其次,深度学习模型多为数据驱动模型,即研究者需要提供大量训练样本作为模型的支持。但是现实情况中采集到的绝大部分心电信号属于正常信号,而相对的每种心率异常的心电信号数据较为稀少,与正常心电信号的比例严重失衡。同时由于测试病人的生理机能、运动状态、用药情况、测试环境的不同,心电信号难以保证是来自同一数据分布的。因此使得原本就不均衡的样本变得更不均衡。因而会导致即使模型的学习能力很好,但实际表现的结果并不是很理想。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种基于CycleGAN和BiLSTM神经网络方法的多导联心律失常检测方法,解决了上述存在的样本不均衡问题,使好的深度学习模型呈现出更好的表现结果。
(二)技术方案
为实现以上目的,本发明通过以下技术方案予以实现:一种基于CycleGAN 和BiLSTM神经网络方法的心博异常检测方法,具体包括以下步骤:
步骤1:多导联心电信号数据样本的预处理;
步骤1.1、心电信号采集:临床上获取测量时间在8秒以上的正常多导联心电信号和N类心博异常的多导联心电信号;将获取到的正常多导联心电信号作为训练数据库1,N类心博异常的多导联心电信号作为训练数据库2;
步骤1.2、心电信号去噪处理:对获取到的每个导联心电图信号进行预处理,以滤除基线漂移、工频干扰等噪音;
步骤1.3、心电信号归一化处理:将去噪后的心电图信号分割成心拍,并将心拍对应的幅度值归一化,得到心拍形态学特征,包括:以R波波峰为中心在360Hz下采样得到234个样本点,再通过下采样操作压缩至97个样本点,最后将心拍样本点对应的幅度值归一化至[0,1]区间作为心拍形态学特征;
步骤1.4、多导联的心电信号样本的生成:根据上一步获取的心拍信号,将每个导联的每个心拍的相同时刻R波顶点每个导联所截取心电信号的W个点进行第二维度拼接,此时心电信号由1*W维扩增为12*W维;
步骤2:利用CycleGAN(循环生成对抗网络)对预处理后的训练数据库2 进行数据扩充,使用CycleGAN网络学习训练样本的特征,包括两个判别器DX和DY和两个生成器G和F;
步骤2.1、生成新异常心电图数据:首先利用卷积神经网络提取预处理后的训练数据库2的心电信号特征,具体包括输入具体的心电信号图片的心拍形态学特征,与心拍位置提取与RR间期和QRS复合波形态相关的节律特征,将心拍信号形态学特征和节律特征进行融合,作为心拍的融合特征向量;
其中节律特征包含当前心拍的QRS时长;当前心拍的RR间期RR0;上一心拍的RR间期RR1;下一心拍的RR间期RR2;Ratio1=RR0/RR1;Ratio2= RR0/RR2;Ratio3=RR0/MeanRR;Ratio1、Ratio2和Ratio3的均值Mratio;归一化后当前心拍与上一心拍的QRS复合波互相关函数的最大值Corr1;归一化后当前心拍与下一心拍的QRS复合波互相关函数的最大值Corr2,其中 MeanRR是心电信号所有RR间期的均值;其次,通过组合图像的不相近特征,将图像在DX域中的特征向量转换为DY域中的特征向量;然后,利用反卷积层(decovolution)完成从特征向量中还原出低级特征的工作,最后得到生成的异常类别的心电图数据;
步骤2.2、判别新图片过程:将一张心电信号图像作为原始图像x输入,并尝试预测其为原始图像或是生成器的输出图像y,该过程需要从图像中提取特征,再通过添加产生一维输出的卷积层来确定提取的特征是否属于特定类别;
步骤2.3、训练判别器和生成器过程:CycleGAN共享两个生成器,并各自带一个判别器,即共有两个判别器DX和DY和两个生成器G和F,其中生成器都在试图欺骗判别器,希望生成的图片不能被判别器识别,所以根据判别器的反馈优化图像,最大化DY(G(x))和DX(F(y)),就是从图像x生成图像y’,再从图像y’生成回图像x’,使得x’接近x,如此循环往复,也就是优化 1-DY(G(x))和1-DX(F(y)),即优化输出的图像;
步骤2.4 、重复进行步骤2.1和2.2,直至判别过程和生成过程达到纳什均衡状态;
步骤3:心博异常检测:利用步骤2生成的新的心电图数据扩充原有的心电图样本数据库,并在此基础上利用BiLSTM神经网络训练心电信号的分类;
步骤3.1、构建BiLSTM神经网络:基于BiLSTM神经网络包括BiLSTM神经网络层以及输出层;其中BiLSTM神经网络层包括输入层、前向传播层、后向传播层;先设定基BiLSTM神经网络的输入层、前向传播层、后向传播层以及输出层的节点个数,并随机设定相邻层各节点之间的权重;
步骤3.2、BiLSTM神经网络的训练过程:首先将预处理后的训练后训练数据库1和训练数据库2以及步骤2生成的新的心博异常心电信号混合在一起,进行随机划分;将训练集输入到BiLSTM神经网络神经网络的输入端,并通过最小化心电图预测值与真实值的距离,学习不同神经网络层的各个参数;最后将测试集输入到BiLSTM神经网络中,进行分类预测与评估;
步骤3.3、分类评估:使用四个统计指标:准确度(Acc)、灵敏度(Sen),精确度(Ppr),特异性(Spe)和综合指标(F1)。
优选的,在步骤1.2中,去噪处理方法为:步骤a、利用零相位数字滤波方法实现一个截止频率为1Hz以下的低通滤波器;步骤b、使用步骤a中获得的低通滤波器过滤原始心电信号,获得基线漂移信号;步骤c、将原始信号减去步骤b中获得的基线漂移信号,获得去处基线漂移后的心电信号;步骤d、利用零相位数字滤波方法实现一个截止频率为50Hz以下的低通滤波器;步骤 e、使用步骤d中获得的低通滤波器过滤步骤c中获得的心电信号,获得去除工频干扰的信号。
优选的,在步骤2.1中,在转换为DY域中的特征向量中使用6层Reset 模块,每个Reset模块是一个由两个卷积层构成的神经网络层。
优选的,在步骤3.2中,随机划分中80%作为训练样本集,20%作为测试集。
(三)有益效果
本发明提供了一种基于CycleGAN和BiLSTM神经网络方法的多导联心律失常检测方法,具备以下有益效果:
(1)、由于病人的特异性和相同类别心率失常特征的共通性,本发明利用了CycleGAN(循环生成对抗网络)方法重建了高质量的不同类别的心率异常样本,并且CycleGAN比GAN(生成对抗网络)学习方法更稳定。
(2)、本发明不仅考虑了心电信号的多种节律特征,还考虑了心电信号的时序特征,在均衡样本的基础上,利用BiLSTM进行心率异常分类检测,大大提高了诊断地准确率和有效率,为医生输出更准确的的评估数据。
附图说明
图1为心率失常类别检测的整体流程示意图;
图2为CycleGAN的整体结构模型示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-2,本发明提供一种技术方案:一种基于CycleGAN和BiLSTM 神经网络的心率失常类别检测,是按如下步骤进行:
步骤1:多导联心电信号数据样本的预处理:
步骤1.1、心电信号采集:临床上获取测量时间在8秒以上的正常多导联心电信号和N类心博异常的多导联心电信号;将获取到的正常多导联心电信号作为训练数据库1,N类心博异常的多导联心电信号作为训练数据库2;
步骤1.2、心电信号去噪处理:对获取到的每个导联心电图信号进行预处理,以滤除基线漂移、工频干扰等噪音;
步骤1.3、心电信号归一化处理:将去噪后的心电图信号分割成心拍,并将心拍对应的幅度值归一化,得到心拍形态学特征,包括:以R波波峰为中心在360Hz下采样得到234个样本点,再通过下采样操作压缩至97个样本点,最后将心拍样本点对应的幅度值归一化至[0,1]区间作为心拍形态学特征;
步骤1.4、多导联的心电信号样本的生成:根据上一步获取的心拍信号,将每个导联的每个心拍的相同时刻R波顶点每个导联所截取心电信号的W个点进行第二维度拼接,此时心电信号由1*W维扩增为12*W维;
步骤2:利用CycleGAN(循环生成对抗网络)对预处理后的训练数据库2 进行数据扩充,解决数据不平衡问题:考虑到原始的GAN网络在训练过程中生成器生成图像质量不太稳定,无法得到高质量的生成网络,因此这里使用 CycleGAN网络学习训练样本的特征,以生成高质量的异常心电图样本。 CycleGAN本质上是两个镜像对称的GAN(生成对抗网络),这两个镜像对称的 GAN共享两个生成器,并各自带一个判别器,即共有两个判别器Dx和Dy和两个生成器G和F,构成了一个循环网络。即从图像X生成图像Y,再从图像Y 生成回图像X,如此循环往复。由于一个单向GAN有两个loss(损失函数),两个GAN则共有四个loss损失函数,CycleGAN的整体结构如图2中的(a) 和(b)所示。
步骤2.1、生成新异常心电图数据的过程:
编码:首先利用卷积神经网络提取预处理后的训练数据库2的心电信号特征,具体包括输入具体的心电信号图片的心拍形态学特征,与心拍位置提取与RR间期和QRS复合波形态相关的节律特征,将心拍信号形态学特征和节律特征进行融合,作为心拍的融合特征向量;其中节律特征包含当前心拍的 QRS时长;当前心拍的RR间期RR0;上一心拍的RR间期RR1;下一心拍的RR 间期RR2;Ratio1=RR0/RR1;Ratio2=RR0/RR2;Ratio3=RR0/MeanRR;Ratio1、Ratio2和Ratio3的均值Mratio;归一化后当前心拍与上一心拍的 QRS复合波互相关函数的最大值Corr1;归一化后当前心拍与下一心拍的QRS 复合波互相关函数的最大值Corr2,其中MeanRR是心电信号所有RR间期的均值
转换:通过组合图像的不相近特征,将图像在Dx域中的特征向量转换为 Dy域中的特征向量,使用了6层Reset模块,每个Reset模块是一个由两个卷积层构成的神经网络层,能够达到在转换时同时保留原始图像特征的目标。
解码:利用反卷积层(decovolution)完成从特征向量中还原出低级特征的工作,最后得到生成的异常类别的心电图像。
步骤2.2、判别新图片过程:将一张心电信号图像作为原始图像x输入,并尝试预测其为原始图像或是生成器的输出图像y,该过程需要从图像中提取特征,再通过添加产生一维输出的卷积层来确定提取的特征是否属于特定类别。
步骤2.3、训练判别器和生成器过程:CycleGAN共享两个生成器,并各自带一个判别器,即共有两个判别器DX和DY和两个生成器G和F,其中生成器都在试图欺骗判别器,希望生成的图片不能被判别器识别,所以根据判别器的反馈优化图像,最大化DY(G(x))和DX(F(y)),就是从图像x生成图像y’,再从图像y’生成回图像x’,使得x’接近x,如此循环往复,也就是优化 1-DY(G(x))和1-DX(F(y)),即优化输出的图像。其中生成对抗网络的损失函数如公式(1)、(2)所示。由于CycleGAN的本质是希望从图像x生成图像y’,再从图像y’生成回图像x’,使得x’接近x,因此循环一致性的损失函数如公式(3)所示。总的损失函数如公式(4)所示。
LGAN(G,DY,X,Y)=Ey[logDY(y)]+Ex[log(1-DY(G(x))] (1)
LGAN(F,DX,X,Y)=Ex[logDX(x)]+Ey[log(1-DX(G(y))] (2)
Lcyc(G,F)=Ex[||F(G(x))-x||1]+Ey[||G(F(y))-y||1] (3)
L(G,F,DX,DY)=LGAN(G,DY,X,Y)+LGAN(F,DX,Y,X)+λLCYC(G,F) (4)
步骤2.4 、重复进行步骤2.1和2.2,直至判别过程和生成过程达到纳什均衡状态。
步骤3:心博异常检测:利用步骤2生成的新的心电图数据扩充原有的心电图样本数据库,以解决样本不均衡问题,进而更好的识别异常数据。并在此基础上利用BiLSTM神经网络训练心电信号的分类。
步骤3.1、构建BiLSTM神经网络:基于BiLSTM神经网络包括BiLSTM神经网络层以及输出层;其中BiLSTM神经网络层包括输入层、前向传播层、后向传播层。因此首先设定基BiLSTM神经网络的输入层、前向传播层、后向传播层以及输出层的节点个数,并随机设定相邻层各节点之间的权重。
输出层进行数据处理时采用的公式如下
yj=soft max(wjst+bj) (5)
其中wj表示后向传播层到输出层的待训练的权重系数矩阵,bj表示待训练相对应的偏置,yj为输出的心拍预测类型;
步骤3.2、BiLSTM神经网络的训练过程:首先将预处理后的训练后训练数据库1和训练数据库2以及步骤2生成的新的心博异常心电信号混合在一起,进行随机划分。其中80%作为训练样本集,20%作为测试集。其次,将训练集输入到BiLSTM神经网络的输入端,并通过最小化心电图预测值与真实值的距离,学习不同神经网络层的各个参数。最后将测试集输入到BiLSTM神经网络中,进行分类预测与评估。
步骤3.3、分类评估:使用了四个统计指标:准确度(Acc)、灵敏度(Sen),精确度(Ppr),特异性(Spe)和综合指标(F1)。F1使用调和平均值来整合灵敏度和阳性检测率;灵敏度(Sen)在总阳性率中的比例为真,灵敏度越高,表明鉴定的正确率越高;精确度(Ppr)是所有阳性病例中真阳性的比例;以上几项评估指标计算如下:
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。