1、引言
一般情况下有三种策略来解决旋转变换:
数据增强(data augmentation):对于训练旋转不变性的人脸检测,数据增强是最直接的方式,即对训练数据旋转一定的角度。这种方法的优点是竖直的人脸检测方法可以直接使用,不需要其他的额外操作。然而,具有大范围旋转角度的人脸检测需要使用更大的神经网络,导致时间消耗很大,不实用。
分而治之(divide-and-conquer):训练多个检测器,每个检测器检测小范围的旋转角度。例如,四个检测器,包括上下左右四个方向。然而,多个检测器的时间加起来也很多。
旋转路由器(rotation-router):旋转人脸巨大的变化来自于很大的平面旋转角度。一个很自然的想法就是估计人脸旋转的角度,然后将他们旋转成竖直的情况。路由器网络受限估计人脸的旋转角度,然后将人脸旋转成竖直的。很明显,不准确的角度估计导致错误的人脸检测。然而,准确的人脸旋转角度估计是具有挑战的
为了解决以上难题本文提出了一个实时准确的旋转不变性人脸检测方法,改进的校正网络。如下图所示。
该网络分成三个部分:
- PCN-1:将人脸校正为上下方向,即校正为[-90°,90°]范围内;
- PCN-2:将人脸进一步校正为[-45°,45°]范围内;
- PCN-3:准确的检测人脸,并预测其旋转角度。
本文的创新点在于:
- PCN网络将人脸的校正过程分成几个子过程,每个子过程都是一个简单的学习。
- PCN的前两个阶段是粗糙的校正,例如人脸朝上到朝下的学习,和人脸朝左到朝右的学习。
PCN
PCN-1
对于每个输入窗口,PCN-1有三个目标:有脸和没脸的分类,边界框的回归,和校正:
是人脸的置信分数,是表达边界框的向量,是方向分数。
第一个目标函数检测是否有脸,是最基本的目标:
其中如果是脸, 否则。
第二个目标函数回归人脸边界框:
其中和分别是预测的和实际的边界框,是损失,边界框回归目标包括三个目标项:
其中分别表示框的左上方坐标和框的宽度。
第三个目标函数预测人脸的校正方向:
综上,PCN-1的目标函数为:
第一阶段预测的角度为:
PCN-2
PCN-2在第二阶段预测旋转角度:
[-90°,-45°], [-45°,45°], [45°,90°]分别标记为0,1,2
PCN-3
第二阶段之后,所有的人脸校正为[-45°,45°]范围内。因此,第三阶段会更容易更准确的校正人脸。
经过三个阶段之后,人脸的旋转角度为三个阶段旋转的角度之和:
如下图所示,
PCN结构如下图所示
参考文献
[1] Real-Time Rotation-Invariant Face Detection with Progressive Calibration Networks
[2] github