纯小白入门,开山之作NeRF学习笔记!

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

ADAS巨卷干货,即可获取

今天自动驾驶之心为大家分享一篇Nerf入门的学习笔记,如果您有相关工作需要分享,请在文末联系我们!

>>点击进入→自动驾驶之心【NeRF】技术交流群

本文是我在学习自动驾驶之心《NeRF与自动驾驶论文带读课程》输出的个人学习笔记和总结,欢迎大家一起加入课程一起学习交流~

神经辐射场究竟是什么

辐射场:由光源发出的光线在场景中的传播和反射过程中所形成的能量分布。通俗来说就是一个函数,记录了空间某个位置处向某个方向的辐射信息,辐射信息(或者说能量分布)其实就是颜色、亮度、阴影等信息。这里的方向需要额外留意,它是NeRF实现真实重建的重要因素之一!

4b7f700e3f74d91b2280b5fad016303b.png

由此引出神经辐射场的概念。
神经辐射场:用神经网络储存空间位置向任意方向的辐射。原文中的描述如下:

135bb1f9476ccc6c1d5c574617d16ade.png

更加规范的公式表达如下:

a7765163b41dd4098b159018b44dff38.png

输入3D位置(x,y,z)和2D的视角方向(),输出是颜色和体密度

NeRF具体的网络结果参考原文如下:

7e8290c78b09b4ef800f29763ec17720.png
  • 3D坐标x输入第一个网络fσ,包含8层全连接层,每层256个神经元,ReLU激活;

  • 网络fσ输出体密度σ和一个256维向量,该向量与视角方向d送入fc(一层,128通道,ReLU激活)预测RGB;

fc2de057ff5c50ed85b024d634485f78.png

由上面可知,NeRF是隐式建模,因为模型是储存在MLP里面的,模型就是MLP的参数,这和以往点云和mesh建模不同(点云/mesh是可以直接看到模型的)。NeRF必须查询一个个的三维点,然后渲染成一章图像。这种查看方式或者说渲染方式就叫体渲染。

在看体渲染之前。我们先看一下网络的效果如何:

072de630419a1ba3b561558f9e7f3aad.png

可以看出,不同视角下颜色是不同的!这是NeRF相对于传统重建非常重要的优势之一~

NeRF的核心:体渲染

下面进入NeRF的第二个核心要点——体渲染。体渲染就是用来将颜色和密度渲染成2D图像的方法!

9512aabf0c1acf970b145be273b643d7.png

示意图如下:图a展示了从相机光心位置发出射线,射线上有采样点,将采样点和方向送入MLP获得颜色和体密度。图c展示的的就是沿射线的体密度分布曲线,是通过采样获得的,对曲线进行积分就能获得像素的颜色。这个过程就是体渲染

18bfa95a102a85cf853437e1e3176bae.png

总结一下体渲染步骤:

  • 从相机光心发出穿透每个像素的射线,射线上取三维采样点;

  • 将采样点坐标和视角方向送入MLP计算颜色和体密度;

  • 按体密度积分(堆叠)颜色信息,形成2D图像

20cc0a708b39ce3fb22dd9e5d3459e7c.png

体渲染的公式如下:

dd101bb0c3a309b1f19a77f20c0e55e2.png

当然实际使用的是离散版本公式:

f28c1d5bae96b996c95436a68ad8eba5.png

隐式重建流程

在讲完神经辐射场和体渲染后,现在开始完整的重建流程~

在形成一个完成的pipeline之前,还有以下两个问题需要解决:

891e5550f2f6e8db9695dfda1a668c45.png

为了解决上述两个问题,NeRF提出了位置编码和分层采样过程

位置编码:10f152d2eac6605822e6d856f42af470.png

论文直观展示了位置编码的效果对比:e751f294a8f86a32ab982f7e543f1b58.png

可以看出,去掉位置编码,模型无法表达高频的几何和纹理信息~

多层采用:

90d375adf1d0a2cc6552f333b5d0a5f3.png

训练流程如下:

3a268ba05731068fe93fb07fd0217976.png

实验和总结

评价指标:

b28d0efff4dc32a376521f8c79f966d4.png

实验设置:

9136687b11924a60db1901f9dbdf3d83.png

实验结果可以看出,各种材质的小球上面的散光也可以很好的表现出来~

07517067bf25c465a62caa5508af0a57.png 4fc635249e09a42c298aa2ba5b2d5b6e.png

消融实验:

556e058fd4d6644d35f7642d7b2d366e.png

总结

文提出的神经辐射场,从相机光心发出穿过像素的采样射线,在射线上取点,将其三维位置和视角方向用一个MLP映射到体密度和颜色,然后用体渲染堆叠采样射线上的体密度和颜色,获得像素值。像素值与GT图像求误差后反向传播,优化MLP参数。本文用这样的隐式重建方法实现了照片级的具有真实感的模型重建和渲染。

缺陷:

  • 渲染、训练速度慢;

  • 对视角数量和分布有较高要求;

  • 难以拓展到有背景的或者较大的场景。

① 全网独家视频课程

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

327de27d7e317bfff1e553796d682453.png 视频官网:www.zdjszx.com

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

近2400人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

7ce6448237d4d6d5bd061ab6fae563ab.png

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

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

502432e5a275c0913a53c20c5b68d98f.jpeg

④【自动驾驶之心】平台矩阵,欢迎联系我们!

70aee49f8be63128f605be72b2c1dcec.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值