一张照片就能生成 3D 模型,GAN 和自动编码器碰撞出奇迹

2D 图片“脑补”3D 模型,这次真的只用一张图就行了 —— 只需要给 AI 随便喂一张照片,它就能从不一样的角度给你生成“新视图”

不仅能搞定 360° 的椅子和汽车,连人脸也玩出了新花样,从“死亡自拍”角度到仰视图都能生成:

更有意思的是,这只名叫 Pix2NeRF 的 AI,连训练用的数据集都有点“与众不同”,可以在没有 3D 数据、多视角或相机参数的情况下学会生成新视角。可以说是又把 NeRF 系列的 AI 们卷上了一个新高度。

用 GAN + 自动编码器学会“脑补”

在此之前,NeRF 能通过多视图训练 AI 模型,来让它学会生成新视角下的 3D 物体照片。然而,这也导致一系列采用 NeRF 方法的模型,包括 PixelNeRF 和 GRF,都需要利用多视图数据集才能训练出比较好的 2D 生成 3D 模型效果。

而多视图数据集往往有限,训练时间也比较长。因此,作者们想出了一个新方法,也就是用自动编码器来提取物体姿态和形状特征,再用 GAN 直接生成全新的视角图片。

Pix2NeRF 包含三种类型的网络架构,即生成网络 G,判别网络 D 和编码器 E。其中,生成网络 G 和判别网络 D 组成生成对抗网络 GAN,而编码器 E 和生成网络 G 用于构成自动编码器:

首先,自动编码器可以通过无监督学习,来获取输入图像的隐藏特征,包括物体姿态和物体形状,并利用学习到的特征重建出原始的数据;然后,再利用 GAN 来通过姿态和形状数据,重构出与原来的物体形状不同的新视图。

这里研究人员采用了一种叫做 π-GAN 的结构,生成 3D 视角照片的效果相比其他类型的 GAN 更好(作者们还对比了采用 HoloGAN 的一篇论文):

那么,这样“混搭”出来的 AI 模型,效果究竟如何?

用糊图也能生成新视角

作者们先是进行了一系列的消融实验,以验证不同的训练方法和模型架构,是否真能提升 Pix2NeRF 的效果。例如,针对模型去掉 GAN 逆映射、自动编码器,或不采用 warmup 针对学习率进行预热等,再尝试生成新视角的人脸:

其中,GAN 逆映射(inversion)的目的是将给定的图像反转回预先训练的 GAN 模型的潜在空间中,以便生成器从反转代码中重建图像。

实验显示,除了完整模型(full model)以外,去掉各种方法的模型,生成人脸的效果都不够好。随后,作者们又将生成照片的效果与其他生成新视图的 AI 模型进行了对比。

结果表明,虽然 Pix2NeRF 在 ShapeNet-SRN 的生成效果上没有 PixelNeRF 好,但效果也比较接近:

而在 CelebA 和 CARLA 数据集上,Pix2NeRF 基本都取得了最好的效果。

而且模型还自带一些“美颜”功能,即使是糊图送进去,也能给 GAN 出更丝滑的轮廓:

整体而言,除了人脸能生成不同角度的新视图以外,物体还能脑补出 360° 下不同姿态的效果:

看来,AI 也和人类一样,学会“脑补”没见过的物体形状了。

作者介绍

这次论文的作者均来自苏黎世联邦理工学院(ETH)。

论文一作 Shengqu Cai,ETH 硕士研究生,本科毕业于伦敦国王学院,研究方向是神经渲染、生成模型和无监督学习等,高中毕业于辽宁省实验中学。

Anton Obukhov,ETH 博士生,此前曾在英伟达等公司工作,研究方向是计算机视觉和机器学习。

Dengxin Dai,马普所高级研究员和 ETH(外部)讲师,研究方向是自动驾驶、传感器融合和有限监督下的目标检测。

Luc Van Gool,ETH 计算机视觉教授,谷歌学术上的引用量达到 15w+,研究方向主要是 2D 和 3D 物体识别、机器人视觉和光流等。

目前这项研究的代码还在准备中。

感兴趣的小伙伴可以蹲一波了~

论文地址:

https://arxiv.org/abs/2202.13162

项目地址:

https://github.com/sxyu/pixel-nerf

参考链接:

[1]https://arxiv.org/pdf/2102.03285.pdf

[2]https://arxiv.org/pdf/2012.02190.pdf

[3]https://www.mpi-inf.mpg.de/departments/computer-vision-and-machine-learning

[4]https://www.linkedin.com/in/shengqu-cai-818230185/

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注