心电图数据增广方法、装置、电子设备及介质转让专利

申请号 : CN202010850174.2

文献号 : CN111772625B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王景峰黄凯陈样新张玉玲郭思璐宋日辉赵宝泽张恒非

申请人 : 生物岛实验室中山大学孙逸仙纪念医院

摘要 :

本公开实施例公开了一种心电图数据增广方法、装置、电子设备及介质。该心电图数据增广方法,包括:获取心电图数据;处理所述心电图数据以获取多个心拍数据;以及基于所述多个心拍数据中的至少两个心拍数据生成增广数据,从而能够对心电图数据进行数据增广,可增加训练集的数据量,进而可充分地训练机器学习的模型,提高模型的表现。

权利要求 :

1.一种心电图数据增广方法,包括:获取心电图数据;

处理所述心电图数据以获取多个心拍数据;以及基于所述多个心拍数据中的至少两个心拍数据生成增广数据,其中,所述基于所述多个心拍数据中的至少两个心拍数据生成增广数据包括:从所述多个心拍数据中确定第一心拍数据和第二心拍数据;

在所述第一心拍数据和第二心拍数据的至少一个导联之间可拼接的情况下,拼接所述第一心拍数据和第二心拍数据以生成第三心拍数据;

获取所述第一心拍数据和/或第二心拍数据的标签;

基于所述第一心拍数据和/或第二心拍数据的标签确定所述第三心拍数据的标签,确定带有标签的第三心拍数据为增广数据。

2.根据权利要求1所述的方法,其特征在于,所述处理所述心电图数据以获取多个心拍数据,包括:

对所述心电图数据进行预处理;

对经过预处理的心电图数据进行心拍识别以获取多个心拍数据。

3.根据权利要求2所述的方法,其特征在于,所述预处理包括:通过离散小波变换对所述心电图数据进行多层小波分解,将最低一层的近似值置零,通过离散小波重构以获取基线校准后的心电图数据。

4.根据权利要求2或3所述的方法,其特征在于,所述预处理包括:通过平稳小波变换对所述心电图数据进行多层小波分解,对细节值进行阈值滤波,通过平稳小波重构以获取降噪后的心电图数据。

5.根据权利要求2所述的方法,其特征在于,所述对经过预处理的心电图数据进行心拍识别以获取多个心拍数据,包括:对经过预处理的心电图数据中的第一导联的数据,通过平稳小波变换进行多层小波分解,获得分解结果;

对所述分解结果进行特征识别,确定所述第一导联的数据中的R波的波峰的位置;

根据所述第一导联的数据中的R波的波峰的位置,将所述第一导联和/或其他导联的数据分割为多个心拍数据。

6.根据权利要求1所述的方法,其特征在于,所述在所述第一心拍数据和第二心拍数据的至少一个导联之间可拼接的情况下,拼接所述第一心拍数据和第二心拍数据以生成第三心拍数据,包括:

对于每个导联执行以下操作,在所述第一心拍数据和第二心拍数据在当前导联下的R波方向相同且在R波后的预定时间内都存在过零点的情况下,基于所述过零点的位置,将第一心拍数据和第二心拍数据在当前导联下的数据拼接为临时心拍数据在当前导联下的数据;否则,将第二心拍数据在当前导联下的数据确定为临时心拍数据在当前导联下的数据;

在所述临时心拍数据与第二心拍数据不完全相同的情况下,确定所述临时心拍数据为第三心拍数据。

7.一种心电图数据增广装置,包括:获取模块,被配置为获取心电图数据;

处理模块,被配置为处理所述心电图数据以获取多个心拍数据;以及生成模块,被配置为基于所述多个心拍数据中的至少两个心拍数据生成增广数据,其中,所述基于所述多个心拍数据中的至少两个心拍数据生成增广数据包括:从所述多个心拍数据中确定第一心拍数据和第二心拍数据;

在所述第一心拍数据和第二心拍数据的至少一个导联之间可拼接的情况下,拼接所述第一心拍数据和第二心拍数据以生成第三心拍数据;

获取所述第一心拍数据和/或第二心拍数据的标签;

基于所述第一心拍数据和/或第二心拍数据的标签确定所述第三心拍数据的标签,确定带有标签的第三心拍数据为增广数据。

8.一种电子设备,其特征在于,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如权利要求1~6中任一项所述的方法。

9.一种可读存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现如权利要求1~6中任一项所述的方法。

说明书 :

心电图数据增广方法、装置、电子设备及介质

技术领域

[0001] 本公开涉及医疗技术领域,具体涉及一种心电图数据增广方法、装置、电子设备及介质。

背景技术

[0002] 数据增广是深度学习中常用的技巧之一,主要用于增加训练数据集,让数据集尽可能的多样化,使得训练的模型具有更强的泛化能力。在实际应用中,并非所有的增广方式
都适用当前的训练数据,需要根据数据集特征来确定应该使用哪几种数据增广方式。目前
数据增广主要包括:水平/垂直翻转、旋转、缩放、裁剪、剪切、平移、对比度、色彩抖动、噪声
等。
[0003] 心电图是利用心电图机从体表记录心脏每一心动周期所产生的电活动变化图形,其中每一小段信号都具有一定的医学意义。而使用常规的数据增广方法诸如翻转、旋转、裁
剪等方法,则会破坏心电图的医学意义,无法对机器学习模型的训练起到积极作用,普通图
像处理的数据增广手段无法适用于心电信号的数据增广。

发明内容

[0004] 为了解决相关技术中的问题,本公开实施例提供一种心电图数据增广方法、装置、电子设备及介质。
[0005] 第一方面,本公开实施例中提供了一种心电图数据增广方法,包括:
[0006] 获取心电图数据;
[0007] 处理所述心电图数据以获取多个心拍数据;以及
[0008] 基于所述多个心拍数据中的至少两个心拍数据生成增广数据。
[0009] 结合第一方面,本公开在第一方面的第一种实现方式中,所述处理所述心电图数据以获取多个心拍数据,包括:
[0010] 对所述心电图数据进行预处理;
[0011] 对经过预处理的心电图数据进行心拍识别以获取多个心拍数据。
[0012] 结合第一方面的第一种实现方式,本公开在第一方面的第二种实现方式中,所述预处理包括:
[0013] 通过离散小波变换对所述心电图数据进行多层小波分解,将最低一层的近似值置零,通过离散小波重构以获取基线校准后的心电图数据。
[0014] 结合第一方面的第一种或第二种实现方式,本公开在第一方面的第三种实现方式中,所述预处理包括:
[0015] 通过平稳小波变换对所述心电图数据进行多层小波分解,对细节值进行阈值滤波,通过平稳小波重构以获取降噪后的心电图数据。
[0016] 结合第一方面的第一种实现方式,本公开在第一方面的第四种实现方式中,所述对经过预处理的心电图数据进行心拍识别以获取多个心拍数据,包括:
[0017] 对经过预处理的心电图数据中的第一导联的数据,通过平稳小波变换进行多层小波分解,获得分解结果;
[0018] 对所述分解结果进行特征识别,确定所述第一导联的数据中的R波的波峰的位置;
[0019] 根据所述第一导联的数据中的R波的波峰的位置,将所述第一导联和/或其他导联的数据分割为多个心拍数据。
[0020] 结合第一方面,本公开在第一方面的第五种实现方式中,所述基于所述多个心拍数据中的至少两个心拍数据生成增广数据包括:
[0021] 从所述多个心拍数据中确定第一心拍数据和第二心拍数据;
[0022] 在所述第一心拍数据和第二心拍数据的至少一个导联之间可拼接的情况下,拼接所述第一心拍数据和第二心拍数据以生成第三心拍数据;
[0023] 获取所述第一心拍数据和/或第二心拍数据的标签;
[0024] 基于所述第一心拍数据和/或第二心拍数据的标签确定所述第三心拍数据的标签,确定带有标签的第三心拍数据为增广数据。
[0025] 结合第一方面的第五种实现方式,本公开在第一方面的第六种实现方式中,所述在所述第一心拍数据和第二心拍数据的至少一个导联之间可拼接的情况下,拼接所述第一
心拍数据和第二心拍数据以生成第三心拍数据,包括:
[0026] 对于每个导联执行以下操作,在所述第一心拍数据和第二心拍数据在当前导联下的R波方向相同且在R波后的预定时间内都存在过零点的情况下,基于所述过零点的位置,
将第一心拍数据和第二心拍数据在当前导联下的数据拼接为临时心拍数据在当前导联下
的数据;否则,将第二心拍数据在当前导联下的数据确定为临时心拍数据在当前导联下的
数据;
[0027] 在所述临时心拍数据与第二心拍数据不完全相同的情况下,确定所述临时心拍数据为第三心拍数据。
[0028] 第二方面,本公开实施例提供了一种心电图数据增广装置,包括:
[0029] 获取模块,被配置为获取心电图数据;
[0030] 处理模块,被配置为处理所述心电图数据以获取多个心拍数据;以及
[0031] 生成模块,被配置为基于所述多个心拍数据中的至少两个心拍数据生成增广数据。
[0032] 第三方面,本公开实施例提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器
执行以实现如第一方面、第一方面的第一种至第六种实现方式任一项所述的方法。
[0033] 第四方面,本公开实施例中提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如第一方面、第一方面的第一种至第六种实现方
式任一项所述的方法。
[0034] 根据本公开实施例提供的技术方案,通过获取心电图数据;处理所述心电图数据以获取多个心拍数据;以及基于所述多个心拍数据中的至少两个心拍数据生成增广数据,
从而能够对心电图数据进行数据增广,可增加训练集的数据量,进而可充分地训练机器学
习的模型,提高模型的表现。
[0035] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

[0036] 结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
[0037] 图1示出根据本公开实施例的心电图数据增广方法的流程图;
[0038] 图2示出根据本公开实施例的心电图数据的示意图;
[0039] 图3示出根据本公开实施例的基线校准后的心电图数据的示意图;
[0040] 图4示出根据本公开实施例的降噪处理后的心电图数据的示意图;
[0041] 图5示出根据本公开实施例的心拍识别的流程图;
[0042] 图6A和图6B示出根据本公开实施例的R波反向的示意图;
[0043] 图7示出根据本公开实施例的心拍识别的示意图;
[0044] 图8示出根据本公开实施例的生成增广数据的流程图;
[0045] 图9示出根据本公开另一实施例的生成增广数据的流程图;
[0046] 图10示出根据本公开实施例的根据心拍A和心拍B生成的心拍C的示意图;
[0047] 图11A示出根据本公开实施例的心拍B和心拍C的对照图;
[0048] 图11B示出根据本公开实施例的心拍A和心拍C的对照图;
[0049] 图12示出根据本公开实施例的心电图数据增广装置的框图;
[0050] 图13示出根据本公开实施例的电子设备的框图;以及
[0051] 图14示出根据本公开实施例的适于实现心电图数据增广方法的计算机系统的结构示意图。

具体实施方式

[0052] 下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。
[0053] 在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、
数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
[0054] 另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
[0055] 一个带有标签的数据集的构建需要付出巨大的工作量。同时,由于不同疾病在人群中的发病率是不一样的,医学临床上直接采集的数据集,常常有类别数据量不均衡的问
题。数据集的数据量不足或者不同类别的数据量不均衡都会机器学习算法的表现欠佳,比
如分类的准确率低,召回率低等。
[0056] 心电图是利用心电图机从体表记录心脏每一心动周期所产生的电活动变化图形,其中每一小段信号都具有一定的医学意义。而使用常规的数据增广方法诸如翻转、旋转、裁
剪等方法,则会破坏心电图的医学意义,无法对机器学习模型的训练起到积极作用,普通图
像处理的数据增广手段无法适用于心电信号的数据增广。
[0057] 根据本公开实施例提供的技术方案,通过获取心电图数据;处理所述心电图数据以获取多个心拍数据;以及基于所述多个心拍数据中的至少两个心拍数据生成增广数据,
从而能够对心电图数据进行数据增广,可增加训练集的数据量,进而可充分地训练机器学
习的模型,提高模型的表现。
[0058] 图1示出根据本公开实施例的心电图数据增广方法的流程图。
[0059] 如图1所示,该方法包括步骤S101~S103。
[0060] 在步骤S101中,获取心电图数据;
[0061] 在步骤S102中,处理所述心电图数据以获取多个心拍数据;以及
[0062] 在步骤S103中,基于所述多个心拍数据中的至少两个心拍数据生成增广数据。
[0063] 根据本公开实施例提供的技术方案,通过获取心电图数据;处理所述心电图数据以获取多个心拍数据;以及基于所述多个心拍数据中的至少两个心拍数据生成增广数据,
从而能够对心电图数据进行数据增广,可增加训练集的数据量,进而可充分地训练机器学
习的模型,提高模型的表现。
[0064] 图2示出根据本公开实施例的心电图数据的示意图。如图2所示,心电图数据被连续采集,通常包括多个心拍,从而具有一定的周期性特点。其中,在每个心拍中存在一个最
大的波峰称为R波,R波特征突出,因而可以作为分割心拍的基础。
[0065] 在心电图的专业术语中,将记录心电图时电极在人体体表的放置位置及电极与放大器的连接方式称为心电图的导联。常用的导联为12个,分别为第Ⅰ导联、第Ⅱ导联、第Ⅲ导
联、aVR导联、aVL导联、aVF导联、V1导联、V2导联、V3导联、V4导联、V5导联以及V6导联。所有
导联的心电信号都是几乎同时测得的,它们在R波分布密集程度、位置等方面都几乎相差无
几。图2所示意的心电图数据仅为一个导联的数据,其他导联的数据可以与之类似。
[0066] 根据本公开实施例,所述处理所述心电图数据以获取多个心拍数据,包括,对所述心电图数据进行预处理,以及对经过预处理的心电图数据进行心拍识别以获取多个心拍数
据。
[0067] 根据本公开实施例提供的技术方案,通过对所述心电图数据进行预处理;对经过预处理的心电图数据进行心拍识别以获取多个心拍数据,从而能够对心电图数据进行数据
增广,可增加训练集的数据量,进而可充分地训练机器学习的模型,提高模型的表现。
[0068] 根据本公开实施例,所述预处理包括通过离散小波变换对所述心电图数据进行多层小波分解,将最低一层的近似值置零,通过离散小波重构以获取基线校准后的心电图数
据。
[0069] 小波变换是一种进行信号时频分析和处理的理想工具,计算机中常用的小波变换算法为mallat算法,这种算法的核心思想是使用滤波器来执行小波变换。
[0070] 原始输入信号S通过两个互补的滤波器(低通滤波器和高通滤波器)产生A和D两个信号,A为信号的近似值(低频滤波器所获得的值),D为信号的细节值(高频滤波器所获得的
值)。原始信号通过这样的一对滤波器进行的分解叫做一级分解。信号分解过程可以迭代,
也就是说可以进行多级分解。若对高频分量不再分解,而对低频分量连续进行分解,就可以
得到更低频的分量,形成小波分解树,可以根据需要确定分解级数。
[0071] 本公开实施例采用离散小波变换(DWT),在每一级分解后对数据进行降采样,因此数据量较小,计算较快。随着层数的不断增高,得到的低频分量分辨率逐渐降低。与之相对
的,离散小波重构算法(IDWT)则包含了升采样和滤波两个过程,其中升采样即为在降采样
数据之间插入0。
[0072] 在消除基线漂移的过程中所使用的小波为db5小波。在使用DWT对信号进行九层小波分解后,将最低一层的近似值置零,再进行IDWT,即可获得消除基线漂移后的心电信号,
如图3所示。
[0073] 根据本公开实施例提供的技术方案,通过离散小波变换对所述心电图数据进行多层小波分解,将最低一层的近似值置零,通过离散小波重构以获取基线校准后的心电图数
据,从而能够较好地对心电图数据进行基线校准。
[0074] 根据本公开实施例,预处理过程除了基线校准外,还可以进行降噪处理。心电图数据集中包括肌电干扰和50/60Hz工频噪声,例如可以使用小波变换阈值法消除心电信号的
高频噪声。
[0075] 根据本公开实施例,所述预处理包括通过平稳小波变换对所述心电图数据进行多层小波分解,对细节值进行阈值滤波,通过平稳小波重构以获取降噪后的心电图数据。
[0076] 根据本公开实施例,采用平稳小波变换(SWT)消除噪声。SWT与DWT最大的区别在于其在每一层分解后不进行降采样,因此数据量较大,计算量较大,但每一层的分辨率都保持
不变。对于去除高频噪声而言,并不是简单地将某一层的信号完全删除,而是进行阈值删
除,因此分辨率就显得尤为重要。同理,在平稳小波重构(ISWT)的过程中,也不需要进行升
采样。
[0077] 在消除高频噪声的过程中所使用的小波为bior2.6小波。在使用SWT对信号进行6层小波分解后,首先将前两层频率最高的细节值置0,这些细节值所代表的频率过高,几乎
不包含任何心电信号信息。然后对3到6层细节值进行阈值滤波,阈值的选取使用以下公式:
[0078]
[0079] 其中d为细节值,N为其长度,mid为中值,使用的阈值方法为半软阈值法,既不会像硬阈值法一样产生小波系数突变,也不会像软阈值法一样产生偏差。半软阈值法的公式如
下:
[0080]
[0081] 其中取λ1=λth,λ2=1.25λth。在进行阈值滤波后再进行ISWT,即可去除高频噪声,降噪处理后的心电图数据如图4所示。
[0082] 根据本公开实施例提供的技术方案,通过平稳小波变换对所述心电图数据进行多层小波分解,对细节值进行阈值滤波,通过平稳小波重构以获取降噪后的心电图数据,从而
能够提高心电图数据的降噪效果。
[0083] 图5示出根据本公开实施例的心拍识别的流程图。
[0084] 如图5所示,该方法包括步骤S501~S503。
[0085] 在步骤S501中,对经过预处理的心电图数据中的第一导联的数据,通过平稳小波变换进行多层小波分解,获得分解结果;
[0086] 在步骤S502中,对所述分解结果进行特征识别,确定所述第一导联的数据中的R波的波峰的位置;
[0087] 在步骤S503中,根据所述第一导联的数据中的R波的波峰的位置,将所述第一导联和/或其他导联的数据分割为多个心拍数据。
[0088] 根据本公开实施例,在步骤S501,可以使用SWT对信号进行小波变换,使用的小波例如可以是:
[0089]
[0090] 根据本公开实施例,在步骤S502,可以选取变换后的第五层细节值,该层的R波的特征最明显。对于方向向上的R波,在该层将会以负‑正极大值对的形态呈现;对于方向向下
的R波,在该层将会以正‑负极大值对的形态呈现。找出这些极大值对并找出它们过零点的
位置,对应的R波峰就为过零点±0.05s内的极大/极小值。
[0091] 即使是在正常人的心电图中,每个导联R波峰的方向都不固定。而病变后的心电图更是会出现R波峰方向与正常相反的情况。图6A和图6B示出根据本公开实施例的R波反向的
示意图,其中,图6A示出了一种病理性导致的R波倒置的情况的示意图,图6B示出了一种由
于电极接反导致的R波倒置的示意图。
[0092] 实际操作中,对同一个人同时测得的心电信号的12个导联(这12个导联分别为:第Ⅰ导联、第Ⅱ导联、第Ⅲ导联、aVR导联、aVL导联、aVF导联、V1导联、V2导联、V3导联、V4导联、
V5导联、V6导联;下文中将使用上面列举的12个导联的提及顺序来指代每一个导联,例如第
一导联指第Ⅰ导联,第七导联指V1导联)分别进行单独的去除基线和滤波操作,然后只对第
一导联进行R波识别,并使用第一导联的R波识别结果来对其他所有导联进行切割。这么做
的原因是所有导联的心电信号都是几乎同时测得的,因此它们在R波分布密集程度、位置等
方面都几乎相差无几。
[0093] 分割后还要对除第一导联以外的11个导联进行R波位置校准,因为人体相邻细胞之间的电位传导需要一定时间,因此这12个导联的R波峰位置可能会有最大±0.05s的差
异。对其他的11个导联分别进行如下操作:在第一导联的R波峰的位置附近的±0.05s的范
围内寻找最大值和最小值,若最大值小于最小值的绝对值的三分之一,则认为最小值所在
的位置为该导联的R波峰,否则认为最大值所在的位置为该导联的R波峰。因此,本公开实施
例的方法还可以包括,根据所述第一导联的数据中的R波的波峰的位置,对其他导联的数据
中的R波的波峰位置进行校准。
[0094] 根据本公开实施例,在切割时,由于第一个和最后一个心拍信号可能不完整,可以抛弃第一个和最后一个心拍信号,并取相邻两个心拍的R峰的中点作为切割点。用这种方法
可以准确地将一个完整的心电信号切成一个一个的心拍。分割后的结果如图7所示。
[0095] 根据本公开实施例提供的技术方案,通过对经过预处理的心电图数据中的第一导联的数据,通过平稳小波变换进行多层小波分解,获得分解结果;对所述分解结果进行特征
识别,确定所述第一导联的数据中的R波的波峰的位置;根据所述第一导联的数据中的R波
的波峰的位置,将所述第一导联和/或其他导联的数据分割为多个心拍数据,从而能够准确
识别心拍数据,有利于对心电图数据进行数据增广,可增加训练集的数据量,进而可充分地
训练机器学习的模型,提高模型的表现。
[0096] 图8示出根据本公开实施例的生成增广数据的流程图。
[0097] 如图8所示,该方法包括步骤S801~S804。
[0098] 在步骤S801中,从所述多个心拍数据中确定第一心拍数据和第二心拍数据;
[0099] 在步骤S802中,在所述第一心拍数据和第二心拍数据的至少一个导联之间可拼接的情况下,拼接所述第一心拍数据和第二心拍数据以生成第三心拍数据;
[0100] 在步骤S803中,获取所述第一心拍数据和/或第二心拍数据的标签;
[0101] 在步骤S804中,基于所述第一心拍数据和/或第二心拍数据的标签确定所述第三心拍数据的标签,确定带有标签的第三心拍数据为增广数据。
[0102] 根据本公开实施例,可以随机选择两个分割后的心拍信号(各个导联),分别作为心拍A和心拍B。该随机选择基于以下三种方法中的一种:
[0103] (1)随机选择同一个病人不同时间的两个心拍信号作为A和B;
[0104] (2)随机选择同一类疾病的两个不同病人的两个心拍信号作为A和B;
[0105] (3)随机选择一个正常人的心拍信号作为A,再选择一个病人的心拍信号作为B。
[0106] 根据本公开实施例,可以通过将三种方法结合起来同时使用来增加数据的泛化程度。
[0107] 此外,还可以初步检测选取的两个信号能否进行拼接。例如,分别对比心拍A和心拍B的各个导联的R波峰方向,若A和B的某一导联R波峰方向相同则标记该导联可拼接,否则
标记不可拼接。若所有导联都被标记不可拼接,则此次拼接失败,重新选择心拍;若存在至
少一个导联被标记可拼接,则可以进行拼接。
[0108] 根据本公开实施例,对于上述三种方法,确定用于检测病变的主要特征数据所处的位置,判断第三心拍数据上该位置的数据来自于心拍A或是心拍B,若来自于心拍A,则根
据心拍A的标签设置第三心拍数据的标签;反之,可以根据心拍B的标签设置第三心拍数据
的标签。例如,因为心梗病变的主要检测位置在ST段(R波之后的片段),而若增广出的心拍C
的ST段来源于心拍B,因此认为心拍C的标签与心拍B相同。例如,如果心拍B来源于心梗病人
的心电图数据,则设置心拍C的标签为患有心梗疾病,如果心拍B来源于健康的人的心电图
数据,则设置心拍C的标签为健康。
[0109] 根据本公开实施例提供的技术方案,通过从所述多个心拍数据中确定第一心拍数据和第二心拍数据;在所述第一心拍数据和第二心拍数据的至少一个导联之间可拼接的情
况下,拼接所述第一心拍数据和第二心拍数据以生成第三心拍数据;获取所述第一心拍数
据和/或第二心拍数据的标签;基于所述第一心拍数据和/或第二心拍数据的标签确定所述
第三心拍数据的标签,确定带有标签的第三心拍数据为增广数据,从而能够对心电图数据
进行数据增广,可增加训练集的数据量,进而可充分地训练机器学习的模型,提高模型的表
现。
[0110] 根据本公开实施例,所述在所述第一心拍数据和第二心拍数据的至少一个导联之间可拼接的情况下,拼接所述第一心拍数据和第二心拍数据以生成第三心拍数据,包括:
[0111] 对于每个导联执行以下操作,在所述第一心拍数据和第二心拍数据在当前导联下的R波方向相同且在R波后的预定时间内都存在过零点的情况下,基于所述过零点的位置,
将第一心拍数据和第二心拍数据在当前导联下的数据拼接为临时心拍数据在当前导联下
的数据;否则,将第二心拍数据在当前导联下的数据确定为临时心拍数据在当前导联下的
数据;
[0112] 在所述临时心拍数据与第二心拍数据不完全相同的情况下,确定所述临时心拍数据为第三心拍数据。
[0113] 下面参照图9、图10、图11A和图11B对本公开实施例的方法进行示例性说明。
[0114] 图9示出根据本公开另一实施例的生成增广数据的流程图。
[0115] 如图9所示,该方法包括步骤S901~S910。
[0116] 在步骤S901,选择心拍A和心拍B。可以参照上文关于图8的描述,此处不再赘述。
[0117] 在步骤S902,选择一个未处理的导联。
[0118] 在步骤S903,在该导联下,心拍A和心拍B的R波方向是否相同,若是,则继续执行步骤S904,否则执行步骤S907。
[0119] 在步骤S904,寻找心拍A和心拍B该导联的R波峰后100ms内的第一个过零点位置。
[0120] 在步骤S905,对该导联,A和B是否都找到过零点,若是,则继续执行步骤S906,否则执行步骤S907。
[0121] 实际中偶尔会有特殊的波形病变无法找到过零点(如ST段上移),对于此类波形,甚至无法找到能够与之能拼接的其他波形,因此,在拼接前避开此类波形不失为一种较好
的处理方式。
[0122] 在步骤S906,将心拍A的该导联的前半段重采样并赋值给心拍C的前半段,将心拍B的该导联的后半段赋值给心拍C的后半段,得到心拍C在该导联下的数据。
[0123] 根据本公开实施例,将心拍A的该导联的前半段重采样并赋值给心拍C的前半段,例如可以是通过水平压缩或拉伸的方式使得心拍A的前半段的长度与心拍B的前半段的长
度一致。其中,前半段是指由心拍起始位置至上文所述过零点位置的数据,后半段是指由过
零点位置至结束位置的数据。
[0124] 图10示出根据本公开实施例的根据心拍A和心拍B生成的心拍C的示意图。如图10所示,两个心拍数据心拍A和心拍B可以生成一个新的心拍数据心拍C。心拍C与心拍A和心拍
B都不同。图11A示出根据本公开实施例的心拍B和心拍C的对照图。如图11A所示,心拍C的后
半段与心拍B一致。图11B示出根据本公开实施例的心拍A和心拍C的对照图。如图11B所示,
心拍C的前半段为心拍A的前半段重采样(拉伸)之后的结果。图10、图11A和图11B所示仅为
一个导联的数据,根据本实施例的方法处理的其他导联的数据可以具有类似的特点。
[0125] 返回参考图9。在步骤S907,将心拍B的该导联直接赋值给心拍C。
[0126] 在步骤S908,是否所有导联处理完成,若是,则执行步骤S909,否则返回步骤S902继续选择一个未处理的导联。
[0127] 在步骤S909,是否心拍C的每一个导联都与心拍B相同,若是,则丢弃心拍C,返回S901重新选择心拍,否则,执行步骤S910。
[0128] 在步骤S910,确定心拍C为一个增广数据。
[0129] 在步骤S910执行之后,可以返回步骤S901继续生成新的增广数据。
[0130] 根据本公开实施例提供的技术方案,通过对于每个导联执行以下操作,在所述第一心拍数据和第二心拍数据在当前导联下的R波方向相同且在R波后的预定时间内都存在
过零点的情况下,基于所述过零点的位置,将第一心拍数据和第二心拍数据在当前导联下
的数据拼接为临时心拍数据在当前导联下的数据;否则,将第二心拍数据在当前导联下的
数据确定为临时心拍数据在当前导联下的数据;在所述临时心拍数据与第二心拍数据不完
全相同的情况下,确定所述临时心拍数据为第三心拍数据,从而能够对心电图数据进行数
据增广,可增加训练集的数据量,进而可充分地训练机器学习的模型,提高模型的表现。
[0131] 本公开实施例的方法可以在现有的深度学习方法基础上提升识别准确率。在将心电信号进行增广后,由于解决了训练集数据不足或数据不均衡的问题,同时解决了由于训
练集数据不足或数据不均衡而导致的识别准确率不高的问题,大幅度提升了这类数据的识
别准确率。由于提升了总体的有效数据量,因此在解决数据不均衡问题时,其在提升个别较
少的数据识别准确率的同时,也提升了对所有数据的总体识别准确率。
[0132] 图12示出根据本公开实施例的心电图数据增广装置的框图。其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。
[0133] 如图12所示,所述心电图数据增广装置1200包括获取模块1210、处理模块1220和生成模块1230。
[0134] 获取模块1210,被配置为获取心电图数据;
[0135] 处理模块1220,被配置为处理所述心电图数据以获取多个心拍数据;以及
[0136] 生成模块1230,被配置为基于所述多个心拍数据中的至少两个心拍数据生成增广数据。
[0137] 根据本公开实施例提供的技术方案,通过获取模块,被配置为获取心电图数据;处理模块,被配置为处理所述心电图数据以获取多个心拍数据;生成模块,被配置为基于所述
多个心拍数据中的至少两个心拍数据生成增广数据,能够对心电图数据进行数据增广,可
增加训练集的数据量,进而可充分地训练机器学习的模型,提高模型的表现。
[0138] 本公开还公开了一种电子设备,图13示出根据本公开的实施例的电子设备的框图。
[0139] 如图13所示,所述电子设备1300包括存储器1301和处理器1302,其中,所述存储器1301用于存储支持电子设备执行上述任一实施例中的心电图数据增广方法或代码生成方
法的程序,所述处理器1302被配置为用于执行所述存储器1301中存储的程序。
[0140] 根据本公开实施例,所述存储器1301用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器1302执行以实现以下步骤:
[0141] 获取心电图数据;
[0142] 处理所述心电图数据以获取多个心拍数据;以及
[0143] 基于所述多个心拍数据中的至少两个心拍数据生成增广数据。
[0144] 根据本公开实施例,所述处理所述心电图数据以获取多个心拍数据,包括:
[0145] 对所述心电图数据进行预处理;
[0146] 对经过预处理的心电图数据进行心拍识别以获取多个心拍数据。
[0147] 根据本公开实施例,所述预处理包括:
[0148] 通过离散小波变换对所述心电图数据进行多层小波分解,将最低一层的近似值置零,通过离散小波重构以获取基线校准后的心电图数据。
[0149] 根据本公开实施例,所述预处理包括:
[0150] 通过平稳小波变换对所述心电图数据进行多层小波分解,对细节值进行阈值滤波,通过平稳小波重构以获取降噪后的心电图数据。
[0151] 根据本公开实施例,所述对经过预处理的心电图数据进行心拍识别以获取多个心拍数据,包括:
[0152] 对经过预处理的心电图数据中的第一导联的数据,通过平稳小波变换进行多层小波分解,获得分解结果;
[0153] 对所述分解结果进行特征识别,确定所述第一导联的数据中的R波的波峰的位置;
[0154] 根据所述第一导联的数据中的R波的波峰的位置,将所述第一导联和/或其他导联的数据分割为多个心拍数据。
[0155] 根据本公开实施例,所述基于所述多个心拍数据中的至少两个心拍数据生成增广数据包括:
[0156] 从所述多个心拍数据中确定第一心拍数据和第二心拍数据;
[0157] 在所述第一心拍数据和第二心拍数据的至少一个导联之间可拼接的情况下,拼接所述第一心拍数据和第二心拍数据以生成第三心拍数据;
[0158] 获取所述第一心拍数据和/或第二心拍数据的标签;
[0159] 基于所述第一心拍数据和/或第二心拍数据的标签确定所述第三心拍数据的标签,确定带有标签的第三心拍数据为增广数据。
[0160] 根据本公开实施例,所述在所述第一心拍数据和第二心拍数据的至少一个导联之间可拼接的情况下,拼接所述第一心拍数据和第二心拍数据以生成第三心拍数据,包括:
[0161] 对于每个导联执行以下操作,在所述第一心拍数据和第二心拍数据在当前导联下的R波方向相同且在R波后的预定时间内都存在过零点的情况下,基于所述过零点的位置,
将第一心拍数据和第二心拍数据在当前导联下的数据拼接为临时心拍数据在当前导联下
的数据;否则,将第二心拍数据在当前导联下的数据确定为临时心拍数据在当前导联下的
数据;
[0162] 在所述临时心拍数据与第二心拍数据不完全相同的情况下,确定所述临时心拍数据为第三心拍数据。
[0163] 图14示出适于用来实现根据本公开实施例的心电图数据增广方法的计算机系统的结构示意图。
[0164] 如图14所示,计算机系统1400包括处理单元1401,其可以根据存储在只读存储器(ROM)1402中的程序或者从存储部分1408加载到随机访问存储器(RAM)1403中的程序而执
行上述实施例中的各种处理。在RAM 1403中,还存储有系统1400操作所需的各种程序和数
据。处理单元1401、ROM 1402以及RAM 1403通过总线1404彼此相连。输入/输出(I/O)接口
1405也连接至总线1404。
[0165] 以下部件连接至I/O接口1405:包括键盘、鼠标等的输入部分1406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1407;包括硬盘等的存储部分
1408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1409。通信部分1409经
由诸如因特网的网络执行通信处理。驱动器1410也根据需要连接至I/O接口1405。可拆卸介
质1411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1410上,以便
于从其上读出的计算机程序根据需要被安装入存储部分1408。其中,所述处理单元1401可
实现为CPU、GPU、TPU、FPGA、NPU等处理单元。
[0166] 特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计
算机程序,所述计算机程序包含用于执行上述方法的程序代码。在这样的实施例中,该计算
机程序可以通过通信部分1409从网络上被下载和安装,和/或从可拆卸介质1411被安装。
[0167] 附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代
表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用
于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标
注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上
可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注
意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执
行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令
的组合来实现。
[0168] 描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或
模块的名称在某种情况下并不构成对该单元或模块本身的限定。
[0169] 作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的计算机可读存储介质;也可以是
单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者
一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
[0170] 以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术
方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行
任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功
能的技术特征进行互相替换而形成的技术方案。