欢迎光临
我们一直在努力

心电图会自动显示什么基于DenseNet的心电数据自动诊断算法

心电图是医生进行心血管疾病诊断治疗的主要依据之一。随着科技的发展,基于心电图的自动分析技术已被广泛地应用于心脏疾病的检测和诊断。诊断算法能从心电信号中筛查出少部分关键的异常片段,并给出辅助诊断结论,从而降低医生的工作强度并提高诊断精度。尤其对于心电的实时监控,算法可以做到24 h在线,有极大的应用价值。据《中国心血管病报告2017》概要[],目前心血管病死亡占城乡居民总死亡原因的首位,农村为45.01%,城市为42.61%。心血管病的疾病负担日渐加重,己成为重大的公共卫生问题。当前,病人对心电的远程监控和诊断需求迫切,研究新的高精度心电自动分析方法具有重要意义。

传统的诊断算法主要包括特征提取与特征分类或回归两个步骤。早期特征提取方法主要提取波形特征,如R波[],QRS波群[]等,根据波形计算RR间期[]等生理参数特征,最终将提取到的特征输入分类器进行分类,此类方法对心律失常疾病识别有不错的效果。后来的方法在此基础上,于特征提取环节增加了时频[]、形态学[]、小波系数[]、高阶谱[]、多谱[]等特征,使得算法对心律失常分类精度有很大的提高。总体来说,这类方法的特征主要为人工设计,应用于复杂的心电数据分析就很不充足,而且相对误差较大。

现有的心电分析算法大多是采用深度学习网络[-]实现的。文献[]采用AlexNet和VGG两种网络结构,对MIT-BIH心电数据库进行心律失常心拍分类;文献[]采用34层残差网络对14种心律失常心电片段进行分类学习。神经网络的特征为算法自动学习而得到的,能更有效地利用数据中的信息,改变了人工特征不充足的缺陷。但目前应用于心电分析的卷积网络多是处理单导联或双导联心电数据的,无法有效地处理多导联心电信号中的瞬时性、一过性的细微结构信息。为更充分、更有特异性地提取不同通道的特征,本文基于目前分类性能最好的DenseNet网络,使用深度可分离卷积(Depthwise separable convolutions)结构作为网络的初始层提取信号特征,改善网络性能。

本文在密集连接型卷积网络[](DenseNet)的基础上,采用深度可分离卷积结构对心电数据的不同导联训练不同的卷积核,能够更大自由度地处理心电不同导联的差异性。该算法主要可以分为以下4个步骤:分帧、预处理、模型训练、模型预测()。

心电数据集中疾病样本数目相对较少,而且不同疾病的样本数也互有差异,这种数据类别的不平衡性很容易导致训练出的网络过拟合,使其难应用于实际。因此在不改变数据标签类别的前提下增加样本可以有效地减轻过拟合,增加网络的抗干扰能力。心电图 90%以上的能量集中于0.5~35 Hz之间,这部分能量包含了最主要的诊断信息。心电图的干扰有以下3种:工频干扰,一般是50 Hz或60 Hz;肌电干扰,一般在30~300 Hz;基线漂移,频率段一般小于0.5 Hz。因此,本文对数据采取以下3种方法扩充样本数:

(1)去噪。使用上限截止频率为35 Hz的低通滤波器对原始信号滤波;(2)去除基线漂移。使用下限截止频率为0.5 Hz的高通滤波器对信号进行滤波;(3)噪声与基线漂移都去除。使用通带截止频率为(0.5, 35)Hz的带通滤波器滤波。

滤波结果如所示(以数据的I导联为例)。A为原始数据与3种方法处理后的综合对比图;B为原始数据;C为方法(1)的处理结果;D为方法(2)的处理结果;E为方法(3)的处理结果。

临床采集的数据往往长度不等,处理不当会对训练与测试过程造成一定的困难。因此本文采用分帧的方法将数据截取为10节长度为1000点的小段,一节即为一帧,每个数据都看作是10帧数据的组合。当数据的长度处于[1000,10000]之间时,都可以将其大小动态地规整为[10,1000]。在数据长度(Signal Length, Sl)已知的情况下,分帧函数可以表示为:

$
{F_s} = ({S_l} – {F_l})/({F_n} – {
m{ }}1)
$ (1)

其中,Fs为帧移(Frame Shift),即帧与帧之间的重叠程度。FlFn为已经确定的参数,分别是帧长(Frame Length)和帧数(Number of Frames)。

网络采取密集型连接卷积结构,是在DenseNet121-BC []的基础上使用了深度可分离卷积构建的,所有的卷积核实质均为1D卷积,共122层。为模型结构示意图。数据经过预处理后进入卷积网络:网络中包括1个初始卷积层,这个卷积层使用的是深度可分离卷积结构,卷积核宽度为25,步长为2,组数为12;初始卷积层后是一个最大池化层,连接4个密集连接块(Dense Block),块与块之间使用过渡层(Transition Layer)连接,共3层;数据在经过最后一个Dense Block后通过一个全局最大池化层或长短期记忆网络(LSTM)层将特征向量化,连接一个线性分类层完成分类。

为网络结构表。网络中的卷积层定义为3个连续操作的复合函数:批规范化处理(BN),修正线性单元(ReLU)和核大小为1×13的卷积操作(Conv)。Dense Block是数个核大小1×1与1×13卷积层的卷积核组,这样的卷积核组在4个Dense Block中的数目分别为6,12,24和16,并且设置Feature Map的增长速率k为12。每个Dense Block中Feature Map的大小是不变的,只有其数量上的变化,因此需要用Transition Layer来连接不同的块。Transition Layer是由一个核大小为1×1的卷积层连接一个步长为1×5平均池化层组成的。数据分帧后共有10行,

一行即为一帧。帧与帧之间并无空间上的直接相关,因此整个网络中的卷积层与池化层实质都是一维的,最后一个Dense Block中的Feature map仍是10行;但同一数据所有的帧都来自同一样本,因此帧与帧之间是有时间关联的。在网络最后的特征向量化时,本文采用的特征融合方式有两种:(1)一种是全局池化方式,这个过程是将每个Feature map池化为一个值,Feature map的数量即为特征向量的长度。我们将常规的全局平均池化替换为全局最大池化,以增强网络对异常响应的敏感度。当数据其中一帧在池化数值较大时即可认为数据有病变或是异常,从而比平均池化更大程度地影响到整个数据的分类判别;(2)另一种是用LSTM层代替全局最大池化层。LSTM是循环神经网络中最常用的一种,用于处理时间序列或自然语言。循环层结构作为网络输出层的一部分可以处理数据的时间持续关系;卷积结构能够提取数据的结构特征,二者相结合具有一定的优势。

心电数据与图像数据虽然有很多相似性,并且二者都可以使用卷积网络提取特征进行分析,但有两个重要的不同点:一是心电信号的不同导联代表心脏不同的活动部位,不同通道的信号差异较大;而图像的三个通道包含的信息在空间分布上具有很大的相似性;二是很多有价值的、有区分度的心电片段很多都是瞬时性、一过性的,在数据整体中所占比重小,往往并不同时反应在所有导联上;而图像最主要的信息往往在图像的中心区域。因此合理利用导联间的差异性就尤为重要。

现有的应用最广泛的分类卷积网络如残差网络ResNet []与密集连接网络DenseNet [],基本框架都是从一个卷积核较大(7×7)、步长为2的初始卷积层开始的,用以提取一些较大尺度的局部信息。以往的心电算法所用的数据集多为单通道或双通道,很少有符合医用标准的12导联多通道心电数据集,本文使用深度可分离卷积结构作为网络的初始层,能更有效地提取不同通道间的特征。深度可分离卷积结构应用于MobileNet [],是为了减少网络的参数量和计算量而设计的卷积结构,主要用于移动设备使用的轻量级网络。Xception的论文[]中提出,对于常规卷积而言,卷积核可以看做一个三维的滤波器,三个维度分别为通道、特征图的宽和高,这就实现了通道相关性和空间相关性的联合映射。Inception模块的背后存在这样的一种假设:卷积层通道间的相关性和空间相关性是可以退耦合的,将它们分开映射,能达到更好的效果。深度可分离卷积应用了分组卷积的思想,在卷积时将每个通道作为一组分别计算,这样得出的特征图各个通道之间是没有相关性的,只有空间上的关联;然后使用1×1的卷积层做通道维度的变化,完成通道数上的维度变换。

所示即为本文深度可分离卷积结构。图中所示的输入与输出分别为初始卷积层前后数据张量的一个横截面,即一帧数据的卷积过程示意图。常规深度可分离卷积将每个通道作为一组,每组仅使用一个滤波器对此组数据做卷积,然后使用1×1卷积层;与其不同的是,心电数据共有12个导联通道,本文将每个通道作为一组,对每组数据都用64个宽为25的卷积核分别做卷积,均生成64张Feature Map,并将结果图在通道轴向上叠加,此时Feature Map的数目为768。然后连接一个核大小为1×1的卷积层对叠加数据进行降维,再将Feature Map的数目降为64。卷积的整个过程可以用以下公式表述:

$
y = F[{f_1}({x_1}), {f_2}({x_2}), ldots , {f_{11}}({x_{11}}), {f_{12}}({x_{12}})]
$ (2)

其中,y为卷积层的输出,帧数为10,通道数为64,输入样本$x = [{x_1}, {x_2}, ldots , {x_{11}}, {x_{12}}] $fi为深度可分离卷积中conv-bn-relu三个操作的复合函数,其中i ∈(1, 12),不同通道训练得到的卷积核各不相同。F为核大小为1×1的瓶颈层函数,使叠加起来的通道维度再次降为64。

本文实验数据由北京心韵恒安医疗科技有限公司采集,共16 846份。数据均是12导联,采样率为500 Hz,数据长度从10~20 s不等。诊断标签共有以下14个:心电图不正常、窦性心律、窦性心动过速、窦性心律不齐、窦性心动过缓、房性早搏、心房颤动、左心室高电压、导联异常或数据质量差、ST-T改变、室性早搏、T波改变、局限性右束支阻滞、异常Q波。每份心电样本标签均经过了标准化,由5名专业医生进行评估审核流程。

数据的标签从属并不互斥,本文对于每个标签,从正例与反例中分别抽取80%的数据作为训练集,其余数据作为测试集分别训练二分类器,完成多标签分类任务。

模型整个的训练测试过程都是基于keras框架实现的。权重的初始化方法为均匀分布初始化,参数由[-limit, limit]区间中均匀采样获得,其中limit = $ sqrt {6/n} $n为权重向量的输入单元数;损失函数为交叉熵;最小化损失函数的优化方法为随机梯度下降,批大小为50,学习速率为0.01,动量参数为0.9,权重衰减为10-6,最大训练轮数为300,在训练轮数达到总体的一半和3/4时学习率衰减为原来的1/10。训练时保存测试集准确率最高的网络模型为最终结果。

为验证本文方法的有效性,将本文使用的模型(DenseNet)与参考文献[]使用的残差网络(ResNet)两种方法作对比。两种方法除网络结构不同之外,不同之处有两个:(1)初始卷积层使用深度可分离卷积或是常规卷积层“。+”意为使用DSC结构“,-”意为使用常规卷积;(2)在最后一个Dense Block之后不同帧的特征融合时使用全局最大池化或者是LSTM层“。+”意为使用LSTM层“,-”意为使用全局最大池化层。对照试验采用的标签有两组,心电图不正常和窦性心律。

评估指标为灵敏度、特异度、F1与准确率。灵敏度也称真正例率(TPR),为阳性标签的召回率或查全率,意为在真正的阳性数据中模型能够找出的阳性数据所占的比重;特异度也称真反例率(TNR),为阴性标签的召回率;F1为阳性标签查准率与查全率的调和平均;准确率为分类正确的数据数量占数据总量的比率。

为对心电图不正常标签的测试集评估结果。本文基于DenseNet使用深度可分离卷积结构对数据的正异常识别准确率可以达到80.13%,灵敏度,特异度和F1分别为80.38%,79.91%和79.35%。

为不同因素对评估指标影响的显著性比较。在显著性水平α=0.05的情况下,模型类型和LSTM对4个评估指标均无显著影响(P>α)。对于模型类型由于使用的数据集较小,而DenseNet与ResNet的学习能力都很强,二者在当前数据集的测试结果没有显著的差异。但随着数据的不断采集,DenseNet是有一定的势的,因此本文采用密集连接型网络来作为最终模型。对于使用LSTM层还是全局最大池化层对模型的性能无显著差别,这证明了信号分帧方法处理非等长数据的有效性,该方法并未破坏信号的时间相关性。深度可分离卷积结构在四个评估指标中对F1和准度率的影响显著,二者分别提升了2.63±0.61和2.57±0.64。表明深度可分离卷积结构相比常规卷积层作为网络的初始卷积层更适合多导联数据,能够有效地改善网络性能。

采用了深度可分离卷积与LSTM层的网络结构在几组试验中表现最好,因此使用此种结构对其余的13个标签分别做分类。为这13个标签的测试结果与平均值。Label从2到14分别表示2.1中介绍过的窦性心律到异常Q波等。对这些标签采用的评估指标同样为灵敏度、特异度、F1与准确率,其均值分别为71.59%,94.32%,73.46%和94.90%。

近几年绝大部分心电分析的文章都是基于MIT-BIH数据库,和PTB数据库这两个应用广泛、公开、免费的数据库进行研究并评估的。但这两个数据库病人来源较少,对于分类诊断,尤其是当前主流的神经网络而言,数据个数是远远不够的。2008年,文献使用K最近邻算法、多层感知机、线性判别分析、模糊逻辑回归4种方法对MIT-BIH数据集进行心律失常分类,区分正常心拍、室性早搏等5种类型的心拍类型[]。室性早搏的灵敏度在94.81%~97.99%,其余类别的灵敏度在98.01%~100%,几乎所有类别的特异度都在99%以上;2014年,文献使用交叉小波变换于PTB数据集区分正异常心拍,准确度、灵敏度和特异度分别为97.6%,97.3%和98.8% [];2017年,文献使用二维卷积网络对PTB数据库进行心肌梗塞(GAMI)和健康控制(HC)的分类,其准确度、灵敏度和特异度分别为96.00%,95.40%和97.37% []。总体来说,这两个数据库数据较少,一些较为简单的算法就可以达到很高的精度,不是很适用于大数据驱动的神经网络模型评估。

基于非公共数据集的心电分析研究相对较少。2015年,文献使用卷积网络对大约15万条心电记录做正异常分类,其准确度、灵敏度和特异度分别为83.66%,83.84%和83.43% [];2017年,文献使用残差网络对14种心电事件进行分类,数据共65 000多条,从近30 000人次采集而得到。其平均PPV,灵敏度,F1分别为80.0%,78.4%和77.6% []。数据集的不统一使得算法的横向比较不太准确,因此本文复现了文献[]使用的残差网络进行比较,指标表明本文方法略优于此方法。

本文提出的多标签分类模型能够识别十多种心脏疾病,对导联异常、噪声干扰具有一定的抵抗能力,具有较好的鲁棒性。在心电数据的辅助诊断、长时间心电监护、异常片段筛选等方面有着较高的临床意义。

模型能从心电数据中学得多种疾病的深层、共性特征并成功地将之用于分类诊断,关键在于高质量的多导联数据及专业医生准确的诊断判别。多导联数据相比单导联数据所蕴含的疾病信息更充足,能更有效地反映疾病类别特征。由于数据量不充足的因素可能模型在某些标签上的分类性能弱于人类医生,甚至有的标签的分类结果很差还不能应用于临床,这显然是一种不小损失。在后续的工作中我们将致力于优化算法模型,并不断地采集新的数据并诊断,然后用更大量的数据去训练模型,使之不断进步改善并应用于实际。

赞(0)
未经允许不得转载:上海聚慕医疗器械有限公司 » 心电图会自动显示什么基于DenseNet的心电数据自动诊断算法

登录

找回密码

注册