基于Kinect深度数据的手部指示的目标定位
2016-10-28张晨张昭吕朝辉
张晨,张昭,吕朝辉
(中国传媒大学 信息工程学院,北京 100024)
基于Kinect深度数据的手部指示的目标定位
张晨,张昭,吕朝辉
(中国传媒大学 信息工程学院,北京 100024)
本文设计了一种基于Kinect深度信息的手部指示的目标指示点的定位系统。建立了完整的系统模型,实现了指示点的准确定位,该系统克服了借助三维鼠标、激光笔等带来的真实感、交互感低的情况,同时避免了基于立体视觉的手部指示识别定位存在的对硬件设备要求高,识别精度低等问题。文中建立了手部指示的真实感和准确性的测试分析系统,通过测试结果的分析,表明该定位系统具有良好的指示真实感和定位准确性。此外,本文还设计了基于此定位系统的手部指示悬停选择的视频播放器应用。
深度信息;kinect;手部指示;定位
1 引言
指示行为是最为常见的自然交互形式之一,常用于引导特定目标的共同关注与交互。在多媒体交互中主要依靠三维鼠标、激光笔等实现指示定位,而通过计算机视觉技术识别人的指示行为具有更自然的交互感。
Kahn和Swain[1]最早提出使用Perseus结构识别指示姿态,以头部至手部的连线作为指示方向,但是由于使用的头部和手部的识别算法比较简单,对人的指示姿态限制较多,因此缺乏广泛地应用基础。A.Wu[2],M.Fukumoto[3]利用人体骨骼约束关系在特定条件下给出基于单摄像机的指示识别,Nickle和Stiefelhagen[4]通过隐马尔科夫模型训练不同的指示行为样本来识别指示动作。NebojsaJojic[5],Yu
Yamamoto[6]等将身体的三维模型映射到二维图像中用于身体姿态的估计,从而识别指示手臂的指示方向,灵活性较高,但是由于识别精度较低,多用于大型目标的指示判断,不适用于定位精度要求较高的小型目标。
本文研究了一种基于Kinect深度数据指示方位判别方法,系统原理图如图1所示。
图1 系统设计图
Kinect位于指示交互区同侧,交互者位于交互区前方。人指示行为的自然习惯是在进行手指指示时,指尖置于整个人体的最前方。研究根据此特性通过指尖移动跟踪区与交互区的映射变换定位手指的位置,实现人的手指的三维运动捕捉。
2 定位映射模型
由图1简化得系统映射模型如图2所示。设Ow-XwYwZw为世界坐标系,Oc-XcYcZc为Kinect摄像机坐标系。
图2 系统映射模型
Kinect摄像机坐标系与世界坐标系之间的变换关系如式1所示:
(1)
其中(Xw,Yw,Zw,1)和(Xc,Yc,Zc,1)分别为空间点P在世界坐标系和Kinect摄像机坐标系下的齐次坐标,R为3×3的正交矩阵,t为三维平移向量,向量0=(0,0,0)T。
设摄像机坐标系下的点P(Xc,Yc,Zc)在对应成像面上的投影位置的坐标为p(x,y),关系如式2:
(2)
若每一像素在x轴与y轴方向上代表的物理尺寸为dx,dy,在图像坐标系中的坐标为(u,v),则图像中任一点在以像素表示的像素坐标系下的坐标和以物理尺寸表示的图像坐标系下的坐标有如下关系:
(3)
其中(u0,v0)为O1点图像坐标。
设指示区域为平面Os-XsYs上的一块矩形区域,长宽分别为Xsmax,Ysmax,图像大小为umax×vmax,如图3所示。则图像区——指示区的线性映射变换如式5所示。
图3 图像区到指示区的变换
(5)
其中,Sx,Sy分别为行方向和列方向的尺度缩放系数,K为变换矩阵。Sx,Sy的可以由式6计算得到:
(6)
其中,Xs max,Ys max为指示区的长和宽,umax,vmax为图像大小。
3 实验结果与分析
本研究建立了一个手指指示定位的测试和评估系统,用于测试指示的真实感和准确性。
(1)目标指示轨迹识别实验
实验中,测试人员位于Kinect摄像机前方约2米处,向指示区分别画出“口”、“M”和“8”形,系统记录指示点的轨迹并绘制。图4是测试人员画“8”形时的4帧图片,其中(a)、(b)、(c)和(d)分别为绘制“口”左上角、右上角、右下角和左下角的图像帧。
(a) (b)
(c) (d)图4 测试人员完成指示点轨迹-“口”形
系统识别出的测试人员手指运动的轨迹形状如图5所示,其中(a)、(b)、(c)分别为系统识别的“8”、“M”和“口”形的轨迹。
(a) (b) (c)图5 系统恢复的指示点运动轨迹
从测试的结果可以看出,指示轨迹平滑、形状规则,具有一定的真实感,且在停顿处有明显的指示点累积痕迹,有助于在应用中实现指示点的运动和停顿识别。
(2)指示点提取误差实验
实际进行手指指示操作时,由于摄像机精度及人为抖动等因素的影响,系统提取的指示点位置并不十分对应于预期的目标指示位置,而是存在一定的误差。本实验中各选取目标平面上构成中心对称的五块矩形区域,如图6所示,测试区大小为640pixel×480pixel,矩形区域大小为180pixel×120pixel。中心的矩形编号为A1,其余四块区域由左上角区域开始沿顺时针方向分别编号为A2,A3,A4,A5,每块区域内部(含边界)为目标指示位置。实验中由一名实验者分别对这五块区域进行指示操作,如图7所示。每块区域重复30次,记录下系统给出的实验者手指指示点在目标平面上的定位位置,定位点位于矩形区域内则记录一次定位成功,否则记录一次定位失败,由不同实验者分别进行十组相同实验。
图6 指示误差测试区域分布
图7 测试人与员进行指示误差实验操作
十组实验的结果记录如表1所示:
表1 实验结果记录
图8 实验结果分析条形图
通过图8实验数据的分析,该目标指示点定位系统在A1~A5各区域的定位成功率分别为98.67%、98.33%、99.33%、98.33%和96.67%,误差分别为1.33%、1.67%、0.67%、1.67%、3.33%,其中A5区域的误差明显较高,这是由于测试者在测试过程中均使用右手进行指示操作,而A5区域位于指示区左下,该区域的指示动作容易使测试者产生疲劳,造成误差偏高。系统的综合定位成功率为98.27%,误差为1.73%。
4 应用——手指指示悬停选择的视频播放器
根据手指指示点定位的原理,本文设计了基于Kinect深度数据的手指指示控制的视频播放器测试系统,如图9所示。
图9 手指指示悬停选择的视频播放器演示
本应用中,操作者站在指示区即投影仪大屏幕前通过手指指示大屏幕上视频播放器的相关功能按钮,采用悬停选择的原理对按钮进行“点击”操作,即手指指示点在按钮上连续停留一定的时间,即表示按钮的一次“点击”操作。
设矩形按钮从其左上角开始逆时针四个顶点分别为:P1(x1,y1),P2(x2.y2),P3(x3,y3)和P4(x4,y4),Pa(xa,ya)为系统给出的指示区上的指示定位点。
设悬停选择有效区Df为手指指示定位点进行悬停选择的有效操作区域,区域Df满足:
(7)
当目标指示定位点位于有效选择区时,计时器开始计时。执行按钮“点击”操作的判定条件如式8所示:
(8)
式8中Ts为设定的悬停选择时间阈值,T为目标指示定位点(xa,ya)连续位于有效悬停区内的计时值。
在实际操作中,由于Kinect红外摄像机的精度,人手指尖悬停指示稳定度以及环境因素的影响,手指指示悬停会伴随小范围的抖动现象,甚至会出现突发的剧烈抖动。因此,本文设计了一种阈值锁定法来避免上述问题。
阈值锁定法的基本原理为:若手指指示定位点上一位置为:(xa,ya)i-1∉Df,当前位置为(xa,ya)i∈Df,则指示定位点进入锁定状态。在锁定状态下,如果指示定位点的下一位置(xa,ya)i+1较当前位置(xa,ya)i发生抖动(Δx,Δy),若(Δx,Δy)满足式9,其中xL,yL分别为预设的抖动锁定阈值。
Δx≤xL且Δy≤yL
(9)
则认为未超过预设抖动范围,不改变下一位置的值,即:
(xa,ya)i+1=(xa,ya)i
(10)
本文选取悬停选择过程中的200个指示点作为分例,图10为该过程未消除抖动和消除抖动的悬停选择结果比较,其中图像横坐标表示200个点序列,纵坐标值为“1”表示当前点位于视频播放器功能按钮有效选择区内,“0”表示该点位于有效选择区之外:
(a)和消抖动后
(b)悬停选择结果比较图10 未消抖动
从图10中(a)图中可以看出未经消抖处理前该悬停选择过程中在第40个指示点附近发生了两次抖动,在第140个指示点附近发生了一次抖动,从(b)图来看,经过消抖之后,三次抖动均被消除。
5 结论
本文设计了一种基于Kinect深度信息的手部指示的目标指示点的定位系统。文章中建立了完整的系统数学模型,实现指示点的准确定位,克服了借助激光笔、三维鼠标等带来的真实感、交互感低的情况,同时避免了基于立体视觉的手部指示识别定位存在的对硬件设备要求高,识别精度低等问题。文中建立了手部指示的真实感和准确性的测试系统,通过测试结果的分析,表明该定位系统具有良好的指示真实感和定位准确性。此外,本文还设计了基于此定位系统的手指指示悬停选择的视频播放器应用。
[1]REKahn,MJSwain.UnderstandingPeoplePointing:ThePerseusSystem[C].IntlSymposiumofComputerVisionISCV,AMotionIII,1995:11-17.
[2]AWu,MShah,Nda,VLobo.Avirtual3Dblackboard:3DfingertrackingusingaSinglecamera[C].ProcICAFGR,2000:536-543.
[3]MFukumoto,YSuenaga.Finger-pointer:potinginterfacebyimageprocessing[J].Computer&Graphics,1994,18(5):633-642.
[4]KNickel,RStiefelhagen.Real-timeRecognitioaof3D-PointingGesturesforHumanMachineInteraction[J].DAGM,2003:557-565.
[5]NJojic,BBrumitt,BMeyers,SHarris.Detectingendestimatingpointinggesturesindensedisparitymaps[C].IEEEInternationalConferenceonFaceandGesturerecognition,Crenoble,France,2000:468-475.
[6]YYamamoto,IYodaandKSakaue.Arm-pointingGestureInterfaceUsingSurroundedStereoCamerasSystem[C].Proceedingofthe17thInternationalConferenceonPatternRecognition,2004:965-970.
(责任编辑:马玉凤)
SystemofHandPointingLocationBasedonKinectDepthData
ZHANGChen,ZHANGZhao,LVChao-hui
(SchoolofInformationEngineering,CommunicationUniversityofChina,Beijing100024)
ThepaperdesignedasystemoffingerpointinglocationbasedonthedepthdataofKinect.Wesetupacompletemodelofthesystemandachievedthefingerpointinglocationaccurately.Thedesignavoidnotonlytosomedegreetheinconveniencewhenoperatingwitha3D-mouseoralaserpointer,butalsosomeproblemsofthehighdemandofhardwaredevicesandlowidentificationaccuracyofthepointingcontrolbasedonstereo-vision.Thepaperdesignedatestandanalysissystemtoestimatethesenseofrealityandaccuracyofthesystem,theresultoftheanalysisofthetestdatashowsthatthesystemearnedagoodsenseofrealityandaccuracy.Besides,thepaperdesignedafingerpointingcontrolledmediaplayerbasedonthefingerpointinglocationsystem.
depthdata;kinect;handpointing;location
2016-01-13
张晨(1991-),女(汉族),山东菏泽人,中国传媒大学硕士研究生.E-mai:365291904@qq.com
TP317
A
1673-4793(2016)03-0046-05