什么樣的算法才是好算法?
真正能實用的算法才是最好的算法!
這需要實現(xiàn)三個目標:精度高、速度快、模型小!
近期,arXiv新發(fā)布的文章《PFLD: A Practical Facial Landmark Detector》,則是實用人臉特征點檢測算法的典范。
PFLD算法,目前主流數(shù)據(jù)集上達到最高精度、ARM安卓機140fps,模型大小僅2.1M!
這篇新出的論文,必將成為人臉特征點檢測領(lǐng)域的重要文獻,今天我們就一起來探究一下,PFLD算法到底有什么黑科技。
作者信息:
作者分別來自天津大學、武漢大學、騰訊AI實驗室、美國天普大學。
感謝各位大牛!
人臉特征點檢測的挑戰(zhàn)
作者首先從算法實用性角度討論了人臉特征點檢測問題的面臨的挑戰(zhàn)。
人臉表情變化很大,真實環(huán)境光照復雜,而且現(xiàn)實中大量存在人臉局部被遮擋的情況等。
人臉是 3D 的,位姿變化多樣,另外因拍攝設(shè)備和環(huán)境影響,成像質(zhì)量也有好有壞。
現(xiàn)有訓練樣本各個類別存在不平衡的問題。
在計算受限的設(shè)備比如手機終端,必須要考慮計算速度和模型文件大小問題。
算法思想
作者使用的網(wǎng)絡(luò)結(jié)構(gòu)如下:
其中,
黃色曲線包圍的是主網(wǎng)絡(luò),用于預(yù)測特征點的位置;
綠色曲線包圍的部分為輔網(wǎng)絡(luò),在訓練時預(yù)測人臉姿態(tài)(有文獻表明給網(wǎng)絡(luò)加這個輔助任務(wù)可以提高定位精度,具體參考原論文),這部分在測試時不需要。
作者主要用兩種方法,解決上述問題。
對于上述影響精度的挑戰(zhàn),修改loss函數(shù)在訓練時關(guān)注那些稀有樣本,而提高計算速度和減小模型size則是使用輕量級模型。
Loss函數(shù)用于神經(jīng)網(wǎng)絡(luò)在每次訓練時預(yù)測的形狀和標注形狀的誤差。
考慮到樣本的不平衡,作者希望能對那些稀有樣本賦予更高的權(quán)重,這種加權(quán)的Loss函數(shù)被表達為:
M為樣本個數(shù),N為特征點個數(shù),Yn為不同的權(quán)重,|| * ||為特征點的距離度量(L1或L2距離)。(以Y代替公式里的希臘字母)
進一步細化Yn:
其中
即為最終的樣本權(quán)重。
K=3,這一項代表著人臉姿態(tài)的三個維度,即yaw, pitch, roll 角度,可見角度越高,權(quán)重越大。
C為不同的人臉類別數(shù),作者將人臉分成多個類別,比如側(cè)臉、正臉、抬頭、低頭、表情、遮擋等,w為與類別對應(yīng)的給定權(quán)重,如果某類別樣本少則給定權(quán)重大。
作者使用輕量級的MobileNet,其參數(shù)如下:
參數(shù)如下:
實驗結(jié)果
作者在主流人臉特征點數(shù)據(jù)集300W,AFLW上測試了精度,盡管看起來上述模型很簡單,但超過了以往文獻的最高精度!
下圖是在300W上的CED,完美將其他算法的曲線壓在下面。
下圖為在300W數(shù)據(jù)集上不同評價標準IPN\IOP精度比較結(jié)果,依然是最棒的。
其中PFLD 1X是標準網(wǎng)絡(luò),PFLD 0.25X是MobileNet blocks width 參數(shù)設(shè)為0.25的壓縮網(wǎng)絡(luò),PFLD 1X+是在WFLW數(shù)據(jù)集上預(yù)訓練的網(wǎng)絡(luò)。
值得一提的是表格中LAB算法,是CVPR2018上出現(xiàn)的優(yōu)秀算法,之前一直是state-of-the-art。感興趣的朋友可以參考52CV當時的報道:重磅!清華&商湯開源CVPR2018超高精度人臉對齊算法LAB 。
下圖是該算法在AFLW數(shù)據(jù)集上與其他算法的精度比較:
同樣是達到了新高度!
下面來看一下算法處理速度和模型大小,圖中C代表i7-6700K CPU,G代表080 Ti GPU,G*代表Titan X GPU,A代表移動平臺Qualcomm ARM 845處理器。
PFDL同樣是異乎優(yōu)秀!與精度差別很小的LAB算法相比,CPU上的速度提高了2000倍!
下面是一些特征點檢測示例,盡管很多樣本難度很大,但PFLD依然給出了可以接受的結(jié)果。
作者沒有開源代碼,但給出了Android應(yīng)用 APK 和Android工程(算法封裝在bin文件里)。
這個算法實在是太吸引人了,你是不是也想試一下呢?
原文標題:PFLD:簡單、快速、超高精度人臉特征點檢測算法
文章出處:【微信號:rgznai100,微信公眾號:AI科技大本營】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。