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

news2024/11/23 21:04:43

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.coloradmin.cn/o/1898713.html

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

相关文章

[FFmpeg] windows下安装带gpu加速的ffmpeg

1.显卡能力排查 目前只有 NIVIDIA 支持 ffmpeg 的 gpu加速(AMD貌似也陆续开始支持)。 在下述网站中查找自己的显卡能够支持的编解码格式。https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-newhttps://developer.nvidia.com/video-encode-and-decod…

学习测试1

计算机基础 1、计算机范式:冯诺依曼机 2、存储单元 bit、byte、KB、MB、GB3、网络 ip、域名、ping 域名、 ipconfig测试工作的流程 ------------------------------------------------------------------------------------------- 一 编写测试大纲 罗列测试…

《昇思25天学习打卡营第10天|使用静态图加速》

文章目录 今日所学:一、背景介绍1. 动态图模式2. 静态图模式 三、静态图模式的使用场景四、静态图模式开启方式1. 基于装饰器的开启方式2. 基于context的开启方式 总结: 今日所学: 在上一集中,我学习了保存与加载的方法&#xff…

《数字图像处理-OpenCV/Python》第17章:图像的特征描述

《数字图像处理-OpenCV/Python》第17章:图像的特征描述 本书京东 优惠购书链接 https://item.jd.com/14098452.html 本书CSDN 独家连载专栏 https://blog.csdn.net/youcans/category_12418787.html 第17章:图像的特征描述 特征检测与匹配是计算机视觉的…

ASUS/华硕枪神4 G532L G732L系列 原厂win10系统 工厂文件 带F12 ASUS Recovery恢复

华硕工厂文件恢复系统 ,安装结束后带隐藏分区,一键恢复,以及机器所有驱动软件。 系统版本:Windows10 原厂系统下载网址:http://www.bioxt.cn 需准备一个20G以上u盘进行恢复 请注意:仅支持以上型号专用…

植物大战僵尸融合版最新版1.0下载及安装教程

《植物大战僵尸融合版》最新版1.0已经发布,为粉丝们带来了全新的游戏体验。这个版本由B站UP主蓝飘飘fly精心打造,引入了创新的植物融合玩法,让玩家可以享受策略和创意的结合。以下是游戏的详细介绍和安装指南: 游戏特色介绍 全新…

建智慧医院核心:智能导航系统的功能全析与实现效益

在数字化转型的浪潮中,智慧医院的建设是医疗行业数字化转型的关键步骤。随着医院规模的不断扩大和医疗设施的日益复杂,传统的静态不连续的导航方式已无法满足患者的需求。院内智能导航系统,作为医疗数字化转型的关键组成部分,正逐…

【ABB】控制器语言切换

【ABB】控制器语言切换 操作流程演示 操作流程 点击【菜单】点击【Control Panel】点击【Language】点击【Chinese】点击【OK】此时会弹出弹窗,点击【YES】此时控制器会重启,重启完成就是中文了 演示 点击【菜单】 点击【Control Panel】 点击【Langua…

Vue3学习笔记(n.0)

vue指令之v-for 首先创建自定义组件&#xff08;practice5.vue&#xff09;&#xff1a; <!--* Author: RealRoad1083425287qq.com* Date: 2024-07-05 21:28:45* LastEditors: Mei* LastEditTime: 2024-07-05 21:35:40* FilePath: \Fighting\new_project_0705\my-vue-app\…

c++ 里如何检测内存泄露:比如用了 new ,但没有用 delete

&#xff08;1 方法一&#xff09; 用 MFC 框架的 F5 不带断点的调试。可以在输出窗口提示是否有内存泄露。 &#xff08;2 方法二&#xff09; &#xff0c;在 main 函数中添加如下代码&#xff0c;用 F5 不带断点的调试&#xff1a; int main() {_CrtSetDbgFlag( _CRTDBG_A…

strcpy,srtcmp,strlen函数漏洞利用

strcpy,srtcmp,strlen函数漏洞利用 strcpy strcpy函数用于将字符串复制到另一个指针指向的空间中&#xff0c;遇到空字符 **b’x\00’**时停止&#xff0c;&#xff1a; 所以可以利用 strcpy不检查缓冲区 的漏洞&#xff08;构造的字符串要以\0结尾&#xff09;&#xff0c;…

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

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

hnust 1815: 算法10-6~10-8:快速排序

hnust 1815: 算法10-6~10-8&#xff1a;快速排序 题目描述 快速排序是对起泡排序的一种改进。它的基本思想是&#xff0c;通过一趟排序将待排序的记录分割成两个独立的部分&#xff0c;其中一部分记录的关键字均比另一部分的关键字小&#xff0c;在分成两个部分之后则可以分别…

C语言_操作符

目录 算术操作符 移位操作符 位操作符 赋值操作符 单目操作符 关系操作符 逻辑操作符 条件操作符 逗号表达式 下标引用&#xff0c;函数调用&#xff0c;结构成员 表达式求值 隐式类型转换 算术转换 操作符的属性 练习题 代码仓库 算术操作符 加()&#x…

WAIC上官宣!大模型语料提取工具MinerU正式发布,开源免费“敲”好用

7月4日&#xff0c;2024 WAIC科学前沿全体会议在上海世博中心红厅隆重举行。上海人工智能实验室与商汤科技联合香港中文大学和复旦大学正式发布新一代大语言模型书⽣浦语2.5&#xff08;InternLM2.5&#xff09;&#xff0c;同时全链条工具体系迎来重磅升级&#xff0c;对于大模…

17.【C语言】初识常见关键字 下

1.typedef 类型&#xff08;重新&#xff09;定义&#xff08;或命名&#xff09;&#xff0c;可简化输入 如&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> typedef signed long long k; int main() {k a 0; } signed long long被简写为k这个…

基于SpringBoot的乐校园二手书交易管理系统

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言 Java 数据库 MySQL 技术 SpringBoot框架 工具 Visual Studio、MySQL数据库开发工具 系统展示 首页 用户注册界面 二手图书界面 个人中心界面 摘要 乐校园…

vue3+ts+vite项目报错:找不到名称“GC”。ts-plugin(2304)

GC变量通过script标签引入的第三方引入&#xff0c;但是ts-plugin并不知道&#xff0c;需要明确声明这个变量的类型 /// <reference types"vite/client" />declare module "*.vue" {import type { DefineComponent } from "vue";// eslint…

【8】相关补充

【8】相关补充 文章目录 前言一、不同模型在测试集上的精度二、实验记录三、SNP位点筛选及其它python脚本四、总结五、后续安排总结 前言 存放一些有关这个项目研究的补充。 三叶青图像识别研究简概 一、不同模型在测试集上的精度 存放了不同识别模型在测试集上精度评估展示…

2024年前端面试中面试官常拷打的“项目细节”!

前言 都知道前端面试中&#xff0c;面试官最爱拷打的项目细节&#xff0c;根据你的项目经历来进行相关提问&#xff0c;时不时再给你几个高难度问题&#xff0c;让人头疼。 程序员大都有一个特点&#xff1a;会做&#xff0c;不会写&#xff0c;更不会说 前端面试&#xff0c…