基于稀疏张量局部Fisher判别分析算法的人体行为识别方法与流程

文档序号:18886885发布日期:2019-10-15 21:04阅读:209来源:国知局
基于稀疏张量局部Fisher判别分析算法的人体行为识别方法与流程

本发明涉及人体行为剪影序列的特征提取的技术领域,尤其涉及一种基于稀疏张量局部fisher判别分析算法的人体行为识别方法。



背景技术:

基于代数特征的提取方法的基本思想是将原始样本投影到子空间形成代数特征,代表性的方法有主成分分析(pca)、线性判别分析(lda)和基于流形学习的方法。主成分分析(pca)是一种无监督的特征提取方法,旨在通过最大化协方差矩阵的迹来最大化投影子空间的方差。物理意义是在投影后的子空间,使得所有样本之间的距离尽可能的大。线性判别分析(lda)在嵌入鉴别信息时,能够保证在子空间中最大化类间离散度的同时最小化类内离散度。其物理意义是使得在投影后的子空间中,同类的数据之间的距离尽可能的小,不同类的数据之间的距离尽可能的远。传统的子空间特征提取算法主要是考虑整个样本集全局的线性或非线性结构。而流形学习考虑的是样本的局部意义,通过利用局部学习来获得近似的全局线性结构,最终得到全局特征。其中的局部保留投影(lpp)旨在投影空间中尽量保持原高维数据的局部近邻分布结构。

然而,lda算法只考虑了同类样本的关系,忽略了样本的局部信息。这就导致,当同一类样本包含几个不同的簇时,lda对它们的分类效果并不理想。因此,在处理多模数据时,必须考虑样本的局部信息,将数据的流形特征提取出来。而lpp方法在特征提取过程中,充分保持了样本的流形结构,却忽略了样本集的全局结构,导致在处理类间交叉数据时,分类结果也不理想。为了解决这个问题,sugiyama取其精华,去其糟粕,将lda和lpp算法结合起来,提出了局部fisher判别分析(lfda),并在多模数据和类间交叉数据的分类中都获得了较好的结果[1]

但上述方法进行目标识别时,需要把图像数据向量化。由于要进行大矩阵的特征值分解,这种操作不仅会造成巨大的计算代价,同时还破坏了图像原有的空间相关性。为了解决这个问题,研究学者们开始用一个高阶张量来描述对象。比如,一张灰度的人脸图像可以作为一个二阶的张量。人体行为或者视频数据可以看作是一个三阶或者更高阶的张量。he提出了判别张量子空间分析(dtsa),把一个彩色的人脸图像看作是一个三阶张量[2]。lu等人提出多线性主成分分析(mpca),该框架通过把pca扩展到张量上实现对张量对象的特征提取[3]。基于同样的想法,又有人将lda、lpp算法扩充到张量表示上,提出了多线性判别分析(mda)[4]、张量局部保持投影(tlpp)[5]

上述方法的一个共同点就是所得到的投影矩阵是非稀疏的,即投影矩阵中的元素都是非零的。pennec指出:人类的视觉系统具有对图像的稀疏表示特性[6]。近年来,稀疏的子空间学习成了热门的研究方法。zou在常规的主成分上运用最小角和弹性网络回归,提出了稀疏主成分分析(spca)的概念[7]。clemmensen也基于稀疏表示理论提出了稀疏判别分析(sda),成功解决了传统lda算法存在的高维小样本问题[8]。qiao基于同样的思想,提出了稀疏保局投影(spp)并应用人脸识别,并进一步提出了稀疏保局判别分析(spda)[9]。lai等人将spca与张量概念结合,提出了多线性稀疏主成分分析(mspca),同时在将张量框架应用到稀疏判别分析(sda)[10],提出了稀疏张量判别分析(stda)[11]。最近,lai等人提出了二维稀疏局部保持投影(s2dldp),该算法是基于图的图像特征抽取方法的稀疏扩充[12]。这一系列研究表明,基于稀疏分析与张量表示的特征提取方法在未来有着广泛的应用前景。

人体行为识别作为模式识别领域最活跃的研究方向之一,受到越来越多人的关注。由于运动中目标的方向、速度、光流很难从视频中提取出来,而人体的形状特征如侧影、轮廓却很容易得到。因此许多学者借助各种降维方法将目标的高维形状信息投影到低维空间。

wang等人用lpp方法对每帧中的剪影图像进行特征提取,将其投影到低维子空间中,然后使用最近邻分类器对人的行为进行识别。wang和suter使用核主成分分析得到人的剪影图像的低维表示,并引入因子条件随机场对运动进行建模,其目标是识别由不同身体基础以及不同运动风格和速度的人的动作。jia和yeung引入流形嵌入方法来发现人体剪影图像局部时空判别结构,提高了算法对相似的时空形状的人体行为的识别效果。

1.sugiyamam.dimensionalityreductionofmultimodallabeleddatabylocalfisherdiscriminantanalysis[j].journalofmachinelearningresearch,2007,8(may):1027-1061.

2.hex,caid,niyogip.tensorsubspaceanalysis[c]//advancesinneuralinformationprocessingsystems.2006:499-506.

3.luh,plataniotiskn,venetsanopoulosan.mpca:multilinearprincipalcomponentanalysisoftensorobjects[j].ieeetransactionsonneuralnetworks,2008,19(1):18-39.

4.yans,xud,yangq,etal.multilineardiscriminantanalysisforfacerecognition[j].ieeetransactionsonimageprocessing,2007,16(1):212-220.

5.zhangz,chowws.tensorlocallylineardiscriminativeanalysis[j].ieeesignalprocessingletters,2011,18(11):643-646.

6.lepennece,mallats.sparsegeometricimagerepresentationswithbandelets[j].ieeetransactionsonimageprocessing,2005,14(4):423-438.

7.zouh,hastiet,tibshiranir.sparseprincipalcomponentanalysis[j].journalofcomputationalandgraphicalstatistics,2006,15(2):265-286.

8.clemmensenl,hastiet,wittend,etal.sparsediscriminantanalysis[j].technometrics,2011,53(4):406-413.

9.qiaol,chens,tanx.sparsitypreservingprojectionswithapplicationstofacerecognition[j].patternrecognition,2010,43(1):331-341.

10.laiz,xuy,chenq,etal.multilinearsparseprincipalcomponentanalysis[j].ieeetransactionsonneuralnetworksandlearningsystems,2014,25(10):1942-1950.

11.laiz,xuy,yangj,etal.sparsetensordiscriminantanalysis[j].ieeetransactionsonimageprocessing,2013,22(10):3904-3915.

12.laiz,wanm,jinz,etal.sparsetwo-dimensionallocaldiscriminantprojectionsforfeatureextraction[j].neurocomputing,2011,74(4):629-637.



技术实现要素:

发明目的:针对以上问题,本发明在局部fisher判别分析(lfda)的基础上,结合张量表示和稀疏表示,提出了一种基于稀疏张量局部fisher判别分析(stlfda)算法的人体行为识别方法;该方法对人体行为剪影序列进行特征映射,不但满足了张量局部fisher判别分析的目标,而且保证了得到的投影矩阵的稀疏性,进而保证了人体行为识别的准确性。

技术方案:为实现本发明的目的,本发明所采用的技术方案是:一种基于稀疏张量局部fisher判别分析算法的人体行为识别方法,包括以下步骤:

s1:根据weizmann人体行为库得到剪影图像序列,构建张量样本,所述人体行为库中10种不同的动作对应10类张量样本,根据所述张量样本构建训练样本集和待测样本集;

s2:采用稀疏张量局部fisher判别分析算法(stlfda)根据训练样本集训练得到稀疏投影矩阵组;所述稀疏投影矩阵组能够将原始的张量样本从高维空间投影至低维张量子空间,以保证投影到低维空间的样本集的类内散度最小化以及类间散度最大化;

s3:利用步骤s2求得的稀疏投影矩阵组分别将训练样本和待测样本投影到低维张量子空间;

s4:计算待测样本和训练样本之间的张量距离,进而得到待测样本和训练样本之间的相似度,样本间距离越近,表示二者越相似;

s5:根据相似度构造基于张量距离的最近邻分类器,对低维空间的待测样本进行识别;即在投影到低维空间的训练样本中寻找与待测样本特征距离最近的样本,确定待测样本的类别。

进一步,步骤s1所述根据张量样本构建训练样本集和待测样本集,方法如下:

在weizmann人体行为库中,9个人分别执行了10种不同的动作,共有90个视频;每个人执行的动作包括弯腰(bend),挥手原地跳(jack),双腿并拢向前跳(jump),双腿并拢向上跳(pjump),跑(run),跳跃(skip),侧跑(side),走(walk),挥单手(wave1),挥双手(wave2);

s1.1:为了表示样本的时空特征,将weizmann人体行为库中每个视频转化为剪影图像序列,使用所述人体行为库中每个动作的连续f帧来提取时空特征,每帧大小归一化为p1×p2像素,则张量样本的大小为p1×p2×f像素;剪影图像的高是所述张量的1模,剪影图像的宽是所述张量的2模,剪影图像的时间序列是所述张量的3模;

s1.2:所述人体行为库中10种不同的动作对应10类张量样本,从每类样本中随机选取a个动作张量组成训练样本,每类样本中剩余的动作张量组成待测样本;根据10类张量样本分别得到训练样本集和待测样本集。

进一步,步骤s2所述采用稀疏张量局部fisher判别分析算法(stlfda)根据训练样本集训练得到稀疏投影矩阵组,方法如下:

stlfda算法包括如下步骤:将多线性主成分分析(mpca)中的张量框架融入到lfda中,提出张量局部fisher判别分析;效仿稀疏主成分分析(spca)算法求稀疏向量的原理及算法步骤,将张量局部fisher判别分析中的特征值分解问题转化为回归问题,以此得到稀疏的投影矩阵;

s2.1:构建stlfda算法的目标函数,目标函数表示为:

其中,u(n)表示第n个投影矩阵,n表示投影矩阵的个数,分别表示类间距离系数矩阵和类内距离系数矩阵,xm表示高维空间的张量样本,ym表示投影到低维空间的样本,m表示张量样本的个数,表示样本间的距离矩阵的f范数的平方,m、i、j取值范围为[1,m];

s2.2:使用迭代的方法求出目标函数的最优解,即稀疏投影矩阵组;方法如下:

求取第n个投影矩阵u(n)时,设其余n-1个投影矩阵u(1),…,u(n-1),u(n+1),…,u(n)已知,则目标函数可转换为:

其中,为张量样本在n模展开条件下的表示,m取值范围为[1,m];

将公式(2)表示成类似mpca的目标函数形式:

其中,表示u(n)的转置,tr(*)表示矩阵的迹,sb(n)为张量样本在n模展开下的局部类间散度矩阵,sw(n)为张量样本在n模展开下的局部类内散度矩阵;

通过求解公式(4),得到特征值λ、投影矩阵u(n);根据上述方法依次求出n个投影矩阵,得到多线性投影矩阵组;

将公式(3)中

等价替换为:

然后将公式(3)变为最小化问题,并增加l1、l2范数的惩罚项,增加l1范数是为了保证投影矩阵的稀疏性,增加l2范数是为了防止过拟合;则目标函数转化为:

其中,μ为常数;αn和βnj分别表示l2范数和l1范数的系数;为投影矩阵u(n)的第j行;||u(n)||2分别表示l2和l1范数;表示迭代更新后的稀疏投影矩阵;表示pn阶的单位矩阵;

通过公式(5)可以看出stlfda的目标函数和spca目标函数非常相似,因此,根据spca算法中弹性网络的方法求解公式(5),即求解得到稀疏投影矩阵组。

进一步,步骤s2.2所述根据spca算法中弹性网络的方法求解稀疏投影矩阵组,方法如下:

进行奇异值分解,表示如下:

其中为按升序排列的奇异值矩阵,表示奇异值矩阵λn第in个对角元,in为张量第n模维度的大小,φn为相应的左奇异矩阵;

令:

则:

其中:

则公式(5)、(6)可转化为:

而公式(7)、(8)与公式(9)、(10)有着相同的解;

subjecttoanant=i(10)

其中,i表示单位矩阵;

综上所述,stlfda的最优化问题转化为求公式(9)、(10)的最优解,所述最优解即为稀疏投影矩阵组。

进一步,采用交替算法求公式(9)、(10)的最优解,方法如下:

(1)当an已知,利用弹性网络求u(n)

令:

其中,j=1,…,in,由弹性网络估计得到:

(2)当u(n)已知,考虑公式(9)的最小值,忽略公式(9)的l1和l2范数惩罚项,更新an:

根据低秩procrustesrotation定理,对进行奇异值分解:

式中,分别为左奇异矩阵和右奇异矩阵;是非负实数对角矩阵;

更新

(3)重复步骤(1)和步骤(2),直至n个稀疏投影矩阵求解完成,迭代结束。

进一步,步骤s3所述用求得的稀疏投影矩阵组把训练样本和待测样本投影到低维张量子空间,表示如下:

式(7)表示将高维样本投影到低维空间其中稀疏投影矩阵组ik、pk分别为高维空间和低维空间中张量样本第k模维度的大小。

进一步,步骤s4所述张量距离定义如下:假设张量则x,y的张量距离公式为:

其中,xl和xm分别为张量x在l模和m模展开条件下的矩阵表示,yl和ym分别为张量y在l模和m模展开条件下的矩阵表示。

有益效果:与现有的对人体行为剪影序列进行特征提取的方法相比,本发明所提供的基于稀疏张量局部fisher判别分析算法具有明显的优势。该算法局部fisher判别分析,结合张量表示和稀疏表示,不但满足了张量局部fisher判别分析的目标,而且保证了得到的投影矩阵的稀疏性。首先,lfda结合了lpp和lda的优点,考虑了样本的局部结构,能够很好地对多模数据和类间交叉数据进行分类,而且使用张量表示人体行为剪影序列,既维持了高维空间数据的本征结构信息,又避免了进行大矩阵的特征分解时的巨大的计算代价。并且人类的视觉系统具有对图像的稀疏表示特性,而stlfda算法所得到的矩阵恰恰是稀疏的,进一步减少了计算量,提高了人体行为识别率。

附图说明

图1是本发明用稀疏张量局部fisher判别分析进行人体行为识别框架图。

具体实施方式

下面结合附图和实施例对本发明的技术方案作进一步的说明。

本发明所述的一种基于稀疏张量局部fisher判别分析算法的人体行为识别方法,包括以下步骤:

s1:根据weizmann人体行为库得到剪影图像序列,构建张量样本,所述人体行为库中10种不同的动作对应10类张量样本,根据所述张量样本构建训练样本集和待测样本集;

s2:采用稀疏张量局部fisher判别分析算法(stlfda)根据训练样本集训练得到稀疏投影矩阵组;所述稀疏投影矩阵组能够将原始的张量样本从高维空间投影至低维张量子空间,以保证投影到低维空间的样本集的类内散度最小化以及类间散度最大化;

s3:利用步骤s2求得的稀疏投影矩阵组分别将训练样本和待测样本投影到低维张量子空间;

s4:计算待测样本和训练样本之间的张量距离,进而得到待测样本和训练样本之间的相似度,样本间距离越近,表示二者越相似;

s5:根据相似度构造基于张量距离的最近邻分类器,对低维空间的待测样本进行识别;即在投影到低维空间的训练样本中寻找与待测样本特征距离最近的样本,确定待测样本的类别。

步骤s1所述根据张量样本构建训练样本集和待测样本集,方法如下:

在weizmann人体行为库中,9个人分别执行了10种不同的动作,共有90个视频;每个人执行的动作包括弯腰(bend),挥手原地跳(jack),双腿并拢向前跳(jump),双腿并拢向上跳(pjump),跑(run),跳跃(skip),侧跑(side),走(walk),挥单手(wave1),挥双手(wave2);

s1.1:为了表示样本的时空特征,将weizmann人体行为库中每个视频转化为剪影图像序列,使用所述人体行为库中每个动作的连续10帧来提取时空特征,每帧大小归一化为32×24像素,则张量样本的大小为32×24×10像素;剪影图像的高是所述张量的1模,剪影图像的宽是所述张量的2模,剪影图像的时间序列是所述张量的3模;

s1.2:所述人体行为库中10种不同的动作对应10类张量样本,本发明使用稀疏张量局部fisher判别分析方法直接对原始行为序列(三阶张量)进行特征提取,从每类样本中随机选取3至5个动作张量组成训练样本,每类样本中剩余的动作张量组成待测样本;根据10类张量样本分别得到训练样本集和待测样本集。

步骤s2所述采用稀疏张量局部fisher判别分析算法(stlfda)根据训练样本集训练得到稀疏投影矩阵组,方法如下:

stlfda算法包括如下步骤:将多线性主成分分析(mpca)中的张量框架融入到lfda中,提出张量局部fisher判别分析;效仿稀疏主成分分析(spca)算法求稀疏向量的原理及算法步骤,将张量局部fisher判别分析中的特征值分解问题转化为回归问题,以此得到稀疏的投影矩阵;

s2.1:构建stlfda算法的目标函数,目标函数表示为:

其中,u(n)表示第n个投影矩阵,n表示投影矩阵的个数,分别表示类间距离系数矩阵和类内距离系数矩阵,xm表示高维空间的张量样本,ym表示投影到低维空间的样本,m表示张量样本的个数,表示样本间的距离矩阵的f范数的平方,m、i、j取值范围为[1,m];

s2.2:使用迭代的方法求出目标函数的最优解,即稀疏投影矩阵组;方法如下:

求取第n个投影矩阵u(n)时,设其余n-1个投影矩阵u(1),…,u(n-1),u(n+1),…,u(n)已知,则目标函数可转换为:

其中,为张量样本在n模展开条件下的表示,m取值范围为[1,m];

将公式(2)表示成类似mpca的目标函数形式:

其中,表示u(n)的转置,tr(*)表示矩阵的迹,sb(n)为张量样本在n模展开下的局部类间散度矩阵,sw(n)为张量样本在n模展开下的局部类内散度矩阵;

通过求解公式(4),得到特征值λ、投影矩阵u(n);根据上述方法依次求出n个投影矩阵,得到多线性投影矩阵组;

将公式(3)中

等价替换为:

然后将公式(3)变为最小化问题,并增加l1、l2范数的惩罚项,增加l1范数是为了保证投影矩阵的稀疏性,增加l2范数是为了防止过拟合;则目标函数转化为:

其中,为了防止的差值太小,μ一般取0.1或者0.01;αn和βnj分别表示l2范数和l1范数的系数;为投影矩阵u(n)的第j行;||u(n)||2分别表示l2和l1范数;表示迭代更新后的稀疏投影矩阵;表示pn阶的单位矩阵;

通过公式(5)可以看出stlfda的目标函数和spca目标函数非常相似,因此,根据spca算法中弹性网络的方法求解公式(5),即求解得到稀疏投影矩阵组。

步骤s2.2所述根据spca算法中弹性网络的方法求解稀疏投影矩阵组,方法如下:

进行奇异值分解,表示如下:

其中为按升序排列的奇异值矩阵,表示奇异值矩阵λn第in个对角元,in为张量第n模维度的大小,φn为相应的左奇异矩阵;

令:

则:

其中:

则公式(5)、(6)可转化为:

而公式(7)、(8)与公式(9)、(10)有着相同的解;

subjecttoanant=i(10)

其中,i表示单位矩阵;

综上所述,stlfda的最优化问题转化为求公式(9)、(10)的最优解,所述最优解即为稀疏投影矩阵组。

采用交替算法求公式(9)、(10)的最优解,方法如下:

(1)当an已知,利用弹性网络求u(n)

令:

其中,j=1,…,in,由弹性网络估计得到:

(2)当u(n)已知,考虑公式(9)的最小值,忽略公式(9)的l1和l2范数惩罚项,更新an:

根据低秩procrustesrotation定理,对进行奇异值分解:

式中,分别为左奇异矩阵和右奇异矩阵;是非负实数对角矩阵;

更新

(3)重复步骤(1)和步骤(2),直至n个稀疏投影矩阵求解完成,迭代结束。

步骤s3所述用求得的稀疏投影矩阵组把训练样本和待测样本投影到低维张量子空间,表示如下:

式(7)表示将高维样本投影到低维空间其中稀疏投影矩阵组ik、pk分别为高维空间和低维空间中张量样本第k模维度的大小。

步骤s4所述张量距离定义如下:假设张量则x,y的张量距离公式为:

其中,xl和xm分别为张量x在l模和m模展开条件下的矩阵表示,yl和ym分别为张量y在l模和m模展开条件下的矩阵表示。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1