人臉識別系列(三):DeepID2
論文地址:Deep Learning Face Representation by Joint Identification-Verification
文章思想
reducing the intra-personal variations while enlarging the inter-personal differences is a central topic in face recognition
分類任務,我們需要的是減少類內差距,增加類間差距。
The identification supervisory signal tends to pull apart the DeepID2 features of different identities since they have to be classified into different classes
分類的監督訊號可以增大類間差距
However, the identification signal has a relatively weak constraint on DeepID2 features extracted from the same identity, since dissimilar DeepID2 features could be mapped to the same identity through function g(·) ,This leads to problems when DeepID2 features are generalized to new tasks and new identities in test where g is not applicable anymore
但是卻對類內差距影響不大
We solve this by using an additional face verification signal, which requires that every two DeepID2 feature
vectors extracted from the same identity are close to each other while those extracted from different
identities are kept away
而增加驗證的監督訊號,就可以減少類內差距。
網路結構
網路結構類似DeepID1,不同之處在於使用了兩種不同的損失函式:
損失函式
分類訊號:
Softmax函式的交叉熵,類似於一般的卷積神經網路
驗證訊號
使用l2範數距離表示,m為閾值,括號內的θve={m}
(這一損失函式在後面的人臉識別論文中通常會被稱為‘contrastive loss‘)
訓練過程:
其中m不參於訓練
過程簡單概括為
1.一次使用2個輸入,計算了他們的L(Ident)和L(Verif),總損失L為二者通過λ加權求和
2.通過L來執行梯度下降更新卷積引數
3.通過L(Ident)來更新softmax層的引數
多patches操作:
每張圖片使用了21 facial landmarks
分成200patches(20regions*5scales*2RGB&Gray),水平翻轉後變為400patches
使用了200個卷積神經網路,提取400(200*2)個Deepid2特徵
(一個神經網路對應的是一個patch與它的翻轉對應的Patch)
使用 Adaptive forward-backward greedy algorithm降為25個Deepid2特徵
使用PCA將25*160Deepid2特徵降為180維
輸入聯合貝葉斯演算法中,進行驗證。
實驗:
在celebrate+上訓練
在LFW上進行驗證。
λ對類間與類內特徵的影響:
文中選取λ=0.05
驗證訊號使用什麼計算方法的試驗:
可以看出來聯合貝葉斯演算法略優於L2距離。
最終試驗結果
選擇效果最好的25個patches對應的25個網路,在LFW上得到的最終準確率是98.97%
之後,重複使用貪婪的方式尋找其他6組patches(每組25個),得到7組25Paches,用聯合貝葉斯演算法計算相應的神經網路輸出特徵可以得到7個得分,使用SVM融合這7個得分來得到最終的準確率是99.15%
(論文沒有提到怎麼融合的,猜測具體的融合方法大概是構建一個7維的向量,然後根據該得分向量來分類)
相關文章
- 人臉識別系列(二):DeepID1
- opencv 人臉識別OpenCV
- 人臉檢測識別,人臉檢測,人臉識別,離線檢測,C#原始碼C#原始碼
- 人臉識別之特徵臉方法(Eigenface)特徵
- 人臉識別安全面臨三重挑戰
- C#人臉識別入門篇-STEP BY STEP人臉識別--入門篇C#
- 智慧人臉識別門禁系統開發,人臉識別開鎖流程
- 前端人臉識別--兩張臉相似度前端
- python—呼叫API人臉識別PythonAPI
- python ubuntu dlib人臉識別3-人臉對齊PythonUbuntu
- 人臉活體檢測人臉識別:眨眼+張口
- 人臉識別之Python DLib庫進行人臉關鍵點識別Python
- 乾貨 | AI人臉識別之人臉搜尋AI
- 人臉識別智慧考勤系統開發_人臉識別考勤管理系統開發
- 前端如何玩轉人臉識別前端
- 人臉識別技術應用
- Python人臉識別微笑檢測Python
- 從零玩轉人臉識別
- 人臉識別之人臉檢測的重要性
- 保障人臉安全!頂象釋出《人臉識別安全白皮書》
- 刷臉支付人臉識別特徵點越多是別越精確特徵
- OpenCV-Python 人臉眼睛嘴識別OpenCVPython
- TensorFlow2.0 + CNN + keras + 人臉識別CNNKeras
- 人臉識別與人體動作識別技術及應用pdf
- 人臉識別 — 活體檢測(張嘴搖頭識別)
- 人臉識別 -- 活體檢測(張嘴搖頭識別)
- 刪除十億人臉資料,Facebook關閉人臉識別系統
- 從零玩轉人臉識別之RGB人臉活體檢測
- 人臉識別技術看這一篇就夠了(附國內人臉識別20強公司)
- 一文搞懂人臉識別技術的三種應用模式模式
- 人臉識別和手勢識別應用(face++)開發
- Mars演算法實踐——人臉識別演算法
- iOS計算機視覺—人臉識別iOS計算機視覺
- 人臉識別用來測顏值(一)
- python ubuntu dlib 5 -人臉識別並打分PythonUbuntu
- 人臉識別檢測專案實戰
- 人臉識別資料集和特點
- AI+慈善 ▏人臉識別+人臉模擬助力失散親人找到回家的路AI