CVPR 2020中,无监督学习或者半监督学习也是一个热点话题。
本期,推送一篇CVPR 2020中可能对称可变形的3D物体自然场景下图像的无监督学习。
论文题目:Unsupervised Learning of Probably Symmetric Deformable 3D Objects from Images in the Wild
论文作者:Shangzhe Wu, Christian Rupprecht, Andrea Vedaldi
作者单位:Visual Geometry Group, University of Oxford
1 Abstract
作者对原始单视图图像建立了一个3D可变物体(Deformable object)分类无监督学习模型。
基于一个自编码器(Autoencoder)对每个输入图像进行深度、反照率、视点和照度的因子分析。
为了达到无监督学习,作者基于一个事实,即许多物体类别至少在原理上具有一个对称结构。尽管由于遮挡产生的阴暗情况会使物体表面不对称,但作者向我们说明了光照允许利用物体隐含的对称性的原因。
此外,通过预测一个对称概率映射,作者对3D物体建立一个大概(Probably)、不确切(Not certainly)对称的模型,进行端到端的学习。
实验结果分别在真实数据集(Human faces, cat faces and cars)和基准数据集(Benchmarks)上进行,与其它监督学习方法相比取得了较好的准确率(Very accurately and superior)。
2 Introduction
2.1 Motivation
在计算机视觉领域,理解图像的3D结构是关键的(Key)。许多深度网络提出用于理解2D纹理图像,3D建模可以解释自然图像的许多可变性,并有可能提高对图像的一般理解。
基于此,作者考虑了学习可变形物体类别的3D模型的问题。
2.2 Challenging Conditions
面临两个挑战:
- 没有2D或3D的正确的(Ground truth)信息(如关键点、分割、深度图或3D模型的先验知识)可用。无监督学习尽管可以解决收集标记带来的瓶颈(Bottleneck),但是通常难以客服将深度学习应用在应用在新领域中的障碍(Obstacle)。
- 算法必须使用无约束的单视图图像集(相同实例无需提供多视图图像)。每个实例只有一个视图图像,对于可变物体3D形状分析带来了不小挑战。
作者提出了一个单视图图像学习模型,能够估计任意一个实例的3D形状作为输出。就是这么强势!!!
2.3 Autoencoder
将其设计成一个自动编码器,可以在内部(有条件地)将图像分解为反照率、深度、光照和视点,而不需要对这些因素进行直接监督。
为了解决上述分解的不适定的(Ill-posed),寻找最小的假设来搞定这个问题。作者注意到许多物品类别是对称的(几乎所有的动物和许多手工制品)。受此启发,作者利用对称性来约束分解(Decomposition)。
Assuming an object is perfectly symmetric, one can obtain a virtual second view of it by simply mirroring the image. In fact, if correspondences between the pair of mirrored images were available, 3D reconstruction could be achieved by stereo reconstruction.
自然界中的大多数物体无论从形状还是从表面上来说都是不对称的,然而由于不对称的关照,物体的表面可能是对称的。
为了解决这个问题。需要
- 明确地建立光照模型来利用底层的对称性,并表明,通过这样做,模型可以利用光照作为恢复形状的额外线索。
- 扩充模型以解释物体中潜在的不对称。为此,模型预测,连同其他因素,一个密集的映射,其中包含一个给定像素在图像中有一个对称对应的概率。
将这些元素结合在一个端到端的学习公式中,其中所有的组成部分,包括置信图,只从原始RGB数据中学习。还表明,对称可以通过翻转内部表示来实现,这对于概率性的对称推理特别有用。
2.4 Experiments
数据集包括人脸、猫脸和小汽车。
Ablation study:使用对称人脸数据集得到了正确的的3D预测结果。
与其它方法相比,不依赖于任何先验的3D知识就能获得更高的重建精度。
与一个有监督的state-ofthe-art方法相比,更胜一筹。
模型泛化能力强:可以用于非自然图像学习,如人脸画和卡通画。
3 Related Work
作者从三个方面对比了该工作与其它文献,以评估该工作地贡献,即
which information is used, which assumptions are made, and what the output is.
- Use:使用一个物体类别的单视图图形作为训练数据;
- Assumption:这些物体属于同一特殊的类别并具有微弱的对成性(weakly symmetric)。
- Output:输出一个预测子能够将任意类别的图像分解为形状、反照率、光照、视点和对称概率。
3.1 Structure from Motion
基于运动的重建(SfM)是3D重建领域传统的方法,将每个场景的多个视图作为输入,重构出单个刚性场景的3D结构,并在视图之间进行2D关键点匹配。SfM可以扩展成两种方式:
- 单目重建方法可以从一幅图像进行密集的3D维重建,无需2D关键点。然而,需要多视图或刚性场景的视频进行训练。
- 非刚性SfM可以学习重建可变形的物体,允许3D点以限的方式在不同的视图之间变化,但需要在标记2D关键点的监督下训练和测试。
3.2 Shape from X
许多其它的单目线索如阴影、剪影、纹理和对称等被用作从图像重构物体形状的替代或补充,特别地,此工作受shape from symmetry和shape from shading的启发。
- Shape from symmetry:在对称对应可用的情况下,通过使用镜像映像作为虚拟的第二视图,从单个图像重新构造对称物体,还表明使用描述子检测对称性和对应关系是可能的。
- Shape from shading:假设一个阴影模型,如Lambertian反射率,并通过利用不均匀的光照重建表面。
3.3 Category-specific Reconstruction
基于学习地方法最近用于单视图图像或2D关键点重建物体。尽管这项任务是ill-posed,但是可以通过训练数据习得适当的物体先验。
由于我们的模型从内部的3D表示生成图像,一个重要的组件是一个可区分的渲染器。传统的方式不能满足,所以提出了一些soft relaxations。
4. Method
如下所示,给定一类无约束3D物体图像,goal是学习一个模型,能够输入图像实例,输出3D形状的分解(反射率、光照和视点)。
学习是重构图像,将raw images分解为4种factors,然后4种factors再重建输入图像。这个过程是autoencoding pipeline,由于这种重组方式,故也有photo-geometric meaning。
前边说了,为了实现without supervision,需要对称bilaterally symmetric假设。但是现实物体往往是never perfectly symmetric,采取两种度量来考虑这些不对称:
- Explicitly建立不对称光照模型;
- 对于每个输入的像素, 都有一个confidence score(conf,,)衡量像素对称的概率。
4.1 Photo-geometric Autoencoding
一个图像就是一个函数或者的张量。假设
the image is roughly centered on an instance of the object of interest.
使用神经网络学习一个函数,能够将输入图像映射成一个四元组。
- :一个depth映射;
- :一个albedo图像;
- :一个全局light方向;
- :一个viewpoint(输入视角与canonical视角)。
由四元组重构图像为,经历两个过程光照和重投影光照:
The effect of lighting could be incorporated in the albedo by interpreting the latter as a texture rather than as the object’s albedo.
有两个理由可以避免这种情况:
- 即便光照造成物体表面看起来不对称,反射宗实对称的。分离它们允许我们更有效地合并下面描述的对称约束
- 阴影在基础的3D形状上提供了额外的线索,该工作基于预测的深度值通过彼此约束地方式计算遮挡阴影。
4.2 Probably Symmetric Objects
借助对称对物体进行3D重建需要找到图像中潜在地对称点。
Leveraging symmetry for 3D reconstruction requires identifying symmetric object points in an image.
假设深度和反照率在一个标准坐标系中重建,是关于一个固定的垂直面对称的。这样做,便于发现一个canonical view。
定义一个水平翻转map 操作符:
The choice of axis is arbitrary as long as it is fixed.
需要满足
While these constraints could be enforced by adding corresponding loss terms to the learning objective, they would be difficult to balance.
间接地,通过翻转深度和反射图像得到另一个重构图像:
其中,
那么,就有两个相称的(Commensurate)重构误差,易平衡共训练。更重要的是,这种方法很容易推断出对称概率。
对于重构图像,负对数似然Laplacian分布重构残差Loss定义为
其中,是距离,是一个置信map,用以评估模型的aleatoric uncertainty。
Optimizing likelihood causes the model to selfcalibrate, learning a meaningful confidence map.
对于对称重构图像,使用第二个置信map 采用相同的Loss,即。这个置信映射允许模型了解输入图像的哪些部分可能是不对称的。
加权这两个重构误差和进行学习:
其中,权重,神经网络输出。
4.3 Image Formation Model
相机3D点,经过透视投影(视野FOV )映射到一个像素点:
假设相机与物体距离m,图像绕一个特定的物体裁剪,视野角度。
-
为像素在标准视图下的深度值,倒置相机模型,则
-
视角表示欧式空间变换,和分别表示轴旋转角度和位移。
-
将3D点由标准视图变换到实际的视图,标准视图像素与真实视图可以由warping function 对应
-
给定,得到一个normal map 通过关联到每个像素一个法向量到基础的3D表面。为了得到方向量,需要计算沿着方向的切向量,
其中,,。
-
与光源做内积得到方向光,添加到环境光中,最后乘以反射率得到光照纹理:
其中,标量系数加权环境项和扩散项,并由模型预测范围为
通过尺度
tanh输出0和1。光线方向使用
tanh通过预测和被建模为spherical sector
4.4 Perceptual Loss
损失函数对微小的几何缺陷很敏感且易造成重建模糊。引入感知项缓和这种敏感性。使用现成的图像编码器(VGG16)预测一个表示。
Note that this feature encoder does not have to be trained with supervised tasks. Self-supervised encoders can be equally effective.
Gaussian分布感知loss如下:
其中,是距离。
In practice, we found it is good enough for our purpose to use the features from only one layer
relu3 3of VGG16.
5 Experiments
5.1 Setup
5.1.1 Datasets
- Three human face datasets
- Two cat datasets
- ……
| No. | Name | Detail |
|---|---|---|
| 1 | CelebA | 200k images of real human faces in the wild annotated with bounding boxes |
| 2 | 3DFAW | 23k images with 66 3D keypoint annotations |
| 3 | BFM | Synthetic face model |
Train : validation : test = 8 : 1 : 1
5.1.2 Metrics
- Scale-invariant depth error
- Mean angle deviation
5.1.3 Implementation details
用于从图像映射为深度、反射率、视角、光照和置信映射的函数由individual neural networks实现。
深度和反射率由encoder-decoder networks产生。
光照和视角由simple encoder networks回归。
编码器-解码器不使用跳过连接,因为输入和输出图像不是在空间上对齐的(因为输出在标准的视点中)。由于光度和感知损失是在不同的分辨率下计算的,所以这四种置信映射都是用相同的网络在不同的解码层预测的。
tanh为深度,反照率,视点和光照作为激励函数;
softplus作为置信映射的激励函数。
Input image: batch: 64 iterations: 50k
5.2 Results
5.2.1 Comparison with baselines
表2使用BFM数据集比较了所提出的方法得到的深度重建质量,一个全监督基准和两个基准。
5.2.2 Ablation
为了理解模型各个部分的影响,一次删除一个部分,并在表3中评估消融模型的性能。
5.2.3 Asymmetric perturbation
在对扰动图像有置信度和没有置信度的情况下训练模型,表4是结果。
5.2.4 Qualitative results
在图4中,给出了来自CelebA和3DFAW的人脸、来自[66,42]的猫脸和来自ShapeNet的合成汽车的重建结果。将在CelebA数据集上训练过的模型应用于从[8]和互联网上收集的大量面部绘画和卡通图画。如图5所示,在训练过程中即使没有看到过这样的图像,仍然可以很好地工作
5.2.5 Symmetry and asymmetry detection
在图6中,将标准图像的中心线弯曲到预测的输入视点。所提出方法可以准确地检测对称平面,尽管存在不对称的纹理和光照效果。
5.3 Comparison with the state of the art
5.3.1 Qualitative comparison
如图7,为了建立一个并行比较,删除论文中报道的例子[45,52],并将我们的结果与作者的结果进行比较。
5.3.2 3D keypoint depth evaluation
在表5中,作者报告了他们论文的结果和作者从其它文献种的可用的实现。
5.3.3 Limitations
虽然作者提出的方法在许多具有挑战性的场景(例如,极端的面部表情,抽象的绘图)中是稳健的,但确实也观察到了如图8所示的失败案例。
5 Conclusions
提出了一种可以学习一个可变形的物体类别的3D模型,从一个不受约束的单一视图的对象类别的图像集合。该模型能够获得高保真度的单目3D重建个体对象实例。这是训练基于重建损失没有任何监督,类似于一个自动编码器。作者已经表明,对称和光照是形状的强烈线索,并帮助模型收敛到有意义的重建。作者的模型优于目前使用的最先进的3D重建方法。
As for future work, the model currently represents 3D shape from a canonical viewpoint using a depth map, which is sufficient for objects such as faces that have a roughly convex shape and a natural canonical viewpoint. For more complex objects, it may be possible to extend the model to use either multiple canonical views or a different 3D representation, such as a mesh or a voxel map.