APP下载

基于Kinect角度测量的姿势识别算法*

2014-09-25战荫伟于芝枝

传感器与微系统 2014年7期
关键词:关节点骨架姿势

战荫伟, 于芝枝, 蔡 俊

(广东工业大学 计算机学院,广东 广州 510006)

0 引 言

人体动作丰富多样,不同的动作具有不同的含义。在很多的应用中,需要对人体运动进行更加全面的分析,例如:行为监控、运动分析、医疗康复等。如果能够实时地识别和跟踪人体,那么就能够准确地识别人体姿势,更加方便地观察和学习人体行为。因此,寻找一个好的方法来识别人体姿势是非常有必要的。

近年来,基于Kinect[1~3]体感设备的人体动作识别在医学领域表现出巨大的应用价值,国内外很多机构都在开展相关研究。Hu R Z等人[4]在学步车上安装Kinect用来提取腿部信息从而进行医疗步态分析。Shotton J等人[5]利用Kinect获得的深度信息检测人体的关节点,利用随机森林分类器将深度图像像素分类为身体的多个部位。Schwarz L A等人[6]则结合人体解剖学标记和人体骨架模型,并利用Kinect获得深度图对人体进行全身的姿势估计,利用测地距离(geodesic distances)来测量身体部位之间的距离。Zheng Xiao等人[7]利用Kinect的深度传感器获得的人体图像来识别3D人体姿态。Penny J S等人[8]利用Kinect设备捕获场景,并对人体的下肢姿态进行估计。

鉴于Kinect的廉价性和使用价值,许多医疗专家也将这一优势带入到医疗康复当中,利用Kinect进行康复治疗[9~11],其基本思想是利用深度信息和骨架跟踪技术对人体肢体的跟踪来确定肢体位置,从而识别人体的动作。文献[12]指出利用Kinect康复训练可以有效地增强康复的质量,它在帮助患者恢复运动功能的同时也提高了患者的心理素质,减少患者消极情绪。Da Gama A等人[13]设计了人体肩部的康复系统,该系统只需患者将手部碰触到设定的点即可,但却无法实时地测量关节点具体位置。康复训练往往不需要患者进行快速的大幅度运动,但是对Kinect人体骨架跟踪精度要求较高,如果能够实现对人的手部和腿部骨架准确的跟踪,那么可以更加准确地识别出患者的动作,从而达到更好的康复效果。

为了提高人体姿势识别的准确率和精确度,本文提出了一种人体关节点角度测量的姿势识别的算法。此方法能够实时地测量骨架之间的角度,提高姿势匹配的精确度,且能够准确的对人体姿势进行识别,算法简单,效率较高。

1 算法流程

人体姿势识别算法主要由骨架获取、角度测量、角度匹配和姿势识别等几个部分组成。算法流程如图1所示,首先获取人体骨架,并计算骨架关节点的空间坐标,然后计算关节点之间的距离和关节点之间角度,最后将计算的角度与姿势库中的模板的角度进行匹配,从而实现姿势识别。

2 算法实现

2.1 人体骨架的获取

Kinect可以提供人体的20个骨骼关节点的三维坐标,图2为得到人体的骨架图。

图2 人体骨架关节点

2.2 计算关节点之间的距离

在2.1节中已经获得了人体的20个关节点,接下来求2个关节点之间的距离。首先利用Kinect获得的场景深度信息求出人到相机的实际距离。在文献[14]中利用获取的深度值求出目标到Kinect传感器的实际距离d,即

d=Ktan(Hdraw+L)-O.

(1)

其中,draw为深度值,H=3.5×10-4rad,K=12.36 cm,L=1.18 rad,O=3.7 cm。文献[15]给出深度图像素坐标为(ximage,yimage,zimage)到实际坐标(xworld,yworld,zworld)的变换公式

(2)

其中,D′=-10,F=0.002 1,Kinect的分辨率w×h为640×480,X(x1,x2,x3),Y(y1,y2,y3)为空间坐标系的2个点。结合式(1)和式(2)就可得出关节点的实际坐标,最后利用欧氏距离

(3)

求出两关节点之间的距离。

2.3 计算角度

求解人体关节点连线之间的角度主要是利用三点法(3个关节点):利用式(2)计算出的关节点的实际位置的坐标计算出人体的3个相关联的关节点(如图3)的距离(式(4)),并利用余弦定理(式(5))求出关节点连线之间的角度大小。此方法在对人体姿势进行识别的最主要的缺点就是在测量过程中关节点不稳定性对角度测量的影响较大,导致姿势识别不准确。图4(a)展示了三点法的角度测量效果。

图3 关节点角度计算

(4)

(5)

针对三点法在测量过程中不稳定性提出了两点法(2个关节点)。此方法以一个关节点为基准点,再确定另一个关节点,求出2个关节点与基准点的X轴的角度大小。两点法使得人在移动过程中基准点和指定点都是相对稳定的,从而能够减小关节点之间相对晃动的程度,准确地测量关节角度的大小,且指定点的坐标即为基准点在X轴上的平移得到,计算较为简单。图4(b)为两点法测量角度的效果。

图4 角度测量结果

2.4 定义姿势

利用式(6)定义关节点的角度条件

PA={P1,P2,θ,τ},

(6)

即以P1为中心点,关节点P2与X轴上的角度为θ;τ为设定的角度阈值。更多姿势的定义只需要确定关节点之间的夹角关系,同时可以设定不同的阈值以满足不同的精度要求。设定θi(i=1,…,4)为关节点的角度。θ1=(左肩,左肘),θ2=(左肘,左腕),θ3=(右肩,右肘),θ4=(右肘,右腕),τ为阈值,则姿势定义需满足角度条件为Δ=(θ1,θ2,θ3,θ4,τ)。

T型(开始姿势):ΔT=(180,180,0,0,15);

举起双手:ΔD=(180,90,0,90,15);

放下双手:Δ0=(270,270,270,270,15);

举起左手,右手平举:ΔL0=(180,90,0,0,15);

举起左手,右手放下:ΔL1=(180,90,270,270,15);

举起右手,左手平举:ΔR0=(180,180,0,90,15);

举起右手,左手放下:ΔR1=(270,270,0,90,15)。

2.5 人体姿态的匹配

本文在设定姿势库时设立了角度的阈值范围,首先遍历所有的角度,然后判断4个角度是否在规定的阈值范围内,若在,则姿势匹配成功进行下一阶段,即所有角度满足式(7);若其中有任一个角度不满足则匹配不成功,重新开始匹配

(7)

其中,θi为测量角度,ai为设定的期望角度,T为的阈值。

3 实验结果

算法对7个动作进行测试,由表1可知,当阈值设置为15°时,T姿势、双手举起和举起左右手能够100 %的识别,而对于双手放下这个姿势识别率也达到96 %。

表1 姿势识别实验统计

利用该算法设计了简单的游戏,玩家根据界面上的提示做出相对应的动作,以T姿势开始游戏,分多个环节,环节一为一个动作,环节二为做2个连续的动作,以此类推。只有完成低环节才能进入到高环节,若本环节完成,而下一环节未达到要求则重新从第一环节开始。图5(a)显示“摆出T姿势开始游戏”,图5(b~e)则为进入游戏后的界面。此游戏可以用于锻炼手臂的灵活性,同时可以应用到手臂康复系统中,根据患者手臂训练幅度设置角度的大小,帮助手臂不灵活的患者进行复建。

图5 姿势识别系统

4 结束语

本文算法采用Microsoft Visual Studio 2010结合Microsoft Kinect SDK 1.7开发实现。实验表明:此方法能够实时测量骨架之间的角度,对人体姿势进行准确识别。算法简单,准确度较高,且可以根据不同姿势的要求设定不同的角度范围,故而复用性较强。尽管Kinect传感器能够获得人体深度信息,计算出人体空间位置,但对于关节点重合等问题,在识别上还不够准确,所以,应在关注人体行为分析领域发展的同时,努力研究骨架校正等问题,进一步提高骨架精确度。

