Deep Learning Face Representation from Predicting 10,000 Classes - 閱讀筆記 -人臉特徵(DeepID)提取與識別

Paper Reading Note

URL: http://mmlab.ie.cuhk.edu.hk/pdf/YiSun_CVPR14.pdf

TL;DR

這篇文章介紹了一種預測多類別人臉類別來提取高層人臉特徵表達(DeepID)的方法,這些特徵是在人臉的不同區域(patch)中同時提取得到,同時使用了聯合貝葉斯和神經網絡在DeepID的基礎上實現了人臉驗證。


Dataset/Algorithm/Model/Experiment Detail

數據集

該文章使用的主要驗證集是LFW,一個非常著名的人臉識別數據集,其中包含5749個人,其中只有85個人的圖片量大於15,同時4096個人僅有一張圖片。所以作者使用了CelebFaces來進行模型訓練,CelebFaces數據集包含5436個名人的87628張圖片。作者還使用了數據量更大的CelebFaces+數據集來進行訓練,其包含10177個名人的202599張圖片。

實現方式

  • DeepID特徵提取的示意圖如下所示,人臉經過處理後的各個patch分別通過一個網絡來提取得到160維的特徵,這個特徵維度可能會根據需要分類的人個數來確定,所有的convnet對對應的patch提取的高層特徵集合就是DeepID
    在這裏插入圖片描述

  • 特徵提取網絡就是一個簡單的卷積網絡,其中比較創新的是使用了跨層級的連接,也即將conv3和conv4的特徵都連接到全連接層,這樣可以獲取多尺度的特徵。這和resnet的思路其實有相似的地方。
    在這裏插入圖片描述

  • 人臉多個patch的生成方法,輸入的圖片將根據人臉關鍵點處理到60個patch,包含以下步驟:

    • 使用關鍵點模型跑出人臉中的五個關鍵點,兩個眼睛的中心,鼻尖,兩個嘴角
    • 通過關鍵點信息對人臉進行對齊
    • 對齊後的人臉即可以每個關鍵點爲中點提取出5個patch,同時在全臉上也可以提取出5個patch,然後通過加上三個尺度的變換和灰度變換即可得到60個人臉patch

在這裏插入圖片描述

  • 在提取得到DeepID的人臉特徵後,人臉驗證作者使用了聯合貝葉斯和神經網絡兩種方法,聯合貝葉斯的方法如下所示,使用EM算法進行訓練優化

在這裏插入圖片描述

  • 使用神經網絡的方式是先通過局部連接的隱層網絡分別將DeepID特徵進行降維後再使用全連接層輸出是否匹配的概率。
    在這裏插入圖片描述

實驗結果

  • 使用多層特徵連接到全連接層的貢獻,可有效減低測試誤差
    在這裏插入圖片描述

  • 聯合貝葉斯和神經網絡分類器的性能比對,聯合貝葉斯的精度優於神經網絡。同時可以看到隨着訓練的樣本增加,性能不斷提升
    在這裏插入圖片描述

  • 使用不同人臉區域來提取特徵對於測試精度的影響,可以看到隨着使用的人臉區域的增加,測試進度不斷提升
    在這裏插入圖片描述

  • 提取的人臉特徵在比對過程的可視化效果,160維度的特徵被處理成5x32的格式方便可視化,可以看出同一個人的特徵的匹配度較高,而不同人臉的匹配度較低
    在這裏插入圖片描述

  • 方法精度對比,作者所提出的方法取得了SOTA的效果
    在這裏插入圖片描述

在這裏插入圖片描述

Thoughts

這篇文章是人臉特徵提取的經典作品,使用softmax進行人臉分類的方式來進行特徵提取模型訓練,這種方式提取出的特徵(DeepID)在人臉驗證中有更好的泛化能力,這種思路我覺得是值得借鑑的。也即直接訓練一個簡單的任務時可能比較容易讓模型參數優化到一個狹小的空間內,模型泛化能力低,而採用訓練一個難度更大的任務時模型提取出的特徵在提高泛化能力的同時還能夠解決之前的簡單問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章