SplatFormer: Point Transformer for Robust3D Gaussian Splatting 论文解读

news/2024/11/29 22:48:25/

目录

一、概述

二、相关工作

1、NVI新视角插值

2、稀疏视角重建

OOD-NVS-toc" style="margin-left:80px;">3、OOD-NVS

4、无约束重建下的正则化技术

5、基于学习的2D-to-3D模型

6、3D点云处理技术

三、SplatFormer

1、Point Transformer V3

2、特征解码器

3、损失函数

四、数据集

五、实验


一、概述

        该论文提出一种新的模型SplatFormer用于减少训练数据分布之外的视角数据(Out-of-Distribution,OOD)下进行新视图合成情况下的泛化性差,存在视角伪影的情况。SplatFormer通过利用PointTransformer学习输入视角中的包含的多视角信息,学习一个3D渲染先验来提高最终渲染质量。

(1)提出了一个OOD-NVS实验协议,对于新视角合成任务在处理训练数据分布之外的测试数据中遇到困难的情况,被定义为OOD-NVS

(2)提出一种基于学习的SplatFormer模型,改进3DGS在OOD情况下存在的伪影,并首次将Point Transformer引入3DGS处理中,有效地利用从输入视角集中得到的多视角信息来学习3D渲染先验,这是以往3DGS方法缺乏的。

(3)SplatFormer在OOD-NVS任务中显著提高了3DGS方法的性能,在以对象为中心的场景中取得了实质性进展,并且在无边界环境下存在应用潜力。

二、相关工作

1、NVI新视角插值

        Novel View Interpolation(NVI)主要利用已有图像之间的几何和纹理信息,通过中间插值的方法生成新的视角。

        NVI是NVS领域的一种方法,一般应用于VR,AR领域,使用插值算法进行生成图像,而不是使用CNNs或者GANs的方法。

        在近期的NVS领域专注于NeRF和3DGS,但在OOD任务中渲染新视图中遇到了很大困难。

2、稀疏视角重建

        从稀疏视角重建一般少于4张图像,比如Zero123等方法从单输入图像中预测NeRF或者多视图图像。要么就是生成多视图输入之后传递到二维扩散模型中,用于创造性任务,要么就是直接从稀疏视图中预测三维参数pixelsplat和latentsplat。

OOD-NVS">3、OOD-NVS

        与标准的插值设定不同,Nerfbusters沿着不同的轨迹捕获输入和测试视图,并基于DSDS损失来减少NeRF优化中的伪影和几何缺陷,使得模型在wild scene中更具鲁棒性,但是貌似对鬼影的定义不太明确,但与该论文的OOD-NVS问题紧密一致。但是该方法的输入和测试视图观测角度保持相对相似,但该论文认为伪影由“不可见问题”引起,也就是测试视图在观测视角之外。

4、无约束重建下的正则化技术

        几何先验方法:SuGaR、2DGS、GeoGaussian,应用人工定义的自我监督损失,使得高斯溅射与表面几何形状对齐。

        空间正则化约束:SplatFields,ZeroRF,整合深度图像先验,规范3DGS和NeRF重建。

        数据驱动的先验:FSGS、DNGaussian,吸取上述两种方法缺少外部数据的不足,通过使用深度立体模型监督深度图,但存在尺度模糊问题。

                InstantSplat,通过密集点云来初始化3DGS,但难以收敛。

                Nerfbusters通过扩散模型预训练后处理NeRF,但没解决鬼影的本质。

                Appearance priors的方法使用2D扩散模型来规范新视图渲染,但难以保证多视图一致性。SSDNeRF,HypNeRF利用对象为中心的数据集进行预训练,但在多类别情况下表现不佳。

5、基于学习的2D-to-3D模型

        SyncDreamer和ViewDiff对预训练扩散模型进行微调,从一个或多个输入视图生成多视角图像。

        PixelNeRF和MVSplat由于计算资源约束,只能同时处理少量输入视图,不能利用更多的多视图来提高新视图合成的性能。

6、3D点云处理技术

        从稀疏卷积到MLPs到最近的Transformer的方法。Point Transformer通过关注模型的空间关系,被证明特别有效。该论文使用Point Transformer来细化3DGS,并且通过捕捉原始点云不规则的空间关系,来提高新视图合成的保真度。

三、SplatFormer

        SplatFormer框架的原理:首先利用低仰角图像训练3DGS初始化高斯参数,再利用Point Transformer v3将高斯参数输入,用于修正3DGS的参数,更加关注与空间结构中的多视角信息。

