CN110062934A - 使用神经网络确定图像中的结构和运动 - Google Patents
使用神经网络确定图像中的结构和运动 Download PDFInfo
- Publication number
- CN110062934A CN110062934A CN201780076244.XA CN201780076244A CN110062934A CN 110062934 A CN110062934 A CN 110062934A CN 201780076244 A CN201780076244 A CN 201780076244A CN 110062934 A CN110062934 A CN 110062934A
- Authority
- CN
- China
- Prior art keywords
- image
- output
- movement
- generate
- scene
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/269—Analysis of motion using gradient-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/215—Motion-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
一种系统包括编码器神经网络、场景结构解码器神经网络和运动解码器神经网络。编码器神经网络被配置为:接收第一图像和第二图像;并处理第一图像和第二图像以生成第一图像和第二图像的编码表示。场景结构解码器神经网络被配置为处理编码表示以生成表征第一图像中描绘的场景的结构的结构输出。运动解码器神经网络被配置为处理编码表示以生成表征第一图像与第二图像之间的运动的运动输出。
Description
对相关申请的交叉引用
本申请要求于2016年12月2日提交的序列号为62/429,637的美国临时申请的优先权。该在先申请的公开被认为是本申请的公开的一部分,并且通过引用合并在本申请的公开中。
技术领域
本说明书涉及使用神经网络处理图像,例如,视频帧。
背景技术
神经网络是机器学习模型,其采用一层或多层非线性单元来预测针对接收到的输入的输出。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出用作网络中的下一层(即,下一隐藏层或输出层)的输入。网络的每层根据相应参数集的当前值从接收到的输入生成输出。
发明内容
通常,本说明书中描述的主题的一个创新方面可以体现在包括一个或多个计算机和存储指令的一个或多个存储设备的系统中,所述指令在由一个或多个计算机执行时使得一个或多个计算机实施:编码器神经网络,被配置为接收第一图像和第二图像,并处理第一图像和第二图像以生成第一图像和第二图像的编码表示;场景结构解码器神经网络,被配置为处理编码表示以生成表征第一图像中描绘的场景的结构的结构输出;以及运动解码器神经网络,被配置为处理编码表示以生成表征第一图像与第二图像之间的运动的运动输出。
前述和其它实施例可以各自可选地单独或组合地包括以下特征中的一个或多个。编码器神经网络可以接收第一图像和第二图像的连结(concatenation)。编码器神经网络可以是卷积神经网络。结构输出可以包括:(i)深度图,其针对第一图像中的多个像素中的每一个来像素指定该像素处的场景的深度;以及(ii)与多个对象类中的每一个对应的相应的分割掩模(segmentation mask)。每个分割掩模针对多个像素中的每一个来指定像素处的场景显示属于对应的对象类的对象的可能性。场景结构解码器神经网络可以包括场景结构子网,其被配置为处理编码表示以生成共享解码表示。场景结构子网可以是解卷积神经网络。场景结构解码器神经网络可以包括:深度子网,被配置为处理共享解码表示以生成深度图;以及分割子网,被配置为处理共享解码表示以生成分割掩模。运动输出可以包括(i)定义相机从第一图像到第二图像的运动的第一输出、以及(ii)定义属于多个对象类的任何对象从第一图像到第二图像的运动的第二输出。定义属于多个对象类的任何对象的运动的第二输出针对每个对象类可以包括定义属于对象类的任何对象从第一图像到第二图像的旋转和平移的值。运动解码器神经网络可以包括一个或多个对象运动神经网络层,其被配置为处理编码表示,以针对每个对象类生成定义属于对象类的任何对象从第一图像到第二图像的旋转和平移的值。定义相机的运动的第一输出可以包括定义相机从第一图像到第二图像的旋转和平移的值。运动解码器神经网络可以包括一个或多个相机运动神经网络层,其被配置为处理编码表示以生成定义相机从第一图像到第二图像的旋转和平移的值。指令还可以使得一个或多个计算机实施:子系统,被配置为执行包括以下的操作:从结构输出和运动输出生成光流输出,该光流输出表征第一图像中的像素从第一图像到第一图像的运动。光流输出可以包括从深度图生成第一图像中描绘的场景的初始三维(3D)点云表示。生成光流输出还可以包括使用分割掩模和定义对象的运动的第二输出来变换初始3D点云以生成初始变换3D点云。生成光流输出还可以包括使用定义相机运动的第一输出变换初始变换3D点云以生成最终变换3D点云。生成光流输出还可以包括通过将最终变换3D点云投影到第二图像中的场景的二维表示来确定光流输出。编码器神经网络、场景解码器神经网络和运动解码器神经网络可能已经被联合训练。神经网络可能已经被训练以生成在估计的场景运动中一致的深度。神经网络可能已经以无监督的方式训练。神经网络可能已经在训练期间通过自我运动、深度或真实光流中的一个或多个来监督。
本说明书中描述的主题的另一创新方面可以体现在包括一个或多个计算机和存储指令的一个或多个存储设备的系统中,所述指令在由一个或多个计算机执行时使得一个或多个计算机实施:运动神经网络,被配置为接收第一图像和第二图像,并处理第一图像和第二图像以生成(i)表征第一图像与第二图像之间的运动的运动输出、以及(ii)运动分割掩模输出;以及场景结构神经网络,被配置为接收第一图像,并处理第一图像以生成深度图,所述深度图针对第一图像中的多个像素中的每一个来表征该像素处的场景的深度;以及子系统,被配置为从深度图、运动输出和运动分割掩模输出生成光流输出,所述光流输出表征第一图像中的像素从第一图像到第二图像的运动。
前述和其它实施例可以各自可选地单独或组合地包括以下特征中的一个或多个。运动神经网络可以包括运动掩模编码器子网,被配置为处理第一图像和第二图像以生成第一图像和第二图像的第一编码表示。运动掩模编码器子网可以是卷积神经网络。运动神经网络可以包括掩模解码器子网,被配置为处理第一图像和第二图像的第一编码表示以生成运动分割掩模输出。运动分割掩模输出可以包括与多个对象类中的每一个对应的相应分割掩模,每个分割掩模针对第一图像中的多个像素中的每一个来指定该像素处的场景显示属于对应的对象类的对象的可能性。掩模解码器子网可以包括解卷积神经网络层。掩模解码器子网还可以包括1x1卷积神经网络层和一个或多个S形(sigmoid)激活层。运动神经网络可以包括运动解码器子网,被配置为处理第一图像和第二图像的第一编码表示以生成运动输出。运动输出可以包括(i)定义相机从第一图像到第二图像的运动的第一输出、以及(ii)定义属于多个对象类的任何对象从第一图像到第二图像的运动的第二输出。定义相机的运动的第一输出可以包括定义相机从第一图像到第二图像的旋转和平移的值。定义属于多个对象类的任何对象的运动的第二输出可以针对每个对象类包括定义属于对象类的任何对象从第一图像到第二图像的旋转和平移的值。
运动解码器子网可以包括一个或多个完全连接的神经网络层,其被配置为处理第一编码表示以(i)针对每个对象类生成定义属于该对象类的任何对象从第一图像到第二图像的旋转和平移的值、以及(ii)生成定义相机从第一图像到第二图像的旋转和平移的值。场景结构神经网络可以包括场景结构编码器子网,其被配置为处理第一图像以生成第一图像的第二编码表示。场景结构编码器子网可以是卷积神经网络。场景结构神经网络包括场景结构解码器子网,其被配置为处理第一图像的第二编码表示以生成深度图。场景结构解码器子网包括一个或多个解卷积神经网络层。场景结构解码器子网还包括1x1卷积神经网络层和一个或多个RELU激活层。生成光流输出可以包括:从深度图生成第一图像中描绘的场景的初始三维(3D)点云表示;使用运动分割掩模输出和定义对象的运动的第二输出,变换初始3D点云以生成初始变换3D点云;使用定义相机运动的第一输出,变换初始变换3D点云以生成最终变换3D点云;以及通过将最终变换3D点云投影到第二图像中的场景的二维表示来确定光流输出。运动神经网络和场景结构神经网络已经被联合训练。运动神经网络和场景结构神经网络已经被训练以生成在估计的场景运动中一致的深度。神经网络已经以无监督的方式训练。神经网络已经在训练期间通过自我运动、深度或真实光流中的一个或多个来监督。
本说明书中描述的主题可以在特定实施例中实施,以便实现以下优点中的一个或多个。本说明书中描述的系统可以在场景和对象深度、相机运动和3D对象旋转和平移方面有效地分解图像到图像的像素运动。具体地,系统可以以不同程度的监督来训练,并且在一些情况下,尽管完全或大部分以无监督的方式被训练,也可以生成准确的输出。例如,系统可以成功地估计场景中的对象的分割,即使在训练期间从不提供这种监督。由于系统不需要针对监督的训练生成标记数据集,因此与现有系统相比,系统可以使用其较少的存储容量,这降低了系统复杂度并缩短了处理时间,同时实现了相同或更好的结果。系统有效地确定未被现有传感器捕获的有意义的深度估计或填充深度,并成功估计帧到帧相机位移。该系统还可以实现准确的光流性能,这对于许多应用(诸如,预测未来图像中移动对象的运动)来说是有用的。
在附图和以下描述中阐述了本说明书的主题的一个或多个实施例的细节。根据描述、附图和权利要求,主题的其它特征、方面和优点将变得显而易见。
附图说明
图1示出了示例神经网络系统的架构。
图2示出了另一示例神经网络系统的架构。
图3是用于从输入图像对生成光流的第一示例处理的流程图。
图4是用于从输入图像对生成光流的第二示例处理的流程图。
图5是用于处理深度图、运动输出和分割掩模以生成光流的示例处理的流程图。
各附图中相同的标号和名称指示相同的元素。
具体实施方式
本说明书描述了一种作为在一个或多个位置中的一个或多个计算机上实施的计算机程序的神经网络系统。通常,神经网络系统被配置为接收第一图像和第二图像作为输入,并且在图像深度、分割、相机运动和3D对象运动(例如,旋转和平移)方面来分解从第一图像到第二图像的图像到图像像素运动。然后,神经网络系统可以将图像深度、分割、相机运动和3D对象运动转换为密集的图像到图像运动场,即,光流,其表征第一图像中的像素从第一图像到第二图像的运动。
图1示出了神经网络系统100的示例架构。神经网络系统100是作为在一个或多个位置中的一个或多个计算机上实施的计算机程序的系统的示例,其中可以实施下面描述的系统、组件和技术。系统100包括编码器神经网络104、场景结构解码器神经网络106和运动解码器神经网络102。
编码器神经网络104被配置为接收包括第一图像和第二图像的图像对110。第一和第二图像可以是具有相同大小的图像序列中的两个连续图像。例如,该图像对110可以是由机器人代理的相机拍摄的视频的帧。在一些实施方式中,编码器神经网络104被配置为接收第一图像和第二图像的连结。然后,编码器神经网络104被配置为处理第一和第二图像或两个图像的连结,以生成第一图像和第二图像的编码表示。
具体地,编码器神经网络104是卷积神经网络,其包括一个或多个卷积神经网络层(例如,3x3卷积层)。编码器神经网络104可以使具有步幅1和2的卷积神经网络层交替。编码器神经网络104通过每个卷积神经网络层处理第一和第二图像,以共同生成第一和第二图像的编码表示。在一些实施方式中,网络104包括在每个卷积神经网络层之后的相应的批量归一化层。每个批量归一化层被配置为对在该批量归一化层之前的卷积神经网络层的输出应用批量归一化。由编码器神经网络104使用卷积层生成的编码表示包括下采样输出,例如,下采样特征图(feature map),其表征从第一图像和第二图像提取的特征并且具有比第一和第二图像更低的分辨率,例如,更小的宽度和高度尺寸。下采样特征图可以具有比第一和第二图像的深度尺寸大得多的深度尺寸。例如,第一和第二图像的大小可以是(320,240,3),其中3是第一和第二图像的深度尺寸(即,R、G和B尺寸),并且下采样特征图的大小可以是(20,15,y),其中y是下采样特征图的深度尺寸,并且比第一和第二图像的深度尺寸大得多。例如,y可以是512。
场景结构解码器神经网络106通常被配置为处理编码表示以生成表征第一图像中描绘的场景的结构的结构输出。结构输出包括深度图128和分割掩模126。
具体地,场景结构解码器神经网络106包括场景结构子网118。场景结构子网118是包括多个解卷积神经网络层的解卷积神经网络。场景结构子网118被配置为通过子网118中的每个解卷积神经网络层对编码表示进行深度到空间上采样(depth-to-spaceupsample),以生成共享解码表示。共享解码表示包括具有比下采样特征图更高的分辨率的上采样特征图。上采样特征图的分辨率可以与第一和第二图像相同。例如,上采样特征图可以具有与第一和第二图像相同的宽度和高度尺寸,但具有不同的深度尺寸z(例如,上采样特征图的尺寸是(320,240,z))。深度尺寸z可以比下采样特征图的深度尺寸y小得多。例如,z可以是32。
场景结构解码器神经网络106包括深度子网116,其被配置为处理共享解码表示以生成深度图128。深度图128针对第一图像或第二图像中的多个像素中的每一个来指定像素处的场景的深度。更具体地,深度图128包括多个点,其中每个点与第一图像(或第二图像)中的多个像素中的像素的深度值相关联,该深度值表示在该像素处描绘的场景距第一图像(或第二图像)的焦平面的相应距离。在一些实施方式中,深度子网116可以使用1x1卷积神经网络层来生成深度图dt,其中该1x1卷积神经网络层之后是一个或多个RELU激活神经网络层。深度子网116可以使用RELU激活层,因为深度值是非负的。RELU激活层可以具有偏差(bias)1以防止小的深度值,因为小的深度值可对应于非常靠近相机的对象,因此更有可能是噪声、而不是有效深度值。
场景结构解码器神经网络106包括分割子网114,其被配置为处理共享解码表示以生成分割掩模126。在一些实施方式中,分割子网114包括1x1卷积神经网络层,其之后是一个或多个S形(sigmoid)激活神经网络层。
分割掩模126包括与第一图像中描绘的多个对象类中的每一个对应的相应分割掩模。通常,与给定对象类对应的分割掩模针对第一图像中的多个像素中的每一个来指定该像素处的场景显示属于对应的对象类的对象的概率。具体地,在一些情况下,与给定对象类对应的分割掩模针对第一图像中的每个像素来指定该像素处的场景显示属于对应的对象类的对象的概率。在其它情况下,分割掩模可以包括针对第一图像的下采样或较低分辨率版本中的每个像素的相应概率。
例如,假设第一图像It具有宽度w和高度h,子网114可以生成一组K个分割掩模其中k属于预定的一组K个对象类{1,...K}。对应于对象类k的每个分割掩模指定第一图像It中的多个像素中的每个到对象类k的隶属概率,即,该像素处的场景显示属于对象类k的对象的概率。尽管在该示例中,K个分割掩模用于第一图像,但是在一些实施方式中,可以针对第二图像生成K个分割掩模。
运动解码器神经网络102通常被配置为处理编码表示以生成表征第一图像与第二图像之间的运动的运动输出。运动输出包括(i)定义相机从第一图像到第二图像的运动的相机运动输出122、以及(ii)定义属于多个对象类的任何对象从第一图像到第二图像的运动的对象运动输出124。
具体地,相机运动输出122包括定义相机从第一图像到第二图像的旋转和平移的值。运动解码器神经网络102包括相机运动神经网络层108,其被配置为处理编码表示以生成定义相机从第一图像到第二图像的旋转和平移的值。在一些实施方式中,相机运动神经网络层108包括完全连接的神经网络层。
针对每个对象类,对象运动输出124包括定义属于对象类的任何对象从第一图像到第二图像的旋转和平移的值。运动解码器神经网络102包括一个或多个对象运动神经网络层112,其被配置为处理编码表示以针对每个对象类生成定义属于对象类的任何对象从第一图像到第二图像的旋转和平移的值。在一些实施方式中,对象运动神经网络层112包括完全连接的神经网络层。
在一些情况下,神经网络系统100还包括子系统150,其从深度图128、分割掩模126、相机运动输出122和对象运动输出124生成光流120。光流120表征第一图像中的像素从第一图像到第二图像的运动。
为了生成光流120,子系统150首先从深度图128生成与第一图像中描绘的场景中的像素对应的初始三维(3D)点云132。子系统150可以使用估计的或已知的相机内联函数(intrinsics)来生成初始3D点云132。然后,子系统150使用分割掩模126和对象运动输出124变换初始3D点云132以生成初始变换3D点云130。随后,子系统150使用相机运动输出122变换初始变换3D点云130以生成最终变换3D点云134。子系统150然后通过将最终变换3D点云134投影到第二图像中的场景的二维表示来确定光流120。下面参考图5更详细地描述用于从深度图、分割掩模和运动输出生成光流的处理。
在一些实施方式中,一旦确定了光流,光流就可以用于检测和跟踪第一图像和第二图像中描绘的移动对象的运动。基于所检测和跟踪的运动,可以对这些移动对象的运动进行建模,并且可以基于模型预测它们在未来图像中的运动。
在一些其它实施方式中,光流可以用于估计相机的运动(例如,如果其被安装在诸如自动驾驶汽车的机器人代理上)和/或用于计算移动对象在第一和第二图像中的速度。在一些其它实施方式中,光流可用于执行用于识别机器人代理正在执行什么动作的运动分析。
图2示出了另一示例神经网络系统200的架构。神经网络系统200是作为在一个或多个位置中的一个或多个计算机上实施的计算机程序的系统的示例,其中可以实施本文描述的系统、组件和技术。系统200通常包括运动神经网络202、场景结构神经网络208和子系统250。在一些实施方式中,子系统250可以与图1的神经网络系统100的子系统150相同或相似。
运动神经网络202通常被配置为接收包括第一图像和第二图像的图像对210作为输入,并且从第一图像和第二图像生成(i)表征第一图像与第二图像之间的运动的运动输出、以及(ii)运动分割掩模输出。第一和第二图像可以是具有相同大小的图像序列中的两个连续图像。例如,第一和第二图像可以是来自视频(例如,由机器人代理的相机拍摄的视频)的帧,。
具体地,运动神经网络202包括运动掩模编码器子网204、掩模解码器子网206和运动解码器子网224。运动掩模编码器子网204被配置为接收第一图像和第二图像。在一些实施方式中,编码器神经网络104被配置为接收第一图像和第二图像的连结。运动掩模编码器子网204可以是包括一个或多个卷积神经网络层的卷积神经网络。例如,运动掩模编码器204可以包括在步幅1与步幅2之间交替的多个3x3卷积神经网络层。运动掩模编码器神经网络204然后被配置为通过每个卷积神经网络层处理第一和第二图像或两个图像的连结,以共同生成第一图像和第二图像的第一编码表示。第一编码表示包括下采样输出,例如,下采样特征图,其表征从第一图像和第二图像提取的特征并且具有比第一和第二图像更低的分辨率,例如,更小的宽度和高度尺寸。下采样特征图可以具有比第一和第二图像的深度尺寸大得多的深度尺寸(由于卷积神经网络层的输出的深度连结)。例如,第一和第二图像的大小可以是(320,240,3),其中3是第一和第二图像的深度尺寸(即,R、G和B尺寸),并且下采样特征图的大小可以是(20,15,y),其中y是下采样特征图的深度尺寸并且比第一和第二图像的深度尺寸大得多。例如,y可以是512。
运动掩模编码器204中的每个卷积层之后可以是批量归一化层,其对卷积层的相应输出应用批量归一化。
掩模解码器子网206通常被配置为处理第一图像和第二图像的第一编码表示,以生成包括多个分割掩模218的运动分割掩模输出。
更具体地,掩模解码器子网224可以包括解卷积神经网络层,其被配置为对第一编码表示进行深度到空间上采样,以生成第一和第二图像的第一解码表示。第一解码表示包括具有比下采样特征图更高的分辨率的上采样特征图。上采样特征图的分辨率可以与第一和第二图像相同。例如,上采样特征图可以具有与第一和第二图像相同的宽度和高度尺寸,但具有不同的深度尺寸z(例如,上采样特征图的大小是(320,240,z))。深度尺寸z可以比下采样特征图的深度尺寸y小得多。例如,z可以是32。
在一些实施方式中,掩模解码器子网206还可以包括1x1卷积神经网络层和一个或多个S形激活层。1x1卷积神经网络层和一个或多个S形激活层可以被配置为处理第一解码表示以生成分割掩模218。
分割掩模218包括与第一图像或第二图像中描绘的多个对象类中的每一个对应的相应分割掩模。每个分割掩模针对第一图像或第二图像中的多个像素中的每一个来指定该像素处的场景显示属于对应的对象类的对象的概率。例如,假设第一图像It具有宽度w和高度h,掩模解码器子网206生成一组K个分割掩模其中k属于预定的一组K个对象类{1,...K}。与对象类k对应的每个分割掩模指定第一图像It中的多个像素中的每一个到对象类k的隶属概率,即,像素处的场景显示属于对象类k的对象的概率。尽管在该示例中,K个分割掩模用于第一图像,但是在一些实施方式中,可以针对第二图像生成K个分割掩模。
运动解码器子网224被配置为处理第一编码表示以生成包括相机运动输出226和对象运动输出228的运动输出。相机运动输出226通过包括定义相机从第一图像到第二图像的旋转和平移的值,定义相机从第一图像到第二图像的运动。对象运动输出228定义属于第一图像中描绘的多个对象类的任何对象的运动。针对每个对象类,对象运动输出228包括定义属于对象类的任何对象从第一图像到第二图像的旋转和平移的值。在一些实施方式中,运动解码器子网224包括一个或多个完全连接的神经网络层。
虽然运动神经网络202采取图像对210作为输入,但是场景结构神经网络208可以仅采取单个图像212作为输入。例如,场景结构神经网络208接收该图像对210中的第一图像作为输入。场景结构神经网络208可以从第一图像生成深度图220,其针对第一图像中的多个像素中的每一个来表征该像素处的场景的深度。更具体地,深度图220包括多个点,其中每个点与第一图像中的多个像素中的像素的深度值相关联,该深度值表示在该像素处描绘的场景距第一图像的焦平面的相应距离。
场景结构神经网络208可以包括场景结构编码器子网214和场景结构解码器子网216。
场景结构编码器子网214可以是卷积神经网络,其包括一个或多个卷积神经网络层(例如,3x3卷积层)。场景结构编码器子网214可以使具有步幅1和2的卷积神经网络层交替。场景结构编码器子网214通过每个卷积神经网络层处理第一图像,以共同生成第一图像的第二编码表示。在一些实施方式中,编码器子网214包括在每个卷积神经网络层之后的相应批量归一化层。每个批量归一化层被配置为对在批量归一化层之前的卷积神经网络层的输出应用批量归一化。由编码器子网214使用卷积层生成的第二编码表示包括下采样输出,例如,表征从第一图像提取的特征并且具有比第一图像低的分辨率的特征图。
场景结构解码器子网216通常被配置为处理第二编码表示以生成深度图220。在一些实施方式中,场景结构解码器子网216可以是包括多个解卷积神经网络层的解卷积神经网络。场景结构解码器子网216被配置为通过在场景结构解码器子网216中的每个解卷积神经网络层对第二编码表示进行深度到空间上采样,以共同生成具有与第一图像相同的分辨率的上采样特征图。
在一些实施方式中,场景结构解码器子网216还可以包括1x1卷积神经网络层,其之后是一个或多个RELU激活神经网络层。子网216使用1x1卷积层和RELU激活层处理上采样特征图,以预测深度图220。子网216可以使用RELU激活层,因为深度值是正的并且可以使用偏差1来防止小的深度值。在一些实施方式中,可以使最大预测深度值以100为上限以防止大的梯度。
子系统250被配置为从深度图220、分割掩模218、相机运动输出226和对象运动输出228生成光流234。光流234表征第一图像中的像素从第一图像到第二图像的运动。
为了生成光流234,子系统250首先从深度图220生成与第一图像中描绘的场景中的像素对应的初始三维(3D)点云222。子系统250可以使用估计的或已知的相机内联函数来生成初始3D点云222。然后,子系统250使用分割掩模218和对象运动输出228变换初始3D点云222以生成初始变换3D点云230。随后,子系统250使用相机运动输出226变换初始变换3D点云230以生成最终变换3D点云232。然后,系统通过将最终变换3D点云232投影到第二图像中的场景的二维表示来确定光流234。下面参考图5更详细地描述用于从深度图、分割掩模和运动输出生成光流的处理。
在一些实施方式中,一旦确定了光流,光流就可以用于检测和跟踪第一图像和第二图像中描绘的移动对象的运动。基于所检测和跟踪的运动,可以对这些移动对象的运动进行建模,并且可以基于模型预测它们在未来图像中的运动。
在一些其它实施方式中,光流可以用于估计相机的运动(例如,如果其被安装在诸如自动驾驶汽车的机器人代理上)和/或用于计算移动对象在第一和第二图像中的速度。在一些其它实施方式中,光流可用于执行用于识别机器人代理正在执行什么动作的运动分析。
图3是用于从输入图像对生成光流的第一示例处理的流程图。为方便起见,该处理将被描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,适当编程的神经网络系统(例如,图1的神经网络系统100)可以执行该处理。
系统接收第一图像和第二图像(步骤302)。第一和第二图像可以是来自视频(例如,由机器人代理的相机拍摄的视频)的帧。
例如,第一和第二图像可以是图像序列中的两个连续图像It和It+1,其各自具有宽度w和高度h。图像序列可以是来自视频的帧,但该序列不一定必须包括来自视频的所有帧。例如,该序列可以每隔一个的方式包括帧。
系统使用编码器神经网络处理第一和第二图像以生成第一和第二图像的编码表示(步骤304)。具体地,编码器神经网络包括一个或多个卷积神经网络。系统通过每个卷积神经网络处理第一和第二图像以生成编码表示。编码表示包括下采样输出,例如,下采样特征图,其表征从第一图像和第二图像提取的特征并且具有比第一和第二图像更低的分辨率,例如,更小的宽度和高度尺寸。下采样特征图可以具有比第一和第二图像的深度尺寸大得多的深度尺寸。例如,第一和第二图像的大小可以是(320,240,3),其中3是第一和第二图像的深度尺寸(即,R、G和B尺寸),并且下采样特征图的大小可以是(20,15,y),其中y是下采样特征图的深度尺寸,并且比第一和第二图像的深度尺寸大得多。例如,y可以是512。
系统使用场景结构解码器神经网络处理编码表示以生成包括深度图和分割掩模的结构输出(步骤306)。
具体地,系统首先使用一个或多个解卷积神经网络层(例如,图1的场景结构子网118中的解卷积神经网络层)对编码表示进行深度到空间上采样,以生成共享解码表示,即,具有比下采样特征图更高的分辨率的上采样特征图。上采样特征图的分辨率可以与第一和第二图像相同。例如,上采样特征图可以具有与第一和第二图像相同的宽度和高度尺寸,但具有不同的深度尺寸z(例如,上采样特征图的大小是(320,240,z)。深度尺寸z可以比下采样特征图的深度尺寸y小得多。例如,z可以是32。
然后,系统使用卷积神经网络层和一个或多个RELU激活神经网络层(例如,图1的深度子网116中的1x1卷积层和RELU激活层)来处理上采样特征图,以生成深度图,其针对第一图像中的多个像素中的每一个来表征在该像素处描绘的场景的深度。更具体地,深度图包括多个点,其中每个点与第一图像中的多个像素中的像素的深度值相关联,该深度值表示在该像素处描绘的场景距第一图像的焦平面的相应距离。系统可以使用RELU激活层,因为深度值是正的并且可以使用偏差1来防止小的深度值。深度图可以表示为
系统还使用卷积神经网络层(例如,1x1卷积神经网络层)和一个或多个S形激活神经网络层(例如,在图1的分割子网114中,1x1卷积层之后是一个或多个S形激活层)处理上采样特征图,以生成分割掩模。
分割掩模包括与第一图像中描绘的多个对象类中的每一个对应的相应分割掩模。每个分割掩模针对第一图像中的多个像素中的每一个来指定该像素处的场景显示属于对应的对象类的对象的概率。
例如,假设第一图像It具有宽度w和高度h,子网114生成一组K个分割掩模其中k属于预定的一组K个对象类{1,...K}。与对象类k对应的每个分割掩模指定第一图像It中的多个像素中的每一个到对象类k的隶属概率,即,该像素处的场景显示属于对象类k的对象的概率。
系统可以使用S形激活层,以便允许每个像素属于任何数目的移动对象类K。当像素在所有K个分割掩模上具有零激活时,该像素被分配给静态背景,并且对应的流单独地是相机运动函数。该系统允许像素属于多个移动对象类,以便例如通过运动链(诸如,在铰接体中)捕获运动的组成。
系统使用运动解码器神经网络(例如,图1的运动解码器神经网络102)处理编码表示以生成运动输出(步骤308)。运动输出包括(i)定义相机从第一图像到第二图像的运动的相机运动输出、以及(ii)定义属于多个对象类的任何对象从第一图像到第二图像的运动的对象运动输出。
系统使用一个或多个相机运动神经网络层(例如,完全连接的神经网络层)处理编码表示,以生成定义相机从第一图像到第二图像的3D旋转和平移的值作为相机运动输出。令{Rc t,tc t}来表示相机从第一图像It到第二图像It+1的3D旋转和平移。系统可以使用欧拉角表示来表示Rc t。
系统使用一个或多个对象运动神经网络层(例如,完全连接的神经网络层)处理编码表示,以针对每个对象类生成定义属于该对象类的任何对象从第一图像到第二图像的旋转和平移的值。定义旋转和平移的值被包括在对象运动输出中。令来表示在每个像素处描绘的场景中的K个移动对象类的3D旋转和平移。系统可以使用与用于相机运动的类似的表示。虽然相机运动是应用于场景中所有像素的全局变换,但是对象运动变换通过所预测的到K个分割掩模的隶属概率来加权。
系统从深度图、运动输出和分割掩模生成光流输出,其表征第一图像中的像素从第一图像到第二图像的运动(步骤310)。通常,系统通过使用相机和对象运动输出和分割掩模首先变换从深度图生成的点云、然后使用相机内联函数将最终3D点云投影到图像平面上,来生成光流输出。下面参考图5更详细地描述用于从深度图、分割掩模和运动输出生成光流的处理。
图4是用于从输入图像对生成光流的第二示例处理的流程图。为方便起见,该处理将被描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,适当编程的神经网络系统(例如,图2的神经网络系统200)可以执行该处理。
系统接收第一图像和第二图像(步骤402)。第一和第二图像可以是来自视频(例如,由机器人代理的相机拍摄的视频)的帧。
例如,第一和第二图像可以是图像序列中的两个连续图像It和It+1,其各自具有宽度w和高度h。图像序列可以是来自视频的帧,但序列不一定必须包括来自视频的所有帧。例如,序列可以每隔一个的方式包括帧。
系统使用运动神经网络处理第一图像和第二图像以生成运动分割掩模输出和运动输出(步骤404)。
具体地,系统首先使用运动掩模编码器子网(例如,图1的运动掩模编码器子网204)处理第一和第二图像,以生成第一和第二图像的第一编码表示。运动掩模编码器可以是卷积神经网络,其包括一个或多个卷积神经网络层。例如,运动掩模编码器可以包括在步幅1与步幅2之间交替的多个3x3卷积神经网络层。系统通过运动掩模解码器子网的每个卷积神经网络层处理第一和第二图像或两个图像的连结,以共同生成第一编码表示。第一编码表示包括下采样输出,例如,下采样特征图,其表征从第一图像和第二图像提取的特征并且具有比第一和第二图像更低的分辨率,例如,更小的宽度和高度尺寸。下采样特征图可以具有比第一和第二图像的深度尺寸大得多的深度尺寸(由于卷积神经网络层的输出的深度连结)。例如,第一和第二图像的大小可以是(320,240,3),其中3是第一和第二图像的深度尺寸(即,R、G和B尺寸),并且下采样特征图的大小可以是(20,15,y),其中y是下采样特征图的深度尺寸,并且比第一和第二图像的深度尺寸大得多。例如,y可以是512。
可选地,系统可以通过使用在每个卷积神经网络层之后的批量归一化层,对每个卷积神经网络层的相应输出应用批量归一化。
然后,系统使用掩模解码器子网(例如,图2的掩模解码器子网206)处理第一图像和第二图像的第一编码表示,以生成包括多个分割掩模的运动分割掩模输出。
具体地,掩模解码器子网包括一个或多个解卷积神经网络层。系统使用解卷积神经网络层对第一编码表示进行深度到空间上采样,以共同生成第一和第二图像的第一解码表示。第一解码表示包括具有比下采样特征图更高的分辨率的上采样特征图。上采样特征图的分辨率可以与第一和第二图像相同。例如,上采样特征图可以具有与第一和第二图像相同的宽度和高度尺寸,但具有不同的深度尺寸z(例如,上采样特征图的大小是(320,240,z))。深度尺寸z可以比下采样特征图的深度尺寸y小得多。例如,z可以是32。
掩模解码器子网还可以包括卷积神经网络层(例如,1x1卷积层)和一个或多个S形激活层。系统使用卷积神经网络层和一个或多个S形激活层处理第一解码表示,以生成分割掩模。
分割掩模包括与第一图像中描绘的多个对象类中的每一个对应的相应分割掩模。每个分割掩模针对第一图像中的多个像素中的每一个来指定该像素处的场景显示属于对应的对象类的对象的概率。例如,假设第一图像It具有宽度w和高度h,掩模解码器子网206生成一组K个分割掩模其中k属于预定的一组K个对象类{1,...K}。与对象类k对应的每个分割掩模指定第一图像It中的多个像素中的每一个到对象类k的隶属概率,即,像素处的场景显示属于对象类k的对象的概率。在一些实施方式中,像素可能不被分配给分割掩模中的任一个,因为它是背景像素和静态世界的一部分。
系统使用S形激活层,以便允许每个像素属于任何数目的对象类K。当像素在所有K个分割掩模上具有零激活时,像素被分配给静态背景,并且对应的流单独地是相机运动函数。该系统允许像素属于多个对象类,以便例如通过运动链(诸如,在铰接体中)捕获运动的组成。
系统使用运动解码器子网(例如,图2的运动解码器子网224)处理第一编码表示以生成运动输出。运动解码器子网可以包括一个或多个完全连接的神经网络层。运动输出包括(i)定义相机从第一图像到第二图像的运动的相机运动输出、以及(ii)定义属于多个对象类的任何对象从第一图像到第二图像的运动的对象运动输出。
系统使用一个或多个完全连接的神经网络层处理第一编码表示,以生成定义相机从第一图像到第二图像的3D旋转和平移的值作为相机运动输出。令{Rc t,tc t}来表示相机从第一图像It到第二图像It+1的3D旋转和平移。系统可以使用欧拉角表示来表示Rc t。
系统还使用一个或多个完全连接的神经网络层处理编码表示,以针对每个对象类生成定义属于对象类的任何对象从第一图像到第二图像的旋转和平移的值。定义旋转和平移的值包括在对象运动输出中。令表示在每个像素处描绘的场景中的K个移动对象类的3D旋转和平移。系统可以使用与用于相机运动的类似的表示。虽然相机运动是应用于场景中的所有像素的全局变换,但是对象运动变换通过所预测的到K个分割掩模的隶属概率来加权。
虽然系统处理第一和第二图像两者以生成运动输出和分割掩模,但是系统仅处理单个图像(例如,第一图像)以生成深度图。系统使用场景结构神经网络(例如,图2的场景结构神经网络208)生成深度图(步骤406)。
深度图针对第一图像中的多个像素中的每一个表征该像素处的场景的深度。更具体地,深度图包括多个点,其中每个点与第一图像中的多个像素中的像素的深度值相关联,该深度值表示在该像素处描绘的场景距第一图像的焦平面的相应距离。用于第一图像It的深度图可以表示为
场景结构神经网络包括场景结构编码器子网和场景结构解码器子网。
编码器神经网络包括一个或多个卷积神经网络。系统通过每个卷积神经网络处理第一图像,以生成第一图像的第二编码表示。第二编码表示包括下采样输出,例如,特征图,其表征从第一图像提取的特征并且具有比第一图像更低的分辨率。
场景结构解码器子网包括一个或多个解卷积神经网络层。系统使用一个或多个解卷积神经网络层对第二编码表示进行深度到空间上采样,以生成第二解码表示,即,具有与第一和第二图像相同的分辨率的上采样特征图。
场景结构解码器子网还包括卷积神经网络层(例如,1x1卷积层)和一个或多个RELU激活神经网络层。系统可以使用卷积神经网络层和一个或多个RELU激活神经网络层来处理上采样特征图,以生成深度图。系统可以使用RELU激活层,因为深度值是正的并且可以使用偏差1来防止小的深度值。
系统从深度图、运动输出和分割掩模生成光流输出,其表征第一图像中的像素从第一图像到第二图像的运动(步骤408)。通常,系统通过使用相机和对象运动输出和分割掩模首先变换从深度图生成的点云、然后使用相机内联函数将最终3D点云投影到图像平面,来生成光流输出。下面参考图5更详细地描述用于从深度图、分割掩模和运动输出生成光流的处理。
图5是用于处理深度图、包括相机运动输出和对象运动输出的运动输出以及分割掩模以生成光流的示例处理的流程图。为方便起见,该处理将被描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,适当编程的神经网络系统(例如,图1的神经网络系统100或图2的神经网络系统200)可以执行该处理。
系统从深度图生成表示第一图像中描绘的场景的初始三维(3D)点云(步骤502)。
具体地,在给定深度图dt的情况下,系统生成与第一图像中描绘的场景中的像素对应的初始3D点云系统可以使用针孔相机模型生成初始3D点云。令为第一图像It中的第i个像素的列和行位置,并且令(cx,cy,f)为相机内联函数(即,cx、cy是x和y方向上的主点偏移,f是相机模型的针孔的焦距),那么系统确定如下:
其中表示第i个像素的深度值。系统可以在可用时使用相机内联函数。否则,系统可以将内联函数值恢复为预定值。例如,在某些情况下,系统可以使用(0.5,0.5,1.0)作为默认的内联函数值。
系统使用运动分割掩模和对象运动输出变换初始3D点云,以生成初始变换3D点云(步骤504)。
具体地,系统对初始3D点云应用对象变换以获得初始变换点云X′t如下:
其中表示在每个像素处描绘的场景中的K个移动对象类的3D旋转和平移,并且其中pk指示对象类k的中心坐标。
然后,系统使用相机运动输出来变换初始变换3D点云,以生成最终变换3D点云(步骤506)。
具体地,系统对初始变换点云X′t应用相机变换以生成最终变换3D点云X″t如下:
系统通过将最终变换3D点云投影到第二图像中的场景的二维表示来确定光流输出(步骤508)。
具体地,系统通过如下将最终变换3D点云X″t=(X″t,Y″t,Z″t)投影到图像平面来获得在第一图像之后的第二图像中的像素的行和列位置:
系统如下确定在像素i处在第一图像与第二图像之间的光流输出:
其中(Ut(i),Vt(i))是表示从第一图像中的像素i到第二图像中的像素i的光流的矢量。
为了有效地生成光流,可以使用不同的训练技术来联合训练神经网络系统(例如,图1的神经网络系统100或图2的神经网络系统200)中的神经网络。
可以以不同程度的监督来训练系统。在一些情况下,可以以无监督的方式训练系统。例如,在给定无约束视频而没有伴随真实结构或运动信息的情况下,可以训练系统以基于亮度恒定性假设最小化在第一帧与根据所预测的光流朝向第一帧扭曲的第二帧之间的光度误差:
其中x′=x+Ut(x,y)并且y′=y+Vt(x,y)。在一些实施方式中,可以使用可微图像扭曲,并且可以以完全可微方式计算颜色恒定性损失。例如,当使用反向传播或梯度下降来训练系统时,可以执行完全可微操作。完全可微操作是有帮助的,因为它允许训练将系统生成的误差归因于神经网络中的特定权重。调整这些特定权重可导致对应的训练示例上的颜色恒定性损失的减少。
由于系统可以以无监督的方式训练,因此系统不需要针对监督的训练生成标记数据集。因此,与现有系统相比,系统可以使用其较少的存储容量,这降低了系统复杂度并缩短了处理时间,同时实现了相同或更好的结果。
在一些其它情况下,可以在训练期间通过相机运动(自我运动)、深度或真实光流中的一个或多个来监督系统。
作为示例,如果真实深度作为训练输入的一部分可用,则可以以稳健深度回归的形式使用深度监督:
其中表示用信号通知存在真实深度的二进制图像。
在另一示例中,如果真实相机姿态轨迹在训练输入中可用,则可以通过从帧到帧,从计算对应的真实相机旋转和平移来以监督方式训练系统,并相应地约束相机运动预测。具体地,训练计算预测的与真实的相机运动之间的相对变换并最小化其旋转角度和平移指标(norm):
在又一个示例中,如果真实光流、对象掩模或对象运动在训练输入中可用,则可以训练系统以最小化例如在预测的流矢量{U(x,y),V(x,y)}与真实的流矢量{UGT(x,y),VGT(x,y)}之间的L1回归损失。
为了提高输出一致性,可以通过使用一个训练目标函数来联合训练系统中的不同组件(例如,神经网络)。可以使用传统训练技术(例如,梯度下降方法)来训练系统。
本说明书结合系统和计算机程序组件使用术语“配置”。对于一个或多个计算机的系统,要被配置为执行特定操作或动作意味着系统已在其上安装了软件、固件、硬件或它们的组合,其在操作中使得系统执行操作或动作。对于一个或多个计算机程序,要被配置为执行特定操作或动作意味着一个或多个程序包括当由数据处理装置执行时使得该装置执行操作或动作的指令。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形体现的计算机软件或固件中、在计算机硬件(包括本说明书中公开的结构及其结构等同物)中、或者在它们中的一个或多个的组合中实施。本说明书中描述的主题的实施例可以实施为一个或多个计算机程序,即,在有形非暂时性存储介质上编码的计算机程序指令的一个或多个模块,用于由数据处理装置执行、或者控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储设备、或它们中的一个或多个的组合。替代地或另外地,程序指令可以在人工生成的传播信号(例如,机器生成的电、光或电磁信号)上编码,该信号被生成以编码信息以用于传输到合适的接收装置以供数据处理装置执行。
术语“数据处理装置”指的是数据处理硬件并且包含用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。该装置还可以是、或者还包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。
也可以被称为或描述为程序、软件、软件应用、应用、模块、软件模块、脚本或代码的计算机程序可以以任何形式的编程语言(包括编译或解释语言、或声明或程序语言)编写;并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合于在计算环境中使用的其它单元。程序可以、但不需要对应于文件系统中的文件。程序可以存储在保持其它程序或数据(例如,存储在标记语言文档中、在专用于所讨论的程序的单个文件中、或在多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中的一个或多个脚本)的文件的一部分中。可以部署计算机程序以在一个计算机上、或在位于一个站点处或分布在多个站点中且通过数据通信网络互连的多个计算机上执行。
本说明书中描述的处理和逻辑流可以由一个或多个可编程计算机执行,所述一个或多个可编程计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流也可以由专用逻辑电路(例如,FPGA或ASIC)、或者由专用逻辑电路和一个或多个编程的计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用或专用微处理器或两者、或者任何其它种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于进行或执行指令的中央处理单元、以及用于存储指令和数据的一个或多个存储设备。中央处理单元和存储器可以由专用逻辑电路系统补充、或并入专用逻辑电路系统中。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘、或光盘)、或者可操作地耦合以从或向用于存储数据的一个或多个大容量存储设备接收或传送数据,或者两者皆是。然而,计算机不需要具有这样的设备。此外,计算机可以嵌入在另一个设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器、或便携式存储设备(例如,通用串行总线(USB)闪存驱动器),等等。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,例如包括:半导体存储设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)、以及键盘和指点设备(例如,鼠标或轨迹球)的计算机上实施,所述显示设备用于向用户显示信息,用户可通过所述键盘和指点设备向计算机提供输入。其它种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入可以以任何形式接收,包括声学、语音或触觉输入。另外,计算机可以通过向和从由用户使用的设备发送文档和接收文档,来与用户交互;例如,通过响应于从用户的设备上的网页浏览器接收的请求将网页发送到该网页浏览器。而且,计算机可以通过向个人设备(例如,运行消息收发应用的智能电话)发送文本消息或其它形式的消息、并且继而从用户接收响应消息,来与用户交互。
例如,用于实施机器学习模型的数据处理装置还可以包括专用硬件加速器单元,其用于处理机器学习训练或生产(production)(即,推断(inference))工作负荷的公共和计算密集部分。
可以使用机器学习框架(例如,TensorFlow框架、Microsoft Cognitive Toolkit框架、Apache Singa框架、或Apache MXNet框架)来实施和部署机器学习模型。
本说明书中描述的主题的实施例可以在计算系统中实施,该计算系统包括后端组件(例如,作为数据服务器)、或者包括中间件组件(例如,应用服务器)、或者包括前端组件(例如,具有图形用户界面、网页浏览器、或应用的客户端计算机,用户可通过该应用与本说明书中描述的主题的实施交互)、或者一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如,因特网。
计算系统可以包括客户端和服务器。客户端和服务器一般彼此远离,并且通常通过通信网络交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML网页)传输到用户设备,例如,用于向和从与充当客户端的设备交互的用户显示数据和接收用户输入的目的。可以在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多特定实施细节,但是这些不应被解释为对任何发明的范围或可要求保护的范围的限制,而是作为可以特定于特定发明的特定实施例的特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合地实施。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实施。此外,尽管上面可以将特征描述为以某些组合起作用并且甚至最初被如此要求保护,但是在一些情况下来自要求保护的组合的一个或多个特征可以从该组合中删除,并且要求保护的组合可以针对于子组合或子组合的变型。
类似地,虽然在附图中描绘了操作并且以特定次序在权利要求中记载了操作,但是这不应该被理解为要求以所示的特定次序或按顺序执行这样的操作,或者执行所有示出的操作,以达到期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以在单个软件产品中集成在一起、或者打包为多个软件产品。
已经描述了主题的特定实施例。其它实施例在以下权利要求的范围内。例如,权利要求中记载的动作可以以不同的次序执行并且仍然达到期望的结果。作为一个示例,附图中描绘的处理不一定需要所示的特定次序或顺序来达到期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。
Claims (51)
1.一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时使得所述一个或多个计算机实施:
编码器神经网络,被配置为:
接收第一图像和第二图像,以及
处理第一图像和第二图像以生成第一图像和第二图像的编码表示;
场景结构解码器神经网络,被配置为:
处理所述编码表示以生成表征第一图像中描绘的场景的结构的结构输出;以及
运动解码器神经网络,被配置为:
处理所述编码表示以生成表征第一图像与第二图像之间的运动的运动输出。
2.如权利要求1所述的系统,其中,所述编码器神经网络接收第一图像和第二图像的连结。
3.如权利要求1或2中任一项所述的系统,其中,所述编码器神经网络是卷积神经网络。
4.如权利要求1至3中任一项所述的系统,其中,所述结构输出包括:(i)深度图,其针对第一图像中的多个像素中的每一个来指定所述像素处的场景的深度;以及(ii)与多个对象类中的每一个对应的相应分割掩模,每个分割掩模针对所述多个像素中的每一个来指定所述像素处的场景显示属于对应的对象类的对象的可能性。
5.如权利要求4所述的系统,其中,所述场景结构解码器神经网络包括:
场景结构子网,其被配置为处理所述编码表示以生成共享解码表示。
6.如权利要求5所述的系统,其中,所述场景结构子网是解卷积神经网络。
7.如权利要求5或6中任一项所述的系统,其中,所述场景结构解码器神经网络包括:
深度子网,被配置为处理所述共享解码表示以生成深度图;以及
分割子网,被配置为处理所述共享解码表示以生成分割掩模。
8.如权利要求4-7中任一项所述的系统,其中,所述运动输出包括(i)定义相机从第一图像到第二图像的运动的第一输出、以及(ii)定义属于所述多个对象类的任何对象从第一图像到第二图像的运动的第二输出。
9.如权利要求8所述的系统,其中,定义属于所述多个对象类的任何对象的运动的第二输出针对每个对象类包括定义属于所述对象类的任何对象从第一图像到第二图像的旋转和平移的值。
10.如权利要求9所述的系统,其中,所述运动解码器神经网络包括:
一个或多个对象运动神经网络层,被配置为处理所述编码表示以针对每个对象类生成定义属于所述对象类的任何对象从第一图像到第二图像的旋转和平移的值。
11.如权利要求8-10中任一项所述的系统,其中,定义相机的运动的第一输出包括定义所述相机从第一图像到第二图像的旋转和平移的值。
12.如权利要求11所述的系统,其中,所述运动解码器神经网络包括:
一个或多个相机运动神经网络层,被配置为处理所述编码表示以生成定义所述相机从第一图像到第二图像的旋转和平移的值。
13.如权利要求8-12中任一项所述的系统,其中,所述指令还使得所述一个或多个计算机实施:
子系统,被配置为执行操作,所述操作包括:
从所述结构输出和所述运动输出生成光流输出,所述光流输出表征第一图像中的像素从第一图像到第二图像的运动。
14.如权利要求13所述的系统,其中,生成所述光流输出包括:
从所述深度图生成第一图像中描绘的场景的初始三维(3D)点云表示。
15.如权利要求14所述的系统,其中,生成所述光流输出还包括:
使用所述分割掩模和定义对象的运动的第二输出来变换所述初始3D点云,以生成初始变换3D点云。
16.如权利要求15所述的系统,其中,生成所述光流输出还包括:
使用定义相机运动的第一输出来变换所述初始变换3D点云,以生成最终变换3D点云。
17.如权利要求16所述的系统,其中,生成所述光流输出还包括:
通过将所述最终变换3D点云投影到第二图像中的场景的二维表示来确定所述光流输出。
18.如权利要求1-17中任一项所述的系统,其中,所述编码器神经网络、所述场景解码器神经网络和所述运动解码器神经网络已经被联合训练。
19.如权利要求18所述的系统,其中,所述神经网络已经被训练以生成在估计的场景运动中一致的深度。
20.如权利要求18或19中任一项所述的系统,其中,所述神经网络已经以无监督的方式被训练。
21.如权利要求18或19中任一项所述的系统,其中,所述神经网络已经在训练期间通过以下中的一个或多个监督:自我运动、深度或真实光流。
22.一种或多种计算机存储介质,其存储如权利要求1-21中任一项所述的指令。
23.一种方法,包括:
接收第一图像和第二图像;以及
使用如权利要求1-21中任一项所述的编码器神经网络、场景解码器神经网络和运动解码器神经网络处理第一图像和第二图像,以生成运动输出和结构输出。
24.如权利要求23所述的方法,还包括:
执行如权利要求13-17中任一项所述的子系统的相应操作,以生成光流输出,所述光流输出表征第一图像中的像素从第一图像到第二图像的运动。
25.一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时使得所述一个或多个计算机执行如权利要求23或24所述的方法的操作。
26.一种或多种存储指令的计算机存储介质,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机执行如权利要求23或24所述的方法的操作。
27.一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时使得所述一个或多个计算机实施:
运动神经网络,被配置为:
接收第一图像和第二图像,以及
处理第一图像和第二图像以生成(i)表征第一图像与第二图像之间的运动的运动输出、以及(ii)运动分割掩模输出;以及
场景结构神经网络,被配置为:
接收第一图像,以及
处理第一图像以生成深度图,所述深度图针对第一图像中的多个像素中的每一个来表征所述像素处的场景的深度;以及
子系统,被配置为从所述深度图、所述运动输出和所述运动分割掩模输出生成光流输出,所述光流输出表征第一图像中的像素从第一图像到第二图像的运动。
28.如权利要求27所述的系统,其中,所述运动神经网络包括运动掩模编码器子网,其被配置为处理第一图像和第二图像以生成第一图像和第二图像的第一编码表示。
29.如权利要求28所述的系统,其中,所述运动掩模编码器子网是卷积神经网络。
30.如权利要求28和29中任一项所述的系统,其中,所述运动神经网络包括掩模解码器子网,其被配置为处理第一图像和第二图像的第一编码表示以生成所述运动分割掩模输出。
31.如权利要求27-30中任一项所述的系统,其中,所述运动分割掩模输出包括与多个对象类中的每一个对应的相应分割掩模,每个分割掩模针对第一图像中的所述多个像素中的每一个来指定所述像素处的场景显示属于对应的对象类的对象的可能性。
32.如权利要求30和31中任一项所述的系统,其中,所述掩模解码器子网包括解卷积神经网络层。
33.如权利要求32所述的系统,其中,所述掩模解码器子网还包括1x1卷积神经网络层和一个或多个S形激活层。
34.如权利要求28-33中任一项所述的系统,其中,所述运动神经网络包括运动解码器子网,其被配置为处理第一图像和第二图像的第一编码表示以生成所述运动输出。
35.如权利要求27-34中任一项所述的系统,其中,所述运动输出包括(i)定义相机从第一图像到第二图像的运动的第一输出、以及(ii)定义属于所述多个对象类的任何对象从第一图像到第二图像的运动的第二输出。
36.如权利要求35所述的系统,其中,定义所述相机的运动的第一输出包括定义所述相机从第一图像到第二图像的旋转和平移的值。
37.如权利要求36所述的系统,其中,定义属于所述多个对象类的任何对象的运动的第二输出针对每个所述对象类包括定义属于所述对象类的任何对象从第一图像到第二个图像的旋转和平移的值。
38.如权利要求37所述的系统,其中,所述运动解码器子网包括:
一个或多个完全连接的神经网络层,其被配置为处理第一编码表示,以(i)针对每个对象类生成定义属于所述对象类的任何对象从第一图像到第二图像的旋转和平移的值、以及(ii)生成定义所述相机从第一图像到第二图像的旋转和平移的值。
39.如权利要求27-38中任一项所述的系统,其中,所述场景结构神经网络包括场景结构编码器子网,其被配置为处理第一图像以生成第一图像的第二编码表示。
40.如权利要求39所述的系统,其中,所述场景结构编码器子网是卷积神经网络。
41.如权利要求39和40中任一项所述的系统,其中,所述场景结构神经网络包括场景结构解码器子网,其被配置为处理第一图像的第二编码表示以生成深度图。
42.如权利要求41所述的系统,其中,所述场景结构解码器子网包括一个或多个解卷积神经网络层。
43.如权利要求42所述的系统,其中,所述场景结构解码器子网还包括1x1卷积神经网络层和一个或多个RELU激活层。
44.如权利要求35-43中任一项所述的系统,其中,生成所述光流输出包括:
从所述深度图生成第一图像中描绘的场景的初始三维3D点云表示;
使用所述运动分割掩模输出和定义对象的运动的第二输出,变换所述初始3D点云以生成初始变换3D点云;
使用定义相机运动的第一输出变换所述初始变换3D点云,以生成最终变换3D点云;以及
通过将所述最终变换3D点云投影到第二图像中的场景的二维表示来确定光流输出。
45.如权利要求27-44中任一项所述的系统,其中,所述运动神经网络和所述场景结构神经网络已经被联合训练。
46.如权利要求45所述的系统,其中,所述运动神经网络和所述场景结构神经网络已经被训练以生成在估计的场景运动中一致的深度。
47.如权利要求45或46中任一项所述的系统,其中,所述神经网络已经以无监督的方式训练。
48.如权利要求45或46中任一项所述的系统,其中,所述神经网络已经在训练期间通过以下中的一个或多个监督:自我运动、深度或真实光流。
49.一种或多种存储指令的计算机存储介质,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机实施如权利要求27-48中任一项所述的相应系统。
50.一种方法,包括:
接收第一图像和第二图像;
使用如权利要求27-48中任一项所述的运动神经网络处理第一图像和第二图像,以生成运动输出和运动分割掩模输出;以及
使用所述场景结构神经网络处理第一图像以生成深度图,所述深度图针对第一图像中的多个像素中的每一个来表征所述像素处的场景的深度。
51.如权利要求50所述的方法,还包括:
执行如权利要求44所述的子系统的相应操作以生成光流输出,所述光流输出表征第一图像中的像素从第一图像到第二图像的运动。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662429637P | 2016-12-02 | 2016-12-02 | |
US62/429,637 | 2016-12-02 | ||
PCT/US2017/064269 WO2018102717A1 (en) | 2016-12-02 | 2017-12-01 | Determining structure and motion in images using neural networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110062934A true CN110062934A (zh) | 2019-07-26 |
CN110062934B CN110062934B (zh) | 2023-09-01 |
Family
ID=60997532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780076244.XA Active CN110062934B (zh) | 2016-12-02 | 2017-12-01 | 使用神经网络确定图像中的结构和运动 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10878583B2 (zh) |
EP (1) | EP3549102B1 (zh) |
CN (1) | CN110062934B (zh) |
WO (1) | WO2018102717A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110637305A (zh) * | 2017-11-15 | 2019-12-31 | 谷歌有限责任公司 | 通过渲染许多3d视图来学习重构3d形状 |
CN113269754A (zh) * | 2020-06-22 | 2021-08-17 | 上海联影智能医疗科技有限公司 | 用于运动估计的神经网络系统和方法 |
CN113609888A (zh) * | 2020-05-05 | 2021-11-05 | 辉达公司 | 利用平面单应性和自监督的场景结构理解进行对象检测 |
CN113766343A (zh) * | 2020-06-01 | 2021-12-07 | 辉达公司 | 使用一个或更多个神经网络进行视频合成 |
CN114556422A (zh) * | 2019-10-14 | 2022-05-27 | 谷歌有限责任公司 | 来自双相机与双像素的联合深度预测 |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10460511B2 (en) * | 2016-09-23 | 2019-10-29 | Blue Vision Labs UK Limited | Method and system for creating a virtual 3D model |
CN110062934B (zh) * | 2016-12-02 | 2023-09-01 | 谷歌有限责任公司 | 使用神经网络确定图像中的结构和运动 |
JP7060686B2 (ja) * | 2017-10-20 | 2022-04-26 | トヨタ モーター ヨーロッパ | 画像処理およびオブジェクトの視点決定の方法ならびにシステム |
CN111386550A (zh) | 2017-11-15 | 2020-07-07 | 谷歌有限责任公司 | 图像深度和自我运动预测神经网络的无监督学习 |
US11042163B2 (en) | 2018-01-07 | 2021-06-22 | Nvidia Corporation | Guiding vehicles through vehicle maneuvers using machine learning models |
CN110352153B (zh) | 2018-02-02 | 2024-07-19 | 辉达公司 | 自主车辆中用于障碍物躲避的安全程序分析 |
CN111133447B (zh) | 2018-02-18 | 2024-03-19 | 辉达公司 | 适于自主驾驶的对象检测和检测置信度的方法和系统 |
WO2019168869A1 (en) | 2018-02-27 | 2019-09-06 | Nvidia Corporation | Real-time detection of lanes and boundaries by autonomous vehicles |
WO2019178548A1 (en) | 2018-03-15 | 2019-09-19 | Nvidia Corporation | Determining drivable free-space for autonomous vehicles |
WO2019182974A2 (en) | 2018-03-21 | 2019-09-26 | Nvidia Corporation | Stereo depth estimation using deep neural networks |
DE112019001605T5 (de) | 2018-03-27 | 2020-12-17 | Nvidia Corporation | Trainieren, testen und verifizieren von autonomen maschinen unter verwendung simulierter umgebungen |
WO2019224823A1 (en) * | 2018-05-22 | 2019-11-28 | Ramot At Tel-Aviv University Ltd. | Method and system for imaging and image processing |
US11966838B2 (en) | 2018-06-19 | 2024-04-23 | Nvidia Corporation | Behavior-guided path planning in autonomous machine applications |
CN110197109B (zh) * | 2018-08-17 | 2023-11-24 | 平安科技(深圳)有限公司 | 神经网络模型训练、人脸识别方法、装置、设备及介质 |
WO2020051270A1 (en) * | 2018-09-05 | 2020-03-12 | Google Llc | Unsupervised depth prediction neural networks |
JP6695947B2 (ja) * | 2018-09-21 | 2020-05-20 | ソニーセミコンダクタソリューションズ株式会社 | 固体撮像システム、画像処理方法及びプログラム |
EP3648012A1 (en) * | 2018-10-29 | 2020-05-06 | Mitsubishi Electric R&D Centre Europe B.V. | Multilevel activation function for deep neural networks |
CN113039563B (zh) * | 2018-11-16 | 2024-03-12 | 辉达公司 | 学习生成用于训练神经网络的合成数据集 |
WO2020140047A1 (en) | 2018-12-28 | 2020-07-02 | Nvidia Corporation | Distance to obstacle detection in autonomous machine applications |
US11170299B2 (en) | 2018-12-28 | 2021-11-09 | Nvidia Corporation | Distance estimation to objects and free-space boundaries in autonomous machine applications |
WO2020140049A1 (en) | 2018-12-28 | 2020-07-02 | Nvidia Corporation | Distance to obstacle detection in autonomous machine applications |
WO2020163390A1 (en) | 2019-02-05 | 2020-08-13 | Nvidia Corporation | Driving lane perception diversity and redundancy in autonomous driving applications |
AU2019200976A1 (en) * | 2019-02-12 | 2020-08-27 | Canon Kabushiki Kaisha | Method, system and apparatus for generating training samples for matching objects in a sequence of images |
WO2020185779A1 (en) | 2019-03-11 | 2020-09-17 | Nvidia Corporation | Intersection detection and classification in autonomous machine applications |
US11176368B2 (en) | 2019-06-13 | 2021-11-16 | International Business Machines Corporation | Visually focused first-person neural network interpretation |
US11244193B2 (en) * | 2019-08-07 | 2022-02-08 | Here Global B.V. | Method, apparatus and computer program product for three dimensional feature extraction from a point cloud |
US11788861B2 (en) | 2019-08-31 | 2023-10-17 | Nvidia Corporation | Map creation and localization for autonomous driving applications |
US11100646B2 (en) * | 2019-09-06 | 2021-08-24 | Google Llc | Future semantic segmentation prediction using 3D structure |
EP4033881A4 (en) | 2019-09-25 | 2023-11-22 | Blue River Technology Inc. | TREATMENT OF PLANTS USING FEATURE VALUES AND SOIL LEVELS EXTRACTED FROM A SINGLE IMAGE |
US10607077B1 (en) * | 2019-10-28 | 2020-03-31 | EyeVerify Inc. | Identity authentication using an inlier neural network |
US11455813B2 (en) * | 2019-11-14 | 2022-09-27 | Nec Corporation | Parametric top-view representation of complex road scenes |
CN115088015B (zh) * | 2020-02-27 | 2023-04-21 | 苹果公司 | 点云集群的空间关系 |
GB2587248B (en) | 2020-02-27 | 2021-12-08 | Imagination Tech Ltd | Analysing objects in a set of frames |
US11508147B2 (en) * | 2020-03-06 | 2022-11-22 | Google Llc | Streaming object detection within sensor data |
US12077190B2 (en) | 2020-05-18 | 2024-09-03 | Nvidia Corporation | Efficient safety aware path selection and planning for autonomous machine applications |
US12080019B2 (en) | 2020-09-25 | 2024-09-03 | Blue River Technology Inc. | Extracting feature values from point clouds to generate plant treatments |
US11978266B2 (en) | 2020-10-21 | 2024-05-07 | Nvidia Corporation | Occupant attentiveness and cognitive load monitoring for autonomous and semi-autonomous driving applications |
US11625925B2 (en) * | 2021-01-05 | 2023-04-11 | GM Global Technology Operations LLC | Remote segmentation under limited computational resources and rate constraints |
CN112802137B (zh) * | 2021-01-28 | 2022-06-21 | 四川大学 | 一种基于卷积自编码器的颜色恒常性方法 |
KR20220147412A (ko) | 2021-04-27 | 2022-11-03 | 삼성전자주식회사 | 이미지 센서 모듈, 이미지 처리 시스템 및 이미지 센서 모듈의 동작 방법 |
CN113570695B (zh) * | 2021-09-27 | 2021-12-24 | 清华大学 | 一种图像生成方法、装置及电子设备 |
CN116456098A (zh) * | 2022-01-05 | 2023-07-18 | 南宁富联富桂精密工业有限公司 | 视频压缩方法、终端及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1929609A (zh) * | 2005-09-08 | 2007-03-14 | 索尼株式会社 | 运动图像信号编码装置、运行图像信号编码方法以及计算机可读记录介质 |
CN102055982A (zh) * | 2011-01-13 | 2011-05-11 | 浙江大学 | 三维视频编解码方法及装置 |
US20160180195A1 (en) * | 2013-09-06 | 2016-06-23 | Toyota Jidosha Kabushiki Kaisha | Augmenting Layer-Based Object Detection With Deep Convolutional Neural Networks |
CN105868829A (zh) * | 2015-02-06 | 2016-08-17 | 谷歌公司 | 用于数据项生成的循环神经网络 |
CN106023220A (zh) * | 2016-05-26 | 2016-10-12 | 史方 | 一种基于深度学习的车辆外观部件图像分割方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9933264B2 (en) * | 2015-04-06 | 2018-04-03 | Hrl Laboratories, Llc | System and method for achieving fast and reliable time-to-contact estimation using vision and range sensor data for autonomous navigation |
CN110062934B (zh) * | 2016-12-02 | 2023-09-01 | 谷歌有限责任公司 | 使用神经网络确定图像中的结构和运动 |
US10354129B2 (en) * | 2017-01-03 | 2019-07-16 | Intel Corporation | Hand gesture recognition for virtual reality and augmented reality devices |
US10586433B2 (en) * | 2017-02-13 | 2020-03-10 | Google Llc | Automatic detection of zones of interest in a video |
US10929987B2 (en) * | 2017-08-16 | 2021-02-23 | Nvidia Corporation | Learning rigidity of dynamic scenes for three-dimensional scene flow estimation |
US10546197B2 (en) * | 2017-09-26 | 2020-01-28 | Ambient AI, Inc. | Systems and methods for intelligent and interpretive analysis of video image data using machine learning |
CN111386550A (zh) * | 2017-11-15 | 2020-07-07 | 谷歌有限责任公司 | 图像深度和自我运动预测神经网络的无监督学习 |
US10402986B2 (en) * | 2017-12-20 | 2019-09-03 | Facebook, Inc. | Unsupervised video segmentation |
US10477220B1 (en) * | 2018-04-20 | 2019-11-12 | Sony Corporation | Object segmentation in a sequence of color image frames based on adaptive foreground mask upsampling |
US10986325B2 (en) * | 2018-09-12 | 2021-04-20 | Nvidia Corporation | Scene flow estimation using shared features |
US10937169B2 (en) * | 2018-12-18 | 2021-03-02 | Qualcomm Incorporated | Motion-assisted image segmentation and object detection |
US10970856B2 (en) * | 2018-12-27 | 2021-04-06 | Baidu Usa Llc | Joint learning of geometry and motion with three-dimensional holistic understanding |
US10943355B2 (en) * | 2019-01-31 | 2021-03-09 | Uatc, Llc | Systems and methods for detecting an object velocity |
-
2017
- 2017-12-01 CN CN201780076244.XA patent/CN110062934B/zh active Active
- 2017-12-01 EP EP17830044.8A patent/EP3549102B1/en active Active
- 2017-12-01 US US16/464,608 patent/US10878583B2/en active Active
- 2017-12-01 WO PCT/US2017/064269 patent/WO2018102717A1/en unknown
-
2020
- 2020-12-23 US US17/132,623 patent/US11763466B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1929609A (zh) * | 2005-09-08 | 2007-03-14 | 索尼株式会社 | 运动图像信号编码装置、运行图像信号编码方法以及计算机可读记录介质 |
CN102055982A (zh) * | 2011-01-13 | 2011-05-11 | 浙江大学 | 三维视频编解码方法及装置 |
US20160180195A1 (en) * | 2013-09-06 | 2016-06-23 | Toyota Jidosha Kabushiki Kaisha | Augmenting Layer-Based Object Detection With Deep Convolutional Neural Networks |
CN105868829A (zh) * | 2015-02-06 | 2016-08-17 | 谷歌公司 | 用于数据项生成的循环神经网络 |
CN106023220A (zh) * | 2016-05-26 | 2016-10-12 | 史方 | 一种基于深度学习的车辆外观部件图像分割方法 |
Non-Patent Citations (3)
Title |
---|
HYEONWOO NOH ET AL.: "Learning Deconvolution Network for Semantic Segmentation", 《2015 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV)》 * |
JICHAN LEE ET AL.: "Moving object detection using background subtraction and motion depth detection in depth image sequences", 《THE 18TH IEEE INTERNATIONAL SYMPOSIUM ON CONSUMER ELECTRONICS (ISCE 2014)》 * |
胡鹏 等: "基于区域卷积神经网络的多目标跟踪算法", 《西南科技大学学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110637305A (zh) * | 2017-11-15 | 2019-12-31 | 谷歌有限责任公司 | 通过渲染许多3d视图来学习重构3d形状 |
CN110637305B (zh) * | 2017-11-15 | 2021-01-05 | 谷歌有限责任公司 | 通过渲染许多3d视图来学习重构3d形状 |
CN114556422A (zh) * | 2019-10-14 | 2022-05-27 | 谷歌有限责任公司 | 来自双相机与双像素的联合深度预测 |
CN113609888A (zh) * | 2020-05-05 | 2021-11-05 | 辉达公司 | 利用平面单应性和自监督的场景结构理解进行对象检测 |
CN113766343A (zh) * | 2020-06-01 | 2021-12-07 | 辉达公司 | 使用一个或更多个神经网络进行视频合成 |
US11934959B2 (en) | 2020-06-01 | 2024-03-19 | Nvidia Corporation | Video synthesis using one or more neural networks |
CN113766343B (zh) * | 2020-06-01 | 2024-04-09 | 辉达公司 | 使用一个或更多个神经网络进行视频合成 |
CN113269754A (zh) * | 2020-06-22 | 2021-08-17 | 上海联影智能医疗科技有限公司 | 用于运动估计的神经网络系统和方法 |
CN113269754B (zh) * | 2020-06-22 | 2023-11-10 | 上海联影智能医疗科技有限公司 | 用于运动估计的神经网络系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20210118153A1 (en) | 2021-04-22 |
US11763466B2 (en) | 2023-09-19 |
US10878583B2 (en) | 2020-12-29 |
EP3549102A1 (en) | 2019-10-09 |
EP3549102B1 (en) | 2021-05-26 |
US20200349722A1 (en) | 2020-11-05 |
CN110062934B (zh) | 2023-09-01 |
WO2018102717A1 (en) | 2018-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110062934A (zh) | 使用神经网络确定图像中的结构和运动 | |
US11348268B2 (en) | Unsupervised learning of image depth and ego-motion prediction neural networks | |
KR102318772B1 (ko) | 도메인 분리 뉴럴 네트워크들 | |
US20210390653A1 (en) | Learning robotic tasks using one or more neural networks | |
US11966839B2 (en) | Auto-regressive neural network systems with a soft attention mechanism using support data patches | |
KR102693803B1 (ko) | 2차원 이미지들로부터 3차원 객체 모델들의 생성 | |
US11144782B2 (en) | Generating video frames using neural networks | |
US11783500B2 (en) | Unsupervised depth prediction neural networks | |
CN111727441A (zh) | 实现用于高效学习的条件神经过程的神经网络系统 | |
CN111386536A (zh) | 语义一致的图像样式转换 | |
JP7536893B2 (ja) | 自己注意ベースのニューラルネットワークを使用した画像処理 | |
JP2020530602A (ja) | 画像埋め込みを使用するロボティックエージェントのためのポリシーコントローラの最適化 | |
EP3915052A1 (en) | Action selection using interaction history graphs | |
WO2019117970A1 (en) | Adaptive object tracking policy | |
US20220215580A1 (en) | Unsupervised learning of object keypoint locations in images through temporal transport or spatio-temporal transport | |
CN115661336A (zh) | 一种三维重建方法及相关装置 | |
US12080055B2 (en) | Multi-task self-training for learning general representations | |
CN113554653A (zh) | 基于互信息校准点云数据长尾分布的语义分割方法 | |
Liu et al. | Survey on gan‐based face hallucination with its model development | |
WO2022140540A1 (en) | Simulated control for 3-dimensional human poses in virtual reality environments | |
US20220215594A1 (en) | Auto-regressive video generation neural networks | |
WO2024046144A1 (zh) | 一种视频处理方法及其相关设备 | |
CN118095368A (zh) | 一种生成模型训练方法、数据转换方法以及装置 | |
KR20230167086A (ko) | 공간과 시간에 따른 어텐션을 이용한 비디오 시퀀스에서 객체 표현에 대한 비지도 학습 | |
CN115769259A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |