HexPlane: A Fast Representation for Dynamic Scenes一种动态场景的快速表示方法

Abstract

动态三维场景的建模与再现是三维视觉领域的一个具有挑战性的课题。先前的方法基于 NERF 并依赖于隐式表示这是缓慢的,因为它需要许多 MLP 评估,限制真实世界的应用程序。我们展示了动态三维场景可以明确地表示为六个平面的学习功能,导致一个优雅的解决方案,我们称为 Hex刨面一个 Hex刨面通过融合从每个平面提取的向量来计算时空点的特征,这是非常有效的。通过微小的 MLP 配对一个 HexPlann 来回归输出颜色,并通过立体渲染进行训练,可以在动态场景中获得令人印象深刻的新视图合成效果,与之前工作的图像质量相匹配,但减少了100多倍的训练时间。广泛的消融证实了我们的 Hex刨设计,并表明它是健壮的不同的特征融合机制,坐标系统和解码机制。Hex刨是一个简单而有效的四维体量表示方案,我们希望它能够为动态三维场景的时空建模做出广泛的贡献
在这里插入图片描述
图1。用于动态三维场景的 Hex刨面。我们没有从深度 MLP 中回归颜色和不透明度,而是通过 HexPlann 显式地计算时空点的特征。配对一个微小的 MLP,它允许以上100倍加速匹配的质量。

1. Introduction

从一组二维图像中重建和再现三维场景是一个核心视觉问题,它可以实现多种 AR/VR 应用。最近几年,在重建静态场景方面取得了巨大的进展,但这种假设是有限的: 真实世界是动态的,在复杂的场景中,运动是常态,而不是例外。目前许多表示动态3D 场景的方法依赖于内隐表示,建立在 NeRF的基础上。他们训练一个大型多层感知器(MLP) ,输入点在空间和时间中的位置,并输出点的颜色[28,29]或变形到规范的静态场景。在这两种情况下,从新视图渲染图像是昂贵的,因为每个生成的像素需要许多 MLP 评估,训练同样缓慢,需要多达数天的 GPU 时间来建模一个单一的动态场景; 这种计算瓶颈阻碍了这些方法的广泛应用。
最近的几种静态场景建模方法已经通过显式和混合方法在 NeRF 上展示了巨大的加速效果。这些方法使用显式的空间数据结构来存储显式的场景数据或由微小 MLP 解码的特征。这使模型的容量与速度分离,并允许实时渲染高质量的图像。虽然有效,这些方法迄今为止只应用于静态场景。
本文在静态场景研究的基础上,设计了一种动态三维场景的显式表示方法。为此,我们设计了一个存储场景数据的时空数据结构。它必须克服两个关键的技术挑战。首先是内存使用情况。我们必须在空间和时间上对所有点进行建模,在密集的4D 网格中简单地存储数据将按照网格分辨率的第四次方进行扩展,这对于大场景或长时间的场景是不可行的。其次是稀疏的观察。在静态场景中移动单个摄像机可以获得密集覆盖场景的视图; 相反,在动态场景中移动摄像机每个时间步只能获得一个视图。独立处理时间步骤可能会给高质量重建提供不足的场景覆盖,因此我们必须跨时间步骤共享信息。
我们克服了这些挑战,我们的新颖的 Hex刨架构。受到静态场景的分解表示[5,7,51]的启发,HexFlight 将4D 时空网格分解为跨越每对坐标轴(例如 XY,ZT)的六个特征平面。六维平面计算时空中一个4D 点的特征向量,方法是将该点投影到每个特征平面上,然后将得到的六个特征向量聚合在一起。然后将融合特征向量传递给一个微小的 MLP,MLP 预测点的颜色,然后可以通过立体渲染来呈现新的视图。尽管 Hex刨简单,但它为上述挑战提供了一个优雅的解决方案。由于它的分解表示,一个 HexPlanes 的内存占用只能按照场景分辨率的二次规模进行调整。此外,每个平面的分辨率可以独立调整,以考虑到场景需要在空间和时间上的可变容量。由于有些平面只依赖于空间坐标(例如 XY) ,HexPlane 通过构造鼓励跨不相交的时间步长共享信息。
实验结果表明,Hex刨面是一种有效的动态场景新视点合成方法。在具有挑战性的全光视频数据集[28]上,我们匹配了先前工作的图像质量,但将训练时间提高了 > 100倍; 我们还在单目视频数据集上优于先前的方法[54]。广泛的消融验证了我们的 Hexlane 设计,并且证明了它对不同的特征融合机制、坐标系统(矩形对球形)和解码机制(球谐函数对 MLP)都有很强的鲁棒性。Hex刨是动态场景的一种简单、明确和通用的表示形式。它对下面的场景做了最小的假设,并且不依赖于变形场或特定类别的先验。除了改进和加速视图合成之外,我们希望六平面能够在动态场景的广泛研究中发挥作用[61]。

2. Related Work

Neural Scene Representations.
利用神经网络隐式表示三维场景近年来取得了令人兴奋的进展。NeRF [42]及其变体[2,3,40,44,69,71,80,87]在新视图合成[9,75,82,94]以及包括3D 重建[38,67,85,89,95]、语义分割[25,55,93]、生成模型[5,6,10,45,58,77]和3D 内容创建[1,22,30,48,53,72,86]等许多其他应用方面显示出令人印象深刻的结果。
隐式神经表示具有显著的渲染质量,但是由于每个像素需要大量昂贵的 MLP 评估,它们的渲染速度较慢。为了应对这一挑战,许多最近的论文提出了混合表示法,将快速显式场景表示与可学习的神经网络组件相结合,提供了比纯隐式方法更显著的加速效果。已经研究了各种明确的表示,包括稀疏体素[14,34,59,66] ,低秩分量[5,7,31,51] ,点云[4,21,79,92,96]和其他[8,36,43,68,90]。然而,这些方法假设静态的3D 场景,留下显式的表示动态场景未被探索。本文提供了一个动态场景的显式模型,实质上加速了依赖于完全隐式方法的先验方法。
Neural Rendering for Dynamic Scenes.
通过神经辐射场来表示动态场景是 NeRF 的一个重要扩展,使得许多实际应用成为可能[27,47,52,65,78,84,91]。一项研究通过扩展带有额外时间维度(T-NeRF)或额外潜伏代码的 NERF 来表示动态场景[16,28,29,76]。尽管能够代表一般类型的变化,他们遭受严重的限制问题,需要额外的监督,如深度,光流或密集的观察体面的结果。另一条研究路线使用单个 MLP 来表示变形场和规范场[11,49,50,54,70,83] ,其中规范场描绘静态场景,变形场随着时间学习到规范空间的坐标图。我们提出了一个简单而优雅的解决方案的动态场景表示使用六个特征平面,对底层场景作出最小的假设。最近,MAV3D [61]采用了我们的文本到4D 的动态场景生成设计,展示了超越重建的动态场景的令人兴奋的方向。
Accelerating NeRFs
在不同的阶段,人们提出了许多加速 NeRF 的工作。有些方法通过优化计算来提高训练后的 NeRFs 的推理速度[18,20,56,81]。其他人通过学习一个可推广的模型来减少训练时间[9,24,74,75]。最近,通过使用显式-隐式表示,两个阶段的渲染速度大大降低[5,7,14,33,43,66]。根据这一思想,我们提出了一种动态场的显式表示来加速动态 NeRFs。
最近,一些并发的工作旨在加速动态 NeRFs。[12,15,19,32,73]使用时间件 MLP 从规范空间回归时空点的颜色或变形。然而,对于动态场,它们仍然是部分隐式的,因为它们依赖于具有时间输入的 MLP 来获得时空特征。相比之下,我们的文章提出了一个更优雅和有效的显式表示动态领域没有使用时间感知 MLP。像[26]一样,NeRFPlayer [64]在每个步骤中使用高度紧凑的3D 网格进行4D 字段表示,这导致了长视频的大量内存成本。
Tensor4D [60]与我们的想法相似,它用9个平面和多个 MLP 表示动态场景。DTensoRF [23]将动态场看作是5D 张量,并对它们进行 CP/MM 分解以实现紧致表示。我们的文章是最密切相关的 K 平面[13] ,它也使用六个特征平面的表示。在这里插入图片描述
图2。方法概述。Hex刨包含六个特征平面,跨越每对坐标轴(例如 XY,ZT)。为了计算时空点的特征,它将从配对平面中提取的特征向量相乘,并将相乘的结果连接成一个向量,然后再乘以 VRF 得到最终的结果。使用微小 MLP 从点特征回归 RGB 颜色,并通过体绘制合成图像。通过渲染图像和目标图像之间的光度损失训练六平面和 MLP。

3. Method(见手写稿)

给定一组动态场景的姿态和时间戳图像,我们的目标是拟合一个场景模型,允许在新的姿态和时间渲染新的图像。像 NeRF [42]一样,模型为时空中的点提供颜色和不透明度; 图像通过沿射线的可微体绘制呈现。该模型使用渲染图像和地面真实图像之间的光度损失进行训练。

我们的主要贡献是提出了一种新的动态三维场景的显式表示方法,并结合一种小型隐式 MLP 算法来实现动态场景中的新视图合成。利用输入时空点有效地查询特征向量的显式表示。一个微小的 MLP 接收特征以及点坐标和视图方向,并回归点的输出 RGB 颜色。图2显示了模型的概述。
设计一个动态3D 场景的显式表示是具有挑战性的。静态3D 场景通常由点云、体素或网格来建模,而动态场景的显式表示则不然。我们展示了如何通过简单的 Hex刨面表示来克服内存使用和稀疏观测的关键技术挑战。
3.1. 4D Volumes for Dynamic 3D Scenes
3.2. Linear Basis for 4D Volume
3.3. HexPlane Representation
3.4. Optimization
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

更新两种分解方法(TensoRF中所阐述)---------2024/7/5

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

【重磅】万能模型-直接能换迪丽热巴的模型

万能模型,顾名思义,不用重新训练src,直接可以用的模型,适应大部分原视频脸 模型用法和正常模型一样,但可以跳过训练阶段!直接到合成阶段使用该模型 本模型没有做Xseg,对遮挡过多的画面不会自动适…

信创-系统架构师认证

随着国家对信息技术自主创新的战略重视程度不断提升,信创产业迎来前所未有的发展机遇。未来几年内,信创产业将呈现市场规模扩大、技术创新加速、产业链完善和国产化替代加速的趋势。信创人才培养对于推动产业发展具有重要意义。应加强高校教育、建立人才…

2.4章节python中字符串类型

在Python中,字符串(String)是一种基本的数据类型,用于表示文本信息。字符串可以包含字母、数字、标点符号或任何Unicode字符。Python中的字符串是不可变的,这意味着一旦创建了字符串,就不能更改字符串中的字…

2007年下半年软件设计师【上午题】试题及答案

文章目录 2007年下半年软件设计师上午题--试题2007年下半年软件设计师上午题--答案2007年下半年软件设计师上午题–试题

YOLOV++ 详解 | 网络结构、代码解析、YOLOV 论文阅读、初识 VID

前言 代码地址:https://github.com/YuHengsss/YOLOV 本文网络结构按 YOLOV SwinTiny 绘制,不同的模型主要差异在于 Backbone,VID 相关的部分基本相同。 Predict Input 代码基于 vid_demo。首先会读取视频中的所有帧(只能用短视频…

亚马逊跟卖ERP的自动调价功能,能够简易地批量设置价格规则。

跟卖的智能调价 跟卖智能调价简单说是可以上调,下调就是怎么说?上调就是它根靠根据市场最低的价格情况进行去上调。 然后添加指定条件,到工具栏找到指定条件,点击添加指定条件。 然后选择店铺,比如选择店铺&#xf…

p-tuning算法介绍及其pytorch代码实现

P-tuning介绍 代码实现 import torch from transformers import BertTokenizer, BertForSequenceClassification import matplotlib.pyplot as plt import matplotlib.ticker as tickertokenizer BertTokenizer.from_pretrained(bert-base-chinese) model BertForSequenceCl…

Games101学习笔记 Lecture 15: Ray Tracing 3 (Light Transport Global Illumination)

