CN117075727A - 虚拟空间实现键盘输入的方法和设备 - Google Patents

虚拟空间实现键盘输入的方法和设备 Download PDF

Info

Publication number
CN117075727A
CN117075727A CN202311030170.XA CN202311030170A CN117075727A CN 117075727 A CN117075727 A CN 117075727A CN 202311030170 A CN202311030170 A CN 202311030170A CN 117075727 A CN117075727 A CN 117075727A
Authority
CN
China
Prior art keywords
finger
virtual
palm
joint
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.)
Pending
Application number
CN202311030170.XA
Other languages
English (en)
Inventor
潘庭安
潘仲光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dengying Technology Co ltd
Original Assignee
Dengying Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dengying Technology Co ltd filed Critical Dengying Technology Co ltd
Priority to CN202311030170.XA priority Critical patent/CN117075727A/zh
Publication of CN117075727A publication Critical patent/CN117075727A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/018Input/output arrangements for oriental characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Input By Displaying (AREA)

Abstract

本发明提供一种虚拟空间实现键盘输入的方法和设备,应用于XR扩展现实可穿戴设备;先构建能获取人手关节平面位置的预训练人手检测模型,建立以单手的任一关节点为原点的坐标系,分别在双手的手掌面的M个不同方向和每根手指伸展指向N个不同方向时的预置位置设置虚拟按键,并对虚拟按键定义输出内容;追踪手指并判断其伸展指向和计算指尖或关节位置,判断该指尖或关节位置超过虚拟按键的位置阈值时输出该虚拟按键所定义的内容,从而在虚拟空间实现键盘输入。不需要用眼睛对准指尖和虚拟空间里渲染的键盘按键,能克服由于中指、无名指和小指联动或遮挡造成的对活动手指的误判问题,以及能克服使用时画面中人手关节的坐标位置存在的漂移或抖动的问题。

Description

虚拟空间实现键盘输入的方法和设备
技术领域
本发明为虚拟键盘技术领域,具体涉及一种应用于XR扩展现实可穿戴设备、头戴式显示装置的虚拟空间实现键盘输入的方法和设备。
背景技术
Extended Reality (XR)扩展现实,是指通过计算机技术和可穿戴设备产生的一个真实与虚拟组合、可人机交互的环境,是增强现实AR、虚拟现实VR、混合现实MR等多种形式的统称。
随着(XR)扩展现实在各行各业的普及和发展,键盘作为一种用户和***交互最为普遍的输入设备之一被继承下来。传统的实体键盘是有手感的,我们可以通过熟悉的位置和利用指尖的感觉实现盲打。但是到了平板电脑、智能手机和手表时代,实体键盘被触控屏取代,我们指尖摸到触控面板的感觉都一样,只有平面感,所以再也无法盲打。到了XR眼镜时代,触控屏的输入法被延续下来,虚拟键盘甚至连平面玻璃都没有了,所以更是不能盲打。通常,虚拟键盘通过XR头戴式显示器设备被渲染投影在用户视角的前方,但是现有的虚拟键盘缺乏实体键盘的使用手感,用户需要用眼睛对准自己的指尖和虚拟按键的位置,误差经常超过1到2厘米,在指尖移动对准和压按操作过程中,视觉计算有时会分不清用户指尖是往深度按还是移动到下方的按键,存在误触发的问题。
已有专利号为ZL202110505160 .1,申请日为2021年5月10日,发明名称为一种虚拟键盘交互方法及***的在先申请,其通过预训练的手指尖检测模型,获取待检测图像数据上的所有手指尖相对预设基准位置的三维空间位置坐标;基于三维空间位置坐标,确定与手指尖对应的触控区域;当触控区域与预设的虚拟键盘的感知区域存在重叠时,获取触控区域落入感知区域的体积信息;基于体积信息及预设规则,判断与触控区域对应的感知区域所在的虚拟键盘是否触发,能够使得用户便捷、快速地与虚拟键盘交互。由于该虚拟键盘的触发跟感知区域的体积信息有关,为了防止误触发和防止用户指尖划过多个虚拟按键,整个虚拟键盘的尺寸无法缩小,影响虚拟空间的布设。
自然人用双眼和手指头触控的方法在虚拟环境下存在如下问题:
(1)联动和遮挡:如图1所示中指、无名指和小指的伸指肌腱EDC之间有斜形的结合肌腱连接在一起,这会造成三只指头的联动,眼镜的摄像头是从手背面观察手指头的动向,无名指和小指经常被遮挡住,不遮挡时当无名指和小指联动抬起时也不知道使用者本意是用哪根手指,基于手指图像数据的手指尖检测模型会误判活动手指(即做按键动作的手指)。传统的键盘和触摸屏有个好处是必须要指头真实触碰才能断定是点击什么位置。使用者自己会预测自己的指头在联动的情况下保证只有需要的那根指尖触碰到了正确的位置。因此传统电脑平板和手机都不需要解决这个问题。市面上能获取人手关节平面位置的预训练手关节检测模型开源软件(Mediapipe、Openpose、mobilehand、fusenet、seqhand、alphapose等),对于遮挡的手指关节位置是通过机器学习预测得到,存在误差,这也是为何XR眼镜到目前为止一直没有很好的手指追踪应用。
(2)漂移和抖动:通过摄像头看到的周围环境是三维的,双手在三维环境里也是三维的,但是拍下来的画面是二维的,市面上能获取人手关节平面位置的视觉计算开源软件输出的是手腕、掌关节、手指的每个关节在拍摄画面中的二维坐标位置(X,Y)。由于使用中眼镜上的摄像头或者手相对摄像头位置都在移动,对应的背景三维空间也会相对的移动,因此就会看到画面中所有关节的坐标位置都在漂移和/或抖动,这会严重影响计算关节的真实位置,造成双目计算指尖是否有触碰到对应的按键位置的误差特别大。尤其在按下去某个虚拟按键的时刻,用户认为三维环境是穿过了某个按键只有深度的移动,但是因为预训练的手指尖检测模型输出的是二维位置,就会造成视觉计算误判指尖滑动到下方的虚拟按键。
发明内容
本发明的目的在于提供一种应用于XR扩展现实可穿戴设备、头戴式显示装置的虚拟空间实现键盘输入的方法和设备,便于用户在虚拟空间实现键盘输入的快速盲打,能克服由于中指、无名指和小指联动或遮挡造成的对活动手指的误判问题,以及能克服使用时画面中人手关节的坐标位置存在的漂移或抖动的问题。
本发明虚拟空间实现键盘输入的方法,应用于各种XR扩展现实可穿戴设备、头戴式显示装置,包括如下步骤:
步骤1、构建一种能获取人手关节位置的预训练的人手检测模型,建立以单手的任一关节点为原点的坐标系,通过人手检测模型获取人手每个关节点的二维空间位置,并转换成相对单手原点的每个关节点的二维空间位置;
步骤2、分别在双手的每根手指伸展指向N个不同方向时的预置位置设置虚拟按键及其位置阈值,并对所述虚拟按键定义输出内容;
步骤3、预设手指的准备动作,人手检测模型识别出手指处于准备动作则不进行关节点追踪和指尖位置计算;
步骤4、追踪脱离准备动作的手指并判断其伸展指向的方向和计算指尖位置,进一步判断该指尖位置是否超过虚拟按键的位置阈值,若超过则输出该虚拟按键所定义的内容,从而在虚拟空间实现键盘输入。
所述步骤2中每根手指伸展指向N个不同方向,指的是,当双手悬空做类似打字的动作时,定义手指相对掌关节构成的平面向上方、向前方、向下方和向掌心方伸展的四个方向;当双手放在桌面做类似打字的动作时,定义手指相对掌关节构成的平面向上方、向前方、向掌心方伸展的三个方向和手指的非指尖关节向上抬起的第四个方向。
按照使用双手在键盘上打字的习惯,将对应左右手每根手指的向上方、向前方、向下方、向掌心方的四个伸展方向设置的虚拟按键分别对应键盘上从上而下的四个数字和字母。
所述步骤2中每根手指伸展指向N个不同方向,包括手腕/手指左右摆动后手指伸展的指向。
所述步骤4中追踪脱离准备动作的手指并判断其伸展指向的方向和指尖位置,具体判别规则为:
若脱离准备动作的手指为大拇指或食指,通过人手检测模型获取的大拇指三个关节或食指四个关节的空间位置来判断其伸展指向的方向和计算指尖位置;
若脱离准备动作的手指为中指,采用中指判定规则判断中指的伸展指向的方向和计算指尖位置:通过人手检测模型获取的中指四个关节的空间位置,计算得到中节和远节的总长度和近节和中节的弯曲程度来换算成中指的指尖相对原点的空间位置;
若脱离准备动作的手指为无名指:当无名指相对掌关节构成的平面伸展指向向前方、向下方和向掌心方时,采用中指判定规则判断其伸展指向的方向和计算指尖位置;
若脱离准备动作的手指为无名指和小指:当无名指的近节和小指的近节同时抬起时,采用中指判定规则,仅判断无名指伸展指向的方向和计算指尖位置;
若脱离准备动作的手指为小指:当小指相对掌关节构成的平面伸展指向向上方和向前方伸展时,采用中指判定规则判断其伸展指向的方向和计算指尖位置;当看不见小指近节但看得到无名指近节没有下去时,判断小指相对掌关节构成的平面伸展指向向下方,以45度斜角和远节和中节的总长度计算得到位于中节和近节之间的指尖位置;当看不见小指且无名指的近节跟随小指同时向下时,判定小指相对掌关节构成的平面伸展向内掌心,以90度的弯曲角度和远节和中节的总长度计算得到位于中节和近节之间的指尖位置。
虚拟空间实现键盘输入的方法,应用于各种XR扩展现实可穿戴设备、头戴式显示装置,包括如下步骤:
步骤1、构建一种能获取人手关节平面位置的预训练的人手检测模型,建立以单手的任一关节点为原点的坐标系,通过人手检测模型获取人手每个关节点的二维空间位置,并转换成相对单手原点的每个关节点的二维空间位置;
步骤2、分别定义双手的手掌指向N个不同方向,在手掌指向的每个预设方向的每根手指的预置位置设置虚拟按键及其位置阈值,并对所述虚拟按键定义输出内容;
步骤3、预设手指的准备动作,人手检测模型识别出手指处于准备动作则不进行关节点追踪和指尖位置计算;
步骤4、通过转动手掌来决定不同的指向,当手掌位于预设方向且手指脱离准备动作,人手检测模型追踪做伸直动作的手指,计算并判断该指尖位置是否超过虚拟按键的位置阈值,若超过,则输出该虚拟按键所定义的内容,从而在虚拟空间实现键盘输入。
所述的步骤4中通过转动手掌来决定不同的指向,当手掌位于预设方向,与该方向对应的每根指头的预设位置显示虚拟按键对应的内容,若手指脱离准备动作,人手检测模型追踪做指头回缩/或向下按动作的手指,计算并判断该指尖位置是否短于虚拟按键的位置阈值,若是,则输出该虚拟按键所定义的内容,从而在虚拟空间实现键盘输入。
所述步骤1中将单摄像头获得的相对单手原点的每个关节点的二维空间位置,利用多目摄像头采集的同步视频帧进行视觉差计算,得到相对单手原点的每个关节点的三维空间位置。
一种XR扩展现实可穿戴设备,包括至少一个视频理器,该视频处理器连接双目摄像头和左/右显示模组的驱动模块;该双目摄像头至少包括左单目摄像组和右单目摄像组,该单目摄像组由一个或多个摄像传感器构成,用以根据曝光指令产生图像帧;所述视频处理器执行上述任意一种虚拟空间实现键盘输入的方法所描述的处理步骤。
一种虚拟空间实现键盘输入芯片,该芯片包括内部封装的集成电路基片,所述集成电路基片用于执行上述任意一种虚拟空间实现键盘输入的方法所描述的处理步骤。
虚拟空间实现键盘输入的方法,应用于各种XR扩展现实可穿戴设备、头戴式显示装置,包括如下步骤:
步骤1、通过脑机接口获取手掌或者每根手指的指向及动作信息;
步骤2、分别定义双手的手掌或每根手指指向N个不同方向,在手掌或每根手指指向的每个预设方向的预置位置设有虚拟按键及其位置阈值,并对所述虚拟按键定义输出内容;
步骤3、预设手指的准备动作;
步骤4、通过转动手掌或伸出手指来决定不同的指向,当手掌或手指位于预设方向且手指脱离准备动作,通过脑机接口获取的信息确认指尖是否超过虚拟按键的位置阈值,若超过,则输出该虚拟按键所定义的内容,从而在虚拟空间实现键盘输入。
本发明具有如下有益效果:
(1)解决抖动问题:建立以某一手关节为原点的坐标系,把屏幕坐标变成手关节的相对坐标。
(2)解决漂移问题:把传统虚拟键盘输入中比手指头大的三维虚拟按键,离散成当手指向多个方向伸直时围绕指尖的虚拟按键,不需要通过移动手掌去触碰虚拟按键来实现输入,这样打字就可以不用移动整个手,而是通过手指分别指向N个方向或手掌面相对眼镜平面的M个方向来实现键盘输入,解决了漂移问题。
(3)解决手指指尖被遮挡的问题:利用手指远节和中节的总长度、该手指所有关节点的带有时序的位置信息,计算得到关节弯曲角度,并相对手掌构成的平面判断食指是否做伸直动作及其伸直方向,这样通过可见的带有时序的关节点位置就能预测到精准的指尖位置,解决了由于指尖遮挡无法精准计算指尖位置的问题。
(4)解决手指联动无法准确判断活动手指的问题:本发明假定当无名指和小指的近节同时抬起时,判断无名指为打字手指,仅计算无名指的指尖位置,忽略小指的动作;当小指和无名指近节同时向下,判断小指为打字手指,且伸直方向为向掌心内。
由于用户不再需要用眼睛看着、移动手和指尖去对准虚拟按键的位置打字,用户只需要记住每根手指N个伸直/弯曲方向和/或手掌面相对眼镜面的M个方向所对应的按键,可以在虚拟空间实现键盘输入的快速盲打,因此,本发明让基于MR眼镜的视觉计算简单而且不会误判。
附图说明
图1为中指、无名指和小指的伸指肌腱EDC之间有斜形的结合肌腱的示意图;
图2为Mediapipe官网上给出的人手可识别的21个关节点和关节点名称;
图3为本发明实施例一中双手每根手指的输入手势所定义的输入内容;
图4为人手的手指分为近节、中节、远节的示意图;
图5为本发明实施例一食指方向为向上抬起显示输入内容为“7”的示意图;
图6为本发明实施例一食指方向为向前点击显示输入内容为“Y”的示意图;
图7为本发明实施例一食指方向为向下点击显示输入内容为“H”的示意图;
图8为本发明实施例一食指方向为向掌心点击显示输入内容为“N”的示意图;
图9为本发明实施例一无名指方向为向上抬起显示输入内容为“9”的示意图;
图10为本发明实施例一无名指方向为向前点击显示输入内容为“O”的示意图;
图11为本发明实施例一无名指方向为向下点击显示输入内容为“L”的示意图;
图12为本发明实施例一中指方向为向前点击显示输入内容为“U”的示意图;
图13为现有键盘输入中右手食指所负责点击的四个按键“6”“Y”“H”和“B”;
图14为本发明中四个按键“6”“Y”“H”和“B”与右手食指四个方向的绑定示意;
图15为本发明实施案例二手掌向上方时食指伸直打字的示意图;
图16为本发明实施案例二手掌向前方时食指伸直打字的示意图;
图17为本发明实施案例二手掌向下方时食指伸直打字的示意图;
图18为本发明实施案例二手掌向内方时食指伸直打字的示意图;
图19为本发明实施案例三手掌决定四个方向以及伸直为准备动作的示意图;
图20为本发明实施案例三手掌向上方时食指缩回打字的示意图;
图21为本发明实施案例三手掌向上方时食指向下打字的示意图;
图22为本发明实施例一中手放桌面食指的非指尖的关节向上抬起的示意图;
图23为本发明实施例一中手放桌面食指的指尖指向前方的示意图;
图24为本发明实施例一中手放桌面食指的指尖指向上方的示意图;
图25为本发明实施例一中手放桌面食指的指尖指向掌心内的示意图;
图26为本发明的流程原理图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
原理说明:
市面上能获取人手关节平面位置的预训练手关节检测模型开源软件,本发明以Mediapipe为例进行说明。Mediapipe是Google的一个开源项目,是一个机器学习且主要是视觉算法的工具库,集成了人脸检测、人脸关键点、手势识别、头像分割、姿态识别等一大批模型,如图2所示,能输出人手在视频画面中21个关节点(也称关键点)的带有时序的位置信息,本发明利用所述关节点的带有时序的位置信息结合勾股定理计算距离,从而能获知手指的弯曲程度和手指指向,这些通过几何运算即可得到,不是本发明的主要创新点,此处不展开具体步骤。
由于使用中XR眼镜上的摄像头或者人手相对摄像头位置都在移动,对应的作为背景三维环境也会相对的移动,就是因为背景三维环境、双手的相对位置以及摄像头拍摄时位置三者无法相对应地固定不动,因此视觉计算会被背景与手和摄像头的相对位置所误导,视觉计算出来的关节(X,Y)是屏幕画面的(X,Y),视觉计算会采用背景三维环境作为对应坐标来调整摄像头看到的手关节(X,Y),从而显示屏幕就会看到画面中所有关节的坐标位置都在背景三维环境中漂移和/或抖动,要解决这个问题的关键就是不要让三者有相对位置的错觉。
本发明的重点在于:
(1)解决抖动问题:建立以某一手关节为原点的坐标系,把屏幕坐标变成手关节的相对坐标。也就是说原点(0,0)不是摄像头拍摄画面的某个二维位置,而是让手的某个关节作为原点(0,0)。本发明假设用手腕的中心点作为原点(0,0),那么所有的掌关节和指关节的(X,Y)都是对应手腕原点的位置。因为整个手的尺寸是固定的,所以其他关节的位置如果是对应手腕原点计算的话,就不会有抖动问题。具体调整步骤是:原点关节位置(Xo,Yo)和其他关节位置(Xi,Yi),则所有关节位置都减去原点的(Xo,Yo),原点关节的新位置是(0,0),其他关节位置是(Xi-Xo,Yi-Yo)。
举例:手腕在传统拍摄的画面假设第一帧是在(100,100)位置,食指的指尖是在(80,280),第二帧的手腕位置变成(105,105)和食指尖位置变成(85,285),本发明第一步:将第一帧中的手腕位置变成原点(0,0),那么在第一帧时的食指尖位置就是X=80-100=-20和Y=280-100=180,也就是(-20,180),第二帧中手腕位置(105,105)变成原点(0,0)的话,食指尖位置就是X=85-105=-20和Y=285-105=180,也就是(-20,180),由此可见第一帧和第二帧的食指尖位置是没有变化的,因此抖动问题就消失了。
(2)解决漂移问题:大幅度移动会造成漂移问题。因为在摄像画面上叠加了增强现实的键盘按键图像,该键盘按键图像可能是锚定在屏幕的某个位置(0DoF),或者与眼镜相对的位置(3DoF)也可能是锚定在背景三维环境的某个位置(6DoF),DoF=Degree ofFreedom。打字的时候,因为键盘总面积比手的面积大,所以用户需要移动手和对应的指尖到希望触碰的虚拟按键位置。由于指尖是在空气中触碰不存在的虚拟按键,根本没有手感,所以需要靠眼睛看着摄像头的画面来对准指尖和背景三维环境里的虚拟按键。相当于眼睛要对准摄像头画面、手指、虚拟按键、背景三维环境这四个维度进行判断。更糟糕的是XR眼镜在双目观测的时候,人手、背景、键盘三者都是不同距离的三维物体,也就是两眼会看到不同视差的三个三维物体,眼睛无法辨别多个重影的距离时会进一步造成对准的困扰。
本发明把传统虚拟键盘输入中比手指头大的三维虚拟按键,离散成当手指向多个方向伸直或弯曲时围绕指尖或任意关节的虚拟按键,如图13和14所示(本发明以上前下内四个方向举例),目的就是不需要通过移动手掌去触碰虚拟按键来实现输入,这样打字就可以不用移动整个手,而是可以通过手指或手掌分别指向N个方向实现键盘输入,解决了漂移问题。
(3)解决手指指尖被遮挡的问题:如图4所示,人手的手指远离手掌至指尖区分为三节:近节、中节、远节;如图2所示,以食指为例,利用关节点6-8的位置信息可以计算得到食指远节(关节点8和7的距离)和中节(关节点7和6)的总长度,以及关节点5-8的带有时序的位置信息可以计算得到关节弯曲角度,相对手腕原点和掌关节构成的平面则可以判断食指是否做伸直动作及其伸直方向,这样通过可见的带有时序的关节点位置就能预测到精准的指尖位置,解决了由于指尖遮挡无法精准计算指尖位置的问题。
(4)解决手指联动无法准确判断活动手指的问题:本发明假定当无名指和小指的近节同时抬起时,判断无名指为打字手指,仅计算无名指的指尖位置,忽略小指的动作;当小指和无名指近节同时向下,判断小指为打字手指,且伸直方向为向掌心内。
图5至图12展示了在二维的图像里,手指向四个不同方向伸直时所触发的虚拟按键的二维坐标要如何与关节点的坐标做对应。如果视觉计算可以获得双目的摄像头的二维视频的话,那么两个摄像头就可以根据互相之间的距离来换算关节点的深度位置信息,从而得到关节点的三维位置信息,使得空间计算更准确。但本发明不需要双目视差的计算也可以基于二维图像的位置信息来确认三维虚拟键盘的打字动作。本发明判断步骤为:判断正在做伸展动作的手指是打字手指,通过该打字手指和掌关节的四个带有时序的关节位置判断其伸展方向,当该打字手指的指尖伸展超过虚拟按键的预置位置(含可能的重叠位置)时,输出该虚拟按键定义的内容。
传统的键盘如图13,因为是平面而且大于手的尺寸,用户需要瞄准自己的指尖在三维空间里移动,触碰到需要的按键,也因此视觉计算会误判触发按键。本发明的一种应用是三维虚拟键盘,虚拟触控或按键可以在手掌和指头的上前下内四方出现。这个三维键盘可以是在固定的空间里,虚拟键盘的按键就像套在用户的手上使用。或者虚拟键盘就是自己的手,手到哪里虚拟键盘就跟着移动。本发明摆脱了虚拟空间的键盘,每根手指被多个虚拟按键包围着,虚拟键盘分开左右手键盘,随着手在任何可见空间都能打字,虚拟键盘的按键跟随手指设置,没有固定尺寸问题。本发明让基于MR眼镜的视觉计算简单而且不会误判。由于用户不再需要用眼睛看着、移动手去对准虚拟按键打字,用户只需要记住每根手指或手掌N个指向所对应的按键,所以可以在虚拟空间实现键盘输入的快速盲打。
实施例一(手指决定方向的案例)
如图26所示,本发明实施例一涉及一种虚拟空间实现键盘输入的方法,应用于各种XR扩展现实可穿戴设备、头戴式显示装置,包括如下步骤:
步骤1、构建一种能获取人手关节平面位置的预训练的人手检测模型,建立以单手的任一关节点为原点(0,0)的坐标系,通过人手检测模型获取人手每个关节点的二维空间位置(X,Y),所述人手检测模型,可以是自己开发的,也可以改进现有的开源软件(例如Mediapipe)而实现,现有的开源软件输出的是视觉计算后得到的单手21个关节点在画面中的二维坐标位置(XY),改进时,将单手的21个关节点在画面中的二维坐标位置(X,Y)分别转换成相对单手原点(0,0)的关节点的二维坐标位置(Xi-Xo,Yi-Yo),如果眼镜有多目摄像头,每个摄像头获得的二维空间位置(Xi,Yi),利用多目摄像头采集的同步视频帧进行视觉差计算,得到相对单手原点的每个关节点的三维空间位置(X,Y,Z),可以提升空间计算精度,本发明基于二维坐标位置也可以实现;
步骤2、如图5-12所示,分别在双手的每根手指伸展指向N个不同方向时的预置位置设置虚拟按键及其位置阈值,并对所述虚拟按键定义输出内容(例如字母、数字、符号、表情等),所述每根手指伸展指向N个不同方向,可以根据需要定义,例如,当双手悬空做类似打字的动作时,可以是手指相对原点和掌关节构成的平面向上方、向前方、向下方和向掌心方伸出;当双手放在桌面做类似打字的动作时,可以是手指相对原点和掌关节构成的平面向上方、向前方、向掌心方伸出(见图23至25)和手指的非指尖关节向上抬起(见图22);该虚拟按键设置和显示在在手指伸展时指尖位置附近(例如远节和中节的中间位置);本实施例中,如图3所示,为了实现虚拟键盘的快速盲打,按照使用双手在键盘上打字的习惯,将对应左右手每根手指的向上方、向前方、向下方(或指呈“L”状向上抬起)、向掌心方的四个伸展方向设置的虚拟按键分别对应键盘上从上而下的四个数字和字母,例如左手小指向上方对应“1”、向前方对应“Q”、向下方对应“A”、向掌心方对应“Z”。还可以根据应用场景和使用习惯对虚拟按键所绑定的内容及其预置位置做定义,本发明不做具体限制。所述每根手指伸展指向的方向可以更细分,例如当手腕/手指在左中右转动时,以向上方为例,就可以分为向左上方、向中上方和向右上方,可以让单根手指向不同方向伸展从而绑定更多的虚拟按键。
步骤3、预设手指的准备动作,例如可以将手指弯曲放在桌面上的手势预设为准备动作,人手检测模型识别出手指弯曲处于准备动作则不进行关节追踪和指尖位置计算;
步骤4、追踪脱离准备动作的手指并判断其伸展指向的方向和计算指尖位置,进一步判断该指尖位置是否超过虚拟按键的位置阈值,若超过则输出该虚拟按键所定义的内容,从而在虚拟空间实现键盘输入,具体为:
步骤4.1、追踪脱离准备动作的手指并判断其伸展指向的方向和指尖位置,具体判别规则为:
若脱离准备动作的手指为大拇指或食指如图5至图8所示,由于人手的大拇指和食指通常不存在遮挡问题,通过人手检测模型获取的大拇指三个关节或食指四个关节的空间位置来判断其伸展指向的方向和计算指尖位置;
若脱离准备动作的手指为中指:如图4所示,人手的手指远离手掌至指尖区分为三节:近节、中节、远节;由于远节的运动能力是有限的,只有在握拳的时候才需要卷曲远节,手指打字时远节是与中节直接连动的,不会弯曲太多,因此,采用中指判定规则判断中指的伸展指向的方向和计算指尖位置:通过人手检测模型获取的中指四个关节的空间位置,计算得到中节和远节的总长度和近节和中节的弯曲程度来换算成中指的指尖相对原点的空间位置,见图12;
若脱离准备动作的手指为无名指:如图9至图11所示,无名指向上抬起时会带动中指和小指,无名指相对手腕原点和掌关节构成的平面向前方、向下方和向掌心方的动作都不会有联动问题,所以采用中指判定规则判断其伸展指向的方向和计算指尖位置。
若脱离准备动作的手指为无名指和小指:无名指的问题是出在向上抬起的时候,因为伸直的肌腱是与中指和小指连在一起的,当无名指抬起来的时候,它会带动中指和小指一起抬起来,中指还可以强制压下不抬起来。尤其是无名指的指尖要向上伸直时,小指的近节一定跟着抬起来。相反的,如果其他指头向下弯曲,可以单独把小指向上伸直,因此,当无名指的近节和小指的近节同时抬起时,采用中指判定规则,仅判断无名指伸展指向的方向和计算指尖位置。
若脱离准备动作的手指为小指:小指和食指一样有两根伸指肌腱,小指可以上下活动也可以向外活动。所以其抬起伸直的能力很强。因此用户可以单独抬起小指的同时不让无名指抬起。对于小指来说真正的问题在遮挡。不但被遮挡,而且因为前面还有根无名指,经常看不到小指的中节。如果看不到中节,就算知道中节和远节的总长度,也无法计算得到中节的位置,无法通过对小指指尖相对原点的空间位置来判定小指伸展指向的方向。小指向上方和向前方伸展时,所有的关节都看得到没有问题,采用中指判定规则。当小指伸展方向向下方和向内掌心方的时候,由于无名指和小指的伸指肌腱EDC之间有两种斜形的结合肌腱(juncturae tendinum)连接在一起,因此当小指向内掌方打字时,它会把无名指也拉下去。小指做向下方打字时只会让无名指抖动但不会真的把无名指向下拉,一旦小指向下的动作开始向掌心移动时,无名指的近节就会开始跟随下沉。当小指的指尖触碰到掌心时,无名指的近节是几乎看不见的。因此,当看不见小指近节但看得到无名指近节没有下去时,判断小指的伸展指向为向下方,以45度斜角和远节和中节的总长度计算得到位于中节和近节之间的指尖位置;当看不见小指且无名指的近节跟随小指同时向下甚至完全看不见时,判定小指伸展方向为向内掌心,以90度的弯曲角度和远节和中节的总长度计算得到位于中节和近节之间的指尖位置。
步骤4.2、若指尖位置超过虚拟按键的位置阈值,则输出该虚拟按键所定义的内容。
实施例二(手掌决定方向的案例)
本发明实施例二与实施例一的不同之处在于:如图15-18所示,通过转动手掌来决定不同的指向,同时人手检测模型追踪脱离准备动作且做伸直动作的手指,计算并判断其指尖位置是否超过虚拟按键的位置阈值,若超过则输出该虚拟按键所定义的内容,从而在虚拟空间实现键盘输入。
所述手掌的指向可以根据需要自定义,本实施例为了便于理解给出一个举例。假设XR眼镜在用户穿戴时,眼镜面是一个平面,用户的掌关节形成的手掌面是一个平面,将手掌面与眼镜面平行的时候,定义为0度,那么:
本发明定义手掌的四个方向为:见图19,手掌面与眼镜面的角度从0度到22.5度为向上方,手掌面与眼镜面的角度>22.5度到45度为向前方,手掌面与眼镜面的角度>45度到67.5度为向下方,手掌面与眼镜面的角度>67.5度到90度为内方,所有手指头弯曲为准备动作;当手掌指向上方时,对应每根指头上方的位置会出现对应的虚拟按键,该虚拟按键预设有阈值位置,当对应的手指伸直时,人手检测模型追踪该手指,计算并判断其指尖位置超过虚拟按键的预设位置时,则输出该虚拟按键所定义的内容指尖。
用手掌决定方向的好处是没有实施例一的遮挡问题。手掌是看得见的,指头只有一个方向,也就是向与手掌同一个平行方向伸直方向。这个方向也是看得见没有遮挡的。坏处是手腕的上下转动会比手指头累,且触发每个按键增加了一个动作,也就是手腕要转动的同时指头也要伸直和回收。
实施例三(伸直为准备动作的案例)
前面两个实施例的准备动作都是手指弯曲,只有在伸展时才是打字动作。本发明也可以反过来,当所有指头都伸直的时候属于准备动作。采用实施例二的方法,用手掌面相对眼镜面的角度来决定指向,当手掌位于预设方向,与该方向对应的每根指头的预设位置显示虚拟按键对应的内容,当指头回缩/或向下按离开准备动作时,人手检测模型追踪该手指,计算并判断其指尖位置短于虚拟按键的位置阈值时,输出该虚拟按键所定义的内容,见图20和21。
本实施例为了便于理解,以左手掌向上方为例,所有手指都伸直的时候,虚拟按键“1”显示在左手小指的DIP关节,虚拟按键“2”显示在左手无名指的DIP关节,虚拟按键“3”显示在左中指的DIP关节,虚拟按键“4”显示在左食指的DIP关节,虚拟按键“5”显示在左拇指的DIP关节,假设左食指脱离伸直状态(缩回来/卷起来/向下按)时,则左食指的指尖位置离开/小于虚拟按键“4”的预设位置时,输出该虚拟按键所定义的“4”,左食指恢复到伸直的准备动作。
实施例四(脑机接口打字方法)
通过脑机接口可以获取很具体的输出内容,也可以获取身上关节的动态信息。具体的文字数字符号和表情是比较困难的,一般需要植入脑血管里对应的电极线传输。但是如果只要求知道身体哪个关节伸直和弯曲多少的话,是不需要植入电极线的。本发明可以取代视觉计算,采用脑机接口获得哪个关节/手腕向哪个方向弯曲/伸直多少的信号来实现以上打字的判断逻辑。
本发明的实施例四提供一种虚拟空间实现键盘输入的方法,应用于各种XR扩展现实可穿戴设备、头戴式显示装置,包括如下步骤:
步骤1、通过脑机接口获取手掌或者每根手指的指向及动作信息;
步骤2、分别定义双手的手掌或每根手指指向N个不同方向,在手掌或每根手指指向的每个预设方向的预置位置设有虚拟按键及其位置阈值,并对所述虚拟按键定义输出内容;
步骤3、预设手指的准备动作;
步骤4、通过转动手掌或伸出手指来决定不同的指向,当手掌或手指位于预设方向且手指脱离准备动作,通过脑机接口获取的信息确认指尖是否超过虚拟按键的位置阈值,若超过,则输出该虚拟按键所定义的内容,从而在虚拟空间实现键盘输入。
实施例五(非指尖的其他关节打字)
除了指尖位置超越附近预设的按键位置阈值的打字方法以外,也可以用其他关节打字。假设准备动作是手指弯曲并且指尖是触碰桌面的,这个时候是无法采用实施例一的向下按键的动作,除非穿破桌面。这个时候***可以定义用近节和中节之间的关节来打字。图22引用食指作为示范。食指的指尖不要求向下打字,而是设定食指的关节#6向上抬起,虚拟按键显示在关节#6上方大约0.5厘米的位置,当关节#6抬起超过虚拟按键的设置位置时,***输出预先设定的内容。
实施例六
本发明实施例六是一种XR扩展现实可穿戴设备,包括至少一个视频处理器,该视频处理器连接双目摄像头和左/右显示模组的驱动模块;该双目摄像头至少包括左单目摄像组和右单目摄像组,该单目摄像组由一个或多个摄像传感器构成,用以根据曝光指令产生图像帧;所述视频处理器执行上述任意一种虚拟空间实现键盘输入的方法所描述的处理步骤。
实施例七
本发明实施例七是一种虚拟空间实现键盘输入芯片,该芯片包括内部封装的集成电路基片,所述集成电路基片用于执行上述任意一种虚拟空间实现键盘输入的方法所描述的处理步骤。
专业人员应该还可以进一步意识到,结合本发明中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.虚拟空间实现键盘输入的方法,应用于各种XR扩展现实可穿戴设备、头戴式显示装置,其特征在于包括如下步骤:
步骤1、构建一种能获取人手关节位置的预训练的人手检测模型,建立以单手的任一关节点为原点的坐标系,通过人手检测模型获取人手每个关节点的二维空间位置,并转换成相对单手原点的每个关节点的二维空间位置;
步骤2、分别在双手的每根手指伸展指向N个不同方向时的预置位置设置虚拟按键及其位置阈值,并对所述虚拟按键定义输出内容;
步骤3、预设手指的准备动作,人手检测模型识别出手指处于准备动作则不进行关节点追踪和指尖位置计算;
步骤4、追踪脱离准备动作的手指并判断其伸展指向的方向和计算指尖位置,进一步判断该指尖位置是否超过虚拟按键的位置阈值,若超过则输出该虚拟按键所定义的内容,从而在虚拟空间实现键盘输入。
2.根据权利要求1所述的虚拟空间实现键盘输入的方法,其特征在于,所述步骤2中每根手指伸展指向N个不同方向,指的是,当双手悬空做类似打字的动作时,定义手指相对掌关节构成的平面向上方、向前方、向下方和向掌心方伸展的四个方向;当双手放在桌面做类似打字的动作时,定义手指相对掌关节构成的平面向上方、向前方、向掌心方伸展的三个方向和手指的非指尖关节向上抬起的第四个方向。
3.根据权利要求2所述的虚拟空间实现键盘输入的方法,其特征在于,按照使用双手在键盘上打字的习惯,将对应左右手每根手指的向上方、向前方、向下方、向掌心方的四个伸展方向设置的虚拟按键分别对应键盘上从上而下的四个数字和字母。
4.根据权利要求2所述的虚拟空间实现键盘输入的方法,其特征在于,所述步骤2中每根手指伸展指向N个不同方向,包括手腕/手指左右摆动后手指伸展的指向。
5.根据权利要求1所述的虚拟空间实现键盘输入的方法,其特征在于,所述步骤4中追踪脱离准备动作的手指并判断其伸展指向的方向和指尖位置,具体判别规则为:
若脱离准备动作的手指为大拇指或食指,通过人手检测模型获取的大拇指三个关节或食指四个关节的空间位置来判断其伸展指向的方向和计算指尖位置;
若脱离准备动作的手指为中指,采用中指判定规则判断中指的伸展指向的方向和计算指尖位置:通过人手检测模型获取的中指四个关节的空间位置,计算得到中节和远节的总长度和近节和中节的弯曲程度来换算成中指的指尖相对原点的空间位置;
若脱离准备动作的手指为无名指:当无名指相对掌关节构成的平面伸展指向向前方、向下方和向掌心方时,采用中指判定规则判断其伸展指向的方向和计算指尖位置;
若脱离准备动作的手指为无名指和小指:当无名指的近节和小指的近节同时抬起时,采用中指判定规则,仅判断无名指伸展指向的方向和计算指尖位置;
若脱离准备动作的手指为小指:当小指相对掌关节构成的平面伸展指向向上方和向前方伸展时,采用中指判定规则判断其伸展指向的方向和计算指尖位置;当看不见小指近节但看得到无名指近节没有下去时,判断小指相对掌关节构成的平面伸展指向向下方,以45度斜角和远节和中节的总长度计算得到位于中节和近节之间的指尖位置;当看不见小指且无名指的近节跟随小指同时向下时,判定小指相对掌关节构成的平面伸展向内掌心,以90度的弯曲角度和远节和中节的总长度计算得到位于中节和近节之间的指尖位置。
6.虚拟空间实现键盘输入的方法,应用于各种XR扩展现实可穿戴设备、头戴式显示装置,其特征在于包括如下步骤:
步骤1、构建一种能获取人手关节平面位置的预训练的人手检测模型,建立以单手的任一关节点为原点的坐标系,通过人手检测模型获取人手每个关节点的二维空间位置,并转换成相对单手原点的每个关节点的二维空间位置;
步骤2、分别定义双手的手掌指向N个不同方向,在手掌指向的每个预设方向的每根手指的预置位置设置虚拟按键及其位置阈值,并对所述虚拟按键定义输出内容;
步骤3、预设手指的准备动作,人手检测模型识别出手指处于准备动作则不进行关节点追踪和指尖位置计算;
步骤4、通过转动手掌来决定不同的指向,当手掌位于预设方向且手指脱离准备动作,人手检测模型追踪做伸直动作的手指,计算并判断该指尖位置是否超过虚拟按键的位置阈值,若超过,则输出该虚拟按键所定义的内容,从而在虚拟空间实现键盘输入。
7.根据权利要求6所述的虚拟空间实现键盘输入的方法,其特征在于:所述的步骤4中通过转动手掌来决定不同的指向,当手掌位于预设方向,与该方向对应的每根指头的预设位置显示虚拟按键对应的内容,若手指脱离准备动作,人手检测模型追踪做指头回缩/或向下按动作的手指,计算并判断该指尖位置是否短于虚拟按键的位置阈值,若是,则输出该虚拟按键所定义的内容,从而在虚拟空间实现键盘输入。
8.根据权利要求1或6所述的任意一种虚拟空间实现键盘输入的方法,其特征在于,所述步骤1中将单摄像头获得的相对单手原点的每个关节点的二维空间位置,利用多目摄像头采集的同步视频帧进行视觉差计算,得到相对单手原点的每个关节点的三维空间位置。
9.一种XR扩展现实可穿戴设备,包括至少一个视频理器,该视频处理器连接双目摄像头和左/右显示模组的驱动模块;该双目摄像头至少包括左单目摄像组和右单目摄像组,该单目摄像组由一个或多个摄像传感器构成,用以根据曝光指令产生图像帧;其特征在于,所述视频处理器执行所述权利要求1至8任意一种虚拟空间实现键盘输入的方法所描述的处理步骤。
10.一种虚拟空间实现键盘输入芯片,该芯片包括内部封装的集成电路基片,其特征在于:所述集成电路基片用于执行所述权利要求1至8任意一种虚拟空间实现键盘输入的方法所描述的处理步骤。
11.虚拟空间实现键盘输入的方法,应用于各种XR扩展现实可穿戴设备、头戴式显示装置,其特征在于包括如下步骤:
步骤1、通过脑机接口获取手掌或者每根手指的指向及动作信息;
步骤2、分别定义双手的手掌或每根手指指向N个不同方向,在手掌或每根手指指向的每个预设方向的预置位置设有虚拟按键及其位置阈值,并对所述虚拟按键定义输出内容;
步骤3、预设手指的准备动作;
步骤4、通过转动手掌或伸出手指来决定不同的指向,当手掌或手指位于预设方向且手指脱离准备动作,通过脑机接口获取的信息确认指尖是否超过虚拟按键的位置阈值,若超过,则输出该虚拟按键所定义的内容,从而在虚拟空间实现键盘输入。
CN202311030170.XA 2023-08-16 2023-08-16 虚拟空间实现键盘输入的方法和设备 Pending CN117075727A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311030170.XA CN117075727A (zh) 2023-08-16 2023-08-16 虚拟空间实现键盘输入的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311030170.XA CN117075727A (zh) 2023-08-16 2023-08-16 虚拟空间实现键盘输入的方法和设备

Publications (1)

Publication Number Publication Date
CN117075727A true CN117075727A (zh) 2023-11-17

Family

ID=88710836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311030170.XA Pending CN117075727A (zh) 2023-08-16 2023-08-16 虚拟空间实现键盘输入的方法和设备

Country Status (1)

Country Link
CN (1) CN117075727A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117472189A (zh) * 2023-12-27 2024-01-30 大连三通科技发展有限公司 具有实物感的打字或触控的实现方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117472189A (zh) * 2023-12-27 2024-01-30 大连三通科技发展有限公司 具有实物感的打字或触控的实现方法
CN117472189B (zh) * 2023-12-27 2024-04-09 大连三通科技发展有限公司 具有实物感的打字或触控的实现方法

Similar Documents

Publication Publication Date Title
EP3090331B1 (en) Systems with techniques for user interface control
KR101620777B1 (ko) 증강된 가상 터치패드 및 터치스크린
US9529523B2 (en) Method using a finger above a touchpad for controlling a computerized system
US11360551B2 (en) Method for displaying user interface of head-mounted display device
JP6524661B2 (ja) 入力支援方法、入力支援プログラムおよび入力支援装置
US9477874B2 (en) Method using a touchpad for controlling a computerized system with epidermal print information
WO2012039140A1 (ja) 操作入力装置および方法ならびにプログラム
US20170017393A1 (en) Method for controlling interactive objects from a touchpad of a computerized device
US9857868B2 (en) Method and system for ergonomic touch-free interface
US20160098094A1 (en) User interface enabled by 3d reversals
US20150363038A1 (en) Method for orienting a hand on a touchpad of a computerized system
US20140267121A1 (en) Method using a predicted finger location above a touchpad for controlling a computerized system
KR20150040580A (ko) 가상 공간 멀티 터치 인터랙션 장치 및 방법
CN117075727A (zh) 虚拟空间实现键盘输入的方法和设备
Cui et al. Mid-air interaction with optical tracking for 3D modeling
KR102184243B1 (ko) Imu 센서를 이용한 손가락 동작 기반 인터페이스 제어 시스템
US20140253486A1 (en) Method Using a Finger Above a Touchpad During a Time Window for Controlling a Computerized System
CN117472189B (zh) 具有实物感的打字或触控的实现方法
KR101488662B1 (ko) Nui 장치를 통하여 사용자와 상호작용하는 인터페이스 제공방법 및 제공장치
US20140253515A1 (en) Method Using Finger Force Upon a Touchpad for Controlling a Computerized System
Zhang et al. A novel human-3DTV interaction system based on free hand gestures and a touch-based virtual interface
KR20240044327A (ko) 제어장치, 제어 방법 및 컴퓨터 판독 가능한 기억 매체
Hoshino Hand gesture interface for entertainment games
WO2015178893A1 (en) Method using finger force upon a touchpad for controlling a computerized system
Gil WearPut: Designing Dexterous Wearable Input based on the Characteristics of Human Finger Motions

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