論文輪読資料「FaceNet: A Unified Embedding for Face Recognition and Clustering」

Report
of 36
Description
1. 論文輪読
 FaceNet: A Unified Embedding for Face Recognition and Clustering 那須野 薫 2015年6月11日 東京大学松尾研究室 2. 紹介する論文について…
Transcript
1. 論文輪読
 FaceNet: A Unified Embedding for Face Recognition and Clustering 那須野 薫 2015年6月11日 東京大学松尾研究室 2. 紹介する論文について •  タイトル: –  FaceNet: A Unified Embedding for Face Recognition and Clustering –  FaceNet: 顔認識と分類のための統一的な埋め込み •  著者: –  Florian Schroffら –  Google Inc. •  被引用回数:4 •  公開年:2015年3月 2015年6月11日東京大学松尾研究室 那須野薫 2 3. 東京大学松尾研究室 那須野薫 2015年6月11日 3 概要 •  顔画像からユークリッド空間へのマッピングを学習す る。 –  距離がそのまま顔の類似度の評価となるような空間 •  埋め込み自体をを最適化するように –  オンラインのトリプレット処理で学習 •  (アンカー画像、マッチする画像、マッチしない画像) –  128バイトで顔を表現 •  顔認識のstate of the art –  Labeled Face in the Wild(LFW)で99.63% –  YouTube Faces DBで95.12% 4. アジェンダ 1.  イントロダクション 2.  関連研究 3.  手法 4.  データセットと評価 5.  実験 6.  まとめ 2015年6月11日東京大学松尾研究室 那須野薫 4 5. アジェンダ 1.  イントロダクション 2.  関連研究 3.  手法 4.  データセットと評価 5.  実験 6.  まとめ 2015年6月11日東京大学松尾研究室 那須野薫 5 6. 東京大学松尾研究室 那須野薫 2015年6月11日 6 イントロダクション •  タスクの種類 –  face detection:これは顔かどうか。 –  face verification:2つの画像が同じかどうか。 –  face recognition:この顔は誰の顔か。 –  face clustering:共通の顔を探す。 •  青字部分をk-NNでまとめて行える埋め込みをつくる。 •  128-D embedding using tiplet-based loss function base on LMNN 7. 東京大学松尾研究室 那須野薫 2015年6月11日 7 結果の例:光と向きに対しての普遍性 •  同じ行は同じ人の顔 •  画像間の値は距離 –  0.0は同じ顔を意味する –  閾値1.1で分類できる。 •  ※The CMU pose, illumination, and expression (PIE) database 8. アジェンダ 1.  イントロダクション 2.  関連研究 3.  手法 4.  データセットと評価 5.  実験 6.  まとめ 2015年6月11日東京大学松尾研究室 那須野薫 8 9. 東京大学松尾研究室 那須野薫 2015年6月11日 9 関連研究 •  対象のDeep Networks(CVで上手くいっているもの) –  Zeler&Fergus model –  Inception model •  関連研究は多い。 •  純粋にデータから直接表現を獲得するという最近の流れを 踏襲。 10. 東京大学松尾研究室 那須野薫 2015年6月11日 10 GoogLeNet Going Deeper with convolutions Figure3:GoogLeNetnetworkwithallthebellsandwhistles 11. アジェンダ 1.  イントロダクション 2.  関連研究 3.  手法 4.  データセットと評価 5.  実験 6.  まとめ 2015年6月11日東京大学松尾研究室 那須野薫 11 12. 東京大学松尾研究室 那須野薫 2015年6月11日 12 3. 手法 •  Deep Architecture –  Zeler&Fergus(Alex Netに近い?)とInception •  Triplet Lossの部分が大事 –  画像ベクトルxから特徴空間Rへの埋め込み関数をつくりたい •  二乗距離がそのまま類似度を表現するような •  要素 1.  Triplet Loss 2.  Triplet Selection 3.  Deep Convolutional Networks 13. 東京大学松尾研究室 那須野薫 2015年6月11日 13 3-1. Triplet Loss •  embedding: –  画像xをd次元のユークリッド空間に埋め込む関数 •  さらに制約をつける: –  d次元超球面に制約する •  目標: –  ?? •  最小化する目的関数: –  Triplet 全部を計算するのはよくないので、選択したい。 14. 東京大学松尾研究室 那須野薫 2015年6月11日 14 3-2. Triplet Selection •  選択方針と実際 –  ハードネガティブとハードポジティブを選びたい –  誤差最小ネガティブや誤差最大ポジティブを全データから選ぶのは計算量 的に厳しく、mislabeledデータや悪い画像の影響を強く受けてしまう。。。 –  2つの方針 •  オフライン: –  nステップごとに部分集合からargminとargmaxを算出 •  オンライン: –  ミニバッチの中からハードポジティブとハードネガティブを選択 –  数千の中から選択 •  概要 –  40faces per identity per mini-batch in training data –  hardest ポジティブでなくpositiveは全部利用 –  hardest ネガティブでなく下記を満たすものを使用。 –  バッチサイズは1,800程度 15. 東京大学松尾研究室 那須野薫 2015年6月11日 15 3-3. Deep Convolutional Networks •  CNNを普通のBackpropとAdaGradでSGDで学習。 –  learning rateは0.05からはじめて、徐々に下げる。 –  1,000から2,000時間学習(CPUクラスタで) –  500時間ぐらい経つと、急激に誤差の減少が低下する。 –  マージンα=0.2 –  モデル •  活性化関数:Rectified Linear Units •  2つのネットワークで精度を比較 –  Zeiler & Fergus モデル •  22 layers, 1.4億のパラメタ, 16億FLOPS –  GoogLeNet style Inception モデル •  700万程度のパラメタ, 3億程度のFLOPS –  画像サイズ等を変えて6種類 •  NN1, NN2, NN3, NN4, NNS1, NNS2 16. 東京大学松尾研究室 那須野薫 2015年6月11日 16 Zeiler & Fergus モデル 17. 東京大学松尾研究室 那須野薫 2015年6月11日 17 GoogLeNet style Inception モデル 18. アジェンダ 1.  イントロダクション 2.  関連研究 3.  手法 4.  データセットと評価 5.  実験 6.  まとめ 2015年6月11日東京大学松尾研究室 那須野薫 18 19. 東京大学松尾研究室 那須野薫 2015年6月11日 19 4. データセットと評価 •  評価 –  Squered L2 Distance : –  Face Pairs (i, j) –  True Accepts: –  False Accepts??: –  validation rate: –  false accept rate: •  4つのデータセット 1.  Hold-out Test Set 2.  Peronal Photos 3.  Academic Datasets •  LFW •  Youtube Faces DB 20. 東京大学松尾研究室 那須野薫 2015年6月11日 20 4-1. Hold-out Test Set •  約100万の顔画像 •  20万ずつに分けて、hold out検証を実施 •  10万 10万の画像に対してFARとVAR rateを算出 21. 東京大学松尾研究室 那須野薫 2015年6月11日 21 4-2. Personal Photos •  訓練データと近い分布を持つが、人手でvery clean labelsをつけたデータセット •  12,000の顔画像 •  12,000^2のペアに対してFARとVAL rateを算出 22. 東京大学松尾研究室 那須野薫 2015年6月11日 22 4-3. Academic Datasets •  Labeld Faces in the wild –  5,749人の13,233の顔画像 •  Youtube Faces DB –  3,425動画、1,595人 23. アジェンダ 1.  イントロダクション 2.  関連研究 3.  手法 4.  データセットと評価 5.  実験 6.  まとめ 2015年6月11日東京大学松尾研究室 那須野薫 23 24. 東京大学松尾研究室 那須野薫 2015年6月11日 24 5. 実験 •  設定 –  特に言及がなければ、800万人異なる人間の1,2億枚の顔画像を 使って学習している。 –  顔検知器を使ってtight crop画像を生成し、各ネットワークのサ イズにリサイズ(96x96から224x224) •  実験項目 1.  Computation Accuracy Trade-off 2.  Effect of CNN Model 3.  Sensitivity of Image Quality 4.  Embedding Demensionality 5.  Amount of Training Data 6.  Perfomance of LFW 7.  Perfomance on Youtube Faces DB 8.  Face Clustering 25. 東京大学松尾研究室 那須野薫 2015年6月11日 25 5-1. Computation Accuracy Trade-off •  モデルに必要な計算量と達成される精度には強い相関があ る –  PLOPS(Floating-point Operations Per Second) –  ちょっと、良く分からない。 26. 東京大学松尾研究室 那須野薫 2015年6月11日 26 5-2. Effect of CNN Model •  Zeiler&Fergus とInceptionともに高い精度 •  160x160(NN3)でも精度がかなり高かった 27. 東京大学松尾研究室 那須野薫 2015年6月11日 27 5-3. Sensitivity to Image Quality •  jepgの画質の良さへのロバスト性 –  20まではいい感じ。 •  画像サイズへのロバスト性 –  120x120までは良い感じ。 •  ※利用したNN1は220x220で学習されている 28. 東京大学松尾研究室 那須野薫 2015年6月11日 28 5-4. Embedding Dimensionality •  埋め込みには128次元を選択 –  埋め込み次元が大きいとより多くの訓練が必要となる模様。 –  統計的に有意ではない。 –  128次元のfloat vectorであれば、128バイトに欠損なく変換でき、 モバイルデバイスにものる為いいよね(?) 29. 東京大学松尾研究室 那須野薫 2015年6月11日 29 5-5. Amount of Training Data •  訓練データの量の影響の評価 •  より大きなモデルの方がデータの量の影響は大きいと 推察される。 30. 東京大学松尾研究室 那須野薫 2015年6月11日 30 5-6. Performance on LFW •  10分割交差検定 –  9個で閾値を設定。閾値は1.242(8個目のsplitでは1.256)。 •  精度: –  99.63% 0.09