Page 290 - 《软件学报》2025年第4期
P. 290
1696 软件学报 2025 年第 36 卷第 4 期
运行, 缺乏上下文几何知识. 为此, SurfaceNet 建立了彩色体素立方体 (colored voxel cube, CVC), 通过编码表示相
机参数与体素. SurfaceNet 的思想主要是通过学习光度一致性和表面结构的几何关系, 从三维体素空间推断重构
出二维表面. 用三维体素表示隐式编码摄像机参数. 将体素投影到每个视图的图像上, 转换为 RGB 值来表示彩色
y
值的三维彩色体素, 将两个不同视角的彩色体素立方体 I C 和 I C 经过多组卷积层 l 聚合到输出层 , 从而推断出体
V i V j
素表面的概率. 最后, 通过二值化和细化的后处理操作, 将概率转换成表面体素, 以完成完整的重建. SurfaceNet 网
络结构如图 3 所示 [14] .
C
I V j
l 1 l 2 l 3 l 4
C
I V i
(1, s, s, s)
p x ∈(0, 1)
s 1 s 2 s 3 s 4
i x ∈ 3
(3, s, s, s)
l 5 y
图 3 SurfaceNet 网络结构 [14]
高的分辨率意味着需要消耗大量的计算时间. 此外, 根据最近的
此后, 考虑到卷积神经网络和带有射线势的马尔可夫随机场 (Markov random field, MRF) 的优势, Paschalidou
等人提出了 RayNet [21] . 该网络利用 CNN 学习视图的不变特征, 通过 MRF 对透视投影编码并处理遮挡的问题. 但
是, 仍然存在无法在大型场景中捕捉细节问题. 在 SurfaceNet 的基础上, Ji 等人提出了 SurfaceNet+ [22] , 解决了
SurfaceNet 中视图选择复杂和模型存在大孔洞等问题. 使用可训练的视图选择方式对预测的粗糙曲面进行几何验
证, 逐步迭代细化曲面. SurfaceNet+最终预测出不同视图下的子体素在曲面上的概率, 其网络结构表示如图 4
所示 [22] .
(3, s, s, s) (32, s, s, s) (16, s, s, s) (100, s, s, s) (16, s, s, s) (16, s, s, s)
s s s s s s s s s
2 2
8 8
2 2
(80, , , ) 2 (32, , , ) 2 s s s (32, , , ) 8 (1, s, s, s)
s s s
(160, , , ) (300, , , ) (64, , , ) 4
s s s
4 4
4 4 4 8 8 8
(3, s, s, s)
Initial prediction Refined prediction
图 4 SurfaceNet+网络结构 [22]
2.2 基于深度图的方法
尽管基于体素的算法可以实现重建三维模型, 但使用体素表示三维模型的方式会占有大量内存. 一旦需要提
高精度, 会增加大量的运算时间. 因此, 无法扩展到更多样化和更大规模的场景中. 在应用过程中, 高精度模型和更
MVS 数据集评价 [23] , 基于深度图的算法重建精度
优于基于体素的算法. 因此, 研究基于深度图的多视图立体视觉方法具有重要意义. 基于深度图的多视图立体视觉
架构一般包括特征提取、构造代价体、深度图计算和优化模块等, 并在后处理步骤中通过深度图融合完成稠密重
建. 根据不同的学习策略, 本文将基于深度图的算法分为监督学习和无监督学习.
2.2.1 监督学习
虽然 SurfaceNet 开创了端到端训练, 但是受到内存消耗的限制, 无法适应大规模重建. 因此没有被广泛应用.
MVSNet [15] 是由 Yao 等人在 2018 年提出的. 它解决了基于体素的 SurfaceNet 和 LSM 只能用于小规模重建的问题.
将直接计算整个场景转化为先根据每个视图生成深度图再进行深度图融合的两阶段方法. MVSNet 开创了基于深