当前位置: 首页 > news >正文

3DV 2024 Oral | SlimmeRF:可动态压缩辐射场,实现模型大小和建模精度的灵活权衡

目前大多数NeRF模型要么通过使用大型模型来实现高精度,要么通过牺牲精度来节省内存资源。这使得任何单一模型的适用范围受到局限,因为高精度模型可能无法适应低内存设备,而内存高效模型可能无法满足高质量要求。为此,本文研究者提出了SlimmeRF,一种在测试阶段随时(即不需要对模型进行重新训练)通过动态压缩实现模型大小与精度之间权衡的模型,从而使模型同时适用于不同计算预算的场景。实验结果显示,SlimmeRF在不进行动态压缩时能够达到 SOTA 级别的精度,同时动态压缩时的效果明显好于基于 TensoRF 的基准模型。

image.png

论文题目: SlimmeRF: Slimmable Radiance Fields

论文链接:https://arxiv.org/abs/2312.10034 

代码链接: GitHub - Shiran-Yuan/SlimmeRF: Official implementation for SlimmeRF: Slimmable Radiance Fields

01. 简介

辐射场(Radiance Fields)是一种通过神经网络等方法对3D场景进行建模的方法。我们观察到,在实际应用中,往往存在一个问题:效果较好的辐射场模型会对内存等资源要求较高,因此难以应用于资源较为稀缺的应用场景;相反,比较节省内存资源、算力资源等的模型则可能效果不佳

因此,当需要训练能够兼容高负载能力与低负载能力环境的模型时,就只能采用后者,因为前者无法在低负载能力环境中运行。然而实际情况是,往往高负载能力的环境也有较高对模型效果的需求,而低负载能力的环境则对模型效果需求不高,因此前述的方法不符合高负载能力环境下的需求。因此,如果能够训练出能够在高负载能力环境下取得极佳效果,同时在低负载能力环境下也能牺牲效果成功运行的模型,就可以同时满足这两种需求。

为了解决该问题,本文提出,应当让辐射场模型能够拥有可动态压缩性(Slimmability)。我们提出的 SlimmeRF 模型基于低秩张量近似(Low-Rank Tensor Approximation)对场景进行建模,在不被动态压缩(Slim)的情况下建模精度能够达到 SOTA 等级,同时还能在测试阶段随时(即不需要对模型进行重新训练)通过动态压缩减小模型大小,牺牲精度来满足更严格的环境负载能力要求

技术方面,我们受张量辐射场(TensoRF)启发,利用矩阵-向量张量分解(VM 分解,Vector-Matrix Tensor Decomposition)建模3D场景的密度(Density)与外观(Appearance)。同时,为了使模型中的张量具备可进行低秩张量近似的性质,我们提出了张量增秩算法(TRaIn, Tensorial Rank Incrementation),用于进行训练。实现中,我们在训练时通过对张量进行遮罩(Masking)来模拟张量秩的变化,而测试时直接对分解后的成分(Factors)进行截断(Truncation)。

实验结果显示,SlimmeRF 中张量分解成的不同成分间出现了“分工”,由对应秩较低的成分对于大致轮廓、颜色等进行建模,而对应秩较高的成分则对于细节进行建模。我们的模型在不进行动态压缩时能够达到 SOTA 级别的精度(这一点许多其他可压缩与低内存消耗模型都无法做到),同时动态压缩时的效果明显好于基于 TensoRF 的基准模型(Baseline)。我们还在稀疏输入(Sparse Input)的场景下进行了实验,发现 SlimmeRF 的可动态压缩性提升了很多,并且在特定视角下效果好于专门用于稀疏输入的模型

fig1.png
我们的 SlimmeRF 模型只需训练一次就可以在测试时根据需要实现不同的压缩程度

02. 方法

image.png
SlimmeRF 的模型架构

2.1 问题表述

2.2 张量增秩算法

alg1.png
TRaIn 算法伪代码

fig4.png
实验中观察到的成分间“分工”

2.3 遮罩训练与截断测试

03. 实验

3.1 与 TensoRF 基准对比

我们直接对于使用类似表示结构的 TensoRF 进行截断来作为基准,将其结果与参数量相同的 SlimmeRF 进行对比,定量、定性结果分别如下图所示。可以看到,我们的模型效果明显远好于基准,说明了 TRaIn 算法的作用。

fig5.png

fig7.png
更详细实验结果参见论文附录 B.1

3.2 与 SOTA 模型对比

我们与 SOTA 模型 Plenoxels、DVGO、TensoRF 进行了对比,定量结果如下表所示。与 TensoRF 的定性对比如下图所示。结果说明,我们的模型在不进行动态压缩时能够达到 SOTA 级的效果,不会以牺牲效果为代价,只有在进行动态压缩后才会牺牲效果。

image.png

fig8.png

3.3 与可压缩模型/低内存消耗模型对比

我们将 SlimmeRF 与 TensoRF、CCNeRF、MWR (Masked Wavelet Representation)、TinyNeRF、PlenVDB 等以可压缩或低内存消耗为主要优势的模型进行了对比,结果如下图所示。其中,除了 CCNeRF 以外均没有可动态压缩性,仅仅作为参考。

3.4 稀疏输入实验

我们将 SlimmeRF 与用于稀疏输入场景的 SRF、PixelNeRF、MVSNeRF、mip-NeRF、DietNeRF、Reg-NeRF 等模型进行了对比,定量结果如下表所示。与 Reg-NeRF 在一些视角下的定性对比如下图所示。SlimmeRF 并不是稀疏输入模型,没有对场景的几何构造进行重建,因此效果并没有稳定超越其它方法;但定性实验表明,SlimmeRF 在稀疏输入场景下效果很好,在特定视角下甚至可以超越专用于稀疏输入场景的模型;同时,定量结果表明,SlimmeRF 在稀疏输入场景下可动态压缩性极佳,在模型大小缩小时效果不会变差很多,甚至在输入视角较少的时候会出现模型大小越小,模型效果越好的情况。

fig9.png

image.png
更详细实验结果参见论文附录 B.2

3.5 消融实验与参数敏感性分析

image.png

3.6 与BCD基准对比

我们尝试实现了基于前述 BCD 算法的模型,但训练过程中模型损失与精度浮动极大,因此我们没有获得可展示的结果。这体现出了我们采用原创算法进行训练的必要性。

04. 结语

我们工作的主要贡献在于提出并实现了神经辐射场的可动态压缩性(Slimmability),同时为神经辐射场研究提供了低秩张量近似秩增训练的新思路。在未来,我们会进一步将这一工作拓展到4D等其它场景,并将其应用化


关于TechBeat人工智能社区

TechBeat(www.techbeat.net)隶属于将门创投,是一个荟聚全球华人AI精英的成长社区。

我们希望为AI人才打造更专业的服务和体验,加速并陪伴其学习成长。

期待这里可以成为你学习AI前沿知识的高地,分享自己最新工作的沃土,在AI进阶之路上的升级打怪的根据地!

更多详细介绍>>TechBeat,一个荟聚全球华人AI精英的学习成长社区 

相关文章:

3DV 2024 Oral | SlimmeRF:可动态压缩辐射场,实现模型大小和建模精度的灵活权衡

目前大多数NeRF模型要么通过使用大型模型来实现高精度,要么通过牺牲精度来节省内存资源。这使得任何单一模型的适用范围受到局限,因为高精度模型可能无法适应低内存设备,而内存高效模型可能无法满足高质量要求。为此,本文研究者提…...

【unity学习笔记】4.场景切换

创建空物体→创建脚本挂载在空物体上→打开脚本 1.创建所需要的场景 assets中点击创建场景 2.文件→生成设置 3.将需要的场景拖入 4.场景跳转 创建空对象,将脚本放在空对象上。 注意两个类:场景类、场景管理类 void Start(){//场景跳转SceneManager.Lo…...

LeetCode75| 滑动窗口

目录 643 子数组最大平均数 | 1456 定长子串中元音的最大数目 1004 最大连续1的个数 ||| 1493 删掉一个元素以后全为1的最长子数组 643 子数组最大平均数 | class Solution { public:double findMaxAverage(vector<int>& nums, int k) {double sum 0;double re…...

gulimall-002 分布式基础概念

1、微服务概念 微服务是一种非常流行的架构风格。 拒绝大型单体应用&#xff0c;基于业务边界进行服务微化拆分&#xff0c;各个服务独立部署运行。 每个服务运行在自己的单个进程使用轻量级机制通信可以使用不同的编程语言编写以及不同的数据存储技术 2、集群&分布式&…...

K8s之声明式APIs

大家好&#xff0c;我是升仔 引言 Kubernetes&#xff08;K8s&#xff09;是一个开源的容器编排系统&#xff0c;用于自动化部署、扩展和管理容器化应用。在K8s中&#xff0c;声明式APIs&#xff08;Application Programming Interfaces&#xff09;是一种核心概念&#xff0…...

Hive执行计划

Hive提供了explain命令来展示一个查询的执行计划&#xff0c;这个执行计划对于我们了解底层原理&#xff0c;Hive 调优&#xff0c;排查数据倾斜等很有帮助。 使用语法如下&#xff1a; explain query;在 hive cli 中输入以下命令(hive 2.3.7)&#xff1a; explain select s…...

Leetcode—62.不同路径【中等】

2023每日刷题&#xff08;七十二&#xff09; Leetcode—62.不同路径 超时dfs代码 class Solution { public:int uniquePaths(int m, int n) {int starti 1, startj 1;int ans 0;function<void(int, int)> dfs [&](int i, int j) {if(i m && j n) {a…...

【汇编笔记】初识汇编-内存读写

汇编语言的由来&#xff1a; CPU是计算机的核心&#xff0c;由于计算机只认识二进制&#xff0c;所以CPU执行的指令是二进制。 我们要想让CPU工作&#xff0c;就得给他提供它认识的指令&#xff0c;这一系列的指令的集合&#xff0c;称之为指令集。 指令集&#xff1a; 不同的体…...

Shell脚本通过渗透测试检测服务器安全!

以下是一个简单的 Shell 脚本通过渗透测试来发现服务器漏洞的例子&#xff1a; #!/bin/bash # 设置变量 server_url"http://example.com" server_port"80" script_path"/path/to/script.脚本" # 创建并打开 Web 服务器 web_server$(curl -s $se…...

数据结构--查找

目录 1. 查找的基本概念 2. 线性表的查找 3. 树表的查找 3.1 二叉排序树 3.1.1 定义: 3.1.2 存储结构&#xff1a; 3.1.3 二叉排序树的查找 3.1.4 二叉排序树的插入 3.1.5 二叉排序树删除 3.2 平衡二叉树&#xff08;AVL 3.2.1 为什么要有平衡二叉树 3.2.2 定义 3.3 B-树 3.3.1…...

IntelliJ IDEA Apache Dubbo,IDEA 官方插件正式发布!

作者&#xff1a;刘军 最受欢迎的 Java 集成开发环境 IntelliJ IDEA 与开源微服务框架 Apache Dubbo 社区强强合作&#xff0c;给广大微服务开发者带来了福音。与 IntelliJ IDEA 2023.2 版本一起&#xff0c;Jetbrains 官方发布了一款全新插件 - Apache Dubbo in Spring Frame…...

使用Visual Studio 2022 winform项目打包成安装程序.exe

winform项目打包 1.安装扩展插件 Microsoft Visual Studio Installer Projects 20222.在解决方案上新建一个setup project 项目3.新建成功如下图&#xff0c;之后添加你的winform程序生成之后的debug下的文件4.在Application Folder上点击右键->Add->项目输出->主输出…...

报错-idea pom.xml 有一条灰色横线

1. 背景 打开 idea 更新代码&#xff0c;发现有个 module 的 pom.xml 有一条灰色横线&#xff0c;导致这个 module 没有加载成功。 2. 原因 1&#xff09; 可能本地 Remove 了这个 module 2&#xff09;本地删除了这个 module &#xff0c;又从远端拉取了回来 3&#xff09…...

openmediavault(OMV) (19)云相册(3)mt-photos

简介 MT Photos是一款为Nas用户量身打造的照片管理系统。通过AI技术,自动将您的照片整理、分类,包括但不限于时间、地点、人物、照片类型。可以在任何支持Docker的系统中运行它。详情可查看mtmt.tech官网,mt-photos是付费订阅使用的,也可以一次性付费永久使用,具体使用mt…...

基于openGauss5.0.0全密态数据库等值查询小案例

基于openGauss5.0.0全密态数据库等值查询小案例 一、全密态数据库简介二、环境说明三、测试步骤四、使用约束 一、全密态数据库简介 价值体现&#xff1a; 密态数据库意在解决数据全生命周期的隐私保护问题&#xff0c;使得系统无论在何种业务场景和环境下&#xff0c;数据在传…...

Oracle中varchar2和nvarchar2的区别

Oracle中的varchar2和nvarchar2都是可变长度的字符数据类型&#xff0c;这意味着它们能够根据实际存储的数据长度来动态调整占用的空间。但它们之间有以下主要区别&#xff1a; 1. 字符编码和存储&#xff1a; - VARCHAR2&#xff1a;存储的是字节字符串&#xff0c;对字符…...

linux环境下从一个服务器复制文件到另一个服务器

在Linux中使用scp命令可以将文件或目录从一台服务器复制到另外一台服务器。 # 从源服务器复制文件到目标服务器 scp /path/to/source_file usernamedestination:/path/to/destination_directory # 从源服务器复制目录及其内容到目标服务器 scp -r /path/to/source_directory us…...

JSoup 爬虫遇到的 404 错误解决方案

在网络爬虫开发中&#xff0c;使用JSoup进行数据抓取是一种常见的方式。然而&#xff0c;当我们尝试使用JSoup来爬虫抓取腾讯新闻网站时&#xff0c;可能会遇到404错误。这种情况可能是由于网站的反面爬虫机制检测到了我们的爬虫行为&#xff0c;从而拒绝了我们的请求。 假设我…...

Vue.set 方法原理

function set(target, key, value) {// 判断是否是数组&#xff0c;并且 key 是一个有效的索引值if (Array.isArray(target) && isValidArrayIndex(key)) {target.length Math.max(target.length, key)target.splice(key, 1, value)return value}// 判断 key 是否已经…...

CentOS 7的新特性

CentOS 7在发布时相较于CentOS 6引入了许多重要的变化和优化。以下是一些主要的改进和新特性&#xff1a; 系统初始化程序&#xff1a;CentOS 7使用了systemd作为其初始化系统&#xff0c;取代了之前版本的init系统。systemd提供了更快的启动时间和更好的管理服务。 内核更新&…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...