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

2021-03-16 21:35 1264 阅读 ID:302
量子位
量子位

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

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

    没错,这样的动图并非截自视频,而是来自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

    —完—

    @量子位 · 追踪AI技术和产品新动态

    深有感触的朋友,欢迎赞同、关注、分享三连վ'ᴗ' ի ❤

    免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
    反馈
    to-top--btn