首页 / 专利库 / 人工智能 / 虚拟界面 / 用于眼睛跟踪的个性化神经网络

用于眼睛跟踪的个性化神经网络

阅读:978发布:2020-05-08

专利汇可以提供用于眼睛跟踪的个性化神经网络专利检索,专利查询,专利分析的服务。并且本文公开了一种可穿戴显示系统,其用于捕获用户的眼睛的再训练眼睛图像以再训练用于眼睛 跟踪 的神经网络。当 用户界面 (UI)事件相对于在显示器的显示 位置 处显示的UI设备发生时,该系统使用图像捕获设备来捕获再训练眼睛图像。该系统可以生成包括再训练眼睛图像和再训练眼睛图像中(例如,与UI设备的显示位置有关的)用户的眼睛的眼睛姿势的再训练集,并获得使用再训练集再训练的再训练神经网络。,下面是用于眼睛跟踪的个性化神经网络专利的具体信息内容。

1.一种可穿戴显示系统,包括:
图像捕获设备,其被配置为捕获用户的眼睛的多个再训练眼睛图像;
显示器;
非暂时性计算机可读存储介质,其被配置为存储:
所述多个再训练眼睛图像,以及
用于眼睛跟踪的神经网络;以及
与所述图像捕获设备、所述显示器和所述非暂时性计算机可读存储介质通信的硬件处理器,所述硬件处理器由可执行指令编程为:
接收由所述图像捕获设备捕获的所述多个再训练眼睛图像,
其中,当用户界面(UI)事件相对于在所述显示器的显示位置处显示给用户的UI设备发生时,所述多个再训练眼睛图像中的再训练眼睛图像被所述图像捕获设备捕获;生成包括再训练输入数据和对应的再训练目标输出数据的再训练集,
其中,所述再训练输入数据包括所述再训练眼睛图像,以及
其中,所述对应的再训练目标输出数据包括所述再训练眼睛图像中与所述显示位置有关的所述用户的所述眼睛的眼睛姿势;以及
获得再训练神经网络,所述再训练神经网络使用所述再训练集根据用于眼睛跟踪的神经网络被再训练。
2.根据权利要求1所述的可穿戴显示系统,其中,为了获得所述再训练神经网络,所述硬件处理器被编程为至少:
使用所述再训练集来再训练用于眼睛跟踪的所述神经网络,以生成所述再训练神经网络。
3.根据权利要求1所述的可穿戴显示系统,其中,为了获得所述再训练神经网络,所述硬件处理器被编程为至少:
将所述再训练集发送到远程系统;以及
从所述远程系统接收所述再训练神经网络。
4.根据权利要求3所述的可穿戴显示系统,其中,所述远程系统包括计算系统。
5.根据权利要求1所述的可穿戴显示系统,其中,为了接收所述用户的所述多个再训练眼睛图像,所述硬件处理器由所述可执行指令编程为至少:
在所述显示器上在所述显示位置处向所述用户显示所述UI设备;
确定所述UI事件相对于所述UI设备的发生;以及
从所述图像捕获设备接收所述再训练眼睛图像。
6.根据权利要求1所述的可穿戴显示系统,其中,所述硬件处理器还由所述可执行指令编程为:
使用所述显示位置确定所述再训练眼睛图像中所述眼睛的所述眼睛姿势。
7.根据权利要求6所述的可穿戴显示系统,其中,所述再训练图像中所述眼睛的所述眼睛姿势包括所述显示位置。
8.根据权利要求1所述的可穿戴显示系统,其中,为了接收所述用户的所述多个再训练眼睛图像,所述硬件处理器由所述可执行指令编程为至少:
基于所述再训练眼睛图像生成第二多个第二再训练眼睛图像;以及
使用所述显示位置和概率分布函数来确定所述第二多个第二再训练眼睛图像中的第二再训练眼睛图像中所述眼睛的眼睛姿势。
9.根据权利要求1所述的可穿戴显示系统,其中,为了接收所述用户的所述多个再训练眼睛图像,所述硬件处理器由所述可执行指令编程为至少:
从所述图像捕获设备接收所述用户的所述眼睛的多个眼睛图像,
其中,当所述UI事件相对于在所述显示器的所述显示位置处显示给所述用户的所述UI设备发生时,所述多个眼睛图像中的第一眼睛图像被所述用户设备捕获;从所述显示位置沿着所述UI事件之前所述用户的运动向后到所述运动的开始,确定所述UI设备的投影显示位置;
确定在所述运动的所述开始时捕获的所述多个眼睛图像中的第二眼睛图像中所述UI设备的所述投影显示位置和第二显示位置具有阈值距离;以及
生成包括所述多个眼睛图像中从所述第二眼睛图像到所述第一眼睛图像的眼睛图像的所述再训练输入数据,
其中,所述对应的再训练目标输出数据包括所述眼睛图像的每个眼睛图像中与所述眼睛图像中所述UI设备的显示位置有关的所述用户的所述眼睛的眼睛姿势。
10.根据权利要求1所述的可穿戴显示系统,其中,所述眼睛的所述眼睛姿势是所述显示位置。
11.根据权利要求1所述的可穿戴显示系统,其中,所述硬件处理器还由所述可执行指令编程为至少:使用所述UI设备的所述显示位置来确定所述眼睛的所述眼睛姿势。
12.根据权利要求1所述的可穿戴显示系统,其中,为了生成所述再训练集,所述硬件处理器还由所述可执行指令编程为至少:
确定所述再训练眼睛图像中所述眼睛的所述眼睛姿势是在多个眼睛姿势区域中的第一眼睛姿势区域中;
确定所述UI设备在所述第一眼睛姿势区域中的分布概率;以及
以与所述分布概率有关的包含概率生成包括所述再训练眼睛图像的所述再训练输入数据。
13.根据权利要求1所述的可穿戴显示系统,其中,所述硬件处理器还由所述可执行指令编程为至少:
使用包括训练输入数据和对应的训练目标输出数据的训练集来训练用于眼睛跟踪的所述神经网络,
其中,所述训练输入数据包括多个用户的多个训练眼睛图像,以及
其中,所述对应的训练目标输出数据包括所述多个训练眼睛图像中所述多个用户的眼睛的眼睛姿势。
14.根据权利要求13所述的可穿戴显示系统,其中,所述再训练集的所述再训练输入数据包括所述多个训练眼睛图像中的至少一个训练眼睛图像。
15.根据权利要求13所述的可穿戴显示系统,其中,所述再训练集的所述再训练输入数据不包括所述多个训练眼睛图像中的训练眼睛图像。
16.根据权利要求1所述的可穿戴显示系统,其中,为了再训练用于眼睛跟踪的所述神经网络,所述硬件处理器由所述可执行指令编程为至少:
用所述神经网络的权重初始化所述再训练神经网络的权重。
17.根据权利要求1所述的可穿戴显示系统,其中,所述硬件处理器由所述可执行指令编程为使所述用户设备:
从所述图像捕获设备接收所述用户的眼睛图像;以及
使用所述再训练神经网络确定所述眼睛图像中所述用户的眼睛姿势。
18.一种用于训练用于眼睛跟踪的神经网络的系统,所述系统包括:
存储可执行指令的计算机可读存储器;以及
一个或多个处理器,其由可执行指令编程为至少:
接收用户的眼睛的多个再训练眼睛图像,
其中,当用户界面(UI)事件相对于在用户设备的显示位置处显示给用户的UI设备发生时,所述多个再训练眼睛图像中的再训练眼睛图像被捕获;
生成包括再训练输入数据和对应的再训练目标输出数据的再训练集,
其中,所述再训练输入数据包括所述再训练眼睛图像,以及
其中,所述对应的再训练目标输出数据包括所述再训练眼睛图像中与所述显示位置有关的所述用户的所述眼睛的眼睛姿势;以及
使用所述再训练集来再训练用于眼睛跟踪的神经网络,以生成再训练神经网络。
19.根据权利要求18所述的系统,其中,为了接收所述用户的所述多个再训练眼睛图像,所述一个或多个处理器由所述可执行指令编程以至少使所述用户设备:
使用显示器在所述显示位置处向所述用户显示所述UI设备;
确定所述UI事件相对于所述UI设备的发生;
使用成像系统捕获所述再训练眼睛图像;以及
将所述再训练眼睛图像发送到所述系统。
20.根据权利要求19所述的系统,其中,为了接收所述用户的所述多个再训练眼睛图像,所述一个或多个处理器进一步由所述可执行指令编程为至少:
使用所述显示位置确定所述再训练眼睛图像中所述眼睛的所述眼睛姿势。
21.根据权利要求20所述的系统,其中,所述再训练图像中所述眼睛的所述眼睛姿势包括所述显示位置。
22.根据权利要求19所述的系统,其中,为了接收所述用户的所述多个再训练眼睛图像,所述一个或多个处理器由所述可执行指令编程为至少:
基于所述再训练眼睛图像生成第二多个第二再训练眼睛图像;以及
使用所述显示位置和概率分布函数来确定所述第二多个第二再训练眼睛图像中的第二再训练眼睛图像中所述眼睛的眼睛姿势。
23.根据权利要求18所述的系统,其中,为了接收所述用户的所述多个再训练眼睛图像,所述一个或多个处理器由所述可执行指令编程为至少:
接收所述用户的所述眼睛的多个眼睛图像,
其中,当所述UI事件相对于在所述用户设备的所述显示位置处显示给所述用户的所述UI设备发生时,所述多个眼睛图像中的第一眼睛图像被所述用户设备捕获;
从所述显示位置沿着所述UI事件之前所述用户的运动向后到所述运动的开始,确定所述UI设备的投影显示位置;
确定在所述运动的所述开始时捕获的所述多个眼睛图像中的第二眼睛图像中所述UI设备的所述投影显示位置和第二显示位置具有阈值距离;以及
生成包括所述多个眼睛图像中从所述第二眼睛图像到所述第一眼睛图像的眼睛图像的所述再训练输入数据,
其中,所述对应的再训练目标输出数据包括所述眼睛图像的每个眼睛图像中与该眼睛图像中所述UI设备的显示位置有关的所述用户的所述眼睛的眼睛姿势。
24.根据权利要求18所述的系统,其中,所述眼睛的所述眼睛姿势是所述显示位置。
25.根据权利要求18所述的系统,其中,所述一个或多个处理器进一步由所述可执行指令编程为至少:使用所述UI设备的所述显示位置,确定所述眼睛的所述眼睛姿势。
26.根据权利要求18所述的系统,其中,为了生成所述再训练集,所述一个或多个处理器由所述可执行指令编程为至少:
确定所述再训练眼睛图像中所述眼睛的所述眼睛姿势是在多个眼睛姿势区域中的第一眼睛姿势区域中;
确定所述UI设备在所述第一眼睛姿势区域中的分布概率;以及
以与所述分布概率有关的包含概率生成包括所述再训练眼睛图像的所述再训练输入数据。
27.根据权利要求18所述的系统,其中,所述一个或多个处理器进一步由所述可执行指令编程为至少:
使用包括训练输入数据和对应的训练目标输出数据的训练集来训练用于眼睛跟踪的所述神经网络,
其中,所述训练输入数据包括多个用户的多个训练眼睛图像,以及
其中,所述对应的训练目标输出数据包括所述多个训练眼睛图像中所述多个用户的眼睛的眼睛姿势。
28.根据权利要求27所述的系统,其中,所述再训练集的所述再训练输入数据包括所述多个训练眼睛图像中的至少一个训练眼睛图像。
29.根据权利要求27所述的系统,其中,所述再训练集的所述再训练输入数据不包括所述多个训练眼睛图像中的训练眼睛图像。
30.根据权利要求18所述的系统,其中,为了再训练用于眼睛跟踪的所述神经网络,所述一个或多个处理器由所述可执行指令编程为至少:
用所述神经网络的权重初始化所述再训练神经网络的权重。
31.根据权利要求18所述的系统,其中,所述一个或多个处理器由所述可执行指令编程为使所述用户设备:
捕获所述用户的眼睛图像;以及
使用所述再训练神经网络确定所述眼睛图像中所述用户的眼睛姿势。
32.一种用于再训练神经网络的方法,所述方法包括:
在硬件处理器的控制下:
接收用户的眼睛的多个再训练眼睛图像,
其中,当用户界面(UI)事件相对于在显示位置处显示给用户的UI设备发生时,所述多个再训练眼睛图像中的再训练眼睛图像被捕获;
生成包括再训练输入数据和对应的再训练目标输出数据的再训练集,
其中,所述再训练输入数据包括所述再训练眼睛图像,以及
其中,所述对应的再训练目标输出数据包括所述再训练眼睛图像中与所述显示位置有关的所述用户的所述眼睛的眼睛姿势;以及
使用所述再训练集再训练神经网络以生成再训练神经网络。
33.根据权利要求32所述的方法,其中,接收所述用户的所述多个再训练眼睛图像包括:
使用显示器在所述显示位置处向所述用户显示所述UI设备;
确定所述UI事件相对于所述UI设备的发生;以及
使用成像系统捕获所述再训练眼睛图像。
34.根据权利要求33所述的方法,其中,接收所述用户的所述多个再训练眼睛图像还包括:
基于所述再训练眼睛图像生成第二多个第二再训练眼睛图像;以及
使用所述显示位置和概率分布函数确定所述第二多个第二再训练眼睛图像中的第二再训练眼睛图像中所述眼睛的眼睛姿势。
35.根据权利要求34所述的方法,其中,所述概率分布函数包括所述UI设备的预定概率分布。
36.根据权利要求34所述的方法,其中,所述UI设备包括第一组件和第二组件,其中,所述概率分布函数包括相对于所述第一组件的分布概率分布函数和相对于所述第二组件的第二概率分布函数的组合概率分布。
37.根据权利要求36所述的方法,其中,所述UI设备的所述第一组件包括图形UI设备,并且其中,所述UI设备的所述第二组件包括所述图形UI设备的文本描述。
38.根据权利要求32所述的方法,其中,接收所述用户的所述多个再训练眼睛图像包括:
接收所述用户的所述眼睛的多个眼睛图像,
其中,当所述UI事件相对于在所述显示位置处向所述用户显示的所述UI设备发生时,所述多个眼睛图像中的第一眼睛图像被捕获;
从所述显示位置沿着所述UI事件之前运动向后到所述运动的开始,确定所述UI设备的投影显示位置;
确定在所述运动的所述开始时捕获的所述多个眼睛图像中的第二眼睛图像中所述UI设备的所述投影显示位置和第二显示位置具有阈值距离;以及
生成包括所述多个眼睛图像中从所述第二眼睛图像到所述第一眼睛图像的眼睛图像的所述再训练输入数据,
其中,所述对应的再训练目标输出数据包括在所述眼睛图像的每个眼睛图像中与所述眼睛图像中所述UI设备的显示位置有关的所述用户的所述眼睛的眼睛姿势。
39.根据权利要求38所述的方法,其中,所述运动包括运动。
40.根据权利要求38所述的方法,其中,所述运动包括匀速运动。
41.根据权利要求38所述的方法,还包括:
在所述UI事件之前确定所述运动的存在。
42.根据权利要求38所述的方法,还包括:
确定所述用户的所述眼睛随着所述眼睛图像中的所述运动从所述第二眼睛图像到所述第一眼睛图像平滑地移动。
43.根据权利要求42所述的方法,其中,确定所述眼睛平滑地移动包括:
使用所述神经网络确定所述用户的所述眼睛随着所述眼睛图像中的所述运动平滑地移动。
44.根据权利要求42所述的方法,其中,确定所述眼睛平滑地移动包括:
确定所述眼睛图像中所述用户的所述眼睛的眼睛姿势随着所述运动平滑地移动。
45.根据权利要求32所述的方法,其中,所述眼睛的所述眼睛姿势是所述显示位置。
46.根据权利要求32所述的方法,进一步包括使用所述UI设备的所述显示位置确定所述眼睛的所述眼睛姿势。
47.根据权利要求46所述的方法,其中,确定所述眼睛的所述眼睛姿势包括使用所述UI设备的所述显示位置、所述眼睛的位置或其组合来确定所述眼睛的所述眼睛姿势。
48.根据权利要求32所述的方法,其中,生成所述再训练集包括:
确定所述再训练眼睛图像中所述眼睛的所述眼睛姿势是在多个眼睛姿势区域中的第一眼睛姿势区域中;
确定所述UI设备在所述第一眼睛姿势区域中的分布概率;以及
以与所述分布概率有关的包含概率生成包括所述再训练眼睛图像的所述再训练输入数据。
49.根据权利要求48所述的方法,其中,所述包含概率与所述分布概率成反比。
50.根据权利要求48所述的方法,其中,所述第一眼睛姿势区域在第一顶角范围和第一方位角范围内。
51.根据权利要求48所述的方法,其中,确定所述眼睛的所述眼睛姿势是在所述第一眼睛姿势区域中包括:
确定所述再训练眼睛图像中所述眼睛的所述眼睛姿势是在所述多个眼睛姿势区域中的所述第一眼睛姿势区域或第二眼睛姿势区域中。
52.根据权利要求51所述的方法,
其中,所述第一眼睛姿势区域在第一顶角范围和第一方位角范围内,
其中,所述第二眼睛姿势区域在第二顶角范围和第二方位角范围内,以及
其中,所述第一顶角范围中的数字与所述第二顶角范围中的数字之和为零,所述第一方位角范围中的数字与所述第二方位角范围中的数字之和为零,或其组合。
53.根据权利要求48所述的方法,
其中,确定所述UI设备在所述第一眼睛姿势区域中的所述分布概率包括:确定当所述多个再训练眼睛图像中的再训练眼睛图像被捕获时向所述用户显示的UI设备的显示位置在所述多个眼睛姿势区域中的眼睛姿势区域中的分布,
其中,确定所述UI设备在所述第一眼睛姿势区域中的所述分布概率包括:使用UI设备的显示位置的分布确定所述UI设备在所述第一眼睛姿势区域中的所述分布概率。
54.根据权利要求32所述的方法,进一步包括:使用包括训练输入数据和对应的训练目标输出数据的训练集来训练所述神经网络,
其中,所述训练输入数据包括所述多个用户的多个训练眼睛图像,以及
其中,所述对应的训练目标输出数据包括所述多个训练眼睛图像中所述多个用户的眼睛的眼睛姿势。
55.根据权利要求54所述的方法,其中,所述多个用户包括大量用户。
56.根据权利要求54所述的方法,其中,所述眼睛的所述眼睛姿势包括所述眼睛的各种眼睛姿势。
57.根据权利要求54所述的方法,其中,所述再训练集的所述再训练输入数据包括所述多个训练眼睛图像中的至少一个训练眼睛图像。
58.根据权利要求32所述的方法,其中,所述再训练集的所述再训练输入数据不包括所述多个训练眼睛图像中的训练眼睛图像。
59.根据权利要求32所述的方法,其中,再训练所述神经网络包括:使用所述再训练集再训练所述神经网络,以生成用于眼睛跟踪的所述再训练神经网络。
60.根据权利要求32所述的方法,其中,再训练所述神经网络包括使用所述再训练集再训练所述神经网络,以生成用于生物特征应用的再训练神经网络。
61.根据权利要求60所述的方法,其中,所述生物特征应用包括虹膜识别
62.根据权利要求32所述的方法,其中,再训练所述神经网络包括:用所述神经网络的权重初始化所述再训练神经网络的权重。
63.根据权利要求32所述的方法,还包括:
接收所述用户的眼睛图像;以及
使用所述再训练神经网络确定所述眼睛图像中所述用户的眼睛姿势。
64.根据权利要求32所述的方法,其中,所述UI事件对应于所述UI设备的多个状态中的状态。
65.根据权利要求64所述的方法,其中,所述多个状态包括所述UI设备的激活或未激活。
66.根据权利要求32所述的方法,其中,所述UI设备包括虚拟按钮、按钮、上下、微调器、选择器、单选按钮、单选按钮列表、复选框、图片框、复选框列表、下拉列表、下拉菜单、选择列表、列表框、组合框、文本框、滑、链接、键盘键、开关、滑块、触摸面、或其组合。
67.根据权利要求32所述的方法,其中,所述UI事件相对于所述UI设备和指针发生。
68.根据权利要求67所述的方法,其中,所述指针包括与用户或所述用户的部分相关联的对象。
69.根据权利要求68所述的方法,其中,与所述用户相关联的所述对象包括指针、笔、铅笔、记号笔、荧光笔或其组合,并且其中,所述用户的所述部分包括所述用户的手指

说明书全文

用于眼睛跟踪的个性化神经网络

[0001] 相关申请的交叉引用
[0002] 本申请要求于2017年9月20日提交的题为“PERSONALIZED NEURAL NETWORK FOR EYE TRACKING(用于眼睛跟踪的个性化神经网络)”的美国临时申请号62/560,898的优先权的权益,其全部内容通过引用合并于此。

技术领域

[0003] 本公开涉及虚拟现实以及增强现实成像和可视化系统,并且尤其涉及用于眼睛跟踪的个性化神经网络。

背景技术

[0004] 深度神经网络(DNN)是一种计算机器学习方法。DNN属于一类人工神经网络(NN)。利用NN,可以构建模拟生物神经网络的特征的计算图。生物神经网络包括对计算很重要并负责生物系统的许多功能的特征,这些功能否则可能很难通过其他方法捕获。在一些实现中,这样的网络被布置成其中连接是单向的顺序分层结构。例如,可以将特定层的人工神经元的输出连接到后续层的人工神经元的输入。DNN可以是具有大量层(例如,10、100或更多层)的NN。
[0005] 不同的NN从不同度看彼此不同。例如,不同NN的拓扑或架构(例如,层的数量以及层如何互连)以及权重可以不同。权重可以近似地类似于生物系统中神经连接的突触强度。权重会影响从一层传播到另一层的效果的强度。人工神经元的输出可以是其输入的加权和的非线性函数。NN的权重可以是出现在这些求和中的权重。发明内容
[0006] 在一方面,公开了一种可穿戴显示系统。可穿戴显示系统包括:图像捕获设备,其被配置为捕获用户的眼睛的多个再训练眼睛图像;显示器;非暂时性计算机可读存储介质,其被配置为存储:多个再训练眼睛图像,以及用于眼睛跟踪的神经网络;以及与图像捕获设备、显示器和非暂时性计算机可读存储介质通信的硬件处理器,该硬件处理器由可执行指令编程为:接收由图像捕获设备捕获的和/或存储在非暂时性计算机可读存储介质(其可以由图像捕获设备捕获)中的多个再训练眼睛图像,其中,当用户界面(UI)事件相对于在显示器的显示位置处显示给用户的UI设备而发生时,图像捕获设备捕获多个再训练眼睛图像中的再训练眼睛图像;生成包括再训练输入数据和对应的再训练目标输出数据的再训练集,其中,再训练输入数据包括再训练眼睛图像,并且其中,对应的再训练目标输出数据包括用户的眼睛在与显示位置有关的再训练眼睛图像中的眼睛姿势;以及获得再训练神经网络,该再训练神经网络使用再训练集根据用于眼睛跟踪的神经网络再训练。
[0007] 在另一方面,公开了一种用于再训练用于眼睛跟踪的神经网络的系统。该系统包括:存储可执行指令的计算机可读存储器;以及一个或多个处理器,其由可执行指令编程以至少:接收用户的眼睛的多个再训练眼睛图像,其中,当用户界面(UI)事件相对于在用户设备的显示位置处显示给用户的UI设备而发生时,捕获多个再训练眼睛图像中的再训练眼睛图像;生成包括再训练输入数据和对应的再训练目标输出数据的再训练集,其中,再训练输入数据包括再训练眼睛图像,并且其中,对应的再训练目标输出数据包括再训练眼睛图像中与显示位置有关的用户的眼睛的眼睛姿势;使用再训练集再训练用于眼睛跟踪的神经网络以生成再训练神经网络。
[0008] 在另一方面,公开了一种用于再训练神经网络的方法。该方法在硬件处理器的控制下并且包括:接收用户的眼睛的多个再训练眼睛图像,其中,当用户界面(UI)事件相对于在显示位置处显示给用户的UI设备而发生时,捕获多个再训练眼睛图像中的再训练眼睛图像;生成包括再训练输入数据和对应的再训练目标输出数据的再训练集,其中,再训练输入数据包括再训练眼睛图像,并且其中,对应的再训练目标输出数据包括再训练眼睛图像中与显示位置有关的用户的眼睛的眼睛姿势;以及使用再训练集再训练神经网络以生成再训练神经网络。
[0009] 本说明书中描述的主题的一个或多个实现的细节在以下附图和说明书中阐述。根据说明书、附图和权利要求书,其他特征、方面和优点将变得显而易见。该发明内容和以下具体实施方式均不旨在限定或限制本公开的主题的范围。

附图说明

[0010] 图1示意性地示出了捕获眼睛图像并且使用眼睛图像来再训练用于眼睛跟踪的神经网络的一个实施例
[0011] 图2示意性地示出了眼睛的示例。图2A示意性地示出了用于测量眼睛的眼睛姿势的示例坐标系
[0012] 图3示出了收集眼睛图像并使用收集的眼睛图像再训练神经网络的说明性方法的流程图
[0013] 图4示出了生成具有不同眼睛姿势的以再训练用于眼睛跟踪的神经网络的眼睛图像的示例。
[0014] 图5示出了计算用于针对以文本描述显示的虚拟UI设备生成具有不同指向方向的眼睛图像的概率分布的示例。
[0015] 图6示出了增强现实设备的示例显示器,其中显示器的多个区域对应于不同的眼睛姿势区域。虚拟UI设备可以被显示在与具有不同概率的不同眼睛姿势区域相对应的显示器的不同区域中。
[0016] 图7示出了当收集眼睛图像用于再训练神经网络时所观察到的UI事件执行密度归一化的说明性方法的流程图。
[0017] 图8示出了相对于虚拟UI设备的眼睛注视的反向跟踪的示例图示。
[0018] 图9示出了相对于虚拟UI设备的眼睛注视的反向跟踪的说明性方法的流程图。
[0019] 图10描绘了根据一个实施例的具有某些虚拟现实对象以及人观看的某些实际现实对象的增强现实场景的图示。
[0020] 图11示出了根据一个实施例的可穿戴显示系统的示例。
[0021] 图12示出了根据一个实施例的用于使用多个深度平面来模拟三维图像的方法的各方面。
[0022] 图13示出了根据一个实施例的用于向用户输出图像信息的波导堆叠的示例。
[0023] 图14示出了根据一个实施例的可以由波导输出的示例出射光束。
[0024] 图15是示出了根据一个实施例的显示系统的示意图。
[0025] 在所有附图中,附图标记可以被重复使用以指示参考元件之间的对应关系。提供附图是为了说明本文中描述的示例实施例,而无意于限制本公开的范围。

具体实施方式

[0026] 概述
[0027] 训练神经网络(NN)的过程涉及向网络呈现输入数据和对应的目标输出数据。包括示例输入和目标输出的该数据可以称为训练集。通过训练的过程,可以递增地或迭代地调适网络的权重,以便在给定训练集中的特定输入数据的情况下,网络的输出匹配(例如,尽可能、理想或实用地紧密)对应于该特定输入数据的目标输出。
[0028] 构建一种用于训练NN的训练集可能会带来挑战。构建训练集对于训练NN并因此成功运行NN而言很重要。在一些实施例中,所需的数据量可能非常大,诸如用于网络的十个、百个、千个、几百万个或更多个示例正确行为。网络可以使用训练集进行学习,以正确地概括其学习,预测输入(例如,原始训练集中可能不存在的新颖输入)的正确输出。
[0029] 本文公开了用于收集训练数据(例如,眼睛图像)、生成包括训练数据的训练集、以及使用训练集来对用于眼睛跟踪(例如,确定眼睛姿势和眼睛注视方向)的训练的NN进行再训练、增强、改进(polish)或个性化的系统和方法。在一些实现中,可以首先使用包括来自大的种群(例如,动物种群,包括人类种群)的眼睛图像的训练集来对诸如深度神经网络(DNN)之类的NN进行训练,以用于眼睛跟踪(例如,跟踪眼睛运动、或跟踪注视方向)。训练集可以包括从100个、1000个或更多个体收集的训练数据。
[0030] 随后可以使用来自单个个体(或少数个体,诸如50个、10个、5个或更少个体)的用于再训练的数据来对NN进行再训练、增强、改进或个性化。对于个体(或少数个体),再训练的NN可以比用于眼睛跟踪的训练的NN具有更好的性能。在一些实现中,在训练过程的开始,可以将再训练的NN的权重设置为训练的NN的权重。
[0031] 图1示意性地示出了收集眼睛图像并将收集的眼睛图像用于再训练用于眼睛跟踪的神经网络的一个实施例。为了收集数据以进行再训练,可以监控用户与在头戴式增强现实设备(ARD)104(诸如图11中的可穿戴显示系统1100)的显示器上所显示的虚拟用户界面(UI)设备的交互。例如,可以监控UI事件,诸如用户激活(例如,“按下”)或去激活(例如,“释放”)虚拟遥控器的虚拟按钮。用户与虚拟UI设备的交互(本文也称为用户交互)在本文中称为UI事件。虚拟UI设备可以基于窗口、图标、菜单、指针(WIMP)UI设备的样式或实现。确定用户与虚拟UI设备的交互的过程可以包括计算指针(例如,手指、指尖或定位笔)的位置以及确定指针与虚拟UI设备的交互。在一些实施例中,ARD 104可以包括用于眼睛跟踪的NN 108。
[0032] 可以使用诸如ARD 104的面向内部的成像系统(例如,图13中的面向内部的成像系统1352)之类的相机来捕获相对于虚拟UI设备的UI事件时用户的一只或两只眼睛的眼睛图像112。例如,放置在ARD 104上的用户的一只或多只眼睛附近的一个或多个相机可以捕获眼睛图像112用于再训练NN 108以生成再训练的NN 124。用于再训练集的数据可以包括眼睛图像112和虚拟UI设备116在ARD 104的显示器上的位置(或使用虚拟UI设备的位置确定的一只或两只眼睛的眼睛姿势)。在一些实施例中,可以独立于现有的训练的NN来获得再训练集的数据。例如,再训练集可以包括在相对于虚拟UI设备的UI事件时收集的眼睛图像112以及虚拟UI设备116在ARD 104的显示器上的位置,这可以在显示虚拟UI设备之前由ARD 104确定。
[0033] ARD可以通过网络(例如,互联网)将当UI事件发生时捕获的用户的眼睛图像112和当该UI事件发生时虚拟UI设备116显示在ARD 104的显示器上的位置发送到NN再训练系统120。NN再训练系统120可以使用捕获的眼睛图像112和在捕获眼睛图像112时虚拟UI设备的对应显示位置116来再训练NN 108,以生成再训练的NN 124。在一些实施例中,多个系统可以涉及再训练NN 108。例如,ARD 104可以部分地或完全本地地再训练NN 108(例如,使用图
11中的本地处理模1124)。作为另一示例,远程处理模块(例如,图11中的远程处理模块
1128)和NN再训练系统120中的一个或两个可以涉及再训练NN 108。为了提高再训练的速度,在一些实现中,可以在再训练过程开始时将再训练的NN 124的权重有利地设置为训练的NN 108的权重。
[0034] ARD 104可以实现通过网络从NN再训练系统120接收到的用于眼睛跟踪的这种再训练的NN 124。放置在ARD 104(例如,图13中的面向内部的成像系统1352)上的用户一只或多只眼睛附近的一个或多个相机可以捕获并提供眼睛图像,可以使用再训练的NN 124从中确定用户的眼睛姿势或注视方向。再训练的NN 124可以比用于用户的眼睛跟踪的训练的NN108具有更好的性能。本文描述的某些示例指的是ARD 104,但这仅是为了说明而不是限制。在其他示例中,可以使用诸如混合现实显示器(MRD)或虚拟现实显示器(VRD)之类的其他类型的显示器来代替ARD。
[0035] 在一些实现中,NN 108和再训练的NN 124可以具有三元组(triplet)网络架构。眼睛图像112的再训练集可以从一个或多个用户设备(例如,ARD)发送“到”,并用于再训练实际上知道该用户的三元组网络(但其在该再训练中使用公共数据集)。一旦被训练,该再训练的网络124可以被向下发送回用户。在一些实施例中,通过许多这样的提交(submission),可以利用来自所有或大量用户的所有数据来有利地再训练一个宇宙(cosmic)网络124,并且将再训练的NN 124向下发送回用户设备。
[0036] 眼睛图像的示例
[0037] 图2示出了具有眼睑204、巩膜208(眼睛的“白色”)、虹膜212和瞳孔216的眼睛200的图像。使用例如图1中的ARD 104的面向内部的成像系统捕获的眼睛图像可被用于再训练NN 108以生成再训练的NN 124。可以使用任何适当的过程从视频中获取眼睛图像,例如,使用可以从一个或多个顺序中提取图像的视频处理算法。在一些实施例中,再训练的NN124可被用于使用再训练的NN 108来确定眼睛图像中的眼睛200的眼睛姿势。
[0038] 曲线216a示出了瞳孔216和虹膜212之间的瞳孔边界,以及曲线212a示出了虹膜212和巩膜208之间的边缘边界(limbic boundary)。眼睑204包括上眼睑204a和下眼睑
204b。眼睛200以自然静止姿势示出(例如,用户的脸和注视都朝向用户正前方的远处对象)。眼睛200的自然静止姿势可以由自然静止方向220指示,该自然静止方向220是当眼睛
200处于自然静止姿势(例如,直接从图2中所示的眼睛200的平面之外)时与眼睛200的表面正交的方向,并且在此示例中位于瞳孔216的中心内。
[0039] 当眼睛200移动以看向不同的对象时,眼睛姿势将相对于自然静止方向220发生变化。当前的眼睛姿势可以参考眼睛姿势方向220来确定,该眼睛姿势方向220是与眼睛的表面(并且位于瞳孔216的中心内)正交但朝向眼睛当前所指向的对象而取向的方向。参考图2A中所示的示例坐标系,眼睛200的姿势可以被表达为两个角度参数,其指示眼睛的眼睛姿势方向224的方位角(azimuthal)偏转和顶角(zenithal)偏转,均相对于眼睛的自然静止方向220。为了说明的目的,这些角度参数可以被表示为θ(从基准方位角确定的方位角偏转)和φ(顶角偏转,有时也称为极角(polar)偏转)。在一些实现中,在眼睛姿势的确定中可以包括眼睛围绕眼睛姿势方向224的角度翻滚。在其他实现中,用于确定眼睛姿势的其他技术可以例如用于俯仰偏航和可选地翻滚系统。
[0040] 收集眼睛图像并使用眼睛图像再训练用于眼睛跟踪的NN的示例
[0041] 图1示意性地示出了收集眼睛图像以再训练用于眼睛跟踪的神经网络的一个实施例。在一些实施例中,可以首先将NN 108作为一类训练为总体上跟踪用户的眼睛运动。例如,NN 108可以由ARD制造商首先在包括看着多个方向的多个个体的训练集上训练。本文公开的系统和方法可以通过对NN 108进行再训练以生成再训练的NN 124,来针对特定用户(或一组用户,诸如5或10个用户)的情况改善NN 108的性能。例如,包括NN 108的ARD 104的制造商可能事先不知道谁会在制造和分销后购买ARD 104。
[0042] 替代信号(例如,UI事件的发生)可以指示存在可以观察到用户的一只或两只眼睛注视已知目标(例如,虚拟UI设备)的特定情况。替代信号可用于生成再训练集(在本文中也称为第二训练集、改进集、或个性化集),用于再训练NN 104以生成再训练的NN 124(在本文中也称为改进的NN、增强的NN或个性化的NN)。替代地或附加地,可以使用质量度量来确定再训练集具有用于再训练的足够的覆盖
[0043] 一旦被收集,NN 108可以被再训练、改进、增强或个性化。例如,当UI事件发生时,ARD 104可以捕获一个或多个用户的眼睛图像112。ARD104可以通过网络(例如,互联网)将眼睛图像112和虚拟UI设备116的位置发送到NN再训练系统120。NN再训练系统120可以生成再训练集,用于再训练NN 108以生成再训练的NN 124。再训练集可以包括特定数量的数据点。在一些实现中,再训练NN 108可以包括用从原始训练集(例如,未经过改进或个性化的训练集)中学习到的权重来初始化再训练的NN124,以及然后仅使用再训练集或再训练集与原始训练集的一些或全部成员的组合来重复训练过程。
[0044] 有利地,可以将再训练的NN 124从更一般调适到针对用户的特定实例的部分专化程度。再训练过程完成之后的NN 124可以被称为再训练的NN 124、改进的NN 124、增强的NN 124或个性化的NN 124。作为另一个示例,一旦ARD 104拥有单个用户(或多个身份在运行时可以被区分开的多个用户,例如,通过生物特征签名或登录标识符(ID)),可以通过在UI事件期间捕获眼睛的图像并将那些图像分配给相关联的虚拟UI设备的位置来为该用户构建再训练集。一旦已经收集了足够数量的再训练集的数据点,则可以使用再训练集对NN 108进行再训练或改进。此过程可能重复或可能不会重复。
[0045] 再训练的NN 124可被用于以改善的性能(例如,较高的准确性)确定用户的一只或两只眼睛(例如,用户的眼睛的指向方向)的眼睛姿势(例如,注视方向),这可以带来更好的用户体验。再训练的NN 124可以通过显示器(诸如ARD 104、VRD、MRD或另一设备)来实现,该显示器可以从NN再训练系统120接收再训练的NN 124。例如,可以使用再训练的NN 124为计算机、平板电脑或移动设备(例如,手机)的用户执行注视跟踪,以确定用户在看计算机屏幕的位置。NN 124的其他用途包括用户体验(UX)研究、UI界面控制、或安全特征。NN 124接收用户的眼睛的数码相机图像,以确定每只眼睛的注视方向。每只眼睛的注视方向可用于确定用户的注视的聚散度或定位用户的两只眼睛都指向的三维(3D)空间中的点。
[0046] 为了在ARD 104的环境中进行注视跟踪,使用再训练的NN 124可能需要对替代信号进行特定选择(例如,发生UI事件,诸如使用定位笔按下虚拟按钮)。除了是显示器之外,ARD 104(或MRD或VRD)可以是输入设备。用于此类设备的输入的非限制性示例性模式包括手势(gestural)(例如,手部姿势)或利用指针、定位笔或另一物理对象的运动(motion)。手部姿势可能涉及用户的手的运动,诸如指向一个方向的手。运动可以包括触摸、按下、释放、上/下或左/右滑动、沿着轨迹移动或3D空间中的其他类型的移动。在一些实现中,诸如虚拟按钮或滑块的虚拟用户界面(UI)设备可以出现在被用户感知虚拟环境中。这些虚拟UI设备可以类似于二维(2D)或三维(3D)窗口、图标、菜单、指针(WIMP)UI设备(例如,出现在iOSTM或AndroidTM操作系统中的那些)。这些虚拟UI设备的示例包括虚拟按钮、上下按钮、微调器(spinner)、选择器、单选按钮、单选按钮列表、复选框、图片框、复选框列表、下拉列表、下拉菜单、选择列表、列表框、组合框、文本框、滑块、链接、键盘键、开关、滑块、触摸面或其组合。
[0047] 这种WIMP界面的特征包括将指针与UI设备对齐所涉及的视觉运动挑战。指针可以是手指或定位笔。可以使用鼠标、跟踪球、操纵杆、游戏控制器(例如,5向d-pad)、棒(wand)或图腾的单独运动来移动指针。用户可以在与UI设备进行交互(例如,鼠标“点击”)之前和交互之时立即将他或她的视线固定在UI设备上。类似地,ARD 104的用户可以在与虚拟UI设备进行交互(例如,点击虚拟按钮)之前和交互之时立即将他或她的视线固定在虚拟UI设备上。UI事件可以包括用户和虚拟UI设备(例如,类似WIMP的UI设备)之间的交互,该交互可以用作替代信号。再训练集的成员可以与UI事件相关。例如,成员可以包含用户的眼睛的图像和虚拟UI设备的位置(例如,虚拟UI设备在ARD 104的显示器上的显示位置)。作为另一示例,再训练集的成员可以包含用户的每只眼睛的图像以及虚拟UI设备的一个或多个位置(例如,ARD 104可以包括两个显示器,并且虚拟UI设备可以在显示器上的两个不同位置处显示)。成员可以另外包括辅助信息,诸如UI事件(例如,WIMP“点击”事件)的确切位置。UI事件的位置可以与虚拟UI设备的位置不同。UI事件的位置可以是在发生UI事件时指针(例如,手指或定位笔)在虚拟UI设备上的位置,其可以与虚拟UI设备的位置不同。
[0048] 再训练的NN 124可以用于注视跟踪。在一些实施例中,可以使用分类的数据的再训练集来再训练再训练的NN 124。分类数据可以是表示事件(例如,激活虚拟按钮)的多个子类但是其中的那些子类可能无法区分的数据。这些子类本身可以是较小类别或个体的范畴(例如,单击虚拟按钮或触摸虚拟按钮)。ARD 104可以实现再训练的NN 124。例如,相机可以位于ARD 104上,以便捕获用户的眼睛的图像。再训练的NN 104可以用于确定三维空间中用户的眼睛聚焦的点(例如,在聚散点)。
[0049] 在一些实施例中,当用户与具有系统已知位置的任何物理或虚拟对象进行交互时,可以捕获眼睛图像112。例如,当用户激活(例如,点击或触摸)在移动设备(例如,手机或平板电脑)上显示的UI设备(例如,按钮或标志(aruco)图案)时,UI事件可以发生。UI设备在移动设备的坐标系中的位置可以在UI设备被显示在该位置之前由移动设备确定。移动设备可以在用户激活UI设备时将UI设备的位置以及激活的定时发送给ARD 104。ARD 104可以确定移动设备在用户的世界坐标系中的位置,其可以使用由ARD 104的面向外部的成像系统(诸如参考图13描述的面向外部的成像系统1354)捕获的用户环境的图像来确定。可以使用移动设备在用户的世界坐标系中的位置以及UI设备在移动设备的坐标系中的位置来确定UI设备在世界坐标系中的位置。可以使用激活的定时从ARD 104的图像缓冲器中检索当发生这样的激活时用户的眼睛图像。ARD 104可以使用UI设备在世界坐标系中的位置来确定用户的眼睛的注视方向。
[0050] 再训练集或改进集可以具有其他应用,诸如生物特征识别或虹膜识别。例如,可以再训练用于生物特征识别(诸如虹膜匹配)的NN(例如,DNN),以生成用于生物特征识别的再训练的NN。NN可以具有用于构造虹膜的向量空间表示的三元组网络架构。训练集可以包括许多虹膜图像,但不一定包括正在使用ARD 104的用户的眼睛的虹膜的任何图像。再训练集可以在用户使用ARD 104时生成。可以在UI事件发生时捕获再训练眼睛图像或虹膜图像。附加地或替代地,可以利用其他种类的识别事件(诸如输入密码或PIN)来捕获再训练眼睛图像或虹膜图像。在一些实施例中,可以将会话期间用户的一些或全部眼睛图像(或与用户有关的其他数据)添加到再训练集。会话可以指代身份(ID)验证(例如,通过虹膜识别)或某个其他事件(例如,个人身份识别号码(PIN))与ARD 104通过任何可靠的方式检测到已将ARD 104从用户移除的时刻之间的时间段。再训练集可以包括在会话中捕获的一些或全部眼睛图像或在会话发起时捕获的眼睛图像。
[0051] 收集眼睛图像并再训练用于眼睛跟踪的神经网络的示例方法
[0052] 图3示出了收集或捕获眼睛图像并使用所收集的眼睛图像再训练神经网络的示例性方法300的流程图。当UI事件发生时,ARD可以捕获用户的眼睛图像。例如,图1中的ARD 104可以在用户界面(UI)事件发生时捕获用户的图1中的眼睛图像112或图2中的眼睛200的图像。系统可以使用UI事件发生时捕获的眼睛图像和虚拟UI设备的位置来再训练NN,以生成再训练的NN。例如,图1中的NN再训练系统120可以使用当UI事件发生以及眼睛图像112被捕获时捕获的眼睛图像112和虚拟UI设备116的位置来再训练NN 108,以生成再训练的NN 
124。
[0053] 在框304处,可以使用包括训练输入数据和对应的训练目标输出数据的训练集来可选地训练用于眼睛跟踪的神经网络。ARD的制造商可以训练NN。训练输入数据可以包括多个用户的多个训练眼睛图像。对应的训练目标输出数据可以包括多个训练眼睛图像中多个用户的眼睛的眼睛姿势。多个用户可以包括大量用户。例如,眼睛的眼睛姿势可以包括眼睛的各种眼睛姿势。训练NN的过程涉及向网络呈现训练集的输入数据和对应的目标输出数据。通过训练过程,可以递增地或迭代地调适网络的权重,以便在给定训练集中的特定输入数据的情况下,网络的输出匹配(例如,尽可能、理想、或实用地紧密)与该特定输入数据对应的目标输出。在一些实施例中,在训练了神经网络之后,接收用于眼睛跟踪的神经网络。
[0054] 在框308处,可以接收用户的眼睛的多个再训练眼睛图像。ARD的面向内部的成像系统(例如,图13中的面向内部的成像系统1352)可以捕获用户的眼睛的多个再训练眼睛图像。ARD可以将多个再训练眼睛图像发送到NN再训练系统(例如,图1中的NN再训练系统120)。当相对于在显示位置处向用户显示的虚拟UI设备(例如,虚拟按钮)发生UI事件(例如,激活或去激活)时,可以捕获多个再训练眼睛图像中的再训练眼睛图像。在一些实现中,接收用户的多个再训练眼睛图像可以包括使用显示器(例如,图11中的可穿戴显示系统
1100的显示器1108)在显示位置处向用户显示虚拟UI设备。在显示虚拟UI设备之后,可以确定UI事件相对于虚拟UI设备的发生,并且可以使用成像系统(例如,图13中的面向内部的成像系统1352)捕获再训练眼睛图像。
[0055] 在一些实施例中,接收用户的多个再训练眼睛图像可以进一步包括确定再训练眼睛图像中眼睛的眼睛姿势。例如,再训练眼睛图像中眼睛的眼睛姿势可以是虚拟UI设备的显示位置,或者可以使用虚拟UI设备的显示位置来确定。确定眼睛的眼睛姿势可以包括使用虚拟UI设备的显示位置、眼睛的位置或其组合来确定眼睛的眼睛姿势。例如,眼睛的眼睛姿势可以由在虚拟UI设备的显示位置和眼睛的位置之间形成的向量表示。
[0056] UI事件可以对应于虚拟UI设备的多个状态中的状态。多个状态可以包括虚拟UI设备的激活、未激活或其组合(例如,从未激活到激活的转变、从激活到未激活或去激活的转变)。激活可以包括触摸、按下、释放、上/下或左/右滑动、沿着轨迹移动、或3D空间中的其他类型的移动。虚拟UI设备可以包括标志、按钮、上下按钮、微调器、选择器、单选按钮、单选按钮列表、复选框、图片框、复选框列表、下拉列表、下拉菜单、选择列表、列表框、组合框、文本框、滑块、链接、键盘键、开关、滑块、触摸面或其组合。在一些实施例中,相对于虚拟UI设备和指针发生UI事件。指针可以包括与用户相关联的对象(例如,指针、笔、铅笔、记号笔、荧光笔)或用户的一部分(例如,用户的手指或指尖)。
[0057] 在框312处,可以生成包括再训练输入数据和对应的再训练目标输出数据的再训练集。例如,图1中的ARD 104或NN再训练系统120可以生成再训练集。再训练输入数据可以包括再训练眼睛图像。对应的再训练目标输出数据可以包括再训练眼睛图像中与显示位置有关的用户的眼睛的眼睛姿势。再训练集的再训练输入数据可以包括参考图3中的框304描述的多个再训练眼睛图像中的0、1个或更多个训练眼睛图像。
[0058] 在框316处,可以使用再训练集来再训练用于眼睛跟踪的神经网络,以生成再训练神经网络。例如,NN再训练系统120可以再训练NN。再训练NN的过程涉及向NN呈现再训练集的再训练输入数据和对应的再训练目标输出数据。通过再训练的过程,可以递增地或迭代地调整网络的权重,以便在给定再训练集中的特定输入数据的情况下,NN的输出匹配(例如,尽可能、实用、或理想地紧密)与该特定再训练输入数据对应的再训练目标输出。在一些实施例中,再训练用于眼睛跟踪的神经网络可以包括用原始神经网络的权重来初始化再训练的神经网络的权重,如参考图3中的框304所描述的,这可以有利地减少训练时间并提高再训练的NN的性能(例如,准确性、误报率或漏报率)。
[0059] 在框320处,用户可以可选地接收眼睛图像。例如,图13中的可穿戴显示系统13的面向内部的成像系统1352可以捕获用户的眼睛图像。在框324处,可以使用再训练的神经网络来可选地确定眼睛图像中用户的眼睛姿势。例如,图11中的可穿戴显示器1100的本地处理模块1124或远程处理模块1128可以实现再训练的NN,可以使用再训练的NN来确定由面向内部的成像系统捕获的眼睛图像中的用户的眼睛姿势。
[0060] 具有不同眼神姿势的示例眼睛图像
[0061] 当用户将他或她的眼睛指向用户界面(UI)设备时,眼睛可能无法准确地指向设备上的某个特定位置。例如,某些用户可能将其眼睛指向虚拟UI设备的确切中心。作为另一个示例,其他用户可以将其眼睛指向虚拟UI设备的角(例如,最近的角)。作为又一个示例,一些用户可以将其眼睛注视在虚拟UI设备的某个其他部分,诸如虚拟UI设备的一些不可预测的区域(例如,按钮上的文本中的字符的一部分)。本文公开的系统和方法可以利用在不假设中心指向的情况下生成的再训练集来再训练NN。
[0062] 图4示出了生成具有不同眼睛姿势的眼睛图像的示例。当相对于虚拟UI设备412发生UI事件时,使用面向内部的相机系统的ARD 104可以捕获眼睛404的一只眼睛图像400a。ARD 104可以在显示器416的特定位置示出虚拟UI设备412。例如,虚拟UI设备412可以位于显示器416上的中心。眼睛404可以具有如图4所示的指向方向408a。然而,用户可以将他或她的眼睛指向虚拟UI设备412的确切中心或其他位置。
[0063] 图1中的ARD 104和NN再训练系统120中的一个或两个可以从眼睛图像400a自动生成训练眼睛图像400b-400d集。训练眼睛图像集中的眼睛图像400b-400d可以在虚拟UI设备412上具有不同的指向方向408b-408d和对应的不同指向位置。在一些实施例中,自动生成的眼睛图像400b-400d和用于生成这些眼睛图像400b-400d的捕获的眼睛图像400a可以相同。所捕获和生成的眼睛图像400a-400d可以与指向方向408a-408d相关联。训练眼睛图像集可以包括捕获的眼睛图像400a和生成的眼睛图像400b-400d。指向位置,因此指向方向
408b-408d,可以从已知的或计算的概率分布函数中随机生成。概率分布函数的一个示例是围绕虚拟UI设备412的中心点的高斯分布。其他分布也是可能的。例如,可以从经验、观察或实验中学习分布。
[0064] 图5示出了计算用于为通过文本描述显示的虚拟UI设备生成具有不同指向方向的眼睛图像的概率分布的示例。虚拟UI设备500可以包括两个或更多个组件。例如,虚拟UI设备500可以包括图形组件504a和描述图形组件504a的文本组件504b。两个组件504a、504b可以重叠。图形组件504a可以与第一概率分布函数508a相关联。文本组件504b可以与第二概率分布函数508b相关联。例如,虚拟UI设备中或虚拟UI设备上的文本可能会以某种概率和某种分布在文本本身上吸引视线。虚拟UI设备500可以与两个概率分布函数508a、508b的计算的或组合的概率分布函数相关联。例如,可以通过组装按钮的图形和文本组件的概率分布函数来确定整个按钮的概率分布函数。
[0065] 示例密度归一化
[0066] ARD的显示器可以包括与不同眼睛姿势区域对应的多个区域。例如,显示器(例如,图11中的头戴式显示系统1100的显示器1108)可以与多个(例如,2、3、4、5、6、9、12、18、24、36、49、64、128、256、1000或更多个)眼睛姿势区域相关联。图6示出了具有与不同眼睛姿势区域对应的显示器的多个区域的增强现实设备的示例显示器600。显示器600包括25个区域
604r11-604r55。显示器600和眼睛姿势区域可以具有相同或不同的尺寸或形状(例如矩形、正方形、圆形、三角形、椭圆形或菱形)。眼睛姿势区域可以看作是二维实坐标空间 或二维正整数坐标空间 的连通子集,该连通子集按穿戴者的眼睛姿势的角度空间指定该眼睛姿势区域。例如,眼睛姿势区域可以在方位角偏转(从基准方位角测量的)中的特定θmin与特定θmax之间,以及在顶角偏转(也称为极角偏转)中的特定φmin与特定φmax之间。
[0067] 虚拟UI设备可能不会在显示器600周围均匀分布。例如,在显示器600的外围(例如,极端边缘)的UI元素(例如,显示区域604r11-604r15、604r21、604r25、604r31、604r35、604r41、604r45或604r51-604r55)可能很少见。当虚拟UI设备出现在显示器600的边缘时,在与UI设备交互之前,用户可以旋转其头部以在ARD的环境中将虚拟UI设备带到中心(例如,显示区域604r33)。由于密度上的这种差异,即使再训练集可以改善显示器600中心区域(例如,显示区域604r22-604r24、604r32-604r34或604r42-604r44)的跟踪性能,也可以在外围附近进一步改善跟踪性能。
[0068] 本文公开的系统和方法可以以使得在角度空间中再训练集的成员的密度更均匀的方式生成再训练集。可以有意地以较低的概率将较高密度区域中的点包括在再训练集中,以便使再训练集在角度空间中更加均匀。例如,可以收集当UI事件发生时虚拟UI设备的位置,并且可以确定这种虚拟UI设备的密度分布。例如,这可以通过在角度空间中生成直方图来完成,在该直方图中,顶角和方位角被“扔(bin)”进有限数量的箱(bin)中,并在每个箱中对事件进行计数。箱可以是对称的(例如,显示区域只能被投影到角度空间的一半或四分之一中)。例如,显示区域604r51-604r55可以被投影到显示区域604r11-604r15中。作为另一示例,显示区域604r15、604r51、604r55可以被投影到显示区域604r11中。
[0069] 一旦计算了该直方图,就可以以概率p将UI事件发生时捕获的眼睛图像添加到改进集中。例如,可以使用下面的公式[1]确定概率p:
[0070]
[0071] 其中,q(θ,φ)标示与方位角(θ)和顶角(φ)相关联的箱中任何虚拟UI设备(或特定虚拟UI设备或特定类型的虚拟UI设备)的归一化概率。
[0072] 密度归一化的示例方法
[0073] 图7示出了对当收集眼睛图像用于再训练神经网络时观察到的UI事件执行密度归一化的说明性方法的流程图。当发生用户界面(UI)事件时,ARD可以捕获用户的眼睛图像。例如,图1中的ARD 104可以捕获用户界面事件发生时用户的图2中的眼睛200的眼睛图像
112或多个图像。可以使用在显示器的不同区域或不同眼睛姿势区域中的UI设备的分布来确定再训练集是否包括当相对于显示位置处的虚拟UI设备发生UI事件时捕获的眼睛图像。
图1中的ARD 104或NN再训练系统120可以使用在显示器的不同区域或眼睛姿势区域中的UI设备的分布来生成再训练集。
[0074] 在框704处,可选地接收用户的多个第一再训练眼睛图像。当相对于在第一显示位置处向用户示出的第一虚拟UI设备发生第一UI事件时,可以例如使用ARD的面向内部的成像系统捕获每个眼睛图像。例如,当用户激活在显示位置604r33处显示的虚拟按钮时,可以捕获眼睛图像。与不同的UI事件相关联的虚拟UI设备可以被显示在显示器600的不同显示区域604r11-604r55中。虚拟UI设备的实例可以被显示在显示器600的不同区域604r11-604r55中。
[0075] 在框708处,可以可选地确定在各种眼睛姿势或显示区域中的第一UI设备的第一显示位置的分布。例如,确定分布可以包括当捕获到第一多个再训练眼睛图像时确定在眼睛姿势区域或显示区域中向用户示出的UI设备的第一显示位置的分布。确定UI设备在第一眼睛姿势区域中的分布概率可以包括使用UI设备的显示位置的分布来确定UI设备在第一眼睛姿势区域中的分布概率。可以针对一个UI设备确定分布,并且可以针对一个、两个或多个UI设备确定一个分布。在一些实施例中,可以接收第一UI设备在各种眼睛姿势或显示区域中的第一显示位置的分布。
[0076] 在框712处,可以接收用户的第二再训练眼睛图像。当第二UI事件相对于在第二显示位置处向用户示出的第二UI设备发生时,可以捕获用户的第二再训练眼睛图像。第一UI设备和第二UI设备可以相同或不同(例如,按钮或滑块)。第一UI事件和第二UI事件可以是相同类型或不同类型的UI事件(例如,点击或触摸)
[0077] 在框716处,可以确定在眼睛姿势区域或显示区域中的第二UI设备的第二显示位置的包含(inclusion)概率。例如,第二UI设备可以显示在显示器外围的显示区域处(例如,图6中的显示区域604r11)。第二UI设备在显示器的外围处的概率可以较低。
[0078] 在框716处,可以生成再训练集的再训练输入数据。再训练集可以以包含概率包括再训练眼睛图像。包含概率可以与分布概率有关。例如,包含概率和分布概率可以成反比。在一些实施例中,显示区域或眼睛姿势区域可以是对称的(例如,显示区域可被投影到角度空间的仅一半或四分之一中)。例如,显示区域604r51-604r55可以被投影到显示区域
604r11-604r15中。作为另一示例,显示区域604r15、604r51、604r55可以被投影到显示区域
604r11中。作为又一示例,显示器600的一侧上的显示区域604r15、604r14可以被投影到显示器600的另一侧上的显示区域604r11、604r12中。
[0079] 眼睛注视的示例反向跟踪
[0080] 在显示区域的边缘附近的事件可以被认为是罕见的。例如,ARD的用户可能倾向于在与虚拟UI设备进行交互之前将他或她的头部转向虚拟UI设备,类似于与物理设备的交互。在UI事件发生时,可以将虚拟UI设备放置在中心位置。然而,用户可能倾向于固定在这种头部旋转之前和期间未中心放置的虚拟UI设备。本文公开的系统和方法可以通过从UI事件向后跟踪这样的头部旋转来生成再训练集。
[0081] 图8示出了相对于UI设备反向跟踪眼睛姿势(例如,眼睛注视)的示例图示。ARD(例如,图1中的ARD 104)可以包括缓冲器,该缓冲器存储图像和ARD运动,该ARD运动持续足够量的时间(例如,一秒)以捕获“头部旋转”。可以相对于在显示器的显示位置处示出的虚拟UI设备804(例如,在时间=0时)发生UI事件。例如,当UI事件发生时,虚拟UI设备804可以位于位置808a的中心。可以检查缓冲器的运动(例如,均匀角运动)。例如,ARD可以将使用面向外部的相机(例如,参考图13描述的面向外部的成像系统1354)捕获的用户的环境的图像812a、812b存储在缓冲器中。如图8所示,用户的头部从左向右旋转,这由用户的环境的图像
812a、812b中的山816的相对位置反映出来。
[0082] 如果检测到诸如均匀角运动的均匀运动(或足够均匀的运动),则UI设备804可以沿着该均匀角运动向后投影以在较早的时间(例如,时间=-N)确定UI设备804的投影显示位置808p。投影的显示位置808p可以可选地用于验证UI设备804在运动开始时处于视野中。例如,可以比较虚拟UI设备804的投影位置808p和位置808b。如果检测到均匀运动并且该均匀运动可能源于视场中的设备,则可以使用NN(例如,用于眼睛跟踪的训练的NN 108)进行验证,以验证该运动期间用户的眼睛随着该运动平滑扫过(例如,好像在旋转期间中始终固定在某物上)。例如,可以使用训练的NN来确定用户的眼睛824在眼睛图像820a、820b中的运动。如果确定了这种平滑扫过,则可以认为用户已经被固定在他或她最终激活或致动的虚拟UI设备上。再训练集可以包括再训练输入数据和对应的再训练目标输出数据。再训练输入数据可以包括眼睛图像820a、820b。对应的再训练目标输出数据可以包括在UI事件时虚拟UI设备804的位置和虚拟UI设备的投影位置(例如,投影位置808p)。
[0083] 反向跟踪眼睛注视的示例方法
[0084] 图9示出了相对于UI设备反向跟踪眼睛注视的说明性方法的流程图。ARD(例如,图1中的ARD 104)可以执行用于反向跟踪眼睛注视的方法900。在框904处,可以接收用户的眼睛的多个眼睛图像。例如,可以接收图8中的用户的眼睛824的眼睛图像820a、820b。当UI事件相对于在第一显示位置处向用户示出的UI设备而发生时,可以捕获多个眼睛图像中的第一眼睛图像。例如,如图8所示,当UI事件相对于显示位置808a处的虚拟UI设备804而发生时,捕获眼睛图像820a。
[0085] 在框908处,可以确定UI设备的投影显示位置。可以从第一显示位置沿着UI事件之前运动向后到运动的开始来确定投影显示位置。例如,图8示出了可以确定UI设备804的投影显示位置808p。UI设备804的投影显示位置808p可以从时间=0处的显示位置808a沿着UI事件之前运动向后到时间=-N处的运动的开始来确定。该运动可以包括角运动、均匀运动或其组合。
[0086] 在框912处,可以确定在运动的开始时捕获的多个眼睛图像中的第二眼睛图像中虚拟UI设备的投影显示位置808p和虚拟UI设备的第二显示位置是否在阈值距离内。图8示出了虚拟UI设备804的投影位置808p和位置808b在时间=-N的运动的开始时可以在阈值内。阈值可以是像素数量(例如,20、10、5、2或更少的像素)、ARD的显示器的尺寸的百分比(例如,20%、15%、10%、5%、2%或更低)、虚拟UI设备的尺寸的百分比(例如,20%、15%、10%、5%、2%或更低)或其组合。
[0087] 在框916处,可以可选地确定用户的眼睛是否随着运动在多个眼睛图像的眼睛图像中从第二眼睛图像到第一眼睛图像的平滑地移动。可以确定眼睛824是否在从时间=-N的运动开始时捕获的眼睛图像820b到在时间=0发生UI事件时捕获的眼睛图像820a的眼睛图像中平滑移动。例如,可以使用用于眼睛跟踪的训练的NN来确定眼睛824在从眼睛图像820b到眼睛图像820a的眼睛图像中的注视方向。
[0088] 在框920处,可以生成包括从第二眼睛图像到第一眼睛图像的眼睛图像的再训练集。每个眼睛图像可以与UI设备的显示位置相关联。例如,再训练集可以包括从在时间=-N的运动开始时捕获的眼睛图像820b到在时间=0发生UI事件时捕获的眼睛图像820a的眼睛图像作为再训练输入数据。再训练集可以包括显示位置808a、投影位置808p以及在显示位置808a和投影位置808p之间的投影位置作为对应的再训练目标输出数据。
[0089] 示例NN
[0090] 诸如深度神经网络(DNN)的神经网络(NN)的层可以对其输入应用线性或非线性变换以生成其输出。深度神经网络层可以是归一化层、卷积层、软设计(softsign)层、修正线性层、级联层、池化层、循环层、类初始层、或其任意组合。归一化层可以利用例如L2归一化来归一化其输入的亮度以生成其输出。归一化层可以例如一次相对于彼此归一化多个图像的亮度,以生成多个归一化图像作为其输出。用于归一化亮度的方法的非限制性示例包括局部对比度归一化(LCN)或局部响应归一化(LRN)。局部对比度归一化可以通过基于每个像素对图像的局部区域进行归一化为平均值为零且方差为1(或平均值和方差的其他值)来非线性地归一化图像的对比度。局部响应归一化可以将局部输入区域上的图像归一化为平均值为零且方差为1(或平均值和方差的其他值)。归一化层可以加快训练过程。
[0091] 卷积层可以应用将其输入进行卷积以生成其输出的内核集。softsign层可以将softsign函数应用于其输入。softsign函数(softsign(x))可以是例如(x/(1+|x|))。softsign层可以忽略每个元素异常值的影响。修正线性层可以是修正线性层单元(ReLU)或参数化的修正线性层单元(PReLU)。ReLU层可以将ReLU函数应用于其输入以生成其输出。
ReLU函数ReLU(x)可以是例如max(0,x)。PReLU层可以将PReLU函数应用于其输入以生成其输出。例如,如果x≥0,则PReLU函数PReLU(x)可以是x,并且如果x<0,则可以是ax,其中,a是正数。级联层可以级联其输入以生成其输出。例如,级联层可以级联四个5×5图像以生成一个20×20图像。池化层可以应用对输入进行下采样以生成其输出的池化函数。例如,池化层可以将20×20图像下采样为10×10图像。池化函数的非限制性示例包括最大池化、平均池化或最小池化。
[0092] 在时间点t,循环层可以计算隐藏状态s(t),并且循环连接可以将在时间t的隐藏状态s(t)提供给循环层作为在后续时间点t+1的输入。循环层可以基于在时间t的隐藏状态s(t)计算在时间t+1的输出。例如,循环层可以将softsign函数应用于在时间t的隐藏状态s(t),以计算其在时间t+1的输出。循环层在时间t+1处的隐藏状态将循环层在时间t处的隐藏状态s(t)作为其输入。循环层可以通过将例如ReLU函数应用于其输入来计算隐藏状态s(t+1)。类似初始层可以包括归一化层、卷积层、软设计层、诸如ReLU层和PReLU层的修正线性层、级联层、池化层或其任意组合中的一个或多个。
[0093] 在不同的实现中,NN中的层数可以不同。例如,DNN中的层数可以是50、100、200或更多个。在不同的实现中,深度神经网络层的输入类型可以不同。例如,一个层可以接收多个层的输出作为其输入。一个层的输入可以包括五个层的输出。作为另一示例,一个层的输入可以包括NN的层的1%。一个层的输出可以是许多层的输入。例如,一个层的输出可用作五个层的输入。作为另一示例,一个层的输出可以用作NN的层的1%的输入。
[0094] 层的输入尺寸或输出尺寸可以非常大。层的输入尺寸或输出尺寸可以为n×m,其中,n表示宽度,m表示输入或输出的高度。例如,n或m可以为11、21、31或更大。在不同的实现中,层的输入或输出的通道尺寸可以不同。例如,层的输入或输出的通道尺寸可以是4、16、32、64、128或更大。在不同的实现中,层的内核尺寸可以不同。例如,内核尺寸可以是n×m,其中,n表示宽度,m表示内核的高度。例如,n或m可以为5、7、9或更大。在不同的实现中,层的步幅尺寸可以不同。例如,深层神经网络层的步幅尺寸可以为3、5、7或更大。
[0095] 在一些实施例中,NN可以指代一起计算NN的输出的多个NN。可以针对不同的、相似的或相同的任务训练多个NN中的不同NN。例如,可以使用用于眼睛跟踪的不同眼睛图像来训练多个NN中的不同NN。使用多个NN中的不同NN确定的眼睛图像中的眼睛的眼睛姿势(例如,注视方向)可以不同。NN的输出可以是眼睛的眼睛姿势,其是使用多个NN中的不同NN确定的眼睛姿势的平均值。作为另一示例,多个NN中的不同NN可以用于确定当UI事件相对于不同显示位置处的UI设备发生时所捕获的眼睛图像中的眼睛的眼睛姿势(例如,当UI设备位于中心时的一个NN,和当UI设备位于ARD的显示器的外围时的一个NN)。
[0096] 示例增强现实场景
[0097] 当今的计算和显示技术已经促进了用于所谓的“虚拟现实”或“增强现实”体验的系统的开发,其中,数字再现的图像或其部分以它们看起来像是或者可能被感知为是真实的方式呈现给用户。虚拟现实“VR”场景通常涉及数字或虚拟图像信息的呈现,而对其他实际现实世界的视觉输入没有透明度;增强现实“AR”场景通常涉及数字或虚拟图像信息作为对用户周围的现实世界的可视化的增强的呈现;或者混合现实“MR”场景通常涉及将现实世界与虚拟世界融合以产生其中物理和虚拟对象共存并实时交互的新环境。事实证明,人类的视觉感知系统非常复杂,要产生促进对虚拟图像元素尤其虚拟或真实世界图像元素的舒适的、感觉自然的、丰富呈现的VR、AR或MR技术是有挑战性的。本文公开的系统和方法解决了与VR、AR和MR技术有关的各种挑战。
[0098] 图10描绘了具有某些虚拟现实对象以及人观看的某些实际现实对象的增强现实场景的图示。图10描绘了增强现实场景1000,其中,AR技术的用户看到了以背景中的人、树、建筑为特征的真实世界的公园状的设置1010以及平台1020。除了这些项目,AR技术的用户还感知到他“看到”了站在真实世界平台1020上的机器人雕像1030,以及看起来像飞行的蜜蜂化身的卡通式的头像角色1040,即使这些元素在现实世界中不存在。
[0099] 为了使三维(3-D)显示器产生真实的深度感,更具体地说,产生表面深度的模拟感,希望显示器视野中的每个点都生成对应于其虚拟深度的适应性响应。如果对显示点的适应性响应与该点的虚拟深度(由双目深度提示的汇聚和立体视觉确定)不对应,则人眼可能会遇到适应性冲突,从而导致成像不稳定、有害的眼睛疲劳、头痛以及在缺乏适应性信息的情况下几乎完全没有表面深度。
[0100] VR、AR和MR体验可以由具有显示器的显示系统提供,在该显示器中,与多个深度平面相对应的图像被提供给观看者。对于每个深度平面,图像可能是不同的(例如,提供场景或对象的稍有不同的表示),并且可能会被观看者的眼睛分别聚焦,从而有助于基于眼睛所需的适应向用户提供深度线索,为位于不同深度平面上的场景和/或基于观察不同深度平面上的不同图像特征失焦而聚焦不同图像特征。如本文其他地方所讨论的,这样的深度提示提供了对深度的可信感知。为了产生或增强VR、AR和MR体验,显示系统可以使用生物特征信息来增强这些体验。
[0101] 示例可穿戴显示系统
[0102] 图11示出了可用于向显示系统穿戴者或观看者1104呈现VR、AR或MR体验的可穿戴显示系统1100的示例。可穿戴显示系统1100可被编程为执行本文所描述的任何应用或实施例。显示系统1100包括显示器1108以及支持显示器1108的功能的各种机械和电子模块和系统。显示器1108可以耦接到框架1112,该框架1112可由显示系统用户、穿戴者或观看者1104穿戴并且被配置为将显示器1108定位在穿戴者1104的眼睛前面。显示器1108可以是光场显示器。在一些实施例中,扬声器1116耦接到框架1112并位于用户的道附近。在一些实施例中,未示出的另一扬声器位于用户的另一耳道附近以提供立体声/可塑形的声音控制。显示器1108诸如通过有线引线或无线连接可操作地耦接1120到本地数据处理模块1124,该本地数据处理模块1124可以以各种配置安装,诸如固定地附接到框架1112、固定地附接到用户所戴的头盔或帽子、嵌入在耳机中或以其他方式可移除地附接到用户1104(例如,以背包式配置,以皮带耦接式配置)。
[0103] 框架1112可以具有附接或安装到框架1112的一个或多个相机,以获取穿戴者的眼睛的图像。在一个实施例中,一个或多个相机可以安装到在穿戴者的眼睛前面的框架1112上,以便可以直接对眼睛成像。在其他实施例中,相机可以沿着框架1112的杆安装(例如,在穿戴者的耳朵附近)。在这样的实施例中,显示器1108可以涂覆有将来自穿戴者的眼睛的光反射回相机的材料。该光可以是红外光,因为虹膜特征在红外图像中很明显。
[0104] 本地处理和数据模块1124可以包括硬件处理器以及诸如非易失性存储器(例如,闪存)之类的非暂时性数字存储器,两者均可以用于辅助处理、缓存和存储数据。数据可以包括以下数据:(a)从传感器(其可以例如可操作地耦接到框架1112或以其他方式附接到用户1104)捕获的,诸如图像捕获设备(诸如相机)、麦克、惯性测量单元、加速度计、指南针、GPS单元、无线电设备、和/或陀螺仪;和/或(b)使用远程处理模块1128和/或远程数据存储库1132获取和/或处理的,可能用于在这样的处理或检索之后传递到显示器1108。本地处理和数据模块1124可以通过通信链路1136和/或1140(诸如经由有线或无线通信链路)可操作地耦接到远程处理模块1128和远程数据存储库1132,使得这些远程模块1128、1132可用作本地处理和数据模块1124的资源。图像捕获设备可以用于捕获在眼睛图像处理过程中使用的眼睛图像。另外,远程处理模块1128和远程数据存储库1132可以可操作地彼此耦接。
[0105] 在一些实施例中,远程处理模块1128可以包括被配置为分析和处理数据和/或图像信息(例如由图像捕获设备捕获的视频信息)的一个或多个处理器。视频数据可以本地存储在本地处理和数据模块1124和/或远程数据存储库1132中。在一些实施例中,远程数据存储库1132可以包括数字数据存储设备,其可以通过互联网或“云”资源配置中的其他网络配置来获取。在一些实施例中,所有数据被存储并且所有计算在本地处理和数据模块1124中执行,从而允许来自远程模块的完全自主使用。
[0106] 在一些实现中,本地处理和数据模块1124和/或远程处理模块1128被编程以执行如本文所述的系统和方法的实施例(例如,参考图1-9描述的神经网络训练或再训练技术)。图像捕获设备可以捕获特定应用的视频(例如,用于眼睛跟踪应用的穿戴者眼睛的视频,或用于手势识别应用的穿戴者的手或手指的视频)。视频可以由处理模块1124、1128中的一个或两个进行分析。在某些情况下,将至少一些虹膜代码生成卸载到远程处理模块(例如,在“云”中)可以提高效率或计算速度。本文公开的系统和方法的参数可以存储在数据模块
1124和/或1128中。
[0107] 分析结果可以被处理模块1124、1128中的一个或两个用于附加操作或处理。例如,在各种应用中,可穿戴显示系统1100可以使用生物特征识别、眼睛跟踪、识别、或手势、对象、姿势的分类等。例如,可穿戴显示系统1100可以分析捕获到的穿戴者1104的手的视频并识别穿戴者的手的手势(例如,拾取真实或虚拟对象、发信号通知同意或不同意(例如“大拇指向上”或“大拇指向下”)等),以及可穿戴显示系统。
[0108] 在一些实施例中,本地处理模块1124、远程处理模块1128和云上的系统(例如,图1中的NN再训练系统120)可以执行本文公开的一些或全部方法。例如,本地处理模块1124可以获取由面向内部的成像系统(例如,图13中的面向内部的成像系统1352)捕获的用户的眼睛图像。本地处理模块1124、远程处理模块1128和云上的系统可以执行生成再训练集和再训练神经网络(NN)的过程,以生成用于特定用户的用于眼睛跟踪的再训练的NN。例如,云上的系统可以执行由本地处理模块1124生成的再训练集来再训练NN的整个过程。作为另一个示例,远程处理模块1128可以执行使用概率分布函数从一个眼睛图像生成的具有不同眼睛姿势的眼睛图像的过程。作为又一个示例,本地处理模块1128可以执行以上参考图7描述的方法700,用于对在收集用于再训练NN的眼睛图像时观察到的UI事件进行密度归一化。
[0109] 人类的视觉系统是复杂的,提供对深度的真实感知是很有挑战的。不受理论的限制,据信由于聚散和适应性的组合,对象的观看者可以将对象感知为三维的。两只眼睛相对于彼此的聚散运动(例如,瞳孔相向或远离彼此的滚动运动以会聚眼睛的视线以固定在对象上)与眼睛的晶状体的聚焦(或“适应”)紧密相关联。在正常情况下,在已知“适应性-聚散度反射(accommodation-vergence reflex)”的关系下,改变眼睛晶状体的焦点或适应眼睛以将焦点从一个对象改变为在不同距离处的另一对象,将自动引起在相同的距离上聚散的匹配改变。同样,在正常情况下,聚散度的变化将引发适应性的匹配变化。在适应性和聚散度之间提供更好匹配的显示系统可以形成更逼真的或更舒适的三维图像模拟。
[0110] 图12示出了用于使用多个深度平面来模拟三维图像的方法的各方面。参考图12,在z轴上距眼睛1202和1204各种距离的对象被眼睛1202和1204适应,从而使这些对象聚焦。眼睛1202和1204呈现出特定的适应状态,以沿z轴将不同距离的对象聚焦。因此,可以说特定的适应状态与深度平面1206中的特定一个相关联,并且具有相关联的焦距,使得当眼睛对于特定深度平面处于适应状态时,那个特定深度平面中的对象或对象的一部分处于聚焦状态。在一些实施例中,可以通过为眼睛1202和1204中的每一个提供图像的不同呈现,并且还通过提供与每个深度平面相对应的图像的不同呈现,来模拟三维图像。尽管为了图示清楚而被示出为是分开的,但是应当理解,眼睛1202和1204的视场可以例如随着沿z轴的距离增加而重叠。另外,虽然为了便于说明而显示为平坦的,应当理解,深度平面的轮廓可以在物理空间中弯曲,使得深度平面中的所有特征在眼睛处于特定的适应状态下都被聚焦。不受理论的限制,相信人眼通常可以解释有限数量的深度平面以提供深度感知。因此,通过向眼睛提供与这些有限数量的深度平面中的每一个相对应的图像的不同呈现,可以实现感知深度的高度可信的模拟。
[0111] 示例波导堆叠组件
[0112] 图13示出了用于向用户输出图像信息的波导堆叠的示例。显示系统1300包括可用于利用多个波导1320a-1320e向眼睛1310或大脑提供三维感知的波导的堆叠或堆叠的波导组件1305。在一些实施例中,显示系统1300可以对应于图11的系统1100,图13示意性地更详细地示出了该系统1100的一些部分。例如,在一些实施例中,波导组件1305可以集成到图11的显示器1108中。
[0113] 继续参考图13,波导组件1305还可以包括在波导之间的多个特征1330a-1330d。在一些实施例中,特征1330a-1330d可以是透镜。在一些实施例中,特征1330a-1330d可以不是透镜。而是,它们可以是间隔件(例如,用于形成气隙的包层和/或结构)。
[0114] 波导1320a-1320e和/或多个透镜1330a-1330d可以被配置为以各种级别的波前曲率或光线发散将图像信息发送到眼睛。每个波导级别可以与特定的深度平面相关联并且可以被配置为输出与该深度平面相对应的图像信息。图像注入设备1340a-1340e可被用于将图像信息注入波导1320a-1320e中,每个波导可被配置为将入射光分布在每个对应的波导上,以输出到眼睛1310。光射出图像注入设备1340a-1340e的输出表面并被注入到波导1320a-1320e的对应输入边缘。在一些实施例中,单束光束(例如,准直光束)可以被注入到每个波导中,以输出克隆的准直光束的整个场,该克隆的准直光束以对应于与特定波导相关联的深度平面的特定角度(和发散量)指向眼睛1310。
[0115] 在一些实施例中,图像注入设备1340a-1340e是包的显示器,其各自产生图像信息以分别注入到对应的波导1320a-1320e中。在一些其他实施例中,图像注入设备1340a-1340e是单个多路复用显示器的输出端,其例如可以经由一个或多个光导管(例如,光纤电缆)将图像信息输送到每个图像注入设备1340a-1340e中。
[0116] 控制器1350控制堆叠的波导组件1305和图像注入设备1340a-1340e的操作。在一些实施例中,控制器1350包括程序(例如,非暂时性计算机可读介质中的指令),其调节图像信息到波导1320a-1320e的定时和提供。在一些实施例中,控制器1350可以是单个整体设备,或者是通过有线或无线通信信道连接的分布式系统。在一些实施例中,控制器1350可以是处理模块1124或1128(在图11中示出)的一部分。在一些实施例中,控制器可以与面向内部的成像系统1352(例如,数字相机)、面向外部的成像系统1354(例如,数字相机)和/或用户输入设备1356通信。面向内部的成像系统1352(例如,数字相机)可以用于捕获眼睛1310的图像,以例如确定眼睛1310的瞳孔的尺寸和/或取向。面向外部的成像系统1354可用于对世界1358的一部分进行成像。用户可以通过用户输入设备1356将命令输入到控制器1350,以与显示系统1300交互。
[0117] 波导1320a-1320e可被配置为通过全内反射(TIR)在每个相应的波导内传播光。波导1320a-1320e每个可以是平面的或具有另一种形状(例如,弯曲的),具有主顶部和底部表面以及在那些主顶部和底部表面之间延伸的边缘。在示出的配置中,波导1320a-1320e每个可以包括光提取光学元件1360a-1360e,其被配置为通过将在每个相应波导内传播的光重定向到波导之外来将光提取出波导,以将图像信息输出到眼睛1310。提取的光也可以称为出耦合(outcouple)的光,并且光提取光学元件也可以称为出耦合光学元件。提取的光束由波导在波导中传播的光撞击光重定向元件的位置处输出。光提取光学元件1360a-1360e可以例如是反射和/或衍射光学特征。尽管为了便于描述和附图清晰而示出了设置在波导1320a-1320e的底部主表面上,但是在一些实施例中,光提取光学元件1360a-1360e可以设置在顶部和/或底部主表面上,和/或可以直接设置在波导1320a-1320e的体积中。在一些实施例中,光提取光学元件1360a-1360e可以形成为材料层,该材料层附接到透明基板上以形成波导1320a-1320e。在一些其他实施例中,波导1320a-1320e可以是单片材料,并且光提取光学元件1360a-1360e可以形成在那片材料的表面上和/或那片材料的内部中。
[0118] 继续参考图13,如本文中所论述,每个波导1320a-1320e被配置为输出光以形成对应于特定深度平面的图像。例如,最靠近眼睛的波导1320a可以被配置为将注入到这种波导1320a中的准直光传送到眼睛1310。准直光可以代表光学无限远焦平面。下一个上行波导
1320b可以被配置为在准直光到达眼睛1310之前发出通过第一透镜1330a(例如,负透镜)的准直光。第一透镜1330a可以被配置为产生轻微的凸面的波前曲率,使得眼睛/大脑将来自下一个上行波导1320b的光解释为来自从光学无限远方向更靠近向内朝向眼睛1310的第一焦平面。类似地,第三上行波导1320c将其输出光在到达眼睛1310之前通过第一透镜1330a和第二透镜1330b。第一透镜1330a和第二透镜1330b的组合光功率可被配置为产生另一增量的波前曲率,使得眼睛/大脑将来自第三波导1320c的光解释为来自比来自下一个上行波导1320b的光从光学无限远方向更靠近向内朝向人的第二焦平面。
[0119] 其他波导层(例如,波导1320d、1320e)和透镜(例如,透镜1330c、1330d)被类似地配置,其中堆叠中的最高波导1320e发送其输出通过其与眼睛之间的所有透镜,用于代表最靠近人的焦平面的聚合(aggregate)焦度。为了在堆叠波导组件1305的另一侧上观看/解释来自世界1358的光时补偿透镜堆叠1330a-1330d,可以在堆叠的顶部设置补偿透镜层1330e以补偿下方的透镜堆叠1330a-1330d的聚合焦度。这样的配置提供与可用的波导/透镜对一样多的感知焦平面。波导1320a-1320e的光提取光学元件1360a-1360e和透镜1330a-1330d的聚焦方面都可以是静态的(例如,不是动态的或电激励的)。在一些替代实施例中,使用电激励特征中的一个或两个可以是动态的。
[0120] 继续参考图13,光提取光学元件1360a-1360e可以被配置为既将光重定向到它们各自的波导之外,又以与波导相关联的特定深度平面以适当的发散或准直量输出该光。结果,具有不同相关联的深度平面的波导可以具有不同配置的光提取光学元件,该光提取光学元件根据相关联的深度平面以不同的发散量输出光。在一些实施例中,如本文所讨论的,光提取光学元件1360a-1360e可以是可以被配置为以特定角度输出光的体积或表面特征。例如,光提取光学元件1360a-1360e可以是体积全息图、表面全息图和/或衍射光栅。在2015年6月25日公开的美国专利公开No.2015/0178939中描述了诸如衍射光栅的光提取光学元件,其通过引用整体并入本文。在一些实施例中,特征1330a-1330e可以不是透镜。而是,它们可以简单地是间隔件(例如,用于形成气隙的包层和/或结构)。
[0121] 在一些实施例中,光提取光学元件1360a-1360e是形成衍射图案或“衍射光学元件”(在本文中也称为“DOE”)的衍射特征。优选地,DOE具有相对较低的衍射效率,以使得光束的仅一部分光在DOE的每个相交处偏转朝着眼睛1310,而其余的光通过全内反射继续移动通过波导。因此,携带图像信息的光被分成在多个位置处离开波导的多个相关的出射光束,结果是该特定的准直光束在波导内弹跳的情况下,朝向眼睛1310的出射发射的图案相当均匀。
[0122] 在一些实施例中,一个或多个DOE可以在它们主动衍射的“开”状态与它们不明显衍射的“关”状态之间切换。例如,可切换的DOE可以包括聚合物分散液晶层,其中,微滴在主体介质中包括衍射图案,并且微滴的折射率可以切换为与主体材料的折射率基本匹配(在在这种情况下,该图案不会明显衍射入射光),或者可以将微滴切换到与主体介质的折射率不匹配的折射率(在这种情况下,该图案会主动衍射入射光)。
[0123] 在一些实施例中,深度平面和/或景深的数量和分布可以基于观看者的眼睛的瞳孔尺寸和/或取向而动态地变化。在一些实施例中,可以使用面向内部的成像系统1352(例如,数字相机)来捕获眼睛1310的图像以确定眼睛1310的瞳孔的尺寸和/或取向。在一些实施例中,面向内部的成像系统1352可以附接到框架1112(如图11所示)并且可以与处理模块1124和/或1128电连通,处理模块1124和/或1128可以处理来自面向内部的成像系统1352的图像信息,以确定例如用户1104的眼睛的瞳孔直径或取向。
[0124] 在一些实施例中,面向内部的成像系统1352(例如,数字相机)可以观察用户的运动,诸如眼睛运动和面部运动。面向内部的成像系统1352可用于捕获眼睛1310的图像以确定眼睛1310的瞳孔的尺寸和/或取向。面向内部的成像系统1352可用于获得图像以用于确定用户正在看的方向(例如,眼睛姿势)或用于用户的生物特征识别(例如,通过虹膜识别)。可以分析由面向内部的成像系统1352获得的图像,以确定用户的眼睛姿势和/或心情,显示系统1300可以使用它们来决定应该向用户呈现哪些音频或视觉内容。显示系统1300还可以使用传感器来确定头部姿势(例如,头部位置或头部取向),诸如惯性测量单元(IMU)、加速度计、陀螺仪等。头部的姿势可以单独使用或与眼睛姿势结合使用以与主干轨道(stem track)和/或当前音频内容交互。
[0125] 在一些实施例中,可以为每只眼睛使用一个相机,以分别确定每只眼睛的瞳孔尺寸和/或取向,从而允许向每只眼睛呈现动态地向该只眼睛调整的图像信息。在一些实施例中,可以为每只眼睛使用至少一个相机,以独立地单独确定每只眼睛的瞳孔尺寸和/或眼睛姿势,从而允许向每只眼睛呈现动态地向该只眼睛调整的图像信息。在一些其他实施例中,确定仅一只眼睛1310的瞳孔直径和/或取向(例如,每对眼睛仅使用单个相机),并且假定其对于观看者1104的两只眼睛是相似的。
[0126] 例如,景深可能与观看者的瞳孔尺寸成反比。结果,随着观看者眼睛的瞳孔尺寸的减小,景深增加,使得由于该平面的位置超出眼睛的焦点深度而无法辨别的一个平面可以变得可辨别,并且看起来随着瞳孔尺寸的减小和景深的相应增加更聚焦。同样地,可以随着瞳孔尺寸的减小而减少用于向观看者呈现不同图像的间隔的深度平面的数量。例如,观看者在不调整眼睛远离一个深度平面和到另一个深度平面的适应性的情况下,可能不能清楚地感知处于一个瞳孔尺寸的第一深度平面和第二深度平面的细节。然而,这两个深度平面可以在不改变适应性的情况下,对于处于另一瞳孔尺寸的用户同时充分地聚焦。
[0127] 在一些实施例中,显示系统可以基于对瞳孔尺寸和/或取向的确定,或者基于接收到指示特定瞳孔尺寸和/或取向的电信号,来改变接收图像信息的波导的数量。例如,如果用户的眼睛无法区分与两个波导相关联的两个深度平面,则控制器1350可以被配置或编程为停止向这些波导之一提供图像信息。有利地,这可以减少系统上的处理负担,从而增加系统的响应性。在波导的DOE可在开和关状态之间切换的实施例中,当波导确实接收到图像信息时,DOE可被切换到关状态。
[0128] 在一些实施例中,可能期望使出射光束满足直径小于观看者的眼睛的直径的条件。但是,鉴于观看者瞳孔尺寸的可变性,满足此条件可能是具有挑战的。在一些实施例中,通过响应于观看者的瞳孔尺寸的确定而改变出射光束的尺寸,在宽的瞳孔尺寸范围上满足该条件。例如,随着瞳孔尺寸的减小,出射光束的尺寸也可以减小。在一些实施例中,可以使用可变孔径来改变出射光束的尺寸。
[0129] 显示系统1300可以包括对世界1358的一部分进行成像的面向外部的成像系统1354(例如,数字相机)。世界1358的该部分可以被称为视野(FOV),以及成像系统1354有时被称为FOV相机。可用于观看者1104观看或成像的整个区域可以被称为能视域(FOR)。FOR可以包括围绕显示系统1300的立体角的4π球面度。在显示系统1300的一些实现中,FOR可以包括围绕显示系统1300的用户1104的基本上所有的立体角,因为用户1104可以移动他们的头和眼睛来看用户周围(用户的前面、后面、上方、下方或侧面)的对象。从面向外部的成像系统1354获取的图像可以用于跟踪用户做出的手势(例如,手部或手指手势)、检测用户面前的世界1358中的对象等等。
[0130] 显示系统1300可以包括用户输入设备1356,用户可以通过该用户输入设备1356向控制器1350输入命令以与显示系统400交互。例如,用户输入设备1356可以包括触控板、触摸屏、操纵杆、多自由度(DOF)控制器、电容感测设备、游戏控制器、键盘、鼠标、方向板(D-pad)、棒、触觉设备、图腾(例如,充当虚拟用户输入设备)等等。在一些情况下,用户可以使用手指(例如,拇指)在触敏输入设备上按下或滑动来向显示系统1300提供输入(例如,向由显示系统1300提供的用户界面提供用户输入)。用户输入设备1356可以在使用显示系统1300期间被用户的手握住。用户输入设备1356可以与显示系统1300进行有线或无线通信。
[0131] 图14示出了由波导输出的出射光束的示例。示出了一个波导,但是应当理解,波导组件1305中的其他波导可以类似地起作用,其中,波导组件1305包括多个波导。光1405在波导1320a的输入边缘1410处注入到波导1320a中,并通过全内反射(TIR)在波导1320a内传播。在光1405入射在衍射光学元件(DOE)1360a上的点处,光的一部分作为出射光束1415离开波导。出射光束1415被示为基本平行,但是取决于与波导1320a相关联的深度平面,它们也可以被重定向以一定角度传播到眼睛1310(例如,形成发散的出射光束)。将理解,基本平行的出射光束可以指示具有光提取光学元件的波导,该光提取光学元件将光出耦合以形成看起来被设置在距眼睛1310很远的距离(例如,光学无限远)的深度平面上的图像。其他波导或其他光提取光学元件组可以输出更发散的出射光束图案,这将需要眼睛1310适应更近的距离以将其聚焦在视网膜上,并且将被大脑解释为光来自比光学无穷远更接近眼睛1310的距离。
[0132] 图15示出了显示系统1300的另一示例,该显示系统1300包括波导装置、将光光学耦合到波导装置或从波导装置光学耦合光的光耦合器子系统以及控制子系统。显示系统1300可以用于生成多焦点的体积、图像或光场。显示系统1300可以包括一个或多个主平面波导1504(在图15中仅示出了一个)和与至少一些主波导1504中的每个相关联的一个或多个DOE 1508。平面波导1504可以类似于参考图13讨论的波导1320a-1320e。光学系统可以采用分布波导装置,以沿第一轴(在图15中为垂直或Y轴)中继光,并沿第一轴(例如,Y轴)扩展光的有效出射光瞳。分布波导装置可以例如包括分布平面波导1512和与分布平面波导1512相关联的至少一个DOE1516(由双点划线示出)。分布平面波导1512在至少一些方面可以与主平面波导1504相似或相同,但具有与其不同的取向。同样,至少一个DOE1516在至少一些方面可以与DOE 1508相似或相同。例如,分布平面波导1512和/或DOE 1516可以分别由与主平面波导1504和/或DOE 1508相同的材料构成。可将图15所示的光学系统集成到图11所示的可穿戴显示系统1100中。
[0133] 中继的和出射光瞳扩展的光从分布波导装置光学耦接到一个或多个主平面波导1504中。主平面波导1504沿优选正交于第一轴的第二轴(例如,图15中的平或X轴)中继光。注意,第二轴可以是相对于第一轴的非正交轴。主平面波导1504沿该第二轴(例如,X轴)扩展光的有效出射路径。例如,分布平面波导1512可沿垂直或Y轴中继和扩展光,并将该光传递到沿水平或X轴中继和扩展光的主平面波导1504。
[0134] 显示系统1300可以包括一个或多个彩色(例如,红色、绿色和蓝色激光)光源1520,其可以光学耦接到单模光纤1524的近端中。光纤1524的远端可通过压电材料的中空管1528穿过或接收。远端从管1528突出为自由固定的柔性悬臂1532。压电管1528可以与四个象限电极(未示出)相关联。电极可以例如在管1528的外侧、外表面或外周或直径上。芯电极(未示出)也位于管1528的芯、中心、内周或内径中。
[0135] 驱动电子设备1536,例如经由导线1540电耦接,驱动相对的电极对,以独立地在两个轴上弯曲压电管1528。光纤1524的突出的远端顶端具有机械谐振模式。谐振的频率可以取决于光纤1524的直径、长度和材料特性。通过在光纤悬臂1532的第一机械谐振模式附近使压电管1528振动,使光纤悬臂1532振动并且可以扫过大的偏转。
[0136] 通过激发两个轴上的谐振,光纤悬臂1532的顶端在遍及二维(2-D)扫描的区域中双轴扫描。通过与光纤悬臂1532的扫描同步地调制一个或多个光源1520的强度,从光纤悬臂1532出射的光可以形成图像。美国专利公开No.2014/0003762中提供了这样的设置的描述,其通过引用全部并入在此。
[0137] 光耦接器子系统的组件1544准直从扫描光纤悬臂1532射出的光。准直的光被镜面1548反射到包含至少一个衍射光学元件(DOE)1516的窄分布平面波导1512中。准直光通过全内反射沿分布平面波导1512垂直地传播(相对于图15的视图),并且在这样做时与DOE 
1516重复相交。DOE 1516优选地具有低衍射效率。这导致一部分光(例如,10%)在与DOE 
1516相交的每个点处朝着较大的主平面波导1504的边缘衍射,并且一部分光继续在其原始轨迹上通过TIR向下沿分布平面波导1512的长度移动。
[0138] 在与DOE 1516相交的每个点处,附加的光朝着主波导1512的入口衍射。通过将入射光分成多个出耦合组,光的出射光瞳由DOE 1516在分布平面波导1512中垂直扩展。从分布平面波导1512中耦合出来的垂直扩展的光进入主平面波导1504的边缘。
[0139] 进入主波导1504的光经由TIR沿主波导1504水平传播(相对于图15的视图)。当光经由TIR沿着主波导1504的长度的至少一部分水平传播时,光与DOE 1508在多个点处相交。DOE 1508可以有利地被设计或构造为具有作为线性衍射图案和径向对称衍射图案之和的相位轮廓(phase profile),以产生光的偏转和聚焦。DOE 1508可以有利地具有低衍射效率(例如,10%),使得与DOE 1508的每个相交仅光束的一部分光朝向视图的眼睛偏转,而其余的光继续经由TIR传播通过波导1504。
[0140] 在传播光与DOE 1508之间的每个相交点处,一部分光朝着主波导1504的相邻面衍射,从而使光逸出TIR,并从主波导1504的面射出。在一些实施例中,DOE 1508的径向对称衍射图案另外向衍射光赋予聚焦水平,既使单个光束的光波前成形(例如,赋予曲率)以及以与设计的聚焦水平相匹配的角度将光束转向。
[0141] 因此,这些不同的路径可以通过多个DOE 1508以不同的角度、聚焦水平和/或在出射光瞳处产生不同的填充图案来使光从主平面波导1504耦合出。出射光瞳处的不同填充图案可有利地用于创建具有多个深度平面的光场显示。波导组件中的每一层或堆叠中的一组层(例如3层)可用于产生相应的颜色(例如,红色、蓝色、绿色)。因此,例如,可以采用第一组的三个相邻层来分别在第一焦深处产生红光、蓝光和绿光。可以采用第二组的三个相邻层来分别在第二焦深处产生红光、蓝光和绿光。可以采用多组来生成具有各种焦深的完整3D或4D彩色图像光场。
[0142] 附加方面
[0143] 在第1方面,公开了一种可穿戴显示系统。可穿戴显示系统包括:图像捕获设备,其被配置为捕获用户的眼睛的多个再训练眼睛图像;显示器;非暂时性计算机可读存储介质,其被配置为存储:多个再训练眼睛图像;以及用于眼睛跟踪的神经网络;以及与图像捕获设备、显示器和非暂时性计算机可读存储介质通信的硬件处理器,硬件处理器由可执行指令编程为:接收由图像捕获设备捕获的和/或从非暂时性计算机可读存储介质(其可以由图像捕获设备捕获)接收的多个再训练眼睛图像,其中,当用户界面(UI)事件相对于在显示器的显示位置处显示给用户的UI设备而发生时,图像捕获设备捕获多个再训练眼睛图像中的再训练眼睛图像;生成包括再训练输入数据和对应的再训练目标输出数据的再训练集,其中,再训练输入数据包括再训练眼睛图像,并且其中,对应的再训练目标输出数据包括再训练眼睛图像中与显示位置有关的用户的眼睛的眼睛姿势;以及获得使用再训练集从用于眼睛跟踪的神经网络再训练的再训练神经网络。
[0144] 在第2方面,根据方面1的可穿戴显示系统,其中,为了获得再训练神经网络,硬件处理器被编程为至少:使用再训练集来再训练用于眼睛跟踪的神经网络,以生成再训练神经网络。
[0145] 在第3方面,根据方面1的可穿戴显示系统,其中,为了获得再训练神经网络,硬件处理器被编程为至少:将再训练集发送到远程系统;以及从远程系统接收再训练神经网络。
[0146] 在第4方面,根据方面3的可穿戴显示系统,其中,远程系统包括云计算系统。
[0147] 在第5方面,根据方面1-4中任一方面的可穿戴显示系统,其中,为了接收用户的多个再训练眼睛图像,硬件处理器由可执行指令编程为至少:在显示器上在显示位置处向用户显示UI设备;确定UI事件相对于UI设备的发生;以及从图像捕获设备接收再训练眼睛图像。
[0148] 在第6方面,根据方面5的可穿戴显示系统,其中,硬件处理器还由可执行指令编程为:使用显示位置来确定再训练眼睛图像中眼睛的眼睛姿势。
[0149] 在第7方面,根据方面6的可穿戴显示系统,其中,再训练眼睛图像中眼睛的眼睛姿势包括显示位置。
[0150] 在第8方面,根据方面1-4中任一方面的可穿戴显示系统,其中,为了接收用户的多个训练眼睛图像,硬件处理器由可执行指令编程为至少:基于再训练眼睛图像生成第二多个第二再训练眼睛图像;以及使用显示位置和概率分布函数确定第二多个第二再训练眼睛图像中的第二再训练眼睛图像中眼睛的眼睛姿势。
[0151] 在第9方面,根据方面1-4中任一方面的可穿戴显示系统,其中,为了接收用户的多个再训练眼睛图像,硬件处理器由可执行指令编程为至少:从图像捕获设备接收用户的眼睛的多个眼睛图像,其中,当UI事件相对于在显示器的显示位置处向用户显示的UI设备发生时,用户设备捕获多个眼睛图像中的第一眼睛图像;从显示位置沿着UI事件之前用户的运动向后到运动的开始,确定UI设备的投影显示位置;确定在运动的开始时捕获的多个眼睛图像中的第二眼睛图像中UI设备的投影显示位置和第二显示位置具有阈值距离;以及生成包括多个眼睛图像中从第二眼睛图像到第一眼睛图像的眼睛图像的再训练输入数据,其中,对应的再训练目标输出数据包括眼睛图像的每个眼睛图像中与眼睛图像中UI设备的显示位置有关的用户的眼睛的眼睛姿势。
[0152] 在第10方面,根据方面9的可穿戴显示系统,其中,眼睛的眼睛姿势是显示位置。
[0153] 在第11方面,根据方面10的可穿戴显示系统,其中,硬件处理器还由可执行指令编程为至少:使用UI设备的显示位置来确定眼睛的眼睛姿势。
[0154] 在第12方面,根据方面1-11中任一方面的可穿戴显示系统,其中,为了生成再训练集,硬件处理器由可执行指令编程为至少:确定再训练眼睛图像中眼睛的眼睛姿势是在多个眼睛姿势区域中的第一眼睛姿势区域中;确定UI设备在第一眼睛姿势区域中的分布概率;以及以与分布概率有关的包含概率生成包括再训练眼睛图像的再训练输入数据。
[0155] 在第13方面,根据方面1-12中任一方面的可穿戴显示系统,其中,硬件处理器还由可执行指令编程为至少:使用包括训练输入数据和对应的训练目标输出数据的训练集来训练用于眼睛跟踪的神经网络,其中,训练输入数据包括多个用户的多个训练眼睛图像,并且其中,对应的训练目标输出数据包括多个训练眼睛图像中多个用户的眼睛的眼睛姿势。
[0156] 在第14方面,根据方面13的可穿戴显示系统,其中,再训练集的再训练输入数据包括多个训练眼睛图像中的至少一个训练眼睛图像。
[0157] 在第15方面,根据方面13的可穿戴显示系统,其中,再训练集的再训练输入数据不包括多个训练眼睛图像中的训练眼睛图像。
[0158] 在第16方面,根据方面1-15中任一方面的可穿戴显示系统,其中,为了再训练用于眼睛跟踪的神经网络,硬件处理器由可执行指令编程为至少:用神经网络的权重初始化再训练神经网络的权重。
[0159] 在第17方面,根据方面1-16中任一方面的可穿戴显示系统,其中,硬件处理器由可执行指令编程为使用户设备:从图像捕获设备接收用户的眼睛图像;以及使用再训练神经网络确定在眼睛图像中的用户的眼睛姿势。
[0160] 在第18方面,公开了一种用于再训练用于眼睛跟踪的神经网络的系统。该系统包括:存储可执行指令的计算机可读存储器;以及一个或多个处理器,其由可执行指令编程为至少:接收用户的眼睛的多个再训练眼睛图像,其中,当用户界面(UI)事件相对于在用户设备的显示位置处显示给用户的UI设备而发生时,捕获多个再训练眼睛图像中的再训练眼睛图像;生成包括再训练输入数据和对应的再训练目标输出数据的再训练集,其中,再训练输入数据包括再训练眼睛图像,并且其中,对应的再训练目标输出数据包括再训练眼睛图像中与显示位置有关的用户的眼睛的眼睛姿势;以及使用再训练集再训练用于眼睛跟踪的神经网络以生成再训练神经网络。
[0161] 在第19方面,根据方面18的系统,其中,为了接收用户的多个再训练眼睛图像,一个或多个处理器由可执行指令编程以至少使用户设备:在显示位置处使用显示器向用户显示UI设备;确定相对于UI设备的UI事件的发生;使用成像系统捕获再训练眼睛图像;以及将再训练眼睛图像发送到系统。
[0162] 在第20方面,根据方面19的系统,其中,为了接收用户的多个再训练眼睛图像,一个或多个处理器进一步由可执行指令编程以至少:使用显示位置确定再训练眼睛图像中眼睛的眼睛姿势。
[0163] 在第21方面,根据方面20的系统,其中,再训练眼睛图像中眼睛的眼睛姿势包括显示位置。
[0164] 在第22方面,根据方面19的系统,其中,为了接收用户的多个再训练眼睛图像,一个或多个处理器由可执行指令编程为至少:基于再训练眼睛图像生成第二多个第二再训练眼睛图像;以及使用显示位置和概率分布函数确定第二多个第二再训练眼睛图像中的第二再训练眼睛图像中眼睛的眼睛姿势。
[0165] 在第23方面,根据方面18的系统,其中,为了接收用户的多个再训练眼睛图像,一个或多个处理器由可执行指令编程为至少:接收用户的眼睛的多个眼睛图像,其中,当UI事件相对于在用户设备的显示位置处向用户显示的UI设备发生时,由用户设备捕获多个眼睛图像中的第一眼睛图像;从显示位置沿着UI事件之前用户的运动向后到运动的开始,确定UI设备的投影显示位置;确定在运动的开始时捕获的多个眼睛图像中的第二眼睛图像中UI设备的投影显示位置和第二显示位置具有阈值距离;以及生成包括多个眼睛图像中从第二眼睛图像到第一眼睛图像的眼睛图像的再训练输入数据,其中,对应的再训练目标输出数据包括眼睛图像的每个眼睛图像中与眼睛图像中UI设备的显示位置有关的用户的眼睛的眼睛姿势。
[0166] 在第24方面,根据方面23的系统,其中,眼睛的眼睛姿势是显示位置。
[0167] 在第25方面,根据方面24的系统,其中,一个或多个处理器进一步由可执行指令编程为至少:使用UI设备的显示位置来确定眼睛的眼睛姿势。
[0168] 在第26方面,根据方面18-25中任一方面的系统,其中,为了生成再训练集,一个或多个处理器由可执行指令编程为至少:确定再训练眼睛图像中眼睛的眼睛姿势是在多个眼睛姿势区域中的第一眼睛姿势区域中;确定UI设备在第一眼睛姿势区域中的分布概率;以及以与分布概率有关的包含概率生成包括再训练眼睛图像的再训练输入数据。
[0169] 在第27方面,根据方面18-26中任一方面的系统,其中,一个或多个处理器进一步由可执行指令编程为至少:使用包括训练输入数据和对应的训练目标输出数据的训练集来训练用于眼睛跟踪的神经网络,其中,训练输入数据包括多个用户的多个训练眼睛图像,并且其中,对应的训练目标输出数据包括多个训练眼睛图像中多个用户的眼睛的眼睛姿势。
[0170] 在第28方面,根据方面27的系统,其中,再训练集的再训练输入数据包括多个训练眼睛图像中的至少一个训练眼睛图像。
[0171] 在第29方面,根据方面27的系统,其中,再训练集的再训练输入数据不包括多个训练眼睛图像中的训练眼睛图像。
[0172] 在第30方面,根据方面18-29中任一方面的系统,其中,为了再训练用于眼睛跟踪的神经网络,一个或多个处理器由可执行指令编程为至少:用神经网络的权重初始化再训练神经网络的权重。
[0173] 在第31方面,根据方面18-30中任一方面的系统,其中,一个或多个处理器由可执行指令编程为使用户设备:捕获用户的眼睛图像;以及使用再训练神经网络确定在眼睛图像中用户的眼睛姿势。
[0174] 在第32方面,公开了一种用于再训练神经网络的方法。该方法在硬件处理器的控制下并且包括:接收用户的眼睛的多个再训练眼睛图像,其中,当用户界面(UI)事件相对于在显示位置处显示给用户的UI设备而发生时,捕获多个再训练眼睛图像中的再训练眼睛图像;生成包括再训练输入数据和对应的再训练目标输出数据的再训练集,其中,再训练输入数据包括再训练眼睛图像,并且其中,对应的再训练目标输出数据包括再训练眼睛图像中与显示位置有关的用户的眼睛的眼睛姿势;以及使用再训练集再训练神经网络以生成再训练神经网络。
[0175] 在第33方面,根据方面32的方法,其中,接收用户的多个再训练眼睛图像包括:使用显示器在显示位置处向用户显示UI设备;确定相对于UI设备的UI事件的发生;以及使用成像系统捕获再训练眼睛图像。
[0176] 在第34方面,根据方面33的方法,其中,接收用户的多个再训练眼睛图像还包括:基于再训练眼睛图像生成第二多个第二再训练眼睛图像;以及使用显示位置和概率分布函数确定第二多个第二再训练眼睛图像中的第二再训练眼睛图像中眼睛的眼睛姿势。
[0177] 在第35方面,根据方面34的方法,其中,概率分布函数包括UI设备的预定概率分布。
[0178] 在第36方面,根据方面34的方法,其中,UI设备包括第一组件和第二组件,其中,概率分布函数包括相对于第一组件的分布概率分布函数和相对于第二组件的第二概率分布函数的组合概率分布。
[0179] 在第37方面,根据方面36的方法,其中,UI设备的第一组件包括图形UI设备,并且其中,UI设备的第二组件包括图形UI设备的文本描述。
[0180] 在第38方面,根据方面32的方法,其中,接收用户的多个再训练眼睛图像包括:接收用户的眼睛的多个眼睛图像,其中,当UI事件时相对于在显示位置向用户显示的UI设备而发生时,捕获多个眼睛图像中的第一眼睛图像;从显示位置沿着UI事件之前运动向后到运动的开始,确定UI设备的投影显示位置;确定在运动的开始时捕获的多个眼睛图像中的第二眼睛图像中UI设备的投影显示位置和第二显示位置具有阈值距离;以及生成包括多个眼睛图像中从第二眼睛图像到第一眼睛图像的眼睛图像的再训练输入数据,其中,对应的再训练目标输出数据包括眼睛图像的每个眼睛图像中与眼睛图像中UI设备的显示位置有关的用户的眼睛的眼睛姿势。
[0181] 在第39方面,根据方面38的方法,其中,运动包括角运动。
[0182] 在第40方面,根据方面38的方法,其中,运动包括匀速运动。
[0183] 在第41方面,根据方面38的方法,还包括:在UI事件之前确定运动的存在。
[0184] 在第42方面,根据方面38的方法,该方法还包括:确定用户的眼睛随着眼睛图像中的运动从第二眼睛图像到第一眼睛图像而平滑地移动。
[0185] 在第43方面,根据方面42的方法,其中,确定眼睛平滑地移动包括:使用神经网络确定用户的眼睛随着眼睛图像中的运动而平滑地移动。
[0186] 在第44方面,根据方面42的方法,其中,确定眼睛平滑地移动包括:确定眼睛图像中用户的眼睛的眼睛姿势随着运动而平滑地移动。
[0187] 在第45方面,根据方面32-44中任一方面的方法,其中,眼睛的眼睛姿势是显示位置。
[0188] 在第46方面,根据方面32-45中任一方面的方法,还包括使用UI设备的显示位置确定眼睛的眼睛姿势。
[0189] 在第47方面,根据方面46的方法,其中,确定眼睛的眼睛姿势包括使用UI设备的显示位置、眼睛的位置或其组合来确定眼睛的眼睛姿势。
[0190] 在第48方面,根据方面32-47中任一方面的方法,其中,生成再训练集包括:确定再训练眼睛图像中眼睛的眼睛姿势是在多个眼睛姿势区域中的第一眼睛姿势区域中;确定UI设备在第一眼睛姿势区域中的分布概率;以及以与分布概率有关的包含概率来生成包括再训练眼睛图像的再训练输入数据。
[0191] 在第49方面,根据方面48的方法,其中,包含概率与分布概率成反比。
[0192] 在第50方面,根据方面48的方法,其中,第一眼睛姿势区域在第一顶角范围和第一方位角范围内。
[0193] 在第51方面,根据方面48的方法,其中,确定眼睛的眼睛姿势是在第一眼睛姿势区域中包括:确定眼睛在再训练眼睛图像中的眼睛姿势在多个眼睛姿势区域中的第一眼睛姿势区域或第二眼睛姿势区域中。
[0194] 在第52方面,根据方面51的方法,其中,第一眼睛姿势区域在第一顶角范围和第一方位角范围内,其中,第二眼睛姿势区域在第二顶角范围和第二方位角范围内,以及其中,第一顶角范围内的数字与第二顶角范围内的数字之和为零,第一方位角范围内的数字与第二方位角范围内的数字之和为零,或其组合。
[0195] 在第53方面,根据方面48的方法,其中,确定UI设备在第一眼睛姿势区域中的分布概率包括:确定当捕获多个再训练眼睛图像中的再训练眼睛图像时向用户显示的UI设备的显示位置在多个眼睛姿势区域中的眼睛姿势区域中的分布,其中,确定UI设备在第一眼睛姿势区域中的分布概率包括:使用UI设备的显示位置的分布确定UI设备在第一眼睛姿势区域中的分布概率。
[0196] 在第54方面,根据方面32-53中任一方面的方法,还包括:使用包括训练输入数据和对应的训练目标输出数据的训练集来训练神经网络,其中,训练输入数据包括多个用户的多个训练眼睛图像,以及其中,对应的训练目标输出数据包括多个训练眼睛图像中多个用户的眼睛的眼睛姿势。
[0197] 在第55方面,根据方面54的方法,其中,多个用户包括大量用户。
[0198] 在第56方面,根据方面54的方法,其中,眼睛的眼睛姿势包括眼睛的各种眼睛姿势。
[0199] 在第57方面,根据方面54的方法,其中,再训练集的再训练输入数据包括多个训练眼睛图像中的至少一个训练眼睛图像。
[0200] 在第58方面,根据方面54的方法,其中,再训练集的再训练输入数据不包括多个训练眼睛图像中的训练眼睛图像。
[0201] 在第59方面,根据方面32-58中任一方面的方法,其中,再训练神经网络包括:使用再训练集再训练神经网络,以生成用于眼睛跟踪的再训练神经网络。
[0202] 在第60方面,根据方面32-59中任一方面的方法,其中,再训练神经网络包括使用再训练集再训练神经网络以生成用于生物特征应用的再训练神经网络。
[0203] 在第61方面,根据方面60的方法,其中,生物特征应用包括虹膜识别。
[0204] 在第62方面,根据方面32-61中任一方面的方法,其中,再训练神经网络包括用神经网络的权重来初始化再训练神经网络的权重。
[0205] 在第63方面,根据方面32-62中任一方面的方法,还包括:接收用户的眼睛图像;以及使用再训练神经网络确定在眼睛图像中的用户的眼睛姿势。
[0206] 在第64方面,根据方面32-63中任一方面的方法,其中,UI事件对应于UI设备的多个状态中的一个状态。
[0207] 在第65方面,根据方面64的方法,其中,多个状态包括UI设备的激活或未激活。
[0208] 在第66方面,根据方面32-65中任一方面的方法,其中,UI设备包括虚拟按钮、按钮、上下、微调器、选择器、单选按钮、单选按钮列表、复选框、图片框、复选框列表、下拉列表、下拉菜单、选择列表、列表框、组合框、文本框、滑块、链接、键盘键、开关、滑块、触摸面、或其组合。
[0209] 在第67方面,根据方面32-66中任一方面的方法,其中,UI事件相对于UI设备和指针发生。
[0210] 在第68方面,根据方面67的方法,其中,指针包括与用户或用户的部分相关联的对象。
[0211] 在第69方面,根据68方面的方法,其中,与用户相关联的对象包括指针、笔、铅笔、记号笔、荧光笔或其组合,并且其中用户的部分包括用户的手指。
[0212] 附加注意事项
[0213] 本文描述和/或附图中描绘的每个过程、方法和算法可以体现在由被配置为执行具体的和特定的计算机指令的一个或多个物理计算系统、硬件计算机处理器、应用特定电路和/或电子硬件执行的代码模块中并且可以尤其完全或部分自动化。例如,计算系统可以包括用特定计算机指令编程的通用计算机(例如服务器)或专用计算机、专用电路等。代码模块可以被编译并链接到可执行程序中、安装在动态链接库中,或者可以用解释性编程语言编写。在一些实现中,特定的操作和方法可以由特定于给定功能的电路执行。
[0214] 此外,本公开的功能的某些实现在数学、计算或技术上都足够复杂,以至于可能需要应用特定硬件或一个或多个物理计算设备(利用适当的专用可执行指令)来执行功能,例如,由于所涉及的计算的数量或复杂性,或实质上实时地提供结果。例如,视频可以包括许多帧,每个帧具有数百万个像素,并且需要专门编程的计算机硬件来处理视频数据,以在商业上合理的时间量内提供所需的图像处理任务或应用程序。
[0215] 代码模块或任何类型的数据可以存储在任何类型的非暂时性计算机可读介质上,例如包括硬盘驱动器、固态存储器、随机存取存储器(RAM)、只读存储器(ROM)、光盘、易失性或非易失性存储设备、其相同和/或相似的组合的物理计算机存储设备。方法和模块(或数据)也可以作为生成的数据信号(例如,作为载波或其他模拟或数字传播信号的一部分)在包括基于无线的和基于有线的/电缆的介质的各种计算机可读传输介质上进行传输,并且可以采用各种形式(例如,作为单个或多路复用模拟信号的一部分,或作为多个离散数字分组或帧)。所公开的过程或过程步骤的结果可以永久地或以其他方式存储在任何类型的非暂时性有形计算机存储设备中,或者可以经由计算机可读传输介质进行传递。
[0216] 在本文描述的和/或在附图中描绘的流程图中的任何过程、块、状态、步骤或功能应被理解为潜在地表示包括用于在流程中实现特定功能(例如逻辑或算术)或步骤的一个或多个可执行指令的代码的代码模块、代码段或代码部分。各种过程、框、状态、步骤或功能可以与本文提供的说明性示例相组合、重新布置、添加、删除、修改或以其他方式改变。在一些实施例中,附加的或不同的计算系统或代码模块可以执行本文描述的一些或全部功能。本文描述的方法和过程也不限于任何特定的顺序,并且与之相关的框、步骤或状态可以以适当的其他顺序(例如,串行、并行或以某些其他方式)来执行。可以将任务或事件添加到所公开的示例实施例中或从中删除。此外,本文描述的实现中的各种系统组件的分离是出于说明的目的,并且不应被理解为在所有实现中都需要这种分离。应当理解,所描述的程序组件、方法和系统通常可以被集成在一起在单个计算机产品中或包装到多个计算机产品中。
许多实现变型是可能的。
[0217] 可以在网络(或分布式)计算环境中实现过程、方法和系统。网络环境包括企业范围的计算机网络、企业内部网、局域网(LAN)、广域网(WAN)、个人区域网(PAN)、云计算网络、众包计算网络、互联网和万维网。该网络可以是有线或无线网络或任何其他类型的通信网络。
[0218] 本公开的系统和方法各自具有若干创新方面,其中,没有一个对本文公开的期望属性负有单独责任或要求。本文描述的各种特征和过程可以彼此独立地使用,或者可以以各种方式组合。所有可能的组合和子组合旨在落入本公开的范围内。对本公开中描述的实现的各种修改对于本领域技术人员而言是显而易见的,并且在不脱离本公开内容的精神或范围的情况下,本文中定义的一般原理可以应用于其他实现。因此,权利要求书无意限于本文中所示的实现,而是应被赋予与本文中所揭示的本公开、原理及新颖特征一致的最广范围。
[0219] 在本说明书中在单独的实现的上下文中描述的某些特征也可以在单个实现中组合实现。相反,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实现中实现。此外,尽管以上可以将特征描述为以某些组合起作用并且甚至最初如此要求,但是在某些情况下,可以从组合中切除所要求保护的组合中的一个或多个特征,并且可以将所要求保护的组合用于子组合或子组合的变型。对于每个实施例,没有单个特征或一组特征是必要的或必不可少的。
[0220] 本文使用的条件语言,例如“能够”、“将能够”、“可能”、“可以”、“例如”等,除非另有明确说明或否则如在所使用的上下文中理解的那样,通常意在传达某些实施例包括而其他实施例不包括某些特征、元素和/或步骤。因此,这样的条件语言通常不旨在暗示特征、元素和/或步骤以任何方式对于一个或多个实施例是必需的,或者一个或多个实施例必然包括用于在有或没有作者输入或提示的情况下决定是否这些特征、元素和/或步骤在任何特定实施例中被包括或将被执行。术语“包括”、“包含”、“具有”等是同义词,以开放地包含在内的方式使用,并且不排除附加要素、特征、动作、操作等。而且,术语“或”以其包含的含义使用(而不是以其排他的含义使用),因此例如在用于连接元素列表时,术语“或”表示该列表中的一个、一些或全部元素。另外,在本申请和所附权利要求书中使用的“一”、“一个”和“该”应被解释为表示“一个或多个”或“至少一个”,除非另有说明。
[0221] 如本文所使用的,指代项目列表中的“至少一个”的短语是指那些项目的任何组合,包括单个成员。例如,“A、B或C中的至少一个”旨在涵盖:A、B、C;A和B;A和C;B和C;以及A、B和C。除非另外特别说明,否则诸如短语“X、Y和Z中的至少一个”之类的联合语言应与所使用的上下文一起理解,以通常用于传达项目、术语等可以是X、Y或Z中的至少一个。因此,这种联合语言通常不旨在暗示某些实施例要求以下中的每个都存在:X中的至少一个、Y中的至少一个和Z中的至少一个。
[0222] 类似地,尽管可以以特定顺序在附图中描绘操作,但是要认识到,不需要以示出的特定次序序或顺序来执行这样的操作,或者不需要执行所有示出的操作来实现理想的结果。此外,附图可以以流程图的形式示意性地描绘另一个示例过程。然而,未示出的其他操作可以结合在示意性示出的示例方法和过程中。例如,可以在任何所示操作之前、之后、同时或之间执行一个或多个附加操作。另外,在其他实现中,操作可以重新布置或重新排序。在某些情况下,多任务和并行处理可能是有利的。此外,在上述实现中的各种系统组件的分离不应被理解为在所有实现中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或打包成多个软件产品。另外,其他实现在所附权利要求的范围内。在某些情况下,可以以不同的顺序执行权利要求中记载的动作,并且仍然实现期望的结果。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