只用静态图像,就能实时渲染出丝滑3D效果 | CVPR 2021 Oral

AI资讯1年前 (2023)发布 AI工具箱
338 0 0

这般丝滑的美食展示,是否让跟随镜头移动的你食指大动?

再看这放大镜里流畅变化的弹簧,你敢相信,这完全是用静态图像合成的吗?

没错,这样的动图并非截自视频,而是来自AI的合成大法。

甚至只需手机随手拍摄的十几张2D照片,就能实时渲染生成。

比起大名鼎鼎的谷歌前辈NeRF,这只名为NeX的AI,能直接把每秒渲染帧数从0.02帧提升到60帧。

也就是说,渲染速度能提升3个数量级

细节之处,也更加接近真实效果。

这项已经入选CVPR 2021 Oral的研究,是怎么做到的?

像素参数与基函数结合

多平面图像(MPI)视图合成技术,使得不用3D建模,只用少数几张图像还原多视角逼真3D效果成为可能。

不过,此前的MPI主要采用的是标准RBGα表示法,简单说就是把图像转换成RGBα平面,以进行后续的计算。

这样做的局限性在于,其表示出的物体外观仅与漫反射表面有关,与视角无关。

这就极大地限制了MPI可以捕捉的物体和场景类型。

为此,来自泰国科学技术研究所VISTEC的研究人员提出:将每个像素的参数转化为基函数的系数,进行线性组合,并以此创建与视图相关的效果模型。

就如上图所示,多平面图像中每个像素都由alpha透明值、基色k0和视图相关的反射系数k1…kn组成。

将这些系数和神经网络预测的基函数进行线性组合,就产生了最终的颜色值。

如此一来,像金属勺子在不同视角下的反射效果这样的信息,都能在合成图像中显示出来。

具体到整个NeX的结构,对于输入图像,首先根据不同平面深度,对像素坐标(x,y)进行采样,以构建出MPI中的每个像素。

然后,把这个数据喂给多层感知机(MLP),得到alpha透明度,以及和视图相关的基础系数(k1,k2,…,kn)。

这些系数再与显式的k0一起,与另一个MLP预测的基函数相乘,生成RGB值。

输出图像,如公式1所示,为所有平面复合运算的结果。

而在细节效果的提升方面,研究人员人员发现,通过比较渲染图像和真实值之间的差距,对基色k0进行优化,就可以得到很好的效果,显著减轻网络压缩和细节重现的负担,减少迭代次数。

研究人员还补充说,NeX可以被理解成是隐式辐射场函数的离散抽样。

至于实时渲染,论文指出,NeX MPI中的每一个模型参数都可以转换为图像。而给定预先计算好的图像,就可以在OpenGL/WebGL的片段着色器中实现上述公式1,实现捕获场景的实时渲染。

实验结果

有NeRF珠玉在前,NeX具体到数据上,到底有怎样的提升?

运行时间方面,输入17张分辨率为1008×756的照片,批量大小为1的情况下,使用单个英伟达V100训练,NeX的耗时大概为18小时。

使用WebGL,此场景可以以每秒60帧的速度被渲染出来。

而在同一台机器上运行,NeRF则需要大约55秒才能生成一帧。

也就是说,NeX的渲染速度比NeRF要快1000倍以上。

与SRN、LLFF和NeRF相比,在峰值信噪比、结构相似性和图像感知相似度这三个指标上,NeX都达到了最佳。

而在定性比较中,可以看到,与NeRF相比,在颜色均匀的区域,NeX细节更清晰,噪声更少,更接近真实值。

LLFF虽然细节表现也很好,但当结果以视频形式呈现时,会产生跳跃和扭曲伪影。

可上手试玩

对了,如果你对NeX感兴趣,还可以到项目官网亲自感受一下实时渲染Demo。

还有手机版和VR版哟。

传送门

项目地址:
https://nex-mpi.github.io/

论文地址:
https://arxiv.org/abs/2103.05606

— 完 —

© 版权声明

相关文章

暂无评论

暂无评论...