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

计算机实现虚拟手仿真的制作方法

2022-02-24 13:19:22 来源:中国专利 TAG:


1.本文件涉及一种在虚拟环境中计算机实现虚拟手仿真。


背景技术:

2.在通过计算机实时生成的交互式虚拟环境中对现实及其物理属性的表示和同时感知被称为虚拟现实,简称vr。
3.例如,比如虚拟现实耳机这样的特殊输出设备用于显示虚拟环境以产生沉浸感。从不同的角度(立体投影)生成并且显示两个图像以便传达空间印象。
4.与虚拟世界交互需要被称为跟踪系统的特殊输入设备。这样的跟踪系统可以捕获和评估红外信号以便确定指示用户的头部、手或手的手指的位置和移动数据。
5.一些输出设备将力反馈传送至用户的手或身体其他部位,以便用户可以通过触觉和作为另一感官知觉的传感器技术在虚拟环境中定自己的方位。
6.专门为此目的开发的软件对于创建虚拟环境也是必要的。软件必须能够实时计算复杂的三维世界,即每秒至少25个图像,分别为用户的左眼和右眼提供立体图像。这个值根据应用—例如驾驶模拟需要每秒至少60个图像以便避免恶心(模拟器疾病)—而变化。
7.与虚拟环境中的虚拟对象进行交互也是必要的。一种用于与虚拟对象交互的常见且自然的方法是仿真虚拟手。
8.然而,特别是当虚拟对象不是由物理对象或实物模型表示时,虚拟手与虚拟对象一起运作的交互是很难实现的。精确计算的触摸力用于操纵和控制这个种类的虚拟对象。用于确定虚拟手和虚拟对象之间的力的很多方法都是已知的。这些主要基于刚体物理学。然而,刚体物理学在虚拟环境中的应用不总是传递可用的结果,因为对真实手的力反馈不存在或不充分。例如,如果手的(虚拟和真实)手指之间的距离是零,则刚体物理学的应用导致无限大的力作用于虚拟对象上。如果对象是刚性物体,则在真实场景中这不会发生。
9.例如,从文件us 10,416,824 b1、us 9,552,673 b2和wo 2019/082853 a1已知用于在虚拟环境中计算机实现虚拟手仿真的更多方法,在方法中确定在虚拟环境中作用于虚拟对象的力并且捕获和评估用户的手的形状。
10.从文件gb 2573091 a已知向用户提供力反馈。
11.需要指示方式,可以通过这样的方式改进用于在虚拟环境中计算机实现虚拟手仿真的方法。


技术实现要素:

12.在虚拟环境中计算机实现虚拟手仿真包括:
13.读入代表用户的真实手的形状的手部数据集,
14.将手部数据集应用于训练过的人工神经网络,以及
15.用数据集已经应用于的人工神经网络确定输出数据集,输出数据集指示使用数据集已经应用于的人工神经网络的作用力。
16.换句话说,提出使用训练过的人工神经网络,而不是分析方法。
17.人工神经网络(简称ann)是人工神经元的网络。人工神经网络的这些神经元(或节点)是分层设置的,并且通常以固定的层次结构彼此连接。神经元典型地连接在两层之间,但是在更少的情况下也在一层内连接。
18.在投入运行之前的训练阶段过程中,训练这样的人工神经网络。在训练阶段过程中修改人工神经网络,以便为特定输入模式创建相关的输出模式。这可以通过监督式学习、无监督学习、强化学习或随机学习发生。
19.在这里使用训练过的人工神经网络提供从其学习能力、其并行操作、其容错性以及其关于故障的鲁棒性中得益的优势。
20.根据一实施例,在另一步骤中确定指示虚拟对象的反作用力的反作用力数据集,并且在另一步骤中根据反作用力数据集移动虚拟对象。换句话说,虚拟对象因此在虚拟环境中类似地移动。因此可以进一步地改善沉浸感。
21.根据另一实施例,在另一步骤中基于反作用力数据集确定用于反馈的反馈数据集,并且在另一步骤中反馈数据集传输至触觉反馈装置。换句话说,用户因此从他在虚拟环境中移动的虚拟对象接收反馈。因此可以再次改善沉浸感。
22.根据另一实施例,用基于测量数据的训练数据集来训练人工神经网络。训练数据集是以用跟踪系统捕获的值为基础的。因此使用在现实世界中确定的值。因此训练人工神经网络来复制现实世界中的事件。此外,还可以使用人工自然的训练数据集,即基于仿真的训练数据集。例如,人工自然的训练数据集可以以基于测量数据的训练数据集的修改为基础。因此可以扩宽用于训练人工神经网络的数据库。
23.根据另一实施例,循环卷积神经网络(r-cnn)用作为人工神经网络。基本上,经典卷积神经网络(cnn)的结构是由一个或多个卷积层、随后的池化层组成的。与前馈神经网络相比,以从一层中的神经元到同一层中或到前一层中的神经元的连接为特征的人工神经网络,被称为循环神经网络(rnn)。在输入端提供至少一个卷积神经网络、随后至少一个循环神经网络的人工神经网络在这里被称为循环卷积神经网络。
24.根据另一实施例,人工神经网络包含双多对多架构。换句话说,人工神经网络包含多个输入和多个输出。因此可以读入多维输入数据集,并且可以提供多维输出数据集。
25.根据另一实施例,人工神经网络包含长短期记忆网络(lstm)。这样的长短期记忆网络改善训练。当训练人工神经网络时使用误差梯度下降法,并且可以想象成登山者寻找最低的山谷的方式。这可能达不到深层、多层人工神经网络的标准。长短期记忆网络提供抵消无效权重更新的附加信息,并且可以说在训练时扩大搜索半径。
26.本公开还包括用于计算机实现仿真的计算机程序产品和系统。
附图说明
27.现在将参考附图解释本公开,在附图中:
28.图1显示场景的示意图,在该场景中在计算机实现仿真的过程中在虚拟环境中模拟虚拟手;
29.图2显示用于这样的仿真的系统的部件的示意图;
30.图3显示用于操作在图2中显示的系统的方法流程的示意图。
具体实施方式
31.首先参考图1。
32.说明了这样一种场景:用户6执行与虚拟环境2中的虚拟对象12的交互。在本示例性实施例中,用户6用他的虚拟手4抓住虚拟对象12。
33.提供系统16来生成虚拟环境2,该系统16被连接以用于与用户8穿戴在他的头部的hmi(human machine interface,人机界面)18进行数据交换,hmi 18在本示例性实施例中设计为头戴式显示器。
34.将用户8的当前观看方向纳入到考虑之中,系统16设计用于基于虚拟环境2来提供图像数据bd,该图像数据bd接着通过hmi 18在视觉上向用户8显示。
35.系统16进一步地设计用于读入来自跟踪装置20的数据。跟踪装置20设计用于捕获例如指示在实际环境中的用户6的头部、手和/或手指的位置和移动数据pbd,并且设计用于以手部数据集hds的形式向系统16提供位置和移动数据pbd。在本示例性实施例中,跟踪装置20为此获得用户6的真实手8的红外信号。
36.系统16进一步地设计用于生成反馈数据集fds并且将反馈数据集fds传输至触觉反馈装置14。触觉反馈装置14包含一个或多个执行器(未示出)以便在用户6的交互过程中向用户6提供触觉反馈。
37.系统16和所提及的部件都可以包含用于这个目的并且用于在下面描述的任务和功能的硬件和/或软件组件。
38.应该注意的是,在本场景中,用户6在虚拟环境2中用他的虚拟手4抓住虚拟对象12,但是不存在类似于虚拟对象12的真实对象。
39.因此在本示例性实施例中,没有对真实手8的反馈力。例如,如果真实手8的手指之间的距离是零,则在这里刚体物理学的应用会导致无限大的力,该无限大的力将作用于虚拟对象12上。然而,这在现实场景中是不能发生的。
40.为了也能够管理在虚拟环境2中的计算机实现虚拟手4仿真这些种类的场景,现在附加参考图2解释系统16的开发。
41.系统16包含训练过的人工神经网络10,手部数据集hds可以应用于该训练过的人工神经网络10并且该训练过的人工神经网络10接着提供指示作用于虚拟对象12的力的输出数据集ads。
42.例如,手部数据集hds可以以图像数据集的形式存在并且包含多个时间上连续的部分输入数据集ts1、ts2、ts3

tsn,每个部分输入数据集ts1、ts2、ts3

tsn指示在特定时间点t1、t2、t3

tn的真实手8的手的形状。换句话说,手部数据集hds可以被认为是一种电影或甚至认为是4d数据集。
43.例如,输出数据集ads可以以具有多个时间上连续的部分输出数据集ta1、ta2、ta3

tan的数组的形式存在,每个部分输出数据集ta1、ta2、ta3

tan指示在特定时间点t1、t2、t3

tn作用于虚拟对象12的力。
44.换句话说,人工神经网络10可以被认为具有多对多架构。
45.此外,人工神经网络10可以被认为是循环卷积神经网络。在输入层,人工神经网络10包含多个卷积神经网络22a、22b、22c

22n,并且在后续层,在本示例性实施例中,多个循环神经网络24a、24b、24c

24n中的每一个都具有长短期记忆网络。
46.在训练阶段过程中已经训练过人工神经网络10之后,相应的部分输入数据集ts1、ts2、ts3

tsn分别应用于多个卷积神经网络22a、22b、22c

22n中的一个。
47.多个卷积神经网络22a、22b、22c

22n中的每一个进一步地提供中间数据集zs1、zs2、zs3...zsn作为输出,该中间数据集zs1、zs2、zs3...zsn接着应用于对应于后续时间点t1、t2、t3

tn的每个关联的循环神经网络24a、24b、24c

24n。
48.循环神经网络24a、24b、24c

24n中的每一个接着提供部分输出数据集ta1、ta2、ta3

tan。
49.循环神经网络24a、24b、24c中的每一个进一步地提供传输数据集ud1、ud2、us3,传输数据集ud1、ud2、us3传输至循环神经网络24b、24c

24n并且在循环神经网络24b、24c

24n中进行评估,该循环神经网络24b、24c

24n分配至相应的后续时间点t2、t3

tn。换句话说,人工神经网络10设计为单向循环神经网络。
50.与本示例性实施例不同,人工神经网络10还可以设计为双向循环神经网络(brnn)。
51.双向循环神经网络将两个相反方向的隐藏层连接至相同的输出。通过这种形式的训练,输出层可以同时从先前(向后)和未来(向前)状态接收信息。因此可以增加可用于人工神经网络的输入信息的量。双向循环神经网络允许将输入数据的上下文纳入到考虑中。在双向循环神经网络中,常规循环神经网络的神经元分成两个方向,一个用于正时间方向(向前状态)并且一个用于负时间方向(向后状态)。这两个状态的输出不连接至在相反方向上的状态的输入。与正常循环神经网络相比,通过使用两个时间方向,使用来自当前时间范围的过去和未来信息的输入信息。可以用与循环神经网络相似的算法来训练双向循环神经网络,因为两个方向的神经元没有任何交互。然而,如果应用反向传播,则需要附加过程,因为不能同时发生输入和输出层的更新。用于训练的一般方法如下:在向前遍历中,首先遍历向前状态和向后状态,接着遍历输出神经元。在向后遍历中。首先遍历输出神经元,并且接着遍历向前和向后状态。在已经执行向前和向后遍历之后,更新权值。
52.在通过这种方式确定的虚拟对象12上的力的输出数据集ads的帮助下,系统16可以确定指示虚拟对象12的反作用力的反作用力数据集rds(参照图1),并且可以根据反作用力数据集rds在虚拟环境2中移动虚拟对象12,并且可以适当地调整图像数据bd。
53.在反作用力数据集rds的情况下,系统16此外可以确定用于反馈的反馈数据集fds,并且将反馈数据集fds传输至触觉反馈装置14。
54.现在附加参考图3解释用于操作系统16的过程流程。
55.在开始人工神经网络10的实际运行之前,在训练阶段过程中特别地用训练数据集训练人工神经网络10。
56.训练数据集是以用跟踪装置20捕获的值为基础的。因此使用在现实世界中确定的值。因此训练人工神经网络10来复制现实世界中的事件。此外,还可以使用人工自然的训练数据集,即基于仿真的训练数据集。例如,人工自然的训练数据集可以以基于测量数据的训练数据集的修改为基础。因此可以扩宽用于训练人工神经网络10的数据集。
57.为了训练人工神经网络10—即为了调整神经元连接的权重—可以使用误差反向传播方法。
58.在第一步骤s100中开始方法。
59.在另一步骤s200中,读入即输入代表用户6的真实手8的形状的手部数据集hds。
60.在另一步骤s300中,手部数据集hds应用于训练过的人工神经网络10。
61.在另一步骤s400中,用数据集已经应用于的人工神经网络10确定作用于虚拟对象12的力的输出数据集ads,输出数据集ads指示使用数据集已经应用于的人工神经网络10的作用力。
62.在另一步骤s500中,确定指示虚拟对象12的反作用力的反作用力数据集rds。
63.在另一步骤s600中,根据反作用力数据集rds移动虚拟对象12。
64.在另一步骤s700中,根据反作用力数据集rds确定用于反馈的反馈数据集fds。
65.在另一步骤s800中,反馈数据集fds传输至触觉反馈装置14,并且接着通过触觉反馈装置14输出对应于反馈数据集fds的反馈。
66.与本示例性实施例不同,步骤的顺序还可以是不同的。此外,还可以在同一时间即同时执行多个步骤。再次与本示例性实施例不同,此外可以跳过或省略单独的步骤。
67.因此可以改进在虚拟环境2中计算机实现虚拟手4仿真。
68.附图标记列表
[0069]2ꢀꢀꢀꢀ
虚拟环境
[0070]4ꢀꢀꢀꢀ
虚拟手
[0071]6ꢀꢀꢀꢀ
用户
[0072]8ꢀꢀꢀꢀ
真实手
[0073]
10
ꢀꢀꢀ
人工神经网络
[0074]
12
ꢀꢀꢀ
虚拟对象
[0075]
14
ꢀꢀꢀ
触觉反馈装置
[0076]
16
ꢀꢀꢀ
系统
[0077]
18
ꢀꢀꢀ
hmi
[0078]
20
ꢀꢀꢀ
跟踪装置
[0079]
22a
ꢀꢀ
卷积神经网络
[0080]
22b
ꢀꢀ
卷积神经网络
[0081]
22c
ꢀꢀ
卷积神经网络
[0082]
22n
ꢀꢀ
卷积神经网络
[0083]
24a
ꢀꢀ
循环神经网络
[0084]
24b
ꢀꢀ
循环神经网络
[0085]
24c
ꢀꢀ
循环神经网络
[0086]
24n
ꢀꢀ
循环神经网络
[0087]
ads
ꢀꢀ
输出数据集
[0088]
fds
ꢀꢀ
反馈数据集
[0089]
hds
ꢀꢀ
手部数据集
[0090]
pbd
ꢀꢀ
位置和移动数据
[0091]
rds
ꢀꢀ
反作用力数据集
[0092]
ta1
ꢀꢀ
部分输出数据集
[0093]
ta2
ꢀꢀ
部分输出数据集
[0094]
ta3
ꢀꢀ
部分输出数据集
[0095]
tan
ꢀꢀ
部分输出数据集
[0096]
ts1
ꢀꢀ
部分输入数据集
[0097]
ts2
ꢀꢀ
部分输入数据集
[0098]
ts3
ꢀꢀ
部分输入数据集
[0099]
tsn
ꢀꢀ
部分输入数据集
[0100]
zs1
ꢀꢀ
中间数据集
[0101]
zs2
ꢀꢀ
中间数据集
[0102]
zs3
ꢀꢀ
中间数据集
[0103]
zsn
ꢀꢀ
中间数据集
[0104]
t1
ꢀꢀꢀ
时间点
[0105]
t2
ꢀꢀꢀ
时间点
[0106]
t3
ꢀꢀꢀ
时间点
[0107]
tn
ꢀꢀꢀ
时间点
[0108]
s100 步骤
[0109]
s200 步骤
[0110]
s300 步骤
[0111]
s400 步骤
[0112]
s500 步骤
[0113]
s600 步骤
[0114]
s700 步骤
[0115]
s800 步骤
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献