首页 / 手势控制装置及手势识别方法

手势控制装置及手势识别方法有效专利 发明

技术领域

[0001] 本发明涉及通信与信息领域,尤其涉及一种手势控制装置及手势识别方法。

相关背景技术

[0002] 随着电子技术的发展,越来越多的数字设备例如手机、电脑和智能家电等成为日常生活中不可或缺的部分。在未来,这一趋势仍将持续,现有产品将功能继续加强并逐步智能化,新的产品如机器人,智能汽车也将逐步走进大众的生活。目前,对这些产品的操控主要通过遥控器、键盘、鼠标及触控板等输入设备完成。这种方式较为繁琐,用户学习成本高。
[0003] 手势控制作为一种新兴的操作方式,具有灵活、自然、直观等特点,因而有广阔的应用前景。现有的手势控制装置大多采用摄像头方案,如通过普通单目、双目视觉,或通过深度摄像机如微软体感器(Kinect)采集人体运动信息,识别出其代表的指令,再对设备进行控制。这种基于外部视觉的方案,受到使用空间和环境光线的限制,给手势控制带来诸多不便。此外,在现有手势识别方法上,绝大多数使用手掌的运动轨迹表示或建模手势,其中轨迹又以简单的直线或者平面图形如圆、三角形等为主;进而使用隐马尔可夫模型、支持向量机、人工神经网络等方法进行识别。这种方式存在很大的问题:简单的直线运动易于掌握,但种类少,区分度不高,难以表达复杂的含义;复杂的图形与人们日常使用的手势有较大的差别,不自然,用户学习成本高;现有建模及识别方法需要大量的训练数据,无法方便地添加新手势或修改已定义的手势。

具体实施方式

[0016] 下面参照附图来详细说明根据本发明的手势控制装置及手势识别方法。
[0017] 首先说明本发明第一方面的手势控制装置。
[0018] 参照图1,根据本发明的手势控制装置包括:计算终端1,用于进行离线的自然手势建模(得到的手势模型自动存入计算终端1的手势库中)和在线的手势识别;多个传感器2,分别设置在被测对象3的小臂31、大臂32以及躯干33处以相应地采集小臂31、大臂32以及躯干33的姿态坐标,且各传感器2通信连接于计算终端1。其中,在在线的手势识别过程中,计算终端1基于各传感器2采集到的数据进行计算处理,经过计算处理得到的被测对象3的实际状态与计算终端1在离线的自然手势建模过程中得到的手势模型自动比对以完成被测对象3的手势识别。
[0019] 在根据本发明的手势控制装置中,计算终端1能够处理重复动作,简化了离线的自然手势建模过程和在线的手势识别过程,提高了手势识别率,并使得接近人习惯的自然手势控制成为可能。此外,本发明的手势控制装置不受使用空间和环境光线的限制,且用户可以任意的定义和修改手势库中现有的手势模型。
[0020] 在本发明的手势控制装置中,传感器2可套设于被测对象3的不同部位或传感器2集成于被测对象3。
[0021] 在本发明的手势控制装置中,计算终端1可为手机、电脑、单片机或智能手表等。
[0022] 其次说明本发明第二方面的手势识别方法。
[0023] 参照图1和图2,根据本发明的手势识别方法,其由本发明第一方面所述的手势控制装置来实现,包括步骤:S1,在离线状态下,计算终端1通过指定被测对象3的大臂32、小臂31以及躯干33的姿态、各关节的关节角度大小及运动状态建立手势模型并存入计算终端1的手势库中;S2,在在线状态下,计算终端1分别接收各传感器2在每个采样周期内采集到的被测对象3的小臂31的姿态坐标qf、大臂32的姿态坐标qu以及躯干33的姿态坐标qb;S3,计算终端1对步骤S2中得到的姿态坐标分别进行处理计算,得到小臂31相对躯干33的相对姿态坐标af、大臂32相对躯干33的相对姿态坐标au以及各关节的关节角度大小和运动状态;S4,计算出各关节在每个采样周期内处于各运动状态的概率;S5,计算出手势库中的每个手势模型与被测对象3在当前采样周期中的实际状态之间的相似程度;以及S6,比较手势库中所有手势模型的总相似度,求出拥有最大总相似度的手势模型,若该手势的总相似度大于设定的阈值,则将该手势作为识别结果返回。
[0024] 在本发明的手势识别方法中,在离线状态下,无需进行大规模的样本采集与参数学习过程即可完成离线的自然手势建模。而在在线状态下,手势控制装置能够充分利用被测对象3的以躯干33为基准的小臂31、大臂32的姿态信息(即方向信息)、各关节的关节角度大小及运动状态来完成在线的手势识别,手势识别率高,并使得接近人习惯的自然手势控制成为可能。
[0025] 在这里补充说明的是,在上述步骤S6中提到的“阈值”,可以根据被测对象3的运动特性以及手势库中的手势模型的复杂程度来进行适当的设置。
[0026] 根据本发明的手势识别方法,在步骤S1中,qf、qu、qb可由四元数表征。但不仅限如此,qf、qu、qb也可用欧拉角或矩阵形式表示。
[0027] 根据本发明的手势识别方法,参照图2,步骤S3可包括步骤:S31,分别建立小臂坐标系Of-XfYfZf、大臂坐标系Ou-XuYuZu以及躯干坐标系Oref-XrefYrefZref;S32,解算出小臂31相对躯干33的相对姿态坐标af、大臂32相对躯干33的相对姿态坐标au;以及S33,解算出各关节的关节角度大小和运动状态。其中,af为小臂坐标系中任一个坐标轴在躯干坐标系下的坐标向量,au为大臂坐标系中任一个坐标轴在躯干坐标系下的坐标向量。
[0028] 在这里补充说明的是,小臂坐标系的Zf轴沿着小臂31指向肘关节,而Yf轴和Xf轴的方向可以采用如下方法确定:即向前平伸小臂31,使手掌朝上,Yf轴指向与手掌朝向相同,Xf轴指向身体右侧。同理,大臂坐标系的建立方法与小臂坐标系一致,即大臂坐标系的Zu轴沿着大臂32指向肩关节,而Yu轴指向与手掌朝向相同,Xu轴指向身体右侧。而躯干坐标系的Xref轴指向躯干33右侧,Yref轴指向前方,Zref轴指向上方。
[0029] 在根据本发明的手势识别方法中,关节包括连接小臂31与大臂32的肘关节和连接大臂32与躯干33的肩关节。肘关节的关节角度包括小臂扭转角τ和肘关节角ε,肩关节的关节角度包括大臂方位角 大臂仰角θ和大臂扭转角ω,如图2所示。
[0030] 在步骤S32中,求解小臂31相对躯干33的相对姿态坐标af的计算公式为:
[0031]
[0032] 求解大臂32相对躯干33的相对姿态坐标au的计算公式为:
[0033]
[0034] 其中,aref为躯干33坐标系中任一个坐标轴在自身坐标系下的坐标向量。
[0035] 在步骤S33中,肘关节的关节角度计算式为:
[0036] ε=arccos(zu·zf)
[0037] τ=arccos(xu·x′f)
[0038]
[0039] qrot=(cos(-ε/2),sin(-ε/2)xu)
[0040]
[0041] 肩关节的关节角度计算式为:
[0042] θ=arccos(zu,zref)
[0043]
[0044] ω=arccos(xref,y′u)
[0045]
[0046]
[0047] qrot2=(cos(-θ/2),sin(-θ/2)xref)
[0048] qyu=(0,yu)
[0049] xf、zf为小臂坐标系中的Xf轴、Zf轴在躯干坐标系下的坐标向量,xu、yu、zu为大臂坐标系中的Xu轴、Yu轴、Zu轴在躯干坐标系下的坐标向量,zu-xy为zu在躯干坐标系的Xref-Yref平面中的投影,xref、zref为躯干坐标系中的Xref轴、Zref轴在自身坐标系下的坐标向量。
[0050] 根据本发明的手势识别方法,在步骤S3中,各关节的运动状态可为相对静止、正向运动、反向运动或往复运动。
[0051] 根据本发明的手势识别方法,步骤S4可包括步骤:S41,将各关节的当前采样周期的关节角度与上一采样周期的关节角度作差,得到本周期的运动幅值;S42,根据得到的运动幅值的大小判断各关节在当前采样周期的运动状态(这里具体指相对静止、正向运动或反向运动);以及S43,根据步骤S42中的运动状态判断结果分别计算出当前采样周期的各关节处于相对静止、正向运动、反向运动以及往复运动的概率。
[0052] 在这里补充说明的是,在步骤S42中,对于任意一个关节,当运动幅值大于某一阈值(如0.01rad)时,当前采样周期的该关节的运动状态为正向运动;当运动幅值小于另一阈值(如-0.01rad)时,当前采样周期的该关节的运动状态为反向运动;而当运动幅值介于这两个阈值之间时,当前采样周期的该关节的运动状态为相对静止。其中本段所述的这两个“阈值”可以根据被测对象3的运动特性以及手势库中的手势模型的复杂程度来进行适当的设置。
[0053] 在步骤S43中,对于任意一个关节,若判定该关节在当前采样周期的运动状态为相对静止,则:该关节处于静止的概率为p(t)=p(t-1)+δ,处于正向运动的概率为p(t)=p(t-1)-δ,处于反向运动的概率为p(t)=p(t-1)-δ。
[0054] 若判定该关节在当前采样周期的运动状态为正向运动,则:该关节处于静止的概率为p(t)=p(t-1)-δ,处于正向运动的概率为 处于反向运动的概率为p(t)=p(t-1)-2δ。
[0055] 若判定该关节在当前采样周期的运动状态为反向运动,则:该关节处于静止的概率为p(t)=p(t-1)-δ,处于正向运动的概率为p(t)=p(t-1)-2δ,处于反向运动的概率为[0056] 其中,p(t)为当前采样周期的各关节处于该运动状态的概率,p(t-1)为上一采样周期的各关节处于该运动状态的概率,δ为相邻两个采样周期之间的概率更新量,A为累计运动幅值(即从当前采样周期往前搜索,累加运动幅值,直到某采样周期的运动状态与当前采样周期运动状态不同),Amax为该关节的最大可能运动幅值。
[0057] 进一步地,在步骤S43中,当判定某关节在当前采样周期的运动状态为正向运动或反向运动,且该关节的当前采样周期的该运动状态为该关节往复运动的一部分时,则当前采样周期的该关节处于该运动状态的概率为:
[0058]
[0059] 其中,C为正向运动与反向运动之间的转换次数(即从当前采样周期往前搜索,直到某采样周期的运动状态为相对静止),A为所有幅值的绝对值之和,Amax为该关节的最大可能运动幅值。
[0060] 根据本发明的手势识别方法,手势库中的每个手势模型由三类判据确定。具体地,第一类判据为小臂31或大臂32相对躯干33的朝向(即小臂31相对躯干33的相对姿态坐标或大臂32相对躯干33的相对姿态坐标);第二类判据为各关节的关节角度大小;第三类判据为各关节的运动状态。其中,对于第一类判据、第二类判据和第三类判据中的任一一类判据来说,都可以有一条或多条判据。
[0061] 当基于小臂31或大臂32相对躯干33的朝向计算相似度时,相似度的计算公式为:
[0062] S=a·vref
[0063] 其中,S为相似程度,a表示小臂31或大臂32的某坐标轴的实际的单位向量,vref为手势模型中判据指定单位向量;
[0064] 当基于各关节的关节角度大小计算相似度时,相似度的计算公式为:
[0065] S=cos(α-εref)
[0066] 其中,α为对应关节的实际角度,εref是手势模型中判据指定的参考角度;
[0067] 当基于各关节的运动状态计算相似度时,相似度等于对应关节处于手势模型指定的运动状态的概率。
[0068] 根据本发明的手势识别方法,在步骤S6中,每个手势模型的总相似度的计算公式为:
[0069]
[0070] 其中n为该模型的判据总数,Si为每个判据的相似程度,Soverall为总相似度。
[0071] 根据本发明的手势识别方法,在一实施例中,手势模型的第一条判据为af=(1,0,0),第二条判据为肘关节角ε做往复运动,第三条判据为大臂仰角θ=π/2。其中,第一条判据中的af为小臂坐标系中的y轴在躯干坐标系下的坐标向量,属于大臂32和小臂31相对躯干
33的姿态;第二条判据属于关节的运动状态;而第三条判据属于关节的关节角度大小。所述三类判据描述了一个向右挥手的动作,其对应的指令可设置为“右转”或“右移”。

当前第1页 第1页 第2页 第3页
相关技术
手势识别相关技术
控制装置相关技术
付成龙发明人的其他相关专利技术