19.FlowNet: Learning Optical Flow with Convolutional Networks

论文地址:https://arxiv.org/abs/1504.06852

FlowNet: Learning Optical Flow with Convolutional Networks

使用卷积网络学习光流

摘要

卷积神经网络(CNN)最近在各种计算机视觉任务中非常成功,特别是在与识别相关的任务上。光流估计没有成为CNNs成功的任务之一。本文构建了适合的CNN,它们能够解决光流估计问题,作为监督学习任务。我们提出并比较两种体系结构:通用体系结构和另一种体系结构包括一个在微分位置关联特征向量的层。

由于现有的标签数据集不够大,因此我们生成了一个很好的飞椅数据集。我们展示了基于这些不切实际的数据训练的网络仍然可以很好地推广到现有的数据集,如Sintel和KITTI,在帧速率为5到10帧的情况下实现竞争的准确性。

 

1.引言

卷积神经网络已成为许多计算机视觉领域的首选方法。它们经典地应用于分类[25,24],但最近提出的体系结构还允许像素语义分割[28]或单个图像深度估计[10]的每像素预测。在本文中,我们提出训练CNNs端到端学习从一对图像预测光流场。

虽然光流估计需要精确的每像素定位,但它还需要在两个输入图像之间找到对应关系。这不仅涉及学习图像特征表示,还涉及学习在两个图像中的不同位置处匹配它们。在这方面,光流估计从根本上不同于CNN的先前应用。

由于尚不清楚这项任务是否可以通过标准CNN架构解决,我们还开发了一个具有明确提供匹配功能的相关层的架构。这种架构是端到端的训练。其思想是利用卷积网络的能力,在多个尺度中学习和抽象出强大的特性,并帮助它根据这些特性找到实际的对应关系。关联层顶部学习如何从这些匹配中预测流。

令人惊讶的是,用这种方法帮助网络是没有必要的,甚至原始网络也可以学习预测具有竞争力的光流。训练这样的网络来预测通用光流需要足够大的训练集。虽然数据增加确实有所帮助,但现有的光流数据集仍然太小,无法训练与现有技术水平相当的网络。对于真实的视频材料而言,获得光流是非常困难的[7]。以数量为现实主义进行交易,我们生成一个合成的飞行椅数据集,其中包含来自Flickr的随机背景图像,我们在其上叠加来自[1]的分段图像。这些数据与现实世界几乎没有共同之处,但我们可以使用自定义属性生成任意数量的样本。仅对这些数据进行过训练的CNN就可以很好地概括为逼真的数据集,即使没有进行微调。

利用一个高效的GPU来实现CNNs,使得我们的方法比大多数方法更快。我们的网络在全分辨率的Sintel数据集上以每秒10对图像的速度预测光流,在实时方法中达到最先进的精度。

2.相关工作

光流。自Horn和Schunck [19]的工作以来,变分方法主导了光学流动估计。已经引入了许多改进[29,5,34]。最近的重点是大位移,组合匹配已被纳入变分方法[6,35]。[35]称为DeepMatching和DeepFlow的工作与我们的工作有关,因为使用稀疏卷积和最大池化,特征信息从精细到粗略聚合。但是,它不执行任何学习,并且所有参数都是手动设置的。[30]称为EpicFlow的连续工作更加强调稀疏匹配的质量,因为来自[35]的匹配仅仅是在尊重图像边界的情况下内插到密集流场。我们只使用变分方法对卷积网预测的流场进行可选的改进,并且不需要任何手工方法进行聚合,匹配和插值。

一些作者以前曾将机器学习技术应用于光流中。孙等人[32]研究光流的统计学方法和使用混合高斯学习正则化;罗森鲍姆等人[31]用混合高斯模型模拟光流的局部统计。布莱克等[4]计算流动训练集的主要组成部分。为了预测光流,他们然后估计这些“基础流动”的线性组合的系数。其他方法训练分类器在不同的惯性估计[21]中进行选择或获得遮挡概率[27]。已经进行了使用神经网络模型在视频帧之间进行无监督学习视差或运动的工作。

这些方法通常使用乘法交互来模拟一对图像之间的关系。然后可以从潜在变量推断出差异和光学流动。泰勒等人[33]用因子控制的受限制的玻尔兹曼机来完成任务。Konda和Memisevic [23]使用一种称为“同步自动编码器”的特殊自动编码器。虽然这些方法在受控设置中运行良好,并且学习了对视频中的活动识别有用的功能,但它们与现实视频中的经典方法不具竞争力。

 

3.网络框架

卷积网络。最近,Krizhevsky等人[24]在大规模图像分类中表现出用反向传播[25]训练的卷积神经网络。这开始了将CNN应用于各种计算机视觉任务的大量工作。

 虽然没有关于用CNN估算光流的工作,但是已经有关于与神经网络匹配的研究。菲舍尔等人[12]从有监督或无监督方式训练的CNN中提取特征表示,并基于欧几里德距离匹配这些特征。Zbontar和LeCun [36]训练CNN采用Siamese架构来预测图像块的相似性。这些方法与我们的方法的巨大差异在于它们是基于块的,并且将空间聚合留给后处理,本文中的网络直接预测完整的流场。

CNN的最近应用包括语义分割[11,15,17,28],深度预测[10],关键点预测[17]和边缘检测[13]。这些任务类似于光流估计,因为它们涉及每像素预测。由于我们的架构很大程度上受到这些每像素预测任务的最新进展的启发,因此我们简要回顾一下不同的方法。

最简单的解决方案是以“滑动窗口”方式应用传统CNN,因此为每个输入图像块[8,11]计算单个预测(例如,类标签)。这在许多情况下都很有效,但是有一些缺点:高计算成本(即使是涉及重用中间特征映射的优化实现)和每补丁性质,也不考虑全局输出属性,例如锐边。另一种简单方法[17]是将所有特征图上采样到所需的全分辨率并将它们堆叠在一起,从而产生可用于预测感兴趣值的级联每像素特征向量。

Eigen等人[10]通过训练额外的网络来获得粗略的深度图,该网络将粗略预测和输入图像作为输入。Long等人[28]和Dosovitskiy等人[9]使用反卷积层迭代地重新定义粗糙特征图。我们的方法整合了来自两个方面的想法。与Long等人不同的是,我们不仅对粗预测进行反卷积,而且对整个粗特征图进行反卷积,从而将更多的高级信息传递到细预测中。与Dosovitskiy等人不同,我们将“反卷积”结果与网络“收缩”部分的特征相结合。

已知卷积神经网络在给定足够的标记数据的情况下非常擅长学习输入 - 输出关系。因此,我们采用端到端的学习方法来预测光流:给定由图像对和ground truth流组成的数据集,我们训练网络直接从图像预测x-y流场。但是,什么是用于此目的的良好体系结构呢?

一个简单的选择是将两个输入图像堆叠在一起并通过一个相当通用的网络提供给他们网络自行决定如何处理图像对以提取运动信息。这在图2(顶部)中说明。我们称这种架构仅包含卷积层'FlowNetSimple'。


原则上,如果该网络足够大,它可以学习预测光流。但是,我们永远无法确定局部梯度优化(如随机梯度下降)可以使网络达到这一点。因此,手工设计一个不那么通用的体系结构可能是有益的,但是使用给定的数据和优化技术可能会有更好的性能。


一个简单的步骤是为两个图像创建两个独立但相同的处理流,并在稍后阶段将它们合并,如图2(下图)所示。在这种架构下,网络首先被约束为分别生成两个图像的有意义的表示,然后在更高的层次上组合它们。这类似于标准匹配方法,首先从两个图像的patch中提取特征,然后比较这些特征向量。然而,给定两个图像的特征表示,网络如何找到对应关系?

为了在这个匹配过程中帮助网络,我们引入了一个“相关层”,它在两个特征映射之间执行乘法补丁比较。包含该层的网络架构“FlowNetCorr”的图示如图2(下图)所示。给定两个多通道特征映射f1,f2:R2→Rc,其中w,h和c是它们的宽度,高度和通道数,我们的相关层让网络将来自f1的每个补丁与来自f2的每个路径进行比较。


目前我们只考虑两个补丁的单一比较。第一个图中以x1为中心,和第二个图中以x2为中心的两个patch的“相关性”被定义为

对于大小为K的方形块:K= 2k + 1.注意等式.1与神经网络中的卷积的一个步骤相同,但不是用卷积核与数据进行卷积,而是将数据与其他数据卷积。因此,它没有可训练的权重。

计算c(x1,x2)涉及c·K2乘法。比较所有补丁组合涉及w2·h2这样的计算,产生大的结果并且使得有效的前向和后向传递难以处理。因此,出于计算原因,我们限制了比较的最大位移,并且还引入了两个特征图中的跨越。

给定最大位移d,对于每个位置x1,我们通过限制x2的范围仅在尺寸D:= 2d + 1的邻域中计算相关性c(x1,x2)。我们使用步长为s1和s2来全局量化x1并在以x1为中心的邻域内量化x2。

理论上,由相关产生的结果是四维的:在每个组合中,我们得到一个相关值,即分别包含裁剪贴片值的两个矢量的标量积。在实践中,我们组织通道中的相对位移。这意味着我们获得了大小(w×h×D2)的输出。对于向后传递,我们相应地实现了关于每个底部blob的导数。

改进。CNN擅长提取图像的高级抽象特征,通过插入卷积层和池化层,即空间缩小特征映射。池化对于使网络训练在计算上可行是必要的,并且更基本地,允许在输入图像的大区域上聚合信息。但是,池化会导致分辨率降低,因此为了提供密集的每像素预测,我们需要一种方法来重新定义粗汇集表示。

我们对这种改进的方法如图3所示。主要成分是“反卷积”层,包括解开(扩展特征图,而不是池化)和卷积。这些层先前已被使用[38,37,16,28,9]。为了执行这些改进,我们将“反卷积”应用于特征映射,并将其与来自网络的“收缩”部分的相应特征映射和上采样的较粗流预测(如果可用)相连接。这样,我们保留了从较粗糙的特征图传递的高级信息和在较低层特征图中提供的精细本地信息。每一步都会将分辨率提高两倍。我们重复这4次,产生预测的流量,其分辨率仍然比输入小4倍。

我们发现,与计算成本更低的双线性上采样到全图像分辨率相比,进一步改进该分辨率并没有显著提高结果。这种双线性向上采样的结果是网络预测的最终流量。

在另一种方案中,我们使用[6]中的变分方法而不是双线性上采样,而不使用匹配项:我们从4倍下采样分辨率开始,然后使用粗到细方案进行20次迭代,使流场得到全分辨率。最后,我们以完整的图像分辨率再运行5次迭代。我们还使用[26]中的方法计算图像边界,并通过将平滑度系数替换为α= exp(-λb(x,y)κ)来考虑检测到的边界,其中b(x,y)表示重新采样的薄边界强度在各自的比例和像素之间。这种升级方法在计算上比简单的双线性上采样更昂贵,但增加了变分方法的好处,以获得平滑和次像素精确的流场。在下文中,我们用“+ v”为后缀表示通过这种变分改进获得的结果。变量改进的一个例子可以在图4中看到。

 

4.训练数据

与传统方法不同,神经网络需要具有基本事实的数据,不仅用于优化多个参数,而且用于学习从头开始执行任务。通常,获得这样的标签是困难的,因为不能容易地确定用于现实世界场景的真实像素对应。表1给出了可用数据集的概述。

4.1存在的数据

米德尔伯里数据集[2]仅包含8个用于训练的图像对,其中使用四种不同技术生成标签流。位移非常小,通常低于10像素。KITTI数据集[14]较大(194个训练图像对)并且包括大位移,但仅包含非常特殊的运动类型。通过使用相机和3D激光扫描仪同时记录场景,从真实场景获得标签。这假定场景是刚性的,并且运动源于移动的观察者。而且,无法捕捉到诸如天空之类的远处物体的运动,从而导致光流的稀疏性。MPIS intel [7]数据集从渲染的人工场景中获取标签,特别注重逼真的图像属性。提供了两个版本:最终版本包含运动模糊和大气效果,如雾,而Clean版本不包含这些效果。Sintel是可用的最大数据集(每个版本1,041个训练图像对),并为小型和大型位移量级提供密集的标签。

 

4.2飞椅

Sintel数据集仍然太小,无法训练大型CNN。为了提供足够的训练数据,我们创建了一个简单的合成数据集,我们将它命名为Flying Chairs,通过对从Flickr收集的图像和公开可用的3D椅子模型组合进行应用转换[1]。我们从Flickr2中检索了964个图像,分辨率为1,024×768,分类为“城市”(321),“风景”(129)和“山”(514)。我们将图像切割成4个象限,并使用得到的512×384图像裁剪作为背景。作为前景对象,我们将多个椅子的图像从[1]添加到背景中。从原始数据集中我们删除了非常相似的椅子,产生了809种椅子类型和每张椅子62个视图。示例如图5所示。

为了生成运动,我们随机地为背景和椅子采样了变换参数。椅子的变换与背景变换有关,可以将其解释为相机和移动的物体。使用变换参数,我们渲染第二个图像,光学流动和遮挡区域。随机采样每个图像对的所有参数(椅子的数量,类型,尺寸和初始位置;变换参数)。我们调整这些参数的随机分布,使得得到的位移直方图类似于Sintel的位移直方图(细节可以在补充材料中找到)。使用此过程,我们生成一个包含22,872个图像对和流场的数据集(我们多次重复使用每个背景图像)。注意,这个尺寸是任意选择的,原则上可以更大。

 

4.3数据增强

一种广泛使用的改进神经网络泛化的策略是数据增强[24,10]。即使飞行椅数据集相当大,我们发现使用增强对于避免过拟合至关重要。我们在网络训练期间在线进行增强。我们使用的增强包括几何变换:平移,旋转和缩放,以及加性高斯噪声和亮度,对比度,伽玛和颜色的变化。为了相当快,所有这些操作都在GPU上处理。图5给出了一些增强的例子。

由于我们不仅希望增加图像的多样性,而且还希望增加流场的多样性,我们对一对图像应用相同的强几何变换,但另外在两幅图像中进行相对较小的相对变换。通过将每个图像增强应用于来自任一侧的流场,我们进行了流动。具体来说,我们从x和y的图像宽度的[-20%,20%]范围内进行平移;从[-17°,17°]旋转;从[0.9,2.0]缩放。高斯噪声具有从[0,0.04]均匀采样的西格玛;对比度在[-0.8,0.4]范围内采样;乘法颜色从[0.5,2]变为每个图像的RGB通道;来自[0.7,1.5]和加性亮度的伽马值使用高斯与西格玛为0.2。

 

5.实验

我们在Sintel,KITTI和Middlebury数据集以及合成飞行椅数据集上报告我们的网络结果。我们还尝试对Sintel数据上的网络进行微调,并对预测的流场进行变分改造。此外,与其他方法相比,我们报告了网络的运行时间。

 

5.1 网络和训练细节

我们训练的网络的确切架构如图2所示。总的来说,我们试图保持不同网络的体系结构一致:它们有六个卷积层,其中六个是步长为2(最简单的池化形式),每层之后有一个ReLU非线性。我们没有任何全连接层,这允许网络将任意大小的图像作为输入。卷积核尺寸朝向更深的网络层减小:第一层为7×7,后两层为5×5,从第四层开始为3×3。特征图的数量在较深层中增加,在每个层之后大约加倍,步幅为2.对于FlowNetC中的相关层,我们选择参数k = 0,d = 20,s1 = 1,s2 = 2。损耗我们使用端点误差(EPE),这是光流估计的标准误差测量。它是预测的流动矢量和标签之间的欧几里德距离,在所有像素上取平均值。

为了训练CNN,我们使用caffe[20]框架的修改版本。我们选择Adam[22]作为优化方法,因为对于我们的任务,它表现出比具有动量的标准随机梯度下降更快的收敛。我们按照[22]中的建议来确定Adam的参数:β1= 0.9,β2= 0.999。从某种意义上说,因为每个像素都是一个训练样本,我们使用相当小的8个图像对的小批量。我们从学习率λ= 1e-4开始,然后在第一个300k之后每100k次迭代除以2。使用FlowNetCorr,我们观察到λ= 1e-4的爆炸梯度。为了解决这个问题,我们首先通过非常低的学习率λ= 1e-6进行训练,在10k次迭代后缓慢增加它以达到λ= 1e-4,然后按照刚刚描述的时间表进行训练。为了监控训练和调整过程中的过度配置,我们将飞行椅数据集分为22,232个训练样本和640个测试样本,并将Sintel训练集分为908个训练集和133个验证对。我们发现在测试期间升级输入图像可以提高性能。尽管最佳比例取决于特定数据集,但我们为所有任务确定了每个网络的比例。对于FlowNetS,我们没有扩大尺度,对于FlowNetC,我们选择了1.25的系数。

微调。使用的数据集在对象类型和它们包含的运动方面非常不同。标准解决方案是对目标数据集上的网络进行微调。KITTI数据集很小,只有稀疏的流标签。因此,我们选择对Sintel训练集进行微调。我们一起使用来自Sintel的Clean和Final版本的图像,并使用低学习率λ= 1e-6进行数千次迭代的微调。 为了获得最佳性能,在使用验证集定义最佳迭代次数之后,我们然后在相同迭代次数的整个训练集上进行调整。在表格中,我们用“+ ft”后缀表示微调网络。

 

5.2结果

表2显示了我们网络的端点错误(EPE)以及公共数据集(Sintel,KITTI,Middlebury)以及我们的飞行椅数据集上的几种表现良好的方法。另外,我们在Sintel上显示了不同方法的运行时间。

仅在非现实飞行椅上训练的网络在真实的光流数据集上表现非常好,例如击败了众所周知的LDOF [6]方法。在对Sintel进行微调之后,我们的网络在Sintel Final和KITTI上的表现优于竞争对手的实时方法EPPM [3],同时速度提高了两倍。

Sintel.从表2中可以看出,FlowNetC在Sintel Clean上优于FlowNetS,而在Sintel Final上,情况发生了变化。 在这个难以分析的数据集中,FlowNetS + ft + v甚至与DeepFlow相当。由于平均端点误差通常有利于过度平滑的解决方案,因此有必要看到我们方法的定性结果。图7显示了与groundtruth和EpicFlow相比,两个FlowNets预测的原始光流(没有调整)的示例。图中显示了网络通常如何产生视觉上吸引人的结果,但在端点错误方面仍然更糟。仔细观察发现,其中一个原因可能是网络的噪声非光滑输出,尤其是在大的平滑背景区域。 这可以通过变分改进来部分补偿。

KITTI.KITTI数据集包含强大的投影变换,这与飞行椅训练期间遇到的网络非常不同。尽管如此,原始网络输出已经相当不错,并且额外的微调和变分改进可以进一步提升。有趣的是,Sintel的微调改善了KITTI的结果,可能是因为Sintel中的图像和动作比飞行椅更自然。FlowNetS在此数据集上优于FlowNetC。

飞行椅.我们的网络在飞行椅上接受过训练,因此预计在这些方面表现最佳。在训练时,我们将一组由640个图像组成的测试集放在一边。表2显示了该测试集的各种方法,图6显示了一些示例预测。可以看出,FlowNetC优于FlowNetS,并且网络优于所有最先进的方法。另一个有趣的发现者认为,这种不变的改变并不能提高绩效,但会使事情变得更糟。显然,网络已经比变分改造做得更好。这表明,通过更加真实的训练集,网络在其他数据上的表现也可能更好。

计时.在表2中,我们以秒为单位显示了不同方法的每帧运行时间。不幸的是,许多方法仅在单个CPU上提供运行时,而我们的FlowNet使用仅在GPU上实现的层。虽然网络的错误率低于现有技术水平,但它们是实时方法中最好的。对于网络的训练和测试,我们使用NVIDIA GTX Titan GPU。 DeepFlow和EpicFlow的CPU时序取自[30],而LDOF的时序是在单个2.66GHz内核上计算的。

 

5.3分析

训练数据。为了检查我们是否因使用飞行椅数据集而不是Sintel而受益,我们仅在Sintel上训练了一个网络,除了验证集以控制性能。由于积极的数据增加,即使是单独的Sintel也足以相当好地学习光流。在Sintel上进行测试时,仅在Sintel上接受过训练的网络的EPE比在飞行椅上训练的网络高出约1个像素,并在Sintel上进行了调整。飞行椅数据集相当大,数据增量仍然是必要的吗?答案是肯定的:在飞行椅上训练没有数据增加的网络导致在Sintel上测试时EPE增加大约2个像素。

比较架构。表2中的结果可以得出我们测试的两种体系结构的优缺点的结论。首先,FlowNetS比FlowNetC更好地推广到Sintel Final。另一方面,FlowNetC在飞行座椅和SintelClean上的性能优于FlowNetS。注意飞行椅不包括运动模糊或雾,如Sintel Final。这些结果共同表明,即使两个网络的参数数量几乎相同,FlowNetC也略微超过了训练数据。这并不意味着网络会记住训练样本,但它会适应训练期间呈现的数据类型。虽然在我们目前的设置中,这可以被视为一个弱点,如果有更好的训练数据,它可能会成为一个优势。

其次,FlowNetC似乎在较大位移方面存在更多问题。这可以从上面讨论的KITTI的结果以及Sintel Final的详细性能分析(未在表中示出)中看出。 FlowNetS + ft实现了s40 +误差(位移至少为40像素的像素上的EPE)为43.3px,而FlowNetC + ft的值为48px。一种解释是关联的最大位移不允许预测非常大的运动。这个范围可以以计算效率为代价增加。

 

6.结论

基于卷积网络架构设计的最新进展,我们已经表明,可以训练网络直接预测来自两个输入图像的光流。有趣的是,训练数据不一定是真实的。人工飞行椅数据集包括合成刚性物体的自然运动,足以预测自然场景中的光学流动,具有竞争力的准确性。这证明了所呈现的网络的泛化能力。在飞行座椅的测试装置上,CNN甚至超越了DeepFlow和EpicFlow等最先进的方法。随着更真实的训练数据变得可用,将会看到未来网络的表现将会很有趣。

 

'FlowNet的补充材料:利用卷积网络学习光流

1.流场彩色编码

为了可视化流场,我们使用Sintel提供的工具[7]。流方向用颜色和幅度编码,颜色强度。白色对应于没有动作。图1说明了流颜色编码:每个像素处的流动矢量是从正方形中心到该像素的矢量。由于主纸中显示的不同图像对中的流动幅度非常不同,我们独立地将每个图像对的最大颜色强度标准化,但对于应用于一个图像对的不同方法也是如此。

2.生成飞行椅的详细信息

我们详细解释了产生飞行的过程椅子的数据集。我们使用964张分辨率的图像作为背景1024*768像素,从Flickr下载。作为前景我们使用了来自Aubry et al.[1]数据集的809个椅子模型,每个模型从62个角度呈现:31个方位角和2个仰角。为了在图像对中生成第一个图像,我们取一个背景图像,并在顶部随机放置一组椅子。从[16;24],从整体图像上对椅子的类型和视点进行均匀采样,对椅子的位置进行均匀采样。椅子的尺寸(以像素为单位)从平均200和标准偏差200的高斯采样,然后夹在50和640之间。

在流场和流场中生成第二个图像,我们应用随机转换到椅子和背景。这些变换中的每一个都是缩放,旋转和平移的组合。采样的参数是高效的,旋转角度和翻译向量。我们的目标是粗略匹配Sintel的位移分布,如图2(左)所示。简单地从高斯中采样变换参数导致过少的小位移,因此我们使变换参数的分布比零高于高斯。我们从中采样参数的分布族包含两个分布的混合:具有概率1-p的常数μ和具有概率p的高斯的幂。更确切地说,让γ~N(μ,σ)为单变量高斯分布。我们将其绝对值提高到功率k(保持符号)并钳位到区间[a,b]。然后我们将值设置为μ,概率为1-p。总的来说,结果是:...

ξ = β ·max(min(sign(γ)·|γ|k,b),a) + (1−β)·µ,

其中β是伯努利随机变量,等于1,概率为p,0为概率1-p。 我们用G(k,μ,σ,a,b,p)表示ξ的分布。 所有转换参数都是从该系列的分布中采样的,参数如表1所示。给定转换参数,可以直接生成对中的第二个图像,以及流场和遮挡图。 然后我们将每个图像切割成4个四分之一,产生4个图像对,每个图像对尺寸为512×384像素。 飞行椅数据集的位移直方图如图2(右)所示。 我们没有详细研究数据集参数对FlowNet结果的影响。 然而,我们观察到,采用更简单的从高斯采样所有变换参数的策略,网络仍然有效,但不如上述数据训练的网络准确。

3.卷积滤波器

当仔细观察FlowNets的过滤器时,可以看到下层过滤器的结构很少,而更高层的过滤器更结构化。图3显示了第一层滤波器如何没有完全收敛,但粗糙的梯度是可见的。相反,应用于相关层输出的滤波器具有非常明显的结构,如图5所示。不同的滤波器对不同的流向和大小具有选择性。

4.视频

在补充视频中,我们使用带有GeForce GTX 980M GPU的笔记本演示了FlowNets的实时操作。 使用网络摄像头拍摄的图像分辨率为640×480像素。 我们展示了FlowNetSimple和FlowNetCorr为室内和室外场景制作的现实生活视频中的示例流场。 该视频可在http://goo.gl/YmMOkR上找到。 来自视频的样本帧可以在图4中看到。

猜你喜欢

转载自blog.csdn.net/weixin_40740160/article/details/83244353
今日推荐