双目单目深度估计 论文总结

来源:互联网 发布:美工刀架规格 编辑:程序博客网 时间:2024/06/08 00:26

Depth

自然户外场景深度值在80米以内,户内深度在0-10米范围内

单目

2017-CVPR-Unsupervised Monocular Depth Estimation With Left-Right Consistency

相似工作:

  • 不是完全的可以微分的,使得训练不是最优的
  • 不能图像构成模型不能放大到大的输出分辨率

方法:

  • 在训练时把自动深度看成一个图像重建的问题。作者用的全卷积网络不需要深度数据,而是用合成深度作为一个中间产物。网络学习预测像素级的相关(校正之后的双目图像之间有一个baseline)

贡献:

  • 一个网络用一个新颖的损失函数(网络表达左右深度一致性)完成了一个端对端的无监督单目深度估计。
  • 一些评估的图像训练损失和图像结构模型说明作者方法的高效
  • 除了展示的驾驶的数据集上完成state-of-the-art,作者也用这个模型泛化到三个不同的数据集上,包括一个室外城市数据(自己采集的)。

效果:

  • 在512 \times 256的图上估计一个稠密的深度图只用35ms在GPU上
  • 作者的方法在KITTI数据集的单目深度估计上达到了state-of-the-art,超过用ground-truth深度训练的有监督方法。

链接:

  • https://zhuanlan.zhihu.com/p/29528596

2017-CVPR-Semi-Supervised Deep Learning for Monocular Depth Map Prediction

半监督学习

  • 使用稀疏的带有 ground-truth 深度的图片进行监督训练
  • 无监督图片联合训练获得深度图,用直接图片联合损失(direct image alignment loss)产生 photoconsistent dense depth maps
  • 基于res-net和编解码架构及 long skip connections,利用在imagenet分类任务预训练的编码器权重和少量的监督信息,
    网络收敛很快,而且简化了无监督训练。例如,在其他无监督学习网络中,coarse-to-fine image alignment loss 并不需要

监督学习

  • 缺乏足够的训练数据,需要大量的训练数据
  • 户内(active RGB-D cameras),户外(3D laser scanners),
  • 仪器带有自身误差,当使用3D laser 时,获得的深度比图片稀疏,并且不能捕捉high detail depth variations visible in
    the images
  • 需要精确的内参外参
  • 虽然可以合成深度图,但是不能真实的展示场景,也不包含真实图片中包含的噪声

无监督学习

缺点
  • 户外环境无法实时动态地确定真实深度
  • 需要获得先验知识(typical appearance, layout and size of objects 及 shape from shading
    or focus)
  • 基于图像匹配(image matching)的立体深度重建本身就是一个不适合的问题
  • 在单目深度上施加先验深度,如小的深度梯度范化

待续。。。

2017-CVPR-Multi-Scale Continuous CRFs as Sequential Deep Networks for Monocular Depth Estimation

方法:

  • 从一张静态图片获得深度
  • 将多个CNN输出融合
  • 将CRFs平均后积分,一种方法是:级联的多个CRFs,一个是统一的图形模型(unified graphical model)。
    通过设计 novel CNN 实现 mean-field更新CRFs,可以实现端到端的学习
  • 通过连续CRFs积分multi-layer输出实现融合多个尺度特征。方案一:多个尺度CRFs模型;方案二:级联特定尺度的CRFs。
    最后利用mean-fields更新连续的CRFs

无监督学习

优点
  • 训练大量的深度图片对,单目深度问题就变成了像素级别的回归问题,CNN很适合用于解决
  • 从多个尺度进行像素分类能够获得更加精确的估计
  • 在CNN后级联CRF能够提高性能,而且CRFs可全微分,所以能够端到端的学习

待续。。。

2017-CVPR-Depth and Motion Network for Learning Monocular Stereo

无监督学习

  • 端到端训练CNN和通过连续的,非限制的图像对计算摄像头位移
  • 由多个编解码器累积,核心是迭代网络能够提升训练效果
  • 网络估计:深度,位移,表面法向量,图片之间的光流,匹配的confidence
  • DeMoN通过学习匹配的概念,所以能够更好的范化训练时未看到的结构
  • 别的网络会因为没有见过相似的结构而不能够很好的范化未见过的类型,而这个网络能够利用位移平行,对新的场景范化很好

待续。。。

2017-ICCV-Weakly Supervised Learning of Deep Metrics for Stereo Reconstruction

2015 33 MC-CNN-WS 3.78 % 10.93 % 4.97 % 100.00 % 1.35 s 1 core 2.5 Ghz + K40 NVIDIA, Lua-Torch

2012 MC-CNN-WS 3.02 % 4.45 % 0.8 px 1.0 px 100.00 % 1.35 s 1 core 2.5 Ghz + K40 NVIDIA, Lua-Torch

方法:

  • 通过粗略的场景和光系统信息,用SGD选择性的优化metrics,用stereo限制规则化预测
    *

贡献:

  • 克服训练集的限制,特别是noisy ground truth
  • 在学习的时候允许使用更多的数据集,前提是避免overfitting
  • 在没有ground truth的情况下,通过微调deep metric可学习到特定的stereo 系统,只需要根据任务进行限制
    *

待续。。。

2017-ICCV-Unsupervised Learning of Stereo Matching

问题:

  • 目前的CNN网络都是在某个公共数据集上训练的,现实生活中不能达到相似的效果
  • 数据集size很小,大的数据集都是3D模型合成的
  • 收集各种场景下的高质量数据集是很难的,因为包含3D感知器,例如光探测和测距(LIDAR)

方法:

  • 输入没有ground-truth disparity的经过矫正的左右两张图片,预测dispartity map
  • 用cost-volume branch (CVB)产生cost-volume,用image-feature branch(IFB)提取特征,然后衔接cost-volume and image feature,用joint filtering branch (JFB)处理,最终softmax产生disparity 图

贡献:

  • 网络框架适用于不同的场景,而且效果有保证
  • 没有matching ground truth学习立体匹配
  • 用CNN框架分支学习特定的立体匹配
  • 和其他强监督方案相比,效果相当

待续。。。

2017-ICCV-Unsupervised Adaptation for Deep Stereo

方法:

  • 无监督更新方法能够在没有gruound-truth的情况下可以fine-tune网络
  • fine-tune一个深度立体模型通过被confidence measure认为高度可信的标准立体模型提供的视差
  • 引入smoooth惩罚临近空间坐标中不相似的预测,从high confidence 位置 预测 low confidence 位置
  • 测试数据集KITTI datasets,Middlebury 2014,评估更新能力和范化到新数据的能力
  • https://github.com/CVLAB-Unibo/ Unsupervised-Adaptation-for-Deep-Stereo

无监督:

  • 端到端回归密集的视差图
  • 网络在现实和不同环境效果良好

 有监督:

  • 缺点:occlusion,texture-less, photomettic distortion

2016-CVPR-A Large Dataset to Train Convolutional Networks for Disparity, Optical Flow, and Scene Flow Estimation

2015 25 DispNetC code 4.32 % 4.41 % 4.34 % 100.00 % 0.06 s Nvidia GTX Titan X (Caffe)

不需要 ground-truth CNN 先驱

方法:

  • DispNet:image pair 端到端训练回归密集深度测量
  • 网络在大量合成数据上训练,然后再在少量真实图片上训练
  • 缺点:在数据跟新时,因为缺乏ground-truth来fine-tune, 性能大幅度恶化

待续。。。

2016-CVPR-Monocular Depth Estimation Using Neural Regression Forest

方法:

  • 从单张图片用NRF(neural regression Forest,结合随机森林和CNN)估计深度。
  • 从图片中提取的扫描窗作为样本沿着NRF树下传得到深度,每个树节点用CNN filtering 出一个伯努利概率传给左右子树,直到叶子节点计算深度

结果:

  • 计算每个像素点的连续深度图
  • 通过regression Forest预测连续的深度域
  • 增强了smoothness of depth
  • 结果在benchmark Make3D and NYUv2 datasets 达到 state of the arts

问题:

  • 3D场景中的物体在2D图片中是重叠的,典型的户内户外场景中的深度值一般在莫个值出现峰值,因此训练的集合中可能刚好缺失某个深度值,而测试集中出现了。对应的解决方法一般是通过graphical models增强smoothness,并且考虑空间环境(spatial context)
  • CNN训练需要大量的数据,而且在某个深度值上可能没有足够的样本

待续。。。


2015-ICCV-Monocular Object Instance Segmentation and Depth Ordering With CNNs

