------------------------背景分析---------------------------------------------
立体匹配的难点:
无纹理区域、细节结构、小物体和邻近边界找到正确的对应关系
之前的立体网络存在的缺点:
1 对所有潜在视差的多个前向计算通路的计算负担
2 有限的感受野和缺乏上下文信息来推断不适定区域的相关性
3 大量由经验手动设计参数的后处理模块
分析:忽略全局上下文不可避免地丢失在视差图中产生精细细节的高频信息,没有几何约束下大多数立体匹配网络都过拟合,相应的泛化能力也很差。
Tip: 边缘不等同于物体的边界,边缘指图像中像素的值有突变的地方,物体的边界指的是现实场景中的存在物体之间的边界
------------------------改进工作---------------------------------------------
本文的主要贡献(multi-task learning network):
改善这些不适当区域的视差估计的质量,在一个统一的模型中探索立体和边缘信息的相互利用,以有效的多任务学习网络(立体匹配和边缘检测,两个任务可相互促进),学习从立体对到视差图和对应于基于参考图像的边缘图的最佳映射,加入边缘线索之后,视差估计的泛化能力变强。
------------------------基本结构---------------------------------------------
Edge detection branch + disparity estimation branch
过程: 训练过程中,任务之间的交互是双重的,边缘特征被嵌入到视差分支中提供细粒度的表示边缘分支中的边缘图以边缘感知平滑度损失,引导边缘立体网络的多任务学习,对视差图和边缘图的端到端预测。
1 视差分支:结合特征提取、匹配与正则化模块到一个网络,引入残差金字塔解码器
2 边缘分支:用来提取左图的边缘特征和包含语义信息的边缘图
Edge feature embedding: 级联左图特征、cost volume、进一步变化的边缘特征
3 regularization module:将embedding作为输入,正则化处理生成稠密视差图
这块通常设计沙漏结构,编解码器之间有shortcuts.设计残差金字塔作为解码器,不需要shortcut连接,采用从粗到精的学习机制
------------------------主要模块---------------------------------------------
Residual pyramid(残差金字塔)
---------------------
先前做法(CRL)
有视差优化,第二个子网络DispResNet,参数过多,初始全尺寸视差估计在一般区域较准确,在不适定区域没有几何约束的残差学习不容易,导致残差信号近似为0。
主要思路:
将二次采样的金字塔特征作为输入,视差仅在最小尺度上直接回归,并且预测残差信号以在其他尺度上进行细化。视差和残差学习在残差金字塔中的多个尺度上规范化,并以边缘感知的平滑度损失为指导。由于搜索范围狭窄,因此以最小尺度估算视差较为容易,同时强调了重要区域,并且所需的详细信息较少。利用高频表示和边缘提示的几何约束来连续预测其他尺度的残差信号,从粗到细的残差学习机制也有利于整体训练 并减轻了过度拟合的问题。
最初的是最小尺度,持续上采样,用残差信号来优化,直到得到全分辨率视差图。
优势: 利用立体几何的知识和边缘提示的几何约束来学习残差,而无需直接连接以直接进行视差回归
--------------------
引入边缘线索
---------------------
引入4个边缘分支,在所有边分支中级联和融合特征表示,获得用于embedding的边缘特征,通过一个1*1卷积层和一个sigmoid层产生一个边缘图,其中给定每个像素的边缘概率。
Edge cues 1: edge feature embedding
好处:1. 协作边缘分支与视差分支共享有效的计算和有效的表示
2. 边缘特征补充了图像细节和边界的细粒度表示,对正则化模块带来好的场景先验
3. 来自不同任务特征图的聚合有利于训练过程中的多任务交互
Edge cues 2: edge-aware smoothness loss
基于来自边缘检测子网的边缘图梯度,提高了边缘感知的平滑度损失,比原始像素强度的变化更具语义意义
此loss用于提高视差估计和边缘检测,获取准确的视差和精确的边缘预测。正则化式利用了几何先验,即视差图中的深度边界应与场景中的边缘轮廓一致,这对视差训练和多任务学习施加了很好的对象级约束。
在复杂结构、反射区域和临近边界处效果好。
--------------------
多任务学习
---------------------
考虑到没有包含视差和边缘注释的数据集,为了进行有效的多任务学习,提出了一种将训练分为三个阶段的多阶段训练方法。 在这三个阶段中,两个任务共享的主干浅层部分的权重是固定的。
第1阶段:
边缘检测分支在边缘检测数据集上训练,由类平衡的每像素二进制交叉熵损失指导
第2阶段:
在第二阶段,监督立体匹配数据集上残留金字塔中S尺度上的视差。采用深度监督,形成总
损失,0到S-1尺度的loss的和。
边缘感知光滑loss和视差回归loss来监督学习。0到S-1尺度loss的和。
且边缘分支的权重在第2阶段固定
第3阶段:
EdgeStereo中除共享主干之外的所有层都在第2阶段中使用的相同立体声匹配数据集上进行优化。 我们采用与第2阶段相同的深度监督策略,并进行有效的多任务学习。
------------------------模型参数---------------------------------------------