1. 程式人生 > >人臉檢測和人臉識別方法的比較

人臉檢測和人臉識別方法的比較

原文章:《Comparing Face Detection and Recognition Techniques》

Korra J. Comparing Face Detection and Recognition Techniques[J]. 2016.

PS:由於我最近做的都是人臉檢測,所以後面的人臉識別我都沒有在這篇部落格上提及,有興趣的朋友可以翻閱這篇文章。

摘要:這篇文章是比較人臉檢測和人臉識別的工具和不同的技術。前者是在一張圖片中定位人臉,後者是對人臉進行識別,判斷是誰的人臉。這篇文章主要是比較三種方法:1.用自組織對映進行人臉檢測;2.投影和最近鄰進行人臉識別;3.用SVM進行人臉識別。

1.用自組織對映進行人臉檢測。

自組織對映是神經網路的基本模型。每個節點使用乘法權重將輸入向量對映到標量輸出,典型的SOM結構是神經元網格。自組織對映是將高維向量嵌入到低維向量的維數降低方法。SOM訓練模型,使得在高維度上更接近的資料點也在下維度中更靠近地嵌入。

1.1學習演算法

模型的訓練從隨機化神經元的權重或初始化為主分量開始。將權重初始化到主分量通常比隨機初始化收斂更快。

1.2演算法步驟

1.識別緊密相似的影象以訓練對映。

   2.將圖片轉化到灰度圖片

   3.將影象拆分為25個20x20畫素影象

   4.初始化25個5x5 SOM,其權重向量表示n維。尺寸對應於20x20影象的平均灰度,FFT,紋理直方圖的尺寸

   5.初始化迭代次數= k,其中k是用於訓練的影象數

   6.初始化學習率α= 0.9(大約)

   7.初始化磁碟= 4,時間常數=迭代次數/長(距離+ 1),epoch = 1。

   8.隨意取一張訓練照片

   9.對於訓練影象的每個20×20影象片段,a.計算平均灰度,FFT,灰度直方圖(在本例中bin = 2),並用這些值初始化權重向量'w'。 b. 計算對應於影象片段wnw的SOM的每個神經元和w之間的歐幾里得距離,wn是神經元的加權向量。 c.找到具有最小歐幾里得距離的神經元。 d.讓這個神經元稱為贏家。 使用以下規則:wn = wn + a*(w − wn)更新贏家和距離勝者的距離“dist”內的所有神經元的權重。

   10.重複步驟9調整其他影象:a= a *exp((epoch)/numofiter),dist = round(dist * exp((epoch)/timeconstant))

   11.確定代表影象的不同區域的所有25個SOM的勝者神經元。

   12.讀取測試影象並預處理影象,並獲得影象中的物件邊界。

   13.對於找到的每個物件,執行1.找到對應於測試影象的20×20影象片段的25個5×5圖的測試優勝者神經元。 2.將它們與勝者神經元進行比較。 3.對於每個匹配允許閾值為0,如果測試影象具有0個錯誤,則列印完全匹配,即,訓練集合的所有優勝者神經元與測試優勝者完全匹配。

   14.如果測試神經元產生小於m的差異(對於我們的情況,m = 10),列印接近匹配否則列印不相似。