方法:

  • 利用 CNN 预测 Instance-level 的分割,instance ID 编码了深度级数(depth ordering)
  • To provide a coherent single explanation of an image we develop a Markov random field
    which takes as input the predictions of convolutional neural nets applied at overlapping patches of different resolutions, as well as the output of a connected component algorithm
  • 预测确却的像素标记,还有depth ordering。难点有把像素级的标记聚集为一个物体,从单张图片获得深度也很难
  • 在自动驾驶场景中处理,并重点关注车,阴影,反射,饱和度都是挑战。而MRF(Markov Random Field)被用来解决这些问题的前提是CNN的精确分割,利用多个CNN输出分辨率:密集采用image patches,然后基于pathc预测depth-ordered 标签,然后通过MRF结合预测最后的标记。
  • 训练过程中使用3D信息(3D bounding box and stereo)
  • 使用KITTI检测效果和精度

愿景

  • 识别技术应该更详细的分析场景,比如确却分割物体并标记一个物体实例,还有3D信息。运用有辅助驾驶,基于3D场景的image caption

待续。。。


2015-CVPR-Depth and Surface Normal Estimation From Monocular Images Using Regression on Deep Features and Hierarchical CRFs

方法:

  • DCNN + CRF
  • 不需要提前编码任何几何假设(通过训练大量的数据,可以得出许多几何关系)
  • 通过提前训练的CNN super-pixel级别的特征,减少计算;在smooth时能够保留细节
  • 通过 deep 特征 实现 深度回归,通过启发性CRF实现深度优化(refining)
  • 深度网络把深度估计问题变成回归问题,提取多尺度特征,训练回归器(第一次有人这么做)
  • 为增强regressor估计,引入启发性连续CRF,从super-pixel水平增强深度估计到pixel水平
  • 测试集为Make3D and NYU Depth V2 datasets

无监督

缺点:
  • 单个图像本身并不明确地提供任何深度提示(即,给定场景的彩色图像,具有无限数量的3D场景结构来准确解释2D测量)。但是可以利用几何假设,比如SfS,这些线索在某种情况好使,但是一般化就不行了

待续。。。

2015-CVPR-Deep Convolutional Neural Fields for Depth Estimation From a Single Image

方法:

  • 因为深度值的连续性特点,所以可用连续CRF来公式化学习
  • 在不需要先验几何知识和额外的其他信息情况下,可以计算一般场景的深度信息

贡献:

  • CNN+continuous CRF,利用深度的连续性,概率密度函数可以解析积分,直接求解log-likelihood optimization。因为存在闭环解,所以可以高效的计算MAP问题
  • 在统一的deep CNN框架下,交织的学习一元,二元势函数
  • state of the arts

无监督:

  • 无参数情况:包括候选图像检索,场景对齐,然后使用平滑约束进行优化。这种方法的前提是图片的语义信息相似,深度分布相似,数据量大

参考

  • T. Qin, T.-Y. Liu, X.-D. Zhang, D.-S. Wang, and H. Li, “Global ranking using continuous conditional random fields,” in Proc. Adv. Neural Inf. Process. Syst., 2008. 1, 4 一文中,首次提出用CRFs来解决regression问题,这里解决的是文档检索全局排序问题,在某种约束下,可以解决maximum likelihood optimization

待续。。。

2014-ECCV-Precision-Recall-Classification Evaluation Framework: Application to Depth Estimation on Single Images

方法:

  • low level cue: 凸的区域是封闭的;在T交叉中,形成最大角度的区域是遮挡区域;检测到的轮廓的凸度( gPb algorithm);计算一个像素对不同图像块的所有权概率
  • 提出 precision recall-classification(PRC)框架,能够提供轮廓检测和深度斜率分类(depth gradient classification)
  • 主体思路是把检测任务和分类问题集合到一个评估框架。
  • 贡献是发布了一个新的标记数据集:BSDS500 Dataset,包含depth order ground-truth (available at http://imatge.upc.edu)

待续。。。

双目

难度:

  • textureless areas(条纹少), reflective surfaces(反射性表面),thin structures(细微的结构) and repetitive patterns(重复的模式)
  • 在smoothing 表面和检测细微结构难以平衡

 深度学习:

  • 从原始数据能够学习到强大的表现力,比如目标分类,检测和语义分割

2017-arxiv-Cascade Residual Learning: A Two-stage Convolutional Neural Network for Stereo Matching

2015 3 CRL code 2.48 % 3.59 % 2.67 % 100.00 % 0.47 s Nvidia GTX 1080

方法:

  • cascade residual learning (CRL)
  • 级联CNN框架:首先在DDispNet上装备up-convolution module,视差图细节更加丰富;第二阶段,矫正得到的视差,得到与第一阶段多个尺度的残差信号
  • 残差学习提供一个更高效的矫正,学习residual signal 比直接学习disparity快,和res-net相似

2017-ICCV-End-To-End Learning of Geometry and Context for Deep Stereo Regression

2015 4 GC-NET 2.21 % 6.16 % 2.87 % 100.00 % 0.9 s Nvidia GTX Titan X

2012 2 GC-NET 1.77 % 2.30 % 0.6 px 0.7 px 100.00 % 0.9 s Nvidia GTX Titan X

方法:

  • 立体回归模型端到端学习,理解更广泛的背景
  • semiglobal block matching and left-right consistency checks
  • 从单个矫正图片pair端到端深度学习每个像素的视差,使用ground truth depth data
  • 用cost volume 学习几何,用深度卷积网络学习语义:衔接两张图片对应视差水平的特征,构造height×width×(max disparity+ 1)×feature size 的4D volume.比subtracting features或使用距离度量的性能有所提升
  • 从原始数据截取信息,利用3-D卷积(在height×width×disparity dimensions)学习过滤 cost volume; 用softmin 从cost volume 视差回归 sub-pixel 视差值
  • GC-Net (Geometry and Context Network)
  • Scene Flow and KITTI datasets

待续...

2017-CVPR-Improved Stereo Matching With Constant Highway Networks and Reflective Confidence Learning

2015 11 L-ResMatch code 2.72 % 6.95 % 3.42 % 100.00 % 48 s 1 core @ 2.5 Ghz (C/C++)

2012 6 L-ResMatch code 2.27 % 3.40 % 0.7 px 1.0 px 100.00 % 48 s Titan X (Torch7, CUDA)

方法:

  • Highway network根据多级加权residual shortcuts计算每个可能视差的匹配成本,并通过混合损失进行训练,支持图像块的多级比较.
  • 第二个DCNN(deep)对多个视差pooling全局信息,输出图像视差图(取代“winner takes all” strategy)和对预测结果的confidence.confidence score是由reflective loss来训练的
  • 最后用confidence score来检测outliers,学习confidence的方法是目前最佳的方法
  • 引入highway network with 多个 skip-connection 和固定为常数的 一个门信号
    *

2016-CVPR-Efficient Deep Learning for Stereo Matching

2015 29 Content-CNN 3.73 % 8.58 % 4.54 % 100.00 % 1 s Nvidia GTX Titan X (Torch)

2012 24 Content-CNN 3.07 % 4.29 % 0.8 px 1.0 px 100.00 % 0.7 s Nvidia GTX Titan X (Torch)

方法:

  • GPU计算精确结果在1s内完成,用product layer计算(左右图片卷积后的特征)内积
  • 把视差当作分类问题
  • 代码链接:http://www.cs.toronto.edu/deepLowLevelVision
    *

其他方法:

  • 从局部匹配聚集信息,比如cost aggregation 在局部相邻区域平均话视差估计;semi-global block matching和 MRF(Markov random filed)结合元素间的预测和局部smoothness到一个能量函数;这些都只是一个特征的线性组合

待续...

2016-CVPR-Coordinating Multiple Disparity Proposals for Stereo Computation

方法:

  • 为解决大量textureless regions问题,基于分割,对相对和绝对disparity生成多个Proposals,因而相对距离远的相关视差能够编码大的结构,对处理大textureless regions至关重要
  • 2014 Middlebury and KITTI 2015 stereo benchmark
  • 利用MRF模型非局部连接,点对竞争指只用绝对视差(经过surface models加强的初始化视差值)来抑制outliers,利用点对合作来投票相邻的视差值,可以很好的分辨人工边界
  • 用1D动态规划来更新不同步长的SGM算法,能够更好的保留长距离连接

贡献:

  • 用3D surfaces生成多个视差Proposals,绝对视差实现很好的点对估计,相对视差反映3D结构
  • 用Coordinating scheme解调多个视差proposals;用1D动态规划在不同步长优化非局部连接MRF