一、基本信息
标题:Semi-Supervised Deep Learning for Monocular Depth Map Prediction
时间:2017
引用格式:Kuznietsov Y, Stuckler J, Leibe B. Semi-supervised deep learning for monocular depth map prediction[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 6647-6655.
二、研究背景
监督学习:需要大量标记数据,激光雷达RGBD等获取的数据存在噪声且稀疏,激光与照相机的投影中心不重合
无监督学习:对应没有纹理的地方,预测不了
总结一下深度预测发展:
- Saxena et al. 第一个基于监督学习方法,使用MRF,手动提取特征
- Eigen et al.使用CNN,由粗到细的多层网络。笔记
- Li et al.使用CNN结合CRFs超像素分割
- Liu et al.端到端训练一元势和成对势的CNN特征,连续深度和高斯假设??
- Laina et al.使用ResNet构建深度卷积,得到预测密度更大
- 此后,图像的深度转移的思想[或者将深度图预测与语义分割相结合
- Garg et al. FCN FlowNet 使用光测误差。(利用一阶泰勒近似将损失线性化,因此需要从粗到细的训练??)
- Xie et al. 视差方法,最小化像素级重建误差。
- Godard et al.也是视差方法,最小重建误差,但是使用左右约束。笔记
三、创新点
本文提出使用监督和非监督结合的方法。一个训练配对图需要2张深度图(LiDAR获得),2张RGB图。
令CNN预测的深度倒数ρ(x)和激光雷达得到的深度Z(x)对应关系:
ρ(x)−1=!Z(x)
图像减去视差fbρ(x):
ω(x,ρ(x)):=x−fbρ(x)
令左图I1等于右图I2-视差:
I1(x)=!I2(ω(x,ρ(x)))
结合左右图像:
Ileft(x)=!Iright(ω(x,ρ(x)))Iright(x)=!Ileft(ω(x,−ρ(x)))
损失函数
Supervised loss.
LθS=x∈ΩZ,l∑∥∥ρl,θ(x)−1−Zl(x)∥∥δ+x∈ΩZ,r∑∥∥ρr,θ(x)−1−Zr(x)∥∥δ
θ是CNN参数那么预测的深度倒数:ρr/l,θ,∥⋅∥δ是berHu范数,结合了L1和L2范数:
∥d∥δ={∣d∣,d≤δ2δd2+δ2,d>δ
δ=0.2x∈ΩZmax(∣∣ρ(x)−1−Z(x)∣∣)
Unsupervised loss.
LθU=∑x∈ΩU,l∣(Gσ∗Il)(x)−(Gσ∗Ir)(ω(x,ρl,θ(x)))∣+∑x∈ΩU,r∣(Gσ∗Ir)(x)−(Gσ∗Il)(ω(x,−ρr,θ(x)))∣
Gσ是高斯核,模糊是为了去噪,使用σ=1px
Regularization loss.
LθR=i∈{l,r}∑x∈Ω∑∣∣∣ϕ(∇Ii(x))⊤∇ρi(x)∣∣∣
ϕ(g)=(exp(−η∣gx∣),exp(−η∣gy∣))⊤
η=2551
防止预测梯度太大作用,个人理解:当预测梯度∇ρi(x)很大时,而真实梯度很小,导致ϕ(∇Ii(x))⊤很大,所以LθR就很大。保持梯度一致性的意思。。。
总损失
Lθ(Il,Ir,Zl,Zr)=λtLθS(Il,Ir,Zl,Zr)+γLθU(Il,Ir)+LθR(Il,Ir)
λt 和γ是权衡参数
网络结构
用的残差网络Flownet
2种残差块:
上投影残差块:
具体网络结构:
四、实验结果
9就是系列2左右约束方法,然后看到本文方法可以结合真实深度预测得到比较精准结果,同时对于真实深度没有扫描的地方,通过CNN进行学习。
五、结论与思考
作者结论
总结
本文在有深度标签数据下是个结合CNN的方法,但是大多数情况是没有深度。要是以后有深度相机集成到手机上,这个方法不失为增强方法。
思考
参考