一种心电图特征点的识别方法与流程

文档序号:29631908发布日期:2022-04-13 16:09阅读:291来源:国知局

1.本发明涉及心电图技术领域,具体涉及一种心电图特征点的识别方法。


背景技术:

2.心电图的特征点识别,是识别心电图中出现的p波起止点、qrs波起止点、t波起止点、u波起止点、起搏钉、f波谷点以及噪声起止点的时间位置,识别完成后可以通过后续的规则模块,设计出心电图的自动诊断、自动测量等心电人工智能辅助诊断模块,可以说,心电图的特征点识别的准确度很大程度决定了心电图自动诊断以及自动测量的准确度,而心电图的自动诊断与自动测量在临床实践中可以缩减患者的就医延迟,保障患者的生命健康。
3.现今,绝大多数心电图特征点识别有很多种方法:
4.1.采用了先寻找qrs波群,然后再通过qrs波群的定位信息,前后寻找相关的p波、t波以及u波的方法。这种方法对于非窦性,或者是p波过于矮小,或者是低电压心电图的识别适用性较差。
5.2.采用深度学习模型的方法。该方法先对心电图使用卷积神经网络进行形态特征层面建模,然后再使用rnn模型对心电图进行序列层面的推理建模,最后使用逐帧分类的方式进行结果输出。首先,如果卷积层面未对心电图进行了诸如调整步长或者是pooling的方法进行建模的话,模型精度能够保证与输入心电图的精度一致,但是由于波形的采样率往往较高,在rnn层面建模的时候输入的序列会较长,处理时间也相应的会很长以至于难以在实际情况中使用。而如果对心电图进行了步长调整或者是pooling的方法缩短了序列长度,则处理的精度又会降低。综上所述,如何能够设计构建一种适用性强的且能够兼顾处理精度与处理时间的方法,显得尤为重要。


技术实现要素:

6.本发明为了克服以上技术的不足,提供了一种使用较少的点实现较高精度特征点计算的心电图特征点的识别方法。
7.本发明克服其技术问题所采用的技术方案是:
8.一种心电图特征点的识别方法,包括:
9.a)获取完整的标准的12导联心电图数据,将12导联心电图数据进行预处理后将其表示为张量d,张量d的维度为(12,l),其中l为12导联心电图数据的长度,12为依照导联顺序进行排序的12个导联;
10.b)将张量d输入到特征点识别神经网路中,特征点识别神经网络的输出结果表示为张量v,张量v的维度为(24,m),其中m为特征点识别神经网络输出的长度,24为输出的通道个数;
11.c)获取心电图数据对应的标签数据,表示为集合p{(i1,t1),(i2,t2),...,(i
x
,t
x
),...,(ik,tk)},(i
x
,t
x
)为集合中的第x个标记特征点,i
x
为第x个特征点的编号,t
x
为第x
个特征点在12导联心电图数据中的相对时间位置,x∈{1,2,...,k},k为集合中标记特征点的个数;
12.d)将集合p{(i1,t1),(i2,t2),...,(i
x
,t
x
),...,(ik,tk)}、特征点识别神经网络输出的长度m以及12导联心电图数据的长度l输入标签处理模块,得到标签处理模块的输出结果,并将其表示为张量l,张量l的维度为(24,n),其中n为心电图标签数据的长度,n的长度与m的长度相等;
13.e)将张量v、张量l输入到损失计算模块,得到损失数值loss;
14.f)使用优化算法,根据损失数值loss优化特征点识别神经网络中的参数;
15.g)重复执行步骤a)至步骤f),直到损失数值loss达到early-stop,将此时的训练后的特征点识别神经网络作为最终的心电图特征点识别模型;
16.h)获取需要进行特征点识别的标准的12导联心电图数据,通过预处理后将其表示为张量d

,张量d

的维度为(12,l

),l

为获取需要进行特征点识别的标准的12导联心电图数据的长度;
17.i)将张量d

输入到步骤g)中的最终的心电图特征点识别模型中,得到心电图特征点识别模型的输出结果,将其表示为张量v

,张量v

的维度为(24,m

),m

为最终的心电图特征点识别模型的输出的长度,将张量v

、数值l

及数值m

输入到特征点解码模块,得到特征点解码模块的输出结果,将其表示为集合p

,将集合p

输出给用户。
18.优选的,步骤a)及步骤h)中12导联的预处理依次为滤波处理、采样率归一化处理及波形归一化处理。
19.优选的,步骤b)中特征点识别神经网络由cnn模型及lstm模型构成,张量d先输入cnn模型中,cnn模型的输出再输入到lstm模型中得到张量v,张量v中的奇数行通过sigmoid激活函数输出,张量v中的偶数行通过sigmoid激活函数输出。
20.优选的,步骤c)中特征点编号1的定义为p波起点;特征点编号2的定义为p波终点;特征点编号3的定义为qrs波群起点;特征点编号4的定义为qrs波群终点;特征点编号5的定义为t波起点;特征点编号6的定义为t波终点;特征点编号7的定义为u波起点;特征点编号8的定义为u波终点;特征点编号9的定义为f波谷点;特征点编号10的定义为噪声起点;特征点编号11的定义为噪声终点;特征点编号12的定义为起搏钉。
21.进一步的,步骤d)包括如下步骤:
22.d-1)获取集合p{(i1,t1),(i2,t2),...,(i
x
,t
x
),...,(ik,tk)}、特征点识别神经网络输出的长度m以及12导联心电图数据的长度l;
23.d-2)建立大小为(24,n)的张量l,使用0值初始化张量l;
24.d-3)建立超参数s,s为大于1的正整数;
25.d-4)获取集合p{(i1,t1),(i2,t2),...,(i
x
,t
x
),...,(ik,tk)}中标记特征点个数k;
26.d-5)建立变量a,使用1值初始化变量a;
27.d-6)去除集合中的第a个标记特征点,表示为(ia,ta);
28.d-7)通过公式计算得到开始值start,通过公
式计算得到结束值end,式中floor()为向下取整运算;
29.d-8)通过逻辑取反计算的方法修改张量l中第ia×
2-1行、第start列到end列的数据;
30.d-9)建立变量j,使用0值初始化变量j;
31.d-10)通过公式的计算结果修改张量l中第ia×
2行、第start+j列的数值,为张量l的第ia×
2-1行第start+j列的值;
32.d-11)使用公式j=j+1修改变量j的值;
33.d-12)如果修改后的变量j的值大于等于end-start则执行步骤d-13),如果修改后的变量j的值小于end-start则返回执行步骤d-10);
34.d-13)使用公式a=a+1修改变量a的值;
35.d-14)如果修改后的变量a的值大于等于k则执行步骤d-15),如果修改后的变量a的值小于k则返回执行不准走d-6);
36.d-15)输出修改后的张量l。
37.优选的,步骤b)中张量v和步骤d)中的张量l中通道编号1的定义为p波起点激活通道;通道编号2的定义为p波起点回归通道;通道编号3的定义为p波终点激活通道;通道编号4的定义为p波终点回归通道;通道编号5的定义为qrs波群起点激活通道;通道编号6的定义为qrs波群起点回归通道;通道编号7的定义为qrs波群终点激活通道;通道编号8的定义为qrs波群终点回归通道;通道编号9的定义为t波起点激活通道;通道编号10的定义为t波起点回归通道;通道编号11的定义为t波终点激活通道;通道编号12的定义为t波终点回归通道;通道编号13的定义为u波起点激活通道;通道编号14的定义为u波起点回归通道;通道编号15的定义为u波终点激活通道;通道编号16的定义为u波终点回归通道;通道编号17的定义为f波谷点激活通道;通道编号18的定义为f波谷点回归通道;通道编号19的定义为噪声起点激活通道;通道编号20的定义为噪声起点回归通道;通道编号21的定义为噪声终点激活通道;通道编号22的定义为噪声终点回归通道;通道编号23的定义为起搏钉激活通道;通道编号24的定义为起搏钉回归通道。
38.进一步的,步骤e)的步骤包括:
39.e-1)获取张量v、张量l;
40.e-2)取出张量v的奇数行的数据组成张量v
odd
,取出张量v的偶数行的数据组成张量v
even
,取出张量l的奇数行的数据组成张量l
odd
,取出张量l的偶数行的数据组成张量l
even
,张量v
odd
、张量v
even
均为大小为(12,m)的张量,张量l
odd
及张量l
even
均为大小为(12,n)的张量;
41.e-3)通过公式loss1=∑-l
odd
·
ln(v
odd
)-(1-l
odd
)
·
ln(1-v
odd
)计算得到损失数值loss1,式中
·
为哈达马积运算;
42.e-4)通过公式loss2=∑(v
odd-v
even
)2·
l
odd
计算得到损失数值loss2;
43.e-5)通过公式loss=loss1+loss2计算得到最终的损失数值loss并输出。
44.优选的,步骤f)中优化算法为adam算法或sgd算法。
45.进一步的,步骤i)中特征点解码模块的处理方法为:
46.i-1)获取张量v

、数值l

及数值m


47.i-2)取出张量v

的奇数行的数据组成张量v

odd
,取出张量v

的偶数行的数据组成张量v

even
,张量v

odd
与张量v

even
均为大小为(12,m

)的张量,建立超参数u,超参数u为大于2的正整数;
48.i-3)建立空集合p


49.i-4)将张量v

odd
中大于等于0.5的数修改为1,小于0.5的数修改为0;
50.i-5)建立变量y,并使用1值初始化变量y;
51.i-6)取出张量v

odd
中的第y行表示为v

odd
→y,取出张量v

even
中的第y行表示为v

even
→y;
52.i-7)从第1列开始搜索v

odd
→y中连续为1的部分表示为w,将w对应在v

even
→y中的部分表示为b,如果w的长度等于大于u,则通过公式计算得到特征点,并将计算得到的特征点放入集合p

中,式中h为w中各列的坐标值;
53.i-8)如果w的长度小于u,则舍弃w和b后重复执行步骤i-7),直至v

odd
→y全部搜索完毕;
54.i-9)使用公式y=y+1修改变量y的值;
55.i-10)如果变量y大于12则执行i-11),如果变量小于等于12则返回执行步骤i-6);
56.i-11)输出集合p


57.优选的,步骤d-4)中超参数s的取值为5,步骤i-2)中超参数u的取值为5。本发明的有益效果是:使用较少的点实现了较高精度的特征点计算。在标签处理的模块中,采用托盘的设计思路,提高了正样本占比,缓解了正负样本不均衡的问题提升了模型的训练效果。在特征点识别神经网络中,允许输出的结果明显短于输入的心电图数据,在特征点识别神经网络中可以进行stride卷积以及pooling等缩减尺度的计算以减轻最后的rnn模型的运行效率损耗。在解码过程中,采用了分割的思想,避免了传统的anchor-base的方法对于nms的依赖,提升了最终的解码效率。所有的改进设计,在利用了深度学习适应性较好的特性的前提下,兼顾推理准确性并且提升了模型的运行效率。
具体实施方式
58.下面对本发明做进一步说明。
59.一种心电图特征点的识别方法,包括:
60.a)获取完整的标准的12导联心电图数据,将12导联心电图数据进行预处理后将其表示为张量d,张量d的维度为(12,l),其中l为12导联心电图数据的长度,12为依照导联顺序进行排序的12个导联;
61.b)将张量d输入到特征点识别神经网路中,特征点识别神经网络的输出结果表示为张量v,张量v的维度为(24,m),其中m为特征点识别神经网络输出的长度,24为输出的通道个数;
62.c)获取心电图数据对应的标签数据,表示为集合p{(i1,t1),(i2,t2),...,(i
x
,t
x
),...,(ik,tk)},(i
x
,t
x
)为集合中的第x个标记特征点,i
x
为第x个特征点的编号,t
x
为第x个特征点在12导联心电图数据中的相对时间位置,x∈{1,2,...,k},k为集合中标记特征点的个数;
63.d)将集合p{(i1,t1),(i2,t2),...,(i
x
,t
x
),...,(ik,tk)}、特征点识别神经网络输出的长度m以及12导联心电图数据的长度l输入标签处理模块,得到标签处理模块的输出结果,并将其表示为张量l,张量l的维度为(24,n),其中n为心电图标签数据的长度,n的长度与m的长度相等;
64.e)将张量v、张量l输入到损失计算模块,得到损失数值loss;
65.f)使用优化算法,根据损失数值loss优化特征点识别神经网络中的参数;
66.g)重复执行步骤a)至步骤f),直到损失数值loss达到early-stop,将此时的训练后的特征点识别神经网络作为最终的心电图特征点识别模型;
67.h)获取需要进行特征点识别的标准的12导联心电图数据,通过预处理后将其表示为张量d

,张量d

的维度为(12,l

),l

为获取需要进行特征点识别的标准的12导联心电图数据的长度;
68.i)将张量d

输入到步骤g)中的最终的心电图特征点识别模型中,得到心电图特征点识别模型的输出结果,将其表示为张量v

,张量v

的维度为(24,m

),m

为最终的心电图特征点识别模型的输出的长度,将张量v

、数值l

及数值m

输入到特征点解码模块,得到特征点解码模块的输出结果,将其表示为集合p

,将集合p

输出给用户。
69.本发明整体采用了anchor-base模型的设计思路,使用较少的点实现了较高精度的特征点计算。实现了对心电图的高精度高效率的特征点识别。在标签处理的模块中,采用span的设计思路,提高了正样本占比,缓解了正负样本不均衡的问题提升了模型的训练效果。在特征点识别神经网络中,允许输出的结果明显短于输入的心电图数据,在特征点识别神经网络中可以进行stride卷积以及pooling等缩减尺度的计算以减少最后的rnn模型的运行时间。。在解码过程中,采用了分割的思想,避免了传统的anchor-base的方法对于nms的依赖,提升了最终的解码效率。所有的改进设计,在利用了深度学习适应性较好的特性的前提下,兼顾推理准确性并且提升了模型的运行效率。
70.实施例1:
71.步骤a)及步骤h)中12导联的预处理依次为滤波处理、采样率归一化处理及波形归一化处理。
72.实施例2:
73.步骤b)中特征点识别神经网络由cnn模型及lstm模型构成,张量d先输入cnn模型中,cnn模型的输出再输入到lstm模型中得到张量v,张量v中的奇数行通过sigmoid激活函数输出,张量v中的偶数行通过sigmoid激活函数输出。
74.实施例3:
75.步骤c)中特征点编号1的定义为p波起点;特征点编号2的定义为p波终点;特征点编号3的定义为qrs波群起点;特征点编号4的定义为qrs波群终点;特征点编号5的定义为t波起点;特征点编号6的定义为t波终点;特征点编号7的定义为u波起点;特征点编号8的定义为u波终点;特征点编号9的定义为f波谷点;特征点编号10的定义为噪声起点;特征点编
号11的定义为噪声终点;特征点编号12的定义为起搏钉。
76.实施例4:
77.步骤d)包括如下步骤:
78.d-1)获取集合p{(i1,t1),(i2,t2),...,(i
x
,t
x
),...,(ik,tk)}、特征点识别神经网络输出的长度m以及12导联心电图数据的长度l;
79.d-2)建立大小为(24,n)的张量l,使用0值初始化张量l;
80.d-3)建立超参数s,s为大于1的正整数;
81.d-4)获取集合p{(i1,t1),(i2,t2),...,(i
x
,t
x
),...,(ik,tk)}中标记特征点个数k;
82.d-5)建立变量a,使用1值初始化变量a;
83.d-6)去除集合中的第a个标记特征点,表示为(ia,ta);
84.d-7)通过公式计算得到开始值start,通过公式计算得到结束值end,式中floor()为向下取整运算;
85.d-8)通过逻辑取反计算的方法修改张量l中第ia×
2-1行、第start列到end列的数据;
86.d-9)建立变量j,使用0值初始化变量j;
87.d-10)通过公式的计算结果修改张量l中第ia×
2行、第start+j列的数值,为张量l的第ia×
2-1行第start+j列的值;
88.d-11)使用公式j=j+1修改变量j的值;
89.d-12)如果修改后的变量j的值大于等于end-start则执行步骤d-13),如果修改后的变量j的值小于end-start则返回执行步骤d-10);
90.d-13)使用公式a=a+1修改变量a的值;
91.d-14)如果修改后的变量a的值大于等于k则执行步骤d-15),如果修改后的变量a的值小于k则返回执行不准走d-6);
92.d-15)输出修改后的张量l。
93.实施例5:
94.步骤b)中张量v和步骤d)中的张量l中通道编号1的定义为p波起点激活通道;通道编号2的定义为p波起点回归通道;通道编号3的定义为p波终点激活通道;通道编号4的定义为p波终点回归通道;通道编号5的定义为qrs波群起点激活通道;通道编号6的定义为qrs波群起点回归通道;通道编号7的定义为qrs波群终点激活通道;通道编号8的定义为qrs波群终点回归通道;通道编号9的定义为t波起点激活通道;通道编号10的定义为t波起点回归通道;通道编号11的定义为t波终点激活通道;通道编号12的定义为t波终点回归通道;通道编号13的定义为u波起点激活通道;通道编号14的定义为u波起点回归通道;通道编号15的定义为u波终点激活通道;通道编号16的定义为u波终点回归通道;通道编号17的定义为f波谷点激活通道;通道编号18的定义为f波谷点回归通道;通道编号19的定义为噪声起点激活通
道;通道编号20的定义为噪声起点回归通道;通道编号21的定义为噪声终点激活通道;通道编号22的定义为噪声终点回归通道;通道编号23的定义为起搏钉激活通道;通道编号24的定义为起搏钉回归通道。
95.实施例6:
96.步骤e)的步骤包括:
97.e-1)获取张量v、张量l;
98.e-2)取出张量v的奇数行的数据组成张量v
odd
,取出张量v的偶数行的数据组成张量v
even
,取出张量l的奇数行的数据组成张量l
odd
,取出张量l的偶数行的数据组成张量l
even
,张量v
odd
、张量v
even
均为大小为(12,m)的张量,张量l
odd
及张量l
even
均为大小为(12,n)的张量;
99.e-3)通过公式loss1=∑-l
odd
·
ln(v
odd
)-(1-l
odd
)
·
ln(1-v
odd
)计算得到损失数值loss1,式中
·
为哈达马积运算;
100.e-4)通过公式loss2=∑(v
odd-v
even
)2·
l
odd
计算得到损失数值loss2;
101.e-5)通过公式loss=loss1+loss2计算得到最终的损失数值loss并输出。
102.实施例7:
103.步骤f)中优化算法为adam算法或sgd算法。
104.实施例8:
105.步骤i)中特征点解码模块的处理方法为:
106.i-1)获取张量v

、数值l

及数值m


107.i-2)取出张量v

的奇数行的数据组成张量v

odd
,取出张量v

的偶数行的数据组成张量v

even
,张量v

odd
与张量v

even
均为大小为(12,m

)的张量,建立超参数u,超参数u为大于2的正整数;
108.i-3)建立空集合p


109.i-4)将张量v

odd
中大于等于0.5的数修改为1,小于0.5的数修改为0;
110.i-5)建立变量y,并使用1值初始化变量y;
111.i-6)取出张量v

odd
中的第y行表示为v

odd
→y,取出张量v

even
中的第y行表示为v

even
→y;
112.i-7)从第1列开始搜索v

odd
→y中连续为1的部分表示为w,将w对应在v

even
→y中的部分表示为b,如果w的长度等于大于u,则通过公式计算得到特征点,并将计算得到的特征点放入集合p

中,式中h为w中各列的坐标值;
113.i-8)如果w的长度小于u,则舍弃w和b后重复执行步骤i-7),直至v

odd
→y全部搜索完毕;
114.i-9)使用公式y=y+1修改变量y的值;
115.i-10)如果变量y大于12则执行i-11),如果变量小于等于12则返回执行步骤i-6);
116.i-11)输出集合p


117.实施例9:
118.步骤d-4)中超参数s的取值为5,步骤i-2)中超参数u的取值为5。
119.最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1