74、Beyond RGB: Scene-Property Synthesis with Neural Radiance Fields

news2024/11/15 21:46:58

简介

  • List item

论文地址:http://arxiv-export3.library.cornell.edu/abs/2206.04669v1
在这里插入图片描述
利用隐式三维表示和神经渲染的最新进展,从综合模型的角度提供了一种新的场景理解方法,能够从新颖的视点渲染照片逼真的RGB图像,而且还能够渲染各种精确的场景属性(例如,外观、几何和语义)。便于在统一的框架下解决各种场景理解任务,包括语义分割、表面法向估计、重塑、关键点检测和边缘检测。可以成为生成式学习和判别学习的强大工具,因此有利于研究广泛的有趣问题,例如研究综合范式中的任务关系,将知识转移到新任务中,促进下游判别任务作为数据增强的方式,以及作为数据创建的自动标签器

贡献点:

  • 从学习合成模型的角度提出了一种新的解决方案SS-NeRF来进行场景理解。SS-NeRF是第一个将NeRF扩展到同时渲染照片逼真的新视图图像和各种相应的场景属性的工作
  • 实例化SS-NeRF与五个流行的场景属性,包括语义标签,表面法线,阴影,关键点,和边缘。作为一种通用的神经场景表示,SSNeRF被证明优于一种混合策略,该策略分别训练NeRF(用于渲染图像)和特定于任务的判别模型(用于预测场景属性)
  • SS-NeRF框架是连接生成式学习和判别式学习的强大工具,为通过综合范式中的多任务学习或知识迁移来研究不同属性和任务之间的关系带来了新的见解
  • SS-NeRF可以有利于各种问题,例如促进下游任务作为数据增强的方式,并作为数据创建的自动标签器

实现流程

NeRF公式
在这里插入图片描述
在这里插入图片描述

Innovation and Problem Setting

NeRF使用感知器网络学习隐式3D几何和场景表示,这种几何感知的表示不仅适用于RGB颜色,而且还适用于其他场景属性,因为它是内部共享的。这种表示方法同时解决了判别模型(泛化到新视图)和基于gan的生成模型(泛化从图像合成到其他任务)的局限性。它为场景理解提供了一个新的合成视角,并为广泛的应用带来了新的潜力

对于某个场景属性 P i P_i Pi,目标是学习一个函数 f i f_i fi 来估计它在每个3D位置和视图方向上的值 p i p_i pi : f i ( x , d ) → p i f_i(x, d) → p_i fi(x,d)pi

隐式函数编码了场景的几何、形状和纹理信息,这些信息在不同的属性预测任务中是可共享的,不同的属性可以通过共享知识一起学习

那么可以扩展为给定 K 个场景属性的集合 P = P k K = 1 K P = {P_k}^K_{K =1} P=PkK=1K,目标是构建一个表示函数 f,它可以将三维坐标和视图方向映射到相应的属性值 f ( x , d ) → { P k } K = 1 K f (x, d) →\{P_k\}^K_{K =1} f(x,d){Pk}K=1K
在这里插入图片描述
采用共享位置编码器 F e n c F_{enc} Fenc 为3D坐标(x, y, z)构建特征嵌入 e x e_x ex
在这里插入图片描述

采用了 F d e c v F^v_{dec} Fdecv F d e c n v F^{nv}_{dec} Fdecnv 两种解码网络

F d e c v F^v_{dec} Fdecv 将附加视图输入 d = (θ, φ) 与编码后的坐标一起进行属性 P i v P^v_i Piv 的预测,

F d e c n v F^{nv}_{dec} Fdecnv 则直接用编码后的坐标预测场景属性 P j n v P^{nv}_j Pjnv

在这里插入图片描述
密度 σ 总是需要为单个属性或多个属性进行体渲染,颜色是信息量最大的场景属性,将它们作为SS-NeRF模型的固定输出,并在这个基本模型上添加其他属性

Instantiation and Optimization of SS-NeRF

F d e c v F^v_{dec} Fdecv 预测 底纹(SH), 关键点(KP), 和 边缘(ED), F d e c n v F^{nv}_{dec} Fdecnv 语义标签(SL) 和 表面法线(SN)

SS-NeRF优化过程中,采用分层体积采样策略,随机选择一些“粗”样本点,然后对偏向于体积相关部分的“细”点进行更明智的抽样,彩色图像合成,采用均方误差(MSE)

在这里插入图片描述
p ( r ) 、 p ^ c ( r ) 、 p ^ f ( r ) p(r)、\hat{p}_c(r)、\hat{p}_f (r) p(r)p^c(r)p^f(r) 分别为属性 p 的真相、粗体积预测和精细体积预测,R是每一批射线 r 的集合,MSE损失也用于表面法向预测,对于语义标签预测,使用交叉熵损失函数
在这里插入图片描述
s l 、 s ^ c l 、 s ^ f l s^l、\hat{s}^l_c 、\hat{s}^l_f sls^cls^fl 分别为 l 类多类语义概率的真值、粗体积预测和细体积预测

