CN117651973A - 自监督单目深度估计中的部分监督 - Google Patents
自监督单目深度估计中的部分监督 Download PDFInfo
- Publication number
- CN117651973A CN117651973A CN202280048503.9A CN202280048503A CN117651973A CN 117651973 A CN117651973 A CN 117651973A CN 202280048503 A CN202280048503 A CN 202280048503A CN 117651973 A CN117651973 A CN 117651973A
- Authority
- CN
- China
- Prior art keywords
- depth
- image frame
- input image
- estimated
- loss
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 118
- 230000006870 function Effects 0.000 claims description 105
- 238000012545 processing Methods 0.000 claims description 57
- 230000015654 memory Effects 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 6
- 238000007670 refining Methods 0.000 claims description 5
- 230000015556 catabolic process Effects 0.000 claims description 4
- 238000006731 degradation reaction Methods 0.000 claims description 4
- 238000010801 machine learning Methods 0.000 abstract description 16
- 238000012549 training Methods 0.000 description 32
- 238000013528 artificial neural network Methods 0.000 description 9
- 230000003068 static effect Effects 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 7
- 238000003786 synthesis reaction Methods 0.000 description 7
- 230000033001 locomotion Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000007637 random forest analysis Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 210000004556 brain Anatomy 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000001429 visible spectrum Methods 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本公开的某些方面提供了用于机器学习的技术。基于输入图像帧来生成来自深度模型的深度输出。基于该深度输出以及该输入图像帧的经估计真值来确定该深度模型的深度损失,该经估计真值包括该输入图像帧的像素集合的经估计深度。至少部分地基于该深度损失来确定该深度模型的总损失。基于该总损失来更新该深度模型,并且输出使用经更新的深度模型生成的新深度输出。
Description
相关申请的交叉引用
本申请要求于2022年7月13日提交的美国专利申请No.17/812,340的优先权,该美国专利申请要求于2021年7月14日提交的美国临时专利申请No.63/221,856的权益和优先权,这些申请中的每一者的全部内容通过援引整体纳入于此。
引言
本公开的各方面涉及机器学习。
机器学习已经彻底改变了计算机视觉的许多方面。然而,估计图像数据中对象的深度仍然是一项具有挑战性的计算机视觉任务,其涉及许多有用的目的。例如,基于计算机生成的图像数据的深度估计在自主和半自主系统(诸如自动驾驶汽车和半自主无人机)中有助于对环境进行感知和导航并估计状态。
用于深度估计的训练机器学习模型通常使用监督式机器学习技术来执行,这些监督式机器学习技术需要大量完备的训练数据(例如,在图像数据的像素级具有准确距离标签的训练数据)。遗憾的是,在许多现实世界的应用中,这样的数据通常不容易获得,并且很难获取。因此,在许多情况下,即使在实践中不是不可能,也很难训练用于深度估计的高性能模型。
相应地,存在对用于深度估计的改进的机器学习技术的需要。
简要概述
某些方面提供了一种方法,该方法包括:基于输入图像帧来生成来自深度模型的深度输出;基于该深度输出以及该输入图像帧的部分估计的真值来确定该深度模型的深度损失,该部分估计的真值仅包括该输入图像帧的多个像素的子集的经估计深度;使用多分量损失函数来确定该深度模型的总损失,其中该多分量损失函数的至少一个分量是该深度损失;以及基于该总损失来更新该深度模型。
某些方面提供了一种方法,该方法包括:基于输入图像帧来生成来自深度模型的深度输出;基于该深度输出以及该输入图像帧的经估计真值来确定该深度模型的深度损失,该经估计真值包括该输入图像帧的像素集合的经估计深度;至少部分地基于该深度损失来确定该深度模型的总损失;基于该总损失来更新该深度模型;以及输出使用经更新的深度模型生成的新深度输出。
其他方面提供了:处理系统,其被配置成执行前述方法以及本文中所描述的那些方法;非瞬态计算机可读介质,其包括在由处理系统的一个或多个处理器执行时使该处理系统执行前述方法以及本文中所描述的那些方法的指令;计算机程序产品,其被实施在计算机可读存储介质上,该计算机可读存储介质包括用于执行前述方法以及本文中进一步描述的那些方法的代码;以及处理系统,其包括用于执行前述方法以及本文中进一步描述的那些方法的装置。
以下描述和相关附图详细阐述了一个或多个方面的某些解说性特征。
附图简述
附图描绘了该一个或多个方面中的某些方面,并且因此不被认为限制本公开的范围。
图1描绘了在深度图中产生“洞”的单目深度估计的示例。
图2描绘了用于自监督单目深度估计中的部分监督的示例训练架构。
图3描绘了表示正由主动深度感测系统跟踪的对象的示例限界多边形。
图4描绘了根据本公开的各方面的用于使用自监督单目深度估计中的部分监督的方法的示例。
图5描绘了被适配成执行本文中所公开的技术(诸如关于图4所描绘和描述的操作)的处理系统的示例。
为了促成理解,在可能之处使用了相同的附图标记来指定各附图共有的相同要素。构想了一个方面的要素和特征可有益地被纳入到其他方面中而无需进一步引述。
详细描述
本公开的各方面提供了用于执行自监督单目深度估计中的部分监督的装置、方法、处理系统和非瞬态计算机可读介质。
估计图像数据中的深度信息是计算机视觉应用中的一项重要任务,其可被用于同时定位和映射(SLAM)、导航、对象检测和语义分割等等。例如,深度估计对于避障是有用的(例如,用于无人机(半)自主飞行、汽车(半)自主或辅助驾驶、仓库机器人(半)自主操作、家用和其他机器人通常(半)自主移动、环境的3D构建、空间场景理解和其他示例)。
传统上,已经使用双目(或立体)图像传感器布置并且基于计算不同双目图像中的对应像素之间的视差来估计深度。例如,在简单情形中,可以如下计算对应点之间的深度d:其中b是图像传感器之间的基线距离,f是图像传感器的焦距,并且δ是点之间的视差,如每个图像中所描绘的。然而,在仅存在一个视角(诸如单个图像传感器)的情形中,不能使用传统的立体方法。此类情形可被称为单目深度估计。
也可使用基于直接深度感测的方法来提供深度信息。例如,可使用红、绿、蓝和深度(RGB-D)相机以及光检测和测距(LIDAR)传感器来直接估计深度。然而,RGB-D相机通常受害于有限的测量范围和强感光度,并且LIDAR通常只能生成稀疏的3D深度图,其分辨率比任何对应的图像数据都低得多。此外,此类感测系统的大尺寸和功耗使其不适合许多应用,诸如无人机、机器人以及甚至汽车。相比之下,单目图像传感器往往是低成本、小尺寸和低功率的,这使得此类传感器在各种各样的应用中是合乎期望的。
单目深度估计已证实在常规解决方案中具有挑战性,因为在此类场景中,既不能使用众所周知的双目深度估计算术,也不能使用直接感测。尽管如此,基于深度学习的方法已经被开发用于在单目上下文中执行深度估计。例如,已经开发了运动结构(SfM)技术,以基于分析特征如何跨一系列图像移动来确定单目图像数据中对象的深度。然而,使用SfM的深度估计在很大程度上依赖于图像序列之间的特征对应性和几何约束。换言之,使用SfM的深度估计的准确性在很大程度上依赖于确切的特征匹配和高质量的图像序列。
现有的单目深度估计技术(诸如SfM)的一个基本挑战是假设要估计深度的对象周围的世界和/或景物是静态的。事实上,景物中的对象也经常在移动,并且经常以不同的速度朝着不相关和不同的方向移动等等。例如,在自动驾驶上下文中,道路上的其他交通工具在独立于被辅助或自主驾驶系统跟踪的交通工具移动,并且因此景物的重要区段不是静止的。当被跟踪对象移动得靠近跟踪交通工具和/或以与跟踪交通工具相似的速度移动(这是高速公路驾驶场景中的普遍情况)时,这尤其成问题。
所感测环境违反常规深度估计模型的基本假设的后果是在深度估计数据中产生或出现所谓的“洞”,诸如深度感测图中的洞。虽然一些常规办法(诸如运动建模(其中被跟踪的场景和对象被单独建模)和可解释性掩模(其试图掩模掉与景物中的移动对象相关联的像素))已经尝试处理这些问题,但是每种办法都有很大的缺陷。例如,考虑到用于运动建模的(诸)损失函数的潜在复杂性,此类技术需要大量的训练帧/图像才能具有合理的准确度。即便如此,运动建模对于景物中的移动对象也表现得不好。类似地,可解释性掩模通常仅在已经在训练期间观察到类似场景的情况下才有效,并且对新场景不起作用,这在驾驶中很常见。
此外,与其他单目深度估计方法一样,SfM也受害于单目尺度模糊性,这是一个即使在对象的距离已知的情况下也无法确定其尺度的问题。因此,从单个图像获得密集的深度图仍然是本领域的重大挑战。
有益的是,本文中所描述的各方面消除了对经策划的大型真值数据集的需要,并改为依赖于经估计真值数据来使用自监督进行模型训练。这使得能够为更广泛的任务训练更广泛的模型,而不受现有数据集的限制。
此外,本文中所描述的各方面通过生成与景物中非静态的对象相关的附加监督信号来克服常规深度估计技术的局限性。这克服了常规方法(诸如SfM)的关键局限,这些常规方法假设场景中的对象是静态的,并且仅相对于动态观察者移动。因此,本文中所描述的方法克服了SfM和类似方法无法估计在图像序列上与观察者相比缺乏相对运动的对象的深度的趋势。例如,在第一交通工具以相同或相似的速度跟随第二交通工具的情况下,SfM可能无法预测第二交通工具的深度,因为它相对于观察者(这里是第一交通工具)是完全静止或几乎静止的,如关于图1中的示例所描述的。这对于各种各样的解决方案空间(诸如自动驾驶汽车)以及其他导航和类似用例(诸如无人机、机器人等)而言都是一个重要问题。尽管本文中所讨论的一些示例涉及对自动驾驶交通工具或其他移动对象的单目深度估计,但是本公开的各方面也可以容易地应用于静止成像。
最后,本文中所描述的一些方面可以有益地使用传感器融合来解决与常规单目深度估计技术相关联的尺度模糊性问题。
相应地,与常规技术相比,本文中所描述的方面提供了用于生成改进的单目深度估计模型的改进的训练技术。
示例单目深度图洞
图1描绘了在深度图中产生“洞”的单目深度估计的示例。具体而言,图像102描绘了观察者正在跟随交通工具106的驾驶场景。深度图104描绘了图像102中的场景中对象的经估计深度。
值得注意的是,交通工具106是辅助驾驶系统(诸如主动巡航控制系统和其他导航辅助设备)的明显感兴趣的对象。然而,深度图104具有(使用所解说的示例中的圆来指示的)与交通工具106的位置相对应的“洞”108。这是因为交通工具106正在以与观察方(或“自我”)交通工具几乎相同的速度移动,并因此违反了静态景物的假设。与图像102中的天空105非常相似,交通工具106在深度图104中看起来相距不确定的距离。
用于自监督单目深度估计中的部分监督的示例训练架构
图2描绘了用于自监督单目深度估计中的部分监督的示例训练架构200。
最初,时间t处的图像数据的主题帧(It)202被提供给机器学习深度模型204,诸如单目深度估计人工神经网络模型(在一些示例中称为“DepthNet”)。深度模型204对图像数据进行处理,并生成经估计深度输出206。经估计深度输出206可以采取不同的形式,诸如直接指示每个像素的经估计深度的深度图、或指示像素之间的视差的视差图。如以上所讨论的,深度和视差是相关的,并且可以按比例相互推导。
经估计深度输出206被提供给深度梯度损失函数208,其基于例如深度输出的“平滑度”来确定损失。在一个方面,深度输出的平滑度可通过整个图像上的毗邻像素之间的梯度(或平均梯度)来测量。例如,具有很少对象的简单场景的图像可以具有非常平滑的深度图,而具有许多对象的复杂场景的图像可能具有不太平滑的深度图,因为毗邻像素的深度之间的梯度频繁且显著地变化以反映许多对象。
深度梯度损失函数208向最终损失函数205提供深度梯度损失分量。尽管图中未描绘出,但是深度梯度损失分量可以与最终损失函数205中的超参数(例如,权重)相关联,该超参数改变深度梯度损失对最终损失函数205的影响。
经估计深度输出206还被提供为对视图合成函数218的输入。视图合成函数218进一步取一个或多个上下文帧(Is)216以及来自姿态估计函数220的姿态估计作为输入,并生成经重构主题帧222。例如,视图合成函数218可基于来自姿态估计函数220的姿态投影并且使用深度输出206来执行插值,诸如双线性插值。
上下文帧216一般可包括靠近主题帧202的帧。例如,上下文帧216可以是在主题帧202任一侧的某个数目的帧或时步,诸如t+/-1(毗邻帧)、t+/-2(非毗邻帧)等。尽管这些示例是关于主题帧202对称的,但上下文帧216可以是非对称定位的,诸如t–1和t+3。
姿态估计函数220通常被配置成执行姿态估计,这可包括逐帧确定投影。姿态估计函数220可以使用任何合适的技术或操作来生成姿态估计(诸如使用经训练的机器学习模型(例如,姿态网络))。在一方面,姿态估计(在一些方面亦称为相对姿态或相对姿态估计)通常指示对象相对于成像传感器(例如,相对于自我交通工具)的(预测)姿态。例如,相对姿态可指示对象相对于自我交通工具的推断位置和取向(或成像传感器相对于一个或多个对象的位置和取向)。
经重构主题帧222可通过光度损失函数224与主题帧202进行比较,以生成光度损失,该光度损失是最终损失函数205的另一分量。如以上所讨论的,尽管图中未描绘出,但是光度损失分量可以与最终损失函数205中的超参数(例如,权重)相关联,该超参数改变光度损失对最终损失函数205的影响。
经估计深度输出206被附加地提供给深度监督损失函数212,其取主题帧202的由深度真值估计函数210生成的经估计深度真值作为进一步输入,以便生成深度监督损失。在一些方面,深度监督损失函数212仅具有或使用主题帧202中的场景的一部分的经估计深度真值,因此该步骤可被称为“部分监督”。换言之,当深度模型204为主题帧202中的每个像素提供深度输出时,深度真值估计函数210可以仅提供主题帧202中的像素子集的经估计真值。
深度真值估计函数210可通过各种不同的方法来生成经估计深度真值。在一个方面,深度真值估计函数210包括传感器融合函数(或模块),其使用一个或多个传感器来直接从与主题帧202的全部或一部分相对应的场景/环境感测深度信息。例如,图3描绘了图像300,其具有表示正被主动深度感测系统(诸如LIDAR和/或雷达)跟踪的对象的限界多边形302和304(在该示例中为限界方块(或“框”))。附加地,图3描绘了可由相机传感器(例如,使用计算机视觉技术)确定的其他特征,诸如街道/车道线或标记306A和306B。因此,在该示例中,来自图像传感器以及其他传感器(诸如LIDAR和雷达)的数据被融合了。
在一些方面,限界多边形的中心(例如,由限界多边形302的点308处的十字线指示)可被用作经估计深度信息的参考。例如,在简单情形中,限界多边形之内的所有像素都可被估计为与中心像素相同的深度值。由于这是近似,因此由深度监督损失函数212生成的损失项与构造最终损失函数205的其他项相比可以具有相对较小的权重。
在另一示例中,可使用用于估计限界多边形内的深度的更复杂的模型,诸如基于被确定为在限界多边形中的对象的3D模型来估计限界多边形中的每像素深度。例如,3D模型可以是一类型的交通工具,诸如轿车、小型卡车、大型卡车、SUV、牵引挂车等。因此,可参考3D模型以及(在一些情形中)基于3D模型的对象的经估计姿态来生成不同的像素深度。
在又一示例中,限界多边形中的像素的深度可基于与中心像素的距离(例如,限界多边形302(例如,限界方块)中的像素与点308处的中心像素的距离)来建模。例如,可以假设深度通过基于与中心像素的距离的高斯函数或使用其他函数来相关。
返回图2,由深度监督损失函数212生成的深度监督损失可以基于可解释性掩模函数214提供的可解释性掩模来被掩模(使用掩模操作215)。可解释性掩模的目的是限制深度监督损失对主题帧202中不具有可解释(例如,可估计)深度的那些像素的影响。
例如,如果经扭曲图像(经估计主题帧222)中的像素的重投影误差高于相同像素相对于原始(未扭曲的)上下文帧216的损失值,则主题帧202中的该像素可被标记为“不可解释的”。在该示例中,“扭曲”指由视图合成函数218执行的视图合成操作。换言之,如果对于经重构主题帧222中的给定像素,相对于原始主题帧202无法找到相关联的像素,则该给定像素在主题帧202中可能是全局非静态的(或者是对相机相对静态的),并且因此不能得到合理解释。
由深度监督损失函数212生成并通过由可解释性掩模函数214所产生的可解释性掩模进行修改/掩模的深度监督损失作为另一分量被提供给最终损失函数205。如上所述,尽管图中未描绘出,但是深度监督损失分量(来自掩模操作215的输出)可以与最终损失函数205中的超参数(例如,权重)相关联,该超参数改变深度监督损失对最终损失函数205的影响。
相应地,深度真值估计函数210、深度监督损失函数212和可解释性掩模函数214提供附加的(并且在某些情形中是部分的)监督信号,其允许改进自自监督单目深度估计模型(例如,深度模型204)的训练。
在一方面,由最终损失函数205生成的最终或总(多分量)损失(其可以是基于由深度梯度损失函数208生成的深度梯度损失、由深度监督损失函数212生成的(经掩模的)深度监督损失、和/或由光度损失函数224生成的光度损失)可被用来更新或精化深度模型204。例如,使用梯度下降和/或反向传播,深度模型204的一个或多个参数可以基于针对给定主题帧202所生成的总损失来精化或更新。
在各方面,可以针对一组主题帧202(例如,使用随机梯度下降以基于每个主题帧202来顺序地更新深度模型204的参数)和/或基于各批主题帧202(例如,使用批量梯度下降)来独立地和/或顺序地执行该更新。
使用训练架构200,深度模型204由此学习生成改进的且更准确的深度估计(例如,深度输出206)。在运行时推断期间,经训练的深度模型204可被用于生成输入主题帧202的深度输出206。该深度输出206随后可以用于各种目的,诸如自主驾驶和/或驾驶辅助,如以上所讨论的。在一些方面,在运行时,可以在不考虑或使用训练架构200的其他方面(诸如(诸)上下文帧216、视图合成函数218、姿态估计函数220、经重构主题帧222、光度损失函数224、深度梯度损失函数208、深度真值估计函数210、深度监督损失函数212、可解释性掩模函数214和/或最终损失函数205)的情况下使用深度模型204。
在至少一个方面,在运行时期间,可以持续地或重复地使用单目深度模型(例如,深度模型204)来处理输入帧。间歇性地,自监督训练架构200可被激活以精化或更新深度模型204。在一些方面,这种间歇性地使用训练架构200来更新深度模型204可以由各种事件或动态条件触发(诸如根据预定调度,和/或响应于性能劣化、异常环境或场景的存在、计算资源的可用性等)。
示例方法
图4描绘了根据本公开的各方面的用于使用自监督单目深度估计中的部分监督的方法400的示例。在一些示例中,这些操作由包括执行代码集以控制设备的功能元件的处理器的系统来执行。附加地或替换地,使用专用硬件来执行某些过程。一般而言,这些操作按照根据本公开的各方面所描述的方法和过程来执行。在一些情形中,本文中所描述的操作包括各种子步骤,或者结合其他操作来执行。在一些方面,图5的处理系统500可执行方法400。
在步骤405,该系统基于输入图像帧(例如,图2中的主题帧202)根据深度模型(例如,图2中的深度模型204)来生成深度输出。在一些情形中,该步骤的操作涉及如参考图5所描述的深度输出组件,或者可以由其执行。
在一些方面,深度输出包括输入图像帧中的多个像素的预测深度。在一些方面,深度输出包括输入图像帧中的多个像素的预测视差。
在步骤410,该系统基于该深度输出和(例如,如由图2的深度真值估计函数210提供的)该输入图像帧的部分估计的真值来确定该深度模型的深度损失(例如,通过图2的深度监督损失函数212),该部分估计的真值仅包括该输入图像帧的像素集合的子集的经估计深度。在一些情形中,该步骤的操作涉及如参考图5所描述的深度损失组件,或者可以由其执行。
在一些方面,在步骤410,该系统基于该深度输出和该输入图像帧的经估计真值来确定该深度模型的深度损失,该经估计真值包括该输入图像帧的像素集合的经估计深度。在一些方面,输入图像帧的经估计真值是部分估计的真值,其仅包括来自输入图像帧的多个像素中的像素集合的经估计深度,其中该多个像素包括未被包括在该像素集合中的至少一个像素。
在一些方面,方法400进一步包括使用一个或多个传感器来确定输入图像的部分估计的真值。在一些方面,一个或多个传感器包括以下一者或多者:相机传感器、LIDAR传感器或雷达传感器。在一些方面,输入图像的部分真值由定义输入图像中的多个像素的子集的限界多边形(例如,图3中的限界多边形302)来定义。在一些方面,部分真值包括输入图像的多个像素的子集中的每个像素的同一经估计深度。在一些方面,该同一经估计深度基于限界多边形的中心像素(例如,如由图3中的点308处的十字线指示的)。
在一些方面,方法400进一步包括基于输入图像帧中的在限界多边形内的对象的模型来确定该多个像素的子集的经估计深度,其中部分真值包括输入图像的该多个像素的子集中的不同像素的不同深度。
在一些方面,方法400进一步包括对深度损失应用掩模(诸如由图2的可解释性掩模函数214提供的掩模)以缩放深度损失。
在步骤415,该系统使用多分量损失函数(例如,图2中的最终损失函数205)来确定该深度模型的总损失,其中该多分量损失函数的至少一个分量是深度损失。在一些情形中,该步骤的操作涉及如参考图5所描述的训练组件,或者可以由其执行。
在一些方面,在步骤415,该系统至少部分地基于深度损失来确定深度模型的总损失。
在一些方面,方法400进一步包括基于深度输出来确定深度模型的深度梯度损失(例如,通过图2的深度梯度损失函数208),其中深度梯度所述是多分量损失函数(例如,图2中的最终损失函数205)的另一分量。
在一些方面,方法400进一步包括:基于深度输出、一个或多个上下文帧(例如,图2中的上下文帧216)以及(例如,如由图2中的姿态估计函数220产生的)姿态估计来生成经估计图像帧(例如,图2中的经重构主题帧222);以及基于经估计图像帧和输入图像帧来确定(例如,如由图2中的光度损失函数224产生的)深度模型的光度损失,其中光度损失是多分量损失函数(例如,图2中的最终损失函数205)的另一分量。
在一些方面,生成估计图像帧包括:基于一个或多个上下文帧(例如,图2中的上下文帧216)来对经估计图像帧进行插值。在一些方面,该插值包括双线性插值。在一些方面,方法400进一步包括利用与深度模型分开的姿态模型来生成姿态估计。
在步骤420,该系统基于总损失来更新深度模型。在一些情形中,该步骤的操作涉及如参考图5所描述的训练组件,或者可以由其执行。
在一些方面,深度模型包括神经网络模型。在一些方面,基于总损失来更新深度模型包括:对深度模型的一个或多个参数(诸如图5的模型参数584)执行梯度下降。
在一些方面,方法400进一步包括输出使用经更新的深度模型生成的新深度输出。
在一些方面,方法400进一步包括:通过使用深度模型对运行时输入图像帧进行处理来生成运行时深度输出;输出该运行时深度输出;以及响应于确定一个或多个触发准则被满足而对深度模型进行精化,对深度模型进行精化,包括:基于该运行时深度输出和该运行时输入图像帧的运行时估计的真值来确定深度模型的运行时深度,该运行时估计的真值包括该运行时输入图像帧的像素集合的经估计深度;至少部分地基于运行时深度损失来确定深度模型的运行时总损失;以及基于运行时总损失来更新深度模型。
在一些方面,一个或多个触发准则包括以下至少一者:针对再训练的预定调度;深度模型的性能劣化;或计算资源的可用性。
示例处理系统
图5描绘了包括可操作用于、被配置或被适配成执行用于本文中所公开的技术的操作(诸如关于图2和/或图4所描绘和描述的操作)的各个组件的通信系统500的示例。
处理系统500包括中央处理单元(CPU)505,其在一些示例中可以是多核CPU 505。在CPU 505处执行的指令可例如从与CPU 505相关联的程序存储器560加载或可从存储器560分区加载。
处理系统500还包括为特定功能定制的附加处理组件,诸如图形处理单元(GPU)510、数字信号处理器(DSP)515、神经处理单元(NPU)520、多媒体处理单元525和无线连通性530组件。
NPU 520诸如一般是被配置成用于实现用于执行机器学习算法(诸如用于处理人工神经网络(ANN)、深度神经网络(DNN)、随机森林(RF)、核方法等的算法)的所有必要的控制和算术逻辑的专用电路。NPU 520有时可被替换地称为神经信号处理器(NSP)、张量处理单元(TPU)、神经网络处理器(NNP)、智能处理单元(IPU)、或视觉处理单元(VPU)。
NPU 520诸如可被配置成加速常见机器学习任务(诸如图像分类、机器翻译、对象检测以及各种其他任务)的执行。在一些示例中,多个NPU 520可在单个芯片(诸如片上系统(SoC))上实例化,而在其他示例中,多个NPU 520可以是专用机器学习加速器设备的一部分。
NPU 520可被优化用于训练或推断,或者在一些情形中被配置成平衡两者之间的性能。对于能够执行训练和推断两者的NPU 520,这两个任务一般仍可独立地执行。
被设计成加速训练的NPU 520一般被配置成加速新模型的优化,这是涉及输入现有数据集(一般是被标记的或含标签的)、在数据集上进行迭代、并且随后调整模型参数584(诸如权重和偏置)以便提高模型性能的高度计算密集的操作。一般而言,基于错误预测进行优化涉及往回传递通过模型的各层并确定梯度以减少预测误差。
被设计成加速推断的NPU 520一般被配置成在完整模型上操作。此类NPU 520由此可被配置成:输入新的数据片段并通过已经训练的模型对其快速处理以生成模型输出(例如,推断)。
在一些方面,NPU 520可被实现为CPU 505、GPU 510和/或DSP 515中的一者或多者的一部分。
NPU 520是专门用于加速机器学习算法的微处理器。例如,NPU 520可在预测模型(诸如人工神经网络(ANN)或随机森林(RF))上操作。在一些情形中,NPU 520的设计方式使得其不适合于诸如由CPU 505执行的通用计算。附加地或替换地,对NPU 520的软件支持可以不被开发用于通用计算。
ANN是一种硬件或软件组件,其包括数个连通节点(即,人工神经元),这些节点宽松地对应于人脑中的神经元。每个连接或边会将信号从一个节点传送到另一节点(就像大脑中的物理突触一样)。当节点接收到信号时,它对该信号进行处理,并随后将经处理的信号传送到其他连通节点。在一些情形中,节点之间的信号包括实数,并且每个节点的输出通过其输入之和的函数来计算。每个节点和边与一个或多个节点权重相关联,这些节点权重确定如何处理和传送信号。在训练过程期间,调整这些权重以提高结果的准确性(即,通过最小化以某种方式对应于当前结果和目标结果之间的差的损失函数)。边的权重增大或减小在节点之间传送的信号的强度。在一些情形中,节点具有阈值,低于该阈值根本不传送信号。在一些示例中,节点被聚集成层。不同的层对其输入执行不同的变换。初始层被称为输入层,并且最后层被称为输出层。在一些情形中,信号多次穿过某些层。
卷积神经网络(CNN)是一类常用于计算机视觉或图像分类系统的神经网络。在一些情形中,CNN能以最小的预处理实现数字图像的处理。CNN可以通过使用卷积(或互相关)隐藏层来表征。这些层在向下一层发信号通知结果之前将卷积操作应用于输入。每个卷积节点可以处理有限输入场(即,感受野)的数据。在CNN的前向传递期间,可以在输入量上对每一层的滤波器进行卷积,从而计算出滤波器和输入之间的点积。在训练过程期间,可以修改滤波器,使得它们在检测到输入中的特定特征时激活。
监督式学习是三种基本的机器学习范式之一,与无监督学习和强化学习并列。监督式学习是一种基于示例输入-输出对来学习将输入映射到输出的函数的机器学习技术。监督式学习基于包括训练示例集的经标记训练数据来生成用于预测经标记数据的函数。在一些情形中,每个示例是由输入对象(通常是向量)和期望的输出值(即,单个值、或输出向量)组成的一对。监督式学习算法分析训练数据,并产生推断函数,该推断函数可被用于映射新示例。在一些情形中,该学习的结果是一个函数,它可以正确地确定未见过的实例的类标签。换言之,学习算法从训练数据推广到未见过的示例。
术语“损失函数”是指影响机器学习模型在监督式学习模型中如何训练的函数。具体而言,在每次训练迭代期间,将模型的输出与训练数据中的已知注释信息进行比较。损失函数提供预测的注释数据与实际注释数据的接近程度的值。在计算出损失函数之后,模型的参数被相应地更新,并且在下一迭代期间进行一组新的预测。
在一些方面,无线连通性530组件可包括例如用于第三代(3G)连通性、第四代(4G)连通性(例如,4G LTE)、第五代连通性(例如,5G或NR)、Wi-Fi连通性、蓝牙连通性、以及其他无线数据传输标准的子组件。无线连通性530处理组件进一步连接到一个或多个天线535。
处理系统500还可包括与任何方式的传感器相关联的一个或多个传感器处理单元、与任何方式的图像传感器相关联的一个或多个图像信号处理器(ISP 545)、和/或导航550处理器,该导航550处理器可包括基于卫星的定位系统组件(例如,GPS或GLONASS)以及惯性定位系统组件。
处理系统500还可包括一个或多个输入和/或输出设备,诸如屏幕、触敏表面(包括触敏显示器)、物理按钮、扬声器、话筒等等。
在一些示例中,处理系统500的一个或多个处理器可基于ARM或RISC-V指令集。
处理系统500还包括存储器560,存储器560代表一个或多个静态和/或动态存储器,诸如动态随机存取存储器560、基于闪存的静态存储器560等。在该示例中,存储器560包括计算机可执行组件,其可由处理系统500的前述组件中的一个或多个组件执行。
存储器560的示例包括随机存取存储器(RAM)、只读存储器(ROM)、或硬盘。存储器560的示例包括固态存储器和硬盘驱动器。在一些示例中,存储器560被用于存储包括指令的计算机可读、计算机可执行软件,这些指令在被执行时使得处理器执行本文中所描述的各种功能。在一些情形中,存储器560尤其包含基本输入/输出系统(BIOS),该BIOS可控制基本硬件或软件操作,诸如与外围组件或设备的交互。在一些情形中,存储器控制器操作存储器单元。例如,存储器控制器可包括行解码器、列解码器或两者。在一些情形中,存储器560内的存储器单元以逻辑状态的形式存储信息。
具体而言,在该示例中,存储器560包括模型参数584(例如,权重、偏置以及其他机器学习模型参数)。所描绘的组件以及其他未描绘的组件中的一者或多者可被配置成执行本文所描述的方法的各个方面。
一般而言,处理系统500和/或其组件可被配置成执行本文所描述的方法。
值得注意的是,在其他方面,处理系统500的各方面可被略去,诸如在处理系统500是服务器计算机等的情况下。例如,在其他方面,多媒体处理单元525、无线连通性530、传感器540、ISP 545和/或导航550组件可被略去。此外,处理系统500的各方面可以是分布式的。
注意,图5仅仅是一个示例,并且在其他示例中,可使用具有更多、更少、和/或不同组件的替换处理系统500。
在一个方面,处理系统500包括CPU 505、GPU 510、DSP 515、NPU 520、多媒体处理单元525、无线连通性530、天线535、传感器540、ISP 545、导航550、输入/输出555、以及存储器560。
在一些方面,传感器540可包括用于记录或捕获图像的光学仪器(例如,图像传感器、相机等),这些图像可被本地存储、传送到另一位置等。例如,图像传感器可使用一个或多个光敏元件来捕获视觉信息,这些光敏元件可以针对对电磁辐射可见光谱的敏感度被调谐。此类视觉信息的分辨率能以像素为单位进行测量,其中每个像素可与独立的捕获信息片段相关。在一些情形中,每个像素因此可对应于例如图像的二维(2D)傅立叶变换的一个分量。计算方法可使用像素信息来重构设备捕获的图像。在相机中,图像传感器可将入射在相机镜头上的光转换为模拟或数字信号。电子设备随后可基于数字信号来在显示面板上显示图像。图像传感器通常安装在诸如智能电话、平板个人计算机(PC)、膝上型PC和可穿戴设备等电子设备上。
在一些方面,传感器540可包括直接深度感测传感器,诸如雷达、LIDAR和其他深度感测传感器,如本文中所描述的。
输入/输出555(例如,I/O控制器)可管理设备的输入信号和输出信号。输入/输出555还可管理未集成到设备中的外围设备。在一些情形中,输入/输出555可表示至外部外围设备的物理连接或端口。在一些情形中,输入/输出555可利用操作系统。在其他情形中,输入/输出555可表示调制解调器、键盘、鼠标、触摸屏或类似设备或者与其交互。在一些情形中,输入/输出555可被实现为处理器(例如,CPU 505)的一部分。在一些情形中,用户可经由输入/输出555或经由输入/输出555所控制的硬件组件来与设备交互。
在一个方面,存储器560包括深度输出组件565、深度损失组件570、训练组件575、高度损失组件580、深度梯度损失组件582、模型参数584和推断组件586。
根据一些方面,深度输出组件565基于输入图像帧(例如,图2的主题帧202)使用深度模型(例如,图2的深度模型204)来生成深度输出(例如,图2的深度输出206)。在一些示例中,深度输出包括输入图像帧的像素集合的预测深度。在一些示例中,深度输出包括输入图像帧的像素集合的预测视差。
根据一些方面,深度损失组件570(其可对应于图2的深度监督损失函数212)基于深度输出和(例如,如由图2的深度真值估计函数210提供的)输入图像帧的部分估计的真值来确定深度模型的深度损失,该部分估计的真值仅包括输入图像帧的像素集合的子集的经估计深度。在一些示例中,深度损失组件570使用一个或多个传感器540来确定输入图像的部分估计的真值。在一些示例中,一个或多个传感器540包括以下一者或多者:相机传感器、LIDAR传感器或雷达传感器。
在一些示例中,输入图像的部分真值由定义输入图像中的像素集合的子集的限界多边形来定义。在一些示例中,部分真值包括输入图像的像素集合的子集中的每个像素的同一经估计深度。在一些示例中,该同一经估计深度基于该限界多边形的中心像素。
在一些示例中,深度损失组件570基于输入图像帧中的在限界多边形内的对象的模型来确定输入图像的像素集合的子集的经估计深度,其中部分真值包括该输入图像的像素集合的子集中的不同像素的不同深度。在一些示例中,深度损失组件570对深度损失应用掩模以缩放深度损失(例如使用图2的掩模操作215)。
根据一些方面,训练组件575使用多分量损失函数(例如,图2的最终损失函数205)来确定深度模型的总损失,其中该多分量损失函数的至少一个分量是深度损失。在一些示例中,训练组件575基于总损失来更新深度模型。在一些示例中,深度模型包括神经网络模型。在一些示例中,基于总损失来更新深度模型包括:对深度模型的一个或多个参数执行梯度下降。
在一些示例中,深度梯度损失组件582(其可对应于图2的深度梯度损失函数208)基于深度输出来确定深度模型的深度梯度损失,其中深度梯度损失是多分量损失函数的另一分量。
根据一些方面,光度损失组件580(其可对应于图2的视图合成函数218)和/或图2的光度损失函数224)基于深度输出、一个或多个上下文帧(例如,图2的上下文帧216)以及(例如,由图2的姿态估计函数220生成的)姿态估计来生成经估计图像帧。在一些示例中,光度损失组件580基于经估计图像帧和输入图像帧来确定深度模型的光度损失,其中光度损失是多分量损失函数的另一分量。在一些示例中,生成估计图像帧包括:基于一个或多个上下文帧对经估计图像帧进行插值。在一些示例中,该插值包括双线性插值。在一些示例中,光度损失组件580利用与深度模型分开的姿态模型来生成姿态估计。
根据一些方面,推断组件586生成推断,诸如基于输入图像数据的深度输出。在一些示例中,推断组件586可利用使用以上参考图2所描述的训练架构200进行了训练的模型和/或根据以上关于图4所描述的方法500进行了训练的模型来执行深度推断。
值得注意的是,图5仅仅是一个示例,且处理系统500的许多其他示例和配置是可能的。
示例条款
在以下经编号条款中描述了各实现示例:
条款1.一种方法,包括:基于输入图像帧来生成来自深度模型的深度输出;基于该深度输出以及该输入图像帧的部分估计的真值来确定该深度模型的深度损失,该部分估计的真值仅包括该输入图像帧的多个像素的子集的经估计深度;使用多分量损失函数来确定该深度模型的总损失,其中该多分量损失函数的至少一个分量是该深度损失;以及基于该总损失来更新该深度模型。
条款2.如条款1的方法,进一步包括使用一个或多个传感器来确定该输入图像帧的该部分估计的真值。
条款3.如条款2的方法,其中该一个或多个传感器包括以下一者或多者:相机传感器、LIDAR传感器或雷达传感器。
条款4.如条款2或3的方法,其中该输入图像帧的该部分估计的真值由定义该输入图像帧中的该多个像素的该子集的限界多边形来定义。
条款5.如条款2-4中任一者的方法,其中该部分估计的真值包括该输入图像帧的该多个像素的该子集中的每个像素的同一经估计深度。
条款6.如条款2-5中任一者的方法,其中该同一经估计深度基于该限界多边形的中心像素。
条款7.如条款4-6中任一者的方法,进一步包括基于该输入图像帧中的在该限界多边形内的对象的模型来确定该输入图像帧的该多个像素的该子集的经估计深度,其中该部分估计的真值包括该输入图像帧的该多个像素的该子集中的不同像素的不同深度。
条款8.如条款1-7中任一者的方法,进一步包括对该深度损失应用掩模以缩放该深度损失。
条款9.如条款1-8中任一者的方法,进一步包括基于该深度输出来确定该深度模型的深度梯度损失,其中该多分量损失函数进一步包括该深度梯度损失。
条款10.如条款1-9中任一者的方法,进一步包括基于该深度输出、一个或多个上下文帧以及姿态估计来生成经估计图像帧。一些示例进一步包括基于该经估计图像帧和该输入图像帧来确定该深度模型的光度损失,其中该多分量损失函数进一步包括该光度损失。
条款11.如条款10的方法,其中生成估计图像帧包括:基于该一个或多个上下文帧对经估计图像帧进行插值。
条款12.如条款11的方法,其中该插值包括双线性插值。
条款13.如条款10-12中任一者的方法,进一步包括:利用与该深度模型分开的姿态模型来生成该姿态估计。
条款14.如条款1-13中任一者的方法,其中该深度输出包括该输入图像帧的多个像素的预测深度。
条款15.如条款1-13中任一者的方法,其中该深度输出包括该输入图像帧的多个像素的预测视差。
条款16.如条款1-15中任一者的方法,其中该深度模型包括神经网络模型。
条款17.如条款1-16中任一者的方法,其中基于该总损失来更新该深度模型包括:对该深度模型的一个或多个参数执行梯度下降。
条款18.一种用于估计深度的方法,包括:使用根据权利要求1-17中任一者进行了训练的深度模型来估计单目图像的深度。
条款19:一种方法,包括:基于输入图像帧来生成来自深度模型的深度输出;基于该深度输出以及该输入图像帧的经估计真值来确定该深度模型的深度损失,该经估计真值包括该输入图像帧的像素集合的经估计深度;至少部分地基于该深度损失来确定该深度模型的总损失;基于该总损失来更新该深度模型;以及输出使用经更新的深度模型生成的新深度输出。
条款20:如条款19的方法,其中该输入图像帧的经估计真值是部分估计的真值,该部分估计的真值仅包括来自该输入图像帧的多个像素中的该像素集合的经估计深度,并且其中该多个像素包括未被包括在该像素集合中的至少一个像素。
条款21:如条款19或20中任一者的方法,进一步包括:使用一个或多个传感器来确定该输入图像帧的该部分估计的真值。
条款22:如条款19-21中任一者的方法,其中该一个或多个传感器包括以下一者或者:相机传感器、LIDAR传感器、或雷达传感器。
条款23:如条款19-22中任一者的方法,其中该输入图像帧的该部分估计的真值由定义该输入图像帧中的该像素集合的限界多边形来定义。
条款24:如条款19-23中任一者的方法,其中该部分估计的真值包括该输入图像帧的该像素集合中的每个像素的同一经估计深度,并且其中该同一经估计深度基于该限界多边形的中心像素。
条款25:如条款19-24中任一者的方法,进一步包括基于该输入图像帧中的在该限界多边形内的对象的模型来确定该输入图像帧的该像素集合的经估计深度,其中该部分估计的真值包括该输入图像帧的该像素集合的不同像素的不同深度。
条款26:如条款19-25中任一者的方法,进一步包括对该深度损失应用掩模以缩放该深度损失。
条款27:如条款19-26中任一者的方法,进一步包括基于该深度输出来确定该深度模型的深度梯度损失,其中该总损失是使用包括该深度损失和该深度梯度损失的多分量损失函数来确定的。
条款28:如条款19-27中任一项的方法,进一步包括:基于该深度输出、一个或多个上下文帧以及姿态估计来生成经估计图像帧;以及基于该经估计图像帧和该输入图像帧来确定该深度模型的光度损失,其中该总损失是使用包括该深度损失和该光度损失的多分量损失函数来确定的。
条款29:如条款19-28中任一者的方法,其中生成该经估计图像帧包括:基于该一个或多个上下文帧对该经估计图像帧进行插值,其中该插值包括双线性插值。
条款30:如条款19-29中任一者的方法,进一步包括利用与该深度模型分开的姿态模型来生成该姿态估计。
条款31:如条款19-30中任一者的方法,其中该深度输出包括该输入图像帧的多个像素的预测深度。
条款32:如条款19-31中任一者的方法,其中该深度输出包括该输入图像帧的多个像素的预测视差。
条款33:如条款19-32中任一者的方法,其中基于该总损失来更新该深度模型包括:对该深度模型的一个或多个参数执行梯度下降。
条款34:如条款19-33中任一项的方法,进一步包括:通过使用该深度模型对运行时输入图像帧进行处理来生成运行时深度输出;输出该运行时深度输出;以及响应于确定一个或多个触发准则被满足而对该深度模型进行精化,对该深度模型进行精化,包括:基于该运行时深度输出以及该运行时输入图像帧的运行时估计的真值来确定该深度模型的运行时深度损失,该运行时估计的真值包括该运行时输入图像帧的像素集合的经估计深度;至少部分地基于该运行时深度损失来确定该深度模型的运行时总损失;以及基于该运行时总损失来更新该深度模型。
条款35:如条款19-34中任一者的方法,其中该一个或多个触发准则包括以下至少一者:针对再训练的预定调度、该深度模型的性能劣化、或计算资源的可用性。
条款36:一种处理系统,包括用于执行根据条款1-35中任一者的方法的装置。
条款37:一种包括计算机可执行指令的非瞬态计算机可读介质,这些计算机可执行指令在由处理系统的一个或多个处理器执行时使该处理系统执行根据条款1-35中任一者的方法。
条款38:一种实施在计算机可读存储介质上的计算机程序产品,该计算机可读存储介质包括用于执行根据条款1-35中任一者的方法的代码。
条款39:一种处理系统,包括:包括计算机可执行指令的存储器;以及一个或多个处理器,该一个或多个处理器被配置成执行计算机可执行指令并使该处理系统执行根据条款1-35中任一者的方法。
附加考虑
提供先前描述是为了使本领域任何技术人员均能够实践本文中所描述的各个方面。本文中所讨论的示例并非是对权利要求中阐述的范围、适用性或者方面的限定。对这些方面的各种修改将容易为本领域技术人员所明白,并且在本文中所定义的普适原理可被应用于其他方面。例如,可对所讨论的要素的功能和布置作出改变而不会脱离本公开的范围。各种示例可恰适地省略、替代、或添加各种规程或组件。例如,可按与所描述的次序不同的次序来执行所描述的方法,并且可添加、省略、或组合各种步骤。而且,参照一些示例所描述的特征可在一些其他示例中被组合。例如,可使用本文中所阐述的任何数目的方面来实现装置或实践方法。另外,本公开的范围旨在覆盖使用作为本文中所阐述的本公开的各个方面的补充或者不同于本文中所阐述的本公开的各个方面的其他结构、功能性、或者结构及功能性来实践的此类装置或方法。应当理解,本文中所披露的本公开的任何方面可由权利要求的一个或多个元素来实施。
如本文所使用的,措辞“示例性”意指“用作示例、实例或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。
如本文中所使用的,引述一列项目“中的至少一者”的短语是指这些项目的任何组合,包括单个成员。作为示例,a、b、c、a-b、a-c、b-c、和a-b-c,以及具有多重相同元素的任何组合(例如,a-a、a-a-a、a-a-b、a-a-c、a-b-b、a-c-c、b-b、b-b-b、b-b-c、c-c、和c-c-c,或者a、b和c的任何其他排序)。
如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可包括演算、计算、处理、推导、研究、查找(例如,在表、数据库或另一数据结构中查找)、查明及类似动作。而且,“确定”可包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)及诸如此类。而且,“确定”可包括解析、选择、选取、建立及诸如此类。
本文中所公开的各方法包括用于实现方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动作的特定次序,否则具体步骤和/或动作的次序和/或使用可以改动而不会脱离权利要求的范围。此外,上述方法的各种操作可由能够执行相应功能的任何合适的装置来执行。这些装置可包括各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路(ASIC)、或处理器。一般地,在存在附图中解说的操作的场合,这些操作可具有带相似编号的相应配对装置加功能组件。
以下权利要求并非旨在被限定于本文中示出的各方面,而是应被授予与权利要求的语言相一致的全部范围。在权利要求内,对单数元素的引用不旨在意指“有且只有一个”(除非专门如此声明),而是“一个或多个”。除非特别另外声明,否则术语“一些/某个”指的是一个或多个。权利要求的任何要素都不应当在35U.S.C.§112(f)的规定下来解释,除非所述要素是使用短语“用于……的装置”来明确叙述的或者在方法权利要求情形中所述要素是使用短语“用于……的步骤”来叙述的。本公开通篇描述的各个方面的要素为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案通过引述被明确纳入于此,且旨在被权利要求所涵盖。此外,本文所公开的任何内容都不旨在捐献于公众,无论此类公开内容是否明确记载在权利要求书中。
Claims (30)
1.一种处理器实现的方法,包括:
基于输入图像帧来生成来自深度模型的深度输出;
基于所述深度输出以及所述输入图像帧的经估计真值来确定所述深度模型的深度损失,所述经估计真值包括所述输入图像帧的像素集合的经估计深度;
至少部分地基于所述深度损失来确定所述深度模型的总损失;
基于所述总损失来更新所述深度模型;以及
输出使用经更新的深度模型生成的新深度输出。
2.如权利要求1所述的处理器实现的方法,其中所述输入图像帧的所述经估计真值是部分估计的真值,所述部分估计的真值仅包括来自所述输入图像帧的多个像素中的所述像素集合的经估计深度,其中所述多个像素包括未被包括在所述像素集合中的至少一个像素。
3.如权利要求2所述的处理器实现的方法,进一步包括使用一个或多个传感器来确定所述输入图像帧的所述部分估计的真值。
4.如权利要求3所述的处理器实现的方法,其中所述一个或多个传感器包括以下一者或多者:相机传感器、LIDAR传感器、或雷达传感器。
5.如权利要求3所述的处理器实现的方法,其中所述输入图像帧的所述部分估计的真值是通过定义所述输入图像帧中的所述像素集合的限界多边形来定义的。
6.如权利要求5所述的处理器实现的方法,其中所述部分估计的真值包括所述输入图像帧的所述像素集合中的每个像素的同一经估计深度,并且其中所述同一经估计深度基于所述限界多边形的中心像素。
7.如权利要求5所述的处理器实现的方法,进一步包括:
基于所述输入图像帧中的在所述限界多边形内的对象的模型来确定所述输入图像帧的所述像素集合的所述经估计深度,
其中所述部分估计的真值包括所述输入图像帧的所述像素集合中的不同像素的不同深度。
8.如权利要求1所述的处理器实现的方法,进一步包括对所述深度损失应用掩模以缩放所述深度损失。
9.如权利要求1所述的处理器实现的方法,进一步包括:
基于所述深度输出来确定所述深度模型的深度梯度损失,
其中所述总损失是使用包括所述深度损失和所述深度梯度损失的多分量损失函数来确定的。
10.如权利要求1所述的处理器实现的方法,进一步包括:
基于所述深度输出、一个或多个上下文帧以及姿态估计来生成经估计图像帧;以及
基于所述经估计图像帧和所述输入图像帧来确定所述深度模型的光度损失,
其中所述总损失是使用包括所述深度损失和所述光度损失的多分量损失函数来确定的。
11.如权利要求10所述的处理器实现的方法,其中生成所述经估计图像帧包括:基于所述一个或多个上下文帧对所述经估计图像帧进行插值,并且其中所述插值包括双线性插值。
12.如权利要求10所述的处理器实现的方法,进一步包括利用与所述深度模型分开的姿态模型来生成所述姿态估计。
13.如权利要求1所述的处理器实现的方法,其中所述深度输出包括所述输入图像帧的多个像素的预测深度。
14.如权利要求1所述的处理器实现的方法,其中所述深度输出包括所述输入图像帧的多个像素的预测视差。
15.如权利要求1所述的处理器实现的方法,其中基于所述总损失来更新所述深度模型包括:对所述深度模型的一个或多个参数执行梯度下降。
16.如权利要求1所述的处理器实现的方法,进一步包括:
通过使用所述深度模型对运行时输入图像帧进行处理来生成运行时深度输出;
输出所述运行时深度输出;以及
响应于确定一个或多个触发准则被满足而对所述深度模型进行精化,对所述深度模型进行精化,包括:
基于所述运行时深度输出以及所述运行时输入图像帧的运行时估计的真值来确定所述深度模型的运行时深度损失,所述运行时估计的真值包括所述运行时输入图像帧的像素集合的经估计深度;
至少部分地基于所述运行时深度损失来确定所述深度模型的运行时总损失;以及
基于所述运行时总损失来更新所述深度模型。
17.如权利要求16所述的处理器实现的方法,其中所述一个或多个触发准则包括以下至少一者:
针对再训练的预定调度;
所述深度模型的性能劣化;或者
计算资源的可用性。
18.一种处理系统,包括:
包括计算机可执行指令的存储器;以及
一个或多个处理器,所述一个或多个处理器被配置成执行所述计算机可执行指令并使所述处理系统执行操作,所述操作包括:
基于输入图像帧来生成来自深度模型的深度输出;
基于所述深度输出以及所述输入图像帧的经估计真值来确定所述深度模型的深度损失,所述经估计真值包括所述输入图像帧的像素集合的经估计深度;
至少部分地基于所述深度损失来确定所述深度模型的总损失;
基于所述总损失来更新所述深度模型;以及
输出使用经更新的深度模型生成的新深度输出。
19.如权利要求18所述的处理系统,其中所述输入图像帧的所述经估计真值是部分估计的真值,所述部分估计的真值仅包括来自所述输入图像帧的多个像素中的所述像素集合的经估计深度,其中所述多个像素包括未被包括在所述像素集合中的至少一个像素,所述操作进一步包括使用一个或多个传感器来确定所述输入图像帧的所述部分估计的真值。
20.如权利要求19所述的处理系统,所述操作进一步包括:
基于所述输入图像帧中的对象的模型来确定所述输入图像帧的所述像素集合的所述经估计深度,
其中所述部分估计的真值包括所述输入图像帧的所述像素集合中的不同像素的不同深度。
21.如权利要求18所述的处理系统,所述操作进一步包括:
基于所述深度输出来确定所述深度模型的深度梯度损失,
其中所述总损失是使用包括所述深度损失和所述深度梯度损失的多分量损失函数来确定的。
22.如权利要求18所述的处理系统,所述操作进一步包括:
基于所述深度输出、一个或多个上下文帧以及姿态估计来生成经估计图像帧;以及
基于所述经估计图像帧和所述输入图像帧来确定所述深度模型的光度损失,
其中所述总损失是使用包括所述深度损失和所述光度损失的多分量损失函数来确定的。
23.如权利要求18所述的处理系统,所述操作进一步包括:
通过使用所述深度模型对运行时输入图像帧进行处理来生成运行时深度输出;
输出所述运行时深度输出;以及
响应于确定一个或多个触发准则被满足而对所述深度模型进行精化,对所述深度模型进行精化,包括:
基于所述运行时深度输出以及所述运行时输入图像帧的运行时估计的真值来确定所述深度模型的运行时深度损失,所述运行时估计的真值包括所述运行时输入图像帧的像素集合的经估计深度;
至少部分地基于所述运行时深度损失来确定所述深度模型的运行时总损失;以及
基于所述运行时总损失来更新所述深度模型。
24.一种包括计算机可执行指令的非瞬态计算机可读介质,所述计算机可执行指令在由处理系统的一个或多个处理器执行时使所述处理系统执行操作,所述操作包括:
基于输入图像帧来生成来自深度模型的深度输出;
基于所述深度输出以及所述输入图像帧的经估计真值来确定所述深度模型的深度损失,所述经估计真值包括所述输入图像帧的像素集合的经估计深度;
至少部分地基于所述深度损失来确定所述深度模型的总损失;
基于所述总损失来更新所述深度模型;以及
输出使用经更新的深度模型生成的新深度输出。
25.如权利要求24所述的非瞬态计算机可读介质,其中所述输入图像帧的所述经估计真值是部分估计的真值,所述部分估计的真值仅包括来自所述输入图像帧的多个像素中的所述像素集合的经估计深度,其中所述多个像素包括未被包括在所述像素集合中的至少一个像素,所述操作进一步包括使用一个或多个传感器来确定所述输入图像帧的所述部分估计的真值。
26.如权利要求25所述的非瞬态计算机可读介质,所述操作进一步包括:
基于所述输入图像帧中的对象的模型来确定所述输入图像帧的所述像素集合的所述经估计深度,
其中所述部分估计的真值包括所述输入图像帧的所述像素集合中的不同像素的不同深度。
27.如权利要求24所述的非瞬态计算机可读介质,所述操作进一步包括:
基于所述深度输出来确定所述深度模型的深度梯度损失,
其中所述总损失是使用包括所述深度损失和所述深度梯度损失的多分量损失函数来确定的。
28.如权利要求24所述的非瞬态计算机可读介质,所述操作进一步包括:
基于所述深度输出、一个或多个上下文帧以及姿态估计来生成经估计图像帧;以及
基于所述经估计图像帧和所述输入图像帧来确定所述深度模型的光度损失,
其中所述总损失是使用包括所述深度损失和所述光度损失的多分量损失函数来确定的。
29.如权利要求24所述的非瞬态计算机可读介质,所述操作进一步包括:
通过使用所述深度模型对运行时输入图像帧进行处理来生成运行时深度输出;
输出所述运行时深度输出;以及
响应于确定一个或多个触发准则被满足而对所述深度模型进行精化,对所述深度模型进行精化,包括:
基于所述运行时深度输出以及所述运行时输入图像帧的运行时估计的真值来确定所述深度模型的运行时深度损失,所述运行时估计的真值包括所述运行时输入图像帧的像素集合的经估计深度;
至少部分地基于所述运行时深度损失来确定所述深度模型的运行时总损失;以及
基于所述运行时总损失来更新所述深度模型。
30.一种处理系统,包括:
用于基于输入图像帧来生成来自深度模型的深度输出的装置;
用于基于所述深度输出以及所述输入图像帧的部分估计的真值来确定所述深度模型的深度损失的装置,所述部分估计的真值仅包括所述输入图像帧的多个像素的子集的经估计深度;
用于使用多分量损失函数来确定所述深度模型的总损失的装置,其中所述多分量损失函数的至少一个分量是所述深度损失;以及
用于基于所述总损失来更新所述深度模型的装置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/221,856 | 2021-07-14 | ||
US17/812,340 US20230023126A1 (en) | 2021-07-14 | 2022-07-13 | Partial supervision in self-supervised monocular depth estimation |
US17/812,340 | 2022-07-13 | ||
PCT/US2022/073713 WO2023288262A1 (en) | 2021-07-14 | 2022-07-14 | Partial supervision in self-supervised monocular depth estimation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117651973A true CN117651973A (zh) | 2024-03-05 |
Family
ID=90045587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280048503.9A Pending CN117651973A (zh) | 2021-07-14 | 2022-07-14 | 自监督单目深度估计中的部分监督 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117651973A (zh) |
-
2022
- 2022-07-14 CN CN202280048503.9A patent/CN117651973A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7254823B2 (ja) | 物体の検出および特徴付けのためのニューラルネットワーク | |
US11941873B2 (en) | Determining drivable free-space for autonomous vehicles | |
JP7050888B2 (ja) | イメージ深度予測ニューラルネットワーク | |
Dong et al. | Towards real-time monocular depth estimation for robotics: A survey | |
CN111133447B (zh) | 适于自主驾驶的对象检测和检测置信度的方法和系统 | |
Yang et al. | Fast depth prediction and obstacle avoidance on a monocular drone using probabilistic convolutional neural network | |
JP2023529766A (ja) | カメラマップおよび/またはレーダー情報を使用した物体サイズの推定 | |
Chen et al. | Milestones in autonomous driving and intelligent vehicles—part ii: Perception and planning | |
US20230136860A1 (en) | 3d surface structure estimation using neural networks for autonomous systems and applications | |
US11537819B1 (en) | Learned state covariances | |
US20230135088A1 (en) | 3d surface reconstruction with point cloud densification using deep neural networks for autonomous systems and applications | |
CN114022799A (zh) | 一种自监督单目深度估计方法和装置 | |
US20230136235A1 (en) | 3d surface reconstruction with point cloud densification using artificial intelligence for autonomous systems and applications | |
CN115273002A (zh) | 一种图像处理方法、装置、存储介质及计算机程序产品 | |
CA3160651A1 (en) | Spatio-temporal-interactive networks | |
WO2021006870A1 (en) | Vehicular autonomy-level functions | |
CN116048060A (zh) | 用于自主系统和应用的使用神经网络基于真实世界数据的3d表面结构估计 | |
US20230139772A1 (en) | 3d surface structure estimation using neural networks for autonomous systems and applications | |
US20230252658A1 (en) | Depth map completion in visual content using semantic and three-dimensional information | |
US20230023126A1 (en) | Partial supervision in self-supervised monocular depth estimation | |
JP2023066377A (ja) | 自律システム及びアプリケーションのための人工知能を使用した点群高密度化を有する3d表面再構成 | |
CN117651973A (zh) | 自监督单目深度估计中的部分监督 | |
Schennings | Deep convolutional neural networks for real-time single frame monocular depth estimation | |
Yi et al. | Real-time Estimation of Road Surfaces using Fast Monocular Depth Estimation and Normal Vector Clustering | |
US20240070892A1 (en) | Stereovision annotation tool |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |