【论文阅读】LiteFlowNet: A Lightweight Convolutional Neural Networkfor Optical Flow Estimation

LiteFlowNet:一种轻量级的卷积神经网络,用于光流估计

论文链接:1805.07036.pdf (arxiv.org)icon-default.png?t=N7T8https://arxiv.org/pdf/1805.07036.pdf

目录

1.介绍

2. 相关工作

变分方法

机器学习方法

基于 CNN 的方法

3. LiteFlowNet

金字塔特征提取

特征扭曲

3.1. 级联流推断

第一流推理(描述符匹配)

3.2. 流正则化

4. 实验

网络细节

训练详情

4.1. 结果

4.2. 运行时间和参数

4.3. 消融研究

特征扭曲

描述符匹配

5. 结论

6. 附录


目的:将深度卷积网络结合经典原理,提出了一个用于精确流量估计的紧凑网络。替代FlowNet2,基准测试更优,且模型尺寸小30倍,运行速度快1倍。

实现:通过深入研究当前框架中可能被遗漏的架构细节而实现:(1)通过轻量级级联网络在每个金字塔级提出了一种更有效的流推理方法。它不仅通过早期校正提高了流量估计的精度,而且还允许在网络中无缝地合并描述符匹配。(2)提出了一种新的流正则化层,利用特征驱动的局部卷积来改善异常值和模糊流边界的问题。(3)网络拥有一个有效的金字塔特征提取结构,并包含特征扭曲,而不是像FlowNet2中所实践的图像扭曲。

创新:(1)金字塔特征提取和特征扭曲(f-warp)打破了需要大模型尺寸的精确流网络的事实上的规则。 (2)为了解决大位移和保留细节的流,LiteFlowNet 利用短程匹配来生成像素级流场。(3)进一步提高级联流推理中对亚像素精度的估计。(4)为了产生清晰的流边界,LiteFlowNet 通过特征驱动的局部卷积 (f-lcon) 来规范流场。 

特点:实现了轻量级、准确和快速的流计算,可以部署到许多应用程序中,例如运动分割、动作识别、SLAM、3D 重建等。

1.介绍

  由于孔径问题(aperture problem),不能直接测量光流。 通常通过在粗到细框架中的能量最小化(energy minimization in a coarse-to-fine framework)来解决。 涉及复杂的能量优化(energy optimization),计算量大。

FlowNet、FlowNet2通过 CNN 进行光流估计。 准确度接近最先进的能量最小化方法,而速度则快几个数量级。FlowNet2 是 FlowNet 的级联变体,级联中的每个网络通过贡献第一张图像和扭曲的第二张图像之间的流量增量(flow increment )来细化前面的流场。 包含超过 160M 的参数。SPyNet通过在每个金字塔级别采用图像变形,压缩到1.2M 参数。

改进 FlowNet2 和 SPyNet 的设计有两个一般原则:

1.金字塔形特征提取。Lite FlowNet由编码器和解码器组成。编码器将给定的图像对分别映射为多尺度高维特征的两个金字塔。解码器然后在从粗到细的框架中估计流场。在每个金字塔级别,解码器通过从特征金字塔中选择并使用相同分辨率的特征来推断流场。与采用U-Net体系结构进行流量推断的FlowNet2相比,这种设计使得网络更轻。

​ 2.特征扭曲。FlowNet2和SPyNet使用先前的流估计将第二个图像对应第一个图像进行扭曲,然后通过扭曲图像和第一个图像生成的特征图来细化估计(refine the estimate)。扭曲图像,然后生成扭曲图像的特征映射是两个有序的步骤。发现通过直接扭曲的第二幅图像的特征映射(the feature maps),(可以被编码器计算),可以将这两个步骤简化为一个步骤。这种一步特征扭曲过程减少了两幅图像之间更具区别的特征空间距离,而不是RGB空间距离。

与现有的基于 CNN 的光流估计框架之间的差异:

​ 1) 级联流推理——在每个金字塔级别,引入了两个轻量级网络的新型级联。 都有一个特征扭曲 (f-warp) 层,使用来自前一级别的流量估计( flow estimate from the previous level)将第二张图像的特征图向第一张图像移动。 计算流残差(Flow residue)以进一步减少图像之间的特征空间距离。 这种设计有利于使用单个网络进行流推理的传统设计。 首先,级联逐步提高流量精度,从而允许早期校正估计值,而不会将更多错误传递到下一个级别。 其次,这种设计允许与描述符匹配无缝集成。 为第一个推理分配一个匹配网络。 可以生成像素精度流场(pixel-accuracy flow field),然后在后续推理网络中细化到亚像素精度。 由于在每个金字塔级别,图像之间的特征空间距离已通过特征扭曲减小,因此可以使用更短的位移来建立成本量。 此外,匹配仅在采样位置执行,因此聚合了稀疏的成本量。 有效减少了显式匹配的计算负担。

​ 2) 流正则化——级联流推理类似于数据保真度在能量最小化方法中的作用。 单独使用数据项,流场中存在模糊的流边界和出现的伪影。 为了解决这个问题,流动边界和强度边缘之间的局部流动一致性和共现通常用作规范流场的线索。 一些代表性的方法包括各向异性图像驱动 (anisotropic image-driven)、图像、流驱动、互补正则化。 在级联流推断之后,允许流场通过我们的特征驱动局部卷积( feature-driven local convolution) (f-lconv) 层在每个金字塔级别进一步规范化(regularized)。 这种局部卷积的内核适应来自编码器、流量估计和遮挡概率图(encoder, flow estimate and occlusion probability map)的金字塔特征。 这使得流正则化(flow regularization )既是流感知的又是图像感知的(flow- and image-aware)。

​ 上述贡献的有效性如图 1 所示。

2. 相关工作

变分方法

受到在变分方法中使用数据保真度和正则化( data fidelity and regularization)的启发,我们推断光流并执行流正则化的网络。将其命名为特征驱动的局部卷积 (f-lconv) 层,以便将其与局部卷积 (lconv) 层区分开来,后者的滤波器权重在传统 CNN 中是局部固定的 [29]。

机器学习方法

将复杂的图像运动表示为学习到的基向量的线性组合→将流场的先验概率公式化为 Field-of-Experts 模型,该模型捕获高阶空间统计数据→研究高阶随机场框架(high order random field framework)中亮度不稳定性的概率模型→使用过参数化模型表示图像运动→使用高斯混合对光流的局部统计进行建模→给定一组稀疏匹配,使用一组基本流场(PCA-Flow)将它们回归到密集流场。证明参数化模型可以使用 CNN 有效地实现。

基于 CNN 的方法

FlowNet需要一个涉及能量最小化的后处理步骤,以减少跨流边界的平滑效应(smoothing effect across flow boundaries)。 这个过程不是端到端可训练的。我们提出了一种端到端方法,使用提出的 f-lconv 层执行网络内流正则化( in-network flow regularization),与变分方法中的正则化项起着类似的作用。

FlowNet2引入一个由 FlowNet 变体组成的巨大网络级联(超过 160M 参数)。级联以模型大小和计算复杂性为代价来提高流精度。我们的模型使用更高效的架构,参数比 FlowNet2 少 30 倍,而性能相当。

SPyNet,准确度远低于 FlowNet2。 我们网络的一个小型变体优于 SPyNet,同时模型尺寸小 1.33 倍。

使用多尺度特征,然后将特征匹配作为流场。 虽然逐像素匹配可以建立精确的点对应,但实际使用的计算需求太高。 作为权衡,仅在降低的空间分辨率下执行特征匹配。 我们通过在采样位置使用扭曲的 CNN 特征的短程匹配(short-ranged matching)和在每个金字塔级别的子像素细化(sub-pixel refinement)来减少特征匹配的计算负担。

我们的网络使用 f-warp 层根据提供的流场置换给定向量值(given vector-valued feature )特征的每个通道。f-warp 层没有完全约束(not fully constrained),因为流场没有参数化。决策网络是一个更通用的扭曲网络,可以扭曲高级 CNN 特征。

3. LiteFlowNet

LiteFlowNet 由两个紧凑的子网络组成,专门用于金字塔特征提取和光流估计,如图 2 所示。

由于特征图的空间维度在特征提取时收缩,流场空间维度在流量估计时扩张,我们将这两个子网分别称为 NetC 和 NetE。 NetC 将任何给定的图像对转换为两个多尺度高维特征(multi-scale high-dimensional features.)的金字塔。 NetE 由级联流推理和正则化模块组成,用于估计从粗到细的流场。

金字塔特征提取

NetC 是一个双流网络,其中过滤器权重在两个流之间共享。 它们中的每一个都充当特征描述符(feature descriptor),将图像 I 转换为多尺度高维特征(multi-scale high-dimensional features ) {Fk(I)} 的金字塔,从最高空间分辨率 (k = 1) 到最低空间分辨率 (k = L)。 金字塔特征是通过 stride-s 卷积生成的,空间分辨率在金字塔上减少了一个因子s。 在下文中,为简洁起见,我们省略了表示金字塔等级的下标 k。 我们使用 Fi 来表示 CNN 特征Ii 。 当我们讨论金字塔级别的操作时,相同的操作适用于其他级别。

特征扭曲

​ 在每个金字塔级别,从图像 I1 和 I2 的高级特征 F1 和 F2 推断出流场。 如果 I1 和 I2 在彼此远离的地方被捕获,流推断变得更具挑战性。 借助传统方法 [6, 20] 和最近的 CNN [14, 21] 中用于解决大位移流(addressing large-displacement flow)的图像变形的动机,我们建议通过特征扭曲(f-warp)来减少 F1 和 F2 之间的特征空间距离(feature-space distance)。 具体来说,F2 通过 f-warp 向 F1 弯曲, 通过流量估计 ˙x 到

​ 这允许我们的网络推断 F1 和 F~2 之间具有较小流量幅度( smaller flow magnitude)的剩余流量(更多细节在第 3.1 节中),而不是更难以推断的完整流场。 与传统方法不同,f-warp 是在高级 CNN 特征上执行的,而不是在图像上执行的。 这使得我们的网络在解决光流问题方面更加强大和高效。

图 1:示例证明了 LiteFlowNet 中提议的组件在 i) 特征扭曲、ii) 级联流推理和 iii) 流正则化方面的有效性。 启用的组件用粗体黑色字体表示。

图 2:LiteFlowNet 的网络结构。 为便于表示,仅显示了 3 级设计。 给定一个图像对(I1 和 I2),NetC 生成两个高级特征金字塔(粉红色的 Fk(I1) 和红色的 Fk(I2),k ∈ [1, 3])。 NetE 产生多尺度流场,每个流场都由级联流推理模块 M:S(蓝色,包括描述符匹配单元 M (descriptor matching unit M)和子像素细化单元 S(sub-pixel refinement unit S))和正则化模块 R(regularization module)(绿色 颜色)。 流推理和正则化模块分别对应传统能量最小化方法中的数据保真度和正则化项(data fidelity and regularization terms )。

​ 具体来说,对于任何子像素位移 ˙x,F2 通过 f-warp 向 F1 扭曲,如下所示:


​ 其中

​ 表示输入特征图 F 中定义样本点的源坐标,x = (x, y)> 表示正则网格中的目标坐标 在插值特征图 (interpolated feature map F)Fe上,N(xs) 表示 xs 的四个像素邻居。 上述双线性插值允许在训练期间进行反向传播,因为可以有效地计算其梯度 [15]。

3.1. 级联流推断

图 3:NetE 中的级联流推理模块 M:S。 它由描述符匹配单元 M 和子像素细化单元 S 组成。在 M 中,f-warp 通过在先前金字塔级别估计的放大流场(upscaled flow field ) 2·x↑2 将高级特征 F2 转换为 F~2。 在 S 中,F2 从 M 扭曲了 ˙xm。与剩余流量 Δ ˙xm 相比,在 Δ ˙xs 中的流动边界处存在更多的流量调整。

​ 在 NetE 的每个金字塔级别,高级特征的逐像素匹配产生粗略的流估计。 对粗流的后续细化进一步将其提高到亚像素精度。

第一流推理(描述符匹配)

​ 通过计算各个金字塔特征 F1 和 F2 中高级特征向量的相关性(correlation of high-level feature vectors),建立 I1 和 I2 之间的点对应(Point correspondence)关系如下:

​ 其中 c 是 F1 中的点 x 和 F2 中的点 x+d 之间的匹配成本(matching cost),d ∈ Z 是从 x 的位移向量,N 是特征向量的长度。 成本量 C 是通过将所有匹配成本(matching cost)聚合到 3D 网格中来构建的。

​ 我们通过三种方式减少了成本量处理 [9, 14] 带来的计算负担:1)我们在每个金字塔级别执行短程匹配(short-range matching),而不是在单个级别执行长程匹配;2)我们通过使用我们提出的 f-warp 通过流估计 ˙x 从前一个级别将 F2 扭曲到 F1 来减少 F1 和 F2 之间的特征空间距离(feature-space distance)。 3) 我们只在高空间分辨率的金字塔层级中的采样位置( sampled positions)执行匹配。 在空间维度中插入稀疏成本量以填充未采样位置的遗漏匹配成本(missed matching costs for the unsampled positions)。 前两种技术有效地减少了所需的搜索空间,而最后一种技术降低了每个金字塔级别的匹配频率。在描述符匹配单元 (descriptor matching unit)M 中,剩余流(residual flow) ∆ ˙xm 是通过对成本量 C 进行过滤来推断的,如图 3 所示 。完整的流场 ˙xm 计算如下:

