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

[23] 4K4D: Real-Time 4D View Synthesis at 4K Resolution

paper | proj | code

  • 提出一种基于K-Planes的4D point cloud Representation;
  • 提出一种Hybrid appearance model,包含image blending model和SH model。其中,image blending model将3D点映射回原图中求得,SH model通过模型预测求得。
  • 提出一种可导的深度排序算法,训练时通过Pytorch计算,渲染时通过OpenGL计算,实现GPU支持的快速光栅化。
  • 提出一系列减少推理渲染的方法:
    • 提前计算点的位置、密度、颜色系数和blending系数等;
    • 减少光栅化每个像素所需要的点数;
    • 将模型从32-bit float降为16-bit

目录

摘要

方法

Modeling Dynamic Scenes with Point Clouds

Differentiable Depth Peeling

Training

Inference

实验

Datasets and metrics

Comparison Experiments

Ablation Studies

Storage analysis.

Rendering Speed Analysis


摘要

  • 现有问题:动态场景中,渲染高分辨率图片很慢;
  • 本文:
    • 提出基于K-Planes的4D point cloud Representation,支持硬件光栅化,实现快速渲染;
    • 提出一种hybrid appearance model,在提高渲染质量的同时,保证渲染效率;
    • 设计一种可导的深度排序算法(deep peeling algorithm),实现从RGB视频中快速建模;
  • 实验证明,在一张4090 GPU上,可以实现对1080分辨率的400FPS渲染,4K分辨率的80FPS渲染。

方法

Modeling Dynamic Scenes with Point Clouds

  • 通过space-carving algorithm从视频中提取粗点云序列;
  • 点特征通过K-Planes表达,给定坐标和时间(x, y, z, t),可得特征:

  • 点特征送入Radius MLP和Density MLP,预测该点的密度r和半径\sigma
  • 该点的颜色通过两个模型计算,分别是离散的image blending model和连续的SH model。
    • image blending model是指,给定空间中任意一点,可投影到输入图片上,检索对应RGB值。在本文中,多张图片检索的RGB值,通过网络预测加权系数,加权求和以得到该点的c_{ibr}。由于检索图像与视角无关,本文仅考虑与视角最近的N^{'}张图片。image blending model除系数外,可以提前计算。因此,可以在提高视觉质量的同时,不增加过多计算。
    • SH model,则是将点特征送入SH MLP,预测得到c_{sh}
    • 最终,该点颜色由以下公式计算:

Differentiable Depth Peeling

  • 对于像素u,首先找到距离该点相机视角最近的K个点。
  • 用体渲染的方式,通过K个点计算该点颜色。首先计算密度,其中\pi(x)是将点投影到2D图像上:

  • 在训练中,本文基于PyTorch实现\pi。在推理阶段,本文用OpenGL计算。
  • 最终,该像素点颜色:

Training

包含三个损失:

  • MSE Loss:
  • LPIPS Loss
  • Mask 损失:

  • 最终训练损失为:

Inference

通过三个方法加速推理:

  • 提前计算点位置,半径,密度,SH系数和color blending系数;
  • 将模型从32-bit floats转为16-bits,可以增加20FPS;
  • 将渲染时的超参数K从15降低为12,可以在不影响视觉质量的情况下,增加20FPS;

实验

Datasets and metrics

  • DNA-Rendering:15 FPS, 10 s, 60 views, 4K/2K相机,训练分辨率为1024 x 1224 / 1125 x 1536
  • ENeRF-Outdoor:30 FPS, 1080p相机,训练分辨率为960 x 540
  • NHR:训练分辨率为512 x 612 / 384 x 512
  • Neural3DV:训练分辨率为1352 x 1224

Comparison Experiments

Ablation Studies

  • Ablation study on the 4D embedding. w/o f
  • Ablation study on the hybrid appearance model. w/.o c_{ibr}
  • Ablation study on loss functions.

Storage analysis.

Rendering Speed Analysis

相关文章:

[23] 4K4D: Real-Time 4D View Synthesis at 4K Resolution

paper | proj | code 提出一种基于K-Planes的4D point cloud Representation;提出一种Hybrid appearance model,包含image blending model和SH model。其中,image blending model将3D点映射回原图中求得,SH model通过模型预测求得…...

MySQL错误之ONLY_FULL_GROUP_BY

报错信息: 翻译: 对该报错的解释 所以,实际上该报错是由于在SQL查询语句中有group by,而这个包含group by的SQL查询写的并不规范导致的,这个ONLY_FULL_GROUP_BY模式开启之后检查就会很严格,如果select列表…...

牛客 HJ106 字符逆序 golang实现

牛客题目算法连接 题目 golang 实现 package mainimport ("fmt""bufio""os" )func main() {str, _ : bufio.NewReader(os.Stdin).ReadString(\n)if len(str) 0 {return } else {newstr:""strLen:len(str)-1for i:strLen;i>0;i-…...

浏览器没收到返回,后端也没报错,php的json_encode问题bug

今天网站遇到个问题,后端返回异常,但是浏览器状态码200,但是看不到结果。经过排查发现,我们在返回结果的时候使用了json_encode返回给前端,结果里面的字符编码异常,导致json_encode异常,但是php…...

C#中的迭代器和分部类

目录 一、迭代器 1.示例源码 2.生成效果: 二、分部类 1.示例源码 2.生成效果 迭代器在集合类中经常使用,而分部类则提供了一种将一个类分成多个类的方法,这对于有大量代码的类非常实用。 一、迭代器 迭代器是可以返回相同类型的值的有…...

Java项目如何打包成Jar(最简单)

最简单的办法,使用Maven插件(idea自带) 1.选择需要打包的mudule,点击idea右侧的maven插件 2.clean操作 3.选择需要的其他mudule,进行install操作(如果有) 4.再次选择需要打包的module&#…...

快速掌握Pyqt5的三种主窗口

PyQt5是一个强大的跨平台GUI框架,它提供了多种不同类型的主窗口类,以满足不同的应用需求。下面是PyQt5中最常见的几种主窗口类型及其创建方式的简介: 1. QMainWindow QMainWindow是用于创建具有菜单栏、工具栏、状态栏和中心窗口部件&#…...

Linux vim操作教程(vim 基操、vim替换和查找、 vim改变文本颜色、判断和循环语句)

vim 基操 vim 是一个强大的文本编辑器,常用于在终端环境下编辑文件。下面是一些常用的 vim 操作: 打开文件:在终端中输入 vim 文件名 来打开一个文件,如果文件不存在,则会创建一个新文件。 模式切换: 按下 i 进入插入模式,在该模式下可以输入和编辑文本。按下 Esc 键返…...

mac添加Chrome插件的方法

如果是.crx的插件 更改后缀crx为zip 后续步骤同下文.zip文件 如果是.zip的插件 使用终端进行解压 注意不要用解压工具解压,一定要用终端,命令行解压 // 进入到“插件名.zip”文件的目录下,输入下面命令: unzip 插件名.zip -…...

智能优化算法 | Matlab实现金豺优化算法(GJO)(内含完整源码)

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 智能优化算法 | Matlab实现金豺优化算法(GJO)(内含完整源码) 源码设计 %%clear clc close SearchAgents_no=30; % Number of search agents Max_iteration=1000...

6、信息打点——Web架构篇语言中间件数据库系统源码获取

1、信息搜集搜集哪些东西? 架构信息收集,主要包括:操作系统、开发语言、中间件容器、数据库类型、第三方软件等; web源码信息收集,CMS开源?闭源?售卖?自主研发? 进行web…...

flutter vscode gradle 配置

我这边主要改了如图两个文件,然后把Gradle的问题解决了 参考文章: flutter运行Runt imeException: Timeout of 120000问题-CSDN博客 flutter配置gradle(个人笔记,非教程)_flutter gradle_追寻着星星的方向的博客-CSD…...

tcp和 udp区别

相同点:都是传输层协议 不同点 是否面向连接 tcp:面向连接 三次握手,四次挥手端对端连接全双工通信(允许双端同时收发数据) udp:无连接 无三次握手,四次挥手支持一对一,一对多,多对多 数据传输方式 …...

深度学习之基于Pytorch的昆虫分类识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介系统架构技术亮点 二、功能三、系统四. 总结 一项目简介 # 深度学习基于 Pytorch 的昆虫分类识别系统介绍 深度学习在图像分类领域取得了显著的成就&#…...

mysql字符串转为数字的三种方法、字符串转日期

隐式转换 在MySQL中,使用0运算符可以将一个非数字的值隐式地转换为数字。这在进行数学运算或比较操作时非常有用。 需要注意的是,在使用0进行隐式转换时,MySQL会尽可能将字符串转换为数字。如果字符串不能转换为数字,则会返回0。…...

【科技素养】蓝桥杯STEMA 科技素养组模拟练习试卷5

1、随着对新冠肺炎研究的深入,多个国家都已经开始了针对新冠肺炎病毒的疫苗的开发。以下关于疫苗的描述中,不正确的是 A、灭活疫苗的基本原理是将经过处理的病原体注射进入人体内 B、大规模接种疫苗可以帮助达成“群体免疫“,阻断病毒传播 …...

PTA-6-45 工厂设计模式-运输工具

题目如下: 工厂类用于根据客户提交的需求生产产品(火车、汽车或拖拉机)。火车类有两个子类属性:车次和节数。拖拉机类有1个子类方法耕地,方法只需简单输出“拖拉机在耕地”。为了简化程序设计,所有…...

重新使用hbase前

启动关闭Hadoop和HBase的顺序一定是: 启动Hadoop—>启动HBase—>关闭HBase—>关闭Hadoop 1.挂载共享文件夹到挂载点 sudo mount -t vboxsf virtualmachineShare /mnt/shared2.进入hadoop目录下启动hadoop cd /usr/local/hadoop/ ./sbin/start-all.sh …...

Web 自动化神器 TestCafe(二)—元素定位篇

今天主要给大家介绍一下testcafe这个框架元素定位的方法。 一、CSS 选择器定位 使用 testcafe 对元素进行操作的时候,我们可以直接通过 CSS 选择器指定要操作的元素,比如,点击元素,input 输入文本内容,如下&#xff1…...

DRF-通用分页器(PageNumberPagination):ListModelMixin可以使用的通用分页器

一、ListModelMixin 和GenericAPIView源码 ListModelMixin 是一个单一功能类,必须配合GenericAPIView(或其子类)来一起使用,才能完成其视图的功能 class ListModelMixin:"""List a queryset."""d…...

内核级硬件信息伪装技术深度解析与实现原理

内核级硬件信息伪装技术深度解析与实现原理 【免费下载链接】EASY-HWID-SPOOFER 基于内核模式的硬件信息欺骗工具 项目地址: https://gitcode.com/gh_mirrors/ea/EASY-HWID-SPOOFER 硬件指纹识别技术在现代软件系统中已成为用户追踪和设备认证的核心手段,而E…...

3分钟解锁你的网易云音乐:ncmdump让加密NCM文件变通用MP3

3分钟解锁你的网易云音乐:ncmdump让加密NCM文件变通用MP3 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否遇到过这样的烦恼?在网易云音乐下载的歌曲只能在特定客户端播放,想要在其他设备或软…...

区块链智能合约开发入门

区块链智能合约开发入门 区块链技术近年来风靡全球,而智能合约作为其核心应用之一,正在改变传统合约的执行方式。智能合约是一种自动执行的程序代码,部署在区块链上,无需第三方干预即可完成交易或协议的执行。对于开发者而言&…...

Compose LazyList状态管理全解:从滚动监听、恢复,到与Paging3的完美集成

Compose LazyList状态管理全解:从滚动监听、恢复,到与Paging3的完美集成 在构建现代移动应用时,列表是最常见也最复杂的UI组件之一。Jetpack Compose通过LazyColumn和LazyRow提供了声明式的列表实现,但真正让列表变得健壮和高效的…...

Ryzen SDT:免费开源工具解锁AMD处理器隐藏性能,新手也能轻松上手

Ryzen SDT:免费开源工具解锁AMD处理器隐藏性能,新手也能轻松上手 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. …...

终极指南:30倍提速!百度网盘直链解析工具轻松突破限速

终极指南:30倍提速!百度网盘直链解析工具轻松突破限速 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 你是否曾为百度网盘蜗牛般的下载速度而烦恼&…...

Qianfan-OCR应用实践:科研论文PDF→图表标题提取+方法论段落定位

Qianfan-OCR应用实践:科研论文PDF→图表标题提取方法论段落定位 1. 项目背景与价值 科研工作者每天需要阅读大量论文,其中图表和方法论是最核心的内容。传统方式需要手动翻阅PDF、截图识别文字、再整理关键信息,整个过程耗时耗力。Qianfan-…...

如何将React与Docsify无缝集成:混合框架开发模式完整指南

如何将React与Docsify无缝集成:混合框架开发模式完整指南 【免费下载链接】docsify 🃏 A magical documentation site generator. 项目地址: https://gitcode.com/gh_mirrors/do/docsify Docsify作为一款轻量级文档生成工具,以其无需构…...

为什么WHERE中的函数调用会引发灾难?揭秘KES与Oracle的函数执行顺序之谜

在 WHERE 子句里放一个"有副作用"的函数,就像在高速公路上放了一个随机变道的司机——也许今天没事,但迟早会出事故。引言:一段看起来"理所当然"的代码在一次代码评审中,我看到了这样一条 SQL:SEL…...

交通数据存证:Java区块链3大“不可篡改”密码,篡改成本高到哭!

🔥关注墨瑾轩,带你探索编程的奥秘!🚀 🔥超萌技术攻略,轻松晋级编程高手🚀 🔥技术宝库已备好,就等你来挖掘🚀 🔥订阅墨瑾轩,智趣学习不…...