一种心电数据生成方法
技术领域
本发明属于医疗数据挖掘领域,尤其是涉及一种心电数据生成方法。
背景技术
心电图(Electrocardiography、ECG或者EKG)是一种经胸腔的以时 间为单位记录心脏的电生理活动,并通过皮肤上的电极捕捉并记录下来的 诊疗技术。这是一种无创性的记录方式。
心电图的工作原理:在每次心跳心肌细胞去极化的时候会在皮肤表面 引起很小的电学改变,这个小变化被心电图记录装置捕捉并放大即可描绘 心电图。在心肌细胞处于静息状态时,心肌细胞膜两侧存在由正负离子浓 度差形成的电势差,去极化即是心肌细胞电势差迅速向0变化,并引起心 肌细胞收缩的过程。在健康心脏的一个心动周期中,由窦房结细胞产生的 去极化波有序的依次在心脏中传播,先传播到整个心房,经过“内在传导 通路”传播至心室。如果在心脏的任意两面放置2个电极,那么在这个过 程中就可以记录到两个电极间微小的电压变化,并可以在心电图纸或者监 视器上显示出来。心电图可以反应整个心脏跳动的节律,以及心肌薄弱的 部分。
通常在肢体上可以放置2个以上的电极,他们两两组成一对进行测量 (如左臂电极(LA),右臂电极(RA),左腿电极(LL)可以这样组合: LA+RA,LA+LL,RA+LL)。每个电极对的输出信号称为一组导联。导 联简单的说就是从不同的角度去看心脏电流的变化。心电图的种类可以以 导联来区分,如3导联心电图,5导联心电图与12导联心电图,等等。12 导联心电图是临床最常见的一种,可以同时记录体表12组导联的电位变 化,并在心电图纸上描绘出12组导联信号,常用于一次性的心电图诊断。 3导联及5导联心电图多用于需要通过监视器连续检测心电活动的情况, 如手术过程中或在救护车转运病人时的监护中。根据仪器的不同,这种连 续监测的结果有时可能不会被完整地记录下来。
心电图是测量和诊断异常心脏节律的最好方法,用以诊断心电传导组 织受损时心脏的节律异常,以及由于电解质平衡失调引起的心脏节律的改 变。在心肌梗塞(MI)的诊断中,它可以特异性的分辨出心肌梗塞的区域。 同时,心电图也是诊断心律失常疾病最为重要的检查。
心电图的优势在于花费更少、速度更快、方便无创;心电图的功能主 要是判断心律失常、诊断心肌缺血、反映心脏结构。目前常用的心电图有 十二导联,随着人工智能的逐渐普及,心电图自动诊断的重要性亦逐渐凸 显。心电图自动诊断不但可以提供辅助诊断信息,同时也可以24小时实 时监控,这对于移动医疗、远程诊断都大有裨益。
心电图自动诊断的模型性能依赖于数据集的构建,但当前的主流心电 图公开数据集和临床数据集中普遍存在着类别不平衡的情况,这种现象大 幅影响了心电图自动诊断系统对不常见的心电图类型的诊断性能。因此, 亟需一种心电图生成方法来生成全新的心电图数据,用以提升心电图自动 诊断模型的性能。
发明内容
本发明提供了一种心电数据生成方法,可以解决实际应用中心电图数 据集的分布不平衡、长尾效应严重的问题,进一步用于提升心电图自动诊 断模型的性能。
一种心电数据生成方法,包括以下步骤:
(1)在现有心电数据集中,提取长度为10秒钟的带有心电分类标签 的12导联心电数据,按照不同的标签分成多个子数据集,对每个子数据 集中的心电数据进行波段标注后按照比例分别划分为训练集和测试集;
(2)搭建一个基于一维卷积神经网络的Auto-Encoder深度学习模型, 并在步骤(1)中的所有的训练集和测试集上进行心电图的重构训练;
所述的Auto-Encoder深度学习模型由Encoder和Decoder两部分组成, 其中,Encoder部分用于提取输入数据的特征空间,Decoder部分用于将特 征空间还原成心电图数据;
(3)选择一个标签类别的子数据集,利用步骤(2)中训练得到的模 型的Encoder对该子数据集进行特征提取,得到特征空间Z1和Z2并保存;
(4)将获得的特征空间Z
1和Z
2进行随机的两两混合,得到混合后的 特征空间
和
;
(5)利用步骤(2)中训练得到的模型的Decoder对混合后的特征空 间
和
进行解码重构,获得对应诊断标签下全新的心电图数据;
(6)在不同标签的子数据集上重复进行步骤(3)至步骤(5),生 成大量全新的不同诊断标签的心电图数据,并补充进对应子数据集中。
进一步地,步骤(1)中,进行波段标注具体为:
请专业医生对心电数据进行P波、QRS波群和T波3种心电波段的 标注,标注包括P波起始点、QRS波群起始点、QRS波结束点、T波起 始点、T波结束点5种点位。
进一步地,步骤(2)中,Encoder部分包含两条数据通路:一条使用 一维卷积神经网络直接对输入数据进行特征提取获得特征空间Z1;另一条 根据心电数据的波段标注对输入数据进行ROI-Pooling后,再使用一维卷 积神经网络进行特征提取获得特征空间Z2。
Decoder部分接收来自两个通路的特征空间信息,首先将
通过ROI-Pooling的反操作还原回原来的特征向量尺寸,并和
进行融合获得 特征空间Z,再通过Decoder进行特征空间的解码,还原回一条全新的心 电数据。
进一步地,所述Auto-Encoder深度学习模型的网络结构如下:
网络包含Encoder和Decoder两部分。输入数据首先通过两个步长为 2,卷积核为3的一维卷积层,得到输出通道为128的输出特征图后,平 均分为两段通道为64的特征图输入到Encoder的两个通路中。Encoder的 两个通路各包含两个步长为1,卷积核为3的一维卷积层;其中一个通路 首先将输入特征图根据波段标签进行ROI-Pooling,每个波段ROI通过线 性插值得到长度为16的特征图,共得到5个波段;将初始的输入特征图 和ROI-Pooling后的特征图分别输入进两个通路,并将结果通过concat操 作融合在一起;Encoder的输出通道数为128。
Decoder包含三个步长为2,卷积核为3的反卷积层,输出通道数为 32。以上提及的所有卷积层和反卷积层均包含一个指定参数的卷积神经网 络或反卷积神经网络、BatchNormalization和ReLU激活函数。
所述Auto-Encoder深度学习模型的训练过程如下:
将训练集输入神经网络,通过Encoder编码和Decoder解码后,与标 签进行比对和损失函数计算,得到误差后进行反向传播,更新网络参数;
设置每次输入进网络的数据批量为32,使用SGD优化器,初始学习 率为10-3,设置训练的循环迭代次数上限为200次,每完整迭代一次训练 集,进行测试集的效果预测,保存第一次完整迭代后的效果为最佳效果, 之后每经历一次完整迭代,对比保存最佳的验证效果并保存该模型,直到 达到迭代次数的上限。
所述的损失函数为均方损失函数:
L=(y-y′)2
其中,y表示真实标签,y′表示预测值。
步骤(4)中,进行随机的两两混合时采用加法操作,相加的权重由 贝塔分布B(α,β)随机确定。
步骤(6)中,生成大量全新的不同诊断标签的心电图数据时,需保 证每个子数据集中的心电图数据均衡。
与现有技术相比,本发明具有以下有益效果:
1)可以通过生成全新的类别均衡的心电图数据,提升心电图自动诊 断系统的性能;
2)提高了心电图自动诊断系统对于不常见的心电图类型的鲁棒性;
3)减轻心电图医生的工作量。
附图说明
图1为本发明实施中的重构网络(Auto-Encoder深度学习模型)的整 体结构。
图2为本发明实施中的输入数据、重构数据、生成数据的结果示例。
具体实施方式
下面结合附图和实施例对本发明做进一步详细描述,需要指出的是, 以下所述实施例旨在便于对本发明的理解,而对其不起任何限定作用。
本发明提供的心电数据生成方法,生成的心电数据与原数据集一起, 作为心电分类模型的训练数据集,可以提升心电图自动分类模型的性能。
一种心电数据生成方法,包括以下步骤:
获取大量心电数据集。
具体操作步骤如下:在各种公开数据集和医院现有心电数据中,挑选 大量采样频率为500Hz的12导联心电数据,输出为固定格式的.txt文件并 记录其诊断标签。
在此基础上,对这些心电数据进行波段的标注,共标注5种点位,包 括P波起始点、QRS波群起始点、QRS波群结束点、T波起始点、T波结 束点。将所有数据按8:2的比例划分为训练集和测试集。
进一步的,搭建一个基于Auto-Encoder结构的深度神经网络模型。
具体操作步骤如下:网络模型主要由Encoder和Decoder两部分组成。 其中Encoder部分包含两条数据通路:一条使用一维卷积神经网络直接对 输入数据进行特征提取获得特征空间Z1;一条根据心电数据的波段标注对 输入数据进行ROI-Pooling后,再使用一维卷积神经网络进行特征提取获 得特征空间Z2。Decoder部分接收来自两个通路的特征空间信息,首先将Z2通过ROI-Pooling的反操作还原回原来的特征向量尺寸,然后将Z1和Z2融 合,再通过Decoder进行特征空间的解码,还原回心电数据。网络的整体 结构图如图1所示。
进一步的,利用前述网络在数据集上进行重构网络的训练。
具体操作步骤如下:将原数据集的12导联心电数据按导联分成两部 分,其中一部分作为训练数据,一部分作为重构标签。将训练数据输入神 经网络,通过Encoder编码和Decoder解码后,与重构标签进行比对和损 失函数计算,得到误差后进行反向传播,更新网络参数。选择的损失函数 为均方损失函数:L=(y-y′)2,其中y表示真实标签,y′表示预测值。 设置每次输入进重构网络的数据批量为32,使用SGD优化器,初始学习 率为10-3,设置训练的循环迭代次数上限为200次,每完整迭代一次训练 集,进行测试集的效果预测,保存第一次完整迭代后的效果为最佳效果, 之后每经历一次完整迭代,对比保存最佳的验证效果并保存该模型,直到 达到迭代次数的上限。
进一步的,对数据集的全部数据进行特征空间的提取。
具体操作步骤如下:利用前述步骤中保存的最佳模型的Encoder部分, 对数据集的所有数据进行特征提取,分别获得两条通路处理后的特征空间Z1和Z2。保存所有数据的特征空间。
进一步的,将提取的特征空间进行混合。
具体操作步骤如下:将前述步骤中获得的特征空间Z
1和Z
2分别进行随 机两条数据的混合操作,混合操作为加法操作,相加的权重取自于贝塔分 布B(α,β)。即假设取得的权重为μ,待混合的特征空间为Z
11和Z
12、Z
21和 Z
22,则获得的新的特征空间
进一步的,对混合后的特征空间进行解码。
具体操作步骤如下:将
进行ROI-Pooling的还原操作后拼接至原来 的尺寸,并和
进行融合获得特征空间Z。然后将特征空间Z通过重构网络 的Decoder解码,由此获得一条全新的心电数据。
进一步的,通过前述步骤生成大量的不同类别的心电图数据并补充数 据集。
具体操作步骤如下:重复前述步骤,将指定类别的心电数据的大量Z1和Z2进行随机的两两混合,并通过重构网络进行解码,获得指定类别的全 新心电图数据,补充进原来的数据集中。
为了验证本发明提出的方法是有效且合理的,本实施例搭建一个基于 一维卷积神经网络的Resnet-34分类模型,分别利用原始数据集和补充心 电图数据后的数据集对Resnet-34分类模型进行训练,将两个训练后的模 型用于心电图分类的应用,对比两种训练集训练出的分类网络性能,计算 预测的准确性,以供后续改进。
本发明实施中的生成数据的结果示例见图2,12张子图分别表示心电 图生成数据的12个导联。
以上所述的实施例对本发明的技术方案和有益效果进行了详细说明, 应理解的是以上所述仅为本发明的具体实施例,并不用于限制本发明,凡 在本发明的原则范围内所做的任何修改、补充和等同替换,均应包含在本 发明的保护范围之内。