欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

1张GPU就能让静态图片变gif

程序员文章站 2022-07-03 13:40:29
自打伯克利和谷歌联合打造的nerf横空出世,江湖上静态图变动图的魔法就风靡开来。不过,想要像这样依靠ai来简化3d动态效果的制作,算力开销可不小:以nerf为例,想要在1440 x 1600像素、90...

自打伯克利和谷歌联合打造的nerf横空出世,江湖上静态图变动图的魔法就风靡开来。

1张GPU就能让静态图片变gif

不过,想要像这样依靠ai来简化3d动态效果的制作,算力开销可不小:

以nerf为例,想要在1440 x 1600像素、90hz的vr头盔中实现实时渲染,需要37 petaflops(每秒10^15次浮点运算)的算力——这在目前的gpu上根本不可能实现。

怎么降低点计算复杂度?

现在,来自奥地利格拉兹科技大学和facebook的研究人员,就想出一招:引入真实深度信息。

就这一下,很快的,推理成本最高能降低48倍,并且只用1个gpu,就能以每秒20帧的速度实现交互式渲染。

画质什么的,也没啥影响,甚至还能有所提升:

1张GPU就能让静态图片变gif

具体是怎样一招,咱们往下接着聊。

基于深度预言网络的nerf

首先需要说明的是,nerf,即神经辐射场(neural radiance field)方法,是沿相机射线采样5d坐标,来实现图像合成的。

1张GPU就能让静态图片变gif

也就是说,在nerf的渲染过程中,需要对每条射线都进行网络评估,以输出对应的颜色和体积密度值等信息。

这正是造成nerf在实时渲染应用中开销过大的主要原因。

而现在,格拉兹科技大学和facebook的研究人员发现,引入真实深度信息,只考虑物体表面周围的重要样本,每条视图射线(view ray)所需的样本数量能够大大减少,并且不会影响到图像质量。

基于此,他们提出了donerf。

1张GPU就能让静态图片变gif

donerf由两个网络组成,其一,是sampling oracle network,使用分类法来预测沿视图射线的最佳采样位置。

具体来说,这个深度预言网络通过将空间沿射线离散化,并预测沿射线的采样概率,来预测每条射线上的多个潜在采样对象。

如下图所示,3个颜色通道编码了沿射线的3种最高采样概率,灰度值表明其中可能只有一个表面需要被采样,而彩色数值则表明这些样本需要在深度上展开。

1张GPU就能让静态图片变gif

其二,是一个着色网络,使用类似于nerf的射线行进累积法来提供rgba输出。

为了消除输入的模糊性,研究人员还将射线转换到了一个统一的空间,并使用非线性采样来追踪接近的区域。

另外,在两个网络之间,研究人员对局部采样进行扭曲,以使着色网络的高频预测被引导到前景上。

1张GPU就能让静态图片变gif

本文还引入了视图单元(view cell)的概念。一个视图单元被定义为一个具有主要方向和最大视角的边界框。

简单来说,这个边界框能够捕捉到所有源于框内、并且在一定旋转范围内的视图射线。

利用这样的方法,就可以对大场景进行分割,解决nerf没有办法应用于大场景的问题。

此外,较小的视图单元减少了场景中的可见内容,因此可能会进一步提高成像质量。

对比结果

所以,donerf相较于前辈nerf,到底能快多少?

不妨直接来看对比结果。

1张GPU就能让静态图片变gif

在相似的质量下,nerf总共使用了256个样本。而donerf只用到了4个样本,在速度上可以实现20-48倍的提升。

并且在成像细节方面,donerf的图像边缘更为清晰。

1张GPU就能让静态图片变gif

研究人员还指出,在16个样本的情况下,从峰值信噪比(psnr)来看,几乎所有场景中donerf都超越了nerf。

1张GPU就能让静态图片变gif

传送门

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

项目地址:https://depthoraclenerf.github.io/

- the end -

相关标签: #图片 #GPU