万万没想到,把照片变3D这件事,离了神经网络也是这般丝滑。
而在此之前,新视角合成这方面的“大牛&Rdquo;,是近两年大火的NeRF (神经辐射场)。
它是一个简单的全连接神经网络,使用2D图像的信息作为训练数据,还原拥有体积的3D场景。
但最近,来自伯克利大学的研究人员提出了一个叫做PlEnoxels的方法。
不需要神经网络,仅仅通过梯度下降和正则化便实现了同样的效果,而且速度还快了100倍!
那么他们是如何做到这点的呢?
由NeRF到PlEnoxels的进化
为了帮助大家理解PlEnoxels,我们先来简单介绍一下NeRF模型。
PlEnoxels发现NeRF成功的秘诀其实是它的体积渲染方程,与其最耗时的神经网络关系不大。
那么你一定会好奇这个体积渲染方程究竟是何方神圣,我们就先来看一下。
我们的颜色信息就存储在这些球谐系数中,每个颜色通道需要9个系数表示,一共有三个颜色,那么每个体素就需要27个球谐系数来表示它的颜色。
相机射线经过的每个点的颜色和不透明度,就是通过其最近处的8个体素的三线性插值计算的。
接着与NeRF一样,使用体积渲染技术将得到的颜色与不透明度进行3D渲染。
看到了吗,只用几秒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上开源。
小伙伴们要注意的是,拍摄照片的时候要尽可能环绕物体,并且尝试不同的高度哦。
快来试试效果如何吧!