Cascaded pose regression


最近再看face alignment的相關文章,目前比較流行的算法都是基於(Cascaded pose regression,CPR)[1]的框架上做的,該算法之所以流行的原因是簡單高效。CPR分為訓練和檢測兩個部分,首先介紹檢測流程:

face alignment的目的是估計向量face shape,該向量由組成,其中K表示landmark的個數,由於每個landmark有橫縱兩個坐標,將所有的坐標連接起來構成長度為2K的向量即face shape。CPR檢測流程如上所示,一共有T個stage,在每個stage中首先進行特征提取ft,這里使用的是shape-indexed features,也可以使用諸如HOG、SIFT等人工設計的特征,或者其他learning based features,可以通過查閱最新的cvpr文章進行了解,然后通過訓練得倒的regressor R估計得到upadate vector 即增量ΔS,把ΔS加到前一個stage的shape上得到新的shape,這樣通過不斷的迭代即可以得到最終的shape。我感覺直白一些就是說通過不斷的遞歸,使初始的shape朝着ground truth shape不斷的靠近。

接下來是訓練流程

首先是輸入,N表示樣本的個數,I表示圖像,Si表示ground truth shape,剩下的那個參數表示initial shape,這個shape如何選取呢?從training data中隨機的選取20個其他人臉的ground truth shape作為樣本的initial shape 則訓練樣本的數量=原有的樣本個數×20,即data augmentation 目的是為了enlarge training data和improve gengeralization ability。

接下來開始訓練,每個stage中對於每個樣本先通過ground truth shape與當前的shape相減計算得出ΔS,在第一個stage時,當前的shape為initial shape,然后進行特征提取得倒ft,之后通過loss function選擇誤差最小的regressor,如何建立regressor和ΔS,就需要看paper了,比如SDM,LBF,ERT等等,我會在之后的博客中分享。

最后利用特征ft 和regressor得倒ΔS加到上一個stage的shape上得到當前stage的shape,然后用於下一個stage的求解。

通過T個stage的訓練將所有的regressor保存起來用於檢測。

由上可以看出CPR中主要的操作是向量相加,不僅有效而且計算復雜度較低,所以近年來在face alignment中廣泛應用。

參考文獻

[1]Dollár, P., Welinder, P., Perona, P.: ‘Cascaded pose regression’. Proc.
IEEE Conf. Computer Vision and Pattern Recognition, 2010


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM