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

目录

一、概述

二、相关工作

1、NVI新视角插值

2、稀疏视角重建

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。

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

    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/922770.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Azkaban部署

首先我们需要现在相关的组件,在这里已经给大家准备好了相关的安装包,有需要的可以自行下载。 只需要启动hadoop集群就可以,如果现在你的hive是打开的,那么请你关闭!!! 如果不关会造成证书冲突…

目标检测模型优化与部署

目录 引言数据增强 随机裁剪随机翻转颜色抖动 模型微调 加载预训练模型修改分类器训练模型 损失函数 分类损失回归损失 优化器算法思路 RPN (Region Proposal Network)Fast R-CNN损失函数 部署与应用 使用 Flask 部署使用 Docker 容器化 参考资料 引言 目标检测是计算机视觉…

Charles抓包工具-笔记

摘要 概念: Charles是一款基于 HTTP 协议的代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果来达到分析抓包的目的。 功能: Charles 是一个功能全面的抓包工具,适用于各种网络调试和优化场景。 它…

java: itext8.05 create pdf

只能调用windows 已安装的字体,这样可以在系统中先预装字体,5.0 可以调用自配文件夹的字体文件。CSharp donetItext8.0 可以调用。 /*** encoding: utf-8* 版权所有 2024 ©涂聚文有限公司 言語成了邀功盡責的功臣,還需要行爲每日來值班…

Kafka 生产者优化与数据处理经验

Kafka:分布式消息系统的核心原理与安装部署-CSDN博客 自定义 Kafka 脚本 kf-use.sh 的解析与功能与应用示例-CSDN博客 Kafka 生产者全面解析:从基础原理到高级实践-CSDN博客 Kafka 生产者优化与数据处理经验-CSDN博客 Kafka 工作流程解析&#xff1a…

C高级学习笔记

……接上文 硬链接和软连接(符号链接) 硬链接 硬链接文件可以理解为文件的副本(可以理解为复制粘贴) ln 根据Linux系统分配给文件的inode(ls -li)号进行建立,没有办法跨越文件系统 格式:ln 被链接的文件&am…

Java基于SpringBoot+Vue的藏区特产销售平台

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

vim 分割窗口后,把状态栏给隐藏

一、基本环境 主机MacOs Sonoma 14.7主机终端Iterm2虚拟机Parallels Desktop 20 for Mac Pro Edition 版本 20.0.1 (55659)虚拟机-操作系统Ubuntu 22.04 最小安装 二、分割窗口后的截图,红色线条部分就是状态栏 分割后个布局是:顶部1行高度窗口&#x…

【数据结构】【线性表】栈的基本概念(附c语言源码)

栈的基本概念 讲基本概念还是回到数据结构的三要素:逻辑结构,物理结构和数据运算。 从逻辑结构来讲,栈的各个数据元素之间是通过是一对一的线性连接,因此栈也是属于线性表的一种从物理结构来说,栈可以是顺序存储和顺…

OpenOCD之J-Link下载

1.下载USB Dirver Tool.exe,选择J-Link dirver,替换成WinUSB驱动。(⭐USB Dirver Tool工具可将J-Link从WinUSB驱动恢复为默认驱动⭐) 下载方式 ①官方网址:https://visualgdb.com/UsbDriverTool/ ②笔者的CSDN链接&…

【JavaEE初阶 — 多线程】定时器的应用及模拟实现

目录 1. 标准库中的定时器 1.1 Timer 的定义 1.2 Timer 的原理 1.3 Timer 的使用 1.4 Timer 的弊端 1.5 ScheduledExecutorService 2. 模拟实现定时器 2.1 实现定时器的步骤 2.1.1 定义类描述任务 定义类描述任务 第一种定义方法 …

ssm168基于jsp的实验室考勤管理系统网页的设计与实现+jsp(论文+源码)_kaic

毕 业 设 计(论 文) 题目:实验室考勤管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本实验室考勤管…

原生微信小程序在顶部胶囊左侧水平设置自定义导航兼容各种手机模型

无论是在什么手机机型下,自定义的导航都和右侧的胶囊水平一条线上。如图下 以上图iphone12,13PRo 以上图是没有带黑色扇帘的机型 以下是调试器看的wxml的代码展示 注意:红色阔里的是自定义导航(或者其他的logo啊,返回之…

Python 获取微博用户信息及作品(完整版)

在当今的社交媒体时代,微博作为一个热门的社交平台,蕴含着海量的用户信息和丰富多样的内容。今天,我将带大家深入了解一段 Python 代码,它能够帮助我们获取微博用户的基本信息以及下载其微博中的相关素材,比如图片等。…

springcloud alibaba之shcedulerx实现分布式锁

文章目录 1、shcedulerx简介2、基于mysq分布式锁实现3、注解方式使用分布式锁4、编码方式使用分布式锁 1、shcedulerx简介 springcloud alibaba shcedulerx看起来有点像xxl job那样的任务调度中间件,其实它是一个分布式锁框架,含有两种实现一种基于DB实…

【LLM训练系列02】如何找到一个大模型Lora的target_modules

方法1:观察attention中的线性层 import numpy as np import pandas as pd from peft import PeftModel import torch import torch.nn.functional as F from torch import Tensor from transformers import AutoTokenizer, AutoModel, BitsAndBytesConfig from typ…

Selenium的八种定位方式

1. 通过 ID 定位 ID 是最直接和高效的方式来定位元素,因为每个页面中的 ID 应该是唯一的。 from selenium import webdriverdriver webdriver.Chrome(executable_pathpath/to/chromedriver) driver.get(https://example.com)# 通过 ID 定位 element driver.find…

MySQL底层概述—1.InnoDB内存结构

大纲 1.InnoDB引擎架构 2.Buffer Pool 3.Page管理机制之Page页分类 4.Page管理机制之Page页管理 5.Change Buffer 6.Log Buffer 1.InnoDB引擎架构 (1)InnoDB引擎架构图 (2)InnoDB内存结构 (1)InnoDB引擎架构图 下面是InnoDB引擎架构图,主要分为内存结构和磁…

丹摩|丹摩智算平台深度评测

1. 丹摩智算平台介绍 随着人工智能和大数据技术的快速发展,越来越多的智能计算平台涌现,为科研工作者和开发者提供高性能计算资源。丹摩智算平台作为其中的一员,定位于智能计算服务的提供者,支持从数据处理到模型训练的全流程操作…

基于企业微信客户端设计一个文件下载与预览系统

在企业内部沟通与协作中,文件分享和管理是不可或缺的一部分。企业微信(WeCom)作为一款广泛应用于企业的沟通工具,提供了丰富的API接口和功能,帮助企业进行高效的团队协作。然而,随着文件交换和协作的日益增…