tags: 单目深度估计,论文阅读,DORN
原始论文是:
Deep Ordinal Regression Network for Monocular Depth Estimation
Huan Fu1 Mingming Gong2,3 Chaohui Wang4 Kayhan Batmanghelich2 Dacheng Tao1 Huan Fu1 Mingming Gong2,3 Chaohui Wang4 Kayhan Batmanghelich2 Dacheng Tao1
https://arxiv.org/pdf/1806.02446.pdf
过往的DCNN方法的失败之处
过往的工作(特指那些 使用 深度 神经网络的:DCNN)方法的3种失败处:
- 收敛慢
- 局部解析度不够,就是你在最后的深度图上,看不清很多边缘
- 网络里面 有许多 重复的 pooling 操作。计算,内存要求多
我们提出一些方法来针对上述问题
方法1: SID
背后的想法就是: 远处的就分类粒度粗一些
那么,在这个 「SID 远处的就分类粒度粗一些 」的基础上,就能把回归问题 变成 一个 分类问题。
离散化 连续 的 距离 变为 一些 距离间隔。
我们的模型包含什么
分成3个模块
- 特征提取的模块
- 场景理解的模块
- 有序回归的模块
特征提取模块
包含:
全面的图片编码器
full-image encoder
场景理解模块
ASPP
空洞卷积??
有序回归 模块
这里就是 用到 了SID
上图说的 eq1
, 等式 1 ,就是:
如何完成学习和推断
学习阶段
定义我们特有的损失函数:
迭代的优化算法,反向传播 ,我们最后就能得到一个 「有序的 label 分类」,每个类就是一个距离,比如:1m, 1.1m, 1.2m, 1.4m, 2m, 10m, 50m; 这个距离 跟上面 的SID 有关。
推断阶段
有了 : 有序的 label 分类, 就可以进行 距离推断。
用下面的公式:
- 解释一下:
d 尖就是 推测的 depth/ 距离
l 就是 学习到 的label
DORN 的表现很好
在18 年的原始论文里,有这个数据:
在 21年的 kitti 排行榜,很靠前
其实,按照 absRel , DORN 排名第一
备注: 指标 解释
更多相关可以读的博客:
todo 2021-09-08 16:45:30
DORN的论文行文不好,但是看看代码,思路还是挺牛逼的,来自2020年看法
这篇论文在ROB2018的视频
过往的方法
- patch
- eigen; loss function;
regression loss
我们的方法
是 ordinal regression loss
loss functions
MSE
mean square error:
但是 mse 这玩意 的 不好的地方就是: 对于 outliers ,也就是 那些 离开群体 的点,它很敏感,很容易 受离群点 的影响。
更加 robust 的loss function
- mse_log
- mae
这些 loss 函数,都是 为了 regression 设计的。
那么我们有一个 发问:
难道不能设计 分类,有序回归 问题的loss 函数吗?
距离的 离散化
在这个 图片 ,地下 的 sid 就是我们 提出的 间隔话 的方式。
就会得到这样的回归结果
收敛速度
多解析 架构;网络部分
多尺度特征提取器
四个评价指标
结果
提问环节的一些记录
如果更换一个全新的场景怎么办?
训练 是 用 kitti 和 cityscape 这两个数据集‘
但是如果其他场景呢?比如 更加 landscape 的场景;
回答是:
你需要自己进行 新的 标注;因为这是一个 有 监督 的 算法;
你用了什么 loss function?
我用了 图中的第一个
后面三个 没用
loss 函数 和 离散化 谁更重要?
它们在我们的工作中都 贡献了许多,但是我觉得 loss 函数 会更加重要一些。
多分类器,以及空间增加的离散化,的对比实验
结论都写在图中的底下两行了。
dorn + sid 就是 会好很多。
更多 可以观看的视频
todo : 2021-09-08 16:37:37