『深度應用』一文搞懂深度學習人臉識別模型開發流程


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


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM