PFLD:簡單、快速、超高精度人臉特徵點檢測演算法
我愛計算機視覺 標星,更快獲取CVML新技術
什麼樣的演算法才是好演算法?
真正能實用的演算法才是最好的演算法!
這需要實現三個目標: 精度高、速度快、模型小!
今天arXiv新發布的文章《PFLD: A Practical Facial Landmark Detector》,則是實用人臉特徵點檢測演算法的典範。
PFLD演算法,目前主流資料集上達到最高精度、ARM安卓機140fps,模型大小僅2.1M!
這篇今天新出的論文,必將成為人臉特徵點檢測領域的重要文獻,今天我們就一起來探究一下,PFLD演算法到底有什麼黑科技。
作者資訊:
作者分別來自天津大學、武漢大學、騰訊AI實驗室、美國天普大學。
感謝各位大牛!
人臉特徵點檢測的挑戰
作者首先從演算法實用性角度討論了人臉特徵點檢測問題的面臨的挑戰。
Challenge #1 - Local Variation
人臉表情變化很大,真實環境光照複雜,而且現實中大量存在人臉區域性被遮擋的情況等。
Challenge #2 - Global Variation
人臉是3D的,位姿變化多樣,另外因拍攝裝置和環境影響,成像質量也有好有壞。
Challenge #3 - Data Imbalance
現有訓練樣本各個類別存在不平衡的問題。
Challenge #4 - Model Efficiency
在計算受限的裝置比如手機終端,必須要考慮計算速度和模型檔案大小問題。
演算法思想
作者使用的網路結構如下:
其中,
黃色曲線包圍的是主網路,用於預測特徵點的位置;
綠色曲線包圍的部分為輔網路,在訓練時預測人臉姿態(有文獻表明給網路加這個輔助任務可以提高定位精度,具體參考原論文),這部分在測試時不需要。
作者主要用兩種方法,解決上述問題。
對於上述影響精度的挑戰,修改loss函式在訓練時關注那些稀有樣本,而提高計算速度和減小模型size則是使用輕量級模型。
Loss函式設計
Loss函式用於神經網路在每次訓練時預測的形狀和標註形狀的誤差。
考慮到樣本的不平衡,作者希望能對那些稀有樣本賦予更高的權重,這種加權的Loss函式被表達為:
M為樣本個數,N為特徵點個數,Yn為不同的權重,|| * ||為特徵點的距離度量(L1或L2距離)。(以Y代替公式裡的希臘字母)
進一步細化Yn:
其中
即為最終的樣本權重。
K=3,這一項代表著人臉姿態的三個維度,即yaw, pitch, roll 角度,可見角度越高,權重越大。
C為不同的人臉類別數,作者將人臉分成多個類別,比如側臉、正臉、抬頭、低頭、表情、遮擋等,w為與類別對應的給定權重,如果某類別樣本少則給定權重大。
主網路
作者使用輕量級的MobileNet,其引數如下:
輔網路
引數如下:
實驗結果
作者在主流人臉特徵點資料集300W,AFLW上測試了精度,儘管看起來上述模型很簡單,但超過了以往文獻的最高精度!
下圖是在300W上的CED,完美將其他演算法的曲線壓在下面。
下圖為在300W資料集上不同評價標準IPN\IOP精度比較結果,依然是最棒的。
其中PFLD 1X是標準網路,PFLD 0.25X是MobileNet blocks width 引數設為0.25的壓縮網路,PFLD 1X+是在WFLW資料集上預訓練的網路。
重磅!清華&商湯開源CVPR2018超高精度人臉對齊演算法LAB 。
下圖是該演算法在AFLW資料集上與其他演算法的精度比較:
同樣是達到了新高度!
下面來看一下演算法處理速度和模型大小,圖中C代表i7-6700K CPU,G代表080 Ti GPU,G*代表Titan X GPU,A代表移動平臺Qualcomm ARM 845處理器。
PFDL同樣是異乎優秀!與精度差別很小的LAB演算法相比,CPU上的速度提高了2000倍!
下面是一些特徵點檢測示例,儘管很多樣本難度很大,但PFLD依然給出了可以接受的結果。
作者沒有開原始碼,但給出了Android應用 APK 和Android工程(演算法封裝在bin檔案裡)。
這個演算法實在是太吸引人了,你是不是也想試一下呢?
作者給的網址:
https://sites.google.com/view/xjguo/fld
可惜國內不能下載,不過CV君把它搬到百度雲了,在“我愛計算機視覺”公眾號對話介面回覆“PFLD”即可收到下載地址。
(CV君下載了APK試用,好像沒看到效果,不知是不是手機相容性有問題)
提醒一下,作者宣告,該工程僅可用於研究比較,如需商業使用需要聯絡作者獲得授權。
論文地址:
https://arxiv.org/pdf/1902.10859.pdf
PFLD演算法看起來簡單,但精度卻很高,這無疑來自作者設計的Loss函式很好的處理了樣本類別不平衡的問題,你覺得還有更好的處理方法嗎?歡迎留言。
加入專業討論群
關注人臉檢測、識別、特徵點定位等技術,歡迎加入52CV-人臉相關專業討論群,掃碼新增CV君拉你入群:
( 請務必註明:人臉 )
喜歡在QQ交流的童鞋,可以加52CV官方 QQ群 :702781905。
(不會時時線上,如果沒能及時通過驗證還請見諒)
長按關注 我愛計算機視覺