一种基于组合二维特征的12导联ECG信号分类方法与流程

allin2023-02-16  150


一种基于组合二维特征的12导联ecg信号分类方法
技术领域
1.本发明涉及ecg信号分类领域,具体涉及一种基于组合二维特征的12导联ecg信号分类方法。


背景技术:

2.心电图(ecg)作为一种无创、简单、高效、低廉的心脏状态检测工具,应用广泛。但是,目前大多数的ecg信号分类方法使用的是单导联的数据,这些方法无法有效的使用包含更多信息的12导联数据,致使分类性能偏低。


技术实现要素:

3.本发明为了克服以上技术的不足,提供了一种获取到更加丰富、全面ecg特征信息的方法。
4.本发明克服其技术问题所采用的技术方案是:
5.一种基于组合二维特征的12导联ecg信号分类方法,包括如下步骤:
6.a)读取12导联数据库中的第i条ecg数据,记为signali,i∈{1,2,...,n},n为12导联数据库中ecg数据个数,ecg数据signali中r峰位置为loc_ri、标签为labelsi;
7.b)对ecg数据signali进行小波变换,得到小波变换后的数据coe;
8.c)通过公式计算得到小波系数的阈值λ,n为signali的长度,将阈值λ代入软阈值去噪法中,剔除数据coe中包含的噪声的小波系数;
9.d)重构剔除包含噪声的小波系数后的ecg数据,得到去除噪声后的12导联ecg数据,记为nnsigi;
10.e)对ecg数据nnsigi的每一个导联进行归一化,得到归一化后的ecg数据datai;
11.f)遍历标签labelsi,将标签值为1、2、3、11和34的重置为标签值为0,将标签值为4、7、8和9的重置为标签值为1,将标签值为5和10的重置为标签值为2,将标签值为6的重置为标签值为3,将标签值为13、13和38的重置为标签值为4;
12.g)选取r峰位置loc_ri中的连续三个值r
j-1
、rj和r
j+1
,按分割起点位置为分割终点位置为对ecg数据datai中的每个导联上截取对应位置的数据,得到分割后的单心拍数据集合beatsi;
13.h)重复执行步骤b)至步骤g),直至12导联数据库中所有的ecg数据均被分割成单心拍数据集合;
14.i)从分割后的所有单心拍数据集合中随机挑选60%的单心拍数据集合beatsi及其对应的标签labelsi作为训练集,从剩余的所有单心拍数据集合中再随机挑选20%的单心拍数据集合beatsi及其对应的标签labelsi作为验证集,最终剩余的所有单心拍数据集合作为测试集;
15.j)从训练集中读取64个心拍数据beats及其对应的标签ys,依次将心拍数据beats中的12个导联数据分别输入到12路并行的输入层中;
16.k)导联数据进入输入层后经4个卷积核为11,步长为2的一维卷积处理,卷积处理后输入到bn层进行规范化处理,规范化处理后的数据通过relu激活函数处理,激活后的数据由池化核为2,池化步长为2的最大池化层进行特征下采样操作;
17.l)心拍数据beats中的每一个导联数据重复执行步骤k)两次得到输出数据cfmi;
18.m)对每个导联的数据cfmi执行全局平均池化操作,得到池化后的数据afmi;
19.n)将12个导联的池化后的数据afmi分别通过flatten函数展平成长度12的一维向量vi,将12个一维向量vi拼接组合成一个12
×
12的组合二维特征m;
20.o)将组合二维特征m输入到一个二维卷积层中进行卷积操作,卷积操作后依次输入bn层和relu层,得到输出结果m


21.p)将m

进行最大池化处理,生成特征图pm;
22.q)重复执行步骤o),得到m


23.r)将m

经平均池化层池化处理,生成特征图am;
24.s)将特征图am输入全连接层,得到ecg信号分类结果完成模型建立;
25.t)计算损失函数,并利用损失函数训练模型,得到优化后的模型;
26.u)将获取的12导联数据输入到优化后的模型中,得到优化后的模型输出的ecg信号分类结果
27.进一步的,步骤a)中12导联数据库为incart数据库。
28.进一步的,步骤b)中使用db8小波对signali进行8尺度分解,通过计算得到小波变换后的数据coe,式中α为大于0的尺度因子,τ为小波函数的平移量,为db8小波,为t时刻的signali的值。
29.进一步的,步骤d)中使用python中的pywt.waverec()函数重构剔除包含噪声的小波系数后的ecg数据。
30.进一步的,步骤e)中通过公式计算得到归一化后的ecg数据datai中第i个导联的归一化后的数据di,式中为nnsigi中第l个输入数据,为nnsigi中第j个输入数据,l,j∈[1,n]。
[0031]
进一步的,步骤l)中第一次重复时经过8个卷积核为11,步长为2的一维卷积处理,第二次重复时经过12个卷积核为11,步长为2的一维卷积处理。
[0032]
进一步的,步骤o)中二维卷积层有32个卷积核,每个卷积核大小为3
×
3,步长为1
×
1,填充为1
×
1,步骤p)中最大池化层的池化核为2
×
2,池化步长为2
×
2,步骤q)中重复执
行步骤o)时的二维卷积层有64个卷积核,每个卷积核大小为3
×
3,步长为2
×
2,填充为1
×
1,步骤r)中平均池化的池化核为3
×
3。
[0033]
进一步的,步骤t)包括如下步骤:
[0034]
t-1)通过公式
[0035][0036]
计算损失函数loss,式中l为ecg信号分类结果和真实标签ys的长度,ecg信号分类结果的长度与真实标签ys的长度相等,k为类别的个数,为第j个预测标签的对应第i类的概率值,ysj为第j个真实标签;
[0037]
t-2)设置动态调整学习率,使用adam优化器优化模型的参数;
[0038]
t-3)重复步骤j)至步骤t-2),直到训练集中所有数据均被模型训练过,保存所有loss的平均值aloss和模型参数;
[0039]
t-4)重复步骤j)至步骤t-3)100次;
[0040]
t-4)选出100个aloss值中最小的一个,并加载其对应的模型参数;
[0041]
t-5)读取所有验证集中的数据,重复步骤j)至步骤u),读取到的真实标签记为vys,模型输出的预测标签记为
[0042]
t-6)计算真实标签记vys与预测标签记的平均f1分数;
[0043]
t-7)若f1分数小于0.95,则重复执行步骤j)至步骤t-6);
[0044]
t-8)保存模型参数,得到优化后的模型。
[0045]
本发明的有益效果是:可以有效的使用12导联的ecg数据,通过拼接组合,本发明能够非常高效的对比不同ecg导联的数据差别,从而获取到更加丰富、全面的ecg特征信息,有效的提高ecg分类精度。通过使用的带权损失函数可以有效的缓解数据不平衡的问题,有助于提升方法的分类性能。
附图说明
[0046]
图1为本发明的网络结构图;
[0047]
图2为本发明的方法流程图。
具体实施方式
[0048]
下面结合附图1、附图2对本发明做进一步说明。
[0049]
一种基于组合二维特征的12导联ecg信号分类方法,包括如下步骤:
[0050]
a)读取12导联数据库中的第i条ecg数据,记为signali,i∈{1,2,...,n},n为12导联数据库中ecg数据个数,ecg数据signali中r峰位置为loc_ri、标签为labelsi。
[0051]
b)对ecg数据signali进行小波变换,得到小波变换后的数据coe。
[0052]
c)通过公式计算得到小波系数的阈值λ,n为signali的长度,将阈值
λ代入软阈值去噪法中,剔除数据coe中包含的噪声的小波系数。
[0053]
d)重构剔除包含噪声的小波系数后的ecg数据,得到去除噪声后的12导联ecg数据,记为nnsigi。
[0054]
e)对ecg数据nnsigi的每一个导联进行归一化,得到归一化后的ecg数据datai。
[0055]
f)遍历标签labelsi,将标签值为1、2、3、11和34的重置为标签值为0,将标签值为4、7、8和9的重置为标签值为1,将标签值为5和10的重置为标签值为2,将标签值为6的重置为标签值为3,将标签值为13、13和38的重置为标签值为4。
[0056]
g)选取r峰位置loc_ri中的连续三个值r
j-1
、rj和r
j+1
,按分割起点位置为分割终点位置为对ecg数据datai中的每个导联上截取对应位置的数据,得到分割后的单心拍数据集合beatsi。
[0057]
h)重复执行步骤b)至步骤g),直至12导联数据库中所有的ecg数据均被分割成单心拍数据集合。
[0058]
i)从分割后的所有单心拍数据集合中随机挑选60%的单心拍数据集合beatsi及其对应的标签labelsi作为训练集,从剩余的所有单心拍数据集合中再随机挑选20%的单心拍数据集合beatsi及其对应的标签labelsi作为验证集,最终剩余的所有单心拍数据集合作为测试集。
[0059]
j)从训练集中读取64个心拍数据beats及其对应的标签ys,依次将心拍数据beats中的12个导联数据分别输入到12路并行的输入层中。
[0060]
k)导联数据进入输入层后经4个卷积核为11,步长为2的一维卷积处理,卷积处理后输入到bn层进行规范化处理,规范化处理后的数据通过relu激活函数处理,激活后的数据由池化核为2,池化步长为2的最大池化层进行特征下采样操作。
[0061]
l)心拍数据beats中的每一个导联数据重复执行步骤k)两次得到输出数据cfmi。
[0062]
m)对每个导联的数据cfmi执行全局平均池化操作,得到池化后的数据afmi。
[0063]
n)将12个导联的池化后的数据afmi分别通过flatten函数展平成长度12的一维向量vi,将12个一维向量vi拼接组合成一个12
×
12的组合二维特征m。
[0064]
o)将组合二维特征m输入到一个二维卷积层中进行卷积操作,卷积操作后依次输入bn层和relu层,得到输出结果m


