可层级展开的多饼型体感菜单及其语法制导识别方法
[0047] 当新的菜单激活时,若显示区域内已经显示了s个圆,当菜单选项激活后在显示 区域内出现新的饼型子菜单时,对于已存在的Ple{P。,Pl,p2,... Ps},其位置为
[0048]
[0049] 新出现的ps+1的位置为
[0050] 其中,
表示激活向量,
为激活新的饼 型子菜单的激活向量。
[0051] 对上述多饼型体感菜单,本发明还提供了一种语法制导识别方法,能根据人体动 作进行所述多饼型体感菜单的选择和激活,包括如下步骤:
[0052] 步骤一,使用体感设备采集人体骨骼数据;
[0053] 步骤二,处理所述人体骨骼数据,提取出特征向量,所述特征向量包括手和人体 敏感点的实时位置信息;
[0054] 步骤三,定义若干原子事件,每个原子事件代表手和敏感点的位置关系、运动速 度、运动行程、运动方向和内部计时器状态的特定变化;赋予每个原子事件一个英文字母, 建立字母表,并制定相应的从特征向量提取字母的规则;
[0055] 步骤四,根据所述字母表和提取规则,使用字母提取器对特征向量集合作字母提 取,产生字母流;
[0056] 步骤五,定义若干菜单操作的基本动作,赋予每个动作一个终结符;制定正则表达 式将基本动作描述为前述字母的特定组合;将所述字母流输入词法分析器,所述词法分析 器根据正则表达式过滤字母流,产生终结符流;
[0057] 步骤六,将所述终结符流输入语法分析器,所述语法分析器根据所述终结符流和 相应规则识别人体动作,并判断是否为可执行菜单命令;
[0058] 步骤七,若不是可执行菜单命令,则重复步骤四到六,直至识别出一个可执行菜单 命令,所述可执行菜单命令包括多饼型菜单的启动和菜单项选择及激活。
[0059] 人体敏感点包括额、肩部和腰肋部。上述敏感点符合如下要求:一、不易混淆,人体 在自然状态时不倾向于长时间将手(或控制杆)置于该点;二、基于图像(包括红外图像) 的体感设备可识别,该点一般不在身体中部,多在身体轮廓的边缘;三、手可以触及。
[0060] 特别的,为了消除身高的个体差异对识别准确率的影响,将设备坐标转化为人体 坐标后,定义长度调整系数s,点(X,y,Z)经调整后的坐标为(χ/δ,y/δ,ζ/δ),δ为人 体喉部到腹部的垂直距离与两肩的水平距离之和。
[0061] 具体的,在一个较佳实施例中,本发明所用的语法制导识别方法是一个6元组合,
[0062]Gram= (N,T,P,S,F,A)
[0063]N:非终结符集
[0064]T:终结符集
[0065] P:产生式集
[0066]S:开始符号
[0067] F:从特征向量到字母的转换函数
[0068]A:动作集合
[0069]如附图1所示,本实施例中的语法制导识别方法,将体感设备传来的手和敏感点 实时位置数据输入字母提取器,后者不断生成字符串c。c输入词法分析器,后者根据正则 表达式识别词汇token,并可能引发字母提取器内部状态的改变。token输入语法分析器, 后者通过产生式集P的归约识别菜单操作,并将之输出到后续的反馈(显示)模块,输出饼 型体感菜单选择的信号(启动、悬停、上、下、左、右等)。
[0070] 当菜单改变时,该方法支持方便、快速地构建新菜单。
[0071] 上述步骤中,字母提取器通过函数集合F对体感设备当前的各种信息包括位置、 速度、计时器状态、距离、运动方向等作出离散的描述,并将这种描述表达为单个的字母。 设字母集合Σ= {ai,a2,…aj,字符串c= …bm,其中b#Σ。输入向量集合V= {¥1,¥2,1^}。?是一组子函数的集合,即?={;^,;^,,";^";^},有1^=;^(>) ;其中1=1.·m〇
[0072] 具体的,本实施例中,字符串长度m= 5,字母集Σ及其解释见下表:
[0073] 表1字母表
[0074]
[0075] 字母序列Cpc2,…q,…输入词法分析器,后者识别出词汇token。tokeneT, 终结符集合Τ见表2。
[0076] 表2终结符表
[0077]
[0078] 其中,每一个token对应一正则表达式,主要的正则表达式如下:
[0079] l)EnterHeadBox- 0· 000h. 000
[0080] (EnterShoulderBox、EnterWaistBox类似)
[0081] 2)SelectHead-EnterHeadBox(h. 000) * (h.bOO) +(0·bOO)
[0082] (SelectShoulder、SelectWaist类似)
[0083]3)FreezeOccur一OfOOO
[0084] 4)FreezeFail-FreezeOccur(00100)
[0085] 5)FreezeSignalFreezeOccur(Of100) + (OfbOO)
[0086] 6)RunLength-(0· 110) + (0.laO)
[0087] 7)Up-RunLength(0·lau)
[0088] (Down、Right、Left类似)
[0089] 8)TimeOutError-(hIsIwI0)(fI0)e(aI11 0)(uIdIr111)
[0090]词法分析器从输入流寻找匹配特定模式的串并对字母提取模块的内部状态作出 相应改变。表2中最后一个终结符LeafSelected是一个特殊的token。系统内部维护了菜 单对象M,
[0091]M= {Tree,Function,Selected}
[0092]M包含了菜单的信息:Tree为菜单树结构,Function为菜单项所关联的电视控制 命令,Selected为Μ当前状态,即哪一菜单项被选中。当M.Selected为一个叶子节点时, 系统通知词法分析器产生LeafSelected终结符。Μ对象是比较容易构建的,当需替换菜单 时,只需生成新的Μ对象即可。
[0093] 词法分析产生的token被输入语法分析器,后者通过产生式的归约识别用户菜单 操作,并激活相应的动作。非终结符集
[0094]N= {Menultem,BodyMenuSelect,PieMenuSelect,Waves,Oneffave,PieMenuErr or},
[0095] 终结符见表2,产生式集P如下:
[0096] 1)S^-SMenultemIMenultem
[0097] 2)Menultem-BodyMenuSelectPieMenuSelect
[0098] 3)BodyMenuSelect-SelectHead|SelectShoulder|SelectWaist
[0099] 4)PieMenuSelect-FreezeSignalWavesLeafSelected
[0100] 5)WavesWavesOneffave|Oneffave
[0101] 6)Oneffave一Up|Down|Right|Left
[0102] 7)PieMenuErrorFreezeSignalTimeOutError|WavesTimeOutError
[0103]P描述了系统的语法规则。菜单项定义为一次身体部位菜单选择后进行一次饼型 菜单选择;身体部位菜单选择定义为选择头部,或选择肩部,或选择腰部;饼型菜单选择定 义为悬停(Freeze)信号后挥手,直至菜单树叶子项被选中;在悬停或挥动中出现超时则产 生错误。上述产生式归约成功时系统将执行相关的动作,如对产生式2),系统将清空状态变 量并执行菜单命令;产生式3),系统产生饼型菜单反馈,初始化菜单识别的内部状态;产生 式6),系统产生新的饼型菜单反馈,并变动内部状态;对产生式7)则清空内部控制变量并 回到初始状态。
[0104]如附图2所示,在一个具体的实施例中,(a)中用户触碰额部激活"点播"项,该项 随之展开成(b)中包含"新闻"等4项的饼型菜单,用户在此悬停片刻表示将开始挥手,之后 向右挥手激活"影视"项,该项随之展开成(c)所示的包含"电影"等的子菜单,两级饼型菜 单按照前述展开规则确定位置,显示出层级展开的效果,(d)中用户继续向下挥手选择"电 视剧"导致菜单继续展开,(e)中用户右挥选择了叶子项"美剧",一次菜单操作结束,系统遂 发出操作命令进入流行美剧缩略界面。
[0105] 下面进一步给出具体的实施例。
[0106] 本发明的多饼型体感菜单语法制导识别方法可采用如下设备及技术参数实施:
[0107] 体感设备:Kinect1. 0
[0108] 驱动程序:1. 8版本的KinectSDK
[0109] 操作系统:Windows7
[0110] 菜单深度:3
[0111] 激活启动时间阀值:3s
[0112] 饼型菜单第一次悬停时间阀值:1. 5s
文档序号 :
【 9646382 】
技术研发人员:金哲凡
技术所有人:浙江传媒学院
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
技术研发人员:金哲凡
技术所有人:浙江传媒学院
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除