行业背景与传统多视角立体重建 (MVS)
一、什么是多视角立体重建(MVS)?
多视角立体重建(Multi-View Stereo, MVS)就是:
👉 用多张从不同角度拍的照片,来推测出场景的三维形状。
你可以把它理解为一种“让计算机根据照片复原3D世界”的技术。
比如:
- 你围着一座雕像拍了一圈照片;
- MVS 就能根据这些照片计算出每个位置的深度(距离相机的远近);
- 最终生成一个可以在电脑中旋转、放大的 三维模型。
二、为什么 MVS 很重要?
MVS 是很多热门技术的“幕后功臣”:
与 激光雷达 或 深度相机 不同,MVS 只用普通摄像头:
- 成本低;
- 部署方便;
- 分辨率高;
因此在很多设备(比如无人机、手机)上非常受欢迎。
三、传统 MVS 的三种主流思路
传统 MVS 在进入“深度学习时代”之前,主要有三类经典方法:
1️⃣ 体素法(Volumetric)
思想: 把整个空间切成一个个小立方体(体素 voxel),然后判断每个体素是“实心”还是“空的”。
就像医生用 CT 扫描身体一样。
优点:
缺点:
- 计算和存储都很大;
- 只能处理小范围场景,比如一个物体,而不是整栋建筑。
2️⃣ 点云法(Point Cloud)
思想:
从稀疏的关键点开始(比如SfM得到的点),再逐步往周围“补点”,让模型更稠密。
代表算法是 PMVS (Patch-based MVS)。
优点:
缺点:
- 很难并行加速;
- 对“无纹理”区域(例如白墙)不稳定;
- 对大规模场景效率低。
3️⃣ 深度图法(Depth Map)
思想:
为每张照片都估计一个“深度图”(每个像素距离相机的远近),
再把多张深度图融合成一个完整的3D点云或网格模型。
关键点:
- 计算时要比较参考图像和其他视角的亮度一致性(即“光度一致性”原则);
- 常用算法:Plane Sweeping(逐平面扫描)和 PatchMatch Stereo(逐像素优化)。
优点:
- 模块化(可并行、多相机扩展容易);
- 工业界常用,如 COLMAP 工具就是这种方式。
四、传统 MVS 面临的困难
虽然传统方法在“理想条件”下(光照均匀、表面不反光)表现很好,但现实中常遇到棘手问题:
传统方法依赖 人工设计的匹配度量(如 NCC、SGM),并不智能,
无法像人一样理解“这两个区域虽然亮度不同,但其实是同一个物体”。
这就导致在复杂环境中:
五、发展趋势
这些挑战促使研究者们转向更智能的方式:
👉 用深度学习来学习“匹配”和“深度估计”规律。
例如利用卷积神经网络(CNN)或 Transformer,从大量数据中学习如何更准确地估计深度,从而让 MVS 更稳健、更通用。
这类方法统称为 学习式 MVS(Learning-based MVS),也是当前研究热点(比如 MVSNet、CasMVSNet、MVDepthNet 等)。
深度学习引入 MVS 的历史与发展路线
1️⃣ 背景:深度学习登场,MVS 迎来新突破
在 2017 年前后,深度学习在图像识别、目标检测等二维视觉任务上大获成功。
于是,研究者开始思考:
“既然神经网络能理解2D图像,它能不能也学会从多张图像中推理出3D结构呢?”
这便开启了 深度学习版 MVS(Learning-based MVS) 的时代。
目标是让网络自己学习到如何匹配不同视角的图像,从而在复杂场景下也能稳健地恢复深度。
2️⃣ 第一阶段:初探(2017-2018)——让网络“直接学3D”
最早的尝试包括:
- SurfaceNet (ICCV 2017):
第一次用 3D 卷积神经网络 来直接预测三维体素(即空间中一个个小方块是“空”还是“实”)。
这相当于让网络在三维空间中思考“哪里是物体”,而不是仅在图像平面上工作。
问题在于:3D 卷积需要的显存非常大,只能重建很小的物体。
- Luo 等人的学习匹配网络(2018):
他们没有直接生成3D,而是让网络学会“匹配两张图像的像素是否对应同一点”。
这相当于替代传统算法中的人工相似度计算方式(如 NCC),为后续的深度学习 MVS 奠定基础。
这些早期方法证明了“神经网络可以学会立体重建”,
但还没有在精度和速度上真正超过传统方法。
3️⃣ 第二阶段:MVSNet(2018)——真正的里程碑
2018 年,香港科技大学的 Yao Yao 等人提出 MVSNet,
这可以说是深度学习 MVS 的“划时代作品”。
MVSNet 的创新在于:
- 不再直接在3D空间卷积,而是:
- 对每张图提取2D特征;
- 根据不同深度假设,将源图像特征“投影”到参考视角(称为可微单应变换);
- 构建一个三维“成本体”(Cost Volume),表示在不同深度下的匹配代价;
- 用3D CNN对成本体进行正则化;
- 输出每个像素的深度概率分布,计算出最终深度图。
MVSNet 的关键思想是:
“把几张图像的信息融合在一起,用3D卷积网络自动学出最可能的深度。”
它引入了“方差聚合”的机制,使得网络能灵活处理任意数量的输入视角。
结果非常惊艳——
- 在 DTU 数据集 上首次全面超越传统方法;
- 在 Tanks and Temples(2018) 基准上拿下第一;
- 甚至在室外场景上无需微调就有很好的泛化性。
从此,MVS 正式进入 “深度学习时代”。
4️⃣ 第三阶段:优化与扩展(2019–2020)
MVSNet 的思路强大,但也有问题:
于是,研究者们从三个方向展开改进:
💡 (1) 内存优化:R-MVSNet 系列
代表:R-MVSNet (CVPR 2019)
它不再一次性处理整个三维成本体,而是“按深度一层层扫描”。
- 用 卷积循环网络(GRU) 代替3D卷积;
- 每次处理一层深度切片,逐步累积信息。
这样显著节省了显存,可以处理更大场景。
虽然速度稍慢,但更节省内存、可扩展性强。
后续的 HC-RMVSNet、AA-RMVSNet 又进一步提升了特征聚合的自适应性。
💡 (2) 粗到细的级联策略:CasMVSNet 系列
代表:CasMVSNet (CVPR 2019)
它提出了“先粗后细”的金字塔结构:
- 先在低分辨率上估计大概深度;
- 再逐层细化、缩小搜索范围;
- 每层用更高分辨率的图像、更小范围的深度搜索。
这种分阶段策略:
- 大幅减少了计算量;
- 在精度不降的情况下提升了速度;
- 还能输出更清晰的高分辨率深度图。
之后的 UCS-Net(加了不确定度估计)
和 CVP-MVSNet(优化了采样策略)
都进一步提升了效率与精度。
例如 CVP-MVSNet 比原版 MVSNet 快约 6 倍!
💡 (3) 迭代细化:PatchMatchNet 系列
代表:PatchmatchNet (CVPR 2021)
灵感来自传统的 PatchMatch 算法。
它不是一次性构建巨大的成本体,而是:
- 先随机初始化一个粗略深度图;
- 然后多次迭代,每次根据邻域信息更新深度;
- 网络在迭代中学习如何选择更优的深度候选。
优点:
- 不需要3D卷积;
- 显存占用低;
- 速度快(比同类方法快约2.5倍);
- 重建精度依旧与SOTA持平。
PatchmatchNet 证明了:
“把传统的随机优化思想融入深度网络,既能高效又能精准。”
5️⃣ 第四阶段:多元融合与新方向
在上述主流框架之外,还有许多细节方向的进步:
- 特征提取改进:
使用可变形卷积、引入法线/曲率特征,让网络能更好地适应不同纹理和材质。
- 隐式场表示:
一些研究回到体素/隐式建模思路,用神经网络表示连续的三维场景,
如 NeRF、NeuS 等,把重建转化为体渲染问题(后文会介绍)。
经典与最新 MVS 深度学习模型
本节按时间顺序介绍具有代表性的经典模型和最新的SOTA(State-of-the-Art)模型,包括每个模型的基本思想、结构特点和创新点。通过这些模型的演进,可以清晰看到深度学习 MVS 领域的发展脉络。
3.1 MVSNet:深度学习版多视角重建的里程碑
🧠 核心思想:让网络自己学会“从多张图看出3D深度”
在 2018 年之前,多视角立体重建(MVS)主要靠人工设计的匹配规则来估计深度。
MVSNet (香港科技大学 Yao Yao 等,ECCV 2018)第一次让神经网络端到端地学会整个过程。
简单来说,它做的事是:
“把多张照片输入神经网络,网络自己在内部模拟人类看3D的过程,最后直接输出深度图。”
整个流程可以理解为三步:
1️⃣ 提取特征
- 网络先用一个 2D 卷积神经网络(8 层 CNN)从每张图像中提取“语义特征”,
这些特征包含了比像素更高层次的信息(例如纹理、边界、阴影等)。
2️⃣ 对齐并构建成本体(Cost Volume)
- 对参考图像的每个像素,网络会假设多个可能的“深度平面”;
- 然后根据相机的姿态参数,把其他视角的图像特征按照这些假设深度投影回参考图中;
- 如果假设的深度正确,那么多个视角的特征会对齐且相似,否则就会错位。
于是,MVSNet 把所有假设的深度层堆叠起来,形成一个 3D 体积(Cost Volume),
其中每个体素存储着这个像素在某个深度下的“匹配代价”。
👉 可以理解为:网络在三维空间里为每个像素“扫描”出一条深度曲线。
3️⃣ 学习匹配 + 输出深度
- 接着,一个 3D U-Net 网络会在这个成本体上做卷积,学习出哪些深度假设更可信;
- 它输出每个像素在不同深度下的匹配概率分布;
- 最后通过 Softmax 加权平均(soft argmax),得到一个连续的、次像素级别精度的深度值;
- 最终再用参考图的细节特征进行一次微调,生成平滑且精确的深度图。
💡 结构与创新点:传统算法的“神经化”
MVSNet 最大的突破,是把传统 MVS 中的核心步骤——“多视图匹配 + 深度优化”——
整个都变成了一个可微分的神经网络流程。
具体来说有两点关键创新:
① 可微的多视图成本体
传统 MVS 中的 Plane Sweeping 算法,需要人为设定深度层、计算匹配误差。
而 MVSNet 把这个过程放进了网络里,用可微分的单应变换(Differentiable Homography)实现。
这意味着网络可以通过反向传播自动学习如何聚合不同视角信息,不再依赖人工匹配规则。
② 方差聚合机制(Variance-based Aggregation)
MVSNet 没有用复杂的注意力或相似度函数,而是直接计算各视角特征的逐像素方差:
- 如果多个视角的特征很接近,说明匹配良好 → 方差小;
- 如果差异大,说明可能匹配错误 → 方差大。
这种简单的统计方式让网络天然具备处理任意数量输入视图的能力——
无论你给 3 张图还是 10 张图,它都能灵活地融合。
🚀 性能与影响:从科研范式到新基准
发布时,MVSNet 取得了压倒性成绩:
更惊人的是,它在 Tanks and Temples 上没有做任何室外微调,
依然能保持高精度,说明模型的泛化能力非常强。
在速度上,得益于端到端训练和 GPU 加速,
重建一张深度图只需几秒——相比传统方法动辄几分钟,效率提升了数十倍。
✅ 总结
MVSNet 的出现,标志着从“人写规则”到“网络自学匹配”的时代转变。
它的创新不仅让深度学习成功接管 MVS 任务,也成为此后所有学习型 MVS 方法的基础框架。
后续的 R-MVSNet、CasMVSNet、PatchmatchNet 等,
都是在 MVSNet 的思想之上不断优化、扩展出来的。
3.2 R-MVSNet:用“记忆网络”解决内存瓶颈
🧠 核心思想:把三维问题变成“逐层记忆”的二维问题
MVSNet 虽然强大,但有一个现实问题:
它太“吃内存”了。
原因是——MVSNet 需要一次性在 GPU 中存下一个三维“成本体”(Cost Volume),
体积大小是 W × H × D(宽 × 高 × 深度层数)。
当图像分辨率或深度范围一大,这个体积就会爆炸式增长,
导致显存不够、速度变慢,甚至无法训练。
于是,2019 年的 R-MVSNet(Recurrent MVSNet) 想出了一个聪明的办法:
“既然3D成本体太大,那我就一层一层处理,把它当作时间序列来读。”
也就是说,它不再一次性处理整个三维空间,
而是把深度维度切成许多二维“切片”,像翻书一样逐页扫描。
⚙️ 工作原理:沿深度方向“循环记忆”
可以把 R-MVSNet 的工作过程类比成一个“有记忆的扫描仪”:
1️⃣ 输入序列化
- 把 MVSNet 生成的三维成本体看作是一叠二维平面(每一层对应一个深度假设)。
- 网络不再一次性处理全部体积,而是顺序地读取每一层。
2️⃣ 卷积 GRU 正则化
- 对每一层平面,R-MVSNet 使用一个 卷积 GRU(门控循环单元) 处理:
- 当前层的匹配代价作为输入;
- 前一层的“隐藏状态”作为记忆;
- GRU 融合二者信息,输出更新后的状态。
- 这样,GRU 在深度维度上逐层传播记忆,
相当于网络在“沿着深度方向扫过整个体积”,
不断整合新的深度信息。
3️⃣ 输出深度估计
- 当 GRU 扫完整个深度范围后,
最后的隐藏状态就包含了整个深度序列的全局信息;
- 网络再用 softmax 在深度维上回归出最可能的深度值。
简而言之:
R-MVSNet 把庞大的三维卷积问题,变成了一个二维+记忆的过程,
在节省内存的同时,保留了深度方向的信息流。
💡 结构与创新:用“循环神经网络”替代 3D 卷积
R-MVSNet 的关键创新是——
用序列模型(RNN / GRU)代替三维卷积网络。
这种方法让网络:
- 在同样的显存下,可以处理 3–4倍更多的深度层数;
- 支持 更高分辨率图像;
- 而且因为 GRU 会“记住”前面层的信息,它还能自适应地聚焦在关键表面区域。
此外,循环的平滑特性使得输出的深度概率分布更自然、连续,
能减轻 MVSNet 输出中常见的“台阶效应”(step artifact)。
🚀 性能与效果:精度不降,适用范围更广
在实验中,R-MVSNet 表现出非常均衡的性能:
得益于更大的深度范围,R-MVSNet 在 远距离结构(如建筑、街景) 上重建得更完整;
同时保持了高精度和鲁棒性。
唯一的不足是:
- 由于 GRU 需要顺序处理每一层,无法像 3D 卷积那样完全并行;
- 所以推理速度比 MVSNet 稍慢一些。
不过,这种牺牲换来的是更低的显存占用和更强的扩展性,
使得学习型 MVS 可以第一次真正应用到大规模、高分辨率的实际场景中。
✅ 小结:从“大而全”到“聪明高效”
可以把 MVSNet 和 R-MVSNet 的关系理解为:
- MVSNet:高性能的“大块头”——全局卷积、端到端、显存消耗大;
- R-MVSNet:聪明的“节能型选手”——按层处理、记忆传递、节省显存。
R-MVSNet 的出现,
让学习型 MVS 从“实验室里的小模型”真正走向了“可应用的大场景”,
成为后来 CasMVSNet、AA-RMVSNet、PatchmatchNet 等高效架构的启发来源。
3.3 CasMVSNet:逐级细化的金字塔式重建框架
🧠 核心思想:让网络“先看大概,再看细节”
在 MVSNet 和 R-MVSNet 之后,研究者发现:
如果直接在高分辨率图像和大深度范围上构建三维成本体,网络不仅慢,还极其耗显存。
于是,2019 年的 CasMVSNet(Cascade MVSNet) 提出了一个非常符合人类直觉的解决思路:
“不要一开始就追求完美,先粗略估计,再逐步细化。”
这种方法被称为 “粗到细(Coarse-to-Fine)级联多尺度框架”。
简单理解:网络像人一样,先用低清图看看整体形状,再逐步放大、聚焦细节,最后得到高精度结果。
⚙️ 工作流程:三步走的金字塔式推断
CasMVSNet 把深度估计拆成多个阶段(一般是三层金字塔),每一级的输入分辨率和深度采样密度不同:
在每一级:
1️⃣ 网络使用与 MVSNet 类似的流程(特征提取 → 构建成本体 → 3D CNN 正则化);
2️⃣ 但深度采样的中心和范围由上一级结果决定。
举个例子:
假设上一级预测某像素的深度是 D(x),
那么下一级只在 D(x) 附近 ±Δ 的小范围内重新采样若干深度层。
这样,成本体的深度维度会大大缩小。
此外,CasMVSNet 还在不同层级之间通过多级单应变换精确对齐投影,
保证细化阶段的几何一致性——每一层都围绕真实深度进行优化,不会偏离。
💡 结构与创新:分阶段估计 + 自适应采样
CasMVSNet 的创新体现在以下几个方面:
① 级联式多尺度估计(Cascade Framework)
通过“粗到细”的结构,CasMVSNet 不再一次性处理全部深度假设。
这种层层细化的策略,既降低了计算量,又能在每一级获得更准确的深度先验。
网络越往后看,搜索范围越窄,分辨率越高,预测越精准。
② 自适应深度采样(Adaptive Depth Sampling)
传统 MVSNet 在整个场景上均匀采样深度,浪费了大量无关计算。
CasMVSNet 让每个像素的深度采样以上一级的结果为中心动态调整,
大幅提高了采样效率——计算资源集中在“可能正确”的深度范围。
③ 几何一致性与多级单应性(Multi-Scale Warping)
每一级的单应性变换都会根据上一级的残差深度重新计算,
保证在不同分辨率下对齐同一真实表面位置,
从而加快网络收敛、减少误差累积。
🚀 性能表现:更快、更准、更省
由于每一级都在更小的范围内工作,CasMVSNet 的成本体体积显著减少,
整体计算量也大幅下降。
在复杂场景(如城市街区、建筑外立面)中,
CasMVSNet 能同时保持高完整性和精细度,
在 2019 年的基准评测中达到了当时的最高水平。
同时,因为网络参数量较小、显存占用低,
CasMVSNet 也成为后续在移动端或嵌入式平台上部署 MVS 的理想基础。
✅ 小结:让 MVS 变得“聪明且高效”
CasMVSNet 代表了学习型 MVS 从“重”到“轻”的一次关键转折。
- MVSNet:一次性估计,全面但耗资源;
- R-MVSNet:节省内存,逐层记忆;
- CasMVSNet:聪明细化,分层推理。
它的 “粗到细、多尺度、级联” 思想后来被广泛借鉴:
如 UCS-Net 引入不确定度自适应采样、
CVP-MVSNet 利用金字塔代价结构进一步提速、
PatchmatchNet 甚至结合随机传播实现端到端高效估计。
CasMVSNet 的成功证明了——
在 MVS 中,“逐步逼近”往往比“一口吃掉”更高效、更准确。
3.4 PatchmatchNet:融合传统智慧与深度学习的高效重建策略
🧠 核心思想:让网络学会“随机试探 + 聪明传播”
在深度学习 MVS 的发展中,PatchmatchNet(2021) 是一个非常特别的存在。
它不是单纯地“更深、更大”,而是让深度学习和经典算法合作——
把传统的 PatchMatch 优化策略融入神经网络中。
先简单回顾一下传统 PatchMatch 的核心逻辑:
- 随机给每个像素一个深度初始值;
- 然后反复“试探”——让每个像素借鉴邻居的深度候选,并结合随机偏移生成新候选;
- 对所有候选计算匹配代价,选出最好的作为更新结果。
通过不断迭代传播与评估,PatchMatch 能在很短时间内找到较好的深度分布。
它的优点是快、轻、不依赖大内存,因此在经典 MVS 系统(如 ACMM、Gipuma)中广泛应用。
而 PatchmatchNet 想做的是——
“让神经网络学会 PatchMatch 的精髓,但比人手写的算法更聪明、更稳健。”
⚙️ 工作机制:多尺度、迭代式的学习优化
PatchmatchNet 的整体框架由三个级联模块组成,对应“粗、中、细”三个尺度(类似 CasMVSNet 的多层结构)。
每个模块内部执行多次迭代,每次迭代包含三个关键步骤:
1️⃣ 随机初始化
- 在当前尺度下,为每个像素随机分配一个深度假设(粗级可以用平均视差或随机值)。
- 这一部分不需要学习,保持 PatchMatch 原有的随机探索特性。
2️⃣ 传播(Propagation)
- 每个像素从邻居像素那里“借”深度候选;
- 并随机扰动一部分候选值,以便跳出局部最优;
- 传播的方向和范围不是固定的,而是由网络根据图像内容动态决定。
3️⃣ 评估(Evaluation)
- 网络根据参考图像和源图像提取的特征,计算每个候选深度的匹配代价;
- 然后选择代价最低的候选作为新的深度估计;
- 这个过程会重复多次,直到收敛。
完成一个尺度的估计后,结果会上采样,作为下一级(更高分辨率)的初始化。
这样,网络逐级细化深度,直到输出最终高精度的深度图。
💡 结构与创新:把算法思维“神经化”
PatchmatchNet 的特别之处在于——它不是把 PatchMatch 当作外部算法调用,而是把它融入网络本身。
具体来说:
- 它把传统的迭代过程“展开”(unroll)成网络的层结构,让每一步传播与评估都在神经网络中完成;
- 传播(Propagation)和评估(Evaluation)的方式不再是手工规则,而是网络自适应学习的。
两大核心创新:
🔹 自适应传播(Adaptive Propagation, AP)
网络会根据图像的纹理和边界信息,学习每个像素的传播方向与范围。
- 在纹理丰富的区域,传播范围小,避免跨越物体边缘造成混淆;
- 在平滑无纹理区域,传播范围自动变大,便于收集更多上下文线索。
🔹 自适应评估(Adaptive Evaluation, AE)
网络会根据图像特征自适应地聚合多视角信息,决定哪些候选深度更可信。
这让模型能在光照变化、反光表面等复杂条件下依然稳健。
此外,PatchmatchNet 保留了级联的多尺度框架:
- 粗尺度快速获得大致形状;
- 细尺度专注细节;
- 全过程都不需要昂贵的 3D 卷积,极大节省了显存和算力。
🚀 性能与表现:轻量却强悍
PatchmatchNet 在效率和精度之间取得了惊人的平衡。
在速度上,它几乎是同代 3D CNN 模型的 2–3 倍:
- 每张 800×600 图像只需约 0.5 秒;
- 显存占用仅为传统学习型 MVS 的一半左右。
这意味着 PatchmatchNet 可以在高分辨率图像或低端 GPU 上流畅运行,
在效率、精度和可部署性之间找到了极佳平衡。
✅ 小结:传统算法 × 深度学习 = 1 + 1 > 2
PatchmatchNet 证明了一个重要观点:
传统优化算法和神经网络并不是对立的,而是可以融合、互补。
它用深度学习让 PatchMatch 变得“聪明”:
- 学习何时传播、如何传播;
- 学习如何评估匹配质量;
- 并在多尺度结构中自动收敛到高精度结果。
最终,PatchmatchNet 既继承了传统算法的高效与低资源优势,
又具备了深度学习的自适应与泛化能力,
成为学习型 MVS 向高性能、轻量化和实用化迈出的重要一步。
3.5 CVP-MVSNet:基于金字塔成本体的高效深度推断
🧠 核心思想:在“分层金字塔”上高效做三维推理
在 MVSNet、R-MVSNet 和 CasMVSNet 之后,研究者们已经掌握了深度学习版 MVS 的主线思路——
“多视图特征 → 成本体 → 3D 卷积正则化 → 深度图输出”。
但问题仍然存在:
- 成本体太大(尤其是高分辨率或大深度范围时),占用显存高、运算慢;
- 级联方法虽能缓解,但仍依赖经验设定每一级的采样密度与范围。
2020 年的 CVP-MVSNet(Cost Volume Pyramid MVSNet) 在这个基础上做了一个更“科学”的优化:
“与其一口气建个巨大的成本体,不如在金字塔结构中逐级构建、逐步修正,用理论指导采样密度。”
简而言之,它把多尺度重建的思路进一步系统化和量化——
从“经验分级”进化为“金字塔成本体(Cost Volume Pyramid)”的理论设计方案。
⚙️ 工作原理:逐层构建“残差深度金字塔”
CVP-MVSNet 延续 CasMVSNet 的多阶段思路,但采用一种更高效的残差策略。
整个过程可以想象成网络在金字塔上“从粗到细”地逐层修正误差:
1️⃣ 第一级(粗尺度)
- 使用较低分辨率的图像(如 1/4 大小),
- 对整个场景的深度范围进行均匀采样(假设 128 层深度),
- 构建初始成本体并预测粗略深度图。
2️⃣ 第二级(中尺度)
- 将上一层的预测结果上采样;
- 然后对每个像素,在其预测深度附近构建一个残差成本体,只在小范围内采样(如 ±Δ);
- 网络学习预测“深度修正量”,逐步提升精度。
3️⃣ 第三级(细尺度 / 全分辨率)
- 同样根据上一层的残差继续优化,
- 最终输出高精度、全分辨率的深度图。
这种分层修正的过程就像在粗糙的3D模型上逐步打磨细节:
每一层都不重新“造房子”,而是在已有的形状上微调、校正、细化。
因为每一级只需处理一个小范围的残差成本体,所以内存需求非常小、速度非常快。
💡 结构与创新:金字塔理论 + 权值共享
CVP-MVSNet 的创新体现在两方面:理论化 和 轻量化。
🔹 1. 成本体金字塔(Cost Volume Pyramid)
传统 MVSNet 系列靠经验设置深度采样,而 CVP-MVSNet 通过数学分析量化了不同分辨率下的采样需求:
- 在低分辨率时,只需稀疏的深度采样就能覆盖大尺度结构;
- 在高分辨率时,需更密集的采样才能捕获细微变化。
这种分辨率–深度采样关系的推导,使得模型能在有限计算下达到半像素级深度精度,
即每层深度估计都能细到亚像素级别。
结果是:
成本体更小,计算更快,但预测更准。
🔹 2. 权值共享(Weight Sharing)
为了进一步降低模型规模,CVP-MVSNet 在各层金字塔中采用同一套 3D 卷积参数:
- 不同层级共享相同的网络权值;
- 意味着网络学习到的规律能在不同分辨率间迁移;
- 既减少了参数量,也提升了模型的泛化能力。
这种设计相当于让模型“多次使用同一个脑子”去看不同尺度的场景。
🚀 性能与表现:轻量而精准的代表
得益于理论化的金字塔设计,CVP-MVSNet 兼顾了速度、内存和精度三者。
在保证精度接近 SOTA(State-of-the-Art)的同时,
CVP-MVSNet 把运行时间和内存消耗都压缩到了原来的几分之一。
这让它不再只是“研究模型”,而成为可以在实际系统中部署的高效重建方案。
例如,用在无人机三维测绘、AR 场景扫描、或机器人视觉中,都能以低功耗快速生成三维结构。
✅ 小结:效率与精度的最佳平衡点
可以这样看待 CVP-MVSNet 在学习型 MVS 发展中的地位:
CVP-MVSNet 的出现标志着:
学习型 MVS 已经从“能重建”走向“能高效、能落地”。
它用系统的金字塔原理取代了经验调参,
让 MVS 重建过程更加智能、轻量,并为后续如 UCS-Net、PatchmatchNet、MVSA 等模型提供了设计基石。
3.6 TransMVSNet:融合 Transformer 的全局上下文 MVS 网络
🧠 核心思想:让网络“看得更远、更全”
在 MVSNet、CasMVSNet、PatchmatchNet、CVP-MVSNet 等方法中,网络主要依赖 CNN 提取局部特征 来完成视图匹配。
但 CNN 的感受野有限,通常只能关注局部区域:
如果场景纹理单调(比如白墙、地面)或纹理重复(比如窗格、砖块),网络就难以判断哪个点才是真正的对应关系。
2022 年的 TransMVSNet 是第一个将 Transformer 注意力机制 引入多视图立体重建(MVS)的工作。
它的核心理念是:
“MVS 的本质是特征匹配,而匹配不仅是局部的,更需要全局上下文。”
于是,TransMVSNet 通过 Transformer,让网络具备了“全局视野”,
在匹配之前就已经理解了图像中不同位置、不同视角之间的关系,
从而在困难区域(无纹理、重复纹理)中也能更稳健地估计深度。
⚙️ 工作机制:Transformer 融合多视角特征
TransMVSNet 的整体流程依然保留 MVSNet 框架的主干(特征提取 → 成本体 → 正则化),
但在进入成本体之前,插入了一个关键模块:
特征匹配 Transformer(Feature Matching Transformer, FMT)。
整个管线可分为三步:
① CNN 提取初级特征
首先,参考图像和源图像分别经过一个轻量 CNN 提取二维特征图。
这些特征包含基本的纹理与结构信息,但主要是局部感知。
② FMT:Transformer 进行全局上下文增强
然后,TransMVSNet 将这些 CNN 特征送入 Feature Matching Transformer (FMT)。
FMT 包含两个注意力过程:
- 自注意力(Self-Attention):在单张图像内部捕获长距离依赖关系,
让每个像素能感知到全图上下文;
- 交叉注意力(Cross-Attention):在不同图像之间建立像素级关联,
让参考视图和源视图的对应点互相“交流信息”。
通过这种全局交互,网络学会了在匹配前“看清全局语义”,
相当于提前完成了一次“跨视角对齐”。
③ 成本体构建与正则化
增强后的特征被送入差分单应性变换模块,
在多个假设深度下对齐源图到参考图并计算匹配代价,
最终再通过 3D 卷积正则化生成深度概率体,
输出高精度的深度图。
💡 结构与创新
TransMVSNet 的创新体现在三方面:全局特征建模、平滑特征过渡、自适应代价构建。
🔹 1. 全局特征建模:Transformer 引入跨视角上下文
传统 MVS 方法在构建成本体前,各视角特征是独立提取的;
TransMVSNet 则在构建成本体之前,就通过 Transformer 建立了图像间的全局相关性。
因此,进入匹配阶段的特征已经携带了跨视角的上下文信息,
使得匹配代价在正确深度处更集中、在错误深度处更分散,
显著提高了区分度与鲁棒性。
🔹 2. 自适应感受野模块(Adaptive Receptive Field, ARF)
为避免 CNN 局部特征直接送入全局注意力空间时出现“尺度突变”,
TransMVSNet 设计了 ARF 模块。
它会根据图像复杂度动态调整感受野大小,
平滑地将卷积特征过渡到 Transformer 的全局特征空间。
这样网络既能保持局部细节,又能捕获长程依赖。
🔹 3. 匹配代价优化:特征相关性代替差值
TransMVSNet 在构建成本体时,不再简单使用特征差值 (difference) 作为匹配度,
而是采用 特征相关性 (correlation) 来衡量特征相似度,
这种方式对光照变化、尺度偏移更稳健。
此外,训练阶段引入 Focal Loss,
让网络更关注困难匹配样本(如遮挡、反光区域)。
通过这些创新,TransMVSNet 实现了 CNN 局部感知与 Transformer 全局感知的有机融合。
🚀 性能与表现:Transformer 在 MVS 中的突破首秀
TransMVSNet 在多个主流数据集上取得了显著的性能提升:
这些结果表明,全局注意力机制确实能够弥补 CNN 的局部局限,
在重复纹理、弱纹理、远距离区域等传统难题上表现更加稳定。
虽然 TransMVSNet 的模型规模较大、计算量略高,
但在高端 GPU 上依然能在合理时间内完成推理,
在性能与精度之间保持良好平衡。
其作者开源的代码也促进了后续研究的广泛复现与改进。
✅ 小结:从局部匹配到全局感知的飞跃
TransMVSNet 标志着学习型 MVS 从 局部匹配时代 → 全局理解时代 的重要转折。
TransMVSNet 的成功说明:
在 MVS 任务中,结合局部纹理与全局上下文是提升匹配质量的关键。
这一思想也为后续的 MVFormer、AttentionMVS、GeoMVSFormer 等工作奠定了方向,
推动了 “Transformer + MVS” 成为多视图重建研究的主流趋势。
3.7 MVSFormer:结合预训练视觉Transformer的鲁棒MVS
🧠 核心思想:让 MVS 拥有“大模型级”的视觉理解
在深度学习多视图立体重建(MVS)的早期阶段,网络通常使用从零开始训练的 CNN 特征提取器。
然而,这些 CNN 在有限的 MVS 数据上训练,往往缺乏对真实世界中复杂纹理、反光表面或新环境的理解。
MVSFormer(2022 年提出,2023 年完善) 则开创性地提出:
“不必重新训练视觉特征,让网络直接利用在大规模图像上预训练好的 Vision Transformer(ViT)。”
简单来说,MVSFormer 的思路是:
“借助预训练 Transformer 的全局视觉先验,让 MVS 不仅看清纹理,更能理解场景。”
通过引入 大规模预训练的视觉 Transformer(如 DINO、DINOv2、MAE、CLIP 等),
MVSFormer 获得了更强的图像理解与跨场景泛化能力,
在复杂环境下(如树木、玻璃、水面、重复纹理)依然能稳定估计深度。
⚙️ 工作机制:Transformer 特征 + 多尺度 MVS 管线
MVSFormer 保留了 MVSNet 系列的核心结构(特征提取 → 成本体构建 → 深度回归),
但在每个环节都融入了 Transformer 的“全局智慧”。
① 预训练 Transformer 作为特征提取器
- MVSFormer 以一个预训练好的 Vision Transformer (ViT) 替代传统 CNN。
- 常用的预训练模型包括 DINO / DINOv2 等自监督视觉 Transformer,它们在上亿张自然图像上训练过,
拥有丰富的语义与纹理先验。
- 输入图像被划分为若干 patch(图像块),ViT 编码这些块间的全局关系,输出强语义特征。
- 为兼顾多尺度感知,MVSFormer 在 ViT 输出后接入一个 特征金字塔网络 (FPN),
让网络同时感知大范围结构与细节纹理。
💡这样,网络获得的特征不仅包含边缘、颜色信息,还带有更高层的语义理解(例如“这是一堵墙”“那是一棵树”)。
② 基于 ViT 特征的成本体构建与深度优化
- 得到 Transformer 特征后,MVSFormer 按照传统流程构建成本体(Cost Volume)。
- 不同之处在于:这些特征的全局一致性更强,因此在光照变化或重复纹理场景下匹配更可靠。
- 为提升深度估计的稳定性,MVSFormer 引入 温度参数 (Temperature-based Depth) 来调节深度分布的锐度,
使得预测更平滑、收敛更快。
③ Transformer 融入 3D 正则化
除了前端特征提取,部分 MVSFormer 变体还在 3D 成本体上使用 Transformer:
- 在 3D cost volume 内 建立体素级的注意力机制,以替代部分 3D 卷积;
- 或使用 侧视图注意力(Side-View Attention),加强多视角间的上下文融合。
通过这些改进,网络在遮挡、反光或光照不均的场景中表现更稳定。
💡 结构与创新:从“任务专用”到“通用表征”
MVSFormer 的最大创新在于:
把 MVS 从“小数据任务”提升为“可利用大模型知识的通用视觉任务”。
具体体现在两个层面:
🔹 1. 预训练融合:把 ViT 知识迁移到 MVS
- ViT 在大规模图像数据上学到的“世界先验”被迁移到 MVS。
- 这样网络不再依赖少量带真值的 3D 数据,也能具备较强的语义感知能力。
- 在陌生场景中,MVSFormer 仍能输出稳定的深度估计,显著提升泛化性。
🔹 2. Transformer 全流程参与:从 2D 到 3D
- MVSFormer 不仅在前端用 ViT,还探索在 3D 成本体阶段引入 Transformer:
- 通过注意力机制学习体素间的全局依赖;
- 替代传统的 3D CNN 卷积堆叠,提高信息流通效率;
- 结合“侧视图注意力”实现跨视角特征融合。
- 后续的 MVSFormer++(ICLR 2024) 进一步细化了这种融合:
- 使用 DINOv2 作为更强的预训练模型;
- 为特征提取与成本体正则化分别设计不同注意力结构;
- 研究归一化位置编码与注意力缩放策略,进一步提升性能与收敛速度。
这些改进让 MVSFormer++ 成为 Transformer–MVS 融合的系统化代表。
🚀 性能与表现:预训练带来的“质变”
MVSFormer 系列模型在多个基准上刷新记录:
在效率上,虽然 Transformer 带来额外计算,
但通过模块化实现与 GPU 并行,整体推理时间仍处于可接受范围(通常数秒级)。
✅ 小结:MVS 进入“预训练 + Transformer”新纪元
MVSFormer 系列的出现,标志着学习型 MVS 从“任务特化”迈向“通用视觉”的新时代。
MVSFormer 的意义在于:
它把“会重建三维”提升到了“懂世界再重建三维”。
预训练视觉 Transformer 的引入,让 MVS 网络能从更丰富的语义信息中进行推理,
在极端环境(反光、重复纹理、稀疏纹理)中依然稳定表现。
这一方向也为未来的 MVS 大模型(MVSA 系列、NeRF-MVS 融合等) 奠定了基础,
成为从“几何驱动”走向“语义驱动”三维重建的重要里程碑。
3.8 MVSNeRF:将 MVS 融入神经辐射场重建
🧠 核心思想:让 NeRF 拥有 MVS 的几何直觉
2020 年的 NeRF(Neural Radiance Fields) 通过一个隐式函数学习“空间点的颜色与密度”,在新视图合成上取得了突破。它可以从若干张照片生成任意视角的逼真图像。但 NeRF 也有两大明显缺陷:
- 每个场景都要重新训练数小时甚至数十小时;
- 缺乏显式几何感知——它只优化渲染结果,而非场景结构本身。
MVSNeRF(ICCV 2021) 正是为了解决这两个问题。
它提出了一个创新思路:
“用 MVS(多视图立体)的方法提供显式几何先验,再用 NeRF 的隐式表示实现快速渲染。”
换句话说,MVSNeRF 把 NeRF 的“光场建模能力”与 MVS 的“几何理解能力”结合起来,
实现了通用化的神经辐射场重建——无需每个场景都重新优化,就能快速生成高质量三维表示。
⚙️ 工作机制:从几何编码体到隐式渲染
MVSNeRF 的整体流程分为两个阶段,可理解为:
“MVS 负责理解几何,NeRF 负责生成影像。”
① 几何编码体构建:MVS 提供结构线索
- 首先,网络从参考图像和若干源图像中提取 CNN 特征。
- 然后,采用类似 MVSNet 的 plane sweep(平面扫描)技术,
在一系列假设深度上将源图像特征投影到参考视图下,
累积形成一个三维 成本体 (cost volume)。
- 与传统 MVS 不同,MVSNeRF 并不直接回归深度图,
而是用一个 3D CNN 将成本体转化为一个 神经特征体 (neural encoding volume)。
这个体素级特征体相当于一个三维“记忆库”,
每个体素都编码了场景在该空间位置的颜色、形状和几何一致性信息。
② 辐射场渲染:NeRF 负责生成视图
在有了神经特征体之后,MVSNeRF 不再直接预测深度,
而是把它当作 隐式场的一种实现:
- 对于任意视角的光线,MVSNeRF 沿着射线从神经特征体中
双线性插值采样出一系列体素特征;
- 将这些特征输入一个小型 MLP(多层感知机),
输出每个采样点的体密度与颜色;
- 最后使用 NeRF 的 体渲染积分公式 对这些点进行加权融合,
渲染出对应视角的图像。
由于神经特征体中已经蕴含了通过 MVS 计算得到的多视图几何约束,
MVSNeRF 即使只输入 3 张图像,
也能生成几乎一致的场景结构和逼真的新视图。
💡 结构与创新:几何显式化 + 隐式表示
MVSNeRF 的最大亮点在于:
它实现了“显式几何”与“隐式渲染”的有机融合。
🔹 1. 显式几何先验
传统 NeRF 需要大量视图来隐式学习几何,而 MVSNeRF 借助 plane-sweep 得到清晰的几何结构,
相当于在网络内部提前构建了“粗三维模型”,
因此在视图稀疏或纹理不明显时仍能稳健工作。
🔹 2. 泛化式训练(Generalizable NeRF)
MVSNeRF 并非像经典 NeRF 那样“每个场景重新优化”,
而是采用大规模数据集(如 DTU、BlendedMVS)预训练一次,
训练好的模型可直接泛化到新场景。
这样,重建一个新场景不再需要数小时优化,只需一次前向推理即可。
🔹 3. 快速微调机制
当提供更多视图时,MVSNeRF 也可以在短时间内(几分钟)进行微调,
进一步提升渲染质量——远快于从零训练的 NeRF。
因此,它在效率和灵活性之间取得了极佳平衡。
🚀 性能与表现:三维理解 + 新视图渲染兼得
在多个公开数据集上,MVSNeRF 展示了令人印象深刻的结果:
这些结果表明,MVSNeRF 成功地将 NeRF 的渲染能力与 MVS 的几何精度结合在一起,
开创了“几何驱动的神经辐射场”方向。
✅ 小结:连接 MVS 与隐式表示的桥梁
在学习式 MVS 的发展脉络中,MVSNeRF 扮演了承上启下的重要角色:
MVSNeRF 的意义在于:
它让“几何理解”与“神经渲染”不再对立,而成为同一个统一框架下的互补能力。
这一方向也启发了后续的许多研究:
- 一类工作在 NeRF 中加入 MVS 模块来辅助几何学习(如 GeoNeRF、Depth-supervised NeRF);
- 另一类工作则将 NeRF 思想反向引入 MVS,用渲染损失或隐式体积监督深度预测(如 NeuMVS、RenderMVS)。
因此,MVSNeRF 不仅是技术融合的成果,更是连接 传统三维重建 与 神经隐式场 的里程碑式工作。
3.9 MVSAnywhere:通用零样本多视角立体
🧠 核心思想:让 MVS “在任何地方都能工作”
在过去的研究中,多视图立体(MVS)网络常常只能在特定数据域内表现良好。
例如:
- 在室内数据(如 DTU、ScanNet)上训练的模型,换到室外无人机航拍时会彻底失效;
- 在户外大尺度场景上表现好的模型,放到狭小的室内空间时又难以估计出准确深度。
这种 域依赖性(domain dependence) 成为学习型 MVS 向通用化发展的最大障碍。
MVSAnywhere(Niantic Labs 等,2025) 便是为了解决这一问题提出的突破性模型。
顾名思义,它的目标是:
“无论在哪里、无论输入多少张图像,都能稳健地估计深度。”
换句话说,MVSAnywhere 追求的是一种 通用目的 (general-purpose) 的 MVS 模型,
既能在室内、室外、航拍、街景等场景下“零样本(zero-shot)”泛化,
又能灵活应对输入视图数量、深度范围和尺度单位的变化。
⚙️ 网络结构:单目与多视图融合的通用 MVS 框架
MVSAnywhere 的整体结构可分为四个核心模块:
混合特征提取 → 自适应成本体构建 → Transformer 融合 → 渐进式深度解码。
① 混合特征提取:单目与多视图双支路
传统 MVS 依赖多张视图进行匹配,一旦视角重叠少或视图数量不足,性能会严重下降。
MVSAnywhere 为此引入了两条特征提取支路:
- 多视图 CNN 提取器:
从参考图像和源图像中提取局部纹理与结构特征(使用轻量 ResNet-18 前几层,输出 1/4 尺度特征图)。
- 单目深度编码器:
基于预训练的 Depth-AdaBins / Depth Anything v2(ViT 架构),
从参考图像中提取单目深度先验。
这样,即便只有单张输入图像,模型也能依靠单目分支给出粗略深度估计;
而在多视图输入充分时,多视图匹配分支又能主导结果,实现“互补式融合”。
② 自适应成本体构建:让网络不惧输入数量变化
MVSAnywhere 借鉴 plane-sweep 方法,在一组假设深度上将源图特征投影到参考视图,
并与参考特征拼接形成 4D 成本体 (W×H×D×N)。
但与传统方法不同的是,它加入了大量 几何元信息(metadata),包括:
- 每个体素对应的 3D 坐标与相机射线方向;
- 参考与源相机的基线夹角、姿态差;
- 可见性掩膜(哪些区域落在视锥外)。
这些元特征帮助网络感知不同视角之间的几何关系。
接下来,MVSAnywhere 通过一个 视角数量无关(view-count-agnostic) 的融合模块进行降维:
- 每个源视角通过一个 MLP 计算匹配置信度与权重;
- 对任意数量的源图,模型执行加权平均,得到统一的成本体表示。
🔹 优势:
- 可处理任意数量输入(1 张、2 张、10 张都可以);
- 当视角重叠较少时,模型会自动提升高置信度视角的权重,增强稳定性;
- 同时通过 尺度归一化,让网络在不同深度范围(米级或任意比例)下都能正常工作。
这一设计解决了过去 MVS 模型“固定视图数”和“尺度不匹配”的两大痛点。
③ Transformer 混合器:全局融合单目与多视图线索
在完成自适应成本体构建后,MVSAnywhere 将成本体和单目特征一同输入一个大型 Transformer 模块。
- 首先,对成本体特征进行 patchify(补丁化),将其转化为序列形式;
- 然后与单目特征一起输入一个 ViT 混合器(Mono/Multi-Cue Combiner);
- Transformer 的自注意力机制整合多视图间的上下文信息,
交叉注意力则学习单目与多视图之间的互补关系。
结果是一个融合了**几何一致性(MVS)和语义先验(单目)**的强特征表示。
④ 渐进式深度解码:恢复高分辨率深度图
Transformer 输出的特征序列被重整为二维特征图,
输入一个 逐级上采样(progressive upsampling) 的解码器,
最终恢复出与输入分辨率一致的深度图。
这一解码器融合了多尺度信息,
保证输出既具有局部精度,又保持全局一致性。
💡 创新与优势
MVSAnywhere 的关键创新在于其“全面鲁棒性设计”,具体体现在四个方面:
- 单目与多视图融合
- 即便只有一张图像,模型也能输出合理深度;
- 多视图输入时则依赖几何匹配生成高精度结果。
- 输入视角数量无关
- 模型可动态适应任意数量的源图像,
从稀疏照片到密集视频序列都可直接使用。
- 尺度归一化与单位无关性
- 无需知道真实尺度单位(如米),
对 SfM 重建或缩放后的坐标同样适用。
- Transformer + 元数据融合
- Transformer 提供全局上下文建模能力;
- 元数据特征帮助网络理解不同相机几何关系;
- 从而跨越光照差异、室内外域差异,实现强泛化。
总体来看,MVSAnywhere 集成了近年 MVS、单目估计与 Transformer 的最新成果,
成为首个真正意义上的“通用型”学习式 MVS 框架。
🚀 性能与表现:零样本 MVS 的里程碑
研究团队构建了一个 Robust Multi-View Depth Benchmark,
用于评估模型在不同域之间的零样本迁移能力。
结果表明:
- 跨域鲁棒性:
在 ScanNet(室内)上训练的模型测试到 Drone 室外数据时,
MVSAnywhere 依然保持连贯的深度结构,
而其他方法几乎完全失效。
- 多域一致性:
模型在室内、室外、街景和无人机视频等多种环境中,
输出的深度在连续帧之间保持高度一致。
- 传统基准性能:
在 Tanks and Temples 等标准数据集上,
MVSAnywhere 的精度与当时的 SOTA 模型相当,
但它无需微调即可直接使用。
- 实时推理能力:
在高端 GPU 上可接近实时运行(约 1 FPS),
使得其在 AR、SLAM、机器人导航等场景中具备实用价值。
✅ 小结:迈向“通用智能”时代的 MVS
MVSAnywhere 标志着多视图立体技术从“特定任务模型”
迈向“通用视觉智能”的关键一步。
一句话总结:
MVSAnywhere 让 MVS 从“为某个场景训练”走向“在任何地方工作”。
它不仅是当前最通用的 MVS 系统之一,
更预示着未来多视图立体将不再局限于“场景特化模型”,
而是发展为 跨域、自适应、可泛化的三维感知智能——
真正意义上的 “MVS Anywhere”。
常用 MVS 数据集及其特征
评价和训练数据对 MVS 技术的发展至关重要。本节介绍几个在学术界广泛使用的多视角立体重建数据集及其特点,包括场景类型、数据规模和评测方式等。
4.1 DTU 数据集
DTU Dataset 是由丹麦科技大学 (DTU) 发布的室内多视角立体数据集,旨在提供高精度的 3D 重建基准。它包含 124 个不同场景,每个场景是在实验室控制环境下拍摄的,由若干物体组成。这些场景通常由一个或多个物体放置在桌面上,在 7 种不同光照条件下拍摄。每个场景包含 49 或 64 张RGB图像,相机沿固定的轨迹环绕物体拍摄,视角覆盖物体的各个方向。DTU 的独特之处在于,它提供了高质量的激光扫描仪获取的稠密点云作为真值。这些激光扫描点云精度极高,可视为“无噪声”的标准答案,用于评估算法重建点云与真值之间的误差。DTU 数据集在实验中通常分为 训练集 79 个场景、验证集 18 个场景、测试集 27 个场景(这一划分来自 ResNetMVS 论文常用的split)。评估指标为每个场景计算平均重建精度 (Accuracy) 和平均完整度 (Completeness),分别表示重建点云到真值的距离均值和真值到重建点云的距离均值,然后取两者的平均作为 Overall 分数,单位为毫米,数值越低表示重建越好。
特点: DTU 属于室内受控环境数据,物体纹理和形状丰富,但背景简单,光照可控。这使其非常适合用作算法的训练集,因为可以避开外界复杂因素而专注于几何和视角问题。DTU 图像分辨率较高(1600×1200),场景范围相对小(大约几个立方米以内)。很多学习型 MVS 方法(MVSNet、R-MVSNet、CasMVSNet 等)都是先在 DTU 上训练,再评估在其他数据集上的泛化能力。DTU 提供的精确基准也推动了算法的发展,许多论文报告模型在 DTU 上的 Accuracy/Completeness 以此比较。需要注意的是,由于 DTU 是扫描仪获取静态物体,有别于真实世界随机场景,因此模型若仅在DTU训练,直接用于野外时可能遇到域差异。但总体来说,DTU 数据集是学习型 MVS 的奠基石数据,几乎所有深度学习 MVS 论文都会在DTU上进行验证。
4.2 Tanks and Temples 基准
Tanks and Temples(T&T)是由 Facebook 和华盛顿大学等提出的大型室外 MVS 基准该数据集于 2017 年发布,其名称“坦克与寺庙”源自所含场景类型丰富多样,包括历史遗迹(寺庙)、建筑物、室内外物体场景等。T&T 提供了若干视频序列,每个序列包含几十到上百张图像,覆盖一个场景的各个角度。例如,经典的场景有:Tank(一辆坦克模型)、Temple(一座古寺遗迹)、Horse、Family(庭院雕像)等。T&T 被划分为两个难度组:Intermediate (中等) 集合包含 8 个场景,Advanced (高级) 集合包含 6 个场景。Advanced 场景往往范围更大、视角更分散。T&T 提供了每个场景的真值点云(使用高端多视图立体算法离线重建并手工对齐校正)用于评测,但真值不公开,只在评测服务器上比较结果。
评估指标: Tanks and Temples 使用 F-score 作为主要评价指标。具体做法是设定某个距离阈值(如 $d=0.2$ 厘米),计算Precision(精度) = 重建点云中有多少比例的点距离真值表面 < d,以及Recall(完整度) = 真值点云中有多少比例的点距离重建表面 < d。然后 F-score = $2 \times \frac{Precision \times Recall}{Precision + Recall}$,即精度和完整度的调和平均。高质量重建需同时准确且完整,因此F-score高表示方法在Precision和Recall上均表现良好。T&T 基准要求算法提交重建的点云,由服务器计算每个场景的Precision、Recall、F-score,再平均得到最终得分。值得注意的是,F-score 对Precision或Recall中极低的值很敏感(小值会大幅降低调和平均),这鼓励算法不要只追求精度或完整度其中一项而舍弃另一项。T&T 基准排行榜一直是 MVS 领域的重要参考,许多论文都报告了自家方法在 T&T Intermediate 和 Advanced 上的平均 F-score。
特点: Tanks and Temples 的图像为真实场景拍摄,分辨率高(1080p或以上),场景范围大且细节丰富。例如 “M60” 场景是一辆坦克及周围环境,有大量细碎结构;“Francis” 场景是一座教堂内部,包含复杂的纹理和彩窗光影。这些都为重建带来挑战。更有甚者,T&T 的一些序列视角覆盖不全面,部分区域照片很少甚至没有(导致无纹理洞),测试了算法对不完整数据的表现。由于 T&T 关注的是最终重建质量,它鼓励算法对点云进行后处理融合(如多视图融合、全局优化),因此一些传统SfM+MVS管线借助全局优化有时能得高分。然而,近年深度学习方法通过更好的深度图融合、滤波策略,也达到了甚至超越传统方法的效果。T&T 数据集通常不用于训练(因为只有少量序列且真值不公开),而是作为纯评测使用,检验算法泛化性。很多SOTA模型在T&T榜单上竞争,如 PatchmatchNet、MVSNet等的F-score都公布在论文中。总之,T&T 是目前户外MVS的权威评测之一。
4.3 BlendedMVS 数据集
BlendedMVS 是香港科大 Yao等人在 2020 年发布的大规模综合 MVS 数据集。它的诞生动机是弥补当时学习型 MVS 缺乏大规模训练数据的问题。获取真实世界场景的准确3D真值代价高昂(需要昂贵扫描仪),因此BlendedMVS选择了一条折中路线:利用现有图像数据重建离线模型,再渲染合成新数据。具体而言,他们从网络等途径精心挑选了 113 个不同场景的照片,涵盖城市、建筑、雕塑、小物体等多种类型。然后采用高质量的多视图重建管线(如COLMAP+PMVS等),重建出每个场景的高精度纹理网格模型。接着对这些网格模型进行渲染:在各种视角渲染出高分辨率彩色图像和对应深度图。为了增加真实感,渲染图像再与原始照片进行一定比例的融合(blending),引入真实拍摄的光照和纹理细节。由此产生的 BlendedMVS 数据集包含超过 17,000 张高分辨率图像,覆盖广泛场景,并为每张图像提供准确的深度图真值。
特点: BlendedMVS 的推出大大丰富了训练数据的多样性和规模,使深度学习 MVS 模型可以进行大规模预训练。与DTU的小场景不同,BlendedMVS的场景往往尺度更大、结构更复杂,更接近真实拍摄分布。这让模型在训练时见过室外自然场景,从而提升泛化能力。作者在论文中比较了仅用DTU训练和加入BlendedMVS训练模型的差异,发现后者在T&T等测试上完整度显著提高。因此许多后续方法,如 PatchmatchNet、CVP-MVSNet 等,都在训练中引入BlendedMVS以增强模型泛用性。同时,由于BlendedMVS提供了逐像素对齐的真值深度图,它也适合作为监督学习的标准。相比于真实扫描点云真值,渲染深度图没有噪声且与图像像素一一对应,使得回归损失更精确。需注意BlendedMVS也有局限:渲染毕竟不同于真实拍摄,可能缺少真实传感器噪声、运动模糊等效应,一些模型若过拟合渲染图像,在真实图像上仍可能遇到问题。不过总体而言,BlendedMVS 是当前训练学习型MVS最常用的资源之一,它补足了DTU数据量不足的问题,为训练大模型提供了可能。
4.4 ETH3D 数据集
ETH3D 是由 ETH Zurich 提出的一个多视图立体和 SLAM 综合评测数据集,其中包含 多视图立体子集。ETH3D的MVS部分由室内和室外场景组成,每个场景提供若干高分辨率图像(一般是相机在不同点位拍摄的),以及通过精密设备获取的稠密真值点云。ETH3D 场景的难点在于视角变化很大:有些场景相机之间重叠度很小,这就测试MVS算法在稀疏视角条件下的表现。ETH3D 官方将数据分为训练集和测试集,各包含若干室内/室外场景,并提供评测服务器。评测指标使用 F1-score(即Precision和Recall的调和平均,与T&T类似)。不过与T&T不同,ETH3D 提供的真值点云通常较为稀疏,覆盖场景的关键结构,因此在计算Recall时需要考虑真值点云的不完整性。
特点: ETH3D 的场景多为真实环境,例如办公室一角、楼宇外墙等,有较强的现实代表性。它的图像质量高(部分使用单反相机拍摄),因此为高精度MVS提供了良好测试平台。ETH3D 对算法鲁棒性要求高:因为视角基线可能很大、某些视图对之间几乎无重叠,算法必须能处理这种极端情况才能在ETH3D上取得好成绩。目前在ETH3D排行榜上,综合表现较好的是一些考虑全局一致性的算法,如采用全局优化融合的传统MVS管线,以及最新的一些Transformer方法等。需要注意的是,ETH3D上很少有深度学习模型的结果(主要因为它没有被广泛用作训练,且视角稀疏对学习方法是很大挑战)。但随着像 MVSAnyhwere 这类通用模型的出现,我们预计未来会有更多学习方法在ETH3D上验证泛化性能。总的来说,ETH3D 补充了T&T的不足(T&T主要视频序列、视角密集),提供了另一个角度的考察,对推动MVS算法在真实复杂条件下的鲁棒性有重要意义。
4.5 ScanNet 数据集
ScanNet 是由斯坦福等发布的大规模室内 RGB-D 视频数据集,主要用于室内场景的三维重建和语义理解等任务。ScanNet 包含 超过1500个房间 的扫描(如卧室、客厅、办公室等多种室内环境),由手持RGB-D相机录制视频获取。它总计约 250万张RGB图像,每帧都配有相机位姿和对应的深度图(由深度相机获取)。此外,通过融合多帧深度,ScanNet 提供了每个房间的高质量三维网格真值,以及相应的语义标注。对于MVS任务,一般使用ScanNet的子集,将连续视频帧按照一定增量抽取成多视图输入,并以融合网格为真值来评估重建结果。
特点: ScanNet 的最大特点是数据量巨大,且接近实时应用。因为其原始形态是视频序列,视角连续、重叠非常高,非常适合评估在线(增量式) MVS 算法的性能。很多实时重建方法(如 NeuralRecon 等)都以ScanNet作为主要训练和测试集。ScanNet 场景复杂度中等,多为室内房间,物体和纹理多样。RGB-D相机的深度图虽然存在噪声和孔洞,但作为监督信号仍然宝贵,因为它覆盖了场景主要结构。ScanNet 通常不用于评测离线MVS精度,因为RGB-D深度精度有限;但它在速度和完整性上的指标意义重大。如果一个算法能在ScanNet逐帧运行并实时融合,就意味着有潜力应用于AR/VR和机器人实时3D感知场景。ScanNet 也用于多视图立体的在线模式评测,一些工作统计了算法在ScanNet上每帧深度估计的误差、重建的完整性等,以衡量其实用性。总之,ScanNet 在MVS领域的价值更多在于提供了海量真实房间数据和实时场景,推动了从离线重建向实时重建的研究转变。
当前研究热点、挑战与未来发展趋势
多视角立体重建在过去几年取得了显著进展,但仍有众多开放问题和新的研究趋势。以下列出当前的一些热点方向和可能的未来发展:
6.1 NeRF 与 MVS 结合
热点背景: 神经辐射场(NeRF)及其衍生方法能够通过隐式建模,实现逼真的新视图合成和隐式三维重建。这为 MVS 提供了全新的思路和工具。然而,经典 NeRF 需要逐场景优化,慢且不直接输出显式几何。因此,如何将 NeRF 与 MVS 优势结合,是近年热点课题。
进展与代表作: 一方面,如前述 MVSNeRF证明了利用 MVS 成本体快速推理出 NeRF 模型的可能。它实现了仅3张图像输入就可生成一般质量的辐射场,并支持微调提升质量。这类通用 NeRF 极大加快了场景重建速度,也暗示未来或有统一模型同时胜任几何与渲染。另一方面,一些研究探索用 NeRF 反哺 MVS:例如 NeuralRecon 等无监督方法通过引入渲染损失,让 MVS 网络渲染输入视图并与真实图像比对,作为监督信号。还有 RC-MVSNet (ECCV 2020) 直接将NeRF的神经渲染过程嵌入 MVS训练,用神经渲染确保多视图一致性。
挑战: 二者结合仍面临困难,例如NeRF的隐式表示难以直接输出精确表面,需要提取等值面或点云,精度受采样影响。另外NeRF渲染耗时,如何保持效率也是问题。但随着3D Gaussian Splatting 等新型表示出现(大幅加快渲染速度),以及显式-隐式混合方法的发展(如先用MVS获取初始稠密点云,再训练NeRF细化),这方面障碍正逐渐减少。
未来趋势: 可以预见,NeRF 与 MVS 的融合将更加紧密,双向赋能:MVS 为NeRF提供几何先验,NeRF为MVS提供真实渲染监督。未来可能出现既能快速重建几何、又能进行高逼真度渲染的大一统模型。这样的模型可广泛应用于数字孪生、虚拟内容生成等领域,实现照片级的三维重建和渲染。一些近期工作如 NeuralMVS 试图在网络中同时训练深度估计和颜色辐射场。如果成功,这将把MVS带入一个新阶段:不仅重建点,还赋予点颜色和材质等属性,让重建结果更加丰富。
6.2 多尺度建模与跨尺度策略
热点背景: 尽管级联和金字塔方法已经显著改善了效率,但多尺度信息的充分利用依然是研究重点。实际场景中存在尺度差异悬殊的结构,例如建筑全景和其中的雕花细节,这对单一尺度网络造成困难。多尺度融合有望兼顾全局和局部。
进展: CasMVSNet、CVP-MVSNet 等已经引入级联思想,但未来可能更深入,如自适应尺度处理:根据场景内容动态决定需要几级、每级分辨率/深度范围如何。例如 UCS-Net 引入的不确定度预测可视为一步尝试,通过估计粗结果的不确定性来调整细化粒度。另外,一些方法在特征提取阶段就用 FPN(特征金字塔网络) 提取不同尺度特征,再在成本体融合时多尺度并用,以增强对不同尺寸物体的匹配。Transformer 的全局感知特性也提供跨尺度信息聚合的新途径,如WT-MVSNet用窗口注意力在局部和全局都提取关联。
挑战与趋势: 真正做到按需的多尺度仍不易,需要网络具有注意力机制或元学习能力,知道哪里该细、哪里够粗。目前多级都是人为设定层数和倍率。未来可能看到 可变尺度MVS 模型:输入图像时自动分析场景几何复杂度,决定处理层级和每层参数,以最小代价达到所需精度。这可能涉及元网络或强化学习来动态控制推理流程。另外,多尺度不应仅限空间分辨率,也可包括不同深度范围和采样密度,甚至多时间尺度(对视频序列考虑关键帧/非关键帧)。随着算力提升,实时调整多尺度流程或将可行,使 MVS 更加自适应。
6.3 Transformer 在 MVS 中的应用
热点背景: Transformer 已在视觉任务中广泛成功,在 MVS 领域的应用也才刚开始。TransMVSNet 等初步工作展示了其前景,但尚有很多空间可挖掘。
进展: 除了 TransMVSNet 提到的特征匹配Transformer,另一些工作如 WT-MVSNet (NeurIPS 2022) 采用窗口化的Transformer,将Epipolar线上的patch做局部注意力匹配,提高匹配精度和效率。MVSFormer 系列利用预训练Transformer,属于另一维度的尝试。Transformer 的长程依赖能帮助解决重复纹理、薄结构等CNN弱项,这是显而易见的好处。
挑战: Transformer 带来的计算和内存开销不容忽视,尤其如果对高分辨率图像做全局注意力,其复杂度是二次的。当前解决办法是局部注意力 + 低维embedding(如WT-MVSNet使用固定窗口,MVSAnywhere对cost volume patchify),这平衡了性能。但Transformer参数多、训练数据需求大的问题仍存在。
未来趋势: 可能的发展方向包括:1)更轻量的Transformer结构,如Linear Attention等,降低复杂度。2)视觉Transformer预训练的更多使用,比如用大规模室内外数据预训练一个Multi-View注意力模型,然后微调在特定任务。3)Transformer与CNN融合,取长补短,比如浅层CNN提局部细节,深层Transformer抓全局关系。目前TransMVSNet等已经在这么做,但融合深度和方式可以更优化。4)跨模态Transformer,即结合影像之外的信息(IMU, GPS等)的Transformer,以提升户外大场景的鲁棒性,这对于无人机/自动驾驶MVS有意义。
总的来说,Transformer 提供了处理复杂几何对应的新范式,未来其地位可能类似2D视觉中的ResNet--成为MVS架构的标配 backbone 之一。随着硬件发展,Transformer在MVS中的广泛应用值得期待。
6.4 稀疏视角下的重建技术
问题背景: 许多学习型MVS方法假设输入视角重叠充分(比如相邻帧),但在现实中,我们常遇到稀疏视角场景:例如从几张网络下载的照片重建地标,或者卫星影像3D重建等。这接近于 Structure-from-Motion 输出的稀疏图像集情况,视角分散且重叠较低,传统MVS如 COLMAP 可以处理,但学习方法往往泛化困难。
进展: 针对稀疏视角,有几条路径:1)加强单目先验: 视角少时依赖单张图像线索更重要,如 MVSAnywhere 将单目深度整合进来就是例子。2)显式可见性推断: 稀疏情况下遮挡严重,一些方法尝试网络学会选择哪些视图可信,如基于视图权重的网络 (e.g., Vis-MVSNet) 给每对视图匹配分配权重,降低遮挡视图影响。3)融合多源数据: 如果仅RGB不够,可借助LiDAR稀疏点作为额外输入,加以引导(近年来有点云+影像融合重建的研究)。4)大模型跨场景: 训练涵盖各种稀疏场景,让模型学到在信息不足时合理推测,比如训练一个很大的Model在无监督数据上学习填补规律。这方面MVSAnywhere、MVSFormer++等是探索开端。
挑战: 稀疏视角下很难区分视差和结构:两个远摄像头拍的物体边缘,像素偏移大可能是深度变化,也可能只是基线大。解决需要模型具有尺度和视角不变性。此外,不同场景的分布差异也大,让单一模型覆盖所有很困难。
未来: 预计稀疏MVS将是未来一大方向,因为互联网3D、航拍测绘等都属此范畴。未来或许会有专门为超宽基线设计的深度学习算法,结合 SfM 信息(如已知相机位姿)、结合显著特征(关键点)等,进行局部匹配 + 全局推断。Transformer 可能在这里发挥作用,因为跨图像长距离匹配正是它擅长的。最终目标是做到像COLMAP一样处理任意随拍照片,同时利用学习方法提高重建密度和质量。这需要在模型结构上更灵活(视图无关性)以及训练数据上更多样(引入真实稀疏照片集进行训练/微调)。随着MVSAnywhere等工作初步表明方向正确,相信未来几年内会有更多突破,使得学习型MVS真正走出实验室、走向任意互联网照片集。
6.5 大模型与预训练在 MVS 中的探索
背景: 近年AI领域一个趋势是大模型 (Large Models) 和预训练。在NLP有GPT,在2D视觉有ViT、CLIP等。在3D领域也出现了一些大模型尝试,如数亿参数的通用NeRF模型、能生成3D模型的扩散模型等。那么,对于MVS任务,是否存在类似“通用三维重建模型”?
现状: MVS领域的大模型探索尚处起步。一方面,预训练已经开始发挥作用,如MVSFormer利用预训练ViT、MVSAnywhere用预训单目网络。这些证明迁移学习在MVS有效。另一方面,真正超大规模的MVS模型暂未出现。原因包括:缺少类似NLP那种海量标注数据,MVS需要真值3D。虽然有BlendedMVS、ScanNet等,但总量和多样性远不及2D图像的ImageNet级别。另一原因是训练代价高,3D网络本身就大,再上亿参数在目前GPU上训练困难。不过,一些间接的思路正在形成。例如,MIT等机构提出的 NeuralRecon 模型,用ScanNet 100万帧RGB-D训练,参数达数千万,可视为一定规模的预训练。也有学者设想用自监督办法,让模型在无真值3D的数据上通过光度一致性等训练,从而利用互联网上的大量多视图照片。这类似无监督MVS的范畴,目前效果一般,但如结合NeRF渲染损失会有提升。
未来展望: 如果能获得足够数据和算力,一个通用MVS基础模型并非没有可能。例如,集齐上百万张来自不同环境的多视图图像(可以没有GT,用自监督训练Transformer网络匹配),得到一个在“3D感知”上有广泛知识的模型。然后针对具体应用(摄影测量、医学成像等)微调,快速达到好效果。这和2D视觉的foundation model理念一致。Meta最近提出的 Lidar2Lidar 基础模型、Niantic提到的 Metric3D 等都是在积累跨场景3D数据。或许不久将来,会出现一个具备通用3D感知能力的大模型,可以输入任意多视图图像,输出完善的3D表示。这将极大简化具体任务的模型开发,就像CLIP模型在2D视觉的作用一样。
大模型的意义: 它可能具备更强的零样本能力(如MVSAnywhere的目标)、更好的鲁棒性(学习到各种材质和光照的共同特征),甚至能够多任务(同时进行语义分割、物体识别和重建)。当然,实现路径充满挑战,包括数据获取、模型设计(参数太大会不会过拟合特定结构)、效率(大模型如何实时应用)等。但这是值得探索的前沿,因为一旦成功,3D重建将进入一个“预训练即服务”的时代,大幅降低行业应用门槛。