高亮反光终结者?谷歌NeRF-Casting:光线追踪就能搞定!

点击下方卡片,关注“自动驾驶之心”公众号

戳我-> 领取自动驾驶近15个方向学习路线

>>点击进入→自动驾驶之心三维重建技术交流群

论文作者 | 比克大魔王

编辑 | 自动驾驶之心

NeRF不再“畏惧”近处高光反射

早期的NeRF变体使用多层感知器(MLPs)从三维坐标映射到体积密度和视点相关的颜色,但是表示详细的三维几何和颜色所需的大型MLPs训练和评估速度极慢。最近的工作专注于通过用类似体素网格的数据结构或网格和小型MLPs的组合替代大型MLPs,使NeRF更加高效。虽然可以扩展到表示详细的大规模场景,但其优势仅限于三维几何和主要的漫反射颜色

扩展NeRF建模现实的视点相关外观的能力仍然是一个挑战。当前最先进的用于闪亮物体视图合成的模型在两个方面存在限制

  • 只能合成远处环境光照的准确反射,而在渲染近处场景内容的逼真反射方面表现不佳。

  • 依赖大型MLPs来表示任何点的视点相关出射辐射,难以扩展到具有详细反射的更大现实场景。

NeRF-Casting是一种通过将光线追踪引入NeRF渲染模型来解决这些问题的方法。其主要涉及3个领域:

  • 反射建模:传统的反射建模方法使用物理定律和基于图像的技术来表示表面反射特性。近年来,神经网络被用于学习反射特性,特别是在复杂材料和光照条件下。

  • 光线追踪:光线追踪是一种广泛使用的计算机图形技术,通过模拟光线与物体表面的交互来生成逼真的图像。光线追踪技术已被用于生成高质量的反射和折射效果,但计算复杂度高。

  • 三维成像:三维成像技术涉及从多视图数据生成三维表示。NeRF和其他神经网络方法通过学习场景的三维几何和颜色分布,生成新视图,从而在三维成像领域取得了重大进展。

1997d42eec00e804d89d7844e93bc8f7.png

NeRF-Casting不是在每个相机射线的点上查询昂贵的MLP以获得视点相关的外观,而是从这些点投射反射射线到NeRF几何中,采样正确抗锯齿的反射场景内容特征,并使用一个小型MLP将这些特征解码为反射颜色。将光线投射到恢复的NeRF中自然地合成了近处和远处内容的一致反射。此外,通过光线追踪计算外观减少了在场景中的每个点用大型MLP表示高度详细的视点相关函数的负担。

感兴趣的朋友可以看视频效果:https://nerf-casting.github.io

(大拇指往上滑,点击最上方的卡片关注我,整个操作只会花你 1.328 秒,然后带走未来、所有、免费的干货,万一有内容对您有帮助呢~)

模型细节

NeRF-Casting的三个主要目标

  • 希望在不依赖计算量大的MLP评估的情况下建模出准确、详细的反射。

  • 希望仅投射少量的反射光线。

  • 希望最小化在这些反射光线的每个点上查询我们表示所需的计算量。

三维体积密度和特征表示基于Zip-NeRF[2]:使用多尺度哈希网格来存储三维特征,一个小型MLP(1层,宽度64)将这些特征解码为密度,一个较大的MLP(3层,宽度256)将这些特征解码为颜色。这意味着沿光线查询样本的密度和特征相对便宜。考虑到这些约束,按照以下流程来渲染镜面外观:

  • 沿每条相机光线查询体积密度,以计算光线的预期终止点和表面法线。

  • 在反射方向上通过预期终止点投射一个反射锥。

  • 使用一个小型MLP将累积的反射特征与其他采样量(例如漫反射颜色特征和每个样本的混合权重)结合起来,为沿光线的每个样本生成一个颜色值。

  • 将这些样本和密度进行阿尔法合成,得到最终颜色。

123c4489b3db1f697b734365e31db401.png

反射锥追踪

对于给定的光线,起点为  ,方向为 ,沿光线采样  个点 ,并评估NeRF以获取一组三维量(例如表面法线等)。然后对这些量进行阿尔法合成,以获得预期的表面终止点  和光线的相关表面法线 ,通过将通常用于颜色  的体积渲染应用于采样点  和法线 :

316f3e5c10135b6df4cf02d9014e721d.png

然后通过反射初始光线关于表面法线来构建一个新的反射光线方向

5c7df6ae92fed7c6e67906ac4f4c313f.png

追踪单一反射光线不能用于渲染非完美镜面的材料,而且它忽略了Zip-NeRF为每个像素追踪锥而不是光线的事实。因此,我们模拟了一个反射光线的锥状分布。这种分布的形状受两个因素的影响:从相机投射的原始像素锥的半径相机光线预期终止点表面的粗糙度,如图3所示。我们首先将反射光线的锥状分布和由于表面粗糙度引起的反射方向分布都建模为以镜面反射方向  为中心的von Mises-Fisher (vMF,即归一化球面高斯)分布。像素锥分布的vMF宽度(其浓度参数 κ 的倒数)为像素半径 ,表面粗糙度的vMF宽度为在空间中任何点参数化的量 ρ。相机光线预期终止点处的反射光线锥模拟为vMF分布 κ,其宽度 κ 为像素光线锥的半径  和主光线沿线的合成粗糙度 ρ 的总和:

e961dc736ad76fbcb2693111efc10e1e.png 6152346b1a934d4d09e8664deb243440.png

为了确保反射射线锥体在表面上的横截面与入射射线相匹配,对反射射线锥体的起点应用了一个与粗糙度相关的偏移,使其与  相交,同时保持入射射线的半径  不变。

d2e3d7876a84bb798cb5561353becb76.png

圆锥形反射特征

现在已经定义了一个vMF分布,涵盖了反射射线,目标是估计在vMF分布上的预期体积渲染特征,然后将其解码为反射颜色。这个预期特征可以写成:

fb1d76db2d7d8995a9ee875ee7a57036.png

使用蒙特卡洛方法对随机采样的射线进行积分估计是非常昂贵的,因为每个样本都需要沿着射线进行体积渲染。受Zip-NeRF的启发,使用一小组代表性样本结合特征减权来近似这个积分。然而与Zip-NeRF不同的是,我们将这两个操作都在二维方向域中执行,而不是在三维欧几里得空间中。

方向采样

不再对大量随机反射射线进行采样,而是使用无迹方向采样选择一组代表性射线。评估  条射线 (在实验中设置 𝐾 = 5),以维持平均  和浓度 ,通过设置  和  放置在以  为中心的圆周上,其半径取决于 。在优化过程中,随机将样本刚性地围绕圆圈旋转,而在评估过程中则固定它们。对于每个被采样的  条射线 ,在沿射线的  个样本点处评估体积密度和外观特征,并将它们体积渲染成特征 。为了生成这些  个样本,使用与在摄像机射线上采样  射线相同的程序。然后将这  个特征取平均以得到反射锥体的单个特征向量:

1781ec60f7311fb7f88ac88bc8b0d8c1.png
反射特征降权

上文描述的方向采样有助于选择一个小的代表性射线集合进行平均。然而,对于具有高粗糙度的表面,采样的射线可能相对于底层的3D网格单元格之间距离较远。这意味着方程9中的特征可能存在伪影,并且反射射线方向的微小变化可能导致外观上的大幅变化。

为了防止这种情况发生,将Zip-NeRF中的“特征降权”技术调整到方向设置中。通过将与vMF锥相比较小的体素对应的特征乘以一个小的乘数来实现这一点,减小它们对渲染颜色的影响。按照Zip-NeRF的做法,定义点 x 处的降权特征为:

911404d4c6b1cc1a3672bddcc477cbb6.png

由于专注于大场景,需要使用收缩函数 (方程2),因此特别重要考虑  在收缩的非线性区域的行为。Zip-NeRF将  缩放为收缩函数的3D Jacobian特征值的几何平均值(方程3)。这导致了一个不幸的结果,即因为  强烈地将远离原点的点收缩到原点,导致  接近0(即不应用降权)对于远离原点的点。因此,使用Zip-NeRF的降权函数会导致远处内容的反射中出现显著的伪影。相反,我们使用仅限于(2D)方向域的Jacobian行列式,并定义为:

67b8c21734bd338d00ca98e07d4b2ada.png c4513f3a5034ad1ff073eb334b6a9940.png

颜色解码器

颜色解码器的作用是为沿射线的每个采样点分配一种颜色,使用两种颜色分量的凸组合:

1448db74171618c8d1ac1d87f0226df4.png

第一个颜色分量  类似于典型的 NeRF 视角相关外观模型:

5a2bd244b276703307ee3a963903559d.png

第二个分量 ,旨在模拟光泽外观,计算如下:

4f4cea61960a7850dab1e6326d3262b4.png

其中  和  是小型MLP,而  是引入的反射特征。与  类似,瓶颈向量  也是通过应用于几何特征的小型MLP输出的。将  应用于3D空间而不是图像空间,因此反射特征  被馈送到沿着摄像机射线的每个采样点的颜色解码器中。我们发现,这对于收敛是有用的,因为在优化的早期阶段,当几何体仍然模糊时,沿着射线的每个点都可以利用反射特征。

几何表示和正则化

几何表示基于 Zip-NeRF[2]。对法线应用方向损失,并利用应用于 NGP 特征的小型 MLP 输出的预测法线 。与 Ref-NeRF 不同,使用了一个非对称的预测法线损失,它允许对从几何法线 (即密度的归一化负梯度)和沿着射线到预测法线  的梯度分别进行调整,并反之亦然:

5a2c80065cc591f3b1935b21ff185c59.png

效果欣赏

022e71e8bb3ee5ff915d2c0f47750c31.png 8f359f5952f4743933004ec1b84dedf3.png 8a6e2da3f9f47e60d26112538b884d02.png 43f96ec7016fe9e1237234c2388d9916.jpeg

总结一下

NeRF-Casting是一种使用神经辐射场(NeRF)渲染包含高光物体的场景的方法。

方法:将反射锥从场景中的表面反射并通过NeRF进行追踪,并结合了一套新颖的技术来抗锯齿这些反射,从而能够合成远处和近场内容的准确详细反射,这些反射在表面上始终如一且平滑地移动。

讨论:在定量上优于现有的视图合成技术,特别是对于显示详细镜面反射的光滑表面。定性的视觉改进在图像指标方面的定量改进远远超过了。尤其值得注意的是,该方法合成的反射平滑而一致的运动,比基线方法呈现的视角相关外观更加逼真。这表明标准的图像误差度量(PSNR、SSIM等)不足以评估视角相关外观的质量

参考

[1] NeRF-Casting: Improved View-Dependent Appearance with Consistent Reflections

[2] Zip-NeRF: Anti-Aliased Grid-Based Neural Radiance Fields. ICCV (2023).

投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!

① 全网独家视频课程

BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测车道线检测轨迹预测在线高精地图世界模型点云3D目标检测目标跟踪Occupancy、cuda与TensorRT模型部署大模型与自动驾驶Nerf语义分割自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

266e68cb50b669746a7298e4e09a2771.png 网页端官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

国内最大最专业,近3000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案大模型、端到端等,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频

71d290e58a2f395579a07354e56ab7d8.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦感知、定位、融合、规控、标定、端到端、仿真、产品经理、自动驾驶开发、自动标注与数据闭环多个方向,目前近60+技术交流群,欢迎加入!扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

c3be06cce007eaf85b99d82dda709518.jpeg

④【自动驾驶之心】全平台矩阵

54c96f25d71fcf4d9e045933b6ca499c.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值