【动态重建】时间高斯分层的长体积视频

在这里插入图片描述


标题:Representing Long Volumetric Video with Temporal Gaussian Hierarchy
来源:浙江大学
链接:https://zju3dv.github.io/longvolcap/

文章目录

  • 摘要
  • 一、前言
  • 二、主要方法
    • 2.1 时间高斯分层
    • 2.2 高效渲染
    • 2.3 层次结构更新
    • 2.4 紧凑的外观模型
    • 2.5 加速渲染
    • 2.6 训练细节
  • 三、实验


摘要

  本文从多视点RGB视频中重建长体积视频。最近的动态视图合成方法利用强大的四维表示,如特征网格或点云序列,来实现高质量的渲染结果。然而,它们通常被限制在较短的(1∼2s)视频剪辑中,并且在处理较长的视频时经常遭受较大的内存占用。为了解决这一问题,我们提出了一种新的四维表示,称为 时间高斯分层能够紧凑地建模长的体积视频 。由于动态场景中通常存在不同程度的时间冗余,由不同速度变化的区域组成。基于此,我们的方法建立了一个 四维的高斯原语层,其中,(1).每个层次分别描述具有不同内容变化程度的场景区域,并自适应地共享高斯原语来表示不同时间段上不变的场景内容,从而有效地减少了高斯原语的数量。此外,(2).高斯层分层的树状结构能够有效地用高斯原语的子集来表示特定时刻的场景,GPU内存的使用几乎恒定,而不管视频长度。此外,我们设计了一个 (3).紧凑的外观模型,它混合了漫射高斯和视图相关的高斯分布,以进一步减少模型大小,同时保持渲染质量。我们还 (4).开发了一个基于硬件加速技术的高斯原语的栅格化管道,以提高渲染速度。大量的实验结果表明,我们的方法在训练成本、渲染速度和存储使用方面优于其他方法。

在这里插入图片描述

  

  


一、前言

   体积视频旨在从多个视点捕捉动态场景,并提供自由视点合成的功能,使用户能够与虚拟对象或角色进行互动,以获得沉浸式的体验。高质量的体积视频的可用性在许多领域都至关重要,包括AR/VR、游戏、远程呈现等。虽然传统的体积视频系统[Collet等人2015;Wu等人2020]显示了令人印象深刻的结果,但它们通常需要定制的硬件和复杂的工作室设置,这限制了它们的可访问性和实用性。

  新兴的神经渲染方法提供了执行基于隐式或显式4D表示的动态场景的逼真视图合成的能力。早期工作[Li等人,2022;Pumarola等人,2021a]旨在利用具有时间嵌入的神经辐射场来参数化动态场景。尽管它的存储模型规模有限,但这种表示的表示能力和效率有限,导致每帧的低质量渲染需要几秒甚至几分钟。最近的研究[曹和约翰逊2023;弗里多维奇-基尔等人2023;王等人2022;徐等人2024b]使用更强大的4D表示,通过特征网格或点云序列,以提高渲染保真度或效率。然而,这些方法通常只适用于短体积视频序列(1∼2s)[Xu等,2024b;Yang等,2023b]。当应用于较长的视频(1∼10分钟)时,这些方法需要非常大的模型,考虑到实际存储大小的限制,提出了伸缩性的挑战。

  在本文中,我们引入了时间高斯分层,这是一种新的四维表示方法,用于长体积视频的紧凑建模,同时在训练和渲染方面都很有效。我们的关键观察结果是,动态场景通常由变化缓慢的区域和变化迅速的区域组成,反映了不同程度的时间冗余。基于这一观察结果,我们的方法构建了场景原语的多层次层次结构,例如,3D或4D高斯飞溅,以表示4D场景,其中不同layer的模型区域具有不同程度的内容变化,并为每个layer分配不同数量的场景原语,旨在明确地处理时间冗余。具体来说,如图3所示,所提出的层次表示由多个层次组成,每个层次都包含一组负责在不同时间尺度内建模场景的片段。在每个片段中,我们利用一组四维高斯原语来表示场景,考虑到它们的高表示能力和渲染速度。我们的实验结果表明,在所提出的层次结构中,运动较慢的场景区域通常在较长时间尺度的片段内共享高斯原语,从而减少了场景原语的数量,导致模型大小的减小。此外,时间高斯层次结构允许我们在一个时间步长表示场景的片段子集,而不是所有的高斯原语,从而进一步减少运行时内存

  时间高斯层次结构的另一个优点是,它使我们能够保持有效的训练和渲染,而不考虑体积视频的长度。我们表示的树状结构可以有效地讲segments 位于特定的时刻。因此,我们可以将高斯层次存储在随机存取存储器中,并在特定时刻的场景训练或渲染时将相应的块加载到GPU内存中。该策略确保了运行期间GPU内存使用保持不变,无论体积视频的长度,保证了高效的训练和渲染

  为了进一步减小体积视频的模型尺寸,我们引入了一种由漫射高斯和视图相关高斯模型组成的混合外观模型,该模型自适应地将表征能力分配给目标场景的不同区域。该策略还可以缓解高斯原语的过拟合问题,同时保持了动态视图相关外观建模的高能力。最后,我们开发了一个gpu加速的算法和硬件加速的栅格化管道来实现我们的表示,以大大提高渲染速度。如图1所示,我们的方法在训练成本、渲染效率和存储开销等方面都明显优于以往的方法,同时获得了更好的渲染质量

  实验评估采用广泛数据集的动态视图的多视图输入。此外,我们收集了一组长多视图序列(5-10分钟)来证明我们的方法在视频长度上的可伸缩性。硬件使用RTX 4090 GPU,以1080p的分辨率处理18,000帧的视频,实现了450 FPS的渲染速度。我们还收集了一个长的真实世界的多视图数据集,称为SelfCap,来验证实验。

二、主要方法

  给定多视图视频,能有效重建紧凑和轻量级的4D体积表示。首先开发了一种新的四维表示,称为时间高斯分层,以有效地建模在长动态场景中不同尺度的运动和动态(2.1节).然后,我们提出了一种紧凑的外观表示法(2.2节),其中只有少数与视角相关的点,使用球面谐波的所有degree建模,以在保持渲染质量的同时大大降低表示长体积视频的存储成本。最后开发了一个渲染管道,具有硬件加速栅格化和预计算,以实时渲染TGH(2.4节)。概述见图3。

在这里插入图片描述

损失函数:

在这里插入图片描述

2.1 时间高斯分层

  时间高斯分层,通过利用树状结构来管理不同运动粒度的分层时间片段,从而为任意长度的体积视频保持几乎恒定的计算成本(VRAM和速度)

  图3(a)是时间高斯分层的整体结构。具体地,每个layer有许多相同长度的temporal segments(时间段)。更深层的segment长度是前一层的一半。视频总时间为 T T T,layer的深度为 L L L,root leval的segment长度为 S S S。因此,segment s l s_l sl的时间scale和第𝑙层的segment数量 N l N_l Nl为:

在这里插入图片描述
此外,还附加了一个长度为 ∞ ∞ 的全局segment 来表示场景的静态部分。每个segment 存储一组4DGS,表示如左侧;并利用右侧公式 N ( t ; μ t , σ t ) N(t;μ_t,σ_t) N(t;μt,σt)的逆函数来计算高斯的影响半径 r r r和影响范围[𝜏,𝜏]:

在这里插入图片描述

  coarse level的 long segments 用于建模缓慢运动, while finer level的short segments 用于建模快速运动。为确保segment的范围覆盖了其高斯影响半径,并且不能被下一层中的segment覆盖,利用temporal scale s l s_l sl计算第 𝑛 个level的第𝑙个segment的起始和结束时间戳(式5),并使用公式6将4DGS放置在结构中:

在这里插入图片描述
𝑚∈{1,2……𝑀}表示所有的segment索引,𝑀为下一级𝑙+1中的segment数,来确保每个4DGS的segment最短。

2.2 高效渲染

   只采样影响该时间戳𝑡的4DGS来渲染图像:由于segment不重叠,时间戳 t t t 只受level 𝑙 的一个segment影响,对应索引为 n l t = f l o o r ( t s l ) n^t_l=floor(\frac {t}{s_l}) nlt=floor(slt) ,得到跨越所有level的𝐿个segment。该识别过程计算复杂度为𝑂( l o g N log_N logN),𝑁是片段总数。然后将受影响的segment 所有4DGS与索引{ n l t ∣ l ∈ 1 … L n^t_l|l∈1…L nltl1L}连接,以获得streaming 斯数据 G t G_t Gt,使用可微光栅化器渲染。

  实验将时间高斯层次结构置于RAM中,只将受影响的片段复制到GPU内存中 。这有助于节省大量的GPU内存,并保持接近恒定的GPU内存使用,而不管体积视频的长度,而朴素的4DGS,计算所有4D高斯的时间范围,导致大量的GPU内存使用。

2.3 层次结构更新

  由于在level而不是单个segment上更新高斯,计算复杂度仍然是𝑂(𝐿),其中𝐿是层次结构中级level总数。由于𝐿相对于所表示的体积视频的长度是一个常数,这有助于保持我们的方法的恒定的内存使用和迭代速度。

2.4 紧凑的外观模型

  体积视频的散射部分,并不一定需要high-degree的SH来精确建模。直观地说,漫反射高斯应该在其残差SH系数h上得到一个低幅度的梯度(即使它们被呈现和优化为视图依赖的系数),因此可以使用零初始化和梯度阈值策略来识别这些高斯。首先用零初始化所有高斯的残差SH系数h。然后,定义一个梯度阈值 g t h g_{th} gth,将低幅度的|| g h ∣ ∣ 2 g_h||_2 gh2< g t h g_{th} gth的梯度改为零。

  

  

2.5 加速渲染

  给定时间戳𝑡,我们使用等式(7)获得流高斯 G t G_t Gt并根据视图空间深度按前后顺序排列,并在GPU上进行快速基数排序。然后将这些排序后的高斯分布转移到硬件光栅化器,并使用三维高斯溅算法投影到屏幕空间,得到二维高斯分布。由于二维高斯值不能被高斯化器直接识别来计算高斯像素对,我们将二维高斯值转换为具有不透明度阈值的二维矩形原语(quad)。硬件栅格化管道然后将quad的集合栅格化到屏幕上,生成quad-pixel pairs(fragments),其中我们可以通过计算multivariant Gaussian distribution function容易地计算像素位置的不透明度和颜色。由于高斯分布是按背到前的顺序排序的,硬件光栅化器可以有效地对特定像素对应的所有片段执行背对前的alpha混合,以计算其最终颜色,该颜色被连接成最终渲染的图像。通过直接利用硬件的栅格化管道和使用GPU进行排序,这种实现可以更好地利用GPU,并显著提高渲染效率。如图8所示(实现了5倍加速)。

在这里插入图片描述

2.6 训练细节

  通常,一个1200帧的序列需要训练50k次迭代,在RTX 4090 GPU上大约需要2个小时。根据序列长度线性地缩放迭代次数,每100次迭代,根据视图空间梯度和不透明度值对高斯数进行分割、克隆和剪枝,从而对高斯数进行自适应控制。由于时间高斯层次结构,使得GS的自适应控制可以被限制在前一次迭代中的采样到的segment,这显著降低了这一阶段的GPU内存使用和计算成本

  超参数。layer数量𝐿=9,,root segment 𝑆=10𝑠。根据4DGS ,将边界时间高斯 o t h o_{th} oth设置为0.05。对于紧凑外观模型,我们将用于分离弥散和视图相关高斯分布的梯度阈值𝑔𝑡ℎ设置为1.0𝑒−6,截止比𝜆ℎ设置为0.15。𝜆𝑚、𝜆𝑠、𝜆𝑝的权重分别根据经验设置为0.8、0.2和0.01

  数据集Neural3DV由一个带有19-21台摄像机的多视图系统捕获,分辨率为2704×2028和30FPS。ENeRF-outdoor是一个户外动态数据集,18个同步像机在1920×1080和60FPS收集。我们选择了三个1200帧的序列进行评估: actor1_4、actor2_3和actor5_6。MobileStage关注动态人类,用24个 1080p摄像机以30FPS记录。CMU-Panopisic是一个大规模的多视图数据集,捕捉日常人类活动。我们使用了31台高清相机的全分辨率和剪辑的全长度,三个子序列(sports
clip, namely the box, softball and basketball subsequences)的分辨率分别为1080p和1000帧、800帧和700帧。我们还构建了SelfCap数据集,由三个动态视频组成,每个视频以60帧/秒的4K分辨率使用22个iPhone相机的同步阵列拍摄。该数据集中的视频长度从2分钟到10分钟,明显超过了以前的数据集的持续时间。所有数据集都是使用同步的静态相机阵列捕获的,除了共享相机参数外,没有明确的时间一致性

  

  

