论文阅读_DiffMVSNet
DiffMVS
基本信息
| 项目 | 内容 |
|---|---|
| 论文标题 | Lightweight and Accurate Multi-View Stereo with Confidence-Aware Diffusion Model |
| 作者 | Fangjinhua Wang*, Qingshan Xu*, Yew-Soon Ong, Marc Pollefeys |
| 作者单位 | ETH Zurich(瑞士苏黎世联邦理工学院) |
| 时间 | 2025 |
| 发表会议/期刊 | IEEE Transactions on Pattern Analysis and Machine Intelligence(TPAMI) |
方法概览
| 特点 | 文章性质 |
|---|---|
| 输入 | 标定之后的多视角图像 |
| 输出 | 场景的点云图,每个视角的法线和深度图 |
| 所属领域 | MVS |
1. 摘要精简
效果不怎么样,而且也没有利用diffusion的知识,因为MVS只是一个在深度上找匹配的任务
本文提出一种基于条件扩散模型的新型 MVS 框架,将深度细化建模为条件扩散过程。该框架设计了条件编码器,融合匹配信息、图像上下文和深度上下文特征以引导扩散过程;提出置信度感知采样策略,基于扩散模型预测的置信度自适应调整深度假设采样范围;构建轻量级扩散网络,结合 2D U-Net 与卷积 GRU,在保证性能的同时提升效率。基于该框架,推出两款方法:DiffMVS(单阶段扩散细化,侧重实时性)和 CasDiffMVS(两阶段级联扩散细化,侧重高精度)。实验表明,DiffMVS 以最优的运行时间和 GPU 内存效率实现了具有竞争力的性能,CasDiffMVS 在 DTU、Tanks & Temples 和 ETH3D 数据集上均达到最先进(SOTA)重建性能。
主要贡献包括:
- 设计了条件编码器,融合匹配信息、图像上下文与深度上下文特征,以指导扩散过程;
- 提出了基于置信度的采样策略,根据扩散模型预测的置信度自适应调整采样范围;
- 构建了轻量级扩散网络,结合2D U-Net与卷积GRU,提升效率;
- 基于该框架提出两种方法:DiffMVS(单阶段扩散细化) 与 CasDiffMVS(两阶段级联扩散细化)。
DiffMVS在运行时间和GPU内存方面达到SOTA效率,同时保持竞争力性能;CasDiffMVS在DTU、Tanks & Temples和ETH3D上达到SOTA性能。
2. 引言与动机
现有的级联MVS方法通常在低分辨率初始化粗深度图,然后在更高分辨率中逐步细化。然而,这种细化严重依赖粗深度图的质量,若粗估计错误,则容易陷入局部最优且难以恢复。
扩散模型通过从随机噪声中逐步去噪生成样本,能够避免陷入局部最小值。受此启发,本文将深度细化建模为条件扩散过程,通过引入随机噪声来跳出局部最优,并利用条件编码器提供匹配与上下文信息作为引导,从而提升深度估计的准确性与鲁棒性。
3. 创新点总结
3.1 条件扩散模型框架
- 首次将条件扩散模型应用于 MVS,将深度细化转化为条件扩散过程,兼顾精度与效率,避免局部最小值问题。将MVS中的深度细化建模为条件扩散过程,通过逐步去噪的方式从带噪声的深度图中恢复准确深度;
- 设计了条件编码器,融合匹配信息(代价体)、图像上下文特征和深度上下文特征,为扩散模型提供丰富且有针对性的条件输入。
3.2 基于置信度的自适应采样
- 提出置信度引导的采样策略,根据扩散模型预测的每个像素的置信度 自适应调整采样范围 :
- 置信度高的区域缩小采样范围以提升精度,置信度低的区域扩大采样范围以覆盖真值,从而提供更有效的一阶优化信息。
3.3 轻量级扩散网络设计
- 使用2D U-Net + 卷积GRU构建扩散网络,替代传统扩散模型中大型或堆叠的U-Net;
- 在单个扩散时间步内进行多次GRU迭代更新,在保证性能的同时大幅降低参数量和计算成本;
- 网络不使用注意力机制,进一步保持轻量级特性。
3.4 两种高效架构
- DiffMVS:单阶段扩散细化,适用于实时应用;
- CasDiffMVS:两阶段级联扩散细化,适用于高精度需求。
4. 网络架构
整体流程分为三个阶段:
-
通过 FPN 提取多尺度图像特征,参考图像额外经 context FPN 提取上下文特征 Fc 和隐藏状态特征 h0。
-
Stage 1(深度初始化):在低分辨率(1/8)构建代价体,通过3D U-Net正则化得到初始深度 ;
-
扩散深度细化
-
DiffMVS:单阶段扩散细化(stage 2),对粗深度图上采样后进行扩散去噪细化。
-
CasDiffMVS:两阶段级联扩散细化(stage 2 + stage 3),逐步提升分辨率并细化深度。
-
核心组件:条件编码器(融合多特征生成条件输入)、扩散网络(2D U-Net + Conv GRU,迭代去噪)、置信度感知采样(自适应生成深度假设)。
-
-
学习型上采样:将细化后的深度图上采样至全分辨率,经光度和几何一致性过滤异常值,输出最终深度图。
5. 特征提取
- 使用 FPN 提取多视图图像的多尺度特征;
- 对于参考图像,额外使用一个上下文FPN编码器提取多尺度上下文特征 和隐藏状态特征 ,用于后续上采样和扩散模型。
- 深度上下文特征:对采样的深度假设 Dksample 应用 2D 卷积,生成深度上下文特征,捕捉深度相对位置信息。
- 匹配特征:通过分组相关计算参考图与源图的相似度,形成代价体,编码几何匹配信息。
6. 代价体构建(深度初始化阶段)
- 在逆深度空间均匀采样 =48 个假设:;
- 通过单应性变换将源视图特征变换到参考视图:
- 将特征通道分为 G=4 组,使用分组相关计算相似性:
- 预测每个源视图的像素级视图权重 ,加权聚合得到代价体 :
细化阶段(局部代价体)
- 深度采样:基于置信度感知采样策略,在当前深度估计附近自适应采样 D1 个深度假设(DiffMVS D1=6,CasDiffMVS D1=4)。
- 局部相似度计算:重复初始化阶段的分组相关操作,计算新假设对应的局部相似度体积,重塑为 Lk∈RHm×Wm×(D1×G)。
- 特征融合:将局部代价体与深度上下文特征、图像上下文特征拼接,经 2D 卷积编码为条件特征,输入扩散网络。
7. 代价体正则化(深度初始化阶段)
代价体正则通过网络结构设计和先验约束实现,具体如下:
- 初始化阶段:采用轻量级 3D U-Net 对全局代价体 V 进行正则化,降低噪声干扰,生成平滑的概率体积 P。
- 细化阶段:
- 条件约束:通过条件编码器融合匹配信息、图像上下文和深度上下文,引导代价体向几何一致和语义合理的方向优化。
- 迭代去噪:扩散网络通过 Conv GRU 迭代 K 次(DiffMVS K=4,CasDiffMVS K=3),逐步细化深度残差,间接实现代价体的动态正则。
- 置信度约束:置信度感知采样通过调整采样范围,对高置信度(低误差)区域缩小范围精准优化,对低置信度(高误差)区域扩大范围探索最优解,提升代价体有效性。
- 后处理过滤:深度图生成后,通过光度一致性(特征匹配相似度)和几何一致性(跨视图重投影误差)过滤异常值,进一步优化结果。
8. 深度图生成
- 初始深度:从概率体计算逆深度的期望并转换:
- 扩散细化:在更高分辨率,将上采样后的深度 转换为归一化逆深度 ,并添加噪声得到 。扩散网络通过多次GRU迭代预测深度残差更新 和置信度 ,最终得到细化后的逆深度:
- 学习型上采样:通过预测 3×3 邻域的加权掩码,对低分辨率深度图进行加权组合上采样,得到全分辨率深度图。
- 后处理:对全分辨率深度图应用光度和几何一致性检查,过滤 outliers 后,反投影为 3D 点云或输出最终深度图。
9. 损失函数
总损失为所有深度图(初始深度、扩散中间深度、上采样深度)损失的加权和:
其中 , 分为两种情况:
-
对于大多数深度图,使用归一化逆深度的 损失:
-
对于扩散细化中的深度图(带置信度 ),使用置信度加权的损失:
其中 。
10. 测试数据集
- 训练集:DTU(室内)、BlendedMVS(大规模合成)
- 测试集:
- DTU(室内物体)
- Tanks & Temples(真实场景,分Intermediate和Advanced子集)
- ETH3D(复杂真实场景,大基线、低纹理)
11. 消融实验
| 组件 | 实验设置 | 结论 |
|---|---|---|
| 扩散模型 | 移除扩散过程(无噪声) | 性能显著下降,证明扩散机制有效 |
| 扩散条件 | 分别移除代价体、深度上下文、图像上下文 | 三者均为重要条件,缺一不可 |
| 扩散采样 | 比较单样本、固定范围多样本、置信度自适应采样 | 置信度自适应采样效果最佳 |
| 扩散网络 | 比较单U-Net、堆叠U-Net、U-Net+GRU | U-Net+GRU在性能与效率间取得最佳平衡 |
| DDIM步数 | 增加采样步数 | 性能略有提升,但为效率选用 |
| 噪声尺度 | 调整噪声大小 | 默认 最优,过大或过小均会降低性能 |
| 随机种子 | 使用10个不同随机种子训练 | 结果稳定,方差极小 |
总结
DiffMVS/CasDiffMVS首次将条件扩散模型引入MVS任务,通过噪声注入避免局部最优、条件编码提供丰富引导、置信度自适应采样增强优化,以及轻量级网络设计保证效率,在多个标准数据集上取得了SOTA或具有竞争力的性能,同时保持高效的运行时间和较低的内存占用。




