Abstract

在图像中简历稠密匹配是很重要的任务, 包括 几何匹配,光流,语义匹配。

但是这些应用有很大的挑战:

  • 大的平移,
  • 像素精度,
  • 外观变化;

当前是用特定的网络架构来解决一个单一问题。

我们提出了一个 universal 网络框架,我们获得了高精度和鲁棒性,对于大的平移,通过全局和局部相关层

我们提出的GLU-Net是SOTA的。

1. Introduction

在几何匹配任务中【18】,有相同场景的不同视角。

光流【4,20】目标是估计准确的像素级别的位移。

在语义匹配任务中【17,38】(也叫语义流),任务是找到不同instances的对应。

光流方法经典的应用 局部相关层【13,23,24,26,57,58】,衡量局部的相似度。它适合小的位移,不能抓住大视角的变化。相对的,几何和语义匹配的框架利用了全局相关【33,41,47,48,49】,在稠密的特征映射中衡量相似度。全局相关层不能处理很高的精度。而且他们把输入图像大小约束成固定分辨率,严重伤害了高精度图像的精度。

贡献

我们提出了GLU-Net,一个全局-局部 通用的网络,来估计稠密匹配。

我们的框架对于大视角变化和外观变化鲁棒,能够以高精度估计小平移。

主要的贡献是:

  1. 引入了single unified architecture,能够做几何匹配/语义匹配/光流
  2. 我们的网络几何了全局和局部的关联层来处理大/小平移
  3. 为了 circumvent(规避)全局cost volume的估计输入分辨率,我们提出了可调整分辨率战略,能够支持各种分辨率图像。
  4. 是自监督的方式,以来真实图像的合成warp图,所以不需要真值流

我们的方法比之前的方法好。

2. Related Work

hand crafted [2,3,6,19,37,39,50]

trained [12, 44, 62]

variantional formulations [4, 20, 38] ????

Optical Flow:

【13】构建了第一个CNN做光流估计 - FlowNet,基于一个 U-Net denoising autoencoder architecture 【63】,在一个大的合成 FlyingChairs 数据集上。

【26】 堆了几个基础的 FlowNet 变成一个,叫 FlowNet 2, 跟 Sintel benchmark【7】的一些SOTA同等水平。

【46】引入了 SpyNet,一个密集的空间图像金字塔网络。


最近的说得上的 端到端 的光流,包括

【57,58】PWC-Net

【23】LiteFlowNet

【24】LiteFlowNet2

他们用了多约束关联层在一个特征金字塔,然后每个层的特征会被warp通过当前的流估计,导致了更密集和有效的网络。

Geometric Correspondence:

跟光流不一样,几何匹配估计专注于大的几何平移。

【41】引入了DGC-Net,一个coarse-to-fine的CNN框架,生成稠密的2D匹配。它以来全局cost volume - 在最粗的一层。输入size只能是240x240。

【49】旨在提升全局关联层的表现,通过提出端到端的可训练的 neighborhood consensus network NC-Net,来滤除模糊的匹配

【36】lion过了DGC-Net的魔改版本,专注图像检索

Semantic Correspondence

挑战在 intra-class 外观和形状的变化。

【47,48】提出了 CNNGeo 匹配框架,预测了全局参数仿射,thin plate spline变化??

【10,31,32,49】其他方法旨在预测更丰富的几何deformations,用e.g. Spatial tranformer Networks【28】

【30】提出了 PARN,一个金字塔模型,稠密放射变化

【33】SAM-Net获得了更好的结果,通过联合学习语义匹配和 attribute transfer 【22】 DCCNet,它融合了局部特征和背景aware语义特征表达的相关图

3. Method

输入:一对图 \(I_s \in \mathbb{R}^{H \times W \times 3}\) - \(I_t \in \mathbb{R}^{H \times W \times 3}\)

目标:稠密平移场,也叫 flow, \(\mathbf{w} \in \mathbb{R}^{H \times W \times 2}\),这样的话:

\[I_{\mathrm{t}}(\mathbf{x}) \approx I_{\mathrm{s}}(\mathbf{x}+\mathbf{w}(\mathbf{x}))
\]

整体框架还是随着 CNN 基于特征的 coarse-to-fine 的策略,已经证明了在特定任务上有效【23,30,33,41,57】。

3.1 Local and Global Correlations

当前用于计算光流的框架都是依赖测量局部相似度。这个是在深度特征空间做的,它有可区分度和需要的不变性。