Lecture 15: Ray Tracing 3 (Light Transport & Global Illumination 一、BRDF 双向反射分布函数定义 二、反射方程 Reflection Equation三、渲染方程1.重写反射方程2.当其他的点反射的radiance作为入射 一、BRDF 双向反射分布函数 定义 计算不同的反射方向上会分布多少能…

竹云实力入选《现代企业零信任网络建设应用指南报告》代表性厂商

2024年7月3日,国内网络安全媒体安全牛正式发布《现代企业零信任网络建设应用指南报告(2024版)》。竹云凭借在零信任领域创新性的产品方案和优异的市场表现,实力入选代表性厂商。 伴随着云计算、AI、大数据等技术的发展,远程办公、业务协同、…

遗漏知识点

什么是RAII? RAII是Resource Acquisition Is Initialization(wiki上面翻译成 “资源获取就是初始化”)的简称,是C语言的一种管理资源、避免泄漏的惯用法。利用的就是C构造的对象最终会被销毁的原则。RAII的做法是使用一个对象&am…

西门子PLC1200--与电脑S7通讯

硬件构成 PLC为西门子1211DCDCDC 电脑上位机用PYTHON编写 二者通讯用网线,通讯协议用S7 PLC上的数据 PLC上的数据是2个uint,在DB1,地址偏移分别是0和2 需要注意的是DB块要关闭优化的块访问,否则是没有偏移地址的 PLC中的数据内…

VCS+Vivado联合仿真BUG

场景: 在vcsvivado联合仿真过程中,对vivado导出的shell脚本修改,修改某些source文件路径,vcs编译时会报Permission Denied。 问题描述 对shell脚本修改如下: 修改仅为注释掉某一行,下面变为source文件新…

【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【20】认证服务04—SSO单点登录

持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【20】认证服务04—SSO单点登录 xxl-sso多系统-单点登录单点登录流程原理图单点登录流程简单实现参考 xxl-sso https://gitee.com/xuxueli0323/xxl-sso xxl-sso是开源的一个单点登录框架 …

交换机基本原理

文章目录 前言一、交换机的转发行为二、交换机的转发原理1.MAC地址表2.交换机初始状态3.学习MAC地址4.ARP协议5.交换机转发数据帧6.目标主机回复 三、华为交换机基本命令1.VRP视图分层2.命令行补全3.命令行帮助4.配置设备名称5.命令等级6.用户界面7.配置console认证8.配置用户界…

Ubuntu系统复制文件到共享文件夹出错

1、问题描述 Ubuntu系统复制文件到共享文件夹时,出现拼接文件时出错:输入/输出错误。 使用cp命令: cp -Rf XXX YYY 也是出错: cp: 写入 xxx 出错: 输入/输出错误 2、查看磁盘空间 查看磁盘空间,显示空间还有剩余…

Day05-组织架构-角色管理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1.组织架构-编辑部门-弹出层获取数据2.组织架构-编辑部门-编辑表单校验3.组织架构-编辑部门-确认取消4.组织架构-删除部门5.角色管理-搭建页面结构6.角色管理-获取数…

第一次的pentest show总结

第一次的pentest show总结 前言 开始之前,我特别感谢TryHackMe(英)、HackTheBox(美)、zero-point security(英)、offsec(美)等平台,使我们能够通过网络以线上的方式学习与练习,打破传统线下各地区教育资源差异大的限制,对网络教…

探索Sui的面向对象模型和Move编程语言

Sui区块链作为一种新兴的一层协议(L1),采用先进技术来解决常见的一层协议权衡问题。Cointelegraph Research详细剖析了这一区块链新秀。 Sui使用Move编程语言,该语言专注于资产表示和访问控制。本文探讨了Sui的对象中心数据存储模…

Python从0到100(三十七):数据提取的概念和数据分类

1. 爬虫中数据的分类 在爬虫开发过程中,我们会遇到多种类型的数据。了解这些数据的类型对于有效地提取和解析信息至关重要。 结构化数据 结构化数据是指具有固定格式和模式的数据,常见的结构化数据格式包括JSON和XML。 处理方式:可以直接转换为Python的字典或列表等数据类…

【UML用户指南】-27-对体系结构建模-制品

目录 1、组成结构 2、制品的种类 2.1、部署制品 (deployment artifact) 2.2、工作产品制品 (work product artifact) 2.3、执行制品 (execution artifact) 3、标准元素 4、常用建模技术 4.1、对可执…