天天看點

Caffe與Lasagne使用——人臉關鍵點檢測Caffe與Lasagne 使用——人臉關鍵點檢測

Caffe與Lasagne 使用——人臉關鍵點檢測

一. Caffe求解回歸問題

在使用Lasagne之前,我嘗試用Caffe做回歸問題。畢竟Lasagne是基于Theano的,是以訓練速度上Caffe占優。

1. 嘗試方法

清理掉标簽資料中的NaN值後,嘗試過下述方法:

(1) 輸出資料根據最大值和最小值歸一化到[0,1]區間内;

(2) 輸出資料屬于不同分布,歸一化至标準正态分布,均值升為0.5;

(3) 修改網絡結構,微調model zoos中的網絡。

2. 實驗結果

(1) 訓練發散,方法1可以解決;

(2) 方法1解決後的直接後果是Caffe訓練後收斂并且有一些損失;

(3) 方法2和3會使得網絡不會發散,僅僅在一開始快速收斂,後面會在一定範圍内震蕩。

3. 聯系作者

聯系Balakrishnan Prabhu先生 [1]後,他建議我:

(1) 先清理資料中的NaN,否則收斂時會産生很多問題; (2) 對層檔案使用xavier權重:

    weight_filler{

      type: "xavier"

    }

    bias_filler {

      type: "constant"

      value: 0.1

    }

(3) 學習率太快或太慢?調整它。

二. 相關工作

觀察[1]中給出的效果,Caffe回歸時最後還是收斂到均值。是以Balakrishnan Prabhu先生選擇了快速收斂的那一時刻的模型。

達聞西在知乎中[3]給的執行個體是單變量回歸,但輸出變量為有序程度,可以解釋為這張圖檔是有序圖檔的可能性是多少,雖損失層修改為歐幾裡德損失,和分類問題的差別在于把分類的one-hot格式變成了檢測為有序圖檔的機率。

陳日偉[4]也給出了人臉關鍵點檢測的操作。卷積層變為LOCAL層,但圖像分辨率從96*96大幅下滑為39*39,定位精度會受到影響。效果見其部落格和代碼。

Daniel Nouri[2]給出的結果最好,網絡訓練采用Lasagne,同時公布了 源碼。由于 Journey-Dream[5]已經詳細翻譯了原文,是以細節方面有問題可以再讨論。

三. Step by Step

Daniel Nouri的網絡模型類似Yann LeCun的經典CNN模型,大緻提供了兩個CNN模型:第1個為整體網絡模型,第2個為局部網絡模型。

1. 整體網絡模型

網絡輸出為圖像中每個人臉關鍵點的所有坐标。整體網絡模型的輸入依次發生變化。這裡定義net1為單個隐含層的神經網絡,net2為卷積神經網絡(cnn),net3為資料增強(增加水準方向對稱的圖像)後的cnn,net4為圖像增強和學習率可調時的cnn,net5為圖像增強,學習率可調和帶Dropout時的cnn。我的訓練和驗證曲線如下(橫坐标為訓練次數,縱坐标為驗證時像素坐标的均方根誤差(Root Mean Squared Error)):

Caffe與Lasagne使用——人臉關鍵點檢測Caffe與Lasagne 使用——人臉關鍵點檢測

整體網絡模型的測試圖像效果如下:

Caffe與Lasagne使用——人臉關鍵點檢測Caffe與Lasagne 使用——人臉關鍵點檢測

2. 局部網絡模型

人臉關鍵點被劃分為不同的區域,網絡輸出為每個區域的關鍵點坐标。可以用訓練好的整體網絡模型的權重為初始值,微調局部網絡模型時修改整體網絡模型的輸出。

Caffe與Lasagne使用——人臉關鍵點檢測Caffe與Lasagne 使用——人臉關鍵點檢測

3. 送出結果

Kaggle中挑戰賽的Leaderboard更新得很快,過一段時間後反正名次很快也會被刷下去,不如趁熱截圖 ~ ~||。

Caffe與Lasagne使用——人臉關鍵點檢測Caffe與Lasagne 使用——人臉關鍵點檢測

四. 參考連結

[1] corpocrat.com/2015/02/24/facial-keypoints-extraction-using-deep-learning-with-caffe/

[2] danielnouri.org/notes/2014/12/17/using-convolutional-neural-nets-to-detect-facial-keypoints-tutorial/

[3] www.zhihu.com/question/37351143

[4] blog.csdn.net/chenriwei2/article/details/49706563 [5] blog.csdn.net/tanhongguang1/article/details/46056663

繼續閱讀