[論文筆記] Real-Time Rotation-Invariant Face Detection with Progressive Calibration Networks
論文出處 : 在線實時的旋轉不變性脸部檢測利用自適應校calibraion網路
Introduction

过去的研究多假设人们脸的方向都是朝上的前提下进行的人脸检测任务。然而在实际情况中,
人们脸的方向未必都是朝上。
目前大多数检测方法难以很好地处理旋转不变性的情况。
文中引入了一种新的架构:Progressive Calibration Networks。
首先了解文中定義的名詞 Rotation-In-Plane(RIP) angles :

RIP angle即指Y轴中至额头上的旋转角度。其中,向左方向定义为负值,向右方向为正值。如图所示,则该图中的RIP angle值为-120^\circ
文中提及以下三種傳統face rotation問題的解決方法以及優缺點比較 :

Data augmentation is a widely used technique in machine learning.
It enables the model to learn about faces after rotation.
Although it may seem straightforward, as data distribution becomes more diverse, a larger neural network architecture and increased computational time is required.

采用分治法策略:分别训练出对应不同RIP角度变化范围的五个不同的模型(如[-45°,45°]、[-135°,-45°]、[-180°,-135°]、[45°,135°]、[135°,180°]),总共五个范围,则需要五个不同的模型来对应,并分别预测在各RIP角度情况下是人脸的位置分布与概率;但由于精度与范围种类之间的权衡关系(即无法同时满足高的精度和广大的范围),导致计算时间会相对增加较多。

Rotation Router :
**Rotation Router directly calculates the RIP angle of each potential face target, aligning it and then performing prediction. However, the problem of face RIP angle estimation represents a significant challenge, leading to poor performance in face detection.
Framework

整体架构基于 two-stage model(双阶段模型) 进行设计。通过 region-proposal算法筛选出可能属于目标的候选区域,并将其作为PCN(person candidate network)的输入。该系统主要分为三个连续的阶段,在每个阶段中逐步减小RIP angle(关键点检测时的角度阈值),并不断淘汰那些不符合条件或不可能属于脸部的候选区域。每个阶段均输出三部分内容:一是脸部的可能性评估;二是脸部位置及其边界尺寸;三是对RIP angle的角度估计结果。
在采用适当输入机制中,输入资料参照 groundtruth 的 IoU 分为三个种类:
其中,**Positive Samples(IoU > 0.7)、Suspected Samples(IoU介于0.4至0.7)以及Negative Samples(IoU < 0.4)分别分为三类。
其中,Positive Samples 和 Negative Samples 分别用于判断是否为真实输入、而 **Positive Samples 和 SuspectedSamples 则分别用于脸部位置与边界大小的估计以及 RIP 角度估计的训练输入。
每一個 阶段中的系統輸入為影像在各个尺度的結果,
formula如下:
PCN_{i}(I) = [f, t , g]
- i 為 state number , {i \in} {~1,2,3~}
- f 為 face confidence score ,代表輸入影像為臉的可能程度。
- t 為 prediction of bonding box regression ,為一向量,內容為預測 bonding box 的位置以及邊框大小。
- g 為 orientation score ,即 PIR angle estimation 越小則 g 越大。
Objective 可分為三類 : L_{cls}~,~ L_{reg}~,~ L_{cal}
L_{cls} = ylog(f) + (1-y)log(1-f)
- y 為 label,是臉為 1,不是臉為 0。
{L_{ref} = S(t,t^*)}
- t,t^* 分别为 bonding box regression prediction 和 ground truth 的结果,并且它们的向量内部包含 (a, b),即 top-left 坐标。
- 其中 w 代表探测目标的边框宽度。
- 其 S(.) 函数参考自 Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks,此处不再赘述。
L_{cal} = ylog(g) + (1-y)log(1-g)
- g 代表 PIR angle estimation 的反指標,在基於假設 head向上為正的情況下,该 Object 將尽可能地增大 g。
training procedure involves assigning primary importance to the classification loss (L_{cls}) while weighting regression and calibration losses (L_{reg and ) accordingly. To minimize the weighted sum of classification, regression, and calibration losses: L = $$$$ $ L_{cls} + λ_{ reg } L$_{ reg } + λ_{ cal } L$_{ cal } $$.
Progressive Calibration Networks

每個 stage 網络中會計算其影像中的 RIP 角度並進行調整;然而,在直截了當地計算的角度值往往無法达到预期效果;但采用 coarse-to-fine 分類的方式逐步調整角度則能顯著提升實驗結果的表现
在 stage 1 阶段中, 只需先判断图像中额头处于上方还是下方位置, 因此分为两类: 当 g 值大于 0.5 时, 判断为额头位于上方而不进行照片翻转处理, 并记录 θ₁值为 0 度; 反之则判断为额头位于下方并进行照片 180 度翻转处理的同时记录 θ₁值设为 18 度; 经过 stage 1 处理后成功地将 rip angle 的取值范围从 [-18°, +18°] 缩减至 [-9°, +9°].
在 stage 2 阶段中进一步将 RIP angle 的可能区间(即 Calibration Class)划分为三个类别:即 [-90°,-45°]、[-45°,45°] 和 [45°,90°]。其判断依据为:找到 argmin(g_i) 对应的参数 i,并将其对应到的角度分为 -90°、0° 和 90° 三种类型(即 θ₂ 可能的结果)。
在 within the third stage, the RIP angle's range is strictly confined to [-45,45]. At this point, it clearly estimates the rotation angle and performs bonding box regression.

在该过程中,在获得\theta_{1}、\theta_{2}、\theta_{3}之后可以通过这些参数计算得出\theta_{RIP}。
Evaluation Results
PCN的优点主要体现在三个方面:首先在于其对于多样性的鲁棒性很好;其次在于计算时间较为简便——即将原本360个类别的问题简化为少数几个类别,在stage1和stage2中分别达到了95%和96%的准确率;而stage3中的均值误差仅为8度(°),相较于参考文献Rotational Invariant Neural Network-Based Face Detection所报告的90%准确率而言具有显著提升,并且其运算速度较Faster R-CNN (VGG16)、SSD500(VGG16)、R-FCN (ResNet-50)更高且准确率也更为优异


