[DL Hacks 実装]Representation Learning by Rotating Your Faces

118 Views

November 20, 17

スライド概要

2017/11/20
Deep Learning JP:
http://deeplearning.jp/hacks/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

Representation Learning by Rotating Your Faces (Disentangled Representation Learning GAN for Pose-Invariant Face Recognition) 鹿山 敦至(KAYAMA Atsushi) Kanzaki-Takahashi Laboratory The University of Tokyo

2.

書誌情報 & 選定理由 ❏ Author n Luan Tran*, Xi Yin*, Xiaoming Liu* - Computer Vision Lab @ Michigan State University ❏ Accepted by CVPR2017(Oral) n Presentation on Youtube ❏ 選定理由 n GANについて理解を深めたかった & PytorchでDCGAN実装存在 n シンプルなモデル構造 n SOTAな顔画像の回転 & 個人識別性能 2

3.

Abstract ❏ 姿勢によらない顔画像特徴抽出を GANで実現 n Encoder ‒ Decoder構造を持つ Generator n 顔画像からEncoderによって抽出した特徴に姿勢条件を加えることで,Decoder か ら指定の姿勢での顔画像を出力するよう学習 n 学習後の Encoder によって生成される顔画像の特徴量は姿勢に依存しないものに ❏ 同一人物の複数画像を取り込んでより正確な顔特徴生成が可能に n 抽出した特徴量を用いた個人識別は SOTA な精度 ❏ 任意の姿勢での高品質な画像生成 ❏ 学習の結果,顔画像の質に相関する指標も獲得 3

4.

Introduction ❏ 深層学習によって単純な正面顔画像識別は人間を超える精度が出ている[3] ❏ しかし正面画像から側面画像の個人識別もしくはその逆を行うと正面画像 のみの場合と比べて10%ほど精度低下[9] (人間では数%の低下のみ) ❏ Pose-Invariant Face Recognition への従来アプローチは2つ n 顔画像の正面化[14] n 顔の向きに依存しない特徴量の抽出[15,16] ❏ 本論文では顔画像の回転(正面化等)によって顔の向きに依存しない特徴 量の生成を行う [3] F. Schroff, D. Kalenichenko, and J. Philbin, “FaceNet: A unified embed- ding for face recognition and clustering,” in CVPR, 2015 [9] S. Sengupta, J.-C. Chen, C. Castillo, V. M. Patel, R. Chellappa, and D.W. Jacobs, “Frontal to profile face verification in the wild,” in WACV, 2016 [14] J. Yim, H. Jung, B. Yoo, C. Choi, D. Park, and J. Kim, “Rotating your face using multi-task deep neural network,” in CVPR, 2015. [15] I. Masi, S. Rawls, G. Medioni, and P. Natarajan, “Pose-aware face recognition in the wild,” in CVPR, 2016. [16] C. Ding and D. Tao, “Robust face recognition via multimodal deep face representation,” TMM, 2015. 4

5.

5 Single-Image DR-GAN ❏ D は{画像のid, 真偽, 姿勢} を識別 n 出力は Nid +1 + Np 次元のベクトル ❏ G は Encoder-Decoder で構成 n 画像 x から特徴量 f(x) をEncode (G_enc ) n f(x) に姿勢コード c (Np次元ベクトル)とノイズ z を付加し た 条件付き特徴量から 画像 x^ 生成 (G_dec ) - 条件には姿勢だけでなく,明るさ等も加えた拡張も可能 ❏ 学習後の Gencによって PIFR( = f(x)) 生成 ❏ 学習後の G において任意の c を与えることで姿 勢変換した顔画像を生成

6.

     Optimizing Objective ❏ Discriminator n 生成した画像の真偽, 元画像のID, 元画像の姿勢 について最適化 6

7.

     Optimizing Objective ❏ Generator n D で識別される生成した画像の真偽,ID,姿勢 について最適化 - y t は画像生成時に指定した姿勢 7

8.

     Author’s succinct explanation ❏ 基本的なGAN:D は真偽のみ判別 ❏ 変更1:D は 真偽+顔画像のID 識別 8

9.

     Author’s succinct explanation ❏ 変更2 : G に Encoder-Decoder を取り入れ Gの入力をノイズ z から 顔画像 x に変更 9

10.

     Author’s succinct explanation ❏ 変更3 : エンコードした画像特徴量 f(x) に 姿勢コードCとノイズ z を付加 10

11.

   11   Author’s succinct explanation ❏ 変更4 : D に 顔画像の姿勢判別も行わせる 

12.

     Author’s succinct explanation ❏ D の 訓練 n 元画像に対して:{真偽,ID,姿勢} の識別結果を評価 n 生成画像に対して:{真偽} の識別結果 を評価 12

13.

     Author’s succinct explanation ❏ G の 訓練 n 生成した画像の{真偽,ID, 姿勢} を D で識別した結果を評価 n 姿勢 yt は画像生成時に指定する c に対応 13

14.

     Architecture ❏ 各畳み込み層後に BatchNormalization 及び ELU (exponential linear unit) 適用 ❏ 各層のサイズは TensorFlow の padding=“SAME” オプションで自動調整 n [H_out, W_out] = [H_in/stride, W_in/stride] n 詳細ドキュメント ( https://www.tensorflow.org/api_guides/p ython/nn#convolution ) 14 青字は後述の Multiple-Image DR-GAN 時に適用

15.

15 Multiple-Image DR-GAN Pn w f (xi ) Pn i f (x1 , x2 , ..., xn ) = i=1 i=1 wi ❏ G において同一人物の複数の画像を取り入れて PIFR, 画像 の生成を行う n 個々の画像から抽出した特徴量を重み付けして一つの特徴量を生成 n 学習後の出力される重みは各画像の質に対応 ❏ D, Gdec は Single-Image DR-GANと同じ

16.

  16   Optimizing Objective ❏ Discriminator n Single-Image DR-GAN と同じ ❏ Generator n D で識別される生成した画像のID, 真偽, 姿勢 について最適化 - 1枚・複数枚の画像を入力とした場合両方について最適化 - 下の式は一人につき n 枚の画像がある場合の真偽についてのロス n n          

17.

Training Method ❏ バッチサイズ:64 ❏ 重み初期値:平均0,標準偏差0.02の正規分布からサンプル ❏ Adam:学習率0.0002, momentum 0.5 ?? ❏ 姿勢コードはエポック毎にランダムに生成して条件付け ❏ Multi-Image DR-GAN 学習時には重み部分に Dropout を適用すること で任意の枚数画像を入力した場合について学習させる 17

18.

Training Tips ❏ Model Switch による G_enc の改善 n D, G_enc は共通の構造で顔特徴を抽出している n G_enc の方が D よりも個人の識別性能が良い - より良い顔特徴を抽出出来ている n D, G_enc をG_enc 学習後に入れ替えることを繰り返す - 「D の性能が改善 -> より良いG_enc の学習」 のサイクル ❏ 特徴量補間によるDataAugmentation での G_dec の改善 n 2つの顔画像の中間特徴量も有効な特徴量であるはず n 中間特徴量を用いて生成した画像に対しても D, G を学習 させる 18

19.

Experiment Datasets ❏ Multi-PIE(学習,テストに使用) n 9 種類の角度(-60°~+60°),20種類の明るさ, 337人分 n 13種類の角度(-90°~+90°) でも同様に学習 ❏ CASIA WebFace(学習用) n 10,575 人 494,414枚の正面に近い顔画像 n 姿勢は予め別の3D face alignment モデル13の姿勢を推定 ❏ ALFW(学習用) n 25,993枚の画像, 姿勢のバリエーションを加えるために追加 ❏ CFP(テスト用) n 500人 正面10枚と横顔4枚 のセレブ顔画像 ❏ IJB-A(テスト用) n 500 人,5,696画像,20412 フレーム(ビデオ) 19

20.

Single, Multiple Image DR-GAN の比較 20 ❏ Multiple DR-GAN の方が識別精度は上(以降は6枚fuseのモデルで他と比較) n 用いる画像が多いほど良い n 単に平均するより学習した特徴量の重みを用いたほうが良い

21.

Multiple Image DR-GAN と他モデルの比較 ❏ DR-GAN の方が角度がついた顔画像の個人識別能力が高い 21

22.

Multiple Image DR-GAN と他モデルの比較 ❏ DR-GAN の方が様々な角度がついたIJB-A における顔個人識別能力が高い 22

23.

顔画像生成におけるL2_Loss と Adversarial Loss の比較 ❏ Adversarial Loss の方がより詳細まで生成できている n L2 Loss結果では Gの訓練に 指定した姿勢のGTと生成画像間のL2 Loss を用いた 23

24.

DR-GAN 顔画像生成能力の特徴量補間による評価 ❏ 顔特徴量補間 ❏ 姿勢の補間 ❏ ノイズの補間 24

25.

DR-GAN のCFPデータに対する画像生成 (a) 入力 (b) 出力 (c) データの正面画像 (d) 姿勢変換結果 n 15°, 30°, 45° 25

26.

Multi_DR-GAN における入力画像の質と重みの関係 ❏ 入力画像の見た目の質と,出力される重みの大きさに相関 n より綺麗で顔画像の情報を持つ画像ほど重みが大きい傾向 - 高解像度, オクルージョンが無い,正面画像 n 重みが大きい画像ほどその画像の個人識別精度も高い 26

27.

DR-GAN のIJB-Aデータに対する正面画像生成 n 27 各個人11枚の画像からそれ ぞれ11枚顔画像を生成 n 右端列は正面顔画像と,11 枚の顔画像から生成した正 面顔画像 n 左上の数値は各顔画像に対 して出力された特徴量重み

28.

DR-GAN のIJB-Aデータに対する正面画像生成 28 n 1行目:入力 n 2行目:出力 n 3行目:左側全ての入力を 用いて生成した出力 n 入力画像を増やしていくこ とによってより精緻な生成 が成されている