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

根据摆姿势的单目视频的边界估计的制作方法

2021-12-04 00:16:00 来源:中国专利 TAG:

根据摆姿势的单目视频的边界估计
1.相关申请的交叉引用
2.本技术要求于2019年4月24日提交的题为“systems and methods for deep indoor boundary estimation from posed monocular video”的美国临时专利申请号62/838,265和2019年5月15日提交的题为“systems and methods for deep indoor boundary estimation from posed monocular video”的美国临时专利申请号62/848,492的优先权,其内容整体并入本文。


背景技术:

3.现代计算和显示技术促进了用于所谓“虚拟现实”或“增强现实”体验的系统的开发,其中数字再现的图像或其部分以它们看起来或可能被感知为真实的方式呈现给用户。虚拟现实或“vr”场景通常涉及数字或虚拟图像信息的呈现,而对其它实际的真实世界视觉输入不透明;增强现实或“ar”场景通常涉及数字或虚拟图像信息的呈现,作为对用户周围实际世界的可视化的增强。
4.尽管在这些显示技术中取得了进步,但本领域仍需要与增强现实系统,特别是显示系统相关的改进方法、系统和设备。


技术实现要素:

5.本公开涉及计算系统、方法和配置,并且更具体地涉及计算系统、方法和配置,其中诸如在可能涉及用于增强现实(ar)、导航和一般场景理解的计算系统的应用中,理解环境的三维(3d)几何方面很重要。
6.一个或多个计算机的系统可以被配置为借助于在系统上安装软件、固件、硬件或它们的组合来执行特定操作或动作,该软件、固件、硬件或它们的组合在操作中导致或引起系统执行动作。一个或多个计算机程序可以被配置为借助于包括指令来执行特定操作或动作,该指令在由数据处理装置执行时使装置执行动作。一个一般方面包括一种方法,该方法包括:获得一组图像和与该组图像对应的一组姿势,该组图像是已经从至少部分地由一组相邻墙壁包围的环境中捕获的。该方法还包括基于一组图像和一组姿势生成环境的深度图。该方法还包括基于该组图像生成一组墙壁分割图,该组墙壁分割图中的每一个墙壁分割图指示该组图像中的对应图像的包含该组相邻墙壁的目标区域。该方法还包括基于深度图和一组墙壁分割图生成点云,该点云包括沿着深度图的与目标区域对齐的部分所采样的多个点。该方法还包括基于点云估计沿一组相邻墙壁的环境的边界。该方面的其它实施例包括记录在一个或多个计算机存储设备上的对应计算机系统、装置和计算机程序,每个都被配置为执行方法的动作。
7.实现方式可以包括以下特征中的一个或多个。该方法进一步包括:使用一个或多个传感器捕获一组图像和一组姿势,其中获得一组图像和一组姿势包括从一个或多个传感器接收一组图像和一组姿势。在该方法中,一个或多个传感器包括被配置为捕获该组图像的图像传感器和被配置为捕获该组姿势的姿势传感器。该方法进一步包括:识别点云的一
组聚类,该组聚类中的每一个聚类包括多个点的子集,以及其中,该组聚类中的每一个聚类被确定为对应于一组相邻墙壁中的不同墙壁。多个点包括2d点并且基于点云估计沿一组相邻墙壁的环境的边界的方法包括:针对一组聚类中的每一个聚类,将一条线拟合到多个点,得到多条线。该方法还可以包括通过延伸多条线直到到达交点来形成闭环。多个点包括3d点并且基于点云估计沿一组相邻墙壁的环境的边界的方法包括:针对一组聚类中的每一个聚类,将一个平面拟合到多个点,得到多个平面。该方法还可以包括通过延伸多个平面直到到达相交线来形成闭环。在该方法中,一组图像包括rgb图像。在该方法中,一组姿势包括捕获一组图像的图像传感器的相机取向。在该方法中,多个点包括3d点。所描述的技术的实现方式可以包括硬件、方法或过程,或者计算机可访问介质上的计算机软件。
8.一个一般方面包括一种系统,该系统包括:一个或多个处理器;包括指令的计算机可读介质,该指令在由一个或多个处理器执行时使一个或多个处理器执行包括以下的操作:获得一组图像和与该组图像对应的一组姿势,该组图像是已经至少部分地由一组相邻墙壁包围的环境中捕获的。操作还包括基于一组图像和一组姿势生成环境的深度图。该操作还包括基于该组图像生成一组墙壁分割图,该组墙壁分割图中的每一个墙壁分割图指示该组图像中的对应图像的包括该组相邻墙壁的目标区域。操作还包括基于深度图和一组墙壁分割图来生成点云,点云包括沿深度图的与目标区域对齐的部分所采样的多个点。操作还包括基于点云估计沿一组相邻墙壁的环境的边界。该方面的其它实施例包括记录在一个或多个计算机存储设备上的对应计算机系统、装置和计算机程序,每个都被配置为执行方法的动作。
9.实现方式可以包括以下特征中的一个或多个。在该系统中,操作进一步包括:使用一个或多个传感器捕获一组图像和一组姿势,其中获得一组图像和一组姿势包括从一个或多个传感器接收一组图像和一组姿势。在该系统中,一个或多个传感器包括被配置为捕获该组图像的图像传感器和被配置为捕获该组姿势的姿势传感器。在该系统中,操作进一步包括:识别点云的一组聚类,一组聚类中的每一个聚类包括多个点的子集,以及其中,一组聚类中的每一个聚类被确定为对应于一组相邻墙壁中的不同墙壁。多个点包括2d点并且基于点云估计沿一组相邻墙壁的环境的边界的系统包括:针对一组聚类中的每一个聚类,将一条线拟合到多个点,得到多条线。该系统还可以包括通过延伸多条线直到到达交点来形成闭环。多个点包括3d点并且基于点云估计沿一组相邻墙壁的环境的边界的系统包括:针对一组聚类中的每一个聚类,将一个平面拟合到多个点,得到多个平面。该系统还可以包括通过延伸多个平面直到到达相交线来形成闭环。在该系统中,一组图像包括rgb图像。所描述的技术的实现方式可以包括硬件、方法或过程,或者计算机可访问介质上的计算机软件。
10.与传统技术相比,通过本发明获得了许多益处。例如,本发明的实施例能够利用当前可用的深度网络方法来精确地推断房间边界,而没有列举可能的一组房间类型,并且具有针对角和边缘遮挡的鲁棒性。例如,所描述的实施例不依赖于可能的先验房间形状的列表。此外,所描述的实施例不依赖于模型输入处的高质量内部点云的可用性。此外,使用所描述的实施例的结果已经为边界估计建立了重要的基准。
附图说明
11.图1示出本发明的用于使用头戴式显示器对房间环境进行边界估计的示例实现方
式。
12.图2示出用于使用姿势图像估计房间边界的示例系统。
13.图3a和图3b示出墙壁分割的示例。
14.图4a