[0065]
p)将m

进行最大池化处理,生成特征图pm。
[0066]
q)重复执行步骤o),得到m


[0067]
r)将m

经平均池化层池化处理,生成特征图am。
[0068]
s)将特征图am输入全连接层,得到ecg信号分类结果完成模型建立。
[0069]
t)计算损失函数,并利用损失函数训练模型,得到优化后的模型。
[0070]
u)将获取的12导联数据输入到优化后的模型中,得到优化后的模型输出的ecg信号分类结果可以有效的使用12导联的ecg数据,通过拼接组合,本发明能够非常高效的对比不同ecg导联的数据差别,从而获取到更加丰富、全面的ecg特征信息,有效的提高ecg分类精度。通过使用的带权损失函数可以有效的缓解数据不平衡的问题,有助于提升方法
的分类性能。
[0071]
实施例1:
[0072]
步骤a)中12导联数据库为incart数据库。
[0073]
实施例2:
[0074]
步骤b)中使用db8小波对signali进行8尺度分解,通过计算得到小波变换后的数据coe,式中α为大于0的尺度因子,τ为小波函数的平移量,为db8小波,为t时刻的signali的值。
[0075]
实施例3:
[0076]
步骤d)中使用python中的pywt.waverec()函数重构剔除包含噪声的小波系数后的ecg数据。
[0077]
实施例4:
[0078]
步骤e)中通过公式计算得到归一化后的ecg数据datai中第i个导联的归一化后的数据di,式中为nnsigi中第l个输入数据,为nnsigi中第j个输入数据,l,j∈[1,n]。
[0079]
实施例5:
[0080]
步骤l)中第一次重复时经过8个卷积核为11,步长为2的一维卷积处理,第二次重复时经过12个卷积核为11,步长为2的一维卷积处理。
[0081]
实施例6:
[0082]
步骤o)中二维卷积层有32个卷积核,每个卷积核大小为3
×
3,步长为1
×
1,填充为1
×
1,步骤p)中最大池化层的池化核为2
×
2,池化步长为2
×
2,步骤q)中重复执行步骤o)时的二维卷积层有64个卷积核,每个卷积核大小为3
×
3,步长为2
×
2,填充为1
×
1,步骤r)中平均池化的池化核为3
×
3。
[0083]
实施例7:
[0084]
步骤t)包括如下步骤:
[0085]
t-1)通过公式
[0086][0087]
计算损失函数loss,式中l为ecg信号分类结果和真实标签ys的长度,ecg信号分类结果的长度与真实标签ys的长度相等,k为类别的个数,为第j个预测标签的对应第i类的概率值,ysj为第j个真实标签;
[0088]
t-2)设置动态调整学习率(比如reducelronplateau、multisteplr、steplr),使用adam优化器优化模型的参数;
[0089]
t-3)重复步骤j)至步骤t-2),直到训练集中所有数据均被模型训练过,保存所有loss的平均值aloss和模型参数;
[0090]
t-4)重复步骤j)至步骤t-3)100次;
[0091]
t-4)选出100个aloss值中最小的一个,并加载其对应的模型参数;
[0092]
t-5)读取所有验证集中的数据,重复步骤j)至步骤u),读取到的真实标签记为vys,模型输出的预测标签记为
[0093]
t-6)计算真实标签记vys与预测标签记的平均f1分数;
[0094]
t-7)若f1分数小于0.95,则重复执行步骤j)至步骤t-6);
[0095]
t-8)保存模型参数,得到优化后的模型。
[0096]
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种基于组合二维特征的12导联ecg信号分类方法,其特征在于,包括如下步骤:a)读取12导联数据库中的第i条ecg数据,记为signal
i
,i∈{1,2,...,n},n为12导联数据库中ecg数据个数,ecg数据signal
i
中r峰位置为loc_r
i
、标签为labels
i
;b)对ecg数据signal
i
进行小波变换,得到小波变换后的数据coe;c)通过公式计算得到小波系数的阈值λ,n为signal
i
的长度,将阈值λ代入软阈值去噪法中,剔除数据coe中包含的噪声的小波系数;d)重构剔除包含噪声的小波系数后的ecg数据,得到去除噪声后的12导联ecg数据,记为nnsig
i
;e)对ecg数据nnsig
i
的每一个导联进行归一化,得到归一化后的ecg数据data
i
;f)遍历标签labels
i
,将标签值为1、2、3、11和34的重置为标签值为0,将标签值为4、7、8和9的重置为标签值为1,将标签值为5和10的重置为标签值为2,将标签值为6的重置为标签值为3,将标签值为13、13和38的重置为标签值为4;g)选取r峰位置loc_r
i
中的连续三个值r
j-1
、r
j
和r
j+1
,按分割起点位置为分割终点位置为对ecg数据data
i
中的每个导联上截取对应位置的数据,得到分割后的单心拍数据集合beats
i
;h)重复执行步骤b)至步骤g),直至12导联数据库中所有的ecg数据均被分割成单心拍数据集合;i)从分割后的所有单心拍数据集合中随机挑选60%的单心拍数据集合beats
i
及其对应的标签labels
i
作为训练集,从剩余的所有单心拍数据集合中再随机挑选20%的单心拍数据集合beats
i
及其对应的标签labels
i
作为验证集,最终剩余的所有单心拍数据集合作为测试集;j)从训练集中读取64个心拍数据beats及其对应的标签ys,依次将心拍数据beats中的12个导联数据分别输入到12路并行的输入层中;k)导联数据进入输入层后经4个卷积核为11,步长为2的一维卷积处理,卷积处理后输入到bn层进行规范化处理,规范化处理后的数据通过relu激活函数处理,激活后的数据由池化核为2,池化步长为2的最大池化层进行特征下采样操作;l)心拍数据beats中的每一个导联数据重复执行步骤k)两次得到输出数据cfm
i
;m)对每个导联的数据cfm
i
执行全局平均池化操作,得到池化后的数据afm
i
;n)将12个导联的池化后的数据afm
i
分别通过flatten函数展平成长度12的一维向量v
i
,将12个一维向量v
i
拼接组合成一个12
×
12的组合二维特征m;o)将组合二维特征m输入到一个二维卷积层中进行卷积操作,卷积操作后依次输入bn层和relu层,得到输出结果m

;p)将m

进行最大池化处理,生成特征图pm;q)重复执行步骤o),得到m

;r)将m

经平均池化层池化处理,生成特征图am;s)将特征图am输入全连接层,得到ecg信号分类结果完成模型建立;
t)计算损失函数,并利用损失函数训练模型,得到优化后的模型;u)将获取的12导联数据输入到优化后的模型中,得到优化后的模型输出的ecg信号分类结果2.根据权利要求1所述的基于组合二维特征的12导联ecg信号分类方法,其特征在于:步骤a)中12导联数据库为incart数据库。3.根据权利要求1所述的基于组合二维特征的12导联ecg信号分类方法,其特征在于:步骤b)中使用db8小波对signal
i
进行8尺度分解,通过计算得到小波变换后的数据coe,式中α为大于0的尺度因子,τ为小波函数的平移量,为db8小波,为t时刻的signal
i
的值。4.根据权利要求1所述的基于组合二维特征的12导联ecg信号分类方法,其特征在于:步骤d)中使用python中的pywt.waverec()函数重构剔除包含噪声的小波系数后的ecg数据。5.根据权利要求1所述的基于组合二维特征的12导联ecg信号分类方法,其特征在于:步骤e)中通过公式计算得到归一化后的ecg数据data
i
中第i个导联的归一化后的数据d
i
,式中为nnsig
i
中第l个输入数据,为nnsig
i
中第j个输入数据,l,j∈[1,n]。6.根据权利要求1所述的基于组合二维特征的12导联ecg信号分类方法,其特征在于:步骤l)中第一次重复时经过8个卷积核为11,步长为2的一维卷积处理,第二次重复时经过12个卷积核为11,步长为2的一维卷积处理。7.根据权利要求1所述的基于组合二维特征的12导联ecg信号分类方法,其特征在于:步骤o)中二维卷积层有32个卷积核,每个卷积核大小为3
×
3,步长为1
×
1,填充为1
×
1,步骤p)中最大池化层的池化核为2
×
2,池化步长为2
×
2,步骤q)中重复执行步骤o)时的二维卷积层有64个卷积核,每个卷积核大小为3
×
3,步长为2
×
2,填充为1
×
1,步骤r)中平均池化的池化核为3
×
3。8.根据权利要求1所述的基于组合二维特征的12导联ecg信号分类方法,其特征在于,步骤t)包括如下步骤:t-1)通过公式计算损失函数loss,式中l为ecg信号分类结果和真实标签ys的长度,ecg信号分类结
果的长度与真实标签ys的长度相等,k为类别的个数,为第j个预测标签的对应第i类的概率值,ys
j
为第j个真实标签;t-2)设置动态调整学习率,使用adam优化器优化模型的参数;t-3)重复步骤j)至步骤t-2),直到训练集中所有数据均被模型训练过,保存所有loss的平均值aloss和模型参数;t-4)重复步骤j)至步骤t-3)100次;t-4)选出100个aloss值中最小的一个,并加载其对应的模型参数;t-5)读取所有验证集中的数据,重复步骤j)至步骤u),读取到的真实标签记为vys,模型输出的预测标签记为t-6)计算真实标签记vys与预测标签记的平均f1分数;t-7)若f1分数小于0.95,则重复执行步骤j)至步骤t-6);t-8)保存模型参数,得到优化后的模型。

技术总结
一种基于组合二维特征的12导联ECG信号分类方法,可以有效的使用12导联的ECG数据,通过拼接组合,本发明能够非常高效的对比不同ECG导联的数据差别,从而获取到更加丰富、全面的ECG特征信息,有效的提高ECG分类精度。通过使用的带权损失函数可以有效的缓解数据不平衡的问题,有助于提升方法的分类性能。有助于提升方法的分类性能。有助于提升方法的分类性能。


技术研发人员:舒明雷 解洪富 刘辉 朱亮 刘瑞霞
受保护的技术使用者:山东省人工智能研究院
技术研发日:2022.03.31
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-5176.html

最新回复(0)