研究人员|古典人像秒变3D,视角还能随意切,华为&上交联手出品

明敏 发自 凹非寺
量子位 报道 | 公众号 QbitAI
如果让GAN生成的逼真人像变成3D版,会怎样?

研究人员|古典人像秒变3D,视角还能随意切,华为&上交联手出品
文章插图

仿佛有摄像机对着人像直拍,正面、侧面、仰视、俯视不同角度都能展现。
真的有种人要从画中走出来那味儿了。
而且,这些效果都是由静态单视角图片生成的!
甚至能让卡通人像立体起来。

研究人员|古典人像秒变3D,视角还能随意切,华为&上交联手出品
文章插图

这就是上海交通大学和华为的最新研究:CIPS-3D。
它是一种基于GAN的3D感知生成器,只用原始单视角图像,无需任何上采样,就能生成分辨率256×256的清晰图像。

研究人员|古典人像秒变3D,视角还能随意切,华为&上交联手出品
文章插图

并且创下3D感知图像合成的新记录,FID仅为6.97。
现在,这个项目在GitHub上已有200+星,作者已将源代码开源,训练配置文件将在后续发布。
搞定镜像对称在高清人脸数据集FFHQ上,CIPS-3D的表现可以说非常nice,连古典画都能变成立体版。

研究人员|古典人像秒变3D,视角还能随意切,华为&上交联手出品
文章插图

当然也能搞定不同动物的face。

研究人员|古典人像秒变3D,视角还能随意切,华为&上交联手出品
文章插图

看到图像从2D直接变成3D,可能有人已经想到了谷歌大名鼎鼎的NeRF。

研究人员|古典人像秒变3D,视角还能随意切,华为&上交联手出品
文章插图

它只需要输入少量静态图片,就能做到多视角的逼真3D效果。
而这次的CIPS-3D,也是基于NeRF开发。
它主要用到了两个网络:NeRF和INR(隐式神经表示法,Implicit Neural Representations)。

研究人员|古典人像秒变3D,视角还能随意切,华为&上交联手出品
文章插图

浅层是NeRF,它主要负责把人像从2D变为3D。
它将场景的体积表示优化为向量函数,输入为3D位置坐标和视图方向。
具体而言,就是沿相机射线采样信息,来合成图像。
然后,将这样的场景表示参数化为一个完全连接深度网络(MLP),输出对应的颜色和体积密度值。
为了获得更为准确的3D图像,往往需要对每条光线上多点采样,这也就造成NeRF所需的内存非常大。
因此,如果神经网络中只用NeRF,就会限制网络的深度,导致生成图像模糊、缺乏细节。

研究人员|古典人像秒变3D,视角还能随意切,华为&上交联手出品
文章插图

△第一列为NeRF生成,第二列为INR生成
所以在CIFS-3D中,研究人员将深层网络设置为INR,让它负责合成高保真的图像。
这种方法也能将各种信号参数化,输出RGB值。
而且由于不再与空间分辨率耦合,它可以对任意空间分辨率进行采样。
论文中也提到,该方法也没有任何上采样。
但是受限于CPU内存,如果直接训练高分辨率图像会有一定难度,为此研究人员提出了一种部分梯度反向传播的方法。
在训练时,该方法仅对随机采样中的绿色光线进行梯度反向传播计算,其余光线则不计算。

研究人员|古典人像秒变3D,视角还能随意切,华为&上交联手出品
文章插图

解决了3D化问题,还能保证高保真,你以为这就结束了?
NO、NO、NO
在研究过程中,工作人员发现CIPS-3D还存在镜像对称问题。
这种现象其实在许多3D GAN中都存在,比如GIRAFFE、StyleNeRF。
比如在下面这个案例中,初始单角度图像的刘海是偏左的,但是生成的不同角度图像中,刘海会随着视角的变化而变化,就像是镜像一样。

推荐阅读