Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks

1. 前言

最近不做人脸识别了,改做alignment。
这篇论文是cvpr2018的一片关于landmark的论文。
caffe下的实现:https://github.com/JunrQ/caffe-layer

2. 介绍

论文中提出了Wing loss,用于人脸关键点检测。作者发现,在现有的使用深度学习来进行landmark的方法中,大多数使用的是基于L2的loss。但是L2对于异常非常敏感,为了克服这种问题,作者提出了Wing loss。如下图:

Fig 1

作者在论文中:

  • 分析了L1, L2, smooth L1
  • 提出了Wing loss,来提高深度神经网络对于small and medium range errors的训练效果。
  • 提出了数据增强方式来弥补大角度数据不足
  • 两阶段的landmark localisation

3. 基于CNN的人脸关键点检测

如下图:


Figure 2

通过一个CNN网络之间输出关键点的坐标值,通常定义loss如下:


2

4. Wing loss

4.1 Analysis of different loss functions

给定图片,和网络,我们可以预测landmarks的坐标向量:,loss可以定义如下:

3

其中
, smooth L1 loss如下:
4

这些loss如下图:
Figure 3

L2对于异常值非常敏感,可能是因为对于异常值,会导致它的梯度很大?

作者对比了一些实验结果:


Table 1

可以看到,6层的CNN表现就蛮好??

4.2 The proposed Wing loss

公式(3)中,可以看到,当error大的时候,反传的梯度必然更大。这使得loss无法更好的处理小的error的点,毕竟一张脸有很多关键点。为此,作者提出:

5

其中

当error较大的时候,使用L1进行惩罚,当error小的时候,使得惩罚力度不要太小。

5. Pose-based data balancing

作者将大角度人脸关键点检测不准确的问题归结为数据不平衡导致的。通常的人脸数据,正脸较多,导致正脸都训练过拟合了,侧脸还没训练好。
作者通过随机旋转,bounding box perturbation和其他数据增强方式,增加角度大人脸的数据。

6. Two-stage landmark localisation

关键点检测可能会被一些其他因素影响,例如:in-plane旋转,不准确的框。为此,作者提出了两阶段的训练。首先使用CNN训练一遍,然后使用训练的结果来修改输入图片。去掉in-plane旋转和不准确的框。

数据增强阶段,对于CNN-6,作者随机旋转[-30, 30],CNN-7,随机旋转[-10,10],除此之外,以0.5的概率,随机翻转图片。

你可能感兴趣的:(Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks)