1. 程式人生 > >深度學習與人臉識別

深度學習與人臉識別

IDL內部分享的人臉識別技術。

深度學習是機器學習研究中的一個新的領域,其動機在於建立、模擬人腦進行分析學習的神經網路,它模仿人腦的機制來解釋資料。

卷積神經網路(CNN)

區域性連線

傳統的神經網路是全連線,即一層的神經元與上一層的所有神經元都建立連線,這樣導致引數非常多,計算量非常大,而CNN是區域性連線,一層的神經元只與上一層的部分神經元建立連線,這樣可以減少引數和計算量。

Technology-MachineLearning-FaceRegonition-CNN-LocalConnected

權值共享

給一張輸入圖片,用一個filter去掃時,filter裡面的數就叫權重。用該filter對整個圖片進行了某個特徵的掃描,例如Edge detection,這個過程就是權值共享,因為權重不變。

Technology-MachineLearning-FaceRegonition-CNN-WeightSharing

人臉識別

多個CNN加其他層,遍歷而成的人臉識別處理結構:

Technology-MachineLearning-FaceRegonition-CNN-Example

層提取到的資訊的演進:

Technology-MachineLearning-FaceRegonition-CNN-Example2

人臉檢測

傳統演算法

識別:滑動視窗+分類器

用一個固定大小的視窗去滑動掃描影象,並通過分類器去分辨是否是人臉。有時候人臉在圖片中過小,所以還要通過放大圖片來掃描。

Technology-MachineLearning-FaceRegonition-Window&Classifier

訓練:特徵+Adaboost

傳統特徵:LBP/HOG/Harr

圖片原始的RGB資訊,維度太高,計算量過大,且不具備魯棒性,即光照和旋轉,對RGB資訊影響非常大。

利用LBP得到二進位制值,再轉換成十進位制:

Technology-MachineLearning-FaceRegonition-LBP

效果圖:

Technology-MachineLearning-FaceRegonition-LBP-Example

Adaboost

由於移動裝置對計算速度有一定要求,所以用多個弱分類器加權疊加來完成一個強分類器,從而保證速度。

Technology-MachineLearning-FaceRegonition-Adaboost

深度學習

特徵的選取是比較複雜的,可能需要大量的統計學和生物學知識積累,而深度學習不需要選擇特徵,這是其很大優勢,另外通過GPU代替CPU等方式,可以得到一個更好的效果。

Technology-MachineLearning-FaceRegonition-DeepLeaning-Example

關鍵點檢測、跟蹤

傳統演算法

Cascade regression/ESR/SDM

傳統演算法步驟:

  • 根據人臉檢測的框位置,先初始化初始臉部輪廓位置;
  • 進行上一步位置和圖形特徵檢測下一步位置(一般是迭代殘差);
  • 進行迭代,最終得到相對準確的輪廓位置。

Technology-MachineLearning-FaceRegonition-KeyPoints

深度學習

深度學習演算法步驟:

  • 對影象進行輪廓定位態校正;
  • 全域性粗定位;
  • 區域性精細定位。

Technology-MachineLearning-FaceRegonition-DeepLeaning-KeyPoints

典型應用:

LianYou

FaceU

人臉語義分割

人臉語義分割:自定確定人臉每個pixel的所屬類別(哪個器官)。

基於CDNN訓練一個直接model輸入影象到輸出概率map的模型,然後將影象輸入,即可得出pixel-level的分類概率輸出。

Technology-MachineLearning-FaceRegonition-SemanticSegmentation

典型應用:

MagicMirror

屬性識別

人臉屬性識別:自動估計人臉的屬性,比如性別、年齡、表情、人種、是否佩戴眼鏡、美醜等。

Technology-MachineLearning-FaceRegonition-AttributeRecognition

傳統演算法

步驟:

  • 基於特徵點定位結果進行幾何矯正;
  • 手工特徵提取(HOG\LBP\GABOR)
  • 分類器/迴歸(SVM\BOOSTRING)

深度學習

基於CDNN,直接在一個網路中學習並識別出多個屬性。

Technology-MachineLearning-FaceRegonition-AttributeRecognition-DeepLearning

典型應用:

HowOld

活體檢測

活體檢測:確定識別的物體是活物,而非死物。

Technology-MachineLearning-FaceRegonition-LiveDetection

人臉識別

人臉識別:根據人臉的表觀特徵自動識別人的身份。

Technology-MachineLearning-FaceRegonition-Example

深度學習

通過深度學習來進學習特徵,讓同一個人在特徵空間中距離非常近,而不同人則非常遠,且必須具備不受光照等影響的魯棒性。

基本步驟

  • 人臉檢測;
  • 關鍵點定位;
  • 人臉表示。

Technology-MachineLearning-FaceRegonition-Process

人臉切割

將人臉切割成小塊,每塊去學習Model。

Technology-MachineLearning-FaceRegonition-Cutting

特徵融合

將每一塊學習到的特徵,進行特徵融合。

Technology-MachineLearning-FaceRegonition-FeatureFusion

訓練過程

  • 訓練分類;
  • 對於兩張照片的比較,用pairwise模式進行訓練,得到兩張圖的特徵,並計算特徵間的距離,小於閾值時,則判斷為同一個人;
  • 對於三張照片的比較,用triplet模式進行訓練,得到三張圖之間的關係,而不是關注於距離值。

Technology-MachineLearning-FaceRegonition-Pairwise

Technology-MachineLearning-FaceRegonition-Triplet