基于Kinect传感器的近场手势识别追踪系统的实现
2014-09-23王博龙房建成
王博龙,房建成
(北京航空航天大学 仪器科学与光电工程学院,北京100191)
基于Kinect传感器的近场手势识别追踪系统的实现
王博龙,房建成
(北京航空航天大学 仪器科学与光电工程学院,北京100191)
利用Kinect深度传感器所获取的图像深度信息实现手部从背景中的分割,并通过零均值离散高斯滤波、二值化、取最小外包矩形、欧式距离变换等一系列过程对手势目标进行识别,最后把得到的识别结果显示在电脑上,实现实时追踪。该系统相较其它类似系统具有算法简单,实时性好,实现成本低等特点。
Kinect;深度信息;手势识别;人机交互;体感
手势识别与追踪作为计算机图形学研究的热门内容之一,正开始应用于各类视频交互应用中,包括Microsoft、Nintend、PrimeSense、Asus等知名厂商已经投人大量的研究经费来进行手势追踪的研究和相关设备的开发。准确而高效手势识别可应用于很多领域,如虚拟现实、人机交互的增强等。Microsoft在2010年11月推出的Kinect体感游戏设备利用即时动作进行识别让玩家摆脱传统游戏手柄的束缚,通过自己的肢体来控制虚拟人。而在众多手势识别的应用中,人们更愿意坐着而非站着,近场手势识别在此种体验背景下作为未来交互体验的主要趋势,更是众多交互应用需要解决的首要问题,在此之前,电脑和视频游戏为控制人体运动提供了大量的接口,例如:鼠标、操作杆和按钮等等。但是,这些接口只是提供了少量的自由度上的控制并且必须自动计算运动细节。索尼的EyeToy[1]是一个基于视觉的系统,该系统不需要任何的标记,就能够提取出一个拳击或者挥手的简单2D动作,此法实现成本低、实时性好,但只能在2D层面上对手势进行提取,Kinect的深度信息处理则能在3D层面上提取手势,信息更丰富,可扩展性强。
文献[2]建立了一个视觉的接口来把从单个视频摄像机上获得的噪音轮廓数据转换成约有2 s延迟的全身运动。该方法用一般的摄像头就能简单实现,但实时性差,2 s的延迟无法满足大部分人机交互需求,本文所采取的手势提取方法延时约为0.3 s。
文献[3]提出了基于视频跟踪来捕获用户运动的方法,但是这个方法同样不能够实时并且精确地重建复杂人体运动。
算法上,针对手势识别的研究主要侧重于皮肤颜色建模、连续动态手势的基于图像属性的鲁棒特性提取等[4]。但基于深度信息实现手势识别的方法未见公开报道。
文中依托Kinect廉价且高效的硬件基础,采用了基于图像深度信息的手势模型,首先利用深度数据作噪点去除,做高斯滤波,二值化分割出手势区域,再对该片区域提取轮廓、抽象出最小矩形,接着对该最小矩形作距离变换,得到最终的近场手势模型。
采取图像深度信息进行手部分割只与手和摄像头之间的距离有关,故对背景干扰的鲁棒性较强,且所需计算量不大,可基本满足实时性的要求(基于openCV的框架下刷新率为 3 Hz)。
1 图像深度信息的获取与处理
1.1 图像深度信息获取原理
如图1,Kinect是微软开发的一款家用视频游戏机主机
的体感周边外设,它是一种 体感摄影机,同时具有即时动态捕捉、图像识别、麦克风输入、语音识别、社群互动等功能。Kinect有三个摄像头,中间的镜头是RGB彩色摄像机,左右两边镜头则分别为红外发射器和红外CMOS摄像机所构成的3D深度感应器。
图1 Kinect结构示意图Fig.1 The configuration of the Kinect
图像深度的获取通过红外发射器和红外线CMOS摄影机共同来完成,红外线发射器发出的红外光覆盖整个待检测区域,同时红外线CMOS摄影机接收反射光线得到深度图像。后者得到的图像是一个“深度场”,其中每一个像素的颜色代表了那一点物体到摄像头的距离。如图2所示,左图为深度信息图,离摄像头近的物体呈现亮色彩,反之则呈现暗色彩。右图为普通摄像头获取的原始图像。
图2 深度图像与RGB图像对比示意图Fig.2 Comparison between depth pic&RGB pic
在进行深度数据提取时需注意Kinect硬件本身的限制,如图3所示,上图为距离Kinect约60 cm处获得的深度图像,能得到完整的手掌深度数据。下图为距离60 cm处再伸手往前3 cm处获得的深度图像,可见整个手掌已与远处不可识别的深度数据一同变黑。由此可知在近场手势的探测中,手掌若越过了60 cm的临界距离,深度图像将无效。
图3 Kinect无效深度图像示意图Fig.3 Kinect recognition effect without depth detection
1.2 图像深度信息的获取
深度图获得过程的核心是光编码技术[5],该技术用近红外光对场景进行编码,形成一个具有三维纵深的 “体编码”。这种编码来自于激光散斑,是当激光照射到粗糙物体或穿透毛玻璃后形成的随机衍射斑点
这些散斑具有高度的随机性,而且会随着距离的不同变换图案,也就是说空间中任意两处的散斑图案是不一样的,只要在空间中打上这样的结构光,整个空间就都被标记,把一个物体放进这个空间,只要观察物体上面的散斑图案,就可以得到这个物体的位置
红外摄像头获取反射光线后将信息传给PS1080 SoC芯片,制作出场景深度图像。该芯片包含一个USB2.0物理层协议,其USB2.0接口可将所有数据传送给主机,并适用于各种主机CPU——所有深度获取算法均在PS1080上运行,主机只需运行最低限度的USB通信层。通过这种设计,即使是计算能力非常有限的主机设备也能具备深度获取能力,既保证了实时性也使得对系统的要求不至于苛刻。
2 图像深度信息的处理
在Windows下搭建好Kinect调试环境后,在Microsoft Visual Studio 2010调试工具的帮助下,即可获得图像的深度数据。
从深度数据中分离出手掌的方案有多种,文中采用了一种实时性最好的处理方案,即认为离镜头最近的物体为手部,在深度阈值下将图像二值化,从而分离出手部轮廓,并最终达到跟踪手势的目的。
该方案虽不够严谨,但能适应大部分场合的交互需求,并且实时性好,对硬件的运算能力要求低。
2.1 图像深度信息的相关概念
1)零均值离散高斯滤波
由于文中的图像处理涉及对手掌轮廓进行处理,因此有必要在提取轮廓前对图像进行平滑处理,去除毛边。本文选用常用的零均值离散高斯滤波器函数进行平滑处理:
其中,高斯分布参数决定了高斯函数的宽度。对于图像处理来说,常用二维零均值离散高斯函数作平滑滤波器。
2 )二值化
一幅图像包括目标物体、背景还有噪声,要想从多值的数字图像中直接提取出目标物体,最常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群。这是研究灰度变换的最特殊的方法,称为图像的二值化(BINARIZATION)。图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。
3 )欧式距离变换
所谓欧氏距离变换,是指对于一张二值图像(再次我们假定白色为前景色,黑色为背景色),将前景中的像素的值转化为该点到达最近的背景点的距离。欧氏距离变换在数字图像处理中的应用范围很广泛,尤其对于图像的骨架提取,是一个很好的参照。
2.2 图像深度信息的处理
如图4所示,原始图像在经过高斯滤波之后,将距离摄像头深度数据最低的值(即摄像头最近)认为是手掌,进行二值化处理。再对二值化的图像取最小矩形,并作距离变换得到手掌的骨架信息。
图4 深度信息处理过程示意图Fig.4 Image processing diagrammatic sketch
其后将最小矩形的质心认为是手掌的运动轨迹,输出给openCV加以显示,实现了初步的手势跟踪。
3 结束语
通过深度信息进行手势分割可有效避免光照和复杂背景对检测手势的干扰,鲁棒性好。同时深度层面的信息简化了数据处理方法,客观上减少了计算量,加快了刷新频率,增强了人机交互的实时性。同时,此种手势识别方法也存在一定不足:它无法识别 范围以内的物体。但在常见的办公室环境下,只需稍加调整,即可规避此类不足,开展实时有效的人机交互。
[1]梁爱虎.SOA思想技术与系统集成应用详解[M].北京:电子工业出版社,2007.
[2]Miehael p papazoglou.Web服务原理与技术[M].北京:机械工业出版社,2010.
[3]Musser D R,Shao Z.Concept use or concept refinement:an important distinetion in building generic specifications[C]//Proc.4th Intemational Conference on Formal Enginering Methods,LNCS 2495.Berlin:Springer一Verlag,2002:132一143.
[4]陈一民,张云华.基于手势识别的机器人人机交互技术研究[J].机器人,2009,31(4):351-356.
CHEN Yi-min,ZHANG Yun-hua.Based on the research on man-machine interaction of gesture recognition robot[J].Robot,2009,31(4):351-356.
[5]Lee S,Choi J,Oh S,et al.A real-time 3D IR camera based on hierarchical orthogonal coding[C]//IEEE International Conference on Robotics and Automation.Piscataway.NJ.USA:IEEE.2006:2035-2040.
[6]Huang J,Ma Z,Hu Y,et al.Robotic 3D Structured light scanning system based on external axle[C]//International Conference on IntelligentComputation Technology and Automation.Piscataway.NJ.USA:IEEE.2008:1126-1129.
Design and implementation of a near-field gesture-driven system on the kinect sensor
WANG Bo-long,FANG Jian-cheng
(School of Instrumentation Science and Opto-electronics Engineering,Beijing University of Aeronautics and Astronautics,Beijing 100191,China)
First,hand contours are split from the background based on depth information from images got by the Kinect depth sensor.After a Zero-mean Dispersed Gauss Filter processing,the hand contours are binarized with a certain threshold value.And then,a minimum matrix surrounding the hand contours are given.Centroid of this matrix is considered to be the track of this hand.Skeleton information also can be obtained after an euclid distance transform.At last,recognition result are translated into a red point shown on the screen.
Kinect;depth information;hand gesture recongnition;man machine interaction;somatosensory
TN-9
A
1674-6236(2014)13-0078-03
2013-09-29 稿件编号:201309226
王博龙(1988—)男,湖南南县人。研究方向:手势识别、人机交互。