Print

发布时间: 2019-03-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.180375
2019 | Volume 24 | Number 3




    图像分析和识别    




  <<上一篇 




  下一篇>> 





多视角深度运动图的人体行为识别
expand article info 刘婷婷, 李玉鹏, 张良
中国民航大学天津市智能信号与图像处理重点实验室, 天津 300300

摘要

目的 使用运动历史点云(MHPC)进行人体行为识别的方法,由于点云数据量大,在提取特征时运算复杂度很高。而使用深度运动图(DMM)进行人体行为识别的方法,提取特征简单,但是包含的动作信息不全面,限制了人体行为识别精度的上限。针对上述问题,提出了一种多视角深度运动图的人体行为识别算法。方法 首先采用深度图序列生成MHPC对动作进行表示,接着将MHPC旋转特定角度补充更多视角下的动作信息;然后将原始和旋转后MHPC投影到笛卡儿坐标平面,生成多视角深度运动图,并对其提取方向梯度直方图,采用串联融合生成特征向量;最后使用支持向量机对特征向量进行分类识别,在MSR Action3D和自建数据库上对算法进行验证。结果 MSR Action3D数据库有2种实验设置,采用实验设置1时,算法识别率为96.8%,比APS_PHOG(axonometric projections and PHOG feature)算法高2.5%,比DMM算法高1.9%,比DMM_CRC(depth motion maps and collaborative representation classifier)算法高1.1%。采用实验设置2时,算法识别率为93.82%,比DMM算法高5.09%,比HON4D(histogram of oriented 4D surface normal)算法高4.93%。在自建数据库上该算法识别率达到97.98%,比MHPC算法高3.98%。结论 实验结果表明,多视角深度运动图不但解决了MHPC提取特征复杂的问题,而且使DMM包含了更多视角下的动作信息,有效提高了人体行为识别的精度。

关键词

人体行为识别; 深度图像; 深度运动图; 多视角深度运动图; 运动历史点云; 方向梯度直方图; 支持向量机

Human action recognition based on multi-perspective depth motion maps
expand article info Liu Tingting, Li Yupeng, Zhang Liang
Key Laboratory of Advanced Signal and Image Processing, Civil Aviation University of China, Tianjin 300300, China
Supported by: National Natural Science Foundation of China (61179045)

Abstract

Objective Action recognition based on depth data is gradually performed due to the insensitivity to illumination of depth data. Two main methods are used; one refers to the point clouds converted from depth maps, and the other refers to the depth motion maps (DMMs) generated from depth map projection. Motion history point cloud (MHPC) is proposed to represent actions, but the large amount of points in the MHPC incur expensive computations when extracting features. DMMs are generated by stacking the motion energy of depth map sequence projected onto three orthogonal Cartesian planes. Projecting the depth maps onto a specific plane provides additional body shape and motion information. However, DMM contains inadequate motion information, which caps the human action recognition accuracy, although extracting features from DMMs is simple. In other words, an action is represented by DMMs from only three views; consequently, the action information from other perspectives is lacking. Multi-perspective DMMs for human action recognition are proposed to solve the above problems. Method In the algorithm, MHPC is first generated from a depth map sequence to represent actions. Motion information under different perspectives is supplemented through rotating the MHPC around axis $Y$ at a certain angle. The primary MHPC is then projected onto three orthogonal Cartesian planes, and the rotated MHPC is projected onto $XOY$ planes. The multi-perspective DMMs are generated from these projected MHPCs. After projection, the point clouds are distributed in the plane where many overlapping points under the same coordinates exist. These points may come from the same frame of depth map or from different frames. We use these overlapping points to generate DMMs and capture the spatial energy distribution of motion. For example, the pixel in DMMs generated from the MHPC projected onto $XOY$ plane is the sum of the absolute difference of $z$ of the adjacent two overlapping points belonging to different frames. DMM generation from the MHPC projected onto $YOZ$ and $XOZ$ planes is similar to this; only the point of $z$ is correspondingly changed to $x$ and $y$. MHPC is projected onto three orthogonal Cartesian planes to generate DMMs from the front, side, and top views. The rotated MHPC is projected onto the $XOY$ plane to generate DMMs under different views. Multi-perspective DMMs that encode the 4D information of an action to 2D maps are utilized to represent an action. Thus, the action information under considerable perspective is replenished. The values of the $x, y, z$ of points in the projected MHPC are normalized to fixed values as multi-perspective DMM image coordinates, which can reduce the intraclass variability due to different action performers. According to experience, this study normalizes the values of $x$ and $z$ to 511 and those of $y$ to 1 023. The histogram of oriented gradients is extracted from each DMM and then concatenated as a feature vector of an action. Finally, the SVM classifier is adopted to train the classifier to recognize the action. Experiments with this method on the MSR Action3D dataset and our dataset are performed. Result The proposed algorithm exhibits improved performances on MSR Action 3D database and our dataset. Two experimental settings are considered for MSR Action3D. The proposed algorithm achieves an identification rate of 96.8% in the first experimental setting, which is obviously better than those for most algorithms. The action recognition rate of the proposed algorithm is 2.5% higher than that of the APS-PHOG (axonometric projections and PHOG feature) algorithm, 1.9% higher than that of the DMM algorithm, and 1.1% higher than that of the DMM_CRC (DMMs and collaborative representation classifier) algorithm. In the second experimental setting, the recognition rate of the proposed algorithm reaches 93.82%, which is 5.09% higher than that of the DMM algorithm, 4.93% higher than that of the HON4D algorithm, 2.18% higher than that of the HOPC algorithm, and 1.92% higher than that of the DMM_LBP feature fusion. In our database, the recognition rate of the proposed algorithm is 97.98%, which is 3.98% higher than that of the MHPC algorithm. Conclusion MHPC is used to represent actions which supplement the action information from different perspectives by rotating certain angles. Multi-perspective DMMs are generated by computing the distribution of overlapping points in the projected MHPC, which captures the spatial distribution of the absolute motion energy. Coordinate normalization reduces the intraclass variability. Experimental results show that multi-perspective DMMs not only solve the difficulty of extracting features from MHPCs but also supplement the motion information of traditional DMMs. Human action recognition based on multi-perspective DMMs outperforms some existing methods. The new approach combines the method of point clouds with the method of deep motion map, utilizing the advantages of both and weakening their disadvantages.

Key words

human action recognition; depth maps; depth motion maps; multi-perspective depth motion maps; motion history point cloud; histogram of oriented gradient; support vector machine

0 引言

人体行为识别在智能视频监控、视频内容检索、人体运动分析、辅助医疗等领域有着广泛的应用,国内外学者对此进行了大量研究。最初对人体行为识别的研究是基于RGB信息的,产生了人体关键姿态[1]、剪影[2]、时空特征[3]等识别方法。但是由于人体动作的复杂性和多变性、相机视角改变与抖动、光照变化、遮挡与自遮挡等因素使得人体行为识别仍有很大发展空间。近些年深度图像获取技术逐渐成熟,深度图像受光照条件变化的影响较小,仅与物体的空间位置有关,能直接反映物体表面的3维特性。基于以上优势,利用深度数据进行人体行为识别的研究逐渐展开。

利用骨骼关节点能够建模人体动作模型,Xia等人[4]提出用关节点位置直方图(HOJ3D)对人体动作进行表示,并采用离散隐马尔科夫模型进行分类。冉宪宇等人[5]采用自适应骨骼中心的行为识别算法进行特征提取。Wang等人[6]运用关键姿态序列(KPM)对动作进行描述,对动作方式的差异具有鲁棒性。虽然一些利用骨骼关节点的方法能够达到较高的识别率,但都是在人正向面对摄像机时才能准确估计骨骼关节点的位置,当不是直立动作时得到的关节点非常不稳定[7]

通过深度相机采集的深度图像可以直接转化为3D点云数据,Rahmani等人[8]提出方向主成分直方图(HOPC)对动作点云数据进行描述,从局部几何形状来刻画动作。Oreifej等人[9]采用直方图捕获点云序列构成4D曲面法线的方向分布(HON4D),但需要对动作进行时空对齐,具有一定的局限性。Yang等人[10]通过聚类点云序列中每个点邻域内的4D法线,形成新的超级法向量描述子(SNV),能够同时捕获局部运动和几何信息。以上基于点云数据的方法,提取局部特征对动作进行描述,对局部自遮挡具有鲁棒性,但是忽略了各点之间的全局约束。Liu等人[11]提出利用运动历史点云(MHPC)对动作视频进行表示,将一个动作的深度图序列看做一个整体进行处理,完整保留了动作空间和时序信息,完成了对动作的全局表示。但是MHPC中大量的点云数据给设计高效的特征提取算法带来挑战。

深度图像能够提供动作执行者的身体形状和运动信息,Shen等人[12]提出一种深度差异运动历史图像(DDMHI),将其轴向投影后,提取分层梯度方向直方图(PHOG)对动作进行描述。Yang等人[13]将深度图像进行投影生成深度运动图(DMM),用来捕获时间聚集的相对运动能量,将4维的动作信息编码到3个视图下的2D图像。Chen等人[14]对DMM采用L2正则化协同表示分类器实现动作识别,验证了算法的实时性,并对DMM提取LBP特征,采用特征层融合(DMM-LBP-FF)和决策层融合(DMM-LBP-DF)2种方式对动作进行识别[15]。以上基于DMM的方法相对简单,计算量相对较小,但是获得的动作信息局限在3个投影视图下,不能获得其他视角下的动作信息。

由以上分析可得,基于点云数据和DMM进行人体行为识别的算法各有优缺点。为了使DMM捕获更加全面的动作信息,本文利用MHPC将动作表示为一个可以被旋转成任意角度的3维物体,通过对动作进行旋转,投影生成多视角深度运动图。基本思路是:首先由深度图序列生成MHPC对动作进行表示。接着利用旋转矩阵将其绕Y轴旋转,增加了动作执行者在左右偏离摄像头时的动作状态信息。然后将原始的和旋转后的MHPC投影到笛卡儿坐标平面,根据投影后点云中的点的分布特点生成多视角深度运动图,捕获更多视角下的空间能量分布。堆积的能量在多视角深度运动图上表现为不同的外观与形状,利用方向梯度直方图(HOG)[16]进行特征提取。最后采用支持向量机(SVM)[17]进行分类,识别出人体动作。本文提出的基于多视角深度运动图的人体行为识别算法将MHPC和DMM两种方法结合起来,使得DMM包含了更多视角下的运动信息,并且解决了MHPC中点云数据提取特征困难的问题,很好地发挥了两者的优势,弱化了两者的缺点。图 1是本文算法框架。

图 1 本文算法框架
Fig. 1 Framework of the proposed algorithm

本文方法的创新点主要体现在两方面:1)对MHPC进行旋转,使得动作信息的获取不再局限于1个或3个视角;2)对DMM进行改进,将原始的MHPC和经过旋转的MHPC进行投影,根据投影后点云中点的分布情况生成多视角深度运动图,生成过程中的坐标归一化降低了类内差异。

1 动作表示

本文提出基于多视角深度运动图的人体行为识别算法,首先将深度图序列生成MHPC,接着对其进行旋转,将原始与旋转后的MHPC进行投影,生成多视角深度运动图,实现对动作样本的表示。

1.1 运动历史点云

运动历史点云(MHPC)是将一个动作样本的深度图序列压缩成一个包含空间信息与时间信息的点的集合。公式为$ \mathit{\boldsymbol{M}} = \{ {P_1}, {P_2}, \cdots , {P_n}\} $$n $表示$\mathit{\boldsymbol{M}} $中点的个数。点云中任一点的坐标定义为$ {P_j}\left( {x, y, z, h} \right), j \in \left( {1, n} \right) $$ {P_{j.x}}, {P_{j.y}}, {P_{j.z}} $是相机坐标系中的点的$ x, y, z$值,记录动作发生的位置;${P_{j.h}} $是深度图的帧号,记录动作发生的时间。假如一个动作序列包含$ N$帧深度图像,将每帧提取前景的深度图像,从图像坐标系映射到相机坐标系得到每帧的点云,然后填充到MHPC中,直至读取完所有深度图像, 生成框架如图 2所示。

图 2 MHPC生成流程图
Fig. 2 The framework of the generation of MHPC

图 3是动作“高手挥舞”生成的MHPC。由图 3可知,MHPC是一个3维立体,坐标系以屏幕右方为$X$轴正方向,屏幕上方为$Y$轴正方向,垂直屏幕向外为$Z$轴正方向。通过旋转可以得到不同视角下的MHPC,将MHPC绕$X$轴旋转$θ$度,得到上下偏离摄像头$θ$视角的动作信息;将MHPC绕$Y$轴旋转$θ$度,得到左右偏离摄像头$θ$视角的动作信息;将MHPC绕$Z$轴旋转$θ$度,得到航偏角$θ$的动作信息。但是在现实情况下,动作执行者多是左右偏离摄像头。所以,本文将$ \mathit{\boldsymbol{M}} $$Y$轴旋转$θ$度($({\mathit{\boldsymbol{R}}_y}(\theta ))$)得到$ {\mathit{\boldsymbol{M}}_\theta } $

图 3 MHPC效果图
Fig. 3 MHPC of the action of high wave

$ {\mathit{\boldsymbol{R}}_y}\left( \theta \right) = \left[ {\begin{array}{*{20}{c}} {\cos \theta }&0&{ - \sin \theta }\\ 0&1&0\\ {\sin \theta }&0&{\cos \theta } \end{array}} \right] $ (1)

式中,$ θ$根据经验可以选择{±25°, ±30°, ±45°}中的一个或多个。经过旋转,一个动作样本由$ {\mathit{\boldsymbol{M}}} $和若干个旋转后的$ {\mathit{\boldsymbol{M}}_\theta } $来表示,补充了更多视角下的动作信息,使得动作表示得更加充分。

1.2 多视角深度运动图

深度图像能够提供动作的形状和运动信息,将一个深度视频序列中的每一帧深度图像投影到3个正交的笛卡儿坐标平面上,具体为XOY平面、YOZ平面、XOZ平面,得到相应的前视图$ \mathit{\boldsymbol{ma}}{\mathit{\boldsymbol{p}}_{\rm{f}}}$、侧视图$ \mathit{\boldsymbol{ma}}{\mathit{\boldsymbol{p}}_{\rm{s}}} $、俯视图$ \mathit{\boldsymbol{ma}}{\mathit{\boldsymbol{p}}_{\rm{t}}} $,这3个投影图的像素值分别为深度图中点的ZXY值。将上述3个投影视图序列的相邻帧做差分运算,然后取绝对值与阈值判断后累加,得到深度运动图。计算公式为

$ {\mathit{\boldsymbol{D}}_v} = \sum\limits_{i = {N_{{\rm{begin}}}}}^{{N_{{\rm{end}}}} - 1} {(|\mathit{\boldsymbol{map}}_{_v}^{^{i + 1}} - \mathit{\boldsymbol{map}}_{_v}^{^i}| > \varepsilon )} $ (2)

式中,$ i $为帧的索引,$ {N_{{\rm{begin}}}} $表示起始帧号,$ {N_{{\rm{end}}}} $表示终止帧号,$ \mathit{\boldsymbol{map}}_{_v}^{^i} $表示第$ i $帧在视图$ v $下的投影图,$v \in \{ {\rm{f}}, {\rm{s}}, {\rm{t}}\} $$ \left| {\mathit{\boldsymbol{map}}_{_v}^{^{i + 1}} - \mathit{\boldsymbol{map}}_{_v}^{^i}} \right| > \varepsilon $是运动能量的二值图。

深度运动图能够捕获运动的能量,表现为不同的外观与形状,能够很好地表征动作类别,但是表示的动作局限在3个视图。有鉴于此,利用1.1节的多视角运动历史点云进行投影,生成多视角深度运动图。将没有旋转的$ \mathit{\boldsymbol{M}} $投影到$ XOY $平面、$ YOZ $平面、$ XOZ $平面,得到前视图、侧视图、俯视图下的$ {{\boldsymbol{D}}_{{\rm{f, s, t}}}} $。将绕Y轴旋转$ θ $度的$ {\mathit{\boldsymbol{M}}_\theta } $投影到XOY平面,获得视角$ θ $下的$ {\mathit{\boldsymbol{D}}_\theta } $。最终,一个动作样本用${\mathit{\boldsymbol{D}}_{{\rm{f}}, {\rm{s}}, {\rm{t}}, \theta }} $表示,即为多视角深度运动图,比传统的深度运动图包含更多视角下的运动信息。

将MHPC投影到XOY平面,即MHPC中所有点的$ z $值置为0,其他坐标值不变,MHPC中的点全部分布在XOY平面。同理,投影到XOZ平面或YOZ平面时,将MHPC中所有点的$ y $值或$ x$值置为0。图 4(a)中的前3幅图是投影后得到的前视图、侧视图、俯视图下的MHPC, 后2幅图是旋转后的MHPC投影到XOY平面的效果,表示在θ=-45°和θ=45°的情况下获得的动作在视角θ的运动信息。投影后的点云在同一坐标下有很多重叠的点,由此来生成多视角深度运动图。此时投影并不会将坐标值置为0,而是计算多视角深度运动图的像素值。以投影到XOY平面为例,在MHPC中存在一些$x $$ y $值相同但$ z $值不同的重叠的点,这些$ z $值不同的点,若属于同一帧深度图像,则其$ h $值相同,若属于不同帧的深度图像,则其$ h $值不同。依次遍历这些重叠的点,如果相邻两点属于不同帧,则将两点的$ z $值做差取绝对值叠加,直至遍历完此坐标下所有重叠的点,将绝对值叠加最终得到的值作为多视角深度运动图在此坐标下的像素值,反映了动作在此坐标下的绝对空间能量。对XOY平面所有坐标执行以上操作,可以得到在前视图下动作的绝对空间能量分布。类似地,将MHPC投影到YOZ平面和XOZ平面,做差取绝对值叠加的分别是$ x, y $值,可以得到侧视图和俯视图下动作空间能量分布。由多视角运动历史点云生成多视角深度运动图,将3维的空间信息转化到2维图像上,包含丰富的外观与形状信息,可以提取HOG特征对动作进行表示,比直接在3维的MHPC中提取关键点,并在关键点特征描述后对动作进行表示要简单得多。

图 4 MHPC的投影和多视角DMM
Fig. 4 The projection of MHPC and multi-view DMM ((a)projections of MHPC onto Cartesian planes;(b)multi-view DMM generated from projected MHPC)

假设投影到XOY平面、YOZ平面、XOZ平面的MHPC中,某一坐标有$ m $个重叠的点(投影平面不同,$ m $不一定相同),依次遍历重叠的点,相应地将相邻的属于不同帧的两点的$ z $值、$ x $值、$ y $值做差取绝对值累加,作为多视角深度运动图的像素值

$ \left\{ \begin{array}{l} {\mathit{\boldsymbol{D}}_{\rm{f}}} = \sum\limits_{i = 1}^{m - 1} {|{P_{\left( {i + 1} \right).z}}} - {P_{i.z}}|\;\;\;{P_{\left( {i + 1} \right).h}} \ne {P_{i.h}}\\ {\mathit{\boldsymbol{D}}_{\rm{s}}} = \sum\limits_{i = 1}^{m - 1} {\left| {{P_{\left( {i + 1} \right).x}} - {P_{i.x}}} \right|} \;\;\;\;{P_{\left( {i + 1} \right).h}} \ne {P_{i.h}}\\ {\mathit{\boldsymbol{D}}_{\rm{t}}} = \sum\limits_{i = 1}^{m - 1} {\left| {{P_{\left( {i + 1} \right).y}} - {P_{i.y}}} \right|} \;\;\;\;{P_{\left( {i + 1} \right).h}} \ne {P_{i.h}} \end{array} \right. $ (3)

式中,$ i $为重叠的点的索引。$ {\mathit{\boldsymbol{D}}_\theta } $${\mathit{\boldsymbol{M}}_\theta } $投影到XOY平面得到,计算方法同$ {\mathit{\boldsymbol{D}}_{\rm{f}}} $

由于映射到相机坐标系的点的$ x, y, z $值是实数,并且变化范围较小,不能直接作为图像的坐标,所以将其进行归一化。人体形状各异,当同一动作由不同人执行时,存在较大的类内差异。在生成多视角深度运动图时利用$ {\mathit{\boldsymbol{X}}_{{\rm{norm}}}} $对坐标进行归一化,能够极大地减少这种类内差异

$ {\mathit{\boldsymbol{X}}_{{\rm{norm}}}} = {C_0} \times \frac{{\mathit{\boldsymbol{X}} - {\mathit{\boldsymbol{X}}_{{\rm{min}}}}}}{{{\mathit{\boldsymbol{X}}_{{\rm{max}}}} - {\mathit{\boldsymbol{X}}_{{\rm{min}}}}}} $ (4)

式中,C0为常数,X为需要归一化的向量。

最后生成的$ {\mathit{\boldsymbol{D}}_{{\rm{f}}, {\rm{s}}, \theta }} $为512×1 024像素大小,$ {\mathit{\boldsymbol{D}}_{\rm{t}}}$为512×512像素大小,在提取特征时分别调整到64×128像素和64×64像素,生成的多视角深度运动图的效果图如图 4(b)所示。$ {\mathit{\boldsymbol{D}}_{{\rm{f}}, {\rm{s}}, {\rm{t}}, \theta }} $对动作样本进行表示,旋转的次数和角度决定着表示动作的丰富程度,进而影响最终的识别效果。

2 特征提取与分类器

2.1 HOG特征

梯度方向直方图(HOG)采用将图像分块分单元的方法,既可以描述图像的局部形状信息,也可以表征局部像素点之间的关系。本文在对多视角深度运动图$ {\mathit{\boldsymbol{D}}_{{\rm{f}}, {\rm{s}}, {\rm{t}}, \theta }} $中的每幅图像提取HOG特征时,将单元大小设置为8×8像素,块的大小设置为4×4个单元,根据生成多视角深度运动图的大小,划分为2×4或2×2个互不重叠的块,每个单元内的梯度方向平均分成12个区间,因此得到每个图像的HOG特征向量为1 536维或768维。最后,将从多视角深度运动图中得到的HOG特征串联起来,生成该动作样本的特征向量。

2.2 SVM分类器

支持向量机(SVM)是一种通用二分类器,假设给定线性可分数据

$ \begin{array}{c} \mathit{\boldsymbol{T}} = \{ ({\mathit{\boldsymbol{x}}_1}, {y_1}), ({\mathit{\boldsymbol{x}}_2}, {y_2}), \cdots , ({\mathit{\boldsymbol{x}}_m}, {y_m})\} \\ {\mathit{\boldsymbol{x}}_i} \in \mathit{\boldsymbol{X}} = {{\bf{R}}^n} \end{array} $

式中,${\mathit{\boldsymbol{x}}_i} $为某一样本的特征向量,$ y_i $为某一样本的标签,$ {y_i} \in \mathit{\boldsymbol{Y}} = {{\bf{R}}^n} = \left\{ { - 1, + 1} \right\}, {\rm{ }}i = 1, 2, \cdots , m $。在样本空间中,超平面的方程为

$ \gamma = \frac{2}{{\left\| \mathit{\boldsymbol{w}} \right\|}} $ (5)

式中,$ γ $称为间隔。要得到最优超平面,就要使得数据到超平面的间隔最大,即

$ \begin{array}{c} \mathop {\max }\limits_{\mathit{\boldsymbol{w}}, b} \frac{2}{{\left\| \mathit{\boldsymbol{w}} \right\|}}\;\;\;{\rm{s}}{\rm{.t}}{\rm{.}}\;\;\;\;{y_i}({\mathit{\boldsymbol{w}}^{\rm{T}}}{\mathit{\boldsymbol{x}}_i} + b) \ge 1\\ i = 1, 2, \cdots , m \end{array} $ (6)

此目标函数可以等价为

$ \begin{array}{c} \mathop {\min }\limits_{\mathit{\boldsymbol{w}}, b} \frac{1}{2}{\left\| \mathit{\boldsymbol{w}} \right\|^2}\;\;\;{\rm{s}}{\rm{.t}}.\;\;\;\;{y_i}({\mathit{\boldsymbol{w}}^{\rm{T}}}{\mathit{\boldsymbol{x}}_i} + b) \ge 1\\ i = 1, 2, \cdots , m \end{array} $ (7)

由此可以求出最优解$ \mathit{\boldsymbol{w}}, b $,得到线性可分SVM。当训练数据近似线性可分时,引入松弛变量,通过软间隔最大化,学习一个线性分类器,即线性SVM;当训练数据线性不可分时,利用内积核函数把线性不可分的样本映射到一个更高维的空间中,通过软间隔最大化,学习非线性SVM。应用较广泛的内积核函数有线性核函数、多项式核函数、径向基函数(RBF)和Sigmoid函数。因为本文得到的样本的特征维度较高,根据实践经验,选择了线性核函数。通过网格搜索(grid search)方法确定参数C(惩罚系数)的值。

针对多分类问题,一般是拆分为若干个二分类问题,主要包括一对多(OVR)和一对一(OVO)两种方法。假设给定$N$个类,OVR是需要训练$N$个分类器,其中分类器$i$是将$i$类数据设置为正类,剩余$(N-1)$$i$类以外的类设置为负类,因此每一个类都需要训练一个二类分类器。对于一个需要分类的数据$ \mathit{\boldsymbol{X}} $,使用投票的方式确定其类别。而OVO方法是对$N$个类中每两个类都训练一个分类器,总共得到$ N(N-1)/2 $个二分类器。对于一个需要分类的数据$ \mathit{\boldsymbol{X}} $,需要经过所有分类器的预测,同样使用投票的方式决定$ \mathit{\boldsymbol{X}} $最终的类别。本文利用LibSVM工具包,采用OVO方法实现多分类。

3 实验及结果分析

3.1 数据库介绍与实验参数

为验证算法的有效性,将本文算法在MSR Action3D数据库[18]和自建数据库[11]上进行实验。MSR Action3D是目前应用较广泛的公共数据库,由20个动作类别构成,每个动作类别由10个人执行2~3次,总共567个动作样本,用RGBD摄像头进行采集,深度图像的分辨率是320×240像素。为了验证更多动作的识别效果,同时在自建数据库上进行实验,自建数据库由深度摄像头KinectV2.0采集,深度图像的分辨率是512×424像素。自建数据库包含两手挥舞(two hand-wave)、跑步(run)、跳跃(jump)、踏步(mark time)、弯腰(bend)、蹲(squat)、侧移(side)、踢腿(leg-kick)、投(pitch)、打高尔夫(golf-swing)、侧面打拳(side-boxing)11个动作。在MSR Action3D数据库中无跑步、跳跃、踏步、蹲、侧移、侧面打拳这6个动作。在采集动作样本深度视频时,固定摄像机,背景不变,每一个动作由9个人各执行1次,共得到99个动作样本。自建数据库相似动作较少,比MSR Action3D数据库相对简单。图 5是上述2个数据库中动作样本的深度图像。

图 5 实验数据库
Fig. 5 Experiment datasets((a)MSR Action3D;(b)our dataset)

本文实验主要在惠普Z640工作站上进行,2.1 GHz CPU, 64 GB内存,利用Visual Studio 2012和MATLAB R2016a进行编程。由于采用线性核函数,仅对参数C利用网格搜索方法寻得最优值,然后利用LibSVM工具包基于最优的参数C训练生成多分类器,进而实现动作识别。其中在MSR Action3D数据库中平均每个样本训练需要7.1 ms,识别需要7.3 ms;文献[15]采用基于核的极限学习机,平均每个样本识别需要1.21 ms,比本文算法快6.09 ms。在自建数据库中,每个样本训练需要2.3 ms,识别需要4.5 ms。

3.2 识别结果与分析

3.2.1 MSR Action3D数据库

数据库有2种实验设置,实验设置1是依据动作的复杂程度和相似性将动作集分为3个动作子集:AS1、AS2、AS3,每个动作子集包含8个动作,如表 1所示。针对每个动作子集,有3种测试方法。1)将每个子集的1/3样本用来训练,其他的样本用来测试;2)将每个子集的2/3样本用来训练,其他的样本用来测试;3)用一半人(1, 3, 5, 7, 9号)的动作样本做训练,剩下的人(2, 4, 6, 8, 10号)的动作样本做测试。实验设置2是在整个动作集中选取一半人(1, 3, 5, 7, 9号)的动作样本做训练,剩下的人(2, 4, 6, 8, 10号)的动作样本做测试。因为包含更多的样本,所以实验设置2更具有挑战性。

表 1 MSR Action3D数据库的3个动作子集
Table 1 Three action subsets of MSR Action3D dataset

下载CSV
动作子集(AS1) 动作子集2(AS2) 动作子集3(AS3)
Horizontal wave(2) High wave(1) High throw(6)
Hammer(3) Hand catch(4) Forward kick(14)
Forward punch(5) Draw x(7) Side kick(15)
High throw(6) Draw tick(8) Jogging(16)
Hand clap(10) Draw circle(9) Tennis swing(17)
Bend(13) Two hand wave(11) Tennis serve(18)
Tennis serve(18) Forward kick(14) Golf swing(19)
Pickup throw(20) Side boxing(12) Pickup throw(20)
注:括号中数字表示数据库中动作的序号。

不断增加旋转次数,会增加不同视觉下的动作信息。因此多视角深度运动图中图像的数量代表着动作信息的丰富度,会对识别率产生影响。采用实验设置2进行实验,得到的深度运动图数量对识别结果产生的影响如图 6所示。图 6中的1指Df,3指Df, s, t,5指Df, s, t, ±25°,7指Df, s, t, ±25°, ±45°,9指Df, s, t, ±25°, ±30°, ±45°。当深度运动图像的数量由1个增加到3个时,识别率增加了7.6%,由3个增加到5个时,识别率增加了8.4%,说明随着不同视角下动作信息的增加,识别率显著提高。当由5个增加到7个时,识别率增加趋于平缓,只增加了1.8%,达到了最高识别率93.8%。由7个增加到9个时,识别率开始下降,可能是因为随着深度运动图像的逐渐增加,提取的HOG特征串联融合后出现了大量冗余,降低了识别精度。由此可见,当深度运动图像数量较少时获取的动作信息不充分,适当增加不同视角下的深度运动图像会显著增加识别率。

图 6 DMM数量对识别率的影响
Fig. 6 The influence of DMM number on recognition

从实验可以看出,多视角深度运动图包含7个视角时识别率达到最高,此时获得的动作信息已经足够,再增加其他视角识别率反而降低。即当取Df, s, t, ±25°, ±45°对动作进行表示时,效果最好,所以后面的实验均采用此参数设置。

采用实验设置1进行实验,并与现有方法进行比较,结果如表 2所示。可以看出本文方法在大多数情况下能取得最高的识别率。尤其是测试2)中的2个动作序列AS1和AS2的识别率均为100%,在交叉验证实验中,本文方法对3个动作子集的平均识别率达到了96.8%,明显优于其他算法。

表 2 实验设置1与现有方法的比较结果
Table 2 Comparison of our method with other existing methods in experiment setting 1

下载CSV
/%
算法 实验1 实验2 交叉实验 平均值
AS1 AS2 AS3 平均值 AS1 AS2 AS3 平均值 AS1 AS2 AS3 平均值
DMM[13] 97.3 92.2 98.0 95.8 98.7 94.7 98.7 97.4 96.2 84.1 94.6 91.6 94.9
APS_PHOG[12] 94.8 95.2 97.9 96.0 97.8 98.8 98.0 98.2 90.6 81.4 94.6 88.8 94.3
DMM_CRC[14] 97.3 96.1 98.7 97.4 98.6 98.7 100.0 99.1 96.2 83.2 92.0 90.5 95.7
本文方法 97.0 98.2 96.5 97.2 100.0 100.0 99.1 99.7 91.7 95.1 93.9 93.6 96.8
注:加粗字体表示最优值。

采用实验设置2进行实验,并与现有方法进行比较,结果如表 3所示。虽然与文献[13]一样都是采用HOG描述子,但是本文方法在精确率上比文献[13]提高了5.09%,说明采用多视角深度运动图比传统的深度运动图表示动作更加有效。因为多视角深度运动图增加了不同视角下的动作信息,使得动作表示更加全面;同时多视角深度运动图生成过程中的坐标归一化,增加了类内差异的鲁棒性,进而提高了识别率。与DMM_LBP_FF[15]相比,本文对由MHPC生成的多视角深度运动图提取HOG特征,然后同样采用特征融合的方法进行识别,取得了比其高1.92%的识别效果,说明对多视角深度运动图提取HOG特征后进行特征融合是非常有效的。

表 3 实验设置2与现有方法的结果比较
Table 3 Comparison of our method with other existing methods in experiment setting 2

下载CSV
/%
方法 精确率
HOPC[8] 91.64
HON4D[9] 88.89
SNV[10] 93.45
DMM[13] 88.73
DMM_LBP_FF[15] 91.90
DMM_LBP_DF[15] 93.00
Multi_Fused Features[19] 93.30
本文方法 93.82
注:加粗字体表示最优值。

3.2.2 自建数据库

在自建数据库上仍采用Df, s, t, ±25°, ±45°对一个动作样本进行表示。此数据库采用留一交叉验证的方法进行实验,取得了97.98%的识别率,实验结果见表 4。文献[11]将动作样本的深度图像序列生成一个MHPC对动作进行表示,首先进行降采样,接着采用Harris3D检测特征点,并结合快速点特征直方图(FPFH)对特征点进行描述,把特征描述子聚类生成单词包,然后对特征点进行描述,最后采用SVM实现分类,在自建数据库上取得了94%的识别率。MHPC绕Y轴旋转±25°、±45°后,与原始的MHPC共同表示一个动作, 记为Multi_perspective_MHPCs。针对每一个MHPC采用文献[11]的方法提取特征后进行特征融合,然后利用SVM分类,取得了96.97%的识别率,比单一的MHPC识别率高2.97%,说明通过旋转增加更多视角下的动作信息是非常必要的,能够有效提高识别率。但是MHPC的方法提取点云特征相对繁琐,而本文算法将Multi_perspective_MHPCs投影生成多视角深度运动图,将3维点云特征提取问题转化为2维图像特征提取问题,简化了提取特征的运算复杂度,同时比Multi_perspective_MHPCs的识别率提高了1.01%,达到97.98%,验证了将MHPC旋转投影到笛卡儿坐标平面生成多视角深度运动图算法的优越性。

表 4 在自建数据库中实验结果与现有方法比较
Table 4 Comparison of our method with other existing methods in our database

下载CSV
/%
方法 精确率
MHPC[11] 94.00
Multi_perspective_MHPCs 96.97
本文方法 97.98
注:加粗字体表示最优值。

4 结论

本文提出了一种基于多视角深度运动图的人体行为识别算法,利用MHPC对动作进行表示,通过旋转一定的角度,补充不同视角下的动作信息,将原始的和旋转后的MHPC投影生成多视角深度运动图,生成过程中的坐标归一化,增加了类内差异的鲁棒性。多视角深度运动图比传统的深度运动图具有更多的视角,表示动作更加全面。动作的空间能量分布在多视角深度运动图上表现为不同的形状和外形,采用HOG特征并进行串联融合取得了良好的识别效果。实验结果验证了利用多视角深度运动图进行行为识别的有效性。在下一步的工作中,将尝试对多视角深度运动图提取更加有效的特征,并且在更加复杂的数据库中验证算法的有效性。

参考文献

  • [1] Weinland D, Boyer E. Action recognition using exemplar-based embedding[C]//Proceedings of 2008 IEEE Conference on Computer Vision and Pattern Recognition. Anchorage, AK, USA: IEEE, 2008: 1-7.[DOI: 10.1109/CVPR.2008.4587731]
  • [2] Guo K, Ishwar P, Konrad J. Action recognition in video by sparse representation on covariance manifolds of silhouette tunnels[C]//Proceedings of ICPR 2010 Contests. Istanbul, Turkey: Springer, 2010: 294-305.[DOI: 10.1007/978-3-642-17711-8_30]
  • [3] Zhang L, Lu M M, Jiang H. An improved scheme of visual words description and action recognition using local enhanced distribution information[J]. Journal of Electronics & Information Technology, 2016, 38(3): 549–556. [张良, 鲁梦梦, 姜华. 局部分布信息增强的视觉单词描述与动作识别[J]. 电子与信息学报, 2016, 38(3): 549–556. ] [DOI:10.11999/JEIT150410]
  • [4] Xia L, Chen C C, Aggarwal J K. View invariant human action recognition using histograms of 3D joints[C]//Proceedings of 2012 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops. Providence, RI, USA: IEEE, 2012: 20-27.[DOI: 10.1109/CVPRW.2012.6239233]
  • [5] Ran X Y, Liu K, Li G, et al. Human action recognition algorithm based on adaptive skeleton center[J]. Journal of Image and Graphics, 2018, 23(4): 519–525. [冉宪宇, 刘凯, 李光, 等. 自适应骨骼中心的人体行为识别算法[J]. 中国图象图形学报, 2018, 23(4): 519–525. ] [DOI:10.11834/jig.170420]
  • [6] Wang C Y, Wang Y Z, Yuille A L. Mining 3D key-pose-motifs for action recognition[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA: IEEE, 2016: 2639-2647.[DOI: 10.1109/CVPR.2016.289]
  • [7] Liu M Y, Liu H, Chen C. 3D action recognition using multiscale energy-based global ternary image[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2017, 28(8): 1824–1838. [DOI:10.1109/TCSVT.2017.2655521]
  • [8] Rahmani H, Mahmood A, Du Q H, et al. HOPC: histogram of oriented principal components of 3D pointclouds for action recognition[C]//Proceedings of the 13th European Conference on Computer Vision. Zurich, Switzerland: Springer, 2014: 742-757.[DOI: 10.1007/978-3-319-10605-2_48]
  • [9] Oreifej O, Liu Z C. HON4D: Histogram of oriented 4D normals for activity recognition from depth sequences[C]//Proceedings of 2013 IEEE Conference on Computer Vision and Pattern Recognition. Portland, OR, USA: IEEE, 2013: 716-723.[DOI: 10.1109/CVPR.2013.98]
  • [10] Yang X D, Tian Y L. Super normal vector for human activity recognition with depth cameras[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(5): 1028–1039. [DOI:10.1109/TPAMI.2016.2565479]
  • [11] Liu W P, Jiang Y F, Wang H L, et al. Action description using point clouds[C]//Proceedings Volume 10443, Second International Workshop on Pattern Recognition. Singapore: SPIE, 2017: 104430X.[DOI: 10.1117/12.2280342]
  • [12] Shen X X, Zhang H, Gao Z, et al. Human behavior recognition based on axonometric projections and PHOG feature[J]. Journal of Computational Information Systems, 2014, 10(8): 3455–3463. [DOI:10.12733/jcis9956]
  • [13] Yang X D, Zhang C Y, Tian Y L. Recognizing actions using depth motion maps-based histograms of oriented gradients[C]//Proceedings of the 20th ACM International Conference on Multimedia. Nara, Japan: ACM, 2012: 1057-1060.[DOI: 10.1145/2393347.2396382]
  • [14] Chen C, Liu K, Kehtarnavaz N. Real-time human action recognition based on depth motion maps[J]. Journal of Real-Time Image Processing, 2016, 12(1): 155–163. [DOI:10.1007/s11554-013-0370-1]
  • [15] Chen C, Jafari R, Kehtarnavaz N. Action recognition from depth sequences using depth motion maps-based local binary patterns[C]//Proceedings of 2015 IEEE Winter Conference on Applications of Computer Vision. Waikoloa, HI, USA: IEEE, 2015: 1092-1099.[DOI: 10.1109/WACV.2015.150]
  • [16] Dalal N, Triggs B. Histograms of oriented gradients for human detection[C]//Proceedings of 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. San Diego, CA, USA: IEEE, 2005: 886-893.[DOI: 10.1109/CVPR.2005.177]
  • [17] Suykens J A K, Vandewalle J. Least Squares Support Vector Machine Classifiers[J]. Neural Processing Letters, 1999, 9(3): 293–300. [DOI:10.1023/A:1018628609742]
  • [18] Li W Q, Zhang Z Y, Liu Z C. Action recognition based on a bag of 3D points[C]//Proceedings of 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition-Workshops. San Francisco, CA, USA: IEEE, 2010: 9-14.[DOI: 10.1109/CVPRW.2010.5543273]
  • [19] Jalal A, Kim Y H, Kim Y J, et al. Robust human activity recognition from depth video using spatiotemporal multi-fused features[J]. Pattern Recognition, 2016, 61: 295–308. [DOI:10.1016/j.patcog.2016.08.003]