Predicting Depth, Surface Normals and Semantic Labels with a Common Multi-Scale Convolutional Archit

来源:互联网 发布:单片机步进电机驱动器 编辑:程序博客网 时间:2024/05/22 10:46

代码开源:http://cs.nyu.edu/~deigen/dnl/

摘要中说,这篇文章是一石三鸟,深度预测,表面估计和语义分析,同样的网络结构的三个应用。。。

网络结构


这个算法结构比较有意思,首先根据整张图片进行粗提取一个全局的输出预测,整个结构是取自于[8],不过创新就是1,更深了,2,又加了一个尺度,输出尺寸是输入的一半。3.多通道特征,而不是将特征由1传递到2(是因为concat嘛?有点densenet的意思~貌似是个挺不错的结构~),再细看算法结构:


结构说明得很清楚,看几个细节,stage2和stage3的尺寸不变的,也就是stride为1,基本上通道数和kernel也不变。stage1主要是为了finetune AlexNet与VGG才会变得如此奇怪。upsample应该是双线性插值。

接下来逐一分析:

scale 1:全图像视角:


scale1出来的就是整个图像区域的粗特征预测。它总共有两种,一种AlexNet,一种是VGG。这个呢,看代码也是直接使用VGG的结果,后面文中讲这种提取粗特征对于图片有了一个全局的掌握,因此视野比较宽阔,因为是全局视野。

scale 2:预测


比上文的特征粗提取网络的视角虽然狭窄了(代码着重看下视角问题),但是会提供了更多的细节。通过concat一个由原图conv/poo而来的特征与另外一个是stage1的粗提取特征作为输入。可以得到更加精细结果。stage2的stride为1,所以输出依旧是55×74.用SGD去联合训练stage1和stage2。

scale 3: 更高的分辨率


我们模型的最后一个scale是使得预测图片的分辨率变高同时将结果进一步的精细化。依旧cocnat那个stage2层的输出与原图的conv/pool特征,scale3产生了一个更加细节的图片视角。

整个网络的输出是输入尺度的一半。


损失

深度预测的loss是:


D是预测,D*是ground-truth。d=D-D*。

总体就是个l2loss与尺度不变性的误差项,至于尺度不变性的误差项在此不再赘述,后面是水平和垂直方向上面的差异梯度。这一项可以比较ground truth预测的图像梯度。这让预测不仅只考虑附近值,而且领域具有相似的局部结构。这样的输出更好。






阅读全文
0 0