2D GAN知道3D形状吗?基于GAN的二维图像无监督三维形状重建
论文、代码地址:在公众号「计算机视觉工坊」,后台回复「二维图像GAN」,即可直接下载。
摘要:
自然图像是三维物体在二维图像平面上的投影。尽管像GAN这样最先进的2D生成模型在建模上具有较好的性能,但是研究人员们仍然不了解它们内部是否隐含了底层的3D对象结构。如果真的隐含了这些信息,研究人员如何利用这些知识来恢复图像中物体的三维形状呢?为了回答这些问题,在这项工作中,研究人员首次尝试直接从一个现成的只对RGB图像训练的2D GAN中挖掘3D几何线索。通过研究,研究人员发现这种预先训练过的GAN确实包含了丰富的3D知识,因此可以用无监督的方式从单一的2D图像中恢复3D形状。该研究框架的核心是一个迭代策略,探索和利用GAN图像的不同视角和照明变化。该框架不需要2D关键点或3D标注,也不需要对识别的物体形状有苛刻的要求,例如,要求形状是对称的,即可成功地恢复了人脸、汽车、建筑等的高精度3D形状。同时,恢复的3D形状可以进行高质量的图像编辑,如重光照和对象旋转。研究人员定量地证明了该方法在三维形状重建和人脸旋转方面的有效性。
研究贡献:
(1) 研究人员首次尝试使用仅在2D图像上预先训练的GAN来重建3D物体形状。研究人员的工作表明,2D GAN可以捕获不同对象类别的丰富3D知识,并为3D形状生成提供了一个新的视角。
(2) 研究人员的工作还提供了另一种无监督的三维形状学习方法,并且不依赖于物体形状的对称性假设。
(3) 研究人员实现了高度逼真的3D感知图像操作,包括旋转和重光照,无需使用任何外部3D模型。
当前问题:
现有的经过预训练的2D GAN可以为研究人员从2D图像中恢复物体的3D形状提供了知识。由于一个实例的3D结构可以从具有多个视角和照明变化的同一实例的图像中推断出来,因此,研究人员希望通过利用2D GAN捕获的图像来创建这些变化。然而,挖掘GAN中的几何信息并非易事,已有的方法难以对任意物体类别的GAN找到视角与光照变量在隐空间中对应的准确方向。
研究方法:
为了解决此问题,研究者注意到大多数物体(如人脸、汽车等)具有较“凸”的三维形状。受此启发,研究人员基于“椭球”开展了相应的研究。研究人员希望通过挖掘二维GAN中的几何信息(视角与光照)来重建物体的三维形状。基于这种思想,研究者设计了一种迭代式挖掘并利用GAN图像空间中视角与光照信息的策略,算法框架如下图所示,具体算法步骤如下:
(1) 用初始化的形状(椭球)和渲染器渲染很多不同视角与光照条件下的“伪样本”;
(2) 用预训练的GAN对伪样本进行重建,得到其在GAN图像空间的投影,“投影样本”。这些投影样本会继承与伪样本类似的视角与光照,同时GAN的生成特性会将投影样本约束在真实图像空间中,从而消除伪样本中不真实的畸变与光影;
(3) 将投影样本作为渲染步骤的ground truth,从而优化物体三维形状。由于投影样本中包含了GAN学得的物体三维信息,因此物体形状会更加准确。
以上步骤结束后,研究人员可以用优化后的形状作为初始形状再重复以上步骤,迭代多次,从而逐步改善形状直至收敛。
实验设置与结果:
研究人员首先评价了该方法在三维形状恢复,然后展示了它在三维感知图像处理中的应用。使用的数据集包括CelebA、BFM、组合猫数据集、LSUN Car、LSUN Church,均为无约束RGB图像。研究人员在实验中采用StyleGAN2对这些数据集进行预训练。
1. 无监督的三维形状重建
研究者将GAN2Shape分别应用于在人脸、猫脸、车以及建筑上训练的StyleGAN2,均可重建出合理的三维形状,如下图所示:
下图为GAN2Shape在建筑上的三维重建和重光照结果,以及与Unsup3d的对比:
评估:该方法恢复了人脸、猫、汽车和建筑的高质量三维形状。例如,人类脸上的皱纹、汽车的边缘和平面都被很好地捕捉到了。Unsup3d的结果虽然不错,但往往忽略了人脸的一些不对称方面,例如,它预测的眼睛方向总是指向前方。Unsup3d在不对称物体或大视角变化的数据集(如建筑物、汽车等)泛化方面存在不足,而本文中的研究方法则没有这样的缺点。
2. 三维图像操作
(1) 对象旋转和重光照
训练后,恢复的3D形状和编码器可以实现各种3D感知的图像处理效果。研究人员展示了两个操作效果,包括对象旋转和重光照。对于每种效果,研究人员展示了使用恢复的3D形状和反照率渲染的结果,以及通过编码器实现的投影。从下图中可知,研究人员的方法适用于GAN反演的真实自然图像,该方法可以很好的运用在对象旋转和重光照。,实验结果如下所示。
(2) 人脸身份特征保留
通过面部旋转,研究人员将该方法与其他无监督的方法进行了比较,这些方法也实现了面旋转与GAN,包括HoloGAN,GANSpace和SeFa。对于每一种方法,研究人员随机抽取100张人脸图像,对每一张人脸,研究人员将它的偏航角度从-20度移到20度,获得20个不同姿态的样本。然后使用人脸身份检测模型ArcFace来评估旋转过程中人脸身份的变化。从实验中可知,由于研究人员的方法明确恢复了三维人脸形状,因此从这些恢复的三维形状中呈现的结果明显优于其他方法,实验结果如下所示。
研究不足:
研究人员已经证明了该方法适用于许多不同的类别。然而,对于马等复杂形状的物体,一个简单的“凸”形先验知识,可能不能很好地反映视角和光照变化,因此3D形状不能非常准确地推断,可以参考下图中的第二行。该方法的另一个局限是,研究人员的3D网格是通过深度图参数化的,它不能建模对象的背面形状,如下图中的第一行所示。这可以通过采用更好的参数化三维网格来解决。尽管有这些限制,研究人员的方法仍然捕捉到了马的一些形状,如头部和腹部的粗糙形状,并达到了合理的重光照效果。
文章总结:
研究人员已经提出了第一个直接利用现成的2D GAN从图像恢复3D物体形状的方法。研究人员发现,现有的2D GAN捕获了足够的知识来恢复许多对象类别的3D形状,包括人脸、猫、汽车和建筑。基于“凸”形先验知识,研究人员的方法可以探索GAN图像中的视角和光照变化,并利用这些变化以迭代的方式细化底层物体形状。研究人员进一步展示了研究人员的方法在3D感知图像处理的应用,包括对象旋转和重光照。研究人员的结果揭示了二维GAN在底层三维几何建模中的应用价值。
备注:作者也是我们「3D视觉从入门到精通」特邀嘉宾:一个超干货的3D视觉学习社区
本文仅做学术分享,如有侵权,请联系删文。
下载1
在「计算机视觉工坊」公众号后台回复:深度学习,即可下载深度学习算法、3D深度学习、深度学习框架、目标检测、GAN等相关内容近30本pdf书籍。
下载2
在「计算机视觉工坊」公众号后台回复:计算机视觉,即可下载计算机视觉相关17本pdf书籍,包含计算机视觉算法、Python视觉实战、Opencv3.0学习等。
下载3
在「计算机视觉工坊」公众号后台回复:SLAM,即可下载独家SLAM相关视频课程,包含视觉SLAM、激光SLAM精品课程。