023_SSS_Neural 3D Video Synthesis from Multi-view Video(CVPR2022)

news2024/11/17 2:57:26

Neural 3D Video Synthesis from Multi-view Video(CVPR2022)

本文提出了一种新的3D视频生成方法,这种方法能够以紧凑但富有表现力的表示形式表示动态真实世界场景的多视图视频记录,从而实现高质量的视图合成和运动插值。

1. Introduction

本文的主要贡献:

  1. 本文提出了一种基于时间隐式编码的新型动态神经辐射场,可实现复杂动态现实世界场景的高质量 3D 视频合成。
  2. 本文提出了基于时空域中的分层训练和重要性采样的新颖训练策略,这显著提高了训练速度并为更长的序列带来了更高质量的结果。
  3. 本文提供了时间同步和校准的多视图视频数据集,涵盖用于研究目的的具有挑战性的 4D 场景

在这里插入图片描述

2. Methodology

NeRF是针对一个静态场景的辐射场,本文的方法基于NeRF,称作dynamic neural radiance field(CyNeRF)它直接根据用多个摄像机捕获的输入视频进行优化。

2.1 Representation

一种直观的思路来建立动态NeRF的表示就是直接在输入中加入时间维度 t t t

在这里插入图片描述

但是作者指出,根据经验发现,对于这种设计来说,很难捕捉复杂的动态 3D 场景以及具有复杂的拓扑变化和随时间变化的体积效应,例如火焰。

Dynamic Neural Radiance Fields

于是作者并没有直接用时间 t t t 作为输入,而是用一系列与时间相关的隐变量 z t ∈ R D z_t \in R^D ztRD。这些隐变量提供了特定时间动态场景状态的紧凑表示,可以处理各种复杂的场景动态,包括变形、拓扑和辐射变化。(注意这里的 z t z_t zt 是离散的取的,那么怎么达到拟合连续的场景的效果,后边会提到。)

在这里插入图片描述

在这里插入图片描述

Rendering

渲染的过程与NeRF一样用的是体渲染

在这里插入图片描述

Loss Function

损失函数用的是渲染出的图像与真实图像的L2损失。损失需要对给定的训练数据中所有的相机视角的所有视频帧进行计算。同时作者在coarse和fine两种不同的等级计算loss。

在这里插入图片描述

2.2 Efficient Training

本文的训练数据集的形式是对于同一个场景有18个相机拍摄的10s 30FPS,1MP的视频。那么如果用传统的NeRF训练方法对于每个视角的每个帧的每个像素进行ray sample,那么一个epoch就要74亿次的ray sample。这样的代价太大。

然而,对于自然视频,大部分动态场景要么是时不变的,要么在整个观察到的视频中的特定时间戳处仅包含小的时变辐射变化。因此,均匀采样光线会导致时不变观测值和时变观测值之间的不平衡。

于是作者提出了加速训练过程的策略:

  1. 通过从粗到细的帧选择训练的视频帧的分层训练
  2. 优先选择随时间变动比较大的区域周围光线的重要性采样

在这里插入图片描述

于是训练的范围就不再是针对所有的相机视角的所有视频帧,而是重要的帧中的重要的区域的像素点。具体的做法:

Hierarchical Training

通过从粗到细的帧选择训练的视频帧的分层训练coarse-to-fine。而coarse的帧是按照固定的时间步 K K K 采样出对应时间的帧,称作关键帧Keyframe。

在这里插入图片描述

接下来就要回答隐变量如何应用到连续的场景的问题。在第一阶段coarse层级训练的时候,对这些关键帧训练的时候,隐变量 z t z_t zt 是随机的取离散的值,然后隐变量也参与训练。在第二阶段的fine层级的训练的时候,则是对所有的帧进行训练,而在两个关键帧之间的隐变量不再是随机选取的,而是两个关键帧对应隐变量的线性插值。

这种分层的训练方式的好处在于,粗略的关键帧模型已经捕获了视频中时间不变信息的近似值。因此,精细的全帧训练只需要学习每帧的时变信息。从而可以提高训练效率。

Ray Importance Sampling

如何选择随时间变动比较大的区域的光线 r \mathbf{r} r。作者对 t t t 时刻观测到的每一个计算一个权重矩阵 w ( t ) ( r ) w^{(t)}(\mathbf{r}) w(t)(r),在训练时候的每一个iteration, t t t 时刻所有输入的视图中的光线权重进行归一化,然后采用inverse transform sampling来根据这些权重选择光线。

权重矩阵的计算方式,作者尝试了三种方式:

  1. Global-Median(DyNeRF-ISG)根据每条光线的颜色与其全局中值随时间的残差来计算每条光线的权重。这种方式可以在训练时用一个比较大的学习率,从而可以快速恢复动态细节,但会导致一些时间上的抖动。
  2. Temporal-Difference(DyNeRF-IST)根据两个连续帧中的色差计算每条光线的权重。这种方式可以在训练时用一个较小的学习率,从而产生平滑的时间序列,但是结果会比较模糊。
  3. Combined Method(DyNeRF-IS*)是以上两者的结合。这种方式先用ISG得到sharp details,再用IST得到平滑的结果。

3. Experiments

本文给出了一个新的数据集Plenoptic Video Dataset,同时也在Immersive Video Dataset上进行实验。
比较的方法包括Multi-View Stereo (MVS),Local Light Field Fusion (LLFF),NeuralVolumes (NV),NeRF-T。测试的指标包括PSNR,MSE,DSSIM,LPIPS,FLIP,JOD

在这里插入图片描述

作者通过实验证明在达到同样的真实度的情况下,相同的设备条件下,逐帧的训练NeRF的时间是15K GPU hours,而DyNeRF只需要1.3K GPU hours,本文的方法可以大大缩短训练时间。

4. Limitations

  1. 在运动幅度比较大而且比较快的高动态场景中,本文的方法会导致运动区域模糊。

在这里插入图片描述

  1. 训练的时间虽然比baseline要快很多,但还是不够快,而且需要的训练资源也比较多。

  2. 超出训练视图边界的视点外推具有挑战性,可能会导致渲染图像中出现伪影

  3. 本文的重要性采样策略是针对静态的相机的,如果相机是移动的情况,本文的策略不一定有效。

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

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

相关文章

百度地图 ( 一 ) 显示地图

1.百度地图 百度地图开放平台 https://lbsyun.baidu.com/ 使用百度地图时导入JavaScript包 <script type"text/javascript" src"http://api.map.baidu.com/api?v2.0&ak您的密钥"></script>1.1.如何申请 ak 密钥 在 开发平台 找 控制…

ChatGPT注册流程

1.访问官网点击 Sign up https://chat.openai.com/auth/login 2.输入你的邮箱 3.点击Continue下一步: 4.输入密码继续下一步&#xff1a; 5.然后你的邮箱会受到一封邮件&#xff08;如果没收到请检查垃圾邮箱&#xff09;&#xff1a; 6.点击验证邮箱按钮&#xff0c;会跳到…

MySQL 5.7中文乱码与远程链接问题

MySQL 5.7中文乱码与远程链接问题1. MySQL 5.7中文乱码2. 远程链接问题3. 不区分表大小写4. 超过最大连接数5. 时区问题5. GROUP BY 问题配置集合重启MySQL1. MySQL 5.7中文乱码 当我们直接在数据库里面输入中文时&#xff0c;保存后出现&#xff1a; Incorrect string value&…

LeetCode 第 244 场周赛题解

前言 这是 2021-06-06 的一场 LeetCode 周赛&#xff0c;本场周赛的题目相较而以往而言比较简单&#xff0c;基本上想到点上就可以做出来&#xff0c;主要涉及到矩阵的旋转、贪心、滑动窗口、前缀和、二分查找等知识点。 第 244 场周赛链接&#xff1a;https://leetcode-cn.c…

SpringBoot+Vue实现前后端分离的学校快递站点管理系统

文末获取源码 开发语言&#xff1a;Java 使用框架&#xff1a;spring boot 前端技术&#xff1a;JavaScript、Vue.js 、css3 开发工具&#xff1a;IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库&#xff1a;MySQL 5.7/8.0 数据库管理工具&#xff1a;phpstudy/Navicat JD…

机器人开发--雷达lidar

机器人开发--雷达lidar1 介绍2 分类2.1 整体分类2.2 机械式&#xff08;三角&ToF&#xff09;三角测距激光雷达ToF测距激光雷达3 机械式单线ToF激光雷达3.1 扫描原理3.2 不同材料反射率3.3 核心参数参考1 介绍 激光雷达&#xff08;英文&#xff1a;Laser Radar &#xff…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java制造类企业erp23725

面对老师五花八门的设计要求&#xff0c;首先自己要明确好自己的题目方向&#xff0c;并且与老师多多沟通&#xff0c;用什么编程语言&#xff0c;使用到什么数据库&#xff0c;确定好了&#xff0c;在开始着手毕业设计。 1&#xff1a;选择课题的第一选择就是尽量选择指导老师…

第十四周周报

学习目标&#xff1a; 一、论文“Vector Quantized Diffusion Model for Text-to-Image Synthesis”的Code 二、猫狗识别、人脸识别模型 学习内容&#xff1a; Code 学习时间&#xff1a; 12.4-12.9 学习产出&#xff1a; 一、论文Code 正向过程&#xff1a; 先通过Tam…

