論文 | FaceNet臉部識別《FaceNet:A unified embedding for face recognition and clustering》

一 寫在前面

未經允許唉地,不得轉載耗啦,謝謝~~

最近在學圖像檢索這一方面的內容嗅骄,所以挑了兩篇比較經典的論文來學習:

兩篇論文分別是contrastive loss和triplet loss的應用半夷。

之前已經寫了第一篇文章的總結論文 | 圖像檢索經典論文解讀《Learning visual similarity for product design with convolutional neural networks》婆廊,現在把FaceNet這篇也看掉了,所以趁熱整理一下巫橄。

二 文章簡介

1 整體介紹

  1. 首先看題目就可以知道淘邻,文章提出了一個FaceNet結構,可以用于臉部識別和聚類的統一嵌入網絡湘换。
  2. 簡單來說就是可以學習每張人臉的歐幾里德距離宾舅,取兩張人臉圖像歐幾里德距離的L2范式的平方就可以直接對應于這兩張人臉圖像之間的相似性统阿。
    • L2的平方小,相似度高筹我;
    • L2的平方大扶平,相似度低;
  3. 得到嵌入距離之后就可以很快的解決一下問題:
    • face verification: 人臉驗證蔬蕊,設置一個閾值结澄,距離小于閾值即可;
    • face recognition: 人臉識別岸夯,可以用k-NN鄰近算法麻献;
    • face clustering:人臉聚類,可以用k-means等算法猜扮;

跟之前那篇論文一樣勉吻,本質在于學習到圖像的表示,所以論文題目稱之為統一的嵌入網絡旅赢。

如下圖展示的是人臉驗證


得到2張人臉的相似度餐曼,小于閾值1.1即判定為同一個人。

2 文章主要貢獻

文章主要完成了FaceNet這樣一個用于學習人臉圖像特征的模型鲜漩,主要有以下幾點:

  1. 直接用CNN網絡進行端到端的訓練源譬;
  2. 使用了triplet loss,并提出了比較好的triplet 樣本挖掘方法孕似;
  3. 僅僅用128字節(jié)的大小表示人臉就達到state-of-art 水平踩娘。

這里我主要總結了網絡結構部分的內容,其他的內容感興趣的小伙伴可以再點擊最下面的參考文獻閱讀原文~~~

三 網絡結構介紹

1 模型結構


如上圖所示即為模型的整體結構喉祭。

  • 假設我們先不管中間DEEP ARCHITECTURE的具體結構养渴,還是將其作為一個黑盒子f(x)。

  • 輸入人臉圖像數據x泛烙,通過深度CNN之后就會得到一個f(x),再對其做L2歸一化之后就可以得到對這張人臉的表示embedding理卑。

  • 然后用triplet loss(anchor, positive, negative)方法對這整個模型進行端到端的訓練。

接下來我會具體介紹網絡模型中的各個部分蔽氨。

2 triplet loss

1. 宏觀理解

  • 對于一組triplet sample(anchor, positive, negative)藐唠;

  • 我們旨在通過神經網絡的訓練與學習讓(anchor,positive)的距離變小,讓(abchor,negative)的距離變大鹉究;

2. 函數建模

  • 我們用(Xa,Xp,Xn)來表示一組數據宇立;
  • 我們希望滿足以下條件:


  • 對于任意一組數據,我們都希望(anchor,positive)之間的距離+margin < (anchor,negative)之間的距離自赔;

3. loss function

  • 根據上面的式(1), (2)妈嘹,我們可以得到如下的損失函數:


  • 我們的目標就轉變?yōu)橛柧毦W絡模型使得上式(3)的loss function不斷變小。

3 triplet 樣本選擇

1. 目標

  • 如何選擇triplet sample對于模型的訓練以及最后的結構都非常重要绍妨;
  • 因此本文提出了 一種用于尋找較好triplet sample的方法润脸,旨在讓triplet的難度隨著網絡的訓練而逐漸增加柬脸;

2. hard triplet

  • hard triplet指的就是那些比較難判斷的sample,體現在anchor與正樣本的距離較大毙驯,anchor與負樣本的距離較械苟椤;

  • 這樣能夠訓練網絡模型識別的難度尔苦;

  • 所以用數學表示涩馆,即我們希望能夠找到這樣的postive與negative:

3. 難點

  • 對于每一個anchor,都想選擇一個hard triplet是有難處的允坚;
  • 首先在所有的訓練集合內是選擇最難的positive與negative是不現實的魂那,需要耗費大量的時間與計算;
  • 其次這樣選出來的很可能是錯誤標記或者是不良成像的圖像稠项,反而會導致training的過程并不好涯雅;

4. 解決方法

我們直觀可以想到以下兩種策略:

  • 每n步線下生成:用最近一次訓練好的網絡在訓練集的自己種選擇argmax的positive以及argmin的negative
  • 線上生成:在mini-batch中選擇hard positive/nagative;
  • 本文做了兩部分的實驗,但是文中展示出的用的是線上生成的方式展运,線下生成的沒有給出結果展示活逆。

4 CNN網絡結構

文章一共探索了兩種神經網絡:

  • zeiler & Fergus model (NN1)
  • GoogleNet Style Inception model (NN2)
  • 兩個網絡都能接受[220,220,3]的輸入,輸出[1,1,128]維的輸出拗胜;
  • 這邊的細節(jié)就不再說了蔗候,反正就是一個特征提取網絡的選擇問題;

5 其他細節(jié)補充

1. 關于batch內樣本分配

  • 為了保證合理性埂软,一定要保證每個triplet sampl都是正負樣本的锈遥;
  • 先保證每個minibatch中每個identity都有40張positive人臉圖像;
  • 再隨機將neagtive faces放到minibatch中勘畔;

2. 關于batch_size

  • 在深度神經網梯度下降中所灸,我們希望batch_size不能太大;
  • 在triplet section中我們又希望batch_size不能太徐牌摺爬立;
  • 最后文章中取了1800/batch;

3. 關于網絡參數

  • 使用SGD優(yōu)化;
  • 初始learning_rate=0.05
  • margin:α=0.2

4. 關于semi-hard

  • 如果全部都用hardest sample的話會導致模型坍塌, f(x)趨于0万哪;
  • 訓練難度可以由難到簡侠驯;
  • 也可以選擇semi-hard:


四 寫在最后

就寫到這里吧,嘻嘻~~~~~~~~
ヾ(?°?°?)??

希望自己能一直保持寫博客的習慣壤圃,保持記錄的習慣陵霉,保持分享的習慣。

參考文獻

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末伍绳,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子乍桂,更是在濱河造成了極大的恐慌冲杀,老刑警劉巖效床,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異权谁,居然都是意外死亡剩檀,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門旺芽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沪猴,“玉大人,你說我怎么就攤上這事采章≡耸龋” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵悯舟,是天一觀的道長担租。 經常有香客問我,道長抵怎,這世上最難降的妖魔是什么奋救? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮反惕,結果婚禮上尝艘,老公的妹妹穿的比我還像新娘。我一直安慰自己姿染,他們只是感情好背亥,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著盔粹,像睡著了一般隘梨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上舷嗡,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天轴猎,我揣著相機與錄音,去河邊找鬼进萄。 笑死捻脖,一個胖子當著我的面吹牛,可吹牛的內容都是我干的中鼠。 我是一名探鬼主播可婶,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼援雇!你這毒婦竟也來了矛渴?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎具温,沒想到半個月后蚕涤,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡铣猩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年揖铜,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片达皿。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡天吓,死狀恐怖,靈堂內的尸體忽然破棺而出峦椰,到底是詐尸還是另有隱情龄寞,我是刑警寧澤,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布们何,位于F島的核電站萄焦,受9級特大地震影響,放射性物質發(fā)生泄漏冤竹。R本人自食惡果不足惜拂封,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鹦蠕。 院中可真熱鬧冒签,春花似錦、人聲如沸钟病。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肠阱。三九已至票唆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間屹徘,已是汗流浹背走趋。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留噪伊,地道東北人簿煌。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像鉴吹,于是被迫代替她去往敵國和親姨伟。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內容