GNeRF论文理解

文章目录

主要解决什么问题?

本文主要想要解决的问题是 如何使用uncalibrated的照片来进行Nerf重建。虽然说现在已经有了一些方式可以对相机位姿进行估计和优化,但是他们限制很多,且必须要有一个合理的初始化区间。在优化未知位姿的时候,对正面的场景也只能在short camera trajectories的优化。本文提出的方式,首先是不需要一个大致的相机位姿的初始化,只需要有一个大致的相机位姿分布,且可以在较大的轨迹内进行优化。

结构设计以及为什么有效果?

文中使用的结合了GAN结构的Fframework。一共分成了两个阶段,其实就是coarse-to-fine的样子,第一个阶段大致的输出一个粗糙的nerf estimation 以及 相机相机位姿,然后第二个阶段开始联合优化 (nerf estimation和相机的位姿。)

具体是怎么做的呢,又为什么会这么要这么做呢?

首先生成器的输入是一个相机pose,这个Pose是从事先定义好的分布中采样得来的。那么生成器会根据提供的相机位姿,去生成假的照片,然后对这些假的照片进行渲染(这里就就和一般的nerf一样)。假照片会被打散成patch然后拿去给判别器识别。这里文中提到了一个 动态采样的概念, 简单来说是 图像的大小不变,但是他的scale和offset是动态变化的。我估计使用动态采样的目的是为了让判别器更加的鲁棒。上述的结构的训练就是和一般的GAN一样。这只能让模型学习一个大概的Nerf和相机位姿。

为了要更加精确的相机位姿,文中还训练了一个inversion network,那么他的主要目的是从原始图像中采样一些image patches然后重新映射会相机位姿空间。就是说要根据相片去估计他们的位姿。这个过程和之前的过程是反着的,所以我猜这也是为什么叫inversion的原因。所以这个inversion 网络的输入数据是原始图像的一些samples,输出的结果是对应的相机位姿。通过这个方法可以学习到真照片个和相机位姿之间的关系。而且inversion 网络是用自监督的形式来进行训练的。

前面说的是A阶段,B 阶段主要是一个nerf表示和相机位姿一个联合优化,主要是优化photometric loss。

关于训练方式,这篇文章也有一些创新,比如regularized learning strategy, 他主要是通过阶段A和阶段B的交替进行来同时提高nerf 预测和 位姿预测的准确性。

个人想法。

读完首先给我的感觉是这个网络设计不是特别好训练,而且GAN缺陷可能会导致这个方式没法用到特别大的数据上。网络结果设计还是很巧妙,个人认为主要是以工程设计的创新为主。

相关推荐
vanuan1 小时前
两个AI智能体第一次对话-A2A双Agent协作实战
人工智能
韩师傅2 小时前
海天线算法的前世今生
python·计算机视觉
韩师傅2 小时前
当你的甲方设备过烂,要如何快速出效果?
python·计算机视觉
韩师傅2 小时前
当你的甲方吐槽天空不够蓝,你应该如何应对
python·计算机视觉
kfaino3 小时前
码农的AI翻身(四)你好,我叫 Attention
人工智能·后端
雨落Re5 小时前
如何设计一个高质量Skill
人工智能
Token炼金师5 小时前
大模型权重文件全指南:从格式选择到优化实战
人工智能
阿牛哥_GX5 小时前
CDP 浏览器操控原理:让脚本接管你的浏览器
人工智能
ThreeS5 小时前
手搓MiniVLA全实战教程-一步一步用pytorch解释原理与思路
人工智能·python
米小虾6 小时前
Loop Engineering —— 循环的设计与自主执行
人工智能·agent