Deep Ordinal Regression Network for Monocular Depth Estimation
论文链接
作者:Huan Fu, Mingming Gong, Chaohui Wang, Kayhan Batmanghelich, Dacheng Tao
一、摘要
Monocular depth estimation, which plays a crucial role in understanding 3D scene geometry, is an ill-posed problem. Recent methods have gained significant improvement by exploring image-level information and hierarchical features from deep convolutional neural networks (DCNNs). These methods model depth estimation as a regression problem and train the regression networks by minimizing mean squared error, which suffers from slow convergence and unsatisfactory local solutions. Besides, existing depth estimation networks employ repeated spatial pooling operations, resulting in undesirable low-resolution feature maps. To obtain high-resolution depth maps, skip- connections or multi-layer deconvolution networks are required, which complicates network training and consumes much more computations. To eliminate or at least largely reduce these problems, we introduce a spacing-increasing discretization (SID) strategy to discretize depth and recast depth network learning as an ordinal regression problem. By training the network using an ordinary regression loss, our method achieves much higher accuracy and faster convergence in synch. Furthermore, we adopt a multi-scale network structure which avoids unnecessary spatial pooling and captures multi-scale information in parallel.
The method described in this paper achieves state-of-the-art results on four challenging benchmarks, i.e., KITTI [18], ScanNet [10], Make3D [51], and NYU Depth v2 [43], and win the 1st prize in Robust Vision Challenge 2018. Code has been made available at: https://github.com/hufu6371/DORN.
二、介绍
- 虽然优化回归网络可以得到合理的解,但作者发现收敛速度很慢,最终解也远远不能令人满意。此外,现有的深度估计网络重复池化会迅速降低特征图的空间分辨率。尽管通过多层反卷积网络,多尺度网络或跳过连接结合高分辨率的特征图可以得到高分辨率的深度图。但是这样的处理不仅需要额外的计算和内存成本,而且还会使网络结构和训练过程复杂化。于是作者提出将连续深度离散为若干间隔,并将深度网络学习作为一个有序回归问题,并提出如何通过DCNN将有序回归引入到密集预测任务中
- 作者建议使用递增间距离散化(SID)来代替统一离散化(UD)策略来进行离散化,这是因为深度预测的不确定性随着ground-truth深度值的增大而增加,这说明在预测较大的深度值时,最好允许较大的误差,以避免较大的深度值对训练过程的过度强化影响
- 在获得离散深度值后,作者采用一个考虑离散深度值排序的有序回归损失来训练网络
- 受到场景解析的启发,作者首先在最后几个池化层中去除下采样,并应用膨胀卷积来获得较大的感受野。然后利用多膨胀率的膨胀卷积从最后的池化层提取多尺度信息。最后,作者开发了一种全图像编码器,它可以有效地捕获图像级信息,而且存储成本比全连接的全图像编码器低得多
三、 方法
网络结构

- 稠密特征提取器
作者去除DCNN的最后几个下采样操作并使用膨胀卷积来扩大卷积核的视野,且不降低空间分辨率或增加参数数量 - 场景理解模块化
场景理解模块由三部分组成:- ASPP模块
- 交叉通道学习器(1×1卷积)
- 全图像编码器

结构中额外的两个卷积层前者减少特征维度并且学习复杂的交叉通道交互信息,后者将特征转换到多通道稠密有序标签
递增间距离散化

- 因为均匀离散(UD)策略会对较大的深度值产生一个过度关注的损失,于是作者使用SID策略,它在对数空间中对给定的深度区间进行均匀离散,减小具有较大深度值区域的训练损失
- 假设深度区间需要离散成K个子区间,UD和SID可以表示成:
其中,是离散阈值,为防止作者为和添加了一个偏移得到和使得并且将SID应用于
损失函数与推断阶段
- 典型的多分类损失函数忽略了离散标签之间的有序信息,而深度值由于形成了良好的有序集合,具有较强的有序相关性,于是作者将深度估计问题转化为一个有序回归问题,并提出了一个序数损失来学习网络参数:
其中,代表对于给定的输入图像的大小为的特征图,是稠密特征提取器于场景理解模块中涉及到的参数。大小为,代表每个空间位置的序数输出,其中包含了权重向量。是位于空间位置上由SID产生的离散标签;;是从解码得到的估计离散值
2. 在推理阶段,预测深度值被解码为:
四、 实验
基准性能
- 户外数据集KITTI和Make3D:




- 室内数据集NYU Depth v2:

- 在线测试:


消融实验
- 深度离散

- 全图像编码器

- 间隔数

五、 结论
- 提出了一种简单的深度估计网络,它利用离散卷积技术和一种新型的全图像编码器来直接获得高分辨率的深度图
- 将有效的深度离散化策略和有序回归训练损失相结合,改进了网络的训练,大大提高了估计精度