GNeRF的一些具体细节

Abstract

GNeRF,一个结合生成对抗网络(GAN)和神经辐射场(NeRF)重建的框架,用于未知甚至随机初始化相机姿态的复杂场景。最近基于 NERF 的进展已经获得了显着的现实新视图合成的普及。然而,大多数方法都严重依赖于摄像机姿态的精确估计,而目前很少有方法只能在摄像机轨迹相对较短的大致前向场景中对未知摄像机姿态进行优化,且需要对摄像机姿态进行粗略的初始化。与此不同的是,GNRF 仅在复杂的由外向内场景中使用随机初始化的姿势。我们提出了一个新的两阶段端到端的框架。第一阶段将 GAN 的应用带入一个新的领域,用于共同优化粗相机的姿态和辐射场,而第二阶段用额外的光度损耗来改善它们。我们使用一个混合迭代优化方案来克服局部极小值。在各种合成和自然场景上的大量实验证明了 GNeRF 的有效性。更令人印象深刻的是,我们的方法在那些重复模式甚至低纹理被认为是极具挑战性的场景中优于基线。

Method

4.1. Pose-free NeRF Estimation(无姿势 NRF 估计)
作为该方法的初始阶段,在 A 阶段,我们没有对每幅图像或预先训练的辐射场进行合理的摄像机位姿估计。我们这个阶段的目标是为每个图像预测一个粗略的姿势,同时也学习场景的粗略辐射场。
在这里插入图片描述
4.2. Regularized Learning Strategy(正规化学习策略)
提出了一种正则化学习策略(AB. . AB) ,通过交错无姿态的 NeRF 估计步骤(A 阶段)和 NeRF 细化步骤(B 阶段)来进一步提高 NeRF 模型和姿态估计的质量。
该策略通过学习反演网络的姿态预测来规范基于梯度下降的模型优化。直观地说,通过对 NERF 模型的对抗训练,合成的假像和真像之间的区域差距正在缩小
4.3. Training
为了训练产生的辐射场,遵循类似 GRAF的贴片采样策略,以提高计算和存储效率。具体来说,对于 GAN 的训练过程,采用动态补丁采样策略,如图左下部所示。每个补丁在图像域内采样,固定大小为16 × 16,但动态尺度和随机偏移。对于姿态优化过程。采用静态补丁采样策略,如图左上部所示。在整个图像域内对每个补丁进行均匀采样,每个补丁的固定尺寸为64 × 64。这种采样策略使用一个稀疏的补丁来唯一地表示整幅图像,并用这个补丁来估计相应的摄像机姿态。我们还在开始时调整相机的固有特性,以最大限度地扩大接收范围,并逐步增加到原始值,以集中精细的细节。在实践中,这些策略为 GAN 训练过程的稳定性带来了极大的好处。
4.4. Implementation Details
采用了原始的 NeRF 的网络结构及其分层抽样策略。将粗抽样和重要抽样的抽样点数设置为64。不同的是,由于 GAN 训练只能缩小真补丁和假补丁(“粗”和“精”)的分布,在分层抽样策略中使用相同的 MLP,以确保“粗”和“精”网络的姿态空间是一致的。为了进行公平的比较,将 MLP 的维数从原来的256增加到360,以保持总体参数不变。鉴别器网络遵循 GRAF ,其中应用了特征归一化和权重谱归一化。我们借用视觉变压器网络来构建反转网络,其最后一层被修改为输出一个摄像机姿态。我们使用 RMSprop 算法来优化生成器和鉴别器,其学习率分别为0.0005和0.0001。对于反演网络和摄像机姿态,我们使用 Adam算法,学习率分别为0.0001和0.005。

Discussion and Conclusion

讨论:方法不依赖于摄像机姿态的初始化,但是它需要一个合理的摄像机姿态采样分布。对于不同的数据集,依赖于离真实分布不远的摄像机采样分布,以减轻辐射场估计的困难。这可以通过自动学习底层姿态采样空间来减轻。将全局外观分布优化(我们的方法)和局部特征匹配(姿态分布估计)相结合,以端到端的方式进行外观和几何重建是一个很有前景的方向。这种组合有可能保留我们的能力,具有挑战性的情况下,并放松到更一般的场景没有准确的分布事先。其次,联合优化摄像机姿态和场景表示是一个具有挑战性的任务,选择陷入局部最小。虽然在实际数据集中,如果相机姿态准确,我们可以获得与 NERF 相当的新视图合成质量,但是当有足够数量的可靠关键点时,我们优化的相机姿态仍然不如 COLMAP 那样准确。这可能是由于我们的反演网络将图像映射到摄像机的位置,只能采取有限大小的图像斑块的计算效率。这可以通过重要性抽样来解决。
结论:提出了一种基于遗传算法的神经辐射场重建框架 GNeRF,该框架能够在摄像机姿态完全未知且场景条件复杂的情况下,对摄像机的姿态进行估计。我们的框架是完全可微的和端到端可训练的。具体来说,我们的第一阶段使基于 GAN 的联合优化的三维表示和相机姿态,我们的混合和迭代方案交错的第一阶段和第二阶段将进一步完善的结果稳健。大量的实验证明了我们方法的有效性。令人印象深刻的是,我们的方法已经在那些具有重复模式甚至低纹理的场景上展示了有希望的结果,这在以前被认为是极具挑战性的。我们相信,我们的方法是一个关键的步骤,以更一般的神经场景建模目标使用较少的人为制作的先验。

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

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

相关文章

【过程11】——教育被点燃的路上

这里写目录标题 一、背景二、过程1.两年四十万的认知改变2.三年打工仔的经历改变3.一年计算机的人生蜕变4.后面的展望 三、总结 一、背景 人生在世,对于一些事情的笃信笃行;背后真的会有莫大无以言表的波涛。 这个事情到现在已经五年半左右时间了&#…

分类算法——文章分类(五)

文章分类计算 计算结果 P(C|Chinese,Chinese,Chinese,Tokyo,Japan)-->P(Chinese, Chinese, Chinese, Tokyo, Japan|C) * P(C)/P(Chinese, Chinese, Chinese, Tokyo, Japan) P(Chinese|C)5/8 P(Tokyo|C) 0 P(Japan|C) 0思考:我们计算出来某个概率为0,…

导致苹果IPA应用APP打开提示“已到期”的原因及解决办法

哈喽,大家好呀,淼淼又来和大家见面啦,有许多小伙伴们在使用iOS设备的时候,有时候可能会遇到打开某个IPA应用时出现“已到期”的提示,这种情况通常会发生在开发者证书过期、时间设置问题、重新签名错误等情况下。这一期…

李沐46_语义分割和数据集——自学笔记

语义分割 语义分割将图片中的每个像素分类到对应的类别。 实例分割(目标检测的进化版本) 如果有物体,会区别同一类的不同物体。 语义分割重要数据集:Pascal VOC2012 %matplotlib inline import os import torch import torch…

Java -- (part12)

一.权限修饰符 1.属性:用private ->封装思想 2.成员方法public ->便于调用 3.构造public ->便于new对象 二.final关键字 1.修饰类 a.格式 -- public final class 类名 b.特点:不能被继承 2.修饰方法 a.格式:修饰符 final 返回值类型 方法名(形参){} b.特点…

C++内存管理——new/delete、operator new/operator delete

内存管理 int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] { 1, 2, 3, 4 };char char2[] "abcd";const char* pChar3 "abcd";int* ptr1 (int*)malloc(sizeof(int) * 4);int* pt…

技术速递|.NET 智能组件简介 – AI 驱动的 UI 控件

作者:Daniel Roth 排版:Alan Wang AI 的最新进展有望彻底改变我们与软件交互和使用软件的方式。然而,将 AI 功能集成到现有软件中可能面临一些挑战。因此,我们开发了新的 .NET 智能组件,这是一组真正有用的 AI 支持的 …

OCP-数据库中的小米SU7

oracle ocp ​数据库中的SU7 ​好看又好用 需要找工作和落户的快来

帮助中心最核心的内容,你都知道吗?

帮助中心,其实就是个解决问题的“百事通”。当你在使用某产品时,遇到了一些问题,就可以到帮助中心去查询相关的信息以解决问题。很多公司都会搭建帮助中心,那么,帮助中心的核心内容都有哪些呢?这就是今天我…

损失函数:Cross Entropy Loss (交叉熵损失函数)

损失函数:Cross Entropy Loss (交叉熵损失函数) 前言相关介绍Softmax函数代码实例 Cross Entropy Loss (交叉熵损失函数)Cross Entropy Loss与BCE loss区别代码实例 前言 由于本人水平有限,难免出现错漏&am…

【yolo数据集合并方法】

yolo数据集合并方法 1.数据集容2.数据集合并 1.数据集容 包含训练集、验证集和测试集。 每一个数据集中包含图像文件夹和标签文件夹。 yaml文件中定义了配置参数,包括目标识别的class类别: 2.数据集合并 需要修改labels文件夹下txt文件class信息&…

记录shell编程中$1,$@等符号的含义

笔者最近老是遇到shell中的$相关的题目,于是打算写篇文章记录一下。考虑到并没有特别多需要解释的内容,所以并不会进行介绍,上图上表上代码,让机器说话,machine always right test.sh #/bin/bash echo $# $# echo …

gcc原理和使用

gcc gcc是什么 GCC,全称 GNU Compiler Collection(GNU 编译器套件),是一套功能强大的编程语言编译器,由自由软件基金会(Free Software Foundation, FSF)作为GNU项目的一部分开发和维护。它最初…

宝塔使用笔记

1.配置ssl 验证方式:文件验证和dns验证都试一下 参考: https://app.applebyme.cn/cloud/https/23050.html

自定义类型: 联合体和枚举

本文索引 1. 联合体1.1 联合体类型的声明1.2 联合体的特点1.3 相同成员的结构体和联合体对比1.4 联合体大小的计算 2. 枚举类型2.1 枚举类型的声明2.2 枚举类型的优点2.3 枚举类型的使用 前言 : 书接上文, 下面我将继续详解C语言的剩下两个自定义类型: 联合体和枚举 个人主页…

当面试问你接口测试时,不要再说不会了!

很多人会谈论接口测试。到底什么是接口测试?如何进行接口测试?这篇文章会帮到你。 01 前端和后端 在谈论接口测试之前,让我们先明确前端和后端这两个概念。 前端是我们在网页或移动应用程序中看到的页面,它由 HTML 和 CSS 编写…

第十五届蓝桥杯复盘python大学A组——试题B 召唤数学精灵

按照正常思路解决,由于累乘消耗大量时间,因此这不是一个明智的解决方案。 这段代码执行速度非常慢的原因在于它试图计算非常大的数的阶乘(累乘),并且对于每一个i的值都执行这个计算。阶乘的增长是极其迅速的&#xff…

SQL数据库管理开发工具:DataGrip 2024(win/mac)激活版

JetBrains DataGrip是一款专业的SQL数据库管理开发工具。DataGrip允许您以不同的方式发展模式以及执行信息查询,并提供服务本地文化历史问题记录,可以提高跟踪您的所有学生活动并保护如果您不选择丢失您的工作。DataGrip允许您通过建立相应的操作按名称就…

HackMyVM-Connection

目录 信息收集 arp nmap WEB web信息收集 dirsearch smbclient put shell 提权 系统信息收集 suid gdb提权 信息收集 arp ┌─[rootparrot]─[~/HackMyVM] └──╼ #arp-scan -l Interface: enp0s3, type: EN10MB, MAC: 08:00:27:16:3d:f8, IPv4: 192.168.9.115 S…

[Linux]--关于进程控制

进程创建,fork/vfork 在linux中fork函数是非常重要的函数&#xff0c;它从已存在进程中创建一个新进程。新进程为子进程&#xff0c;而原进程为父进程。 #include <unistd.h> pid_t fork(void); 返回值&#xff1a;自进程中返回0&#xff0c;父进程返回子进程id&#x…