一种基于正则化最小二乘回归学习的QRS波起点终点定位
方法
技术领域
本发明涉及动态心电图、常规心电图中QRS波起点及终点的定位测量分析,具体为一种基于正则化最小二乘回归学习的QRS波起点终点定位方法,属于心电图(ECG)自动诊断分析技术领域。
背景技术
心电图是临床应用最广泛的检查手段之一,能够帮助诊断心律失常,帮助诊断心肌缺血、心肌梗死、判断梗死部位,判断药物或电解质对心脏的影响,以及帮助植入人工心脏起搏器等。另外,描记心电图操作简单,费用低廉,特别适合医疗条件不发达的地区使用。
目前,我国专业的心电图技师数量匮乏,对于一些较为疑难的心电图,很多临床医生都不能准确判读。因此,基于动态心电图和常规心电图自动诊断技术应运而生,其中最关键的莫过于QRS波起点、终点位置的准确定位。用分规人工测量误差较大,即便是一个毫秒的误差在临床上都可能造成两种截然不同的诊断结果,比如完全性右束支传导阻滞与不完全性右束支传导阻滞只有一个毫秒的差别。在采样率足够高的情形下,利用先进的算法,借助计算机自动分析确定QRS波起点、终点的位置就能更好的解决该问题。但是,心电图千变万化,QRS波形态各异,这在客观上要求算法具有良好的泛化性,同时能够保证较高的处理效率。
心电图自动分析技术正在逐步发展,对QRS波(心拍)的定位技术已经较为成熟,但对于QRS波起点终点位置定位的准确性亟待提高。目前,市场上主流的QRS波起点终点定位方法大多只适用于某一类或某几类QRS波,对于一些特殊情形如T波高尖(图1.2)、基线严重漂移(图1.3)等波形的QRS波分析定位准度较低,对于信号质量较差的波形更难做出准确的分析判断。
发明内容
本发明的目的是克服现有技术存在的不足之处,降低基线漂移、肌电干扰、ST段改变、QRS波的形态等因素对分析定位的影响,进而提供一种具有良好泛化性和准确度的QRS波起点、终点定位算法。本发明衍生于回归学习,具有坚实的数学基础,心拍检测尤其是QRS波起点、终点定位较为准确,为动态心电图、常规心电图自动诊断技术提供了一种非常可靠的定位算法。
本发明是通过如下技术方案来完成的,借鉴Hilbert空间中函数正交分解的思想,将原始心电信号映射到一个新的Hilbert空间中,最后在上述新空间中完成QRS波的检测及其起点和终点的定位工作。上述映射是通过将原始心电信号与高斯函数的一阶导函数做内积实现的。为了降低P波、T波对检测QRS波的影响,同时使得QRS波起点和终点的特征更加明显, 在检波和定位工作开始前先用正则化最小二乘回归学习算法处理内积序列。
本发明具有良好的泛化性,对各种不同形态的QRS波都具有良好的适用性,极大提高了心电图分析的准确率,可应用于各种动态心电图机、常规心电图机、心电监护仪等设备的心电图自动诊断分析。
附图说明
图1.1为原始心电信号(正常心电图)和未经正则化最小二乘回归学习算法处理的内积序列。
图1.2为原始心电信号(T波高尖的心电图)和未经正则化最小二乘回归学习算法处理的内积序列。
图1.3为原始心电信号(基线严重漂移的心电图)和未经正则化最小二乘回归学习算法处理的内积序列。
图2.1(正常心电图,与图1.1对应)为未经处理的内积序列和经过正则化最小二乘回归学习算法处理之后的内积序列。
图2.2(T波高尖,与图1.2对应)为未经处理的内积序列和经过正则化最小二乘回归学习算法处理之后的内积序列。
图2.3(基线严重漂移,与图1.3对应)为未经处理的内积序列和经过正则化最小二乘回归学习算法处理之后的内积序列。
图3.1(正常心电图,与图1.1对应)为心电信号QRS波起点、终点定位效果图。
图3.2(T波高尖,与图1.2对应)为心电信号QRS波起点、终点定位效果图。
图3.3(基线严重漂移,与图1.3对应)为心电信号QRS波起点、终点定位效果图。
图4.1为基于正则化最小二乘回归学习算法的QRS波起点终点定位方法流程图。
图4.2为用遗传算法优化正则化参数lambda的流程图。
具体实施方式
以下结合技术方案和附图以实例详细说明本发明的具体实施方式。
本发明解决心电图自动化诊断系统中QRS波检测及其起点、终点定位问题。基于回归学习与信号在Hilbert空间中的正交分解理论构建一系列检测方法、检测准则和阈值参数,检测和识别QRS波,定位QRS波的起点、终点位置,具体实施步骤是如下所述。
在以下论述中,若h表示函数,则h(x)表示函数h在点x处的函数值;若h表示数组(整型或浮点型),则h[i]表示数组h的第i个元素,其中i为非负整数。
1.心电信号变换
由于心电信号复杂多变,为了提高算法的泛化性,我们需要将心电信号投影到一个维 数相对较低的空间中。由于新空间维数较低,所以在新空间中研究会大大减少问题的复杂性。
众所周知,Hilbert空间是完备化的度量空间,Hilbert空间具有标准正交基。在一组标准正交基下,Hilbert空间中的元素具有正交分解的形式。
即若H是Hilbert空间,f∈H,是H的一组标准正交基,则f具有如下正交分解形式:
其中,
由连续函数组成的Hilbert空间中的元素具有如(1)所示的正交分解形式,同样信号空间中的元素也具有如(1)所示的正交分解形式,只是(2)式需要做下相应变形。
记所有心电信号组成的空间为E,则l2表示所有均方收敛数列组成的空间,这是一个Hilbert空间。设是l2的一组标准正交基,g∈l2,则g具有如下正交分解形式:
当然,我们可以通过选择一组合适的标准正交基将E投影到一个较低维的空间中,我们也可以选择一组普通的基底达到同样的效果。
本发明中采用的是由函数组成的一组基底,其中
经投影变换后的心电图如图1.1、1.2、1.3所示,这种变换消除了T波高尖、基线漂移等因素对定位QRS波的影响,原因在于与T波、P波相比,QRS波在这样一组基底下投影的模更大。
记原始心电信号为e,内积序列为S,e与S都是单精度浮点型数据,长度为10000。S的计算过程如下所示。
2.用正则化最小二乘回归学习算法处理内积序列S
设为一组样本,正则化最小二乘回归学习算法形式如下
其中,HK是由核函数K所生成的再生核Hilbert空间,||·||K表示空间HK中的范数,λ表示正则化参数。这里我们取
作为核函数,其中||·||2表示欧式空间中的2范数。如(5)所示的正则化最小二乘回归学习算法具有如下形式的解析解:
其中,
α=(α1,α2,…,αm)T。
α是方程
(λmI+G)α=y (6)
的解,其中
y=(y1,y2,…,ym)T。
G是一个m×m维实对称正定矩阵。矩阵G的第i行,第j列元素通过如下计算得到
在实际操作过程中,为了提高效率,首先需要将(2)所示线性系统转化为
LLTα=y
再求解,这里L是矩阵λmI+G的平方根分解。
在本发明中,取
m=100,
使用正则化最小二乘回归学习算法最关键的步骤是确定正则化参数λ的值。首先,我们利用CV(Cross Validation)的办法确定λ,然后使用遗传算法(Genetic Algorithms)对λ进行优化。CV是用来验证学习型算法性能的一种统计分析方法,其基本思想是在某种意义 下将原始数据进行分组,一部分作为训练集,另一部分作为验证集:先用训练集训练,再利用验证集测试训练得到的模型,以得到的均方误差作为评价学习型算法性能的指标。
遗传算法是1962年由美国密歇根大学Holland教授提出的模拟自然界遗传机制和生物进化论的一种并行随机搜索最优化方法。它把自然界优胜劣汰,适者生存的生物进化原理引入优化参数形成的编码串联群体中,按照所选择的适应度函数并通过遗传中的选择,使适应度值好的个体被保留,适应度差的个体被淘汰,新的群体既继承了上一代的信息,又优于上一代。这样反复循环,直至满足条件。
遗传算法的基本操作依次为:选择操作,交叉操作,变异操作。将对训练集进行CV意义下的最小均方误差作为GA中的适应度函数值,则利用GA对正则化最小二乘回归学习算法进行优化的整体算法过程如图4.2所示。定义单精度浮点型数组S1,长度为10000,将经正则化最小二乘回归学习算法处理后的内积序列存储在S1中。
经正则化最小二乘回归学习算法处理前后的内积序列如图2.1、2.2、2.3所示。
3.检测QRS波
该过程可分解为下列几个小步骤进行:
3.1定义单精度浮点型数组S2,长度为10000。对S1的每个元素都取绝对值然后按顺序存储在S2中。
3.2定义单精度浮点型数组S3,长度为10000;定义整型数组N,长度为10000。对S2做降序排列,得到的新序列按顺序存储在S3中,将S3中的元素在S2中所处的位置存储在N中,即
S3[i]=S2[N[i]],i=0,1,…,9999。
3.3构造二维整型数组M,维数为200×200。其中,
M[i][j]=|N[i]-N[j]|,i,j=0,1,…,199。
经过3.2的排序操作之后,所有QRS波位置处所对应的内积的模一定都排在了前面。如果M的维数过大,QRS波的个数可能会多出来;反之,可能会漏掉QRS波。大量测试表明将M的维数定为200×200是最合适的。
这里|·|表示绝对值运算。
3.4重置M[0][0]为1
M[0][0]存储的是内积序列中模最大的元素所在的位置,这个位置一定存在一个QRS波,但是在3.3中已经将该位置置0,为了在接下来的搜索中不至于漏掉一个QRS波,所以要将该位 置重置为0。
3.5若M[i][j]≤200,则将第j行的值全部置0,i=0,1,…,198;j=i+1,…,199。
200毫秒是心肌细胞绝对不应期的长度,也就是说在200毫秒内绝对不可能出现两个心搏,所以我们选择200毫秒作为步长筛选QRS波。
3.6定义整型数组A,长度为50,初始化为0。若M[i][0]≠0,i=0,1,…,199,则将N[i]存储在A[i]中。定义整型变量Num,计算A[i]中所有不为0的元素的个数,并将其存储在Num中。
3.7定义单精度浮点型数组S4,长度为Num,按照以下过程初始化
S4[i]=S2[A[i]],i=0,1,…,Num-1。
3.8定义单精度浮点型变量Median,计算数组S4的中位数,并存储在Median中,若
S4[i]≤0.5·Median,i=0,1,…,Num-1,
则将A[i]重置为0,同时Num自减1。施行这一步操作的目的是剔除可能错检的QRS波。
3.9定义整型数组Qrs,长度为Num,并将A[i]中所有不为0的数存储在Qrs中,Qrs中存储的就是所有QRS波位置。
4.定位QRS波起点,该过程分两种情形进行。定位QRS波起点的基本思想是:
通过寻找内积序列的突变点最终定位起点的准确位置。从信号处理的角度来讲QRS波起点前后心电信号中占主要成分的频率是不同的,也就是说QRS波起点处是信号频率分布发生突变的点。这在内积序列上表现为QRS波起点所在位置附近对应的内积会出现一个小的波峰。本发明就是通过定位这个小波峰的位置来定位QRS波起点位置的。
首先,定义整型数组QrsStart用于存储QRS波起点位置,长度为Num,初始化为0。
当S1[Qrs[i]]>0,i=0,1,…,num-1时,QRS波起点定位过程如下:
4.1定义整型变量j,并用Qrs[i]初始化,i=0,1,…,Num-1。
4.2从j开始向前搜索,若S1[j]-S1[j-1]≤0,1≤j≤9999,则j即第i个QRS波起点所处位置,将j存储在QrsStart[i]中。
当S1[Qrs[i]]<0,i=0,1,…,num-1时,QRS波起点定位过程如下:
4.3定义整型变量j,初始化为Qrs[i],i=0,1,…,Num-1。
4.4定义整型变量temp,初始化为0。
4.5从j开始向前搜索,若S1[j]-S1[j-1]≥0,1≤j≤9999,则将j存储在temp中。
4.6从temp开始向前搜索,若S1[temp]-S1[temp-1]≤0,1≤temp≤9999,则temp即第i个QRS波起点所处位置,将temp存储在QrsStart[i]中。
5.定位QRS波终点,定位QRS波终点的思想与起点相同。该过程分两种情形进行。
首先定义整型数组QrsFinal用于存储QRS波终点位置,长度为Num,初始化为0。
当S1[Qrs[i]]>0,i=0,1,…,num-1时,QRS波终点定位过程如下:
5.1定义整型变量j,并用Qrs[i]初始化,i=0,1,…,Num-1。
5.2定义整型变量temp,初始化为0。
5.3从j开始向后搜索,若S1[j]-S1[j+1]≤0,0≤j≤9998,则将j存储在temp中。
5.4从temp开始向后搜索,S1[temp]-S1[temp+1]≥0,0≤temp≤9998,则temp即第i个QRS波终点所处位置,将其存储在QrsFinal[i]中。
当S1[Qrs[i]]<0,i=0,1,…,num-1时,QRS波终点定位过程如下:
5.5定义整型变量j,初始化为Qrs[i],i=0,1,…,Num-1。
5.6从j开始向后搜索,若S1[j]-S1[j+1]≥0,0≤j≤9998,则j即第i个QRS波终点所处位置,将其存储在QrsFinal[i]中。
QRS波起点终点定位效果如图3.1、3.2、3.3所示。
以上各步骤中所述的具体内容(包括公式、变换方法、技术路线等),均可通过计算机代码来实现,本领域技术人员应该能够理解,对于任何一个特定的方法和步骤采用不同的方式来实现所述功能,或者通过替换其中的一些参数以及推演出类似的公式方法和判定规则,只要是不脱离本专利构思的前提下,均应当视为属于本专利的保护范围。