这个结果,一般对应一个相关性,或cost volume, 提供了一个及其有利的cue,在推导最后的匹配或者是流估计。这个correlation可以是局部/全局的方式。

Local correlation

在局部相关层里,特征相似度只在目标像素坐标的近邻衡量,有一个搜索半径 \(R\)。

目标 \(F_{\mathrm{t}}^{l} \in \mathbb{R}^{H_{l} \times W_{l} \times d_{l}}\) 和source \(F_{\mathrm{s}}^{l} \in \mathbb{R}^{H_{l} \times W_{l} \times d_{l}}\) 的相关 \(c^l\)如下:

\[c^{l}(\mathbf{x}, \mathbf{d})=F_{\mathrm{t}}^{l}(\mathbf{x})^{T} F_{\mathrm{s}}^{l}(\mathbf{x}+\mathbf{d}), \quad\|\mathbf{d}\|_{\infty} \leq R
\]

这里 \(x \in \mathbb{Z}^2\) 是目标特征图的坐标, \(d \in \mathbb{Z}^2\) 是displacement. displacement被约束为 \(\|\mathbf{d}\|_{\infty} \leq R\).

这里 \(l\) 表示特征金字塔的层级.

虽然最自然的考量是一个 4D的tensor, 2 displacement维度是被矢量化为1个在CNN里.

结果的3D相关 volume \(c^l\) 的维度是 \(H_l \times W_l \times (2R +1)^2\)

Global correlation

相关量是 \(C^{l} \in \mathbb{R}^{H_{l} \times W_{l} \times H_{l} \times W_{l}}\):

\[C^{l}\left(\mathbf{x}, \mathbf{x}^{\prime}\right)=F_{\mathrm{t}}^{l}(\mathbf{x})^{T} F_{\mathrm{s}}^{l}\left(\mathbf{x}^{\prime}\right)
\]

Comparison

局部相关在optical flow里很流行[13, 23,57], 平移一般很小, 可以用于高分辨率特征图.

因为O2的计算复杂度 \(\mathcal{O}(H_l W_l)^2\), 全局cost volume只在粗的层有用.

另外,后处理的层期待一个固定的维度.

3.2 Global-Local Architecture

受[41] DGC-Net的启发,我们应用了全局相关层在最粗的一层. 这层的目标是处理 long-range 匹配. 因为这些在最粗的一层是最容易捕获的, 只有一个全局相关是需要的.

在后续的层中, dense flow filed 是通过计算图像特征相似度(用局部相关)来refine.

3.3 Adaptive resolution

全局相关层 - 固定的大小严重限制了应用和精度.

我们的 adaptive-resolution 架构包括了两个子网络.

  • L-Net: 有source 和 target 图, 下采样到固定的分辨率 \(H_L\times W_L\)
  • H-Net: 直接在原图分辨率 \(H\times W\)上操作, 它refine L-Net 的结果.

两个子网络是基于 coarse-to-fine的架构的, 应用了相同的特征提取backbone. L-Net 是基于全局相关 - 在最粗的层 - 为了有效的处理各种几何变换. L-Net 的后续层应用了局部相关来refine flow场. 然后它被上采样作为H-Net的最粗层, 作为初始流估计. 最后, 流预测在H-Net中会被refine多次.

对于高精度的图, 上采样的因子可能很大. 我们的调整分辨率策略允许额外的 refinement 步骤.

3.4 Architecture details

可以用任何特征提取的backbone, 我们用了 VGG-16 [8] 网络(在Image-Net[35]上训练的),来跟之前的工作做一个公平的比较.

对于L-Net, 我们设置输入分辨率 \((H_L \times W_L) = (256 \times 256)\). 它由两层金字塔组成, 敖阔 Conv5-3 (16x15 分辨率) 和 Conv4-3(32x32分辨率). 前者是基于全局相关, 后者是基于局部相关.

对于H-Net, 是原始图像分辨率(HxW)的两层特征金字塔. 为了这个目标, 我们可以用 Conv4-3 和 Conv3-3, 这样分辨率就是 \(\frac{H}{8} \times \frac{W}{8}\) 和 \(\frac{H}{4} \times \frac{W}{4}\). H-Net 是完全基于局部相关层的.

我们最终的GLU-Net, 由四各金字塔组成, 如下:

Coarsest resolution and mapping estimation

\(L^2\) - normalized - 对应全局相关.

这个cost volume 会被应用 channel-wise \(L^2\) -normalisation 和 ReLU[42] 来处理, 来强烈的降低模糊匹配的权重 [47].

跟DGC-Net [41]类似, 结果全局相关 \(C\) 会被塞给匹配map decoder \(M_{top}\) 来估计一个2D稠密匹配图 \(m\) - 在最上层 \(L1\) :

\[\mathbf{m}^{1}=M_{\text {top }}\left(C\left(F_{\mathrm{t}}^{1}, F_{\mathrm{s}}^{1}\right)\right)
\]

这个对应图会被转化为一个平移场, \(w^1(x) = m^1(x) - x\).

Subsequent flow estimation

flow会被局部相关模块来refine. 在 \(l\) 层, flow decoder \(M\) 推断残差流 \(\delta \tilde{w}^l\) :

\[\Delta \tilde{\mathbf{w}}^{l}=M\left(c\left(F_{\mathrm{t}}^{l}, \widetilde{F}_{\mathrm{s}}^{l} ; R\right), \operatorname{up}\left(\mathbf{w}^{l-1}\right)\right)
\]

\(c\) 是局部相关(2), 搜索半径 \(R\), 和 \(\tilde{F}_s^l(x) = F_s^l(x+up(w^{l-1}(x)))\).

Flow refinement

[9, 22] 证明 contextual信息更有利于像素级别的预测任务.

所以我们用了一个子网络 \(R\), 叫refinement network, 来后处理L-Net和H-Net的最高层(也就是图3里的L2和L4), 通过放大感受野receptive field的大小.

...

Cyclic consistency

我们纳入额外的滤波步骤在全局cost上来加强匹配间的相互约束(reciprocity constraint). 我们用软互相最近邻滤波[49], 用它来后处理全局相关.

3.5 Training

Loss

我们在single phase来训练我们的网络. 我们在训练中固定预先训练的backbone 特征提取器. 跟FlowNet[13]一样, 我们在endpoint error loss对应真值displacement来监督每层金字塔.

Dataset

我们的网络只在应用 随机warps对来训练.

因为我们的网络是设计来训练高分辨率图下的匹配的, 训练数据更倾向是高分辨率的.

我们那个DPET[25], CityScapes[11]和ADE-20K[64]数据及, 图是大于750x750.

在40,000的数据及上, 我们应用同样的合成变换如tokyo(DGC-Net[41]).

图像对会裁剪成520x520来训练.

4. Experimental Validation

我们从三个问题来衡量算法: geometric matching, semantic correspondences和光流.

4.1 Geometric matching

HP:

如DGC-Net[41], 我们应用了HPatches dataset[5]的59个序列, 用v_X标注了, 有视角变换, 排除了标注成 i_X,只有光度变化的.

每个图序列包括一个source image和5个target image,大小从450x600 到 1613x1210.

ETH3D

为了验证我们方案在真实3D的表现, 这种时候图像变换不再是简单的单应变换. 我们也用了 Multi-view dataset ETH3D[53]. 10个图像序列, 室内室外都有.

Metrics

跟[41]一直, 我们应用Average End-Point Error (AEPE) 和Percentage of Correct Keypoints (PCK)作为衡量标准. AEPE定义为欧氏距离(真值和估计值).

Compared methods我们跟DGC-Net[41]比较, 为了公平的比较, 我们在我们的数据集上训练了, 叫DGC-Net+.

我们还比较了两个SOTA的光流方法, PWC-Net[57]和LiteFlowNet[23].

Results

在HP上, GLU-Net比DGC-Net在PCK-1px上高4倍.

我们的模型也比DGC-Net快3.6倍.

光流任务上 PWC-Net[57] 和 LiteFlowNet[23]好一些.

4.2 Semantic Matching

Dataset and metric

我们那个TSS dataset[60].

Compared methods

我们加入一个一致网络[49]来做全局相关层.

Results

4.3 Optical flow

Dataset and metric

...

Compared methods

...

Results

4.4 Ablation study

Local-global architecture

...

Adaptive resolution

5. Conclusion

..

Appendix

有空再看

LR: GLU-Net: Global-Local Universal Network for Dense Flow and Correspondences的更多相关文章

  1. (转)内置系统账户:Local system/Network service/Local Service 区别

    最近会转载一些 MSSQL 基础相关的文章. 参考文献: http://www.cnblogs.com/xianspace/archive/2009/04/05/1429835.html 前言 今天在 ...

  2. Local System/Network Service/Local Service

    // The name of the account under which the service should run// 1 NT AUTHORITY\\SYSTEM 2 NT AUTHORIT ...

  3. [转帖]内置系统账户:Local system/Network service/Local Service 区别

    内置系统账户:Local system/Network service/Local Service 区别 学习使用 xp_cmdshell 的时候 发现必须 sqlserver 的服务运行在local ...

  4. 内置系统账户:Local system/Network service/Local Service 区别

    参考文献: http://www.cnblogs.com/xianspace/archive/2009/04/05/1429835.html 前言 今天在安装sqlserver2008 r2的时候,在 ...

  5. 关于Local System/Local Service/Network Service账户

    部署或安装系统服务时需要指定服务运行的账户.一般地,可选择Local System.Local Service或Network Service账户. Local System/Local Servic ...

  6. 【翻译自mos文章】关于分区索引:Global, Local, Prefixed and Non-Prefixed

    来源于: Partitioned Indexes: Global, Local, Prefixed and Non-Prefixed (文档 ID 69374.1) APPLIES TO: Oracl ...

  7. Global & Local Variable in Python

    Following code explain how 'global' works in the distinction of global variable and local variable. ...

  8. Windows内置系统账户:Local system/Network service/Local Service 区别

    LocalSystem 账户  LocalSystem是预设的拥有本机所有权限的本地账户,这个账户跟通常的用户账户没有任何关联,也没有用户名和密码之类的凭证.这个服务账户可以打开注册表的HKEY_LO ...

  9. HDU 2125 Local area network

    简单DP,N×M的网格其中有一条边坏掉了,问从起点到终点的放法数 有两种方法,一种是DP很好理解 //#define LOCAL #include <cstdio> #include &l ...

随机推荐

  1. 【synchronized锁】通过synchronized锁 反编译查看字节码指令分析synchronized关键字修饰方法与代码块的区别

    前提: 首先要铺垫几个前置的知识: Java中的锁如sychronize锁是对象锁,Java对象头中具有标识位,当对象锁升级为重量级锁时,重量级锁的标识位会指向监视器monitor, 而每个Java对 ...

  2. thinkphp5安装php高版本出现No input file specified.解决

    <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{RE ...

  3. 【转】如何用MTR诊断网络问题

    MTR 是一个强大的网络诊断工具,管理员能够用它诊断和隔离网络错误,并向上游提供商提供有关网络状态的有用报告.MTR 通过更大的采样来跟踪路由,就像 traceroute + ping 命令的组合.本 ...

  4. 最新版Theos.2016.08的安装方法

    http://bbs.pediy.com/showthread.php?t=212425 标题: [翻译]手把手安装最新版Theos.2016.08作者: roysue时间: 2016-08-26,1 ...

  5. hdu1255 扫描线,矩形重叠面积(两次以上)

    题意:       给你n个矩形,然后问你这n个矩形所组成的画面中被覆盖至少两次的面积有多大. 思路:       和1542差距并不是很大,大体上还是离散化+线段树扫面线,不同的地方就是这个题目要求 ...

  6. hdu4884 模拟

    题意:       一个厨师,他能炒n道菜,他每次炒菜用时t分钟,每次最多可以炒同样的菜k分,有m个人来买饭,给你每个人来的时间和菜的种类以及份数,问你每个人都是什么时候离开的. 思路:       ...

  7. Windows中的工作组和域

    目录 工作组 工作组的访问 工作组的优缺点 域 ​域结构 域的原理 部署域架构 如何加入域 域中主机的登录 SRV出错及解决办法 SRV记录注册不成功的可能原因 禁用域中的账户 将计算机退出域 工作组 ...

  8. Java中常见的包

    目录 JDK自带的包 第三方包 JDK自带的包 JAVA提供了强大的应用程序接口,既JAVA类库.他包含大量已经设计好的工具类,帮助程序员进行字符串处理.绘图.数学计算和网络应用等方面的工作.下面简单 ...

  9. 前端基础问题:CSS居中的几种方式

    水平居中 (1)内联元素: text-align: center; 利用 text-align: center :可以实现在块级元素内部的内联元素水平居中. 如果一行中有多个块级元素,可以通过设置块级 ...

  10. 解决Failed to execute goal se.eris:notnull-instrumenter-maven-plugin:0.6.8

    https://blog.csdn.net/fanrenxiang/article/details/80864908 github拉起来的项目,jdk是11,而我电脑上的jdk是1.8.原因是jdk版 ...