Unsupervised_Depth_Estimation, 无监督CNN单视图深度估计

分享于 

6分钟阅读

GitHub

  繁體
Unsupervised CNN for Single View Depth Estimation: Geometry to the Rescue
  • 源代码名称:Unsupervised_Depth_Estimation
  • 源代码网址:http://www.github.com/Ravi-Garg/Unsupervised_Depth_Estimation
  • Unsupervised_Depth_Estimation源代码文档
  • Unsupervised_Depth_Estimation源代码下载
  • Git URL:
    git://www.github.com/Ravi-Garg/Unsupervised_Depth_Estimation.git
    Git Clone代码到本地:
    git clone http://www.github.com/Ravi-Garg/Unsupervised_Depth_Estimation
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/Ravi-Garg/Unsupervised_Depth_Estimation
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    基于图像的实时无监督深度估计

    这是我们论文的caffe实现unsupervised无监督CNN单视图深度估计: with的几何图形"在 ECCV 2016中发布的次要修改。 在这种变体中,我们训练网络end-to-end而不是粗细的方式,更深入的网络( Resnet 50 ) 和TVL1丢失。

    实现后,我们共享训练在KITTI训练集上的样例Resnet50by2模型:

    https://github.com/Ravi-Garg/Unsupervised_Depth_Estimation/blob/master/model/train_iter_40000.caffemodel

    共享模型是KITTI中 50层剩余网络的一个小变化。 我们的型号为 <,在 Nvidia Geforce GTX980 ( TITAN X 上的50hz ) 上的160 resolution分辨率图像上预测深度为 resolution。 它可以与caffe无任何修改,我们提供一个简单的matlab包装器测试。

    点击图片观看youtube上的结果预览:

    Screenshot

    如果你使用我们的模型或者你的研究代码,请参考:

    
    @inproceedings{garg2016unsupervised,
    
    
     title={Unsupervised CNN for single view depth estimation: Geometry to the rescue},
    
    
     author={Garg, Ravi and Kumar, BG Vijay and Carneiro, Gustavo and Reid, Ian},
    
    
     booktitle={European Conference on Computer Vision},
    
    
     pages={740--756},
    
    
     year={2016},
    
    
     organization={Springer}
    
    
    }
    
    
    
    
    培训过程

    模型对来自城市。住宅和道路序列的23200对原始立体立体图像进行了训练。 其他KITTI序列中的图像未被保留。 从 28个序列的697个图像中的一个子集为 testset,从这些类别中留下剩余的33序列。

    使用相同的训练数据使用文件'train_test_split.mat'中的分割 spacified。

    Our end-to-end solver 1 个GPU上的40,000迭代。 模型对hyperparameters的预调进一步优化应改进结果。 仅在本文描述的情况下使用左翻转来训练提供的网络。 本文描述的其他agumentations和运行时洗牌没有使用,但也应该导致性能 imrovement。

    以下是每 20次迭代记录的培训损失:

    loss per 20 iterations

    注意:我们已经调整了KITTI图像到 160 x608的培训,这改变了图像的宽宽比。 因此,为了正确评估 KITTI,需要调整图像大小,并在计算深度之前,将差异值调整为1 %。 为了便于引用进一步发布的结果,我们将共享性能度量值。

    在没有任何后处理的情况下,我们的模型在KITTI测试集上给出以下结果:

    RMSE(linear): 4.400 866

    RMSE(log): 0.233 548

    RMSE(log10): 0.101 441

    abs 相关差异:0.137 796

    质量差异:0.824 861

    精确度 1.25: 0.809 765

    精确度 1.25平方:0.935 108

    1.25多维数据集精度:0.974 739

    测试集由 697个图像组成,在 https://www.cs.nyu.edu/~deigen/depth/kitti_depth_predictions.mat 深度预测首先裁剪到 0到 50米之间的深度值,并只在给定掩码区域中的区域中进行评估。

    #Network 体系结构

    我们的网络架构紧密遵循剩余网络方案。 我们从开始从开始,用 2最大缓冲层( 比如 VGG ) 替换了strided卷。 其余网络 followes resnet50,每层有一半参数。

    对于密集预测,我们遵循FCN和ECCV文件中指定的跳过连接。 我们引入了一个具有重量衰减 0.01的学习比例层,在FCN的每个 1卷卷积之前,我们可以更高效地合并中间

    • 自适应选择与场景深度更相关的中层特征。
    • 使 1 x1卷卷更稳定,以更稳定地结束训练。

    进一步分析和可视化特性的可视化将很快在arXiv上发布: https://arxiv.org/pdf/1603.04992v2.pdf

    使用代码

    要在你自己的数据上训练和调整网络,需要使用附加的代码编译 caffe:

    • L1 AbsLoss损失最小化的层,

    • 图像warpping给定流的Warping层

    • 并修改" filler.hpp"以计算我们在这里共享的卷积图像梯度。

    许可证

    对于学术用途,代码是在许可BSD许可下发布的。 任何商业用途,请与作者联系。

    联系人

    请在这里线程上报告任何已知问题的ravi.garg@adelaide.edu.au


    VIEW  DEP  SIN  深度  Estimation