4d示出用于生成边界的示例步骤。
15.图5示出用于训练聚类识别器(identifier)的示例训练数据。
16.图6示出估计环境的边界的方法。
17.图7示出可以实现所描述的技术中的一种或多种的示例系统或设备。
18.图8示出简化的计算机系统。
具体实施方式
19.通过增强现实(ar)、导航和一般场景理解中的无数应用,理解内部的三维(3d)布局对于理解空间的长程(long

range)几何形状(geometry)可能很重要。此类布局可以以多种方式呈现,包括长方体参数、单目角坐标(monocular corner coordinate)及其连接性,以及语义更丰富的完整平面图。各种方法的不同之处在于它们在输入处利用的信息量以及它们对房间几何形状的假设。例如,一些方法在输入处利用干净的(clean)3d点云,而其它方法则利用单目透视或全景图像。该组相关问题之间缺乏一致性揭示了对于室内场景布局预测的标准设置应该是什么的普遍分歧。
20.在传感器数据方面,可以从许多现代设备(例如智能手机、ar和虚拟现实(vr)头戴式显示器(hmd)等)获得带时间戳的红绿蓝(rgb)相机和姿势数据。对于与内部对应的完整视频序列,要解决的问题超出了单目布局估计中普遍存在的角和边缘估计,并且变成了对内部空间全边界布局的估计。关于空间范围和空间的形状的此类度量信息可以被视为各种下游3d应用的第一步。本发明的实施例能够利用当前的深度方法来精确地推断该边界,而无需列举可能的一组房间类型,并且具有针对角和边缘遮挡的鲁棒性。在一些情况下,可以预测水平边界(即外部墙壁的位置),因为它包含房间布局内的绝大多数结构,而墙壁和天花板通常由单个平面很好地近似。
21.在一些实施例中,所公开的管线以对视频序列的rgb帧的深深度估计开始。深度学习的一般3d重建应用的最具限制性的瓶颈之一是深深度估计模型的准确性。在诸如nyuv2数据集中的杂乱室内场景中,在给定单目输入的情况下,此类网络可能仍难以实现优于0.5

