APP下载

基于FFT-SCSHO-SVM的老人跌倒检测算法

2023-08-04婕,张

关键词:降维时域特征提取

张 婕,张 梅

(安徽理工大学 电气与信息工程学院,安徽 淮南 232001)

随着中国现代化经济的不断发展和人口老龄化的不断加剧,独居老人跌倒问题日趋严重,若老人在跌倒之后不能得到及时的救治,将会诱发一系列老年疾病,甚至导致死亡,故提高老人跌倒检测效率变得至关重要[1]。常见的老人跌倒检测方法有两种:(1)基于视频检测,根据视频序列中人体的姿态、人体骨架序列等信息动态检测人体行为[2-3]。(2)基于可穿戴传感器检测,通过运动传感器采集人体姿态信息,提出人工智能技术进行跌倒检测[4-6]。使用视频来检测老人跌倒,虽然有很高的准确率,但其对环境要求高,实验成本昂贵,在推广过程中容易受限制。而基于人体动作传感器的老人跌倒检测,具有成本低、效率高、算法易于优化和适用性广等优势,故本文对基于可穿戴传感器的老人跌倒检测算法展开研究。

在科技现代化高速发展的背景下,一大批智能算法随之涌现,科研人员将一些智能算法应用到老人跌倒检测中,老人跌倒检测效率得以提高。常见的智能算法包括支持向量机(Support Vector Machine,SVM)、随机森林(Random Forest,RF)和径向基函数(Radial Basis Function,RBF)神经网络等,每个智能算法均有各自的优缺点。马英楠等应用SVM对老人跌倒进行预测,该文献通过粒子群算法(Particle Swarm Optimization,PSO)和基因算法(Genetic Algorithm,GA)优化SVM参数,其模型精度为87.5%,但仍存在训练速度慢、检测样本量小等问题[7]。王晓雷等应用RBF神经网络算法检测老人跌倒状态,根据RBF神经网络来区分老人跌倒和日常活动行为,当RBF模型的隐含层达在一定数量时,其模型的平均检测精度达到96%。但在跌倒检测过程中,RBF模型的隐含层数量确定起来十分困难,易耗费大量的训练时间[8]。任小奎等提出基于PSO模式搜索优化SVM的跌倒检测算法,该方法先进行数据预处理,包括时域特征提取和奇异值分解降维,将模式搜索算法和PSO算法相结合,对SVM进行参数寻优,将优化后的模型用于跌倒检测。肖巍等研究了一种基于SVM的人体跌倒检测方法,使用K-L变换方法提取特征,采用PSO算法优化SVM模型中的参数,最后进行跌倒检测,这两篇文献均取得了较好的检测效果,证明了SVM模型在跌倒检测领域取得了一定的成效[9-10]。上述文献所使用的老人跌倒检测方法虽然取得了较好的效果,但仍存在检测精度不高和检测效率低等问题。

跌倒检测即判断人体是否处于跌倒状态,实质上是数据分类问题。SVM是经典的分类算法,单一的SVM算法难以满足精度要求,而SVM中的惩罚参数c和核函数参数g影响着模型的分类精度,因此需要利用优化算法进行参数寻优。SHO算法通过数学建模模拟斑点鬣狗群体捕食行为,具有较好的寻优效果和自适应性能力,但SHO算法仍存在易于陷入局部最优和全局搜索能力差的问题。而常见的特征提取方法为时域分析法,即直接从时域数据中提取均值、方差和峰值等时域特征,该方法不能对信号特征进行准确地描述,无法充分反映人体运动特征信息,从而影响模型的检测精度。针对上述问题,本文提出一种基于FFT特征提取的改进SHO-SVM跌倒检测方法。本算法将改进SHO算法(Sine Cosine weighting Spotted Hyena Optimizer,SCSHO)全局搜索能力强和局部开发能力强的优点与SVM出色的分类能力相结合,并依靠FFT捕获波形信息,深入分析信号特征,检测精度得以提高。

本文提出的基于FFT-SCHO-SVM的老人跌倒检测算法核心内容如下:基于快速Fourier变换的特征提取方法;使用FFT将原始数据集从时域映射到频域,在频域空间中分析振幅因子、波形因子等信息,并通过MDS降维,剔除冗余信息,最后做数据归一化处理;并引入Sine混沌映射初始化和余弦适应度权重策略改进SHO算法,以解决SHO易陷入局部最优和全局搜索能力差的问题,结合SVM模型实现实时跌倒检测。

1 算法描述

1.1 SVM算法

SVM算法的核心是寻找分类效果最好的分界平面,该平面在确保分类效果的同时,间隔距离也要最优[11-13]。

求解线性可分SVM步骤如下。

Step1:构建拉格朗日函数。

为了获得约束条件下最优化平面,需构建拉格朗日函数如式(1)所示。

(1)

式(1)中,ri≥0,i=1,2,…n,xi∈R,i=1,2,3,…,n。

Step2:利用强对偶性转化。

根据约束条件式和拉格朗日函数式(1),引入卡罗需-库恩-塔克条件,令w和b的偏导为0,得如式(2)所示。

(2)

式(2)中,ri≥0,j=1,2,…n,rj≥0,i=1,2,…,n。

Step3:求最优解如式(3)所示。

r*=(r1*,r2*,…,rn*)T

(3)

式(3)中,r*表示求得的最优向量解。

Step4:求参数w和b,如式(4)和(5)所示。

(4)

b=ys-wys

(5)

式(4)中,ri≥0,为样本特征集,yi为样本标签集。

Step5:构造出最大超平面如式(6)和(7)所示。

wT*x+b=0

(6)

f(x)=sign(w*x+b)

(7)

式(6)和式(7)中,由w和b构成最优分类平面,该平面能实现样本集的最优分类,sign为符号函数。

1.2 斑点鬣狗算法

1.2.1 斑点鬣狗算法

斑点鬣狗算法由Dhiman等人在2017年提出,主要模拟了斑点鬣狗群之间的协作捕食行为,在参数寻优方面具有很好的适应性,故得到广泛地应用[14]。

包围猎物过程如式(8)和式(9)所示。

bh=|b·pp(x)-p(x)|

(8)

p(x+1)=pp(x)-e·dh

(9)

式(8)和式(9)中,p(x+1)为捕食者的新位置,b为摇摆因子,e为收敛因子。

b和e的计算过程如式(10)-式(12)所示。

b=2·r1

(10)

e=2h·r2-h

(11)

h=5-(x·(5/mx))

(12)

式(10)-式(12)中,r1和r2为随机数,mx为最大迭代次数。

追逐猎物过程如式(13)-(16)所示。

dh=|b·ph-pk|

(13)

pk=ph-e·dh

(14)

ch=pk+pk+1+…+pk+N

(15)

N=counti(Ph+Ph+1+…+(Ph+M))

(16)

式(13)-式(16)中,ph为最优的解,pk为其他成员的解,ch为最优解的集合,N为种群的数量。

攻击猎物如式(17)所示。

p(x+1)=cn/n

(17)

式(17)中,p(x+1)为当前最优解,cn为最优解的集合,n为捕食者的数量。

1.2.2 改进斑点鬣狗算法

1.2.2.1 Sine混沌映射初始化

SHO算法随机生成初始化种群,这种方法容易陷入局部最优解,具有较差的寻优性能差。而混沌映射算法由于具有遍历性、随机性等特点,被广泛地应用到寻优算法中,以改善寻优算法性能[15]。受此启发,本文使用Sine混沌映射来初始化种群,Sine混沌映射的数学表达如式(18)所示。

xi+1=asin(πxi)

(18)

式(18)中,a∈(0,1),xi为迭代序列值。

1.2.2.2 引入余弦适应度权重策略

引入曲线自适应权重,通过调节曲线自适应权重来协调全局分散和局部最优的关系,并取得了很好的效果[16]。受其启发,本文引入余弦适应度权重策略,当个体斑点鬣狗的适应度值陷入局部最优时,加大搜寻猎物的范围;当斑点鬣狗群体过于分散时,减少搜寻猎物的范围,在局部区域展开精确的搜寻,从而平衡局部搜寻和全局分散的关系[17-18]。余弦适应度权重计算过程如式(19)所示。

(19)

式(19)中,w为余弦适应度权重,f为捕食者当前的解,fav为平均解,wmin和wmax为余弦适应度权重的最小值和最大值。

引入余弦适应度权重策略对斑点鬣狗算法进行改进如式(20)所示。

e=(2h·r2-h)·w

(20)

式(20)中,e为收敛因子,r2为0到1的随机数,w为余弦适应度权重因子。

2 跌倒检测模型

2.1 基于FFT-SCSHO-SVM的老人跌倒检测

为了进一步提高老人跌倒检测的效率,本文设计了一种基于FFT-SCSHO-SVM的老人跌倒检测模型,其模型原理如图1所示。

图1 老人跌倒检测模型原理框图

由图1可知,跌倒检测模型采用SVM模型,SVM模型中的惩罚因子c和核函数参数g影响着模型的分类精度,为提高模型检测性能,采用改进的斑点鬣狗寻优算法寻找SVM模型中最优的参数,从而得到最优检测模型。其中以训练集为训练对象,验证集的准确率为寻优算法的适应度值,测试集为寻优后的最优参数所得最优模型的诊断对象。基于FFT-SCSHO-SVM的老人跌倒检测过程如下。

(1)读取人体动作信号数据样本。

(3)参数寻优,利用SCSHO算法对SVM参数寻优。

(4)跌倒检测,训练老人跌倒检测模型,并进行测试。

(5)输出检测结果。

2.2 改进SHO算法对SVM参数寻优

针对SHO算法初始化种群多样性差、容易陷入局部最优解等问题,本文引入Sine混沌映射初始化和余弦适应度权重策略改进SHO算法,算法流程图如图2所示。

由图2可知,引入Sine混沌映射初始化和余弦适应度权重策略改进SHO算法,使算法具有更强的寻优能力,进而提高模型的检测效果。

3 实验及分析

3.1 数据预处理

本文实验数据来源于UCI数据集,数据集通过人体动作传感器采集角速度、加速度等人体动作数据。该公开数据集由17名志愿者完成20组跌倒动作和16组日常活动动作,且每组动作重复5次。在数据集中取525组数据用于模型的训练测试,按7:3的比例对模型进行训练和测试。由于传感器采集的数据都是实时变化的信号源,无法直接用于模型的训练和测试,故需进行数据预处理。

3.1.1 特征提取

对于人体动作信号,常用的特征提取法为时域分析法,该方法直接从时域数据中提取特征向量,所提取的特征向量不能充分反映人体运动特征,从而影响模型检测质量[19]。为此本文提出一种基于FFT的特征提取方法,首先使用FFT捕获波形信息,得到频域数据集,然后分析频域数据集中的振幅因子、波形因子、脉冲因子、裕度因子和能量等特征,最后得到特征向量集。

“李倩倩呢?”易非问,李倩倩是大弟弟的女朋友。易非把母亲接过来后,弟弟自然跟着过来了,然后弟弟的女朋友也跟着过来了。一般情况下,这个点儿,她应该跟妈一起窝在沙发上看电视的。

为了深入分析人体动作信号在时域和频域的特征信息,做人体动作信号的时域图和频谱图,如图3所示。

由图3可知,在时域图中,人体动作信号随着时间变化,幅值变化集中在某一时间段,且样本长度不一致,不利于特征提取。而在频谱图中,幅值中存在一个尖锐的谱峰,而其他的频率对应的幅值波动很小,因此FFT能将细微的信号特征放大,深入反映人体信号的构成和特点,便于特征提取。

为此本文通过FFT将原始数据集从时域映射到频域空间,得到频域数据集Y,如式(21)所示。

(21)

式(21)中,axn、ayn、azn为三轴加速度分量,san为合加速度,wxn、wyn、wzn为三轴角速度分量,swn为合角速度。

频域数据集Y包含8种频域特征向量,本文从频域数据集Y中提取振幅因数、波形因数等12种特征信息,得到96种特征,构成频域空间下的特征向量集。提取的12种特征信息如表1所示。

表1 特征信息表

3.1.2 数据降维

进行特征提取后可获得多维特征向量集,但过高的维度将会干扰模型的计算效率,严重影响了建模速度,因此需要进行大量数据降维计算。常见的降维方法主要有主成分分析法(Principal Component Analysis, PCA)、多维尺度变换法(Multidimensional Scaling,MDS)和线性判别分析法(Linear Discriminant Analysis,LDA)等,其中MDS被广泛地用来分析多维度信息,并获得最重要的信息成分,故本文使用MDS进行数据降维。

本文使用MDS降维得到新的数据集BmXk,在降低维度的同时,尽可能地不影响跌倒检测的效果,在一定程度上减少了计算工作量,提高了检测效率。MDS降维后的效果图如图4所示。

图4 MDS降维后的效果图

由图4可知,MDS降维后,日常活动行为和跌倒行为的聚类效果明显,剔除了高维特征数据集的冗余信息,保留了有用的特征信息,提高了数据样本的辨识度,利于模型的训练和检测。

3.1.3 数据归一化

数据样本的各种数据间的数值误差大时,会影响模型检测的有效性。故采用等离差标准化的方式实现统计归一化处理,从而减少了各指数之间的量纲差异。其计算如式(22)所示。

(22)

式(22)中,Xi(n)为归一化后的样本数据,Xi为特征提取和降维后的数据,Xmax为样本中的最大值,Xmin为样本中的最小值。

3.2 实验评估

为了验证本文提出的老人跌倒检测算法和特征提取方法的有效性,设计了如下实验。

实验一:验证SCSHO寻优算法的优越性

以SVM作为分类模型,分别采用PSO算法、SHO算法和SCSHO算法优化分类模型,对比检测结果,验证SCSHO寻优算法的优越性。

实验二:验证特征提取方法的优越性

分别使用时域分析法和基于Fourier变换的特征提取方法对跌倒检测模型进行了训练和试验,验证本文所提出的特征提取方法的优越性。

3.2.1 寻优算法性能评估

为了验证SCSHO寻优算法性能的优越性,本文使用SVM模型,PSO-SVM模型、SHO-SVM模型和SCSHO-SVM模型进行跌倒检测,结果如图5和表2所示。

表2 四种模型结果对比表

(a)SVM

图5对比了各模型的检测效果,SVM模型准确率为92.4051%,存在较大的漏报和假阳性情况,检测性能并不好;而PSO-SVM模型虽然增加了跌倒检测的准确率,但检测效果仍不如SHO-SVM和SCSHO-SVM模型;SHO-SVM模型准确率为97.4684%,检测效果也有所提升;SCSHO-SVM模型准确率为98.7342%,漏报和假阳性概率明显下降。对比各模型的检测效果图,可以得出SCSHO-SVM模型的准确率最高,检测效果也最优。

由表2可知,本文提出的基于FFT-SCSHO-SVM模型取得较好的检测效果,其中精确率、召回率和特异性等各项性能指标均在98%以上,明显高于PSO-SVM模型和SHO-SVM模型,由此说明SCSHO算法寻优性能优于PSO算法和SHO算法,本文提出的跌倒检测算法能更好地检测老人跌倒情况。

为了进一步分析算法的寻优性能,本文将数据集拆分为训练集、测试集和验证集三部分,采用交叉验证的方法,以验证集检测结果的错误率为适应度值,做PSO算法、SHO算法和SCSHO算法的适应度收敛曲线图,如图6所示。

图6 适应度曲线图

由图6可知,PSO算法较早地收敛到局部最优解,出现了早熟现象,全局寻优效果最差,寻优能力低于SHO算法和SCSHO算法;SHO算法的错误率有所降低,但在迭代过程中适应度值停留在某一个数值上,收敛速度慢,最后收敛到局部最优解,而不是全局最优解;与SHO算法相比,SCSHO算法迭代收敛速度快,容易较快地找到最优解,避免了早熟现象,故SCSHO算法的寻优性能更好。

3.2.2 特征提取方法评估

为验证本文特征提取方法的优越性,使用时域分析法、基于快速Fourier变换的特征提取方法,在SCSHO-SVM模型上进行实验,其实验结果如图7所示。

图7 两种特征提取方法的实验结果

分析图7可知,在SCSHO-SVM模型检测的基础上,与时域分析法对比,基于快速Fourier变换的特征提取方法的准确率提高了3%左右,精确度、召回率和特异性等指标明显更高。本文提出的特征工程建立方法在老人跌倒检测上的效果更好,重点在于该方法提取了有用的特征向量,剔除了冗余信息。

4 结论

为了减少跌倒给老人造成的身体伤害,提高老人跌倒检测的精确率和可靠性,本文提出基于快速Fourier变换的特征提取方法和基于SCSHO-SVM的检测模型,并在数据集上进行了实验,得出如下结论:

(1)采用时域分析法提取的特征向量存在大量冗余信息,影响模型检测效果,本文提出的特征工程建立方法能更好地提取人体运动特征,在欧式空间中更具辨识度。

(2)基于FFT-SCSHO-SVM的跌倒检测算法准确率达到98.7342%,对比SHO-SVM、SVM模型,该模型检测效果最优。

(3)对比其它的特征工程,基于FFT-SCSHO-SVM模型的精确率、召回率和特异性等各项性能指标均在98%以上,表明模型的漏报率和误报率更低。

猜你喜欢

降维时域特征提取
混动成为降维打击的实力 东风风神皓极
降维打击
基于时域信号的三电平逆变器复合故障诊断
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
基于极大似然准则与滚动时域估计的自适应UKF算法
基于时域逆滤波的宽带脉冲声生成技术
基于时域波形特征的输电线雷击识别
基于MED和循环域解调的多故障特征提取
抛物化Navier-Stokes方程的降维仿真模型