论文笔记-深度估计(4) Semi-Supervised Deep Learning for Monocular Depth Map Prediction

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Kevin_cc98/article/details/78937773

CVPR2017_Semi-Supervised Deep Learning for Monocular Depth Map Prediction

这是一篇用双目进行无监督学习估计深度的论文。

对一幅图进行有监督训练进行深度估计时,由于采集设备的局限,并非图像的每个像素都有对应的真实值。于是作者提出在图像有真实值的地方进行监督学习,无真实值的地方进行无监督学习(最终作者发现对整个图像都进行无监督学习+部分地方有监督学习效果最好)。这样的结合,使得无监督学习部分学习起来相对轻松甚至不需要很复杂的价值函数而不用担心陷入局部最优解,使得有监督学习速度能更快。

最后作者达到了state of art的效果。

1.介绍

作者认为当前有监督学习过程中过于依赖真实值,但真实值可能有以下问题:

  • 有误差和噪音;
  • 雷达等真值采集的测量值很稀疏;
  • 需要对图像系统的内外参进行标定。
  • 相机和雷达不能很好地对准,特别是两者中心无法很好对准,导致本来在相机视野之外的真值也投影到图片中

2.价值函数

整体流程如图:
这里写图片描述

相比前几篇论文,此处作者以预测逆深度为目标。我们知道,整个深度的分布由近及远是一个长尾分布,所以比起直接用深度Z,用反逆深度能更好地表达深度的数值特点。
作者总的价值函数包括有监督深度误差,无监督深度误差和正则化三个部分:

这里写图片描述

有时会感叹,双目匹配和深度估计在很长一段时间是高度相关的,深度估计也形成了形如双目匹配中E=Edata+Esmooth的价值函数。

2.1有监督误差

这里写图片描述
作者对用了一个Berhu函数(类似Huber)。我们知道Huber函数常用来抵消outlier对模型的损害,当某个outlier离模型过远时,损失就有L2变为L1。而此处用Berhu函数是更希望快速压制大的深度残差,所以此处用Berhu函数:
这里写图片描述
其中δ大小为所有“真值-误差”对中差异最大值的0.2倍。

2.2无监督深度误差

这里写图片描述

作者先对图像进行高斯平滑消除噪音,然后再利用双目之间baseline,焦距等内外参数已知的情况下,分别将左视图中的点投影到右视图的误差,以及将右视图的点投影到左视图的误差一同纳入误差计算中。

2.3 正则项

作者采用类似于文章[1]的正则化,使得正则项兼有平滑深度变化,同时保持物体边界深度的不连续性的功能:

这里写图片描述

作者对每个像素对x和y方向取梯度,但众所周知物体边缘的梯度是不连续的,所以作者取自然指数倒数的函数作为权重,当梯度太大(即遇到边缘)时权重就小(就不会强行降低边缘上的梯度了)。上式部分1是权重,部分2是深度的梯度。
对于那些无真值数据且弱纹理的区域,估计深度是ill-posed问题,但正则化有助于很好地在这类区域中估计深度。

2.网络

这里写图片描述

作者沿用大家常用的encoder(sample)-decoder(unsample)方式.decoder部分用ImageNet上的ResetNet-50,但没有最后的全连接层,毕竟不需要做细分类。卷积层随机初始化。

随后的decoder据说比较复杂,其naive版本如下:
这里写图片描述

和主流方法一样,作者加上了skip的方法,除了第一层外,每层都融合了encoder的某一层。作者发现skip能显著提高最后输出的精确度,但不影响系统收敛。

实现细则

最后的实现中,作者完全随机初始化所有的卷积层参数,这样一来,最初的预测值(逆深度)接近于0,且无监督部分loss接近于0,有监督部分loss却会很大。于是作者给有监督部分的loss乘上了一个fade-in数值be10/t,这个数值会随着迭代次数慢慢变小。同时,对所有的卷积网络的weight加上一个weight decay=0.00004。当然dropout也不能少。然后训练网络直到验证集的loss开始上升就停止迭代。

除最后一层输出外,每层都有batch normalization。RELU激活函数。
作者最后的结论是在所有像素上进行无监督学习要比仅仅在无真实值的地方进行无监督学习好,价值函数中用BerHu函数比L2函数好(后者在训练集中表现更好但在测试集中就栽跟头;很明显,测试集中有更多outlier(此处的outlier是相对训练集的数据分布来说))。作者同时指出:高斯模糊加分,长skip加分。

最终表现如下:
这里写图片描述
这里写图片描述

总体看来,无监督和有监督的表现还是差别挺大,无监督学习任重道远。但两种模型各有优缺点,兼容两种优点的模型更可能发挥更好效果。作者提到,在0-80米范围内,增加了无监督学习的模型表现更好,因为这个区域内的真值非常稀疏。

阅读更多
换一批

没有更多推荐了,返回首页