APP下载

改进高斯核函数的人体姿态分析与识别

2016-01-15林海波,王浩,张毅

智能系统学报 2015年3期
关键词:识别支持向量机

网络出版地址:http://www.cnki.net/kcms/detail/23.1538.tp.20150603.0901.001.html

改进高斯核函数的人体姿态分析与识别

林海波,王浩,张毅

(重庆邮电大学 智能系统及机器人研究所,重庆 400065)

摘要:为了提高人体动作姿态的识别率,利用Kinect平台构建人体骨骼模型,提出一种基于关节角度的人体姿态表示方法。同时针对传统的高斯核函数中采用欧氏距离计算方法难以完全反映人体关节运动数据样本点与测试点之间位置关系的问题,提出了改进的高斯核函数多类支持向量机(MSVM)人体动作姿态识别方法。在高斯径向基核函数中使用测地线距离代替欧氏距离,建立了基于测地线距离的姿态核函数,采用二叉树方法构建多类支持向量机完成12种上肢姿态的分类。实验结果表明,该算法取得了较好的识别效果,能更加有效识别人体姿态。

关键词:人体动作姿态;识别;高斯核函数;Kinect;欧氏距离;测地线距离;支持向量机

DOI:10.3969/j.issn.1673-4785.201405049

中图分类号:TP391.9 文献标志码:A

收稿日期:2014-05-22. 网络出版日期:2015-06-03.

基金项目:科技部国际合作项目(2010DFA12160);重庆市工业振兴专项资金资助项目(渝财金[2013]442号).

作者简介:

中文引用格式:林海波,王浩,张毅. 改进高斯核函数的人体姿态分析与识别[J]. 智能系统学报, 2015, 10(3): 436-441.

英文引用格式:LIN Haibo, WANG Hao, ZHANG Yi. Human postures recognition based on the improved Gauss kernel function[J]. CAAI Transactions on Intelligent Systems, 2015, 10(3): 436-441.

Human postures recognition based on the

improved Gauss kernel function

LIN Haibo, WANG Hao, ZHANG Yi

(Research Center of Intelligent System and Robot, Chongqing University of Posts and Telecommunications, Chongqing 400065, China)

Abstract:In this paper, a method based on the joint angles of human postures is proposed in order to improve the human posture recognition rate through building a human skeleton model on the Kinect platform. For the traditional method of human postures recognition, Euclidean distance is used in Gaussian kernel function, but the positional relationship of sample point and test point of human body joint can not be reflected completely. So the method of improved Gaussian kernel function and multi-class support vector machines (MSVM) is proposed. Using the geodesic distance instead of the Euclidean distance in the Gaussian radial basis kernel function, a posture kernel function based on the geodesic distance is established. Using the binary tree method, a multi-class support vector machine is built to complete classification of 12 kinds of upper limb postures. Experimental results showed that the improved algorithm can identify body postures more effectively than before, achieving a good recognition effect.

Keywords:human postures; recognition; Gauss kernel function; Kinect; Euclidean distance; geodesic distance; support vector machines (SVM)

通信作者:王浩. E-mail: haoziwang1990@126.com.

基于视觉的人体动作姿态估计和识别在高级人机交互、智能视频监控、三维动画合成、电影特技制作、体育运动分析、医学理疗等多个方面拥有十分广阔的应用前景,正逐渐受到越来越多学者们的关注。人体动作姿态分析主要分为2个部分:人体姿态描述和人体姿态识别。人体动作姿态识别算法是否有效通常取决于使用的动作姿态表示特征量,因而针对特定问题提出行之有效的动作姿态表示方法成为动作姿态识别研究的重要内容之一。D. Weinland等[1]提出用MHV(motion history volumes)模板描述动作姿态;Wang在2006年提出用轮廓的平均运动形状和运动前景的平均运动能2个模板,用最近邻分类器描述动作姿态[2]。传统的基于视觉的人体动作姿态检测主要针对二维特征,随着运动捕获技术的成熟和推广,高效、快捷获取大量三维的运动数据集已经成为现实。R. Girshick等[3]利用Kinect深度图像分析人体姿态变化。S. Sempena等[4]在2011年利用从Kinect深度图像中得到的人体骨骼模型,采用关节角描述人体动作姿态。结果表明,相对于二维特征,基于Kinect传感器的三维运动捕获数据较好地保持了运动细节,并真实地记录了运动轨迹,数据精度高,并且相比于人体深度数据,采用骨骼数据能够更加紧凑和鲜明地反应人体姿态。对于人体动作姿态识别,常用的方法有动态时间规整(dynamic time warping, DTW)、动态贝叶斯(dynamic Bayesian, DBN)、隐马尔科夫模型(hidden Markov models, HMM)、神经网络等。如A. Veeraraghavan等[5]使用DTW方法匹配动作序列,Luo[6]采用动态贝叶斯网络进行人体动作姿态识别研究,并与HMM方法进行了比较,F. Buccolieri[7]通过径向基神经网络(radial-basis function, RBF)分析人体轮廓特征来识别姿态。

