基于小波包和PSOBPNN的心电特征识别

2021-11-17 08:38迮良佳胡鸿志
计算机仿真 2021年5期
关键词:心电电信号样本

郭 庆,迮良佳,胡鸿志

(1.桂林电子科技大学电子工程与自动化学院,广西桂林 541004;2.桂林电子科技大学广西自动检测技术与仪器重点实验室,广西桂林 541004)

1 引言

心电信号是人体心脏电活动在体表的综合反映,能够为诊断心脏疾病提供可靠的依据[1]。基于心电信号的特征识别方法研究对检测和诊断心脏疾病具有重要的指导意义。由于心电信号自身波形的复杂多变性以及噪声干扰,对心电信号做特征识别存在特征提取比较困难、识别精度不够高等问题。

本文对心电信号的特征提取和特征识别方法进行研究,旨在提取能够最大化反映心电信号原始信息的特征,并获取较高的心电特征识别正确率。

特征提取是进行特征识别的首要环节。首先针对心电信号易受噪声干扰等问题,本文采用强制滤波的方法对基线漂移、工频干扰和肌电干扰等噪声信号做处理,保证了后期特征提取的质量。其次采用小波包变换对心电信号做三尺度分解,并对第三尺度上的8个节点相应的频带信号进行能量特征提取,获取心电信号的8维特征向量。

特征识别模型的优劣直接影响着分类的效果。本文根据PSO算法收敛速度快、寻优精度高等优点,融合BP神经网络构建PSO-BPNN识别模型。利用PSO算法对BP神经网络的权值和阈值参数进行优化,将得到的心电特征数据作为模型的输入。引入LM-BPNN和RBF网络分类模型,与PSO-BPNN模型作对比分析并总结。

仿真结果表明,小波包变换提取心电信号能量特征,PSO-BPNN为分类模型的心电特征识别方法较其它方法能高准确度地识别出MIT-BIH心律失常数据库中正常、左束支传导阻滞(LBBB)、右束支传导阻滞(RBBB)、心室早期收缩(PVC)和心房早期收缩(APC)等5种类型的心电信号,验证了本文方法在心电信号特征识别方面的可行性和一定的优越性。

2 心电特征提取

2.1 实验数据的来源

本文以MIT-BIH心电数据库[2]中的5种不同类型心电信号片段作为仿真样本的来源。这5种类别分别为正常、左束支传导阻滞、右束支传导阻滞、心室早期收缩和心房早期收缩。从库中的5个心电信号数据片段中采集仿真所需的样本数据。分别从每个心电信号片段中取样200组样本,并对其划分为两种样本,一种有150组用于学习,另一组有50组用于测试。那么总共可以从5个心电信号数据片段中采集到1000组数据片段,其中用作训练的样本总数目为750组,用作测试样本的总数目为250组。

表1 采集的心电信号样本数据信息表

2.2 心电信号的预处理

心电信号具有微弱的特点,且往往夹杂着诸如基线漂移、工频干扰和肌电干扰等类型的噪声[3]。由此造成的干扰会影响心电信号波形中奇异点的精准检测和提取特征的质量以及分类识别模型的准确度。故预处理原始心电信号以尽可能减弱噪声干扰的工作很有意义。

小波变换具有许多良好特性,使其比较适合对心电信号进行滤波。强制滤波法[4]是一种常用的预处理方法,其能够充分运用小波分析的良好特性,将原始心电信号进行多层次不同分辨率的分解,并将噪声所在频带相应的系数置零,重构剩下的系数就能得到去噪处理过的心电信号。强制滤波法简单易行,且最终得到的信号效果较好,故本文选取此方法对心电样本信号进行消噪。以LBBB类型心电信号为例,去噪后的波形对比图如图1所示。

图1 原始心电信号VS去噪后的心电信号

2.3 心电信号的采样

心电样本数据的采集主要为分为两个部分,第一部分是对去噪后的心电信号中R波的定位,第二部分是有限时间心电样本数据的采集。

利用小波变换定位R波,具体实现步骤如下:

1)通过二次样条函数四尺度分解5种类型去噪后的心电样本。

2)以阈值为基准,寻找尺度三下模极大值对的零交叉位置。

3)定位R波位置。

通过该方法所标记的R波波形示意图见图2。

图2 R波波峰被标记的波形示意图

然后,以R波的波峰位置为中心,取该点前后总共250个数据点作为一组样本数据,并间隔一个R波采集下一组样本数据。这种采集250个数据点的方式一方面能保证采集得到较为完整的心拍,利于后面的分类识别,另一方面不需要对Q波和S波定位,降低了特征提取难度,能实现用较少的工作量获取较优的特征提取效果。间隔采样能保证采集得到的相邻的样本数据不存在数据交错现象。使用上述方法采集得到的部分数据样本数据如图3所示。

图3 采集到的部分样本图

2.4 基于小波包的能量特征提取

不同类型心电信号的幅度和能量不相同,经小波包分解后,其在各子频带上的投影也将不相同。同时,倘若有时移各子频带信号的能量值不会发生变化,各子频带信号能量值的总和等于原始信号的能量值,故可以考虑将各子频带信号的能量作为心电特征[5-7]。

小波包变换提取心电信号的能量特征首先是通过小波包变换对心电信号做多层分解用以获取各节点系数。然后,利用小波包重构对各节点的系数做计算处理,以获取各频带范围所对应的重构信号。最后,求解子频带信号各自对应的能量值,并将该能量值按照一定顺序进行排列组成特征向量,该特征向量即为原始心电信号的能量特征。

假定重构各节点系数后,第i层中的第j个节点Si,j相应的重构信号的能量为Ei,j,则重构信号的能量值可根据下式进行求取。

(1)

式中,dj,k代表节点Si,j的系数,并且j=0,1,2,…,2i-1。由此求取的能量值所组成的特征向量即为心电信号的能量特征。

以单个心电样本信号为例,在经过分解并重构后,获得的系数重构图如图4所示。

图4 单个心电样本信号的系数重构图

其中,第一张为原始样本信号,其余8张分别表示经三层小波包分解后,所得到的第三层中各频率范围信号对应的系数重构图。

计算各频率范围信号所对应的能量值。并将求取到的8个能量值组成特征向量。其即为通过小波包变换获取的心电特征。

本文选取的样本总数为1000,那么心电样本经过小波包变换提取的总特征向量数目为1000×8。在此列举提取到的5种病理类型各自子频带重构信号的部分能量值,如上表2所示。

表2 五种病理各自子频带重构信号的部分能量值

3 心电特征识别

3.1 BP神经网络

BP网络是一种最常用的多层前馈型网络[8],其构架由输入层、隐含层和输出层组成。逐层之间的交流互通是依靠内部神经元节点之间的连接,这种节点连接方式的面向对象仅为不同层落,同层落节点之间则未有连接。

BP网络能够逼近任何复杂的非线性映射关系,并且具有很强的分类性能,常被用于处理内部机制较为复杂的问题。同时,BP网络具有一定的局限性,主要表现在以下几个方面:

1)所需参数的数量繁多且没有简单有效的参数选择方法。

2)易陷入局部最优。

3)收敛速度慢。

这些局限性使得BP网络在某些情况下难以满足需求,若对BP网络进行优化,则可以使其应用范围更加宽广。

3.2 PSOBPNN模型

粒子群算法(Particle Swarm Optimization,PSO)最初是由美国电气工程师Russell Eberhart和社会心理学家James Kennedy在1995年联手提出的,其为一种以鸟类群智能为基础的优化算法[9]。PSO算法主要是通过优化函数进行寻优的,即通过适应度函数来求解各粒子的适应值。该过程中,无需加入外界信息,只需根据适应度函数来评价PSO算法性能的好坏。同时,各粒子将跟随当前速度和位置最优的粒子来搜索极值点。PSO算法优化BP网络的流程图如图5,详细步骤如下[10]:

图5 PSO算法优化BP网络流程图

1)确定PSOBPNN网络的结构和参数。确定输入层、隐含层和输出层的神经元个数以及群体粒子的规模,设置学习步长、连接权值和网络训练过程中的最大迭代次数等参数。

2)计算各粒子的适应度值。其可以通过计算网络输出的均方误差和来获得。

3)依据所获得的适应度值更新个体极值和全局极值。

4)更新粒子的速度和位置。

5)判断是否符合结束条件。倘若满足最大迭代次数或达到误差精度要求则执行步骤6),否则执行步骤2)。

6)结束寻优过程,输出最优参数。

3.3 PSOBPNN的心电特征识别

建立PSOBPNN模型,设置目标精度为0.001,PSO最多可以迭代100次。将由前一章仿真得到的特征数据作为该模型的输入,用以完成分类实验。其中,PSOBPNN模型的优化适应度下降曲线如图6所示。

图6 PSOBPNN的适应度曲线

