论文地址:Self-supervised Multi-view Stereo via Effective Co-Segmentation and Data-Augmentation
问题的提出
由于光照等因素的影响,不同视图下同名点的颜色不一致,这是自监督学习与有监督学习的表现性能差异很大的关键原因。为此,该文提出了协同分割分支和数据增强分支来解决这个问题。
网络整体架构
网络结构——深度估计分支(Depth Estimation Branch)
使用CVP_MVSNet作为Backbone:
1张参考视图,N-1张源视图作为输入,经过共享CVP_MVSNET得到每层金字塔的深度图[
H
2
s
a
c
l
e
−
1
\frac{H}{2^{sacle-1}}
2sacle−1H,
W
2
s
a
c
l
e
−
1
\frac{W}{2^{sacle-1}}
2sacle−1W]…[H/2, W/2]和 [H, W],sacle表示金字塔的层数。
网络结构——协同分割分支(Co-Segmentation Branch)
- N张图片作为输入,经过ImageNet预训练好的Vgg模型得到[N, C, h, w]的特征图。(此处h和w是特征图大小而非原图大小)。
- 将N个特征图的维度转换为[Nhw, C],经过非负矩阵分解得到P矩阵:[Nhw, K]和Q矩阵:[K, C],将P矩阵维度转换为[N, h, w, K],其中K为预设的类别个数,目的是将特征图内的像素聚类为K个类别。
网络结构——数据增强分支(Data Augmentation Branch)
将N张图片随机mask掉一定区域,经过深度估计分支的共享CVP_MVSNET得到每层金字塔的深度图[
H
2
s
a
c
l
e
−
1
\frac{H}{2^{sacle-1}}
2sacle−1H,
W
2
s
a
c
l
e
−
1
\frac{W}{2^{sacle-1}}
2sacle−1W]…[H/2, W/2]和 [H, W],sacle表示金字塔的层数。
损失函数
L = λ 1 L P C + λ 2 L S C + λ 3 L D A + λ 4 L S S I M + λ 5 L S m o o t h (0) \begin{array}{r} L=\lambda_{1} L_{P C}+\lambda_{2} L_{S C}+\lambda_{3} L_{D A}+\lambda_{4} L_{S S I M}+\lambda_{5} L_{S m o o t h} \end{array}\tag{0} L=λ1LPC+λ2LSC+λ3LDA+λ4LSSIM+λ5LSmooth(0)
光度一致性损失
L
P
C
=
∑
i
=
2
N
∥
(
I
i
′
−
I
1
)
⊙
M
i
∥
2
+
∥
(
∇
I
i
′
−
∇
I
1
)
⊙
M
i
∥
2
∥
M
i
∥
1
(1)
L_{P C}=\sum_{i=2}^{N} \frac{\left\|\left(I_{i}^{\prime}-I_{1}\right) \odot M_{i}\right\|_{2}+\left\|\left(\nabla I_{i}^{\prime}-\nabla I_{1}\right) \odot M_{i}\right\|_{2}}{\left\|M_{i}\right\|_{1}}\tag{1}
LPC=i=2∑N∥Mi∥1∥(Ii′−I1)⊙Mi∥2+∥(∇Ii′−∇I1)⊙Mi∥2(1)
其中,
I
i
′
I_{i}^{\prime}
Ii′ 为第
i
i
i 张源视图基于预测的深度图和相机参数投影到参考视角的图片,
I
1
I_{1}
I1 为参考视图,
M
i
M_{i}
Mi 为投影视图和参考视图的共同可视区域mask,在颜色空间和梯度空间计算两者的
L
1
L_{1}
L1损失。
结构一致性损失
L
S
S
I
M
=
∑
i
j
[
1
−
SSIM
(
X
^
t
i
j
,
X
t
i
j
)
]
M
t
i
j
(2)
L_{\mathrm{SSIM}}=\sum_{i j}\left[1-\operatorname{SSIM}\left(\hat{X}_{t}^{i j}, X_{t}^{i j}\right)\right] M_{t}^{i j}\tag{2}
LSSIM=ij∑[1−SSIM(X^tij,Xtij)]Mtij(2)
其中,对投影过来的视图和参考视图求结构一致性损失(基于3x3窗口求对应窗口的结构一致性损失,取平均)
SSIM
(
x
,
y
)
=
(
2
μ
x
μ
y
+
c
1
)
(
2
σ
x
y
+
c
2
)
(
μ
x
2
+
μ
y
2
+
c
1
)
(
σ
x
+
σ
y
+
c
2
)
(3)
\operatorname{SSIM}(x, y)=\frac{\left(2 \mu_{x} \mu_{y}+c_{1}\right)\left(2 \sigma_{x y}+c_{2}\right)}{\left(\mu_{x}^{2}+\mu_{y}^{2}+c_{1}\right)\left(\sigma_{x}+\sigma_{y}+c_{2}\right)}\tag{3}
SSIM(x,y)=(μx2+μy2+c1)(σx+σy+c2)(2μxμy+c1)(2σxy+c2)(3)
其中,
μ
x
\mu_{x}
μx为x图像的均值,
μ
y
\mu_{y}
μy为y图像的均值,
σ
x
y
\sigma_{x y}
σxy 为两图像的协方差。
平滑损失
表示深度图变化比较大的区域原图变化也比较大。
L
S
m
o
o
t
h
=
∑
i
,
j
∥
∂
x
D
i
j
∥
e
−
∥
∂
x
X
i
j
∥
+
∥
∂
y
D
i
j
∥
e
−
∥
∂
y
X
i
j
∥
(4)
L_{\mathrm{Smooth}}=\sum_{i, j}\left\|\partial_{x} D^{i j}\right\| e^{-\left\|\partial_{x} X^{i j}\right\|}+\left\|\partial_{y} D^{i j}\right\| e^{-\left\|\partial_{y} X^{i j}\right\|}\tag{4}
LSmooth=i,j∑
∂xDij
e−∥∂xXij∥+
∂yDij
e−∥∂yXij∥(4)
协同分割损失
-
对于每一层的深度预估图 [ H 2 n \frac{H}{2^{n}} 2nH, W 2 n \frac{W}{2^{n}} 2nW],将协同分割图 [N, h, w, K] 采样到[ H 2 n \frac{H}{2^{n}} 2nH, W 2 n \frac{W}{2^{n}} 2nW]尺寸得:[N, H 2 n \frac{H}{2^{n}} 2nH, W 2 n \frac{W}{2^{n}} 2nW, K]
-
将 N-1个邻域视图 [N-1, H 2 n \frac{H}{2^{n}} 2nH, W 2 n \frac{W}{2^{n}} 2nW, K] ,使用该层预测的深度图与对应视角的相机参数投影到参考视图得到:N-1个[ H 2 n \frac{H}{2^{n}} 2nH, W 2 n \frac{W}{2^{n}} 2nW, K],转换维度为N-1个 [ H 2 n ∗ W 2 n \frac{H}{2^{n}}*\frac{W}{2^{n}} 2nH∗2nW, K]
-
将该层的参考视图协同分割图 [ H 2 n \frac{H}{2^{n}} 2nH, W 2 n \frac{W}{2^{n}} 2nW, K] 经过soft-max函数,再转换成Onehot编码格式:[ H 2 n ∗ W 2 n \frac{H}{2^{n}}* \frac{W}{2^{n}} 2nH∗2nW, 1]。
-
分别求N-1个源视图协同分割投影图 [ H 2 n ∗ W 2 n \frac{H}{2^{n}}*\frac{W}{2^{n}} 2nH∗2nW, K] 与参考视图协同分割图 [ H 2 n ∗ W 2 n \frac{H}{2^{n}}* \frac{W}{2^{n}} 2nH∗2nW, 1] 的交叉熵损失。
L S C = − ∑ i = 2 N [ 1 ∥ M i ∥ 1 ∑ j = 1 H W f ( S 1 , j ) log ( S i , j ′ ) M i , j ] (5) L_{S C}=-\sum_{i=2}^{N}\left[\frac{1}{\left\|M_{i}\right\|_{1}} \sum_{j=1}^{H W} f\left(S_{1, j}\right) \log \left(S_{i, j}^{\prime}\right) M_{i, j}\right]\tag{5} LSC=−i=2∑N[∥Mi∥11j=1∑HWf(S1,j)log(Si,j′)Mi,j](5)
数据增强损失
逐层计算未被mask区域的
L
1
L_{1}
L1损失
L
D
A
=
1
∥
M
τ
θ
∥
1
∑
∥
(
D
−
D
ˉ
τ
θ
)
⊙
M
τ
θ
∥
2
(6)
L_{D A}=\frac{1}{\left\|M_{\tau_{\theta}}\right\|_{1}} \sum\left\|\left(D-\bar{D}_{\tau_{\theta}}\right) \odot M_{\tau_{\theta}}\right\|_{2}\tag{6}
LDA=∥Mτθ∥11∑
(D−Dˉτθ)⊙Mτθ
2(6)