面向虚拟装配的层次化交互手势技术*
2016-02-25熊巍王清辉李静蓉
熊巍 王清辉 李静蓉
(华南理工大学 机械与汽车工程学院, 广东 广州 510640)
面向虚拟装配的层次化交互手势技术*
熊巍王清辉李静蓉
(华南理工大学 机械与汽车工程学院, 广东 广州 510640)
摘要:针对目前虚拟装配系统存在的用户体验不足问题,文中将手势识别技术引入虚拟装配的人机交互中,提出了一种面向虚拟装配操作的层次化交互手势模型;根据装配任务和交互模式的特点,提出了二级手势分类策略:先对交互手势进行初步分类再利用情境感知技术判断手势的类型;然后利用运动感知技术对手势的交互语义进行识别;接着通过对用户作业空间的手功能区感知来实现不同交互模式的自然过渡,从而降低用户在交互过程中的认知负担;最后通过自主开发的虚拟装配原型系统对文中提出的交互手势技术进行验证.实验结果表明,文中的层次化交互手势建模与识别方法能有效地增加虚拟装配环境中的人机交互效率和用户体验.
关键词:虚拟装配;人机交互;交互手势;场景漫游
虚拟装配(VA)是虚拟现实技术(VR)在装配领域中的一项重要应用.设计人员在计算机生成的虚拟环境中,通过三维直接操作等交互手段对产品的数字化样机进行装配,以达到评价装配可行性和规划装配工艺的目的[1].国内外学者在虚拟装配领域已经展开了大量的研究,包括数据集成[2]、约束识别[3]、装配体建模[4]、装配规划[5].但目前的虚拟装配系统在应用层面仍然存在交互效率低下、用户体验不足的问题.这是由于当前的研究主要集中在虚拟装配的系统功能实现,而不是从用户的角度来解决人机交互问题.人机交互是虚拟现实系统的重要组成部分,Stanney[6]指出,如果用户不能在虚拟现实环境中有效地执行交互任务,那么虚拟现实系统的研究是缺乏现实意义的.根据以用户为中心的设计思想,让计算机分担人在交互过程中的认知负荷,是解决目前虚拟装配中人机交互问题的一个有效途径[7].
手动是人进行装配操作的主要手段[8],因此将手势识别技术引入到虚拟装配的人机交互中,通过捕捉交互过程中的运动手势识别交互手势的语义信息,进而预测用户的交互意图,可以减轻用户交互负担,提高人机交互效率.
近年来,手势识别技术已经在手语识别[9]、鼠标手势[10]、虚拟物体控制[11]、机器人控制[12]等领域得到了应用.但与这些应用领域不同,虚拟装配活动中的运动手势不仅具有动态性、时变性和高维度的特点,而且装配工艺的复杂性使以手势为虚拟装配的人机交互通道存在如下问题:
(1)由于不同装配任务下的手势运动的特点不尽相同,在虚拟装配中实现统一的手势建模必然会导致手势识别算法过于复杂而降低人机交互的效率;
(2)虚拟装配活动中存在不同的交互模式,如使用数据手套进行虚拟零件操作且使用三维鼠标实现场景漫游,这种交互模式的差异性增加了用户的认知负担.
针对以上问题,为实现和谐、自然的人机交互范式,文中以感知技术为基础,以交互手势建模与识别为核心,提出了一种面向虚拟装配操作的层次化交互手势建模与识别方法:将手势识别技术引入虚拟装配的人机交互过程中,并根据装配任务和交互模式的特点建立层次化的交互手势模型;提出了先对交互手势进行初步分类再利用情境感知技术判断手势类型的二级手势分类策略,然后利用运动感知技术对手势的交互语义进行识别,对于不同类型的手势分别给出了建模方法和识别算法;最后通过自主开发的虚拟装配原型系统对文中提出的交互手势技术进行验证.
1面向虚拟装配的层次化手势建模
现有的关于装配任务的研究往往是从产品的角度来解决装配工艺规划问题,在分析虚拟装配工艺规划过程的工艺数据的基础上,文献[5]提出了产品层次装配的任务模型,以表达虚拟装配工艺规划过程的工艺数据.这类装配任务的描述往往未涉及装配动作信息,而且也没有考虑虚拟环境的特点及在虚拟环境中用户交互行为的特点.
文中从用户的角度对虚拟装配过程中的交互行为进行层次化分析.无论是徒手装配,还是通过工具、夹具辅助装配,基本的交互任务包括漫游导航、选择和操作.以螺栓螺母紧固操作为例,操作者首先漫游到标准件区,然后选择合适的螺栓、螺母紧固件,并将螺栓插入待紧固部件的螺栓孔,最后将螺母旋紧于螺栓上.在基本交互任务的基础上,通过一系列有序组合可形成复杂的装配行为;另外,基本交互任务与装配任务模型相比,具有更小的信息粒度,可与交互手势形成直接的映射关系.因此,在基本交互任务的基础上,面向虚拟装配的层次化交互手势分类如图1所示.
图1 层次化交互手势划分Fig.1 Hierarchical classification for interaction gesture
根据用户身体在虚拟空间中的位置是否改变,将交互手势分为漫游型手势和操作型手势.漫游型手势用于控制视点在虚拟环境中位姿的改变,指仿真用户在不同工位间移动及从不同方向观察待装配体的活动;操作型手势指用户在位置固定状态下将待装配零部件进行操作的动作.
操作型手势又分为抓取手势和装配手势.抓取手势指用户对零部件或工具的选择操作;装配手势指用户徒手或通过工具将零部件在待装配体上进行定位的操作动作.
2基于情境感知的手势类型划分
虚拟装配活动过程中的基本交互任务可以看成是在某些情境条件及其相关规则得以匹配的情况下才会触发.因此,通过情境感知技术可以预测在虚拟装配过程中可能的基本交互任务,以达到初步识别不同交互手势类型的目的[13].
文中从用户交互的角度,提出了用于交互手势类别划分的情境感知模型.该模型分为4个层次:手功能区感知、主动对象感知、接近关系感知和特征匹配感知,通过层级递进的交互情境感知流程可实现手势类别的初步划分,具体流程如图2所示.
图2 手势类型划分流程图Fig.2 Flowchart of classifying gesture types
手功能区感知是指通过判断在作业空间中的手所处的功能区来预测用户可能的交互行为.作业空间是人在自身物理限制范围内人手可执行操作任务的有效空间,其范围是由人手的功能尺寸和关节可活动区间决定.文中将作业空间定义为以用户坐标系(UCS)的原点为球心的半球空间,其中UCS的坐标原点Ou位于人体右肩关节处,如图3(a)所示.
图3 用户作业空间Fig.3 User workspace
通过分析用户实际装配操作过程中的心理和行为特点,文中进一步将用户作业空间划分为两个功能区:对象操作区和视点漫游区.各功能区在UCS的XuYu平面上的水平投影如图3(b)所示,人手的作业范围被以r1为半径的半圆分割为两个区域,其中内侧的半圆区域(B区)为对象操作区,而外环(A区)为视点漫游区.根据人机工程学原理[14],可从人手舒适程度和视觉因素两个方面来确定对象操作区的边界,以保证在零件操作时人手始终处于手眼协调区.
虚拟环境中的交互行为一般在两个或多个交互实体间发生,在交互过程中居于主导地位的交互实体称为主动对象.对于以人手操作为主要交互手段的虚拟装配活动,交互主体一般指虚拟手.但在不同的情境条件或基本交互任务下,主动对象本身会发生迁移.例如,当虚拟手抓取虚拟工具时,交互主体对象发生了转移,由虚拟手转换为虚拟工具.
通过情境感知实现交互手势类型初步划分的流程如图2所示,具体步骤如下:
(1)手功能区感知.判断人手所处的功能区,若手的当前位置处于视点漫游区,则进入漫游型手势识别;否则进入操作型手势识别.
(2)主动对象感知.若当前手势类型被划分为操作型手势,则进一步对主动对象进行判断.若虚拟手未与其他交互实体绑定,则主动对象为虚拟手;否则主动对象是被绑定的交互实体.
(3)接近关系感知.实时检测主动对象的包围盒与其他交互实体的包围盒是否发生干涉,若当前帧检测到干涉且主动对象为虚拟手,则进入抓取手势识别.
(4)特征匹配感知.若非虚拟手的主动对象与其他交互实体间存在干涉,此时检测干涉实体间是否存在可匹配的装配关系,若存在匹配的装配关系,则进入装配手势识别.
3基于运动感知的手势语义识别
3.1 基于手-视点运动映射的漫游手势识别
对于大型产品的装配,用户需要在不同的工位和设备之间往返或进入产品内部以完成相应的操作任务,如对于飞机或汽车的总装配.因此,对于大型产品的虚拟装配,需要通过场景漫游来衔接各道装配工序.基于运动手势的视点漫游是通过人手的运动控制虚拟场景中视点(相机)的运动,其基本思想为:通过人手的外伸和内收动作控制视点的前进和后退;通过人手向左右两侧的摆动控制视点的偏航方向.因此,基于运动手势的视点漫游的关键问题是在建立视点(相机)运动模型的基础上,构造人手运动和视点运动之间的映射关系.
图4 视点运动模型Fig.4 Model of viewpoint movement
由于文中模拟的漫游方式是人的行走,因此将相机始终约束于视平面且不考虑相机绕视线的旋转运动.简化的相机模型可表示为由眼睛(xe,ye,h)指向目标(xt,yt,h)的有向线段P,线段的方向表示视线方向,其中h为视高,如图4(a)所示.如图4(b)、4(c)所示,视点运动可分解为P的旋转变换矩阵R(Δθ)和平移变换矩阵T(Δx,Δy),Δθ为视线转角,Δx和Δy为视点平移距离Δs在两个轴向的分量,
(1)
θ为当前视线的方向角,视点的位移方向应与视线的方向角一致.
当虚拟场景初始化时,设相机的初始方向为标准方向,标准方向与南北方向线平行.在相机运动过程中,当前时刻的视线方向角θ为视线方向与标准方向所夹的锐角,如图5所示.
图5 视线的方向角Fig.5 Direction angle of sight
(2)
(3)
式中:k1和k2分别为线速度和角速度大小的比例系数;d为手沿H方向到对象操作区边界的距离;φ为控制角,用来映射相机偏离标准方向的角速度,是位置矢量H与Yu轴正向的夹角.当手处于XuYu平面的第1象限时,φ取负值,此时可控制相机向右偏航(顺时针旋转),如图6(b)所示;当手处于XuYu平面的第2象限时,φ取正值,此时可控制相机向左偏航(逆时针旋转),如图6(a)所示.
图6 漫游手势控制偏航方向Fig.6 Yaw direction by navigation hand gesture
因此,根据人手在视点漫游区的当前位置和运动状态,可以得到视点的旋转变换矩阵R(Δθ)和平移变换矩阵T(Δx,Δy),建立人手运动与视点运动的映射,从而实现由人手运动驱动的场景漫游.
3.2 基于虚拟手代理的抓取手势识别
通过抓取手势,用户可完成虚拟对象的选择操作.对象抓取一般需要满足两个条件[15]:①被抓对象全部或部分位于手指和手掌所形成的包络空间;②手形与被抓对象的外形和大小要相匹配.
文中提出虚拟手代理的概念,并通过虚拟手代理来识别灵巧手抓取手势.虚拟手代理是由特征点集Pi(i=1,2,…,5)构造的一组线段组成,其中P1绑定于大拇指指尖,其余特征点分别绑定于剩余的4指指尖,如图7所示.通过实时计算虚拟手代理,可以跟踪手指运动及手形的变化.
图7 虚拟手代理Fig.7 Proxy for virtual hand
基于虚拟手代理的抓取手势识别流程如下:
(1)用户手接近待抓取对象,若虚拟手代理与待抓取对象相交,则待抓取对象已处于虚拟手的包络空间;
(2)用户调整各手指的姿势,若虚拟手形与待抓取对象的外形匹配度C大于给定阈值,则标记抓取手势成功,待抓取对象绑定于虚拟手.
(4)
其中,Li为第i条虚拟手代理线段与物体相交部分的长度,Ltotal为虚拟手代理线段的总长度.
3.3 基于三维模板匹配的装配手势识别
通过观察用户的装配活动可以发现,无论是对待装配零件直接操作或者通过工具间接操作,用户的有效操作动作有相似的运动特征.文中将完成具体的装配操作所需要的有效手部动作称为装配手势.与抓取手势不同,装配手势仅跟踪全手在某时段的三维空间运动轨迹,而不用考虑手指运动及手形的变化.通过分析常见的装配任务,将装配手势分为3类:插入、扳动、扭转.插入手势主要用来推入待装配零件,实现其轴向定位;扳动和扭转手势可用来实现零件的紧固操作,如图8所示.
图8 装配手势Fig.8 Assembly gestures
装配手势的识别流程包括运动数据采集、轨迹特征提取和手势语义识别.
(1)运动数据采集.通过安装于手腕的位置跟踪器,可实时获得人手在三维空间中的位置和姿态.但由于用户进行人机交互时,人手可自由地任意运动,因此会产生大量冗余的运动数据.为了实现正确的手势分割,首先要对有效的手势运动数据进行采样.设在某时段t0→t1,手运动的线速度为v,角速度为ω,若满足v>ζ1或者ω>ζ2,其中ζ1、ζ2是用来控制运动数据采样的阈值,则对该时段传感器位姿数据逐帧进行记录并保存.
图9 生成手势编码Fig.9 Generating gesture code
(2)轨迹特征提取.对于扭转手势的识别相对简单,即在数据采样时段中,若检测到位置跟踪器的接收器端绕其Z轴(假定Z轴与掌骨方向一致)的旋转角度大于180°,则认为成功识别扭转手势.而对于插入和扳动手势则需要分析手的空间运动轨迹.文中利用三维模板匹配的方法来提取运动轨迹特征,在运动数据采样时段t0→t1中的手势识别流程如下:①构造三维模板.设Ps是数据采样的起点,Pe是运动数据的终点.分别以Ps和Pe为对角点构造运动轨迹的包围盒,包围盒的长、宽、高方向分别与世界坐标系的3个轴向平行.然后将包围盒沿3个边长方向细分为3×3×3的三维网格,如图9(a)所示.②将采样点分配到各三维网格,图9(b)显示了在俯视方向的采样点.③记录网格序列,生成手势编码,如图9(c)所示,ST=(3,6,5,8,7)为当前运动手势在俯视方向的手势编码.
(3)手势语义识别.将提取得到的手势编码信息与预定义的装配手势码进行匹配,若当前的运动手势在俯视方向的手势编码ST和在正视方向的手势编码SF都为(3,6,5,8,7),则识别该手势为插入手势;若当前的运动手势在俯视方向的手势编码ST和在正视方向的手势编码SF都为(3,6,9,8,7),则识别该手势为扳动手势.
4系统实现及实验结果分析
4.1 虚拟装配原型系统实现
文中设计了一套虚拟装配原型系统对所提的方法进行验证.该系统的硬件部分包括图形工作站(3DBOXX W3960,BOXX)、数据手套(CyberGlove,Immersion)、电磁位置跟踪器(Fastrak,Polhemus)和被动式双通道环幕立体投影,软件部分则在OpenGL图形库、MFC应用程序框架和虚拟手软件开发包VirtualHand SDK的基础上实现,如图10所示.
图10 虚拟装配原型系统Fig.10 Prototype system of virtual assembly
利用CyberGlove上的光纤传感器可实时捕获用户手指关节的运动,为抓取手势识别提供运动数据.安装于手腕处的Fastrak接收器可采集手在三维空间的位置和姿态,该运动数据可用于装配手势识别.另外,结合安装于用户肩部的Fastrak接收器,可计算出漫游手势及手势类型初步划分所需的手在UCS中的位置信息.
4.2 实验结果分析
在虚拟装配原型系统的基础上,文中开发了一个千斤顶机械产品虚拟装配实例,以测试层次化交互手势方法应用于虚拟装配的可行性和稳定性.实验选择10位学生用户,在实验开始前对他们进行培训,以熟悉本系统的使用方法.实验执行的流程如下:用户以第1视角进入虚拟场景,通过漫游手势对场景中的虚拟零件及工具进行观察,并靠近待抓取对象,如图11(a)所示;调整手形以满足合适的抓取手势,直到成功拾取对象,如图11(b)、11(d)所示;移动零件至待装配的目标位置附近(若目标位置超出当前虚拟手的可及范围,则切换到视点漫游模式);使用装配手势,将零件定位到目标位置,如图11(c)、11(e)所示.对场景中的所有虚拟零件重复以上操作,直至完成产品的装配,如图11(f)所示.
图11 基于交互手势的虚拟装配实验Fig.11 VA experiment based on interaction hand gesture
实验完成后,用户被要求从虚拟现实的可用性层面和认知心理层面对实验结果进行评价,评价指标及结果如表1所示.
表1用户体验评价结果
Table 1Evaluation results of user experience
评价指标最低分最高分平均分交互过程中的整体沉浸感798.5系统运行的实时性698.5不同交互模式过渡的和谐感698.1手势对用户操作意图的预测能力8108.9系统交互方式的易学性7108.3
从表1可知,各项评价指标的平均分都高于8.这表明,文中提出的交互手势方法能够预测用户的操作意图,较好地集成不同的交互模式,使虚拟装配系统具有较好的可用性和用户体验.
5结论
针对目前虚拟装配系统存在的用户体验不足问题,文中将手势识别技术引入虚拟装配的人机交互过程中,并根据装配任务和交互模式的特点建立层次化的交互手势模型,提出了先对交互手势进行初步分类再利用情境感知技术判断手势类型的二级手势分类策略,然后利用运动感知技术对手势的交互语意进行识别,最后对不同类别的手势分别给出建模方法和识别算法.实验结果表明,文中的层次化交互手势建模与识别方法能有效增加虚拟装配环境中的人机交互效率和用户体验,是对实现自然、和谐的人机界面目标进行的有益尝试.
参考文献:
[1]WANG Q H,LI J R,WU B L.Live parametric design modifications in CAD-linked virtual environment [J].International Journal of Advanced Manufacturing Technology,2010,50(9/10/11/12):859-869.
[2]WANG Q H,LI J R,GONG H Q.A CAD-linked virtual assembly environment [J].International Journal of Production Research,2006,44(3):467- 486.
[3]张丹,左敦稳,焦光明,等.面向虚拟装配操作的交互辅助技术 [J].华南理工大学学报(自然科学版),2010,38(5):127-132.
ZHANG Dan,ZUO Dun-wen,JIAO Guang-ming,et al.Interactive aid technology for virtual assembly manipulation [J].Journal of South China University of Technology(Natural Science Edition),2010,38(5):127-132.
[4]XU Z J,ZHANG J,LI Y.Product modeling framework based on interaction feature pair [J].Computer-Aided Design,2013,45(12):1591-1603.
[5]YANG Q,WU D L,ZHU H M,et al.Assembly operation process planning by mapping a virtual assembly simulation to real operation [J].Computers in Industry,2013,64(7):869-879.
[6]STANNEY K.Realizing the full potential of virtual rea-lity:human factors issues that could stand in the way[C]∥Proceedings of 1995 Virtual Reality Annual International Symposium.Research Triangle Park:IEEE,1995:
28-34.
[7]侯文君.基于情境感知的智能虚拟装配系统若干关键技术研究[D].北京:北京邮电大学,2010.
[8]DU H W,XIONG W,WANG Z W.Modeling and interaction of virtual hand based on Virtools [C]∥Proceedings of 2011 International Conference on Multimedia Techno-logy.Hangzhou:IEEE,2011:416- 419.
[9]OZ C,LEU M.American sign language word recognition with a sensory glove using artificial neural networks [J].Engineering Applications of Artificial Intelligence,2011,24(7):1204-1213.
[10]PUTHUKKERIL V K,SHYAM SUNDAR E H,NANDHA KUMAR P R.Hand gesture mouse interface system [C]∥Proceedings of 2013 International Conference on Human Computer Interactions.Chennai:IEEE,2013:1- 6.
[11]LEE J Y,RHEE G W,SEO D W.Hand gesture-based tangible interactions for manipulating virtual objects in a mixed reality environment [J].International Journal of Advanced Manufacturing Technology,2010,51(9/10/11/
12):1069-1082.
[12]KAMATH V,BHAT S.Kinect sensor based real-time robot path planning using hand gesture and clap sound [C]∥Proceedings of 2014 International Conference on Circuits,Communication,Control and Computing.Bangalore:IEEE,2014:129-134.
[13]YANNICK D,GUILLAUME B,SAMIR O.3D interaction assistance through context-awareness [C]∥Proceedings of the 19th IEEE Virtual Reality Conference.Orange County:IEEE,2012:103-104.
[14]程能林.工业设计手册 [M].北京:化学工业出版社,2007:465- 469.
[15]CUTKOSKY M R.On grasp choice,grasp models,and the design of hands for manufacturing tasks [J].Robo-tics and Automation,1989,5(3):269-279.
A Hierarchical Method of Interaction Hand Gesture for Virtual Assembly
XIONGWeiWANGQing-huiLIJing-rong
(School of Mechanical and Automotive Engineering, South China University of Technology, Guangzhou 510640, Guangdong, China)
Abstract:In this paper, by introducing a gesture recognition technology into the human computer interaction in virtual assembly, a hierarchical interaction hand gesture model is proposed to improve the user experience in virtual assembly tasks. According to the characteristics of assembly tasks and interactive modes, a two-level gesture recognition strategy is designed. In the strategy, firstly, interaction hand gestures are preliminarily classified, and the types of the hand gestures are identified on the basis of context-awareness. Next, a gesture semantic is recognized by capturing the motion features of hand. Then, different interaction modes are integrated seamlessly by estimating the functional region of hand workspace, and thus, users’ difficulty in recognition is reduced. Experiment results show that the proposed model and recognition method can effectively improve both the human computer interaction efficiency and the user experience in a virtual assembly prototype system.
Key words:virtual assembly; human computer interaction; interaction hand gesture; scene navigation
doi:10.3969/j.issn.1000-565X.2016.01.012
中图分类号:TP391.9
作者简介:熊巍(1979-),男,博士生,讲师,主要从事人机交互技术研究.E-mail:weixiong@scut.edu.cn
*基金项目:国家自然科学基金资助项目(51275177);华南理工大学中央高校基本科研业务费专项资金资助项目(2014ZM0026)
收稿日期:2015-08-24
文章编号:1000-565X(2016)01- 0078- 07
Foundation item: Supported by the National Natural Science Foundation of China(51275177)