由图可知,在经历了100次的PSO寻优后,网络适应度值下降到了0.1628。将特征样本继续带入PSO优化后的BP网络,得到的优化后的BP网络的训练过程如图7所示。

图7 PSO优化后的BP网络的误差下降曲线

由图7可得,PSO优化后的BP网络的训练误差经过128次训练后就达到了目标精度,收敛精度为0.0092。将PSO优化BP网络所构建的PSOBPNN分类模型最终的识别结果建表,如表3所示。

表3 PSOBPNN的心电识别结果

表3中上侧的FEI代表不属于5种类型之中的任何一个类型,即网络模型对数据做测试分类后将数据化分为5种类型之外的类型。

由图7和表3可得,虽然所构建的PSOBPNN模型的收敛速度达不到LM-BPNN模型的收敛速度,但是其不容易陷入局部极值且收敛精度高,获得了更高的识别正确率。并且5种类型中,LBBB、RBBB和PVC这三种类型的识别率都高达100.00%。求取五种类型识别率的平均值,可知PSOBPNN模型对心电特征的平均识别正确率达到了98.40%。

4 分类模型效果对比

为了更加清晰直观的看出PSOBPNN模型的良好性能,将其分别与LM-BPNN和RBF模型的识别效果作比较。

4.1 LM-BPNN模型

首先设计LM算法优化的BP网络分类模型,即LM-BPNN,用以对数据做识别分类。然后设定训练期望误差为1.00e-03,网络最大训练次数为1000,学习速率为0.1,训练函数采取“trainlm”函数。网络训练的误差下降曲线如图8所示。

图8 LM-BPNN训练误差下降曲线

由图可知,LM-BPNN模型在第28次迭代后在没有达到目标误差情况下就停止迭代,收敛于0.0013。此图一方面说明由LM改进的LM-BPNN模型具有一定的成效且收敛速度极快,另一方面表明在心电信号特征的识别方面,其精度不是非常的高。将测试数据的分类结果建表,详情如表4所示。

表4 LM-BPNN的识别效果

由表4可知,LM-BPNN分类模型对LBBB类型的识别效果最好,获得了100.00%的识别准确率,对Normal、RBBB、PVC和APC四种类型的识别分别有3、5、1、5个的误分类个数。通过计算可得LM-BPNN模型识别心电信号的平均正确率为94.40%。

4.2 RBF模型

RBF网络中神经元灵敏度的调节是通过阈值b来实现的。在解决实际问题的过程中,通常利用扩展常数C(扩展速度)去代替阈值b来调节灵敏度,同时,C又对应着MATLAB自带的RBF网络函数中的参数spread,由此通过该函数对心电信号进行特征识别。并且,RBF网络的生成函数程序为net=newrbe(P,T,Spread),其中,p为输入样本数据,T为目标输出,spread为扩展速度。设定spread的初始值为5,并改变其值,最终得到不同扩展速度下的心电特征识别结果,如表5所示。

表5 不同扩展速度下的心电特征识别结果

从表5中可看出,spread的值对RBF的网络性能影响很大,不同spread值对应的心电特征识别结果之间差别比较大。在Spread=25附近,RBF的性能最好,得到的识别率最高。将Spread=25时RBF网络对不同类型心电信号的分类结果建表,如表6所示。

表6 RBF网络的心电特征识别结果

4.3 三种模型的对比

将三种模型的分类结果建表,如表7所示。

表7 本文使用的三种分类模型识别结果对比

由表7可知PSOBPNN模型的分类准确率明显高于其它两种模型,为98.40%。说明PSOBPNN分类模型在心电特征识别中具有一定的可行性和优越性。

5 结论

提出了基于小波包和PSOBPNN的心电特征识别方法,利用小波包变换的时频域分析特性提取8维特征。结合PSO算法和BPNN网络的优点建立快速寻优的PSOBPNN分类模型,并通过对比分析验证该方法的优劣性。仿真结果表明,本文心电分类方法较其它方法具有相当大的优越性,平均分类正确率为98.40%。

猜你喜欢
心电电信号样本
基于融合模糊聚类算法的异常心电多频段弱信号快速捕捉方法
基于窗函数法的低频肌电信号异常分类仿真
基于单片机的心电信号采集系统设计
卡片式智能心电采集仪
神经元电生理模型的构建及分析
规划·样本
人大专题询问之“方城样本”
“声名大噪”的跑步神器?
随机微分方程的样本Lyapunov二次型估计
2016浙江省心电生理与起搏学术年会隆重举办