赞
踩
目录
3.1 Global Coarse-Scale Network
预测深度是理解场景的3D几何形状的重要组成部分。 虽然对于立体图像而言,本地对应关系足以进行估计,但是从单个图像中查找深度关系并不那么直接,需要集成来自各种线索的全局和本地信息。 此外,这项任务本质上是模棱两可的,总的不确定性很大。 在本文中,我们提出了一种通过使用两个深层网络堆栈来解决此任务的新方法:一种基于整个图像进行粗略的全局预测,另一种可以在局部细化此预测。 我们还应用尺度不变误差来帮助测量深度关系而不是尺度。 通过将原始数据集用作训练数据的主要来源,我们的方法在NYU Depth和KITTI上均达到了最新的结果,并且无需超像素化即可匹配详细的深度边界。
估计深度是理解场景中的几何关系的一个重要组成部分。反过来,这种关系有助于提供更丰富的对象及其环境的表示,往往导致现有识别任务[18]的改进,以及许多进一步的应用,如3D建模[16,6]、物理和支持模型[18]、机器人[4,14],以及可能的咬合推理。虽然在基于立体图像或运动[17]的深度估计方面已有很多工作,但从单一图像进行深度估计的工作相对较少。
然而,单眼的情况经常出现在实践中:潜在的应用包括更好地理解许多分布在网络和社会媒体、房地产清单和购物网站上的图片。
这些包括许多室内和室外场景的例子。
有可能有几个原因,为什么单眼的情况,还没有解决到与立体的情况相同的程度。
当然,其中大多数在现实世界中是不可能的,因此深度仍然可以相当准确地预测。
不过,至少还有一个主要的不明确之处:全球规模。虽然极端的情况(例如一个正常的房间对一个玩具屋)不存在的数据,在房间和家具大小的适度变化是存在的。除了更常见的与尺度相关的错误之外,我们还使用一个尺度不变的错误来解决这个问题。这将注意力集中在一个场景中的空间关系上,而不是一般的比例,并且特别适用于应用程序,如3D建模,其中模型经常在后期处理中调整。
本文提出了一种从单幅图像中估计深度的新方法。
我们的系统实现了NYU Depth和KITTI的最新估计率,以及改进的定性输出。
与我们的工作直接相关的是几种从单张图像估计深度的方法。
相比之下,我们的方法学习了一套更容易存储的网络参数,可以应用于实时图像。
更广泛地说,立体深度估计已经得到了广泛的研究。
也有一些基于硬件的解决方案用于单图像深度估计。
我们的方法在训练过程中间接使用这些传感器来提供地面真实深度目标;然而,在测试时,我们的系统是纯软件基础上,预测深度从RGB图像。
该网络使用了两个stacks,一个是coarse-scale network,也是该模型的第一步,进行对图像深度的global level预测,然后coarse network的output会继续进入第二个fine-scale network,与原图像输入后concentrate。这样fine-scale network预测的details就可以整合到coarse network的预测上。
可以看到输出的空间维度大于最顶部卷积feature map的维度。但是作者不限制output在feature map大小上,或者预测传递到最终网络之前依赖hardcoded的上采样,而是允许整个顶层学习更大区域上的模板(NYU depth为74x55)。预计这些数据会很模糊,但会比8x6预测(最大特征地图大小)的上采样输出更好。
所有layer都采用 ReLU激活函数,在第六层layer使用dropout。Coarse network cnn的1-5层在ImageNet Classification task上进行预训练,作者发现预训练的performance会比随机初始化网络好一些。
在通过coarse network估计出粗略的深度图后,使用Local Fine-Scale Network进行局部重建。此部分的任务是编辑接收到的粗略预测深度图,与局部细节比如object或者边缘等一样。
该部分网络除了第一层包含池化,都只有卷积层,在经历第一层后结果与coarse network的output融合,并进入第二层。同样该网络使用ReLU为激活函数。训练时首先根据ground-truth训练coarse network,当训练fine-scale network的时候,coarse network就不会再变换,即训练时不会后馈到coarse network。
作者指出,找到场景的平均尺度就占了总误差的很大一部分,因此文章使用尺度不变误差来测量场景中各点之间的关系,而不考虑绝对全局尺度。下式即为作者定义的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。
这里使用尺度不变误差作为损失函数
di=logyi-logyi*,λ ∈ [0,1]。λ=0等式就变成二范式约束,λ=1就恰好是尺度不变误差,作者在这里取λ=0.5发现提高了预测质量。
在训练中,许多深度图都会出现缺失值,尤其在目标边界,窗口和高亮度表面。作者在这里就将missing value pixels丢弃,计算时只计算有深度值的像素。
作者使用随机在线变换对训练数据进行扩充,方法有如下这些:
图像的缩放和平移并不保留真实空间的几何关系,要修正也很容易,只要将深度值除以尺度s就可以了。尽管平移操作不容易固定(他们有效的改变了相机和深度值的不兼容性),作者发现额外提供的数据能够benefit网络,即使场景有有轻微的改变。其他的平移、翻转和平面旋转,是几何上的保留。在测试时,作者使用一个1.0尺度缩放的中心区域的裁剪,没有旋转或者颜色改变。
作者将网络在NYU Depth v2、KITTI两个训练集上训练,同时将该网络与Make3D和其他方法比较。对比实验结果如下:
下图显示了该网络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 数据集上的部分预测结果,a为input,b为coarse network的output,c为fine network的output,d为ground true
参考:NIPS 2014【论文笔记】Depth Map Prediction from a Single Image using a Multi-Scale Deep Network
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。