相比上述方法,基于支持向量机的学习算法利用结构风险最小化代替传统模式识别中的经验风险最小化,对解决高维数、非线性和小样本的问题很有优势。鉴于此,本文提出了一种多类支持向量机人体动作姿态识别方法。该方法运用Kinect骨骼追踪技术提取人体骨骼模型,并针对人体关节的特点在关节点处建立球坐标系,利用关节角对人体动作姿态进行描述。同时,利用高斯核模型设计了基于测地线距离的姿态核函数,采用二叉树设计多类支持向量机算法对人体姿态进行识别。

1人体姿态表示

1.1Kinect简介

Kinect传感器是微软公司开发的一种3D体感摄像机,它由1个红外投影仪、2个摄像头组成,如图1(a)所示。Kinect工作原理的核心是通过类似结构光法的光编码(light coding)技术的方式来获取深度图像。红外发射器连续地向空间发射光,并给空间编码,通过普通CMOS合成黑白深度图像,其中纯黑代表无穷远,纯白代表无穷近。由于不需要特制的感光芯片,极大地降低了成本,越来越多的学者采用它进行深度图像的采集。本文利用分割技术将人体从深度图像背景环境中区分出来,并采用随机森林[8]等分类算法将人体各个部位进行区分定位,得出骨骼关节点的坐标信息。每一帧的骨骼图像中都有被跟踪人的姿势,包括20个关节点,并以30帧/s的速度生成骨骼图像流,实时地重现人体的运动状态,骨骼提取流程如图1(b)所示。

图1 当Kinect外观和工作机理 Fig. 1 The appearance of the Kinect and the mechanism

1.2人体姿态建模和行为描述

图2 人体骨架框图 Fig. 2 Human skeleton diagram

由于人体的动作姿态描述可以用四肢部分和头部相对于躯干部分的位置变化来表示。因此,将构成骨架框图的16个关节点分为3个部分:第1部分是构成人体躯干的关节点,包括P1,P2,…,P7;第2部分是所有与人体躯干相邻的关节点,包括P8,P9,…,P12;第3部分是与第2部分关节点相邻的关节点,包括P13,P14,P15,P16。这样,通过第2、3部分的9个关节点相对于第1部分人体躯干的各个关节角度变化就可以描述人体动作姿态。

运用PCA主成分析法将第1部分的人体躯干7个关节点用1个三维向量表示,并将三维向量进行施密特正交化处理,用{u,r,t}表示(如图3),其中u表示人体的上下运动,r表示人体的前后运动,t表示人体的左右运动,显然t=u×r。人体的关节是球形关节,其余2部分的运动以此为基准,分别在与上级部分连接的关节点处建立一个球面坐标系。以描述左手臂的运动为例,第2部分从左肩到左肘的向量v,第3部分从左肘到左腕的向量w。第2部分的坐标系以{u,r,t}为基准,原点在P3;第3部分的坐标系是将{u,r,t}以轴心b=v×r旋转α=cos-1(v·r)角度得到,记作{u′,r′,t′},原点在P10。给定一个体,由于人体骨骼长度不变性,根据球面坐标系的定义,关节点的运动可用仰角θ和方位角φ加以约束。其中θ为v与平面tP3r的夹角以及w在平面t′P10r′的夹角,即仰角;φ为t轴和v在平面tP3r上投影的夹角以及t′轴与w在平面t′P10r′上投影的夹角,即方位角。所以用(θ1,φ1),(θ2,φ2)可分别表示P10、P14点的运动,其他关节点计算类似。综上,第2、3部分共有9个关节点,可用一个18维的特征向量:

来表示人体动作姿态每一帧姿势,其中每一对(θi,φi)都表示其对应关节点在相应坐标系下的位置。如图3所示。

(a)人体第2部分的表示

(b)人体第3部分的表示 图3 人体行为描述 Fig. 3 Description of human behavior

2支持向量机姿态识别算法

支持向量机(support vector machine, SVM)方法是在统计学习理论基础上发展起来的一种有监督的分类和回归方法。其核心思想是在一个n维空间中构造一个超平面用来区分特征空间中的类模式,且模式之间的距离最大。为计算2类模式的距离,在分类面的2侧构建2个平行于分类面的超平面,在这2个超平面上的数据称为支持向量。

