基于计算机视觉的3D手势交互系统

2016-09-20 07:12霍鹏飞
现代电子技术 2016年17期
关键词:指节深度图人手

霍鹏飞

(南阳师范学院 珠宝玉雕学院,河南 南阳 473061)

基于计算机视觉的3D手势交互系统

霍鹏飞

(南阳师范学院 珠宝玉雕学院,河南 南阳473061)

随着计算机的广泛发展,键盘、鼠标等传统的人机交互方式很难满足用户自然、便捷的交互需求。研究手势建模、人手跟踪和手势交互系统的应用成为热点趋势。提出了一种简化的2D人手模型,该模型将人手建模为掌心点和5根手指,同时设计了一种基于粒子群优化(PSO)算法的人手跟踪方法,通过建模人手的生理和运动学约束关系,实现了基于2D/3D人手模型的PSO人手跟踪,该手势交互系统框架更具适用性和扩展性,融合了语义和反馈信息,提高了人手跟踪的鲁棒性和手势识别的准确度。

人手跟踪;人机交互;手势识别;粒子群优化;计算机视觉

手势是人们日常生活中最常用的交流方式之一,具有很强的表意功能,与键盘、鼠标等传统交互设备相比,具有自然、直观、友好、便捷等特点,更符合人们的交流习惯[1]。但是,由于手势本身具有多样性、多义性、多变性和时空差异性等特点,背景环境复杂多变、不可预知,加之人手自由度高而灵活,使得基于视觉的手势交互成为一个极富挑战性的多学科交叉的研究课题。基于视觉的手势交互技术和方法的研究,不仅在人工智能、模式识别、机器学习等学科中具有重要的理论意义,在智能化的学习、工作以及生活中也具有非常广泛的应用前景[2]。基于视觉的手势交互技术是实现新一代人机交互不可缺少的一项关键技术。

1 二维人手跟踪方法

1.12D人手建模

3D人手模型虽然能够更加完备地建模人手参数空间,且有利于恢复3D人手信息,但由于3D人手模型维度高、参数空间复杂,且人手模型参数的渲染过程及模型投影过程都很复杂,故很难达到实时。而简化的2D人手模型,自由度相对较低,参数空间小,且省略了复杂的渲染、投影过程,在执行时间和效率上更具优势,且2D人手模型在一般情况下能够满足应用需要,达到实时性要求,所以更具有实际应用性。

在二维空间中对人手进行建模,该人手模型由一个手掌和5根手指组成,如图1(a)所示,其中每根手指用其英文单词的大写首字母表示,则5根手指的集合可以表示为F={T,I,M,R,L}。将整个人手表示成32维的向量是手掌矩形框的中心点坐标,用来表示人手的全局运动;是5根手指的参数集合,每根手指用3个直线段表示,分别表示手指 f中第i段指节的斜率和截距,如图1(b)所示。目前,尝试使用手指间的夹角作为参数,这样几乎可将人手参数空间减半,还可避免斜率为无穷时的复杂计算[3]。

图1  人手模型

参考3D人手骨架模型的约束关系,同样为2D人手模型引入约束[4]。假设已知各个手指指节的长度和宽度,每个手指即可用2个角度表示,一个角度表示根指节与图像平面的夹角,另一个角度表示中指节与图像平面的夹角,根据根指节、中指节夹角与中指节、端指节夹角之间的线性约束关系,即可由中指节与图像平面夹角推导得到端指节与图像平面的夹角。

1.2基于PSO的二维人手跟踪

1.2.1预处理

采用从RGB-D传感器获得的彩色图I和与之对应的深度图D作为原始输入数据。其中,I和D都是640×480的矩阵,且D中的每个深度值对应彩色图I中的一个像素值[5]。对深度图D进行阈值操作,得到目标人手区域,并进行平滑、去噪,得到新产生的深度图Od;然后,对彩色图I进行预处理,获得肤色图Os;将Os和Od进行融合并二值化作为评价假设人手参数的真实观测数据O。

1.2.3目标函数

为了度量人手假设参数h与真实观测帧O之间的差异,从而寻找出与真实观测帧O最为接近的人手参数h,需要建立一个适应度评测函数E(·),即PSO优化求解中的目标函数。将目标函数E(·)定义为:

式中:λk是归一化因子;C表示摄像机的校准参数;P(·)用于惩罚无效的人手假设;D(·)用于度量真实观测帧O与人手假设h之间的不一致性。在本文中只考虑D(·),首先将假设人手参数h模型化,然后以表示手指指节的直线段为中轴线,以固定宽度为指长,通过渲染生成人手剪影,最后将其与真实观测得到的人手目标区域进行异或操作,从而得到两者之间的差值,并使其最小化。

1.2.4PSO优化

假设粒子群的粒子个数为N,迭代次数为M。在原始PSO方法中,随机产生N个粒子,或是采用搜索空间的均匀分布作为粒子群的初始位置,其初始速度均为0;利用时序关系约束并减小有效搜索空间,即将上一帧的人手跟踪结果及其随机扰动产生的邻近位置作为当前帧粒子群的初始位置信息[7]。每一帧真实观测O对应一个优化求解问题。在人手参数搜索空间S中,通过最小化PSO方法的目标函数E(·)进行求解,并将最优人手假设hmax作为当前观测帧的输出,其中:

对于视频序列中的每一帧O,在第k+1次迭代中,第i个粒子的速度更新公式为:

式中:ω为收缩因子;c1和c2为加速系数(又称为学习因子),分别调节向个体最优粒子和全局最优粒子方向运动的最大步长;r1和r2是服从[0,1]均匀分布的随机数;hk.i表示第k次迭代时第i个粒子的当前位置,也即人手参数空间中的某个点(对应一个人手假设);vk,i表示第k次迭代时第i个粒子的速度矢量,且每一维度d都限定在某个速度变化范围表示至目前的前k次迭代中第i个粒子的自身局部最优位置;Gk表示至目前的前k次迭代中所有粒子的全局最优位置。粒子当前位置的更新公式为:

即粒子的当前位置是粒子在上次迭代中的位置矢量与当前粒子速度矢量之和。第i个粒子的自身局部最优位置Pk+1,i的更新公式为:

所有粒子的全局最优位置Gk + 1 的更新公式为:

在经过M次迭代后,所有粒子的全局最优位置Gk(k=M)就是当前观测帧O的最优人手假设hmax。将hmax及其N-1个随机扰动产生的邻近位置作为下一观测帧对应粒子群的初始位置信息h0,i,从而进行下一帧的PSO优化人手估计。

2 三维人手跟踪方法

2.1基于PSO的三维人手跟踪

2.1.1搜索空间

人手模型参数空间即构成搜索空间。根据27个自由度的人手骨架模型,加之各手指运动角度范围的静态约束和手指运动指节之间的动态约束,人手模型参数向量从27维降至15维:其中,拇指自由度由5降为2,中指自由度由4降为1,其他三根手指自由度均由4降为2,人手的全局位置信息表示有3个自由度,人手的旋转角度表示有3个自由度[8]。所以,搜索空间是15维的模型参数空间,每个参数服从线性约束关系。

2.1.2目标函数

在得到3D人手模型的参数表示后,即对模型参数进行评估,以获得与真实观测最为匹配的人手模型参数。已知人手假设参数h和摄像机校准参数C,通过渲染技术得到h的渲染深度图rd(h,C),并将其与对应观测帧的深度图Od匹配,得到二值匹配深度图rm(h,C)。也就是说,当渲染深度图rd与观测深度图Od相同像素位置的深度值之差小于预定义深度阈值dm或观测深度图Od相应位置的深度丢失(深度值为零)时,rm相应像素位置的深度值设为1,否则设为0。然后,将rm与真实观测的肤色图Os进行比较。

定义一个目标函数E(h,O)用来度量当前观测帧对应的肤色和深度图O与给定假设人手配置h渲染生成的二值匹配深度图rm之间的差异,如式(7)所示:

式中:λk=2是归一化因子;函数D(·)被定义为:

式中:第一项表示建模真实观测O与人手假设配置h之间增强深度差异的绝对值;第二项表示建模假设人手配置与真实观测之间的肤色像素差异;λ是归一化常数,需在整幅特征图像上求和。

式(7)中,函数kc表示对运动学和生理学上难以实现的人手配置的惩罚项:

式中:Q表示拇指除外的三个相邻手指对;φ表示给定假设人手配置h中手指之间外伸-内收的角度差;取常量λ=20,λk=10,预定义深度阈值dm=1cm,dM=4 cm。

2.1.3优化处理

(1)PCA主要步骤

