GRAF论文解读

标题:GRAF: Generative Radiance Fields for 3D-Aware Image Synthesis

代码:https://github.com/autonomousvision/graf

文章:https://arxiv.org/pdf/2007.02442

回顾NeRF:

  • 我们学过NeRF后知道,需要准备多张从不同角度拍摄的同场景静态2D图像,还需要各个像素点的位置(x,y,z)和方位视角(θ,φ)作为输入进行重建。
  • 但是这些数据需要采用传统方法COLMAP进行参数估计。通过COLMAP可以得到场景的稀疏重建结果,其输出文件包括相机内参相机外参3D点的信息。然后进一步利用LLFF开源代码中的imgs2poses文件将内外参整合到一个文件poses_boudns.npy中,该文件记录了相机的内参:包括图片分辨率(图片高与宽度)、焦距,共3个维度、外参:包括相机坐标到世界坐标转换的平移矩阵t与旋转矩阵r,其中旋转矩阵为 3x3 的矩阵,共9个维度,平移矩阵为 3x1 的矩阵,3个维度,因此该文件中的数据维度为 N x 17 另有两个维度为光线的始发深度与终止深度,通过COLMAP输出的3D点位置计算得到),其中N为图片样本数。
  • 经过上述数据准备,我们得到图片、相机内外参
  • 然后将上述参数与2d的图像信息结合,将2d坐标转换为3d坐标(像素坐标–>相机坐标–>世界坐标)四个坐标系介绍以及之间的转换。也就是这样一来我们便通过相机的内外参数成功地将像素坐标转换为了统一的世界坐标下的光线始发点与方向向量即将 (X,Y,Z)与 (θ,φ) 编码成了光线的方向作为MLP的输入,**所以从形式上来讲MLP的输入并不是真正的点的三维坐标(X,Y,Z),而是由像素坐标经过相机外参变换得到的光线始发点与方向向量以及不同的深度值构成的,而方位的输入也并不是 (θ,φ),而是经过标准化的光线方向。**不过从本质上来讲,在一个视角下,给定光线始发点o ,特定的光线方向 d 以及不同的深度值 t ,通过文章中的公式 ray = o + td 便可以得到该光线上所有的3D点的表示 ,然后扩展到不同的光线方向便可以得到相机视锥中所有3D点的表示,再进一步扩展到不同的相机拍摄机位,理论上便可以得到该场景所有3D点的表示。

而GRAF这是一篇改进NeRF的文章,主要是引入了GAN,从而避免了NeRF对于相机参数标签的需求。

  • 从它的结构图中可以非常直观的看出,就是一个标准的conditional GAN, 然后NeRF的部分就放在了生成器里面。我们的目标是通过对未摆姿势的图像进行训练来学习合成新场景的模型。更具体地说,我们利用对抗性框架来训练辐射场 (GRAF) 的生成模型。
    在这里插入图片描述
  • 首先,生成器的输入就是相机的各种参数,包括了位置,方向,焦点,远近等等信息,这些参数都是完全随机的从一个均匀分布中取出来的。
  • 然后输入光线采样器(ray sampling)来确定光线的落点和光线的数量。
  • 之后就分了两路输入条件辐射场。
    在这里插入图片描述

它的网络结构:
在这里插入图片描述
1.沿着光线进行采样,确定需要采样点的位置。然后将位置信息和随机采样的形状信息结合输入神经网络,学出一个形状表示。形状表示就可以用于预测目标点的密度

2.将光线落点信息结合上面的形状表示,再结合随机采样的纹理信息,一同预测出目标点的颜色

目标点的密度和颜色都有了后用体渲染就可以渲染出最终结果了,也即生成器生成的结果。

然后我们还会从真实的图像中采样一些结果,和生成的结果一起输入判别器,从而让判别器学习真实图像的分布。
在这里插入图片描述
GRAF使用的3D generator,关键之处在于把物体用NeRF表示,而非之前基于 voxel 的方法(voxel会造成内存立方式增长,如HoloGAN,PlatonicGAN),后面就用虚拟相机结合 volume rendering 渲染。

注意点:

1.文中为了加速训练,生成和采样均只合成了图像中的部分像素,并没有一次性生成整个图像。

2.其实刚开始读这个文章的时候有些难以理解,为什么不需要对相机位置做任何约束就可以学出来平滑的视角过渡?我个人认为是辐射场的效果,因为辐射场是隐式的建立了一个无限分辨率的3D物体,而最简单的建立出一个合理的3D物体的方式就是按照现实世界的3D结构来建立,因此可以保证视角过渡是平滑的。但如果作为参考的图像数量过少,或者物体结构过于简单,我认为是会出现一些奇奇怪怪的问题的。

<think>嗯,用户想了解Graf加定理的相关信息和数学原理。首先,我需要确认自己对这个定理的理解是否正确。Graf加法定理,也叫做Graf's addition theorem,是贝塞尔函数相关的一个定理,主要用于数学物理方程和特殊函数领域。它扩展了经典的贝塞尔函数加法公式,允许在更复杂的情况下展开贝塞尔函数,比如当两个贝塞尔函数的参数不在同一平面上时。 接下来,我需要回忆这个定理的具体数学表达式。Graf定理通常涉及贝塞尔函数$J_n$或$H_n^{(1)}$的组合,其核心思想是将两个贝塞尔函数的乘积表示为单个贝塞尔函数的级数展开,适用于参数满足一定几何条件的情况,比如两个向量的夹角。公式大概是这样的形式:当给定向量$r_1$、$r_2$和夹角$\phi$时,可以将$H_n^{(1)}(kr)e^{in\theta}$展开成关于另一个角度的级数,其中涉及贝塞尔函数和角度差的三角函数。 然后,要解释其数学原理。这可能涉及到贝塞尔函数的正交性、积分表示,或者通过生成函数的方法来推导。需要说明这个定理如何简化复杂问题,比如在散射问题或波传播问题中,当处理多个源或复杂边界条件时,Graf加法定理能够将复杂的叠加表达式转化为更易处理的级数形式,从而应用分离变量法或其他解析方法。 还要考虑应用场景,比如在电磁学、声学或量子力学中的波动方程求解,其中涉及环形区域或圆柱对称的问题。例如,当处理两个圆柱形散射体之间的波相互作用时,Graf定理可以用来展开各自的波函数,便于边界条件的匹配。 在生成相关问题的时候,可能需要联系到其他加法定理,比如Hankel函数的加法定理,或者与Graf定理的区别。另外,用户可能也会关心如何证明这个定理,或者具体的应用案例,以及在数值计算中的实现方法。 需要确保回答中的数学公式正确使用LaTeX格式,行内公式用$...$,独立公式用$$...$$,并且检查引用格式是否正确。同时,回答结构要清晰,分点解释定理、数学表达式、原理和应用,最后生成相关问题帮助用户深入理解。 可能遇到的困难是对Graf定理的具体条件或推导步骤不够熟悉,需要查阅资料确认。比如,参数之间的关系,级数收敛的条件,或者与经典加法公式的不同之处。这时候可能需要参考权威的数学物理书籍或论文,确保信息的准确性。 最后,要确保语言通顺,用中文简洁明了地解释复杂的数学概念,避免过于专业的术语,或在必要时进行适当解释,让不同背景的用户都能理解。同时,按照用户的要求,生成的相关问题要具有针对性,能够引导用户进一步探索该定理的不同方面。</think>### Graf加法定理 Graf加法定理是贝塞尔函数理论中的重要工具,用于将特定形式的贝塞尔函数展开为级数表达式。它在波动方程、电磁场分析和量子力学等领域的圆柱对称问题中广泛应用。 #### 数学表达式 设向量$\mathbf{r}_1$和$\mathbf{r}_2$满足几何关系$\mathbf{r} = \mathbf{r}_1 - \mathbf{r}_2$,且$|\mathbf{r}_1| > |\mathbf{r}_2|$,则第二类汉克尔函数$H_n^{(1)}(kr)$的加法定理可表示为: $$ H_n^{(1)}(k|\mathbf{r}_1 - \mathbf{r}_2|)e^{in\phi} = \sum_{m=-\infty}^{\infty} J_{m}(kr_2)H_{n+m}^{(1)}(kr_1)e^{im\theta} $$ 其中$r_1 > r_2$,$\phi$为两向量的夹角,$J_m$为第一类贝塞尔函数[^1]。 #### 核心原理 1. **几何分解**:通过极坐标系分解空间位置关系,将复杂几何问题转化为角度叠加问题。 2. **正交展开**:利用贝塞尔函数的正交完备性,将函数展开为傅里叶-贝塞尔级数。 3. **收敛条件**:要求$r_1 > r_2$保证级数收敛性,这是定理应用的关键限制条件。 #### 典型应用 1. **波散射问题**:分析多圆柱体散射场叠加时,简化场分布表达式[^2] 2. **天线阵列分析**:计算环形阵列天线的辐射模式 3. **量子环系统**:研究电子在同心量子环中的波函数分布 ```python # 示例:计算贝塞尔函数展开项 import numpy as np from scipy.special import jv, hankel1 def graf_term(n, m, kr1, kr2, theta): return jv(m, kr2) * hankel1(n + m, kr1) * np.exp(1j * m * theta) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值