用于确定像素对应的可学习代价体的制作方法

文档序号:29156781发布日期:2022-03-08 19:33阅读:487来源:国知局
用于确定像素对应的可学习代价体的制作方法


背景技术:

1.两个图像之间的像素对应可以指示第一图像中的像素如何与第二图像中的像素相关。第一图像和第二图像可以在不同的时间和/或从不同的视角捕获,并且因此可以提供环境的不同表示。相互映射的一对像素可表示环境的相同部分,从而指示环境部分相对于相机随时间和/或由于图像的不同视角而产生的明显位移。像素对应可以为多个不同的应用确定以及在多个不同的应用中使用。在一个示例中,可以将在不同时间捕获的两个图像之间的像素对应确定为光流计算的一部分。在另一示例中,两个同时捕获的图像之间的像素对应可以被确定为立体视差计算的一部分。


技术实现要素:

2.可以基于与第一图像的像素相关联的特征向量和与第二图像的像素相关联的特征向量的比较来确定两个图像之间的像素对应。特征向量的这种比较可以生成代价体,该代价体对于每一对被比较像素指示该对像素之间的相似性。两个像素之间的相似性可以通过与两个像素相关联的特征向量之间的内积来量化。然而,与其使用欧几里德内积,可以使用学习/训练的椭圆内积来生成代价体。具体地,该对像素的第一特征向量可以由学习/训练的核矩阵进行变换,并且变换后的第一特征向量随后可以与该对像素的第二特征向量相乘。可以学习/训练核矩阵来定义椭圆内积空间。基于所学习/训练的椭圆内积生成的代价体随后可用于确定两个图像之间的像素对应。
3.在第一示例中,计算机实施的方法包括获得(i)与第一图像相关联的第一多个特征向量和(ii)与第二图像相关联的第二多个特征向量。计算机实施的方法还包括由训练成定义椭圆内积空间的核矩阵通过变换第一多个特征向量的每个相应特征向量来生成多个变换特征向量。计算机实施的方法还包括通过为多个变换特征向量中的每个变换特征向量确定多个内积来生成代价体。多个内积的每个内积可以在相应变换特征向量和第二多个特征向量的对应子集的对应候选特征向量之间。计算机实施的方法还包括基于代价体确定第一图像和第二图像之间的像素对应。
4.在第二示例中,系统包括处理器和非暂时性计算机可读存储介质,非暂时性计算机可读存储介质上存储有当由处理器执行时使处理器执行操作的指令。这些操作包括获得(i)与第一图像相关联的第一多个特征向量和(ii)与第二图像相关联的第二多个特征向量。操作还包括由训练成定义椭圆内积空间的核矩阵通过变换第一多个特征向量的每个相应特征向量来生成多个变换特征向量。操作还包括通过为多个变换特征向量的每个变换特征向量确定多个内积来生成代价体。多个内积的每个内积可以在相应变换特征向量和第二多个特征向量的对应子集的对应候选特征向量之间。这些操作还包括基于代价体确定第一图像和第二图像之间的像素对应。
5.在第三示例中,提供了非暂时性计算机可读存储介质,其上存储有当由计算系统
执行时使计算系统执行操作的指令。这些操作包括获得(i)与第一图像相关联的第一多个特征向量和(ii)与第二图像相关联的第二多个特征向量。操作还包括由训练成定义椭圆内积空间的核矩阵通过变换第一多个特征向量的每个相应特征向量来生成多个变换特征向量。操作还包括通过为多个变换特征向量的每个变换特征向量确定多个内积来生成代价体。多个内积的每个内积可以在相应变换特征向量和第二多个特征向量的对应子集的对应候选特征向量之间。这些操作还包括基于代价体确定第一图像和第二图像之间的像素对应。
6.在第四示例中,提供了系统,其包括用于获得(i)与第一图像相关联的第一多个特征向量和(ii)与第二图像相关联的第二多个特征向量的装置。系统还包括用于由训练成定义椭圆内积空间的核矩阵通过变换第一多个特征向量的每个相应特征向量来生成多个变换特征向量的装置。系统还包括用于通过为多个变换特征向量中的每个变换特征向量确定多个内积来生成代价体的装置。多个内积的每个内积可以在相应变换特征向量和第二多个特征向量的对应子集的对应候选特征向量之间。系统还包括用于基于代价体确定第一图像和第二图像之间的像素对应的装置。
7.以下一个或多个特征可应用于上述示例中的一个或每一个。
8.核矩阵可以是对称的并且正定的。
9.核矩阵可以基于(i)包括多个正对角线值的对角矩阵和(ii)正交矩阵的乘积来定义。
10.可以通过确定(i)对角矩阵的转置和正交矩阵之间的第一乘积,以及(ii)第一乘积和对角矩阵之间的第二乘积经由特征分解来定义核矩阵。
11.对角矩阵的多个正对角线值的每个正对角线值可以包括应用于第一多个特征向量的每个相应特征向量的对应维度的相应权重。正交矩阵可以被配置为对第一多个特征向量的每个相应特征向量应用旋转。
12.多个正对角线值中的每个相应正对角线值可以表示为相应训练参数的函数。函数可以将(i)分配给相应训练参数的实数值映射到(ii)正实数值。通过对每个相应正对角线值迭代地调整分配给对应训练参数的实数值来训练所述核矩阵以定义所述椭圆内积空间。
13.正交矩阵可以是特殊正交矩阵组的子集的元素。可以选择子集,使得该子集的矩阵的特征值排除负特征值。
14.子集的矩阵可以是连通的。正交矩阵可以使用克雷表示来表示为:(i)单位矩阵和训练矩阵之间的差,以及(ii)单位矩阵和训练矩阵之和的逆的乘积。训练矩阵可以是斜对称的。可以通过将训练矩阵初始化为单位矩阵并迭代调整训练矩阵的值来训练核矩阵以定义椭圆内积空间。
15.正交矩阵可以是包括多个方块正交矩阵的斯蒂费尔矩阵流形的元素。可以通过黎曼梯度下降来训练核矩阵以定义椭圆内积空间,黎曼梯度下降包括:确定从斯蒂费尔矩阵流形到正交矩阵处的切线空间的梯度投影,基于梯度投影来调整正交矩阵的值,以及将正交矩阵的缩回确定为调整进入斯蒂费尔矩阵。
16.第一多个特征向量的每个相应特征向量可以与第一图像的对应像素相关联。第二多个特征向量中的每个相应特征向量可以与第二图像的对应像素相关联。
17.对于与位于第一图像内的特定像素位置处的对应像素相关联的相应变换特征向
量,第二多个特征向量的对应子集可与位于第二图像内的包括特定像素位置的搜索窗口内的多个像素相关联。
18.第一图像和第二图像可以各自表示环境。确定第一图像和第二图像之间的像素对应可以包括基于代价体并且对于第一图像中的多个像素中的每个相应像素,确定第二图像中的被确定为表示与相应像素相同的环境部分的对应像素。
19.第一图像可以表示第一时间的环境。第二图像可以表示第二时间的环境。确定第一图像和第二图像之间的像素对应可以包括由一个或多个机器学习模型,基于代价体确定第一图像和第二图像之间的光流。
20.第一图像和第二图像可以是环境的立体图像。确定第一图像和第二图像之间的像素对应可以包括由一个或多个机器学习模型,基于代价体确定深度图像。
21.获取第一多个特征向量和第二多个特征向量可以包括由一个或多个机器学习模型处理第一图像来生成第一多个特征向量,以及由一个或多个机器学习模型处理第二图像来生成第二多个特征向量。
22.第一多个特征向量和第二多个特征向量可以对应于第一大小比例的第一图像和第二图像。可以获得与第一图像相关联的第三多个特征向量和与第二图像相关联的第四多个特征向量。第三多个特征向量和第四多个特征向量可以对应于第二大小比例的第一图像和第二图像。第二大小比例可以大于第一大小比例。第四多个特征向量可以基于第一大小比例的第一图像和第二图像之间的像素对应而扭曲。第二多个变换特征向量可以由核矩阵通过变换第三多个特征向量中的每个特征向量来生成。第二代价体可以通过为第二多个变换特征向量的每个变换特征向量确定第二多个内积来生成。第二多个内积的每个内积可以在第二多个变换特征向量的相应变换特征向量和扭曲后的第四多个特征向量的对应子集的对应候选特征向量之间。基于第二代价体,可以确定第二大小比例的第一图像和第二图像之间的第二像素对应。
23.这些以及其他示例、方面、优点和替代方案对于本领域的普通技术人员来说将通过阅读以下详细描述(在适当情况下参考附图)变得明显见。此外,本文提供的概要和其他描述及附图仅旨在通过示例来说明实现,并且因此,可以有许多变化。例如,可以重新排列、组合、分布、消除或以其他方式改变结构元素和过程步骤,同时保持在如权利要求所述的示例的范围内。
附图说明
24.图1示出了根据本文描述的示例的计算系统。
25.图2示出了根据本文描述的示例的计算设备。
26.图3a示出了根据本文描述的示例的特征向量。
27.图3b示出了根据本文描述的示例的图像搜索窗口。
28.图3c示出了根据本文描述的示例的代价体。
29.图4示出了根据本文描述的示例的可训练代价体模型。
30.图5a示出了根据本文描述的示例的欧几里德内积空间的方面。
31.图5b示出了根据本文描述的示例的椭圆内积空间的方面。
32.图6示出了根据本文描述的示例的用于确定光流的系统。
33.图7示出了根据本文描述的示例的流程图。
34.图8a和8b示出了根据本文描述的示例的测试结果。
具体实施方式
35.本文描述了示例方法、设备和系统。应当理解,本文中的词语“示例”和“示例性”是指“用作示例、实例或说明”。本文中描述为“示例”、“示例性”,“和/或”说明性的任何示例或特征不一定被解释为相对于其他示例或特征的优选或有利的,除非这样说明。因此,在不脱离本文所呈现的主题的范围的情况下,可以利用其他示例并且可以进行其他改变。
36.因此,本文所描述的示例并不意味着是限制性的。将容易理解,如本文一般描述并在附图中示出的,本公开的方面可以以多种不同配置来布置、替换、组合、分离和设计。
37.此外,除非上下文另有建议,否则在附图中的每个图中示出的特征可以彼此组合使用。因此,附图通常应被视为一个或多个整体示例的组成方面,并且理解并非每个示例都需要所有所示特征。
38.附加地,本说明书或权利要求书中的元素、块或步骤的任何列举为了清楚起见。因此,此类列举不应被解释为要求或暗示这些元素、块或步骤遵循特定安排或以特定顺序执行。除非另有说明,否则数字不按比例绘制。
39.i.概述
40.两个图像之间的像素对应(有时称为像素视差)可以指示像素对,其中像素对中的每个像素提供环境的相同部分的不同表示。像素对应可以基于代价体(cost volume)来确定。代价体可以指示第一图像和第二图像中的多个潜在匹配像素对之间的相似度。具体地,代价体可以针对第一图像中的每个相应像素指示多个相似性度量。多个相似性度量中的每个对应相似性度量可以与位于第二图像中的搜索窗口内的多个候选像素中的对应候选像素相关联。搜索窗口(例如,方块、矩形等)可用于从第二图像中选择多个候选像素,并且其在第二图像中的位置可基于(例如,以之为中心)第一图像中相应像素的坐标。因此,搜索窗口可以指示第二图像中最有可能对应于第一图像中的相应像素的候选像素。
41.第一像素和第二像素之间的相似性度量可以基于与第一像素相关联的第一特征向量和与第二像素相关联的第二特征向量之间的内积。与像素相关联的特征向量可以通过机器学习算法(例如,卷积神经网络)、基于规则的图像处理算法和/或其组合处理像素和/或一个或多个相邻像素来确定。因此,特征向量可以表示像素和/或一个或多个相邻像素的信息内容。因此,第一特征向量和第二特征向量之间的内积可以表示这两个特征向量之间的相似程度。
42.然而,在一些情况下,特征向量的一些维度可以彼此相关,并且因此可以至少部分地表示重复信息。此外,特征向量的一些维度可以包含在识别像素对应中有用的信息,而其他维度可以包含噪声或不相关的信息。这些问题可能源于用于生成特征向量的算法的组合有时生成噪声和/或不相关向量值。使用欧几里德内积空间构造代价体不提供考虑特征向量的不同维度之间的相关性的方法和/或不同于表示噪声和/或较少相关信息的维度来加权特征向量的区别维度的方法。
43.因此,与其使用欧几里德内积来定义代价体,可以基于椭圆内积来定义代价体。具体地,椭圆内积可以通过由核矩阵变换第一特征向量,然后用变换后的第一特征向量乘以
第二特征向量来确定。核矩阵可以被配置为经由训练过程来定义椭圆内积空间。因此,使用该核矩阵生成的代价体可被称为学习代价体和/或训练代价体。当图像包括大像素位移、无纹理区域、运动模糊、遮挡、照明变化和非朗伯反射等时,学习的代价体可允许更精确地确定像素对应。
44.在一些情况下,特定训练的核矩阵可以特定于使用特定算法集(例如,卷积神经网络)生成的特征向量。因此,当用于生成特征向量的算法被修改时,由此生成的相关性和噪声可以改变。因此,核矩阵可以被重新训练以适当地调整椭圆内积空间来处理由改进算法产生的相关性和噪声。
45.为了定义一个有效的内积空间,核矩阵可以是对称的、正定的。在训练过程中对核矩阵显式施加对称性和正定性的约束可能使训练过程复杂化,因为训练过程中对核矩阵的每次更新需要跟随梯度并导致对称的正定矩阵两者。因此,可以丢弃跟随梯度但不导致对称和正定矩阵的潜在更新,直到确定确实导致对称和正定矩阵的更新。这个迭代过程可能很耗时,而且计算上也很浪费。因此,可以经由特征值分解将核矩阵分解为对角矩阵和正交矩阵,而不是直接对核矩阵施加对称性和正定性约束。
46.对角矩阵可以包括沿其对角线的核矩阵的特征值。为了满足正定性的要求,特征值可以是正的。对角矩阵可操作以重新加权特征向量的不同维度,这可在几何上被视为坐标轴的拉伸。例如,对角矩阵可以放大特征向量的区别维度,同时抑制表示噪声和/或不加区分的信号的维度。由对角矩阵表示的特征值可以由将训练参数的实值映射到特征值的正实值的函数来参数化。因此,训练过程可以通过修改无约束的训练参数而不是正的特征值本身来执行。
47.顾名思义,正交矩阵可以是正交矩阵,使得正交矩阵的转置等于正交矩阵的逆。正交矩阵可操作以将特征向量线性变换成新的特征空间,该新的特征空间说明其不同维度之间的相关性。这种变换在几何学上可视为坐标轴的旋转。
48.正交矩阵可以通过使用克雷表示/变换将正交矩阵参数化为斜对称训练矩阵,或者通过斯蒂费尔矩阵流形上的黎曼梯度下降来训练。在任一情况下,正交矩阵的正交性可作为训练过程的结果而实现,而无需对其施加任何显式约束,从而允许训练过程自由地跟随相对于训练参数确定的梯度。
49.具体地,使用克雷表示,可以从特殊正交矩阵组的子集中选择正交矩阵,其中子集的矩阵是连通的(connected),并且在其谱中不包括负特征值的矩阵。子集的矩阵可以使用克雷变换表示为(i)单位矩阵和斜对称训练矩阵之间的差和(ii)单位矩阵和斜对称训练矩阵之和的逆的乘积。因为子集的矩阵是连通的并且包括单位矩阵,所以可以将斜对称训练矩阵初始化为单位矩阵,并且可以迭代地细化其值,直到达到期望的正交矩阵。当基于其生成的代价体允许确定至少具有阈值精度的像素对应时,可以达到期望的正交矩阵。
50.另一方面,使用黎曼梯度下降可能涉及从斯蒂费尔矩阵流形中选择初始正交矩阵并在斯蒂费尔矩阵流形上对应于初始正交矩阵的点处确定标准梯度。然后,可以将标准梯度投影到在其上对应于初始正交矩阵的点处与斯蒂费尔矩阵流形相切的切线空间,从而导致自然梯度。自然梯度可用于更新投影的初始正交矩阵的值,从而导致更新后的矩阵可能不再正交,因为它驻留在切线空间中,而不是斯蒂费尔矩阵流形中。因此,更新后的矩阵可以缩回到斯蒂费尔矩阵流形中,从而导致正交的更新矩阵。
51.ii.示例计算设备
52.图1示出了计算系统100的示例尺寸外型。计算系统100可以是例如移动电话、平板计算机或可穿戴计算设备。然而,其他的示例也是可能的。计算系统100可以包括各种元件,诸如主体102、显示器106以及按钮108和110。计算系统100还可以包括前向相机104、后向相机112和113、前向红外相机114和红外模式投影仪116。
53.前向相机104可被定位在主体102的一侧,该侧通常在操作时面向用户(例如,与显示器106在同一侧)。后向相机112和113可位于主体102相对前向相机104的一侧。将相机称为前向和后向是任意的,并且计算系统100可以包括位于主体102的各个侧面上的多个相机。前向相机104以及后向相机112和113可以分别被配置为在可见光谱中捕获图像。
54.显示器106可以表示阴极射线管(crt)显示器、发光二极管(led)显示器、液晶(lcd)显示器、等离子显示器、有机发光二极管(oled)显示器或本领域已知的任何其他类型的显示器。在一些示例中,显示器106可以显示由前向相机104、后向相机112、后向相机113和/或红外相机114捕获的当前图像,和/或可由这些相机中的一个或多个捕获或最近捕获的图像的数字表示。因此,显示器106可用作相机的取景器。显示器106还可以支持触摸屏功能,触摸屏功能可以调整计算系统100的任何方面的设置和/或配置。
55.前向相机104可以包括图像传感器和诸如透镜的相关光学元件。前向相机104可提供变焦能力或可具有固定焦距。在其它示例中,可互换透镜可以与前向相机104一起使用。前向相机104可以具有可变机械光圈和机械和/或电子快门。前向相机104还可以被配置为捕获静止图像、视频图像或两者。此外,前向相机104可以表示例如单视角相机。后向相机112、后向相机113和/或红外相机114可以类似地或不同地布置。附加地,前向相机104、后向相机112、后向相机113或红外相机114中的一个或多个可以是一个或多个相机的阵列。在一个示例中,后向相机112和后向相机113可以形成立体相机的一部分。
56.前向相机104、后向相机112和/或后向相机113中的一个或多个可以包括提供可见光谱中的光场以照亮目标对象的照明组件或与提供可见光谱中的光场以照亮目标对象的照明组件相关联。例如,照明组件可以提供目标对象的闪光或恒定照明。照明组件还可以被配置为提供包括结构光、偏振光和具有特定光谱内容的光中的一个或多个的光场。在本文示例的上下文中,可以使用已知并用于从对象恢复三维(3d)模型的其他类型的光场。
57.红外模式投影仪116可以被配置为将红外结构光图案投影到目标对象上。在一个示例中,红外投影仪116可被配置为投射点图案和/或泛光图案。因此,红外投影仪116可以与红外相机114组合使用,以确定与目标对象的不同物理特征相对应的多个深度值。
58.即,红外投影仪116可以将已知和/或预定的点图案投射到目标对象上,并且红外相机114可以捕获包括投射的点图案的目标对象的红外图像。然后,计算系统100可以确定捕获的红外图像中的区域与投射点图案的特定部分之间的对应。给定红外投影仪116的位置、红外相机114的位置以及与捕获的红外图像内的投射点图案的特定部分相对应的区域的位置,计算系统100然后可以使用三角测量来估计到目标对象表面的深度。通过对对应于投射点图案的不同部分的不同区域重复此操作,计算系统100可以估计目标对象的各种物理特征或部分的深度。这样,计算系统100可用于生成目标对象的三维(3d)模型。
59.计算系统100还可以包括环境光传感器,其可以连续地或不时地确定相机104、112、113和/或114可以捕获的场景的环境亮度(例如,根据可见光和/或红外光)。在一些实
施方式中,环境光传感器可用于调整显示器106的显示亮度。附加地,环境光传感器可用于确定相机104、112、113或114中的一个或多个的曝光长度,或用于帮助此确定。
60.计算系统100可被配置为使用显示器106和前向相机104、后向相机112、后向相机113和/或前向红外相机114来捕获目标对象的图像。捕获的图像可以是多个静止图像或视频流。可以通过激活按钮108、按下显示器106上的软键或通过一些其他机制来触发图像捕获。根据实施方式,可以在特定的时间间隔自动捕获图像,例如,在按下按钮108时、在目标对象的适当照明条件下、在将数字相机设备100移动预定距离时、或者根据预定捕获时间表。
61.如上所述,计算系统100的功能可以集成到计算设备(诸如无线计算设备、手机、平板计算机、膝上型计算机等)中。出于示例的目的,图2是示出可以包括相机组件224的示例计算设备200的组件中的一些的简化框图。
62.作为示例并非限制,计算设备200可以是蜂窝移动电话(例如,智能电话)、静物相机、摄像机、计算机(诸如桌上型计算机、笔记本、平板或手持计算机)、个人数字助理(pda)、家庭自动化组件、数字视频录像机(dvr)、数字电视,遥控器、可穿戴计算设备、游戏机、机器人设备或其他类型的设备。计算设备200可以配备有至少一些图像捕获和/或图像处理能力。应当理解,计算设备200可以表示物理图像处理系统、图像感测和处理应用在其上以软件操作的特定物理硬件平台,或者配置为执行图像捕获和/或处理功能的硬件和软件的其他组合。
63.如图2所示,计算设备200可以包括通信接口202、用户接口204、处理器206、数据存储208和相机组件224,所有这些可以通过系统总线、网络或其他连接机制210通信地连接在一起。
64.通信接口202可允许计算设备200使用模拟或数字调制与其它设备、接入网络和/或传输网络进行通信。因此,通信接口202可促进电路交换和/或分组交换通信,诸如普通老式电话服务(pots)通信和/或因特网协议(ip)或其它分组化通信。例如,通信接口202可以包括芯片组和天线,芯片组和天线被布置用于与无线电接入网络或接入点进行无线通信。此外,通信接口202可以采用有线接口的形式或包括有线接口,诸如以太网、通用串行总线(usb)或高清晰度多媒体接口(hdmi)端口。通信接口202还可以采取无线接口的形式或包括无线接口,诸如wi-fi、全球定位系统(gps)或广域无线接口(例如wimax或3gpp长期演进(lte))。然而,其它形式的物理层接口和其它类型的标准或专有通信协议可在通信接口202上使用。此外,通信接口202可以包括多个物理通信接口(例如,wi-fi接口、接口和广域无线接口)。
65.用户接口204可用于允许计算设备200与人类或非人类用户交互,诸如从用户接收输入并向用户提供输出。因此,用户接口204可以包括诸如小键盘、键盘、触摸敏感面板、计算机鼠标、轨迹球、操纵杆、麦克风等的输入组件。用户接口204还可以包括一个或多个输出组件,诸如例如可以与触摸屏组合的显示屏。显示屏可以基于crt、lcd和/或led技术,或者现在已知的或后来开发的其他技术。用户接口204还可以被配置为经由扬声器、扬声器插孔、音频输出端口、音频输出设备、耳机和/或其他类似设备来生成(多个)音频输出。用户接口204还可以被配置为通过麦克风和/或其他类似设备来接收和/或捕获(多个)可听见的话语、(多个)噪声和/或(多个)信号。
66.在一些示例中,用户接口204可以包括作为计算设备200支持的静物相机和/或摄像机功能(例如,在可见光谱和红外光谱二者中)的取景器的显示器。附加地,用户接口204可以包括一个或多个按钮、开关、旋钮和/或拨号盘,这些按钮、开关、旋钮和/或拨号盘有助于相机功能的配置和聚焦以及图像的捕获。这些按钮、开关、旋钮和/或拨号盘中的一些或全部可能通过触摸屏实施。
67.处理器206可以包括一个或多个通用处理器(例如微处理器)和/或一个或多个专用处理器(例如数字信号处理器(dsp)、图形处理单元(gpu)、浮点单元(fpu)、网络处理器或专用集成电路(asic)。在一些情况下,专用处理器可以能够进行其它能力当中的图像处理、图像对齐和合并图像等。数据存储208可以包括一个或多个易失性和/或非易失性存储组件,诸如磁存储、光存储、闪存存储或有机存储,并且可以全部或部分地与处理器206集成。数据存储208可以包括可移除和/或不可移除组件。
68.处理器206可以能够执行存储在数据存储208中的程序指令218(例如,已编译或未编译的程序逻辑和/或机器代码),以执行本文描述的各种功能。因此,数据存储208可以包括非暂时性计算机可读介质,其上存储有程序指令,该程序指令在由计算设备200执行时使计算设备200执行本说明书和/或附图中公开的任何方法、过程或操作。处理器206执行程序指令218可导致处理器206使用数据212。
69.举例来说,程序指令218可以包括在计算设备200上安装的操作系统222(例如,操作系统内核、(多个)设备驱动程序和/或其他模块)和一个或多个应用程序220(例如,相机功能、地址簿、电子邮件、web浏览、社交网络、音频到文本功能、文本翻译功能、和/或游戏应用)。类似地,数据212可以包括操作系统数据216和应用数据214。操作系统数据216可以主要由操作系统222访问,并且应用数据214可以主要由应用程序220中的一个或多个来访问。应用数据214可以布置在对计算设备200的用户可见或对其隐藏的文件系统中。
70.应用程序220可以通过一个或多个应用编程接口(api)与操作系统222进行通信。例如,这些api可促进应用程序220读取和/或写入应用数据214、经由通信接口202发送或接收信息、在用户接口204上接收和/或显示信息等。
71.在一些方言中,应用程序220可以简称为“应用(apps)”。附加地,应用程序220可以通过一个或多个在线应用商店或应用市场下载到计算设备200。然而,应用程序也可以以其他方式(诸如经由web浏览器或通过计算设备200上的物理接口(例如,usb端口))安装在计算设备200上。
72.相机组件224可以包括但不限于光圈、快门、记录表面(例如,摄影胶片和/或图像传感器)、透镜、快门按钮、红外投影仪和/或可见光投影仪。相机组件224可以包括被配置用于在可见光谱(例如,具有400-700纳米波长的电磁辐射)中捕获图像的组件和被配置用于在红外光谱(例如,波长为701纳米-1毫米的电磁辐射)中捕获图像的组件。相机组件224可以至少部分地由处理器206执行的软件控制。
73.iii.示例代价体模型
74.图3a示出了与图像的像素相关联的示例特征向量。具体地,图3a示出了具有宽度w和高度h的图像300,每个宽度w和高度h以像素为单位测量。因此,图像300包括h
×
w像素。图像300的每个像素可以与对应的特征向量相关联。例如,像素302可以与特征向量304相关联,特征向量304可以包括多个值f1-fc(即,f1、f2、f3、f4、f5、f6、f7和f8到fc),每个值都与特
征向量304的对应维数相关联。
75.特征向量304可以通过经由一个或多个机器学习模型处理像素302和/或与像素302相邻的一个或多个其他像素来生成。例如,特征向量304可以表示经由一个或多个卷积神经网络确定的像素302和/或其相邻像素的卷积特征。在另一示例中,特征向量304可以表示经由一个或多个基于规则的图像处理算法处理像素302和/或其相邻像素的输出。在另外的示例中,可以以其他方式确定特征向量304的值f
1-fc。不管确定特征向量304的值f
1-fc的具体方式如何,特征向量304可以表示像素302和/或与其相邻的一个或多个其他像素的信息内容(例如,其中存在某些颜色、几何特征和/或其他模式)。因此,可以使用两个不同像素的相应特征向量来确定两个不同像素之间的相似性度量。当两个不同像素是两个不同图像的一部分时,可以使用相似性度量来找到两个图像的像素之间的对应。在一些情况下,像素对应可以被称为像素视差。
76.因此,图3b示出了用于找到两个图像之间的像素对应的过程的一部分。具体地,图3b包括图像300和图像306,它们中的每一个可以提供共同环境的不同表示。可以使用计算系统100的相机104、112、113和/或114和/或计算设备200的相机组件224来生成图像300和/或306。在一个示例中,可以使用立体相机基本上同时捕获图像300和306,并且因此可以从不同的视角来表示环境。因此,找到图像300和306之间的像素对应可以作为基于图像300和306确定深度图像的基础。在另一示例中,图像300可以在第一时间捕获,并且图像306可以在第一时间之后的第二时间捕获,因此,每一个可以代表不同时间点的环境。因此,找到图像300和306之间的像素对应可以作为确定与图像300和306相关联的光流的基础。
77.可以通过将图像300中的特定像素与位于搜索窗口内的图像306的多个候选像素进行比较来确定图像300中的特定像素与图像306中的另一像素之间的对应。搜索窗口在图像306中的位置可以基于图像300中特定像素的坐标。例如,图像306中所示的搜索窗口310可用于找到图像300中像素308a的匹配。搜索窗口310可具有宽度u和高度v并且可以以图像306中像素308b为中心。像素308a和308b可分别在图像300和306中共享相同的坐标。即,像素308a可以位于图像300的第5行第5列,并且像素308b可以位于图像306的第5行第5列。
78.可以将图像300中每个像素的相应特征向量与图像306中相应像素的u x v候选特征向量进行比较。搜索窗口310可以指示由像素308a表示的环境特征在图像300和306之间的最大预期位移。在其他实施方式中,搜索窗口310可以包括,但可能不是以308b像素为中心。图像300中的每个相应像素可以与图像306中的相应搜索窗口相关联,该搜索窗口包括相应像素的位置(例如,通过以该位置为中心)。
79.如图3c所示,将图像300中的每个相应像素的特征向量与位于相应搜索窗口内的图像306中的多个候选像素的候选特征向量进行比较可以生成代价体。具体地,图3c的代价体312包括由图像300和306的特征向量的比较得到的相似性度量的h x w x u*v阵列。具体地,图像300包括h x w像素,每个像素与对应的特征向量相关联。将这些h x w特征向量中的每一个与图像306中表示潜在像素对应(即,与对应搜索窗口内的像素相关联)的u*v候选特征向量进行比较。因此,图像300的h x w像素中的每一个与匹配的u*v潜在像素相关联,从而导致代价体312的h x w x u*v维度。在一些实施方式中,代价体312可以改为表示为4维h x w x u*v张量,而不是图3c所示的3维h x w x u*v张量,但可能代表相同的信息内容。
80.代价体312可以表示与图像300和306之间的多个可能的像素对应相关联的代价。代价体312可以由一个或多个机器学习模型处理,以便为图像300中的多个像素中的每个像素选择图像306中的对应像素。图像300中的像素和与其匹配的图像306中的对应像素应表示相同和/或基本相同的环境部分,尽管从不同的角度和/或在不同的时间。一个或多个机器学习模型可被配置为选择改进或优化此类配对的全局代价的单个像素配对,而不是优化配对的局部代价。也就是说,一个或多个机器学习模型可以选择作为整体在图像300和306上工作良好和/或最佳的像素对应,而不是仅针对其中的一些像素。
81.在一些实施方式中,两个对应像素的两个特征向量之间的相似性度量可以由两个特征向量之间的欧几里德内积表示。然而,欧几里德内积可出于至少两个原因限制代价体312的表示能力。首先,欧几里德内积可能无法解释特征向量不同维度之间的相关性。第二,特征向量的每一个维度对欧几里德内积的贡献是相等的。因此,表示噪声的维度可以由欧几里德内积赋予与表示在确定精确像素对应中有用的区别信号的维度相同的权重。因此,与其使用基于欧几里德内积的固定计算来确定代价体312,可以使用经训练的代价体模型来构建代价体312。
82.图4示出了代价体模型400,该模型可被训练以解释特征向量的不同维度之间的相关性并重新加权每个特征向量维度对代价体的贡献。代价体模型400可以配置为将图像402的特征向量404-406与图像408的特征向量410-412进行比较以确定代价体434。图4的图像402和408可以表示图3b的图像300和306,并且代价体434可以表示图3c的代价体312。像素对应匹配模型436可以被配置为基于代价体434确定图像402和408的相应像素之间的像素对应。
83.代价体模型400可以包括向量比较选择器414,向量比较选择器414可被配置为迭代图像402和408的候选像素对。具体地,向量比较选择器414可以被配置为将特征向量404-406的每个相应特征向量与从特征向量410-412中选择的对应多个候选特征向量的每个相应候选特征向量进行比较。可以基于与来自图像402的相应特征向量相对应的搜索窗口来选择对应多个特征向量,如相对于图3b所示和讨论的。因此,对应多个候选特征向量可以与在与来自图像402的相应特征向量相关联的像素坐标的阈值距离(例如,由搜索窗口定义)内的像素相关联。
84.因此,向量比较选择器414可以实施函数k

=(i-(u-1)/2+k)和l

=(j-(v-1)/2+l),其中(i,j)表示与图像402中的相应特征向量相关联的像素的坐标,u表示搜索窗口的宽度,v表示搜索窗口的高度,以及(k

,l

)表示位于搜索窗口内并且与图像408中的特定候选特征向量相关联的像素的坐标。索引i的值可以在0到h的范围内,索引j的值可以在0到w的范围内,索引k的值可以在0到u的范围内,并且索引l的值可以在0到v的范围内。因此,向量比较选择器414可以通过图像402中的每个像素迭代(i,j),并且对于图像402中的每个相应像素,通过在与像素402的相应像素相对应的搜索窗口内的图像408中的每个像素迭代(k

,l

)。
85.代价体模型400可配置为将转置运算符416应用于由向量比较选择器414选择用于比较的特征向量404-406的相应特征向量。代价体模型400还可配置为将内积运算符430应用于转置后的相应特征向量和核矩阵428。代价体模型400还可以被附加地配置为将内积运算符432应用于内积运算符430的输出以及由向量比较选择器414从特征向量410-412的相
应子集中选择的候选特征向量。因此,代价体400可以实施函数其中f1是表示特征向量404-406的w x h x c张量(其中c表示每个特征向量的维数),f2是表示特征向量410-412的w x h x c张量,是具有c值的向量,并且表示从f1中选择用于比较的相应特征向量,,w是表示核矩阵428的c x c矩阵,并且是具有c值并且表示从f2中选择用于比较的候选特征向量的向量。
86.可以学习和/或训练核矩阵428以定义椭圆内积空间。为了比较,使用欧几里德内积确定的代价体可表示为函数其中矩阵在取与的内积之前不用于变换作为训练的结果,核矩阵428可以被配置为解相关并重新加权特征向量的不同维度,从而允许代价体434更准确地表示每个候选像素对应。由于核矩阵428定义内积空间,为了符合内积的数学定义和特性,核矩阵428可以是对称(即,w=w
t
)和正定矩阵(即,仅具有正特征值)。使用非对称和/或正定的核矩阵,并且因此不定义有效的内积空间,可能导致在找到像素对应时没有有效的内积空间产生的代价体有用的代价体。
87.核矩阵428的元素可以表示代价体模型400的可学习和/或可训练参数。但是,在训练过程中施加对称性和正定性约束可能会阻碍代价体模型400的训练过程。因此,核矩阵428可以表示为正交矩阵418和对角矩阵422的乘积。具体地,基于特征分解和/或谱分解,核矩阵428可以表示为w=p
t
λp,其中w表示核矩阵428,λ表示对角矩阵422,p表示正交矩阵418,并且p
t
表示由转置运算符420变换的正交矩阵418。因此,可由转置运算符420、内积运算符426和/或如图4所示操作正交矩阵418和/或对角矩阵422的内积运算符424以计算w=p
t
λp来确定核矩阵428。
88.对角矩阵422可以包括沿其对角线的核矩阵428的特征值。也就是说,λ=diag(λ1,...,λc),其中对于所有从1到c的i,λi》0。对角矩阵422可以具有对特征向量的不同维度重新加权的效果,每个特征值λi构成特征向量的相应维度的权重。正交矩阵418可以是满足条件w=p
t
λp或等价地p
t
=p-1
的正交矩阵。正交矩阵418可以具有旋转坐标轴的效果,从而解相关特征向量的不同维度。
89.由于在使用代价体模型400期间,核矩阵428对于特征向量之间的每个内积计算保持不变,因此可以基于正交矩阵418和对角矩阵422计算核矩阵428,由代价体模型400存储并多次重用。也就是说,为了减少计算开销,对于运算符416、430和432基于特征向量404-406和410-412执行的每个计算,可以不通过运算符420、424和426来重新计算核矩阵428。然而,核矩阵428可以每次由于训练而更新正交矩阵418和/或对角矩阵422时重新计算。
90.图5a和5b直观地示出了将特征向量乘以核矩阵428的效果。具体地,图5a直观地示出了相对于欧几里德参考系500定义的欧几里德内积空间,而图5b直观地示出了相对于椭圆参考系510定义的椭圆内积空间。沿欧几里德参考系500绘制的特征向量f1表示从f1中选择的示例特征向量,并且特征向量f2表示从f2中选择的示例特征向量。
91.在欧几里德参考系500中,特征向量f1可与特征向量f2相关。具体地,特征向量f1包
括沿与特征向量f1相同的方向定向的x分量。椭圆参考系510可经训练以调整特征向量f1与f2之间的相关程度。具体地,如图5b所示,椭圆参考系510可相对于欧几里德参考系500进行变换,使得特征向量f1和f2彼此正交,从而说明可以训练核矩阵428以解相关特征向量的至少一些维度。
92.变换特征向量f1w可以通过经由核矩阵428的变换相对于特征向量f1进行旋转和/或缩放。由于这种旋转和/或缩放,变换特征向量f1w在椭圆参考系510中与特征向量f2的相关程度不同于特征向量f1在欧几里德参考系500中与特征向量f2的相关程度。因此,核矩阵428可以被训练以调整两个特征向量之间取内积而产生的缩放值,使得与相似特征向量相关联的缩放值增大并且与不同特征向量相关联的缩放值减小。在一些情况下,这可能导致变换特征向量正交于或近似正交于(即,不相关于)一些候选特征向量,从而指示较差的像素对应匹配,并且与一个或多个其他候选特征向量重合或近似重合(即,高度相关),从而指示良好的像素对应匹配。
93.iv.代价体模型的示例训练
94.直接训练核矩阵428可能是困难的,因为为了定义有效的内积空间,可以选择核矩阵428的值,使其对称且正定。因此,在每次训练迭代中,可以基于梯度下降计算,使用(i)跟随梯度并(ii)导致核矩阵428对称且正定的值来更新核矩阵428。直接找到满足这两个标准的核矩阵428的值可能既困难又耗时。因此,核矩阵428可以改为基于正交矩阵418和对角矩阵422来表示,其中每一个都可以提供促进核矩阵428的训练/学习的对应可调整训练参数集。
95.由于核矩阵428的正定性,对角矩阵422可以包括沿其对角线的正值(即,核矩阵428的特征值)。与其将训练过程显式地限制为仅为对角矩阵422选择正值(即,当定义λ=diag(λ1,...,λc)时施加约束λi》0),可以使用将实值映射到正实值的函数来参数化元素λi。例如,可以基于λi=(π+2arctan(ti))/(π-2arctan(ti))来定义对角矩阵422,其中ti是在训练期间可修改的训练参数。通过将对角矩阵422的元素λi表示为将ti的实值映射到λi的正实值的函数,可以基于梯度下降过程来修改训练参数ti,而不对训练参数ti可能具有的值的范围施加任何附加约束。
96.正交矩阵418也可以参数化以简化训练过程。在一个实施方式中,可以通过使用克雷变换以训练矩阵s和单位矩阵i表示正交矩阵418来促进正交矩阵418的训练。具体地,正交矩阵418可以根据p=(i-s)(i+s)-1
来表示,其中p表示正交矩阵,并且是由特征值不包括负特征值的矩阵组成的特殊正交群so
*
(n)的元素。也就是说,其中σ(a)表示a的谱(即特征值)。训练矩阵s可以是斜对称的,使得s
t
=-s,这允许(i+s)是可逆的。
97.定义特殊正交群so
*
(c)的矩阵集可以是连通集,并且可以包括c x c单位矩阵i作为其元素。因此,在训练中,正交矩阵p可以初始化为单位矩阵i。假设p
*
是最优正交矩阵,由于特殊正交群的矩阵(包括p
*
和i)是连通的,所以在初始化正交矩阵p作为单位矩阵i后,可以通过训练得到p
*
。因此,存在连接单位矩阵i和任何正交矩阵p的连续路径,该正交矩阵p是包括最优正交矩阵p
*
的特殊正交群so
*
(c)的元素。
98.训练矩阵s的元素可以参数化,使得它们可以在训练期间自由地调整,而无需对其施加任何附加约束。例如,在训练矩阵s是三维实数空间的元素的情况下,训练矩阵可以根
据s=[row(0,-s1,-s2),row(s1,0,-s3),row(s2,s3,0)]以训练参数s1、s2和s3参数化。在满足训练矩阵s的斜对称性(即s
t
=-s)的同时,可以使用附加参数来定义更高维的训练矩阵s。
[0099]
因此,可以通过基于通过代价体模型的反向传播计算的梯度调整训练矩阵参数s
1-sc(定义正交矩阵418)和/或对角矩阵参数t
1-tc(定义对角矩阵422)来训练核矩阵428。特别地,训练矩阵参数s
1-sc和/或对角矩阵参数t
1-tc可以自由地调整,而不对其施加任何明确的约束,因为核矩阵428的对称性和正定性是由于这些参数的值如何映射到正交矩阵418和对角矩阵422的元素的值而产生的。
[0100]
在替代实施方式中,正交矩阵418的训练可以使用斯蒂费尔矩阵流形上的黎曼梯度下降来执行。斯蒂费尔矩阵流形可以根据vk(rn)={a∈r
nxk
|a
t
a=ik}来定义,其中r
nxk
表示n x k正交矩阵的空间。具体地,可以从斯蒂费尔矩阵流形vc(rc)={a∈r
cxc
|a
t
a=ic中选择正交矩阵p,斯蒂费尔矩阵流形可以包含所有c x c(方块)正交矩阵在其中从而满足正交矩阵p的正交性条件。
[0101]
在训练开始时,可以为正交矩阵p选择初始值,使得初始正交矩阵p位于斯蒂费尔矩阵流形vc(rc)中。例如,可以选择正交矩阵p和对角矩阵λ的初始值来初始化核矩阵w作为单位矩阵,即w=i。可以确定对应于初始正交矩阵p的斯蒂费尔矩阵流形上的点处的梯度矩阵z。梯度矩阵z可以表示与初始正交矩阵p相关联的标准梯度。根据π
p
(z)=(i-pp
t
)z+p*skew(p
t
z),skew(x):=(x-x
t
)/2,梯度矩阵z可以投影到在其上对应于初始正交矩阵p的点处与斯蒂费尔矩阵流形相切的切线空间上。梯度矩阵z在初始正交矩阵p上的投影π
p
(z)可以表示斯蒂费尔矩阵流形上的自然梯度。
[0102]
可以基于投影π
p
(z)执行梯度下降以确定更新后的矩阵p

。例如,更新后的矩阵p

可以根据p

=p-η*π
p
(z)来确定,其中η是表示正交矩阵的训练速率的可修改常数。由于更新后的矩阵p

是切线空间的元素,并且不一定是正交的,因此更新后的矩阵p

可以缩回到斯蒂费尔矩阵流形中以生成更新后的正交矩阵。具体地,更新后的矩阵p

可以根据θ
p
(p

)=(p+p

)(i+(p

)
t
p

)
1/2
缩回到斯蒂费尔矩阵流形中,从而生成更新后的正交矩阵p。
[0103]
更新后的正交矩阵的投影、投影的正交矩阵的值的调整和调整后的正交矩阵的缩回可以重复一次或多次,直到获得最终的正交矩阵p。最终正交矩阵p可以与对角矩阵λ一起提供像素相对于包括多个图像对的测试数据集的匹配的目标精度水平。
[0104]
通常,正交矩阵p和对角矩阵λ的值可以通过基于包括多对图像的训练数据集训练这些矩阵来确定。每对内的两个图像中的每一个可以提供共同环境的不同表示,使得两个图像中的像素中的至少一些之间存在对应。正交矩阵p和对角矩阵λ可被指派初始值,基于该初始值可确定核矩阵w的初始值。训练数据集的多个图像对可以由代价体模型400使用分配了初始值的核矩阵w来处理,以针对多对中的每一对确定训练代价体,它可以由代价体434表示,并且可以被指定为“训练”代价体,因为它被确定为训练过程的一部分。像素对应匹配模型436可以使用训练代价体来确定训练像素对应。
[0105]
训练像素对应可以通过损失函数与真值像素对应和/或其近似进行比较。在监督学习应用中,损失函数可以显式地将训练像素对应与已知的真值像素对应进行比较。在一些监督的应用中,训练数据集可以包括具有已知像素对应的合成(例如,计算机生成)图像对。在无监督学习应用中,其他可能的损失函数当中的损失函数可测量光度损失(例如,两个成对像素在视觉上彼此实际相似程度)、平滑度损失(例如,相邻像素之间的明显位移变
化的突然程度)和/或局部对比度标准化损失。因此,无监督学习应用中的损失函数可以提供基本真值对应的近似值,因为可能不知道显式的基本真值对应。
[0106]
可以相对于定义正交矩阵p和对角矩阵λ的训练参数来确定损失函数的梯度,并且可以使用该梯度来确定对训练参数的一个或多个更新。一旦这些训练参数被更新,可以基于更新后的正交矩阵p和更新后的对角矩阵λ来更新核矩阵w,并且可以相对于训练数据集执行训练过程的另一迭代。因此,可以迭代地细化核矩阵w。当代价体模型400生成允许像素对应匹配模型436以至少阈值精度(例如,75%、90%、99%等)(如通过一个或多个损失函数测量的)确定训练数据集(或为了测试保留的另一数据集)的像素对应的代价体时,可以认为训练完成。
[0107]
v.代价体模型的示例应用
[0108]
图6示出了作为光流系统640的一部分实施的代价体模型400,该光流系统640被配置为确定图像对之间的光流。具体地,光流系统640可以被配置为确定图像600和图像608之间的光流。光流系统640可以包括代价体模型400、特征扭曲模型622、光流模型624,以及光流上采样模型628。光流系统640的这些组件中的每一个可以实施为硬件组件、软件组件或两者的组合。此外,这些组件中的每一个可以表示机器学习模型、基于规则的算法或两者的组合。因此,在一些实施方式中,代价体模型400、特征扭曲模型622、光流模型624和/或光流上采样模型628可以联合训练,从而允许代价体模型400学习生成代价体434,使得其在确定光流时对其他组件有用。
[0109]
图像600和608可各自与对应于一个或多个大小比例的一组或多组特征向量相关联。例如,图像600和608可以分别与对应于大小比例620的特征向量606和614、分别与对应于大小比例618的特征向量604和612以及分别与对应于大小比例616的特征向量602和610相关联。大小比例620可对应于图像600和608的全分辨率版本(例如,每幅图像1879200像素),大小比例618可对应于图像600和608的半分辨率版本(例如,每幅图像939600像素),并且大小比例616可对应于图像600和608的四分之一分辨率版本(例如,每个图像469800像素)。因此,如图6中对应块的相对大小所示,特征向量604可以包括特征向量606的一半数量,并且特征向量602可以包括特征向量606的四分之一数量。其他大小比例是可能的。
[0110]
光流系统640可以配置成以金字塔的方式处理图像600和608的特征向量,从最低分辨率大小比例616开始,一直到全分辨率大小比例620。具体地,代价体400可被配置为基于特征向量602和610来生成代价体434。在对应于大小比例618和620的后续迭代中,图像608的特征向量可以由特征扭曲模型622基于先前确定的光流扭曲。在对应于大小比例616的第一次迭代期间,特征向量610可能不会扭曲,因为先前确定的光流可能不可用。
[0111]
光流模型624可被配置为基于代价体434来确定光流626。光流626可针对图像600的多个像素的每个相应像素指示相应像素相对于图像608被移位的方向和幅度。因此,光流626可以包括指示图像600的像素在图像600和图像608之间的明显移动的流场。光流模型624可表示像素对应匹配模型436的示例实施方式,和/或可以包括像素对应匹配模型436作为其组件。光流上采样模型628可被配置为基于光流626生成上采样光流630。具体地,上采样光流630可对应于下一更高大小比例,即大小比例618。
[0112]
特征扭曲模型622可被配置为基于上采样光流630扭曲与大小比例618相对应的特征向量612,上采样光流630是基于大小比例616处的特征向量602和610确定的。因此,大小
比例616处确定的大尺度流可由特征扭曲模型622在大小比例618处说明,允许在大小比例618处的处理集中于较小尺度的流。因此,在对应于大小比例618的第二次迭代中,代价体模型400可配置为基于特征向量604和扭曲特征向量612生成代价体434。光流模型624可配置为基于代价体434和基于大小比例616确定的上采样光流630来确定光流626,因此,考虑来自尺度616的大尺度流和来自尺度618的小尺度流。光流上采样模型628可被配置为基于尺度618处的光流626生成上采样光流630。
[0113]
特征扭曲模型622可被配置为基于对应于大小比例618的上采样光流630扭曲对应于大小比例620的特征向量614。扭曲的特征向量614和特征向量606可由代价体模型400处理以生成大小比例620的代价体434,并且光流模型624可以基于对应于大小比例620的代价体434和来自大小比例618的上采样光流630生成光流626。由于大小比例620处的光流626可对应于图像600和608的全分辨率,因此光流626可以不再被上采样。
[0114]
通过使用包括可训练核矩阵428的代价体模型400,而不是依赖于欧几里德内积的代价体模型,可以提高由光流系统640生成的光流场的精度。因此,通过提高光流场的精度,代价体模型400还可以提高利用所确定的光流场的其他下游任务(诸如视频插值、视频预测、视频分割和/或动作识别等)的输出的质量。代价体模型400可以附加地或替代地用作确定两个或更多个图像之间的像素对应的其他系统的一部分,诸如用于基于立体图像确定深度图像的目的。在一些情况下,这些其他系统可以使用类似于光流系统640的金字塔结构。
[0115]
在一些实施方式中,代价体模型400可以包括针对每个大小比例的对应核矩阵。因此,代价体模型400可以包括对应于大小比例616的第一核矩阵、对应于大小比例618的第二核矩阵和对应于大小比例620的第三核矩阵。如上文所述,第一、第二和第三核矩阵中的每一个都可使用对应的正交矩阵和对角矩阵训练。
[0116]
在光流系统640中包括代价体模型400可以增加光流系统640的大小,增加的量取决于核矩阵的数量和大小。例如,两个64
×
64核矩阵和三个128
×
128核矩阵可以向光流系统640的大小添加2(642)+3(1282)=57,344参数,这可以构成相对较小的增加。没有代价体模型400的光流系统640的示例实施方式可以包括约4100万个参数,这意味着代价体模型400的添加将光流系统640的大小增加不到2%。
[0117]
vi.示例操作
[0118]
图7示出了与基于可学习/可训练的代价体来确定两个图像之间的像素对应相关的操作的流程图。这些操作可以由其他可能类型的设备或设备子系统当中的计算系统100、计算设备200、代价体模型400、像素对应匹配模型436和/或光流系统640中的一个或多个来执行。图7的示例可以通过移除其中所示的特征中的任何一个或多个来简化。此外,这些示例可以与任何先前附图的特征、方面和/或实施方式相结合,或者以其他方式在本文中描述。
[0119]
块700可以涉及获得(i)与第一图像相关联的第一多个特征向量和(ii)与第二图像相关联的第二多个特征向量。
[0120]
块702可以涉及通过由训练为定义椭圆内积空间的核矩阵变换第一多个特征向量的每个相应特征向量来生成多个变换特征向量。
[0121]
块704可以涉及通过为多个变换特征向量的每个相应变换特征向量确定多个内积来生成代价体。多个内积的每个相应内积可以在对应变换特征向量和第二多个特征向量的
对应子集的对应候选特征向量之间。
[0122]
块706可以涉及基于代价体确定第一图像和第二图像之间的像素对应。
[0123]
在一些示例中,核矩阵可以是对称和正定的。
[0124]
在一些示例中,可以基于(i)包括多个正对角线值的对角矩阵和(ii)正交矩阵的乘积来定义核矩阵。
[0125]
在一些示例中,可以通过确定(i)对角矩阵的转置和正交矩阵之间的第一乘积,以及(ii)第一乘积和对角矩阵之间的第二乘积来经由特征分解定义核矩阵。
[0126]
在一些示例中,对角矩阵的多个正对角线值的每个正对角线值可以包括应用于第一多个特征向量的每个相应特征向量的对应维度的相应权重。正交矩阵可以被配置为对第一多个特征向量的每个相应特征向量应用旋转。
[0127]
在一些示例中,多个正对角线值的每个相应正对角线值可以表示为对应训练参数的函数。函数可以将(i)分配给对应训练参数的实数值映射到(ii)正实数值。核矩阵可以被训练为通过对每个相应正对角线值迭代地调整分配给对应训练参数的实数值来定义椭圆内积空间。
[0128]
在一些示例中,正交矩阵可以是特殊正交矩阵组的子集的元素。可以选择子集,使得该子集的矩阵的特征值排除负特征值。
[0129]
在一些示例中,子集的矩阵可以是连通的。正交矩阵可以使用克雷表示来表示为:(i)单位矩阵和训练矩阵之间的差,以及(ii)单位矩阵和训练矩阵之和的逆的乘积。训练矩阵可以是斜对称的。通过将训练矩阵初始化为单位矩阵并迭代调整训练矩阵的值,可以训练核矩阵来定义椭圆内积空间。
[0130]
在一些示例中,正交矩阵可以是包括多个方块正交矩阵的斯蒂费尔矩阵流形的元素。核矩阵可以被训练为通过黎曼梯度下降来定义椭圆内积空间,黎曼梯度下降包括确定梯度从斯蒂费尔矩阵流形到正交矩阵处的切线空间的投影,基于梯度投影调整正交矩阵的值,以及将正交矩阵的缩回确定为调整进入斯蒂费尔矩阵。
[0131]
在一些示例中,第一多个特征向量的每个相应特征向量可以与第一图像的对应像素相关联。第二多个特征向量中的每个相应特征向量可以与第二图像的对应像素相关联。
[0132]
在一些示例中,对于与位于第一图像内的特定像素位置处的对应像素相关联的相应变换特征向量,第二多个特征向量的对应子集可与位于第二图像内的包括特定像素位置的搜索窗口内的多个像素相关联。
[0133]
在一些示例中,第一图像和第二图像可以各自表示环境。确定第一图像和第二图像之间的像素对应可以包括基于代价体并且对于第一图像中的多个像素中的每个相应像素,确定第二图像中的对应像素,该第二图像中的对应像素被确定为表示与相应像素相同的环境部分。
[0134]
在一些示例中,第一图像可以表示第一时间的环境,第二图像可以表示第二时间的环境。确定第一图像和第二图像之间的像素对应可以包括由一个或多个机器学习模型,基于代价体确定第一图像和第二图像之间的光流。
[0135]
在一些示例中,第一图像和第二图像可以是环境的立体图像。确定第一图像和第二图像之间的像素对应可以包括由一个或多个机器学习模型,基于代价体确定深度图像。
[0136]
在一些示例中,获取第一多个特征向量和第二多个特征向量可以包括由一个或多
个机器学习模型处理第一图像来生成第一多个特征向量,以及由一个或多个机器学习模型处理第二图像来生成第二多个特征向量模型。
[0137]
在一些示例中,第一多个特征向量和第二多个特征向量可对应于第一大小比例的第一图像和第二图像。可以获得与第一图像相关联的第三多个特征向量和与第二图像相关联的第四多个特征向量。第三多个特征向量和第四多个特征向量可以对应于第二大小比例的第一图像和第二图像。第二大小比例可以大于第一大小比例。第四多个特征向量可以基于第一大小比例的第一图像和第二图像之间的像素对应而扭曲。第二多个变换特征向量可以通过核矩阵变换第三多个特征向量中的每个特征向量来生成。第二代价体可以通过为第二多个变换特征向量的每个变换特征向量确定第二多个内积来生成。第二多个内积的每个相应内积可以在第二多个变换特征向量的相应变换特征向量和扭曲后的第四多个特征向量的对应子集的对应候选特征向量之间。基于第二代价体,可以确定第二大小比例的第一图像和第二图像之间的第二像素对应。
[0138]
vii.示例操作
[0139]
图8a和8b示出了针对常用基准数据集执行的各种光流模型/方法的测试结果。具体地,图8a示出了针对sintel基准数据集(包括干净通过部分和最终通过部分)和kitti 2015基准数据集执行的各种监督模型/方法的测试结果。由丹尼尔j.巴特勒、乔纳斯
·
伍尔夫、加勒特b.斯坦利和迈克尔j.布莱克撰写并由2012年欧洲计算机视觉会议出版的题为“a naturalistic open source movie for optical flow evaluation”的论文中提供了sintel基准数据集的更多细节。kitti 2015基准数据集的附加细节,在题为“are we ready for autonomous driving?the kitti vision benchmark suite”的论文中提供,该论文由安德烈亚斯盖格、菲利普
·
兰兹和拉克尔
·
阿图森撰写,并在2012年计算机视觉和模式识别大会上发表。
[0140]
图8b示出了针对kitti 2015基准数据集执行的各种无监督模型的测试结果。两个基准数据集都包括训练子集(可保留用于模型训练)和测试子集(可保留用于模型测试)。在图8a和8b中的每一个中,关于每个度量的最佳表现模型的结果由对应表格单元的深色图案表示。
[0141]
图8a所示的监督模型包括flownet2、dcflow、mirrorflow、spynet、liteflownet、pwc net、pwc net+、irr-pwc、hd3和vcn,每种模型在对应的已发表论文中都有详细说明。例如,vcn模型的细节在题为“volumetric correspondence networks for optical flow”的论文中提供,该论文由gengshan yang和deva ramanan撰写,并由2019年神经信息处理系统会议发布。在模型名称后添加
“‑
ft”指示该模型的版本在sintel和/或kitti 2015基准数据集上进行了附加的“微调”训练。除非另有说明,图8a中报告的数字表示平均端点误差(aepe),它测量所有图像像素上的估计光流和真值光流之间的每像素差的平均值。“fl-all”表示所有真值像素(例如背景和前景像素)上平均的异常值百分比(例如,》5%的端点误差)。“(-)”指示特定测试结果不可用。
[0142]
图8a中报告的模型中的每一个都使用欧几里德代价体模型或另一个预定的(例如,不可学习或不可训练的)代价体模型。因此,这些监督光流模型中的每一个中的代价体模型可以被可训练/可学习的代价体模型400代替,以改进监督光流模型的性能。因此,图8a的最底行对应于与代价体模型400配对的vcn模型(即vcn+lcv)。在七个测试中的四个测试
(即sintel最终测试和所有kitti 2015测试)中,vcn+lcv得分高于所有其他报告的监督光流模型。此外,从最下面一行与上面一行的比较可以看出,向vcn光流模型添加代价体模型400改进了vcn光流模型关于除sintel clean测试之外的所有测试的性能。
[0143]
图8b中所示的无监督模型包括dstflow、geonet、unflow、df net、occawareflow、back2futureflow、selflow和ddflow,每种模型在对应已发表论文中都有详细说明。aepe和fl所有度量与上述定义相同。“fl-bg”指示背景真值像素上平均的异常值百分比(例如,》5%的端点误差)。“fl-fg”指示前景真值像素上平均的异常值百分比(例如,》5%的端点误差)。
[0144]
图8b中报告的模型中的每一个都使用欧几里德代价体模型或另一个预定的(例如,不可学习或不可训练的)代价体模型。因此,这些无监督光流模型中的每一个中的代价体模型可以被可训练/可学习的代价体模型400代替,以改进无监督光流模型的性能。因此,图8b的最底行对应于与代价体模型400配对的ddflow模型(即ddflow+lcv)。在四个度量中的两个度量(即kitti 2015测试fl-fg和fl-all)中,ddflow+lcv得分高于所有其他报告的无监督光流模型,包括作为ddflow的改进版本的selflow。此外,从最下面的行与上面的行的比较可以看出,将代价体模型400添加到ddflow光流模型改进了ddflow光流模型相对于所有度量的性能。
[0145]
将代价体模型400添加到任何其他报告的监督和/或无监督光流模型中可以进一步改进这些光流模型的性能。例如,代价体模型400可允许光流模型在变化的照明条件下、在存在噪声(例如,自然或人为添加的噪声)时和存在人为添加的对抗性补丁的情况下更稳健地操作。在一些实施方式中,代价体模型400的未经训练的版本(例如,其中核矩阵w被初始化为单位矩阵)可被添加到光流模型的预先训练的实施方式中。代价体模型400和预先训练的光流模型随后可接受进一步训练以微调代价体模型400以与光流模型协作。这种进一步的训练可导致对代价体模型400和/或预训练的光流模型的修改,从而导致比在没有代价体模型400的情况下操作的未修改的预训练的光流模型确定更精确的光流场的系统。
[0146]
viii.结论
[0147]
本公开不限于本技术中描述的特定示例,这些示例旨在作为各个方面的图示。可以在不脱离其范围的情况下进行许多修改和改变,这对于本领域技术人员是显而易见的。除了本文所描述的那些方法和装置之外,本领域技术人员将从前述描述中清楚地看到本公开范围内的功能等效的方法和装置。这些修改和变化意在落入所附权利要求的范围内。
[0148]
以上详细描述参照附图描述所公开的系统、设备和方法的各种特征和操作。在附图中,除非上下文另有规定,否则相似的符号通常标识相似的组件。本文和附图中描述的示例并不意味着限制。在不脱离本文所呈现的主题的范围的情况下,可以利用其他示例,并且可以进行其他改变。将容易理解,如本文一般描述并在附图中示出的,本公开的方面可以以多种不同配置来布置、替换、组合、分离和设计。
[0149]
关于图中和本文所讨论的任何或所有消息流程图、场景和流程图,每个步骤、块和/或通信可以表示根据示例的信息处理和/或信息传输。在这些示例的范围内包括了替代示例。在这些替代示例中,例如,根据所涉及的功能性,可以按照与所示或所讨论的不同的顺序执行被描述为步骤、块、传输、通信、请求、响应和/或消息的操作,包括基本上并发地或以相反的顺序执行。此外,更多或更少的块和/或操作可以与本文讨论的任何消息流程图、
场景和流程图一起使用,并且这些消息流程图、场景和流程图可以部分或全部彼此组合。
[0150]
表示信息处理的步骤或块可对应于可被配置为执行本文所述方法或技术的特定逻辑功能的电路。替代地或者附加地,表示信息处理的块可以对应于模块、段或程序代码的一部分(包括相关数据)。程序代码可以包括可由处理器执行的一个或多个指令,用于实施该方法或技术中的特定逻辑操作或动作。程序代码和/或相关数据可以存储在任何类型的计算机可读介质(诸如包括随机存取存储器(ram)的存储设备、磁盘驱动器、固态驱动器或另一存储介质)上。
[0151]
计算机可读介质还可以包括非暂时性计算机可读介质,诸如短时间存储数据的计算机可读介质,例如寄存器存储器、处理器高速缓存和ram。计算机可读介质还可以包括存储程序代码和/或数据更长时间段的非暂时性计算机可读介质。因此,计算机可读介质可以包括例如诸如只读存储器(rom)、光盘或磁盘、固态驱动器、光盘只读存储器(cd-rom)之类的辅助或持久长期存储器。计算机可读介质还可以是任何其他易失性或非易失性存储系统。计算机可读介质可被视为计算机可读存储介质,例如,或有形存储设备。
[0152]
此外,表示一个或多个信息传输的步骤或块可对应于同一物理设备中的软件和/或硬件模块之间的信息传输。然而,其他信息传输可以在不同物理设备中的软件模块和/或硬件模块之间进行。
[0153]
图中所示的具体安排不应被视为限制性的。应当理解,其他示例可以包括更多或更少给定图中所示的每个元素。此外,所示的一些元素可以被组合或省略。此外,示例可以包括图中未示出的元素。
[0154]
虽然本文中已经公开了各种方面和示例,但是其他方面和示例对于本领域技术人员将是明显的。本文所公开的各个方面和示例是为了说明的目的,并不意在限制,真正的范围由以下权利要求指示。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1