参考文献:

[1] Giles J. Inside the race to hack the Kinect[J].The New Scientist,2010,208(2789):22-23.

[2] 余 涛.Kinect应用开发实战:用最自然的方式与机器对话[M].北京:机械工业出版社,2012.

[3] Webb J,Ashley J.Beginning Kinect programming with the microsoft Kinect SDK[M].[S.1.]Apress,2012.

[4] Hu R Z L,Hartfiel A,Tung J,et al.3D pose tracking of walker users’ lower limb with a structured-light camera on a moving platform[C]∥Computer Vision and Pattern Recognition Workshops,2011:29-36.

[5] Shotton J,Fitzgibbon A,Cook M,et al.Real-time human pose recognition in parts from single depth images[C]∥2011 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2011:1297-1304.

[6] Schwarz A,Mkhitaryan A,Mateus D,et al.Human skeleton tra-cking from depth data using geodesic distances and optical flow[J].Image and Vision Computing,2012,30(3):217-226.

[7] Zheng Xiao,Fu Mengyin,Yang Yi,et al.3D Human postures re-cognition using Kinect[C]∥2012 4th International Conference on Intelligent Human-Machine Systems and Cybernetics (IHMSC),2012:344-347.

[8] Penny J S,David J B,Steven B,et al.A study to evaluate a low cost virtual reality system for home-based rehabilitation of the upper limb following stroke[J].International Journal on Disability and Human Development,2011,10(4):337-341.

[9] Stone E.E,Skubic M.Evaluation of an inexpensive depth camera for passive in-home fall risk assessment[C]∥2011 5th International Conference on Pervasive Computing Technologies for Healthcare (PervasiveHealth 2011),2011:71-77.

[10] Huang J D.Kinerehab:A Kinect-based system for physical rehabilitation a pilot study for young adults with motor disabilities[C]∥Proceedings of the 13th International ACM SIGACCESS Confe-rence on Computers and Accessibility,2011:319-320.

[11] Lange B,Chien-yen Chang,Suma E, et al.Development and evaluation of low cost game-based balance rehabilitation tool using the Microsoft Kinect sensor[C]∥2011 33rd Annual International Conference of the IEEE Engineering in Medicine and Biology Society,2011:1831-1834.

[12] Yeh S C,Hwing W Y,Huang T C,et al.A study for the application of body sensing in assisted rehabilitation training[C]∥2012 International Symposium on Computer,Consumer and Control,IS3C 2012,2012:922-925.

[13] Da Gana A,Chaves T,Figueiredo L,et al.Poster:Improving motor rehabilitation process through a natural interaction based system using Kinect sensor[C]∥2012 IEEE Symposium on 3D User Interfaces (3DUI),2012:145-146.

[14] Raheja L J,Chaudhary A,Singal K,et al.Tracking of fingertips and centers of palm using Kinect[C]∥2011 Third International Conference on Computational Intelligence,Modelling and Simulation,2011:248-252.

[15] Satyavolu S,Bruder G,Willemsen P,et al.Analysis of IR-based virtual reality tracking using multiple Kinects[C]∥IEEE Virtual Reality Conference,2012:149-150.

猜你喜欢

关节点骨架姿势
浅谈管状骨架喷涂方法
基于深度学习和视觉检测的地铁违规行为预警系统研究与应用
关节点连接历史图与卷积神经网络结合的双人交互动作识别
倒挂在树上,我的主要姿势
看书的姿势
骨架密度对炭/炭多孔骨架压力浸渗铜的影响
解锁咳嗽的正确姿势
搞好新形势下军营美术活动需把握的关节点
RGBD人体行为识别中的自适应特征选择方法
内支撑骨架封抽技术在突出煤层瓦斯抽采中的应用