IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 53、CodeNeRF:Disentangled Neural Radiance Fields for Object Categories -> 正文阅读

[人工智能]53、CodeNeRF:Disentangled Neural Radiance Fields for Object Categories

简介

主页:https://github.com/wayne1123/code-nerf
在这里插入图片描述
CodeNeRF表示对象类中形状和纹理的变化。左图:测试时,给定单一输入图像,训练后的模型可用于联合优化相机视点和形状/纹理潜码。右图:物体的形状、纹理和视点可以通过改变潜在代码进行编辑,从而提供对合成的完全控制。

CodeNeRF是一个新颖的三维感知的对象类别表示,它学会了分离形状和纹理。

在训练过程中,CodeNeRF采用一组姿势输入图像,同时学习形状和纹理的不同潜在嵌入,以及多层感知器的权重,通过加强多视图光度一致性来预测每个3D点的体积密度和视相关亮度

在推断过程中,给定一个看不见的物体的未摆姿参考图像,CodeNeRF优化形状和纹理代码以及相机姿势,并通过修改各自的潜在代码就可以显式编辑对象的形状和纹理

总结

不同于NeRF,CodeNeRF不是特定于场景的,可以在对象类中建模形状和外观的变化

不同于SRN,CodeNeRF分离了几何和外观,为合成任务提供了对形状和纹理的显式控制

同时,CodeNeRF在测试时不需要相机姿势的知识,通过优化来估计它

CodeNeRF与DeepSDF一样采用了自动解码器架构,但与之有很大的不同,因为只需要2D监督,可以在对象类别中分离出形状和纹理变化

实现流程

在这里插入图片描述
CodeNeRF通过潜在插值合成新形状或纹理来分离几何和外观。显示两个参考图像(左和右)。CodeNeRF首先估计这些图像的相机姿势和形状+纹理代码,然后在它们之间进行插值。
在这里插入图片描述
CodeNeRF通过学习形状和纹理的单独嵌入和一个完全连接的网络F(θ)来分离几何、外观和视点,该网络将3D位置和射线方向映射到密度和RGB值。

在这里插入图片描述
CodeNeRF架构。 γ x ( x ) γ_x(x) γx?x γ d ( d ) γ_d(d) γd?d 分别为三维点坐标和观测方向的位置编码。体积密度 σ 不依赖于纹理编码 z t z_t zt?

给定跨语义类描述 M 个对象的 N 个图像的训练集,以及它们各自的相机本征和位姿参数 V = I i , K i , T i i N = 1 V = {I_i, K_i, T_i}^N_i=1 V=Ii?,Ki?,Ti?iN?=1, CodeNeRF联合学习封装了跨观察对象的几何和外观的多层感知器 F Θ F_Θ FΘ? 的权值,以及分别分离出形状和外观分离的潜在嵌入 { z s j , z t j } j = 1 M ∈ R 256 \{z_s^j, z_t^j\}^M_{j=1}∈R^{256} {zsj?,ztj?}j=1M?R256 F Θ F_Θ FΘ?是一个解耦的神经辐射场,以形状和纹理代码为输入,将场景坐标 x 和观看方向 d 映射到相应的体积密度 σ 和RGB颜色值 c
在这里插入图片描述
对场景坐标 x 和观看方向 d 使用位置编码 γ(·) 来捕捉高频细节,用10个频率表示 x, 4 个频率表示 d,设计了解码器的结构,利用体积密度 σ 只依赖于3D点 x 和形状代码 z s z_s zs? ,而RGB颜色还依赖于观看方向 x 和纹理代码 z t z_t zt?,MLP的第一层 f Θ f_Θ fΘ? 将输入三维坐标 γ(x) 和形状代码 z s z_s zs? 映射到体积密度 σ 和中间特征向量 v ∈ R 256 R^{256} R256,网络 F Θ t F^t_Θ FΘt?的第二部分以 v 和 z t z_t zt? 为输入输出RGB颜色
在这里插入图片描述
借鉴SRN、DeepSDF,CodeNeRF采用了一种具有解耦形状和纹理嵌入空间的自动解码器架构,训练过程中,嵌入向量 { z s j , z t j } j = 1 M \{z_s^j, z_t^j\}^M_{j=1} {zsj?,ztj?}j=1M? 与网络参数 F Θ F_Θ FΘ? 联合优化,不同于DeepSDF,形状和纹理嵌入可以只从图像端到端进行训练,不需要任何3D监督,不同于SRNs,形状和纹理嵌入是解耦的,可以用作编辑/合成的单独控件。

形状/纹理嵌入和解码器网络 F θ F_θ Fθ? 共同充当学习先验,模拟跨语义类别的形状变形和纹理变化,一旦训练了模型,给定一个单一的输入图像,它就可以用于一个看不见的物体的一次重建,通过测试时间优化,估计相应的形状和纹理代码 { z s j , z t j } \{z_s^j, z_t^j\} {zsj?,ztj?},甚至相机姿势

体渲染部分与NeRF一致
在这里插入图片描述

Training CodeNeRF

对于训练集 V = { I i , K i , T i } i = 1 N V = \{I_i, K_i, T_i\}^N_{i=1} V={Ii?,Ki?,Ti?}i=1N? 中的每个图像,在每次训练迭代中,使用内部参数和外部参数对一批4094条射线进行采样。然后, 沿着每条射线采样64个点,并将它们连同形状和纹理代码的当前估计一起发送到 MLP F Θ F_Θ FΘ? F Θ F_Θ FΘ?提供了占用密度 σ 和 RGB 颜色 c,使用体渲染来沿着每条射线聚合颜色。训练使用光度损失和正则化损失作为潜在向量的先验(见公式(4))进行监督。用AdamW优化器训练模型,网络参数的初始学习率为1e-4,潜在向量的初始学习率为1e-3。
在这里插入图片描述

Inference Optimization

在推理时,给定一个看不见的物体的单一输入图像,训练过的模型可用于优化潜在向量,通过最小化渲染像素和观察像素之间的光度损失(Eq. 5,下面介绍),同时保持神经网络的权重固定。此外,CodeNeRF不需要已知的摄像机姿态,它的参数也可以与潜码联合优化。

Camera Pose Optimization

CodeNeRF使用相机到世界的转换矩阵将像素投影到3D射线中,需要已知的摄像机矩阵来训练模型,一旦学习了模型,在推理时,与其他方法不同,不需要已知的摄像机视点,通过获取输入点和射线方向上的梯度,以类似于可微渲染器的方式,与潜在嵌入向量联合优化旋转和平移参数,与其他物体类别的3D重建方法类似,假设一个简化的相机模型,其中世界坐标系以 3D 物体为中心,相机面对其原点,向上向量与z轴对齐。在这种情况下,R 和 t 可以通过方位角 φ、仰角 θ 和与相机的距离 ρ 来参数化,如图所示
在这里插入图片描述
相机视点参数化。在测试时,CodeNeRF与潜码共同优化摄像机姿态。

相机到世界的变换矩阵可以写成 T c w = ( R T p 0 1 ? ) T_{cw} = \left( \begin{matrix} R^T & p \\ 0 & 1 \ \end{matrix} \right) Tcw?=(RT0?p1??)
在这里插入图片描述
p = (ρ cos θ cos φ, ρ cos θ sin φ, ρ sin θ)是摄像机的位置。在推理时,给定参考图像 I i I_i Ii?,摄像机位姿和采样射线 γ i γ_i γi? 可以用摄像机参数方位角(φ, θ, ρ)表示,并利用梯度进行优化。

Test time optimization

使用AdamW优化器将光度损失与形状和纹理代码以及相机参数(固定解码器参数Θ)联合最小化
在这里插入图片描述
用训练后的均值向量初始化潜伏向量,初始学习率为1e-2。摄像机参数的初始学习率分别为1e-2、1e-1和1e-1。

Enforcing disentanglement

为了说明良好的体系结构选择和解纠缠之间的联系,训练了两个可选模型(M1/M2)。在 M1 中,已知 γ d ( d ) γ_d(d) γd?d与 3D 点位置 γ x ( x ) γ_x(x) γx?x一起作为 KaTeX parse error: Double subscript at position 6: F^s_θ_?s 第一层的输入(类似于PixelNeRF)。在M2中, z s z_s zs? z t z_t zt? 被给定为 KaTeX parse error: Double subscript at position 6: F^s_θ_?s 的输入,这相当于使用单一的嵌入。然后执行纹理编辑,保持形状代码固定。下图显示了CodeNeRF如何完全消除形状和纹理的歧义。M1无法合成正确的纹理,而M2的形状发生了不必要的变化。
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-09-30 00:52:59  更:2022-09-30 00:53:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 22:41:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码