(1)

(2)

式(1)约束于式(2)。其中,2/‖w‖为分类间隔,b为常数,C为惩罚系数,ξi是松弛因子。

通常求解式(1)时采取其拉格朗日对偶问题的方法:

(3)

(4)

2.1改进高斯核模型的姿态核函数选取

采用核函数的作用是简化映射空间中的内积运算,将非线性的训练数据隐式映射到高维空间,而不增加可调参数的个数。在常用的核函数中,高斯函数因其优越性能引起人们的关注。高斯函数的表达式为

(5)

式中:υi,υ∈Rn是样本点,σ>0是核半径,‖υi-υ‖表示空间中任一点υi到某一中心υ之间的欧氏距离[9]。然而本文人体姿态描述的是多个关节在各自球面坐标下的关节角,样本点和测试点之间的欧氏距离并不能完全反应它们之间的位置关系。针对人体关节运动的特点,采用球面上的测地线距离能够更加准确地反映各个关节运动。因此,基于高斯核模型,在高斯径向基核函数中使用测地线距离代替欧氏距离构造姿态核函数。

假设给出2个球面上的点υi=(θi,φi),υj=(θj,φj),则这2点间的测地线距离δ(υi,υj)为

(6)

(7)

最后参照高斯核模型,得到姿态核函数:

(8)

(9)

2.2多类支持向量机的构建

SVM最初仅用于实现2类问题的分类,要实现12种人体姿态的多类分类,需要对标准SVM进行扩展,将多个标准SVM以某种方式组织在一起,构建多类支持向量机。目前构建MSVM的方法主要有一对一、一对多方法、导向无环图和二叉树[12]。鉴于二叉树设计方法的诸多优点,采用决策二叉树的多类分类器设计方法,如图4所示。

图4 二叉树的多类分类器框架 Fig. 4 The multi-class classifier framework of binary tree

在二叉树结构中,根据决策半径构造二叉树各内节点的最优超平面,即从根节点开始,沿树的路径依次得到的类别标签为1,2,…,k。二叉树各内节点的分类算法流程如下:1)以第1类样本为正样本集,其他类样本为负样本集,构造二值分类器,将1类从样本集中剔除;2)以第2类样本为正样本集,其他类样本为负样本集,构造第2个内节点处的二值分类器,将2类从样本集中剔除;3)依次下去,可以得到基于二叉树的多类支持向量机分类器。

3实验结果与分析

整个实验的环境:Kinect传感器彩色图像分辨率为640×480、深度图像分辨率为320×240;软件开发环境:Window7+Visual Studio 2010、Kinect SDK-v1.7;开发语言:C#。本文提出的人体姿态识别算法可分为4个部分:人体深度图像分割、骨骼特征提取、姿态模型和姿态识别,如图5所示。

图5 姿态识别算法框架 Fig. 5 Human posture recognition algorithm framework

本文主要是研究人体上肢部分的运动姿态,为验证算法的可行性及正确率,选取Kinect Gesture Data Set(the MSR Action3D dataset)数据集中人体上肢部分的12种姿态作为训练姿态进行识别,各个姿势如图6所示。

图6 人体12种上肢姿态 Fig. 6 12 kinds of human upper limb postures

表 1 改进核函数与传统核函数的实验结果对比

在实验中发现,当某些姿态比较相似时,例如k7、k9和k12,这些姿态之间有一定的误判,但误判比例较小,整体的分类效果还是比较好的。从表1中可以得出,提出的改进高斯核函数多类支持向量机算法的平均识别率为96.1%,比传统的基于欧氏距离的高斯核函数多类支持向量机算法提高了3.9%。因此,所采用的分类器在监督学习机制下是有效的分类器模型,验证了系统所提取的特征能有效表示特征姿态。同时,为了验证本算法对姿态的分类和识别具有优越性,利用RBF神经网络对采集的k7、k9和k12 3种误判较高的姿态进行分类,同样让10位同学对每个姿势进行50次实验,将实验结果与本文方法进行比较,见表2所示。由表2对比结果可以看出,对于k7、k9和k12这3种姿态的识别,本文方法用时略快于RBF神经网络,且识别率更高,具有较好的小样本分类性能。

表 2 本文算法与RBF神经网络方法性能对比

4结束语

在充分研究常用行为表示方法的基础上,针对人体骨骼关节的特点提出了基于球坐标系下人体关节角的行为表示特征量。并针对欧氏距离计算方法难以完全反映人体关节运动数据样本点与测试点之间位置关系的问题,采用测地线距离代替欧氏距离的对高斯核函数进行改进,构建基于测地线距离的姿态核函数。最后,创建了基于二叉树的多类支持向量机对人体12种常见上肢行为姿态进行识别,并通过和其他姿态识别方法对比,验证了该人体姿态识别方法的优越性,具有较高的识别率。然而,本文的人体姿态识别只是针对某种特定姿势,实际生活中,人体的姿势往往是连续的。未来的工作将是把特定姿势作为人体动作的关键姿势,并按照一定的顺序编排成运动序列,完成连续姿态序列的行为识别。

参考文献:

[1]WEINLAND D, RONFARD R, BOYER E. Free viewpoint action recognition using motion history volumes[J]. Computer Vision and Image Understanding, 2006, 104(2/3): 249-257.

[2]WANG Liang, SUTER D. Informative shape representations for human action recognition[C]//18th International Conference on Pattern Recognition. Hong Kong, China, 2006, 2: 1266-1269.

[3]GIRSHICK R, SHOTTON J, KOHLI P, et al. Efficient regression of general-activity human poses from depth images[C]//2011 IEEE International Conference on Computer Vision (ICCV). Barcelona, Spain, 2011: 415-422.

[4]SEMPENA S, MAULIDEVI N U, ARYAN P R. Human action recognition using dynamic time warping[C]//2011 International Conference on Electrical Engineering and Informatics (ICEEI). Bandung, Indonesia, 2011: 1-5.

[5]VEERARAGHAVAN A, ROY-CHOWDHURY A K, CHELLAPPA R. Matching shape sequences in video with applications in human movement analysis[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2005, 27(12): 1896-1909.

[6]LUO Ying, WU T D, HWANG J N. Object-based analysis and interpretation of human motion in sports video sequences by dynamic Bayesian networks[J]. Computer Vision and Image Understanding, 2003, 92(2/3): 196-216.

[7]BUCCOLIERI F, DISTANTE C, LEONE A. Human posture recognition using active contours and radial basis function neural network[C]//IEEE Conference on Advanced Video and Signal Based Surveillance. Como, Italy, 2005: 213-218.

[8]BACKES M, HRITCU C, MAFFEI M. Type-checking zero-knowledge[C]//Proceedings of the 15th ACM Conference on Computer and Communications Security. New York, USA: ACM, 2008: 357-370.

[9]杨庆, 陈桂明, 刘鲭洁, 等. 基于测地线距离的核主元分析在齿轮泵故障识别中应用[J]. 上海交通大学学报, 2011, 45(11): 1632-1636.

YANG Qing, CHEN Guiming, LIU Qingjie, et al. Application of kernel principal component analysis based on geodesic distance in pattern recognition of gear pump[J]. Journal of Shanghai Jiao Tong University, 2011, 45(11): 1632-1636.

[10]YUAN Lu, SUN Jian, QUAN Long, et al. Image deblurring with blurred/noisy image pairs[J]. ACM Transactions on Graphics (TOG), 2007, 26(3): 1.

[11]CRISTIANINI N, SHAWE-TAYLOR J. 支持向量机导论[M]. 李国正, 王猛, 曾华军, 译. 北京: 电子工业出版社, 2004.

[12]DU Chengjin, SUN Dawen. Multi-classification of pizza using computer vision and support vector machine[J]. Journal of Food Engineering, 2008, 86(2): 234-242.

林海波,男,1965年生,副教授,主要研究方向为机器人技术及应用、自动控制技术、模式识别。主持完成省部级及其他科研项目4项,申请国家发明专利2项,重庆市科技创新创业人才支持计划人选,发表学术论文10余篇。

王浩,男,1990年生,硕士研究生,主要研究方向为智能系统及机器人、模式识别。

张毅,男,1966年生,教授,博士生导师,博士,中国计量测试学会高级会员,重庆市人工智能学会理事,重庆市“322”人才工程第二层次人才,英国Essex大学机器人研究中心访问学者。主要研究方向为机器人技术及应用、生物信号处理及应用、模式识别。主持完成省部级及其他科研项目10余项,申请国家发明专利4项。发表学术论文60余篇,其中被SCI、EI检索30余篇,出版专著1部、教材2部。

猜你喜欢

识别支持向量机
基于改进支持向量机的船舶纵摇预报模型
基于SVM的烟草销售量预测
动态场景中的视觉目标识别方法分析
论提高装备故障预测准确度的方法途径
法学意义上的弱者识别问题研究
基于熵技术的公共事业费最优组合预测
青岛市中山公园园林树木易混淆品种识别
基于支持向量机的金融数据分析研究
论犯罪危险人格的识别