一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种高效的虚拟现实文本输入方法

2022-11-23 13:10:41 来源:中国专利 TAG:


1.本发明涉及一种高效的虚拟现实文本输入方法,属于人机交互技术领域。


背景技术:

2.在许多虚拟现实(vr)场景中,文本输入是一项常见且重要的任务,例如多个用户之间的协作通信和标记场景信息。
3.许多研究人员已经探索了如何在vr应用程序的上下文中高效、方便地执行文本输入,最直接的方法是接入一个物理键盘。该方法利用mr技术将物理键盘和用户的手通过虚拟或是真实的方式可视化给用户,能够达到很高的打字速度,然而这种方法引入外部设备并且在移动场景无法使用。
4.为了解决移动场景下的文本输入问题,基于触摸屏的技术被提出,这种方法通常需要接入一块触摸屏,例如平板、手机或是智能手表等,然而该方法的打字效率不高,并且很难集成到现有的vr系统中去。
5.另一个解决方案是基于语音的方法,该方法能够实现很大的打字速度,并且能够很容易被用户接受,然而它的问题在于很难实现纠错,并且在嘈杂的室外环境会影响语音识别的准确率,同时用户的个人隐私也无法得到保障。
6.半空打字和基于头部的技术也被提出,半空打字通常利用对手部动作的识别来进行输入,需要较为昂贵的传感器设备,基于头部的技术通常利用手部的移动来进行选择,这在vr环境中很容易导致用户产生眩晕感。
7.上述许多现有的文本输入技术需要额外的设备,这些设备既复杂又昂贵。手柄控制器是目前最常见的vr交互设备,因此它是虚拟环境(ve)中文本输入的潜在候选输入设备。许多研究人员已经探索了基于句柄的文本输入技术的效率、可学习性和可用性。pizzatext是一种基于双手操纵杆的文本输入技术,具有圆形键盘布局。经过两个小时的训练,专家用户可以以15.85wpm的速度打字。类鼓键盘也是双手的,借鉴了光线选择的思想,总错误率为7.2%。与双手相比,单手技术可以解放一只手去做其他交互任务。hipad是一种单手文本输入技术,它使用带有触摸板的手柄在圆形键盘上进行文本输入。新手经过60个短语的训练后可以达到13.57wpm的打字速度。但是这些方法分别存在着错误率较高(类鼓键盘)、要求设备带有操控杆(pizzatext)、要求设备带有触摸板(hipad)。


技术实现要素:

8.本发明解决的技术问题是:克服现有技术的不足,提供一种高效的虚拟现实文本输入方法,实现高打字速度、低错误率以及很好的学习性。
9.本发明采用的技术方案为:一种高效的虚拟现实文本输入方法,包括以下步骤:
10.步骤(1)、进行花式文本输入键盘布局设计,具体实现为:将经典的qwerty键盘布局分为6个部分,上两个部分为“qwert”和“yuiop”,中间两个部分为“asdf”和“ghjkl”,下两个部分为“zxcv”和“bnm”,并保留每个字母一个键的形式;将“qwert”和“zxcv”这两部分绕
着右端点分别向上和向下旋转60
°
,将“yuiop”和“bnm”这两部分绕着左端点分别向上和向下旋转60
°
,最后将空格键放置在“asdf”和“ghjkl”这两部分的中间,形成一个“花状”的键盘布局;该布局设计保留了圆形键盘的优势,尽可能减少了选择字母时所需要的位移,同时这是一种全新的键盘布局形式;
11.步骤(2)、进行花式文本输入键盘交互设计,利用手部3d位移和单次按键进行选择,具体实现为:对于手部3d位移的检测,首先利用vive focus controller右手手柄的grib按钮来建立一个交互坐标系,按下grib按钮则表示以当前手柄的3d空间位置为原点,正前方向为z轴负方向,垂直向上为y轴正方向,垂直向右为x轴正方向,建立一个交互坐标系,在该坐标系中用户移动手柄进行交互,程序执行的每帧中将坐标系原点至用户手部位置的向量拆分为位移距离和方向向量其中位移距离为向量的欧几里得范数值方向向量为向量投影至xoy平面的二维向量方向向量用于指导选择(1)中6个部分键盘,其中方向范围为[-30
°
,30
°
]选择“ghjkl”中的字母,方向范围为[30
°
,90
°
]可选择“yuiop”中的字母,方向范围为[90
°
,150
°
]可选择“qwerty”中的字母,方向范围为[150
°
,-150
°
]选择“asdf”中的字母,方向范围为[-150
°
,-90
°
]选择“zxcv”中的字母,方向范围为[-90
°
,-30
°
]选择“bnm”中的字母;位移距离通过一个6个方向上不同的分段线性函数来进行映射,在[-30
°
,30
°
]上的函数为在[30
°
,90
°
]上的函数为在[90
°
,150
°
]上的函数为]上的函数为在[150
°
,-150
°
]上的函数为在[-150
°
,-90
°
]上的函数为在[-90
°
,-30
°
]上的函数为]上的函数为其中x为位移距离f(x)为虚拟场景中键盘上的距离,虚拟场景中键盘每个键的长度为0.16。
[0012]
所述花式文本输入键盘在交互过程中,还设置了键高亮、映射位置可视化、单词预测和纠错、以及声音和手柄振动反馈这四项优化选项;在按键选择方面,使用了单个vive focus controller右手手柄,其中b按钮用于确认选择,a按钮用于退格,trigger按钮用于选择预测单词,grib按钮用于建立交互坐标系。
[0013]
本发明与现有技术相比的优点在于:
[0014]
(1)本发明将经典qwerty键盘拆分为6个部分,旋转上两部分和下两部分,并把空格键放在键盘的中心位置,从而形成一个花型的键盘。为了提高用户对键盘的敏感性和熟悉性,本发明应用了键高亮、映射位置可视化、单词预测和纠错、以及声音和手柄振动反馈这四项优化选项。通过对用户手部位移向量的分析,设计了一个优化后的合理的映射函数将它们映射到键盘上供用户进行下一步的选择操作。
[0015]
(2)本发明的方法是一种单手柄文本输入技术,在设计上兼顾了以下几个方面:打字速度快、错误率低、只使用简单的手柄和按钮(没有操纵杆或触摸板),用户学习更自然、
更容易。既能够满足高效本文输入,又能够解放另一只手去做别的交互任务。并且能够很方便的集成到现有的vr系统中去,没有引入外部设备,学习成本很低。
[0016]
(3)对比已有的方法,本发明的打字速度更快,错误率更低:本发明方法新手组的打字速度为17.65wpm,潜在专家组的打字速度为22.97wpm,新手组的错误率ncer和ter分别为0.09%和2.50%,潜在的专家组的错误率ncer和ter分别为0.04%和3.42%。当前最新的双手手柄方法pizzatext的新手组速度为8.59wpm,潜在的专家组的速度为15.85wpm,并且新手组的错误率ncer和ter分别为1.56%和5.91%,潜在的专家组的错误率ncer和ter分别为1.59%和5.08%;当前最新的单手手柄方法hipad的新手组速度为13.57wpm,其中新手组的错误率ncer为0.22%。由此可见我们的方法打字速度更快,错误率更低。
附图说明
[0017]
图1为本发明方法的实现流程图;
[0018]
图2为本发明的打字过程效果图;
[0019]
图3为本发明输入字母

a’的过程图;
[0020]
图4为本发明输入字母

r’的过程图;
[0021]
图5为本发明的布局生成示意图;
[0022]
图6为本发明在手柄上设置的功能按钮的示意图;
[0023]
图7为映射方法的示意图;
[0024]
图8为不同优化选项应用的示意图;
[0025]
图9为用户落点数据的示意图;
[0026]
图10为键盘中心区域落点数据的示意图;
[0027]
图11为对每个键重新计算映射系数的表格;
[0028]
图12为本发明的性能测试结果图。左图是在为期6天的学习性实验中10个参与者的打字速度随时间的变化图;中图是将10个参与者分为新手组和专家组后,两个组的平均打字速度随时间的变化图;右图是两个组的ncer和ter随时间的变化图。
具体实施方式
[0029]
如图1所示,本发明方法的实现过程如下:
[0030]
步骤(1)、进行布局设计,将经典的qwerty键盘布局分为6个部分,上两个部分为“qwert”和“yuiop”,中间两个部分为“asdf”和“ghjkl”,下两个部分为“zxcv”和“bnm”,并保留每个字母一个键的形式;将“qwert”和“zxcv”这两部分绕着右端点分别向上和向下旋转60
°
,将“yuiop”和“bnm”这两部分绕着左端点分别向上和向下旋转60
°
,最后将空格键放置在“asdf”和“ghjkl”这两部分的中间,形成一个“花状”的键盘布局。键盘布局的特点为:每个字母一个键;字母排列的顺序不变;键盘分为左右两个区域;该布局设计保留了圆形键盘的优势:尽可能减少选择字母时所需要的位移,同时这是一种全新的键盘布局形式。
[0031]
步骤(2)、交互设计,我们利用3d手部位移和单次按键来进行选择。首先利用vive focus controller右手手柄的grib按钮来建立一个交互坐标系,按下grib按钮则表示以当前手柄的3d空间位置为原点,正前方向为z轴负方向,垂直向上为y轴正方向,垂直向右为x轴正方向,建立一个交互坐标系,在该坐标系中用户移动手柄进行交互,程序执行的每帧中
将坐标系原点至用户手部位置的向量拆分为位移距离和方向向量其中位移距离为向量的欧几里得范数值方向向量为向量投影至xoy平面的二维向量方向向量用于指导选择(1)中6个部分键盘,其中方向范围为[-30
°
,30
°
]选择“ghjkl”中的字母,方向范围为[30
°
,90
°
]可选择“yuiop”中的字母,方向范围为[90
°
,150
°
]可选择“qwerty”中的字母,方向范围为[150
°
,-150
°
]选择“asdf”中的字母,方向范围为[-150
°
,-90
°
]选择“zxcv”中的字母,方向范围为[-90
°
,-30
°
]选择“bnm”中的字母;在距离映射方面,收集了用户在打字过程中的落点数据,并对其进行了分析,发现在每个方向上用户的动作并不完全是线性的,因此我们根据数据分析得到的信息,在每个方向上设计了一个分段线性函数。在[-30
°
,30
°
]上的函数为在[30
°
,90
°
]上的函数为在[90
°
,150
°
]上的函数为]上的函数为在[150
°
,-150
°
]上的函数为在[-150
°
,-90
°
]上的函数为在[-90
°
,-30
°
]上的函数为]上的函数为其中x为位移距离f(x)为虚拟场景中键盘上的距离,虚拟场景中键盘每个键的长度为0.16。在交互过程中,还设置了键高亮、映射位置可视化、单词预测和纠错、以及声音和手柄振动反馈这四项优化选项。上述都是创新式的交互设计,经过测试,这些优化选项都能够显著提高打字速度并降低工作负载。
[0032]
步骤(3)、速度和学习性测试,进行了为期6天的学习性实验,将实验参与者分为新手组和潜在专家组,其中新手组参与者没有使用过我们的发明,而潜在专家组参与者是使用过我们的发明的,实验结果发现,新手组的打字速度在最后一天达到了17.65wpm,相较于第一天提升了96.99%,而潜在专家组的打字速度在最后一天达到了22.97wpm,相较于第一天提升了23.56%。这些数据说明了本发明方法十分高效,并且具有良好的学习性,对新手用户十分友好。
[0033]
如图2所示。用户在vr场景中可以看见一个带有三种不同颜色的键的花型键盘,他们是根据英文字母的使用频率进行区分的,按从高频到低频分别为三种不同的颜色,用于加快用户的字母搜寻效率;在打字过程中,用户能看到一个高亮的点代表当前手部映射至键盘上的位置,用以辅助用户进行选择;该方法还会根据当前输入的字母串进行预测,用户通过选择推荐的单词进行补全和纠错,从而提高打字速度并降低错误率;当用户按下手柄上的选择键时,会听到类似于现实中敲击键盘的声音,按下删除键时会听到一声windows风格的删除声音,并且当用户控制手柄在键盘上进行移动的过程中,可以感受到手柄的振动对应于键盘上候选键的切换,这些反馈能够提高选择的准确率并优化用户体验。在3d手部位移的映射方面,本发明通过收集分析用户的落点数据,进行了优化,提出了一种优化的映射函数,并取得了很好的效果。本发明的主要创新点是:(1)设计了一个新型的花型键盘。(2)将3d手部位移交互引入了基于手柄的文本输入技术。(3)根据用户行为优化了交互和选
择之间的映射,提出了一种根据方向区分的分段线性映射函数。
[0034]
图3和图4给出了输入字母

a’和

r’的过程图,当用户握着手柄从中心原点位置移动到左端的位置时,选择字母“a”输入(图3),然后将手柄移动到左上端的位置,选择字母“r”输入(图4)。
[0035]
下面结合其他附图及具体实施方式进一步说明本发明。
[0036]
1.键盘布局设计
[0037]
如图5中所示,花型键盘的布局结合了qwerty键盘和圆形键盘共同的特点,将经典qwerty键盘分为6个部分,其中

g’键原本是属于左边键盘部分,但是为了平衡左右两个方向的按键数量,将它划分在右边键盘部分,然后旋转上两部分和下两部分,并将空格键放在整个键盘的中心,从而形成一个花型的键盘。
[0038]
2.交互方式实现
[0039]
图6展示了在单个手柄上使用的功能键,我们将3d手部移动交互引入到本发明的方法,在打字任务开始前,首先需要建立一个交互坐标系,如图7所示,将手部位移向量(从交互坐标系的原点o到手柄位置p)投影到xy平面得到投影的手部位移向量然后计算向量的长度作为手部位移的距离其中‖
·
‖2表示欧几里得范数。然后利用手部位移二元组用于键盘按键的选择,其中直接用于指示方向,通过一个映射函数将手部的当前位移投影至键盘上,映射的距离p根据公式(1)进行计算,其中k表示映射系数,再通过手柄上的选择键完成一次选择。
[0040][0041]
利用打字速度、打字错误率和工作负载这三个指标进行度量,打字速度利用公式(2)进行计算,其中t是目标短语,s是每个短语中第一次和最后一次按下之间的时间(以秒为单位);错误率total error rate(ter)=not corrected error rate(ncer) corrected error rate(cer);工作负载利用nasa-tlx问卷进行打分评判。
[0042][0043]
将键高亮、映射位置可视化、单词预测和纠错、以及声音和手柄振动反馈这四项优化选项加入到了键盘中(如图8所示)。经过实验,发现它们都显著提高了打字速度并降低了工作负载。
[0044]
3.落点数据收集以及分析
[0045]
测试了5种不同的线性映射函数,并收集了实验过程中的落点数据,针对速度表现最好的映射函数数据进行了分析,并利用公式(3)将数据可视化出来(如图9所示),图中不同颜色的半透明椭圆是每个键包含数据的置信度为95%的置信椭圆。图中的数据还包括错误选择的点,例如,当用户想要选择

h’时,可能会误选相邻的

g’键,然后必须删除

g’并重新选择

h’,将这样的错误选择点加入到

h’的集合中,上述类型数据能够更好地反应用户行为。
[0046][0047]
如图10所示,发现空格键的中心偏离了预计的坐标o(0,0),变为了o’(0.0003,0.0012),这说明用户对中心的感知有一定的偏移,因此根据公式(4)针对每个字母键重新计算了映射系数,其中是新的键盘中心o’到每个键的置信椭圆中心ci的向量,len是虚拟场景中键盘中心到每个键中心的距离。本发明没有考虑每个方向上最外侧的键,因为人们在按外侧键的时候通常不会考虑距离,将大于某个范围的距离都映射为了最外侧的键。计算的结果如图11所示,可以看到,围绕键盘中心一周的键的映射系数k均小于4.5,而超出此范围的键的k值均大于等于4.5。因此在每个方向上,使用两个k值来缩放手部位移,即在虚拟场景中空格键及周围一圈键的范围内,使用图11中第一列的k值作为映射系数,超出这个范围,使用图11中最后一列的k值作为映射系数。对这种优化后的分段线性映射进行了测试,实验表明,它能够显著提高用户的打字速度并降低错误率。
[0048][0049]
4.对本发明性能的评估
[0050]
设计了一个为期6天的用户实验用于评估我们的发明的性能,邀请了5名新手参与者组成新手组,以及5名之前实验中表现良好的参与者组成潜在的专家组,在每天中,他们需要进行长度为10个短语的测速实验。实验结果如图12所示,新手组的打字速度在最后一天达到了17.65wpm,相较于第一天提升了96.99%,而潜在专家组的打字速度在最后一天达到了22.97wpm,相较于第一天提升了23.56%,并且新手组的ncer和ter分别为0.09%和2.50%,潜在的专家组的ncer和ter分别为0.04%和3.42%。而当前最新的双手手柄方法pizzatext的最高速度为15.85wpm,并且新手组的ncer和ter分别为1.56%和5.91%,潜在的专家组的ncer和ter分别为1.59%和5.08%;当前最新的单手手柄方法hipad的最高速度为13.57wpm,其中新手组的ncer为0.22%。经过对比可以发现,本发明的方法能够实现高效打字、低错误率,以及具有良好的学习性。
[0051]
实验使用的硬件配置是intel i7-10700kf处理器,nvidia geforce 3080ti显卡,16g内存。运行在windows 10 64位系统上。
[0052]
本发明未详细阐述的技术内容属于本领域技术人员的公知技术。
[0053]
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献