Python——学生管理系统

实现学生系统的增&#xff0c;删&#xff0c;查&#xff0c;打印所有学生功能&#xff0c;分别介绍使用列表存储和使用文件存储的代码 使用列表存储 import sys students []def menu():print("1. 新增学生")print("2. 显示学生")print("3. 查找学生…

【OpenCV学习】第10课:形态学操作的应用-图像去掉干扰线丶干扰点

仅自学做笔记用,后续有错误会更改 理论 去干扰线干扰点的操作方法&#xff0c; 大体上与第9课所说的提取水平/垂直线一致&#xff0c; 只是把核改为矩形&#xff0c; 不要线型就行&#xff0c;反正都是通过开操作来实行的。 操作流程&#xff1a; 输入图像&#xff08;一般是…

python数据分析:湖南省第七次人口普查可视化

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~ 今天案例难度指数: ☆☆☆ 准备 环境使用&#xff1a; Anaconda (python3.9) –> 识别我们写的代码 开发工具&#xff1a; jupyter notebook –> 代码编辑功能敲代码的工具 相关模块&#xff1a; pandas pyechart…

[附源码]计算机毕业设计基于Web的绿色环保网站Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

c# .net iot树莓派/香橙派用到物联网包Iot.Device.bindings 支持设备说明文档

c# .net iot树莓派&#xff08;进口&#xff0c;贵&#xff09;/香橙派&#xff08;国产&#xff0c;功能相同&#xff0c;性价比高&#xff09;用到物联网包Iot.Device.bindings 支持设备说明文档 我们c# .net iot开发树莓派/香橙派都需要用到Iot.Device.bindings、System.De…

RNA-seq 详细教程:假设检验和多重检验(8)

学习目标 了解模型拟合的过程比较两种假设检验方法&#xff08;Wald test vs. LRT&#xff09;了解多重测试校正的重要性了解用于多重测试校正的不同方法1. 模型拟合和假设检验 DESeq2 工作流程的最后一步是对每个基因进行计数并将其拟合到模型中并测试差异表达。 Hypothesis t…

osgEarth各个示例分析目录

概述 由于数字地球项目需要osgEarth的代码知识&#xff0c;故决定学习osgEarth的示例&#xff0c;示例中有很多可以借鉴的内容。以下是分析目录&#xff0c;完全是随机进行的&#xff0c;并没有什么上下文逻辑。 每一篇代码边学习边分析&#xff0c;如果有错误&#xff0c;请…

【Java面试】说说JVM的内存结构以及他们那些会产生内存溢出?

文章目录内存结构内存溢出的产生内存结构 对于JVM的内存结构&#xff0c;我将按照上面两张图配合来讲。 Java Source就是我们的Java源代码&#xff0c;经过JVM编译器编译之后变为Java Class也称Java字节码文件。当我们运行java命令对字节码文件进行运行的时候&#xff0c;将会…

深度学习-三维卷积神经网络(3DCNN)

1. 3DCNN理解 2D卷积仅仅考虑2D图片的空间信息&#xff0c;所以只适用于单张2D图片的视觉理解任务。在处理3D图像或视频时&#xff0c;网络的输入多了一个维度&#xff0c;输入由(c,height,width)(c,height,width)(c,height,width)变为了(c,depth,height,width)(c,depth,height…

计算机毕业设计django基于python学生考试成绩数据分析与可视化系统

项目介绍 随着社会的逐步发展,计算机网络技术对人们工作、生活影响是全面且深入的。基于计算机网络的管理系统越来越受到人们的欢迎,人们可以通过基于网络的管理系统进行实时数据信息查询、管理数据信息等,给人们的生活、工作带来便利。 在学校的日常管理工作中,学生成绩的统计…

【Python计算机视觉】项目实战之图像增强imguag对关键点变换、标注框变化(附源码 超详细必看)

需要源码或运行有问题请点赞关注收藏后评论区留言私信~~~ 一、imgaug简介 imguag使一个用于机器学习实验中图像增强的Python依赖库&#xff0c;支持Python2.7和Python3.4以上的版本&#xff0c;它支持多种图像增强技术&#xff0c;并允许轻松地组合这些技术&#xff0c;具有简…

uniapp中如何使用vuex进行状态管理(登录小案例讲解)

前言 本篇文章来讲解uniapp中如何使用vuex来实现状态管理&#xff0c;后面会讲实现登录状态管理的案例。如果之前学过vuex全家桶的同学那应该没啥问题&#xff0c;在uniapp中使用vuex和vue中基本是一样的。 什么是vuex 简单来说就是vue中的状态管理仓库&#xff0c;对于vuex…