GS-LRM: Large Reconstruction Modelfor 3D Gaussian Splatting 论文解读

news2024/11/23 14:51:15

目录

一、概述

二、相关工作

1、多视图的三维重建

2、前馈重建

三、LRM

1、编码器

2、解码器

3、NeRF渲染

四、GS-LRM 

1、输入处理

2、Transformer

3、损失函数

五、实验

六、局限


一、概述

        该论文提出了一种利用稀疏输入图像高效预测3D高斯原语的方法,也是第一个基于Transformer架构以及大量数据集生成通用,可扩展的,高效的3DGS大型重建模型的方法GS-LRM,他的前身是LRM。

(1)将输入图像分块为patch tokens,并且通过自注意力和MLP层的transformer来处理,最终回归3DGS原语参数。

(2)可以应用于不同数据集上训练处理物体和场景捕获,并且达到SOTA水平。

二、相关工作

1、多视图的三维重建

        以往的三维重建包括稀疏视角下的重建SfM和密集场景下的重建MVS,都是基于点云的且渲染效果不佳。

        近期深度学习发展,也诞生了基于深度学习的MVS,并且运用前馈的方式达到高质量渲染。

        对于该论文,最重要的点就是通过多视角的transformer来生成3DGS原语,在保证渲染质量的同时,满足更大的数据量,这也是以往使用成本体积方法的一大挑战。

2、前馈重建

        以往的前馈重建考虑基于CNN的方法使用point splatting或者不透明度生成的方式来估计点或者多视角图像(MPIs),而我们采用GS splatting的方式,相当于结合了这两种方法,并且进行又一次创新。

        LRM方法基于三平面NeRF作为场景表示,存在分辨率受限和渲染效率低问题。

        PixelSplat使用epipolar-based的方法,更加关注场景级别重建,LGM使用U-Net的方法更加关注对象的生成。

        该论文直接用一个通用的Transformer来回归3DGS原语,密集的自注意力层更为有效的学习多视角和一般的重建先验(深度,光追),渲染效果也优于epipolar-based和U-Net-based的并行工作。

三、LRM

        LRM网络架构分为三个部分:编码器(单图像->图像特征),解码器(图像特征->三维三平面空间表示),NeRF渲染(三平面表示->渲染神经辐射场)

1、编码器

        编码器使用一个自蒸馏训练的模型DINO,用来学习图像中显著内容的结构和纹理,相比于ResNet,DINO能够表示更为精细的结构和纹理信息;相比于使用普通的ViT或者CLIP一类聚合特征的方法,LRM使用了整个特征序列,保留序列信息。

        DINO模型采用ViT-B/16架构,将图像编码为1025个token,每个token为32*32*768,图像特征为h_i

2、解码器

        首先我们处理相机特征为c,相机特征为一个20维参数向量,包括4*4相机外参矩阵flatten后的16维,相机焦距2维,相机主点2维。之后将相机特征引入一个MLP中映射为一个高维相机嵌入\tilde{c}

        然后将相机嵌入\tilde{c}与图像特征h_i进行concat,得到三平面隐藏特征f^{init},或者叫可学习的嵌入,通道为1024维。

        将f^{init}输入到解码器,解码器由三部分构成,交叉注意力、自注意力、MLP三部分,其中交叉注意力与原始图像特征进行交叉注意运算,经过每一个部分都要使用高维相机嵌入\tilde{c}对隐藏特征f^{init}进行自适应归一化操作,来调制隐藏特征。最终保证输出编码器的特征为1024维特征。

3、NeRF渲染

        将编码器的输出经过反卷积+上采样,得到三平面特征,并通过MLP回归得到NeRF渲染参数,通过体渲染得到3D模型。

四、GS-LRM 

        GS-LRM相较于LRM最大的提高在于,不再使用原有的encoder-decoder框架,而是使用完全基于transformer的架构。

1、输入处理

        对于同一物体,每次使用多视角图片叠加Plucker光线作为输入(一般是四视角),对于图片的处理类似于ViT,将图片进行进行9通道的拆分,然后将9通道进行concat后放入线性层升维到高维特征。

2、Transformer

        对于输入图像张量引入L层的Transformer模块,不断重复Transformer模块,输出特征T_{ij}^L

        将特征输入到线性层,回归输出每个像素的12个高斯参数,包括3维RGB,3维尺度变化,4维旋转四元数、1维不透明度、1维光线距离。

        利用12个高斯参数对每个像素进行渲染,得到Merged Gaussians完整的3DGS模型。

3、损失函数

        损失函数使用MSE和基于VGG的LPIPS。

五、实验

        对于场景数据论文使用Objaverse数据集训练,并使用Amazon Barkeley数据集和Google数据集进行推理,对于对象数据集完全依赖于Realstate10K。

        在场景数据集(ABO和GSO数据集)和对象数据集(RealState10k)上都取得了SOTA性能。

六、局限

        局限包括三个部分:分辨率限制,相机参数已知,无法估计不可见部分而出现重建幻觉。

参考1:LRM: Large Reconstruction Model for Single Image to 3D 

参考2:GS-LRM: Large Reconstruction Model for 3D Gaussian Splatting

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构-5.6.二叉树的先,中,后序遍历

一.遍历: 二.二叉树的遍历:利用了递归操作 1.简介: 二叉树的先序遍历,中序遍历,后序遍历都是以根结点遍历顺序为准的,如先序遍历就先遍历根结点 2.实例: 例一: 例二: …

【LeetCode】动态规划—188. 买卖股票的最佳时机 IV(附完整Python/C++代码)

动态规划—188. 买卖股票的最佳时机 IV 题目描述前言基本思路1. 问题定义交易规则: 2. 理解问题和递推关系两种情况:状态定义:状态转移方程:初始条件: 3. 解决方法动态规划方法特殊情况:当 k 大于等于 pric…

【最新华为OD机试E卷-支持在线评测】构成正方形的数量(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 💻 ACM金牌🏅️团队 | 大厂实习经历 | 多年算法竞赛经历 ✨ 本系列打算持续跟新华为OD-E/D卷的多语言AC题解 🧩 大部分包含 Python / C / Javascript / Java / Cpp 多语言代码 👏 感谢大家的订阅➕ 和 喜欢�…

(全网独家)面试要懂运维真实案例:HDFS重新平衡(HDFS Balancer)没触发问题排查

在面试时,面试官为了考察面试者是否真的有经验,经常会问运维集群时遇到什么问题,解决具体流程。下面是自己遇到HDFS Balancer没执行,花了半天时间进行排查,全网独家的案例和解决方案。 目录 使用CDH自带重新平衡操作…

数据结构 ——— 顺序表oj题:最长公共前缀

目录 题目要求 代码实现 题目要求 编写一个函数来查找字符串数组中的最长公共前缀,如果不存在公共前缀,返回空字符串 "" 代码实现 代码演示: void CommonPrefix(char** strs, int strsSize, char* returnStr) {char* first_r…

利用session机制造测试账号,无需前端也可以测试后端接口

适用场景:我们在测试的时候经常会遇到前端还没有开发完毕,后端已经结束开发了,但是后端的有些接口是需要特定的账号身份调用才会生效,此时因为前端未开发完毕,所以我们不能通过web页面进行登录,那么如何解决…

【Python Django + Vue】酒店在线预订系统:用技术说话!

🎓 作者:计算机毕设小月哥 | 软件开发专家 🖥️ 简介:8年计算机软件程序开发经验。精通Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等技术栈。 🛠️ 专业服务 🛠️ 需求定制化开发源码提…

Parallels Desktop意外退出,Parallels Desktop安装软件很卡闪退怎么办?

Parallels Desktop是目前很优秀的虚拟机软件,操作简单,兼容性强而且安装也非常方便,备受苹果用户的喜爱和满意。然而,部分用户在使用Parallels Desktop的时候,会遇到意外退出或终端关机的情况,这不仅会影响…

VS2017 编译 SQLite3 动态库

首先官方下载源码: Tags sqlite/sqlite (github.com) 1.安装 VS2017 community edition 2.打开VS2017命令行工具 3.安装TCL 开发库,推荐 TCL 9.0 先下载源码: Tcl/Tk 9.0 使用vs2017编译tcl&

CRC码计算原理:按位讲解计算过程

CRC8 这里先以CRC8来说明CRC的计算过程 1、CRC8在线计算器 通过CRC在线计算器可以看见CRC8的特征多项式:x8x2x1,初始值为0000’0000。 CRC计算的核心是:反转异或移位(此处的CRC8没有涉及反转,见后面CRC16&#xff0…

基于Langchain框架下Prompt工程调教大模型(LLM)[输入输出接口、提示词模板与例子选择器的协同应用

大家好,我是微学AI,今天给大家介绍一下基于Langchain框架下Prompt工程调教大模型(LLM)[输入输出接口、提示词模板与例子选择器的协同应用。本文深入探讨了Langchain框架下的Prompt工程在调教LLM(大语言模型)方面的应用&#xff0c…

C++入门基础知识110—【关于C++嵌套 if 语句】

成长路上不孤单😊😊😊😊😊😊 【14后😊///C爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于C 嵌套 if 语句的相关内容! …

全院级、流程化的医院安全不良事件管理系统源码——等级医院评审工作的辅助工具

前言: 冰山理论”指出“每件严重不良事件背后可能隐藏着10件轻微的不良事件”“存在30件未造成伤害的差错可能存在600件引发意外的异常事件”没有一件不良事件应该被忽视! 一项研究也指出95%医生曾目睹错误的发生,61%的医务人员认为医疗错误…

WebGL 小白入门学习

1. WebGL是什么? WebGL(Web Graphics Library)是一种JavaScript API,它允许你在不需要安装任何额外插件的情况下,直接在浏览器中渲染高性能的2D和3D图形。WebGL利用了用户的图形处理单元(GPU)来…

Unity 3d 鼠标设置的问题——隐藏/显示鼠标、锁定/解锁/限制鼠标、自定义鼠标形状

在unity开发的过程中,我们常常会遇到一些问题,有时会发现鼠标不见了,有时发现鼠标在屏幕中心不能动,有时又想有图片自己定义一个鼠标形状。本文将对这些问题逐一进行探讨。 一、设置鼠标的可见性 使用语句: Cursor.vis…

网络初识基本概念总结

网络发展背景 经历了 单机阶段 -> 局域网阶段 -> 广域网阶段 -> 移动互联网阶段 (简单介绍一下) 其他一些小概念 局域网LAN: 是把一些设备通过交换机 / 路由器连接, 形成的私有网络广域网WAN: 是把更多的局域网相互连接起来,当规模足够大时形成广域网交换机和路由器…

Rhymes AI发布首款开源多模态AI模型Aria 性能超越GPT-4o mini等多家知名AI模型

最近,日本东京的初创公司 Rhymes AI 推出了他们的首款人工智能模型 ——Aria。该公司自称,Aria 是全球首个开源的多模态混合专家(MoE)模型。这个模型不仅具有处理多种输入模态的能力,还声称在能力上与一些知名的商业模…

大一高等数学速成指南

大一高等数学速成指南 高等数学作为大学理工科学生的基础课程,对于许多新生来说,既是挑战也是机遇。本文将为你提供一个高效的学习指南,帮助你快速掌握高等数学的核心内容。 1. 理解课程大纲 首先,你需要了解高等数学的课程大纲…

Linux(1. 基本操作_命令)

目录 关于超级用户root: root用户可以做什么? 避免灾难: 格式约定: 浏览硬盘: 命令行补全和通配符: 命令行补全: 通配符: 常用基本命令: 查看目录和文件&#xff…

使用SpringMVC搭建WEB项目时报错404的问题排查解决以及web.xml配置文件init-param行标红问题

一、使用SpringMVC搭建WEB项目时报错404的问题排查解决 很早前(4年前)就把这个搭建过,但今天运行的时候就是报404错误,见文章: JAVA开发中SpringMVC框架的使用及常见的404问题原因以及SpringMVC框架基于注解的开发实例…