心电图的发展历史已经有百余年,经过几代人的努力,心电图已经是判断心脏健康程度、检查各种心律、心肌供血、心肌传导等病症最便捷、最经济的手段.心电记录的数量随着心电描记技术的广泛采用和信号采集技术的进步显著增长,但传统的心电图人工审阅效率低且误诊率高.心电图的自动化诊断是一项艰巨的任务,很多企业、高校、科研院所开始进行心电图计算机自动化诊断的研究.
束支传导阻滞是指希氏束分叉以下部位的传导阻滞,束支传导阻滞的准确判断对冠心病等症状有着预警作用.心肌梗死、心肌损伤等病症的判断依据会受束支传导阻滞判断结果的严重影响,因此准确识别出束支传导阻滞将对其他心脏疾病的判断起到辅助作用.
1 问题描述临床12导联同步静态心电图是目前医院门诊进行常规检查的主要手段,诊断过程主要是寻找心电信号的特征波形并测量必要参数,然后据此进行病症判断,实质上就是对心电图进行分类.从心电图的表征来说各种心脏疾病的诊断标准因患者的性别、年龄、各种身体自然因素等的不同而呈现细微差异,难以建立统一标准,因此基于统计学习方法的分类策略被广泛应用.心电图分类策略主要有两种:一是提取心电图的特征参数,然后对心电现象进行识别,文献[1-2]提取心电图特征后,采用支持向量机、最优路径森林等方法进行分类,这类方法严重依赖于特征参数提取的准确性;二是根据心电信号的形态进行分类,文献[3-5]分别采用卷积神经网络、自编码器、受限玻尔兹曼机等进行心电信号分类.心电信号具有周期性,采用神经网络对心电信号分类可按照数据单元长度分为单心搏模式和多心搏模式.无论采取何种模式,在给出分类结果后都应聚合为整例心电图的诊断结论.
希氏束分为左右束支,按阻滞类型可分为左束支传导阻滞(LBBB)和右束支传导阻滞(RBBB),束支传导阻滞会导致心室肌激动延迟和异常,心电图上表现为QRS波群时限延长和形态异常.本文重点研究基于静息12导联心电图的束支传导阻滞的自动化诊断,自动诊断结果最后交由医生进行诊断核实,以提高工作效率和准确性.具体研究适用于多导联心电图的卷积神经网络模型(multi-lead convolutional neural network,MLCNN),并以MLCNN作为基学习器研究基于集成学习的束支传导阻滞识别方法.
2 基于MLCNN的束支传导阻滞心电图集成学习与分类图 1所示为本文束支传导阻滞心电图识别方法的整体流程,包含数据预处理、模型训练、集成预测和多心搏诊断4个部分.首先将12导联心电图分割为单心搏的数据切片作为数据集;然后抽取数据集的20%作为测试集保留,其余用于模型训练;基于bootstrapping方法从剩余数据中抽取若干个子集,每个子集按照8:2的比例分配给训练集和验证集.本文以3个模型集成为例,获取3个数据子集dataset 1, dataset 2和dataset 3.3个数据子集分别采用不同的滤波算法进行处理,处理后输入MLCNN,训练得到3个(model 1,model 2和model 3)表现良好但具有差异的模型.接着将子集中预留的验证集输入3个模型并用贝叶斯方法融合3个模型的输出作为单心搏分类结果.最后采用简单投票法将1例心电图的多个心搏分类结果结合起来得到诊断结论.
本文使用的心电数据时长为10 s,采样频率为500 Hz,组织为12×5 000(12导联×500 Hz×10 s)的矩阵,一切操作针对该矩阵进行.心电信号是体表弱电生理信号,极易受到噪声干扰,其中由肌肉收缩、呼吸、电极位置变化等引起的基线漂移严重影响心电图波形测量.在数据预处理阶段,首先采用文献[6]提出的形态学滤波方法对心电信号进行基线矫正以排除基线漂移对后续波形检测的影响;然后利用文献[7]提出的单导联心电波形检测方法对各导联分别进行检测,得到12导联所有心搏的P波、QRS和T波的起止点及峰值点信息.随后综合12导联信息,对于第k个心搏,以第k-1个心搏各导联最晚的T波结束点作为起始点,以当前心搏的各导联最晚的T波结束点作为终止点,得到若干个长度不等的12导联单心搏数据切片(去除第一个不完整的心搏).有研究表明束支传导阻滞依靠I,V1和V6 3个导联就可以准确识别[8],所以只提取这3个导联数据,并且将单心搏的采样点数重采样归一化到400个,得到若干3×400的矩阵数据单元.
2.2 MLCNN模型及其训练单导联心电信号是一维时间序列,利用一维卷积神经网络模型[9]进行分类较为常见.Jun等[10]将心电信号转换为二维灰度图像,并利用二维卷积神经网络模型进行分类,12导联心电图表示为12×5 000的二维矩阵.由于心电图同导联内(横向)相互关联,而不同导联间(纵向)相对独立,这不同于二维图像结构,因此本文考虑多导联心电数据的特殊性,设计了MLCNN模型,基础卷积单元和网络结构如图 2,图 3所示.
将I,V1以及V6 3个导联的单心搏心电数据组成3×400的矩阵,设置相应的一维卷积核,使其按行卷积得到feature map.由基础卷积单元构建多导联心电图的卷积神经网络模型MLCNN,MLCNN具有13层网络结构:6个卷积层、4个池化层和3个全连接层.整个MLCNN除池化层和激活层外有9层需要训练参数,前6层为卷积层,后3层为全连接层,共计62 723个参数.输出层采用Softmax函数进行三分类.
训练使用mini-batch基于反向传播的梯度下降法来优化多项逻辑回归目标.批数量为256,在前两个全连接层dropout为0.5,学习率为0.01,且当验证集停止提升时以10的倍数衰减.同时,初始化权重取样于标准高斯分布,偏置项初始化为0.前3个卷积层使用1×5的卷积核,步长为3,后3个卷积层使用1×3的卷积核,步长为1,激活函数使用ReLU.
对数据集dataset 1,dataset 2和dataset 3分别进行不同的滤波操作(FIR滤波、IIR滤波和0.5~58 Hz的带通滤波).将3个经过滤波后的数据集分别输入MLCNN,训练得到model 1,model 2和model 3.以下是训练过程,图 4为训练流程图.
步骤1 初始化神经网络的权重和偏置.
步骤2 随机选择小批量数据样本(Dk,Lk)送入神经网络,Dk为数据,Lk为分类标签.
步骤3 按照式(1)计算误差E,并计算参数调整量.式中dk是目标矢量,yk是输出矢量.
(1) |
步骤4 判断是否满足训练目标要求,如果不满足要求,转步骤5,否则保存参数,训练完成.
步骤5 判断是否连续五轮训练更新权重没有引起损失函数的值变化.如果模型性能没有提升则变更学习率,更新权重,转步骤2;否则更新权重再转步骤2.
2.3 单心搏分类的集成为了增强分类性能,本文采用以MLCNN作为基学习器的同质集成学习思想,将自助采样的数据集在数据差异化处理后分别输入MLCNN进行训练,在得到的预测模型基础上用贝叶斯方法进行融合以实现集成学习.基于model i融合后的分类结果result由式(2)确定,P(y=j|model i)是第i个分类器model i给出的结果属于类别j的概率.
(2) |
一般束支传导阻滞在心电图的所有心搏都会体现,可以将1例心电图中多个心搏的分类结果联合起来给出诊断结论.假设1例心电图中共有n个心搏,每个心搏的分类结果有三种为A,B和C,本文采用简单投票法对心搏分类情况进行统计,票数最多的分类即为心电图的最终结论.
3 实验结果及分析 3.1 实验数据集及评价指标本文实验数据来自中国医科大学附属第一医院的临床资料,由心脏科医生给出诊断标注.实验使用了5 250例心电图,共计50 151个心搏单元.其中3 500例心电图用于单心搏分类模型的训练与测试,1 750例心电图用于多心搏投票预测(见表 1).为验证本文方法的有效性,从单心搏分类模型数据集的每类中抽取20%用作心搏分类功能测试,剩余部分用于训练.表 1展示了数据的分布情况,表中的其他类包含除LBBB和RBBB外的其他心电图.
本例分类模型为三分类,假定任一分类为正例,则另外两类为负例.由此可针对每个类别分别统计4个基本统计量TP(true positive), FP(false positive), FN(false negative)和TN(true negative),由以上统计量可以计算灵敏度、特异度、正确率和准确率等4个性能评估指标.文献[10]给出了参数含义和计算方法.
3.2 实验结果分析表 2给出了3个分类模型和模型融合后在测试集上得到的混淆矩阵,可以看出任一模型分类性能良好且模型间具有差异.由混淆矩阵计算评价参数,得到表 3,集成后3种心搏识别的正确率分别为98.40%,99.01%和98.06%,与单一分类器相比均有所提升,灵敏度、特异度以及准确率集成后的结果没有显著变化.整体正确率由混淆矩阵中所有类别预测结果与标签一致的样本数除以总样本数计算得到,3个基础分类器的整体正确率分别为97.18%,94.32%和96.88%,集成后的正确率提升为97.73%.表 4所示为1 750条心电图测试样例结合多心搏进行诊断的测试结果,总正确率为98.80%,且具有高灵敏度和特异度.实验结果表明本文采用的基于集成学习的束支传导阻滞识别方法可以有效识别左、右束支传导阻滞心电图,该方法具有较好的诊断效能.
本文提出了以MLCNN作为基学习器,通过贝叶斯方法融合多个模型进行多导联单心搏心电图分类的集成学习方法,并采用简单投票法结合心电图的多个心搏预测整例心电图的最终诊断.3个基学习器的多导联单心搏分类正确率分别为97.18%,94.32%和96.88%,集成后提升为97.73%,针对整例心电图的诊断正确率为98.80%.实验结果表明MLCNN是一个有效的多导联心电图分类模型,本文所提方法可以有效识别左、右束支传导阻滞心电图,具有临床应用价值.
[1] |
Wang W F, Yang C Y, Wu Y F. SVM-based classification method to identify alcohol consumption using ECG and PPG monitoring[J]. Personal and Ubiquitous Computing, 2018, 22(2): 275-287. |
[2] |
Luz E, Nunes T M, de Albuquerque V H, et al. ECG arrhythmia classification based on optimum-path forest[J]. Expert Systems with Applications, 2013, 40(9): 3561-3573. |
[3] |
Zhai X, Tin C. Automated ECG classification using dual heartbeat coupling based on convolutional neural network[J]. IEEE Access, 2018(99): 27465-27472. |
[4] |
Xia Y, Gao Z, Zhang H, et al. An automatic cardiac arrhythmia classification system with wearable electrocardiogram[J]. IEEE Access, 2018(6): 16529-16538. |
[5] |
Wu Z, Ding X, Zhang G. A novel method for classification of ECG arrhythmias using deep belief networks[J]. International Journal of Computational Intelligence and Applications, 2016, 15(4): 1650021. |
[6] |
庞宇, 邓璐, 林金朝, 等. 基于形态滤波的心电信号去除基线漂移方法[J]. 物理学报, 2014, 63(9): 428-433. (Pang Yu, Deng Lu, Lin Jin-zhao, et al. A method of removing baseline drift in ECG signal based on morphological filtering[J]. Acta Physica Sinica, 2014, 63(9): 428-433.) |
[7] |
Martinez J P, Almeida R, Olmos S, et al. A wavelet-based ECG delineator:evaluation on standard databases[J]. IEEE Transactions on Biomedical Engineering, 2004, 51(4): 570-581. |
[8] |
Sajjan M. Learn ECG in a day:a systematic approach[M]. New Delhi: Jaypee Brothers Pvt Ltd, 2013.
|
[9] |
Kiranyaz S, Ince T, Gabbouj M, et al. Real-time patient-specific ECG classification by 1D convolutional neural networks[J]. IEEE Transactions on Biomedical Engineering, 2015, 63(3): 664-675. |
[10] |
Jun T J, Nguyen H M, Kang D, et al.ECG arrhythmia classification using a 2-D convolutional neural network[J].arXiv Preprint arXiv, 2018: 1804.06812.
|