CN111386550A - 图像深度和自我运动预测神经网络的无监督学习 - Google Patents

图像深度和自我运动预测神经网络的无监督学习 Download PDF

Info

Publication number
CN111386550A
CN111386550A CN201880074141.4A CN201880074141A CN111386550A CN 111386550 A CN111386550 A CN 111386550A CN 201880074141 A CN201880074141 A CN 201880074141A CN 111386550 A CN111386550 A CN 111386550A
Authority
CN
China
Prior art keywords
image
depth
neural network
images
camera
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
Application number
CN201880074141.4A
Other languages
English (en)
Inventor
A.安杰洛瓦
M.威克
R.马朱利安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN111386550A publication Critical patent/CN111386550A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/285Analysis of motion using a sequence of stereo image pairs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

一种***包括由一个或多个计算机实现的神经网络,其中神经网络包括图像深度预测神经网络和相机运动估计神经网络。神经网络被配置为接收图像序列。神经网络被配置为使用图像深度预测神经网络来处理图像序列中的每个图像,以为每个图像生成表征图像的深度的相应深度输出,并且使用相机运动估计神经网络来处理图像序列中的图像子集,以生成表征子集中的图像之间的相机的运动的相机的运动输出。已经使用无监督学习技术联合训练了图像深度预测神经网络和相机运动估计神经网络。

Description

图像深度和自我运动预测神经网络的无监督学习
相关申请的交叉引用
本申请要求2017年11月15日提交的序列号62/586,611的美国临时申请的优先权。在先申请的公开被视为本申请的公开的部分,并通过引用结合于本申请的公开中。
背景技术
本说明书涉及使用神经网络处理图像。
机器学习模型接收输入并基于接收到的输入生成输出,例如预测输出。一些机器学习模型是参数模型,并且基于接收到的输入和模型的参数值生成输出。
一些机器学习模型是深度模型,深度模型采用多层模型来为接收到的输入生成输出。例如,深度神经网络是深度机器学习模型,其包括输出层和一个或多个隐藏层,每个隐藏层对接收到的输入应用非线性变换以生成输出。
发明内容
一般,本说明书中描述的主题的一个创新方面可以体现在包括由一个或多个计算机实现的神经网络的***中。神经网络包括图像深度预测神经网络和相机运动估计神经网络。神经网络被配置为接收图像序列。神经网络被配置为使用图像深度预测神经网络来处理图像序列中的每个图像,以为每个图像生成(i)表征图像的深度的相应深度输出。神经网络被配置为使用相机运动估计神经网络来处理图像序列中的图像子集,以生成表征该子集中的图像之间的相机的运动的相机运动输出。已经使用无监督学习技术联合训练了图像深度预测神经网络和相机运动估计神经网络。
前述和其他实施例中的每个可选地包括单独的或组合的以下特征中一个或多个。图像序列可以是由相机捕获的视频帧。深度输出可以包括图像中多个像素的每个像素的估计深度值,该估计深度值表示在该像素处描绘的场景距图像的焦平面的相应距离。相机运动输出可以是变换矩阵,该变换矩阵将相机的位置和朝向从拍摄子集中的第一图像时的视点变换到拍摄子集中的第二图像时的视点。图像深度预测神经网络可以包括卷积神经网络层。相机运动估计神经网络可以包括卷积神经网络层。图像子集可以包括图像序列中的两个图像。图像子集可以包括图像序列中的三个或更多个图像。无监督学习技术可以包括下面描述的关于训练神经网络的方法的操作。
本说明书中描述的主题的另一创新方面可以体现在编码有指令的一个或多个计算机存储介质中,当指令由一个或多个计算机执行时,该指令使得一个或多个计算机实现上述***。
本说明书中描述的主题的另一创新方面可以体现在训练上述***的神经网络的方法中。该方法包括:获得包括图像序列的训练数据,并对图像序列中的每个特定图像执行以下操作。
对于序列中的每个特定图像,该方法包括使用图像深度预测神经网络处理该特定图像,以生成表征该特定图像的第一深度的第一深度估计;使用深度预测神经网络处理序列中特定图像之后的第二图像,以生成表征第二图像的第二深度的第二深度估计;使用相机运动估计神经网络处理特定图像和第二图像,以生成第一变换矩阵,该第一变换矩阵将相机的位置和朝向从拍摄特定图像时的视点变换到拍摄第二图像时的视点;以及基于第一深度估计、第二深度估计和第一变换矩阵,反向传播损失函数的梯度估计,以联合调整深度预测神经网络和相机运动估计神经网络的参数的当前值。
前述和其他实施例中的每个可选地包括单独的或组合的以下特征中的一个或多个。
损失函数可以包括基于3D的点云对准损失分量,其最小化从特定图像和第二图像生成的两个点云之间的点到点距离。
损失函数可以包括图像重构损失分量,其保持(i)特定图像和从第二图像生成的相应重构图像,以及(ii)第二图像和从第一图像生成的相应第二重构图像的光度(photometric)一致性。
损失函数可以包括结构化相似性损失分量,其保持(i)特定图像和重构图像中的块的相似性,以及(ii)第二图像和第二重构图像中的块的相似性。
损失函数还可以包括深度平滑性损失分量,其允许(i)在特定图像中存在急剧变化的像素坐标处的第一深度估计中的急剧变化,以及(ii)在第二图像中存在急剧变化的像素坐标处的第二深度估计中的急剧变化。
损失函数可以是损失函数的各个分量的加权组合。损失函数可以是以下分量中的一个或多个的加权组合:(i)基于3D的点云对准损失分量、(ii)图像重构损失分量、(iii)结构化相似性损失分量,以及(iv)深度平滑性损失分量。例如,损失函数可以是(i)基于3D的点云对准损失分量、(ii)图像重构损失分量、(iii)结构化相似性损失分量和(iv)深度平滑性损失分量的加权组合。
反向传播损失函数的梯度估计可以包括:通过重复地估计最佳拟合(best-fit)变换来计算基于3D的点云对准损失分量,该最佳拟合变换最小化第一点云中的点和它们在第二点云中的相应点之间的点到点距离。
反向传播损失函数的梯度估计可以包括通过(i)基于第一深度估计和第一变换矩阵,解析地计算指示第一重构图像中的有效像素坐标的有效性掩码(validity mask),以及(ii)基于第二深度估计和第一变换矩阵的逆,解析地计算指示第二重构图像中的有效像素坐标的第二有效性掩码,来计算重构损失分量。
在一些情况下,该方法可以包括使用小批量(mini-batch)随机优化来调整图像深度预测神经网络和相机运动估计神经网络的参数的当前值。在一些情况下,该方法可以包括使用随机梯度优化来调整图像深度预测神经网络和相机运动估计神经网络的参数的当前值。
训练图像序列可以是由相机捕获的视频帧。第二图像可以紧跟在图像序列中的特定图像之后。第一深度估计可以包括特定图像中多个像素的每个像素的估计深度值,该估计深度值表示在该像素处描绘的场景距特定图像的焦平面的相应距离。第二深度估计可以包括第二图像中多个像素的每个像素的估计深度值,该估计深度值表示在该像素处描绘的场景距第二图像的焦平面的相应距离。
本说明书中描述的主题可以在特定实施例中实现,以便实现以下优点中的一个或多个。本说明书中描述的主题一般针对一种训练方案,用于从图像序列中无监督地学习深度和相机运动(或自我运动),例如由机器人代理的相机捕获的视频帧(即单目(monocular)视频)。由于训练方案只需要很少的信息源用于训练(例如,由相机拍摄的单目视频),因此在大的和变化的数据集上训练图像深度和相机运动估计神经网络成为可能。考虑到相机是最普遍的可用传感器,并且高质量相机便宜且易于部署,训练方案在由相机以无监督方式拍摄的任意单目视频上训练神经网络的能力,即,不需要单目视频的任何外部标记,打开了实际上无限量的训练数据,并且因此消除了感测伪影(artifact)(例如,感测标记数据中存在的噪声/误差)或传感器间校准问题。换句话说,训练方法使得更多的数据能够用作训练数据,并且不需要在数量上可能受限的特定标记的深度数据。
尽管现有方法使用逐像素(pixel-wise)或基于梯度的损失,其仅考虑小局部邻域中的像素并导致质量恶化的预测,但是本说明书中描述的训练方案通过将基于3D的点云对准损失结合到训练损失函数中来考虑整个场景的3D几何形状。基于3D的损失会增强估计的3D点云和视频连续帧中的自我运动的一致性。
此外,该训练方案组合新颖的基于3D的损失和基于使用来自相邻帧的估计深度和自我运动的帧重构的光度质量的结构化相似性损失。
该训练方案还在图像重构损失中加入有效性掩码,以避免惩罚不存在有用信息的区域。先前的方法在损失中包括这样的区域,因此降低了神经网络的性能(例如,在图像的深度输出中引起边缘伪影)。通过解析地计算有效性掩码,以及将该掩码结合进图像重构损失中,该训练方案提高了深度和相机运动神经网络的性能。
此外,训练方案采用深度平滑性损失,通过考虑输入图像的梯度来规范输入图像的深度估计。通过考虑输入图像的梯度,深度平滑性损失允许在输入图像中存在急剧变化的像素坐标处的深度的急剧变化,从而使得训练的深度预测神经网络能够生成更真实和准确的深度估计。
使用上述训练方案训练的深度预测神经网络和相机运动估计神经网络,与使用传统方法训练的其他神经网络相比,能够以更高的质量(例如,更高的准确度、更高的保真度以及更真实)产生深度估计和相机自我运动估计。这样的估计可以用于机器人代理或自动车辆的控制,例如在导航中辅助。由训练的神经网络产生的估计不需要昂贵且难以校准的深度传感器以提供输入数据,并且可以使用便宜且易于部署的单目相机来获得。
本说明书主题的一个或多个实施例的细节在附图和下面的描述中阐述。本主题的其他特征、方面和优点将从说明书、附图和权利要求中变得显而易见。
附图说明
图1示出了示例神经网络***的架构。
图2是用于联合训练图像深度预测神经网络和相机运动估计神经网络的示例过程的流程图。
图3是用于生成基于3D的点云对准损失的流程图。
图4示出了如何使用ICP过程来惩罚变换矩阵和深度估计中的误差。
不同附图中相同的附图标记和名称表示相同的元件。
具体实施方式
本说明书描述了一种在一个或多个位置的一个或多个计算机上实现为计算机程序的神经网络***,该神经网络***被配置为使用图像深度预测神经网络和相机运动估计神经网络从输入图像序列中生成图像深度和自我运动估计。
图1示出了神经网络***100的示例架构。神经网络***100是在一个或多个位置的一个或多个计算机上实现为计算机程序的***的示例,其中可以实现下面描述的***、组件和技术。
通常,神经网络***100被配置为接收图像序列106,并处理该序列中的每个图像,以生成表征图像的深度的深度输出,并处理该序列中的图像子集,以生成表征该子集中的图像之间的相机的运动的相机运动输出。例如,图像序列106可以包括由机器人代理的相机捕获的单目视频帧。作为另一示例,图像序列106可以包括使用移动设备的相机(例如,当电话用户在骑自行车时,由手持商业电话的相机)捕获的单目视频帧。序列106不一定包括来自视频的所有帧。例如,序列106可以包括视频的每隔一帧。
为了生成深度输出和相机运动输出,神经网络***100包括图像深度预测神经网络102(为简单起见,下文称为“深度网络102”)和相机运动估计神经网络104(下文称为“相机运动网络104”)。深度网络102和相机运动网络104中的每一个都包括一个或多个卷积神经网络层。在一些实现方式中,深度网络102和相机运动网络104是完全卷积神经网络。
深度网络102被配置为根据深度网络102的深度参数的当前值,处理图像序列106中的每个图像,以为每个图像生成表征图像的深度的相应深度输出。为给定图像生成的深度输出包括给定图像中多个像素的每个像素的预测深度值。像素的深度值是(i)其中记录给定图像的平面和(ii)在该像素处描绘的场景(例如,该像素描绘的对象或对象的部分的实际或虚拟位置)之间的垂直距离的表示。其中记录图像的平面可以是焦平面,例如相机或虚拟相机的焦平面。
在图1的示例中,深度网络102处理图像序列106中的图像110,以生成图像110的深度输出114。图像110可以表示为Xt,其中t是当由相机捕获到图像的时间。独立于序列106中的其他图像从当前图像110生成深度输出114。
相机运动网络104被配置为处理图像序列106中的图像子集,以生成相机运动输出,该相机运动输出根据相机运动网络104的运动参数的当前值来表征该子集中的图像之间的相机的运动。
在一些实现方式中,图像子集包括来自图像序列106的两个图像。例如,如图1所示,图像子集包括两个连续的图像Xt-1(108)和Xt(110),它们分别在时间t-1和t由相机拍摄。相机运动网络104处理图像Xt-1和Xt以生成相机运动输出116,该输出是变换矩阵,该变换矩阵将相机的位置和朝向从拍摄图像Xt-1时的视点变换到拍摄图像Xt时的视点。换句话说,相机运动输出116表示从时间t-1到时间t的相机的移动(位置和朝向)
在一些其他实现方式中,图像子集包括来自图像序列106的三个或更多个图像。例如,图像子集可以包括图像Xt-2、Xt-1和Xt。在该示例中,给定图像子集,相机运动网络104生成相机运动输出,其表示从时间t-2到时间t的相机的移动。
为了有效地生成图像序列的深度输出和相机运动输出,神经网络***100包括训练引擎118,训练引擎118是基于软件的***、子***或过程,该过程被编程为使用无监督学习技术在训练数据上联合训练深度网络102和相机运动网络104。通常,训练引擎118将实现为安装在一个或多个位置的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于一个特定引擎;在其他情况下,可以在同一个或多个计算机上安装和运行多个引擎。
特别地,在训练期间,训练引擎118获得包括训练图像序列的训练数据。训练图像可以是由机器人代理的相机捕获的视频帧。
对于训练图像序列中的每个特定图像,训练引擎118重复执行以下操作。
对于每个特定图像,训练引擎118根据深度网络102的深度参数的当前值,使用深度网络102处理特定图像,以生成表征该特定图像的第一深度的第一深度估计。训练引擎118根据深度网络102的深度参数的当前值,使用深度网络102处理序列中特定图像之后的第二图像,以生成表征该第二图像的第二深度的第二深度估计。训练引擎118使用相机运动网络104来处理特定图像和第二图像,以生成第一变换矩阵,该第一变换矩阵将相机的位置和朝向从拍摄特定图像时的视点变换到拍摄第二图像时的视点。然后,训练引擎118反向传播损失函数的梯度估计,以联合调整深度网络102和相机运动网络104的参数的当前值。基于第一深度估计、第二深度估计和第一变换矩阵来计算损失函数。
通常,损失函数包括基于3D的点云对准损失分量,其最小化(i)从特定图像生成的第一点云中的点和(ii)从第二图像生成的第二点云中的它们的相应点之间的点到点距离。下面参考图3详细描述用于生成基于3D的点云对准损失分量的处理。
损失函数还可以包括一个或多个以下损失分量:图像重构损失分量、结构化相似性损失分量和深度平滑性损失分量。图像重构损失分量保持(i)特定图像和从第二图像生成的第一重构图像,以及(ii)第二图像和从特定图像生成的第二重构图像的光度一致性。结构化相似性损失分量保持(i)特定图像和第一重构图像中的块的相似性,以及(ii)第二图像和第二重构图像中的块的相似性。深度平滑性损失分量允许(i)在特定图像中存在急剧变化的像素坐标处的第一深度估计中的急剧变化,以及(ii)在第二图像中存在急剧变化的像素坐标处的第二深度估计中的急剧变化。
在训练期间,训练引擎118可以重复执行上述操作,以通过使用小批量随机优化或随机梯度优化方法来调整深度网络102和相机运动神经网络104的参数值,以最小化损失函数。
下面参考图2更详细地描述用于联合训练深度网络102和相机运动网络104以及用于计算损失函数中每个分量的过程。
在训练之后,神经网络***100可以根据深度网络102的深度参数的训练值,使用深度网络102以为给定的输入图像生成深度输出,并且根据相机运动网络104的运动参数的训练值,使用相机运动网络104以为多个输入图像生成相机运动输出。
在一些情况下,神经网络***100可以向外部***提供训练的深度网络102和训练的相机运动网络104或者网络参数的训练值。外部***可以使用训练的深度网络102和训练的相机运动104以上述方式为输入图像序列生成深度输出和相机运动输出。
作为特定示例,在训练之后,当机器人与环境交互时,***100或外部***可以使用深度输出和相机运动输出来控制机器人。通过使深度输出和相机运动输出可用作机器人的控制策略或规划器的输入,可以更有效地控制机器人来完成环境中的指定任务。
图2是用于联合训练图像深度预测神经网络和相机运动估计神经网络(例如,图1的深度网络102和相机运动网络104)的示例过程200的流程图。为方便起见,过程200将被描述为由位于一个或多个位置的一个或多个计算机的***执行。例如,适当编程的神经网络***,例如图1的神经网络***100,可以执行过程200。
***可以对训练数据中包括的不同的训练图像序列重复执行过程200,以便重复更新图像深度预测神经网络和相机运动估计神经网络的参数值。
***获得训练图像序列(步骤201)。例如,训练图像可以是由机器人代理的相机或移动设备的相机捕获的视频帧。训练图像序列不一定包括视频的所有连续帧。例如,训练图像序列可以包括视频的每隔一帧。
对于训练图像序列中的每个特定图像Xt-1,***重复执行以下操作(步骤202-218)。
***根据深度网络的深度参数的当前值,使用深度网络处理特定图像Xt-1,以生成表征特定图像Xt-1在时间t-1的第一深度的第一深度估计Dt-1(步骤202)。
***根据深度网络的深度参数的当前值,使用深度网络处理序列中特定图像Xt-1之后的第二图像Xt,以生成表征第二图像Xt在时间t的第二深度的第二深度估计Dt(步骤204)。
***使用相机运动网络处理特定图像Xt-1和第二图像Xt,以生成第一变换矩阵Tt(步骤206)。第一变换矩阵Tt,也称为自我运动,表示从时间t-1到时间t的相机的移动(位置和朝向)。也就是说,第一变换矩阵Tt将相机的位置和朝向从拍摄特定图像Xt-1时的视点变换到拍摄第二图像Xt时的视点。
为了构建用于联合训练深度和相机运动网络的损失函数,***首先构建基于3D的点云对准损失分量,该分量最小化从特定图像Xt-1和第二图像Xt生成的两个点云之间的点到点距离(步骤208)。
具体地,***基于第二图像Xt的第二深度估计Dt为第二图像Xt生成3D点云Qt。具有相应估计深度值
Figure BDA0002493453780000091
的坐标(i,j)处的每个图像像素可以被投影到结构化3D点云Qt中,如下所示:
Figure BDA0002493453780000092
其中K是相机固有矩阵,并且坐标是齐次的。
给定表示从t-1到t的相机的移动的第一变换矩阵Tt,***变换3D点云Qt以获得先前的图像(特定图像Xt-1)的点云
Figure BDA0002493453780000093
的估计,如下:
Figure BDA0002493453780000094
其中
Figure BDA0002493453780000095
表示从t到t-1的相机的移动的逆。
类似地,***基于特定图像Xt-1的第一深度估计Dt-1为特定图像Xt-1生成3D点云Qt-1。具有相应估计深度值
Figure BDA0002493453780000096
的坐标(i,j)处的每个图像像素可以被投影到结构化3D点云Qt-1中,如下:
Figure BDA0002493453780000097
其中K是相机固有矩阵,并且坐标是齐次的。
然后,***转换3D点云Qt-1以获得第二图像Xt的点云
Figure BDA0002493453780000098
的估计,如下:
Figure BDA0002493453780000099
其中Tt表示从t-1到t的相机的移动。
基于3D的点云对准损失分量直接比较两个3D点云:
Figure BDA00024934537800000910
与Qt-1,或者
Figure BDA00024934537800000911
与Qt。也就是说,在一些情况下,基于3D的点云对准损失分量可以比较(i)从第二图像的点云Qt生成的特定图像的点云
Figure BDA00024934537800000912
的估计值与(ii)特定图像的点云Qt-1。在一些情况下,基于3D的点云对准损失分量可以将(i)从特定图像的点云Qt-1生成的第二图像的点云
Figure BDA00024934537800000913
的估计与(ii)第二图像的点云Qt进行比较。
为了构造基于3D的点云对准损失分量,***使用刚性配准(rigid registration)方法,例如迭代最近点(Iterative Closet Point,ICP)过程,来计算(i)最佳拟合变换T’,其最小化两个点云中相应点之间的点到点距离,以及(ii)残余(residual)配准误差r,其表示在应用了用于最小化点到点距离的ICP的最佳拟合变换T’之后相应点之间的残余距离。下面参考图3和图4详细描述ICP过程。
***如下构建基于3D的点云对准损失分量L3D
L3D=‖T′-I‖1+‖r‖1, (5)
其中‖.‖1表示L1-norm(L1范数),I是单位矩阵,并且r是残余配准误差。
接下来,***构建图像重构损失分量,其保持(i)特定图像Xt-1和从第二图像Xt生成的第一重构图像
Figure BDA0002493453780000101
以及(ii)第二图像Xt和从特定图像Xt-1生成的第二重构图像
Figure BDA0002493453780000102
的光度一致性(步骤210)。
特别地,***将估计的点云
Figure BDA0002493453780000103
投影到图像t-1处的相机上,作为
Figure BDA0002493453780000104
其中K是相机固有矩阵。然后,***将这种变换和投影与等式(1)相结合,以建立从时间t的图像坐标到时间t-1的图像坐标的映射。基于该映射,***基于深度输出Dt和第一变换矩阵Tt,通过扭曲Xt-1来重构图像
Figure BDA0002493453780000105
Figure BDA0002493453780000106
类似地,***基于深度输出Dt-1
Figure BDA0002493453780000107
通过扭曲Xt重构图像
Figure BDA0002493453780000108
Figure BDA0002493453780000109
是第一变换矩阵Tt的逆。
计算
Figure BDA00024934537800001010
涉及创建从Xt到Xt-1中的图像坐标的映射。然而,由于相机的运动,Xt中的一些像素坐标可能被映射到Xt-1中的图像边界之外的坐标。对于前向自我运动,这个问题在从Xt计算
Figure BDA00024934537800001011
时通常很明显。在损失函数中包括这样的像素会降低深度和相机运动网络的性能。先前的方法要么忽略了这个问题,要么试图通过给网络添加通用掩码来解决这个问题,这样预计会排除由于任何原因而无法解释的区域。然而,这种方法并不有效,并且经常导致深度图像中的边缘伪影。
为了解决上述问题,这里***从深度输出和第一变换矩阵(自我运动)解析地计算有效性掩码。对于训练图像序列中的每对图像Xt-1和Xt,***可以创建一对有效性掩码Mt-1和Mt。Mt-1指示当从Xt重构
Figure BDA00024934537800001012
时哪些像素坐标有效。Mt指示从Xt-1重构
Figure BDA00024934537800001013
时哪些像素坐标有效。
更具体地,***基于第一深度估计Dt-1和第一变换矩阵Tt,解析地计算指示第一重构图像
Figure BDA00024934537800001014
中的有效像素坐标的第一有效性掩码Mt-1。***还基于第二深度估计Dt和第一变换矩阵的逆
Figure BDA00024934537800001015
解析地计算指示第二重构图像
Figure BDA00024934537800001016
中的有效像素坐标的第二有效性掩码Mt
在计算有效性掩码之后,然后,***将重构图像
Figure BDA00024934537800001017
Figure BDA00024934537800001018
分别与特定图像Xt和第二图像Xt-1进行比较,以产生基于光度一致性的图像重构损失分量,如下:
Figure BDA00024934537800001019
其中
Figure BDA0002493453780000111
表示在第二图像Xt的坐标(i,j)处的图像像素,
Figure BDA0002493453780000112
表示在重构图像
Figure BDA0002493453780000113
的坐标(i,j)处的图像像素,而
Figure BDA0002493453780000114
表示在有效性掩码Mt的坐标(i,j)处的图像像素。通过使用有效性掩码,***可以避免在图像的看不见的区域中的虚假损失,从而避免惩罚不存在有用信息的区域。作为结果,***可以提高深度和相机运动网络的预测/估计质量。
随后,***构建结构化相似性损失分量(步骤212)。一般,结构化相似性损失分量保持(i)特定图像和第一重构图像中的块的相似性,以及(ii)第二图像和第二重构图像中的块的相似性。
特别地,***旨在最小化如下定义的结构化相似性损失分量LSSIM
Figure BDA0002493453780000115
其中SSIM(x,y)测量两个图像块x和y之间的相似性,其定义如下:
Figure BDA0002493453780000116
其中μxx是局部均值和方差。
然后,***构建深度平滑性损失分量来规范深度估计(步骤214)。深度平滑性损失分量允许(i)在特定图像Xt-1中存在急剧变化的像素坐标处第一深度估计Dt-1中的急剧变化,以及(ii)在第二图像Xt中存在急剧变化的像素坐标处第二深度估计Dt中的急剧变化。深度平滑性损失考虑了给定图像X的梯度,并且可以表示如下:
Figure BDA0002493453780000117
其中Xij表示给定图像X的坐标(i,j)处的图像像素,Dij是对应于Xij的估计深度,并且
Figure BDA0002493453780000118
是梯度。通过考虑图像X的梯度,深度平滑性损失允许在图像中存在急剧变化的像素坐标处的深度的急剧变化。
***构建损失函数(步骤216)。在一些实现方式中,损失函数仅包括基于3D的点云对准损失分量。在一些实现方式中,损失函数是基于3D的点云对准损失分量和(i)图像重构损失分量、(ii)结构化相似性损失分量或(iii)深度平滑性损失分量中的一个或多个的加权组合。例如,损失函数可以具有以下形式:
Figure BDA0002493453780000119
其中所有损失分量在四个不同的尺度s应用,尺度s范围从获得的训练数据中的输入图像的输入分辨率到具有较小分辨率的图像(例如,输入图像的宽度和高度为
Figure BDA00024934537800001110
Figure BDA00024934537800001111
的图像)。α,β,γ,ω是预定的超参数。例如,α=0.85,β=0.1,γ=0.05,并且ω=0.15。又如,α=0.5,β=0.3,γ=0.2,并且ω=0。再如,α=0.1,β=0.2,γ=0.3,并且ω=0。
然后,***生成损失函数的梯度估计,并反向传播该梯度估计,以联合调整深度网络的深度参数的当前值和相机运动网络的运动参数的当前值(步骤218)。***可以通过使用小批量随机优化或随机梯度优化方法来联合调整深度和运动参数的当前值以最小化损失函数。
***对训练图像序列中的其他图像重复上述步骤202-218,以确定深度网络的深度参数的训练值和相机运动网络的运动参数的训练值。
图3是用于生成基于3D的点云对准损失分量的示例过程300的流程图。为方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的***执行。例如,适当编程的神经网络***或神经网络***的组件,例如图1的神经网络***100的训练引擎118,可以执行过程300。
如上参考图2所述,为了生成基于3D的点云对准损失分量(此后也称为基于3D的损失),***首先基于第二图像Xt的第二深度估计Dt为第二图像Xt生成3D点云Qt(步骤304)。具有相应估计深度值
Figure BDA0002493453780000121
的坐标(i,j)处的每个图像像素可以使用等式(1)被投影到结构化3D点云Qt中。
给定第一变换矩阵的逆
Figure BDA0002493453780000122
***变换3D点云Qt,以使用等式(2)估计先前的图像(特定图像Xt-1)的点云
Figure BDA0002493453780000123
(步骤306)。
类似地,***基于特定图像Xt-1的第一深度估计Dt-1为特定图像Xt-1生成3D点云Qt-1(步骤308)。具有相应估计深度值
Figure BDA0002493453780000124
的坐标(i,j)处的每个图像像素可以被投影到基于等式(3)的结构化3D点云Qt-1中。
然后,***使用第一变换矩阵Tt变换3D点云Qt-1,以获得基于等式(4)的第二图像Xt的点云
Figure BDA0002493453780000125
的估计(步骤310)。
为了构造基于3D的点云对准损失分量,***使用迭代最近点(ICP)过程302来获得最佳拟合变换T’,该变换最小化两个点云之间的点到点距离。
具体地,ICP过程302将两个点云A和B(例如,点云
Figure BDA0002493453780000126
和Qt-1或者点云
Figure BDA0002493453780000127
和Qt)作为输入。为方便起见,以下描述描述了当采用两个点云
Figure BDA0002493453780000128
和Qt-1作为输入时的ICP过程302,但是应当理解,ICP过程302对于两对点云是相同的。
给定两个点云
Figure BDA0002493453780000129
和Qt-1,ICP过程302输出最佳拟合变换T’(步骤312),其最小化A中的变换点和它们在B中的相应点之间的距离:
Figure BDA0002493453780000131
其中c(.)表示通过ICP方法(例如,通过使用简单的最近点试探)找到的点对点对应关系。***还使用ICP过程302来为每个像素坐标(i,j)输出残余rij=Aij-T′-1.Bc(ij)(步骤314)。残余反映了在应用了用于最小化点到点距离的ICP的最佳拟合变换T’之后相应点之间的残余距离。
***如下构建基于3D的点云对准损失分量L3D
L3D=‖T′t-I‖1+‖rt1
其中‖.‖1表示L1-norm(L1范数),I是单位矩阵,并且r是残余配准误差(步骤316)。
图4示出了***如何使用ICP过程来惩罚第一变换矩阵(自我运动)Tt和第二深度估计Dt中的误差。该图示出了带有侧视镜的汽车前部的俯视图。给定时间t的深度估计Dt,***创建点云Qt,然后通过第一变换矩阵Tt将其变换为先前的图像的点云
Figure BDA0002493453780000132
的预测。如果来自深度和相机运动网络的第一变换矩阵Tt和Dt是完美的,
Figure BDA0002493453780000133
将与Qt-1完美地对准。当不是这种情况时,***用ICP将
Figure BDA0002493453780000134
对准Qt-1,以生成最佳拟合变换矩阵T′t和残余rt。然后,***使用T′t和rt向着更好的初始对准来调整Tt和Dt。更具体地,***使用T′t作为关于自我运动Tt的基于3D的损失的负梯度的近似值,并且使用rt作为关于深度估计Dt的基于3D的损失的负梯度的近似值。
本说明书结合***和计算机程序组件使用术语“配置”。一个或多个计算机组成的***被配置为执行特定操作或动作,这意味着该***已经在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中使得该***执行这些操作或动作。对于被配置为执行特定操作或动作的一个或多个计算机程序,这意味着该一个或多个程序包括当由数据处理装置执行时,使该装置执行操作或动作的指令。
本说明书中描述的主题和功能操作的实施例,包括在本说明书中公开的结构及其结构等同物,或者在它们中的一个或多个的组合,可以在数字电子电路中、在有形体现的计算机软件或固件中、在计算机硬件中实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序(即编码在有形非暂时性存储介质上的计算机程序指令的一个或多个模块),用于由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基底、随机或串行存取存储器设备或者它们中的一个或多个的组合。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以对信息进行编码,用于到合适的接收器装置的传输,以由数据处理装置执行。
术语“数据处理装置”指的是数据处理硬件,并且包含用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。该装置还可以是或进一步包括专用逻辑电路,例如FPGA(field programmable gate array,现场可编程门阵列)或ASIC(application-specific integrated circuit,专用集成电路)。除了硬件之外,该装置可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理***、操作***或它们中的一个或多个的组合的代码。
计算机程序,也可以被称为或描述为程序、软件、软件应用、应用、模块、软件模块、脚本或代码,可以用任何形式的编程语言编写,包括编译或解释语言,或者声明性或程序性语言;并且其可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或其他适合在计算环境中使用的单元。程序可以,但不一定,对应于文件***中的文件。程序可以存储在保存其他程序或数据的文件的部分中,例如存储在标记语言文档中的一个或多个脚本,存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件中,例如存储一个或多个模块、子程序或部分代码的文件。计算机程序可以部署为在一个计算机或者位于一个站点或分布在多个站点并通过数据通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机执行,该计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。该过程和逻辑流程也可以由专用逻辑电路,例如,FPGA或ASIC,或者由专用逻辑电路和一个或多个编程计算机的组合来执行。
适合计算机程序的执行的计算机可以基于通用或专用微处理器或两者,或者任何其他类型的中央处理单元。一般,中央处理单元将从只读存储器或随机存取存储器或者两者接收指令和数据。计算机的基本元件是用于执行(performing)或执行(executing)指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路。一般,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如磁盘、磁光盘或光盘,或者可操作地耦合到一个或多个大容量存储设备,以从一个或多个大容量存储设备接收数据或向一个或多个大容量存储设备传送数据,或者两者都包括。然而,计算机不需要这样的设备。此外,计算机可以嵌入到另一设备中,例如移动电话、个人数字助理(personal digital assistant,PDA)、移动音频或视频播放器、游戏控制台、全球定位***(Global Positioning System,GPS)接收器或便携式存储设备,例如通用串行总线(universal serial bus,USB)闪存驱动器,仅举几个示例。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和CD-ROM和DVD-ROM。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实现,该计算机具有用于向用户显示信息的显示器设备,例如CRT(cathode ray tube,阴极射线管)或LCD(liquid crystal display,液晶显示器),以及用户可以向计算机提供输入的键盘和定点设备,例如鼠标或轨迹球。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如通过响应于从网络浏览器接收的请求,将网页发送到用户的设备上的网络浏览器。此外,计算机可以通过向个人设备(例如,运行消息传递应用的智能手机)发送文本消息或其他形式的消息,并接收来自用户的响应消息来与用户交互。
用于实现机器学习模型的数据处理装置还可以包括,例如,用于处理机器学习训练或产生的普通和计算密集型部分(即推理、工作负载)的专用硬件加速器单元。
机器学习模型可以使用机器学习框架来实现和部署,例如TensorFlow框架、微软认知工具包(Microsoft Cognitive Toolkit)框架、Apache Singa框架或Apache MXNet框架。
本说明书中描述的主题的实施例可以在计算***中实现,该计算***包括后端组件,例如作为数据服务器,或者包括中间件组件,例如应用服务器,或者包括前端组件,例如具有图形用户界面、网络浏览器或应用的客户端计算机,用户可以通过该应用与本说明书中描述的主题的实现进行交互,或者一个或多个这样的后端、中间件或前端组件的任意组合。***的组件可以通过任何形式或介质的数字数据通信(例如通信网络)来互连。通信网络的示例包括局域网(local area network,LAN)和广域网(wide area network,WAN),例如互联网。
计算***可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是由运行在各自计算机上的计算机程序产生的,并且相互之间具有客户端-服务器关系。在一些实施例中,服务器将数据(例如,HTML页面)传输到用户设备,例如,出于向与设备交互的用户(充当客户端)显示数据并从用户接收用户输入的目的。在用户设备处生成的数据,例如用户交互的结果,可以在服务器处从设备接收。
尽管本说明书包含许多具体的实施细节,但这些不应被解释为对任何发明的范围或可能要求保护的范围的限制,而是对特定发明的特定实施例的特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独或以任何合适的子组合来实现。此外,尽管特征可以在上面被描述为在某些组合中起作用,并且甚至最初被如此要求保护,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中被删除,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,尽管在附图中以特定顺序描述了操作并且在权利要求中陈述了操作,但是这不应该被理解为要求这些操作以所示的特定顺序或顺序地来执行,或者要求所有示出的操作都被执行,以获得期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种***模块和组件的分离不应被理解为在所有实施例中都需要这样的分离,并且应当理解,所描述的程序组件和***一般可以一起集成在单个软件产品中或者封装到多个软件产品中。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中陈述的动作可以以不同的顺序执行,并且仍然获得期望的结果。作为一个示例,附图中描述的过程不一定需要所示的特定顺序或顺序来获得期望的结果。在一些情况下,多任务和并行处理可能是有利的。

