CN103197767B - 利用手势虚拟键盘输入的方法及装置 - Google Patents
利用手势虚拟键盘输入的方法及装置 Download PDFInfo
- Publication number
- CN103197767B CN103197767B CN201310122202.9A CN201310122202A CN103197767B CN 103197767 B CN103197767 B CN 103197767B CN 201310122202 A CN201310122202 A CN 201310122202A CN 103197767 B CN103197767 B CN 103197767B
- Authority
- CN
- China
- Prior art keywords
- user
- attitude information
- gesture attitude
- static
- real
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明公开一种利用手势虚拟键盘输入的方法及装置,包括:捕获用户按下不同按键时的静态手势姿态信息;存储所述用户按下不同按键时的静态手势姿态信息及对应的按键信息;在所述用户输入时,捕获所述用户的实时手势姿态信息;将所述实时手势姿态信息与所述用户按下不同按键时的静态手势姿态信息进行匹配,获得与所述实时手势姿态信息相匹配的静态手势姿态信息;将所述相匹配的静态手势姿态信息对应的按键信息确定为所述用户输入的按键信息。本发明仅对手势姿态信息进行匹配可以减少数据量,提高实时响应速度;为不同的用户事先记录各自习惯的静态手势姿态信息,可以适应不同的用户习惯;且因为每个用户的静态手势姿态信息是固定的,准确度也较高。
Description
技术领域
本发明涉及虚拟键盘输入技术领域,尤其涉及利用手势虚拟键盘输入的方法及装置。
背景技术
随着技术的发展,利用手势来虚拟键盘输入的技术也在不断进步。手势输入首先需要手势信息的采集,目前已知的能用来采集手势信息的技术设备有:用于采集手指角度位移信息的佩戴于手部的传感器或数据手套,用于采集物体图像信息的摄像头,可采集物体空间位置信息的激光红外等。使用上述的技术设备如何采集手势信息以及如何去分析是手势输入技术的关键。现有的技术方案要么简单的去检测哪个手指是用户意图进行点击动作的手指并通过词库辅助猜词,要么去采集手部动作时人手姿态的整个变化过程,并对每个不同动作的变化过程进行分析分类。
在检测哪个手指是用户意图进行点击动作的手指并通过词库辅助猜词的现有技术方案中,因为用户操作时各个手指势必一起动作,所以需要先捕捉到各个手指的动作幅度,然后配以事先设定的阈值,经过一定算法来过滤分析哪个手指是用户真正意图去点击按键的手指。对于检测到的结果会存入到系统的一块存储区域,直到检测到一个结束动作为止。这个结束动作一般是大拇指的动作,因为通常在键盘输入中大拇指对应的按键仅可能是空格键,也就意味着一个单词的输入结束。当结束动作被检测到后,对之前存储区域中的一连串结果进行分析,并用词库来进行辅助猜词。比如说,存储区域中的结果是三个手指动作,分别是左手中指,左手小拇指,左手食指,那么可能的结果有如下排列:
EQR;EQT;EQF;EQG;EQV;EQB;
EAR;EAT;EAF;EAG;EAV;EAB;
EZR;EZT;EZF;EZG;EZV;EZB;
DQR;DQT;DQF;DQG;DQV;DQB;
DAR;DAT;DAF;DAG;DAV;DAB;
DZR;DZT;DZF;DZG;DZV;DZB;
CQR;CQT;CQF;CQG;CQV;CQB;
CAR;CAT;CAF;CAG;CAV;CAB;
CZR;CZT;CZF;CZG;CZV;CZB。
将如上排列中每一种组合在词库中查询后,可知常见的有意义单词仅为EAR、EAT、CAR、CAT四个,因此用户需要输出的可能性最大就是这四个。该方案接下来将会把这四个组合作为结果选项通过显示器或者扬声器告知用户,由用户来选择到底最终结果是哪个;也可以根据用户之前输入的词来自动判断用户的意图,比如如果之前用户的输入是“DRIVE”,那么可以知道结果应该是“CAR”。
通过对这种方案的了解可以看出,这种方案需要词库来辅助,会降低对用户的响应速度;此外,如果用户不是要输出一个常见单词而是一种特殊缩写,那么词库内所含词汇的全面性将影响结果选项的准确性,即便选项够全面,因为用户需要在大量结果中进行选择,也会降低输入速度;而如果由系统自动根据用户的上一个输出来判断本次结果,那么不但响应速度会降低,而且可能造成结果的不准确;该方案还不能解决连续输出的情况,比如当用户把手指保持在按键“J”被按下的位置,意图连续输入“J”,该方案并不能判断出用户的意图,这也是影响准确度的因素。
在采集手部动作时人手姿态的整个变化过程,并对每个不同动作的变化过程进行分析分类的现有技术方案中,则会捕捉手部动作的全过程,并对该过程进行分析,试图通过不同过程的差别来建立该动作过程与某个按键的对应关系。比如右手食指从起始位置(通常是按键“J”)处向显示器方向移动并按下则代表“U”,背离显示器方向移动按下则代表“M”。
但是,该方案因为需要捕捉整个动作过程并分析整个过程,因此同样面临响应速度慢的问题;此外每个用户的按键动作习惯幅度不同,因此会造成不同的用户都需要去适应该方案的默认幅度(比如右手食指从起始位置向显示器方向移动多远才是数字“7”而不是“U”)。
发明内容
本发明实施例提供一种利用手势虚拟键盘输入的方法,用以提高实时响应速度及准确度,并适应不同的用户习惯,该方法包括:
捕获用户按下不同按键时的静态手势姿态信息;
存储所述用户按下不同按键时的静态手势姿态信息及对应的按键信息;
在所述用户输入时,捕获所述用户的实时手势姿态信息;
将所述实时手势姿态信息与所述用户按下不同按键时的静态手势姿态信息进行匹配,获得与所述实时手势姿态信息相匹配的静态手势姿态信息;
将所述相匹配的静态手势姿态信息对应的按键信息确定为所述用户输入的按键信息;
将所述实时手势姿态信息与所述用户按下不同按键时的静态手势姿态信息进行匹配,包括:将所述用户的实时手指相对位置与所述用户按下不同按键时的静态手指相对位置进行匹配;
其中,所述相对位置是以下情况之一或组合:手指与所在空间中的某个真实存在或虚拟的参照物的相对角度或者相对位移,手指与用户身体某部位的相对角度或者相对位移;
捕获用户按下不同按键时的静态手势姿态信息包括:用户在一段设定时长内保持按键的手势姿态静止,在该段时长内捕获用户的手势姿态信息;
将所述用户的实时手指相对位置与所述用户按下不同按键时的静态手指相对位置进行匹配,包括:根据各手指不同的权重,将所述用户的实时手指相对位置与所述用户按下不同按键时的静态手指相对位置进行匹配。
一个实施例中,所述捕获用户按下不同按键时的静态手势姿态信息,包括:
提示用户选择根据标准打字法的指键关系或自定义指键关系按下不同按键;
根据用户选择的指键关系,捕获用户按下不同按键时的静态手势姿态信息。
一个实施例中,将所述实时手势姿态信息与所述用户按下不同按键时的静态手势姿态信息进行匹配,包括:
在所述用户使用左手输入时,将所述实时手势姿态信息与所述用户左手按下不同按键时的静态手势姿态信息进行匹配;
或,在所述用户使用右手输入时,将所述实时手势姿态信息与所述用户右手按下不同按键时的静态手势姿态信息进行匹配。
一个实施例中,将所述相匹配的静态手势姿态信息对应的按键信息确定为所述用户输入的按键信息,包括:
在所述用户维持同一实时手势姿态信息的时长超出第一设定时长且未超出第二设定时长时,滤除超出第一设定时长过程中匹配获得的静态手势姿态信息;
在所述用户维持同一实时手势姿态信息的时长超出第二设定时长时,确定所述用户连续输入所述相匹配的静态手势姿态信息对应的按键信息。
本发明实施例还提供一种利用手势虚拟键盘输入的装置,用以提高实时响应速度及准确度,并适应不同的用户习惯,该装置包括:
预捕获模块,用于捕获用户按下不同按键时的静态手势姿态信息;
存储模块,用于存储所述用户按下不同按键时的静态手势姿态信息及对应的按键信息;
捕获模块,用于在所述用户输入时,捕获所述用户的实时手势姿态信息;
匹配模块,用于将所述实时手势姿态信息与所述用户按下不同按键时的静态手势姿态信息进行匹配,获得与所述实时手势姿态信息相匹配的静态手势姿态信息;
确定模块,用于将所述相匹配的静态手势姿态信息对应的按键信息确定为所述用户输入的按键信息;
所述匹配模块具体用于:将所述用户的实时手指相对位置与所述用户按下不同按键时的静态手指相对位置进行匹配;
其中,所述相对位置是以下情况之一或组合:手指与所在空间中的某个真实存在或虚拟的参照物的相对角度或者相对位移,手指与用户身体某部位的相对角度或者相对位移;
捕获用户按下不同按键时的静态手势姿态信息包括:用户在一段设定时长内保持按键的手势姿态静止,在该段时长内捕获用户的手势姿态信息;
所述匹配模块具体用于:根据各手指不同的权重,将所述用户的实时手指相对位置与所述用户按下不同按键时的静态手指相对位置进行匹配。
一个实施例中,所述预捕获模块包括:
选择提示单元,用于提示用户选择根据标准打字法的指键关系或自定义指键关系按下不同按键;
预捕获单元,用于根据用户选择的指键关系,捕获用户按下不同按键时的静态手势姿态信息。
一个实施例中,所述匹配模块具体用于:
在所述用户使用左手输入时,将所述实时手势姿态信息与所述用户左手按下不同按键时的静态手势姿态信息进行匹配;
或,在所述用户使用右手输入时,将所述实时手势姿态信息与所述用户右手按下不同按键时的静态手势姿态信息进行匹配。
一个实施例中,所述确定模块包括:
滤除单元,用于在所述用户维持同一实时手势姿态信息的时长超出第一设定时长且未超出第二设定时长时,滤除超出第一设定时长过程中匹配获得的静态手势姿态信息;
连续输入确定单元,用于在所述用户维持同一实时手势姿态信息的时长超出第二设定时长时,确定所述用户连续输入所述相匹配的静态手势姿态信息对应的按键信息。
本发明实施例中,捕获用户按下不同按键时的静态手势姿态信息;存储所述用户按下不同按键时的静态手势姿态信息及对应的按键信息;在所述用户输入时,捕获所述用户的实时手势姿态信息;将所述实时手势姿态信息与所述用户按下不同按键时的静态手势姿态信息进行匹配,获得与所述实时手势姿态信息相匹配的静态手势姿态信息;将所述相匹配的静态手势姿态信息对应的按键信息确定为所述用户输入的按键信息;因为仅对手势姿态信息进行匹配可以减少数据量,所以本发明实施例可以提高实时响应速度;同时因为本发明实施例可以为不同的用户事先记录各自习惯的静态手势姿态信息,所以可以适应不同的用户习惯;且因为每个用户的静态手势姿态信息是固定的,准确度也较高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中利用手势虚拟键盘输入的方法的处理流程图;
图2为本发明实施例中利用手势虚拟键盘输入的方法的一种应用实例的示意图;
图3为本发明实施例中图2所示应用实例的一种处理流程示意图;
图4为本发明实施例中图2所示应用实例的学习模块处理过程示意图;
图5为本发明实施例中用户根据标准打字法的指键关系按下不同按键的示意图;
图6为本发明实施例中提示用户根据自定义指键关系按下不同按键的示意图;
图7为本发明实施例中图2所示应用实例的识别模块处理过程示意图;
图8为本发明实施例中利用手势虚拟键盘输入的装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
发明人考虑到,当一个能够熟练使用真实键盘进行输入的用户打字时,他的静态手势姿态通常是固定的,也就是说当某个手指按下某个按键时,手指间的相对角度和相对位移都是在一定范围内固定的;并且对应于所敲击的按键的不同,静态手势姿态也是存在不同的,比如说用右手食指按下“Y”和“U”时,右手各手指间的相对位置并不相同,而用中指按下“K”和用无名指按下“L”时,右手各手指间的相对位置也是不相同的。
基于上述认识,在本发明实施例中,考虑事先捕捉用户按下不同按键时的静态手势姿态信息,并将这些信息与对应的按键一起存储;在用户真正进行输入时,将用户输入时的实时手势姿态信息与事先捕捉存储的静态手势姿态信息进行匹配来判断出用户意图按下的按键。
图1为本发明实施例中利用手势虚拟键盘输入的方法的处理流程图。如图1所示,本发明实施例中利用手势虚拟键盘输入的方法可以包括:
步骤101、捕获用户按下不同按键时的静态手势姿态信息;
步骤102、存储所述用户按下不同按键时的静态手势姿态信息及对应的按键信息;
步骤103、在所述用户输入时,捕获所述用户的实时手势姿态信息;
步骤104、将所述实时手势姿态信息与所述用户按下不同按键时的静态手势姿态信息进行匹配,获得与所述实时手势姿态信息相匹配的静态手势姿态信息;
步骤105、将所述相匹配的静态手势姿态信息对应的按键信息确定为所述用户输入的按键信息。
因为仅对比手势姿态信息可以减少数据量,所以本发明实施例可以提高实时响应速度;同时因为本发明实施例可以为不同的用户事先记录各自习惯的静态手势姿态信息,所以可以适应不同的用户习惯;且因为每个用户的静态手势姿态信息是固定的,准确度也较高,因此,本发明实施例的利用手势虚拟键盘输入的方法是一种能摆脱真实键盘的快速响应且高准确度的、基于手势进行虚拟键盘输入的方法;且该方法可以适应不同的用户习惯,而不需要用户来适应该方法。
具体实施时,事先捕获用户按下不同按键时的静态手势姿态信息可以是:用户在一段设定时长内(例如1秒)保持按键的手势姿态静止,在该段时长内捕获用户的手势姿态信息;还可以是:在一段设定时长内(例如1秒)用户完成开始按键和结束按键的动作,在该段时长内间隔设定时间连续捕获(例如间隔0.01秒)用户的手势姿态信息。因此,前述静态手势姿态信息既可以是用户静止时的手势姿态信息,也可以是用户手部运动过程中的手势姿态信息(对于捕获时的某一时间点,用户的手势姿态也是静止的),在本发明实施例中,只要是事先捕获和存储的、用于在后续与用户实时手势姿态信息相匹配的手势姿态信息,均称为静态手势姿态信息。具体实施时,实时手势姿态信息和静态手势姿态信息可以是用户的手指相对位置,也可以是手势姿态图像,还可以是手指弯曲度等信息。其中相对位置可以是手部保持手势姿态时各个手指间的相对角度或者相对位移,也可能是手指与所在空间中的某个真实存在或虚拟的参照物的相对角度或者相对位移,或者是手指与用户身体某部位的相对角度或者相对位移,也有可能是上述各种情况兼而有之;说明书中其它部分文字以及图表中所有的位置或者相对位置都应作此理解。实时手势姿态信息和静态手势姿态信息可以通过手势捕捉器捕获。手势捕捉器可以是任何能直接捕捉或间接获取手势姿态信息如手指相对位置,或者是手势姿态图像、手指弯曲度等信息的设备或者技术方法,或者多种设备方法技术混用。目前已知的包括佩戴于手部的传感器或数据手套,用于采集物体图像信息的摄像头,可采集物体空间位置信息的激光红外等。
图2是本发明实施例中利用手势虚拟键盘输入的方法的一种应用实例的示意图。如图2所示,描绘了当应用本发明实施例中利用手势虚拟键盘输入的方法进行输入时一种情形。图2中展示了一个虚拟键盘系统,其内含学习模块、识别模块以及存储系统;并与一个用于输出的显示器相连;该虚拟键盘系统还可以接收来自于佩戴于用户手上的传感器数据手套传送的相对位置数据;此外该虚拟键盘系统也可以与能捕捉用户手势姿态图像信息的摄像头等其它设备相连。
如图2所示,虚拟键盘系统中的学习模块通过与用户的交互获取用户对于某一按键的静态手势姿态信息(相对位置或图像或手指弯曲度),该按键值和静态手势姿态信息组合成一组配对数据存储在存储系统中。当所有按键值与对应的静态手势姿态信息被存储成配对数据后,用户就可以开始使用虚拟键盘系统进行输入。每次用户进行输入时,识别模块获取用户实时手势姿态信息,并去存储系统中对比查找是否某一时刻的实时手势姿态信息能与事先存储的某一组配对数据中的静态手势姿态信息部分对比,并进行一些处理,以决定对比结果是否将按键值输出给用户。
图3为本发明实施例中图2所示应用实例的一种处理流程示意图。如图3所示,首先需要判断当前使用虚拟键盘系统的用户是否已经在虚拟键盘系统中存储有完整的配对数据,如果虚拟则需要经过学习模块进行学习过程去完成这些配对数据的捕获,并存储这些配对数据;如果存在配对数据则识别模块开始获取手势捕捉器返回的实时手势姿态信息;每个获取的实时手势姿态信息都会用来与存储系统中存储的配对数据中的静态手势姿态信息部分进行对比处理,并判定用户意图是否输入以及输入哪个按键值。
图4为本发明实施例中图2所示应用实例的学习模块处理过程示意图。在图4中详细说明了学习模块工作的过程。以用户在一段设定时长内保持按键的手势姿态静止,在该段时长内捕获用户的手势姿态信息为例,学习模块首先通过显示器等设备与用户交互,要求用户做出点击某个按键的动作,并在按下按键的位置保持一段时间,如1秒钟;在之后的1秒钟内,学习模块会不断从手势捕捉器获取静态手势姿态信息。比如,用户收到提示要求模拟点击按键“A”,并做出了左手小拇指点击按键的动作,且一直保持按下手势长达1秒,学习模块会通过一个能捕捉手指相对位置的捕捉器在这1秒内不断获取到用户左手小拇指手指和左手其它手指之间的相对位置数据。假设手势捕捉器会每隔1毫秒捕捉一次数据,则1秒内学习模块将获取1000组相对位置数据:
A1={Lpr1,Lpm1,Lpf1,Lpt1,Lrm1,Lrf1,Lrt1,Lmf1,Lmt1,Lft1,Rpr1,Rpm1,Rpf1,Rpt1,Rrm1,Rrf1,Rrt1,Rmf1,Rmt1,Rft1};
//L=>Left hand左手;R=>Right hand右手;p=>pinky小拇指;r=>ringfinger无名指;m=>middle finger中指;f=>forefinger食指;t=>thumb大拇指。Lpr1代表在第一毫秒时左手小拇指与左手无名指的相对位置,Rft1代表第一毫秒时右手食指与右手大拇指的相对位置,其余类推。
A2={Lpr2,Lpm2,Lpf2,Lpt2,Lrm2,Lrf2,Lrt2,Lmf2,Lmt2,Lft2,Rpr2,Rpm2,Rpf2,Rpt2,Rrm2,Rrf2,Rrt2,Rmf2,Rmt2,Rft2};
…
A1000={Lpr1000,Lpm1000,Lpf1000,Lpt1000,Lrm1000,Lrf1000,Lrt1000,Lmf1000,Lmt1000,Lft1000,Rpr1000,Rpm1000,Rpf1000,Rpt1000,Rrm1000,Rrf1000,Rrt1000,Rmf1000,Rmt1000,Rft1000};
学习模块对这1000组数据进行比较、分析和计算,得出最大值、平均值和最小值:
Lprmax=MAX(Lpr1,Lpr2,…,Lpr1000);Lpravr=AVR(Lpr1,Lpr2,…,Lpr1000);Lprmin=MIN(Lpr1,Lpr2,…,Lpr1000);
Lpmmax=MAX(Lpm1,Lpm2,…,Lpm1000);Lpmavr=AVR(Lpm1,Lpm2,…,Lpm1000);Lpmmin=MIN(Lpm1,Lpm2,…,Lpm1000);
…
Lftmax=MAX(Lft1,Lft2,…,Lft1000);Lftavr=AVR(Lft1,Lft2,…,Lft1000);Lftmin=MIN(Lft1,Lft2,…,Lft1000);
接着将其与按键值存储成配对数据,一种可能的数据结构如下:
Match-A{
Key=‘A’;
ActionFinger=‘左手小拇指’;
Lprmax;Lpravr;Lprmin;
Lpmmax;Lpmavr;Lpmmin;
Lpfmax;Lpfavr;Lpfmin;
Lptmax;Lptavr;Lptmin;
…
Lftmax;Lftavr;Lftmin;
}
该数据中的ActionFinger以及从Lprmax到Lftmin的值即为静态手势姿态信息部分,可用来与用户真正输入时的实时手势姿态信息进行对比。上述结构记录了按下按键“A”时用户左手的手势信息,因为默认用户应该用左手输入,因此右手信息其实是冗余的,不必存储以减少后期对比工作量。
通过同样的方法,学习模块可以获取其它25个字母按键对应的配对数据Match-B…Match-Z,如果需要,阿拉伯数字按键、空格按键甚至回车、TAB、SHIFT等按键的配对数据都可以一一获取并存储。
具体实施时,捕获用户按下不同按键时的静态手势姿态信息,可以包括:提示用户选择根据标准打字法的指键关系或自定义指键关系按下不同按键;根据用户选择的指键关系,捕获用户按下不同按键时的静态手势姿态信息。
图5为本发明实施例中用户根据标准打字法的指键关系按下不同按键的示意图。在上述的例子中是假设用户会按照标准打字法的指键关系(如图5)运用左手小拇指来点击按键“A”。但考虑到确实有某些使用者存在不遵循图5的打字习惯,为了使得本发明实施例也能适用于这些使用者,所以允许使用者可以自定义手指对于按键的分工。
图6为本发明实施例中提示用户根据自定义指键关系按下不同按键的示意图。如图6所示,给出了一种在触控屏上与用户进行交互的例子。学习模块提示用户按照标准方式,用小拇指点击字符“A”所在按键,或者用户可以自定义一个习惯的手指。在图6中,用户则可以通过在触控屏上点击“开始”图标,再选择一个自己习惯的手指来告知学习模块自己会用非标准的手指来进行模拟点击按键动作(这个手指甚至可能是右手的某个手指,这种情况可能会造成准确度的降低);而学习模块也将会把用户选择的具体手指作为静态手势姿态信息的一部分存储在配对数据里,同时也会根据所选手指是右手还是左手手指来获取记录某一侧手的手势姿态信息。
图7为本发明实施例中图2所示应用实例的识别模块处理过程示意图。在图7中,识别模块通过手势捕捉器每隔一个时间段获取一次用户实时手势姿态信息,如一毫秒获取一次,并把获取的每一次实时手势姿态信息依次与已经存储在虚拟键盘系统里的配对数据中的静态手势姿态信息部分进行对比,如果成功匹配的,可判断该实时手势姿态信息对应的按键信息。具体实施时,将所述实时手势姿态信息与所述用户按下不同按键时的静态手势姿态信息进行匹配,可以包括:将所述用户的实时手指相对位置与所述用户按下不同按键时的静态手指相对位置进行匹配;或,将所述用户的实时手势姿态图像与所述用户按下不同按键时的静态手势姿态图像进行匹配;或,将所述用户的实时手指弯曲度与所述用户按下不同按键时的静态手指弯曲度进行匹配。
以一个捕捉手指相对位置的手势捕捉器在时间点n时捕捉的实时手势姿态信息为例,该时间点的实时手势姿态信息可被描述如下:
Gn={n,Lprn,Lpmn,Lpfn,Lptn,Lrmn,Lrfn,Lrtn,Lmfn,Lmtn,Lftn,Rprn,Rpmn,Rpfn,Rptn,Rrmn,Rrfn,Rrtn,Rmfn,Rmtn,Rftn}
L=>Left hand左手;R=>Right hand右手;p=>pinky小拇指;r=>ring finger无名指;m=>middle finger中指;f=>forefinger食指;t=>thumb大拇指;n代表时间点。
有了上述实时手势姿态信息,假设仅考虑需要点击字母按键“A”到“Z”,将上述实时手势姿态信息与手势姿态信息比较的算法可以简单描述为:
上述Compare算法描述的对比方法非常简单,将实时手势姿态信息中的各组手指的相对位置去与预先存储的配对数据里的各组手指相对位置进行比较,满足条件就是小于静态相对位置的最大值且大于静态相对位置的最小值;而且当欲比较的配对数据是左手手指按键的仅比对左手,右手手指按键的仅比对右手,这样可以节省时间。即在具体实施时,为了节省时间,将所述实时手势姿态信息与所述用户按下不同按键时的静态手势姿态信息进行匹配,可以包括:在所述用户使用左手输入时,将所述实时手势姿态信息与所述用户左手按下不同按键时的静态手势姿态信息进行匹配;或,在所述用户使用右手输入时,将所述实时手势姿态信息与所述用户右手按下不同按键时的静态手势姿态信息进行匹配。
如果某个配对数据里的静态手势姿态信息能完全符合当前实时手势姿态信息,则返回该配对数据里的按键Match-key.Key和产生当前实时手势姿态信息的时间点Gn.n作为结果,并退出对比,如果所有配对数据均不能符合当前实时手势姿态信息,则不返回任何结果。
也可以在比较时将配对数据中的各组手指设置不同的权重,区别对待不同组手指相对位置是否符合所产生的结果。比如无名指作为按键手指时,其与小拇指的相对位置的权重可以设定的较低,因为很多人的无名指不够灵活,经常会牵动小拇指与其一起动作。即在具体实施时,将所述用户的实时手指相对位置与所述用户按下不同按键时的静态手指相对位置进行匹配,可以包括:根据各手指不同的权重,将所述用户的实时手指相对位置与所述用户按下不同按键时的静态手指相对位置进行匹配。关于权重的设置不影响实现,故不深入说明。
通过上述算法可以获得某个时间点(Gn.n)和该时间点实时手势姿态信息对应的按键(Match-key.Key),但是在输出该按键值前还应该考虑噪音问题和连续输出问题。在手指按下某个按键一次的过程中,从该按键真正被按下的那个时间点开始后的一段时间内所捕捉到的实时手势姿态信息与预先存储的该按键对应的静态手势姿态信息对比,很可能都会满足条件,因为一次按键动作只应该产生一个输出,故多余的输出可被视为噪音而过滤掉,而具体会有多少噪音产生取决于用户按下按键后在该位置停滞的时间;连续输出问题则正好相反,用户可能故意按下按键后停留在该位置而保持手势不变,以达到连续输出某个按键值的效果。如何判断用户的连击意图也是需要解决的问题。
具体实施时,为了解决噪音和连续输出问题,将所述相匹配的静态手势姿态信息对应的按键信息确定为所述用户输入的按键信息,可以包括:在所述用户维持同一实时手势姿态信息的时长超出第一设定时长且未超出第二设定时长时,滤除超出第一设定时长过程中匹配获得的静态手势姿态信息;在所述用户维持同一实时手势姿态信息的时长超出第二设定时长时,确定所述用户连续输入所述相匹配的静态手势姿态信息对应的按键信息。
例如,设置一个缓冲区来处理噪音和连续输出问题。在处理前,先定义两个阈值,即前述的第一设定时长和第二设定时长,假设一般用户在连续两次按下同一按键的过程中会至少间隔300毫秒(第一设定时长),另假设一般用户需要连续输出时,至少要保持按下按键的手势超过500毫秒(第二设定时长),该两个阈值的具体取值可以由用户调整。对应于连续输出需要保持的时间500毫秒,设置缓冲区可以按时间顺序依次存储至少500个Compare(匹配)方法返回的结果(按键和时间点),当缓冲区满时,第一个存储位的结果被顶出废弃,以腾出空间给后续的结果。
有了如上的阈值定义和缓冲区设置,可以对Compare的返回结果进行如下处理:
当Compare返回一个实时手势匹配结果(按键和时间点)后,将结果中的按键与缓冲区中最后一个存储位里的按键比较:
当比较结果不同时,则将Compare返回结果里的按键值输出,并把该结果推入缓冲区;
当比较结果相同时,则继续比较返回结果和最后存储位中的时间点:
如果两个时间点间隔超过300毫秒,则将Compare返回结果里的按键值输出,并把该结果推入缓冲区;
如果两个时间点间隔相差1毫秒,则检查从最后一个存储位往前500个存储位内存储的所有按键是否都相同,并且是否这500个存储位内存储的时间点都是以1毫秒间隔紧邻的;如果这几个条件都同时满足则输出按键值,并把返回结果推入缓冲区;如果不能同时满足,则仅把返回结果推入缓冲区而不输出。
基于同一发明构思,本发明实施例中还提供了一种利用手势虚拟键盘输入的装置,如下面的实施例所述。由于利用手势虚拟键盘输入的装置解决问题的原理与利用手势虚拟键盘输入的方法相似,因此利用手势虚拟键盘输入的装置的实施可以参见利用手势虚拟键盘输入的方法的实施,重复之处不再赘述。
图8为本发明实施例中利用手势虚拟键盘输入的装置的结构示意图。如图8所示,本发明实施例中利用手势虚拟键盘输入的装置可以包括:
预捕获模块801,用于捕获用户按下不同按键时的静态手势姿态信息;
存储模块802,用于存储所述用户按下不同按键时的静态手势姿态信息及对应的按键信息;
捕获模块803,用于在所述用户输入时,捕获所述用户的实时手势姿态信息;
匹配模块804,用于将所述实时手势姿态信息与所述用户按下不同按键时的静态手势姿态信息进行匹配,获得与所述实时手势姿态信息相匹配的静态手势姿态信息;
确定模块805,用于将所述相匹配的静态手势姿态信息对应的按键信息确定为所述用户输入的按键信息。
具体实施时,所述预捕获模块801可以包括:
选择提示单元,用于提示用户选择根据标准打字法的指键关系或自定义指键关系按下不同按键;
预捕获单元,用于根据用户选择的指键关系,捕获用户按下不同按键时的静态手势姿态信息。
具体实施时,所述匹配模块804具体可以用于:
将所述用户的实时手指相对位置与所述用户按下不同按键时的静态手指相对位置进行匹配;
或,将所述用户的实时手势姿态图像与所述用户按下不同按键时的静态手势姿态图像进行匹配;
或,将所述用户的实时手指弯曲度与所述用户按下不同按键时的静态手指弯曲度进行匹配。
具体实施时,所述匹配模块804具体可以用于:
根据各手指不同的权重,将所述用户的实时手指相对位置与所述用户按下不同按键时的静态手指相对位置进行匹配。
具体实施时,所述匹配模块804具体可以用于:
在所述用户使用左手输入时,将所述实时手势姿态信息与所述用户左手按下不同按键时的静态手势姿态信息进行匹配;
或,在所述用户使用右手输入时,将所述实时手势姿态信息与所述用户右手按下不同按键时的静态手势姿态信息进行匹配。
具体实施时,所述确定模块805可以包括:
滤除单元,用于在所述用户维持同一实时手势姿态信息的时长超出第一设定时长且未超出第二设定时长时,滤除超出第一设定时长过程中匹配获得的静态手势姿态信息;
连续输入确定单元,用于在所述用户维持同一实时手势姿态信息的时长超出第二设定时长时,确定所述用户连续输入所述相匹配的静态手势姿态信息对应的按键信息。
综上所述,本发明实施例中,捕获用户按下不同按键时的静态手势姿态信息;存储所述用户按下不同按键时的静态手势姿态信息及对应的按键信息;在所述用户输入时,捕获所述用户的实时手势姿态信息;将所述实时手势姿态信息与所述用户按下不同按键时的静态手势姿态信息进行匹配,获得与所述实时手势姿态信息相匹配的静态手势姿态信息;将所述相匹配的静态手势姿态信息对应的按键信息确定为所述用户输入的按键信息;因为仅对手势姿态信息进行匹配可以减少数据量,所以本发明实施例可以提高实时响应速度;同时因为本发明实施例可以为不同的用户事先记录各自习惯的静态手势姿态信息,所以可以适应不同的用户习惯;且因为每个用户的静态手势姿态信息是固定的,准确度也较高。
本发明实施例与其它实现手势键盘方案的最大不同之处在于:本发明实施例事先获取并存储用户按下按键时的静态手势姿态信息,如整个动作过程或过程中的某个片段甚至时间点的手势图片信息或者手指相对位置,在用户真正使用时获取的实时手势姿态信息仅需与预存的静态手势姿态信息对比,来判定用户的输入意图。本发明实施例中,用户无需键盘,即可实现键盘输入等功能,响应速度快,准确度高,且能实现连续输出功能。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种利用手势虚拟键盘输入的方法,其特征在于,包括:
捕获用户按下不同按键时的静态手势姿态信息;
存储所述用户按下不同按键时的静态手势姿态信息及对应的按键信息;
在所述用户输入时,捕获所述用户的实时手势姿态信息;
将所述实时手势姿态信息与所述用户按下不同按键时的静态手势姿态信息进行匹配,获得与所述实时手势姿态信息相匹配的静态手势姿态信息;
将所述相匹配的静态手势姿态信息对应的按键信息确定为所述用户输入的按键信息;
将所述实时手势姿态信息与所述用户按下不同按键时的静态手势姿态信息进行匹配,包括:将所述用户的实时手指相对位置与所述用户按下不同按键时的静态手指相对位置进行匹配;
其中,所述相对位置是以下情况之一或组合:手指与所在空间中的某个真实存在或虚拟的参照物的相对角度或者相对位移,手指与用户身体某部位的相对角度或者相对位移;
捕获用户按下不同按键时的静态手势姿态信息包括:用户在一段设定时长内保持按键的手势姿态静止,在该段时长内捕获用户的手势姿态信息;
将所述用户的实时手指相对位置与所述用户按下不同按键时的静态手指相对位置进行匹配,包括:根据各手指不同的权重,将所述用户的实时手指相对位置与所述用户按下不同按键时的静态手指相对位置进行匹配。
2.如权利要求1所述的方法,其特征在于,所述捕获用户按下不同按键时的静态手势姿态信息,包括:
提示用户选择根据标准打字法的指键关系或自定义指键关系按下不同按键;
根据用户选择的指键关系,捕获用户按下不同按键时的静态手势姿态信息。
3.如权利要求1所述的方法,其特征在于,将所述实时手势姿态信息与所述用户按下不同按键时的静态手势姿态信息进行匹配,包括:
在所述用户使用左手输入时,将所述实时手势姿态信息与所述用户左手按下不同按键时的静态手势姿态信息进行匹配;
或,在所述用户使用右手输入时,将所述实时手势姿态信息与所述用户右手按下不同按键时的静态手势姿态信息进行匹配。
4.如权利要求1至3任一项所述的方法,其特征在于,将所述相匹配的静态手势姿态信息对应的按键信息确定为所述用户输入的按键信息,包括:
在所述用户维持同一实时手势姿态信息的时长超出第一设定时长且未超出第二设定时长时,滤除超出第一设定时长过程中匹配获得的静态手势姿态信息;
在所述用户维持同一实时手势姿态信息的时长超出第二设定时长时,确定所述用户连续输入所述相匹配的静态手势姿态信息对应的按键信息。
5.一种利用手势虚拟键盘输入的装置,其特征在于,包括:
预捕获模块,用于捕获用户按下不同按键时的静态手势姿态信息;
存储模块,用于存储所述用户按下不同按键时的静态手势姿态信息及对应的按键信息;
捕获模块,用于在所述用户输入时,捕获所述用户的实时手势姿态信息;
匹配模块,用于将所述实时手势姿态信息与所述用户按下不同按键时的静态手势姿态信息进行匹配,获得与所述实时手势姿态信息相匹配的静态手势姿态信息;
确定模块,用于将所述相匹配的静态手势姿态信息对应的按键信息确定为所述用户输入的按键信息;
所述匹配模块具体用于:将所述用户的实时手指相对位置与所述用户按下不同按键时的静态手指相对位置进行匹配;
其中,所述相对位置是以下情况之一或组合:手指与所在空间中的某个真实存在或虚拟的参照物的相对角度或者相对位移,手指与用户身体某部位的相对角度或者相对位移;
捕获用户按下不同按键时的静态手势姿态信息包括:用户在一段设定时长内保持按键的手势姿态静止,在该段时长内捕获用户的手势姿态信息;
所述匹配模块具体用于:根据各手指不同的权重,将所述用户的实时手指相对位置与所述用户按下不同按键时的静态手指相对位置进行匹配。
6.如权利要求5所述的装置,其特征在于,所述预捕获模块包括:
选择提示单元,用于提示用户选择根据标准打字法的指键关系或自定义指键关系按下不同按键;
预捕获单元,用于根据用户选择的指键关系,捕获用户按下不同按键时的静态手势姿态信息。
7.如权利要求5所述的装置,其特征在于,所述匹配模块具体用于:
在所述用户使用左手输入时,将所述实时手势姿态信息与所述用户左手按下不同按键时的静态手势姿态信息进行匹配;
或,在所述用户使用右手输入时,将所述实时手势姿态信息与所述用户右手按下不同按键时的静态手势姿态信息进行匹配。
8.如权利要求5至7任一项所述的装置,其特征在于,所述确定模块包括:
滤除单元,用于在所述用户维持同一实时手势姿态信息的时长超出第一设定时长且未超出第二设定时长时,滤除超出第一设定时长过程中匹配获得的静态手势姿态信息;
连续输入确定单元,用于在所述用户维持同一实时手势姿态信息的时长超出第二设定时长时,确定所述用户连续输入所述相匹配的静态手势姿态信息对应的按键信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310122202.9A CN103197767B (zh) | 2013-04-10 | 2013-04-10 | 利用手势虚拟键盘输入的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310122202.9A CN103197767B (zh) | 2013-04-10 | 2013-04-10 | 利用手势虚拟键盘输入的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103197767A CN103197767A (zh) | 2013-07-10 |
CN103197767B true CN103197767B (zh) | 2017-05-17 |
Family
ID=48720423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310122202.9A Active CN103197767B (zh) | 2013-04-10 | 2013-04-10 | 利用手势虚拟键盘输入的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103197767B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108519855A (zh) * | 2018-04-17 | 2018-09-11 | 北京小米移动软件有限公司 | 字符输入方法及装置 |
CN108960177B (zh) * | 2018-07-13 | 2020-12-22 | 浪潮金融信息技术有限公司 | 一种将手势进行数字化处理的方法及装置 |
CN111443831A (zh) * | 2020-03-30 | 2020-07-24 | 北京嘉楠捷思信息技术有限公司 | 一种手势识别方法及装置 |
CN113223252A (zh) * | 2021-04-30 | 2021-08-06 | 中国银行股份有限公司 | 一种自助取款机的安全取款方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101470526A (zh) * | 2007-12-28 | 2009-07-01 | 中国科学院声学研究所 | 基于无线传感器网络技术的无键键盘输入系统及输入方法 |
CN102033704A (zh) * | 2009-09-30 | 2011-04-27 | Lg电子株式会社 | 移动终端和用于控制移动终端的方法 |
CN102880304A (zh) * | 2012-09-06 | 2013-01-16 | 天津大学 | 用于便携设备的字符输入方法及装置 |
CN102999296A (zh) * | 2012-12-03 | 2013-03-27 | 北京百度网讯科技有限公司 | 用于移动终端的文本快捷输入方法、装置和移动终端 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9619139B2 (en) * | 2011-10-03 | 2017-04-11 | Kyocera Corporation | Device, method, and storage medium storing program |
-
2013
- 2013-04-10 CN CN201310122202.9A patent/CN103197767B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101470526A (zh) * | 2007-12-28 | 2009-07-01 | 中国科学院声学研究所 | 基于无线传感器网络技术的无键键盘输入系统及输入方法 |
CN102033704A (zh) * | 2009-09-30 | 2011-04-27 | Lg电子株式会社 | 移动终端和用于控制移动终端的方法 |
CN102880304A (zh) * | 2012-09-06 | 2013-01-16 | 天津大学 | 用于便携设备的字符输入方法及装置 |
CN102999296A (zh) * | 2012-12-03 | 2013-03-27 | 北京百度网讯科技有限公司 | 用于移动终端的文本快捷输入方法、装置和移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN103197767A (zh) | 2013-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI411935B (zh) | 利用影像擷取裝置辨識使用者姿勢以產生控制訊號之系統以及方法 | |
US11762474B2 (en) | Systems, methods and devices for gesture recognition | |
US20180024643A1 (en) | Gesture Based Interface System and Method | |
US10074186B2 (en) | Image search system, image search apparatus, and image search method | |
KR101811909B1 (ko) | 제스처 인식을 위한 장치 및 방법 | |
US10877575B2 (en) | Change of active user of a stylus pen with a multi user-interactive display | |
US8376854B2 (en) | Around device interaction for controlling an electronic device, for controlling a computer game and for user verification | |
CN108616712B (zh) | 一种基于摄像头的界面操作方法、装置、设备及存储介质 | |
CN104216642B (zh) | 一种终端控制方法 | |
CN104463119B (zh) | 基于超声与视觉的复合式手势识别设备及其控制方法 | |
CN103197767B (zh) | 利用手势虚拟键盘输入的方法及装置 | |
CN104023802B (zh) | 使用神经分析的电子装置的控制 | |
CN104571482A (zh) | 一种基于体感识别的数字设备操控方法 | |
CN106774850A (zh) | 一种移动终端及其交互控制方法 | |
CN107066081B (zh) | 一种虚拟现实系统的交互控制方法和装置及虚拟现实设备 | |
US10860104B2 (en) | Augmented reality controllers and related methods | |
US10228795B2 (en) | Gesture recognition and control based on finger differentiation | |
CN106648063A (zh) | 手势识别方法及装置 | |
CN107272890A (zh) | 一种基于手势识别的人机交互方法和装置 | |
CN112527113A (zh) | 手势识别及手势识别网络的训练方法和装置、介质和设备 | |
CN106529255A (zh) | 基于笔迹指纹的用户身份识别方法和装置 | |
US20190206413A1 (en) | Electronic device and method | |
CN109725727A (zh) | 有屏设备的手势控制方法和装置 | |
CN105373220B (zh) | 使用位置传感器和扩音器信号与装置的用户交互 | |
CN106648423A (zh) | 移动终端及其交互控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |