赞
踩
终于写到了目前比较主流的深度学习方法。随着大规模的数据集的出现以及硬件运算能力的提高,数据驱动的方法开始在计算机视觉、自然语言理解等领域发光发热。David Eigen可以说是第一个把深度学习方法用于单目图像深度估计的人,他提出的多尺度CNN网络到现在仍然在被引用和对比。这篇笔记就写一下Eigen的两篇经典论文:
[1] Depth Map Prediction from a Single Image using a Multi-Scale Deep Network,NIPS 2014. Project Page
[2] Predicting Depth, Surface, Normals and Semantic Labels with a Common Multi-Scale Convolutional Architecture,ICCV 2015 Project Page
从题目可以看出,第一篇Paper侧重于单目图像深度估计的任务中多尺度深度网络的应用,第二篇Paper主要内容为提出一个通用的网络可以解决单目深度估计、语义分割和法向量预测三个Task。从网络结构来看,第二篇提出的网络是在第一篇Paper中提出的网络的基础上进行的微调,同时也对loss进行了小小的调整,但整体改动不大。因此这篇阅读笔记也重点记一下第一篇Paper。
从2维推导出3维其实是一个ill-posed的Task,因为在拍摄照片即从三维(现实世界)到二维(照片)的过程中,信息的丢失是不可逆的。然而在计算机视觉相关的任务中,深度信息的增加可以提高相应算法的识别率,比如图像分割、识别等,而这些计算机视觉方法所代表的能力(比如环境感知)往往是机器人等热门AI技术所需要的。因此能否利用大规模的已有数据去训练深度网络使其可以对缺失的三维信息进行估计的研究具有很重要的现实意义。
文章中提出了一个多尺度的混合网络,网络具有两个部分,分别为:
第一部分为全局粗网络,深度估计与其他Task的一个区别就是全局性,人类在确定深度的时候就用到了很多全局特征,比如消失点、物体位置、遮挡关系等等(这些在入门篇中有相关介绍),而其他Task比如人脸识别,可能更重要的是找到某一局部的特征。因此在全局的层面上对深度进行预测是比较重要的一个环节。
全局粗网络包括7层,其中前5层为卷积和最大池化层,后两层为全连接层。输入图像的尺寸为304X228(NYU_Depth_v2图像的原始尺寸为640X480,此处先对图像进行了参数为2的下采样,然后裁剪掉了部分边界),输出图像的尺寸为74X55,即原图的四分之一。
除了粗精度网络的最后一层使用线性函数,所有隐藏层都使用Relu(rectified linear units)激活。其中有一些tricks,比如引用了一种自学习upsampling,可自主学习图像边界;粗网络和细网络的训练不同步进行,训练好了粗网络后将参数固定再训练细网络;在Layer6有dropout操作,1到5层使用在ImageNet数据集上预训练得到的参数进行初始化等。
第二部分为细网络,其中fine layer1进行了池化操作形成74X55大小的特征图stack,这个大小正好和粗网络的输出一致,因此在fin layer2可以将粗网络的输出作为一个feature map输入。为保持图像大小不变,后续的两层卷积层都进行的是0填充(zero-padded,用0填充边界使卷积后的结果大小不会改变)卷积。
在网络训练的过程中,用到了数据增加和异常点排除的Tricks。
文章的另一创新点为尺度不变损失函数,公式如下:
其中:
对任意尺度的深度预测结果y及对应的真实深度图y*来说,得到的error是一样大的,因此体现其尺度不变性。如果用d表示log空间中预测值和实际值的差异,上述公式可写作:
由此可得到Training Loss如下,其中参数λ为0到1之间的值,当λ等于0时l2error不对loss进行影响:
以上就是NIPS 2014这篇Paper的主要内容,在实验部分,作者在NYU和KITTI两个数据集都进行了实验,取得了比较好的结果。但这种方法存在以下缺点:
这篇文章的主要创新点在于用一个结构通用(不同任务只需要改动参数)的网络可进行三种不同的Task并且得到令人满意的结果。但我们的关注点在单目图像深度估计这一部分,因此关于法向量估计和图像语义分割的部分就不写在这篇笔记中了。
这篇文章的网络结构在上一篇基础上进行了一些改进,但先粗后细的思想仍然没变,改进后的网络结构如下图:
由图可见,网络结构由两部分变为了三部分,并且网络的层数有所增加。与文献[1]不同的是:
在尺度不变Loss的基础上增加了图像梯度的部分,这部分可使得在预测值和实际值接近的基础上其趋势也要接近。
在训练的过程中,对coarse和fine网络同时进行训练,然后固定其参数训练scale3的网络。
从实验结果来看,改进后的网络在预测正确率和输出图片质量(大小)上均有所提高,同时VGG的效果好于AlexNet,因此作者提出在深度学习方法中,网络size对预测结果有很重要的影响。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。