当前位置:   article > 正文

NIPS 2014【论文笔记】Depth Map Prediction from a Single Image using a Multi-Scale Deep Network_scale-invariant mean squared error

scale-invariant mean squared error

1 Intro
对于估计的立体图像局部对应曲面,从单个图像中查找深度关系就不那么简单,需要集合不同的全局和局部信息。此外,这项任务本身就有模糊性,因为总体规模带来了很大的不确定性。于是这篇文章提出了一个模型用两个神经网络进行深度估计。这篇文章是首个用cnn做单视图深度估计的。
2 Approach
2.1 model architecture
在这里插入图片描述
该网络使用了两个stacks,一个是coarse-scale network,也是该模型的第一步,进行对图像深度的global level预测,然后coarse network的output会继续进入第二个fine-scale network,与原图像输入后concentrate。这样fine-scale network预测的details就可以整合到coarse network的预测上。
2.11 Global Coarse-Scale Network
可以看到输出的空间维度大于最顶部卷积feature map的维度。但是作者不限制output在feature map大小上,或者预测传递到最终网络之前依赖hardcoded的上采样,而是允许整个顶层学习更大区域上的模板(NYU depth为74x55)。预计这些数据会很模糊,但会比8x6预测(最大特征地图大小)的上采样输出更好。
所有layer都采用 ReLU激活函数,在第六层layer使用dropout。Coarse network cnn的1-5层在ImageNet Classification task上进行预训练,作者发现预训练的performance会比随机初始化网络好一些。
2.12 Local Fine-Scale Network
在通过coarse network估计出粗略的深度图后,使用Local Fine-Scale Network进行局部重建。此部分的任务是编辑接收到的粗略预测深度图,与局部细节比如object或者边缘等一样。
该部分网络除了第一层包含池化,都只有卷积层,在经历第一层后结果与coarse network的output融合,并进入第二层。同样该网络使用ReLU为激活函数。训练时首先根据ground-truth训练coarse network,当训练fine-scale network的时候,coarse network就不会再变换,即训练时不会后馈到coarse network。
2.2 Scale-Invariant Error
作者指出,找到场景的平均尺度就占了总误差的很大一部分,因此文章使用尺度不变误差来测量场景中各点之间的关系,而不考虑绝对全局尺度。下式即为作者定义的scale-invariant mean squared error:
在这里插入图片描述
其中yi为预测的深度图,yi* 为ground-true。α(y,y*)定义如下:
在这里插入图片描述
对于任意的预测值y,e^α都是最能与ground-true对应的尺度,不同尺度的y的倍数都有相同的误差,因此这是一个尺度不变性。
还有另外两种方式去形容这个度量方法:
在这里插入图片描述
其中di=logyi-logyi*,同样yi为预测的深度图,yi* 为ground-true。对于output中一对像素i,j,i、j之间要尽可能不一样且与对应的ground-true尽可能相似才能minimize error,且di、dj同方向时会有较低的error。
2.3 Training Loss
这里使用尺度不变误差作为损失函数
在这里插入图片描述
di=logyi-logyi*,λ ∈ [0,1]。λ=0等式就变成二范式约束,λ=1就恰好是尺度不变误差,作者在这里取λ=0.5发现提高了预测质量。
在训练中,许多深度图都会出现缺失值,尤其在目标边界,窗口和高亮度表面。作者在这里就将missing value pixels丢弃,计算时只计算有深度值的像素。
2.4 Data Augmentation
作者使用随机在线变换对训练数据进行扩充,方法有如下这些:

  • 尺度:输入和目标图像的尺度按照比例缩小s倍s∈[1,1.5],并且深度也除以s
  • 旋转:输入和目标旋转r[-5,5]
  • 平移:输入和目标随机裁剪成网络结构图中input的大小
  • 颜色:输入和输出全部乘以一个随机rbg值c∈[0.8,1.2]3。
  • 翻转:输入和输出将被0.5概率的随机水平翻转。

图像的缩放和平移并不保留真实空间的几何关系,要修正也很容易,只要将深度值除以尺度s就可以了。尽管平移操作不容易固定(他们有效的改变了相机和深度值的不兼容性),作者发现额外提供的数据能够benefit网络,即使场景有有轻微的改变。其他的平移、翻转和平面旋转,是几何上的保留。在测试时,作者使用一个1.0尺度缩放的中心区域的裁剪,没有旋转或者颜色改变。

3 Experiments
作者将网络在NYU Depth v2、KITTI两个训练集上训练,同时将该网络与Make3D和其他方法比较。对比实验结果如下:
NYU depth dataset
在这里插入图片描述
下图显示了该网络output与Make3D方法的比较在λ=0或者0.5的情况下:(其中L2代表loss为L2约束(λ=0),L2 scale-inv代表both L2 and scale-invariant loss(λ=0.5))
在这里插入图片描述
这里给出部分预测结果(a为input,b为coarse network的output,c为fine network的output,d为ground true)
在这里插入图片描述

KITTI
在这里插入图片描述
同样,下图为在KITTI 数据集上的部分预测结果,a为input,b为coarse network的output,c为fine network的output,d为ground true
在这里插入图片描述
4 Discussion
文中提到该网络还可以包含更多的几何信息如表面法线,作者还希望重复利用finer-scale local network从而将深度图扩展到整张原始的input。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/974479
推荐阅读
相关标签
  

闽ICP备14008679号