今天读的是一篇2023年发表在TIP上的文章,文章使用法线来解决MVS的问题。
注:该文章所提出的模块可能无法复现实验结果,请读者自行斟酌。
文章目录
Abstract
提出了一种由粗到细的结构,具有基于法线一致性模块(DNHC)的深度假设,以及具有可靠注意模块(DRRA)的深度细化。DNHC从具有相同法线的相邻像素收集深度假设,因此预测的深度更平滑准确,尤其是在无纹理和重复纹理区域。DRRA用于更新粗略阶段的初始深度图,它可以结合参考图像的特征和cost volume特征来提高深度估计精度并解决累积误差问题。
1 Introduction
介绍了MVS的基本流程。
2 Related Work
介绍了传统方法、基于学习的方法,并且谈到了使用到法线的深度估计方法和深度图细化的工作。
3 Method
太长不看版:
使用DHNC来根据像素周边的像素的法线来指导深度假设的更新。
DRRA则用于进行进行深度图的优化,DRRA使用了mini-ViT来获得attentional特征,先把ref图的特征和初始深度图进行concat然后做一次卷积来减少通道数,然后交给transformer,得到的结果与原特征进行点乘。并且,还设计了一个分支对cost volume进行注意力机制的操作。
损失函数就是使用逐层的L1 loss。
A. Network Architecture
输入N张图片,令 I 1 I_{1} I1为reference image,其余的为source image。先使用FPN提取3个不同分辨率尺寸的特征图(缩放因子为1/4、2/1、1)。然后令 M k r M_{k}^{r} Mkr为深度范围的假设数目,令 M k n M_{k}^{n} Mkn为第k阶段深度法线的假设数目,这个在DHNC模块中使用。对每个阶段,使用上一个阶段预测得到的深度图来计算发现和该阶段的深度假设。然后我们使用warp来构建3D代价体并使用3D CNN来正则化它。最后我们使用可微的soft argmin来回归深度图。
B. Depth Hypotheses Based on Normal Consistency
基于学习的方法通常使用均匀采样生成深度假设。 然而,由于以这种方式没有考虑相邻像素的相关性,因此最终预测的深度图可能不太平滑。
为了克服这些限制,有必要通过深度假设生成模块提供更有效的深度假设。 之前的一些工作通过假设位于同一表面上的像素的深度是一致的来传播深度信息。 然而,来自同一物理平面的像素并不都具有相同的深度值。 相反,这些像素的法线在 3D 空间中是一致的。 因此,我们提出 DHNC 模块来利用自适应邻居的法线来获得更准确的深度假设。
DHNC 模块的流程由两个分支组成,如下图 (a)所示。 在第一个分支中,我们在整个深度范围内生成深度范围假设。 给定像素
p
p
p 处的先前深度预测
D
k
−
1
D_{k−1}
Dk−1,我们基于不确定性估计置信度动态调整深度范围
R
k
R_{k}
Rk。 阶段
k
k
k 在像素
p
p
p 处的范围
R
k
R_{k}
Rk 计算如下:
R
k
r
=
[
D
k
−
1
−
λ
U
k
−
1
,
D
k
−
1
+
λ
U
k
−
1
]
,
R_{k}^{r} = [D_{k−1} − λU_{k−1}, D_{k−1} + λU_{k−1}],
Rkr=[Dk−1−λUk−1,Dk−1+λUk−1],
其中
λ
λ
λ 是标量区间参数,
U
k
−
1
U_{k−1}
Uk−1 是关于前一阶段的预测深度
D
k
−
1
D_{k−1}
Dk−1 的不确定值,该值是从概率体积中学习的。然后,我们通过在范围内均匀采样来计算深度假设层。
在第二个分支中,我们根据相邻像素的法线找到深度法线假设。 为了收集参考图像中像素
p
p
p 的
M
k
n
M_{k}^{n}
Mkn 深度法线假设,我们首先使用深度值和相机参数计算其相邻像素的法线。 然而,静态采样邻居集会导致无效的深度假设,因为预先预测的深度在某些区域可能不准确,特别是对于无纹理区域,并且一些邻居可能跨越了边界。 因此,我们基于可变形卷积自适应地传播相邻采样位置,与 PatchmatchNet 类似,使我们能够有效地收集更合适的假设,其中也包括无纹理区域。
对每个像素,先定义静态的邻居,然后学习一个偏置量。其次,给定ref image的深度图,我们根据参考相机内参从参考像素的 2D 位置计算参考像素的 3D 坐标。 然后,我们按照[43]制定 3D 空间中像素法线的推论。 像素
p
j
p_{j}
pj 的法线
n
n
n 可以以封闭形式估计为:
其中A是像素坐标,1是全为1的向量。请注意,给定深度图的表面法线计算是一种固定权重方法,不需要可学习的参数。
此外,我们根据其自适应邻居
p
j
p_{j}
pj 的表面法线来计算像素
p
p
p 的深度法线假设,如图 4 所示。3D 坐标和邻居像素
p
j
p_{j}
pj 的法线形成切平面,我们将像素
p
p
p 的3D点投影到这些切平面并获得新的 3D 点
p
′
j
p′_{j}
p′j 如下:
最后,我们使用投影点
{
p
′
j
}
\{p′_{j}\}
{p′j}和参考相机本征矩阵来计算深度法线假设。
C. Coarse-to-Fine Depth Propagation
D. Depth Refinement With Reliable Attention
E. Loss Function
4 Point-cloud Reconstruction
介绍了深度图filtering和fusion两个步骤。
5 Experiments
在不同baseline上验证了两个模块的作用,分数上也很接近SOTA。
6 Conclusion
总结了一下贡献。