f2 自适应_从近年CVPR看域自适应立体匹配

©PaperWeekly 原创 · 作者|张承灏
单位|中科院自动化所硕士生
研究方向|深度估计
该算法展现出良好的性能水平。其原因之一在于卷积神经网络在特征提取方面的能力十分突出;另一个原因是采用了规模宏大的双目仿真数据集进行训练和优化。
Sceneflow [1] 由大量标注的双眼图像构成。 Carla [2] 是一个开放的城市驾驶模拟器,并可提供大量城市场景的双眼图像生成能力。通过这些合成数据集进行训练后,深度学习模型将具备出色的表现能力。
然而由于生成的数据与真实场景之间存在显著的领域偏差(domain gap)基于生成的数据训练的模型难以有效推广到真实场景中
另一方面,在真实世界环境下获取标注数据确实存在不少挑战。例如LiDAR等传感器由于成本较高、体积较大且笨重不便携带,并且仅能提供有限且不连续的深度数据;而基于结构光技术的应用受限于环境条件。
近年来的研究逐渐聚焦于域自适应立体匹配(domain adaptation stereo matching)。旨在探索,在不获取或仅部分获取真实场景标注信息的前提下,实现深度模型从仿真场景向真实场景的有效迁移。
本文主要梳理了近两年 CVPR 上关于域自适应立体匹配的研究工作。

ZOLE

论文标题:
论文来源: CVPR 2018
论文链接: https://arxiv.org/abs/1803.06641
代码链接: https://github.com/Artifineuro/zole
1.1 Motivation
这篇论文希望通过无监督域自适应,将合成数据上训练的模型泛化到新的真实场景中,比如手机拍摄的生活环境,或者自动驾驶的城市街景。作者观察到两个现象:
- 泛化故障:基于合成图像进行预训练后部署到真实场景中的模型表现出较差性能,
其主要原因在于所采用视差图存在边缘模糊现象,
且在复杂度较高的区域深度估计出现偏差; - 尺度多样化:通过从双目相机对中按比例采样数据,
经由预训练深度估计网络处理后,
能够显著提升深度估计精度;
如边界处目标轮廓更加清晰,
则能更好地捕捉更多层次的变化细节。
第一点观察存在不足之处,研究者借鉴了图论的相关知识,并采用了迭代优化策略,在真实场景中进行自适应处理。然而这一方法具有显著优势,在实际应用中能够有效提升效率和准确性。
本质上来说这是一种放大学习效果(zoom-in learning),由此本文提出的方法命名为ZOLE方法。在1.2节中我们详细阐述了该方法的具体实现过程:给定一个由深度网络预测得到的目标深度视差图D,在其上构建图拉普拉斯正则化的定义如下:首先考虑视差图中被划分成M个互不重叠的小方块区域,在每个小方块内提取图像片段形成图像块(patch)。假设每个图像块s相对于一个具有m个顶点的无向连通图G是平滑的变化,则Laplace矩阵Lg是该图G对应的Laplacian矩阵。在此基础上计算所有节点之间边权wuv的方式如下:对于同一图像块内的任意两个像素u和v,在距离不超过k的情况下边权设定为1/√k;若两像素分别属于不同的图像块则边权设置为零。

设 为像素间距离的阈值参数,则对于任意两个像素点 和 ,其之间的欧氏距离计算公式为 。由此可得构建得到的图 G 被定义为基于像素间的 - 邻接关系的一个无向图结构。在此框架下,我们引入了一个基于距离度量函数 的目标优化模型,并且通过求解该目标函数得到了最终的空间分割结果集 S = {S₁, S₂, ..., S_N} ,其中每个子集 S_i 表示第 i 个分割区域对应的图像块集合。

其中 和 分别对应 的第 i 和第 j 项,在本质上是所有图像块的集合。前面一项作为 K维空间的距离计算依据,在后面一项则采用像素空间的距离进行度量。设参数 λ = 0.2,则假设共有 N 组双目图像对{I_i, I_j}(i < j),前 i ≤ N 的组为真实图像对,在 j > N 的情况下则为合成测试样本组。对于深度立体匹配模型 DPM_SfM 来说,请定义 视差标签 d_ij 为其迭代优化的目标变量,则该过程旨在最小化对应的 K维空间距离和像素空间距离之和。

目标函数可分为前两项作为数据项以及第三项作为图拉普拉斯正则化损失。其中第一部分对应真实场景的数据是从原始图像采样后经模型预测得到,并经缩放还原到原尺度大小的伪标签;第二部分对应生成的数据集及其视差标签。作者认为在真实场景下能够估计视差参数的模型,在仿真场景下仍应具备类似的性能表现能力。自适应迭代优化的具体实现方法将在后续章节中详细阐述。

1.3 Experiments
作者主要是在智能手机拍摄的真实日常场景中进行实验研究。从下图结果来看, ZOLE 模型在真实场景中的视差分布呈现更为光滑的特点, 但同时仍能有效维持图像边缘的锐利细节。

在自动驾驶领域的城市街景场景中,作者也进行了实验研究,并采用KITTI数据集作为实验基础。从下图结果来看,ZOLE模型同样表现出优异的视差估计能力,这得益于图拉普拉斯正则化方法的有效应用.


L2A

论文标题: Learning to Adapt for Stereo
论文来源: CVPR 2019
论文链接: https://arxiv.org/abs/1904.02957
代码链接: https://github.com/CVLAB-Unibo/Learning2AdaptForStereo
2.1 Motivation
无监督域自适应算法的一种可能设计是将这一过程表述为在合成数据集上执行有监督学习阶段,并将其视为一种更为稳健的参数初始化方法。随后,在真实数据集上应用无监督损失函数进行优化处理。
这种方法虽然直接而缺乏精细调整能力,在实际应用中可能会导致模型出现不稳定或发散的情况,并且其预测性能相对较弱。
本文基于元学习的方法探讨了相关问题。通过将自适应的学习过程整合进整体的学习框架中,从而能够确定一组更适用于自适应学习的参数集合。
无先验知识的元学习方法(MAML)[3] 被广泛应用于few-shot learning领域。假设我们有一个数据集X_{train},这些任务相关的训练子集和验证子集分别为X_{few}和X_{val},其中|X_{few}|=k表示每个任务抽取的小批量数据大小。假设内层优化仅执行一次梯度下降,则整个MAML的目标函数可表示为:

其中α是以自适应方式进行学习的学习速率。该目标函数表明,在每一次迭代过程中,在每一次迭代过程中,在每一次迭代过程中,在每一次迭代过程中,在每一次迭代过程中,在每一次迭代过程中,在每一次迭代过程中,在每一次迭代优化中,
外层循环通过逐步调整公共基础模型参数θ̂来完成优化,
外层循环通过逐步调整公共基础模型参数θ̂来完成优化,
外层循环通过逐步调整公共基础模型参数θ̂来完成优化,
外层循环通过逐步调整公共基础模型参数θ̂来完成优化,
外层循环通过逐步调整公共基础模型参数θ̂来完成优化,
外层循环通过逐步调整公共基础模型参数θ̂来完成优化,
外层循环通过逐步调整公共基础模型参数θ̂来完成优化,
外部过程通过对各个子任务损失函数求导并累加其对应的梯度增量的方式实现这一目标。
研究者借鉴了MAML的核心理念,并将其成功应用于立体匹配领域。
2.2 Method

上图展示了论文的训练架构示意图,在该框架中研究者利用合成视频帧进行在线自适应学习过程。值得注意的是,在真实场景下主要依赖无监督学习策略实现自适应效果。为了实现这一目标系统性地提出了一个将自适应机制融入学习环节的学习自适应(learn-to-adapt, L2A)方法。具体而言,在每个批次中包含N个视频序列考虑到这些序列通常较长且存在大量冗余信息因此我们随机采样K帧用于后续处理步骤这一过程模拟了MAML算法中的内循环优化阶段即针对第一个采样帧运用无监督损失函数对当前模型参数展开梯度更新操作这相当于在真实场景下模拟了无监督学习过程随后系统性地结合有监督损失函数不仅用于参数优化还用于模型性能评估这一步骤对应于MAML算法中的外循环梯度更新环节通过这种方法不仅能够有效提升模型泛化能力还能更清晰地理解自适应机制的工作原理如图所示详细算法流程可参考以下内容

算法的核心在于通过无监督损失函数对当前任务的模型完成梯度更新操作,在真实场景下实现自适应性;随后采用有监督损失函数用于评估当前模型性能并完成累积梯度的操作;最后将所有累积的梯度用于完成整体模型的参数更新过程。
除此之外,在无监督损失中试图减少错误视差估计对训练的影响方面上
这种置信度可看作是无监督损失的加权,具体的结构如下图所示:

2.3 Experiments
作者主要对有监督训练与无监督域自适应的方法进行了分析与探讨,并且同时考察了是否采用了置信度函数的表现

从图中可以看出,默认的域自适应策略通常是先进行监督预训练再进行无监督微调(即 SL+Ad),然而通过引入L2A+WAd(即L2A自适应结合置信度函数)的方法能够显著提升性能,并且其性能几乎与理想化的有监督微调方案不相上下。

MADNet

