Learning Oracle Attention for High-fidelity Face Completion

1. Motivation

  • 人脸拥有丰富且微妙的纹理特征,不同的人的这些特征各不相同;
  • 传统方法不能处理具有复杂结构和大规模缺失的图像,只能利用底层特征;
  • 一些基于深度学习的方法忽视了不精确的 Attention分数所带来的影响。

2. Approach

2.1 Network Structure

Learning Oracle Attention for High-fidelity Face Completion

整个网络可以分别为两部分生成器和判别器,生成器部分采用U-Net的结构,判别器采用了PatchGAN。

  • Dual spatial attention with supervision:

Learning Oracle Attention for High-fidelity Face Completion

上图展示的是这篇文章中的 attention机制(Dual Spatial Attention with Supervision), 在Foreground Background Cross-Attention Module中,通过一系列步骤我们可以得到注意力机制的分数

Learning Oracle Attention for High-fidelity Face Completion

通过与特征图相乘再相加得到Y

Learning Oracle Attention for High-fidelity Face Completion

同理,在Foreground Self-Attention Module中

Learning Oracle Attention for High-fidelity Face Completion

Learning Oracle Attention for High-fidelity Face Completion

  • Multi-discriminator:

Learning Oracle Attention for High-fidelity Face Completion

可以看出,除了局部和全局判别器,还有鼻子,嘴巴等判别器。

2.2 Loss function

  • 重构损失:

Learning Oracle Attention for High-fidelity Face Completion

对局部区域和眼睛,鼻子和嘴巴区域加大惩罚力度。

  • 特征损失:

Learning Oracle Attention for High-fidelity Face Completion

基于VGG-16的特征损失。

  • 各个判别器的损失:

Learning Oracle Attention for High-fidelity Face Completion

WGAN的损失加上一个梯度惩罚项。

  • 生成器损失:

Learning Oracle Attention for High-fidelity Face Completion

  • KL散度损失:

Learning Oracle Attention for High-fidelity Face Completion

这里对应的就是Attention map的监督机制。

  • 最终损失:

Learning Oracle Attention for High-fidelity Face Completion

3. Disscussion

我认为这篇文章的主要创新点是设计了一个带有监督的attention机制,一个小的创新点是使用了多个判别器,不过使用多个判别器我也在其他文章中看见过。文章的源代码还没有放出。

4. References

【1】Zhou, Tong, et al. "Learning Oracle Attention for High-fidelity Face Completion." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020.