第二流推理(亚像素细化)。

  由于描述符匹配单元中的成本量(cost volume in descriptor matching unit)是通过测量逐像素相关性(pixel-by-pixel correlation)来聚合的,因此来自先前推理的流估计 ˙xm 仅达到像素级精度。 我们在描述符匹配之后引入第二个流推理,如图 3 所示。它旨在将像素级流场 ˙xm 细化到亚像素精度。 这可以防止错误流( erroneous flows)被上采样放大并传递到下一个金字塔级别。 具体来说,F2 通过流量估计( flow estimate ) ˙xm 扭曲为 F~2。 子像素细化单元 S 通过计算剩余流 Δ ˙xs 来最小化 F1 和 F~2 之间的特征空间距离,从而产生更准确的流场 ˙xs 如下:

3.2. 流正则化

​ 级联流推理类似于传统最小化方法中数据保真度的作用。 单独使用数据项,流场中通常存在模糊的流边界和不希望的伪影 [32, 36]。 为了解决这个问题,我们建议使用特征驱动的局部卷积( feature-driven local convolution) (f-lcon) 来规范级联流推理(cascaded flow inference)中的流场。 f-lcon 的操作由像素值扩散的拉普拉斯公式(Laplacian formulation of diffusion of pixel values)得到很好的控制 [30]。 与传统 CNN [29] 中使用的局部卷积 (lcon) 相比,f-lcon 更通用。 不仅为特征图的每个位置使用了一个独特的过滤器,而且过滤器是针对各个流块自适应构建的(adaptively constructed for individual flow patches.)。

​ 考虑一般情况,必须正则化的向量值特征 F 具有 C 个通道和空间维度 M × N。定义 G = {g} 作为 f-lcon 层中使用的过滤器集。 f-lcon 对 F 的操作可以表述如下:

​ 其中“∗”表示卷积,f(x, y, c) 是以 F 中通道 c 位置 (x, y) 为中心的 aw × w 补丁,g(x, y, c) 是对应的 w × w 正则化滤波器 , 和 fg(x, y, c) 是 x = (x, y)> 和 c = 1, 2, …, C 的标量输出。专门用于正则化来自级联流推理(cascaded flow inference)的流场 ˙xs ,我们将 F 替换为 ˙xs。 流正则化模块 R(Flow regularization module ) 定义如下:

​ f-lcon 滤波器需要专门用于平滑流场(smoothing flow field)。 如果流向量在补丁上的变化是平滑的,它应该充当平均滤波器。 跨流边界的流场也不应该过于平滑(not over-smooth)。 我们定义了一个特征驱动的 CNN 距离度量 D,它使用金字塔特征 F1、来自级联流推断的流场 ˙xs 和遮挡概率图 ( occlusion probability map) O 来估计局部流量变化。 总之,D 是由 CNN 自适应构建的单元RD如下:

​ 随着特征驱动距离度量D的引入,f-lcon的每个过滤器g构造如下:

​ 其中 N(x, y) 表示包含以位置 (x, y) 为中心的 ω × ω 像素的邻域。

图 4:f-lcon 过滤器 {g} 的折叠和包装。 3D 张量¯G© 的 (x, y)- 条目是一个大小为 1 × 1 × w2 的 3D 列。 它对应于展开的 w × w f-lcon 滤波器 g(x, y, c) 将应用于向量值特征(vector-valued feature) F 中通道 c 的位置 (x, y)。

​ 在这里,我们提供了一种有效执行 f-lcon 的机制。 对于 C 通道输入 F,我们使用 C 张量 ¯G(1), …, ¯G© 来存储 f-lcon 滤波器组 G。 如图 4 所示,每个 f-lcon 滤波器 g(x , y, c) 折叠成 1 × 1 × w2 3D 列,然后装入 M × N × w2 3D 张量¯G© 的 (x, y)- 条目。 同样的折叠和打包操作也适用于 F 的每个通道中的每个补丁(each patch in each channel)。 这导致 C 张量 F¯(1), …, F¯©。这样,方程(5)可以重新表述 到:

​ 其中“ ”表示张量的相应列之间的逐元素点积(element-wise dot product)。 由于滥用符号,Fg© 表示正则化 C 通道特征 Fg(C-channel feature Fg.) 的第 c 个 xy 切片。 等式 (9) 将张量的维度从 M ×N ×w2(点积之前的右侧)减少到 M × N(左侧)。

4. 实验

网络细节

  在 LiteFlowNet 中,NetC 生成 6 级金字塔特征,NetE 预测 6 到 2 级的流场。对 2 级的流场进行上采样以产生1级的流场。我们将代价量中的最大搜索半径设置为 3 个像素( 6 至 4 级)或 6 个像素(3 至 2 级)。 匹配是在金字塔特征的每个位置进行的,除了 3 到 2 级是在定期采样的网格(步长为 2)上进行的。 所有卷积层都使用 3 × 3 过滤器,除了描述符匹配 M、子像素细化 S 和流正则化 R 单元中的每个最后一层使用 5×5(级别 4 到 3)或 7×7(级别 2)过滤器。 除了 f-lcon 和 M、S 和 R CNN 单元中的最后一层之外,每个卷积层后面都有一个leaky ReLU(泄漏整流线性单元层)。 更多细节可以在补充材料中找到。

训练详情

  1) NetC 和 NetE 的 M6:S6 训练了 300k 次迭代。 2) R6 与步骤 1 中训练好的网络一起训练 300k 次迭代。 3) 对于级别 k ∈ [5, 2],每次将 Mk:Sk 后跟 Rk 添加到训练网络中。 新的网络级联经过 200k(级别 2:300k)次迭代训练。 过滤器权重从前一级别初始化。 6 到 4、3 和 2 级的学习率最初分别设置为 1e-4、5e-5 和 4e-5。 从 120k、160k、200k 和 240k 迭代开始,我们将其减少了 2 倍。 我们使用与 FlowNet2 [14] 相同的损失权重、L2 训练损失、Adam 优化、数据增强(包括噪声注入)和训练计划 (Chairs [9] → Things3D [17])。 我们将 LiteFlowNet-pre 和 LiteFlowNet 分别表示为在 Chairs 和 Chairs → Things3D 上训练的网络。

  按照作者的建议(https://github.com/lmb-freiburg/flownet2/issues),我们排除了 Things3D 中经历极大流动位移的少量训练数据。

4.1. 结果

FlyingChairs

在表 1 中比较了单独在FlyingChairs上训练的不同性能良好的网络的中间结果。报告了平均终点误差 (AEE)。 LiteFlowNet-pre 优于比较网络。 FlowNet2没有可用的中间结果,因为每个级联都是在Chairs → Things3D 调度上单独训练的。 由于 FlowNetC、FlowNetS和 SPyNet的参数比 FlowNet2 少,而且后两个模型不执行特征匹配(feature matching)。还通过删除 匹配部分(matching part)并将 NetC 和 NetE 的模型大小分别缩小了约 4 倍和 5 倍,构建了一个小型的对应LiteFlowNetX-pre 。 尽管 LiteFlowNetX-pre 分别比 FlowNetC 和 SPyNet 小 43 倍和 1.33 倍,但它仍然优于这些网络,并且与使用显式匹配(explicit matching)的 FlowNetC 相当。

表 1:FlyingChairs测试集上的 AEE。 模型在FlyingChairs训练集上训练。

MPI sintel

​ 在表 2 中,LiteFlowNetX-pre 优于 FlowNetS(和 C)[9] 和 SPyNet [21],它们在除 Middlebury 基准之外的所有情况下都在Chairs 上训练。 在 Chairs → Things3D 调度上训练的 LiteFlowNet 比预期的 LiteFlowNet-pre 表现更好。 LiteFlowNet 也优于 SPyNet、FlowNet2-S(和 - C)[14]。 我们还使用广义 Charbonnier 损失 (generalized Charbonnier loss)[27] 在 Sintel 清洁和最终训练数据 (LiteFlowNet-ft) 的混合上微调了 LiteFlowNet。 没有进行噪声增强(noise augmentation),但我们引入了图像镜像(image mirroring)来提高训练集的多样性。 对于 Sintel 最终测试集,LiteFlowNet ft 的性能优于 FlowNet2-ft-sintel [14] 和 EpicFlow [22]。 尽管 DC Flow [34](一种由 CNN 和后处理组成的混合方法)在性能上比 LiteFlowNet 更好,但它的 GPU 运行时间需要几秒钟,这使它在许多应用程序中变得难对付的。 图 5 显示了 Sintel 数据集上的一些流场示例。 LiteFlowNet-ft 和 FlowNet2-ft-sintel 在比较方法中表现最好。 由于 LiteFlowNet 具有流正则化模块,因此在生成的流场中可以观察到更清晰的流边界和更少的伪影。

表 2:不同方法的 AEE。 括号中的值是网络对它们所训练的数据的结果,因此不能直接与其他值进行比较。 Fl-all:所有像素的平均异常值百分比。 内点被定义为 EPE ❤️ 像素或 <5%(内点:正确数据(inliers,可以被模型描述的数据))。 每个类别的最佳数字以粗体突出显示。 (注:1值来自[14]。2我们使用作者提供的代码重新训练模型。3,4,5这些值是使用作者提供的训练模型计算的。4存在较大差异,因为作者错误 评估了视差数据集(disparity dataset)的结果。5 使用了最新数据集。6 在Driving和 Monkaa 上训练 [17])

图 5:来自 Sintel 训练集的不同方法的流场示例,用于干净(顶行)、最终(中间行)传递和最终传递(最后一行)的测试集。 在 LiteFlowNet 的流场中可以很好地保留精细的细节,并且可以观察到较少的伪影。

图 6:来自 KITTI15 的训练集(顶部)和测试集(底部)的不同方法的流场示例。

KITTI

​ LiteFlowNet 始终比 LiteFlowNet-pre 表现更好,尤其是在 KITTI15 上,如表 2 所示。它还优于 SPyNet和 FlowNet2-S(和 C)[14]。 我们还在 KITTI12 和 KITTI15 混合训练数据 (LiteFlowNet ft) 上微调了 LiteFlowNet,使用与 Sintel 情况相同的增强,除了我们减少了空间运动的增强量以适应驾驶场景。 经过微调,Lite FlowNet 可以很好地泛化到现实世界的数据。 LiteFlowNet ft 优于 FlowNet2-ft-kitti [14]。 图 6 显示了 KITTI 上的一些流场示例。 与 Sintel 的情况一样,LiteFlowNet-ft 和 FlowNet2-ft-kitti 在比较方法中表现最好。 尽管 LiteFlowNet 及其变体在有限的搜索范围内执行金字塔形描述符匹配( pyramidal descriptor matching),但由于引入了特征扭曲 (f-warp) 层,它为真实世界的数据产生了可靠的大位移流场。

Middlebury

​ LiteFlowNet 具有与传统方法相当的性能。 它优于 FlowNetS(和 C)[9]、FlowNet2-S(和 C)[14]、SPyNet [21] 和 FlowNet2 [14]。 在基准测试中,LiteFlowNet-ft 指的是在 Sintel 上微调的那个。

4.2. 运行时间和参数

​ 我们使用配备 Intel Xeon E5 2.2GHz 和 NVIDIA GTX 1080 的机器测量 CNN 的运行时间。对于大小为 1024 × 436 的 Sintel 图像对,时间平均超过 100 次运行。如表中所述 3,LiteFlowNet 的参数比 FlowNet2 [14] 少约 30 倍,运行时快 1.36 倍。 LiteFlowNetX 是 LiteFlowNet 的一种变体,具有较小的模型尺寸且没有描述符匹配(descriptor matching),它的参数比 FlowNetC [9] 少约 43 倍,并且具有可比的运行时间。 LiteFlowNetX 的参数也比 SPyNet [21] 少 1.33 倍。 LiteFlowNet 及其变体是目前用于流量估计的最紧凑的 CNN。

表 3:训练参数和运行时间的数量。 运行时在括号中的模型是使用 Torch 测量的,因此无法与使用 Caffe 的其他模型直接比较。 缩写 LFlowNet 是指 LiteFlowNet。

4.3. 消融研究

​ 我们通过在禁用某些组件的情况下评估不同变体的性能,研究了在椅子上训练的 LiteFlowNet-pre 中每个组件的作用。 AEE 结果汇总在表 4 中,流场示例如图 7 所示。

表 4:在禁用某些组件的情况下,在椅子数据集上训练的 LiteFlowNet 不同变体的 AEE。

图 7:在禁用某些组件的情况下,在椅子上训练的 LiteFlowNet-pre 不同变体的流场示例。 LiteFlowNet-pre 表示为“全部”。 W = 特征变形,M = 描述符匹配,S = 子像素细化,R = 正则化。

特征扭曲

  考虑两个变体 LiteFlowNet pre(WM 和 WMS),并将它们与禁用扭曲的对应物(M 和 MS)进行比较。 M 和 MS 的流场更加模糊。 尤其是 KITTI12 (33%) 和 KITTI15 (25%) 的 AEE 显着下降。 通过特征扭曲,输入到流推理的金字塔特征彼此更接近。 这有助于通过计算剩余流量(residual flow)在后续金字塔级别中进行流量估计。

描述符匹配

​   将变体 WSR (没有描述符匹配( descriptor matching))与未修改的 LiteFlowNet pre (ALL) 进行比较。 WSR 和 ALL 的流场之间没有明显差异。 由于示例流场的最大位移不是很大(只有 14.7 个像素),因此仍然可以从 WSR 中产生准确的流场。 对于涵盖广泛流量位移(a wide range of flow displacement)(特别是大位移基准,KITTI)的评估,注意到 WSR 的 AEE 退化。 这表明描述符匹配对于解决大位移流( large-displacement flow)很有用。

亚像素细化

​ 与使用亚像素细化显示的WM相比,WMS生成的流场更清晰,包含更多细节。还观察到较小的流伪影(由背景上的浅色表示)。此外,WMS实现了较小的AEE。由于描述符匹配会逐像素显示对应关系( pixel-by-pixel correspondence),因此需要亚像素细化以产生细节保持流场(detail-preserving flow field)。

正规化

​ 禁用正则化的WMS相比ALL,WMS生成的流场的同质区域(由背景上非常暗淡的颜色(very dim color)表示)中存在不需要的伪影。观察到流血( Flow bleeding)和模糊的流动边界。还注意到AEE中的降解。这表明,所提出的特征驱动局部卷积(feature-driven local convolution)(f-lcon)起的作用相当于常规变分方法中的正则项,在平滑流场( smooth flow field)和保持清晰的流动边界(crisp flow boundaries)方面起着至关重要的作用。

5. 结论

提出了一个用于精确流量估计的紧凑网络。性能优于 FlowNet,在公共基准测试中优于最先进的 FlowNet2 [14],同时运行速度更快,模型尺寸小 30 倍。

(1)金字塔特征提取和特征扭曲(f-warp)打破了需要大模型尺寸的精确流网络的事实上的规则。 (2)为了解决大位移和保留细节的流,LiteFlowNet 利用短程匹配来生成像素级流场,(3)进一步提高级联流推理中对亚像素精度的估计。(4) 为了产生清晰的流边界,LiteFlowNet 通过特征驱动的局部卷积 (f-lcon) 来规范流场。

6. 附录

  LiteFlowNet 由两个紧凑的子网络组成,即 NetC 和 NetE。 NetC 是一个双流网络,其中两个网络流共享同一组过滤器。 NetC 的输入是一个图像对 (I1, I2)。 金字塔5层的6层NetC和NetE的网络架构分别如表5和表6至8所示。 我们使用后缀“M”、“S”和“R”分别突出显示在 NetE 中用于描述符匹配、子像素细化和流正则化单元的层。 当输出是流场时,我们将一个层声明为“流”以突出显示。 我们的代码和训练模型可从 https://github.com/twhui/LiteFlowNet 获得。 视频剪辑 (https://www.youtube.com/watch?v= pfQ0zFwv-hM) 和补充材料可在我们的项目页面 (http://mmlab.ie.cuhk.edu.hk/projects /LiteFlowNet/) 展示了 LiteFlowNet 的性能和我们网络中提议的组件的有效性。

表 5:LiteFlowNet 中 NetC 的网络详细信息。 “#Ch。 In / Out”表示输入或输出特征的通道数。 “conv”表示卷积。

表 6:LiteFlowNet 金字塔级别 5 中 NetE 的描述符匹配单元 (M) 的网络详细信息。“upconv”、“f-warp”、“corr”和“loss”表示分数步长卷积(fractionally strided convolution )(所谓的反卷积)、特征扭曲、相关性和应用训练损失的层。 此外,“conv5a”和“conv5b”表示由 NetC 在金字塔级别 5 生成的图像 I1 和 I2 的高维特征

表 7:金字塔级别 5 的 LiteFlowNet 中 NetE 的子像素细化单元 (S) 的网络详细信息。

表 8:金字塔级别 5 的 LiteFlowNet 中 NetE 的流正则化单元 ® 的网络详细信息。“rgb-warp”、“norm”、“negsq”、“softmax”和“f-lcon”表示图像扭曲 ,两个输入图像之间 RGB 亮度差异的 L2 范数、负平方、3-D 张量中每个 1 × 1 × (#Ch. In) 列的归一化指数运算(normalized exponential operation),以及特征驱动的局部卷积。 此外,突出显示卷积层输出的“conv dist”用作特征驱动的距离度量 D 。Eq。 (7) 在主要稿件中。 “im5a”和“im5b”分别表示金字塔第5层的I1和I2的缩小图像(down-sized images)

​ 【注】“im5a”、“im5b”、“conv5a”、“flow5_S”都是特征图,“conv5a”是netC产生的,其他三者是netE中产生的

### 回答1: LiteFlowNet是一种基于光流估计的深度学习模型,用于计算图像序列之间的运动。它是由斯坦福大学的研究人员开发的,其目标是实现高效且准确的光流估计方法。 LiteFlowNet-EN是LiteFlowNet的一个改进版本,它在LiteFlowNet的基础上加入了自注意力机制和注意力生成网络。自注意力机制允许模型在计算光流时更好地聚焦于关键区域,提高了光流估计的准确性。注意力生成网络用于生成更准确的注意力图,进一步提升了光流估计的质量。 与传统的光流估计方法相比,LiteFlowNet和LiteFlowNet-EN在计算效率上有很大的优势。它们采用了轻量级的网络结构和优化算法,可以在较短的时间内进行高质量的光流估计。这使得它们在实时应用中非常有用,如视频压缩、视觉传感和自动驾驶等领域。 此外,LiteFlowNet-EN还具有良好的泛化能力,在不同的数据集和场景下都能取得很好的效果。这使得它能够适应不同的应用需求,同时也方便了研究人员和开发者进行二次开发和扩展。 总而言之,LiteFlowNet和LiteFlowNet-EN是两种先进的光流估计模型,它们在准确性和效率方面都具备优势,并可应用于各种计算机视觉领域。 ### 回答2: LiteFlowNet和LiteFlowNet-EN是两种基于光流估计的神经网络模型。 LiteFlowNet是由NVIDIA开发的一种轻量级光流估计模型。它是在FlowNet2.0的基础上进行改进的,通过减少网络的参数量以及去除一些不必要的层和模块,使得模型的尺寸更小,计算速度更快。LiteFlowNet在光流估计任务上表现出色,并且可以在低功耗设备上实时运行,因此广泛应用于移动设备和嵌入式系统中。 LiteFlowNet-EN与LiteFlowNet类似,也是一种轻量级光流估计模型。不同之处在于,LiteFlowNet-EN是经过迁移学习(Transfer Learning)训练而来的。迁移学习是一种利用预训练模型在其他相关任务上进行微调的方法,以达到更好的性能。LiteFlowNet-EN以FlowNet2.0和PWC-Net为基础网络,然后通过在其他光流估计数据集上进行微调,使得模型在各种场景下的表现更佳。 LiteFlowNet和LiteFlowNet-EN都具有较小的模型尺寸和计算需求,适用于嵌入式设备和移动设备。它们在光流估计任务中取得了较好的效果,能够准确地估计图像序列之间的运动,为许多计算机视觉应用提供了重要的基础。 ### 回答3: LiteFlowNet和LiteFlowNet-EN是两种计算机视觉中的光流估计网络。 LiteFlowNet是一种轻量级的光流估计网络。光流估计是指通过计算相邻帧之间的像素位移来估计图像中目标物体的运动。然而,传统的光流估计方法复杂且计算量大,而LiteFlowNet则通过采用轻量级网络结构和一系列优化技术来实现更高的计算效率和准确度。它专门设计用于在计算资源有限的情况下提供实时和精确的光流估计结果。LiteFlowNet在许多计算机视觉任务中都具有重要应用,如目标跟踪、图像配准和物体识别等。 LiteFlowNet-EN则是LiteFlowNet的进一步改进版本。EN代表Enhanced Network,即增强网络。LiteFlowNet-EN在LiteFlowNet的基础上引入了一些新的技术和模块,以进一步提高光流估计的性能和效果。具体来说,LiteFlowNet-EN采用了可变分辨率金字塔结构、多尺度特征提取和自适应卷积等技术。这些技术使得LiteFlowNet-EN在处理具有复杂动态场景和快速运动的图像时能够提供更加准确和稳定的光流估计结果。 总之,LiteFlowNet和LiteFlowNet-EN都是用于光流估计的轻量级网络,它们具有较高的计算效率和准确度。LiteFlowNet-EN在LiteFlowNet基础上进行了改进,引入了一些新的技术和模块,使其在复杂场景和快速运动的情况下能够提供更好的光流估计效果。这些网络对于计算机视觉领域的各种任务都具有重要的应用价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值