SC-DepthV3:Robust Self-supervised Monocular Depth Estimation for Dynamic Scenes——论文笔记
Posted m_buddy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SC-DepthV3:Robust Self-supervised Monocular Depth Estimation for Dynamic Scenes——论文笔记相关的知识,希望对你有一定的参考价值。
参考代码:sc_depth_pl
1. 概述
介绍:基于运动恢复的自监督深度估计算法中会假设所处的场景是静止的,但是实际中这样的假设是不现实的,因而运动的物体和遮挡就会违反之前的场景先验假设,从而导致对应区域上出现深度预测异常。对于物体的运动和遮挡情况,在之前的工作中有采用直接预测运动场、分割方法标注、光流场、几何先验等方法进行补救,但是作用范围也是有限的。同时,由于物体边界的模糊性也会导致深度估计的边缘模糊。对此文章提出了一种使用伪深度(pseudo-depth)作为深度引导(这个伪深度其实是由一个深度估计模型预测输出的,虽然不准确但是能提供基本的轮廓和远近信息),从而提升自监督深度估计方法的预测能力。
将文章的输出结果(第三排)与自监督深度估计方法的结果(第二排)进行对比,见下图:
从图中可以明确看到文章的方法输出结果更加准确,同时细节也更多。不过文章的方法是在加入pseudo-depth下才能得到巨大提升的,而对应的深度估计模型也是需要数据进行训练的,也会存在各种各样的corner-case,只能说这样的方法对大部分场景能较好处理。
2. 方法设计
2.1 方法设计
文章的方法见下图所示:
从图中可以看到在自监督方法基础上添加了pseudo-depth约束:DRR和LSR。对于自监督部分中对于运动情况的处理采用的是之前(版本为V1~V2)中使用到的深度一致性假设,记当前帧和前一帧的预测深度图表示为
D
a
,
D
b
D_a,D_b
Da,Db,则使用估计出的pose信息进行变换之后两者的神对差异应该比较小,因而可以建立约束损失函数:
L
G
=
1
∣
V
∣
∑
p
∈
V
D
d
i
f
f
(
p
)
L_G=\\frac1|V|\\sum_p\\in VD_diff(p)
LG=∣V∣1p∈V∑Ddiff(p)
使用深度一致性去加权光度重构误差部分的损失,其得到的权重掩膜为:
M
s
=
1
−
D
d
i
f
f
M_s=1-D_diff
Ms=1−Ddiff
这个掩膜会在后面计算场景中运动目标掩膜时用到。
2.2 Dynamic Region Refinement(DDR)
在上一节中使用深度一致性约束得到光度重构误差加权掩膜,则一定程度上上述掩膜反映了场景中的运动目标,也就是权重越小是移动目标的可能性越大。对此文章选择上述权重中最20%最小的像素组成运动物体 M m o v e _ o b j e c t M_move\\_object Mmove_object。
对于运动目标的深度估计文章采用了structure-ranking loss损失,但需要针对文章所处场景选择对应采样策略。文中指出在 M m o v e _ o b j e c t M_move\\_object Mmove_object中的像素会在静态区域中选择与之匹配的像素对,还会增加全局随机采样作为进一步整图约束。
文章使用的是pseudo-depth作为引导,而这些引导在深度存在差异的时候才是置信的(文中给出的观察结论),因而那些靠得近的采样点置信度就较低了。对此,选择不计算那些被判定为近似匹配点的pair对,只计算那些深度差异明显的(这里设置
τ
=
0.15
\\tau=0.15
τ=0.15从而增加对比容忍度):
ϕ
(
p
0
,
p
1
)
=
l
o
g
(
1
+
e
x
p
(
−
l
(
p
0
−
p
1
)
)
)
\\phi(p_0,p_1)=log(1+exp(-\\mathcall(p_0-p_1)))
ϕ(p0,p1)=log(1+exp(−l(p0−p1)))
则这部分的深度相似性损失为:
L
C
D
R
=
1
∣
Ω
∣
∑
p
∈
Ω
ϕ
(
p
)
L_CDR=\\frac1|\\Omega|\\sum_p\\in\\Omega\\phi(p)
LCDR=∣Ω∣1p∈Ω∑ϕ(p)
这里提出的采样点方式与其它一些采样方式不同带来的性能差异:
2.3 Local Structure Refinement(LSR)
为了优化深度在边缘处的表达,也借鉴structure-ranking loss中对于深度边缘的采样策略,在深度的边缘处采样pair图像点,并提取采样点处的表面法线表达
n
n
n从而建立起约束关系:
L
E
R
N
=
1
N
∑
i
=
1
N
∣
∣
n
A
i
⋅
n
B
i
−
n
A
i
∗
⋅
n
B
i
∗
∣
∣
1
L_ERN=\\frac1N\\sum_i=1^N||n_A_i\\cdot n_B_i-n_A_i^*\\cdot n_B_i^*||_1
LERN=N1i=1∑N∣∣nAi⋅nBi−nAi∗⋅nBi∗∣∣1
深度边缘约束带来的性能差异比较:
3. 实验结果
DDAD数据集上的性能表现:
在pesudo-depth与添加自监督深度估计耦合之后带来的性能变化:
以上是关于SC-DepthV3:Robust Self-supervised Monocular Depth Estimation for Dynamic Scenes——论文笔记的主要内容,如果未能解决你的问题,请参考以下文章
Introspective Distillation for Robust Question Answering 论文笔记
Matlab鲁棒控制工具箱(Robust Control Toolbox)