自然画像は、2D画像平面上の3Dオブジェクトの投影です。 GANのような最先端の2D生成モデルは、自然な画像多様体のモデリングにおいて前例のない品質を示していますが、基礎となる3Dオブジェクト構造を暗黙的にキャプチャするかどうかは不明です。もしそうなら、どうすればそのような知識を利用して、画像内のオブジェクトの3D形状を復元できますか?これらの質問に答えるために、この作業では、RGB画像のみでトレーニングされた既製の2DGANから3D幾何学的手がかりを直接マイニングする最初の試みを紹介します。調査の結果、このような事前トレーニング済みのGANには確かに豊富な3D知識が含まれているため、教師なしで単一の2D画像から3D形状を復元できることがわかりました。私たちのフレームワークの中核は、GAN画像多様体の多様な視点と照明のバリエーションを調査して活用する反復戦略です。このフレームワークは、2Dキーポイントや3D注釈、またはオブジェクトの形状に関する強い仮定(形状が対称であるなど)を必要としませんが、人間の顔、猫、車、建物の3D形状を高精度で復元することに成功しています。復元された3D形状により、再照明やオブジェクトの回転などの高品質の画像編集がすぐに可能になります。 3D形状再構成と顔の回転の両方で、以前の方法と比較したアプローチの有効性を定量的に示します。コードとモデルはhttps://github.com/XingangPan/GAN2Shapeでリリースされます。
Natural images are projections of 3D objects on a 2D image plane. While state-of-the-art 2D generative models like GANs show unprecedented quality in modeling the natural image manifold, it is unclear whether they implicitly capture the underlying 3D object structures. And if so, how could we exploit such knowledge to recover the 3D shapes of objects in the images? To answer these questions, in this work, we present the first attempt to directly mine 3D geometric clues from an off-the-shelf 2D GAN that is trained on RGB images only. Through our investigation, we found that such a pre-trained GAN indeed contains rich 3D knowledge and thus can be used to recover 3D shape from a single 2D image in an unsupervised manner. The core of our framework is an iterative strategy that explores and exploits diverse viewpoint and lighting variations in the GAN image manifold. The framework does not require 2D keypoint or 3D annotations, or strong assumptions on object shapes (e.g. shapes are symmetric), yet it successfully recovers 3D shapes with high precision for human faces, cats, cars, and buildings. The recovered 3D shapes immediately allow high-quality image editing like relighting and object rotation. We quantitatively demonstrate the effectiveness of our approach compared to previous methods in both 3D shape reconstruction and face rotation. Our code and models will be released at https://github.com/XingangPan/GAN2Shape.