LFFD: A Light and Fast Face Detector for Edge Devices論文地址
總體思路
LFFD是由中科院提出的新型單目標檢測模型,適用於人臉、行人、車輛等單目標檢測,速度快模型小效果好,可以在RTX2070下使用TensorRT跑2k圖片90fps。
論文研究了感受野(RF)與有效感受野(ERF)的關聯與重要性,使用感受野替代Anchors,即Anchor-free的方法。在一個基礎模型結構上分別抽取8路特徵圖對從小到大的人臉進行檢測,檢測模塊分爲類別二分類與邊界迴歸。
基於Anchors的方法存在的問題
- anchor box不能完全覆蓋所有尺寸的人臉。
- anchor box匹配使用IOU進行評價,其閾值的設定靠經驗,很難進行研究。
- 設定anchor box的數量和尺寸全靠經驗,會導致樣本不平衡和冗餘計算。
感受野與有效感受野
- 感受野(RF):是輸入圖像上的一塊區域,目標如果在感受野內更容易被檢測。
- 有效感受野(ERF):以感受野中心位置呈高斯分佈的區域的像素對結構影響較大,越遠越小。
很小的人臉往往難以確認檢測,需要更多的上下文信息例如脖子和肩膀等來輔助檢測。如下圖所示:
感受野策略
- 人臉小目標需要充足的上下文信息。(ERF最好能儘可能覆蓋context information)
- 中等大小的人臉需要少量的上下文信息。(ERF只需要覆蓋一部分context information)
- 人臉大目標直接使用感受野。(ERF甚至不需要覆蓋其他額外的context information)
模型結構
模型主要由四部分組成:tiny part、small part、medium part、large part。
模型中並沒有採用BN層,因爲BN層會減慢17%的推理速度。
儘可能快的進行下采樣而保持100%的人臉覆蓋。
感受野=天然的Anchors
- 可以在一定感受野下預測不同尺寸的人臉。
- 只有當人臉的真實中心位置在感受野內才進行匹配。
- 模型定義後,所有感受野就是均勻的固定的分佈再輸入圖像上,無需再手動設計。
- 理論上感受野能覆蓋所有尺寸的人臉。
作者認爲RF就是天然的anchor,由於人臉目標一般是方的,所以不需要考慮各種比例的box。在box匹配的時候,作者認爲rf中心落在ground truth內的box爲正樣本,同時落在多個ground truth中的box忽略掉、其他沒有落在任何ground truth中的box爲負樣本。
100 pixels的RF的有效感受野爲20-40pixels,所以作者就分了四個part,tiny part的c8 RF SIZE爲55,去檢測10-15pixels的人臉,c10檢測15-20,以此類推。
損失函數
論文中Loss是由regression loss和classification loss的加權和。
分類損失:
交叉熵損失。
迴歸損失:
gray scale:
box匹配的時候定義了gray scale,認爲處於gray scale的box所在的branch是不反傳這些對應的loss的。
對c13出的box而言,其檢測的人臉像素爲20-40pixels,認爲[18,20]以及[40,44]像素的人臉不被c13預測,這是因爲這些人臉屬於hard目標,網絡往往只能看到局部特徵,很難判別,所以c13這個brach不預測他,讓別的branch預測,對訓練有好處。
訓練細節
- 數據增強:顏色抖動(color distort)、隨機水平翻轉(Randomly horizontal flip)、對各尺寸人臉隨機採樣(Random sampling for each scale)。
- 對於一個感受野多於兩個人臉的區域被捨棄。
- 損失函數。
- 難分負樣本挖掘:對負樣本損失值排序後選擇最高的幾個,保證正負樣本比例爲1: 10。
- 訓練參數:Xavier初始化;輸入圖片標準化= (img-127.5)/127.5;weight decay爲0(參數少);初始學習率0.1,之後以0.1倍數減小;1080ti訓練了5天。