三、实验

  定性和定量比较见表1和图4到6。

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

  上述实验证明了我们的方法在40∼50秒范围内的视频中的可行性。与以前只能处理1个∼2s的方法相比,我们的方法取得了显著的改进。为了进一步验证更长视频的潜力,我们在新的数据集SelfCap上测试了我们的方法,它跨越6000帧甚至更长。得益于我们的时间高斯层次结构,我们的方法可以保持非常低的训练成本,使它能够代表大量的体积视频。在图7中,我们展示了来自SelfCap数据集的视频的可视化结果。

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

  

在这里插入图片描述

  其他消融实验:

在这里插入图片描述

在这里插入图片描述


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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mongodb==安装prisma连接

官网下载mongodb,解压安装 Download MongoDB Community Server | MongoDB 修改bin/mongod.cfg # mongod.conf# for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/# Where and how to store data. storage:dbPat…

conda安装及demo:SadTalker实现图片+音频生成高质量视频

1.安装conda 下载各个版本地址&#xff1a;https://repo.anaconda.com/archive/ win10版本&#xff1a; Anaconda3-2023.03-1-Windows-x86_64 linux版本&#xff1a; Anaconda3-2023.03-1-Linux-x86_64 Windows安装 环境变量 conda -V2.配置conda镜像源 安装pip conda…

TDengine + MQTT :车联网时序数据库如何高效接入

现代新能源汽车&#xff0c;作为一种内部系统极为复杂的交通工具&#xff0c;配备了大量传感器、导航设备、应用软件&#xff0c;这些传感器产生的数据都需要上报到车联网平台当中。对于这些车辆的状态数据&#xff08;如车速、发动机转速等&#xff09;、位置数据&#xff08;…

LabVIEW瞬变电磁接收系统

利用LabVIEW软件与USB4432采集卡开发瞬变电磁接收系统。系统通过改进硬件配置与软件编程&#xff0c;解决了传统仪器在信噪比低和抗干扰能力差的问题&#xff0c;实现了高精度的数据采集和处理&#xff0c;特别适用于地质勘探等领域。 ​ 项目背景&#xff1a; 瞬变电磁法是探…

【读书与思考】历史是一个好东西

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】 导言 以后《AI日记》专栏我想专注于 AI 相关的学习、成长和工作等。而与 AI 无关的一些读书、思考和闲聊&#xff0c;我打算写到这里&#xff0c;我会尽量控制自己少想和少写。 下图的一些感想…

网络层协议之IP数据包层分片随笔

1.全篇内容均在图中&#xff0c;如何分片以及分片举例细节拆解&#xff0c;见下图: 1.1分片公式&#xff1a; 上述公式中有关/8 再*8目的是为了使用8字节对齐&#xff0c;从而使的分片数据包均为8字节整数倍&#xff01; 1.2.ip层数据包分片计算&图解

Python爬虫基础——认识网页结构(各种标签的使用)

1、添加<div>标签的代码定义了两个区块的宽度和高度均为100px&#xff0c;边框的格式也相同&#xff0c;只是区块中显示的内容不同&#xff1b; 2、添加<ul>和<ol>标签分别用于定义无序列表和有序列表。<il>标签位于<ul>标签或<ol>标签之…

牛客网刷题 ——C语言初阶(6指针)——字符逆序

1. 题目描述&#xff1a;字符逆序 牛客网题目链接 将一个字符串str的内容颠倒过来&#xff0c;并输出。 输入描述: 输入一个字符串&#xff0c;可以有空格 输出描述: 输出逆序的字符串 示例1 输入 I am a student 输出 tneduts a ma I 2. 思路 首先字符串逆序&#xff0c;之…

安徽省乡镇界面图层+arcgis数据shp格式-乡镇名称和编码2020年+wgs84坐标内容测评

最新安徽省乡镇界面图层arcgis数据shp格式-乡镇名称和编码2020年wgs84坐标无偏移

Telephony Netd

1、Linux补充知识 iptables iptables是Linux防火墙系统的重要组成部分,iptables的主要功能是实现对网络数据包进出设备及转发的控制。当数据包需要进入设备、从设备中流出或者由该设备转发、路由时,都可以使用iptables进行控制。 Netlink Netlink套接字是用以实现用户进程与内…

HashMap总结使用+原理+面试

文章目录 1.Hashmap的基本使用创建hashmap对象。遍历hashmap统计字母出现的次数用来投票计算返回JSON数据 2.hashmap源码阅读put源码阅读 3. HashMap 面试题目hashmap实现的原理什么时候数组需要进行扩容hashmap怎么确定把数据放到那个节点的哪个位置。为什么用 n - 1 与运算&a…

SpringMVC(四)响应

目录 数据处理及跳转 1. 结果跳转方式 ①.ModelAndView ②.ServletAPI 1、通过HttpServletResponse进行输出 2、通过HttpServletResponse实现请求转发 3、通过HttpServletResponse实现重定向 ③.SpringMVC 1.直接输出 2.请求转发 3.重定向 2.ResponseBody响应json数…

Mac软件介绍之录屏软件Filmage Screen

软件介绍 Filmage Screen 是一款专业的视频录制和编辑软件&#xff0c;适用于 Mac 系统 可以选择4k 60fps&#xff0c;可以选择录制电脑屏幕&#xff0c;摄像头录制&#xff0c;可以选择区域录制。同时也支持&#xff0c;简单的视频剪辑。 可以同时录制电脑麦克风声音 标准…

欧科云链研究院:ChatGPT 眼中的 Web3

编辑&#xff5c;OKG Research 转眼间&#xff0c;2024年已经进入尾声&#xff0c;Web3 行业经历了热闹非凡的一年。今年注定也是属于AI的重要一年&#xff0c;OKG Research 决定拉上 ChatGPT 这位“最懂归纳的AI拍档”&#xff0c;尝试把一整年的研究内容浓缩成精华。我们一共…

.NET 9.0 WebApi 发布到 IIS 详细步骤

微软表示&#xff0c;.NET 9 是迄今为止性能最高的 .NET 版本&#xff0c;对运行时、工作负载和语言方面进行了 1,000 多项与性能相关的改进&#xff0c;并采用了更高效的算法来生成更好的代码。 .NET 9 是 .NET 8 的继任者&#xff0c;特别侧重于云原生应用和性能。 作为标准期…

【通识安全】煤气中毒急救的处置

1.煤气中毒的主要症状与体征一氧化碳中毒&#xff0c;其中毒症状一般分为轻、中、重三种。 (1)轻度&#xff1a;仅有头晕、头痛、眼花、心慌、胸闷、恶心等症状。如迅速打开门窗&#xff0c;或将病人移出中毒环境&#xff0c;使之吸入新鲜空气和休息&#xff0c;给些热饮料&am…

ECCV`24 | 首次解决文本到3D NeRFs分解问题!港中文等提出DreamDissector

论文链接&#xff1a;https://arxiv.org/abs/2407.16260 亮点直击 据作者所知&#xff0c;作者是第一个解决文本到3D NeRFs分解问题的团队。 为了解决这个问题&#xff0c;本文引入了一个名为DreamDissector的新颖框架&#xff0c;包括一种新颖的神经类别场&#xff08;NeCF&a…

nginx-灰度发布策略(split_clients)

一. 简述&#xff1a; 基于客户端的灰度发布&#xff08;也称为蓝绿部署或金丝雀发布&#xff09;是一种逐步将新版本的服务或应用暴露给部分用户&#xff0c;以确保在出现问题时可以快速回滚并最小化影响的技术。对于 Nginx&#xff0c;可以通过配置和使用不同的模块来实现基于…

PCL点云库入门——PCL库点云特征之PFH点特征直方图(Point Feature Histograms -PHF)

1、算法原理 PFH点&#xff08;Point Feature Histogram&#xff09;特征直方图的原理涉及利用参数化查询点与邻域点之间的空间差异&#xff0c;并构建一个多维直方图以捕捉点的k邻域几何属性。这个高维超空间为特征表示提供了一个可度量的信息空间&#xff0c;对于点云对应曲面…

qml PathView详解

1、概述 PathView 是 Qt Quick 中一个非常强大的视图组件&#xff0c;它基于一个 Path 来展示视图项&#xff08;如 Item、Rectangle 等&#xff09;。PathView 可以让你按照定义的路径动态地显示多个元素&#xff0c;并且支持动画、滑动等功能。这个视图控件的最大特点是能够…