1、Point Transformer V3

        PTV3定义为f_{\theta},首先我们利用低仰角图像训练3DGS初始化参数得到\left \{G_k \right \}^K,之后利用PTV3模型通过一个2D的损失来训练一个3D的参数,具体来说:通过PTV3f_{\theta}将高斯参数编码为一个v维向量\left \{ v_k \right \}^K

        PTV3结构由5个注意力块和下采样网格池化作为编码器,4个注意力块和上采样网格池化层恢复分辨率,而在该论文中,不采用传统的MLP块,而是使用注意力机制来构造空间关系,这更好地捕捉点云的不规则性和稀疏性。

2、特征解码器

        特征解码器g_{\theta},通过五个MLP特征头,分别输出位姿,尺度,不透明度,旋转,颜色偏差,这里提到最后一个MLP层的权重和偏置设为0,用来将初始输出紧密匹配于3DGS。

                \left \{ \Delta G_k={(\Delta p_k,\Delta s_k,\Delta \alpha_k,\Delta q_k,\Delta a_k)} \right \} =g_{\theta}(\left \{ v_k \right \}^K_{k=1})

        最后将所有的参数偏差用于更新初始的3DGS参数。

                \left \{ G_k' \right \}_{k=1}^K=\left \{ G_k+\Delta G_k \right \}_{k=1}^K

3、损失函数

        SplatFormer模块作为一个用于精炼前馈模型,使用L1范数和LPIPS损失的和作为总损失。

四、数据集

        使用ShapeNet和Objaverse-1.0的三维资产数据集用于渲染低仰角(10到20度)每一个场景32张和高仰角(大于等于70度)每一个场景9张的多视角图像。渲染分辨率为256*256。

五、实验

        主要就是对于OOD视角下的性能对比。

        OOD视角下的渲染效果。 

        交叉数据集上的性能指标。(交叉数据集使用GSO和作者采集的真实世界,在原有数据集下训练后,能够在这两者数据集下仍然表现良好,说明该模型可以泛化到不同的数据分布,而不是针对某一个特定数据集下的先验) 

        交叉数据集下的渲染可视化。 

 

参考项目路径:SplatFormer: Point Transformer for Robust 3D Gaussian Splatting

    


http://www.ppmy.cn/news/1551017.html

相关文章

shell编程(8)

目录 一、until循环 示例 until 和 while 的区别 二、case语句 基本语法 示例 1. 简单的 case 语句 2. 使用通配符 3. 处理多个匹配 case 和 if 的比较 case 语句: if 语句: 三、基本函数 基本函数定义和调用 1. 定义一个简单的函数 2. …

git常用命令和问题

git不能推送 merge时的解决方法: git rebase git stash # 每次 push 前 git pull --rebase git push origin HEAD:refs/for/master # gerrit review git pull git stash pop 常用命令: 合并dev分支 a 切换到master分支 git checkout master b…

基于RAG的text2sql解决方案vanna-ai 私有化部署使用实战

1 安装python 虚拟环境 安装 Miniconda3 Step 1: 下载 $ wgethttps://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh Step2: 运行脚本 $ sh Miniconda3-latest-Linux-x86_64.sh Step3: 设置环境变量 vi /etc/profile export PATH“/data/apps/minic…

Redis的基础知识·

Redis是一个基于内存的key-value的结构数据库 基于内存存储 读写性能高适合存储热点数据(热点商品 咨询 新闻) 开启Redis 首先输入命令 redis-server.exe redis.windows.conf 然后重新打开命令行窗口 输入命令 redis-cli.exe 输入密码 …

数据分析:彩票中奖号码分析与预测

预测双色球彩票的中奖号码是一个典型的随机事件,因为每个号码的出现概率是独立的,且历史数据并不能直接用于预测未来的开奖结果。然而,我们可以通过统计分析来了解号码的分布规律,从而提供一些可能的参考。 样例数据【点击下载】…

在编译Elasticsearch源码时选择Gradle版本

文章目录 引言寻找版本总结 引言 在学习Elasticsearch过程中,下载源码版本。因为使用的Gradle,所以涉及到版本问题。导致执行不过,或者语法错误等。 寻找版本 寻找文件地址,直接将地址复制到浏览器下载即可!&#x…

从源码到平台:基于第三方视频美颜SDK开发实时直播美颜系统

本篇文章,小编将从源码的视角出发,探讨如何利用第三方视频美颜SDK,快速开发一套完整的实时直播美颜系统。 一、实时直播美颜系统的核心需求 直播美颜系统的主要功能包括:实时人脸检测与识别、美颜效果处理、滤镜效果叠加&#x…

Python 数据结构对比:列表与数组的选择指南

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: Python 文章目录 💯前言💯Python中的列表(list)和数组(array)的详细对比1. 数据类型的灵活性2. 性能与效率3. 功能与操作4. 使用场景5. 数据结构选…