2017-07-02 167 views
-3

我想訓練一個神經網絡從圖像中提取多個(128)臉部特徵。提取臉部嵌入 - 臉部識別

這些特徵是測量諸如眼睛中間距離或左眼中間和中點之間距離的數字。

我需要這個來找出兩個面孔之間的差異:給用戶一個數據庫,通過分析照片我可以判斷它是否是Jhon的照片。

我開始使用this鏈接進行研究,其中指出:研究人員發現,最準確的方法是讓計算機找出測量值來收集自己。

好的,所以網絡的輸出是128個數字的數組,我將使用一些公式來調整權重,以便輸出數字儘可能精確。

我應該使用什麼作爲輸入?我的輸入節點是否是三張照片,如this文章,我將根據照片之間的比較提取功能?

+0

您的鏈接是死的,看來你是缺少一些基本知識,我會開始從openface,一個不錯的蟒蛇+火炬(LUA)的實施facenet紙,其學習這從數據的二維度量嵌入的學習。它也會告訴你,它是不平凡的(三重損失和合作)。 – sascha

+0

我不想使用庫。我想自己做訓練。 –

+0

它已經準備好接受自我訓練,我沒有告訴你使用它pretrained。從中學習或不要,你的決定。你始終可以從核心文件開始。順便說一句:''我不想用它。我想自己做訓練可能表明還有一個誤解,但也許你有一些原因。預訓練模型已準備好在未訓練的圖像上使用,這就是(度量嵌入方法的)整點。 – sascha

回答

1

我首先想到的是爲你使用一個庫爲Openface,這已經是受過訓練的,有很多面的,並有一個偉大的人臉表示(與你所需要的相同的128種尺寸)。

但是,你提到你想自己訓練它。我建議你開始看看連體神經網絡。連體神經網絡接收一對圖像(真正的對 - 例如來自同一人的圖像;假冒者對 - 例如來自不同人的圖像),並試圖學習相似性/不相似性度量(也稱爲度量學習)。這對於學習臉部嵌入非常有用,因爲你的目標似乎與此有關。他們基本上學習了一種將輸入圖像映射到「有益比較」表示的方法。其他實現(如OpenFace)使用Triplet嵌入進行訓練,而不是一對圖像,您會收到一個三元組(兩個相似,一個不相似)。

這裏有一些參考入手連體網絡:

請記住,培養這些架構是相當困難的,s因此選擇最佳配對是該問題的一個非常重要且具有挑戰性的部分。一篇文章提到了創建圖像對時遇到的一些挑戰,但與臉部無關的是one

希望有幫助!