《Structure-Guided Ranking Loss for Single Image Depth Prediction》论文笔记
Posted m_buddy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《Structure-Guided Ranking Loss for Single Image Depth Prediction》论文笔记相关的知识,希望对你有一定的参考价值。
参考代码:Structure-Guided-Ranking-Loss
1. 概述
导读:在这篇文章中提出了一种在监督深度估计方法中的损失函数。该方法是属于pair-wise ranking loss族的,文章通过利用目标的分割结果提出了一些新的采样策略,也就是低层次的边缘采样与目标实例级别的采样。从而极大增强了损失函数的约束能力,提升了最后深度图预测在边缘部分的锐化成都,以及目标内部的一致性内在属性。
文章将之前一些方法的损失函数进行比较,其结果在边缘与目标内部均得到了不错的提升,见下图所示:
理解下面的内容,需要的背景知识:
- 论文:Single- image depth perception in the wild
- 读书笔记:Single-Image Depth Perception in the Wild笔记
- 论文:Monocular relative depth per- ception with web stereo data supervision
2. 方法设计
2.1 original pair-wise ranking loss
文章中使用到的深度表达为inverse depth,RGB的图像经过网络之后得到估计出来的深度:
P
=
F
(
I
)
P=F(I)
P=F(I)
在之前的论文中对于pair-wise的损失函数描述为:
ϕ
(
p
0
−
p
1
)
=
{
l
o
g
(
1
+
e
x
p
(
−
l
(
p
0
−
p
1
)
)
)
,
l
≠
0
(
p
0
−
p
1
)
2
,
l
=
0
\\phi(p_0-p_1) = \\begin{cases} log(1+exp(-l(p_0-p_1))), & \\text{$l\\neq0$} \\\\[2ex] (p_0-p_1)^2, & \\text{$l=0$} \\end{cases}
ϕ(p0−p1)=⎩⎨⎧log(1+exp(−l(p0−p1))),(p0−p1)2,l=0l=0
其中采样过程中正负样本的判别条件为:
l
=
{
+
1
p
0
∗
/
p
1
∗
≥
1
+
τ
−
1
,
p
0
∗
/
p
1
∗
≤
1
1
+
τ
0
,
otherwise
l= \\begin{cases} +1 & \\text{$p_0^{*}/p_1^{*}\\ge1+\\tau$} \\\\[2ex] -1, & \\text{$p_0^{*}/p_1^{*}\\le\\frac{1}{1+\\tau}$} \\\\[3ex] 0, & \\text{otherwise} \\end{cases}
l=⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧+1−1,0,p0∗/p1∗≥1+τp0∗/p1∗≤1+τ1otherwise
其中,
τ
=
0.03
\\tau=0.03
τ=0.03。那么对于采样之后的集合
P
=
{
[
p
i
,
0
,
p
i
,
1
]
,
i
=
0
,
…
.
N
}
\\mathcal{P}=\\{[p_{i,0},p_{i,1}],i=0,\\dots.N\\}
P={[pi,0,pi,1],i=0,….N},则损失函数描述为:
L
r
a
n
k
(
P
)
=
1
N
∑
i
ϕ
(
p
i
,
0
−
p
i
,
1
)
L_{rank}(\\mathcal{P})=\\frac{1}{N}\\sum_i\\phi(p_{i,0}-p_{i,1})
Lrank(P)=N1i∑ϕ(pi,0−pi,1)
在上面的损失函数中采样的过程是通过随机采样的形式实现的,进而导致结果中的深度看起来比较模糊且缺少细节信息,这也说明其采样是存在一些问题的。在这篇文章中对这个损失函数进行了改进,在输入图像分割的基础上提出了低层次边缘引导的采样以及instance 分割结果上的instance采样。
2.2 采样策略
边缘采样策略:
直接随机的采样会导致模糊与细节的丢失,那么一个直观的改进就是在图像(目标的mask掩膜)的边界两边进行采样,这样却会带来over-sharpening的问题,见图2的a图所示。对此文章的解决办法是在边缘的正交方向上进行采样4个点,也就是图2的b图中的
(
a
,
b
,
c
,
d
)
(a,b,c,d)
(a,b,c,d)点,从而得到采样pair为
[
(
a
,
b
)
,
(
b
,
c
)
,
(
c
,
d
)
]
[(a,b),(b,c),(c,d)]
[(a,b),(b,c),(c,d)]。
对于一张给定的mask图,通过Sobel算子计算其在
(
X
,
Y
)
(X,Y)
(X,Y)方向上的梯度图
(
G
x
,
G
y
)
(G_x,G_y)
(Gx,Gy),以及整个梯度图
G
G
G。那么需要采样的图像边界被描述为:
E
=
I
[
G
≥
α
⋅
m
a
x
(
G
)
]
E=\\mathcal{I}[G\\ge\\alpha\\cdot max(G)]
E=I[G≥α⋅max(G)]
其中,
α
=
0.1
\\alpha=0.1
α=0.1。那么对于边缘
E
E
E上的一个点
e
=
(
x
,
y
)
e=(x,y)
e=(x,y),其正交方向上采样的4个点
k
∈
(
a
,
b
,
c
,
d
)
k\\in (a,b,c,d)
k∈(a,b,c,d)被描述为:
{
x
k
=
x
+
∂
k
G
x
(
e
)
/
G
e
y
k
=
y
+
∂
k
G
y
(
e
)
/
G
e
\\begin{cases} x_k=x+\\partial_kG_x(e)/G{e} & \\text{} \\\\[2ex] y_k=y+\\partial_kG_y(e)/G{e} & \\text{} \\end{cases}
⎩⎨⎧xk=x+∂kGx(e)/Geyk=y+∂kGy(e)/Ge
其中,
∂
a
<
∂
b
<
0
<
∂
c
<
∂
d
\\partial_a\\lt\\partial_b\\lt0\\lt\\partial_c\\lt\\partial_d
∂a<∂b<0<∂c<∂d,这里最大延伸的距离
β
=
30
\\beta=30
β1025 PAT Ranking[排序][一般]