Claims (25)

1.一种***,包括:
由一个或多个计算机实现的神经网络,其中所述神经网络包括图像深度预测神经网络和相机运动估计神经网络,其中所述神经网络被配置为接收图像序列,以及
使用所述图像深度预测神经网络处理所述图像序列中的每个图像,以为每个图像生成表征所述图像的深度的相应深度输出,以及
使用所述相机运动估计神经网络处理所述图像序列中的图像子集,以生成表征所述子集中的图像之间的相机的运动的相机运动输出;以及
其中已经使用无监督学习技术联合训练了所述图像深度预测神经网络和所述相机运动估计神经网络。
2.根据权利要求1所述的***,其中所述图像序列是由相机捕获的视频帧。
3.根据权利要求1或2中任一项所述的***,其中,所述深度输出包括所述图像中多个像素的每个像素的估计深度值,所述估计深度值表示在所述像素处描绘的场景距所述图像的焦平面的相应距离。
4.根据权利要求1-3中任一项所述的***,其中,所述相机运动输出是变换矩阵,所述变换矩阵将所述相机的位置和朝向从拍摄所述子集中的第一图像时的视点变换到拍摄所述子集中的第二图像时的视点。
5.根据权利要求1-4中任一项所述的***,其中所述图像深度预测神经网络包括卷积神经网络层。
6.根据权利要求1-5中任一项所述的***,其中所述相机运动估计神经网络包括卷积神经网络层。
7.根据权利要求1-6中任一项所述的***,其中所述图像子集包括所述图像序列中的两个图像。
8.根据权利要求1-6中任一项所述的***,其中所述图像子集包括所述图像序列中的三个或更多个图像。
9.用指令编码的一个或多个计算机存储介质,当所述指令由一个或多个计算机执行时,所述指令使所述一个或多个计算机实现权利要求1-8中任一项所述的***。
10.一种用于训练权利要求1-8中任一项所述的神经网络的方法,所述方法包括:
获得包括图像序列的训练数据;并且
对于所述图像序列中的每个特定图像:
使用所述图像深度预测神经网络处理所述特定图像,以生成表征所述特定图像的第一深度的第一深度估计;
使用深度预测神经网络处理序列中所述特定图像之后的第二图像,以生成表征所述第二图像的第二深度的第二深度估计;
使用所述相机运动估计神经网络处理所述特定图像和所述第二图像,以生成第一变换矩阵,所述第一变换矩阵将相机的位置和朝向从拍摄所述特定图像时的视点变换到拍摄所述第二图像时的视点;以及
基于所述第一深度估计、所述第二深度估计和所述第一变换矩阵,反向传播损失函数的梯度估计,以联合调整所述深度预测神经网络和所述相机运动估计神经网络的参数的当前值。
11.根据权利要求10所述的方法,其中所述损失函数包括基于3D的点云对准损失分量,所述基于3D的点云对准损失分量最小化从所述特定图像和所述第二图像生成的两个点云之间的点到点距离。
12.根据权利要求11所述的方法,其中反向传播所述损失函数的梯度估计包括:
通过重复地估计最佳拟合变换来计算所述基于3D的点云对准损失分量,所述最佳拟合变换最小化第一点云中的点和它们在第二点云中的相应点之间的点到点距离。
13.根据权利要求10至12中任一项所述的方法,其中,所述损失函数包括图像重构损失分量,所述图像重构损失分量保持(i)所述特定图像和从所述第二图像生成的第一重构图像,以及(ii)所述第二图像和从所述特定图像生成的第二重构图像的光度一致性。
14.根据权利要求13所述的方法,其中反向传播所述损失函数的梯度估计包括:
通过(i)基于所述第一深度估计和所述第一变换矩阵,解析地计算指示所述第一重构图像中的有效像素坐标的有效性掩码,以及(ii)基于所述第二深度估计和所述第一变换矩阵的逆,解析地计算指示所述第二重构图像中的有效像素坐标的第二有效性掩码,来计算所述重构损失分量。
15.根据权利要求13或14所述的方法,其中,所述损失函数包括结构化相似性损失分量,所述结构化相似性损失分量保持(i)所述特定图像和所述第一重构图像中的块的相似性,以及(ii)所述第二图像和所述第二重构图像中的块的相似性。
16.根据权利要求10至15中任一项所述的方法,其中,所述损失函数还包括深度平滑性损失分量,所述深度平滑性损失分量允许(i)在所述特定图像中存在急剧变化的像素坐标处的所述第一深度估计中的急剧变化,以及(ii)在所述第二图像中存在急剧变化的像素坐标处的所述第二深度估计中的急剧变化。
17.根据权利要求10至16中任一项所述的方法,其中,所述损失函数是所述损失函数的各个分量的加权组合。
18.根据权利要求10-17中任一项所述的方法,还包括使用小批量随机优化来调整所述图像深度预测神经网络和所述相机运动估计神经网络的参数的当前值。
19.根据权利要求10-17中任一项所述的方法,还包括使用随机梯度优化来调整所述图像深度预测神经网络和所述相机运动估计神经网络的参数的当前值。
20.根据权利要求10-19中任一项所述的方法,其中,所述图像序列是由相机捕获的视频帧。
21.根据权利要求10-20中任一项所述的方法,其中所述第二图像紧接着所述图像序列中的所述特定图像。
22.根据权利要求10-21中任一项所述的方法,其中,所述第一深度估计包括所述特定图像中的多个像素的每个像素的估计深度值,所述估计深度值表示在所述像素处描绘的场景距所述特定图像的焦平面的相应距离。
23.根据权利要求10-22中任一项所述的方法,其中,所述第二深度估计包括所述第二图像中的多个像素的每个像素的估计深度值,所述估计深度值表示在所述像素处描绘的场景距所述第二图像的焦平面的相应距离。
24.存储指令的一个或多个计算机存储介质,当所述指令被一个或多个计算机执行时,使得所述一个或多个计算机执行权利要求10-23中任一项所述的相应方法的操作。
25.一个或多个计算机以及一个或多个存储指令的存储设备,当所述指令被所述一个或多个计算机执行时,使得所述一个或多个计算机执行权利要求10-23中任一项所述的相应方法的操作。
CN201880074141.4A 2017-11-15 2018-11-15 图像深度和自我运动预测神经网络的无监督学习 Pending CN111386550A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762586611P 2017-11-15 2017-11-15
US62/586,611 2017-11-15
PCT/US2018/061300 WO2019099684A1 (en) 2017-11-15 2018-11-15 Unsupervised learning of image depth and ego-motion prediction neural networks

Publications (1)

Publication Number Publication Date
CN111386550A true CN111386550A (zh) 2020-07-07

Family

ID=64572602

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880074141.4A Pending CN111386550A (zh) 2017-11-15 2018-11-15 图像深度和自我运动预测神经网络的无监督学习

Country Status (5)

Country Link
US (3) US10810752B2 (zh)
EP (1) EP3688718A1 (zh)
JP (1) JP2021503134A (zh)
CN (1) CN111386550A (zh)
WO (1) WO2019099684A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112561947A (zh) * 2020-12-10 2021-03-26 中国科学院深圳先进技术研究院 一种图像自适应运动估计方法及应用
CN113269820A (zh) * 2021-05-26 2021-08-17 北京地平线信息技术有限公司 空间几何信息估计模型的生成方法和装置
CN113781517A (zh) * 2020-09-30 2021-12-10 上海联影智能医疗科技有限公司 用于运动估计的***和方法
CN114612510A (zh) * 2022-03-01 2022-06-10 腾讯科技(深圳)有限公司 图像处理方法、装置、设备、存储介质及计算机程序产品
CN114663503A (zh) * 2020-12-08 2022-06-24 伟摩有限责任公司 从图像进行三维位置预测
TWI823491B (zh) * 2022-07-22 2023-11-21 鴻海精密工業股份有限公司 深度估計模型的優化方法、裝置、電子設備及存儲介質
TWI832302B (zh) * 2022-06-22 2024-02-11 鴻海精密工業股份有限公司 深度圖像獲取方法、電子設備及電腦可讀存儲媒體

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3549102B1 (en) 2016-12-02 2021-05-26 Google LLC Determining structure and motion in images using neural networks
CN111386550A (zh) * 2017-11-15 2020-07-07 谷歌有限责任公司 图像深度和自我运动预测神经网络的无监督学习
WO2019182974A2 (en) * 2018-03-21 2019-09-26 Nvidia Corporation Stereo depth estimation using deep neural networks
KR102506959B1 (ko) 2018-05-17 2023-03-07 나이앤틱, 인크. 깊이 추정 시스템의 자가 감독 훈련
US20200167650A1 (en) * 2018-11-23 2020-05-28 Element Ai Inc. Hinted neural network
US11044462B2 (en) 2019-05-02 2021-06-22 Niantic, Inc. Self-supervised training of a depth estimation model using depth hints
US11803981B2 (en) * 2019-05-30 2023-10-31 Mobileye Vision Technologies Ltd. Vehicle environment modeling with cameras
US11176709B2 (en) 2019-10-17 2021-11-16 Toyota Research Institute, Inc. Systems and methods for self-supervised scale-aware training of a model for monocular depth estimation
CN111080671B (zh) * 2019-12-27 2023-06-23 深圳大学 一种基于深度神经网络的运动预测方法和智能终端
WO2021150016A1 (en) 2020-01-20 2021-07-29 Samsung Electronics Co., Ltd. Methods and systems for performing tasks on media using attribute specific joint learning
US11727588B2 (en) 2020-04-14 2023-08-15 Toyota Research Institute, Inc. Depth estimation based on ego-motion estimation and residual flow estimation
CN113822918B (zh) * 2020-04-28 2024-07-12 深圳市商汤科技有限公司 场景深度和相机运动预测方法及装置、电子设备和介质
US11531842B2 (en) * 2020-05-20 2022-12-20 Toyota Research Institute, Inc. Invertible depth network for image reconstruction and domain transfers
CN111753961B (zh) * 2020-06-26 2023-07-28 北京百度网讯科技有限公司 模型训练方法和装置、预测方法和装置
US11960294B2 (en) * 2020-07-13 2024-04-16 Naver Corporation Self-supervised attention learning for depth and motion estimation
US11494927B2 (en) 2020-09-15 2022-11-08 Toyota Research Institute, Inc. Systems and methods for self-supervised depth estimation
US11615544B2 (en) * 2020-09-15 2023-03-28 Toyota Research Institute, Inc. Systems and methods for end-to-end map building from a video sequence using neural camera models
CN112561978B (zh) * 2020-12-18 2023-11-17 北京百度网讯科技有限公司 深度估计网络的训练方法、图像的深度估计方法、设备
CN112651453B (zh) * 2020-12-30 2023-10-13 北京百度网讯科技有限公司 损失函数的自适应方法、装置、设备和存储介质
CN112802185B (zh) * 2021-01-26 2022-08-02 合肥工业大学 面向微创手术空间感知的内窥镜图像三维重构方法和***
JP7272381B2 (ja) * 2021-03-08 2023-05-12 株式会社豊田中央研究所 学習処理装置及び学習処理プログラム
US11688090B2 (en) * 2021-03-16 2023-06-27 Toyota Research Institute, Inc. Shared median-scaling metric for multi-camera self-supervised depth evaluation
GB2605621A (en) * 2021-04-07 2022-10-12 Robok Ltd Monocular depth estimation
CN113468955B (zh) * 2021-05-21 2024-02-02 香港生产力促进局 用于估计交通场景中两点间距离的方法、设备及存储介质
CN113468364B (zh) * 2021-07-21 2024-04-09 京东科技信息技术有限公司 一种图像处理方法及装置
CN114092640A (zh) * 2021-11-12 2022-02-25 广东工业大学 一种新的基于单目无人机多帧rgb图像的三维重建方法
WO2023155043A1 (zh) * 2022-02-15 2023-08-24 中国科学院深圳先进技术研究院 一种基于历史信息的场景深度推理方法、装置及电子设备
CN115841151B (zh) * 2023-02-22 2023-05-23 禾多科技(北京)有限公司 模型训练方法、装置、电子设备和计算机可读介质

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6931269B2 (en) * 2003-08-27 2005-08-16 Datex-Ohmeda, Inc. Multi-domain motion estimation and plethysmographic recognition using fuzzy neural-nets
DE602008005318D1 (de) * 2007-08-22 2011-04-14 Honda Res Inst Europe Gmbh Schätzung der ordnungsgemässen bewegung von objekten mithilfe optischer fluss-, kinematik- und tiefeninformationen
US9405975B2 (en) * 2010-03-26 2016-08-02 Brain Corporation Apparatus and methods for pulse-code invariant object recognition
US11094137B2 (en) * 2012-02-24 2021-08-17 Matterport, Inc. Employing three-dimensional (3D) data predicted from two-dimensional (2D) images using neural networks for 3D modeling applications and other applications
SG11201406906UA (en) * 2012-04-25 2014-11-27 Elta Systems Ltd Estimating a source location of a projectile
US9436909B2 (en) * 2013-06-19 2016-09-06 Brain Corporation Increased dynamic range artificial neuron network apparatus and methods
US9881349B1 (en) * 2014-10-24 2018-01-30 Gopro, Inc. Apparatus and methods for computerized object identification
US10402700B2 (en) * 2016-01-25 2019-09-03 Deepmind Technologies Limited Generating images using neural networks
WO2017165538A1 (en) * 2016-03-22 2017-09-28 Uru, Inc. Apparatus, systems, and methods for integrating digital media content into other digital media content
US10529137B1 (en) * 2016-11-29 2020-01-07 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. Machine learning systems and methods for augmenting images
EP3549102B1 (en) * 2016-12-02 2021-05-26 Google LLC Determining structure and motion in images using neural networks
US10474988B2 (en) * 2017-08-07 2019-11-12 Standard Cognition, Corp. Predicting inventory events using foreground/background processing
US10572072B2 (en) * 2017-09-29 2020-02-25 Apple Inc. Depth-based touch detection
US10628961B2 (en) * 2017-10-13 2020-04-21 Qualcomm Incorporated Object tracking for neural network systems
US11644834B2 (en) * 2017-11-10 2023-05-09 Nvidia Corporation Systems and methods for safe and reliable autonomous vehicles
CN111386550A (zh) * 2017-11-15 2020-07-07 谷歌有限责任公司 图像深度和自我运动预测神经网络的无监督学习
US10795364B1 (en) * 2017-12-29 2020-10-06 Apex Artificial Intelligence Industries, Inc. Apparatus and method for monitoring and controlling of a neural network using another neural network implemented on one or more solid-state chips
US10795360B2 (en) * 2018-04-06 2020-10-06 Honda Motor Co., Ltd. Utility decomposition with deep corrections
US10671855B2 (en) * 2018-04-10 2020-06-02 Adobe Inc. Video object segmentation by reference-guided mask propagation
US11615208B2 (en) * 2018-07-06 2023-03-28 Capital One Services, Llc Systems and methods for synthetic data generation
US10678252B2 (en) * 2018-08-09 2020-06-09 GM Global Technology Operations LLC Systems, apparatus, and methods for embedded encodings of contextual information using a neural network with vector space modeling
US11209821B2 (en) * 2018-11-02 2021-12-28 Aurora Operations, Inc. Labeling autonomous vehicle data
US11086319B2 (en) * 2018-11-02 2021-08-10 Aurora Operations, Inc. Generating testing instances for autonomous vehicles
US11256263B2 (en) * 2018-11-02 2022-02-22 Aurora Operations, Inc. Generating targeted training instances for autonomous vehicles
US11024041B2 (en) * 2018-12-10 2021-06-01 Intel Corporation Depth and motion estimations in machine learning environments
US11562254B2 (en) * 2019-07-30 2023-01-24 Mcafee, Llc Distribution of neural networks with blockchains
US11449709B2 (en) * 2019-08-08 2022-09-20 Nvidia Corporation Domain restriction of neural networks through synthetic data pre-training

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CLEMENT GODARD 等: "Unsupervised Monocular Depth Estimation with Left-Right Consistency" *
SUDHEENDRA VIJAYANARASIMHAN 等: "SfM-Net: Learning of Structure and Motion from Video" *
TINGHUI ZHOU 等: "Unsupervised Learning of Depth and Ego-Motion from Video" *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113781517A (zh) * 2020-09-30 2021-12-10 上海联影智能医疗科技有限公司 用于运动估计的***和方法
CN114663503A (zh) * 2020-12-08 2022-06-24 伟摩有限责任公司 从图像进行三维位置预测
CN112561947A (zh) * 2020-12-10 2021-03-26 中国科学院深圳先进技术研究院 一种图像自适应运动估计方法及应用
CN113269820A (zh) * 2021-05-26 2021-08-17 北京地平线信息技术有限公司 空间几何信息估计模型的生成方法和装置
CN114612510A (zh) * 2022-03-01 2022-06-10 腾讯科技(深圳)有限公司 图像处理方法、装置、设备、存储介质及计算机程序产品
CN114612510B (zh) * 2022-03-01 2024-03-29 腾讯科技(深圳)有限公司 图像处理方法、装置、设备、存储介质及计算机程序产品
TWI832302B (zh) * 2022-06-22 2024-02-11 鴻海精密工業股份有限公司 深度圖像獲取方法、電子設備及電腦可讀存儲媒體
TWI823491B (zh) * 2022-07-22 2023-11-21 鴻海精密工業股份有限公司 深度估計模型的優化方法、裝置、電子設備及存儲介質

Also Published As

Publication number Publication date
US20200402250A1 (en) 2020-12-24
US20200258249A1 (en) 2020-08-13
WO2019099684A1 (en) 2019-05-23
JP2021503134A (ja) 2021-02-04
US10810752B2 (en) 2020-10-20
US20220292701A1 (en) 2022-09-15
EP3688718A1 (en) 2020-08-05
US11790549B2 (en) 2023-10-17
US11348268B2 (en) 2022-05-31

Similar Documents

Publication Publication Date Title
CN111386550A (zh) 图像深度和自我运动预测神经网络的无监督学习
EP3549102B1 (en) Determining structure and motion in images using neural networks
KR102330744B1 (ko) 신경망을 이용한 장면 이해 및 생성
US11100646B2 (en) Future semantic segmentation prediction using 3D structure
EP3847619B1 (en) Unsupervised depth prediction neural networks
JP7319390B2 (ja) ぼけた画像/ビデオを用いたsfm/slamへの適用を有する畳み込みニューラルネットワークを使用した画像/ビデオのボケ除去
US11010948B2 (en) Agent navigation using visual inputs
US11132586B2 (en) Rolling shutter rectification in images/videos using convolutional neural networks with applications to SFM/SLAM with rolling shutter images/videos
JP2024507727A (ja) 潜在変数で条件付けた幾何学的形状認識ニューラルネットワークを使用した、シーンの新規画像のレンダリング
US20220215580A1 (en) Unsupervised learning of object keypoint locations in images through temporal transport or spatio-temporal transport
CN110827341A (zh) 一种图片深度估计方法、装置和存储介质
CN111915587A (zh) 视频处理方法、装置、存储介质和电子设备
CN115082636B (zh) 基于混合高斯网络的单图像三维重建方法及设备
CN113643343B (zh) 深度估计模型的训练方法、装置、电子设备及存储介质
CN115908723B (zh) 基于区间感知的极线引导多视图立体重建方法
CN115661778A (zh) 单目3d检测框预测方法和装置
CN117291947A (zh) 生成新视角图像的方法、相关方法及相关产品
CN114600134A (zh) 估计***、估计装置以及估计方法

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