没有合适的资源?快使用搜索试试~ 我知道了~
自监督学习光流模型的设计及应用
145710SelFlow:自监督学习光流0Pengpeng Liu †�,Michael Lyu †,Irwin King †,Jia Xu §0† 香港中文大学,§ 腾讯AI Lab0摘要0我们提出了一种自监督学习方法来学习光流。我们的方法从非遮挡像素中提取可靠的流估计,并使用这些预测作为学习虚拟遮挡的光流的真实值。我们进一步设计了一个简单的CNN来利用多帧的时间信息来进行更好的流估计。这两个原则导致了一种在MPI Sintel、KITTI2012和2015等具有挑战性的基准测试中具有最佳性能的方法。更值得注意的是,我们的自监督预训练模型为监督微调提供了出色的初始化。我们的微调模型在所有三个数据集上都取得了最先进的结果。在撰写本文时,我们在Sintel基准测试中取得了EPE=4.26的成绩,超过了所有提交的方法。01. 引言0光流估计是各种计算机视觉系统的核心构建模块[30, 8, 39,4]。尽管经过数十年的发展,准确的流估计仍然是一个开放的问题,其中一个关键挑战是遮挡。传统方法通过最小化能量函数来鼓励视觉上相似像素的关联,并通过正则化不一致的运动来传播从非遮挡像素到遮挡像素的流估计[13, 5, 6,38]。然而,这类方法通常耗时且不适用于实时应用。最近的研究使用卷积神经网络(CNN)从图像中端到端地学习光流估计[10, 35, 15, 14,43]。然而,训练完全监督的CNN需要大量标记的训练数据,而对于光流来说,尤其是存在遮挡时,获取这些数据非常困难。考虑到在使用数亿标记图像时获得的性能改进[40],很明显,训练数据的规模是光流估计的一个关键瓶颈。0� 主要工作是在腾讯AI Lab实习期间完成的。0在缺乏大规模真实世界注释的情况下,现有方法转而在合成标记数据集上进行预训练[10,28],然后在小型注释数据集上进行微调[15, 14,43]。然而,合成数据和自然场景的分布通常存在很大差距。为了训练一个稳定的模型,我们必须仔细遵循不同数据集之间的特定学习计划[15, 14, 43]。0一个有希望的方向是开发从无标签数据中受益的无监督光流学习方法。基本思想是根据估计的光流将目标图像向参考图像进行变形,然后使用光度损失[20,37]最小化参考图像和变形的目标图像之间的差异。这种思想对于非遮挡像素效果很好,但对于遮挡像素来说会提供误导性的信息。最近的方法在计算光度损失时排除了这些遮挡像素,或者使用额外的空间和时间平滑项来规范化流估计[29, 46, 18]。最近,DDFlow[26]提出了一种数据蒸馏方法,它使用随机裁剪来创建自监督的遮挡。不幸的是,这些方法对于所有自然遮挡的泛化能力不强。因此,无监督方法与最先进的完全监督方法之间仍存在较大的性能差距。0是否可能有效地学习带有遮挡的光流?在本文中,我们展示了一种自监督方法可以从无标签数据中学习估计带有任何形式遮挡的光流。我们的工作基于从非遮挡像素中提取可靠的流估计,并使用这些预测来引导光流学习以生成虚拟遮挡。图1说明了我们通过扰动超像素来创建合成遮挡的想法。我们进一步利用多帧的时间信息来提高在简单的CNN架构中的流预测准确性。所得到的学习方法在Sintel和KITTI基准测试中在所有无监督光流学习方法中具有最高的准确性。0令人惊讶的是,我们的自监督预训练模型为监督微调提供了一个很好的初始化。在撰写本文时,我们的微调模型达到了 𝐼𝑡 𝐼𝑡+1 𝐼 𝑡+1 𝐼𝑡 𝐼𝑡−1 𝑝1 𝑝2 𝑝1′ 𝑝2′ 𝑝1 𝑝2 𝐼𝑡−1 245720NOC模型0OCC模型0引导0光流0光流0(a)参考图像 � � (b)目标图像 � �+1 (c)地面真值光流 � �→�+1 (d)扭曲的目标图像 � �+1→� �0(e)SILC超像素 (f) � �+1 (h)新的遮挡图 � �→�+10(i)自监督掩码 � �→�+10(g)遮挡图 � �→�+10图1.一个玩具示例,用于说明我们的自监督学习思想。我们首先使用经典的光度损失(衡量参考图像(a)和扭曲的目标图像(d)之间的差异)和遮挡图(g)来训练我们的NOC模型。然后,我们在目标图像(b)中随机选择超像素来虚拟遮挡。最后,我们使用我们的NOC模型的可靠光流估计来指导我们的OCC模型对这些新遮挡像素进行学习(由自监督掩码(i)表示,其中值1表示像素在(g)中是非遮挡的,但在(h)中是遮挡的)。注意,黄色区域是移动的狗的一部分。我们的自监督方法可以学习移动物体和静态场景的光流。0在Sintel基准测试中,我们的方法报告了最高的准确性(EPE=4.26)。我们的方法还在KITTI2012基准测试上显著优于所有已发表的光流方法,并在KITTI2015基准测试上取得了极具竞争力的结果。据我们所知,这是第一次有一个监督学习方法在不使用任何外部标记数据的情况下实现如此显著的准确性。02. 相关工作0经典的光流估计。经典的变分方法将光流估计建模为基于亮度恒定性和空间平滑性的能量最小化问题[13]。这些方法对于小运动是有效的,但在位移较大时往往失败。后续的工作将特征匹配集成到初始化稀疏匹配中,然后以金字塔的粗到细的方式插值得到密集的光流图[6, 47,38]。最近的工作使用卷积神经网络(CNNs)通过学习有效的特征嵌入来改进稀疏匹配[49,2]。然而,这些方法通常计算复杂。0提高鲁棒性和准确性的一个自然扩展是在多个帧上引入时间信息。一种直接的方法是添加时间约束,如恒定速度[19,22, 41],恒定加速度[45,3],低维线性子空间[16]或刚性/非刚性分割[48]。虽然这些公式推导出来的方法很优雅且有很好的动机,但我们的方法更简单,不依赖于数据的任何假设。相反,我们的方法直接学习适用于数据中更广泛的具有挑战性情况的光流。0使用监督学习的光流。一个有前途的方向是使用卷积神经网络学习光流。FlowNet[10]是第一个端到端的光流学习框架。它以两个连续的图像作为输入,并输出一个密集的光流图。后续的工作FlowNet2.0[15]将多个基本的FlowNet模型堆叠起来进行迭代细化,并显著提高了准确性。SpyNet[35]提出了在多个尺度上对图像进行变形以应对大位移的方法,从而得到一个紧凑的空间金字塔网络。WarpingWarpingBackwardCostVolumeForwardCostVolumeCorrelationCorrelationEstimatorNetworkBackward Cost VolumeForward Cost Volume𝐰𝑡→𝑡−1𝑙 𝐰𝑡→𝑡+1𝑙 Backward Cost VolumeForward Cost Volume𝐹𝑡−1𝑙𝐹𝑡+1𝑙𝐹 𝑡−1𝑙𝐹 𝑡+1𝑙𝐹𝑡𝑙𝐹𝑡𝑙−𝐰𝑡→𝑡−1𝑙 𝐰𝑡→𝑡+1𝑙 −𝐰𝑡→𝑡+1𝑙 𝐰𝑡→𝑡−1𝑙 𝐰𝑡→𝑡+1𝑙 𝐰𝑡→𝑡−1𝑙 𝐹𝑡𝑙UpscalinginResolutionand Magnitude𝐰𝑡→𝑡−1𝑙+1 𝐰𝑡→𝑡+1𝑙+1 𝐼t−2 & 𝐼𝑡−1 & 𝐼𝑡 𝐼t−1 & 𝐼𝑡 & 𝐼𝑡+1 𝐼t & 𝐼𝑡+1 & 𝐼𝑡+2 𝐰𝑡−1→𝑡−2 𝐰𝑡−1→𝑡 𝐰𝑡→𝑡−1 𝐰𝑡→𝑡+1 𝐰𝑡+1→𝑡 𝐰𝑡+1→𝑡+2 𝑂𝑡−1→𝑡 𝑂𝑡→𝑡−1 𝑂𝑡→𝑡+1 𝑂𝑡+1→𝑡 345730图2.我们在每个级别的网络架构(类似于PWC-Net [43])。˙ wl表示级别l的初始粗略流,ˆ Fl表示变形特征表示。在每个级别,我们交换初始流和成本体积作为输入,同时估计正向和反向流。然后将这些估计传递给l-1层以估计更高分辨率的流。0最近,PWC-Net [43]和LiteFlowNet[14]提出了从CNN中提取特征并通过特定的训练计划在轻量级框架中实现最先进结果的特性。然而,要使用这些CNN获得高精度,需要在多个合成数据集上进行预训练,并遵循特定的训练计划[10,28]。在本文中,我们减少了对合成数据预训练的依赖,并提出了一种有效的自监督训练方法来使用无标签数据。光流的无监督学习。另一种有趣的工作是无监督的光流学习。基本原理基于亮度恒定性和空间平滑性[20,37]。这导致了最流行的光度损失,它衡量参考图像和变形图像之间的差异。不幸的是,这种损失对于遮挡像素不适用。最近的研究提出首先获得遮挡图,然后在计算光度差异时排除那些遮挡像素[29,46]。Janai等人[18]引入了一种多帧公式来估计光流和更高级的遮挡推理,实现了最先进的无监督结果。最近,DDFlow[26]提出了一种数据蒸馏方法来学习遮挡像素的光流,对于靠近图像边界的像素效果特别好。然而,所有这些无监督学习方法只处理特定情况下的遮挡像素。它们缺乏推理所有可能的遮挡像素的能力。在这项工作中,我们通过基于超像素的遮挡幻觉技术解决了这个问题。自监督学习。我们的工作与自监督学习方法的家族密切相关,其中监督信号完全由数据自身生成。它被广泛用于从无标签数据中学习特征表示[21]。通常采用预文本任务,如图像修复[34]、图像上色[24]、求解0正向-反向一致性检查0模型0图3.多帧自训练的数据流。为了估计三帧流学习的遮挡图,我们使用五个图像作为输入。这样,我们可以进行正向-反向一致性检查,分别估计I t 和I t +1之间,I t 和I t -1之间的遮挡图。0拼图游戏[32]。Pathak等人[33]提出利用低级基于运动的线索来学习特征表示,无需手动监督。Doersch等人[9]结合多个自监督学习任务,训练单个视觉表示。在本文中,我们利用光流的领域知识,将可靠的非遮挡像素的预测作为自监督信号,指导我们对遮挡像素的光流学习。03.方法0在本节中,我们提出了一种自监督的方法来从无标签数据中学习光流。为此,我们使用相同的网络架构训练了两个CNN(NOC-Model和OCC-Model)。前者专注于对非遮挡像素进行准确的流估计,后者学习预测所有像素的光流。我们从NOC-Model中提取可靠的非遮挡流估计结果,以指导OCC-Model对那些遮挡像素的学习。在测试时只需要OCC-Model。我们基于PWC-Net[43]构建了我们的网络,并进一步扩展到多帧光流估计(图2)。在详细描述我们的方法之前,我们首先定义我们的符号。03.1. 符号表示0给定三个连续的RGB图像I t − 1,I t,I t+1,我们的目标是从I t 估计到I t +1 的前向光流。设 w i→ j 表示从I i 到I j 的光流,例如 w t → t +1 表示从I t 到I t+1 的前向光流,w t → t − 1 表示从I t 到I t − 1的后向光流。在获得光流后,我们可以使用空间变换网络[17,46]将目标图像进行反向变换,以重构参考图像。这里,我们用I w j → i 表示使用光流w i → j 将I j 变换到Ii。类似地,我们用O i → j 表示从I i 到I j的遮挡图,其中值1表示I i 中的像素在I j中不可见。在我们的自监督设置中,我们通过对超像素注入随机噪声来生成遮挡。我们可以向任意三个连续帧或其中多个帧注入噪声,如图1所示。为简洁起见,这里我们选择I t+1 作为示例。ˆwt→t+1 = wt+1→t(p + wt→t+1(p)),(1)445740(a) 参考图像0(b) GT光流0(c) 我们的光流0(d) GT遮挡0(e) 我们的遮挡0图4. Sintel和KITTI数据集上的无监督结果示例。从上到下,我们展示了来自Sintel Final、KITTI 2012和KITTI2015的样本。我们的模型可以同时估计准确的光流和遮挡图。请注意,在KITTI数据集上,遮挡图是稀疏的,只包含移出图像边界的像素。0如果我们将I t − 1,I t 和I t +1 作为输入,则� w,� O,� I w分别表示生成的光流、遮挡图和变换后的图像。03.2. 用于多帧光流估计的CNN0原则上,我们的方法可以利用任何CNN。在我们的实现中,我们基于PWC-Net[43]构建了一个研讨会。PWC-Net采用金字塔处理方式,以粗到细的方式增加光流分辨率,并利用特征变换、代价体积构建来估计每个级别的光流。基于这些原则,它以紧凑的模型尺寸取得了最先进的性能。如图2所示,我们的三帧光流估计网络结构是在双帧PWC-Net的基础上构建的,通过几个修改来聚合时间信息。首先,我们的网络以三个图像作为输入,因此产生三个特征表示F t − 1,F t 和F t+1。其次,除了前向光流w t → t +1和前向代价体积外,我们的模型还同时计算后向光流w t →t − 1和后向代价体积。注意,在估计前向光流时,我们还利用了初始的后向光流和后向代价体积信息。这是因为过去的帧I t− 1可以提供非常有价值的信息,特别是对于那些在未来帧It +1中被遮挡但在I t −1中未被遮挡的区域。我们的网络将所有这些信息结合在一起,因此能更准确地估计光流。第三,我们堆叠初始的前向光流˙ w l t → t +1,减去初始的后向光流−˙ w l t +1 →t,参考图像F lt,前向代价体积和后向代价体积来估计每个级别的前向光流。对于后向光流,我们只需交换光流和代价体积作为输入。前向和后向光流估计网络共享相同的网络结构和权重。对于每个级别的初始光流,我们将上一级别的光流进行上采样,然后与当前级别的光流进行叠加。0下一级别的分辨率和幅度都有所提高。03.3. 遮挡估计0对于双帧光流估计,我们可以交换两个图像作为输入来生成前向和后向光流,然后基于前后一致性先验[44,29]生成遮挡图。为了使这个方法适用于我们的三帧设置,我们提出利用相邻的五帧图像作为输入,如图3所示。具体而言,我们估计I t 和I t +1 之间的双向光流,即w t → t +1和w t +1 → t。同样地,我们还估计I t 和I t − 1之间的光流。最后,我们进行前向和后向一致性检查来推断两个连续图像之间的遮挡图。为了检查前后一致性,当前向光流和反向前向光流之间的不匹配过大时,我们将一个像素视为遮挡。以O t → t +1为例,我们可以首先计算反向前向光流如下,0每当像素违反以下约束时,就被认为是遮挡的:0| w t → t +1 + ˆ w t → t +1 | 2 < α 1 ( | w t → t +1 | 2 + | ˆ w t → t +1 | 2 ) + α 2 , (2)在我们的所有实验中,我们设置 α 1 = 0.01,α 2 =0.05。其他遮挡图的计算方式相同。03.4. 遮挡幻觉0在我们的自监督训练中,我们通过对局部区域施加随机噪声来产生遮挡。在新生成的目标图像中,与噪声区域对应的像素自动变为遮挡。有许多方法可以生成这样的遮挡。最直接的方法是随机选择矩形区域。然而,矩形遮挡在现实世界的序列中很少存在。为了解决这个问题,我们首先生成超像素[1],然后随机选择几个超像素并填充噪声。使用超像素有两个主要优点。首先,超像素的形状通常是随机的,超像素的边缘通常是物体边界的一部分。这与真实世界的情况一致,使得噪声图像更加逼真。我们可以选择位于不同位置的几个超像素来覆盖更多的遮挡情况。其次,每个超像素内的像素通常属于同一个对象或具有相似的光流场。先前的研究发现,低级分割对光流估计是有帮助的[49]。注意,随机噪声应该在像素值范围内。traintesttraintesttraintesttest(Fl)traintest(Fl)BackToBasic+ft [20]––––11.39.9–––DSTFlow+ft [37](6.16)10.41(6.81)11.2710.4312.4–16.7939%UnFlow-CSS [29]––(7.91)10.223.29––8.1023.30%OccAwareFlow+ft [46](4.03)7.95(5.95)9.153.554.2–8.8831.2%MultiFrameOccFlow-None+ft [18](6.05)–(7.09)––––6.65–MultiFrameOccFlow-Soft+ft [18](3.89)7.23(5.52)8.81–––6.5922.94%DDFlow+ft [26](2.92)6.183.987.402.353.08.86%5.7214.29%Ours(2.88)6.56(3.87)6.571.692.27.68%4.8414.19%FlowNetS+ft [10](3.66)6.96(4.44)7.767.529.144.49%––FlowNetC+ft [10](3.78)6.85(5.28)8.518.79––––SpyNet+ft [35](3.17)6.64(4.32)8.368.2510.120.97%–35.07%FlowFieldsCNN+ft [2]–3.78–5.36–3.013.01%–18.68 %DCFlow+ft [49]–3.54–5.12––––14.83%FlowNet2+ft [15](1.45)4.16(2.01)5.74(1.28)1.88.8%(2.3)11.48%UnFlow-CSS+ft [29]––––(1.14)1.78.42%(1.86)11.11%LiteFlowNet+ft-CVPR [14](1.64)4.86(2.23)6.09(1.26)1.7–(2.16)10.24%LiteFlowNet+ft-axXiv [14](1.35)4.54(1.78)5.38(1.05)1.67.27%(1.62)9.38%PWC-Net+ft-CVPR [43](2.02)4.39(2.08)5.04(1.45)1.78.10%(2.16)9.60%PWC-Net+ft-axXiv [42](1.71)3.45(2.34)4.60(1.08)1.56.82%(1.45)7.90%ProFlow+ft [27](1.78)2.82–5.02(1.89)2.17.88%(5.22)15.04%ContinualFlow+ft [31]–3.34–4.52––––10.03%MFF+ft [36]–3.42–4.57–1.77.87%–7.17%Ours+ft(1.68)3.74(1.77)4.26(0.76)1.56.19%(1.18)8.42%straightforward way is to randomly select rectangle regions.However, rectangle occlusions rarely exist in real-world se-quences. To address this issue, we propose to first gener-ate superpixels [1], then randomly select several superpix-els and fill them with noise. There are two main advantagesof using superpixel. First, the shape of a superpixel is usu-ally random and superpixel edges are often part of objectboundaries. The is consistent with the real-world cases andmakes the noise image more realistic. We can choose sev-eral superpixels which locate at different locations to covermore occlusion cases. Second, the pixels within each su-perpixel usually belong to the same object or have similarflow fields. Prior work has found low-level segmentation ishelpful for optical flow estimation [49]. Note that the ran-dom noise should lie in the pixel value range.545750方法 Sintel Clean Sintel Final KITTI 2012 KITTI 20150无监督的0有监督的0表1. 与最先进的基于学习的光流估计方法的比较。我们的方法在所有数据集上都优于所有无监督光流学习方法。我们的监督微调模型在SintelFinal数据集和KITTI 2012数据集上获得了最高的准确性。所有数字都是EPE,除了KITTI 2012和KITTI2015测试集的最后一列,我们报告了所有像素中错误像素的百分比(Fl-all)。缺失的条目(-)表示没有为相应的方法报告结果。括号表示在同一数据集上进行训练和测试。0图1显示了一个简单的例子,其中只有从COCO数据集[25]中提取的狗在移动。最初,I t 和 I t +1之间的遮挡图是(g)。在从(e)中随机选择几个超像素注入噪声后,I t 和 I t +1之间的遮挡图变为(h)。接下来,我们将描述如何利用这些遮挡图来0指导我们的自训练。03.5. 作为自监督的NOC-to-OCC0我们的自训练思想是建立在经典的光度损失[29, 46,18]之上的,对于非遮挡像素非常有效。图1说明了我们的主要思想。假设图像It中的像素p1在It+1中没有遮挡,p′1是它对应的像素。如果我们向It+1注入噪声,并将It−1、It和It+1作为输入,那么p1就会变成遮挡像素。好消息是,我们仍然可以使用NOC-Model的光流估计作为注释,引导OCC-Model学习从It到It+1的p1的光流。这也与真实世界的遮挡一致,遮挡像素的光流可以基于周围的非遮挡像素进行估计。在图1的示例中,自监督仅用于(i),表示从It到It+1中非遮挡的像素,但从It到It+1中变成遮挡的像素。03.6. 损失函数0与先前的无监督方法类似,我们首先对非遮挡像素应用光度损失Lp。光度645760参考图像(训练)0真实值0无遮挡0无自监督0矩形0两帧超像素0超像素0微调0参考图像(测试)0目标图像0无遮挡0无自监督0矩形0两帧超像素0超像素0微调0图5. 在Sintel Clean训练集和Sintel Final测试集上,我们模型在不同设置下的定性比较。遮挡处理、多帧公式和自监督都能够持续提高性能。0损失定义如下:0Lp =0i,j0ψ(Ii − Iwj→i) ⊙ (1 − Oi) ⊙ (1 − Oi)(3)0其中ψ(x) = (|x| +ε)q是一个鲁棒的损失函数,⊙表示逐元素乘法。我们设置ε= 0.01,q =0.4用于所有实验。只有Lp对于训练NOC-Model是必要的。为了训练我们的OCC-Model来估计遮挡像素的光流,我们为这些合成的遮挡像素(图1(i))定义了一个自监督损失Lo。首先,我们计算一个自监督掩码M来表示这些像素,0Mi→j = clip(ωOi→j − Oi→j, 0, 1) (4)0然后,我们将自监督损失Lo定义为:0Lo =0i,j0ψ(wi→j − ωwi→j) ⊙ Mi→j ⊙ Mi→j(5)0对于我们的OCC-Model,我们对非遮挡像素和遮挡像素都使用简单的组合Lp +Lo进行训练。注意我们的损失函数不依赖于空间和时间一致性的假设,可以用于经典的两帧光流估计和多帧光流估计。03.7. 有监督微调0在原始数据集上进行预训练后,我们使用真实世界的带注释数据进行微调。由于只有正向光流wtt+1的注释,我们在计算损失时跳过了反向光流估计。假设地面真值0真实的光流是wgtt→t+1,掩码V表示像素是否有标签,其中值1表示像素具有有效的真实光流。然后我们可以得到如下的有监督微调损失:0Ls = (ψ(wgtt→t+1 − wtt+1) ⊙ V) / V (6)0在微调过程中,我们首先使用每个数据集上预训练的OCC-Model初始化模型,然后使用Ls进行优化。04. 实验0我们在公共光流基准数据集上评估和比较我们的方法与最先进的无监督和监督学习方法,包括MPI Sintel [7]、KITTI2012 [11]和KITTI 2015[30]。为了确保可重复性和推动进一步的创新,我们将我们的代码和模型公开在https://github.com/ppliuboy/SelFlow上。04.1. 实现细节0数据预处理。对于Sintel,我们下载了Sintel电影并提取了约10,000张图像进行自训练。我们首先在这些原始数据上训练我们的模型,然后添加官方的Sintel训练数据(包括“final”和“clean”版本)。对于KITTI 2012和KITTI2015,我们使用这两个数据集的多视图扩展进行无监督预训练,类似于[37,46]。在训练过程中,我们排除了具有地面真值光流及其相邻帧(帧编号9-12)的图像对,以避免训练和测试数据的混合。745770参考图像(训练)0地面真值0无遮挡0无自监督0矩形0双帧超像素0超像素0微调0参考图像(测试)0目标图像0无遮挡0无自监督0矩形0双帧超像素0超像素0微调0图7. 在KITTI 2015训练和测试数据集上,我们的模型在不同设置下的定性比较。遮挡处理,图6. 在KITTI2015训练和测试数据集上,我们的模型在不同设置下的定性比较。遮挡处理,多帧公式和自监督始终改善性能。0我们将像素值从[0, 255]重新缩放为[0,1]以进行无监督训练,同时将每个通道归一化为标准正态分布以进行监督微调。这是因为将图像归一化为输入更能够适应亮度变化,这对光流估计特别有帮助。对于无监督训练,我们对图像应用Census变换[50],这已被证明对光流估计[12, 29]具有鲁棒性。0训练过程。我们使用Adam优化器[23]对模型进行训练,并将批量大小设置为4。对于无监督训练,我们将初始学习率设置为10^-4,在每50k次迭代时减半,并在数据增强过程中使用随机裁剪、随机翻转、随机通道交换。对于监督微调,我们采用类似的数据增强和学习率调度,如[10,15]。对于无监督预训练,我们首先使用光度损失对我们的NOC模型进行200k次迭代的训练。然后,我们添加遮挡正则化并进行另外500k次迭代的训练。最后,我们使用训练好的NOC模型的权重初始化OCC模型,并使用Lp +Lo进行500k次迭代的训练。由于同时训练两个模型会消耗更多的内存和训练时间,我们提前使用NOC模型生成光流和遮挡图,并将它们作为注释(就像KITTI的稀疏注释一样)。对于监督微调,我们使用预训练的OCC模型作为初始化,并使用500k次迭代的KITTI数据集和1000k次迭代的Sintel数据集使用我们的监督损失Ls进行训练。请注意,我们不需要在任何标记的合成数据集上预训练我们的模型,因此我们不必遵循特定的训练计划(FlyingChairs [10] →FlyingThings3D [28]),如[15, 14, 43]。0评估指标。我们考虑两个广泛使用的光流估计评估指标:平均端点误差(EPE)和错误像素百分比(Fl)。EPE是排名-0Sintel基准测试中的EPE是评估指标,Fl是KITTI基准测试中的排名指标。04.2. 主要结果0如表1所示,我们在所有数据集和所有评估指标下实现了无监督和有监督光流学习的最新成果。图4显示了来自Sintel和KITTI的样本结果。我们的方法估计了准确的光流和遮挡图。0无监督学习。我们的方法在领先的基准测试中实现了无监督学习方法的最高准确性。在Sintel最终基准测试中,我们将之前最佳EPE从7.40[26]降低到6.57,相对改进了11.2%。这甚至比一些全监督方法如FlowNetS,FlowNetC[10]和SpyNet[35]更好。在KITTI数据集上,改进更为显著。对于训练数据集,与之前最佳的无监督方法DDFlow相比,我们在KITTI2012上实现了EPE=1.69,相对改进了28.1%,在KITTI2015上实现了EPE=4.84,相对改进了15.3%。在KITTI2012测试集上,我们实现了Fl-all=7.68%,优于FlowNet2[15],PWC-Net [43],ProFlow [27]和MFF[36]等最先进的有监督方法。在KITTI2015测试基准测试中,我们实现了Fl-all14.19%,优于所有无监督方法。我们的无监督结果也优于一些全监督方法,包括DCFlow [49]和ProFlow [27]。0有监督微调。我们进一步用地面真实光流对我们的无监督模型进行微调。我们在所有三个数据集上都取得了最先进的结果,其中KITTI 2012的Fl-all=6.19%,KITTI2015的Fl-all=8.42%。最重要的是,我们的方法在Sintel最终数据集上取得了EPE=4.26的结果,在所有提交的方法中在Sintel基准测试中实现了最高的准确性。所有这些都表明我们的方法减少了对合成数据预训练的依赖。845780遮挡 多重自监督 自监督 Sintel清洁 Sintel最终 KITTI 2012 KITTI 20150处理帧 矩形 超像素 所有 非遮挡 遮挡 所有 非遮挡 遮挡 所有 非遮挡 遮挡 所有 非遮挡 遮挡0� � � � (3.85) (1.53) (33.48) (5.28) (2.81) (36.83) 7.05 1.31 45.03 13.51 3.71 75.51 � � � � (3.67) (1.54) (30.80) (4.98) (2.68) (34.42) 6.52 1.11 42.44 12.13 3.47 66.91 � � � � (3.35)(1.37) (28.70) (4.50) (2.37) (31.81) 4.96 0.99 31.29 8.99 3.20 45.68 � � � � (3.20) (1.35) (26.63) (4.33) (2.32) (29.80) 3.32 0.94 19.11 7.66 2.47 40.99 � � � � (2.96) (1.33)(23.78) (4.06) (2.25) (27.19) 1.97 0.92 8.96 5.85 2.96 24.17 � � � � (2.91) (1.37) (22.58) (3.99) (2.27) (26.01) 1.78 0.96 7.47 5.01 2.55 21.86 � � � � (2.88) (1.30) (22.06) (3.87)(2.24) (25.42) 1.69 0.91 6.95 4.84 2.40 19.680表2.消融研究。我们报告了在不同设置下所有像素(ALL),非遮挡像素(NOC)和遮挡像素(OCC)的无监督结果的EPE。请注意,我们默认使用Census变换来计算光度损失。没有Census变换,性能会下降。0无监督预训练 Sintel清洁 Sintel最终 KITTI 2012 KITTI 20150无 1.97 2.68 3.93 3.10 有 1.50 2.41 1.55 1.860表3.消融研究。我们报告了在我们的验证数据集上,有监督微调结果的EPE,包括有无无监督预训练。0我们不再需要遵循不同数据集之间的特定训练计划。04.3. 消融研究0为了证明各个技术步骤的有用性,我们进行了严格的消融研究,并在表2中展示了定量比较。图5和图6展示了不同设置下的定性比较,其中“W/OOcclusion”表示不考虑遮挡处理,“W/OSelf-Supervision”表示考虑遮挡处理但不使用自监督,“Rectangle”和“Superpixel”表示使用矩形和超像素噪声注入的自监督。 “Two-FrameSuperpixel”表示只使用两帧作为输入进行自监督。两帧与多帧。比较表2中的第1行和第2行,第3行和第4行,第5行和第7行,我们可以看到使用多帧作为输入确实可以提高性能,特别是对于遮挡像素。这是因为多个图像提供了更多信息,特别是对于在一个方向上被遮挡但在反向上非遮挡的像素。遮挡处理。比较表2中的第1行和第3行,第2行和第4行,我们可以看到遮挡处理可以提高所有数据集上所有像素的光流估计性能。这是因为亮度恒定性假设对于遮挡像素不成立。自监督。我们对遮挡幻觉采用了两种策略:矩形和超像素。这两种策略都显著提高了性能,特别是对于遮挡像素。以超像素设置为例,Sintel清洁的EPE-OCC从26.63降低到22.06,Sintel最终的EPE-OCC从29.80降低到25.42,KITTI2012的EPE-OCC从19.11降低到6.95,KITTI2015的EPE-OCC从40.99降低到19.68。0这样的巨大改进证明了我们的自监督策略的有效性。与矩形噪声注入相比,超像素噪声注入具有几个优势。首先,超像素的形状是随机的,边缘与运动边界更相关。其次,同一超像素中的像素通常具有相似的运动模式。因此,超像素设置实现了稍微更好的性能。0自监督预训练。表3比较了在验证集上使用和不使用我们的自监督预训练的有监督结果。如果我们不使用自监督预训练,直接使用只有地面真实值的模型进行训练,由于训练数据不足,模型无法很好地收敛。然而,在利用我们的自监督预训练之后,模型收敛非常快,并取得了更好的结果。05. 结论0我们提出了一种自监督的方法来学习准确的光流估计。我们的方法通过将噪声注入超像素中创建遮挡,并让一个模型指导另一个模型学习遮挡像素的光流。我们简单的卷积神经网络有效地从多个帧中聚合时间信息以改善光流预测。大量实验证明我们的方法明显优于所有现有的无监督光流学习方法。在使用我们的无监督模型进行微调后,我们的方法在所有主要基准测试中实现了最先进的光流估计准确性。我们的结果表明,通过在无标签数据上进行自监督预训练,完全可以减少对合成标记数据集的依赖,并通过自监督预训练实现更优越的性能。06. 致谢0本工作得到了中国香港特别行政区研究资助局的支持(项目编号:CUHK 14208815和CUHK14210717)。我们感谢匿名评审人员提供的建设性建议。[19] Joel Janai, Fatma G¨uney, Jonas Wulff, Michael J Black, andAndreas Geiger.Slow flow: Exploiting high-speed cam-eras for accurate and diverse optical flow reference data. InCVPR, 2017.[20] J Yu Jason, Adam W Harley, and Konstantinos G Derpa-nis. Back to basics: Unsupervised learning of optical flowvia brightness constancy and motion smoothness. In ECCV,2016.[21] Longlong Jing and Yingli Tian. Self-supervised visual fea-ture learning with deep neural networks: A survey. arXivpreprint arXiv:1902.06162, 2019.[22] Ryan Kennedy and Camillo J Taylor. Optical flow with geo-metric occlusion estimation and fusion of multiple frames. InInternational Workshop on Energy Minimization Methods inComputer Vision and Pattern Recognition, pag
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功