论文标题: Real-time self-adaptive deep stereo
论文来源: CVPR 2019 Oral
论文地址: https://arxiv.org/abs/1810.05424
代码库链接:https://github.com/CVLAB-Unibo/Real-time-self-adaptive-deep-stereo
3.1 Motivation
ZOLE 和 L2A 这两种方法主要侧重于自适应的准确率,并未涉及模型的速度。然而,在实际的自动驾驶场景中,必须具备实时的深度估计能力。
鉴于此作者在此论文中首次提出了一种基于实时域自适应机制的立体匹配网络 MADNet(Modularly Adaptive Network),该网络通过模块化设计实现了高效的三维重建能力。
之前已经提到过一种全自适应(full adaptation)的方法。该方法通过无监督损失进行微调,在每次反向传播时需要在整个网络中进行
然而,在优化网络架构以实现更为简洁高效的设计方案时,并不能单纯依赖简便性来提升性能;反向传播过程涉及巨大的计算负荷,在现有硬件条件下难以有效支持实时处理需求
作者提出了一种方法,在自适应的情况下仅限于某些特定模块的反向传播操作而不必对整个系统进行全面处理或训练。这种方法既能确保一定规模下能够达到足够的准确性,并且能够在自适应过程中实现实时更新的学习效果。
网络始终都处于一直处于受训练状态中,并且当真实场景下的视频数据持续足够长时,网络将能够逐渐变得更加稳定和高效。
3.1 Method

该研究通过...展示了MADNet的整体架构。在该框架中...开发出一种轻量级的编码器-解码器架构...其中编码器和解码器均采用了金字塔式的模块构建方式。
编码过程中设置的不同分辨率层次分别为 1/2 至 1/64 的精细度级别,在解码环节中使用的视差估计模块分别对应着这些分辨率层次,并且每个解码模块都会生成与当前处理分辨率一致的视差预测图。值得注意的是,在编码与解码之间设置了用于构建 cost volume 的 warp 操作环节(如上图所示)。不仅提升了模型的整体架构清晰度,并且增强了各层之间的信息传递效率
在图中(a)部分展示的是一个完全自适应的方法。该方法基于无监督损失函数,在训练过程中无需人工干预即可完成参数更新。通过反向传播算法对整个网络进行优化处理后发现其计算复杂度较高
图中(b)展示了作者提出的调制自适应算法(Modular ADaptation, MAD),将其具有相同分辨率的编码与解码模块整合为一个整合型模组M。例如F3与D3组合形成了M3模组,在每次计算损失后仅对其中一个模组实施反向传播过程。这种方式显著提升了在线自适应的速度。
在损失计算完成后, 如何确定需要反向传播的模块? 是按照顺序还是采用随机的方式? 作者引入了一个启发式的奖励-惩罚机制用于动态确定每次更新的模块. 以下是该算法的具体流程:

在算法设计中,H被定义为包含p个bin的直方图.每个bin对应一个调制模块M.第7行,程序会从H的softmax分布中采样出概率最大的M,然后在第9行执行梯度更新操作.随后采用了一种启发式的奖励与惩罚机制,用于调节每个bin的大小.
第 13 行:具有噪声的影响的损失函数;第 14 行:通常用于评估模块效率的重要指标;当某一模块表现良好时,在更新过程中其概率值会相应降低;进而导致后续更新直方图的概率值增加;而当某一模块效率较低时,在更新过程中其概率数值会变得较大;并且其权重会被赋予负值;本节 3.2 中所述实验采用了经典的 KITTI 数据集系列中的 raw 帧数据

该表格展示了MADNet在不同类型的测试数据集上实施动态自适应机制后的实验数据分析结果。通过观察表格信息可以看出:若不启用动态自适应机制,则系统运行效率仍可维持约40帧每秒(FPS)的速度。
若采用无监督完全自适应机制,则能实现15FPS的速度;引入了MAD调制模块后,则可提升至25FPS,并且其精度仅略低于该方法(因为当模型能够充分学习并适应足够多的视频帧时)MAD便能展现出与完全自适应机制相当的效果)。

上表对比了不同自适应方法在性能与速度上的差异。观察到,在不采用自适配策略时系统运行最快但精确度最低。若仅对模型的最后一层进行(即Refinement层或D2+Refinement)调整,则会受到限制而出现性能下降现象。值得注意的是,在这一过程中EPE值会显著减少但仍然保持较高水平的稳定
相较于直接挑选调制模块(SEQ)或随机挑选调制模块(RAND),通过启发式设计的惩罚机制与奖励机制结合使用能够表现出最佳性能。

Guided Stereo Matching

4.1 Motivation
不同于前面介绍的三种方法,这篇论文研究了一种弱监督引导域自适应立体匹配技术。尽管现有的深度设备难以获取密度高且精确的信息,相对容易的是仅获取较为稀疏但分布合理的深度信息。
怎样才能仅凭这些稀疏标签就实现从合成数据到真实数据的自适应?作者在此论文中假设仅使用5%的真实数据标签,并提出了基于引导匹配的域自适应机制。 4.2 方法 在深度立体匹配网络架构中,用于计算匹配代价的是cost volume。根据计算方式的不同分为两种形式:其一是基于相关性的cost volume大小为H×W×(2D+1);其二是基于3D卷积的方式,则大小为_H_W_D_×2F(其中H、W分别代表图像的高度和宽度;D代表特征通道数;F代表最大视差值)。为了增强第k个通道的输出效果,作者引入了两个大小均为H×W的关键输入:系数矩阵G和二进制掩模V(V中的每个元素表示对应的G元素是否有效)。对于坐标为(i,j)的像素点而言,在满足特定条件时会依据真实视差进行特征调整;随后利用深度神经网络自身的学习能力应用这些真实但稀疏的真实标签(仅占5%)。此前的一些方法多采用置信图来修改cost volume:当预测视差值超过预设阈限时将其置零以减少干扰;然而由于真实图像的真实标签极其稀疏(仅占5%),这种做法会导致特征图成为一个大部分位置上值为零的特征图;这不利于深度神经网络的有效学习。因此作者提出了一种替代方案:以中心点为中心的空间权重分布为基础构建高斯型分布表达式。

其中 c 表示高斯分布的宽度参数,在本模型中被限定为非负实数;而 k 表示高斯峰的最大强度,在实际应用中通常设定其最小取值为 1。基于此,在计算有效性指标 V 的基础上,我们可以通过将该高斯分布与完整的 cost volume 进行点积运算来生成新的特征向量。

以上就是引导立体匹配的核心公式。
4.3 实验研究
作者采用了两种不同代表的深度立体匹配网络进行实验研究,并在 KITTI、Middlebury 和 ETH3D 三个公开数据集上进行了验证。
iResNet [4] 和 PSMNet [5] 均展现了显著的优势。
值得注意的是,在传统 SGM 算法中也取得了良好的效果。

该图表展示了基于KITTI 2015数据集的性能对比分析。结果显示,在使用iResNet和PSMNet两种模型时,在依赖合成数据进行预训练后再投入真实场景进行测试的过程中会出现较大的性能下降现象。然而,在引入稀疏标签作为引导信息后,“仅仅进行测试阶段就能够显著地降低分类错误率”。
在训练过程中适当引入引导项将有助于减少错误的发生;对于其他几个测试数据集而言,实验结果表明这些改进措施同样有效;建议查阅原文获取更深入的信息

总结
从近两年 CVPR 的域自适应立体匹配的发展来看,有以下几个特点:
- 研究焦点转移至在线自适应技术,并因其贴近实际应用场景而备受关注;
- 研究重点逐步由提升算法精度发展至重视模型效率与推理速度,并最终迈向实时域自适应算法;
- 在保持合成数据与真实数据平衡的前提下,着重探索更高效的训练方法成为突破领域自适应的关键路径;
- 基于有限的真实标注即可显著提高域自适应性能。
参考文献
[1] Mayer, N., Ilg, E., Hausser, P., Fischer, P., Cremers, D., Dosovitskiy, A., Brox, T.: 该团队发布了一篇关于卷积网络用于视差估计、光流估计以及场景流估计的大规模数据集,在CVPR 2016年会议上展示。
[2] Alexey Dosovitskiy及其合著者开发了一个名为Carla的开源城市驾驶模拟器,在2017年的arXiv预印本中正式发布。
[3] Chelsea Finn, Pieter Abbeel, Sergey Levine: 在PMLR于2017年出版的一本书中提出了无监督学习方法以实现快速适应深度网络。
[4] Zhengfa Liang, Yiliu Feng, Yulan Guo, Hengzhu Liu, Wei Chen, Linbo Qiao, Li Zhou及Jianfeng Zhang: 在CVPR 2017会议上发表了关于基于特征恒定性进行视差估计的研究成果。
[5] Jia-Ren Chang及Yong-Sheng Chen: 在CVPR于2018年会上介绍了他们提出的金字塔立体匹配网络。

点击以下标题查看更多往期内容:********
-
联合检测和跟踪的多目标跟踪算法解析
-
CVPR 2020 | 旷视研究院提出双边分支网络BBN
-
浅谈多目标跟踪中的相机运动
-
双目深度估计中的自监督学习概览
-
CVPR 2020 三篇有趣的论文解读
-
ICLR 2020 | GAN是否真的判断出了数据的真假?
?
现在,在**「知乎」** 也能找到我们了
进入知乎首页搜索**「PaperWeekly」**
点击**「关注」** 订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个集信息分享、深入解析与学术探讨于一体的平台,在人工智能领域前沿论文的研究与学习中为你提供便捷的服务。如果你致力于人工智能领域的研究或工作,在我们的官方订阅号"PaperWeekly"公众号后台回复关键词「交流群」即可加入我们的专业交流社群,在线客服将协助你完成入群流程。


