論文地址:RetinaFace: Single-stage Dense Face Localisation in the Wild
一、概況
本篇論文提出的RetinaFace屬於single-stage的人臉檢測器,它結合了額外監督和自監督多任務學習的優點。它主要有以下五點貢獻:
1. 在WIDER FACE數據集上標註了5個人臉的landmarks,並且在這個額外監督信號的幫助下,提升了hard face的檢測效果。
2. 添加了自監督的mesh decoder分支,與已有的監督分支並行預測像素級的3D形狀人臉信息。
3. 在WIDER FACE hard測試集上,平均精度超過當前最先進的算法1.1%,達到91.4%。
4. 在IJB-C測試集上,RetinaFace能夠改善現有方法(ArcFace)的人臉驗證結果。
5. 採用輕量級的backbone,RetinaFace可以在單個CPU上實時運行VGA分辨率的圖像。
二、多任務損失函數
其中, 是訓練的第 個anchor
是人臉分類損失
表示第 個anchor是人臉的置信度
是人臉爲1,非人臉爲0
是人臉定位框迴歸損失,是使用中心歸一化後的損失(smooth-L1)
表示預測的人臉定位框的座標
表示groundtruth的人臉定位框的座標
是人臉landmark迴歸損失
表示預測的5點人臉landmark
表示groundtruth的5點人臉landmark
是dense迴歸損失
控制損失平衡的三個參數分別設置爲0.25,0.1和0.01。
三、Dense Regression分支
論文直接利用了Mesh Decoder,是一種基於快速局部譜濾波的圖卷積。
二維卷積對歐式網格感受野計算加權和,而圖卷積是計算連接兩個頂點的最小邊數。
定義彩色的face mesh
其中,是一系列包含人臉形狀和紋理信息的頂點集合
是編碼點間連接狀態稀疏矩陣
定義圖拉普拉斯算子
其中,是對角矩陣
核爲的圖卷積可以表示爲K階截斷的遞歸切比雪夫多項式。
其中,是切比雪夫係數向量
是在縮放的拉普拉斯算子下的k階切比雪夫多項式
設,
那麼就可以遞歸的計算
其中,,
在預測出形狀和紋理參數之後,使用一個有效的3D差分mesh renderer將一個coloured-mesh 映射到二維圖像平面,此過程要使用相機參數和補光參數。
一旦得到了渲染的2D人臉,就可以像素級的比較渲染的人臉和原來的2D人臉之間的差異。
其中,W,H是裁剪塊的寬和高。
四、實驗
4.1 數據集
WIDER FACE數據集包含32203張圖片,共393703個人臉標註框,在尺度、姿態、表情、遮擋和照明上變化很大。
WIDER FACE的劃分是訓練集40%,驗證集10%,測試集50%,並且劃分爲Easy,Medium和Hard三個等級。
論文作者根據標註人臉landmarks的難易程度將數據劃分爲5個等級。
4.2 實現細節
特徵金字塔獲取5層多尺度特徵,其中來自ResNet的殘差結構,是在的基礎上接一個3x3,stride=2的卷積。是ResNet-152在ImageNet-11k數據集上預訓練的分類網絡,是用“Xavier”方法隨機初始化的。
受SSH和PyramidBox的啓發,論文在每層金字塔的後面也加入了Context Module,用以增大感受野和加強建模能力。採用的是可變卷積網絡(DCN)對每個尺度的輸出添加後處理模塊。
損失權重部分,負樣本只用分類損失,正樣本則計算多任務損失,添加1x1的卷積進行訓練,mesh decoder直接使用預訓練模型。
Anchor的設置見下表。
訓練時,與標註框的IOU大於0.5的匹配爲TP,小於0.3的匹配爲FP,中間未匹配部分在訓練時忽略。爲解決樣本不均衡問題,對負樣本按照損失值排序,按照與正樣本3:1的比例挑選靠前的部分。
數據增廣採用的策略是從原圖中隨機摳取正方形區域,並resize到640x640,正方形摳選區域的邊長爲原圖最小邊的0.3~1,如果某人臉標註框的中心在摳選區域內,則保留該標註爲當前摳選區域中的有效人臉,同時對圖像按照0.5的概率進行隨機水平翻轉及顏色空間變換。
訓練參數:
4張NVIDIA Tesla P40(24GB)顯卡
SGD optimiser
momentum 0.9
weight decay 0.005
batch size 8 x 4
learning rate, 初始1e-3,5 epochs後1e-2,55 epochs後1e-3,68 epochs後1e-4,共迭代80個epochs。
4.3 實驗結果
顯示多任務學習有助於提高性能。
另外,作者還設計了light-weight模型。