一种基于QRS波群不定次循环叠加的心电图心搏分类方法与流程

文档序号:32614993发布日期:2022-12-20 21:10阅读:25来源:国知局
一种基于QRS波群不定次循环叠加的心电图心搏分类方法与流程
一种基于qrs波群不定次循环叠加的心电图心搏分类方法
技术领域
1.本发明为一种基于qrs波群不定次循环叠加的心电图心搏分类方法,属于心电图技术领域。


背景技术:

2.心电图(electrocardiograph,ecg)记录的是心电信号的电压随时间变化的曲线,是心脏由起搏点、心房、心室相继兴奋伴随的电生理活动在身体表面上的表达,并通过皮肤上的电极捕捉并记录下来,反映心脏激动的电学活动量度,心脏激动按照一定的顺序传导,且在每个部位的传导时间都有一个固定的范围,但如果激动传导时间、传导顺序或激动起源部位发生变化,便发生心律失常。ecg通过p波、qrs波群和t波等(如图1)充分记录了在不同的生理和心理活动下,健康状态和病变状态心电周期(也称为心搏)发生的时刻、形态等信息,为临床病例分析提供了大量参考,一直是临床上检测和分析心脏疾病的重要依据。
3.心电图心搏的常见类型有心房颤动(atrial fibrillation,af),室性早搏(premature ventricular contraction,pvc)和房性早搏(premature atrial contraction,pac)等。传统的心电图心搏分析依靠医生心脏病学领域的大量知识和个人经验,将当前的医疗技术用于分析心搏波形做出分析结果。但是,心律失常因在病患基础疾病和个体体质等因素的不同可能在心电图上造成各种形态变化,且大量的检测数据也增加了医生后续的分析工作强度,在长时间工作的情况下,还可能导致医生误诊。为了减轻医生负担,辅助医生提高分析的准确率,心电图心搏的自动分析逐渐成为研究热点。
4.目前心搏类型识别方法的相关研究大多集中在两个方面,一方面是基于ecg心搏形态的方法,另一方面是基于心搏rr间期的方法,体现在特征提取和模板匹配方法上,其原理是首先根据心电样本主导节律心搏的qrs波群形态建立样本主导节律叠加波模板,然后提取目标心搏和主导节律叠加波模板的波形幅值、面积、斜率等形态特征,或是通过某种特征变换使其波形所在特征空间的心搏类型更易区分,或是提取相邻心搏的rr间期、心率等特征,最后将目标心搏和主导节律叠加波模板提取的特征进行互相对比和计算等进而判定其类型。在此过程心电样本中主导节律心搏的寻找确定尤为重要,其影响叠加波模板的构建,影响后续心搏形态和rr间期的分析,进而影响心电样本所有心搏类型的识别。传统确定主导节律心搏的方法有通过rr间期均值、方差等统计值寻找节律稳定的心搏,或直接取波形的前若干个心搏进行计算等,优点是方法原理简单,但由于心搏变异性的普遍存在,且主导节律心搏容易受到噪声干扰,传统确定主导节律心搏的方法对于提取准确的主导节律心搏难以胜任,导致对常见多类型心电图心搏的同时识别造成困难。为此,设计一种基于qrs波群不定次循环叠加的心电图心搏分类方法以克服上述问题。


技术实现要素:

