『深度應用』深度學習人臉識別模型開發與應用流程綜述

『深度應用』深度學習人臉識別模型開發與應用流程綜述


0. 概念簡介

 

度量學習(Metric Learning),也稱距離度量學習(Distance Metric Learning,DML) 屬於機器學習的一種。其本質就是相似度的學習,也可以認爲距離學習。因爲在一定條件下,相似度和距離可以相互轉換。比如在空間座標的兩條向量,既可以用餘弦相似度的大小,也可以使用歐式距離的遠近來衡量相似程度。

常見的人臉識別與聲紋識別都屬於度量學習。

一般的度量學習包含以下步驟:

  1. Encoder編碼模型:用於把原始數據編碼爲特徵向量(重點如何訓練模型
  2. 相似度判別算法:將一對特徵向量進行相似度比對(重點如何計算相似度,閾值如何設定

 

1.編碼模型訓練

 

通過使用大量數據集進行網絡模型訓練。使編碼模型可以實現對原始數據提取特徵向量的功能。

基於深度學習的度量學習算法中,可以分爲兩個流派:

  1. 網絡設計派:代表孿生神經網絡(Siamese network)
  2. 損失改進派:代表 xx-softmax

本文主要講整體開發流程,具體細節請自行查閱。

通過對編碼模型訓練,得到了具備提取特徵的encoder模型,讓原始數據通過encoder模型就可以對應特徵向量:

X = Encoder(row)

下面就是利用這個encoder模型,作爲特徵提取器,進行相似度判別。

 

2.相似度判別算法

 

在第一步(1.編碼模型訓練)完成後,獲得了具備特徵提取的編碼模型,就可以利用此encoder網絡進行驗證系統開發。

首先要對在第一步得到的編碼模型進行性能測試。步驟如下:

  1. 使用測試數據生成測試對,需要保證儘量隨機取對和正負數據平衡,同一種標籤爲1,不同種爲0
  2. 使用編碼模型得到所有特徵向量
  3. 根據測試對的特徵向量計算相似度,可選餘弦距離度/歐式距離
  4. 根據測試對的相似度與標籤,設置合理閾值範圍,分辨率取0.0001,遍歷閾值計算 FAR(錯誤接受率)FRR(錯誤拒絕率),兩者相等得到EER(等錯誤概率),此時的閾值也是較優閾值。(也可以使用類似方法驗證準確率)

通過上述步驟就可以獲得模型的識別性能和應用閾值。

如若想提高閾值的泛化能力,可以採用測試與驗證的方法計算閾值:

  1.  將測試對分爲10組,用來確定閾值並驗證精讀。
  2. 使用其中1組,同種判斷錯誤和不同種判定錯誤的個數。
  3. 選擇錯誤個數最少的那個閾值,用剩餘9組,判斷識別精度。
  4. 步驟2和3執行10次,將每次3獲取的精度進行累加並求平均,得到最終判定精度。記錄下精度最高的那次的閾值,記爲最優閾值

 


References:

1.https://blog.csdn.net/fuwenyan/article/details/74943248

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