单目深度估计论文阅读—《Deep Learning-Based Monocular Depth Estimation Methods—A State-of-the-Art Review》

单目深度估计论文阅读—《Deep Learning-Based Monocular Depth Estimation Methods—A State-of-the-Art Review》

  • 作为一个深度学习单目深度估计方向的小白,这是阅读的第一篇关于这方面的文章,写个文章记录一下学习过程,文章是英文的,记录一下文章大致内容
    • 1.摘要
    • 2.概述单目深度估计
      • 2.1解决方法
      • 2.3深度估计的主要数据集
    • 3.深度学习与单目深度估计
      • 3.1有监督方法
      • 3.2无监督方法
      • 3.3半监督方法
    • 4.评估标准
    • 5.讨论
      • 5.1基于性能的比较分析
      • 5.2未来研究方向

作为一个深度学习单目深度估计方向的小白,这是阅读的第一篇关于这方面的文章,写个文章记录一下学习过程,文章是英文的,记录一下文章大致内容

第一次看见这篇文章是在这位童鞋的博客里:https://blog.csdn.net/XinYuanIng/article/details/106223421
文章信息如下:这是一篇关于单目深度估计的概述性文章,2020年2月投稿,2020年4月发布,论文链接:Deep Learning-Based Monocular Depth Estimation Methods—A State-of-the-Art Review

1.摘要

从红绿蓝(RGB)图像进行单眼深度估计是计算机视觉中经过充分研究的不适定问题,在过去十年中使用深度学习(DL)方法进行了深入研究。单眼深度估计的最新方法主要依靠卷积神经网络(CNN)。
二维图像估计深度在各种应用中起着重要作用,包括场景重建,3D对象检测,机器人技术和自动驾驶。这项调查提供了对该研究主题的全面概述,包括问题表示形式和对用于深度估计的传统方法的简短描述。审查,评估和讨论了相关数据集和13种基于最新深度学习的单眼深度估计方法。

2.概述单目深度估计

2.1解决方法

传统的深度估计方法有:1、主动法(包括超声波、光学等手段)2、被动方法(主要利用图像的光学特性,包括多视角深度估计 和单目深度估计)

2.3深度估计的主要数据集

1、首先是NYU-v2数据集(1449):主要用于室内场景深度估计、分割以及分类。
2、Make3D(543):主要是室外图像,具有更复杂的特征集。
3、KITTI数据集(94K):主要分为RD:原始深度、CD:连续深度、SD:半致密深度、ES:分割、ID:改进深度。(暂时还不知道这样分开的每个子集的用处)
4、Pandora(250K):主要用于头部中心定位、头部姿态估计、肩部姿态估计
5、SceneFlow(39K):大规模合成数据集

3.深度学习与单目深度估计

主要分为以下三种:
1、有监督:需要大量高质量深度数据,主要的网络结构:FC(全连接)类:EMDEOM。CNN类:DORN、DeepV2D(重点)。Encoder-Decoder:ACAN、DenseDepth、VNL(重点)、BTS(重点)
2、半监督:需要较少的标记数据以及大量的未标记数据 ,缺点是无法校正自身偏差,需要额外的域信息。CNN:GASDA
3、无监督:只需要少量的未标记图像训练,存在泛化问题。Encoder-Decoder:LISM。Auto-decoder:VoMonodepth。CNN:monoResMatch、packNet-sfM、Monodepth。

3.1有监督方法

ACAN(2019):(基于注意的上下文聚合网络):利用深度残差结构、扩展层以及自注意模块来控制空间尺度和连续像素级密集深度估计。训练数据集为:NYU-v2和KITTI的调整大小和裁剪图像。由于上下文的自适应特性使预测深度图结构有明显的边界。
DeepV2D(2019):(针对视频中的单目深度估计问题)由深度估计和相机运动两个模块组成,相机运动输入到深度模块,返回的初始深度图再输入到相机运动模块,最后得到精确地相机运动。训练数据集:Make3D、NYU-v2、KITTI、scanNet。

3.2无监督方法

monoResMatch:(端到端的单目残差匹配),利用立体匹配方法估计。训练集:CitySpace、KITTI
(这一块不是重点,就懒得写了)

3.3半监督方法

CASDA:利用几何感知对称域自适应估计深度图,通过在合成数据上训练模型,在自然图上估计深度。

4.评估标准

最常用的量化指标:绝对相对差(AbsRel)、均方根误差(RMSE)、RMSE(log)、均方根相对误差(SqRel)。这些标准都在KITTI和NYU-v2上面经过了测试。
首先KITTI数据集上精度最高的冠军网络是:DeepV2D。
然后在NYU-v2数据集上的冠军及亚军网络是BTS与DeepV2D,差距微弱。
最后在计算时间上,BTS夺魁为0.22s,DeepV2D次之为0.36s
()

5.讨论

文中提到了一些提升手段:局部平面制导层(LPGL)、多层反褶积网络和阿托鲁斯空间金字塔等方法和体系结构的引入,能够提升模型性能。

5.1基于性能的比较分析

1、监督程度:
有监督中:DeepV2D、BTS、VNL速度更快,VNL、ACAN、EMDEOM能够以更低的分辨率提供深度图。然鹅DORN参数量爆炸,不建议选择。(土豪请随意)
自监督中:虽然大多数可以生成与最新技术相当精度的高分辨率图像,但是他费内存啊,计算量大。
2、精度和深度范围:
Deepv2D在KITTI和NYU-v2上成绩优异,说明引入3D约束条件或特征贼有用,很重要。论文中多次的结果对比,说明监督学习比无监督的效果好。
3、计算时间和内存
这次我站VNL,显著减少了计算时间和内存,可用于有一定质量要求和低成本的场景。
特征提取在编码器部分使用VGG、resNet或DenseNet等预训练模型,使用解码器来完成深度预测。

5.2未来研究方向

1、复杂的深度网络对设备内存等要求较高,这是处理高分辨率以及预测高分辨率深度图的主要问题。
2、高性能计算的发展可以解决内存和计算问题,但开发更轻量级的深层网络架构仍是可取得,如部署在移动端。
3、如何获得更高的精度,通常会受到复杂场景的影响,如:遮挡、高度杂乱的场景等。
4、最后就是如何提高训练模型的泛化能力,用新的自适应方法实时或最小程度的适应新的环境。
结尾的参考文献也有许多有用的文章。

你可能感兴趣的:(pytorch神经网络)