5.本发明的目的在于提供一种基于qrs波群不定次循环叠加的心电图心搏分类方法,通过qrs波群筛选自动更新主导节律的心搏,解决准确提取主导节律心搏的问题,进而
可以准确构建主导节律心搏的叠加波、准确分析心电样本各心搏的形态和rr间期,从而实现对常见多类型心律失常的同时识别。
6.为实现上述目的,本发明提供如下技术方案:一种基于qrs波群不定次循环叠加的心电图心搏分类方法,所述方法包括以下步骤:
7.步骤一:单导联心电信号获取及预处理。根据预设的采样率,采用干电极获取t秒固定长度的u份训练集和v份测试集的单导联ecg样本,并对每个样本进行滤波去噪,去肌电、工频干扰和去基线漂移处理;
8.步骤二:心电样本数据4个等级干扰的识别;
9.步骤三:心搏聚类分析,针对预处理后的心电样本,基于正则化最小二乘回归学习方法定位r波位置,以检测到的r波位置为中心,向前向后取一定数量采样点的固定窗口对样本进行分割,共分割得到la个心搏,根据上一步骤的干扰识别,对只有1级和2级干扰级别的l个心搏进行聚类分析,共分为三个阶段,以获取心搏数量最多的两类心搏;
10.步骤四:第一次构建叠加波,本步骤针对每个心电样本构建独特的心搏叠加波。将上述步骤获取的样本心搏集合l
clu
用来构建叠加波,所有用于构建的心搏以r波位置为基准点向前向后对齐,并对每个心搏采样点对应的振幅幅值进行排序,截取第15百分位至第85百分位对应的心搏幅值求和取平均,作为当前采样点对应的叠加波振幅幅值,以此来第一次构建叠加波;公式如下:
[0011][0012]
其中m是当前心搏的第m个采样点,p
15
和p
85
分别是每个心搏当前采样点对应的振幅幅值排序之后处于在15%和85%的位置,am是叠加波第m个采样点的幅值,是第m个采样点处于第i百分位的心搏幅值;
[0013]
步骤五:确定主导节律是窦性心律还是房颤心律,根据步骤二的心搏干扰识别,对只有1级和2级干扰级别的心搏进行房颤分析;
[0014]
步骤六:计算主导节律的rr间期并进行心搏早搏识别;
[0015]
根据步骤五分析结果,若心电样本主节律为非房颤节律,则首先根据步骤三获取的样本心搏集合l
clu
获取相邻的心搏,计算相邻心搏的rr间期,并对每个rr间期进行排序,截取第15百分位至第85百分位对应的rr间期求和取平均,作为当前样本主导节律的rr间期,接着对样本心搏进行室性早搏和房性早搏的识别。主导节律的rr间期计算公式如下:
[0016][0017]
其中p
15
和p
85
分别是相邻心搏rr间期排序之后处于在15%和85%的位置,i
rr
是当前样本主导节律的rr间期,ij是处于第j百分位的rr间期;
[0018]
若心电样本主节律为房颤节律,则进一步对心搏进行室性早搏识别。
[0019]
步骤七:计算样本全部心搏当前判定类型和上一轮循环的结果相比是否均没有变化,若有变化,则重新从步骤四开始流程循环继续判断心搏类型,首先针对主节律非房颤样本,排除掉室性早搏、3级和4级干扰心搏,只针对窦性心搏和房早心搏按照步骤四第一次构建叠加波的方法再次构建样本的叠加波;针对主节律房颤样本,排除掉室性早搏、3级和4级
干扰心搏,只针对房颤心搏按照步骤四第一次构建叠加波的方法再次构建样本的叠加波。接着根据第二次构建的叠加波,再次主节律房颤分析、计算主导节律rr间期及心搏早搏识别:首先根据步骤六对样本心搏室性早搏的识别结果,排除掉室性早搏、3级和4级干扰心搏,针对剩余心搏再次按照步骤五对主节律进行房颤分析;其次,依据房颤分析结果,根据步骤六的主导节律rr间期计算和早搏识别方法,对心搏进行室性早搏和房性早搏的识别。若无变化,则输出心搏类别;
[0020]
步骤八:重复步骤七,直至循环到全部心搏当前判定类型和上一轮循环判定类型相同,才完成所有心搏的类型识别。
[0021]
作为优选:所述步骤二中心电样本数据4个等级干扰的识别方法为:
[0022]
1)首先将预处理后的心电样本数据按照n秒钟长度切片,再进行间隔m个点的下采样,获得心电数据x,并对其进行标注得到y;
[0023]
2)其次,对心电数据x进行傅里叶变换f,并将其实部标准化norm之后和x相加,得到输出xf;再次,训练卷积神经网络,设计一个包含四层卷积层的一维卷积神经网络来提取特征,同时在每第二个卷积层之后加一个maxpooling层用来筛选特征,并规定每一层合适的通道数c,卷积核长度k和卷积步长strides,随后接一个averagepool层和两层全连接层来解码提取到的特征,全连接层的通道数分别为c和4,第二个全连接层的输出为xfc,xfc通过softmax层,得到4个类别概率的一维向量xout,设定学习率lr、损失函数loss,用adam优化器进行训练,直到模型收敛;
[0024]
3)最后,导入测试数据进行4个等级干扰的识别,对比最终输出的4个概率xp,取其中最高概率对应的等级作为n秒钟的干扰等级。公式如下:
[0025]
xf=x+norm(real(f(x)))
[0026][0027]
norm(x)=(x-x
min
)/(x
max-x
min
)
[0028][0029][0030]
作为优选:所述步骤三中三个阶段分别为:
[0031]
第一阶段,在对样本l个心搏进行聚类前,首先需要产生模板心搏,将目标心搏与模板心搏进行相似度距离计算,相似度距离满足一定阈值条件的目标心搏匹配归入相应模板类别。选取相似度距离阈值th,从样本的l个心搏中随机抽取ls个心搏,并选择第一个心搏ls1作为第一个模板心搏类型t1,计算第二个心搏ls2到t1的相似度距离d
21
,如果满足d
21
》th,则将ls2匹配归入该类别,否则以ls2为新建模板心搏t2,继续计算下一个心搏lsi与已有的若干个模板心搏间相似度距离d
ij
(j=0,1,2,...),若满足且d
im
》th,则将该心搏匹配归于模板类别tm,否则以lsi为新建模板心搏类别,重复此步骤,直至完成随机ls个心搏的聚类。最后对随机的ls个心搏模板分类结果进行统计排序,选取心搏匹配个数最多的模板类别t
max
,将ls个心搏中属于t
max
的所有心搏数据做平均,得到一个平均模板心
搏t
avg

[0032]
第二阶段,对样本l个心搏第一次进行聚类,获取心搏匹配个数最多的一类。将上一阶段得到的平均模板心搏t
avg
作为第一个心搏模板类型,重复第一阶段的心搏匹配模板的步骤,直到所有l个心搏匹配完毕。最后对全部l个模板心搏分类结果进行统计排序,得到心搏匹配个数最多的模板类别,获取其匹配的心搏集合l
clu1
及个数c1。
[0033]
第三阶段,样本中全部l个心搏去掉上一阶段最多一类c1个心搏后,再对剩余l-c1个的心搏第二次进行聚类。对l-c1个心搏重复第一阶段步骤,得到随机抽取心搏匹配个数最多的模板类别,接着对l-c1个心搏重复第二阶段步骤,得到匹配个数最多的模板类别,获取其匹配心搏集合l
clu2
及其个数c2。将第二阶段和第三阶段获得的心搏集合l
clu1
、l
clu2
合并为一个心搏集合l
clu

[0034]
作为优选:所述步骤五中房颤心律识别方法为:
[0035]
1)首先计算相应的rr间期,设定rr间期阈值为300ms-1800ms,去除不符合阈值范围的rr间期,再对rr间期进行排序;
[0036]
2)其次,计算所有rr间期的平均值,标准差等数值特征,把所有rr间期中的最小rr间期值定为滑动扫描窗口的起点,最大rr间期值定为滑动扫描窗口的终点,rr间期的平均值的1/10作为滑动扫描窗口的宽度,扫描步长设为1,扫描得到每个滑动扫描窗口中的rr间期数据,选取rr间期个数排在前三位的滑动窗口window1、window2、window3,并且保证这三个滑动窗口互不相交;
[0037]
3)再次,分类特征计算。根据所述的三个滑动窗口对分类特征进行统计计算,包括:window1、window2、window3内对应的rr间期的个数;window1、window2、window3中rr间期序号连续的个数总和以及它的占比;window1、window2、window3中rr间期序号间隔三个数的个数总和以及它的占比等特征;
[0038]
4)最后,使用lightgbm算法训练房颤识别模型,并将其应用于验证集的数据上,使用特异性和f1值评估模型的性能,选择性能优异的作为最终的分类模型。
[0039]
作为优选:所述室性早搏识别方法为:
[0040]
1)首先对每个样本的所有单个心搏及叠加波进行qrs波起始点、q波顶点、r波顶点、s波顶点、qrs波终止点、t波起始点、t波顶点、t波终止点及主波的位置,共9个子波关键点位置进行定位;
[0041]
2)其次,根据9个定位点确定心搏qrs波及t波之间的斜率大小、各心搏和叠加波的余弦相似度等9条规则检测特殊的pvc心搏,判断心搏信号是否符合9种规则,若符合,此心搏为室性早搏心搏,若不符合,继续下述步骤;
[0042]
3)再次,用r波顶点位置前后的少数点逐点叠加来近似表达qrs波形,提取斜率、高度、宽度、比例等多个参数描述每个心搏及叠加波的qrs波形态特征,该特征集合包括了斜率特征群、高度特征群、宽度特征群;
[0043]
4)最后,在基于规则第一次检测出的非室性早搏心搏的基础上,根据上述步骤提取心搏的斜率、高度、宽度特征群,结合对应的心搏标签,输入到lightgbm模型中进行训练,得到室性早搏检测模型,接着将规则和训练好的室性早搏识别模型应用在测试集的心搏数据上,将最后的输出结果与测试集样本的标签进行对比,使用召回率和精度评估模型的性能,若上述识别心搏结果为非室性早搏,则继续根据斜率特征群、高度特征群、宽度特征群
判断心搏形态与叠加波是否一致,联律间期是否小于80%主节律间期进行房性早搏的识别。
[0044]
本发明基于qrs波群不定次循环叠加的心电图心搏分类方法,其目的在于多次循环识别样本心搏类型,通过qrs波群筛选自动更新主导节律的心搏,解决准确提取主导节律心搏的问题,进而可以准确构建主导节律心搏的叠加波、准确分析心电样本各心搏的形态和rr间期,从而实现对常见多类型心律失常的同时识别。
附图说明
[0045]
图1是典型的一个ecg心搏的示意图。
[0046]
图2是本发明的总体算法流程图。(其中n表示窦性心搏,af表示房颤心搏,s表示房性早搏心搏,v表示室性早搏心搏,x表示干扰心搏。)
[0047]
图3是本发明步骤二的4个等级干扰识别的算法流程图。
[0048]
图4是本发明步骤五房颤心律识别的算法流程图。
[0049]
图5是本发明步骤六早搏识别的算法流程图。
[0050]
图6是本发明样本五轮循环的叠加波和心搏分类结果图(第一轮)。
[0051]
图7是本发明样本五轮循环的叠加波和心搏分类结果图(第二轮)。
[0052]
图8是本发明样本五轮循环的叠加波和心搏分类结果图(第三轮)。
[0053]
图9是本发明样本五轮循环的叠加波和心搏分类结果图(第四轮)。
[0054]
图10是本发明样本五轮循环的叠加波和心搏分类结果图(第五轮)。
具体实施方式
[0055]
结合附图对本发明作详细的介绍:如图2所示,一种基于qrs波群不定次循环叠加的心电图心搏分类方法,所述方法包括以下步骤:
[0056]
步骤一:单导联心电信号获取及预处理。根据预设的采样率,采用干电极获取t秒固定长度的u份训练集和v份测试集的单导联ecg样本,并对每个样本进行滤波去噪,去肌电、工频干扰和去基线漂移处理;
[0057]
步骤二:心电样本数据4个等级干扰的识别;
[0058]
步骤三:心搏聚类分析,针对预处理后的心电样本,基于正则化最小二乘回归学习方法定位r波位置,以检测到的r波位置为中心,向前向后取一定数量采样点的固定窗口对样本进行分割,共分割得到la个心搏,根据上一步骤的干扰识别,对只有1级和2级干扰级别的l个心搏进行聚类分析,共分为三个阶段,以获取心搏数量最多的两类心搏;
[0059]
步骤四:第一次构建叠加波,本步骤针对每个心电样本构建独特的心搏叠加波。将上述步骤获取的样本心搏集合l
clu
用来构建叠加波,所有用于构建的心搏以r波位置为基准点向前向后对齐,并对每个心搏采样点对应的振幅幅值进行排序,截取第15百分位至第85百分位对应的心搏幅值求和取平均,作为当前采样点对应的叠加波振幅幅值,以此来第一次构建叠加波;公式如下:
[0060][0061]
其中m是当前心搏的第m个采样点,p
15
和p
85
分别是每个心搏当前采样点对应的振
幅幅值排序之后处于在15%和85%的位置,am是叠加波第m个采样点的幅值,是第m个采样点处于第i百分位的心搏幅值;
[0062]
步骤五:确定主导节律是窦性心律还是房颤心律,根据步骤二的心搏干扰识别,对只有1级和2级干扰级别的心搏进行房颤分析;
[0063]
步骤六:计算主导节律的rr间期并进行心搏早搏识别;
[0064]
根据步骤五分析结果,若心电样本主节律为非房颤节律,则首先根据步骤三获取的样本心搏集合l
clu
获取相邻的心搏,计算相邻心搏的rr间期,并对每个rr间期进行排序,截取第15百分位至第85百分位对应的rr间期求和取平均,作为当前样本主导节律的rr间期,接着对样本心搏进行室性早搏和房性早搏的识别。主导节律的rr间期计算公式如下:
[0065][0066]
其中p
15
和p
85
分别是相邻心搏rr间期排序之后处于在15%和85%的位置,i
rr
是当前样本主导节律的rr间期,ij是处于第j百分位的rr间期;
[0067]
若心电样本主节律为房颤节律,则进一步对心搏进行室性早搏识别。
[0068]
步骤七:计算样本全部心搏当前判定类型和上一轮循环的结果相比是否均没有变化,若有变化,则重新从步骤四开始流程循环继续判断心搏类型,首先针对主节律非房颤样本,排除掉室性早搏、3级和4级干扰心搏,只针对窦性心搏和房早心搏按照步骤四第一次构建叠加波的方法再次构建样本的叠加波;针对主节律房颤样本,排除掉室性早搏、3级和4级干扰心搏,只针对房颤心搏按照步骤四第一次构建叠加波的方法再次构建样本的叠加波。接着根据第二次构建的叠加波,再次主节律房颤分析、计算主导节律rr间期及心搏早搏识别:首先根据步骤六对样本心搏室性早搏的识别结果,排除掉室性早搏、3级和4级干扰心搏,针对剩余心搏再次按照步骤五对主节律进行房颤分析;其次,依据房颤分析结果,根据步骤六的主导节律rr间期计算和早搏识别方法,对心搏进行室性早搏和房性早搏的识别。若无变化,则输出心搏类别;
[0069]
步骤八:重复步骤七,直至循环到全部心搏当前判定类型和上一轮循环判定类型相同,才完成所有心搏的类型识别。
[0070]
图3所示,所述步骤二中心电样本数据4个等级干扰的识别方法为:
[0071]
1)首先将预处理后的心电样本数据按照n秒钟长度切片,再进行间隔m个点的下采样,获得心电数据x,并对其进行标注得到y;
[0072]
2)其次,对心电数据x进行傅里叶变换f,并将其实部标准化norm之后和x相加,得到输出xf;再次,训练卷积神经网络,设计一个包含四层卷积层的一维卷积神经网络来提取特征,同时在每第二个卷积层之后加一个maxpooling层用来筛选特征,并规定每一层合适的通道数c,卷积核长度k和卷积步长strides,随后接一个averagepool层和两层全连接层来解码提取到的特征,全连接层的通道数分别为c和4,第二个全连接层的输出为xfc,xfc通过softmax层,得到4个类别概率的一维向量xout,设定学习率lr、损失函数loss,用adam优化器进行训练,直到模型收敛;
[0073]
3)最后,导入测试数据进行4个等级干扰的识别,对比最终输出的4个概率xp,取其中最高概率对应的等级作为n秒钟的干扰等级。公式如下:
[0074]
xf=x+norm(real(f(x)))
[0075][0076]
norm(x)=(x-x
min
)/(x
max-x
min
)
[0077][0078][0079]
所述步骤三中三个阶段分别为:
[0080]
第一阶段,在对样本l个心搏进行聚类前,首先需要产生模板心搏,将目标心搏与模板心搏进行相似度距离计算,相似度距离满足一定阈值条件的目标心搏匹配归入相应模板类别。选取相似度距离阈值th,从样本的l个心搏中随机抽取ls个心搏,并选择第一个心搏ls1作为第一个模板心搏类型t1,计算第二个心搏ls2到t1的相似度距离d
21
,如果满足d
21
》th,则将ls2匹配归入该类别,否则以ls2为新建模板心搏t2,继续计算下一个心搏lsi与已有的若干个模板心搏间相似度距离d
ij
(j=0,1,2,...),若满足且d
im
》th,则将该心搏匹配归于模板类别tm,否则以lsi为新建模板心搏类别,重复此步骤,直至完成随机ls个心搏的聚类。最后对随机的ls个心搏模板分类结果进行统计排序,选取心搏匹配个数最多的模板类别t
max
,将ls个心搏中属于t
max
的所有心搏数据做平均,得到一个平均模板心搏t
avg

[0081]
第二阶段,对样本l个心搏第一次进行聚类,获取心搏匹配个数最多的一类。将上一阶段得到的平均模板心搏t
avg
作为第一个心搏模板类型,重复第一阶段的心搏匹配模板的步骤,直到所有l个心搏匹配完毕。最后对全部l个模板心搏分类结果进行统计排序,得到心搏匹配个数最多的模板类别,获取其匹配的心搏集合l
clu1
及个数c1。
[0082]
第三阶段,样本中全部l个心搏去掉上一阶段最多一类c1个心搏后,再对剩余l-c1个的心搏第二次进行聚类。对l-c1个心搏重复第一阶段步骤,得到随机抽取心搏匹配个数最多的模板类别,接着对l-c1个心搏重复第二阶段步骤,得到匹配个数最多的模板类别,获取其匹配心搏集合l
clu2
及其个数c2。将第二阶段和第三阶段获得的心搏集合l
clu1
、l
clu2
合并为一个心搏集合l
clu

[0083]
图4所示,所述步骤五中房颤心律识别方法为:
[0084]
1)首先计算相应的rr间期,设定rr间期阈值为300ms-1800ms,去除不符合阈值范围的rr间期,再对rr间期进行排序;
[0085]
2)其次,计算所有rr间期的平均值,标准差等数值特征,把所有rr间期中的最小rr间期值定为滑动扫描窗口的起点,最大rr间期值定为滑动扫描窗口的终点,rr间期的平均值的1/10作为滑动扫描窗口的宽度,扫描步长设为1,扫描得到每个滑动扫描窗口中的rr间期数据,选取rr间期个数排在前三位的滑动窗口window1、window2、window3,并且保证这三个滑动窗口互不相交;
[0086]
3)再次,分类特征计算。根据所述的三个滑动窗口对分类特征进行统计计算,包括:window1、window2、window3内对应的rr间期的个数;window1、window2、window3中rr间期序号连续的个数总和以及它的占比;window1、window2、window3中rr间期序号间隔三个
数的个数总和以及它的占比等特征;
[0087]
4)最后,使用lightgbm算法训练房颤识别模型,并将其应用于验证集的数据上,使用特异性和f1值评估模型的性能,选择性能优异的作为最终的分类模型。
[0088]
所述室性早搏识别方法为:
[0089]
1)首先对每个样本的所有单个心搏及叠加波进行qrs波起始点、q波顶点、r波顶点、s波顶点、qrs波终止点、t波起始点、t波顶点、t波终止点及主波的位置,共9个子波关键点位置进行定位;
[0090]
2)其次,根据9个定位点确定心搏qrs波及t波之间的斜率大小、各心搏和叠加波的余弦相似度等9条规则检测特殊的pvc心搏,判断心搏信号是否符合9种规则,若符合,此心搏为室性早搏心搏,若不符合,继续下述步骤;
[0091]
3)再次,用r波顶点位置前后的少数点逐点叠加来近似表达qrs波形,提取斜率、高度、宽度、比例等多个参数描述每个心搏及叠加波的qrs波形态特征,该特征集合包括了斜率特征群、高度特征群、宽度特征群;
[0092]
4)最后,在基于规则第一次检测出的非室性早搏心搏的基础上,根据上述步骤提取心搏的斜率、高度、宽度特征群,结合对应的心搏标签,输入到lightgbm模型中进行训练,得到室性早搏检测模型,接着将规则和训练好的室性早搏识别模型应用在测试集的心搏数据上,将最后的输出结果与测试集样本的标签进行对比,使用召回率和精度评估模型的性能,若上述识别心搏结果为非室性早搏,则继续根据斜率特征群、高度特征群、宽度特征群判断心搏形态与叠加波是否一致,联律间期是否小于80%主节律间期进行房性早搏的识别。
[0093]
具体实施例
[0094]
下面将结合附图对本发明作详细的介绍:如图2所示,一种基于qrs波群不定次循环叠加的心电图心搏分类方法,所述方法包括如下步骤:
[0095]
步骤一:单导联心电信号获取及预处理。根据250hz的采样率,采用干电极获取30秒固定长度的86192份训练集和2000份测试集的单导联ecg样本,训练集中,房颤样本7645份,室性早搏样本8125份,房性早搏样本6953份,干扰样本7270份,窦性样本56199份,测试集中,房颤心搏8166个,室性早搏心搏1620个,房性早搏心搏1129个,干扰心搏1077个,窦性心搏61733个,并对每个样本进行滤波去噪,去肌电、工频干扰和去基线漂移处理。
[0096]
步骤二:心电样本数据4个等级干扰的识别。本步骤根据本公司专利一种可穿戴设备上的ecg信号的干扰波识别方法实现,具体算法流程如图3,其原理是首先将预处理后的心电样本数据按照3秒钟长度切片,再进行间隔2个点的下采样,获得心电数据x,并对其进行标注得到y;其次,对心电数据x进行傅里叶变换f,并将其实部标准化norm之后和x相加,得到输出xf;再次,训练卷积神经网络,设计一个包含四层卷积层的一维卷积神经网络来提取特征,同时在每第二个卷积层之后加一个maxpooling层用来筛选特征,其中卷积核长度k均为5,前两个卷积的步长strides为2,后两个为1,前三个卷积的通道数c为64,最后一个为128,随后接一个averagepool层和两层全连接层来解码提取到的特征,全连接层的通道数分别为64和4,第二个全连接层的输出为xfc,xfc通过softmax层,得到4个类别概率的一维向量x
out
,设定学习率0.0001、损失函数loss,用adam优化器进行训练,直到模型收敛;最后,导入测试数据进行4个等级干扰的识别,对比最终输出的4个概率xp,取其中最高概率对应
的等级作为此n秒钟的干扰等级。具体公式如下:
[0097]
xf=x+norm(real(f(x)))
ꢀꢀꢀ
(1)
[0098][0099]
norm(x)=(x-x
min
)/(x
max-x
min
)
ꢀꢀꢀ
(3)
[0100][0101][0102]
步骤三:心搏聚类分析。针对预处理后的心电样本,基于正则化最小二乘回归学习方法定位r波位置,以检测到的r波位置为中心,向前取75ms采样点、向后取125ms采样点的固定窗口对样本进行分割,共分割得到la个心搏,根据上一步骤的干扰识别,对只有1级和2级干扰级别的l个心搏进行聚类分析,共分为三个阶段,以获取心搏数量最多的两类心搏。
[0103]
第一阶段,在对样本l个心搏进行聚类前,首先需要产生模板心搏,将目标心搏与模板心搏进行余弦相似度计算,余弦相似度满足一定阈值条件的目标心搏匹配归入相应模板类别。选取余弦相似度阈值0.8,从样本的l个心搏中随机抽取10个心搏,并选择第一个心搏ls1作为第一个模板心搏类型t1,计算第二个心搏ls2到t1的余弦相似度距离d
21
,如果满足d
21
》0.8,则将ls2匹配归入该类别,否则以ls2为新建模板心搏t2,继续计算下一个心搏lsi与已有的若干个模板心搏间相似度距离d
ij
(j=0,1,2,...),若满足且d
im
》0.8,则将该心搏匹配归于模板类别tm,否则以lsi为新建模板心搏类别,重复此步骤,直至完成随机10个心搏的聚类。最后对随机的10个心搏模板分类结果进行统计排序,选取心搏匹配个数最多的模板类别t
max
,将10个心搏中属于t
max
的所有心搏数据做平均,得到一个平均模板心搏t
avg
。余弦相似度距离公式如下:
[0104][0105]
其中k表示当前样本的第k个心搏,j表示第j个模板心搏,表示当前样本第k个心搏采样点的幅值,t
ij
表示第j个模板心搏采样点的幅值;
[0106]
第二阶段,对样本l个心搏第一次进行聚类,获取心搏匹配个数最多的一类。将上一阶段得到的平均模板心搏t
avg
作为第一个心搏模板类型,重复第一阶段的心搏匹配模板的步骤,直到所有l个心搏匹配完毕。最后对全部l个模板心搏分类结果进行统计排序,得到心搏匹配个数最多的模板类别,获取其匹配的心搏集合l
clu1
及个数c1;
[0107]
第三阶段,样本中全部l个心搏去掉上一阶段最多一类c1个心搏后,再对剩余l-c1个的心搏第二次进行聚类。对l-c1个心搏重复第一阶段步骤,得到随机抽取心搏匹配个数最多的模板类别,接着对l-c1个心搏重复第二阶段步骤,得到匹配个数最多的模板类别,获取其匹配心搏集合l
clu2
及其个数c2。将第二阶段和第三阶段获得的心搏集合l
clu1
、l
clu2
合并
为一个心搏集合l
clu

[0108]
步骤四:第一次构建叠加波。本步骤针对每个心电样本构建独特的心搏叠加波。将上述步骤获取的样本心搏集合l
clu
用来构建叠加波,所有用于构建的心搏以r波位置为基准点向前向后对齐,并对每个心搏采样点对应的振幅幅值进行排序,截取第15百分位至第85百分位对应的心搏幅值求和取平均,作为当前采样点对应的叠加波振幅幅值,以此来第一次构建叠加波。公式如下:
[0109][0110]
其中m是当前心搏的第m个采样点,p
15
和p
85
分别是每个心搏当前采样点对应的振幅幅值排序之后处于在15%和85%的位置,am是叠加波第m个采样点的幅值,是第m个采样点处于第i百分位的心搏幅值。
[0111]
步骤五:确定主导节律是窦性心律还是房颤心律。根据步骤二的心搏干扰识别,对只有1级和2级干扰级别的心搏进行房颤分析,本步骤依据本公司专利一种基于统计特征的房颤识别方法实现,具体算法流程如图4,其原理是首先计算相应的rr间期,设定rr间期阈值为300ms-1800ms,去除不符合阈值范围的rr间期,再对rr间期进行排序;其次,计算所有rr间期的平均值,标准差等数值特征,把所有rr间期中的最小rr间期值定为滑动扫描窗口的起点,最大rr间期值定为滑动扫描窗口的终点,rr间期的平均值的1/10作为滑动扫描窗口的宽度,扫描步长设为1,扫描得到每个滑动扫描窗口中的rr间期数据,选取rr间期个数排在前三位的滑动窗口window1、window2、window3,并且保证这三个滑动窗口互不相交;再次,分类特征计算。根据所述的三个滑动窗口对分类特征进行统计计算,包括:window1、window2、window3内对应的rr间期的个数;window1、window2、window3中rr间期序号连续的个数总和以及它的占比;window1、window2、window3中rr间期序号间隔三个数的个数总和以及它的占比等特征;最后,使用lightgbm算法训练房颤识别模型,并将其应用于验证集的数据上,使用特异性和f1值评估模型的性能,模型的特异性(sp)大于等于0.93并且f1值大于等于0.9,说明模型性能良好;模型的特异性(sp)小于0.93或者f1值小于0.9,说明模型性能欠佳,重新调整参数进行训练。
[0112]
图5所示,步骤六:计算主导节律的rr间期并进行心搏早搏识别。根据步骤五分析结果,若心电样本主节律为非房颤节律,则首先根据步骤三获取的样本心搏集合l
clu
获取相邻的心搏,计算相邻心搏的rr间期,并对每个rr间期进行排序,截取第15百分位至第85百分位对应的rr间期求和取平均,作为当前样本主导节律的rr间期,接着对样本心搏进行室性早搏和房性早搏的识别。主导节律的rr间期计算公式如下:
[0113][0114]
其中p
15
和p
85
分别是相邻心搏rr间期排序之后处于在15%和85%的位置,i
rr
是当前样本主导节律的rr间期,ij是处于第j百分位的rr间期。
[0115]
若心电样本主节律为房颤节律,则进一步对心搏进行室性早搏识别。
[0116]
室性早搏识别根据本公司专利一种针对干电极采集的单导联心电图室性早搏识别方法实现,具体算法流程如图5,其原理是首先对每个样本的所有单个心搏及叠加波进行
qrs波起始点、q波顶点、r波顶点、s波顶点、qrs波终止点、t波起始点、t波顶点、t波终止点及主波的位置,共9个子波关键点位置进行定位;其次,根据9个定位点确定心搏qrs波及t波之间的斜率大小、各心搏和叠加波的余弦相似度等9条规则检测特殊的pvc心搏,判断心搏信号是否符合9种规则,若符合,此心搏为室性早搏心搏,若不符合,继续下述步骤;再次,用r波顶点位置前后的少数点逐点叠加来近似表达qrs波形,提取斜率、高度、宽度、比例等多个参数描述每个心搏及叠加波的qrs波形态特征,该特征集合包括了斜率特征群、高度特征群、宽度特征群;最后,在基于规则第一次检测出的非室性早搏心搏的基础上,根据上述步骤提取心搏的斜率、高度、宽度特征群,结合对应的心搏标签,输入到lightgbm模型中进行训练,得到室性早搏检测模型,接着将规则和训练好的室性早搏识别模型应用在测试集的心搏数据上,将最后的输出结果与测试集样本的标签进行对比,使用召回率和精度评估模型的性能。若上述识别心搏结果为非室性早搏,则继续根据斜率特征群、高度特征群、宽度特征群判断心搏形态与叠加波是否一致,联律间期是否小于80%主节律间期进行房性早搏的识别。
[0117]
步骤七:计算样本全部心搏当前判定类型和上一轮循环的结果相比是否均没有变化。
[0118]
若有变化,则重新从步骤四开始流程循环继续判断心搏类型,首先针对主节律非房颤样本,排除掉室性早搏、3级和4级干扰心搏,只针对窦性心搏和房早心搏按照步骤四第一次构建叠加波的方法再次构建样本的叠加波;针对主节律房颤样本,排除掉室性早搏、3级和4级干扰心搏,只针对房颤心搏按照步骤四第一次构建叠加波的方法再次构建样本的叠加波。接着根据第二次构建的叠加波,再次主节律房颤分析、计算主导节律rr间期及心搏早搏识别:首先根据步骤六对样本心搏室性早搏的识别结果,排除掉室性早搏、3级和4级干扰心搏,针对剩余心搏再次按照步骤五对主节律进行房颤分析;其次,依据房颤分析结果,根据步骤六的主导节律rr间期计算和早搏识别方法,对心搏进行室性早搏和房性早搏的识别。若无变化,则输出心搏类别。
[0119]
步骤八:心搏类型分类结果评估。重复步骤七,直至循环到全部心搏当前判定类型和上一轮循环判定类型相同,才完成所有心搏的类型识别,如图6是样本五轮循环的叠加波和心搏分类结果。经过前期样本分析,几乎绝大部分样本循环次数都小于等于7轮,在样本量较大或样本采样时间较长时,有可能极少数样本会超过7轮,但对整体的结果影响不大,故样本的循环最大次数设置为7。
[0120]
将2000份测试集的样本数据应用在上述流程训练好的各个模型上,其中房颤心搏8166个,室性早搏心搏1620个,房性早搏心搏1129个,干扰心搏1077个,窦性心搏61733个,将最后的输出结果与测试集样本的标签进行对比,使用准确率评估模型的性能,计算公式如下:
[0121][0122]
tp(true positive):预测为正,实际值也为正;
[0123]
fp(false positive):预测为正,但实际值为负;
[0124]
tn(true negative):预测为负,实际值也为负;
[0125]
fn(false negative):预测为负,但实际值为正。
[0126]
每次循环的测试结果图如图6-图10所示,每次循环的测试结果和参与的样本个数见下方的表1和表2:
[0127]
表1.测试结果
[0128][0129]
表2每次循环的样本个数统计
[0130] 参与循环的样本个数占比(%)第一轮循环2000100第二轮循环161780.85第三轮循环95447.7第四轮循环1728.6第五轮循环211.05第六轮循环20.01
[0131]
本说明中应用了具体个例对本发明的结构、原理以及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及核心思想;该部分内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1