fisher vectorによる画像認識
DESCRIPTION
文献紹介のスライドです。学部4年生〜修士課程1年生くらい向けです。1枚目に8本の文献リストを載せていますが、最初の3本しか説明していません。 - p. 26のωに対するFisher Vectorの式を修正したました (2014/01/14)TRANSCRIPT
![Page 1: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/1.jpg)
フィッシャーベクトルによる画像認識
[0] 赤穂昭太郎,カーネル多変量解析,岩波書店,2009.
[1] F. Perronnin and C. Dance, “Fisher Kernels on Visual Vocabularies for Image Categorization,” in IEEE Conference on Computer Vision and Pattern Recognition, 2007.
[2] F. Perronnin, S. Jorge, and T. Mensink, “Improving the Fisher Kernel for Large-Scale Image Classification,” in European Conference on Computer Vision, 2010.
[3] F. Perronnin, Y. Liu, J. Sanchez, and H. Poirier, “Large-scale image retrieval with compressed Fisher vectors,” in IEEE Conference on Computer Vision and Pattern Recognition, 2010.
[4] J. Sanchez and F. Perronnin, “High-dimensional signature compression for large-scale image classification,” in IEEE Conference on Computer Vision and Pattern Recognition, 2011.
[5] J. Krapac, J. Verbeek, and F. Jurie, “Modeling spatial layout with fisher vectors for image categorization,” in International Conference on Computer Vision, 2011.
[6] V. Garg, S. Chandra, and C. V. Jawahar, “Sparse discriminative Fisher vectors in visual classification,” in Indian Conference on Computer Vision, Graphics and Image Processing, 2012.
[7] J. Sánchez, F. Perronnin, and T. de Campos, “Modeling the spatial layout of images beyond spatial pyramids,” Pattern Recognition Letters, vol. 33, pp. 2216–2223, Dec. 2012.
2013/04/24 上智大学 山中高夫
![Page 2: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/2.jpg)
パターン認識におけるカーネル法
赤穂昭太郎,カーネル多変量解析,岩波書店,2009.
![Page 3: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/3.jpg)
多変量解析(1)
𝑦 = 𝒘𝑇𝒙 = 𝑤𝑚𝑥𝑚
𝑑
𝑚=1
線形モデル
評価関数
𝑅 𝒘 = 𝑦𝑗 −𝒘𝑇𝒙𝑗2
𝑁
𝑗=1
行列表現
𝒚 =
𝑦1
𝑦2
⋮𝑦𝑛
, 𝐗 =
𝒙1𝑇
𝒙2𝑇
⋮
𝒙𝑛𝑇
=
𝑥11
𝑥12
⋮𝑥1𝑛
⋯
𝑥𝑑1
𝑥𝑑2
⋮𝑥𝑑𝑛
𝑦1
𝑦2
⋮𝑦𝑛
=
𝑥11
𝑥12
⋮𝑥1𝑛
⋯
𝑥𝑑1
𝑥𝑑2
⋮𝑥𝑑𝑛
𝑤1𝑤2⋮𝑤𝑑
𝒚 = 𝐗𝒘
![Page 4: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/4.jpg)
多変量解析(2)
最小2乗解
𝒚 = 𝐗𝒘
𝑅 𝒘 = 𝒚 − 𝐗𝒘 𝑇(𝒚 − 𝐗𝒘)
𝜕𝑅 𝒘
𝜕𝒘&=𝜕
𝜕𝒘𝒚𝑇𝒚 − 2𝒘T𝐗𝑇𝒚 + 𝒘𝑇𝐗𝑇𝐗𝒘
&= −2𝐗𝑇𝒚 + 2𝐗𝑇𝐗𝒘
𝑅 𝒘 が最小になる𝒘では,微分が0になるので(極値なので)
−2𝐗𝑇𝒚 + 2𝐗𝑇𝐗𝒘 = 0
𝐗𝑇𝐗 −1 𝐗𝑇𝐗 𝒘 = 𝐗𝑇𝐗 −1𝐗𝑇𝒚
𝒘 = 𝐗𝑇𝐗 −1𝐗𝑇𝒚 近似直線を表すパラメータ
![Page 5: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/5.jpg)
カーネル法(1)
𝑦 = 𝒘𝑇𝒙
線形モデル
𝑦&= 𝛼𝑖𝑘 𝒙𝑖 , 𝒙
𝑛
𝑖=1
&= 𝛼𝑖𝝓 𝒙𝑖𝑇𝝓 𝒙
𝑛
𝑖=1
&= 𝛼𝑖𝝓 𝒙𝑖𝑇
𝑛
𝑖=1
𝝓 𝒙
&= 𝒘𝑇𝝓 𝒙
カーネル関数を使った非線形モデル
𝑘 𝒙𝑖 , 𝒙 = 𝝓 𝒙𝑖𝑇𝝓 𝒙
𝒙𝑖は𝑛点のサンプルのうちの一つ
線形モデルにおける𝒙を非線形関数𝝓 𝒙 に置き換えたモデル
ただし,
カーネル関数 𝒙𝑖 , 𝒙の類似度を表す
![Page 6: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/6.jpg)
カーネル法(2)
𝑦&= 𝒘𝑇𝝓 𝒙
&= 𝛼𝑖𝑘 𝒙𝑖 , 𝒙
𝑛
𝑖=1
カーネル関数を使った非線形モデル
𝑘 𝒙𝑖 , 𝒙 = 𝝓 𝒙𝑖𝑇𝝓 𝒙
最小2乗解
𝒚 = 𝐊𝜶 𝒚 =
𝑦1
𝑦2
⋮𝑦𝑛
, 𝐊 =
𝑘(𝑥1, 𝑥1)𝑘(𝑥1, 𝑥2)⋮
𝑘(𝑥1, 𝑥𝑛)
⋯
𝑘(𝑥𝑛, 𝑥1)𝑘(𝑥𝑛, 𝑥2)⋮
𝑘(𝑥𝑛, 𝑥𝑛)
, 𝜶 =
𝛼1𝛼2⋮𝛼𝑛
𝑅 𝜶 = 𝒚 − 𝐊𝜶 𝑇(𝒚 − 𝐊𝜶)
𝜶 = 𝐊𝑇𝐊 −1𝐊𝑇𝒚 非線形モデルのパラメータ
𝐊を対称行列とすると
𝜶 = 𝐊2 −1𝐊𝒚 = 𝐊−1𝐲
全てのデータ間の類似度𝐊を定義できれば,非線形関数𝝓 𝒙 を明示的に定義する必要がない
![Page 7: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/7.jpg)
カーネル法(3)
正則化:関数に制限をつけてオーバーフィッティングを防ぐ
𝒚 = 𝐊𝜶
𝑅 𝜶 = 𝒚 − 𝐊𝜶 𝑇 𝒚 − 𝐊𝜶 + 𝜆𝜶𝑇𝐊𝜶
非線形モデルのパラメータ
𝜕𝑅 𝜶
𝜕𝜶&=𝜕
𝜕𝜶𝒚𝑇𝒚 − 2𝜶T𝐊𝑇𝒚 + 𝜶𝑇𝐊𝑇𝐊𝜶 + 𝜆𝜶𝑇𝐊𝜶
&= −2𝐊𝑇𝒚 + 2 𝐊𝑇 + 𝜆𝐈 𝐊𝜶
𝜶 = 𝐊𝑇 + 𝜆𝐈 𝐊 −1𝐊𝑇𝒚
𝐊を対称行列とすると
−2𝐊𝒚 + 2 𝐊 + 𝜆𝐈 𝐊𝜶 = 𝟎
𝐊𝐊 + 𝜆𝐊 𝜶 = 𝐊𝒚
𝐊 + 𝜆𝐈 𝜶 = 𝒚
𝜶 = 𝐊 + 𝜆𝐈 −1𝒚
正則化項
![Page 8: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/8.jpg)
カーネル関数の設計(1)
𝑘 𝒙𝑖 , 𝒙 = 𝝓 𝒙𝑖𝑇𝝓 𝒙
𝐊 =
𝑘(𝑥1, 𝑥1)𝑘(𝑥1, 𝑥2)⋮
𝑘(𝑥1, 𝑥𝑛)
⋯
𝑘(𝑥𝑛, 𝑥1)𝑘(𝑥𝑛, 𝑥2)⋮
𝑘(𝑥𝑛, 𝑥𝑛)
カーネル法のモデルパラメータを推定するためには,この行列が定義出来ればよい
例1)ガウスカーネル
𝑘 𝒙𝑖 , 𝒙 = exp −𝛽 𝒙𝑖 − 𝒙2
近い点同士は高い類似度を,遠い点同士は低い類似度を割り当てる
![Page 9: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/9.jpg)
カーネル関数の設計(2)
例2)フィッシャーカーネル
𝒙がパラメータ𝜽をもつ確率分布𝑝 𝒙; 𝜽 から生成されるとする
𝑝 𝒙 = 𝜋𝑘 exp −1
2𝒙 − 𝝁𝑘
𝑇𝚺𝑘−1 𝒙 − 𝝁𝑘
𝐾
𝑘=1
例えば,Gaussian Mixture Model (GMM)
𝜽 = 𝜋2, ⋯ , 𝜋𝐾, 𝝁1, ⋯ , 𝝁𝐾 , 𝚺1, ⋯ , 𝚺𝐾
スコア関数
𝒔 𝒙; &𝜽 =𝜕 log 𝑝 𝒙; 𝜽
𝜕𝜃1, ⋯ ,𝜕 log 𝑝 𝒙; 𝜽
𝜕𝜃𝑀
𝑇
= 𝜃1, ⋯ , 𝜃𝑀
仮定した確率分布𝑝 𝒙; 𝜽 を利用して,あるデータ𝒙及びあるパラメータ𝜽からスコア関数を計算できる.スコア関数は確率分布の対数をとったlog 𝑝 𝒙; 𝜽 に対して,パラメータ𝜽に関する偏微分を計算したベクトルである.
与えられたデータ𝒙を代入したlog 𝑝 𝒙; 𝜽 の𝜽に関する傾きを表す
![Page 10: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/10.jpg)
カーネル関数の設計(3)
例2)フィッシャーカーネル(続き)
𝐺 𝜽 = E𝒙 𝒔 𝒙; &𝜽 𝒔 𝒙; &𝜽𝑇
フィッシャー情報行列
パラメータ数𝑀 ×𝑀の行列
𝑘 𝒙𝑖 , 𝒙; 𝜽 = 𝒔 𝒙𝑖; &𝜽𝑇𝐺−1 𝜽 𝒔 𝒙; &𝜽
フィッシャーカーネル
フィッシャー情報行列における期待値を計算できないことが多いので,実際にはサンプル平均で置き換えることが多い
𝐺 𝜽 &= E𝒙 𝒔 𝒙; &𝜽 𝒔 𝒙; &𝜽𝑇
&≅1
𝑛 𝒔 𝒙𝑖; &𝜽 𝒔 𝒙𝑖; &𝜽
𝑇
𝑛
𝑖=1
スコア行列はあるデータ𝒙, あるパラメータ𝜽において計算するが,フィーシャーカーネルはフィッシャー情報行列の逆行列で正規化することによりパラメータ𝜽に依存しない値になる
![Page 11: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/11.jpg)
Fisher Kernels on Visual Vocabularies for Image Categorization
F. Perronnin and C. Dance, IEEE Conference on Computer Vision and Pattern Recognition, 2007.
![Page 12: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/12.jpg)
画像認識 (Image Categorization)
Airplane Ant Butterfly Camera Chair Dolphin
![Page 13: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/13.jpg)
Bag of Visual Words / Bag of Features
Bag of Visual Wordsにおける処理の流れ
1. 画像から局所特徴量の抽出
2. ベクトル量子化による画像特徴量の表現
3. 識別器による画像識別
画像から局所特徴量の抽出
0 5 10 15 20 250
5
10
15
20
25
30
35
1 2 3 4 5 6 70
50
100
150
200
250
300
350
400
ベクトル量子化による画像特徴量の表現
𝜙
識別器による画像識別
![Page 14: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/14.jpg)
Bag of Visual Words (1)
1. 画像から局所特徴量の抽出
赤で示した各点で,その周辺のパッチから特徴量ベクトル(局所特徴量)を抽出する 点の設定方法 1.キーポイント検出器 2. GRID
よく利用される局所特徴量は,SIFT (Scale-Invariant Feature Transform)
コンピュータ最先端ガイド2,第1章,アドコム・メディア,2010
![Page 15: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/15.jpg)
0 5 10 15 20 250
5
10
15
20
25
30
35
Bag of Visual Words (2)
2. ベクトル量子化による画像特徴量の表現
𝑥1
𝑥2
1 2 3 4 5 6 70
50
100
150
200
250
300
350
400
1
2
3
4
5 6
7
ベクトル量子化ヒストグラム
1枚の画像における局所特徴量分布(特徴量空間にプロット)
![Page 16: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/16.jpg)
Bag of Visual Words (3)
3. 識別器による画像識別
𝜙
ベクトル量子化ヒストグラムの特徴量空間
カーネル関数を利用した高次元空間への写像
線形の超平面による識別
Support Vector Machine (SVM)による識別
![Page 17: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/17.jpg)
Bag of Visual Wordsにおける課題
膨大な量の画像データを処理するために,計算量を可能な限り小さくしたい
1. コンパクトな画像特徴量表現: 少ないVisual Word数
2. ユニバーサルなVisual Words(辞書): 辞書の学習データに依存しな
い認識精度
一般に両立しない
• 少ないVisual Word数で高精度の認識を可能にするためには,評
価する画像をよく表現するVisual Wordsを用意する必要がある
• 評価画像に特化したVisual Wordsになるため,他のデータベース
画像に対しては精度が低下する可能性が高い
フィッシャーカーネルを利用して,出来る限り少ないVisual Word数で表現力が豊かな画像特徴量表現を検討する
![Page 18: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/18.jpg)
0 5 10 15 20 250
5
10
15
20
25
30
35
フィッシャーカーネルの利用(1)
0 5 10 15 20 250
5
10
15
20
25
30
35
𝑥1
𝑥2
1
2
3
4
5 6 7
1 2 3 4 5 6 70
50
100
150
200
250
300
350
400
𝑥1
𝑥2
𝑝 𝒙 = 𝜋𝑘 exp −1
2𝒙 − 𝝁𝑘
𝑇𝚺𝑘−1 𝒙 − 𝝁𝑘
𝐾
𝑘=1
𝜽 = 𝜋2, ⋯ , 𝜋𝐾, 𝝁1, ⋯ , 𝝁𝐾 , 𝚺1, ⋯ , 𝚺𝐾
= 𝜃1, ⋯ , 𝜃𝑀
Gaussian Mixture Model(GMM)による局所特徴量分布の表現
ベクトル量子化による特徴量分布表現
1&&&&&2&&&&&3&&&&&4&&&&&5&&&&&6&&&&&7
![Page 19: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/19.jpg)
フィッシャーカーネルの利用(2)
• 各画像に対してGMMのパラメータを計算するのは計算コストが高い • あらかじめ多くの画像の局所特徴量から,様々な画像の局所特徴量に対
するGMMパラメータを求める(Visual Words辞書学習) • 各画像に対して,GMMのパラメータをどのように変化させるとその画
像にフィットするGMMが求まるかで画像特徴量を表現する → フィッシャーベクトル
-5 0 5 10 15 20 25 30 35-5
0
5
10
15
20
25
30
35
0 5 10 15 20 250
5
10
15
20
25
30
35
𝑥1
𝑥2
𝑥1
𝑥2
多くの画像の局所特徴量に対するGMM (Visual Words辞書に対応)
辞書のGMMパラメータを変化させて, 1枚の画像に対する局所特徴量分布にフィッティング
![Page 20: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/20.jpg)
フィッシャーカーネルの理論(1)
GMMに限らず,局所特徴量分布を𝑝 𝒙|𝜽 の確率密度関数で表す ただし,𝜽は確率密度関数のパラメータ
𝑝 𝒙|𝜽 = 𝜋𝑘 exp −1
2𝒙 − 𝝁𝑘
𝑇𝚺𝑘−1 𝒙 − 𝝁𝑘
𝐾
𝑘=1
𝜽 = 𝜋2, ⋯ , 𝜋𝐾, 𝝁1, ⋯ , 𝝁𝐾 , 𝚺1, ⋯ , 𝚺𝐾 = 𝜃1, ⋯ , 𝜃𝑀
例えば,GMMの場合は,
サンプル𝑿 = 𝒙𝑡, 𝑡 = 1, 2,⋯ , 𝑇 に対して,対数尤度は,
𝐿 𝑿 𝜽 = log 𝑝 𝑿|𝜽
であり,各サンプルが独立であると仮定すると,
𝐿 𝑿 𝜽 &= log 𝑝 𝑿|𝜽
&= log 𝑝 𝒙1, 𝒙2, ⋯ , 𝒙𝑇|𝜽
&= log 𝑝 𝒙1|𝜽 𝑝 𝒙2|𝜽 ⋯𝑝 𝒙𝑇|𝜽
&= log 𝑝 𝒙1|𝜽 + log 𝑝 𝒙2|𝜽 + ⋯+ log 𝑝 𝒙𝑇|𝜽
&= log𝑝 𝒙𝑡|𝜽
𝑇
𝑡=1
![Page 21: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/21.jpg)
フィッシャーカーネルの理論(2)
フィッシャーカーネル(フィッシャーベクトル)を定義するために,スコア関数を以下の式で定義する
𝒔 𝑿|𝜽 &= 𝛻𝜃 log 𝑝 𝑿|𝜽
&=𝜕 log 𝑝 𝑿|𝜽
𝜕𝜃1, ⋯ ,𝜕 log 𝑝 𝑿|𝜽
𝜕𝜃𝑀
𝑇
𝑭𝜽 = E𝑿 𝒔 𝑿|𝜽 𝒔 𝑿|𝜽𝑇
フィッシャー情報行列
パラメータ数𝑀 ×𝑀の行列
𝑘 𝑿𝑖 , 𝑿|𝜽 =1
𝑇𝒔 𝑿𝑖|𝜽
𝑇
𝑭𝜽−1 1
𝑇𝒔 𝑿|𝜽
フィッシャーカーネル
確率密度関数のモデルをデータ𝑿 = 𝒙𝑡, 𝑡 = 1, 2,⋯ , 𝑇 にフィッティングするため,モデルパラメータ𝜽を変化させる方向
確率密度関数モデルの勾配方向をフィッシャー情報行列で正規化
𝑔𝜽𝑿 =1
𝑇𝑳𝜽𝒔 𝑿|𝜽 = 𝑳𝜽
1
𝑇𝛻𝜃 log 𝑝 𝑿|𝜽
フィッシャーベクトル
とおくと,フィッシャーカーネルはフィッシャーベクトルの内積で表現できる
𝑘 𝑿𝑖 , 𝑿|𝜽 = 𝑔𝜽𝑿𝑖𝑇𝑔𝜽𝑿 つまり,カーネル法において𝝓 𝑿 = 𝑔𝜽
𝑿
𝑭𝜽−1 = 𝑳𝜽
𝑻𝑳𝜽
![Page 22: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/22.jpg)
フィッシャーカーネルの理論(3)
0 5 10 15 20 250
5
10
15
20
25
30
35
𝑥1
𝑥2
-5 0 5 10 15 20 25 30 35-5
0
5
10
15
20
25
30
35
𝑥1
𝑥2
多くの画像の局所特徴量に対するGMM (Visual Words辞書に対応)
辞書のGMMパラメータを変化させて, 1枚の画像に対する局所特徴量分布にフィッティング
• あらかじめ,多くの画像の局所特徴量から,確率密度関数のモデル𝑝 𝒙|𝜽 に最もフィットするパラメータ𝜽を求める
• 一枚の画像に対して,局所特徴量𝑿 = 𝒙𝑡, 𝑡 = 1,⋯ , 𝑇 を計算し, 𝑿にフィットするように,パラメータ𝜽に対するlog 𝑝 𝑿|𝜽 の勾配ベクトルを計算する
𝒔 𝑿|𝜽 &= 𝛻𝜃 log 𝑝 𝑿|𝜽
&=𝜕 log 𝑝 𝑿|𝜽
𝜕𝜃1, ⋯ ,𝜕 log 𝑝 𝑿|𝜽
𝜕𝜃𝑀
𝑇
フィッシャーベクトルを計算する具体的手順
𝑔𝜽𝑿 =1
𝑇𝑳𝜽𝒔 𝑿|𝜽
• 以下の式でフィッシャーベクトルを計算する
• フィッシャーカーネルは𝑔𝜽𝑿の内積で表されるので,
内積を使った線形SVMによりフィッシャーカーネルを使ったSVMによる識別を実現できる
![Page 23: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/23.jpg)
GMMに対するフィッシャーベクトル(1)
𝑝 𝒙|𝜽 = 𝜋𝑘 exp −1
2𝒙 − 𝝁𝑘
𝑇𝚺𝑘−1 𝒙 − 𝝁𝑘
𝐾
𝑘=1
= 𝜔𝑘𝑝𝑘 𝒙|𝜽
𝐾
𝑘=1
𝜽 = 𝜔2, ⋯ , 𝜔𝐾, 𝝁1, ⋯ , 𝝁𝐾 , 𝚺1, ⋯ , 𝚺𝐾 = 𝜃1, ⋯ , 𝜃𝑀 , M = (2𝑑 + 1)𝐾 − 1
確率密度関数のモデルをGMMとすると,パラメータ𝜽は𝐾個のガウス分布の重み,平均,共分散行列である(ただし,確率密度関数の面積を1にするため,1番目の重みパラメータは他の重みから決定される)
サンプル𝑿 = 𝒙𝑡, 𝑡 = 1, 2,⋯ , 𝑇 に対して,対数尤度は,
𝐿 𝑿 𝜽 &= log 𝑝 𝑿|𝜽
&= log𝑝 𝒙𝑡|𝜽
𝑇
𝑡=1
&= log 𝜔𝑘𝑝𝑘 𝒙𝑡|𝜽
𝐾
𝑘=1
𝑇
𝑡=1
𝑝𝑘 𝒙|𝜽 =1
2𝜋 𝐷/2 Σ𝑘1/2exp −
1
2𝒙 − 𝝁𝑘
𝑇𝚺𝑘−1 𝒙 − 𝝁𝑘 , 𝜔𝑘
𝐾
𝑖=1
= 1
![Page 24: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/24.jpg)
GMMに対するフィッシャーベクトル(2)
サンプル𝑿 = 𝒙𝑡, 𝑡 = 1, 2,⋯ , 𝑇 に対して,対数尤度は,
𝐿 𝑿 𝜽 = log 𝜔𝑘𝑝𝑘 𝒙𝑡|𝜽
𝐾
𝑘=1
𝑇
𝑡=1
パラメータ𝜽に対する勾配ベクトルは,GMMの共分散行列Σ𝑘を対角行列と仮定すると,
𝜕𝐿 𝑿 𝜽
𝜕𝜔𝑖&=
−𝑝1 𝒙𝑡|𝜽 + 𝑝𝑖 𝒙𝑡|𝜽
𝜔𝑘𝑝𝑘 𝒙𝑡|𝜽𝐾𝑘=1
𝑇
𝑡=1
= 𝛾𝑡(𝑖)
𝜔𝑖−𝛾𝑡(1)
𝜔1
𝑇
𝑡=1
𝜕𝐿 𝑿 𝜽
𝜕𝜇𝑖𝑑 &= 𝛾𝑡 𝑖
𝜕
𝜕𝜇𝑖𝑑 −1
2𝒙𝑡 − 𝝁𝑖
𝑇𝚺𝑖−1 𝒙𝑡 − 𝝁𝑖
𝑇
𝑡=1
= 𝛾𝑡 𝑖𝑥𝑡𝑑 − 𝜇𝑖
𝑑
𝜎𝑖𝑑 2
𝑇
𝑡=1
𝜕𝐿 𝑿 𝜽
𝜕𝜎𝑖𝑑 &=
𝜔𝑖 𝜔𝑘𝑝𝑘 𝒙𝑡|𝜽𝐾𝑘=1
𝜕
𝜕𝜎𝑖𝑑 𝑝𝑖 𝒙|𝜽
𝑇
𝑡=1
= 𝛾𝑡 𝑖𝑥𝑡𝑑 − 𝜇𝑖
𝑑 2
𝜎𝑖𝑑 3
−1
𝜎𝑖𝑑
𝑇
𝑡=1
𝛾𝑡 𝑖 =𝜔𝑖𝑝𝑖 𝒙𝑡|𝜽
𝜔𝑘𝑝𝑘 𝒙𝑡|𝜽𝐾𝑘=1
, 𝜔1 = 1 − 𝜔𝑘
𝐾
𝑖=2
, 𝜎𝑖𝑑 2 = Σ𝑖(𝑑, 𝑑)
ただし,
𝑖 = 2,⋯ , 𝐾
![Page 25: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/25.jpg)
GMMに対するフィッシャーベクトル(3)
𝒔 𝑿|𝜽 &= 𝛻𝜃 log 𝑝 𝑿|𝜽
&=𝜕 log 𝑝 𝑿|𝜽
𝜕𝜃1, ⋯ ,𝜕 log 𝑝 𝑿|𝜽
𝜕𝜃𝑀
𝑇
以上で,1枚の画像の局所特徴量集合𝑿 = 𝒙𝑡, 𝑡 = 1, 2,⋯ , 𝑇 に対して,事前に学習したGMMパラメータ𝜽におけるスコア関数を計算できる
以下の式でフィッシャーベクトルを計算するためには,フィッシャー情報行列𝑭𝜽が求
まれば良い.𝑭𝜽−1 = 𝑳𝜽
𝑻𝑳𝜽として,
𝑔𝜽𝑿 =1
𝑇𝑳𝜽𝒔 𝑿|𝜽
フィッシャー情報行列𝑭𝜽は以下の仮定をおくと,右式のように近似できる (1) フィッシャー情報行列を対角行列とする
(計算を簡単にするため) (2) 各画像から得られる局所特徴量数は等しい (3) 𝛾𝑡 𝑖 は0もしくは1に近い値をとる(各画
像において,GMMの1つのガウス分布の寄与が他に比べて非常に大きい)
𝑓𝜔𝑡 &= 𝑇1
𝜔𝑖+1
𝜔1
𝑓𝑢𝑖𝑑 &= 𝑇
𝜔𝑖
𝜎𝑖𝑑 2
𝑓𝜎𝑖𝑑 &&= 𝑇
2𝜔𝑖
𝜎𝑖𝑑 2
ただし,𝑓𝜔𝑡 , 𝑓𝑢𝑖𝑑 , 𝑓𝜎𝑖
𝑑はそれぞれ
フィッシャー情報行列𝑭𝜽の対応するパラメータの対角成分とする
![Page 26: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/26.jpg)
GMMに対するフィッシャーベクトル(4)
𝑔𝜔𝑖𝑿 &=1
𝑇𝑇1
𝜔𝑖+1
𝜔1
−12
𝛾𝑡 𝑖
𝜔𝑖−𝛾𝑡 1
𝜔1
𝑇
𝑡=1
=1
𝑇 𝑇
1
𝜔𝑖+1
𝜔1
−12
𝛾𝑡 𝑖
𝜔𝑖−𝛾𝑡 1
𝜔1
𝑇
𝑡=1
𝑔𝜇𝑖𝑑𝑿 &=1
𝑇𝑇𝜔𝑖
𝜎𝑖𝑑 2
−12 𝛾𝑡 𝑖
𝑥𝑡𝑑 − 𝜇𝑖
𝑑
𝜎𝑖𝑑 2
𝑇
𝑡=1
=1
𝑇 𝑇𝜔𝑖 𝛾𝑡 𝑖
𝑥𝑡𝑑 − 𝜇𝑖
𝑑
𝜎𝑖𝑑
𝑇
𝑡=1
𝑔𝜎𝑖𝑑𝑿 &=1
𝑇𝑇2𝜔𝑖
𝜎𝑖𝑑 2
−12
𝛾𝑡 𝑖𝑥𝑡𝑑 − 𝜇𝑖
𝑑 2
𝜎𝑖𝑑 3
−1
𝜎𝑖𝑑
𝑇
𝑡=1
=1
𝑇 2𝑇𝜔𝑖 𝛾𝑡 𝑖
𝑥𝑡𝑑 − 𝜇𝑖
𝑑 2
𝜎𝑖𝑑 2
− 1
𝑇
𝑡=1
𝑔𝜽𝑿 =1
𝑇𝑳𝜽𝜕𝐿 𝑿|𝜽
𝜕𝜔2, ⋯ ,𝜕𝐿 𝑿|𝜽
𝜕𝜔𝐾,𝜕𝐿 𝑿|𝜽
𝜕𝜇1, ⋯ ,𝜕𝐿 𝑿|𝜽
𝜕𝜇𝐾,𝜕𝐿 𝑿|𝜽
𝜕𝜎1, ⋯ ,𝜕𝐿 𝑿|𝜽
𝜕𝜎𝐾
𝑇
フィッシャーベクトル計算式のまとめ
0 5 10 15 20 250
5
10
15
20
25
30
35
𝑥1
𝑥2
𝑔𝜔𝑖𝑿 &: 各ガウス分布の重み(寄与)
𝑔𝜇𝑖𝑑𝑿 : 各ガウス分布の平均ベクトル
𝑔𝜎𝑖𝑑𝑿 : 各ガウス分布の分散(大きさ)
フィッシャーベクトルの次元: (2𝑑 + 1)𝐾 − 1
![Page 27: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/27.jpg)
Improving the Fisher Kernel for Large-Scale Image Classification
F. Perronnin, S. Jorge, and T. Mensink, European Conference on Computer Vision, 2010.
![Page 28: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/28.jpg)
フィッシャーベクトルの課題
膨大な量の画像データを処理するために,計算量を可能な限り小さくしたい
1. コンパクトな画像特徴量表現: 少ないVisual Word数
2. ユニバーサルなVisual Words(辞書): 辞書の学習データに依存しな
い認識精度
フィッシャーベクトルにより少ないVisual Wordsでユニバーサルな辞書の作成ができた (CVPR2007)
フィッシャーベクトルを改良して,通常のBag of Visual Wordsより高い精度を実現する
1. L2正規化 2. パワー正規化 3. 空間ピラミッド
ただし,評価用データで辞書を学習した場合,Bag of Visual Wordsと同程度の認識精度しか得られず,精度向上ができていない
![Page 29: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/29.jpg)
L2正規化(1)
𝑔𝜽𝑿 =1
𝑇𝑳𝜽𝒔 𝑿|𝜽 = 𝑳𝜽𝑮𝜃
𝑿
フィッシャーベクトル
1枚の画像から得られる局所特徴量数𝑇が十分大きいと仮定すると,
多くの画像から得られた局所特徴量の確率密度関数を𝑝 𝑿|𝜽 = 𝑢𝜽 𝒙とすると
𝑮𝜃𝑿 =1
𝑇𝛻𝜃 log𝑢𝜽 𝒙𝑡
𝑇
𝑡=1
𝑮𝜃𝑿 &= 𝛻𝜃𝐸𝒙 log 𝑢𝜽 𝒙
&= 𝛻𝜃 𝑝 𝒙 log𝑢𝜽 𝒙𝒙
𝑑𝒙
1枚の画像から得られる局所特徴量の確率密度関数
多くの画像から得られる局所特徴量の確率密度関数 → 画像の背景と仮定
1枚の画像に対する期待値
𝑮𝜃𝑿 =1
𝑇𝒔 𝑿|𝜽 =
1
𝑇𝛻𝜃 log 𝑝 𝑿|𝜽 =
1
𝑇𝛻𝜃 log𝑝 𝒙𝑡|𝜽
𝑇
𝑡=1
![Page 30: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/30.jpg)
L2正規化(2)
1枚の画像から得られる局所特徴量の確率密度関数𝑝 𝒙 を背景𝑢𝜽 𝒙 と対象物体𝑞 𝒙 の確率密度関数の和で表す
𝑝 𝒙 = 𝜔𝑞 𝒙 + 1 − 𝜔 𝑢𝜃(𝒙) 𝑢𝜽 𝒙
𝑞 𝒙
𝑮𝜃𝑿 &= 𝛻𝜃 𝑝 𝒙 log𝑢𝜽 𝒙
𝒙
𝑑𝒙
&= 𝛻𝜃 𝜔𝑞 𝒙 + 1 − 𝜔 𝑢𝜃(𝒙) log 𝑢𝜽 𝒙𝒙
𝑑𝒙
&= 𝜔𝛻𝜃 𝑞 𝒙 log𝑢𝜽 𝒙𝒙
𝑑𝒙 + 1 − 𝜔 𝛻𝜃 𝑢𝜃(𝒙) log 𝑢𝜽 𝒙𝒙
𝑑𝒙
&= 𝜔𝛻𝜃 𝑞 𝒙 log𝑢𝜽 𝒙𝒙
𝑑𝒙 + 1 − 𝜔 𝛻𝜃𝐸𝑢𝜃 log 𝑢𝜽 𝒙
多くの画像から確率密度関数を最尤法で推定する場合,𝐸𝑢𝜃 log 𝑢𝜽 𝒙 が
最大となるように推定するので,𝛻𝜃𝐸𝑢𝜃 log 𝑢𝜽 𝒙 ≅ 0
∴ &𝑮𝜃𝑿 ≅ 𝜔𝛻𝜃 𝑞 𝒙 log 𝑢𝜽 𝒙
𝒙
𝑑𝒙
対象物体の確率密度関数𝑞 𝒙 に依存する ただし,背景と物体の混合比𝜔が残るので,正規化で排除する
𝑮𝜃𝑿
𝑮𝜃𝑿
𝐾 𝑋, 𝑌
𝐾 𝑋, 𝑋 𝐾(𝑌, 𝑌)
![Page 31: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/31.jpg)
パワー正規化
問題点 • フィッシャーベクトルは非常にスパース(フィッシャーベクトルは高次
元ベクトルであり,各要素に0が多い.特にガウス分布の混合数が多いと顕著)
• スパースなベクトル同士の距離を内積で評価すると精度が悪い 解決策 1. ベクトル同士の距離を内積ではなく,スパースなベクトルに対して精度
の良いものを使う → 計算コストが高い 2. ベクトルを出来る限りスパースではなくす
フィッシャーベクトルの第1要素の分布 GMMの混合数Kが増加するとスパースになりやすい
K=16 K=64 K=256 K=256
パワー正規化後
𝑓 𝑧 = 𝑠𝑖𝑔𝑛 𝑧 𝑧 𝛼
![Page 32: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/32.jpg)
空間ピラミッド
• Bag of Visual Wordsにおいて,画像を分割し,大まかな位置情報を付与すると精度がよくなることが知られている
![Page 33: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/33.jpg)
フィッシャーベクトルの評価実験
評価用データセット • PASCAL VOC 2007 (約10,000画像 @ 20カテゴリ) • CalTech256 (約30,000画像 @ 256カテゴリ) 局所特徴量 • パッチサイズ:32x32,グリッドサンプリング(間隔16画素),5スケール • 128次元のSIFT特徴量,及び96次元のカラー特徴量(各パッチにおいて,4x4
に領域を分けてそれぞれの領域におけるRGBの平均と分散を並べた特徴量) • SIFTとカラー特徴量は主成分分析(PCA)により64次元に圧縮して利用 Gaussian Mixture Model (GMM) • GMMの混合数K=256に設定 • GMMの学習には,最尤法(Maximum Likelihood Estimation)と標準的なEMア
ルゴリズムを使用 識別 • 線形SVMを使用 • SIFT特徴量とカラー特徴量を組み合わせるときは,それぞれで識別を行い,
SVMのスコアを単純に平均して識別
![Page 34: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/34.jpg)
評価指標
PASCAL VOC 2007データセット • 20クラスのそれぞれに対して,各画像中にそのクラスの物体が存在する
か,それともしないかを判断 • 各クラスに対してPrecision/Recall曲線を計算(Precision: 物体が存在す
ると判断した画像中,実際に正解だった割合,Recall: 物体が存在する画像中,物体が存在すると判断された画像の割合)
• Recallに対するPrecisionをグラフに描き,Recallに対するPrecisionの平均値を計算
CalTech256データセット • 各クラスから学習データを決められた画像数だけランダムに抽出
(ntrain=15, 30, 45, 60)
• SVMのパラメータは学習データ中のクラスバリデーションで決定 • 学習データ以外のデータをテストデータとして識別率を計算 • 学習データとテストデータの分け方を変えて5回繰り返して識別
Average Precision (AP)
平均識別率
![Page 35: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/35.jpg)
PASCAL VOC 2007に対する実験結果(1)
改良の効果: パワー正規化 > L2正規化 > 空間ピラミッド
![Page 36: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/36.jpg)
PASCAL VOC 2007に対する実験結果(2)
Multichannels+non-linear SVM Bounding box
Many channels+soft-assignment
Many channels+Multiple Kernel Learning
[8]+sliding window
![Page 37: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/37.jpg)
CalTech256に対する実験結果
5 Descriptors →
![Page 38: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/38.jpg)
大規模学習データによる評価実験
データセット • 2つの学習用データセット:ImageNet (270K画像@18カテゴリ),Flickr
(350K画像@18カテゴリ) • 評価用データ:PASCAL VOC 2007 "test" set(5K画像@20カテゴリ) 局所特徴量/ Gaussian Mixture Model (GMM) • 前の実験と同じ 識別 • それぞれの学習用データセットで学習し,評価用データで評価した結果 • 各データセットでSVMを学習後,そのスコアを統合して識別した結果
![Page 39: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/39.jpg)
大規模学習データによる実験結果
Multichannels +non-linear SVM +sliding window
![Page 40: Fisher Vectorによる画像認識](https://reader034.vdocuments.site/reader034/viewer/2022050805/5560fa09d8b42a91388b4d94/html5/thumbnails/40.jpg)
まとめ
• 多変量解析に利用されるカーネル法を紹介し,カーネル関数の例として
フィッシャーカーネルを説明した.
• Bag of Visual Wordsの拡張として,フィッシャーカーネルに基づいた
フィッシャーベクトルを画像認識に適用した.ユニバーサルでコンパク
トな辞書で画像識別が可能である.
• L2正規化,パワー正規化,空間ピラミッドをフィッシャーベクトルに導
入することにより,複雑で高計算コストの手法と同等の画像識別精度が
実現可能であることを示した.高速な計算が可能なため,ImageNetなど
大規模データにも適用可能である.
• 下記の文献では,近年提案された画像識別手法を比較した結果,フィッ
シャーベクトルを利用した手法が高い精度を示すことが報告されている
K. Chatfield, V. Lempitsky, A. Vedaldi, and A. Zisserman, “The devil is in the details: an evaluation of recent feature encoding methods,” British Machine Vision Conference, 2011.