对 粗、细预测 s ^ c l 、 s ^ f l \hat{s}^l_c、\hat{s}^l_f s^cls^fl 进行体绘制后使用softmax处理。

对于阴影、关键点和边缘,采用 L 1 L_1 L1 损失

在这里插入图片描述
最终损耗为特定任务的光测损耗与标准损耗的加权和,为:.
在这里插入图片描述
其中 P = { P S L , P S N , P S H , P K P , P E D } P = \{P_{SL}, P_{SN}, P_{SH}, P_{KP}, P_{ED}\} P={PSL,PSN,PSH,PKP,PED} 为性质集, λ P i λ_{P_i} λPi 为相应的权值

在所有的五个场景属性中,表面法线是一个特殊的矢量形式,它在图像中的投影取决于相机的姿势。为了更好地模拟这一特性,使用 F d e c n v F^{nv}_{dec} Fdecnv 作为解码网络,并引入编码后的相机姿态的额外输入,用体绘制技术直接合成编码后的法线

表面法线由深度 S N ( x , y , z ) = ( − d x d z , − d y d z , 1 ) SN (x, y, z) =(− \frac{dx}{dz},−\frac{dy}{dz}, 1) SN(x,y,z)=(dzdxdzdy,1) 得到,其中(x, y, z)是三维坐标, d x d z , d y d z \frac{dx}{dz},\frac{dy}{dz} dzdx,dzdy分别是z相对于 x 和 y 的梯度。

边缘由Canny检测器渲染,关键点来源于SURF,阴影由预先训练的模型XTConsistency渲染

实验

λ S N = 1 , λ S L = 0.04 , λ S H = 0.1 , λ K P = 2 , λ E D = 0.4 λ_{SN} = 1, λ_{SL} = 0.04, λ_{SH} = 0.1, λ_{KP} = 2, λ_{ED} = 0.4 λSN=1,λSL=0.04,λSH=0.1,λKP=2,λED=0.4
使用Adam优化器,学习率为 5 × 1 0 − 4 5 \times 10^{-4} 5×104, β 1 = 0.9 , β 2 = 0.999 \beta_1 = 0.9,\beta_2 = 0.999 β1=0.9,β2=0.999,每个场景使用 200k 迭代,在单个NVIDIA RTX 2080 Ti GPU上花费9小时训练
在这里插入图片描述
在这里插入图片描述

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

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

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

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

相关文章

我们怎样才能过好这一生?

文章目录1. 日拱一卒,功不唐捐1.1 适当的时候给自己一个奖励1.2 一个人可能走的更快,但一群人才能走的更远1.3 通过一些事情去逼自己一把1.4 从真理中去感悟1.5 当你面临绝路时2. 梦想的意义不在于实现3. 孤独4. 烦恼5. 别总说来日方长6. 忍和韧性7. 事情…

低成本搭建一台家庭存储服务器:前篇

本篇文章,记录搭建备份服务器的过程。 写在前面 今年考虑专门搭建一台用于数据备份的机器,一来今年外出的需求比较多,历史的设备已经用了几年了,需要有更新的设备来“接力”;二来也想验证方案的靠谱程度,…

k8s之ingress实战小栗子

写在前面 本文接k8s之ingress 。 本文看一个基于ingress作为流量入口的实战例子,架构图如下: 接下来详细看下。 1:部署MariaDB 首先我们需要定义MariaDB使用的configmap,如下: apiVersion: v1 kind: ConfigMap meta…

1587_AURIX_TC275_SMU的部分寄存器3

全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) SMU的章节,剩下的部分全都是寄存器了,没有太多需要特别关注的。因此,接下来选择性整理,完成整个SMU的文档学习整理。 这一页是上一份笔记的…

05_FreeRTOS中断管理

目录 什么是中断 中断相关寄存器 源码实验 什么是中断 简介:让CPU打断正常运行的程序,转而去处理紧急的事件(程序) ,就叫中断。 举例:上课可以比做CPU正常运行的程序,上厕所可以比做中断程序。 中断执行机制,可简单概括为三步: 中断请求:外设产生中断请求(GPIO外部中断、…

【精品】k8s(Kubernetes)cka由基础到实战学法指南

轻松快速学会k8s四招 图1 k8s四招 学完本篇,您会获得什么惊喜? 从初学k8s,到帮助别人学会的过程中,发现朋友们和我,并非不努力,而是没有掌握更好的方法。有方法可让我们学的更快更轻松,这篇文章,以一个networkpolicy的题目,来逐步讲解,帮助大家建立一种,自己可以根…

Java基础语法

文章目录Java 基础语法一、注释1. 注释介绍2. 注释分类3. 注释颜色二、关键字1. 关键字介绍2. 所有关键词三、字面量四、变量1. 变量2. Debug 工具1)如何加断点?2)如何开启 Debug 运行?3)点哪里 ?4)看哪里…

ElasticSearch架构之整合ELK

前言本篇文章主要是说ElasticSearch对Logstash、FileBeat、Kibana整合形成ELK的架构,为什么需要整合这个架构呢?一个很重要的原因就是我们开发过程中有相当多的日志需要进行查看,如果我们要查找一个问题需要到多台服务器进行查看那是相当麻烦…

【Java基础知识 4】Java数据类型之间的转换、运算符

本文已收录专栏 🌲《Java进阶之路》🌲 目录 🌴基本数据类型 🍃01、布尔 🍃02、byte 🍃03、short 🍃04、int 🍃05、long 🍃06、float 🍃07、double …

C生万物 | 详解程序环境和预处理【展示程序编译+链接全过程】

👑作者主页:Fire_Cloud_1 🏠学习社区:烈火神盾 🔗专栏链接:万物之源——C 文章目录一、程序的翻译环境和执行环境二、详解编译链接1、前言小知识🔍2、翻译环境【important】2.1 编译① 预编译【…

【LeetCode每日一题】【2023/1/15】2293. 极大极小游戏

文章目录2293. 极大极小游戏方法1:双指针2293. 极大极小游戏 LeetCode: 2293. 极大极小游戏 简单\color{#00AF9B}{简单}简单 给你一个下标从 0 开始的整数数组 nums ,其长度是 2 的幂。 对 nums 执行下述算法: 设 n 等于 nums 的长度&#x…

Windows 10的子系统不是非Ubuntu不可

Ubuntu 的制造商 Canonical 早已和微软进行合作,让我们体验了极具争议的 Bash on Windows。外界对此也是褒贬不一,许多 Linux 重度用户则是质疑其是否有用,以及更进一步认为 Bash on Windows 是一个安全隐患。 Unix 的 Bash 是通过 WSL&#…

MyBatis动态设置表名 获取添加功能自增的主键 自定义映射

MyBatis动态设置表名 获取添加功能自增的主键 自定义映射动态设置表名获取添加功能自增的主键自定义映射解决字段名和属性名不一致的情况为字段起别名,保持和属性名的一致设置全局配置,保持和属性名的一致通过resultMap设置自定义的映射关系动态设置表名 mapper接口&#xff1a…

Java实现线段树

问题一:开始的子区间是怎么分的? M (LR)/2,左子区间为[L,M],右子区间为[M1,R] 问题二:如何进行区间统计? 假设这13个数为1,2,3,4,1,2,3,4,1,2,3,4,1. 在区间之后标上该区间的数字之和: 如…

Windows安全加固-AD建立与加入

AD建立与加入 实验环境说明: 域控从机: Windows 2003 域控主机: Windows 2008 IP设置 设置同一网段-保证连通性 将NDS指向Windos2008 第一步,域控服务器需要将服务器设为静态 IP地址 1.将Windows2008服务器IP地址修改为192.1…

c++ - 第24节 - c++的IO流

1.C语言的输入与输出 C语言中我们用到的最频繁的输入输出方式就是scanf()与printf()。 scanf(): 从标准输入设备(键盘)读取数据,并将值存放在变量中。printf(): 将指定的文字/字符串输出到标准输出设备(屏幕)。注意宽度输出和精度输出控制。C语言借助了相应的缓冲区…

【Android gradle】自定义一个android gradle插件之buildSrc

文章目录1. 前言2. 简单使用3. 其余用法3.1 依赖&版本管理3.2 插件版本自增3.3 其余4. 链接1. 前言 在【Android gradle】自定义一个android gradle插件,并发布到私有Artifactory仓库这篇文章中介绍了定义一个gradle插件,然后发布到远程或者本地仓库…

对数据库索引和事务的理解

1.数据库授权命令&#xff1a; GRANT<权限> on 表名(或列名) to 用户。 举例&#xff1a; 授予用户SQLTest对数据库Sales的CUSTOMERS表的列cid、cname的查询权限 grant select on CUSTOMERS(cid,cname) to SQLTest; 2.MySQL索引&#xff08;index&#xff09; 什么是索引…

C++5:初见模板

目录 函数模板 函数模板的实例化&#xff1a; 隐式实例化 显示实例化 类模板 虽然学习了类和对象&#xff0c;能很方便的处理一些容器类的问题&#xff0c;但是我们还是会遇到如下这种情况。 我们创建一个简单的stack类 class Stack { public:Stack(){} private:int* _a;…

【机器学习】Logistic Regression 逻辑回归算法详解 + Java代码实现

文章目录一、逻辑回归简介1.1 什么是逻辑回归1.2 Sigmoid函数1.3 预测函数二、逻辑回归实战 - Java代码实现一、逻辑回归简介 1.1 什么是逻辑回归 逻辑回归&#xff08;Logistic Regression&#xff09;是一种用于解决二分类&#xff08;0 or 1&#xff09;问题的机器学习方法…