參考:
應用場景:人臉特效,疲勞檢測,美妝,
非官方code:
圖1 模型結構圖
圖2 人臉關鍵點
圖3 輔助分支
pfld的模型訓練策略
一開始我們設計的那個簡單的網路,採用的損失函式為mse,所以為了平衡各種情況的訓練資料,我們只能通過增加極端情況下的訓練資料、平衡各類情況下的訓練資料的比例、控制資料資料的取樣形式(非完全隨機取樣)等方式進行效能調優。(re-sample)
損失函式(re-weight)
上式中 wn為可調控的權值函式(針對不同的情況選取不同的權值,如正常情況、遮擋情況、暗光情況等等)。c為6,表示有6個類別。theta為人臉姿態的三維尤拉角(k=3),d為回歸的landmark和groundtrue的度量(一般情況下為mse,也可以選l1度量)。m表示批量大小。n表示關鍵點個數為98。該損失函式設計的目的是,對於樣本量比較大的資料(如正臉,即尤拉角都相對較小的情況),給予乙個小的權值,在進行梯度的反向傳播的時候,對模型訓練的貢獻小一些;對於樣本量比較少的資料(側臉、低頭、抬頭、表情極端),給予乙個較大的權值,從而使在進行梯度的反向傳播的時候,對模型訓練的貢獻大一些。該模型的損失函式的設計,非常巧妙的解決了平衡各類情況訓練樣本不均衡的問題。
輔助網路
pfld的訓練過程中引入了乙個子網路,用以監督pfld網路模型的訓練。該子網路僅在訓練的階段起作用,在inference的時候不參與;該子網路的用處,是對於每乙個輸入的人臉樣本,對該樣本進行三維尤拉角的估計,其groundtruth由訓練資料中的關鍵點資訊進行估計,雖然估計的不夠精確,但是作為區分資料分布的依據已經足夠了,畢竟還該網路的目的是監督和輔助訓練收斂,主要是為了服務關鍵點檢測網路。
總結,**從通用ai設計的資料平衡+相關指標輔助兩個主要方面進行人臉關鍵點檢測器的設計
caffe 人臉關鍵點檢測 密集人臉關鍵點檢測
mtcnn聯合人臉檢測和對齊任務提供了5點關鍵點的能力,但是對於姿態姿態恢復等應用是遠遠不夠的,經常會出現某個點錯誤導致大幅抖動,顯然需要更密集的關鍵點.常見的資料集都是68點和106點。人臉關鍵點檢測主要面臨下面幾個挑戰 區域性變化 現實場景中人臉的表情,廣告,以及遮擋情況都有較大的變化,如fig...
人臉關鍵點檢測綜述
目錄 1.前言 2 人臉檢測資料集 3.人臉檢測方法 4.鏈結以及部分部落格解讀鏈結 根據知乎專欄 整理出來的 綜述。馬住慢慢看總結。序號 時間主要方法 優點缺點1 an introduction to active shape models 1995 asm模型簡單直接,架構清晰明確,易於理解和應...
DAN 人臉關鍵點
原始碼 theano實現 首先,可以明顯看出是乙個迭代處理的框架。關鍵點檢測流程如下 1 初始 輸入灰度圖 i 以及 標準關鍵點模板 s 0 得到新的關鍵點位置 s 1 其中 feed forward nn 結構如下,輸出136用於 68個關鍵點 新的關鍵點位置會送入 connection laye...