《MVSplat: Efficient 3D Gaussian Splatting from Sparse Multi-View Images》阅读笔记

论文地址:https://arxiv.org/pdf/2403.14627

项目地址:https://github.com/donydchen/mvsplat

--------------------------------------------------------------------------------------------------------------------------------

任务:

                        通过稀疏(即少至两张)图像进行3D场景重建和新视图合成

挑战:

        从单张图像重建3D场景本质上是不定式且模糊的,当应用于更一般且较大的场景时,这成为了一个显著的挑战

贡献:

        1. 准确定位3D高斯中心:在3D空间中通过平面扫描构建代价体积(cost volume)表示。通过2D网络将构建的多视角代价体积估计出的多视角一致性深度反投影获得3D高斯中。

        代价体积:

                (1). 存储了所有潜在深度候选的跨视角特征相似性,这些相似性可以为3D表面的定位提供有价值的几何线索(即高相似性更可能表示一个表面点)。

                (2). 通过代价体积表示,任务被表述为学习执行特征匹配以识别高斯中心,而不是像以前的工作那样基于图像特征进行数据驱动的3D回归。

                (3). 降低了任务的学习难度,使该方法能够在轻量化模型规模和快速速度下实现最先进的性能

        2. 与深度一起预测其他高斯属性(协方差、不透明度和球谐函数系数)。这使得可以使用预测的3D高斯分布和可微分的投影操作渲染新的视图图像。

核心过程:

        1. 为了准确定位 3D 高斯中心,通过在 3D 空间中通过平面扫描构建成本体积(cost volume)表示。

        2. 为了改善几何重建结果,需要缓慢的深度微调和额外的深度正则化损失

       本文提出了 一个基于高斯分布的前馈模型MVSplat,用于新视角合成。开发了一个高效的多视角深度估计模型,能够通过预测的深度图反投影为高斯分布的中心 \mu _j ,同时在另一个分支中预测其他高斯参数( \alpha _j 

### LM-Gaussian 稀疏视图 3D 高斯点绘与大型模型先验 #### 方法概述 LM-Gaussian 是一种用于稀疏视图三维重建的新颖方法,特别适用于高质量场景合成。此方法引入了来自大规模视觉模型的先验知识来改进传统的3D高斯点绘(Gaussian Splatting),从而有效应对低密度观测条件下产生的挑战[^1]。 #### 技术细节 为了克服传统3D GS方法在处理少量输入图像时遇到的主要难题——即难以获得足够的几何约束以及容易陷入局部最优解的问题,LM-Gaussian采用了以下策略: - **强大的初始化模块**:通过预训练的大规模神经网络提供初始估计值,使得即使是从非常有限的角度观察到的对象也能得到较为合理的形状假设。 - **多模态正则化机制**:结合不同类型的特征表示形式(如颜色、纹理等),并通过适当加权的方式融入损失函数之中,以此促进更稳定的学习过程并抑制异常值的影响。 - **迭代扩散细化算法**:基于物理模拟原理设计了一套逐步优化方案,在每一轮更新过程中都会考虑周围邻近粒子之间的相互作用力,进而促使整体结构更加紧凑自然[^4]。 这些组件共同协作,不仅大幅降低了对于密集采样数据的需求量,而且能够在复杂环境中生成逼真的全景效果。然而值得注意的是,当前版本的技术还局限于静态物体或场景;针对动态目标的应用将是后续探索的重点之一。 ```python import numpy as np def initialize_with_large_model_prior(points, model): """ 使用大模型先验初始化点云位置 参数: points (np.ndarray): 输入点坐标数组 model (object): 已经训练好的大型视觉模型实例 返回: initialized_points (np.ndarray): 经过大模型调整后的点位 """ predictions = model.predict(points) initialized_points = points + predictions * 0.1 # 假设预测偏移量较小 return initialized_points def apply_multimodal_regularization(loss_function, features_weights): """ 应用多模态正则项至总损失函数 参数: loss_function (callable): 当前使用的损失计算方式 features_weights (dict): 各种特性对应的权重系数字典 返回: new_loss_function (callable): 加入额外惩罚项之后的新版loss function """ def new_loss_function(*args, **kwargs): base_loss = loss_function(*args, **kwargs) regularization_term = sum([w * f(args[0]) for w, f in features_weights.items()]) return base_loss + regularization_term return new_loss_function def iterative_diffusion_refinement(point_cloud, iterations=5): """ 执行多次迭代以改善点云分布质量 参数: point_cloud (PointCloud object): 待精炼的目标集合体 iterations (int): 进行几次循环,默认五次 返回: refined_point_cloud (PointCloud object): 完成全部轮次后最终形态 """ for _ in range(iterations): forces_between_particles = compute_forces(point_cloud) update_positions_based_on_force(point_cloud, forces_between_particles) return point_cloud ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值