CN112639878A - 无监督深度预测神经网络 - Google Patents

无监督深度预测神经网络 Download PDF

Info

Publication number
CN112639878A
CN112639878A CN201980057913.8A CN201980057913A CN112639878A CN 112639878 A CN112639878 A CN 112639878A CN 201980057913 A CN201980057913 A CN 201980057913A CN 112639878 A CN112639878 A CN 112639878A
Authority
CN
China
Prior art keywords
image
warped
depth
neural network
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
CN201980057913.8A
Other languages
English (en)
Inventor
文森特·迈克尔·卡塞尔
索伦·皮尔克
雷扎·马乔里安
阿内利亚·安格洛瓦
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 CN112639878A publication Critical patent/CN112639878A/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/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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • 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/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • 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/30244Camera pose

Landscapes

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

Abstract

描述了一种用于生成图像的深度输出的系统。该系统接收描绘相同场景的输入图像,每个输入图像包括一个或多个潜在对象。该系统为每个输入图像生成相应的背景图像,并对背景图像进行处理以生成表征在输入图像之间的相机的运动的相机运动输出。对于每个潜在对象,系统基于输入图像和相机运动输出生成潜在对象的相应的对象运动输出。该系统使用深度预测神经网络(NN)处理输入图像的特定输入图像以生成特定输入图像的深度输出,并基于特定深度输出、相机运动输出、以及潜在对象的对象运动输出来更新深度预测NN的参数的当前值。

Description

无监督深度预测神经网络
相关申请的交叉引用
本申请要求于2018年9月5日提交的美国临时申请序列号62/727,502的优先权。在先申请的公开内容被视为本申请的公开内容的一部分,并且通过引用并入本申请的公开内容中。
背景技术
本说明书涉及使用神经网络处理图像。
机器学习模型接收输入,并基于接收到的输入生成输出,例如,预测输出。一些机器学习模型是参数模型,并且基于接收到的输入并且基于该模型的参数的值生成输出。
一些机器学习模型是深度模型,其采用多层模型来为接收到的输入生成输出。例如,深度神经网络是一种深度机器学习模型,其包括输出层和一个或多个隐藏层,每个隐藏层将非线性变换应用于接收到的输入以生成输出。
发明内容
本说明书描述一种作为计算机程序实现在一个或多个位所中的一个或多个计算机上的神经网络系统,该神经网络系统包括相机运动估计神经网络、对象运动估计神经网络和深度预测神经网络。
能够实现本说明书中描述的主题的特定实施例以便实现以下优点中的一个或多个。本说明书中描述的主题通常涉及无监督学习技术,这些无监督学习技术允许神经网络系统比常规方法更准确地且更高效地直接从单眼视频预测深度和自我运动。虽然对于许多基于测程法的任务,即,需要使用来自运动传感器的数据来估计随着时间的位置变化的任务(例如,动态场景中的机器人导航),针对移动对象的精确的深度预测和精确的自我运动估计是至关重要的,但是在先工作主要集中于相机自我运动,从而留下对象运动未解决。相比之下,所描述的技术与相机自我运动一起在3D中显式地对个别对象的运动进行建模,从而产生更精确的深度和自我运动估计结果。
此外,采用监督学习方法的在先工作需要昂贵的深度传感器,其在大多数机器人场景中可能不容易获得并可能引入其自己的传感器噪声。相比之下,本文描述的主题解决场景深度、相机运动和目标运动的无监督学习,其中监督通过由相机—用于机器人的最便宜、限制最小且最普及的传感器拍摄的单眼视频来提供。附加监督或传感器不是必需的。这确保可容易地获得用于训练深度、对象运动和相机运动神经网络的训练数据,即,因为能够在机器人代理的正常操作的过程中容易地收集大量未标记的单眼视频。因此,本文描述的技术在大多数机器人场景中可适用。
此外,本文描述的技术显式地对如输入图像中描绘的场景中的个别移动对象的3D运动以及相机自我运动进行建模。通过将输入图像的局部结构引入到学习过程中,这些技术使得神经网络系统能够通过利用对多个帧进行在线细化(也称为“在线融合”)来学习而适应新环境。在在线融合模式期间,神经网络系统能够一起执行训练和推理。也就是说,神经网络系统能够运行一个或多个优化步骤以更新神经网络的参数的当前值,如同它在计算期望输出之前或之后处于训练模式下一样。在线融合允许这些神经网络了解未知环境的飞行深度和自我运动。例如,通过将在城市场景中为机器人导航收集的数据上训练的模型转移到室内导航设定,这使得能够跨环境转移学习。
本说明书的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1示出示例神经网络系统的架构。
图2是用于构造损失函数以联合训练相机运动估计神经网络、对象运动估计神经网络和深度预测神经网络的示例过程的流程图。
图3是用于训练相机运动估计神经网络、对象运动估计神经网络和深度预测神经网络的示例过程的流程图。
在各种附图中,相同的附图标记和名称指示相同的元件。
具体实施方式
本说明书描述了被实现为在一个或多个位所的一个或多个计算机上的计算机程序的一种神经网络系统,其包括相机运动估计神经网络、对象运动估计神经网络和深度预测神经网络。
图1示出神经网络系统100的示例架构。神经网络系统100是作为计算机程序实现在一个或多个位所中的一个或多个计算机上的系统的示例,其中能够实现下述系统、组件和技术。通常,神经网络系统100被配置成处理输入图像序列以针对输入图像生成深度和运动输出。
如图1所示,神经网络系统100包括相机运动估计神经网络104(为了简单也称为“相机运动NN 104”)、对象运动估计神经网络106(或“对象运动NN 106”)和深度预测神经网络108(或“深度NN 108”)。相机运动NN 104、对象运动NN 106和深度NN 108中的每一个均可以包括一个或多个卷积神经网络层。在一些实现方式中,相机运动NN 104、对象运动NN 106和深度NN 108是全卷积神经网络。
在Zhou,T.;Brown,M.;Snavely,N.;和Lowe,D.2017.“Unsupervised learning ofdepth and ego-motion from video.”Conference on Computer Vision and PatternRecognition(CVPR)中描述了相机运动NN 104的示例架构。
在Zhou,T.;Brown,M.;Snavely,N.;和Lowe,D.2017,"Unsupervised learning ofdepth and ego-motion from video,"CVPR中并在Godard,C.;Aodha,O.M.;和Brostow,G.J.2017,“Unsupervised monocular depth estimation with left-rightconsistency,”CVPR中描述了深度NN 108的示例架构。
在一些实现方式中,对象运动NN 106的架构与相机运动NN 104相同但是具有不同的参数,因为对象运动NN 106被配置成学习对象的运动。
对象运动NN 106的示例是这样的卷积神经网络,该卷积神经网络具有7个卷积神经网络层,其后面是1x1卷积,其后面是被应用于1x1卷积的输出的均值。例如,1x1卷积输出6个输出并且均值被应用于6个输出以获得6维矢量。替换地,对象运动NN 106能够具有更多或更少的神经网络层,能够使用全连接层并且能够具有诸如较小尺寸的其他变化。
系统100被配置成接收图像序列102并使用神经网络104、106和108中的每一个来处理图像序列102,以生成相应的深度或运动输出。
输入图像序列102可以包括由机器人代理的相机捕获的视频帧。作为另一示例,输入图像序列102可以包括由移动设备的相机(例如,当手持商用电话的用户正在骑自行车时由该电话的相机)捕获的单眼视频的帧。输入图像中的每一个均包括一个或多个潜在对象(例如,汽车、卡车、摩托车、自行车、行人和动物)。
在一些实现方式中,图像序列102可以包括视频的连续帧。然而,序列102不一定必须包括来自视频的所有帧。例如,在一些实现方式中,序列102可以包括视频的每隔一帧。
深度NN 108被配置成从序列102接收图像并处理该图像以根据深度NN 108的参数的当前值来生成该图像的深度输出。在一些实现方式中,深度NN 108被配置成处理序列102中的图像中的每一个以生成每个图像的相应的深度输出。在图1的示例中,系统100接收三个图像(I1、I2、I3)的序列。深度NN 108接收图像I2作为输入并处理图像I2以生成深度输出D2
由深度NN 108针对给定图像生成的深度输出是深度图,该深度图包括针对给定图像中的多个像素中的每个像素例如针对所有像素或这些像素的某个预先确定的适当子集的预测深度值。像素的深度值是(i)在其中记录给定图像的平面和(ii)在像素处描绘的场景(例如,对象的实际或虚拟位所或像素描绘的对象的一部分)之间的垂直距离的表示。在其中记录图像的平面可以为焦平面,例如,机器人代理的相机的焦平面或移动设备的相机的焦平面。
相机运动NN 104通常被配置成处理一对图像以根据相机运动NN104的参数的当前值来生成表征在两个图像之间的相机的运动的相机运动输出。因为在序列102中的输入图像中存在潜在移动对象,所以为了准确地估计在输入图像之间的相机的运动,系统100首先从输入图像中屏蔽掉对象运动。为了这样做,系统100针对输入图像中的每一个生成相应的背景图像,该相应的背景图像包括输入图像的未描绘输入图像中的潜在对象中的任一个的部分。系统100然后使用相机运动NN 104来处理背景图像以针对序列102中的每对输入图像生成相应的相机运动输出,该相应的相机运动输出表征在该对中的两个输入图像之间的相机的运动。相机运动输出是自我运动矢量,该自我运动矢量定义相机从其在拍摄输入图像对中的第一图像时的视点到其在拍摄该对中的第二图像时的视点的旋转和平移。例如,自我运动矢量包括用于三个平移分量tx、ty、tz的三个值和用于三个旋转分量rx、ry、rz的三个值。
为了图示系统100如何针对序列102中的输入图像中的每一个生成相应的背景图像,令
Figure BDA0002961724610000061
表示每序列(I1,I2,I3)中的每个潜在对象i的实例对准对象分割掩码(mask),其中HxW是输入图像的大小,i∈{1,2,...,N}其中N是序列中的输入图像中的每一个中的潜在对象的数目。为了计算相机运动,首先将对象运动从输入图像中屏蔽掉。更具体地,系统100通过对于输入图像中的潜在对象取二进制对象分割掩码Si的并集的补集(complement)来生成背景分割掩码如下:
O0(S)=1-∪iSi, (1)
其中Oj(S)=Sj,j>0仅对于对象j返回二进制对象分割掩码。特别地,二进制分割掩码Sj包括矩阵,其中矩阵的每个元素对应于输入图像中的相应像素,并且每个元素可以具有值1或0。如果矩阵的元素具有值1,则输入图像中的相应像素属于对象j。如果矩阵的元素具有值0,则输入图像中的相应像素不属于对象j。为了生成背景分割掩码,系统100取所有二进制对象分割掩码的并集,然后确定该并集的逆以获得不包含任何潜在移动对象的区域。
系统100通过取针对序列中的输入图像而生成的背景分割掩码的逐像素乘积来生成组合背景分割掩码V:
V=O0(S1)⊙O0(S2)⊙O0(S3), (2)
其中⊙表示逐元素乘法运算。
系统100通过取组合背景分割掩码和输入图像的逐像素乘积来针对每个输入图像生成相应的背景图像。所得的背景图像序列被表示为I1⊙VI2⊙V,I3⊙V。
系统100将背景图像序列作为输入提供给相机运动NN 104。相机运动NN 104被配置成处理背景图像序列以生成相机运动输出如下:
E1→2,E2→3=ψE(I1⊙V,I2⊙V,I3⊙V) (3)
其中ψE表示相机运动NN 104。相机运动输出包括(i)表示在第一输入图像I1与第二输入图像I2之间的相机的运动的第一相机运动估计E1→2,以及(ii)表示在第二输入图像I2与第三输入图像I3之间的相机的运动的第二相机运动估计E2→3。更具体地,第一相机运动估计E1→2是将相机的方位和定向从其在拍摄第一输入图像时的视点变换为其在拍摄第二输入图像时的视点的第一变换矩阵。第二相机运动估计E2→3是将相机的位置和定向从其在拍摄第二输入图像时的视点变换为其在拍摄第三输入图像时的视点的第二变换矩阵。
在处理背景图像以生成相机运动输出之后,系统100使用对象运动NN 106来根据对象运动NN 106的参数的当前值基于输入图像序列和相机运动输出针对潜在对象中的每一个生成相应的对象运动输出。相应的对象运动输出表征潜在对象在其如出现在输入图像中的位置之间的运动。
特别地,系统100通过使用相机运动输出来在输入图像序列上应用扭曲(warp)操作
Figure BDA0002961724610000071
而生成扭曲图像序列,被表示为
Figure BDA0002961724610000072
更具体地,扭曲操作
Figure BDA0002961724610000073
是可微的并且能够被表达如下:
Figure BDA0002961724610000074
其中
Figure BDA0002961724610000075
是通过考虑到输入图像Ij的对应深度输出Dj和相机运动估计Ei→j将输入图像Ii扭曲成Ij而生成的经重建的第j图像。对于扭曲图像序列
Figure BDA0002961724610000076
中的每个扭曲图像,系统100生成相应的扭曲分割掩码,被表示为
Figure BDA0002961724610000077
对于潜在对象中的每一个,第i个对象的对象运动输出M(i)被计算为:
Figure BDA0002961724610000081
其中ψM表示对象运动NN 106并且⊙表示逐元素乘法操作。
Figure BDA0002961724610000082
是表示潜在对象在其如出现在第一输入图像I1中的第一位置与其如出现在第二输入图像I2中的第二位置之间的运动的变换矩阵。
Figure BDA0002961724610000083
是表示潜在对象在其如出现在第二输入图像I2中的第二位置与其如出现在第三输入图像I3中的第三位置之间的运动的变换矩阵。
虽然
Figure BDA0002961724610000084
表示对象运动,但是它们正在对相机会如何移动进行建模以便说明对象外观,而不是直接说明对象运动。作为示例,如果汽车正从左向右横过交叉口,则变换矩阵会将相机从右向左移动,使得当观察者正在仅看着汽车时,汽车似乎事实上已移到右边。
为了针对图像序列高效地生成深度和运动输出,神经网络系统100包括训练引擎112,该训练引擎是被编程为使用无监督学习技术来联合地训练相机运动NN 104、深度NN108和对象运动NN 106的基于软件的系统、子系统或过程。通常,训练引擎118将被实现为安装在一个或多个位所的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定引擎;在其他情况下,能够在相同的一个或多个计算机上安装并运行多个引擎。
为了联合地训练相机运动NN 104、深度NN 108和对象运动NN 106,训练引擎112基于扭曲图像序列、对象分割掩码序列、组合背景分割掩码、对象运动输出、相机运动输出以及由如上所述的系统100及神经网络104、106和108所生成的深度输出来确定损失函数的梯度的估计。训练引擎112反向传播损失函数的梯度的估计以联合地调整相机运动NN 104、深度NN 108和对象运动NN 106的参数的当前值。
在下面参考图2详细地描述用于构造用于联合地训练相机运动NN 104、深度NN108和对象运动NN 106的损失函数的示例过程。
在已更新了神经网络104、106和108的参数的值之后,系统100能够使用神经网络104、106和108中的一个或多个来处理一个或多个新输入图像以生成期望输出。例如,系统100能够使用深度NN 108来处理新输入图像以根据深度输出110的参数的更新值来生成新输入图像的深度输出110。
图2是用于构造用于联合地训练相机运动估计神经网络、对象运动估计神经网络和深度预测神经网络的损失函数的示例过程的流程图。为了方便,过程200将被描述为由位于一个或多个位所的一个或多个计算机的系统执行。例如,依照本说明书适当地编程的神经网络系统,例如图1的神经网络系统100,能够执行过程200。
系统通过执行以下操作来生成第一全扭曲图像(步骤202)。
对于一个或多个潜在对象中的每个潜在对象,系统对扭曲图像序列中的第一扭曲图像应用逆扭曲操作,其中该操作由深度输出D2和潜在对象的第一对象运动估计参数化以获得
Figure BDA0002961724610000091
Figure BDA0002961724610000092
系统针对对象i计算
Figure BDA0002961724610000093
和相应的二进制对象分割掩码Oi(S2)的逐像素乘积以生成第一临时扭曲对象图像,被表示为
Figure BDA0002961724610000094
系统通过组合扭曲图像序列中的第一扭曲图像和组合背景分割掩码来生成第一临时扭曲背景图像。第一临时扭曲背景图像被表示为
Figure BDA0002961724610000095
系统通过如下组合第一临时扭曲背景图像和第一临时扭曲目标图像来生成第一全扭曲图像,被表示为
Figure BDA0002961724610000096
Figure BDA0002961724610000097
类似地,系统通过执行以下操作来生成第二全扭曲图像(步骤204)。
对于一个或多个潜在对象中的每个潜在对象i,系统对扭曲图像序列中的第三扭曲图像应用逆扭曲操作,其中该操作由深度输出D2和潜在对象的第二对象运动估计的逆参数化以获得
Figure BDA0002961724610000101
Figure BDA0002961724610000102
系统针对对象i计算
Figure BDA0002961724610000103
和相应的二进制对象分割掩码Oi(S2)的逐像素乘积以针对每个对象i生成第一临时扭曲对象图像,被表示为
Figure BDA0002961724610000104
系统通过组合扭曲图像序列中的第三扭曲图像和组合背景分割掩码来生成第二临时扭曲背景图像。第二临时扭曲背景图像被表示为
Figure BDA0002961724610000105
系统通过如下组合第二临时扭曲背景图像和第二临时扭曲对象图像来生成第二全扭曲图像,被表示为
Figure BDA0002961724610000106
Figure BDA0002961724610000107
在生成第一全扭曲图像和第二全扭曲图像之后,系统构造被用于训练的损失函数的分量如下。
系统构造第一全扭曲图像及第二全扭曲图像和第二输入图像之间的重构损失(步骤206)。该重构损失被计算为从第一输入图像或第三输入图像扭曲成第二图像(即,三个图像序列中的中间图像)之间的最小重构损失:
Figure BDA0002961724610000108
以避免由于明显的遮挡/去除遮挡效应而导致的惩罚。
系统构造表示第一全扭曲图像及第二全扭曲图像和第二图像之间的不相似度的结构化相似度损失(步骤208)。系统能够构造结构化相似度损失如下:
Figure BDA0002961724610000111
其中SSIM(x,y)是表示从图像x中提取的图像补片与从图像y中提取的图像补片之间的相似度的索引。在Wang,Z.;Bovik,A.C.;Sheikh,H.R.;和Simoncelli,E.P.2004.“Image quality assessment:from error visibility to structural similarity.”Transactions on Image Processing中详细地描述了SSIM(x,y)索引的示例形式。
系统构造由深度输出和第二输入图像定义的深度平滑损失(步骤210)。深度平滑损失是对深度预测的图像感知平滑损失。它在允许深度在图像边缘附近变化的同时在均匀颜色区域中强制平滑度:
Figure BDA0002961724610000112
其中Ii,j表示在给定图像I的坐标(i,j)处的图像像素,
Figure BDA0002961724610000113
是与Ii,j对应的估计深度,并且
Figure BDA0002961724610000114
是梯度。通过考虑图像I的梯度,深度平滑度损失在图像中存在陡变化的像素坐标处允许实现陡深度变化。偏导数
Figure BDA0002961724610000115
用于提取水平和垂直方向上的图像边缘。它们被应用于图像和深度图两者,从而允许具有平滑深度图,即在边缘上绝对值较小。如果图像在特定位所处确实具有边缘,则不期望深度和在那里一样平滑,即对于这些区域,深度将受到惩罚较少。
系统构造损失函数(步骤214)。损失函数是(i)重构损失、(ii)结构化相似度损失和(iii)深度平滑损失的加权组合。例如,损失函数能够具有以下形式:
Figure BDA0002961724610000116
其中αi是预定超参数。能够在4个尺度上应用总损失L,即,能够将损失重新应用于图像和图像的三个子采样版本。
在一些实现方式中,为了改进深度预测的准确性,系统在以上损失函数中包括对象大小损失以强加对象大小约束。
通过强加对象大小约束,系统能够解决先前工作中指出的常见问题,即诸如在前面以大致相同的速度移动的汽车的对象常常得以被投影到无限深度中。这是因为在前面的对象未示出表观运动,并且如果网络将其估计为无限远的,则重投影误差几乎减小为零,这对正确情况而言是优选的。先前工作已指出这个明显的局限性,但是除了用立体图像扩增训练数据集之外尚未提供解决方案。然而,立体图像的普及程度不及单眼视频,这将限制该方法的适用性。
人们观察到,如果模型不了解对象尺度,则可能通过将对象放置得非常远并预测非常明显的运动(假定它非常大)或者将对象放置得非常近并预测很少的运动(假定它非常小)来说明同一对象运动。通过强加对象大小约束,系统允许深度预测神经网络学习对象的尺度作为训练过程的一部分,从而能够在3D中对对象进行建模。假定某些对象例如汽车的高度先验弱,能够考虑到对象分割掩码和使用
Figure BDA0002961724610000121
的相机内联函数来获得对象的近似深度估计,其中fy∈R是焦距,p∈R是世界单位的先验高度,并且
Figure BDA0002961724610000122
是以像素为单位的相应的分段块的高度。
在实践中,不期望手动估计此类约束,并且由网络产生的深度预测尺度是未知的。因此,系统允许深度预测神经网络在无需附加输入的情况下同时地学习所有约束。
考虑到上文,系统在输入图像中的每个对象i(i=1,...,N)的尺度上构造对象尺寸损失项。令
Figure BDA0002961724610000123
为任何对象i定义类别ID,并且pj是每个类别ID j先验的可学习高度。令D为描述每个潜在对象的深度估计的深度图,并且令S为所对应的对象轮廓模板,并且令
Figure BDA0002961724610000132
为深度图D的均值。系统应用对象大小损失,该对象大小损失表示(i)基于深度NN108的输出对每个潜在对象的深度预测与(ii)基于潜在对象在现实世界中的大小在潜在对象的位所处的近似深度估计之间的差如下:
Figure BDA0002961724610000131
对象大小损失能够有效地防止所有分段的对象退化成无限深度,并且迫使网络不仅产生合理深度,而且还产生匹配的对象运动估计。
在用损失函数的损失分量构造损失函数之后,系统生成损失函数的梯度的估计并反向传播梯度的估计,以联合地调整深度网络的深度参数的当前值和相机运动网络的运动参数的当前值(步骤218)。系统能够通过使用最小批随机优化或随机梯度优化方法来联合地调整深度参数和运动参数的当前值,以使损失函数最小化。
图3是用于训练相机运动估计神经网络、对象运动估计神经网络和深度预测神经网络的示例过程300的流程图。为了方便起见,将过程300描述为由位于一个或多个位所的一个或多个计算机的系统执行。例如,根据该说明书适当地编程的神经网络系统,例如,图1的神经网络系统100,可以执行过程300。
系统接收描绘相同场景的输入图像序列(步骤302)。相机在不同的时间步捕获输入图像。每个输入图像包括一个或多个潜在对象。
对于输入图像序列中的每个输入图像,系统生成相应的背景图像,该背景图像包括输入图像的未描绘输入图像中的任何潜在对象的部分(步骤304)。
特别地,系统为输入图像中的每个潜在对象生成该潜在对象的相应对象分割掩码。该系统通过取输入图像中的潜在对象的对象分割掩码的并集的补集来生成输入图像的背景分割掩码。该系统通过取组合的背景分割掩码和输入图像的逐像素乘积来生成输入图像的相应背景图像。组合的背景分割掩码是针对序列中的输入图像生成的背景分割掩码的逐像素乘积。
系统使用相机运动估计神经网络处理背景图像,以生成相机运动输出,该相机运动输出表征序列中得输入图像之间的相机的运动(步骤306)。相机运动估计神经网络被配置成处理背景图像以根据相机运动估计神经网络的参数的当前值来生成相机运动输出。
相机运动输出包括(i)表示在第一输入图像和第二输入图像之间的相机的运动的第一相机运动估计,以及(ii)表示在第二输入图像和第三输入图像之间的相机的运动的第二相机运动估计。更具体地,第一相机运动估计是第一变换矩阵,其将相机的位置和定向从其在拍摄第一输入图像时的视点变换为其在拍摄第二输入图像时的视点。第二相机运动估计是第二变换矩阵,其将相机的位置和定向从其在拍摄第二输入图像时的视点变换为其在拍摄第三输入图像时的视点。
对于一个或多个潜在对象中的每一个,系统使用对象运动估计神经网络基于输入图像序列和相机运动输出来生成潜在对象的相应对象运动输出(步骤308)。相应对象运动输出表征潜在对象在其如在输入图像中出现的位置之间的运动。
特别地,潜在对象的相应对象运动输出包括:(i)第一对象运动估计,该第一对象运动估计是第三变换矩阵,其表示在其如在在第一输入图像中出现的第一位置与其如在第二输入图像中出现的第二位置之间的潜在对象的运动;以及(ii)第二对象运动估计,其是第四变换矩阵,其表示在其如在第二输入图像中出现的第二位置和其如在第三输入图像中出现的第三位置之间的潜在对象的运动。更具体地,第三和第四变换矩阵中的每一个通过描述相机的运动来表示潜在对象的运动,使得当被施加时以及当潜在对象被认为是静态的时,潜在对象出现已经适当地移动。例如,如果汽车正从左向右横过交叉口,则变换矩阵将使相机从右到左移动,使得当仅看着汽车时,汽车似乎事实上已移到右边。
系统使用深度预测神经网络并根据深度预测神经网络的参数的当前值来处理输入图像序列中的特定输入图像,以生成用于特定输入图像的深度输出(步骤310)。
由深度预测神经网络针对给定图像生成的深度输出是深度图,其包括给定图像中的多个像素的每个像素的预测深度值。像素的深度值是(i)记录给定图像的平面与(ii)像素处描绘的场景(例如,像素描绘的对象或对象的一部分的实际或虚拟位所)之间的垂直距离的表示。记录图像的平面可以是焦平面,例如,机器人代理的相机的焦平面或移动设备的相机的焦平面。
系统基于(i)特定输入图像的特定深度输出、(ii)相机运动输出和(iii)一个或多个潜在对象的对象运动输出来更新深度预测神经网络参数的当前值(步骤312)。
特别地,该系统基于输入图像序列、对象运动输出、相机运动输出和深度输出来确定损失函数的梯度的估计。该系统可以使用上面参考图2详细描述的方法来构造损失函数。系统反向传播损失函数的梯度的估计,以联合调整相机运动估计神经网络、对象运动估计神经网络和深度预测神经网络的参数的当前值。
本说明书结合系统和计算机程序组件使用术语“被配置”。对于被配置成执行特定操作或动作的一个或多个计算机的系统,意味着:所述系统已在其上安装软件、固件、硬件或其组合,在操作中使得所述系统执行所述操作或动作。对于被配置成执行特定操作或动作的一个或多个计算机程序,意味着:所述一个或多个程序包括指令,所述指令在被数据处理设备实行时使得所述设备执行所述操作或动作。
所述主题的实施例和本说明书中描述的功能操作可以实现在数字电子电路中、有形体现的计算机软件或固件中、计算机硬件中(包括本说明书中公开的结构及其结构等同物)、或其中的一个或多个的组合中。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序(即,计算机程序指令的一个或多个模块),所述计算机程序编码在有形非暂时性存储介质上,用于由数据处理设备执行或控制数据处理设备的操作。计算机存储介质可以是机器可读存储装置、机器可读存储衬底、随机或串行访问存储器装置、或其中的一个或多个的组合。可替代地或另外,程序指令可以编码在人工生成的传播信号上,例如,机器生成的电、光学或电磁信号,生成所述信号以对信息进行编码,用于传输到合适的接收器设备以由数据处理设备来执行。
术语“数据处理设备”是指数据处理硬件,且包含所有种类的用于处理数据的设备、装置和机器,例如包括可编程处理器、计算机或多个处理器或计算机。所述设备还可以是或还包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,所述设备可以可选地包括创建用于计算机程序的执行环境的代码,例如构成处理器固件、协议堆栈、数据库管理系统、操作系统或其中的一个或多个的组合的代码。
还可以称作或描述为程序、软件、软件应用程序、app、模块、软件模块、脚本或代码的计算机程序可以通过任何形式的编程语言来编写,包括编译或解释语言、或声明性或过程式语言;并且其可以任何形式来部署,包括作为独立程序或作为模块、组件、子例程或适于在计算环境中使用的其他单元。程序可以(但无需)对应于文件系统中的文件。程序可以存储在保持其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中。计算机程序可以被部署为在一个计算机上或多个计算机上执行,所述多个计算机位于一个站点处或跨越多个站点而分布且通过数据通信网络互连。
本说明书中描述的过程和逻辑流可以由执行一个或多个计算机程序的一个或多个可编程计算机来执行,从而通过对输入数据进行操作并生成输出来执行功能。所述过程和逻辑流还可以通过专用逻辑电路(例如,FPGA或ASIC)或者通过专用逻辑电路与一个或多个编程计算机的组合来执行。
适于执行计算机程序的计算机可以基于通用或专用微处理器或两者、或任何其他种类的中央处理单元。通常,中央处理单元将接收来自只读存储器或随机存取存储器或两者的指令和数据。计算机的基本元件是用于执行或实施指令的中央处理单元以及用于存储指令和数据的一个或多个存储器装置。中央处理单元和存储器可以通过专用逻辑电路来补充或并入专用逻辑电路。通常,计算机还将包括用于存储数据的一个或多个大容量存储装置(例如,磁盘、磁光盘或光盘),或者以操作方式耦合以接收来自所述一个或多个大容量存储装置的数据或将数据传送到所述一个或多个大容量存储装置,或两者都有。然而,计算机无需具有此类装置。此外,计算机可以嵌入于另一装置中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储装置,例如通用串行总线(USB)闪存驱动器,这仅是几例。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器装置,例如包括:半导体存储器装置,例如EPROM、EEPROM和快闪存储器装置;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM光盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实现,所述计算机具有用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器),以及用户可以通过其向计算机提供输入的键盘和指向装置,例如鼠标或轨迹球。也可以使用其他种类的装置来提供与用户的交互;例如,提供到用户的反馈可以是任何形式的感官反馈,例如,视觉反馈、听觉反馈或触觉反馈;且来自用户的输入可以以任何形式来接收,包括声学、语音或触觉输入。此外,计算机可以通过向用户使用的装置发送文档并从其接收文档来与用户进行交互;例如,通过响应于从web浏览器接收的请求,将网页发送到用户装置上的web浏览器。而且,计算机可以通过将文本消息或其他形式的消息发送到个人装置(例如,运行消息传递应用的智能电话)并且反过来从用户接收响应消息来与用户交互。
用于实现机器学习模型的数据处理设备还可以包括例如专用硬件加速器单元,用于处理机器学习训练或产生的公共和计算密集型部分,即,推理、工作负载。
机器学习模型可以使用机器学习框架来实现和部署,例如,TensorFlow框架、微软认知工具包(Microsoft Cognitive Toolkit)框架、Apache Singa框架或Apache MXNet框架。
本说明书中描述的主题的实施例可以实现在计算系统中,所述计算系统包括后端组件(例如,作为数据服务器)、或包括中间件组件(例如,应用服务器)、或包括前端组件(例如,具有图形用户界面、web浏览器或用户可以通过其与本说明书中描述的主题的实施方式进行交互的app的客户端计算机)、或者一个或多个此类后端组件、中间件组件或前端组件的任何组合。所述系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)来互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如,互联网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,且通常通过通信网络进行交互。客户端与服务器之间的关系是依靠在相应计算机上运行且彼此具有客户端服务器关系的计算机程序产生的。在一些实施例中,服务器传输数据(例如,HTML页面)到用户装置(例如,为了将数据显示给用户并从用户接收用户输入,所述用户与充当客户端的装置进行交互)。在用户装置处生成的数据(例如,用户交互的结果)可以在服务器处从所述装置接收。
虽然本说明书含有许多特定实施细节,当不应将这些细节理解为对任何发明的范围或对要求保护的内容的范围的限制,而应理解为对可以特定于特定发明的特定实施例的特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征还可以分别实现于多个实施例中或任何合适的子组合中。此外,尽管上文可以将特征描述为在某些组合中起作用且甚至最初也是如此要求保护的,但在一些情况下,来自为所要求保护的组合的一个或多个特征可以从所述组合删除,且所要求保护的组合可以针对子组合或子组合的变型。
类似地,虽然在附图中描绘了操作并且在权利要求中以特定的次序叙述了操作,但此不应理解为要求按所示出的特定次序或按顺序次序来执行此类操作,或执行所有图示的操作,从而实现所需要的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中各种系统模块和组件的分离不应理解为在所有实施例中要求此类分离,并且应理解,一般可以将所描述程序组件和系统一起集成在单个软件产品中或封装在多个软件产品中。
已描述主题的特定实施例。其他实施例也在所附权利要求书的范围内。例如,权利要求书中叙述的动作可以按不同次序执行且仍实现所需要的结果。作为一个示例,附图中描绘的过程不必要求所示出的特定次序或顺序次序来实现所需的结果。在一些情况下,多任务处理和平行处理可能是有利的。

Claims (20)

1.一种系统,包括一个或多个位所中的一个或多个计算机以及存储指令的一个或多个存储设备,所述指令当由一个或多个计算机执行时使所述一个或多个计算机:
接收描绘相同场景的输入图像序列,所述输入图像由相机在不同的时间步捕获,所述输入图像中的每个输入图像包括一个或多个潜在对象;
对于所述输入图像中的每个输入图像,生成相应的背景图像,所述背景图像包括该输入图像的未描绘该输入图像中的任何潜在对象的部分;
使用相机运动估计神经网络处理所述背景图像以生成表征所述序列中的所述输入图像之间的所述相机的运动的相机运动输出;
对于所述一个或多个潜在对象中的每个潜在对象:使用对象运动估计神经网络,基于所述输入图像序列和所述相机运动输出,生成该潜在对象的相应的对象运动输出,所述相应的对象运动输出表征所述潜在对象如在所述输入图像中出现的位置之间的所述潜在对象的运动;
使用深度预测神经网络并且根据所述深度预测神经网络的参数的当前值来处理所述输入图像序列中的特定输入图像,以生成所述特定输入图像的深度输出;以及
基于(i)所述特定输入图像的所述特定深度输出、(ii)所述相机运动输出和(iii)所述一个或多个潜在对象的所述对象运动输出,来更新所述深度预测神经网络的参数的当前值。
2.根据权利要求1所述的系统,其中,所述输入图像序列是由所述相机捕获的视频帧。
3.根据权利要求1或2中的任一项所述的系统,其中,所述输入图像序列包括第一输入图像、第二输入图像以及第三输入图像。
4.根据权利要求3所述的系统,其中,所述深度输出包括针对所述第二图像中的多个像素中的每个像素的估计的深度值,所述估计的深度值表示在所述像素处描绘的场景距所述第二图像的焦平面的相应距离。
5.根据权利要求1至4中的任一项所述的系统,其中,对于所述输入图像序列中的每个输入图像,生成所述输入图像的相应的背景图像包括:
生成所述输入图像中的每个潜在对象的相应的对象分割掩码,
通过取所述输入图像中的所述潜在对象的对象分割掩码的并集的补集来生成背景分割掩码,以及
通过取组合的背景分割掩码和所述输入图像的逐像素乘积,生成所述输入图像的所述相应的背景图像,
其中,所述组合的背景分割掩码是针对所述序列中的所述输入图像生成的所述背景分割掩码的逐像素乘积。
6.根据权利要求3至5中的任一项所述的系统,其中,所述指令进一步包括以下指令,该指令在由所述一个或多个计算机执行时,使所述一个或多个计算机:
在处理所述背景图像以生成所述相机运动输出之后,通过使用所述相机运动输出对所述输入图像序列应用扭曲操作来生成扭曲图像序列;并且
其中,对于所述一个或多个潜在对象中的每个潜在对象,生成所述潜在对象的相应的对象运动输出包括:
对于所述扭曲图像序列中的每个扭曲图像:
生成所述扭曲图像中的所述潜在对象的相应的扭曲分割掩码,以及
通过取所述扭曲图像和所述相应的扭曲分割掩码的逐像素乘积来生成所述扭曲图像的相应的对象图像;并且
使用所述对象运动估计神经网络处理(i)所述扭曲图像序列中的所述第一扭曲图像的对象图像、(ii)所述第二输入图像和(iii)所述扭曲图像序列中的所述第三扭曲图像的对象图像,以生成所述潜在对象的所述相应的对象运动输出。
7.根据权利要求3至6中的任一项所述的系统,其中,所述相机运动输出包括:(i)第一相机运动估计,所述第一相机运动估计表示在所述第一输入图像和所述第二输入图像之间的所述相机的运动;以及(ii)第二相机运动估计,所述第二相机运动估计表示所述第二输入图像和所述第三输入图像之间的所述相机的运动。
8.根据权利要求7所述的系统,其中,所述第一相机运动估计是第一变换矩阵,所述第一变换矩阵将所述相机的位置和定向从在拍摄所述第一输入图像时的相机的视点变换成在拍摄所述第二输入图像时的相机的视点。
9.根据权利要求7或8中的任一项所述的系统,其中,所述第二相机运动估计是第二变换矩阵,所述第二变换矩阵将所述相机的位置和定向从在拍摄所述第二输入图像时的相机的视点变换成在拍摄所述第三输入图像时的相机的视点。
10.根据权利要求3至9中的任一项所述的系统,其中,潜在对象的对象运动输出包括:(i)第一对象运动估计,所述第一对象运动估计是第三变换矩阵,所述第三变换矩阵表示所述潜在对象如在所述第一输入对象中出现的第一位置与所述潜在对象如在所述第二输入图像中出现的第二位置之间的所述潜在对象的运动;和(ii)第二对象运动估计,所述第二对象运动估计是第四变换矩阵,所述第四变换矩阵表示所述潜在对象如在所述第二输入图像中出现的所述第二位置与所述潜在对象如在所述第三输入图像中出现的第三位置之间的所述潜在对象的运动。
11.根据权利要求1至10中的任一项所述的系统,其中,所述深度预测神经网络包括一个或多个卷积神经网络层。
12.根据权利要求1至11中的任一项所述的系统,其中,所述相机运动估计神经网络包括一个或多个卷积神经网络层。
13.根据权利要求1至12中的任一项所述的系统,其中,所述对象运动估计神经网络包括一个或多个卷积神经网络层。
14.根据权利要求1至13中的任一项所述的系统,其中,已经使用无监督学习技术对所述相机运动估计神经网络、所述对象运动估计神经网络和所述深度预测神经网络进行联合训练。
15.根据权利要求5所述的系统,其中,更新所述深度预测神经网络的参数的当前值包括:
基于所述扭曲图像序列、所述对象分割掩码序列、所述组合的背景分割掩码、所述对象运动输出、所述相机运动输出以及所述深度输出来确定损失函数的梯度的估计,以及
反向传播所述损失函数的梯度的估计,以联合地调整所述相机运动估计神经网络、所述对象运动估计神经网络和所述深度预测神经网络的参数的当前值。
16.根据权利要求15所述的系统,其中,确定所述损失函数的梯度的估计包括:
通过执行下述操作来生成第一全扭曲图像:
对于一个或多个潜在对象中的每个潜在对象,对所述扭曲图像序列中的所述第一扭曲图像应用逆扭曲操作,其中,所述操作由所述特定输入图像的所述深度输出和所述潜在对象的第一对象运动估计来参数化,并且将所述结果与所述相应的对象分割掩码进行组合来生成第一临时扭曲对象图像,
通过将所述扭曲图像序列中的所述第一扭曲图像与所述组合的背景分割掩码进行组合来生成第一临时扭曲背景图像,
通过将所述第一临时扭曲背景图像与所述第一临时扭曲对象图像进行组合来生成所述第一全扭曲图像;
通过执行以下操作来生成第二全扭曲图像:
对于一个或多个潜在对象中的每个潜在对象,对所述扭曲图像序列中的所述第三扭曲图像应用所述逆扭曲操作,其中,所述操作由所述特定输入图像的所述深度输出和所述潜在对象的第二对象运动估计来参数化,并且将所述结果与所述相应的对象分割掩码进行组合来生成第二临时扭曲背景图像,
通过将所述扭曲图像序列中的所述第三扭曲图像与所述组合的背景分割掩码进行组合来生成第二临时扭曲背景图像,
通过将所述第二临时扭曲背景图像与所述第二临时扭曲对象图像进行组合来生成所述第二全扭曲图像;并且
其中所述损失函数包括(i)表示所述第一全扭曲图像和所述第二全扭曲图像与所述第二输入图像之间的重构损失的第一分量,(ii)表示所述第一全扭曲图像和所述第二全扭曲图像与所述第二图像之间的不相似度的第二分量,以及(iii)表示由所述深度输出和所述第二输入图像定义的深度平滑损失的第三分量。
17.根据权利要求16所述的系统,其中,所述损失函数进一步包括对象大小损失分量,所述对象大小损失分量表示在以下之间的差:(i)基于所述深度预测神经网络的输出对每个潜在对象的深度预测,以及(ii)基于所述潜在对象在现实世界中的大小在所述潜在对象的位所处的近似深度估计。
18.一种方法,包括由根据权利要求1至17中的任一项所述的系统执行的相应操作。
19.一种由根据权利要求1至17中的任一项所述的深度预测神经网络执行的方法,所述方法包括:
接收图像作为输入;
根据所述深度预测神经网络的参数的当前值来处理所述图像,以生成所述输入图像的深度的估计。
20.一种用指令编码的一个或多个计算机存储介质,所述指令当被一个或多个计算机执行时,使所述一个或多个计算机执行根据权利要求18或权利要求19所述的方法。
CN201980057913.8A 2018-09-05 2019-09-05 无监督深度预测神经网络 Pending CN112639878A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862727502P 2018-09-05 2018-09-05
US62/727,502 2018-09-05
PCT/US2019/049643 WO2020051270A1 (en) 2018-09-05 2019-09-05 Unsupervised depth prediction neural networks

Publications (1)

Publication Number Publication Date
CN112639878A true CN112639878A (zh) 2021-04-09

Family

ID=67998727

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980057913.8A Pending CN112639878A (zh) 2018-09-05 2019-09-05 无监督深度预测神经网络

Country Status (4)

Country Link
US (2) US11783500B2 (zh)
EP (1) EP3847619B1 (zh)
CN (1) CN112639878A (zh)
WO (1) WO2020051270A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11527005B2 (en) * 2019-07-22 2022-12-13 Samsung Electronics Co., Ltd. Video depth estimation based on temporal attention
US11315274B2 (en) 2019-09-20 2022-04-26 Google Llc Depth determination for images captured with a moving camera and representing moving features
CN111540000B (zh) * 2020-04-28 2021-11-05 深圳市商汤科技有限公司 场景深度和相机运动预测方法及装置、电子设备和介质
US11960294B2 (en) * 2020-07-13 2024-04-16 Naver Corporation Self-supervised attention learning for depth and motion estimation
CN112333379A (zh) * 2020-09-17 2021-02-05 北京迈格威科技有限公司 图像对焦方法、装置及图像采集设备
CN112561978B (zh) * 2020-12-18 2023-11-17 北京百度网讯科技有限公司 深度估计网络的训练方法、图像的深度估计方法、设备
WO2023065038A1 (en) * 2021-10-20 2023-04-27 Airy3D Inc. Methods and systems using depth imaging for training and deploying neural networks for biometric anti-spoofing

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106471526A (zh) * 2014-08-29 2017-03-01 谷歌公司 使用深度神经网络来处理图像
US20180053057A1 (en) * 2016-08-18 2018-02-22 Xerox Corporation System and method for video classification using a hybrid unsupervised and supervised multi-layer architecture
CN108090436A (zh) * 2017-12-13 2018-05-29 深圳市航盛电子股份有限公司 一种运动物体的检测方法、系统及介质
WO2018102717A1 (en) * 2016-12-02 2018-06-07 Google Llc Determining structure and motion in images using neural networks
WO2018102697A1 (en) * 2016-12-02 2018-06-07 Bayerische Motoren Werke Aktiengesellschaft System and method for estimating vehicular motion based on monocular video data
CN108389226A (zh) * 2018-02-12 2018-08-10 北京工业大学 一种基于卷积神经网络和双目视差的无监督深度预测方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10803546B2 (en) * 2017-11-03 2020-10-13 Baidu Usa Llc Systems and methods for unsupervised learning of geometry from images using depth-normal consistency
US10402986B2 (en) * 2017-12-20 2019-09-03 Facebook, Inc. Unsupervised video segmentation
WO2019182974A2 (en) * 2018-03-21 2019-09-26 Nvidia Corporation Stereo depth estimation using deep neural networks

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106471526A (zh) * 2014-08-29 2017-03-01 谷歌公司 使用深度神经网络来处理图像
US20180053057A1 (en) * 2016-08-18 2018-02-22 Xerox Corporation System and method for video classification using a hybrid unsupervised and supervised multi-layer architecture
WO2018102717A1 (en) * 2016-12-02 2018-06-07 Google Llc Determining structure and motion in images using neural networks
WO2018102697A1 (en) * 2016-12-02 2018-06-07 Bayerische Motoren Werke Aktiengesellschaft System and method for estimating vehicular motion based on monocular video data
US20180157918A1 (en) * 2016-12-02 2018-06-07 Bayerische Motoren Werke Aktiengesellschaft System and Method for Estimating Vehicular Motion Based on Monocular Video Data
CN108090436A (zh) * 2017-12-13 2018-05-29 深圳市航盛电子股份有限公司 一种运动物体的检测方法、系统及介质
CN108389226A (zh) * 2018-02-12 2018-08-10 北京工业大学 一种基于卷积神经网络和双目视差的无监督深度预测方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANURAG RANJAN 等: "Adversarial Collaboration: Joint Unsupervised Learning of Depth, Camera Motion, Optical Flow and Motion Segmentation", 《ARXIV:1805.09806V1》, 24 May 2018 (2018-05-24), pages 1 - 16 *
REZA MAHJOURIAN 等: "Unsupervised Learning of Depth and Ego-Motion from Monocular Video Using 3D Geometric Constraints", 《ARXIV:1802.05522V1》, 15 February 2018 (2018-02-15), pages 1 - 9 *
朱培逸 等: "基于数学形态学图像分割算法在水果分级中的应用", 《科学技术与工程》, vol. 13, no. 34, 31 December 2013 (2013-12-31), pages 10375 - 10380 *

Also Published As

Publication number Publication date
WO2020051270A1 (en) 2020-03-12
EP3847619B1 (en) 2023-11-01
US20230419521A1 (en) 2023-12-28
US11783500B2 (en) 2023-10-10
EP3847619A1 (en) 2021-07-14
US20210319578A1 (en) 2021-10-14

Similar Documents

Publication Publication Date Title
JP7050888B2 (ja) イメージ深度予測ニューラルネットワーク
CN110062934B (zh) 使用神经网络确定图像中的结构和运动
CN112639878A (zh) 无监督深度预测神经网络
JP7295906B2 (ja) ニューラルネットワークを使用したシーンの理解および生成
Yin et al. Scale recovery for monocular visual odometry using depth estimated with deep convolutional neural fields
US11100646B2 (en) Future semantic segmentation prediction using 3D structure
CN111386550A (zh) 图像深度和自我运动预测神经网络的无监督学习
US20220262032A1 (en) Systems and Methods for Geolocation Prediction
Mahjourian et al. Geometry-based next frame prediction from monocular video
CN111739005B (zh) 图像检测方法、装置、电子设备及存储介质
US20220327730A1 (en) Method for training neural network, system for training neural network, and neural network
JP2024507727A (ja) 潜在変数で条件付けた幾何学的形状認識ニューラルネットワークを使用した、シーンの新規画像のレンダリング
Wang et al. Unsupervised learning of accurate camera pose and depth from video sequences with Kalman filter
EP3935566A1 (en) Unsupervised learning of object keypoint locations in images through temporal transport or spatio-temporal transport
Komatsu et al. Octave deep plane-sweeping network: reducing spatial redundancy for learning-based plane-sweeping stereo
Zhang et al. Video extrapolation in space and time
Sun et al. Accurate deep direct geo-localization from ground imagery and phone-grade gps
Nadar et al. Sensor simulation for monocular depth estimation using deep neural networks
Egipko et al. Real-time deep learning-based object recognition in augmented reality
CN116051832A (zh) 车辆的三维标注方法和装置
WO2023170070A1 (en) Tracking query points in videos using neural networks
CN118071807A (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