来自:google
时间:2018
论文:https://arxiv.org/abs/1807.08865v1
摘要
- 在当前的硬件条件下,实现一个实时深度估计的网络
- 为了实时性,在低分辨率下采用原始的方法得到初始的视差图,在采用分层迭代细化的方法,细化初始视差图的细节等。
1. 创新点
我们证明,一个非常低的分辨率成本体积足以实现深度精度,相当于一个传统的立体匹配系统,在全分辨率下运行。为了实现空间精度,我们以多尺度的方式应用边缘感知滤波阶段,以提供高质量的输出
- 我们证明,使用网络能在非常低的分辨率下的成本体积实现传统方法在全尺寸上的匹配效果。从而产生一种极其高效的算法
- 一个新的层次深度细化层,能够执行高质量的上采样,保留边缘。
2. 相关工作
[42]提出了一种级联迭代优化预测深度的方法。迭代优化方法虽然在各种基准测试中显示出良好的性能,但往往需要大量的计算资源。[29],他使用了成本量过滤的概念,但对功能和过滤器进行了端到端训练,取得了令人印象深刻的结果。这和CVPR2022的ACVNET想法一致呀
3. stereo net
3.1 初始
深度学习发展以来。视差估计可以将左、右两张图送入到U-net类似的网络,用一个通用的输入-输出映射来学习视差估计。由于它没有用任何针对视差的信息,如视觉相似性,因此其需要大量的参数参数和训练数据来学习。这就是纯粹的数据驱动,这种方法没有捕捉到任何立体匹配问题的几何直觉。立体视觉预测首先是一个对应匹配问题。
3.2 粗糙预测,代价匹配过滤
- 用同样的主干网络对两张图片分别提特征
- 构建cost volume矩阵,尺寸为: W / 2 K × H / 2 K × D / 2 K × d i m s W/2^K \times H/2^K \times D/2^K \times dims W/2K×H/2K×D/2K×dims, 其中的dims是单个点编码的特征维度。
- cost volume过滤,堆叠几个conv3d层进行过滤。
- 视差回归:对cost volume 中的 D / 2 K D/2^K D/2K维度做softmax,再乘以[0,1, 2, …, D/2^k-1],实现可微分的端到端训练
实验表明性能损失在速度增益中并不显著。这是因为该网络实现了比传统立体匹配方法更高量级的亚像素精度。因此,不需要在更高的分辨率进行匹配。不知道是如何做实验的??
3.3 分层细化
我们通过学习保边精细网络来解决这个问题。网络采用粗糙的预测 + 原始图片作为输入,经过多层残差层学习,输出一个残差值,回加到粗糙的视差预测上。同时,整个细化的过程是可以迭代的,将上一次的输出作为下一次的输入。
上图是3次细化过程,最右边是target
4. 实验
4.1 下采样倍数
就是cost volume是在几倍下采样特征中构建的。
- 从框出的3个点得出在更低分辨率上构建匹配矩阵,相应的误差更小
4.2 1/16做视差估计的足够性
- 在1/16尺寸上的初始估计虽然很差,差了1/8, 1/4很多。但是经过refine之后,并没有多大的差距。说明核心信息已经包含在1/16尺度的估计中。 会不会是refine + 输入图片的功劳呢?
4.3 运算时间分析
- refine2 + refine3的时间已经等于总体的1/2了,因为二者在高分辨率上处理
总结
- 网络的初始估计是在1/16上做的,应该很快,但是后面的refine 上采样,参数量和计算量太多。
- 不知道3个refine layer,能不能使用一个同参数的refine layer来替换