CVPR論文《Face Alignment at 3000 FPS 》閱讀筆記

本文為極市平台原創編譯,作者為纓寧。首發地址 原創|CVPR論文《Face Alignment at 3000 FPS 》閱讀筆記。

《Face Alignment at 3000 FPS》 又是msra孫劍組一篇cvpr大作,之前實現了他之前的一篇《Face Alignment by Explicit Shape Regression 》(ESR), 當時速度應該是50fps左右,新演算法已經到了3000fps。前一篇的思路是雙層隨機蕨做回歸器 + shape indexed feature(計算複雜度相當低)。這一次用的思路是先學習每個landmark做feature mapping,然後再學習一個全局回歸。

訓練流程

特徵提取

  • shape-indexed feature

這是在12年那篇提出的特徵提取方式,使用的是像素對之間的差值來計算特徵,這種提取方式計算複雜度非常低,也助理整個演算法的提速。

整體流程是:

1. 為了保證特徵在臉部尺度變化和旋轉情況下的穩定性,首先要計算一個從當前形狀到平均形狀的的變換矩陣;

2. 對轉換後的圖像的每個像素,都使用離其最近的一個landmark來作為這個像素的index;

3. 隨機的在這些像素中選取P個,可以生成P2 個像素對;

4. 每個像素對之間intensity的差值即可以作為特徵值。

其中的精華是第二步,給每個像素使用離他最近的landmark來打index,這樣index相同的像素其實是擁有相似的語法意義的,如都是眼角附近的像素, 如圖a。這種方式比起使用全局的坐標來打index,更加的魯棒。

在ESR中,其實只需要在P2 個特徵中選取F個(很多特徵是不獨立的,幾近重複的),於是使用了correlation-based的方法來選取合適的特徵。首先使用回歸目標投影到一個隨機的方向上產生一個scalar,然後選擇F個和這個scalar相關度最大的Feature。

在3000fps中,為了加速,每個隨機森林的學習目標是某一個landmark,所以只會在當前的landmark附近隨機選取一對像素來作為shape-index feature,整個特徵空間就會小很多。

  • pixel difference feature

即將兩個像素點的值相減得到一個差值

隨機森林 Φt 訓練

訓練的目標函數如下

這裡使用的是隨機森林來對每個landmark進行特徵映射。建立隨機森林的一個關鍵點就是選擇split node的規則。

首先確定一個landmark,對此landmark來構建隨機森林。首先在此landmark附近的一個區域隨機的選取500對pixel difference feature,並且選取其中能讓方差降低程度最大的作為split threshold。 訓練後,每個葉子節點上存儲了落在此節點上所有樣本的2-d平均偏移量。

在測試階段,一個樣本在某個隨機森林上的數據就是起所有葉子節點上輸出的值,即

全局線性回歸器Wt訓練

回歸目標如下:

測試流程

歡迎關注微信公眾號極市平台(微信id:extrememart)獲取更多計算機視覺行業內的資訊及信息。

PS.目前極市擁有上千名視覺演算法開發者,分別來自騰訊,華為,百度,網易,聯想,努比亞等名企,以及北大,清華,北航,中科院,交大等名校,更邀請了李開復老師入駐微信群,歡迎從業者加入極市專業CV開發者微信群(分享乾貨資訊,行業內人交流),請填寫極市演算法開發者調研問卷申請入群~


推薦閱讀:

簡單自編碼器實現zero-shot learning (CVPR 2017)--論文筆記
線上分享預告|邊佳旺 穩定的圖像特徵匹配以及快速的GMS方案(CVPR2017論文)
首發——Large Margin Object Tracking with Circulant Feature Maps
從CVPR2017 看多樣目標檢測
Action Reconition CVPR 2017

TAG:计算机视觉 | CVPR | 学术论文 |