人臉識別之人臉對齊(八) LBF演算法

2021-08-21 19:33:49 字數 1239 閱讀 1198

整體來看,其實 ,esr是基礎版本的形狀回歸,ert將回歸樹修改為gbdt,由原始的直接回歸形狀,改進為回歸形狀殘差,而lbf,是加速特徵提取,由原來的畫素差分特徵池,改為隨機選擇點。

**:基於lbf方法的人臉對齊,出自face alignment at3000 fps via regressing local binary features,由於該方法提取的是區域性二值特徵(lbf),所以特徵提取這個過程速度非常快,導致整個的演算法都速快相當快,**作者的lbf fast達到了3000fps的速度,網上熱心網友分享的程式也達到了近300fps的速度,絕對是人臉對齊方面速度最快的一種演算法。因此,好多網友也將該方法稱為,3000fps。

該方法主要體現在2個方面,

(1)lbf特徵的提取

作者通過在特徵點附近隨機選擇點做殘差來學習lbf特徵,每乙個特徵點都會學到由好多隨機樹組成的隨機森林,因此,乙個特徵點就得用乙個隨機森林生成的0,1特徵向量來表示,將所有的特徵點的隨機森林都連線到一起,生成乙個全域性特徵,後續過程就可以使用該全域性特徵做全域性線性回歸了。

(2)基於cascade的級聯的隨機森林做全域性線性回歸

如上公式所示,i為輸入影象,st-1為第t-1stage的形狀,fait為t stage的特徵匹配函式,wt為線性回歸矩陣。

訓練過程,就是學習fait和wt的乙個過程,測試過程就是用訓練好的fait和wt對提取的lbf特徵做回歸的過程。

對於每個stage,越往下,所選擇的隨機點的範圍就越小,特徵點定位精度就越好。

實際執行效果,速度絕對是人臉對齊中速度最快的乙個演算法了,精度的話,比起sdm來,還是遜色一點,儘管作者**中分析的資料來看比sdm好,但是不得不承認,還是比sdm的精度差點。

github上熱心網友的程式,

matab版本:

c++版本:

人臉對齊LBF 三

相似變換的目的是求解 兩個形狀之間的尺度和角度關係 和普氏分析的作用相同,不同點是不需要迭代求解,普氏分析理論上更準確,實際上在這裡沒什麼特殊效果。演算法步驟和思想 1 中心化兩個形狀 2 以質心為原點,計算其到沒乙個形狀點之間的距離,並求和 3 兩個形狀的尺度係數為2 中計算得到值的比值 4 以質...

人臉對齊LBF 四

隨機森林的訓練過程 1 隨機的選擇一部分樣本,按照一定的比例選擇樣本 2 訓練一棵樹的時候,隨機的選擇一部分特徵,訓練乙個節點,之後把樣本分為左右兩顆子樹 3 繼續在左子樹訓練樣本,隨機的選擇特徵 4 繼續在右子樹訓練樣本,隨機的選擇特徵 5 訓練出來乙個節點,繼續迴圈2 5步驟得到一棵樹 迴圈1 ...

人臉識別之人臉檢測

人臉識別分為人臉檢測 人臉預處理 蒐集和學習人臉以及人臉識別四個部分,此部分將人臉檢測。本文基於opencv進行的。在opencv中常用的人臉檢測器有基於lbp的特徵檢測 基於haar的特徵檢測,兩者的區別 前者比後者快好幾倍且不需要許可協議,但很多haar檢測器需要許可協議。基於haar的臉部檢測...