一种新的卷积神经网络房颤检测方法

2022-12-03 10:18张明瑞陈云帆万相奎肖碧波
湖北工业大学学报 2022年4期
关键词:电信号房颤滤波器

张明瑞,罗 靖,陈云帆,万相奎,肖碧波

(1 湖北工业大学电气与电子工程学院,湖北 武汉 430068;2 佛山市第三人民医院,广东 佛山 528041)

心血管疾病(CVD)是世界范围内的主要死亡原因[1]。心电图作为一种诊断和检测心血管疾病的工具是不可或缺的。在某些特殊情况下,需要对患者的心电图进行持续性监测,以发现心律失常的情况。心房颤动(AF)是一种最为常见的心功能紊乱心脏病,其特征有三:没有P波,R-R间隔高度不规则变化,以及存在起伏的心房活动,也称为颤动波或f波[2-4],能够快速识别和检测心房颤动尤为重要。本文方法的优势在于不依赖于传统的人工特征提取方法进行R波检测,检测精度受到不同数据库的影响,能够自主学习特征来识别R波。在识别R波的基础上通过本文的卷积神经网络模型检测心房颤动,房颤检测速度较快、准确率高。

本文提出了一种基于卷积神经网络的房颤检测模型。心房颤动检测方法可分为两类:人工特征提取方法和特征自学习方法。人工特征提取方法需要提取人工设计的特征,不具有鲁棒性[5]。本文提出了一种自主学习方法,利用CNN模型自主学习用于检测房颤的鉴别特征,通过调节神经网络的参数使网络学习到有利于分类任务的特征[6],从而进行房颤的识别。本文提出的基于卷积神经网络进行房颤识别的流程见图1。

图1 基于卷积神经网络的房颤识别流程图

本文使用了MIT-BIH心律失常数据库(下文简称心律失常数据库)和CPSC 2017数据库的训练集(下文简称CPSC 2017数据库)。目前国际上最具权威性的数据库有美国麻省理工学院与Beth Israel医院联合建立的MIT-BIH心电数据库、美国心脏学会的AHA心律失常心电数据库、欧盟的CSE和ST-T数据库。其中AHA心律失常心电数据库和CES数据库用于评价仪器性能且需要购买,而ST-T数据库主要用于研究心电信号的ST段和T波。因此本文采用的数据库为MIT-BIH心律失常数据库,另外CPSC 2017数据库也是在国际上被广泛认可的检测房颤的心电数据库。MIT-BIH心律失常数据库包含48个半小时的双通道动态心电图记录摘录,这些记录来自 BIH 心律失常实验室在 1975 年至1979年间研究的47个受试者,采样频率为360 Hz,在10 mV范围内具有11位分辨率。该数据库由两名或两名以上心脏病专家独立注释每条记录,数据库中包含计算机可读的约110 000个注释。CPSC 2017数据库包含8,528个持续时间从9 s到刚超过60 s,采样频率300 H的单导联ECG记录,每个数据包括一个包含ECG的.mat文件和一个包含波形信息的.hea文件。

1 心电信号预处理

心电信号采集一般是通过单导联或多导联电极与皮肤直接接触所得,采集到的心电信号是一种低频率、低幅度的随机非平稳信号。因此,需要对采集到的心电信号进行预处理以减少或消除因各种情况产生的误差,从而提高检测到的心电信号准确性[7]。本文采用两个中值滤波器对噪声信号进行预处理,使用心律失常数据库进行实验,预处理流程见图2。

图2 心电信号预处理流程图

首先将信号重采样到300 Hz,这里采用下采样的方式使得心律失常数据库的采样频率与CPSC 2017数据库的采样频率保持一致。

其次去除噪声干扰,将信号先后通过两窗口大小分别为200 ms和600 ms的中值滤波器。其中使用200 ms中值滤波器目的是去除QRS波群和P波,使用600 ms的中值滤波器主要是去除T波获得基线漂移噪音信号。然后利用原信号减去基线漂移噪声信号后得到校正后的信号[8]。

最后通过一个3 s的非重叠窗口,从窗口中获取最大值对预处理后的心电信号进行归一化处理,将其幅值映射到[-1,1]之间,便于之后进行R波检测以及心电信号分类。

归一化公式如下:

图3和图4分别为心律失常数据库第109号记录预处理前和预处理后的对比图。该条信号记录的是一位64岁的男性,包含了非常典型的基线漂移噪声和因肌电干扰与工频干扰导致的信号毛刺,这些毛刺对心电信号的基准点标定与波形识别都有较大影响。可以发现通过预处理后,波形的幅值发生了偏移,这是因为经过中值滤波器后减去基线漂移信号的过程实际上是每一个点都加了一个正数,相当于把每个波都往上垫,使得高度一致,虽然这样会导致幅值发生变化,但是R波的位置却没有变,并且信号中毛刺变少,变得更加平滑,基线漂移得到了一定的纠正[9],因此不做进一步处理。

图3 109号记录原始ECG信号

图4 109号记录预处理后ECG信号

2 R波检测

R波具有峰值大,信号变化幅度大的特点。本文对R波检测进行研究,旨在提取心电信号特征,便于后续的处理。R波检测模型的输出本质上是一个检测到R波时输出1,否则为0的二进制判决[10]。为了提高二进制判决的精度,本文提出了一个具有鲁棒性的基于卷积神经网络的R波检测器,此卷积神经网络包含输入层、卷积层、池化层、全连接层以及输出层(图5)。通过心律失常数据库作为训练集来训练提出的CNN模型,数据库包含48个半个小时的记录,每个R波的位置和类型由两个独立的心脏病专家注释[11]。由于已经将采样信号降到300 Hz,故输入层为300个样本的心电信号向量,这就意味着训练此神经网络时,需要将训练集分成以300个样本为一个单位的片段。卷积层为一层,池化层包含3个长度为30的滤波器。输入信号通过隐含层得到特征向量矩阵,若特征向量位于信号向量中间的狭窄邻域(约150 ms)中,则该记录的标签则被认为识别到R波,即标记为1,否则输出标记为0。心律失常数据库的109号记录去除噪音后,对R波标记的结果(红色圆圈),见图6。

图5 基于卷积神经网络R波检测器结构示意图

图6 R波检测结果

使用心律失常数据库来评估本文所提出的R波检测方法。R波检测结果的真实值与预测结果对应关系见表1[12],其中真阳性(True positive, TP)代表正确检测出R波的个数;假阳性(False positive,FP)代表错误识别成R波的个数;和假阴性(True Negative,FN)代表漏检的R波的数量。R波检测性能评价指标采用了灵敏度(Sensitivity,SE)、阳性预测率也就是精确度(Precision,P)、准确率(Accuracy,ACC),如下:

表1 实际结果与预测结果的联系

表2列出了心律失常数据库中每条数据的检测结果。对心律失常数据库的每一条记录进行了详细的验证比对,发现P识别精度达到了98.83%,SE达到99.72%,ACC达到了99.54%。该结果证明所提出的R波检测算法识别效果良好。

表2 在心律失常数据库中的R波检测结果

3 基于卷积神经网络的房颤检测模型

卷积神经网络作为深度学习神经网络中的主要网络结构之一[13],在心电信号检测和分类、图像分类、图像语意分割等领域取得了一系列突破性的研究成果,其高效的特征提取和分类能力引起了广泛关注。本文提出了一种卷积神经网络(CNN)的结构分为4个部分,分别是输入层、卷积层、池化层和全连接层(图7)。所提出的卷积神经网络能够从训练数据中学习合适的特征,通过随机梯度下降法优化神经网络的超参数,以实现所需的分类任务[14-15]。

图7 卷积神经网络结构

输入层:检测预测了R波的位置之后,对于在每个心电图中检测到的R波,取其前120个采样点和后120个采样点,构成一个包含241个采样点的片段,将8个连续这样的片段叠加在一起作为本文的特征心拍。将数据库中的心电记录按上述方案进行切片,以8×241的切片信号作为卷积神经网络的输入。如图8、图9、图10所示,对应正常、房颤以及其他几类心电信号按照上文方法进行叠加后所得到的图形。以叠加的房颤信号为例,从图中可以发现,心电信号中除标记的R波外,前一个R波和后一个R波在多个心拍内没有对齐,这种RR间期的不规则性也就是房颤的信号[16]。同时,对于其他类别的心电信号,进行叠加处理后的图像是不重叠的,将这一信号作为输入传递到卷积层,作为鉴别特征帮助学习所需信号的分类。

图8 正常信号叠加

图9 房颤信号叠加

图10 其他信号叠加

卷积层与池化层:卷积层和池化层是实现特征提取的关键部分,其作用是将输入层的底层特征值交替操作得到一个实际的输出值[5]。由于本文的计算量不大,因此只用了单一的卷积层与池化层的组合。卷积层使用8个大小为100的滤波器,最后将多个滤波器的输出叠加在一起形成一个特征信号。池化层的主要作用是通过下采样减少特征向量个数,减轻计算量缩短训练时间。将上文方法叠加处理后的心电信号经过其中一个滤波器后产生的特征见图11、图12、图13,各种信号的R波偏移都被识别,这是RR间期规律性的特征[17]。最后,将多个滤波器的输出叠加在一起形成一个特征信号。

图11 正常信号叠加处理后

图12 房颤信号叠加处理后

图13 其他信号叠加处理后

输出部分:这里采用传统的全连接层和softmax激活函数作为输出的形式,本文基于投票机制,将数据库中的心电信号按正常(N)、房颤(A)、其他心律失常(O)、噪声(~)四类标签进行分类,将上文叠加处理后的信号映射到信号标签上,再通过softmax将结果映射到(0,1)区间上,所对应每类发生的概率Pi分别为正常概率PN、房颤概率PA、其他概率PO、噪音概率P~,满足PN+PA+PO+P~=1。将经过8个滤波器处理后的结果进行概率计算,选出概率最高的为预测结果。

4 结果与分析

4.1 卷积神经网络检测结果

将CPSC 2017数据库进行4∶1分割为训练集和测试集对提出的CNN房颤检测模型进行训练和测试。本文提出的基于卷积神经网络的房颤识别方法的性能通过特异性(Specificity,SP)和阴性预测率(Negative predictive value,NPV)这两项指标进行评估。表3中的4个检查指标用于计算SP和NPV。SP也称为真阴性率,表示正确预测没有发生房颤的概率,即SP越高误诊率越低;NPV反应的是预测为没有房颤的样本中,真实没有房颤的样本占阴性样本总数的百分比,NPV数值越高效果越好。这两个评判指标的表达式如下:

表3 卷积神经网络房颤检测结果

表4显示了不同卷积神经网络的房颤检测结果对比,可以看到本文所提出的CNN方法优于前馈网络[18],本文方法检测结果为SP 96.82%,NPV 97.18%,计算时间159.94 s。该结果表明所提出的模型具有良好的检测性能、鲁棒性和泛化性,在检测性能和计算时间之间取得了平衡。从表4中结果可以看出,改变隐含层结构会对模型检测结果产生一定的影响,减少滤波器的长度增加滤波器个数会略微提高检测结果,但同时会引入更多的计算量,大大延长检测时间。通过增加滤波器长度,减少滤波器个数会使检测结果略微变差,且过长卷积核容易出现过拟合的问题[19]。虽然前馈神经网络具有结构与原理简单、计算量小的特点,但是检测结果的灵敏度相对较低。

表4 不同卷积神经网络结果对比

5 结论

本文基于CNN方法对R波检测,在心律失常数据库数据的实验结果表明,该方法R波的P为98.83%,SE为99.72%,ACC为99.54%。其优势在于不依赖于传统的人工特征提取方法进行R波检测时精度会受到不同数据库的影响,可以自动学习特征来识别R波。在此基础上,本文提出了一种新的CNN模型检测房颤,在CPSC 2017数据库上的实验结果表明,该方法具有良好的房颤检测性能,实现了96.82%的SE和97.18%的NPV。本文提出的CNN模型通过特征自学习检测房颤,避免了传统方法阈值的设置,通过改变隐藏层的结构,进一步提高模型的检测性能。本文基于临床数据开展的研究,对实际临床应用有较好的参考价值。未来将通过临床大样本试验和应用,来优化算法,进一步提升模型的性能。

猜你喜欢
电信号房颤滤波器
浅谈有源滤波器分析及仿真
基于多模谐振器的超宽带滤波器设计
脂肪酸与心房颤动相关性研究进展
基于联合聚类分析的单通道腹部心电信号的胎心率提取
房颤别不当回事儿
从滤波器理解卷积
基于Code Composer Studio3.3完成对心电信号的去噪
基于随机森林的航天器电信号多分类识别方法
预防房颤有九“招”
基于生物电信号的驾驶疲劳检测方法