基于关节信息和极限学习机的人体动作识别

2015-05-29 12:30张孙培孙怀江
现代电子技术 2015年10期
关键词:极限学习机协方差

张孙培++孙怀江

摘 要: 基于关节信息的人体动作识别在人机交互、互动娱乐、多媒体信息检索等方面应用广泛。为了提高动作识别率,使用两种具有固定长度的分层描述符分别关注运动的动态和静态信息,对运动序列提取特征,将这两种描述符线性组合,形成同时包含动态和静态信息的新描述符,并使用极限学习机(ELM)进行分类。该方法在微软Kinect传感器采集到的MSRAction3D数据库和运动采集数据集HDM05上进行了仿真实验。实验结果证明组合后的描述符结合ELM在这两个数据集上的识别率较现有方法有明显提高。

关键词: 人体动作识别; 极限学习机; 协方差; 方向位移直方图

中图分类号: TN710?34; TP391.4 文献标识码: A 文章编号: 1004?373X(2015)10?0055?06

0 引 言

人体动作识别是计算机视觉研究中的一个分支,被广泛地应用于人机互动、交互式娱乐等多个领域。基于关节信息的运动轨迹记录是常用的高级记录方法之一,其中运动轨迹是指随时间变化的关节路径。

人体运动相关研究的第一个问题是运动数据的采集,常用的方法[1]有机械式的运动捕获,基于电磁系统的运动捕获,基于惯性系统的运动捕获,基于光学系统的运动捕获。为了方便研究者使用,现有很多公开的运动捕获数据集,例如CMU运动捕获数据集和HDM05数据集[2]。这些数据的采集需要较大代价,最近基于深度信息的微软Kinect运动采集器因其廉价性和可接受的精度,得到越来越多的使用。

获取运动数据后,要做的就是提取特征和选择分类器。Wu和Yang使用运动轨迹上每个点的曲率和扭矩建立了一个长度可变的描述符[3?4]。Wang使用归一化的分布向量描述每个运动轨迹,但是将描述符长度限定为固定值[5]。此后,Wang又根据骨架关节之间的相对位置建立描述符[6],并用傅里叶时序金字塔在频域内建立了时序模型。Xia计算出一帧中3D关节的直方图,并用HMM建立了时序模型[7]。Hussein等用协方差矩阵和分层的方法描述了骨架关节坐标之间的时序依赖[8],Gowayyed等又将3D关节轨迹投影到三个相互正交的2D平面上[9],利用方向位移直方图和分层的时序金字塔提取了相邻帧间的关节位置变化信息,并且取得了更好的识别效果。

上述两种方法分别片面地关注了动作的动态和静态信息,本文在Hussein等的基础上将这两种描述符加以线性拼接得到同时包含关节间位置依赖和相邻帧间关节位置变化的新描述符,并使用极限学习机[10]进行分类。

1 两种特征提取方法

1.1 协方差描述符

1.1.1 3D关节的协方差描述符

假设人体由K个关节构成,动作序列一共有T帧。设[xti],[yti]和[zti]分别为第i个关节在第t帧时的[x,y,z]坐标。设S是所有关节的位置构成的向量,即[S=x1,…,xK,y1,…,yK,z1,…,zK′],一共有[N=3K]个元素,则这个序列的协方差描述符就是[CovS=][E[(S-E(S))(S-E(S))′]]。由于S的概率分布未知,所以应用中使用样本协方差来替代,有如下公式:

[CS=1T-1t=1T(S-S)(S-S)′] (1)

式中[S]是S的样本均值。

样本协方差矩阵[CS]是一个[N×N]的对称矩阵,作为描述符时只需要采用该矩阵的上三角矩阵即可。例如后述实验中用到的由微软Kinect传感器采集的人体骨架有20个关节,则[N=3×20=60],协方差矩阵的上三角矩阵元素个数则为[NN+12=1 830],也就是描述符的长度。

1.1.2 时序分层结构

3D关节的协方差描述符注意到了运动中不同关节间的位置依赖,但是忽略了运动的时序关系。这可能造成一些问题,例如开门和关门的动作从关节的空间位置来看没有区别,但是每帧的坐标出现的先后顺序是不同的。为了解决上述问题,引入了时序分层结构,该模型启发自Lazebnik在2D图像中的空间金字塔匹配[11]。第一层协方差矩阵计算了整个运动序列,后面的各层在整个序列的小一些的窗口上计算,并且分有交叠和无交叠两种情况。每个协方差矩阵由两个索引来标记,前一个标示了层数,后一个标示了在这层中的索引,例如第一层标记为[C00]。第一层的协方差矩阵涵盖了运动序列的[T2l]帧。从一个窗口到下一个窗口的步长可以是整个窗口的长度,或者是窗口长度的一半;如果是后者,那么各窗口之间就产生了交叠。

1.1.3 快速构建描述符

创建一个时序分层并且允许交叠的多层描述符需要计算相同序列的各个子序列的多个协方差矩阵,过程耗时较长。事实上,可以用动态规划的方法在固定的时间内计算出矩阵的每个元素。相似的思想在Tuzel的积分图像中计算图像块的协方差时使用过[12]。

首先定义两个积分符号[P(t)]和[Q(t)]如下:

[P(t)=i=1tS(i),Q(t)=i=1tS(i)S(i)′] (2)

经过一系列代数运算,可以得出下式直接计算出第[t1+1~t2]帧范围内的协方差矩阵:

[Ct1,t2S=1M-1Qt1,t2-1MPt1,t2Pt1,t2′] (3)

式中:[M=t2-t1];[Qt1,t2=Qt2-Qt1];[Pt1,t2=Pt2-Pt1]。计算出P和Q后,用式(3)在固定时间内计算任意帧范围内的协方差,所需时间与帧数无关。

1.2 方向位移直方图

方向位移直方图(Histogram of Oriented Displacements,HOD)通过分别描述每个关节的3D轨迹来描述一个运动序列。首先,将每个关节的3D轨迹替换成投影在三个坐标平面(xy,yz和xz)的2D轨迹,用HOD描述每个2D轨迹。然后通过为每个2D轨迹建立时序金字塔来获得时序信息。

下面详细介绍HOD、时序金字塔和最终的3D轨迹描述符。

1.2.1 方向位移直方图

HOD方法使用每两个相邻点的方向直方图来描述2D运动。给定一个运动轨迹[T={P1,P2,…,Pn}],其中[Pt]是关节在时间t的2D位置。对于每一对位置[Pt]和[Pt+1],计算出方向角[θ(t,t+1)],可以通过式(4)的斜率(slope)来得到这个角度:

[slope=Pt+1.y-Pt.yPt+1.x-Pt.x] (4)

[θ]的值介于0°~360°之间,然后根据[θ]建立一个直方图,如果直方图分成8个块,则第一块的所有[θ]介于0°~45°之间。

直方图由相邻关节移动的距离累加而成。用式(5)决定每个[θ]所属的具体直方图块,然后将[Pt]和[Pt+1]的距离加入相应的直方图块:

[hist_bin=angle×hist_length360] (5)

HOD记录了每个关节在每个方向范围内移动量,但是丢失了时序信息,第1.2.2节描述的时序金字塔可以解决这个问题。

1.2.2 时序金字塔和3D轨迹描述符

如上所述,将运动序列作为一个整体来处理会丢失时序信息,所以使用分层的时序金字塔来获取时序信息。在第一层,用整个运动序列来建立一个描述符。第二层,将整个运动序列分成两部分,其中的每一部分分别建立一个二级描述符,以此类推。也就是说某个特定层的每个直方图块会在下一层分成两个直方图块。

最后可以将一个关节的3个2D投影的HOD描述符串联起来以描述该点的3D轨迹。

1.3 混合特征描述符

从前两小节可以看出,协方差描述符可以反映出人体骨架关节之间的位置关联信息,而对同一关节在不同时刻的位置变化描述不够,相反地,HOD描述符利用建立直方图的方法统计了各关节在相邻帧间的动态位移关系,但丢失了每一帧各关节间的静态联系。此外,观察发现两种特征描述方法都建立了分层结构来获取时序信息,只是各层的特征提取方法不同。

因此,本文将两种特征按层分别拼接起来,形成新的运动特征描述符,以期达到同时能在静态上反映关节位置关联信息和动态上反映各关节位置变化信息的目的。考虑到大部分分类器对特征向量内元素的排列顺序并不敏感,在操作上可以简化为将两种特征向量简单拼接,即:

设向量[(aki)1×m]是第i个样本在分为k层时的协方差描述符,向量[(bki)1×n]是该样本在同样分为k层时的HOD描述符,那么该样本的组合特征描述符记为[cki=[aki,bki]1×(m+n)]。

2 极限学习机

在处理非线性的高维小样本分类问题上,支持向量机(SVM)应用广泛,Hussein等也是会用该方法做分类。但是SVM本身存在一些缺陷:算法建立在求解二次规划的基础上,速度较慢;对核函数、惩罚因子和核参数的选择较为敏感;在处理多分类的问题时,性能不如神经网络。为此,选择极限学习机作为分类器。

极限学习机(Extreme Learning Machines,ELM)由黄广斌在2004年提出,并由Bernard Widrow于2013年再次提出,其主要思想是输入层与隐藏层之间的权值参数,以及隐藏层上的偏置向量参数是一次确定的[13],不需要像其他基于梯度的学习算法一样通过迭代反复调整刷新,只需求解一个最小范数最小二乘问题,并最终化归成求解一个矩阵的 Moore?Penrose 广义逆问题。因此,该算法具有训练参数少、速度快的优点。

ELM基本算法描述如下:

对于单隐层前馈网络(SLFNs),为描述方便,引入以下符号:

(1) N:训练样本总数。

(2) [N]:隐藏层单元的个数。

(3) [n,m]:输入和输出层的维度。

(4)[xj,tj,j=1,2,…,N:]训练样本,其中[xj=(xj1,xj2,…,xjn)T∈Rn],[tj=(tj1,tj2,…,tjn)T∈Rm]。将所有输出向量按行拼起来,可得到整体输出矩阵:

[T=tT1tT2?tTNN×m=t11…t1m???tN1…tNm] (6)

(5) [oj, j=1,2,…,N]:与标注[tj]相对应的实际输出向量。

(6) [W=(wij)N×n]:输入层与隐藏层之间的权矩阵,其中W的第i行对应的向量[wi=(wi1,wi2,…,win)T]表示连接隐藏层第i个单元与输入单元的权向量。

(7) [b=(b1,b2,…,bN)T]:偏置向量,[bi]表示第i个隐藏层单元的阈值。

(8) [β=(βij)N×m]:隐藏层与输出层之间的权矩阵,其中[β]的第i行对应的向量[βi=(βi1,βi2,…,βim)T]表示连接隐藏层第i个单元与输出层单元的权向量。矩阵[β]可按行写成如下分块形式:

[β=βT1βT2?βTN=β11…β1m???βN1…βNm] (7)

(9)[g(x)]:激励函数。

2.1 SLFNs的逼近问题

数学上,SLFNs的一般模型为:

[i=1Ngwi?xj+biβi=oj, j=1,2,…,N] (8)

式中[wi?xj]表示[wi]和[xj]的内积。

要使模型(8)能够零误差地逼近上述N个样本,指的是:

[j=1Noj-tj=0] (9)

也就是,存在[W,β和b],使得:

[i=1Ngwi?xj+biβi=tj, j=1,2,…,N] (10)

利用矩阵表示,式(10)可以写成:

[Hβ=T] (11)

式中:[T∈RN×m]和[β∈RN×m]的定义分别见式(6)和式(7);[H=HW,b=(bij)N×N],这里[Hij=g(wj?xi+bj)],其第i列对应第i个隐藏层单元的输出向量。

2.2 基于梯度的学习算法

当隐藏层单元的个数和样本的个数相同,即[N=N],且矩阵H可逆时,式(11)有惟一解,即前面所述“零误差地逼近样本”。然而大多数情况下,隐藏层单元的个数远小于样本个数,此时H为长方阵,且不一定存在[W,b和β],使得:

[HW,bβ-T=minW,b,βHW,bβ-T] (12)

式(12)等价于以下极小化成本函数(cost function):

[E=j=1Ni=1Ngwi?xj+biβi-tj2] (13)

该极小化问题通常采用基于梯度的学习算法来求解。记[θ=(W,β,b)]表示所有的参数,则相应的迭代格式为:

[θk=θk-1-η?E(θ)?θ] (14)

式中η为学习率。

对于前馈型神经网络,常用的学习算法是反向传导(Back?Propagation,BP)法,但该方法存在以下问题[10]:

(1) 学习率的取值不易确定;

(2) 可能收敛到局部最小;

(3) 易造成过度训练;

(4) 基于梯度的学习算法较为耗时。

2.3 SLFNs的最小范数最小二乘解

SLFNs的通常的学习算法中,输入权值W和隐藏层单元的偏置向量b都要通过迭代不断地进行调整,事实上大量实验结果表明,SLFNs的参数W和b不需要进行调整,且可以随机指定。当W和b固定时,式(12)等价于求线性系统(11)的最小二乘解,即:

[Hβ-T=minβHβ-T] (15)

根据定理[Gy]是[Ax=y]的最小范数最小二乘解等价于[G=A?],式(11)的最小范数最小二乘解为:

[β=H+T] (16)

2.4 ELM算法

至此,ELM的算法流程总结如下:

算法1:给定训练样本集合[?=][xi,tixi∈Rn,ti∈RmNi=1],激励函数[g(x)] ,隐藏层单元个数[N]。

第一步:任意指定输入权值[wi,bi, i=1,2,3,…, N]。

第二步:计算隐藏层输出矩阵H。

第三步:计算输出权矩阵[β=H+T。]

3 实 验

为了评价拼接后的新描述符,并验证ELM算法在运动数据上的分类能力,本文参照文献[8?9]在数据集MSR?Action3D和HDM05上做了对比实验。实验中分别使用了线性SVM和ELM分类器,以及基于投票的VELM分类器[14],其中SVM采用了LIBSVM软件[15]。

3.1 MSR?Action3D数据集

MSR?Action3D数据集[16]包含10个人的20种不同动作,每个动作重复2~3遍,一共有567个运动序列,参照文献[8],本文采用了其中的544个。该数据集由微软Kinect传感器采集,记录了深度信息和骨架关节位置,其中仅需要用到骨架信息,每个骨架包含20个关节。在数据的使用上,沿用了文献[16]的方法,将整个数据集分成3个子集,每个子集包含8类动作,子集之间有交叠。各子集分别训练分类器,最后统计3个子集的平均训练精度。训练集和测试集的划分方法为根据表演者选取编号为1~5的5个人的运动数据作训练,另外5个人的数据做测试。

本文使用相同的数据集在改变描述符结构参数的情况下,分别采用不同的特征描述符和不同的分类器的组合,SVM选用线性核函数,ELM隐藏层单元个数设为10 000,VELM为10个ELM进行投票,每个ELM的隐藏层单元个数为1 000,各数据子集的平均识别率如表1所示。

表1 各种方法在MSR?Action3D数据集上的识别率

