特别需要说一下,最近有一个方法,采用传统形态学滤波法,性能不比深度学习CNN差,不妨看一下它的流程图:有兴趣可以搜搜 “In Defense of Classical Image Processing: Fast Depth Completion on the CPU“,其结果和CNN方法的比较也附上。
笔者看到的这方面公开的第一篇论文应该是2017年9月MIT博士生Fangchang Ma作为第一作写的,“Sparse-to-Dense: Depth Prediction from Sparse Depth Samples and a Single Image“。其实第一篇公开的论文是在2017年8月,来自德国Andreas Geiger研究组的论文在International Conference on 3D Vision (3DV)发表,“Sparsity Invariant CNN”。
他们开拓性的工作使Kitti Vision Benchmark Suite启动了2018年的Depth Completion and Prediction Competition,不过MIT获得了当年Depth Completion的冠军。几天前(2019年2月)刚刚公开的最新论文,是来自University of Pennsylvania的研究组,“DFuseNet: Fusion of RGB and Sparse Depth for Image Guided Dense Depth Completion”。
一个同时估计surface normals 和 occlusion boundaries的方法如下,听起来和单目深度估计很相似的路数,“Deep Depth Completion of a RGB-D Image“:
这是AR公司MagicLeap发表的论文,“Estimating Depth from RGB and Sparse Sensing“:模型称为Deep Depth Densification (D3),
它通过RGB图像,深度图和Mask图输入生成了两个特征图:二者合并为一个feature map
看看结果:
再看另一个工作 “Propagating Confidences through CNNs for Sparse Data Regression“:提出normalized convolution (NConv)layer的改进思路,训练的时候NConv layer通过估计的confidence score最大化地融合 multi scale 的 feature map
ICRA的论文“High-precision Depth Estimation with the 3D LiDAR and Stereo Fusion“只是在合并RGB image和depth map之前先通过几个convolution layer提取feature map:
看结果:其中第三行是立体视觉算法SGM的结果,第四行才是该方法的。
法国INRIA的工作,“Sparse and Dense Data with CNNs: Depth Completion and Semantic Segmentation“:不采用Mask输入(文章分析其中的原因是因为layer-by-layer的传递造成失效),而语义分割作为训练的另一个目标。
有一篇文章,“Learn Morphological Operators for Depth Completion“,同样利用图像分割的思路来帮助depth completion,只是它定义了一种Contra-harmonic Mean Filter layer近似形态学算子(structured element),放在一个U-Net模型:
ETH+Princeton+Microsoft的论文 “DeepLiDAR: Deep Surface Normal Guided Depth Prediction from LiDAR and Color Image“:还是需要输入Mask图(嗯嗯,有不同看法吗),也引入了surface normal图增强depth prediction,还有confidence mask,特别加入了attention机制(目标驱动)。
看看结果:
论文“Dense Depth Posterior (DDP) from Single Image and Sparse Range“提出了两步学习法,一是Conditional Prior Network (CPN) ,二是Depth Completion Network (DCN) :
最后一个论文,是刚刚出来的“DFuseNet: Fusion of RGB and Sparse Depth for Image Guided Dense Depth Completion“:基于Spatial Pyramid Pooling (SPP) blocks 分别做depth和image的encoder,训练的时候stereo不是必须的,mono也行(参照单目的深度估计采用的训练方法)。