我们知道,自然的二维图像实际上是三维物体的二维平面投影,那么计算机是否能够仅通过二维图像知道物体的三维结构呢?
图1 使用GAN2Shape恢复3D形状以及旋转和重新光照的效果(来源:Github)
最近,香港中文大学MMLab团队的一项研究证实了二维 GAN可以隐式地学习物体的三维结构。研究者提出了一种新的从无约束、无关键点、无标签的二维图像中进行无监督三维重建的有效方法——GAN2Shape。该方法不依赖于物体形状的对称假设,也不需要使用任何额外的特定三维模型作为初始模板。该研究在开放的人脸、建筑、汽车等数据集上实现了三维重建,并展示了高度逼真的三维视觉操作(旋转以及重新光照),如图1所示。该研究已被接收为 ICLR 2021 Oral 论文。
图2 论文发表封面(来源:arXiv)
一、研究动机
近年来,生成对抗网络(GAN)在图像生成任务上取得了巨大的成功。GAN能够对不同对象类别的二维图像进行高保真度的建模。由于这些二维图像其实是三维物体在二维平面的投影,因此一个理想的通过GAN重构的二维图像应该能够反映一些潜在的三维几何属性。例如,InterFaceGAN[1]可以在其生成的图像(例如人脸)中以3D旋转方式移动对象,如图3所示。那么,是否有可能利用二维GAN中的几何信息来重建物体的三维形状呢?
图3 使用InterFaceGAN旋转对象姿态的效果(来源:Github)
二、方法:挖掘并利用GAN图像空间中的视角与光照信息
显然,挖掘GAN中的几何信息并非易事。已有的一些方法也尝试采用GANs从图像中学习三维形状,但这些方法难以通过无监督的方式对任意物体类别的GAN找到视角与光照变量在隐空间中对应的准确方向,因为手工检查和标注图像样本过于费力与耗时。
为了解决上述挑战,研究者观察到,许多物体(比如人脸、汽车)都具有某种程度的凸面形状先验。因此,他们使用椭球作为初始三维形状的先验,以改变物体的视角和光照变化。
图4 GAN2Ahape方法总览
基于这种思想,研究者设计了一种迭代式挖掘并利用 GAN 图像空间中视角与光照信息的策略,具体步骤如下:
虽然上述的三个步骤产生了一个比先前的形状更精确的三维物体形状,但是它可能会错过一些细节,如脸上的皱纹。为了获得更精确的结果,进一步将细化后的形状作为初始形状,重复上述步骤,逐步细化三维形状。
值得一提的是,在上述步骤2中,为了防止投影样本继承伪样本中的一些非自然畸变,保证重建结果的真实性,研究者提出了一种新的正则化策略,用StyleGAN2的部分映射网络对隐向量进行约束,更多细节可参阅论文原文附录。
三、实验:二维 GAN 图像皆可三维化
1、定性评估
研究者将提出的GAN2Shape与Unsup3d[2]进行定性评估,结果如图5所示。GAN2Shape以高质量的方式恢复人脸、猫、汽车和建筑物的三维形状,人类脸上的皱纹、汽车的边缘和平坦表面都被很好地捕捉到。Unsup3d的结果虽然不错,但往往忽略了物体的一些不对称方面,例如,它预测的眼睛方向总是指向前方。
图5 GAN2Shape与Unsup3d的定性比较
2、定量评价
研究者在BFM数据集上进行定量比较,将尺度不变深度误差(SIDE)和平均角度偏差(MAD)分数作为评价指标。结果如图6所示,Gan2Shape在这两个指标上都优于其他方法,并且在不使用传统方法人脸对称性假设的情况下仍然得到合理的三维重建结果。
图6 BFM数据集上的比较
(“Symmetry”表示是否对物体形状使用对称假设)
图7 不对称假设的结果
由于该方法得到了物体三维形状和视角光照变化在GAN隐空间中的方向,因此可以对图像进行三维编辑,如图8所示。
图8 图像三维编辑结果(包括旋转和重新照明)
相较其他用无监督GAN 实现人脸旋转的方法,研究者的方法更好地保存了人脸的身份信息,如图9所示。
图9 无监督人脸旋转方法对比
更多三维重建与编辑结果详见论文附录。
四、局限性
虽然研究者提出的方法适用于许多对象类别,但是针对更复杂的物体就会显示出其局限性。如图10所示,对于像马这样形状更复杂的物体,简单的凸面先验可能不能很好地反映视角和光照变化,因此不能非常准确地推断出三维形状。尽管如此,GAN2Shape仍然能够捕捉到马的一些形状特征,如头和肚子的粗略形状,并达到了合理的重光照效果。
该方法的另一个局限性是,其三维网格是通过深度图参数化的,不能模拟物体的背面形状。这可能需要采用更好的三维网格参数化来解决。
图10 GAN2Shape在LSUN Horse数据集上的结果
参考文献:
参考链接:
https://mp.weixin.qq.com/s/5OvTHnDYlkjjdDC-to_7Vw?
撰稿人:邓卓然
审稿人:梁艳