UnFlow:具有双向普查损失的光流的无监督学习

原文链接

摘要

​ 在端到端深度学习时代,计算机视觉的许多进步都是由大量标记数据驱动的。 然而,在光流设置中,为真实场景获得密集的每像素地面实况是很困难的,因此这样的数据很少见。 因此,最近用于光流的端到端卷积网络依赖于用于监督的合成数据集,但训练和测试场景之间的域不匹配仍然是一个挑战。 受经典的基于能量的光流方法的启发,我们设计了一种基于遮挡感知双向流估计和稳健的普查变换的无监督损失,以规避对地面实况流的需求。 在 KITTI 基准测试中,我们的无监督方法大大优于以前的无监督深度网络,甚至比单独在合成数据集上训练的类似监督方法更准确。 通过选择性地对 KITTI 训练数据进行微调,我们的方法在 KITTI 2012 和 2015 基准测试中实现了具有竞争力的光流精度,此外还能够对具有有限真实值的数据集进行监督网络的通用预训练。

1、介绍

​ 估计密集光流是计算机视觉中长期存在的问题之一,具有多种应用。 尽管在过去的几十年中已经提出了许多方法,例如 (Black 和 Anandan 1991;Bruhn、We ickert 和 Schn¨orr 2005;Brox 和 Malik 2011;Revaud 等人 2015)、现实基准,例如 MPI Sintel(But ler 等人 2012)或 KITTI(Geiger, Lenz 和 Urtasun 2012;Menze 和 Geiger 2015)继续挑战传统的能量最小化方法。 受端到端深度学习最近成功的启发,有人建议使用卷积神经网络 (CNN) 来应对这些挑战,并且最近开始在公共基准测试中表现优于许多传统流方法(Dosovitskiy 等人,2015 年;Gadot 和 Wolf 2016;Güuney 和 Geiger 2016;Ilg 等人 2017)。

​ 尽管如此,大多数基于 CNN 的方法依赖于大量数据的可用性以及用于监督学习的真实光流。 由于在真实场景中难以获得地面实况,此类网络在合成生成的图像上进行训练,因为更容易获得大量的密集地面实况(Dosovitskiy 等人,2015 年;Mayer 等人,2016 年)。 然而,由于合成图像和真实图像之间的内在差异以及合成数据集的有限可变性,对真实场景的泛化仍然具有挑战性。 我们认为,为了实现深度学习在光流中的潜力,解决这个问题至关重要。

​ 为了应对缺乏标记的真实世界训练数据,最近的工作(Ahmadi 和 Patras 2016;Yu、Harley 和 Derpanis 2016;Ren 等人 2017)提出了基于无监督学习的光流网络 . 他们回避了对地面实况运动的需要,因为训练只需要图像序列。 尽管无监督学习似乎是打破对合成数据依赖的一个有前途的方向,但人们可能会争辩说,这些方法迄今为止都达不到预期,因为尽管在训练和测试时间方面存在领域不匹配,但它们在准确性方面既不相当更无法超过监督方法。

​ 在本文中,我们介绍了一种端到端的无监督方法,该方法证明了无监督学习对光流的有效性。 基于最近的光流 CNN(Dosovitskiy 等人,2015 年;Ilg 等人,2017 年),我们通过类似于(Yu、Harley 和 Derpanis 2016 年)的无监督光度重建损失对合成数据进行监督。 我们通过交换两个输入图像的情况下执行第二次传递来计算双向光流(即,向前和向后,参见图 1)。 然后,我们设计了一个利用双向流的损失函数来明确推理遮挡(Hur 和 Roth 2017)并利用普查变换来增加真实图像的鲁棒性。 通过全面的消融研究,我们验证了无监督损失背后的设计选择。


图 1:FlowNet 的双向训练(Dosovitskiy 等人,2015 年)和我们的综合无监督损失。

​ 在具有挑战性的 KITTI 基准测试(Geiger、Lenz 和 Urtasun 2012;Menze 和 Geiger 2015)上,我们的无监督模型在很大程度上优于以前的无监督深度网络。 也许更令人惊讶的是,它还超越了专门针对合成数据训练的架构相似的监督方法。 例如,类似的观察适用于 Middlebury 数据集(Baker 等人,2011 年)。 在对大量真实的 领域 数据进行无监督训练后,我们可以选择使用稀疏 ground truth(如果可用)来改进我们在目前难以以无监督方式惩罚的领域的估计,例如 在运动边界。 我们的微调模型在 KITTI 上实现了领先的准确性,从而证明我们的无监督学习方法还可以在具有有限真实数据的领域对监督方法进行预训练。 因此,我们朝着消除对合成数据集的精心设计的需要迈出了一步,因为我们的网络可以在其他领域进行训练,以期达到具有竞争力的准确性。

2、相关工作

端到端监督学习。

FlowNet 首次引入了光流卷积网络的端到端监督学习(Dosovitskiy 等人,2015 年)。 该网络采用两个连续的输入图像,并使用编码器-解码器架构输出密集的光流图。 对于监督训练,从静态背景图像和动画 3D 椅子的渲染生成了一个大型合成数据集。 然而,最有可能是由于训练数据集的真实性有限,与 MPI Sintel 等合成基准相比,FlowNet(Dosovitskiy 等人 2015在现实的 KITTI 2012 基准(Geiger、Lenz 和 Urtasun 2012)上表现更差( 巴特勒等人,2012 年)。
​ 后续工作(Ilg 等人,2017 年)引入了更准确、但也更慢、更复杂的 FlowNet2 系列监督网络。 他们通过堆叠多个 FlowNet 网络进行迭代来改进原始架构。 除了原始合成数据之外,还使用了一个更复杂的合成数据集(Mayer 等人,2016 年)来进行训练,该数据集具有更多种类的对象和运动。 对于 KITTI 基准测试,FlowNet2 对来自 KITTI 2012(Geiger、Lenz 和 Urtasun 2012)和 KITTI 2015(Menze 和 Geiger 2015)训练集的稀疏地面实况进行了微调,并达到了最先进的准确性。

​ 已经提出了许多其他基于监督学习的深度架构,利用各种范式,包括补丁匹配(Gadot 和 Wolf 2016)、离散优化(Güuney 和 Geiger 2016)和粗到细估计(Ranjan 和 Black 2017)。 虽然我们在这里专注于 FlowNet 架构及其变体,但我们注意到我们的无监督损失原则上可以与其他直接预测流量的网络架构相结合,例如 (Ranjan 和 Black 2017)。

端到端无监督学习。

​ 最近,Yu、Harley 和 Derpanis (2016) 以及 Ren 等人。 (2017) 提出了一种基于 FlowNet 的无监督方法来回避合成数据集的局限性。 正如早期使用不同网络架构的工作(Ahmadi 和 Patras 2016)首次提出的那样,它们用基于经典亮度恒定性和平滑度假设(brightness constancy and smoothness assumptions)的代理损失替换了原始监督损失。 无监督网络在原始 KITTI 数据集提供的视频中的未标记图像对上进行训练(Geiger 等人,2013 年)。 在 KITTI 2012 基准测试(Geiger、Lenz 和 Urtasun 2012)上,无监督方法未能胜过原始 FlowNet,可能是因为代理损失过于简单。 随后的工作试图通过将无监督代理损失与由经典光流算法生成的代理ground truth相结合来克服这些问题(Zhu et al. 2017)。 然而,之前纯无监督方法的收益很小,与原始的有监督 FlowNetS 相比有所下降。 随后的其他工作(Zhu 和 Newsam 2017)试图通过用不同的网络替换底层 FlowNet 架构来改进无监督 CNN。 同样,该方法与(Yu、Harley 和 Derpanis 2016 年;Ren 等人 2017 年)相比仅显示出很小的改进,并且仍然优于受监督的 FlowNetS。

​ 由于先前的工作没有接近监督方法的准确性,目前尚不清楚无监督学习是否可以克服监督方法在现实场景中的一些局限性。 因此,在本文中,我们研究了提高无监督方法准确性的可能方法,并旨在揭示它们是否是监督学习的可行替代方案或补充。

3、光流的无监督学习

​ 我们建立在之前基于 FlowNetS 的 UnsupFlownet(Yu、Harley 和 Derpanis 2016)的基础上,并以三种重要的方式对其进行了扩展。 首先,我们设计了一种基于双向(即前向和后向)光流估计的对称、遮挡感知损失。 其次,我们用全面的无监督损失训练 FlowNetC 来估计双向流。 第三,我们通过堆叠多个 FlowNet 网络来充分利用迭代细化功能(Ilg 等人,2017 年)。 可选地,我们还可以使用监督损失在无监督训练后对稀疏地面实况数据上的网络进行微调

3.1无监督损失

​ 让 I1, I2 : P → R3 是两个时间上连续的帧。 我们的目标是估计从 I1 到 I2 的光流 wf = (uf , vf )T。 由于我们的遮挡检测还需要反向(向后)光流 wb = (ub , vb)T ,我们通过使所有损失项对称(即,为两个流方向计算它们)来联合估计双向流。 在经典的基于能量的光流(Hur and Roth 2017)的背景下,已经提出了考虑account occlusions(账户闭塞)的双向流估计。 在这里,我们将这个想法从基于超像素的设置扩展到一般流场,并将其用作无监督学习中的损失函数。 请注意,为简洁起见,一些文本解释仅讨论前向,但同样的推理也适用于后向。

​ 我们的无监督损失是基于观察到的,第一帧中的像素应该与流映射到的第二帧中的像素相似(Fleet and Weiss 2006),我们鼓励数据丢失。 然而,这种观察不适用于被遮挡的像素,因为第二帧中的相应像素不可见。 因此,我们从数据丢失中屏蔽被遮挡的像素,以避免学习填充被遮挡像素的不正确变形(Xiao et al. 2006)。 我们的遮挡检测基于前后一致性假设(Sundaram、Brox 和 Keutzer 2010)。 也就是说,对于未遮挡的像素,前向流应该是第二帧中相应像素处的后向流的倒数。 每当这两个流之间的不匹配太大时,我们将像素标记为被遮挡。 因此,对于前向的遮挡,我们将 ofx 的遮挡标志定义为 1,只要约束

∣wf(x)k+wb(x+wf(x))∣2<a1(∣wf(x)∣2+∣wf(x+wf(x))∣2)+a2|w^f(x)k+w^b(x+w^f(x))|^2<a_1(|w^f(x)|^2+|w^f(x+w^f(x))|^2)+a_2 ∣wf(x)k+wb(x+wf(x))∣2<a1​(∣wf(x)∣2+∣wf(x+wf(x))∣2)+a2​
违反,否则为 0。 对于反向,我们用同样的方式定义 obx,交换 wf 和 wb。 我们在所有的实验中设置 α1 = 0.01,α2 = 0.5。 作为基线,我们还将探索禁用遮挡掩蔽的损失变体。 在那种情况下,我们简单地让 ofx = obx = 0 对所有 x ∈ P。

​ 我们的遮挡感知数据丢失现在定义为

ED(wf,wb,of,ob)=∑xϵP(1−oxf)⋅ρ(fD(I1(x),I2(x+wf(x))))+(1−oxb)⋅ρ(fD(I1(x),I2(x+wb(x))))+oxbλp+oxfλpE_D(w^f,w^b,o^f,o^b)=\sum_{x\epsilon P}(1-o^f_x)\cdot\rho(f_D(I_1(x),I_2(x+w^f(x))))+\\ (1-o^b_x)\cdot\rho(f_D(I_1(x),I_2(x+w^b(x)))) + o^b_x\lambda_p+o^f_x\lambda_p ED​(wf,wb,of,ob)=xϵP∑​(1−oxf​)⋅ρ(fD​(I1​(x),I2​(x+wf(x))))+(1−oxb​)⋅ρ(fD​(I1​(x),I2​(x+wb(x))))+oxb​λp​+oxf​λp​
其中 fD(I1(x), I2(x0 )) 测量两个假定对应的像素 x 和 x0 之间的光度差异,并且
ρ(x)=(x2+ϵ2)γ\rho(x)=(x^2+\epsilon^2)^\gamma ρ(x)=(x2+ϵ2)γ
是稳健的广义 Charbonnier 惩罚函数(Sun , Roth 和 Black 2014),γ = 0.45。 我们为所有被遮挡的像素添加一个恒定的惩罚 λp,以避免所有像素都被遮挡的简单的解决方案,并惩罚所有未遮挡像素的光度差。 在之前的工作中(Yu、Harley 和 Derpanis 2016),亮度恒定性约束 fD(I1(x), I2(x0 )) = I1(x) ) I2(x0) 用于测量光度差。 由于亮度恒定性对于现实情况中常见的照明变化并非不变(Vogel、Schindler 和 Roth 2013),我们改为使用三元普查变换(Zabih 和 Woodfill 1994;Stein 2004)。 普查变换可以补偿加法和乘法光照变化以及伽马变化(Hafner、Demetz 和 Weickert 2013),从而为我们提供更可靠的逼真图像恒定假设。

​ 与 Yu、Harley 和 Derpanis (2016) 不同,我们在流场上使用二阶平滑约束 (Trobin et al. 2008; Zhang et al. 2014) 来鼓励相邻流的共线性,从而实现更有效的正则化 :

其中 N(x) 由 x 周围的水平、垂直和两个对角邻域组成(总共 4 个)。 对于向量参数,我们假设 ρ(·) 计算每个分量的原始广义 Charbonnier 惩罚的平均值。 请注意,对于被遮挡的像素位置,除了遮挡惩罚之外,该术语是唯一有效的。

​ 对于非遮挡像素,我们添加了前后一致性惩罚

​ 然后,我们的最终损失是各个损失项的加权和

所有损失的相互作用如图 2 所示。

图 2:我们的无监督损失示意图。 数据丢失将流动扭曲的图像与各自的原始图像进行比较,并对它们的差异进行惩罚。 我们使用基于扭曲流场的前后一致性来估计遮挡图,这掩盖了数据丢失的差异。 两个流场都被假设二阶平滑度正则化。

3.1.1后向扭曲。

​ 为了以可微分的方式计算我们的损失以用于反向传播,我们在流动位移位置(即后向扭曲)采用双线性采样。 例如,为了比较 I1(x) 和 I2(x + wf (x)),我们使用 Yu、Harley 和 Derpanis (2016) 所述的 wf 后向扭曲 I2,然后将后向扭曲的第二张图像与 第一张图片进行比较。 我们使用 Jaderberg 等人的双线性采样方案。 (2015)并且我们参考他的详细信息。

3.1.2损失区分和实施。

​ 我们使用原始 TensorFlow 函数(Abadi 等人,2015 年)实施所有损失以及变形方案,并使用自动微分进行反向传播。 用于训练和评估我们模型的源代码是公开的。

3.2网络架构和计算

3.2.1UnFlow-C。

​ 我们的基本 CNN称为 UnFlow-C,基于 FlowNetC,它处理两个独立输入流中的两个连续图像,明确地将它们相关联,并使用 CNN 编码器将结果压缩到六分之一 的原始分辨率。 在解码器部分(细化网络),压缩的表示像在 FlowNetC 中一样被卷积上采样四次,并且在每次上采样后预测密集流。 最后的流估计被双线性上采样到原始分辨率。 为了计算双向光流,我们首先将 FlowNetC 应用于 RGB 图像 (I1, I2) 以获得前向流 (uf , vf ) 并将相同的计算应用于 (I2, I1) 以获得后向流 (ub , vb) . 我们在两个方向之间共享权重,以训练一个用于任一方向光流的通用网络(见图 1)。

3.2.2堆叠。

​ 受 FlowNet2的启发,我们通过将 UnFlow-C 传递到具有独立权重的单独的 FlowNetS ,并称之为双网络堆栈 UnFlow-CS ,迭代地改进 UnFlow-C 的估计。 同样,我们对每个流向执行一次传递,并在两次传递之间共享所有权重。 除了原始图像之外,我们还将初始流量估计、向后扭曲的第二张图像以及扭曲图像与第一张图像之间的亮度误差输入到迭代网络中。 以同样的方式,我们在 UnFlow-CS 之后连接一个额外的 FlowNetS 以改进其估计并称之为三网络堆栈 UnFlow-CSS。

3.2.3计算无监督损失。

​ 与监督的 FlowNet 类似,我们从细化网络计算所有中间预测的损失(参见(Dosovitskiy 等人,2015 年)中的图 3 或(Yu、Harley 和 Derpanis 2016 年)中的图 2) 以多种分辨率指导学习过程,然后通过加权平均将它们组合起来。 我们的总损失是

其中 Ei 是方程(5)的损失, 在第 i 层评估。 表 1 详细说明了我们用于每个单独层的设置。

表 1:惩罚在细化网络不同阶段预测的流场的损失设置(对于最终的最高分辨率估计,i = 4)。 各个估计的比例作为输入图像分辨率的一部分给出,并且损失权重随着估计的分辨率而降低。 随着分辨率的降低,我们对普查变换使用较小的块。

3.2.4用于微调的监督损失。

​ 对于 KITTI 训练集的监督微调(仅与带有后缀 -ft 的网络变体相关),我们通过将双线性上采样的最终流量估计与所有可用地面实况的像素的地面实况流量进行比较来计算网络损失:

如果在像素 x 处存在有效的地面实况,则 vfx = 1,否则 vfx = 0。 由于我们希望避免进一步增加地面实况的稀疏性,因此我们不会对地面实况流进行下采样并仅计算最终预测的损失。 请注意,在微调期间,我们只计算前向流方向的网络的第一遍(first pass),因为只有这个方向有地面实况。

3.3讨论

与监督方法相反,它通常受到可用地面实况数据量的限制,而像我们这样的无监督技术则受到损失函数的限制。 也就是说,应该注意的是,从可用视频数据中获得的大量信息受到损失对问题建模的真实程度的限制(how faithfully the problem is modeled by the loss)。 这是我们在这里试图解决的关键挑战。

​ 我们方法的另一个限制是我们需要对损失项之间的权重(例如,平滑度损失的影响)进行参数搜索以获得最佳结果,这增加了训练模型第一次在新领域应用的总计算时间 。 之前采用无监督代理损失的工作也存在这种限制(Ahmadi 和 Patras 2016;Yu、Harley 和 Der panis 2016;Ren 等人 2017)。

​ 与标准的基于能量的光流方法相比,我们的无监督网络在测试时避免了大量的优化。 此外,在整个(训练)数据集上随机最小化损失,如这里所做的,可以避免一些在单个输入上优化复杂能量的陷阱,就像在经典方法中所做的那样。

4、用于训练数据集

4.1 SYNTHIA

​ 伊尔格等人。 (2017) 表明,在对更复杂和更真实的数据集进行训练之前,在合成 FlyingChairs 数据集上预训练 FlowNet 可以始终如一地提高其最终网络的准确性。 他们推测这种预训练可以帮助网络在学习处理复杂的光照和运动之前学习光流的一般概念。 受此启发,我们在合成 SYNTHIA 数据集(Ros 等人,2016 年)上预训练我们的无监督模型,该数据集没有可用的光流ground truth。 SYNTHIA 数据集由在虚拟环境中行驶的车辆记录的多个视图组成。 我们使用所有冬季和夏季驾驶序列的前、后、左和右视图的左图像,总计约 37K 图像对。 请注意,我们当然也可以对 Flying Chairs 进行预训练(在完整的训练过程后具有可比的结果),但我们特意避免了这种情况,以表明我们不依赖于该数据集。

4.2 KITTI 。

​ KITTI 数据集(Geiger 等人,2013 年)由车载立体摄像头装置捕获的真实道路场景组成。 激光扫描仪为构成 KITTI 2012(Geiger、Lenz 和 Urtasun 2012)和 KITTI 2015(Menze 和 Geiger 2015)流基准的少量图像提供准确但稀疏的光流ground truth。 此外,还提供了一个包含原始 1392×512 图像序列的大型数据集,但没有地面实况。 对于无监督训练,我们使用来自原始数据集的城市、住宅和道路类别的连续图像对。 为了避免对我们评估的图像进行训练,我们从原始数据集中删除了 KITTI 2012 和 2015 训练和测试集中包含的所有图像,包括它们的时间邻居(±10 帧内)。 这个最终数据集由大约 72K 图像对组成。 对于可选的监督微调,我们使用来自 KITTI 2012 和 KITTI 2015 训练集的 394 个图像对和地面实况。 我们在 KITTI 2012 的 195 个测试和 194 个训练对以及 KITTI 2015 的 200 个测试和 200 个训练对上评估我们的网络。

4.3 Cityscapes

​ Cityscapes 数据集(Cordts 等人,2016 年)包含为语义分割和实例分割注释的真实驾驶序列,没有光流基本事实。 除了我们在 KITTI 上的主要实验之外,我们还在 Cityscapes 上训练了一个模型。 我们使用来自训练/验证/测试序列的所有连续帧。 由于 KITTI 基准测试为 10Hz,而 Cityscapes 以 17Hz 记录,我们还包括所有对,其中跳过每一帧以学习 8.5Hz 的更大位移。 最终数据集由大约 230K 组图像对组成。

5、实验

5.1训练和评估细节

​ 我们的网络首先在 SYNTHIA 上训练,然后在 KITTI raw 或 Cityscapes 上以建议的无监督方式进行训练。 然后,我们有选择地将监督微调应用于我们在 KITTI 上训练最佳堆叠网络,为此我们使用来自 KITTI 2012 和 2015 训练集的ground truth。 作为优化器,我们使用 Adam (Kingma and Ba 2015),其中 β1 = 0.9 和 β2 = 0.999。

5.1.1无监督的 SYNTHIA 预训练。

​ 我们使用来自 SYNTHIA 数据的 4 个图像对的小批量大小训练 300K 次迭代。 我们在前 100K 次迭代中保持 1.0e–4 的初始学习率固定,然后在每 100K 次迭代后将其除以 2。 在训练堆叠网络时,我们预训练每个网络,同时保持任何先前网络的权重固定。

5.1.2无人监督的 KITTI 培训。

​ 我们使用来自原始 KITTI 数据的 4 个图像对的小批量大小训练 500K 次迭代。 我们在前 100K 次迭代中保持 1.0e–5 的初始学习率固定,然后在每 100K 次迭代后将其除以 2。 对于堆叠,应用与 SYNTHIA 相同的方法。

5.1.3无人监督的Cityscapes培训。

​ 过程与 KITTI 相同,我们只训练单个网络而不进行堆叠。

5.1.4监督 KITTI 微调 (-ft)。

​ 我们使用来自 KITTI 训练集中的 4 个图像对的 mini-batch 大小和 0.5e–5 的初始学习率进行微调,在 45K 和 65K 迭代后我们分别将其降低到 0.25e–5 和 0.1e–5 。 对于验证,我们留出 20% 的混洗训练对并进行微调,直到验证错误增加,这通常发生在大约 70K 次迭代之后。 堆栈的微调是端到端的

5.1.5训练期间的预处理和数据增强。

​ 首先,我们打乱图像对列表,然后将 KITTI(原始和训练)图像随机裁剪为 1152 × 320,SYNTHIA 图像为 768 × 512,Cityscapes 图像为 1024 × 512。跟随 Yu、Harley 和 Derpanis (2016),我们应用随机加性高斯噪声 (0 < σ ≤ 0.04)、随机加性亮度变化、随机乘性颜色变化 (0.9 ≤ 乘数 ≤ 1.1),以及对比度(来自 [[ 0.3, 0.3])和伽玛 独立地更改(从 [0.7, 1.5])到两个帧。 仅对于无监督训练,我们首先对两帧应用相同的随机水平翻转和缩放 (0.9≤factor≤1.1),最后对第二帧应用相对随机缩放 (0.9≤factor≤1.1)。 亮度变化采用 σ = 0.02 的高斯采样,而所有其他随机值从给定范围均匀采样。

5.1.6评估。

​ 来自 KITTI 流基准测试的图像的分辨率为 1241×376、1226×370 或 1242×375。 由于 FlowNet 需要两个图像维度都可以被 26 整除,因此我们将这些输入图像双线性上采样到 1280×384 以进行精度评估。 得到的 1280 × 384 流估计然后双线性缩小到原始大小,以与地面实况流图进行比较。 随着重采样后原始像素的距离发生变化,我们根据各个方向的图像缩小因子对估计流的分量进行缩放。 请注意,仅将输入图像零填充到下一个有效尺寸(主语)会在图像边界处引入可见的伪影(artifacts)并显着增加误差。 对于其他数据集,我们类似地使用双线性重采样。

5.2 无监督损失比较

​ 为了比较单个无监督损失项的影响,我们首先使用普查损失、二阶平滑度、禁用遮挡处理和前后一致性对 UnFlow-C 进行预训练。 然后,我们继续在 KITTI 上针对各种损失设置进行无监督训练。

​ 表 2 比较了不同无监督损失在 KITTI 基准测试的训练部分的准确性。 首先,请注意,当使用 Yu、Harley 和 Derpanis (2016) 的精确训练协议时,我们重新实现他们的简单亮度恒定基线损失(双向公式化的微小变化)已经实现了比原始实现更高的准确度 (参见表 3),我们将其归因于实现细节。

表 2:KITTI 基准训练集上不同损失项的比较。 AEE:平均端点误差; Fl-all:流量估计错误 ≥ 3 像素和 ≥ 5% 的像素比率。 我们报告所有像素 (All) 和仅非遮挡像素 (NOC) 的 AEE。 每个指标的最佳结果以粗体显示。 †仅对于第一排,我们按照 Yu、Harley 和 Derpanis (2016) 的方案进行训练,在 FlyingChairs 而不是 SYNTHIA 上进行预训练。

表 3:KITTI、Middlebury 和 Sintel 光流基准的准确性比较。 AEE:平均端点误差; Fl all:流估计错误 ≥ 3 像素和 ≥ 5% 的像素比率。 括号中的数字是网络在他们训练的数据上的结果,因此不能直接与其他结果进行比较。 † 列车编号引用自 Ilg 等人。 (2017),发布在 KITTI 2015 ground truth上的最近的小更新之前。 例如,在此更新中,FlowNet2-ft-kitti 的测试 Fl-all 从 11.48% 更改为 10.41%。

​ 然后,我们观察无监督损失项的每次修改对我们的基线(Yu、Harley 和 Derpanis 2016)重新实现的影响。 我们的普查损失显着改善了原始亮度恒定性损失(~35% 的改进),二阶平滑度损失明显优于一阶平滑度损失(~5% 改进,~17% 异常值减少),并且遮挡掩蔽结合 前后一致性进一步降低了整体误差(约 14% 的改进)。 因此,与之前的无监督训练方法相比,所有三项创新的结合显着降低了平均终点误差(AEE,地面实况和估计流量之间的平均欧几里德距离)(小于 0.5 倍)。

​ 这里需要注意的是,在训练期间网络并不知道 AEE; 训练中使用的唯一信息来自我们在方程(5).中的无监督损失。

​ 图 3 直观地比较了基线损失训练的模型,类似于(Yu、Harley 和 Derpanis 2016)(表 2 的第一和第二行)和我们最好的无监督损失(最后一行)的。

图 3:我们完全无监督的 UnFlow-C 在 KITTI 2015 训练集上的视觉比较。 我们将类似于 (Yu, Harley, and Derpanis 2016)(中)的基线无监督损失与我们最好的无监督损失(右)进行比较。 对于每个示例,我们展示了真实情况和估计流(上排),以及输入图像叠加和流误差(下排)。 KITTI 2015 误差图以蓝色描绘正确估计(≤ 3 像素或≤ 5% 误差),以红色描绘错误估计。????

5.3 基准测试结果

​ 我们使用之前的消融研究中的最佳损失设置对我们的最终网络进行无监督训练,并将我们在 SYNTHIA 和 KITTI 图像上训练的单个 FlowNetC、两个网络堆栈和三个网络堆栈称为 UnFlow-C 、UnFlow-CS 和 UnFlow-CSS。 最后,我们使用监督的 KITTI 调度对 UnFlow-CS 和 UnFlow-CSS 进行微调,并将这些模型称为 UnFlow-CS-ft 和 UnFlow-CSS-ft。 此外,我们在 SYNTHIA 和 Cityscapes 上训练 FlowNetC,并将其称为 UnFlow-C-Cityscapes。 表 3 比较了我们的方法和其他光流方法在 KITTI 2012、KITTI 2015、Middlebury 和 MPI Sintel 上的准确性。 图 4 直观地比较了 KITTI 2012 上基于 FlowNet 的方法。

图 4:KITTI 2012 测试集的视觉比较:(从左到右)FlowNetS(Dosovitskiy 等人 2015)、UnsupFlownet(Yu、Harley 和 Derpanis 2016)和我们的无监督 UnFlow-CSS。 对于每个示例,我们显示了流量(上排)和流量误差(下排)图。 KITTI 2012 误差图在 0(黑色)和 ≥ 5 像素误差(白色)之间线性缩放

KITTI 。

​ UnsupFlownet (Yu, Harley, and Derpanis 2016) 和 DSTFlow (Ren et al. 2017) 在非遮挡区域对监督网络FlowNetS (Dosovitskiy et al. 2015) 进行了一些改进,代价是在 KITTI 2012上总端点误差显着增加。在 KITTI 2012 上,我们纯无监督的 UnFlow-C 在所有指标上都优于有监督的 FlowNetC 和 FlowNetS。 这突出了能够在相关领域进行训练的好处,即使在没有可用的地面实况流时,我们的方法也可以做到这一点。 与 UnsupFlownet 和 DSTFlow 相比,UnFlow-C 在 KITTI 2012 上的两个误差指标都减少了一半以上,并且在 KITTI 2015 上大大提高了准确性。即使是我们未在 KITTI 图像上训练的无监督 UnFlow-C-Cityscapes,也显着优于 UnsupFlownet 和 DSTFlow。 这表明我们基于稳健数据丢失的双向损失显着改善了以前的无监督方法。 最后,我们观察到我们的微调网络的性能类似于更复杂的 FlowNet2-ft-kitti (Ilg et al. 2017),而无需单独的小位移网络和自定义训练计划。 请注意,我们没有使用 (Mayer et al. 2016) 的扩展合成数据集,而是仅依赖于上述数据集。 此外,我们的纯无监督网络在微调之前明显优于有监督的 FlowNet2 对应物。 这再次突出了无监督光流学习在应对现实世界领域的好处。

Middlebury。

​ 在 Middlebury,UnFlow-C 和 UnFlow-C Cityscapes 的表现优于受监督的 FlowNetS,我们的堆叠和微调变体性能在 FlowNetS 和复杂的 FlowNet2 模型之间。 这表明我们的网络可以推广到他们所训练的驾驶环境之外的现实领域。

Sintel 。

​ 在 Sintel 上,我们的无监督网络无法与 FlowNetS+ft 和 FlowNet2 竞争,相比之下,FlowNetS+ft 和 FlowNet2 以有监督的方式在各种数据集上进行训练。 然而,我们的方法优于 DSTFlow(Ren et al. 2017),后者也在类似的数据集上以无监督的方式进行了训练。 这表明,我们的方法不仅在域内数据的无监督深度网络上明显优于以前的无监督深度网络,而且还为来自未经训练的域(此处为合成)的数据带来了好处。

结论

​ 我们提出了一种端到端的无监督学习方法,可以在没有光流ground truth的大型数据集上有效地训练 FlowNet 网络。 为此,我们利用了久经考验的基于能量的流方法中的组件,例如基于普查变换的数据丢失、高阶平滑度以及由双向流估计启用的遮挡推理。 我们的实验表明,使用所提出的准确无监督损失是利用未标注数据集进行光流的关键,与以前的无监督深度学习方法相比,具有挑战性的 KITTI 基准上的错误减少了一半以上。 因此,我们使用于光流的 CNN 适用于更大的领域范围。 此外,我们的结果表明,当只有手工合成数据集可用于监督时,使用大型真实世界数据集结合我们的无监督损失甚至可以在具有挑战性的现实基准上优于监督训练。 最后,我们表明,当只有有限数量的真实世界地面实况数据可用时,我们的无监督损失为预训练提供了坚实的基础。 展望未来,我们的结果表明,对无监督深度学习的更准确损失的进一步研究可能是推进光流估计最先进技术的一个有希望的方向。

文章目录

  • UnFlow:具有双向普查损失的光流的无监督学习
    • 摘要
    • 1、介绍
    • 2、相关工作
      • 端到端监督学习。
      • 端到端无监督学习。
    • 3、光流的无监督学习
      • 3.1无监督损失
        • 3.1.1后向扭曲。
        • 3.1.2损失区分和实施。
      • 3.2网络架构和计算
        • 3.2.1UnFlow-C。
        • 3.2.2堆叠。
        • 3.2.3计算无监督损失。
        • 3.2.4用于微调的监督损失。
      • 3.3讨论
    • 4、用于训练数据集
      • 4.1 SYNTHIA
      • 4.2 KITTI 。
      • 4.3 Cityscapes
    • 5、实验
      • 5.1训练和评估细节
        • 5.1.1无监督的 SYNTHIA 预训练。
        • 5.1.2无人监督的 KITTI 培训。
        • 5.1.3无人监督的Cityscapes培训。
        • 5.1.4监督 KITTI 微调 (-ft)。
        • 5.1.5训练期间的预处理和数据增强。
        • 5.1.6评估。
      • 5.2 无监督损失比较
      • 5.3 基准测试结果
        • KITTI 。
        • Middlebury。
        • Sintel 。
    • 结论

UnFlow:具有双向普查损失的光流的无监督学习相关推荐

  1. 【读论文】使用基于 CNN 的非局部滤波对光流进行无监督学习

    使用基于 CNN 的非局部滤波对光流进行无监督学习 论文原文请看这里 文章目录 使用基于 CNN 的非局部滤波对光流进行无监督学习 一.引言 二. 相关工作 A. Variational Method ...

  2. 回归基础:通过亮度恒定性和运动平滑度对光流进行无监督学习

    回归基础:通过亮度恒定性和运动平滑度对光流进行无监督学习 原文链接 文章目录 回归基础:通过亮度恒定性和运动平滑度对光流进行无监督学习 摘要 1 引言 贡献 2 技术方法 2.1 无监督损失 2.2 ...

  3. 【光流估计】无监督学习中的遮挡区域

    本文目的在于记录无监督光流估计中遮挡区域的相关问题 本博文是光流估计的第二篇文章,因此一些提及的内容不再赘述. 第一篇文章为无监督损失 目录 无监督光流估计中的遮挡区域 估计遮挡区域 前后流一致性检查 ...

  4. 机器学习概念 — 监督学习、无监督学习、半监督学习、强化学习、欠拟合、过拟合、后向传播、损失和优化函数、计算图、正向传播、反向传播

    1. 监督学习和无监督学习 监督学习 ( Supervised Learning ) 和无监督学习 ( Unsupervised Learning ) 是在机器学习中经常被提及的两个重要的学习方法. ...

  5. 用于光流估计的无监督深度学习DSTFlow

    用于光流估计的无监督深度学习DSTFlow 原文链接 摘要 ​ 最近的工作表明,光流估计可以被表述为一个监督学习问题. 此外,卷积网络已成功应用于此任务. 然而,监督流学习由于缺乏标记的训练数据而变得 ...

  6. 【今日CV 计算机视觉论文速览 第94期】 4 Apr 2019

    今日CS.CV 计算机视觉论文速览 Thu, 4 Apr 2019 Totally 59 papers Interesting: ?点云过分割直接到superpoints,研究人员将这一问题转为了如何 ...

  7. 论文笔记-Reliable Supervision from Transformations for Unsupervised Optical Flow Estimation

    Hello, 这是论文阅读计划的第24篇啦 今天介绍的这篇论文是CVPR 2020的论文,非监督的光流估计. 一.背景介绍 光流作为图像的运动描述,已经广泛应用于高级视频任务.得益于深度学习的发展,基 ...

  8. 全球计算机视觉顶会CVPR 2020论文出炉:腾讯优图17篇论文入选

    全球计算机视觉顶级会议CVPR2020  (IEEE Conference on Computer Vision and Pattern Recognition,即IEEE国际计算机视觉与模式识别会议 ...

  9. CVPR 2020 | 腾讯优图17篇论文入选,含类比学习、人脸识别、物体检测、行人重识别等领域...

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 本文来源:腾讯优图 全球计算机视觉顶级会议CVPR2020  (IEEE Conf ...

  10. 深度解析,教你如何打造自动驾驶的数据闭环

    最近自动驾驶和数据闭环结合在一起,原因是自动驾驶工程已经被认可是一个解决数据分布"长尾问题"的任务,时而出现的corner case(极端情况)是对数据驱动的算法模型进行升级的来源 ...

最新文章

  1. 异步编程之Promise(2):探究原理
  2. 苹果和Siri的七年之痒:Siri的落寞之路
  3. 秦川团队《科学》刊发研究:新冠感染恒河猴康复后不会再感染
  4. 一、MySql优化的基础介绍
  5. 抢鲜体验:十一大行业 demo 全新上线!
  6. 运行tensorflow代码出现dtypes.py:516: FutureWarning: Passing (type, 1) or '1type的解决方法(亲测)
  7. Linux文件atime ctime mtime
  8. 给我往死里贪——HRBUST - 1167-每种面值的货币要多少
  9. .net core orm框架_轻量级高性能PHP框架ycroute
  10. 信息学奥赛C++语言:输出学生序号与成绩
  11. 3_python基础—运算符 2
  12. 199 美元的 iPhone 都可以想了,时代真的变了?
  13. 清华大学python视频_涨见识了,清华大学全套Python642集视频教程泄露,拿走玩去...
  14. 是否有唯一的Android设备ID?
  15. 水文预报中的确定性系数如何计算确定
  16. scada java_SCADA开源项目lite版本
  17. python图像处理(二)绘制函数图像
  18. 企业网络推广期间网站关键词堆砌是否影响企业网络推广优化?
  19. 微信一面:一致性哈希是什么,使用场景,解决了什么问题?
  20. Ubuntu18.04双网卡配置内外网

热门文章

  1. 线性代数学习笔记6-4:行列式的应用(用伴随矩阵求逆矩阵、克莱姆法则解方程、行列式求面积/体积)
  2. TP4056 充电电路学习借鉴
  3. day02【Collection、泛型】
  4. RabbitMQ An unexpected connection driver error occured错误
  5. 微信好友排行榜 最简教程 二
  6. CSAPP:第四章——处理器体系结构(上)
  7. ShareX+七牛云搭建博客图床
  8. 超酷flv网页播放器 CKplayer V5.7
  9. 微信平台分账产品怎么选?
  10. php session fixation,什么是session fixation攻击