基于深度图像的人体动作识别方法

2014-12-02 01:11郝矿荣丁永生
计算机工程 2014年8期
关键词:测试者角度人体

刘 飞,郝矿荣,b,丁永生,b,刘 欢

(东华大学a.信息科学与技术学院;b.数字化纺织服装技术教育部工程研究中心,上海 201620)

1 概述

人们在与外界进行交互的过程中,除了通过语言交流,还常常借助肢体语言,即通过动作行为传递信息。计算机视觉的研究目标之一就是理解人体动作行为的含义。人体行为识别分析从低到高可分为3 个层次:姿态识别,动作识别,行为识别。姿态识别是动作行为分析的基础。动作可以看作是一组关键姿态的时间序列。复杂的行为可分解为一组简单的动作,其中也包含了与周围环境的交互。在人体动作识别研究中,通常考虑2 个主要问题:传感器的数据采集和人体动作的建模。现有的大部分文献中采用普通摄像机获取二维图像,文献[1]提取人体轮廓的形状信息建立姿态模型,文献[2]提取视频图像中时空兴趣点并设计了级联分类器进行动作识别,而文献[3]虽然也提取轮廓信息,但采用了差分图像传感器简化了背景分割的图像预处理工作,从硬件上提高了算法的实时性。

然而,动作识别研究仍面临诸多问题。例如,复杂背景下人体的定位与跟踪,虽然可以通过背景建模分割人体,但不同的光照环境仍会影响分割效果;二维图像中人体运动过程中的自遮挡现象,这大大限制了基于单目摄像机动作识别的性能;对于多目摄像机而言[4-5],虽然它能解决遮挡问题并且具有视角不变性、提高识别准确率等优势,却也面临着复杂的数据融合等图像后处理工作,而且昂贵的仪器设备也是无法忽略的问题。

近两年来,基于深度图像的动作识别研究得到了广泛关注[6-9]。首先,深度图像提供空间深度数据,对环境中的颜色、纹理和光照不敏感,可以很好地应对复杂背景。此外,相对二维图像,深度图像包含了丰富的三维空间信息。本文方法正是基于深度图像,从中提取有用信息进行人体动作的识别。

2 基于3D 骨架的特征提取

人体的骨架模型不仅包含了形状信息,还包含了物体的结构拓扑信息。如果能从深度图像准确提取并跟踪关节点,就可以构建出3D 人体骨架,文献[10]表明可以从单一深度图像实时地进行姿态估计和识别人体关节点。本文利用微软的Kinect 设备对动作进行捕捉,相对于其他深度图像采集设备,Kinect 在姿态估计有较强的优势[11],利用它可获取20 个空间骨架关节点,如图1 所示。

图1 Kinect 骨架关节点示意图

2.1 静态姿态的关节角度特征

人体动作识别本质是一个模式分类问题,那么就可以从特征提取和分类器设计2 个方面去解决。根据文献[12]的启发,若将人体骨架视作刚体,四肢运动过程中的空间位置是由运动关节旋转特性决定的。因此,分析静态姿态下骨架的关节角度特征,如图2(a)所示。本文着重研究肩、肘、髋、膝关节和躯干这些占主导的运动因素,忽略手和脚等细节部分。

按照关节自由度的大致划分,肩和髋关节是3-DOF,本文用局部球坐标系表示,具体变量定义如图2(b)所示。矢量Or 代表人体正面朝向,矢量Ov代表某一肢体指向的空间方向,矢量Or'和矢量Ov'表示其在水平面π 上的投影。按照球坐标系的定义,方位角定义为Or'逆时针到Ov'的角度θ,仰角定义为Ov 到ON 的角度φ,所以肩和髋关节角度特征定义为Shoulder&Hip={θ,φ}。

图2 关节角度特征

对于肘和膝关节而言,由于骨架模型无法体现肢体的自身旋转特性,因此自由度是1-DOF,并在图3所示的平面定义其角度特征,即Elbow&Knee={α}。在特征表示中,不使用径向距离,使得人体特征具有尺度不变性。

图3 肘和膝关节角度所在平面示意图

此外本文也考虑了人体运动在冠状面和矢状面的倾斜角度Co&Sa={β},因此本文定义的人体关节角度为:其中,L/R 表示Left/Right;S/E/H/K 分别表示肩/肘/髋/膝;Co/Sa 表示冠状面和矢状面,即一组16 维特征向量。

2.2 人体运动特征

动作可视作一系列静态姿态的组合,这意味着动作的表达具有时间持续属性。在人体运动过程当中,关节角度会随着时间变化产生关节角度变化曲线,即关节角度时间序列。如同人体运动过程中四肢末端的运动轨迹一样,该关节角度曲线可以反映动作的变化趋势。本文采用关节角度时间序列作为人体运动特征,假设某一动作的持续时间为T,则运动特征定义为:

其中,Ai行向量表示某一关节角度的时间序列;M(M∈[1,16])表示式(1)定义的特征数量,可根据实际需求选择部分或全部特征。

3 分类器设计

行向量Ai可以视作时变的一维信号,从而动作识别可以简单地看作是时变特征数据的分类问题。通过大量实验数据分析发现,在允许测试者运动自由性存在的情况下:同一动作下的曲线波形和幅值相近,曲线之间有偏移;不同动作下波形和幅值不同,不排除某些Ai相近的可能性;但两者的共性是曲线长度可不同,前者表现在同一动作不同人执行的快慢,后者表现在不同动作之间本身的差异。从模式识别的角度分析,上述特点可作为动作类别区分的判据。假设以LS-φ 角度序列为例,如图4 所示。

图4 LS-φ 序列的对比情况

图4(a)展示了同一动作下3 个测试者的角度序列对比情况,图4(b)展示了同一个测试者3 种不同动作的角度序列对比情况。因此,本文通过比较时间序列的相似度进行动作识别,换一个思路来说,需要比较不同长度向量之间的距离来进行判断。

3.1 曲线光滑

比较曲线之间的相似度,更多关注地是序列的变化趋势,然而由于摄像机和测试者等的不确定性噪音影响,会产生数据的变差和不必要的波动。本文采用n 阶移动平均对序列进行光滑处理:

其中,xi表示序列中第i 个时间点的关节角度值。

3.2 DTW 算法

动态时间规整(Dynamic Time Warping,DTW)算法基于动态规划的思想,其目的就是寻找2 个长度不同的测试样本和参考模板之间的最短距离和最优匹配路径。假参考时间序列R={r1,r2,…,ri,…,rL1}和测试样本T={t1,t2,…,tj,…,tL2},ri和tj表示时间点的关节角度值,L1和L2表示向量长度,则向量R 和T 非线性匹配时的累计距离矩阵D(i,j)为:

其中,d(ri,tj)是ri和tj的距离函数,通常取欧式距离,则 D (L1,L2)即为 R 和 T 的最短距离。D(L1,L2)越小,R 和T 的距离越近,相似度越大。

3.3 改进的DTW 算法

如果DTW 试图校准2 条相似的时间序列,对于那些影响序列的整体性差异,如均值、偏移和幅值等,该算法是有效的。然而,当2 条序列对应的Y 轴值有明显的局部差异时,DTW 算法将会出现问题。实际上,传统的DTW 的缺点在于它计算时所考虑的特征,通常它只考虑数据点上的Y 轴值。例如,2 条时间序列上的点ri和tj的Y 值相同,但是ri是在序列的上坡,而tj在序列的下坡,这2 点不应该进行映射,可DTW 确实是这样做的。

为了避免这些问题,本文对传统的DTW 进行改进。本文在ri和tj的基础上,分别构造一个三维向量来重新定义d(ri,tj)来替代原来的欧式距离,即和,其中一阶近似导数和二阶近似导数分别为:可以提供序列的形状信息,还可减少不同趋势上的点的错误映射。可以提供更多的信息,如最大值、最小值和折点。ri同样需要保留,因为和易对噪声敏感,而ri相对稳定,有利于映射的准确性。因此,本文中的d(ri,tj)定义为:

为了保证一阶导和二阶导在分类中的作用,w1~w3 遵循如下原则:

传统DTW 算法和本文改进DTW 算法的对比效果如图5 所示,可以发现改进DTW 算法的映射准确性明显提高。

图5 改进的DTW 算法效果

假设根据式(2),现有运动模板特征矩阵AR=(R1,R2,…Rk,…,RM)T和待测样本特征矩阵AT={T1,T2,…,Tk,…,TM}T,Rk和Tk(k∈[1,M])为行向量,向量长度不同。假设Dk表示Rk和Tk的改进的DTW 的距离,则AR 和AT 的距离为:

再求期望距离:

其中,wk为相应的权重。假设参考模板库中有C 类模板,给定一个测试样本AT,使得ED 取得最小值的模板对应的动作类别作为识别结果,即:

4 实验结果与分析

4.1 静态特征的提取

通过关节点空间坐标,可在Matlab 上进行骨架重建,如图6 所示,其中身前的矢量箭头表示人体正面朝向,提取的关节角度值如表1 所示。结果显示,深度图像可以很好地应对图6(a)中复杂背景和光照不均的环境。

图6 Matlab 骨架重建效果

表1 静态姿态下的关节角度特征 (°)

4.2 动作识别

本文首先在自己准备的人体动作数据库(简称数据库A)进行算法的验证,其中包含了室内采集的6 种动作,动作1~动作6 如图7(a)~图7(e)所示。每种动作由6 人完成,每人重复5 次,前3 次正对摄像头,后2 次分别以±45°角面对摄像头,采集速率为30 帧/s,共180 组动作样本,约6 300 帧数据。

本文随机选取1/6 样本作为参考模板,5/6 作为测试样本,共测试6 次,取均值作为最终测试结果。本文选用式(1)的全部特征即M=16,为了简单起见,式(7)中w1=1,w2=2,w3=3,式(10)中的权重均取1/16。所有程序均在Matlab2009 上运行,CPU为Intel Core i3,匹配运行时间为0.5 s~0.8 s。数据库A 的识别效果如表2 所示,并与传统DTW 的效果进行比较。

本文算法对数据库A 平均识别率达到了98.32%,但也发现,不同动作之间曲线波形的相似性可能会导致动作的误判。这是因为实际环境中测试者执行的是自然人体动作,必须容忍动作的随意性和自由性。此外,为了验证深度图像在应对自遮挡现象的效果,本文也进行了对比,如图8 所示,其中,0°表示测试者正对摄像头。可以发现当测试者以±45°面对摄像头时仍有较高的识别率。

图7 6 种动作示意图

表2 数据库A 的动作识别效果 %

图8 自遮挡情况下识别效果的对比

为了验证本文算法的鲁棒性,本文还在MSR Action3D 数据库(简称数据库B)上进行测试,并与文献[8]进行了对比,对比结果如表3 所示,动作集分类和测试方法参照文献[8]。

文献[8]中Test One 取1/3 作为训练样本,本文则作为参考模板;Test Two 取2/3 作为训练样本;Cross Subject Test 取半数测试者作为训练样本。同样本文方法共测试6 次,取均值作为最终测试结果。通过表3 发现,随着Test Two 的模板数量的增加,识别率提高,但同时也会增加运算时间代价,经统计在Test Two 中匹配时间提高到0.7 s~1.2 s。相比表2,表3的整体效果下降,这是因为数据库B 包含的动作种类复杂多样,测试者动作的随意性和自由性更大,增加了识别难度。另外,虽然对于Test One/Two 中的AS3,本文的识别比文献[8]低,但仍足以保证总体平均识别率高于文献[8],尤其在Cross Subject 中,本文的算法优势明显高于文献[8]。

