十一周阅读记录

news2024/12/26 12:42:51

Neural Scene Graphs for Dynamic Scenes:动态场景的神经场景图

提出了一种将动态场景分解为场景图的神经渲染方法。提出了一种学习的场景图表示,它编码了物体的变换和辐射,以便高效地渲染场景的新排列和视图。为此,隐式学习场景,结合了一个共同学习的潜在表示,用于用单一的隐式函数描述物体。

NeRF的缺点:将整个场景表示编码到单个静态网络中,不允许传统方法支持的分解单个物体表示或动态场景。

创新点

1.将动态的、多物体场景分解为一个学到的场景图,其中物体的变换和场景的表示是解耦的。
2.直接从一组视频帧和相应的跟踪数据中学习每个场景图节点的物体表示。使用共享的体积表示来对一类对象的实例进行编码。
3.通过呈现所表示场景的新的未见过的视图和未见动态场景排列,使用标记和生成的跟踪数据。

场景图表示(Scene Graph)

将场景建模为有向图,将对象表示为叶节点,以图的形式表达了场景中各个元素之间的关系。
节点(Nodes): 场景图的节点表示场景中的元素,通常是物体或者物体的一部分。每个节点都包含有关物体的信息,如几何形状、材质、光照属性等。在场景图中,节点可以表示为有向图中的顶点。

边(Edges): 场景图的边表示节点之间的关系。这些关系可以包括空间关系(例如一个物体是另一个物体的子部分)、运动关系、或者其他语义关系。边是连接节点的有向图中的边。

层次结构(Hierarchy): 场景图通常是一个层次结构,其中节点按照父子关系组织起来。这种层次结构有助于对场景的组织和管理。例如,一个汽车节点可以包含子节点表示车轮、车身等。

变换(Transformations): 场景图中的节点之间的关系可以通过变换来表示,如平移、旋转、缩放等。这些变换被应用于节点的局部坐标系,以便更好地组织和描述场景的复杂性。

将神经渲染与传统的场景图相结合的方法,以实现对动态场景的分解和表示。这种结合可以充分利用传统场景图的层次结构和关系表示的优势,同时使用神经网络学习场景中物体的表示。这对于在计算机图形学和计算机视觉领域中处理复杂动态场景具有挑战性的问题是有希望的。

Latent Class Encoding(潜在类编码)

描述符可以在类似对象之间推广隐式场景表示。通过在输入的3D查询点中添加潜在向量 z,可以使用相同的网络对类似的对象进行建模。这种方法通过为对象引入潜在向量,使得网络能够泛化到同一类别的对象。

神经场景图

下图所示的场景图S由摄像机、静态节点和一组动态节点组成,动态节点表示场景的动态组件,包括对象外观、形状和类别。
在这里插入图片描述
(a)三维视图 和 (b)投影视图
图a:场景图的节点被可视化为盒子,每个盒子带有它们的局部笛卡尔坐标轴。这表示了场景中的不同物体或元素,每个节点都有一个局部坐标系。
图b:节点被可视化为盒子,并显示它们的局部坐标轴。是在某个视角下的投影,用于更清晰地了解场景的排列。
边用箭头表示,箭头之间带有它们的变换和缩放矩阵。这些箭头表示父坐标系和子坐标系之间的变换和缩放关系,使用了变换矩阵 T o W . T_{o}^{\mathcal{W}}. ToW.和缩放矩阵 S o S_{o} So
相应的潜在描述符由lo表示,单位缩放边界框的表示节点由Fθ表示。

使用有向非循环图S(一个无回路的有向图)来唯一地定义场景,S由下式给出:S = <W, C, F, L,E>,
C 是表示相机及其内部参数 K 的叶节点。
F 是表示场景中静态和动态元素模型的叶节点集合,包括背景 Fθbckg 和每个类别 c 对应的Nclass个动态表示模型 Fθc
L 是叶节点的集合,用于为每个表示叶节点分配潜在对象编码。
E 是边的集合,这些边表示从节点 u 到节点 v 的仿射变换或属性赋值。
在这里插入图片描述
姿态和位置的提取:对于给定的场景图,可以提取所有对象的姿势和位置。
根节点的边:对于所有从根节点 W 出发的边,作者分配了从全局世界空间到局部对象或相机空间的变换,表示为 T v W . T_{v}^{\mathcal{W}}. TvW.这些变换描述了对象或相机在全局坐标系下的位置和朝向。
共享的表示模型:表示模型是共享的,因此在一个共享、单位缩放的坐标系中定义。为了表示相同对象类型的不同尺度,计算了非均匀缩放 S o S_{o} So,该缩放被分配给对象节点和其共享的表示模型 F 之间的边 e o , f e_{o,f} eo,f
检索对象的本地变换和位置:为了检索对象的本地变换和位置 p o = [ x , z , y ] o p_{o}=[x,z,y]_{o} po=[x,z,y]o 可以从根节点 W开始遍历,应用相应的变换,直到达到所需的对象节点 F θ F_{\theta} Fθ

对于模型表示节点F,遵循NeRF,将场景对象表示为增强的隐式神经辐射场。在下图中,描述了用于神经辐射场的两个增强模型。
在这里插入图片描述

背景节点:

该辐射场与先前的工作不同,存在于稀疏平面而不是体积上。静态背景节点函数Fθbckg:(x,d)→(c,σ)将点x映射到其体积密度,并结合观察方向映射到发射颜色。

动态节点

一个动态对象用o表示, 每个动态对象都用其节点和位置 po的局部空间中的神经辐射场表示。
具有相似外观的对象被组合成一个类别 c,并共享表示函数 F θ c F_{\theta_{c}} Fθc的权重 θ c θ_{c} θc,这种共享可以帮助模型更好地捕捉相似对象之间的共同特征。
通过学习的潜在编码向量 lo区分了各个对象的神经辐射场。这个潜在编码表示了对象类别,它被用于生成对应于对象 o 的神经辐射场。

​表示函数 F θ c F_{\theta_{c}} Fθc将潜在编码lo,位置po,对象o的局部坐标xo,和时间do作为输入,生成颜色和光照信息
在这里插入图片描述
潜在类别编码
通过引入一个潜在向量lo,用于编码对象的表示。这有助于减少所需的模型数量,同时允许考虑共享的对象特征,并分离全局光照效果与各个对象的辐射场。
添加潜在向量相当于:一种从类别c的表示函数到对象o的辐射场的映射,可以实现在全局光照效果上的共享。在训练中,一些对象可能显示出特定的全局光照效果,这将在同一类别的所有对象之间共享。所以第一阶段表示为
在这里插入图片描述

对象坐标系
解决动态对象的坐标框架以及它们的全局位置随时间变化的情况
动态对象的全局位置po 在每帧之间变化,辐射场也会变化,引入局部三维坐标框架,该框架与对象的姿态固定且对齐,坐标可以帮助描述对象相对于全局坐标系的变化,全局坐标 x 到对象坐标xo的变换公式:
在这里插入图片描述
S 0 S_{_{0}} S0是与对象的边界框大小相关的缩放矩阵, T v o T_{\boldsymbol{v}_{o}} Tvo是将点从全局坐标系Fw变换到对象坐标系Fo的变换矩阵,这种变换考虑了对象的尺寸,使模型能够学习与边界框大小无关的相似性。
最终的体积场函数 F θ c F_{\theta_{c}} Fθc,接受对象类别 c 的输入 l o , x o , d o , p o l_o,x_o,d_o,p_o lo,xo,do,po 并输出对应的颜色c和体密度 σ \sigma σ
在这里插入图片描述
在这里插入图片描述

神经场景图渲染

根据场景图分辨背景与动态物体
静态节点:多平面采样,定义多个平面,均匀采样
动态节点首先检查射线是否与动态节点相交,如果相交,计算射线与box的入口和出口点,在其中均匀采样
输入静态网络或者动态网络进行预测颜色和体密度
积分计算每个点的体密度和颜色 渲染图片
损失函数
在这里插入图片描述
局限性: 由于隐式方法的性质,所提方法的学到表示质量受到训练数据的变化和数量的限制。未来可能通过从大规模视频数据集学到的场景先验来处理更大的视图外推。

未来展望: 作者认为所提方法开启了神经渲染动态场景的领域,并在检测结果的支持下,可能在未来作为计算机视觉模型的无监督训练方法。

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

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

相关文章

nrm的安装以及使用

1&#xff0c;什么是nrm nrm 是一个 npm 源管理器&#xff0c;允许你快速地在 npm源间切换。 什么意思呢&#xff0c;npm默认情况下是使用npm官方源&#xff08;使用npm config ls命令可以查看&#xff09;&#xff0c;在国内用这个源肯定是不靠谱的&#xff0c;一般我们都会…

Spring IOC - Bean的生命周期之依赖注入

在Spring启动流程中&#xff0c;创建的factoryBean是DefaultListableBeanFactory&#xff0c;其类图如下所示&#xff1a; 可以看到其直接父类是AbstractAutoireCapableBeanFactory&#xff0c;他主要负责完成Bean的自动装配和创建工作。 具体来说&#xff0c;AbstractAutowire…

DSP2335的LED工程笔记

首先是确定时钟 在技术参考中&#xff0c;找到时钟章节 只能观察每个寄存器&#xff0c;才能看到寄存器控制那个外设的时钟 第二找到对应GPIO以及寄存器&#xff1b; 在我板子里面的原理图是 但是TI的提供的库函数是分ABC的&#xff0c;刚开始就不知道怎麽分。GPIO68到GPIO6…

Autox.js和Auto.js4.1.1手机编辑器不好用我自己写了一个编辑器

功能有 撤销 重做 格式化 跳转关键词 下面展示一些 内联代码片。 "ui"; ui.layout( <drawer id"drawer"><vertical><appbar><toolbar id"toolbar"title""h"20"/></appbar><horizontal b…

配置VNC环境时,出现xauth: file /root/.Xauthority does not exist的解决方案。

问题描述 在配置VNC&#xff08;Virtual Network Computing&#xff09;环境的过程时&#xff0c;首先安装了tigervnc-server包。在使用&#xff1a; vncserver命令创建VNC会话号的时候出现了一个报错&#xff1a;xauth: file /root/.Xauthority does not exist 原因分析&…

SpringBoot静态资源配置

项目中 SSM中配置 第一种&#xff1a;配置文件中 <mvc:resources mapping"/js/**" location"/js/"/> <mvc:resources mapping"/css/**" location"/css/"/> <mvc:resources mapping"/html/**" location&q…

python表白弹框

# codinggbk import tkinter as tk import random# 创建主窗口并隐藏 root tk.Tk() root.attributes(-alpha, 0) # 设置主窗口为不可见# 表白内容 message "cnmsb"# 创建弹框函数 def create_popup():x random.randint(0, root.winfo_screenwidth()) # 随机生成…

合并两个有序链表(冒泡排序实现)

实例要求&#xff1a;将两个升序链表合并为一个新的 升序 链表并返回&#xff1b;新链表是通过拼接给定的两个链表的所有节点组成的&#xff1b;实例分析&#xff1a;先拼接两个链表&#xff0c;在使用冒泡排序即可&#xff1b;示例代码&#xff1a; struct ListNode* mergeTwo…

EMD、EEMD、FEEMD、CEEMDAN分解的对比(其中CEEMDAN分解可以有效消除模态分解)

理论部分 EMD (Empirical Mode Decomposition)、EEMD (Ensemble EMD)、FEEMD (Fast Ensemble EMD) 和 CEEMDAN (Complete Ensemble EMD with Adaptive Noise) 是一些常用的信号分解方法&#xff0c;它们在信号分解的效果和特性上有所区别。 1. EMD&#xff1a; - EMD是最基础…

SpringBoot-AOP学习案例

4. AOP案例 SpringAOP的相关知识我们就已经全部学习完毕了。最后我们要通过一个案例来对AOP进行一个综合的应用。 4.1 需求 需求&#xff1a;将案例中增、删、改相关接口的操作日志记录到数据库表中 就是当访问部门管理和员工管理当中的增、删、改相关功能接口时&#xff0…

【MySQL--->用户管理】

文章目录 [TOC](文章目录) 一、用户管理表二、基本操作三、用户权限分配给用户某个数据库中某个表的某个权限. grant 权限 on 库.表名 to 用户名主机名. ![在这里插入图片描述](https://img-blog.csdnimg.cn/fe8eb171ef9343c3a09bd64d4f0db5c1.png)分配给用户某个数据库中全部表…

Adversarially Robust Neural Architecture Search for Graph Neural Networks

Adversarially Robust Neural Architecture Search for Graph Neural Networks----《面向图神经网络的对抗鲁棒神经架构搜索》 摘要 图神经网络&#xff08;GNN&#xff09;在关系数据建模方面取得了巨大成功。尽管如此&#xff0c;它们仍然容易受到对抗性攻击&#xff0c;这对…

Frames X for figma 组件库设计系统 Local Variables下载

简而言之&#xff0c;Frames X 是最出色、易于使用且文档齐全的Figma 设计系统之一。 它包括经过深思熟虑的设计指南和现成的组件&#xff0c;并且还提供一本全面的电子书&#xff0c;其中将详细解释如何使用该套件中包含的所有内容。 事实上&#xff0c;电子书使Frames X 与…

Spring IOC/DI和MVC及若依对应介绍

文章目录 一、Spring IOC、DI注解1.介绍2.使用 二、Spring MVC注解1.介绍2.使用 一、Spring IOC、DI注解 1.介绍 什么是Spring IOC/DI&#xff1f; IOC(Inversion of Control&#xff1a;控制反转)是面向对象编程中的一种设计原则。其中最常见的方式叫做依赖注入&#xff08;…

母婴服务预约小程序的效果如何

二胎家庭增速明显&#xff0c;占比较大&#xff0c;成为市场各母婴品牌的目标&#xff0c;而随着行业发展及市场变化&#xff0c;线上互联网深入人们生活&#xff0c;各家母婴品牌开始向“数字化”靠拢。 目前母婴门店商家主要面临服务/产品线上曝光不足、宣传度不够或扩圈无门…

C++ Sort函数详解

C Sort函数详解 前言 &#xff1a;sort函数是algorithm库下的一个函数&#xff0c;sort函数是不稳定的&#xff0c;即大小相同的元素在排序后相对顺序可能发生改变&#xff0c;如果某些场景需要保持相同元素间的相对顺序&#xff0c;可使用stable_sort函数&#xff0c;这里不过…

03 前后端数据交互【小白入门SpringBoot + Vue3】

项目笔记&#xff0c;教学视频来源于B站青戈 https://www.bilibili.com/video/BV1H14y1S7YV 前两个笔记。是把前端页面大致做出来&#xff0c;接下来&#xff0c;把后端项目搞一下。 后端项目&#xff0c;使用IDEA软件、jdk1.8、springboot2.x 。基本上用的是稳定版。 还有My…

【Linux】动静态库的使用与软链接的结合

文章目录 前言一、静态库1.静态库的创建2.静态库的链接3.将库进行打包4.链接方法&#xff1a;1.直接链接2.拷贝到系统路径里面3.采用软链接方法 二、动态库1.解决加载找不到动态库的方法1.直接拷贝2.建立软链接3.建立自己的动态路径配置文件 2.为什么动态库权限需可执行而静态库…

C#入门(1):程序结构、数据类型

一、C#程序结构 第一个C#程序 using System;namespace base_01 {class Program{#region 代码折叠块static void Main(string[] args){//控制台输出Console.WriteLine("Hello World!");Console.Write("C#是微软的编程语言"); //不换行输出//Console.Rea…

相机内参及其内参影响因素的几点思考

目录 理论推导之从相机坐标系到像素坐标系 机械参数对相机内参的影响 Resize与Crop对相机内参的影响 参考文献 理论推导之从相机坐标系到像素坐标系 相机内参的意义即从相机坐标系到像素坐标系的表达&#xff0c;其中共涉及到三个坐标系&#xff1a;相机坐标系、成像坐标系…