假设给定N个D维的样本h,由于存在噪音和数据冗余,它们并不分布在整个RD空间,而只分布在RD的某个子空间中。首先,通过子空间方法寻找符合某种准则的d个基向量wi∈RD,i=1,2,…,d;然后,将高维数据投影到这d个基向量确定的子空间中,即 zi=Whi且W=(w1,w2,…,wd)T。经变换zi下降到d维,在保持绝大部分原始高维数据信息的同时,达到了降维的目的,具体步骤如下所述:

(1)计算h=(h1,h2,…,hN)T的协方差矩阵,计算公式如下:

(2)对矩阵S进行特征值分解:SW=WΛ,其中W 和Λ如式(11)所示,将特征值λ按从大到小降序排列:

(3)使用前d个特征值作为子空间的基底,设为矩阵L=(l1,l2,…,ld)T,L中的单位基向量之间彼此正交;

(4)原始数据h=(h1,h2,…,hN)T通过线性转换Z=Lh得到新的数据表示Z,此时每个样本维度为d,从而达到了降维的目的。

2.2实验

在实验室光照条件下,使用微软的Kinect传感器采集无标记人手运动的彩色图像序列和与之对应的深度图像序列作为实验室数据,图像大小为640×480。实验是在CPU为Interl CoreTM2 Quad Q9550,内存为4 GB的普通PC机上完成的。当粒子个数N=60,最大迭代次数M=40时,人手跟踪结果及其性能达到最优。实验结果表明,基于3D人手骨架模型的PSO人手跟踪方法在复杂背景下能获得较精确、鲁棒性较好的人手跟踪结果。

3 基于视觉的手势交互应用

3.1手势交互系统框架

在现有手势交互系统的基础上,构建了一种具有可扩展性的基于视觉的手势交互系统框架,如图2所示,以适应不同的应用环境和操作需求。同时,由于基于视觉的手势识别方法具有参数获取不够准确、识别率不够高等特点,本框架通过引入多通道反馈机制,以便实时地在线修正参数误差以提高识别率,从而提供更好的用户体验。

图2 基于手势识别的手势交互系统流程

3.1.1模块划分

基于视觉的手势交互系统框架包括上、下两层:顶层交互界面反馈层和底层数据处理层。其中,底层数据处理层又可分为三大模块:感知模块,手势识别模块和交互模块。其中,感知模块由N个摄像头组成,负责交互手势动作的图像序列采集工作;手势识别模块将手势识别过程划分为数据预处理、人手定位、人手跟踪、连续手势分割、手势识别五个阶段;交互模块的功能是根据手势识别结果语义信息,在预先定义好的手势任务逻辑和底层操作库的指导下,给出系统响应或提示。

3.1.2反馈机制

在手势交互系统框架中加入显式和隐式两层反馈机制,在保证系统时效性的基础上,又能及时反馈系统信息,从而让操作用户拥有良好的操作体验和真实的沉浸感。为给用户提供良好的操作体验和真实沉浸感,本文针对视觉数据流的3个不同处理阶段,采用3种不同的界面反馈形式:手势自反馈、识别结果反馈、系统响应反馈。

基于语义反馈的手势识别系统,如图3所示。首先,在预定义交互手势基元库的指导下,根据预定义手势组合规则,对连续手势分割的结果——手势基元序列进行分析,输出识别结果。当结果不满意时,则根据交互手势语义信息,对前面各模块的参数进行调整:如调整图像序列采集所使用的Camera个数及其所占权重,调整连续手势的分割规则权值,以最大化可能的分割决策等。在各模块参数得到更新后,重新进行手势识别过程,如此循环,直到得到满意的识别结果为止。

图3 交互模块

3.2基于视觉手势的影像交互系统

3.2.1系统流程

以交互影像系统为应用背景,以基于视觉的手势交互技术为支撑,实现了基于视觉手势的影像交互系统,系统的框架和操作流程如图4所示,分为输入、交互、输出三个阶段。

图4 影像交互系统流程图

3.2.2系统演示

(1)手势控制场景图片

在手势控制场景图片实验中,系统控制命令由右手手势表达。其中,五指并拢表示标定初始帧,表示手势交互的开始;使用手指之间张角的大小控制虚拟场景图片(本实验采用虚拟圆球)的缩放尺度,即圆球随着手指之间张角变大/变小进行相应的放大/缩小;使用手势与图像平面之间的夹角控制圆球的旋转角度,从而让圆球球心与中指一直保持在同一条直线上;握拳手势表示退出交互系统。手势控制场景图片的演示截图如图5所示。

图5 手势控制场景图片

(2)手势控制影像交互

在手势控制影像交互实验中,同样用右手手势控制系统命令。首先,按照舞台剧或情景剧的模式设计并拍摄各节视频段,以及中间过程需要的道具图片,并定义手势与系统命令的映射关系。在没有用户参与交互的情况下,各段视频按照预先设定的顺序播放,当播放至选择阶段,系统弹出提示界面,并定位在当前帧,当用户根据提示信息和自己的意愿进行选择,做出相应的动作和手势。手势捕捉系统实时对当前手势进行预处理、分析和识别,当手势被识别后,直接调用或触发系统命令,实时反馈或响应,获得预期的视觉效果或视频播放序列。

4结 论

人手建模、手势跟踪以及手势交互系统框架在基于手势识别的交互应用中是非常重要的三个方面。本文首先提出了一种简化的2D人手模型,并通过添加各个手指之间以及手指指节之间的运动约束,从而将整个人手表示为12维向量的形式;然后提出了一种基于粒子群优化(PSO)的人手跟踪方法,并分别实现了基于2D简化人手模型和3D骨架模型的PSO人手跟踪方法,采用PSO方法在人手模型参数空间寻找与真实观测最为匹配的假设人手配置作为跟踪结果输出;最终,完成了一种具有可扩展性的融合语义和反馈信息的手势交互系统框架,实现了一种基于视觉手势的影像交互系统。

[1]REKIMOTO J.GestureWrist and GesturePad:unobtrusive wearable interaction devices[C]//Proceedings of the Fifth IEEE InternationalSymposiumonWearableComputers.Zurich: IEEE,2001:21-27.

[2]武汇岳,张凤军,刘玉进,等.UIDT:基于视觉的手势界面关键技术研究[J].计算机学报,2009(10):2030-2041.

[3]李清水,方虑刚,沈模卫.手势识别技术及其在人机交互中的应用[J].人类工效学,2002,8(1):27-33.

[4]任海兵,祝远新,徐光佑,等.基于视觉手势识别的研究综述[J].电子学报,2000,28(2):118-121.

[5]王西颖,张习文,戴国忠.一种面向实时交互的变形手势跟踪方法[J].软件学报,2007,18(10):2423-2433.

[6]陈守满,朱伟,王庆春.图片操作的手势动态识别系统[J].现代电子技术,2012,35(22):4-6.

[7]ZHOU H,LIN D J,HUANG T S.Static hand gesture recognition based on local orientation histogram feature distribution model[C]//Proceedings of 2004 IEEE Conference on Computer Vision and Pattern Recognition Workshop.Washington,D.C.:IEEE,2004:161-167.

[8]朱卫华,刘国稳,肖沛,等.基于SoC的数据采集与交互系统设计[J].现代电子技术,2014,37(2):127-130.

3D gesture interactive system based on computer vision

HUO Pengfei
(Institute of Jewelry and Jade Carving,Nanyang Normal University,Nanyang 473061,China)

With the wide development of the computer,the keyboard,mouse and other traditional human-computer interaction modes are difficult to meet the users′natural and convenient interaction needs.The study on the applications of gesture modeling,hand tracking and gesture interactive system has become a hotspot.A simplified 2D hand model is proposed in this paper,in which the hand is modeled as the palm point and 5 fingers.A hand tracking method based on particle swarm optimization(PSO)algorithm was designed,and the PSO hand tracking based on 2D/3D hand model was realized by modeling the physiology and kinematics constraint relation of the hand.The framework of this gesture interactive system has applicability and scalability.It fused the semantics and feedback information,and improved the robustness of hand tracking and accuracy of gesture recognition.

hand tracking;human-computer interaction;gesture recognition;particle swarm optimization;computer vision

TN911.73-34;TM417

A

1004-373X(2016)17-0026-04

10.16652/j.issn.1004-373x.2016.17.007

2015-11-06

霍鹏飞(1982—),男,吉林白城人,硕士研究生,讲师。研究方向为美术学。

猜你喜欢
指节深度图人手
基于特征模板的外指节纹特征提取方法
基于深度图的3D-HEVC鲁棒视频水印算法
木兰从军
便携式手外骨骼康复装置结构研究
一种基于局部直方图匹配的深度编码滤波算法
叠加速度谱在钻孔稀少地区资料解释中的应用
多按小拇指防早生白发
人手不够 ——原载俄罗斯漫画网▲
Kinect深度图像快速修复算法
残疾人用Partial Finger机构研究