金哲凡,褚少伟,潘瑞芳,张 帆,王 忠
(浙江传媒学院 新媒体学院,浙江 杭州 310018)
用于电视控制的混合式体感选单系统
金哲凡,褚少伟,潘瑞芳,张 帆,王 忠
(浙江传媒学院 新媒体学院,浙江 杭州 310018)
电视控制需要适合的体感选单。身体部位型选单和饼型选单各有优缺点。综合了两者的优势,用身体部位型选单保证稳定的启动,用饼型选单保证识别率,并对其改良以实现层级展开的效果。系统前处理进行数据整理,字母提取器对运动状态作出离散描述,以正则表达式描述原子动作,通过产生式规约实现动作识别。测试结果表明有较高的识别率和很好的用户满意度。
体感选单; Kinect;状态机;正则表达式;产生式
选单,作为WIMP(窗口、图标、选单、指针)界面模式的要素之一,是一种“深入人心”的界面元素。选单的价值在于将一组符合继承关系的概念伴随用户动作按树形结构逐层展开,这与人类认识、记忆事物的心理过程契合,因此既容易使用,也容易记忆。
选单的使用过程可分为3个步骤: 启动、定位和选中。
1)“启动”即向用户展现选单,这在使用体感选单的场合是必须的步骤。
2)“定位”即用户找到所需的选项,在普通系统中通过鼠标的“移动+停滞”实现,选单项的树形结构同时逐层展开。
3)“选中”即用户选择所需项,普通通过鼠标点击实现。
随着HCI技术的发展,脱离传统的鼠标、使用体感设备的体感选单逐渐出现,它们在交互设计上有3种思路:指点型、动作识别型和身体部位识别型。
指点型的想法是保留用户使用鼠标的感受,并将其延续到体感设备上。通常假定从用户身体某部分发出一射向屏幕的虚拟光线,产生一个光标,用户移动此光标进行选单的选择。Horie等实现了Xangle系统[1],在两个食指上各佩戴一加速感应器,每个食指控制一条直线,直线相交即达成选择;Park[2]等通过一个安置了螺旋仪的帽子感应用户的视线,用户可以通过凝视一个选单项来聚焦,然后以语音确认;Yoo[3]等对各种指点型选单进行了比较,认为单手和语音结合的方案综合效果最佳。
动作识别型的想法不再拘泥于鼠标的使用感受,它通过Kinect、加速度感应器、螺旋仪等体感设备识别用户动作并解释成选单选择。Crossan[4]等将一个嵌入了加速度感应器的无线设备佩戴于用户手腕,其转动角度被映射到屏幕位置,用户通过倾斜手腕达成选单选择;之后他们又将同样设备装在帽子上感应[5]头部倾斜,Dachselt[6]将同一技术用在了大尺寸远程显示上;Yamamoto[7]扩展了Crossan等的工作,在用户的双手双足上佩戴4个感应器,用户可通过丰富的肢体运动来选择选单;Ni[8]等用加速感应器和弯曲感应器制作了一种手套,用户通过倾斜和抓取动作进行选单选择;Bailly[9-10]等则提出了“手指数数”选单,通过识别用户双手1~5的数字姿势进行选单选择。
饼型选单(也称Pie选单)是动作识别型选单的一种。饼型界面最早由Callahan[11]提出,它将选项如切饼一般排布在一个圆上,苹果的iPod使用了这种界面。Kurtenbah[12]提出将多个饼型界面联用,形成了选单的概念。它最早的应用是在手持式Pad上,用户通过手写笔的划动达成选择, Zhao[13]等对Pie选单的连击与单击在准确率、空间要求等方面进行了比较,认为在Pad上单击方式更优。 Lenman[14]以静态图像识别的手段实现了单击的Pie选单,并总结它的优势是平均移动距离最短。
身体部位识别型的想法比较特殊,它将选单项虚拟地放置于人体各部位,通过手或操纵杆触碰这些部位达成选单项选择。其理论基础源自Easton和Sholl[15]等的一项研究,他们对人操纵靠近自己身体的物体时的心理进行了分析,结果表明空间记忆和自体感觉对高效的体感交互极有价值,继而又将交互分为体前的和近体两类,近体交互发展到极致,就形成了将行为与特定人体部位联系起来的思路。
电视的功能日渐智能化,由于其特殊的历史地位,未来将成为家庭主要的智能终端,准确好用的体感选单系统是必需的。目前在一些智能电视上出现了类似体感选单的界面,它们一般通过遥控器或语音识别启动,选单项在屏幕上有规律地铺展,通过全屏范围移动手掌实现定位,通过握拳或轻击实现选中。由于定位和选中的精度不高、使用不便,所以应用性差。一种变通的方法是以选单项的自动运动代替人手运动,人仅通过握拳、轻击或声音实现选中即可。这是HCI常用的巧妙设计,代价是牺牲了选单的重要价值,即逐层展开的用户感受。
饼型选单有控制杆(或手)平均运动距离短的特点,可降低定位和选中动作的识别难度,如能使多级饼型选单呈现逐层逻辑展开的效果,将非常适合电视应用。身体部位选单具有易识别、不易混淆的特点,但由于选单项都附着于身体,其本身不可能呈现出选单展开的效果,用户需记忆选单的层次关系,限制了应用。本文的思路是两种体感选单结合起来:以身体部位选单作为第一层选单项,利用其特点实现稳定的启动;之下层次选单以多击饼型选单实现,后者有较高的识别率,且通过改良使之呈现传统选单逐层展开的效果。实践中,笔者选择额、(与控制手同侧)肩和腰部3处作为身体部位选单的敏感点,这基于如下考虑:
1)用Kinect进行骨架关节点邻接判断时,躯干边缘部分的准确度较高,躯干中间部分准确度降低。
2)目前用户观看电视的习惯是持遥控器单手操作,此方案与用户现有习惯接近。
另取饼型选单为常见的上下左右4个方向,深度为3级,则可用选单项数目为3×43=192,对电视应用来说应是足够了。
手势现象是参数空间的轨迹,可定义为在特定时间区间内模型参数空间中的一个随机过程。运动手势识别方法有有限状态机方法、模板匹配方法、隐形马尔科夫链方法和神经网络方法等。本文使用了一种语法制导的识别方法,其本质是有限状态机,由于使用正则表达式和产生式表示规则,可扩展性更好。测试结果表明本文的综合性体感选单设计合理,容易记忆和使用,并有较高的识别率。
图1为本文体感选单系统框架,Kinect获取的人体骨架数据经前处理模块处理后保存到一环形缓存,语法制导手势识别模块从缓存采样,识别出手势信息并将其输入反馈模块,后者计算饼型选单项逐层展开的位置并产生视觉输出。
图1 系统框架
Kinect可获得人体20个关节点的信息,精度可满足本文系统的需要,但在少数情况下环境光等的扰动可使其输出产生噪声,前处理模块首先用Kinect SDK自带的骨骼流平滑方法进行低通滤波器,以清除数据中的毛刺。
前处理的第2项功能是进行人体坐标变换。如图2a是应用场景的俯视图,XOZ为设备坐标系,人体头部位于o′(x0,z0)位置,左肩位于(xl,zl),右肩位于(xr, zr),面朝o′z′方向。人体正面对设备平面有α角扭曲,不便于后续识别计算,因此需将骨架数据从设备坐标转换到X′O′Z′人体坐标。从图2a可见这一转换可分3步:1)z坐标倒转;2)转动-α角;3)从O移动到O′。如此A(x, y, z)在X′O′Z′系中坐标(x′, y′, z′)为
(1)
其中,α=arctan[ (zl-zr)/(xl-xr)]。
进而,为了消除身高等个体差异对识别算法的影响,引入长度调整系数δ
(2)
图2 人体坐标变换
前处理模块的第3项工作是从输入中提取后续识别所需的特征向量,特征向量vi定义为:vi=(i,phead,pshoulder,pwaist,phand,uhand,t)。其中,i为流水号,phead,pshoulder,pwaist,phand分别为额头、(控制手一侧的)肩膀、腰部和手部的位置,uhand为控制手从i-1帧到i帧的运动向量,t为系统时间戳。
vi被保存在如图1右上部所示的环形缓存中。该缓存顺时针方向为数据加入方向,在行程、运动方向等计算中需要逆时针向后查看。实践中取缓存容量为600,即大约20s的数据,更早的数据将被覆盖。
本文所用的语法制导识别方法是一个6元组合
Gram=(N, T, P, S, F, A)
(3)式中:N为非终结符集;T为终结符集;P为产生式集;S为开始符号;F为从特征向量到字母的转换函数;A为动作集合。
非终结符集N={MenuItem, BodyMenuSelect, PieMenuSelect, Waves, OneWave, PieMenuError},终结符见表1,产生式集P如下:
2)MenuItem→BodyMenuSelect PieMenuSelect
4)PieMenuSelect→FreezeSignal Waves LeafSelected
表1 终结符表
分类名称含义用于身体部位识别选单EnterHeadBox手初次进入额部敏感区域SelectHead额部选中EnterShoulderBox手初次进入肩部敏感区域SelectShoulder肩部选中EnterWaistBox手初次进入腰部敏感区域SelectWaist腰部选中用于饼型选单FreezeOccur手出现低速FreezeFail悬停(低速保持到时间阈值)失败FreezeSignal饼型选单启动的悬停信号RunLength行程到达Up上挥Down下挥Right右挥Left左挥通用TimeOutError错误,计时器超时而一个动作没有完成LeafSelected选单树的叶子节点项被选中
P描述了系统的语法规则。选单项定义为一次身体部位选单选择后进行一次饼型选单选择;身体部位选单选择定义为选择头部,或选择肩部,或选择腰部;饼型选单选择定义为悬停(Freeze)信号后挥手,直至选单树叶子项被选中;在悬停或挥动中出现超时则产生错误。上述产生式归约成功时系统将执行相关的动作,如对产生式2),系统将清空状态变量并执行选单命令;产生式3),系统产生饼型选单反馈,初始化选单识别的内部状态;产生式6),系统产生新的饼型选单反馈,并变动内部状态;对产生式7),则清空内部控制变量并回到初始状态。
P中的终结符以系统定义的字母为基础,后者由字母提取器产生,原理如图3,字母提取模块以向量缓存为输入,不断生成字符串c。c输入词法分析器,后者根据正则表达式识别词汇token,并可能引发动作改变字母提取模块的状态。token输入语法分析器,后者通过产生式集P的归约识别选单操作,并将之输出到后续的反馈模块。
图3 语法制导识别框架
字母提取模块通过函数集合F对系统当前的各种信息包括位置、速度、计时器状态、距离、运动方向等作出离散的描述。设字母集合Σ={a1,a2,…,an},字符串c=b1b2…bm,其中bi∈Σ。
特征向量集合V={v1,v2,…,vi,…,vk}。F是一组子函数的集合,即F={f1,f2,…fi…fm},有
bi=fi(V)
(4)
式中:i=1,2,…,m。本文方法的字符串长度m=5,字母集Σ及其解释见表2。
表2 字母表
序号含义字母含义(F)1手位置h手接触额头s手接触肩部w手接触腰部0非以上任何一种2手速度f速度低于阈值0其他3计时器b身体部位选单计时满p饼型选单启动信号计时器满e错误,动作时间超过合理时长1计时器工作中0计时器未激活4行程a手的行程到达阈值1行程记录工作中0行程记录未激活5运动方向u手运动方向向上d手运动方向向下r手运动方向向右l手运动方向向左
字母序列c1,c2,… ,ci输入词法分析器,后者识别出词汇token。token∈T,且token=(expression,action),其中expression为正则表达式,action∈A即动作。终结符集合T见表1。
每一个token对应一正则表达式,主要的正则表达式及相关动作如下:
1)EnterHeadBox→0.000h.000
动作:pos=c, 身体选单计时器启动。
(EnterShoulderBox,EnterWaistBox类似)
2)SelectHead → EnterHeadBox (h.000)*(h.b00)+(0.b00)
动作:pos=-1(3,4,5三种类型字母不起作用),身体选单计时器停止。
(SelectShoulder,SelectWaist类似)
3)FreezeOccur → 0f000
动作:pos=c,启动饼型选单计时器。
4)FreezeFail → FreezeOccur (00100)
动作: pos=-1,停止饼型选单计时器。
5)FreezeSignal → FreezeOccur (0f100)+(0fb00)
动作:pos=c,启动行程计算,停止饼型选单计时器。
6)RunLength → (0.110)+ (0.1a0)
动作:重启错误计时器,启动方向计算。
7)Up → RunLength (0.1au)
动作:pos=c,关闭方向计算。
(Down,Right,Left类似)
8)TimeOutError→(h|s|w|0)(f|0)e(a|1|0)(u|d|r|l|)
动作:清理所有控制变量。
词法分析器从输入流寻找匹配特定模式的串并对字母提取模块的内部状态作出相应改变。表1中最后一个终结符LeafSelected是一个特殊的token。系统内部维护了选单对象M
M={Tree, Function, Selected}
(4)
式中:M包含了选单的信息:Tree为选单树结构,Function为选单项所关联的电视控制命令,Selected为M当前状态,即哪一选单项被选中。当M.Selected为一个叶子节点时,系统通知词法分析器产生LeafSelected终结符。M对象是比较容易构建的,当需修改选单设计,或者将本文方法应用到一个新的选单树上去时,只需生成新的M对象即可。
词法分析产生的token被输入语法分析器,后者通过产生式的归约识别用户选单操作,并激活相应的动作。本文语法制导的识别方法本质上是一种状态机的方法,测试结果显示识别率在95%以上。由于使用正则表达式和左递归文法进行描述,且字母提取基于基本计算,因此扩展方便,易于进一步开发。
选单作为呈现给用户的重要价值是清晰、动态的逐级展开效果。本文饼型选单若经过t次展开,系统界面由一系列半径为r的圆的集合P=(p0,p1,p2,…,pt)构成,其中,pi=(xi,yi),(xi,yi)是pi在屏幕上的圆心坐标。
设系统识别出用户手势为向量G,G∈{(0,1),(0,-1),(-1,0),(1,0)}。若当前已经显示了s个圆,用户的新手势为Gs+1,则对于pi∈{p0,p1,p2,…,ps}
(5)
如图4所示,多级饼型选单向用户手势相反的方向运动,新子选单出现在手势中心位置,从而流畅地呈现出逐级展开的动态效果。
图4 系统截图
本文体感选单系统使用了Kinect 1.0设备和1.8版本的Kinect SDK,程序以C#语言在Windows 7系统上实现。系统选单最深4级,共41个叶子选项,包括了数字电视的常见功能。身体部位选单激活的时间阈值为3 s,饼型选单启动的悬停时间阈值为1.5 s,超时错误阈值为10 s。图4为系统使用中的一组截图,图4a中用户触碰额部激活“点播”项,该项随之展开成图4b中包含“新闻”等4项的饼型选单,用户在此悬停片刻表示将开始挥手,之后向右挥手激活“影视”项,该项随之展开成图4c所示的包含“电影”等的子选单,两级饼型选单按照上节规则确定位置,显示出层级展开的效果,图4d中用户继续向下挥手选择“电视剧”导致选单继续展开,图4e中用户右挥选择了叶子项“美剧”,一次选单操作结束,系统遂发出操作命令进入流行美剧缩略界面。
笔者选取了10位实验对象,按照年龄段分为2组进行测试。每位测试者在管理员的引导下先进行3~5 min的熟悉,之后按照管理员给出的信号进行200余次的选单选择,每个人选择的选单项内容和顺序都相同。其间实验对象可要求休息,休息时间被扣除。实验数据见表3,所有测试者完成一次选单选择的平均时间为7.7 s,平均识别率为95.5%,两者的分布见图5。
表3 测试结果
分组序号年龄总时间/s平均时间/s失败次数识别率/%112016646479652201427711493032217737699554221319664980522138878109502643177479597574316038011945845150975697095418528813935105619189012940
图5 测试结果
之后,每位实验者被要求完成一简单的问卷,对系统的如下5方面进行评价:
1)有效性。是否有用,是否能达到目的?
2)准确性。是否能精确操作?
3)易学习。是否容易学会?
4)舒适度。是否不易疲劳?
5)趣味性。感受是否愉悦?
实验者对每个问题按5分制打分,1分为非常不满,2分为不满,3分为一般,4分为满意,5分为非常满意。实验者评价的均值见图6,可见用户对趣味性和易学习的评价颇高,对有效性、准确性和舒适度的评价也可满意。
图6 问卷结果
综合起来,本文方法可以满足电视控制的需要,有比较高的识别率,也有较好的用户满意度。
选单界面的使用需要启动、定位、选中三步骤,其重要价值是逐层展开的逻辑过程。身体部位选单想法独特且不易混淆,但不能实现逐层展开。饼形选单在理论上有最短的平均移动距离,但需以某种方式启动,并解决多级选单项的合理显示问题。本文针对电视应用开发了一种综合的体感选单系统,选取身体边缘的少量部位作为身体部位型选单的敏感点,用身体部位选单作为顶层选单项,用饼形选单作为后续层次选单,并为后者构建了逐层展开的界面效果。系统用Kinect为体感设备,用基于语法制导的识别算法实现。系统先将数据进行前处理,去除毛刺,并在方向和长度上纠正坐标值。语法制导的识别算法先从输入数据中提取字母,通过词法分析产生词汇,然后以语法分析识别有意义的动作。测试表明有较高的识别率和很好的用户满意度。
智能电视功能丰富,除了选单外还需要更丰富的控制界面。电视用户处于放松状态,动作特点不鲜明,在识别算法上也需提高精确度。在这些问题上,笔者将进一步展开研究。
[1] HORIE T, TERADA T, KATAYAMA T,et al. A pointing method using accelerometers for graphical user interfaces[C]// Proc. 3rd Augmented Human International Conference. Megève,France:ACM Press,2012:463-472.
[2] PARK G, AHN J,KIM G J. Gaze-directed hands-free interface for mobile interaction[J]. Lecture Notes in Computer Science,2011(6762):304-313.
[3] YOO B, HAN J J, CHOI C,et al. 3D remote interface for smart displays[C]//Proc. the International Conference on Human Factors in Computing Systems,CHI 2011. Canada: ACM Press,2011:551-560.
[4] CROSSAN A, WILLIAMSON J, BREWSTER S,et al. Wrist rotation for interaction in mobile contexts[C]// Proc.Mobile HCI 2008. Amsterdam,Netherland: ACM Press,2008:435-438.
[5] CROSSAN A, MCGILL M,BREWSTER S,et al. Head tilting for interaction in mobile contexts[C]// Proc. Mobile HCI 2009. Bonn,Germany:ACM Press,2009:1-10.
[6] DACHSELT R, BUCHHOLZ R. Natural throw and tilt interaction between mobile phones and distant displays[C]// Proc. the 27th International Conference on Human Factors in Computing Systems, CHI 2009. Boston,MA,USA:ACM Press,2009:3253-3258.
[7] YAMAMOTO T, TERADA T,TSUKAMOTO M. Designing,gestures for hands and feet in daily life[C]// Proc. the Nineth International Conference on Advances in Mobile Computing and Multimedia. Ho Chi Minh City,Vietnam:ACM Press,2011:285-288.
[8] NI T, BOWMAN D A, NORTH C,et al. Design and evaluation of freehand menu selection interfaces using tilt and pinch gestures[J]. Human-Computer Study,2011(69):551-562.
[9] BAILLY G, WALTER R, MüLLER J,et al. Comparing free hand menutechniques for distant displays using linear, marking and finger- count menus[C]// Proc. INTERACT 2011. Berlin, Germany: Lecture Notes in Computer Science,2011,6947:248-262.
[10] BAILLY G, MüLLER J, ROHS M, et al. ShoeSense: a new perspective on gestural interaction and wearable applications[C]//Proc. CHI’12. Austin, USA: ACM Press,2012:1239-1248.
[11] CALLAHAN J, HOPKINS D,WEISER M,et al. An empirical comparison of pie vs. linear menus[C]//Proc. CHI 1988. Washington,USA: ACM Press,1988:95-100.
[12] KURTENBACH G, BUXTON W. The limits of expert performance using hierarchic marking menus[C]// Proc. INTERACT 1993 and CHI 1993. Amsterdam,Netherland: ACM Press,1993:482-487.
[13] ZHAO S, BALAKRISHNAN R. Simple vs. Compound mark hierarchical marking menus[C]// Proc. the 17th annual ACM Symposium on User Interface Software and Technology 2004. Santa Fe, USA: ACM Press,2004:33-42.
[14] LENMAN S, BRETZNER L,THURESSON B. Using marking menus to develop command sets for computervision based hand gesture interfaces[C]//Proc. the Second Nordic Conference on Human-Computer Interaction 2002. Aarhus, Denmark: ACM Press,2002: 239-242.
[15] EASTON R D, SHOLL M J. Object-array structure, frames of reference, and retrieval of spatial knowledge[J]. Express Psychological Learning, Memory and Cognition, 1995(21):483-500.
责任编辑:闫雯雯
Hybrid Motion Sensing Menu System for TV Control
JIN Zhefan, CHU Shaowei, PAN Ruifang, ZHANG Fan, WANG Zhong
(Zhejiang University of Media and Communications, Hangzhou 310018, China)
A suitable motion sensing menu system is demanded for TV control. Both body menu and pie menu have their disadvantages. The advantages of the two is synthesized. Body menu is used to insure a stable start-up, while pie menu, improved for presenting layers of expansion, is used for its high recognition ratio. The pre-processing part readies the data for further processing. Letter retrieving part describes motion states in a discrete manner. Regular expression is used to capture atomic actions. Gestures are finally recognized by production reduction. Test results show the system has good recognition ratio and a high level of user satisfaction.
motion sensing menu; Kinect; state-machine; regular expression; production
国家新闻出版广电总局科研项目(Z412F14208)
TP391
A
10.16280/j.videoe.2015.20.025
2015-04-07
【本文献信息】金哲凡,褚少伟,潘瑞芳,等.用于电视控制的混合式体感选单系统[J].电视技术,2015,39(20).