null

画像認識工学 資料5
システム情報工学研究科
コンピュータサイエンス専攻
福井和広
高次元画像ベクトル空間を
理解するためのポイント
1. 画像ベクトル空間を張る正規直交基底は無限
個あることを意識する.
2. 画像情報を表現するために適した正規直交基
底ベクトルの存在を意識する.
3. 上記の適切な正規直交基底ベクトルを求める
方法の本質を理解する.
1024次元画像ベクトル空間を張る正規直交基底の例1
5
1024次元画像ベクトル空間を張る正規直交基底の例2
6
正規直交基底ベクトル(例1)の1次結合
1024本の基本ベクトルから構成された基底
正面顔
c1
c2
c3
c4
c5
1024次元ベクトル
c1021
c1022
c1023
c1024
重み
0
c1 c2 c3 ・・・・, c90,
・・・・
c1023 c1024
正規直交基底ベクトル(例2)の1次結合
正面顔 x
a1
1024次元ベクトル
a2
e1
a4
e2
a1021
1024本の正規直交
基底ベクトルの1次
結合で表される.
a3
e3
a1022
a5
e4
a1023
e5
a1024
e1023
e1024
重みの絶対値
0
a1 a2 a3 ・・・・, a90,
・・・・
a1023 a1024
集中(局在)しているとは
どういう意味か?
正規直交基底ベクトル(例2)の1次結合
正面顔 x
a1
1024次元ベクトル
1024本の正規直交
基底ベクトルの1次
結合で表される.
重みの絶対値
a2
e1
a3
a4
e2
a1021
e3
a1022
a5
e4
a1023
e5
a1024
e1024
e1023
重みが大きい基底ベクトルを
主成分ベクトルと呼ぶ.
全体の重みの99.9%は
この範囲に存在する.
0
a1 a2 a3 ・・・・, a90,
・・・・
a1023 a1024
主成分ベクトルの1次結合
正面顔 x
a1
1024次元ベクトル
a2
e1
a90
a3
e2
a1021
e90
e3
a1023
a1022
a1024
e1023
重みの
絶対値
99.9%
0
a1 a2 a3 ・・・・, a90,
e1024
この範囲の重みはゼロに近く
画像Xを表現する際の貢献が
小さいのでカットする.
・・・・
a1023 a1024
正面顔の固有空間
集中(局在)している部分空間
1 2 3 4 5
・・・・・・・・・・・・・・・・・・
29 32
顔固有空間
(90次元)
集中している!
1024次元ベクトル空間
主成分分析により求めた正規直交基底(平均二乗誤差基準)
固有空間への正射影
顔パターンを顔固有空間へ正射影
x
y
1024次元
射影
射影
顔固有空間(90次元)
顔固有空間:
様々な撮影条件、人物の顔パターンが局在している部分空間
固有空間への正射影を表す射影行列
a1
x
近似
a2
e1
a3
e2
a90
e3
e90
ベクトル𝐱𝐱 ∈ 𝑅𝑅1024 を90次元固有空間𝑃𝑃へ
正射影したベクトルを𝐱𝐱′ ∈ 𝑅𝑅1024 とする.
𝐱𝐱𝐱 = 𝐏𝐏𝐏𝐏 : 射影行列Pはどう求めるか?
パターンが局在している部分空間
(固有空間)を如何に求めるか?
主成分分析(PCA): 多変量解析
KL変換 :
信号処理
両者は数学的に同じ方法であるが,
異なる分野で独立に開発された.
パターンが局在しているベクトル方向
を主成分と呼ぶ.主成分をどのような
基準で定義するか?
以下のいずれかの基準が用いられる.
基準1:平均二乗誤差最小基準
基準2:分散最大基準
K x k次元画像ベクトル空間
正面顔の固有空間
e
ekxk
kxk-1
部分空間として
表現される
e2
e1
17
平均二乗誤差最小基準
1 n
2
~
平均二乗誤差:ε (u1) = ∑ xi − x i
n i =1
~
xi : xiのベクトルuへの正射影ベクトル
2
xi
~
xi
二乗誤差最小基準
𝑢𝑢1
ここの長さの二乗がデータxiの二乗誤差
平均二乗誤差最小基準
平均二乗誤差が最小となるベクトル𝑢𝑢1 はどれか?
𝑢𝑢1
平均二乗誤差 中
𝑢𝑢1
平均二乗誤差 最小
𝑢𝑢1 平均二乗誤差 中
平均二乗誤差最小基準
𝑢𝑢1 射影 中
~
x i1
射影最大基準
射影 最大 射影長の二乗平均:
𝑢𝑢1
xi
1 n ~ 2
ε (u1) = ∑ x i
n i =1
2
~
xi 2
xi
誤差
射影長
~
xi 3
~
xi 2
誤差⇔射影長
𝑢𝑢1
射影 中
U2
主成分分析(二乗誤差最小)のイメージ
e1
𝑢𝑢1
𝑢𝑢2
𝑢𝑢3
e3
e2
基底変換
e1
𝑢𝑢1
e2
𝑢𝑢3
e3
𝑢𝑢2
[e1, e2, e3]から[u1, u2, u3]への基底変換
主成分分析の手順(誤差基準)
平均二乗誤差最小基準
1. 主成分を求めたいデータセットから自己相関行列Rを
求める.
2. 自己相関行列Rの固有値と固有ベクトルを求める.
3. k番目に大きい固有値λkに対応する固有ベクトルukを
k
1
第k主成分ベクトルとする.ここで n R − ∑ λi が平均二
i =1
乗誤差になる.
4. 主成分ベクトルを幾つ求めるかは,固有値から求まる
累積寄与率(集中度)により決定する.
k番目までの主成分ベク トルの累積寄与率
k
k
∑ res ∑ λ
i
∑λ
i
i
=
i =1
Re sall
=
i =1
all
i =1
自己相関行列とは?
n枚の画像ベクトル Xi (i = 1~n )から計算する.
n
1
t
R = ∑ xi xi
n i =1
xi
n
R
=∑
xi
i =1
画像ベクトルを列として並べた行列Aを用意すれば,
以下の様に簡潔に表記できる.
A = [x1 x 2 ,  , xin ]
R = AA
t
t
自己相関行列Rの固有値問題
Ru = λu
固有ベクトル
R
u
=
固有値(スカラー)
λ u
主成分分析(二乗誤差)により求めた
900次元画像ベクトル空間を張る900本の正規直交基底
26
第1~90主成分ベクトル
分散最大基準
n
1 n
2
2
~
ε (u1) = ∑ xi − x i
n i =1
~ )2
σ~ 2 (u) = 1 ∑ ( xi − m
n i =1
Pb
xi
Pa
xi
~
xi
二乗誤差最小基準
~
m
分散最大基準
分散最大基準
どの軸への射影の分散が最大か?
分散 最大
u1
u1 分散 中
u1 分散 最小
主成分分析(分散最大)のイメージ
e1
u1
e3
u3
e2
u2
基底変換
e1
u1
e2
u3
e3
u2
[e1, e2, e3]から[u1, u2, u3]への基底変換
主成分分析の手順(分散基準)
ここだけが違う!z
分散最大基準
1. 主成分を求めたいデータセットから共分散行列Cを求
める.
2. 共分散行列Cの固有値と固有ベクトルを求める.
3. k番目に大きい固有値λkに対応する固有ベクトルukを
第k主成分ベクトルとする.ここで固有値λkがその方向
の分散に相当する.
4. 主成分ベクトルを幾つ求めるかは,固有値(分散値)か
ら求まる累積寄与率(集中度)により決定する.
k
k
累積寄与率 =
2
σ
s
∑
i =1
σ
all
2
=
∑λ
i
∑λ
i
i =1
all
i =1
共分散行列とは?
画像
Img i
n 個の画像ベクトル Xi (i = 1~n )から
共分散行列 Cを計算する
Xi
ベクトル化
n
(1)平均ベクトルmを求める.m = ∑ Xi
m
i =1
( 2)各ベクトルXiから平均ベクトルmを引く.
~
Xi = Xi − m
Xi
m
1 n ~~t
(3)C = ∑ x i x i
n i =1
n
1
= ∑ (xi − m)(xi − m)t
n i =1
n
C
=∑
i =1
~
Xi
~t
Xi
共分散行列Cの固有値問題
Cu = λu
固有ベクトル
C
u
=
固有値(スカラー)
λ u
分散最大基準
MATLAB を用いた演習3
Yale 顔データベース( 照明条件1)に対する
主成分分析のサンプルコードを動かして,主
成分分析のコード,および求めた主成分ベ
クトルの画像表示の方法を確認せよ.
(0) class0519.zipをダウンロードする.
(1) サンプルコードcode3_1.mを実行する.
注意:画像サイズが大きいと,固有値問題で解くべき行列
サイズも大きくなり,計算困難になる.これを避けるため
に,本講義サイトに置いてある関数 customResize を用い
て画像サイズを縮小しておくと良い.ただし.48x42ピクセ
ル程度ならば問題ない.
MATLAB を用いた演習3
課題1:ALOI200データベース*から物体を一つ
選び,その71視点画像セットに対して主成分分
析により主成分ベクトルを求め,表示せよ.また
固有値の分布も併せて調べよ.
*Amsterdam Library of Object Images データベースから200物体
を抜粋
① load aloi200 で画像データdataをへ読み込む.
② dataの形式: 15(height)x20(width)x72(視点)x200(種類
の物体),code3_2.mを実行して物体1の72視点画像
を確認する.
③ 好きな物体を一つ選び,その72視点画像に対して主
成分分析を適用する.注意:得られる主成分ベクトル
は72本のみである.非負固有値は72個しか求まらな
MATLAB を用いた演習3
課題2: Amsterdam Library of Object Images (ALOI)
データベースに対して主成分分析を適用して,主
成分ベクトルを求め,画像表示せよ.固有値の分
布も併せて調べよ
① load aloi200 を実行して画像データdataをMATLABへ読み込む.
② dataの形式: 15(height)x20(width)x72(視点)x200(種類の物体)
注意:処理に1分程度の時間が掛かるので要注意.
課題
課題1~2で求めた主成分ベクトルの可視化結果
とそれに対する考察をレポートせよ.
• PPTあるいはPDF形式で提出すること.
• 最初のページにタイトルを画像認識工学 演習3と記載
し,学籍番号,氏名を明記すること.
• 各可視化結果を表示する.
• 固有値の分布も併せて調べる.
• 上記に基づいて各固有空間の特性について考察する
• 提出期限 5月25日(水)11:59
• 提出先:Manabaから提出すること.