万万没想到,把相片变 3D 这件事,离了神经网络也是这般丝滑。
而在此之前,新视角组成这方面的“大牛”,是近两年大火的 NeRF (神经辐射场)。它是一个简略的全衔接神经网络,运用 2D 图画的信息作为练习数据,复原拥有体积的 3D 场景。
但最近,来自伯克利大学的研讨人员提出了一个叫做 Plenoxels 的方法。不需求神经网络,仅仅通过梯度下降和正则化便完成了同样的作用,而且速度还快了 100 倍!那么他们是怎么做到这点的呢?
由 NeRF 到 Plenoxels 的进化
为了协助大家理解 Plenoxels,咱们先来简略介绍一下 NeRF 模型。
要预备 NeRF 的数据,咱们首要需求一部相机。
拍了很多张各个角度的相片后,沿相机射线将每一张 2D 图片的坐标与视图方向构成一个 5D 向量 (x, y, z, θ, φ)作为 mlp (多层全衔接神经网络)的输入。
咱们从图 (b) 上能够看到,射线上的点有了色彩,每点的色彩 c = (r, g, b)和密度(σ)便是输出向量。接着 NeRF 运用体积烘托技能将得到的色彩与密度进行 3D 烘托。
因为烘托函数是可导的,咱们能够最小化组成作用与实际作用的误差,然后进行神经网络参数的优化。其中 mlp 运用的参数多可到达 5MB,实际练习起来就会发现练习时间十分漫长,一般要 1-4 天。这个速度与 Plenoxels 的 11 分钟比较确实是无法接受的。
2D 图片变 3D,听起来不是个小工程,Plenoxels 不必神经网络是怎么完成的呢?其实并不复杂。
Plenoxels 发现 NeRF 成功的诀窍其实是它的体积烘托方程,与其最耗时的神经网络关系不大。那么你必定会猎奇这个别积烘托方程究竟是何方神圣,咱们就先来看一下。
σi 代表不透明度,ci 代表色彩,δi 代表间隔。Ti 代表有多少光通过射线上的点 i,是通过密度和间隔核算的。这个别积烘托方程其实便是将射线上每个点的色彩,不透明度,光,还有间隔进行了一个整合处理。
体积烘托方程介绍过了,那么不需求神经网络的 Plenoxels 是怎么表明图片的呢?
Plenoxels 首要重建了一个稀少的体素表格,每个被占用的体素都带有不透明度和球谐系数。
咱们的色彩信息就存储在这些球谐系数中,每个色彩通道需求 9 个系数表明,一共有三个色彩,那么每个别素就需求 27 个球谐系数来表明它的色彩。
相机射线通过的每个点的色彩和不透明度,便是通过其最近处的 8 个别素的三线性插值核算的。接着与 NeRF 一样,运用体积烘托技能将得到的色彩与不透明度进行 3D 烘托。
Plenoxels 通过对烘托的像素的均匀平方误差 (MSE)进行最小化,来优化体素的不透明度和球谐系数,而且运用 TV 正则化协助消除噪声。
咱们能够看出,是否运用 TV 正则化的作用差异仍是很大的!
提速 100 倍,仅需 11 分钟
咱们用最直观的方法比照一下两个模型速度上的距离。
看到了吗,只用几秒 Plenoxels 就能够到达一个比较明晰的作用,而 NeRF 只有一个模糊的影子。
同样是单个场景,NeRF 运用型号为 v100 的单个 GPU 练习需求耗时 1-2 天,而 Plenoxels 运用单个 GPU 一般只需求 11 分钟。
这时有一个问题必定环绕在你的脑海里,速度提升了这么多,作用真的不会受影响吗?
空口无凭,咱们仍是要用数据说话。
PSNR (峰值信噪比):是最遍及,最广泛运用的评鉴画质的客观量测法,PSNR 值越大,就代表失真越少。
SSIM (结构类似性):衡量实际图画和组成图画的类似度,当两张图画一模一样时,SSIM 的值等于 1。
LPIPS (学习感知图画块类似度):用于度量实际图画和组成图画之间的不同,值越低代表图片越类似。
能够看到 Plenoxels 比照其他模型的体现不说样样最好,但也绝不落后他人,关键在于它的速度整整快了两个数量级!
正因为 Plenoxels 速度上的大幅提升,使得一些现在处于瓶颈的下流使用变得或许,例如屡次反射照明 (multi-bounce lighting)和大型场景的 3D 建模 (3D generative models)。
假如能在相机和体素散列上进行有效优化,模型乃至能够让端到端三维重建成为拥有 pipeline 的实际使用。
相信 Plenoxels 的潜力不只于此,让咱们一同期待它落地后的效果吧!
UC 伯克利本科生一作
作用微弱的 Plenoxels 来自 UC 伯克利的学生团队,一作 Alex Yu 仍是一名本科生。在大学里,他不只同时学习核算机和使用数学两门专业,还在伯克利的 BAIR ( Berkeley Artificial Intelligence Research)实验室进行 3D 核算机视觉的相关研讨。
Alex 计划在 2022 的秋季开端他的 PhD 旅程,让人不由感叹 AI 界真是人才辈出。在未来通过 PhD 的学习后,他又会迸发出怎样的能量呢,让咱们一同拭目而待吧!
GitHub 代码开源
现在,Plenoxels 项目的代码已经在 GitHub 上开源。
小伙伴们要注意的是,拍摄相片的时分要尽或许环绕物体,而且测验不同的高度哦。
快来试试作用怎么吧!