Upload
takuya-minagawa
View
3.150
Download
2
Embed Size (px)
Citation preview
第35回 CV勉強会「CVPR2016読み会」
Discriminative Invariant Kernel Features:
A Bells-and-Whistles-Free Approach to Unsupervised
Face Recognition and Pose Estimation
皆川卓也(takmin)
自己紹介
2
テクニカル・ソリューション・アーキテクト
皆川 卓也(みながわ たくや)フリーエンジニア(ビジョン&ITラボ)「コンピュータビジョン勉強会@関東」主催博士(工学)
略歴:1999-2003年日本HP(後にアジレント・テクノロジーへ分社)にて、ITエンジニアとしてシステム構築、プリセールス、プロジェクトマネジメント、サポート等の業務に従事
2004-2009年コンピュータビジョンを用いたシステム/アプリ/サービス開発等に従事
2007-2010年慶應義塾大学大学院 後期博士課程にて、コンピュータビジョンを専攻単位取得退学後、博士号取得(2014年)
2009年-現在フリーランスとして、コンピュータビジョンのコンサル/研究/開発等に従事
http://visitlab.jp
紹介論文
Discriminative Invariant Kernel Features: A Bells-and-Whistles-Free Approach to Usupervised Face Recognition and Pose Estimation
Dipan K. Pal, Felix Juefe-Xu, Marios Savvides
Carnegie Mellon University
顔向き変化にロバストな人物推定、および人の違いにロバストな顔向き推定を1つのフレームワーク内で行う
Linear Invariant Random Features
I-theory
F.Anselmi, J.Z.Leibo, L.Rosasco, J.Mutch, A.Tacchetti, and T.Poggio. “Magic materials: a theory of deep hierarchical architectures for learning sensory representations”. MIT, CBCL paper, 2013
CNNやHMAXなど視覚皮質のモデルに共通する性質をモデル化
視覚皮質は、たとえ顔の向きや照明環境が変わっても識別することができる(SelectivityとInvarianceの両立)
視覚皮質のモデルではConvolution(Selectivity)とPooling(Invariance)が交互に現れる
ConvolutionとPoolingを一般化
Linear Invariant Random Features
変換のユニタリ群G
とりあえず、回転などの画像の幾何学変換をあらわすユニタリ変換の有限な集合という理解でOK
画像𝑰
𝑔1 𝑰 𝑔2 𝑰 𝑔3 𝑰 𝑔4 𝑰 𝑔5 𝑰 𝑔6 𝑰
𝑔𝑛 ∈ 𝐺
Linear Invariant Random Features
変換のユニタリ群G
orbits上の画像はユニタリ変換𝑔𝑛 ∈ 𝐺により同一orbits上へ変換される
画像𝑰
𝑔1 𝑰 𝑔2 𝑰 𝑔3 𝑰 𝑔4 𝑰 𝑔5 𝑰 𝑔6 𝑰
𝑔𝑛 ∈ 𝐺
orbits
これらの変換に不変な特徴を作れないか?
Linear Invariant Random Features
orbitsから分布𝑃𝐼を生成することで、変換𝑔𝑛 ∈ 𝐺に対して不変な特徴とする 𝑔𝑛(𝑰)をテンプレート𝒕との内積用いて1次元へ投影
𝑔1 𝑰 𝑔2 𝑰 𝑔3 𝑰 𝑔4 𝑰 𝑔5 𝑰 𝑔6 𝑰
orbits
𝑔𝑛 𝑰 , 𝒕
𝑃𝐼 = (𝑝1, … , 𝑝6)t
Linear Invariant Random Features
orbitsから分布𝑃𝐼を生成することで、変換𝑔𝑛 ∈ 𝐺に対して不変な特徴とする 𝑔𝑛(𝑰)をテンプレート𝒕との内積用いて1次元へ投影
𝑔𝑛 𝑰 , 𝒕 = 𝑰, 𝑔𝑛−1 𝒕 (1)
𝑔𝑛はユニタリ変換なので、以下が成り立つ
画像𝑰を変換するのではなく、テンプレート𝒕を変換しておく
Linear Invariant Random Features
クラスごとの変換Gに不変な特徴量
𝜇𝑘 𝐼 =1
𝑁
𝑛𝜂 𝑰, 𝑔𝑛 𝒕𝑘
クラスk用のテンプレート
非線形Threshold関数
1. クラスk用のテンプレート𝒕𝑘に対してユニタリ群G内の全て(N個)の変換をかける
2. 変換した各テンプレートと画像との内積を計算3. 内積の値を変換 (𝜂:ℝ → ℝ)4. 平均をクラスkにおける特徴量とする
Linear Invariant Random Features
クラスごとの変換Gに不変な特徴量
𝜇𝑘 𝐼 =1
𝑁
𝑛𝜂 𝑰, 𝑔𝑛 𝒕𝑘
• 𝑚 = 1 のとき Average Pooling• 𝑚 = ∞ のとき Max Pooling
𝜇𝑘 𝐼 =1
𝑁
𝑛𝑰, 𝑔𝑛 𝒕𝑘
𝑚
𝜂がモーメントの時
Discriminative Invariant Linear Features
(DILF)
テンプレートの学習
入力ベクトルを直接クラスへ変換するテンプレートを求める
𝐗T𝒕𝑘 = 𝒖𝑘
𝒕𝑘 = 𝐗 𝐗T𝐗−1𝒖𝑘
𝒖𝑘 = 0,… , 0,1,0, … , 0 T
𝐗がクラス𝑘に属する場合
𝑘番目の要素𝐗 ∈ ℝ𝑑×𝐾
Discriminative Invariant Linear Features
(DILF)
orbit上のテンプレートの学習
変換した画像から直接テンプレートを計算する
𝐗𝑛 = 𝑔𝑛 𝐗
𝐗𝒏がクラス𝑘に属する場合
変換𝑔𝑛 ∈ 𝐺ごと、およびクラスごとテンプレートを計算する
𝑔𝑛 ∈ 𝐺
𝒕𝑘𝑛 = 𝐗𝑛 𝐗𝑛T𝐗𝑛
−1𝒖𝑘
Discriminative Invariant Linear Features
(DILF)
識別1. 入力ベクトルと全てのテンプレートとの内積
を計算
𝑿, 𝒕𝑘𝑛 ~ 𝑔𝑛 𝑿 , 𝒕𝑘02. 同一orbit上の計算結果を統合
𝜇𝑘 𝐼 =1
𝑁σ𝑛 𝜂 𝑰, 𝑔𝑛 𝒕𝑘
Discriminative Invariant Linear Features
(DILF)
識別1. 入力ベクトルと全てのテンプレートとの内積
を計算
𝑿, 𝒕𝑘𝑛 ~ 𝑔𝑛 𝑿 , 𝒕𝑘02. 同一orbit上の計算結果を統合
𝜇𝑘 𝐼 =1
𝑁σ𝑛 𝜂 𝑰, 𝑔𝑛 𝒕𝑘
3. K次元ベクトルの各要素から最も大きい値を持つものを求めるクラスとする
Kernel法のおさらい
入力ベクトルを関数Φで高次元ヒルベルト空間ℍへ変換
カーネル関数を用いることで高次元空間で直接内積を計算せずに済む(カーネルトリック)
ここでは𝜎 = 3のガウスカーネルを使用
𝑘 𝒙, 𝒚 = exp −𝒙 − 𝒚 2
2𝜎2
テイラー展開すると無限次元ベクトルΦ(𝒙)とΦ(𝒚)の内積で表せる
Discriminative Invariant Kernel Features
(DIKF)
DILFに対してカーネルを用いることで、高次元ヒルベルト空間で学習および識別を行う
𝐗𝒏がクラス𝑘に属する場合のテンプレート
𝒕𝑘𝑛 = 𝐗𝑛 𝐗𝑛T𝐗𝑛
−1𝒖𝑘
DILF
Φ 𝒕𝑘𝑛 = Φ 𝐗𝑛 Φ 𝐗𝑛 ⋅ Φ 𝐗𝑛−1𝒖𝑘 (2)
DIKF
Discriminative Invariant Kernel Features
(DIKF)
DILFに対してカーネルを用いることで、高次元ヒルベルト空間で学習および識別を行う
𝐗𝒏がクラス𝑘に属する場合のテンプレート
𝒕𝑘𝑛 = 𝐗𝑛 𝐗𝑛T𝐗𝑛
−1𝒖𝑘
DILF
Φ 𝒕𝑘𝑛 = Φ 𝐗𝑛 Φ 𝐗𝑛 ⋅ Φ 𝐗𝑛−1𝒖𝑘 (2)
DIKF
グラム行列
𝑘 𝒙𝑛1, 𝒙𝑛1 ⋯ 𝑘 𝒙𝑛1, 𝒙𝑛𝐾⋮ ⋱ ⋮
𝑘 𝒙𝑛𝐾 , 𝒙𝑛1 ⋯ 𝑘 𝒙𝑛𝐾 , 𝒙𝑛𝐾
Discriminative Invariant Kernel Features
(DIKF)
不変な特徴を生成するためには、フィルタ𝒕𝑘𝑛はユニタリ
群G上での変換である必要
Φ 𝒕𝑘𝑛 = Φ 𝐗𝑛 Φ 𝐗𝑛 ⋅ Φ 𝐗𝑛−1𝒖𝑘 (2)
DIKF
カーネルΦはユニタリカーネルでなくてはならない
Discriminative Invariant Kernel Features
(DIKF)
ユニタリ変換𝑔に対し、以下を満たすカーネル𝑘 𝑥, 𝑦 =𝜙 𝑥 ,𝜙 𝑦 を「ユニタリカーネル」と定義する
𝜙 𝑔𝑥 , 𝜙 𝑔𝑦 = 𝜙 𝑥 , 𝜙 𝑦
例:ガウスカーネル
𝑘 𝑔 𝒙 , 𝑔 𝒚 = exp −𝑔 𝒙 − 𝑔 𝒚 2
2𝜎2
= exp −𝑔 𝒙 − 𝒚 2
2𝜎2= exp −
𝒙 − 𝒚 2
2𝜎2
= 𝑘 𝒙, 𝒚ユニタリ変換なのでノルムは変わらない
Discriminative Invariant Kernel Features
(DIKF)
Φ 𝒕𝑘𝑛 = Φ 𝐗𝑛 Φ 𝐗𝑛 ⋅ Φ 𝐗𝑛−1𝒖𝑘
(3)
証明:
= Φ 𝑔𝑛 𝐗1 Φ 𝑔𝑛 𝐗1 ⋅ Φ 𝑔𝑛 𝐗1−1𝒖𝑘 (4)
= Φ 𝑔𝑛 𝐗1 Φ 𝐗1 ⋅ Φ 𝐗1−1𝒖𝑘 (5)
= Φ 𝑔𝑛 𝐗1 𝒗𝑘 = ҧ𝑔𝑛 Φ 𝐗1 𝒗𝑘 (6)
(7)= ҧ𝑔𝑛 Φ 𝐗1 𝒗𝑘
ユニタリカーネル
カーネルヒルベルト空間上の𝒈𝒏
顔認識への適用
画像平面に対して奥行方向への顔の回転は、スケール変化や平面上の回転、平行移動などと比べて認識が困難
小さな変化であればユニタリ群Gで近似可能
1. 3D generic elastic model (3DGEM)という手法で訓練用の各顔画像の3Dモデルを作成
K個の顔に対してN個のポーズ
2. 顔画像は2つの目の中心で位置合わせ
3. 以下の流れで顔の識別用特徴を抽出
実験: 姿勢変化に頑健な顔認識A
顔の奥行方向の回転に対して不変になるようAlgorithm 1で学習
1000人の正面顔画像から3D-GENで-40度から+40度の範囲のyaw角、-20度から+20度の範囲のpitch角について5度ずつ傾いた顔画像を作成(計:153,000枚)
𝑙∞-DIKFと𝑙1-DIKFを、250人のデータに対して学習し、750人のデータに対してOpen Set face verification protocolでテスト
実験: 姿勢変化に頑健な顔認識
NDPについては以下を参照Q.Liao, J.Z.Leibo, and T.Poggio. “Learning invariant representations and applications to face verification”. NIPS, 2013
実験: 姿勢変化に頑健な顔認識B
顔の奥行方向の回転に対して頑健になるよう学習(Level1)
続けて画像平面上の回転、スケール変化、平行移動に対して頑健になるよう学習(Level2) Level1で学習した特徴を学習に使用
評価時に顔のランドマーク情報は使わなかった(Alignment free)
100人の画像から3Dモデルを作成し、Level2学習用画像を生成
評価用データ中ランダムに選んだ100人に対してLevel1、Level2それぞれの変換を加えた画像を一人当たり15,300枚生成
実験:顔姿勢推定
人物の違いに対して不変になるようAlgorithm 1で学習
350人の正面顔画像から3D-GENで-40度から+40度の範囲のyaw角、-20度から+20度の範囲のpitch角について15枚の顔画像を作成(計:5259枚)
𝑙∞-DIKFと𝑙1-DIKFを、250人のデータに対して学習し、100人のデータに対してテスト