单张影像恢复深度信息的简单介绍

1.基于明暗和光照的方法(Shape from Shading)

最早的基于单张图片的深度估计是由Horn于1970年提出的shape from shading(Horn B K P. Shape from shading: A method for obtaining the shape of a smooth opaque object from one view[J]. 1970.)。该方法基于图像中的明暗信息,借助反射光照模型,通过恢复物体表面的法向量来重建三维形状。在理想条件下,这种算法可以恢复出较精确的三维模型。但是该方法对于光照条件要求比较苛刻,需要精确知道光源的位置及方向等信息,使得其很难应用在室外场景等光线情况复杂的三维重建上。

2.基于调焦的方法(Shape from Defocus)

1997年提出(Rajagopalan A N, Chaudhuri S. Optimal selection of camera parameters for recovery of depth from defocused images[C]//Computer Vision and Pattern Recognition, 1997. Proceedings., 1997 IEEE Computer Society Conference on. IEEE, 1997: 219-224.)。通过分析摄像机焦距光圈与图像清晰度之间的关系恢复物体深度信息,进而得到三维模型的方法:物体只有位于摄像机焦距处时才会投影出清晰的图像,因此,通过建立物体到投影中心的距离与图像清晰度之间的关系,就可以恢复出深度信息。调焦法可以使用少量图像计算物体表面的稠密深度信息,且对光源条件要求也比较宽松,重建效果比较精细。但不足的是需要不断改变摄像机的焦距光圈等设置,很难实现自动重建。

Jingyu Liu et al.Absolute Depth Estimation from a Single Defocused Image. 这篇文章中提出了一种基于单幅散焦图像估计深度的算法。他们设计一组孔径形状滤波器,根据散焦度来分割散焦图像。并使用边界加权置信传播算法对深度图像进行平滑化。另外还对深度误差进行了估计。有现成的code。

3. 基于几何分析的方法

相比基于光照的纯本地(local)的方法,基于几何分析的方法借助了更多关于图像内容的全局信息(例如这篇Battiato S, Curti S, La Cascia M, et al. Depth map generation by image classification[C]//Proceedings of SPIE. 2004, 5302: 95-104.)。在这类方法中,图片内容一般先经过分割,被分为天空、地面、前景等类别;随后估计灭点和灭线(vanishing point and line),并以此计算画面内各个梯度平面的的深度;最后,将原图贴回深度图就完成了整个重建过程。

这类方法极度依赖对于灭点灭线的估计,在估计有误时恢复效果会大受影响。同时基于几何分析的方法可以恢复场景中的主要结构,但对于细节的描述不够精细(个人感觉,没有找到这方面的评论)。

4. 基于特征学习的方法(Feature Learning)

这种方法建立在大型的目标数据库基础上, 如人脸数据库、场景数据库. 首先通过学习的方法, 对数据库中的每个目标进行特征提取(包括亮度、深度、纹理、几何形状、相互位置) ; 然后对特征建立概率函数; 最后将重建目标与数据库中相似目标的相似程度表示为概率的大小, 取概率最大的目标深度为重建目标深度, 再结合纹理映射或插值方法进行三维重建。

这一流派最有代表性的工作属于Andrew Ng(Saxena A, Sun M, Ng A Y. Make3d: Learning 3d scene structure from a single still image[J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 2009, 31(5): 824-840.)。

在传统特征学习的基础上,有人加入了图像的高层语义(天空、树木、房屋等等)(Liu B, Gould S, Koller D. Single image depth estimation from predicted semantic labels[C]//Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on. IEEE, 2010: 1253-1260.)。利用这些高层信息,可以获得更好的分割效果,同时有针对性的进行深度估计(例如天空与树木可以采取不同的估计方法)。

5. 相对深度或者深度排序

在某些情况下,我们可能并不关注场景中每一点的绝对深度,只需要获得图像中物体的相对位置即可。在这类算法中,我们更关心物体的边界上存在的特征(例如边界的凹凸,T型遮挡等等)。利用这些特征,我们可以判断两两物体之间的相对深度。同时,为了防止局部判断错误差错导致的成环现象,还可以加入全局惩罚项,利用如MRF等全局算法进行优化。

代表论文:Jia Z, Gallagher A, Chang Y J, et al. A learning-based framework for depth ordering[C]//Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference on. IEEE, 2012: 294-301.

Hoiem D, Stein A N, Efros A A, et al. Recovering occlusion boundaries from a single image[C]//Computer Vision, 2007. ICCV 2007. IEEE 11th International Conference on. IEEE, 2007: 1-8.

总结来说:从单幅影像中提取深度信息,当下还是深度学习最为流行,结合低维特征和高维特征,网络能够对单幅影像的深度信息进行很好的学习和判断。具体的文章可以自行搜索,并且每一篇论文都有其独特的网络结构和评判方法,可以结合不同的特点来进行化为己有。

你可能感兴趣的:(人工智能,计算机视觉,深度学习)