表3 数据库B 的识别效果 %

5 结束语

与彩色图像相比,深度图像不会有光照、阴影、以及环境变化的干扰,并且在一定程度上解决物体遮挡的问题。本文利用深度图像的特点,进行人体动作识别。通过深度图像获得骨架模型,提取特征模型,利用改进的DTW 算法进行模板匹配,实验结果表明本文方法获得了较好的识别效果。

然而,深度图像的采集是有距离限制的,单一深度图像仍会有视觉死角,难以应对更加复杂的识别任务。因此,在今后的研究工作中,希望利用多个Kinect 进行运动捕捉,通过数据融合构建出更为准确的特征模型。此外,DTW 算法并不能应用与所有的分类场景,况且随着模板数量的不断增加,匹配时间代价也将是巨大的,今后将继续对分类算法进行研究和改进。

[1]邓甜甜,王智灵,朱明清,等.基于轮廓图像空频域特征的人体姿态分层识别算法[J].模式识别与人工智能,2011,24(3):411-416.

[2]彭江平.基于级联结构的人体动作识别方法[J].计算机应用,2012,32(6):1578-1580.

[3]Chen Shoushun,Martini B,Culurciello E.A Bio-inspired Event-based Size and Position Invariant Human Posture Recognition Algorithm[C]//Proc.of IEEE International Symposium on Circuits and Systems.Taipei,China:[s.n.],2009:775-778.

[4]Le H,Thuc U,Tuan P V,et al.An Effective 3D Geometric Relational Feature Descriptor for Human Action Recognition[C]//Proc.of IEEE International Conference on Computing and Communication Technologies,Research,Innovation,and Vision for the Future.Ho Chi Minh City,Vietnam:[s.n.],2012:1-6.

[5]Lee Y,Jung K.Non-temporal Multiple Silhouettes in Hidden Markov Model for View Independent Posture Recognition[C]//Proc.of IEEE International Conference on Computer Engineering and Technology.Singapore:[s.n.],2009:466-470.

[6]曹雏清,李瑞峰,赵立军.基于深度图像技术的手势识别方法[J].计算机工程,2012,38(8):16-18,21.

[7]林 鹏,张 超,李竹良,等.基于深度图像学习的人体部位识别[J].计算机工程,2012,38(16):185-188.

[8]Li Wangqing,Zhang Zhengyou,Liu Zicheng.Action Recognition Based on a Bag of 3D Points[C]//Proc.of IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops.San Francisco,USA:[s.n.],2010:9-14.

[9]Wang Jiang,Liu Zicheng,Wu Ying,et al.Mining Actionlet Ensemble for Action Recognition with Depth Cameras[C]//Proc.of International Conference on Computer Vision and Pattern Recognition.Providence,USA:[s.n.],America,2012:1290-1297.

[10]Shotton J,Fitzgibbon A,Cook M,et al.Real-time Human Pose Recognition in Parts from Single Depth Images[C]//Proc.of CVPR' 11.Colorado Spring,USA:1715-1732.

[11]Obdrzalek S,Kurillo G,Ofli F,et al.Accuracy and Robustness of Kinect Pose Estimation in the Context of Coaching of Elderly Population [C]//Proc.of International Conference on Engineering in Medicine and Biology Society.San Diego,USA:[s.n.],2012:1188-1193.

[12]Yang Jialun,Gao Feng,Guo Weizhong.Classification of Motion Patterns for Robot Manipulators[C]//Proc.of International Conference on Reconfigurable Mechnanisms and Robots.London,UK:[s.n.],2009:54-57.

猜你喜欢
测试者角度人体
人体“修补匠”
神奇的角度
人体冷知识(一)
排便顺畅,人体无毒一身轻
搜救犬幼犬挑选测试
一个涉及角度和的几何不等式链的改进
奇妙的人体止咳点
指纹收集器
角度不同
人啊