CN107688388A - 密码输入的控制设备、方法及计算机可读存储介质 - Google Patents
密码输入的控制设备、方法及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107688388A CN107688388A CN201710715448.5A CN201710715448A CN107688388A CN 107688388 A CN107688388 A CN 107688388A CN 201710715448 A CN201710715448 A CN 201710715448A CN 107688388 A CN107688388 A CN 107688388A
- Authority
- CN
- China
- Prior art keywords
- coordinate
- default
- region
- virtual scene
- hand
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F19/00—Complete banking systems; Coded card-freed arrangements adapted for dispensing or receiving monies or the like and posting such transactions to existing accounts, e.g. automatic teller machines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Finance (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种密码输入的控制设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的密码输入的控制程序,还包括虚拟现实设备以及体感控制器,该程序被处理器执行时实现如下步骤:基于用户佩戴的虚拟现实设备,显示设置有虚拟键盘的虚拟场景;在预设识别区域,通过体感控制器实时采集用户手部的第一位置坐标;根据坐标变换规则将第一位置坐标转换为虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示虚拟手部;确定该虚拟手部是否触发虚拟键盘上的按键区域,若是,则确定触发的按键区域对应的字符并在虚拟场景中。本发明还提出一种密码输入的控制方法以及一种计算机可读存储介质。本发明提高了密码输入的安全性。
Description
技术领域
本发明涉及人机交互技术领域,尤其涉及一种密码输入的控制设备、方法及计算机可读存储介质。
背景技术
人机交互已经广泛应用于我们的生活当中,通过人机交互实现了人与机器之间的信息传递。然而,在通过输入设备与机器交互的过程中,常常涉及到对输入密码的保护。
目前主要的密码输入方式有两种:
一种是通过键盘、鼠标等设备输入密码信息,再通过显示器显示交互界面,这种方式比较传统,输入可靠,也是目前使用最多的输入方式;但是这种方法不具有很好的安全保护措施,容易造成关键信息的泄露。比如ATM取款机,POS刷卡机等。这种输入方式只能通过在密码键盘上方加遮挡壳的方式进行信息保护,但是这种方式存在较高的信息被盗的风险。例如,不能有效防止旁边的人偷窥、在周围安装隐蔽摄像头偷窥,或者根据键盘上留下的指纹,推测出用户的密码等。
另外一种方式是基于触摸屏技术,同时在屏幕上输入和输出信息,这种方式改进了输入方式,使得输入更加方便,但是安全方面仍然没有纳入考虑;目前这种方式较少应用于个人隐私密码的输入场合。由于输入和输出都在显示屏幕上,这种方式更加容易被旁人偷窥,不利于密码隐私输入。
上述两种主流的密码输入方式都存在较大的信息安全隐患,密码被盗的风险较高。
发明内容
本发明提供一种密码输入的控制设备、方法及计算机可读存储介质,其主要目的在于提高密码输入的安全性。
为实现上述目的,本发明提供一种密码输入的控制设备,该设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的密码输入的控制程序,所述设备还包括虚拟现实设备以及体感控制器,所述密码输入的控制程序被所述处理器执行时实现如下步骤:
基于用户佩戴的所述虚拟现实设备,显示预先构建的设置有虚拟键盘的虚拟场景;
在预设识别区域,通过体感控制器实时采集用户手部的第一位置坐标;
根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部;
根据所述虚拟手部的显示位置确定该虚拟手部是否触发虚拟键盘上的按键区域,若是,则确定触发的按键区域对应的字符,并在所述虚拟场景中显示所述字符。
可选地,所述处理器还用于执行所述密码输入的控制程序,以在所述在预设识别区域,通过体感控制器实时采集用户手部的第一位置坐标的步骤之后,还实现如下步骤:
判断所述第一位置坐标与当前存储的最新位置坐标是否相同;
若是,则返回执行实时获取体感控制器采集到的用户手部在预设识别区域中的第一位置坐标的步骤;
若否,则将所述第一位置坐标更新存储为最新位置坐标,并执行根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤。
可选地,所述处理器还用于执行所述密码输入的控制程序,以在所述根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤之前,还实现如下步骤:
根据预设的坐标映射规则将所述第一位置坐标映射到预设的有效识别区域内,获取映射处理后的第三位置坐标,其中,所述预设识别区域为与所述体感控制器的原始识别区域内接的椭球形区域,所述有效识别区域为位于所述椭球形区域内的圆球形区域,所述圆球形区域的球心为所述椭球形区域的中心,所述圆球形区域的半径小于所述内接椭球形区域的赤道半径;
所述根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤包括:
根据预设的坐标变换规则,将所述第三位置坐标转换为所述虚拟场景中的第二位置坐标。
可选地,所述处理器还用于执行所述密码输入的控制程序,以在所述根据预设的坐标变换规则,将所述第三位置坐标转换为所述虚拟场景中的第二位置坐标的步骤之前,还实现如下步骤:
获取所述第三位置坐标的邻域坐标合集;
基于所述邻域坐标合集,根据平滑滤波规则对所述第三位置坐标进行滤波处理,以得到第四位置坐标;
所述根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤包括:
根据所述预设的坐标变换规则,将所述第四位置坐标转换为所述虚拟场景中的第二位置坐标。
此外,为实现上述目的,本发明还提供一种密码输入的控制方法,该方法包括:
基于用户佩戴的所述虚拟现实设备,显示预先构建的设置有虚拟键盘的虚拟场景;
在预设识别区域,通过体感控制器实时采集用户手部的第一位置坐标;
根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部;
根据所述虚拟手部的显示位置确定该虚拟手部是否触发虚拟键盘上的按键区域,若是,则确定触发的按键区域对应的字符,并在所述虚拟场景中显示所述字符。
可选地,在所述在预设识别区域,通过体感控制器实时采集用户手部的第一位置坐标的步骤之后,所述方法还包括:
判断所述第一位置坐标与当前存储的最新位置坐标是否相同;
若是,则返回执行实时获取体感控制器采集到的用户手部在预设识别区域中的第一位置坐标的步骤;
若否,则将所述第一位置坐标更新存储为最新位置坐标,并执行根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤。
可选地,在该第二位置坐标对应的位置显示所述虚拟手部的步骤之前,所述方法还包括:
根据预设的坐标映射规则将所述第一位置坐标映射到预设的有效识别区域内,获取映射处理后的第三位置坐标,其中,所述预设识别区域为与所述体感控制器的原始识别区域内接的椭球形区域,所述有效识别区域为位于所述椭球形区域内的圆球形区域,所述圆球形区域的球心为所述椭球形区域的中心,所述圆球形区域的半径小于所述内接椭球形区域的赤道半径;
所述根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤包括:
根据预设的坐标变换规则,将所述第三位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部。
可选地,所述根据预设的坐标变换规则,将所述第三位置坐标转换为所述虚拟场景中的第二位置坐标的步骤之前,所述方法还包括:
获取所述第三位置坐标的邻域坐标合集;
基于所述邻域坐标合集,根据平滑滤波规则对所述第三位置坐标进行滤波处理,以得到第四位置坐标;
所述根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤包括:
根据所述预设的坐标变换规则,将所述第四位置坐标转换为所述虚拟场景中的第二位置坐标。
可选地,所述根据所述虚拟手部的显示位置确定该虚拟手部是否触发虚拟键盘上的按键区域,若是,则确定触发的按键区域对应的字符,并在所述虚拟场景中显示所述字符的步骤包括:
当检测到虚拟手部在虚拟键盘的一按键区域内移动的距离在预设时长内达到预设距离时,获取该按键区域对应的字符,并按照预设的字符显示方式,基于所述按键区域展示用户输入的字符。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有密码输入的控制程序,所述密码输入的控制程序被处理器执行时实现如上所述的密码输入的控制方法的步骤。
本发明提出的密码输入的控制设备、方法及计算机可读存储介质,构建设置有虚拟键盘的虚拟场景,并基于用户佩戴的虚拟现实设备显示上述虚拟场景,实时获取体感控制器采集到的用户手部在预设识别区域中的第一位置坐标,根据预设的坐标变换规则将第一位置坐标转换为可在虚拟场景中显示的第二位置坐标,根据第二位置坐标更新虚拟手部在虚拟场景中的位置,根据虚拟手部的显示位置确定该虚拟手部是否触发虚拟键盘上的按键区域,若是,则确定触发的按键区域对应的字符,并在虚拟场景中显示所述字符,本发明的方案中,用户可以像操控键盘一样,在体感控制器有效感应空间区域,通过手部的运动完成交互,并通过虚拟现实的技术将三维空间中的交互信息输出到虚拟现实的显示设备显示,这个过程中,只有佩戴虚拟现实设备的用户能够看到输入和输出信息,有效地保护密码等个人隐私信息,避免密码泄露。
附图说明
图1为本发明密码输入的控制设备第一实施例的示意图;
图2为使用本实施例的密码输入的控制设备的应用场景示意图;
图3为本实施例中体感控制器的识别区域示意图;
图4为本发明体感控制器的识别区域沿圆球形区域的球心的纵切面示意图;
图5为本发明密码输入的控制设备的一实施例中的虚拟键盘的示意图;
图6为本发明中密码输入的控制设备的密码输入的控制程序的功能模块示意图;
图7为本发明密码输入的控制方法第一实施例的流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种密码输入的控制设备。参照图1所示,为本发明密码输入的控制设备第一实施例的示意图。
在本实施例中,密码输入的控制设备为具有显示功能的终端设备,包括存储器11、处理器12,通信总线13,以及网络接口14,虚拟现实设备15以及体感控制器16。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是密码输入的控制设备的内部存储单元,例如该密码输入的控制设备的硬盘。存储器11在另一些实施例中也可以是密码输入的控制设备的外部存储设备,例如密码输入的控制设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括密码输入的控制设备的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于密码输入的控制设备的应用软件及各类数据,例如密码输入的控制程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行密码输入的控制程序等。
通信总线13用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该设备与其他电子设备之间建立通信连接。
虚拟现实设备15为该密码输入的控制设备的显示设备,可以是虚拟现实头盔,用户在输入密码时,佩戴该虚拟现实设备15,通过该虚拟现实设备15看到在其显示屏上显示的虚拟键盘。
体感控制器16是一种智能运动感应设备,采用光学式立体空间智能识别和自动跟踪技术,对人体的真实运动状态进行识别、跟踪、量化的人机交互接口设备,将在识别区域内的人体动作映射到设备中。在该实施例中,该设备采集用户手部在体感控制器16的识别区域内的动作,将其手部位置同步地显示在用户佩戴的虚拟现实设备15的显示界面上,以实现根据用户手部在识别区域的动作,同步的显示虚拟手部在虚拟场景中的动作,以使用户能够通过佩戴的虚拟现实设备15看到自己的手部动作。
图1仅示出了具有组件11-16以及密码输入的控制程序的密码输入的控制设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
在图1所示的装置实施例中,存储器11中存储有密码输入的控制程序;处理器12执行存储器11中存储的密码输入的控制程序时实现如下步骤:
S1、基于用户佩戴的虚拟现实设备,显示预先构建的设置有虚拟键盘的虚拟场景;
S2、实时获取体感控制器采集到的用户手部在预设识别区域中的第一位置坐标;
S3、根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部;
S4、根据所述虚拟手部的显示位置确定该虚拟手部是否触发虚拟键盘上的按键区域,若是,则确定触发的按键区域对应的字符,并在所述虚拟场景中显示所述字符。
参照图2所示,为使用本实施例的密码输入的控制设备的应用场景示意图。该设备建立虚拟场景并通过虚拟现实设备15的显示界面显示,在虚拟场景中显示有虚拟键盘,用户在输入密码时,佩戴虚拟现实设备15,可以看到具有三维效果的虚拟键盘。
另外,该设备设置有体感控制器16,参照图3所示,为本实施例中体感控制器的识别区域示意图。体感控制器16具有一定的感应区间,如图3所示的近似圆锥体区域为体感控制器16的原始识别区域,当人体进入该区域后,体感控制器可以感应到人体的位置,在该实施例中,参照图2所示,用户在输入密码时,将手部置于该区域,则体感控制器16可以采集用户手部在该区域内的第一位置坐标并上报,该设备通过预设的坐标转换规则将第一位置坐标转换为用于在虚拟场景中显示的第二位置坐标,然后在虚拟场景中基于该第二位置坐标对应的更新显示虚拟手部在虚拟场景中的位置,随着用户手部在识别区域中的位置变化,虚拟手部在虚拟场景中的位置也会相应的发生变化。用户根据从虚拟现实眼镜中看到的虚拟键盘的位置以及虚拟手部的位置变化,用户可以像操控键盘一样,通过手部的运动触发虚拟键盘上按键,键入输入对应的字符。该设备根据虚拟手部在虚拟场景中相对于虚拟键盘的位置变化确定用户基于虚拟键盘输入的字符,并在虚拟场景中显示输入的字符,例如在字符输入框中显示,或者通过虚拟键盘上显示。
可选地,在一实施例中,处理器12还用于执行密码输入的控制程序,以在步骤S2之后,还实现如下步骤:
判断所述第一位置坐标与当前存储的最新位置坐标是否相同;
若是,则返回执行步骤S2;
若否,则将所述第一位置坐标更新存储为最新位置坐标,并执行步骤S3。
体感控制器16在识别用户手部位置坐标的过程中,需要将手部位置逐帧地存储,但是目前的体感控制器16在实际工作时可能会发生丢帧或者当前的帧没有检测到最新的手部位置坐标,导致出现延迟或者将一些无效的位置坐标更新到虚拟场景中的现象,也会造成计算资源的浪费。因此,为了确定最新的手部位置坐标能同步更新到三维场景空间,除了需要将设备同步初始化,在对第一位置坐标进行转换之前,先判断采集到的当前帧的位置坐标与存储的手部最新的位置坐标是否相同,若不相同,则认为采集到的是最新的手部位置,则执行步骤S3,将第一位置坐标转换为第二位置坐标,并将该第一位置坐标更新存储为新的最新位置坐标。若相同,则认为采集的坐标不是最新的手部位置坐标,可能发生了识别延迟等现象,因此,对于该坐标不进行转换以及在虚拟场景中的显示,继续进行下一次的手部位置坐标的采集,直至采集到最新的手部位置坐标。
进一步地,在一些实施例中,可以将体感控制器16的原始识别区域内识别到的坐标均作为有效坐标,即第一位置坐标进行后续的转换,或者,在其他的实施例中,为了提高对于用户手部位置识别的精准度,对采集到的第一位置坐标进行收缩变换。具体地,处理器12还用于执行所述密码输入的控制程序,以在所述根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤之前,还实现如下步骤:
根据预设的坐标映射规则将所述第一位置坐标映射到预设的有效识别区域内,获取映射处理后的第三位置坐标,其中,所述预设识别区域为与所述体感控制器的原始识别区域内接的椭球形区域,所述有效识别区域为位于所述椭球形区域内的圆球形区域,所述圆球形区域的球心为所述椭球形区域的中心,所述圆球形区域的半径小于所述内接椭球形区域的赤道半径;
所述根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤包括:
根据预设的坐标变换规则,将所述第三位置坐标转换为所述虚拟场景中的第二位置坐标。
体感控制器的原始识别区域一般为一个倒圆锥形区域,对于倒圆锥形区域来说,不仅不易处理边界问题,而且原始识别区域的边缘位置的噪声区来说,对于位置识别的精准度也较低。在该实施例中,参照图3所示,体感控制器的原始识别区域有一定的高度,因此,可以取与原始的倒圆锥形区域内接的椭球形区域作为预设识别区域,识别到的位于椭球形区域内的坐标为有效坐标,按照预设的坐标变换规则将其映射到圆球形区域中,对于识别到的位于椭球形区域外部的噪声区的位置坐标,则作为无效坐标,舍弃不用。
参照图4所示,为体感控制器的识别区域沿圆球形区域的球心的纵切面示意图。如图所示,在椭球形区域的内部取一个圆球形区域,圆球形区域的球心位于椭球形区域的中心O,以便于坐标的映射计算。在该实施例中,以椭球形区域沿X轴方向和Z轴方向上的半径为赤道半径,沿Y轴方向上半径为极半径为例进行计算,其中,赤道半径分别为a、c,极半径为b,圆球形区域的半径为r,a=c,b>a,r<a。以下通过坐标映射规则将位于椭球形区域内的坐标映射到圆球形区域中。
坐标映射规则可以为:
坐标映射规则采用近似映射的方式进行坐标的转换。
其中,s'x=(r-sx×dx)/(a-dx),s'y=(r-sy×dy)/(b-dy),s'z=(r-sz×dz)/(a-dz),sx=r/a,sy=r/b,sz=r/a。参照图4所示,假设检测到的位于有效识别区域的点为R2(x′,y′,z′),则dx为(x′,y′,z′)沿X轴到椭球形区域的表面的距离,dy为(x′,y′,z′)沿Y轴到椭球形区域的表面的距离,dz为(x′,y′,z′)沿Z轴到椭球形区域的表面的距离,所述第一位置坐标为(x′,y′,z′),所述第三位置坐标为(x,y,z),如图4所示,上述点R2通过上述规则转换到椭球形区域后的位置为R1。
通过上述坐标的映射转换,使得用户手部在识别区域内的各个方向上的运动都是等效的,更加符合人的实际操作习惯,即在感知区域内,手在每个方向上产生的最大位移应该是相等的。
进一步地,作为一种实施方式,为了提高对于检测到坐标的有效利用,对于检测到的位于靠近椭球形区域外部边缘的坐标(x′,y′,z′)也进行映射转换,将其映射到圆球形区域的外部边缘,得到坐标(x,y,z)。具体地,参照以下规则,对于距离椭球形边界的距离小于E的第一位置坐标进行转换:
其中,T的值可以由用户根据识别区域的实际大小设置,E可以包括Ex、Ey和Ez;s”x=(r+dx)/(a+dx),s”y=(r+dy)/(a+dy),s″z=(r+dz)/(a+dz),dx、dy、dz的含义与上述实施例相同,在此不再赘述。例如,如图4所示,将点R4映射到圆球形区域的外部边缘,得到点R3。
可选地,关于虚拟键盘的实施方式可以有多种,在一实施例中,可以按照与计算机键盘类似的方式设置一个虚拟键盘,其中,其字符的数量以及对应的按键区域的大小可以根据实际需要设置,根据虚拟手部在虚拟场景中的位置变化判断用户触发的按键。当检测到虚拟手部在虚拟键盘的一按键区域内移动的距离在预设时长内达到预设距离时,判定用户触发该按键,则获取该按键区域对应的字符,并按照预设的字符显示方式,基于所述按键区域展示用户输入的字符,例如在虚拟场景中有一个字符输入框,可以展示用于输入的字符。关于虚拟键盘的样式,允许用户定义各式各样的输入形式,参照图5所示,为本发明密码输入的控制设备的一实施例中的虚拟键盘的示意图。为了更加准确地识别,这种交互方式的每个按键都设计比较大,也就每个按键的区域都和一只手能够覆盖的区域大小相匹配。图中设计一个三维的长方体平台,靠后的长方体平台上放着两排圆圈孔,设置两种颜色,例如,分别为黑色和红色;最初的时候红色的孔上方放着有数字的小球(假设输入的密码均为数字),球上的数字随机生成。当手通过体感控制器在三维场景中按下其中任意一个球的时候,球将会从红色的圈复制到正对面的黑色圈,而再次输入相同数字的时候,黑圈的位置会显示两个重叠的数字球,如此,就可以完成数字的输入操作。而靠前的平台上四个大按钮分别对应着取消、清除、帮助、和确定;长方体右边的两个圆柱上对应着上面标识的符号输入,当我们按下圆柱的时候,对应的符号也会显示到黑圈上方。利用这种虚拟键盘输入方式,我们的交互方式不仅增加了安全性,防止手接触键盘造成耗损,更让传统枯燥无味的键盘输入方式变得更加有趣。
本实施例提出的密码输入的控制设备,构建设置有虚拟键盘的虚拟场景,并基于用户佩戴的虚拟现实设备显示上述虚拟场景,实时获取体感控制器采集到的用户手部在预设识别区域中的第一位置坐标,根据预设的坐标变换规则将第一位置坐标转换为可在虚拟场景中显示的第二位置坐标,根据第二位置坐标更新虚拟手部在虚拟场景中的位置,根据虚拟手部的显示位置确定该虚拟手部是否触发虚拟键盘上的按键区域,若是,则确定触发的按键区域对应的字符,并在虚拟场景中显示所述字符,本发明的方案中,用户可以像操控键盘一样,在体感控制器有效感应空间区域,通过手部的运动完成交互,并通过虚拟现实的技术将三维空间中的交互信息输出到虚拟现实的显示设备显示,这个过程中,只有佩戴虚拟现实设备的用户能够看到输入和输出信息,有效地保护密码等个人隐私信息,避免密码泄露。
基于第一实施例提出本发明密码输入的控制设备的第二实施例。在本实施例中,处理器还用于执行所述密码输入的控制程序,以在所述根据预设的坐标变换规则,将所述第三位置坐标转换为所述虚拟场景中的第二位置坐标的步骤之前,还实现如下步骤:
获取所述第三位置坐标的邻域坐标合集;
基于所述邻域坐标合集,根据平滑滤波规则对所述第三位置坐标进行滤波处理,以得到第四位置坐标;
所述根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤包括:
根据所述预设的坐标变换规则,将所述第四位置坐标转换为所述虚拟场景中的第二位置坐标。
由于用户手部的定位对准确捕捉手部位置并在虚拟场景中显示至关重要,但是手在没有实物支撑的空间操作的时候难免会出现抖动的现象,造成误操作,因此,为了提高用户体验,在采用坐标变换规则对坐标进行转换之前,先对坐标进行去抖动处理,例如,可以采用滤波算法进行去抖动处理,在该实施例中,优选地采用高斯滤波的方式对采集到的坐标进行平滑滤波处理,过滤掉手抖动数据,并在时间序列上与前面的几帧数据关联,使得相邻的每帧数据都平滑地增长和减小。选取邻域大小为k,则邻域N={n-k+1,n-k+2,...,n},n为邻域中的最新一帧,对于最新的一帧的位置坐标,经过映射计算得到第三位置坐标(x,y,z),它在各个方向上的邻域的集合分别为:
Xn={xn-k+1,xn-k+2,...,xn},
Yn={yn-k+1,yn-k+2,...,yn},
Zn={zn-k+1,zn-k+2,...,zn},
按照以下平滑滤波规则处理:
其中,
上述M为预先设置的滤波阈值,对于相对于上一帧的位置坐标在对应方向上的差值大于上述阈值的坐标按照高斯滤波算法进行过滤,否则仍然保留检测到的坐标值。关于此处的阈值M,选择合适的阈值也是关键之处;阈值过大平滑效果好,但是容易造成延迟和跳跃;阈值过小,对抖动敏感,则达不到好的滤波效果,在该实施例中,阈值根据选取的高斯函数极值进行设计。
根据实验数据,设置k=5。在其他实施例中,可以根据采用的体感控制器16的实际识别区域的大小以及圆球形区域的大小来设置上述参数的值。
通过上述滤波处理,得到第四位置坐标(x0,y0,z0),每一帧的手的数据都被限制在一定的阈值范围内,而且在时间序列上相互关联,我们得到的手部数据就会在帧与帧之间相对平滑,具有一定的防抖动功能,可以防止用户误操作。
在得到第四位置坐标后,按照预设的坐标变换规则将其转换为在虚拟场景中显示的第二位置坐标,其中,预设的坐标变换规则为:Pd=(Po·R)·T,其中,P0为所述第四位置坐标的齐次坐标,即(x0,y0,z0,1),R为预设的旋转矩阵,T为预设的平移矩阵,Pd为所述第二位置坐标的齐次坐标。
关于上述旋转矩阵和平移矩阵,在实际操作时,需要预先确定虚拟场景中的坐标系,根据虚拟手部在虚拟场景中的确定的坐标,以及其在识别区域中对应的坐标,计算出旋转矩阵和平移矩阵。
假设虚拟场景中的坐标系与感应区域中的实际坐标之间的位置关系为,绕X轴旋转α角度,绕Y轴旋转β角度,绕Z轴旋转χ角度后,沿X轴平移fx,沿Y轴平移fy,沿Z轴平移fz;则其平移矩阵与旋转矩阵分别为:
经过上述转换计算,得到第二位置坐标的齐次坐标(xd,yd,zd,1),进而得到用于在虚拟场景中显示的坐标(xd,yd,zd),通过上述坐标转换,将体感控制器的操作与三维场景的显示对应起来,在虚拟场景中实时更新虚拟手部的位置。
可选地,在其他的实施例中,密码输入的控制程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行,以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。
参照图6所示,为本发明中密码输入的控制设备的密码输入的控制程序的功能模块示意图,在该实施例中,密码输入的控制程序可以被分割为显示模块10、采集模块20、转换模块30、以及交互模块40,其中:
显示模块10用于基于用户佩戴的所述虚拟现实设备,显示预先构建的设置有虚拟键盘的虚拟场景;
获取模块20用于在预设识别区域,通过体感控制器实时采集用户手部的第一位置坐标;
转换模块30用于根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部;
交互模块40用于根据所述虚拟手部的显示位置确定该虚拟手部是否触发虚拟键盘上的按键区域,若是,则确定触发的按键区域对应的字符,并在所述虚拟场景中显示所述字符。
此外,本发明还提供一种密码输入的控制方法。参照图7所示,为本发明密码输入的控制方法第一实施例的流程图。该方法可以由一个装置执行,该设备可以由软件和/或硬件实现。
在本实施例中,密码输入的控制方法包括:
S10、基于用户佩戴的虚拟现实设备,显示预先构建的设置有虚拟键盘的虚拟场景;
S20、实时获取体感控制器采集到的用户手部在预设识别区域中的第一位置坐标;
S30、根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部;
S40、根据所述虚拟手部的显示位置确定该虚拟手部是否触发虚拟键盘上的按键区域,若是,则确定触发的按键区域对应的字符,并在所述虚拟场景中显示所述字符。
参照图2所示,为使用本实施例的密码输入的控制设备的应用场景示意图。该设备建立虚拟场景并通过虚拟现实设备的显示界面显示,在虚拟场景中显示有虚拟键盘,用户在输入密码时,佩戴虚拟现实设备,可以看到具有三维效果的虚拟键盘。
另外,参照图3所示,为本实施例中涉及到的体感控制器的识别区域示意图。体感控制器16具有一定的感应区间,如图3所示的近似圆锥体区域为体感控制器16的原始识别区域,当人体进入该区域后,体感控制器可以感应到人体的位置,在该实施例中,参照图2所示,用户在输入密码时,将手部置于该区域,则体感控制器16可以采集用户手部在该区域内的第一位置坐标并上报,该设备通过预设的坐标转换规则将第一位置坐标转换为用于在虚拟场景中显示的第二位置坐标,然后在虚拟场景中基于该第二位置坐标对应的更新显示虚拟手部在虚拟场景中的位置,随着用户手部在识别区域中的位置变化,虚拟手部在虚拟场景中的位置也会相应的发生变化。用户根据从虚拟现实眼镜中看到的虚拟键盘的位置以及虚拟手部的位置变化,用户可以像操控键盘一样,通过手部的运动触发虚拟键盘上按键,键入输入对应的字符。该设备根据虚拟手部在虚拟场景中相对于虚拟键盘的位置变化确定用户基于虚拟键盘输入的字符,并在虚拟场景中显示输入的字符,例如在字符输入框中显示,或者通过虚拟键盘上显示。
可选地,在一实施例中,在步骤S20之后,该方法还包括如下步骤:
判断所述第一位置坐标与当前存储的最新位置坐标是否相同;
若是,则返回执行步骤S20;
若否,则将所述第一位置坐标更新存储为最新位置坐标,并执行步骤S30。
体感控制器16在识别用户手部位置坐标的过程中,需要将手部位置逐帧地存储,但是目前的体感控制器16在实际工作时可能会发生丢帧或者当前的帧没有检测到最新的手部位置坐标,导致出现延迟或者将一些无效的位置坐标更新到虚拟场景中的现象,也会造成计算资源的浪费。因此,为了确定最新的手部位置坐标能同步更新到三维场景空间,除了需要将设备同步初始化,在对第一位置坐标进行转换之前,先判断采集到的当前帧的位置坐标与存储的手部最新的位置坐标是否相同,若不相同,则认为采集到的是最新的手部位置,则执行步骤S30,将第一位置坐标转换为第二位置坐标,并将该第一位置坐标更新存储为新的最新位置坐标。若相同,则认为采集的坐标不是最新的手部位置坐标,可能发生了识别延迟等现象,因此,对于该坐标不进行转换以及在虚拟场景中的显示,继续进行下一次的手部位置坐标的采集,直至采集到最新的手部位置坐标。
进一步地,在一些实施例中,可以将体感控制器16的原始识别区域内识别到的坐标均作为有效坐标,即第一位置坐标进行后续的转换,或者,在其他的实施例中,为了提高对于用户手部位置识别的精准度,对采集到的第一位置坐标进行收缩变换。具体地,处理器12还用于执行所述密码输入的控制程序,以在所述根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤之前,还实现如下步骤:
根据预设的坐标映射规则将所述第一位置坐标映射到预设的有效识别区域内,获取映射处理后的第三位置坐标,其中,所述预设识别区域为与所述体感控制器的原始识别区域内接的椭球形区域,所述有效识别区域为位于所述椭球形区域内的圆球形区域,所述圆球形区域的球心为所述椭球形区域的中心,所述圆球形区域的半径小于所述内接椭球形区域的赤道半径;
所述根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤包括:
根据预设的坐标变换规则,将所述第三位置坐标转换为所述虚拟场景中的第二位置坐标。
体感控制器的原始识别区域一般为一个倒圆锥形区域,对于倒圆锥形区域来说,不仅不易处理边界问题,而且原始识别区域的边缘位置的噪声区来说,对于位置识别的精准度也较低。在该实施例中,参照图3所示,体感控制器的原始识别区域有一定的高度,因此,可以取与原始的倒圆锥形区域内接的椭球形区域作为预设识别区域,识别到的位于椭球形区域内的坐标为有效坐标,按照预设的坐标变换规则将其映射到圆球形区域中,对于识别到的位于椭球形区域外部的噪声区的位置坐标,则作为无效坐标,舍弃不用。
参照图4所示,为体感控制器的识别区域沿圆球形区域的球心的纵切面示意图。如图所示,在椭球形区域的内部取一个圆球形区域,圆球形区域的球心位于椭球形区域的中心O,以便于坐标的映射计算。在该实施例中,以椭球形区域沿X轴方向和Z轴方向上的半径为赤道半径,沿Y轴方向上半径为极半径为例进行计算,其中,赤道半径分别为a、c,极半径为b,圆球形区域的半径为r,a=c,b>a,r<a。以下通过坐标映射规则将位于椭球形区域内的坐标映射到圆球形区域中。
坐标映射规则可以为:
坐标映射规则采用近似映射的方式进行坐标的转换。
其中,s'x=(r-sx×dx)/(a-dx),s'y=(r-sy×dy)/(b-dy),s'z=(r-sz×dz)/(a-dz),sx=r/a,sy=r/b,sz=r/a。参照图4所示,假设检测到的位于有效识别区域的点为R2(x′,y′,z′),则dx为(x′,y′,z′)沿X轴到椭球形区域的表面的距离,dy为(x′,y′,z′)沿Y轴到椭球形区域的表面的距离,dz为(x′,y′,z′)沿Z轴到椭球形区域的表面的距离,第一位置坐标为(x′,y′,z′),第三位置坐标为(x,y,z),如图4所示,上述点R2通过上述规则转换到椭球形区域后的位置为R1。
通过上述坐标的映射转换,使得用户手部在识别区域内的各个方向上的运动都是等效的,更加符合人的实际操作习惯,即在感知区域内,手在每个方向上产生的最大位移应该是相等的。
进一步地,作为一种实施方式,为了提高对于检测到坐标的有效利用,对于检测到的位于靠近椭球形区域外部边缘的坐标(x′,y′,z′)也进行映射转换,将其映射到圆球形区域的外部边缘,得到坐标(x,y,z)。具体地,参照以下规则,对于距离椭球形边界的距离小于E的第一位置坐标进行转换:
其中,T的值可以由用户根据识别区域的实际大小设置,E可以包括Ex、Ey和Ez;s”x=(r+dx)/(a+dx),s”y=(r+dy)/(a+dy),s″z=(r+dz)/(a+dz),dx、dy、dz的含义与上述实施例相同,在此不再赘述。例如,如图4所示,将点R4映射到圆球形区域的外部边缘,得到点R3。
可选地,关于虚拟键盘的实施方式可以有多种,在一实施例中,可以按照与计算机键盘类似的方式设置一个虚拟键盘,其中,其字符的数量以及对应的按键区域的大小可以根据实际需要设置,根据虚拟手部在虚拟场景中的位置变化判断用户触发的按键。当检测到虚拟手部在虚拟键盘的一按键区域内移动的距离在预设时长内达到预设距离时,判定用户触发该按键,则获取该按键区域对应的字符,并按照预设的字符显示方式,基于所述按键区域展示用户输入的字符,例如在虚拟场景中有一个字符输入框,可以展示用于输入的字符。关于虚拟键盘的样式,允许用户定义各式各样的输入形式,参照图5所示,为本发明密码输入的控制设备的一实施例中的虚拟键盘的示意图。为了更加准确地识别,这种交互方式的每个按键都设计比较大,也就每个按键的区域都和一只手能够覆盖的区域大小相匹配。图中设计一个三维的长方体平台,靠后的长方体平台上放着两排圆圈孔,设置两种颜色,例如,分别为黑色和红色;最初的时候红色的孔上方放着有数字的小球(假设输入的密码均为数字),球上的数字随机生成。当手通过体感控制器在三维场景中按下其中任意一个球的时候,球将会从红色的圈复制到正对面的黑色圈,而再次输入相同数字的时候,黑圈的位置会显示两个重叠的数字球,如此,就可以完成数字的输入操作。而靠前的平台上四个大按钮分别对应着取消、清除、帮助、和确定;长方体右边的两个圆柱上对应着上面标识的符号输入,当我们按下圆柱的时候,对应的符号也会显示到黑圈上方。利用这种虚拟键盘输入方式,我们的交互方式不仅增加了安全性,防止手接触键盘造成耗损,更让传统枯燥无味的键盘输入方式变得更加有趣。
本实施例提出的密码输入的控制设备,构建设置有虚拟键盘的虚拟场景,并基于用户佩戴的虚拟现实设备显示上述虚拟场景,实时获取体感控制器采集到的用户手部在预设识别区域中的第一位置坐标,根据预设的坐标变换规则将第一位置坐标转换为可在虚拟场景中显示的第二位置坐标,根据第二位置坐标更新虚拟手部在虚拟场景中的位置,根据所述虚拟手部的显示位置确定该虚拟手部是否触发虚拟键盘上的按键区域,若是,则确定触发的按键区域对应的字符,并在所述虚拟场景中显示所述字符,本发明的方案中,用户可以像操控键盘一样,在体感控制器有效感应空间区域,通过手部的运动完成交互,并通过虚拟现实的技术将三维空间中的交互信息输出到虚拟现实的显示设备显示,这个过程中,只有佩戴虚拟现实设备的用户能够看到输入和输出信息,有效地保护密码等个人隐私信息,避免密码泄露。
基于第一实施例提出本发明密码输入的控制设备的第二实施例。在本实施例中,所述根据预设的坐标变换规则,将所述第三位置坐标转换为所述虚拟场景中的第二位置坐标的步骤之前,还包括如下步骤:
获取所述第三位置坐标的邻域坐标合集;
基于所述邻域坐标合集,根据平滑滤波规则对所述第三位置坐标进行滤波处理,以得到第四位置坐标;
所述根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤包括:
根据所述预设的坐标变换规则,将所述第四位置坐标转换为所述虚拟场景中的第二位置坐标。
由于用户手部的定位对准确捕捉手部位置并在虚拟场景中显示至关重要,但是手在没有实物支撑的空间操作的时候难免会出现抖动的现象,造成误操作,因此,为了提高用户体验,在采用坐标变换规则对坐标进行转换之前,先对坐标进行去抖动处理,例如,可以采用滤波算法进行去抖动处理,在该实施例中,优选地采用高斯滤波的方式对采集到的坐标进行平滑滤波处理,过滤掉手抖动数据,并在时间序列上与前面的几帧数据关联,使得相邻的每帧数据都平滑地增长和减小。选取邻域大小为k,则邻域N={n-k+1,n-k+2,...,n},n为邻域中的最新一帧,对于最新的一帧的位置坐标,经过映射计算得到第三位置坐标(x,y,z),它在各个方向上的邻域的集合分别为:
Xn={xn-k+1,xn-k+2,...,xn},
Yn={yn-k+1,yn-k+2,...,yn},
Zn={zn-k+1,zn-k+2,...,zn},
按照以下平滑滤波规则处理:
其中,
上述M为预先设置的滤波阈值,对于相对于上一帧的位置坐标在对应方向上的差值大于上述阈值的坐标按照高斯滤波算法进行过滤,否则仍然保留检测到的坐标值。关于此处的阈值M,选择合适的阈值也是关键之处;阈值过大平滑效果好,但是容易造成延迟和跳跃;阈值过小,对抖动敏感,则达不到好的滤波效果,在该实施例中,阈值根据选取的高斯函数极值进行设计。
根据实验数据,设置k=5。在其他实施例中,可以根据采用的体感控制器16的实际识别区域的大小以及圆球形区域的大小来设置上述参数的值。
通过上述滤波处理,得到第四位置坐标(x0,y0,z0),每一帧的手的数据都被限制在一定的阈值范围内,而且在时间序列上相互关联,我们得到的手部数据就会在帧与帧之间相对平滑,具有一定的防抖动功能,可以防止用户误操作。
在得到第四位置坐标后,按照预设的坐标变换规则将其转换为在虚拟场景中显示的第二位置坐标,其中,预设的坐标变换规则为:Pd=(Po·R)·T,其中,P0为所述第四位置坐标的齐次坐标,即(x0,y0,z0,1),R为预设的旋转矩阵,T为预设的平移矩阵,Pd为所述第二位置坐标的齐次坐标。
关于上述旋转矩阵和平移矩阵,在实际操作时,需要预先确定虚拟场景中的坐标系,根据虚拟手部在虚拟场景中的确定的坐标,以及其在识别区域中对应的坐标,计算出旋转矩阵和平移矩阵。
假设虚拟场景中的坐标系与感应区域中的实际坐标之间的位置关系为,绕X轴旋转α角度,绕Y轴旋转β角度,绕Z轴旋转χ角度后,沿X轴平移fx,沿Y轴平移fy,沿Z轴平移fz;则其平移矩阵与旋转矩阵分别为:
经过上述转换计算,得到第二位置坐标的齐次坐标(xd,yd,zd,1),进而得到用于在虚拟场景中显示的坐标(xd,yd,zd),通过上述坐标转换,将体感控制器的操作与三维场景的显示对应起来,在虚拟场景中实时更新虚拟手部的位置。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有密码输入的控制程序,所述密码输入的控制程序被处理器执行时实现如下操作:
基于用户佩戴的所述虚拟现实设备,显示预先构建的设置有虚拟键盘的虚拟场景;
在预设识别区域,通过体感控制器实时采集用户手部的第一位置坐标;
根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部;
根据所述虚拟手部的显示位置确定该虚拟手部是否触发虚拟键盘上的按键区域,若是,则确定触发的按键区域对应的字符,并在所述虚拟场景中显示所述字符。
进一步地,所述密码输入的控制程序被处理器执行时还实现如下操作:
判断所述第一位置坐标与当前存储的最新位置坐标是否相同;
若是,则返回执行实时获取体感控制器采集到的用户手部在预设识别区域中的第一位置坐标的步骤;
若否,则将所述第一位置坐标更新存储为最新位置坐标,并执行根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤。
进一步地,所述密码输入的控制程序被处理器执行时还实现如下操作:
根据预设的坐标映射规则将所述第一位置坐标映射到预设的有效识别区域内,获取映射处理后的第三位置坐标,其中,所述预设识别区域为与所述体感控制器的原始识别区域内接的椭球形区域,所述有效识别区域为位于所述椭球形区域内的圆球形区域,所述圆球形区域的球心为所述椭球形区域的中心,所述圆球形区域的半径小于所述内接椭球形区域的赤道半径;
所述根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤包括:
根据预设的坐标变换规则,将所述第三位置坐标转换为所述虚拟场景中的第二位置坐标。
进一步地,所述密码输入的控制程序被处理器执行时还实现如下操作:
获取所述第三位置坐标的邻域坐标合集;
基于所述邻域坐标合集,根据平滑滤波规则对所述第三位置坐标进行滤波处理,以得到第四位置坐标;
所述根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤包括:
根据所述预设的坐标变换规则,将所述第四位置坐标转换为所述虚拟场景中的第二位置坐标。
进一步地,所述密码输入的控制程序被处理器执行时还实现如下操作:
当检测到虚拟手部在虚拟键盘的一按键区域内移动的距离在预设时长内达到预设距离时,获取该按键区域对应的字符,并按照预设的字符显示方式,基于所述按键区域展示用户输入的字符。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、设备、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种密码输入的控制设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的密码输入的控制程序,所述设备还包括虚拟现实设备以及体感控制器,所述密码输入的控制程序被所述处理器执行时实现如下步骤:
基于用户佩戴的所述虚拟现实设备,显示预先构建的设置有虚拟键盘的虚拟场景;
在预设识别区域,通过体感控制器实时采集用户手部的第一位置坐标;
根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部;
根据所述虚拟手部的显示位置确定该虚拟手部是否触发虚拟键盘上的按键区域,若是,则确定触发的按键区域对应的字符,并在所述虚拟场景中显示所述字符。
2.根据权利要求1所述的密码输入的控制设备,其特征在于,所述处理器还用于执行所述密码输入的控制程序,以在所述在预设识别区域,通过体感控制器实时采集用户手部的第一位置坐标的步骤之后,还实现如下步骤:
判断所述第一位置坐标与当前存储的最新位置坐标是否相同;
若是,则返回执行实时获取体感控制器采集到的用户手部在预设识别区域中的第一位置坐标的步骤;
若否,则将所述第一位置坐标更新存储为最新位置坐标,并执行根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤。
3.根据权利要求1或2所述的密码输入的控制设备,其特征在于,所述处理器还用于执行所述密码输入的控制程序,以在所述根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤之前,还实现如下步骤:
根据预设的坐标映射规则将所述第一位置坐标映射到预设的有效识别区域内,获取映射处理后的第三位置坐标,其中,所述预设识别区域为与所述体感控制器的原始识别区域内接的椭球形区域,所述有效识别区域为位于所述椭球形区域内的圆球形区域,所述圆球形区域的球心为所述椭球形区域的中心,所述圆球形区域的半径小于所述内接椭球形区域的赤道半径;
所述根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤包括:
根据预设的坐标变换规则,将所述第三位置坐标转换为所述虚拟场景中的第二位置坐标。
4.根据权利要求3所述的密码输入的控制设备,其特征在于,所述处理器还用于执行所述密码输入的控制程序,以在所述根据预设的坐标变换规则,将所述第三位置坐标转换为所述虚拟场景中的第二位置坐标的步骤之前,还实现如下步骤:
获取所述第三位置坐标的邻域坐标合集;
基于所述邻域坐标合集,根据平滑滤波规则对所述第三位置坐标进行滤波处理,以得到第四位置坐标;
所述根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤包括:
根据所述预设的坐标变换规则,将所述第四位置坐标转换为所述虚拟场景中的第二位置坐标。
5.一种密码输入的控制方法,其特征在于,所述方法包括:
基于用户佩戴的所述虚拟现实设备,显示预先构建的设置有虚拟键盘的虚拟场景;
在预设识别区域,通过体感控制器实时采集用户手部的第一位置坐标;
根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部;
根据所述虚拟手部的显示位置确定该虚拟手部是否触发虚拟键盘上的按键区域,若是,则确定触发的按键区域对应的字符,并在所述虚拟场景中显示所述字符。
6.根据权利要求5所述的密码输入的控制方法,其特征在于,在所述在预设识别区域,通过体感控制器实时采集用户手部的第一位置坐标的步骤之后,所述方法还包括:
判断所述第一位置坐标与当前存储的最新位置坐标是否相同;
若是,则返回执行实时获取体感控制器采集到的用户手部在预设识别区域中的第一位置坐标的步骤;
若否,则将所述第一位置坐标更新存储为最新位置坐标,并执行根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤。
7.根据权利要求5或6所述的密码输入的控制方法,其特征在于,在该第二位置坐标对应的位置显示所述虚拟手部的步骤之前,所述方法还包括:
根据预设的坐标映射规则将所述第一位置坐标映射到预设的有效识别区域内,获取映射处理后的第三位置坐标,其中,所述预设识别区域为与所述体感控制器的原始识别区域内接的椭球形区域,所述有效识别区域为位于所述椭球形区域内的圆球形区域,所述圆球形区域的球心为所述椭球形区域的中心,所述圆球形区域的半径小于所述内接椭球形区域的赤道半径;
所述根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤包括:
根据预设的坐标变换规则,将所述第三位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部。
8.根据权利要求7所述的密码输入的控制方法,其特征在于,所述根据预设的坐标变换规则,将所述第三位置坐标转换为所述虚拟场景中的第二位置坐标的步骤之前,所述方法还包括:
获取所述第三位置坐标的邻域坐标合集;
基于所述邻域坐标合集,根据平滑滤波规则对所述第三位置坐标进行滤波处理,以得到第四位置坐标;
所述根据预设的坐标变换规则,将所述第一位置坐标转换为所述虚拟场景中的第二位置坐标,并在该第二位置坐标对应的位置显示所述虚拟手部的步骤包括:
根据所述预设的坐标变换规则,将所述第四位置坐标转换为所述虚拟场景中的第二位置坐标。
9.根据权利要求6所述的密码输入的控制方法,其特征在于,所述根据所述虚拟手部的显示位置确定该虚拟手部是否触发虚拟键盘上的按键区域,若是,则确定触发的按键区域对应的字符,并在所述虚拟场景中显示所述字符的步骤包括:
当检测到虚拟手部在虚拟键盘的一按键区域内移动的距离在预设时长内达到预设距离时,获取该按键区域对应的字符,并按照预设的字符显示方式,基于所述按键区域展示用户输入的字符。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有密码输入的控制程序,所述密码输入的控制程序被处理器执行时实现如权利要求6至9中任一项所述的密码输入的控制方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710715448.5A CN107688388B (zh) | 2017-08-20 | 2017-08-20 | 密码输入的控制设备、方法及计算机可读存储介质 |
PCT/CN2017/108739 WO2019037257A1 (zh) | 2017-08-20 | 2017-10-31 | 密码输入的控制设备、方法及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710715448.5A CN107688388B (zh) | 2017-08-20 | 2017-08-20 | 密码输入的控制设备、方法及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107688388A true CN107688388A (zh) | 2018-02-13 |
CN107688388B CN107688388B (zh) | 2020-08-28 |
Family
ID=61153583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710715448.5A Active CN107688388B (zh) | 2017-08-20 | 2017-08-20 | 密码输入的控制设备、方法及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107688388B (zh) |
WO (1) | WO2019037257A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933190A (zh) * | 2019-02-02 | 2019-06-25 | 青岛小鸟看看科技有限公司 | 一种头戴显示设备及其交互方法 |
CN113031847A (zh) * | 2021-04-29 | 2021-06-25 | 中国工商银行股份有限公司 | 基于vr技术的数据输入方法及装置、电子设备及存储介质 |
CN115454240A (zh) * | 2022-09-05 | 2022-12-09 | 无锡雪浪数制科技有限公司 | 一种元宇宙虚拟现实交互体验系统及方法 |
CN117170505A (zh) * | 2023-11-03 | 2023-12-05 | 南方科技大学 | 虚拟键盘的控制方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293127A (zh) * | 2016-08-10 | 2017-01-04 | 北京英梅吉科技有限公司 | 用于三维空间中的阵列式输入方法及系统 |
CN106383652A (zh) * | 2016-08-31 | 2017-02-08 | 北京极维客科技有限公司 | 一种虚拟输入方法及系统装置 |
CN106527916A (zh) * | 2016-09-22 | 2017-03-22 | 乐视控股(北京)有限公司 | 基于虚拟现实设备的操作方法、装置及操作设备 |
CN106527696A (zh) * | 2016-10-31 | 2017-03-22 | 宇龙计算机通信科技(深圳)有限公司 | 一种实现虚拟操作的方法以及可穿戴设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103472916B (zh) * | 2013-09-06 | 2016-05-04 | 东华大学 | 一种基于人体手势识别的人机交互方法 |
CN103995592A (zh) * | 2014-05-21 | 2014-08-20 | 上海华勤通讯技术有限公司 | 穿戴式设备与终端进行信息交互的方法及终端 |
CN105979330A (zh) * | 2015-07-01 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 体感按键的定位方法及装置 |
CN105242776A (zh) * | 2015-09-07 | 2016-01-13 | 北京君正集成电路股份有限公司 | 一种智能眼镜的控制方法及智能眼镜 |
-
2017
- 2017-08-20 CN CN201710715448.5A patent/CN107688388B/zh active Active
- 2017-10-31 WO PCT/CN2017/108739 patent/WO2019037257A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293127A (zh) * | 2016-08-10 | 2017-01-04 | 北京英梅吉科技有限公司 | 用于三维空间中的阵列式输入方法及系统 |
CN106383652A (zh) * | 2016-08-31 | 2017-02-08 | 北京极维客科技有限公司 | 一种虚拟输入方法及系统装置 |
CN106527916A (zh) * | 2016-09-22 | 2017-03-22 | 乐视控股(北京)有限公司 | 基于虚拟现实设备的操作方法、装置及操作设备 |
CN106527696A (zh) * | 2016-10-31 | 2017-03-22 | 宇龙计算机通信科技(深圳)有限公司 | 一种实现虚拟操作的方法以及可穿戴设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933190A (zh) * | 2019-02-02 | 2019-06-25 | 青岛小鸟看看科技有限公司 | 一种头戴显示设备及其交互方法 |
CN109933190B (zh) * | 2019-02-02 | 2022-07-19 | 青岛小鸟看看科技有限公司 | 一种头戴显示设备及其交互方法 |
CN113031847A (zh) * | 2021-04-29 | 2021-06-25 | 中国工商银行股份有限公司 | 基于vr技术的数据输入方法及装置、电子设备及存储介质 |
CN115454240A (zh) * | 2022-09-05 | 2022-12-09 | 无锡雪浪数制科技有限公司 | 一种元宇宙虚拟现实交互体验系统及方法 |
CN115454240B (zh) * | 2022-09-05 | 2024-02-13 | 无锡雪浪数制科技有限公司 | 一种元宇宙虚拟现实交互体验系统及方法 |
CN117170505A (zh) * | 2023-11-03 | 2023-12-05 | 南方科技大学 | 虚拟键盘的控制方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107688388B (zh) | 2020-08-28 |
WO2019037257A1 (zh) | 2019-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107688388A (zh) | 密码输入的控制设备、方法及计算机可读存储介质 | |
CN104881949B (zh) | 一种基于移动终端的路况监测方法及装置 | |
CN105320251B (zh) | 眼控密码输入设备、方法及其计算机可读取纪录媒体 | |
KR101821729B1 (ko) | 의사랜덤 가이드되는 지문등록 | |
CN103493006B (zh) | 基于位置来阻止用户内容 | |
CN102929388B (zh) | 全空间姿势输入 | |
CN105045439B (zh) | 一种触摸屏多点定位方法、装置及触屏设备 | |
CN107527046B (zh) | 解锁控制方法及相关产品 | |
Rautaray et al. | Real time multiple hand gesture recognition system for human computer interaction | |
CN110942479B (zh) | 虚拟对象控制方法、存储介质及电子设备 | |
CN104699380B (zh) | 一种信息处理方法及电子设备 | |
JP2015222591A (ja) | ヒューマンコンピュータインタラクションシステム、手と手指示点位置決め方法、及び手指のジェスチャ決定方法 | |
CN110163806A (zh) | 一种图像处理方法、装置以及存储介质 | |
CN107038455A (zh) | 一种图像处理方法及装置 | |
CN109685905A (zh) | 基于增强现实的小区规划方法和系统 | |
CN108919943A (zh) | 一种基于深度传感器的实时手部追踪方法 | |
CN109933190B (zh) | 一种头戴显示设备及其交互方法 | |
CN105867613A (zh) | 基于虚拟现实系统的头控交互方法及装置 | |
CN109828672A (zh) | 一种用于确定智能设备的人机交互信息的方法与设备 | |
CN205585386U (zh) | 基于增强现实、空间扫描与手势识别技术的智能安全帽 | |
CN114529691A (zh) | 一种窗口控制方法、电子设备及计算机可读存储介质 | |
CN106909219B (zh) | 基于三维空间的交互控制方法和装置、智能终端 | |
CN107797648A (zh) | 虚拟触摸系统和图像识别定位方法、计算机可读存储介质 | |
CN109683700A (zh) | 基于视觉感知的人机交互实现方法和装置 | |
CN110716685B (zh) | 图像显示方法,图像显示装置、系统及其实体对象 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |