LiteFlowNet3:解决对应歧义以获得更准确的光流估计

LiteFlowNet3: Resolving Correspondence Ambiguity for More Accurate Optical Flow Estimation原文链接

文章目录

  • LiteFlowNet3:解决对应歧义以获得更准确的光流估计
    • 摘要
    • 1 介绍
      • 成本量调制。
      • 流场变形。
    • 2 **相关工作**
      • 变分法。
      • 成本量法。
      • 无监督和自监督光流估计。
      • 光流的监督学习。
    • 3 LiteFlowNet3
      • 3.1 预备知识
        • 3.2 代价量调制
        • 讨论。
      • 3.3 流场变形
    • 4 实验
        • 网络细节。
        • 训练详情。
      • 4.1 结果
        • 初步讨论。
        • 定量结果。
        • 定性结果。
        • 运行时和模型大小。
      • 4.2 消融研究
        • 成本量调制和流量变形。
        • 置信图。
        • 位移场。
    • 5 结论

摘要

​ 深度学习方法在解决光流估计问题方面取得了巨大成功。 成功的关键在于使用成本量(cost volume)和从粗到细的流量推断(coarse-to-fine flow inference)。 然而,当图像中存在部分遮挡或同质区域时,匹配问题变得不适定。 这会导致成本量包含异常值并影响从中进行的流解码。 此外,从粗到细的流推断需要准确的流初始化。 模棱两可的对应会产生错误的流场并影响后续级别( subsequent levels)的流推断。 在本文中,我们介绍了 LiteFlowNet3,一个由两个专门模块组成的深度网络,以解决上述挑战。 (1) 我们通过在流解码之前通过自适应调制修改每个成本向量来改善成本量中的异常值问题。 (2) 我们通过探索局部流的一致性来进一步提高流的准确性。 为此,通过流场的新颖扭曲,每个不准确的光流都被来自附近位置的准确光流所取代。 LiteFlowNet3 不仅在公共基准测试中取得了可喜的结果,而且模型尺寸小,运行速度快。

1 介绍

​ 光流估计是计算机视觉中的一个经典问题。 它被广泛应用于许多应用,例如运动跟踪、动作识别、视频分割、3D 重建等。 随着深度学习的进步,许多研究工作试图通过使用卷积神经网络 (CNN) [10,11,12,13,18,27,28,31,32] 来解决这个问题。 大多数 CNN 属于从图像对推断流场的 2 帧方法(2-frame method )。 特别是,LiteFlowNet [10] 和 PWC-Net [27] 是第一个提出在从粗到精估计中在多个金字塔级别使用特征扭曲(feature warping)和成本量( cost volume)的 CNN。 这大大减少了模型参数的数量,从 FlowNet2 [13] 中的 160M 减少到 LiteFlowNet 中的 5.37M 和 PWC-Net 中的 8.75M,同时仍然保持准确的流量估计。

​ 轻量级光流 CNN 成功的关键之一是使用成本量在每个金字塔级别建立对应关系。然而,不明确的特征匹配很容易破坏成本量 [17,26,30]。 这导致从成本量解码的流场变得不可靠。 存在二义性(ambiguous matching)匹配的根本原因是双重的。 首先,当给定一对图像时,当第二张图像被遮挡时,第一张图像中的特征点不可能找到第二张图像中的对应点。 其次,在图像的同质区域(例如,阴影、天空和墙壁)中,模糊对应是不可避免的。 光流 CNN 成功的另一个关键是使用粗到细框架( coarse-to-fine framework)推断流场。 但是,这种方法非常需要从前面的金字塔级别进行准确的流初始化。 一旦存在不明确的对应关系,就会产生错误的光流并传播到后续级别。

​ 为了解决上述挑战,我们尝试通过引入以下专门的 CNN 模块来使图像之间的对应关系不那么模糊,进而提高光流 CNN 的准确性:

成本量调制。

​ 模糊的特征匹配导致成本量中存在异常值。 需要修改不准确的成本向量以允许正确的流解码。 为了处理遮挡,早期的工作通过使用以偏移为中心的匹配窗口 [17] 来改进匹配过程。 在对应解码之前过滤成本量以去除异常值 [26,30]。 然而,现有的光流 CNN [11,12,13,18,28,32,31] 使用卷积从成本量推断光流,而没有明确解决异常值(outliers)问题。 我们建议通过使用自适应仿射变换来修改成本量中的每个成本向量。 精确定位不可靠流位置的置信图用于促进转换参数的生成。

流场变形。

​ 当对应问题变得不适定时,很难找到正确的匹配对。 流动边界和强度边缘之间的局部流动一致性和共现(co-occurrence)通常用作常规方法(conventional methods)中规范流场的线索[29,33]。 最近的光流CNN也采用了这两个原则[10,11,12]。 我们提出了一种新技术,通过使用来自局部流一致性( local flow consistency)的线索来进一步提高流精度。 直观地,我们用来自具有相似特征向量(similar feature vectors)的附近位置的准确光流替换每个不准确的光流。 替换是通过根据计算出的位移场(类似于光流但位移场不再表示对应关系)对流场进行元变形(meta-warping)来实现的。 我们通过使用自相关成本量的置信度(confidence-guided)引导解码来计算位移场。

​ 在这项工作中,我们首次尝试在光流 CNN 中使用成本体积调制( cost volume modulation)和流场变形(flow field deformation)。 我们通过合并提议的模块(proposed modules)来解决上述挑战,从而扩展了我们之前的工作(Lite FlowNet2 [11])。 LiteFlowNet3 在 2-frame 方法中取得了有希望的性能。 它在 Sintel 和 KITTI 上的表现优于 VCN-small [31]、IRR-PWC [12]、PWC-Net+ [28] 和 LiteFlowNet2。 尽管 SelFlow [18](一种多帧方法)和 HD3 [32] 使用额外的训练数据,LiteFlowNet3 在 Sintel clean 和 KITTI 上的表现优于 SelFlow,同时在 Sintel、KITTI 2012 和 KITTI 2015(在前景区域)上的表现优于 HD3 )。Lite FlowNet3没有出现HD3 在真实世界图像上存在的伪影问题,同时模型尺寸小 7.7 倍,运行时快 2.2 倍。

2 相关工作

变分法。

  自 Horn 和 Schunck [8] 的开创性工作以来,变分方法已被广泛研究用于光流估计。 布洛克斯等人。 通过引入梯度恒常性假设(gradient constancy assumption) [3],解决图像间光照变化的问题。 布洛克斯等人。 [3] 和 Papenberg 等人。 [23] 建议使用图像扭曲来最小化能量泛函(functional)。 拜勒等人。 提出 Flow Fields [1],这是一种基于搜索的方法。 光流是通过多次传播和随机搜索( multiple propagations and random searches)的数值优化来计算的。 在 EpicFlow [25] 中,Revaud 等人。 使用稀疏流作为初始化,然后通过基于附近匹配在每个像素处拟合局部仿射模型(local affine model),将它们插入到密集流场中。 仿射参数被计算为超定系统(over-determined system)的最小二乘解( least-square solution)。 与 EpicFlow 不同,我们使用自适应仿射变换来修改成本量。 转换参数是在 CNN 中隐式生成的。

成本量法。

​ 康等人。 通过使用以偏移为中心的窗口(offset-centered windows)解决模糊匹配(ambiguous matching)的问题,并选择相邻图像帧的子集来动态执行匹配[17]。 雷曼等人。 建议使用边缘保留过滤器(edge-preserving filter)过滤成本量 [26]。 在 DCFlow [30] 中,Xu 等人。 通过适应半全局匹配来利用成本量的规律性并提高光流精度。 受上述传统方法改进成本量的启发,我们提出在流解码之前通过使用仿射变换来调制成本量中的每个成本向量。 自适应地构造变换参数以适应不同的成本向量。 特别是,DCFlow 将 EpicFlow [25] 中的插值与互补方案相结合,将稀疏对应转换为密集对应。 相反,LiteFlowNet3 对成本量中的所有元素应用仿射变换,而不是对稀疏对应。

无监督和自监督光流估计。

  为了避免注释标签,Meister 等人。 提出了一个框架,该框架利用合成图像和真实图像之间的差异进行无监督训练 [21]。 刘等人。 提出 SelFlow,它使用自监督训练从大型数据集中的非遮挡像素(non-occluded pixels)中提取可靠的流量估计 [18]。 它还使用多个帧并在监督训练中(supervised training)微调自监督模型,以进一步提高流量准确性。 与上述工作不同,我们专注于监督学习。 尽管 LiteFlowNet3 是一种 2 帧方法(2-frame method)并在更小的数据集上进行训练,但它在 Sintel clean 和 KITTI 上的表现仍然优于 SelFlow。

光流的监督学习。

​ 多索维茨基等。 开发 FlowNet [6],第一个光流 CNN。 迈耶等人。 扩展 FlowNet 以估计视差和场景流(disparity and scene flow) [20]。 在 FlowNet2 [13] 中,Ilg 等人。 通过级联 FlowNet 的几个变体来提高 FlowNet 的流量准确性。 然而,模型大小增加到超过 160M 的参数,也需要很高的计算时间。 兰詹开发了一个紧凑的网络 SPyNet [24],但精度无法与 FlowNet2 相比。 我们的 LiteFlowNet [10] 由**级联流推理和流正则化(cascaded flow inference and flow regularization)**组成,模型尺寸小(5.37M),性能与 FlowNet2 相当。 然后我们开发了 LiteFlowNet2 以获得更准确的流量精度和更快的运行时间 [11]。 LiteFlowNet3 建立在 LiteFlowNet2 的基础上,并结合了成本体积调制和流场变形,以进一步提高流量精度。 LiteFlowNet 的一项并发工作是 PWC-Net [27],它建议使用特征扭曲和成本量( feature warping and cost volume)作为 LiteFlowNet。 孙等人。 然后通过改进训练协议来开发 PWC-Net+ [28]。 伊尔格等人。 通过遮挡(occlusion)和光流的联合学习将 FlowNet2 扩展到 FlowNet3 [14]。 在 Devon [19] 中,Lu 等人。 执行由外部流场控制的特征匹配。 相反,我们的位移场用于使光流变形但不便于特征匹配。 胡尔等人。 提出 IRR-PWC [12],它通过采用来自 LiteFlowNet 的流正则化以及引入遮挡解码器和权重共享来改进 PWC-Net。 殷等人。 引入 HD3 来学习概率像素对应 [32],但它需要在 ImageNet 上进行预训练。 虽然 LiteFlowNet3 隐式地学习流置信度,但不是从概率估计中计算出来的。 尽管 HD3 使用了额外的训练数据和 7.7 倍的参数,但 LiteFlowNet3 在 Sintel、KITTI 2012 和 KITTI 2015(前景区域)上的表现优于 HD3。 即使模型大小相似,LiteFlowNet3 也优于 VCN-small [31]。 与可变形卷积 [5] 相比,我们在流场上执行变形,但不在特征图上执行变形。 我们的变形旨在用来自流场附近位置的准确光流替换每个不准确的光流,而可变形卷积旨在增加空间采样。

3 LiteFlowNet3

​ 特征匹配在同质和部分遮挡区域中变得不适定(ill-posed),因为第一种情况发生一对多对应,而第二种情况发生一对无(one-to-none)对应。 每当对图像应用扭曲时,图像结构的重复(所谓的“重影效应”)是不可避免的 [15]。 这同样适用于特征图。 在从粗到细的估计中,由前一级产生的错误光流会影响后续的流推断。 为了应对上述挑战,我们开发了两个专门的 CNN 模块:成本体积调制 (CM) 和流场变形 (FD)。 我们证明了模块在 LiteFlowNet2 [11] 上的适用性。 生成的网络被命名为 LiteFlowNet3。 图 1 说明了网络架构的简化概览。 FD 用于在将其用作当前金字塔级别中的流初始化之前细化先前的流估计。 在流推断中,成本量在流解码之前由 CM 修改。

3.1 预备知识

​ 我们首先简要描述光流 CNN 中成本量的构建。 假设一对图像 I1(在时间 t = 1)和 I2(在时间 t = 2)已给定。我们通过特征编码器将 I1 和 I2 分别转换为金字塔特征图 F1 和 F2。 我们将 x 表示为矩形域 Ω ⊂ R2 中的一个点。 I1 和 I2 之间的对应关系(Correspondence)是通过计算单个特征映射( individual feature maps) F1 和 F2 中两个高级特征向量( high-level feature vectors)之间的点积来建立的,如下[6]:

​ 其中 D 是最大匹配半径,c(x; D)(长度为 2D + 1 的 3D 列向量)是所有可能的 x0 的特征向量 F1(x) 和 F2(x0) 之间匹配成本的集合,使得 kx x x0k∞ = D,N 是特征向量的长度。 成本量 C 是通过将所有 c(x; D) 聚合到 3D 网格中构建的。 然后使用卷积(或本机赢家通吃方法(native winner-takes-all approach) [17])在 C 上执行流解码。 由此产生的流场 u : Ω → R2 提供了从 I1 到 I2 的密集对应关系。 在下文中,为简洁起见,我们将省略表示最大匹配半径的变量 D,并使用 c(x) 表示 x 处的成本向量。 当我们讨论金字塔级别的操作时,相同的操作适用于其他级别。

图 1:(a) LiteFlowNet3 的简化概述。 流场变形 (FD) 和成本体积调制 (CM) 以及置信度图被纳入 LiteFlowNet3。 为了便于演示,仅显示了 2 级编码器解码器结构。 所提出的模块适用于其他级别,但不限于级别 1。 (b) LiteFlowNet2 [11] 中的光流推理。

3.2 代价量调制

​ 给定一对图像,部分遮挡和同质区域的存在使得对应的建立非常具有挑战性。 这种情况也发生在特征空间上,因为简单地将图像转换为特征图并不能解决对应的歧义。 这样就破坏了代价量(cost volume),严重影响了后续的流解码。 传统方法 [26,30] 通过在解码之前过滤成本量来解决上述问题。 但是目前还没有任何工作可以解决光流 CNN 的这个问题。 一些研究 [2,10,12] 表明,在特征空间上应用特征驱动的卷积是影响网络前馈行为的有效方法,因为滤波器权重是自适应构造的。 因此,我们设计通过使用自适应调制来过滤成本量中的异常值。 我们将证明我们的调制方法不仅在提高流量精度方面有效,而且在参数方面也很有效。


图 2:(a) 调制张量 (α, β) 是为每个成本量自适应构建的。 (b) 成本量调制被集成到流量推断中。 不是保持成本量 C 不变(通过虚线箭头),而是通过在流解码之前使用自适应调制将其修改为 Cm。 注意:“conv”表示几个卷积层。

​ 图 2b 说明了成本量调制的概述。 在金字塔级别,成本量 C 中的每个成本向量 c(x) 通过仿射变换 (α(x), β(x)) 自适应调制如下:

​ 其中 cm(x) 是调制成本向量,“⊗”和“⊕”分别表示逐元素乘法和加法。 调制后的成本量的维度与原始相同。 此属性允许成本量调制与现有网络共同使用和训练,而无需对原始网络架构进行重大更改。

​ 为了进行有效的计算,仿射参数 {α(x), β(x)}, ∀x ∈ Ω 以具有与 C 相同维度的调制张量 (α, β) 的形式一起生成。 如图所示 在图 2a 中,我们使用成本量 C、来自编码器的特征 F1 以及与调制参数生成器输入相同金字塔级别的置信度图 M。 引入置信图是为了方便调制参数的生成。 具体来说,M(x) 确定了在相关流场中在 x 处具有准确光流的概率。 通过在前面的光流解码器中引入额外的输出来构建置信度图。 sigmoid 函数用于将其值约束为 [0, 1]。 我们使用带有真实标签 Mgt(x) 的 L2 损失训练置信度图,如下所示:

​ 其中 ugt(x) 是 u(x) 的ground truth。 第 4.2 节将提供预测置信度图的示例。

讨论。

图 3:在不同配置下增加成本量。 (a) 否,(b) FF,和 (c)我们的解决方案:在流解码之前使用自适应仿射变换将成本量 C 调制为 Cm。 注意:“corr”和“mod”分别表示相关和调制。 对 F1 和扭曲的 F2(即 Ff2)执行相关。

  在文献中,有两种主要方法可以从成本量推断流场,如图 3 所示。第一种方法(图3a)是直接对成本量执行流解码而无需任何增强[10,11]。 这类似于传统的赢家通吃方法(winner-takes-all approach ) [17],除了使用卷积来产生流场而不是最小值的参数。 第二种方法(图 3b)前馈来自特征编码器的金字塔特征 F1 [27,28]。 它还前馈上采样流场 (2u↑2k⎦ 1 ) 和来自先前流解码器(at level k- 1)的特征(D↑2k⎦ 1 )。 然后对串联执行流解码。 我们的方法(图 3c)是在流解码之前对成本量进行调制。 上述方法的有效性尚未在文献中进行研究。 在这里,我们使用 LiteFlowNet2 [11] 作为主干架构,并在 FlyingChairs 数据集 [6] 上从头开始训练所有模型。 表 1 总结了我们的评估结果。 尽管 FF 需要比 NO 多 11.5% 的模型参数,但它获得的流量精度较低。 相反,我们的调制方法仅比 FF 多出 0.28% 的参数,在所有方面都优于比较方法,特别是 KITTI 2012 和 KITTI 2015。这表明大型 CNN 模型并不总是比较小的模型表现更好。

表 1:在不同的成本量增加下,在 FlyingChairs 上训练的不同模型的平均终点误差 (AEE) 和模型大小。

3.3 流场变形

​ 在从粗到细的流估计中,来自前面解码器的流估计被用作后续解码器的流初始化。 这高度要求先前的估计是准确的。 否则,错误的光流会传播到后续级别并影响流推断。 单独使用成本量调制不能解决这个问题。 我们探索局部流一致性(local flow consistency) [29,33] 并建议使用元变形(meta-warping)来提高流精度。

​ 直观地,我们通过使用局部流一致性原理从附近位置用准确的光流替换每个不准确的光流来细化给定的流场。 如图 4 所示,假设光流 u(x1) 不准确。 有了一些先验知识,1) 附近的光流 u(x2) 使得 x2 = x1 + d(x1) 已知是准确的,如置信度图所示; 2) I1 在 x1 和 x2 处的金字塔特征相似,即 F1(x1) ∼ F1(x2),如自相关成本量所示。 由于具有相似特征向量的图像点在邻域中具有相似的光流,因此我们将 u(x1) 替换为 u(x2) 的克隆。


图 4:通过由位移 d(x1) 控制的元翘曲,用准确的光流 u(x2) 替换不准确的光流 u(x1)。

    前面的分析仅针对单个流向量。 为了覆盖整个流场,我们需要为流场中的每个位置找到一个位移向量。 换句话说,我们需要有一个位移场来引导流场的元扭曲。 我们使用类似于图像 [13] 的变形机制(warping mechanism)和特征变形 (feature warpings )[10,27]。 不同之处在于我们的元变形仅限于两个通道,并且引入的位移场的物理意义不再代表图像之间的对应关系。

    流场变形的概览如图 5b 所示。 在金字塔级别,我们通过根据计算出的位移 d(x) 对 u(x) 进行扭曲来将 u(x) 替换为相邻的光流,如下所示:

图 5:(a)根据自相关成本量 Ca 和置信度图 M 构建位移场 d。(b)根据 d 将流场 u 扭曲为 ud。 在 u 用作流推理的初始化之前执行流变形。 注意:“conv”表示几个卷积层。

​ 特别是,并非每个光流都需要修改。 假设 u(x0) 非常准确,则不需要流动扭曲,即 d(x0) ∼ 0。

​ 为了产生位移场,需要找到与目标图像点具有相似特征的图像点的位置。 这是通过从自相关成本量进行解码来实现的。 该过程类似于从正常成本量 [6] 进行流解码。 如图 5a 所示,我们首先通过计算特征 F1(x) 和 F1(x0) 之间的自相关成本向量(auto-correlation cost vector) ca(x; D) 来测量 x 处的目标点与其周围点 x0 处的特征相似度,如下所示 :

​ 其中 D 是最大匹配半径,x 和 x0 受 kx x x0k∞ = D 约束,N 是特征向量的长度。 上述方程与方程 (1) 相同。除了仅使用来自 I1 的特征。 然后通过将所有成本向量聚合到 3D 网格中来构建自相关成本量 Ca。

​ 为了避免琐碎的解决方案,与由前面的流解码器(与第 3.2 节中介绍的相同)构造的流场 u 相关联的置信图 M 用于指导从 Ca 解码位移。 如图 5a 所示,我们使用成本量 Ca 用于 F1 的自相关和置信图 M 作为位移场生成器(displacement field generator)的输入在相同的金字塔级别。 我们的位移解码不是从成本量进行流解码作为正常的描述符匹配(normal descriptor matching) [6],而是在自相关成本量上执行并由置信度图引导。

4 实验

网络细节。

    LiteFlowNet3 建立在 LiteFlowNet2 [11] 之上的。 流推理从第 6 级到第 3 级(和第 2 级)执行,给定的图像分辨率为第 1 级。流场变形在级联流推理之前应用,而成本量调制在描述符匹配单元中应用。 我们没有将模块应用到第 6 级,因为没有观察到流精度的显着提高(第 2 级导致大量计算负载)。 除了在第 4 级和第 3 级的最后一层使用 5×5 滤波器外,每个模块使用四个 3×3 卷积层,后跟一个leaky ReLu(泄漏整流线性单元)。 通过在流解码器中引入额外的卷积层,隐式生成流预测的置信度(Confidence of flow prediction)。权重共享用于流解码器和提议的模块。 该变体由后缀“S”表示。

训练详情。

    为了公平比较,我们使用与文献中的其他光流 CNN 相同的训练集 [6,10,11,12,13,19,24,27,28,31]。 我们使用与 Lite FlowNet2 [11] 相同的训练协议(包括数据增强和批量大小)。 我们首先使用阶段训练程序 [11] 在 FlyingChairs 数据集 [6] 上训练 LiteFlowNet2。 然后我们将全新的模块( brand new modules)、成本体积变形和流场调制集成到 LiteFlowNet2 中以形成 LiteFlowNet3。 新引入的 CNN 模块以 1e-4 的学习率进行训练,而其他组件以 2e-5 的降低学习率进行 30 万次迭代训练。 然后我们在 FlyingThings3D [20] 上微调整个网络,学习率为 5e-6,迭代 50 万次。 最后,我们分别在 Sintel [4] 和 KITTI [22] 以及 KITTI 训练集的混合上微调 LiteFlowNet3,学习率为 5e-5 进行 60 万次迭代。 与 LiteFlowNet2 一样,这两个模型也通过降低的学习率和迭代进行了重新训练。

4.1 结果

​ 我们在流行的光流基准测试中评估了 LiteFlowNet3,包括 Sintel clean 和 final pass [4]、KITTI 2012 [7] 和 KITTI 2015 [22]。 除非另有明确说明,否则我们报告所有基准是平均终点误差 (AEE)。 更多结果可在补充材料 [9] 中获得。

初步讨论。

​ 包括 Lite FlowNet3 在内的大多数光流 CNN 都是 2 帧方法,并使用相同的数据集进行训练。 但是,HD3 [32] 在 ImageNet(> 10M 图像)上进行了预训练。 SelFlow [18] 使用 Sintel 电影(~ 10K 图像)和 KITTI 的多视图扩展(> 20K 图像)进行自我监督训练。 SENSE [16] 使用 SceneFlow 数据集 [20](> 39K 图像)进行预训练。 而 SelFlow 也使用了两个以上的帧来提高流的准确性。 因此,他们的评估无法与文献中的大多数光流 CNN 直接比较。

定量结果。

​ 表 2 总结了 LiteFlowNet3 的 AEE 结果和公共基准测试的最新方法。 除了 HD3 [32]、SelFlow [18] 和 SENSE [16],所有比较的 CNN 模型都是在相同的数据集上训练的,并且是 2 帧方法。 由于成本体积调制和流场变形,LiteFlowNet3 在 Sintel 和 KITTI 基准测试上都优于这些 CNN 模型,包括最近最先进的方法 IRR-PWC [12] 和 VCN-small [31]。 尽管最近最先进的方法 HD3 和 SelFlow(一种多帧方法)使用了额外的训练数据,但 LiteFlowNet3 在 Sintel、KITTI 2012 和 KITTI 2015 (Fl-fg) 上的表现优于 HD3。 我们的模型在 Sintel clean 和 KITTI 上的表现也优于 SelFlow。 应该注意的是,LiteFlowNet3 比 HD3 和 VCN [31](VCN-small 的更大变体)具有更小的模型尺寸和更快的运行时间。 我们还通过将 AEE 划分为匹配和不匹配区域(分别在相邻帧中可见或仅在两个相邻帧之一中可见的区域上的错误)来进行评估。 如表 3 所示,LiteFlowNet3达到了最好的结果在匹配和不匹配的区域。 特别是,与 LiteFlowNet2 相比,在不匹配区域上有很大的改进。 这表明所提出的模块在解决对应歧义方面是有效的。

表 2:公共基准的 AEE 结果。 (注:括号中的值是网络对它们训练的数据的结果,因此不能直接与其他数据进行比较。每个类别中最好的用粗体表示,第二好的用下划线表示。对于 KITTI 2012 年,“All”(或“Noc”)代表总(或非遮挡区域)的平均终点误差。对于 KITTI 2015,“Fl-all”(或“-fg”)代表平均异常值的百分比 所有(或前景)像素。内点被定义为终点误差 < 3 像素或 5%。†使用额外的训练集。‡多帧方法。)

表 3:Sintel 测试集的 AEE 结果。 (注意:†使用额外的训练集。)

定性结果。

​ Sintel 和 KITTI 上的光流预测示例如图 1 和图 2 所示。 分别为 6 和 7。 还提供了在相应训练集上评估的 AEE。 对于 Sintel,与其他最先进的方法相比,由 LiteFlowNet3 产生的流场包含更少的伪影。 如图 7 的第二行所示,LiteFlowNet2 [11] 无法恢复道路围栏上的一部分光流。 相反,它被 HD3 [32] 和 LiteFlowNet3 完全恢复。 如图 7 的第三行和第四行所示,在 LiteFlowNet2 的路标上观察到流血(Flow bleeding ),而 HD3 和 LiteFlowNet3 没有这样的问题。 尽管 HD3 在 ImageNet 上进行了预训练并且使用的模型参数是 LiteFlowNet3 的 7.7 倍,但在生成的流场上存在严重的伪影,如图 7 的第二列所示。 上述观察表明 LiteFlowNet3 结合了成本量调制和 流场变形在产生高精度和更少伪影的光流方面是有效的。

图 6:Sintel 训练集(Clean pass:第一行,Final pass:第二行)和测试集(Clean pass:第三行,Final pass:第四行)上的流场示例。

图 7:KITTI 训练集(2012:第一行,2015:第二行)和测试集(2012:第三行,2015:第四行)上的流场示例。

运行时和模型大小。

​ 我们在配备 Intel Xeon E5 2.2GHz 和 NVIDIA GTX 1080 的机器上使用 Sintel 图像对 (1024 × 436) 测量运行时间。时间平均超过 100 次运行。 LiteFlowNet3 计算需要 59ms,有 5.2M 参数。 不使用权重共享时,模型大小为 7.5M。 最先进的 2 帧方法 HD3 [32] 和IRR-PWC [12] 分别为 128ms 和 180ms。 而 HD3 和 IRR-PWC 的参数分别为 39.9M 和 6.4M。

4.2 消融研究

​ 为了研究每个提议组件在 LiteFlowNet3 中的作用,我们禁用了一些组件并在 FlyingChairs 上训练产生的变体。 公共基准的评估结果总结在表 4 中,流场示例(examples of flow fields)如图 8 所示。

成本量调制和流量变形。

​ 如表 4 所示,当仅将成本量调制 (CM) 纳入 LiteFlowNet3 时,无论在所有基准测试中使用调制还是变形,它的性能都优于其对应物 (NO),尤其是 KITTI 2015。 成本两调制和流场形成 (CMFD) 被使用,它优于其他的,并在 KITTI 2015 上取得了很大的改进。视觉性能的例子如图 8 所示。对于 Sintel,我们可以观察到人类手臂的流颜色(flow color )的很大差异在 NO 和地面真相之间。 相反,当 CM 和 CMFD 使用时,流颜色接近地面实况( ground truth)。特别是在CMFD中成功去除了绿色伪影。 在 KITTI 的例子中,NO 中汽车的挡风玻璃和三角形路标没有完全充满正确的光流。 与 CM 相比,仅使用 CMFD 即可恢复丢失的流量。 这表明流场变形在“孔填充”方面比成本体积调制更有效。

表 4:禁用某些组件的 LiteFlowNet3 变体的 AEE 结果。 (注意:符号“-”表示未使用置信度图。)


图 8:由 LiteFlowNet3 的不同变体生成的 Sintel Final(前两行)和 KITTI 2015(底部两行)上的流场示例。 注:NO = 未使用建议模块,CM = 成本量调制,CMFD = 成本量调制和流场变形,后缀“-”表示未使用置信度图。

置信图。

    如表 4 所示,变体 CM 和 CMFD 在禁用置信度图的情况下比对应的 CM- 和 CMFD- 表现更好。 对于图 8 中的 Sintel 示例,将 CM- 与 CM 进行比较时,绿色伪影大大减少。 CMFD-中人体手臂的光流部分消失,而在CMFD中恢复。 相应的置信度图如图 9a 所示。 这表明人体手臂附近的光流非常不可靠。 在 KITTI 的例子中也可以观察到类似的现象。 通过精确定位流的正确性,置信图的使用促进了成本体积调制和流场变形。

位移场。

    如图 9c 所示,位移场的活动区域(颜色强度强)与图 9a 中置信图的活动区域(具有很强的暗度,因此表明不正确流动的可能性很大)很好地重合 . 与图 9b 中没有元变形的流场相比,图 9d 中的变形流场不仅具有更少的伪影,而且具有更清晰的运动边界和更低的 AEE。

图 9:流场变形示例。 置信图中的像素越暗,相关光流不正确的可能性就越大。

5 结论

  对应歧义是光流估计中的常见问题。 模糊的特征匹配会导致成本量中存在异常值,进而影响对流的解码。 此外,错误的光流可以传播到后续的金字塔级别。 我们建议在流解码之前修改成本量。 这是通过自适应仿射变换调制每个成本向量( cost vector)来实现的我们通过由位移场( displacement field)控制的元扭曲(meta-warping)将每个不准确的光流替换为来自附近位置的准确光流,从而进一步提高了流精度。 我们还建议使用置信度图来促进调制参数和位移场的生成。 LiteFlowNet3 结合了成本体积调制和流场变形,不仅在公共基准测试中表现出良好的性能,而且模型尺寸小,运行速度快。

LiteFlowNet3:解决对应歧义以获得更准确的光流估计相关推荐

  1. 光流估计 liteflownet3

    深度学习方法在解决光流估计问题方面取得了巨大的成功.成功的关键在于使用cost volume和从粗到精的flow推断.但是,当图像中存在部分被遮挡或同质的区域时,匹配问题就变得ill-posed.这将 ...

  2. Spring学习之旅(二):Bean的高级装配之解决装配歧义性

    一:装配的歧义性: 发生原因:装配的接口有多个实现,例如:FirstClass,SecondClass,ThirdClass皆实现了接口SupperClass,当装配SupperCLass时就会出现歧 ...

  3. 语义分割源代码_综述 | 基于深度学习的实时语义分割方法:全面调研

    34页综述,共计119篇参考文献.本文对图像分割中的最新深度学习体系结构进行了全面分析,更重要的是,它提供了广泛的技术列表以实现快速推理和计算效率. A Survey on Deep Learning ...

  4. resnet论文_ResNet还是DenseNet?即插即用的DS涨点神器来了!

    DSNet比ResNet取得了更好的结果,并且具有与DenseNet相当的性能,但需要的计算资源更少.其中改进的DS2Res2Net性能非常强大. 作者:ChaucerG Date:2020-10-2 ...

  5. 基于深度学习的端到端人脸识别技术:全面调研

    44页,共计371篇参考文献.本文全面介绍了端到端深度学习人脸识别技术,包括人脸检测,人脸预处理和人脸表征等方向,详细介绍了最新的算法设计,评估指标,数据集,性能比较等. The Elements o ...

  6. pytorch 语义分割loss_Recall Loss:用于不平衡图像分类和语义分割的召回损失

    本文针对不平衡图像分类和语义分割问题,提出了一种基于度量召回的新损失函数:Recall Loss,很好地平衡了精度和准确性,可显著提高不平衡图像分类和不平衡语义分割任务的性能. Recall Loss ...

  7. QT界面中实现视频帧显示的多种方法及应用

    QT界面中实现视频帧显示的多种方法及应用 (一) 引言 1.1 视频帧在QT界面中的应用场景 1.2 不同方法的性能和适用性分析 1.2.1 使用QLabel和QPixmap 1.2.2 使用QPai ...

  8. ANTLR4(十三)解决歧义性总结

    写在之前 之前我们已经通过两个例子尝试着解决过歧义性的问题: 运算符优先性 我们通过语法分析器优先匹配靠前的规则这一准则,将乘法设置在加法规则之前,来解决这个问题. 但问题是,这种优先性的歧义是在语法 ...

  9. 中国人民大学张静:知识图谱融合中歧义性与异质性问题的讨论

    ⬆⬆⬆ 点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 2020 年 9 月 25 日,在由中国科协主办,清华大学计算机科学与技术系.AI TIME 论道承办的<2020 中国科 ...

最新文章

  1. Python培训教程分享:Python异常机制
  2. Android基于mAppWidget实现手绘地图(四)--如何附加javadoc
  3. 读取 XML 数据时,超出最大字符串内容长度配额 (8192)
  4. nginx不记录指定文件类型的日志
  5. selenium 状态码521_sqlmap对状态码404处理的bug
  6. [转]布隆过滤器详解
  7. 课程范例 20150916html1 练习
  8. 分享四款非常好用的命令行软件,值得收藏!
  9. jdbc如何使用oracle数据库连接池,使用JDBC连接池技术连接Oracle数据库
  10. C++语音识别接口快速入门(Microsoft Speech SDK)
  11. ROS 发布kitti数据集的gps信息
  12. 计算机分盘介质受写入保护,硬盘介质受写入保护怎么办
  13. 本人有51SAP培训机构全套SAP培训课程教材和视频, 欲转手
  14. java web 组态,Java:Eclipse中使用WTP开发Web项目
  15. 学会计学java_我只是一个初中毕业的,现在很想学会计,我不知道从何学起?...
  16. 【Windows系统】产品ID、设备ID等系统参数
  17. unity 捏脸相关
  18. 【uniapp】[Vue warn]: Invalid component name: “.-pages-Myblock-uni_myMessage“. Component names should
  19. 编程开发软件java编程入门到精通,大量教程
  20. 063 邪恶八进制域名收集

热门文章

  1. 【iOS】指纹(面容)支付基本逻辑和适配
  2. 【工具篇】Unity运行期间日志查看的两种方式
  3. 山西师范大学数学与计算机学院宿舍,数计学院宿舍文化节之PPT展示大赛决赛圆满结束...
  4. KNN实战莺尾花数据集
  5. 简易猜数1~100数字小游戏ovo
  6. Flink on Yarn报错:Container released on a *lost* node
  7. java 高效计算99乘法表_【九九乘法表】九九乘法表学习攻略 九九乘法表快速记忆小诀窍...
  8. 计算机专业考计量经济学,计量经济学期末考试题库(完整版)及答案()(47页)-原创力文档...
  9. 周大福心动珠宝,请接收爱的讯号
  10. win7安装vmware+ubuntu16.04