杭州已经阴雨天多日了,期待万里晴空,周末开心的去郊游!
转入正题,
ICCV2019已经过去一段时间,但比较优秀好的文献我们还是值得慢慢去品,值得深入阅读去体会作者的意图,从中学习精髓,去发现更多的创新点。
今天为大家推荐一篇关于三维人脸重建相关文献,主要提出了一种新颖的基于学习方法,从一个或多个图像去进行三维人脸重建方法。
新的方法使用了一种基于Siamese神经网络的简单而强大的体系结构,它帮助从每个视图中提取相关的特征,同时保持模型的小。与其最小化多个目标,提出用基于重投影误差的单项损失来同时学习3D形状和单个摄像机的姿态,这种损失从一个视图推广到多个视图。这样就可以在全局上优化整个场景,而不必调整任何超参数,并获得较低的重投影误差,这对于进一步生成纹理非常重要。最后在6000多张面部扫描的大规模数据集上训练新的模型,在3DFAW 2019挑战中有优异的竞争结果,证明了新方法的有效性。
背景
3D技术在当今许多不同的领域都有存在。我们可以用它来重建身体的四肢,创造个性化的假肢,在室内和室外环境中自主导航,或者用我们的面部解剖来解锁我们的手机。然而大多数应用程序重新查询特定的硬件来获取场景的3D信息,例如激光扫描器或结构化光传感器,它们很少出现在主流用户使用的大多数设备中。
能够理解我们所处的环境,只使用来自无处不在的摄像机的RGB数据,这是一个具有挑战性的问题,可能会带来全新的可能性。
先进技术
Single view
从单一图像中预测三维形状的方法通常需要比多视角图像更强的inductive biases。因此,将深度学习方法与三维模型(3DMM)相结合,将可能的解的子空间嵌入到较低维的模型中是很常见的。在有些文章中,对合成数据进行了模型训练,以回归3DMM的形状参数。
为了推广到实际数据,将迭代误差反馈(IEF)应用于图像域,速度较慢。为了加速这个过程,有作者在潜在空间中执行IEF。其他方法通过在图像域中定义损失来直接学习3D重建。这大大提高了泛化能力,避免了使用IEF的需要。然而,由于没有任何三维信息是有用的,这些方法需要强大的正则化在其损失,惩罚大范数的向量,其中包含3DMM参数。
另一种正则化技术是:它使用一个附加损失来保持3DMM参数分布的合理性。最后有作者提出了一种无监督的方法来学习通过循环一致性来回归3DMM参数,类似于CycleGAN,并且使用了一个不同的可折叠渲染器。
Multi-view
与单视图方法相比,多视图方法可以利用极几何引入更复杂的偏差到体系结构和损失中。
深度图像特征被投影到三维体积中,使用3D卷积处理,通过投影侦察结构的3D几何并与掩码或深度映射进行比较,在图像域中定义了多视图损失。有作者提出了一种更简单的方法来组合二维图像特征,通过连接它们。然后,定义了所有视图的光度一致性损失,这是基于多视图几何,并使用相同的可微渲染器。
新方法
Single view setup
在单视图设置(N=1)中,我们定义了三个要学习的映射为S、Q和T,它们分别代表了三个泛型函数,它们分别将输入图像映射为三维形状、四元数和三维点。为了学习它们,我们使用了一个简单的结构,由一个编码器组成,负责提取图像特征,以及三个多层感知器,它们作为sˆ、qˆ和tˆ的回归器,它们是网络的输出。上图显示了单个视图设置的框图。
Multi-view setup
我们的多视图体系结构由两个主要模块组成。第一种是前面描述的单视图结构,它作为一个Siamese神经网络来预测单个摄像机,为每个视图设置c和形状参数αˆ。
然后,将形状参数的N个输出输入到第二个块中,第二个块将其组合成一个全局3D形状,我们称之为合并块M。合并块是通用的,可以通过任何聚合信息的操作来实现。最后,使用MLP回归3DMM的形状参数,该参数将通过下面方程的映射线性地转换为三维形状。
采用单视图体系结构作为多视图体系结构的主要构建块有几个优点。首先,对单视图模型进行训练,并利用权值更好地初始化多视点的训练。单视图模型也可以用来预测目标的姿态,然后再输入到多视图体系结构中。最后,可以重用大部分代码,避免潜在的错误。
实验
如下表所示,SV模型和MV模型的精度都可以通过平均预测来提高。在多视图设置中,使用级联而不是加法提供了更好的效果。
最后,使用特定的网络来完成三维形状回归任务,这可能是因为编码器的过滤器可以专门处理那些与三维形状相关的特征。
END