0.6米的rms误差。通过主题配置,可以通过改用现代多视图立体方法将时间信息合并到深度估计模块中来绕过该性能瓶颈。
22.利用此类实施例,可以训练深度分割以隔离与墙壁点对应的深度预测。这些预测被投影到3d点云,并且然后通过新颖的深度网络进行聚类,该新颖的深度网络被调整以检测属于同一平面实例的点。一旦分配了点聚类,就会采用方法将聚类转换为形成完整边界布局的完整平面集。通过直接聚类墙壁点,在此提供的实施例即使在角被遮挡时也能很好地执行。
23.在此公开的实施例涉及用于根据摆姿势的rgb图像的单目序列生成完整的室内边界(即,外部边界图)的无监督管线。在本发明的一些实施例中,可以采用各种鲁棒的深度方法进行深度估计和墙壁分割以生成外部边界点云,并且然后使用深度无监督聚类来拟合墙壁平面以获得房间的最终边界图。本发明的实施例在流行的scannet数据集上得到出色的
性能,并且适用于各种复杂的房间形状以及多房间场景。
24.图1示出本发明的用于使用hmd(诸如ar/vr hmd)对房间环境100进行边界估计的示例实现方式。在所示示例中,佩戴可穿戴设备102的用户沿着轨迹104在房间中导航(navigate),允许可穿戴设备102的图像捕获设备在一系列时间戳t1,t2,...,t
n
处捕获一系列图像i1,i2,...,i
n
。每个图像可以包括形成房间环境100的一组墙壁108中的一个或多个墙壁的部分。可穿戴设备102可以进一步在一系列时间戳t1,t2,...,t
n
处捕获一系列姿势p1,p2,...,p
n
,使得每个图像都可以与姿势相关联。
25.每个姿势可以包括位置和/或取向。该位置可以是3d值(例如,x、y和z坐标)并且可以对应于从其捕获对应图像的位置。取向可以是3d值(例如,俯仰角、偏航角、滚动角)并且可以对应于从其捕获对应图像的取向。可以使用捕获指示可穿戴设备102的运动的数据的任何传感器(称为姿势传感器)来确定姿势。基于一系列图像i1,i2,...,i
n
和对应姿势p1,p2,...,p
n
,可以生成房间环境100的估计边界106。
26.图2示出根据本发明的一些实施例的用于使用姿势图像估计房间边界的示例系统200。在一些实现方式中,系统200可以被并入可穿戴设备中。系统200可以包括传感器202,该传感器202包括图像传感器206和姿势传感器208。图像传感器206可以捕获一组墙壁的一系列图像210。每个图像210可以是rgb图像、灰度图像以及其它可能性。姿势传感器208可以捕获姿势数据212,该姿势数据212可以包括与图像210对应的一系列姿势。每个姿势可以包括与图像传感器206对应的位置和/或取向,使得可以确定从其捕获每个图像210的位置和/或取向。
27.图像210和姿势数据212可以被提供(例如,经由有线或无线连接被发送、传输等)到处理模块204以用于数据的处理。处理模块204可以包括深度图生成器214、墙壁分割生成器216、墙壁点云生成器222、聚类识别器226、以及边界估计器230。处理模块204的组件中的每个组件可以对应于硬件组件,诸如现场可编程门阵列(fpga)或专用集成电路(asic)以及其它可能的集成电路设备。在一些情况下,处理模块204的组件中的一个或多个组件可以软件实现并且可以由中央处理单元(cpu)、图形处理单元(gpu)或专用处理单元(诸如神经网络加速器)执行。例如,处理模块204的两个或更多个组件可以使用相同的一组神经网络加速器或相同的cpu或gpu来执行。
28.深度图生成器214可以接收图像210和姿势数据212并且可以基于图像210和姿势数据212生成深度图218。为了从摆姿势的单目序列生成深度图,可以利用从不同姿势对同一真实世界场景的多次观察来生成每帧视差图,然后可以将其反转(invert)以生成每帧密集深度图。在一些实施例中,深度图生成器214可以实现为机器学习模型,诸如神经网络。当i
i
投影到参考帧i
j
时,网络的输入是输入rgb图像i
i
和通过计算i
i
和相邻帧i
j
之间的逐像素绝对强度差所构建的3d代价体(cost volume)v
i
。为了在位置u=(u,v)
t
处在i
i
中投影强度p
u
i的像素,参考帧的姿势t
i
、相邻帧的姿势t
j
和假定的深度dn可以用作:
[0029][0030]
其中是在i
j
中投影的位置,并且π表示使用相机内在参数的针孔投影。通过在d
min
和d
max
之间改变d
n
,位置u和采样深度n处i
i
的3d代价体的值可以计算为:
[0031][0032]
为了从多个相邻帧生成代价体,可以平均成对代价体。
[0033]
墙壁分割生成器216可以接收图像210并且可以基于图像210生成墙壁分割图220。在一些实施例中,墙壁分割生成器216可以实现为机器学习模型,诸如神经网络。语义分割网络的一个目标可能是对墙壁在场景中的位置进行分类,因为它们是属于内部边界的唯一点。然而,发现scannet数据集的地板/墙壁/天花板注释(annotation)相当不完整和错误;因此不同的数据集被收集并用于地板/墙壁/天花板分割。在一些情况下,分割网络架构可以包括基于resnet

101骨干网的标准特征金字塔网络。预测可以以4的步长输出,并且上采样层可以实现为像素拼图(pixelshuffle)操作以提高网络效率,特别是对于更高步长的上采样层(高达8步长)。
[0034]
墙壁点云生成器222可以接收深度图218和墙壁分割图220并且可以基于深度图218和墙壁分割图220生成点云224。可以从几个深度图像生成组合点云以供聚类网络使用。可以在隐式表面表示中融合具有已知姿势轨迹的深度图像的集合,并且可以通过行进立方体方法的衍生(derivative)来提取点云。使用隐式表面表示而不是简单地对每个深度像素进行反投影的一个益处是,它去除了冗余点,并在多次观察中平均了噪声,从而产生了一组更平滑和更清晰的顶点。为去除内部墙壁顶点,可以使用α形状的概念来创建代表其凹包(concave hull)的点云子集。然后,不在凹包半径r内的任何点都可以被丢弃,并且点云可以被子采样到n个顶点。
[0035]
聚类识别器226可以接收点云224并且可以基于点云224生成聚类点云228。可以采用基于平面截面对无序点云进行聚类的完全无监督技术,而在推理期间没有明确计算所述法线或平面参数。聚类识别器226可以实现为机器学习模型,诸如神经网络,并且在一些实施例中,可以使用pointnet架构以及pointnet全局特征来输出每个输入点的聚类概率。
[0036]
为了针对单独的墙壁实例生成唯一的聚类分配,需要使用对3d位置噪声、遮挡和可变点密度具有鲁棒性的聚类技术。此外,希望聚类能够区分以下平面墙壁:平行并且因此具有相同的点法线(point normal),但在3d空间中的位置不同。可以制定成对损失函数,当属于明显不同类别的两个点被分配相同的标签时,该函数允许引起惩罚(penalty)。过度分割不会受到惩罚,因为属于同一真实平面的聚类很容易在后处理中合并。网络的输入是一组n个点p,具有3d坐标p
x
=(x,y,z)、点法线p
n
=(nx,ny,nz)和针对k个聚类的长度为k的预测聚类概率向量pp。聚类损失l
cluster
给出为:
[0037][0038]
其中:
[0039][0040]
以及:
[0041]
[0042]
为了标记不属于有效墙壁的噪声点,当最大聚类数设定为k时,可以预测长度为k 1的概率向量,使得第k 1个标签被保留用于噪声点。为了防止所有点都分配到第k 1个聚类的平凡解,可以使用正则化损失l
reg
,其计算如下:
[0043][0044]
其中p
planei
是前k个类别的概率向量之和,不包括第k 1个噪声类别。要最小化的总损失是l
cluster
和α
·
l
reg
的总和,其中α是用于平衡损失的超参数。
[0045]
边界估计器230可以接收聚类点云228并且可以基于聚类点云228生成估计边界232。给定具有由聚类识别器226生成的聚类标签的点云,可以如下所述生成闭合布局(layout)。为了保持系统设计相当模块化,不需要对输入点的模态进行假设,并且因此设计可能对虚假(spurious)点、标记中的异常值、和缺失的墙壁具有鲁棒性。假设所有墙壁都平行于z轴,所有点都可以投影到x

y平面以生成点云的自上而下视图。为了在聚类之间建立连接,该问题被表述为旅行推销员问题,以沿着所有聚类中位数找到闭合的最短路径。在一些实施例中,可以使用2

opt算法来计算解。
[0046]
如果场景中真实墙壁的数量小于k个假设墙壁的最大值,则可能存在聚类识别器226的过度分割。因此,可以估计2d线参数(例如,使用ransac),并且相对法向偏差小于30
°
且聚类间点到线误差小于e
merge
的墙可以分配相同的标签。在合并步骤之后,根据曼哈顿假设,线被对齐(snap)到最近的正交轴并延伸以相交。由2

opt边缘连接的两个墙壁段(segment)的交点被定义为角。对于整个墙壁段没有在点云中表示的主要遮挡的情况,两个连接的段可能是平行的。为了针对此类对生成角,可以在正交方向上延伸段中的一段的端点以强制相交。
[0047]
图3a和图3b示出根据本发明的一些实施例的由墙壁分割生成器216执行的墙壁分割的示例。在图3a中,示出了由图像传感器捕获的图像302。当图像302作为输入提供给墙壁分割生成器216时,生成如图3b中所示的墙壁分割图304。墙壁分割图304可以包括被确定为与墙壁对应的区域和未被确定为与墙壁对应的区域。前者可以各自被指定为目标区域306,使得对应图像302的目标区域306类似地被确定为对应于(例如,包括)墙壁。
[0048]
图4a

4d示出根据本发明的一些实施例的用于生成边界的示例步骤。在图4a中,由聚类识别器226以可能的过度分割生成原始输出。在图4b中,由聚类识别器226通过合并重复的聚类获得更紧凑的聚类。在图4c中,产生了估计的线参数和聚类间连接性。在一些情况下,通过识别中值或平均点来确定每个聚类的中心。如上所述,然后通过沿着所有聚类中心找到闭合的最短路径来连接聚类的中心。
[0049]
在图4d中,使用例如曲线拟合算法将线或平面拟合到每个聚类。例如,如果每个聚类中的点是2d点,则针对每个聚类,将线拟合到2d点。如果每个聚类中的点都是3d点,则针对每个聚类,将平面拟合到3d点。在一些实施例中,可以在连接的平行线上强制正交和相交以生成闭合边界。例如,由于线402

1和402

3是平行的并且否则将不连接,形成线402

2以连接线并闭合边界。类似地,由于线402

3和402

5是平行的并且否则将不连接,形成线402

4以连接线并闭合边界。
[0050]
图5示出根据本发明的一些实施例的用于训练聚类识别器226的示例训练数据
500。在一些实施例中,训练数据500可以是具有合成(synthetic)法线的完整合成数据集。为了生成训练数据500,可以在具有从矩形、l形、t形或u形随机采样的房间形状的2d域上绘制房间边界,其中每个边的长度在[1m,5m]范围内均匀采样,并且取向在[0,2π]范围内均匀采样。然后可以垂直投影线条图以获得具有高度在[1.5m,2.5m]范围随机采样的的3d模型。然后可以通过从模型的3d面均匀采样来生成点云输入。点法线是根据模型的3d面计算的。
[0051]
为了更好地模拟从不完美的传感器或深度估计算法生成的数据,可以在多个圆柱体(例如,5个圆柱体)中放置点,每个圆柱体具有由随机采样点定义的中心,从[0.5m,1.5m]随机采样的半径,以及无限的长度。如果剩余点数将少于原始点数的10%,则停止删除过程。最后,将σ=0和μ=0.015的高斯分布噪声添加到每个剩余点。
[0052]
图6示出根据本发明的一些实施例的估计至少部分地由一组相邻的墙壁(例如,墙壁108)包围的环境(例如,房间环境100)的边界的方法600。在方法600的执行期间可以省略方法600的一个或多个步骤,并且方法600的一个或多个步骤不需要以所示的顺序执行。方法600的一个或多个步骤可由包括在系统或设备(例如,诸如ar/vr设备的可穿戴设备)中的一个或多个处理器来执行或促进。
[0053]
在步骤602处,获得一组图像(例如,图像210)和与该组图像对应的一组姿势(例如,姿势数据212)。该组图像可以是环境的图像并且每个图像可以包括一个或多个该组墙壁。可以与一组图像中的一个图像同时捕获该组姿势中的每一个姿势,使得可以确定该组图像中的每一个图像的位置和/或取向。在一些实施例中,该组图像和该组姿势可由系统或设备(例如,系统200)的一组传感器(例如,传感器202)捕获。在一些实施例中,该组图像可由图像传感器(例如,图像传感器206)捕获并且该组姿势可由姿势传感器(例如,姿势传感器208)捕获。图像传感器可以是相机或一些其它图像捕获设备。姿势传感器可以是惯性测量单元(imu)、加速度计、陀螺仪、倾斜传感器、或其任何组合。在一些实施例中,该组姿势可以从该组图像本身确定,使得姿势传感器和图像传感器可以是相同的传感器。
[0054]
在步骤604处,可以基于一组图像和一组姿势生成环境的深度图(例如,深度图218)。深度图可以是组合该组图像中的多个(或所有)图像的累积(cumulative)深度图,或者在一些实施例中,可以为针对一组图像中的每一个图像生成深度图。在一些实施例中,深度图可以由深度图生成器(例如,深度图生成器214)生成,该深度图生成器可以是被训练以在提供一组图像和一组姿势作为输入时输出深度图的机器学习模型(例如,神经网络)。
[0055]
在步骤606处,可以基于该组图像生成一组墙壁分割图(例如,墙壁分割图220)。一组墙壁分割图(例如,墙壁分割图304)中的每一个墙壁分割图可以指示一组图像中的对应图像的包含一组相邻墙壁的目标区域(例如,目标区域306)。在一些实施例中,该组墙壁分割图可以由墙壁分割生成器(例如,墙壁分割生成器216)生成,该墙壁分割生成器可以是被训练以在提供图像作为输入时输出墙壁分割图的机器学习模型(例如,神经网络)。
[0056]
在步骤608处,基于深度图和该组墙壁分割图生成点云(例如,点云224)。点云可以包括沿深度图的与目标区域对齐的部分所采样的多个点。在一些实施例中,点云可以由墙壁点云生成器(例如,墙壁点云生成器222)生成,该墙壁点云生成器可以是被训练以在提供深度图和一组墙壁分割图作为输入时输出点云的机器学习模型(例如,神经网络)。
[0057]
在步骤610处,针对点云识别一组聚类(例如,聚类点云408的聚类)。该组聚类中的每一个聚类可以包括多个点的子集。聚类中的每个聚类旨在对应于一组相邻墙壁中的不同
墙壁。被确定为对应于该组相邻墙壁中的同一墙壁的聚类可以组合成单个聚类。在一些实施例中,该组聚类可以由聚类识别器(例如,聚类识别器226)来识别,该聚类识别器可以是被训练以在提供点云作为输入时输出一组聚类和/或聚类点云(例如,聚类点云228)的机器学习模型(例如,神经网络)。
[0058]
在步骤612处,基于点云估计沿该组相邻墙壁的环境的边界(例如,估计的边界106和232)。在一些实施例中,步骤612包括步骤614和616之一或两者。
[0059]
在步骤614处,如果多个点包括2d点,则针对该组聚类中的每一个聚类,将一条线拟合到多个点,得到多条线。如果多个点包括3d点,则针对该组聚类中的每一个聚类,将一个平面拟合到多个点,得到多个平面。可以使用例如曲线拟合方法来完成线拟合或平面拟合。
[0060]
在步骤616处,如果多个点包括2d点,则通过延伸多条线直到到达交点来形成闭环。如果多个点包括3d点,则通过延伸多个平面直到到达相交线来形成闭环。
[0061]
图7示出可以实现所描述的技术中的一种或多种技术的示例系统或设备。具体地,图7示出根据本发明的一些实施例的可穿戴系统700的示意图。可穿戴系统700可以包括可穿戴设备701和远离可穿戴设备701的至少一个远程设备703(例如,单独的硬件但通信耦合)。虽然可穿戴设备701由用户佩戴(通常作为头戴式装置),但远程设备703可以由用户持有(例如,作为手持控制器)或以各种配置安装,诸如固定地附接到框架、固定地附接到用户佩戴的头盔或帽子、嵌入耳机中、或以其它方式可拆卸地附接到用户(例如,以背包式配置、以皮带耦合式配置等)。
[0062]
可穿戴设备701可以包括以并排配置布置并且构成左光学堆叠的左目镜702a和左透镜组件705a。左透镜组件705a可以包括在左光学堆叠的用户侧的调节(accommodate)透镜以及在左光学堆叠的世界侧的补偿透镜。类似地,可穿戴设备701可以包括以并排配置布置并且构成右光学堆叠的右目镜702b和右透镜组件705b。右透镜组件705b可以包括在右光学堆叠的用户侧的调节透镜以及在右光学堆叠的世界侧的补偿透镜。
[0063]
在一些实施例中,可穿戴设备701包括一个或多个传感器,包括但不限于:直接附接到左目镜702a或靠近左目镜702a的面向左前的世界相机706a、直接附接到右目镜702b或靠近右目镜702b的面向右前的世界相机706b、直接附接到左目镜702a或靠近左目镜702a的面向左侧的世界相机706c、直接附接到右目镜702b或靠近右目镜702b的面向右侧的世界相机706d、直接朝向左眼的左眼跟踪相机726a、直接朝向右眼的右眼跟踪相机726b、以及附接在目镜702之间的深度传感器728。可穿戴设备701可以包括一个或多个图像投影设备,诸如光学链接到左目镜702a的左投影仪714a和光学链接到右目镜702b的右投影仪714b。
[0064]
可穿戴系统700可以包括用于收集、处理和/或控制系统内的数据的处理模块750。处理模块750的组件可以分布在可穿戴设备701和远程设备703之间。例如,处理模块750可以包括可穿戴系统700的可穿戴部分上的本地处理模块752和与本地处理模块752物理分离并通信链接到本地处理模块752的远程处理模块756。本地处理模块752和远程处理模块756中的每一个可以包括一个或多个处理单元(例如,中央处理单元(cpu)、图形处理单元(gpu)等)和一个或多个存储设备,诸如非易失性存储器(例如,闪存)。
[0065]
处理模块750可以收集由可穿戴系统700的各种传感器(诸如相机706、眼睛跟踪相机726、深度传感器728、远程传感器730、环境光传感器、麦克风、imu、加速度计、指南针、全
球导航卫星系统(gnss)单元、无线电设备和/或陀螺仪)捕获的数据。例如,处理模块750可以从相机706接收图像720。具体地,处理模块750可以接收来自面向左前的世界相机706a的左前图像720a、来自面向右前的世界相机706b的右前图像720b、来自面向左侧的世界相机706c的左侧图像720c、和来自面向右侧的世界相机706d的右侧图像720d。在一些实施例中,图像720可以包括单个图像、一对图像、包括图像流的视频、包括成对图像流的视频等。图像720可以在可穿戴系统700通电的同时周期性地生成并发送到处理模块750,或者可以响应于处理模块750发送到一个或多个相机的指令而生成。
[0066]
相机706可以沿着可穿戴设备701的外表面以各种位置和取向配置,以便捕获用户周围的图像。在一些情况下,相机706a、706b可以被定位成分别捕获与用户的左眼和右眼的fov基本上重叠的图像。因此,相机706的放置可以靠近用户的眼睛但不会太近以致遮挡用户的fov。可替代地或另外地,相机706a、706b可以被定位成分别与虚拟图像光722a、722b的入耦合(incoupling)位置对准。相机706c、706d可以被定位成捕获用户的侧面的图像,例如,在用户的边界视觉中或在用户的边界视觉之外。使用相机706c、706d捕获的图像720c、720d不必与使用相机706a、706b捕获的图像720a、720b重叠。
[0067]
在一些实施例中,处理模块750可以从环境光传感器接收环境光信息。环境光信息可以指示亮度值或空间分辨亮度值的范围。深度传感器728可以在可穿戴设备701的面向前的方向上捕获深度图像732。深度图像732的每个值可以对应于深度传感器728与特定方向上最近的检测到的对象之间的距离。作为另一个示例,处理模块750可以从眼睛跟踪相机726接收眼睛跟踪数据734,该眼睛跟踪数据可以包括左眼和右眼的图像。作为另一示例,处理模块750可以从投影仪714中的一个或两个接收投影图像亮度值。位于远程设备703内的远程传感器730可以包括具有类似功能的上述传感器中的任一个传感器。
[0068]
使用投影仪714和目镜702以及光学堆叠中的其它组件将虚拟内容传送给可穿戴系统700的用户。例如,目镜702a、702b可以包括透明或半透明波导,其被配置为分别引导和出耦合(outcouple)由投影仪714a、714b生成的光。具体地,处理模块750可以使左投影仪714a将左虚拟图像光722a输出到左目镜702a上,并且可以使右投影仪714b将右虚拟图像光722b输出到右目镜702b上。在一些实施例中,投影仪714可以包括微机电系统(mems)空间光调制器(slm)扫描设备。在一些实施例中,目镜702a、702b中的每一个可以包括与不同颜色对应的多个波导。在一些实施例中,透镜组件705a、705b可以耦合到目镜702a、702b和/或与目镜702a、702b集成。例如,透镜组件705a、705b可以并入多层目镜中并且可以形成构成目镜702a、702b之一的一层或多层。
[0069]
图8示出根据在此描述的实施例的简化的计算机系统800。如图8中所示的计算机系统800可并入在此所述的设备中。图8提供了计算机系统800的一个实施例的示意图,该计算机系统可以执行由各种实施例提供的方法的一些或所有步骤。应该注意,图8仅旨在提供各种组件的概括说明,可以视情况而定使用其中的任何或所有组件。因此,图8广泛地示出可以如何以相对分离或相对更集成的方式实现各个系统元件。
[0070]
计算机系统800被示为包括硬件元件,该硬件元件可以经由总线805电耦合,或者可以视情况而定以其它方式进行通信。硬件元件可以包括:一个或多个处理器810,包括但不限于一个或多个通用处理器和/或一个或多个专用处理器,诸如数字信号处理芯片、图形加速处理器等;一个或多个输入设备815,其可以包括但不限于鼠标、键盘、相机等;以及一
个或多个输出设备820,其可以包括但不限于显示设备、打印机等。
[0071]
计算机系统800可以进一步包括一个或多个非暂态存储设备825和/或与一个或多个非暂态存储设备825通信,该一个或多个非暂态存储设备可以包括但不限于本地和/或网络可访问存储装置,和/或可以包括但不限于磁盘驱动器、驱动器阵列、光学存储设备、固态存储设备,诸如可以是可编程的、闪存可更新等的随机存取存储器(“ram”)和/或只读存储器(“rom”)。此类存储设备可以被配置为实现任何适当的数据存储,包括但不限于各种文件系统、数据库结构等。
[0072]
计算机系统800还可能包括通信子系统819,该通信子系统可以包括但不限于调制解调器、网卡(无线或有线)、红外通信设备、无线通信设备和/或芯片组,诸如bluetooth
tm
设备、802.11设备、wifi设备、wimax设备、蜂窝通信设施等,和/或类似设备。通信子系统819可以包括一个或多个输入和/或输出通信接口,以允许与网络(诸如例如下面描述的网络,作为一个示例)、其它计算机系统、电视和/或在此描述的任何其它设备交换数据。取决于所需的功能和/或其它实现方式问题,便携式电子设备或类似设备可以经由通信子系统819传送图像和/或其它信息。在其它实施例中,便携式电子设备(例如第一电子设备)可以被并入计算机系统800,例如作为输入设备815的电子设备。在一些实施例中,如上所述,计算机系统800将进一步包括工作存储器835,该工作存储器835可以包括ram或rom设备。
[0073]
计算机系统800还可以包括示为当前位于工作存储器835内的软件元素,包括操作系统840、设备驱动器、可执行库、和/或其它代码,诸如一个或多个应用程序845,该应用程序可以包括由各种实施例提供的计算机程序,和/或可以被设计为实现方法和/或配置由其它实施例提供的系统,如在此所述。仅作为示例,关于以上讨论的方法描述的一个或多个过程可以实现为可由计算机和/或计算机内的处理器执行的代码和/或指令;在一个方面,然后,此类代码和/或指令可以用于配置和/或适配通用计算机或其它设备以根据所描述的方法执行一个或多个操作。
[0074]
这些指令和/或代码的集合可以存储在非暂态计算机可读存储介质上,诸如上述存储设备825。在一些情况下,存储介质可以结合在计算机系统中,诸如计算机系统800。在其它实施例中,存储介质可能与计算机系统(例如可移除介质,诸如光盘)分离,和/或在安装包中提供,使得存储介质可用于对具有存储在其上的指令/代码的通用计算机进行编程、配置和/或适配。这些指令可能采用可由计算机系统800执行的可执行代码的形式,和/或可能采用源代码和/或可安装代码的形式,该源代码和/或可安装代码在编译和/或安装在计算机系统800上时,例如使用各种普遍可用的编译器、安装程序、压缩/解压缩实用程序等中的任何一种,然后采用可执行代码的形式。
[0075]
对本领域技术人员来说显而易见的是,可以根据具体要求做出实质性的变化。例如,也可能使用定制的硬件,和/或可以在硬件、包括诸如小应用程序等的便携式软件的软件、或两者中实现特定元素。此外,可以采用与诸如网络输入/输出设备的其它计算设备的连接。
[0076]
如上所述,一方面,一些实施例可以采用诸如计算机系统800的计算机系统来执行根据本技术的各种实施例的方法。根据一组实施例,响应于处理器810执行一个或多个指令中的一个或多个序列,此类方法的一些或全部过程由计算机系统800执行,该指令可能被并入操作系统840和/或包含在工作存储器835中的其它代码,诸如应用程序845。此类指令可
以从另一计算机可读介质(诸如一个或多个存储设备825)读入工作存储器835。仅仅通过以示例的方式,包含在工作存储器835中的指令序列的执行可能导致处理器810执行在此描述的方法的一个或多个过程。另外地或可替代地,在此描述的方法的部分可以通过专用硬件来执行。
[0077]
如在此所使用的,术语“机器可读介质”和“计算机可读介质”是指参与提供使机器以特定方式操作的数据的任何介质。在使用计算机系统800实现的实施例中,各种计算机可读介质可能涉及向一个或多个处理器810提供指令/代码以供执行和/或可能用于存储和/或携带此类指令/代码。在许多实现方式中,计算机可读介质是物理的和/或有形存储介质。此类介质可以采用非易失性介质或易失性介质的形式。非易失性介质包括例如光盘和/或磁盘,诸如一个或多个存储设备825。易失性介质包括但不限于动态存储器,诸如工作存储器835。
[0078]
物理的和/或有形计算机可读介质的常见形式包括例如软盘、柔性盘、硬盘、磁带或任何其它磁介质、cd

rom、任何其它光学介质、打孔卡、纸带、带有孔图案的任何其它物理介质、ram、prom、eprom、flash

eprom、任何其它存储器芯片或盒式磁带,或计算机可以从中读取指令和/或代码的任何其它介质。
[0079]
在将一个或多个指令的一个或多个序列携带到一个或多个处理器810以供执行时,可以涉及各种形式的计算机可读介质。仅作为示例,指令最初可以承载在远程计算机的磁盘和/或光盘上。远程计算机可以将指令加载到其动态存储器中并且将指令作为信号通过传输介质发送以被计算机系统800接收和/或执行。
[0080]
通信子系统819和/或其组件通常将接收信号,并且然后总线805可以将信号和/或信号所携带的数据、指令等携带到工作存储器835,处理器810从该工作存储器835取得并执行指令。由工作存储器835接收的指令可以可选地在由处理器810执行之前或之后存储在非暂态存储设备825上。
[0081]
以上讨论的方法、系统和设备是示例。各种配置可以视情况而定省略、替代或添加各种程序或组件。例如,在替代配置中,可以以与所描述的顺序不同的顺序执行这些方法,和/或可以添加、省略和/或组合各个阶段。此外,关于某些配置描述的特征可以在各种其它配置中组合。配置的不同方面和元素可以类似方式组合。此外,技术不断发展,并且因此,许多元素是示例,并不限制本公开或权利要求的范围。
[0082]
在描述中给出具体细节以提供对包括实现方式的示例性配置的透彻理解。然而,可以在没有这些具体细节的情况下实践配置。例如,众所周知的电路、过程、算法、结构和技术已经在没有不必要的细节的情况下被示出以避免混淆配置。本描述仅提供示例配置,并不限制权利要求的范围、适用性或配置。相反,配置的前述描述将为本领域技术人员提供用于实现所描述的技术的使能描述。在不脱离本公开的精神或范围的情况下,可以对元件的功能和布置进行各种改变。
[0083]
此外,配置可被描述为被描绘为示意性流程图或框图的过程。尽管每个都可以将操作描述为顺序过程,但许多操作可以并行或并发执行。此外,操作的顺序可以重新排列。过程可能具有图中未包括的附加步骤。此外,方法的示例可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合来实现。当以软件、固件、中间件或微代码实现时,执行必要任务的程序代码或代码段可以存储在非暂态计算机可读介质(诸如存储介质)中。
处理器可以执行所描述的任务。
[0084]
已经描述了几个示例配置,在不脱离本公开的精神的情况下可以使用各种修改、替代构造和等效物。例如,上述元素可以是更大系统的组件,其中,其它规则可以优先于或以其它方式修改技术的应用。此外,可以在考虑上述元素之前、期间或之后采取许多步骤。因此,以上描述不限制权利要求的范围。
[0085]
如在此和所附权利要求中所使用的,除非上下文另有明确规定,否则单数形式“一”、“一个”和“该”包括复数引用。因此,例如,提及“用户”包括多个此类用户,提及“处理器”包括提及一个或多个处理器以及本领域技术人员已知的等同物等。
[0086]
此外,当在本说明书和以下权利要求中使用时,词语“包括了”、“包括”、“包含了”、“包含”、“具有”、“带有”和“拥有”旨在指定所述特征、整体、组件或步骤的存在,但它们不排除一个或多个其它特征、整体、组件、步骤、动作或组的存在或添加。
[0087]
还应理解,在此描述的示例和实施例仅用于说明目的,并且将向本领域技术人员建议根据其进行的各种修改或改变,并且将被包括在本技术的精神和范围内和所附权利要求的范围。
再多了解一些

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

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

相关文献