论文笔记_S2D.30_2017-CSVT_使用全卷积深度残差网络,作为分类问题,从单眼图像估计深度
目录
基本情况
- 题目:Estimating Depth from Monocular Images as Classification Using Deep Fully Conv Residual Net
- 出处:Cao, Y., Wu, Z., & Shen, C. (2017). Estimating depth from monocular images as classification using deep fully convolutional residual networks. IEEE Transactions on Circuits and Systems for Video Technology, 28(11), 3174-3182.
- 论文在这儿
介绍
之前的一些方法大都采用回归方法(由于深度连续的特性)进行深度估计,但效果并不好。在这篇论文中,将深度估计看成是一个像素级别的分类问题。
首先,将连续的ground-truth depths离散化成几个bins,并且根据他们的depth ranges给bins标签。这些标签与一般分类问题中的不同,在训练过程中,预测的深度标签也可以用来更新模型参数,这些深度标签接近地面的真实情况并且具有很高的可信度。(使用信息增益损失实现,低置信度的像素深度估计可以通过与之相连的其他像素来改进)。这篇文章采用全卷积深度残差网络(fully convolutional deep residual network)进行训练从而进行深度估计。这个模型并不是去预测一个point的深度值,而是去预测depth range。
将深度估计看作是一个分类问题,可以很容易地获得输出空间上概率分布形式的深度估计的置信度(不同点可能的深度值分布不同),有这些置信度,我们可以应用信息增益损失来利用训练期间接近地面真相的预测,以及用于后处理(post-processing)的完全连接条件随机场(fully-connected CRF)来进一步提高性能。再有,为了能够获得高分辨率的预测结果,我们采用了双线性插值进行上采样,使得预测图与输入图片大小一致。
深度估计模型overview
我们将深度估计描述为一个空间密集的预测任务(spatially dense prediction task)。这个模型中,输入一张任意大小的图像,并且输出a dense score map,然后使用Fully connected CRFs得到最终的深度估计。
网络结构
我们采用fully convolutional deep residual network。
不是直接学习几个堆叠层的底层映射,深度残差网络学习残差映射。The original mapping通过带有"short connections"的前馈神经网络来实现。"short connections"是指跳过一层或者是多层的连接。在我们的模型中,我们考虑两种shortcut connections和the building blocks。
- building block with identity mapping
在这里,x和y分别指堆叠层(stacked layers)的输入和输出矩阵。函数F表示需要学习的残差映射(residual mapping)。由于shortcut connection是一个元素级别的加法运算,因此x和F的维度应该保持一致。 - building block with linear projection
相较于公式(1),线性映射(linear projection)W_s被用来匹配x和F的维度。
The overall network architecture
N is the number of ground-truth labels. Batch normalization and ReLU layers are performed between these convolutional layers. Downsampling is performed by pooling or convolutional layers that have a
stride of 2. These include the first 7 × 7 convolutional layer,the first 3×3 max pooling layer, and the first building block of convolution block 2 in Fig. 3. As a result, the output prediction map is downsampled by a factor of 8. During prediction, we perform a bilinear interpolation on this map to make it the same size with the input image.
Loss函数
在本篇论文中,我们使用逐像素多项式(the pixel-wise multinomail) logistic 损失函数来描述深度估计。
我们将连续深度值统一离散成对数空间(log space)中的多个存储单元(bins)。每个bin都包含一个深度值的范围(range),我们根据范围标记bin(即,像素的标签索引指示其距离)。
与传统的分类任务不同,对于深度估计来说,接近ground-truth depth labels的预测值(深度标签)也能够帮助更新神经网络的参数,这通过我们损失函数中的信息增益矩阵来实现。
全连接的条件随机场(CRF)
深卷积网络一般不考虑局部变量之间的依赖关系,而是通过视场(the field of view)隐式地考虑。这就是为什么视场的大小对CNN的表现很重要的原因。为了大大提高网络输出,我们采用了全连接CRF作为后处理。它连接图像中的所有单个像素对。具体地说,全连接CRF的势函数(energy function)是一元势(unary potential)U和成对势(pairwise potential)V之和:
在这里,D表示像素所预测出的深度标签,i,j表示像素索引。
我们使用the logistic loss of pixel作为一元势:
成对势被定义为:
其中,是惩罚项。对于距离ground-truth相差甚远的标签要给予其相对较大的惩罚。图像中的每对像素不管它们彼此相距多远都有一个成对项。(即,模型的因子图是完全连接的)
每个k_s是高斯核,它依赖于为像素i和j提取的特征(表示为f),并由参数w_s加权。我们采用双边位置(bilateral positions)和颜色词(color terms),具体来说,核表示为:
其中,第一个核是外观核(appearance kernel),它取决于像素位置(表示为p)和像素颜色强度(color intensities)(表示为I)。
由于附近颜色相似的像素可能在相同的深度范围内。超参数σα和σβ控制着相似度和贴近度(nearness)。第二种是平滑核,它去除了小的孤立区域,平滑度的大小由σγ控制。
实验
Several measures commonly used in prior works are applied for quantitative evaluations:
- 实验首先证明了由于连续深度值的离散化所造成的深度估计模型退化可以忽略不计。
- 然后实验证明了基于分类的深度估计优于传统的深度回归,并且深度分类的性能对离散化单元的数目变化不是很敏感。
- 实验证明对于把深度估计看作是一个回归问题可能会导致距离相机太远或太近的区域出现较大的错误的问题,将深度估计看成是一个分类问题可以有效地避免它。
- 实验分析了信息增益矩阵、全连接CRF和网络结构等关键组件在我们提出的方法中的贡献。残差网络的性能明显优于VGG16网络,这增强了网络深度的重要性。但是,ResNet152的性能与ResNet101相比几乎没有改善,这是由于过度拟合造成的,因为训练集仅包含795个图像。
- 进行了和当前效果较好的其他方法,证明了本篇论文方法的优越性。
部分实验结果
参考:https://blog.****.net/weixin_40224537/article/details/103265891