表1中:L表示特征描述符的层数;带有OL的表示各层窗口间带交叠;CV表示协方差描述符;HOD表示方向位移直方图描述符。HOD描述符不存在交叠情况,所以表格的后两格为空。MIX表示组合描述符,组合描述符的交叠是指带交叠的协方差描述符和不带交叠的HOD描述符的组合。从表1可以看出,组合特征描述符结合ELM分类器在该数据集上具有明显优势,另外ELM算法对协方差描述符的分类效果对比SVM也有明显提高。为验证该结论的一般性,分别在不同的训练集和测试集划分方式下进行了10次上述实验,平均结果如表2所示,可见结论具有一般性。

3.2 HDM05运动捕获数据集

参照文献[17],本文还在运动捕获数据集HDM05上进行了上述实验。该数据集与MSR?Action3D数据集的主要区别在于:

(1) HDM05采用专业的运动捕获设备可以获取具有较小噪声的数据;

(2) 该数据集的骨架节点为31个,这会使得两种特征描述符均变长;

(3) 每秒采集的帧数也高很多,达到120 f/s而不是前一数据集的30 f/s。

表2 10种划分方式下MSR?Action3D数据集平均识别率

实验中使用了和文献[17]一样的5个人表演的11个动作,这11个动作分别是:deposit floor,elbow to knee,grab high,hop both legs,jog,kick forward,lie down,floor,rotate both arms backward,sneak,squat和throw basketball。但是由于无法找到与原文献中一样的运动序列,在保证动作类别相同的情况下在该数据集下随机选择了277个运动序列,将其中3个演员的动作做训练,其余2个演员的动作做测试,如同前一数据集,穷举了全部10种训练、测试集的划分,并剔除其中一种明显出错的情况,最后统计剩余的9种,9次的平均结果如表3所示。

结果可以看出ELM算法对各种特征描述符的分类结果均优于SVM。比较表3和表2,发现虽然用作训练的样本个数相差无几,但相同的特征描述符和分类器对HDM05数据集的识别率要远高于MSR?Action3D数据集。这是HDM05数据集低噪声,高帧率,以及较多的关节数决定的。

4 结 语

本文将协方差描述符和HOD描述符线性组合起来形成一个既包含静态的每帧各关节间的依赖信息,又包含动态的每个关节各帧之间位移关系的新描述符。分别将这3种描述符在MSR?Action3D数据集和HDM05数据集上用线性SVM,ELM和VELM做分类,结果表明:ELM和基于投票的VELM在各种特征上的效果均不逊于SVM,且在MSR?Action3D数据集上结合组合特征对分类精度得到了很大改善,这证明了ELM算法在处理人体运动这样的流形数据上的优势;组合后的特征描述符在低质量的数据上,能够起到特征互补的作用,提高识别率。但是在HDM05这样的高质量数据集上,组合后的特征并无明显优势。结合具体样本分析后HOD提取的特征具有尺度和速度不变性,而协方差特征具有缩放和平移不变性,不具备旋转不变性,这样的两种特征简单拼接会互相削弱各自性质的表达。

在后期工作中,期望建立新的描述符,对子关节相对父关节的旋转角度提取特征,以实现旋转、缩放、平移和尺度的不变性,来进一步改善分类效果。

表3 9种划分方法下HDM05数据集平均识别率

参考文献

[1] 蓝荣祎.人体运动捕获数据的建模与重用研究[D].南京:南京理工大学,2013.

[2] M?LLER M, R?DER T, CLAUSEN M, et al. Documentation mocap database HDM 05 [D]. Germeny: Universitat Bonn, 2007.

[3] WU S, LI Y, ZHANG J. A hierarchical motion trajectory signature descriptor; proceedings of the robotics and automation [C]// Proceedings of 2008 IEEE International Conference on ICRA.[S.l.]: IEEE, 2008: 3070?3075.

[4] YANG J, LI Y, WANG K. A new descriptor for 3D trajectory recognition via modified CDTW [C]// proceedings of 2010 IEEE International Conference on the Automation and Logistics (ICAL). [S.l.]: IEEE, 2010: 37?42.

[5] WANG H, KLASER A, SCHMID C, et al. Action recognition by dense trajectories[C]// Proceedings of 2011 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). [S.l.]: IEEE, 2011: 3169?3176.

[6] WANG J, LIU Z, WU Y, et al. Mining actionlet ensemble for action recognition with depth cameras [C]// proceedings of 2012 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). [S.l.]: IEEE, 2012: 1290?1297.

[7] XIA L, CHEN C?C, AGGARWAL J. View invariant human action recognition using histograms of 3d joints [C]// proceedings of 2012 IEEE Computer Society Conference on the Computer Vision and Pattern Recognition Workshops (CVPRW). [S.l.]: IEEE, 2012: 20?27.

[8] HUSSEIN M E, TORKI M, GOWAYYED M A, et al. Human action recognition using a temporal hierarchy of covariance descriptors on 3d joint locations [C]// proceedings of the Twenty?third International Joint Conference on Artificial Intelligence. USA: AAAI Press, 2013: 2466?2472.

[9] GOWAYYED M A, TORKI M, HUSSEIN M E, et al. Histogram of oriented displacements (HOD): describing trajectories of human joints for action recognition [C]// proceedings of the Twenty?third International Joint Conference on Artificial Intelligence. USA: AAAI Press, 2013: 1351?1357.

[10] HUANG G?B, ZHU Q?Y, SIEW C?K. Extreme learning machine: a new learning scheme of feedforward neural networks [C]// Proceedings of 2004 IEEE International Joint Conference on Neural Networks. [S.l.]: IEEE 2004: 985?990.

[11] LAZEBNIK S, SCHMID C, PONCE J. Beyond bags of features: Spatial pyramid matching for recognizing natural scene categories[C]// proceedings of 2006 IEEE Computer Society Conference on the Computer Vision and Pattern Recognition. [S.l.]: IEEE, 2006: 45?49.

[12] TUZEL O, PORIKLI F, MEER P. Pedestrian detection via classification on riemannian manifolds [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008, 30(10): 1713?1727.

[13] WIDROW B, GREENBLATT A, KIM Y, et al. The< i> No?Prop algorithm: A new learning algorithm for multilayer neural networks [J]. Neural Networks, 2013, 37: 182?188.

[14] CAO J, LIN Z, HUANG G?B, et al. Voting based extreme learning machine [J]. Information Sciences, 2012, 185(1): 66?77.

[15] CHANG C?C, LIN C?J. LIBSVM: a library for support vector machines [J]. ACM Transactions on Intelligent Systems and Technology (TIST), 2011, 2(3): 27?33.

[16] LI W, ZHANG Z, LIU Z. Action recognition based on a bag of 3d points [C]// proceedings of 2010 IEEE Computer Society Conference on the Computer Vision and Pattern Recognition Workshops (CVPRW). [S.l.]: IEEE, 2010: 9?14.

[17] OFLI F, CHAUDHRY R, KURILLO G, et al. Sequence of the most informative joints (smij): A new representation for human skeletal action recognition [J]. Journal of Visual Communication and Image Representation, 2014, 25(1): 24?38.

猜你喜欢
极限学习机协方差
高效秩-μ更新自动协方差矩阵自适应演化策略
用于检验散斑协方差矩阵估计性能的白化度评价方法
基于稀疏编码器与集成学习的文本分类
神经元的形态分类方法研究
基于判别信息极限学习机的高光谱遥感图像分类
多元线性模型中回归系数矩阵的可估函数和协方差阵的同时Bayes估计及优良性
基于极限学习机的玻璃瓶口缺陷检测方法研究
二维随机变量边缘分布函数的教学探索
不确定系统改进的鲁棒协方差交叉融合稳态Kalman预报器
极限学习机在图像分割中的应用