マハラノビス距離出し方

果物識別
マハラノビス距離を求める
識別
未学習の画像はあるか?
NO
学習した果物クラスの平均ベクトルと
分散共分散行列を求め外部ファイルに保存

入力したテスト画像と各クラス
タとの距離で、入力された画
像がどのクラスタに分類され
るかを判定する。
円形度
テスト画像
1.0
りんご
レモン
バナナ
0
赤み
1.0
識別作業のイメージ
その前にユークリッド距離の求め方
2間の距離dist
りんごの平均特徴ベクトル
円形度(cir)
(red_apple, cir_apple)
(red_test, cir_test)
赤み(red)
テスト画像の特徴ベクトル
dist 
red _ test  red _ apple   cir _ test  cir _ apple 
2
2

これ以降マハラノビス距離の出し方
平均ベクトルと分散共分散行列を求める

なぜ求めるのか?

テスト画像がどのクラス(りんご, レモン, バナナ)に最も近いか
を判断するためにマハラノビス距離を用いる。
マハラノビス距離の算出式は以下のとおりである。
テスト画像の
特徴量空間での座標
  Tx   Avex  

dis ( x)      

 Ty
Ave
y 
  
マハラノビス距離
対象クラスの分散共分散行列
の逆行列
T
 C xx

C
 yx
C xy 

C yy 
1
対象クラスの平均ベクトル
  Tx   Avex  
   

  Ty   Avey  

  
平均ベクトルと分散共分散行列を求める


前提
nは画像の番号
n
n
学習で入力されたデータ: pn  ( px , p y ) xは赤み, yは円形度
平均ベクトル
 Avex  1
 Ave  
N
y


 p xn 
n1  p n 
 y
N
分散共分散行列(Covariance Matrix)
1 N

N n 1
1 N
C xy  n 1
N
1 N
C yx  n 1
N
1 N
C yy  n 1
N
C xx 
C xx
CM  
C yx
C xy 
C yy 
p
n
x
 Avex p xn  Avex


p
n
x
 Avex p yn  Avey


p
n
y
 Avey p xn  Avex


p
n
y
 Avey p yn  Avey


クラス辞書作成例(数値はテキトーです) 1/3
学習したりんごのデータ:(赤み,円形度) , N = 3
平均ベクトル=(0.8 , 0.8)
(0.9 , 0.7) , (0.7 , 0.8) , (0.8 , 0.9)


1
0.9  0.82  0.7  0.82  (0.8  0.8) 2  0.02
3
3
1
 0.01
C xy  0.9  0.80.7  0.8  0.7  0.80.8  0.8  0.8  0.80.9  0.8 
3
3
以下めんどくさいので 途中式省略
 0.01
C yx 
1  2  1
3
 CM apple 
 1 2 
0.02
300
C yy 


3
C xx 
CM
1
apple
2 1 
 100

1
2


クラス辞書作成例(数値はテキトーです) 2/3
学習したレモンのデータ:(赤み,円形度) , N = 3
平均ベクトル=(0.6 , 0.4)
(0.6 , 0.5) , (0.7 , 0.4) , (0.5 , 0.3)
C xx 

CM
1
lemon

1
0.6  0.62  0.7  0.62  (0.5  0.6) 2  0.02
3
3
1
0.01
C xy  0.6  0.6 0.5  0.4   0.7  0.6 0.4  0.4   0.5  0.6 0.3  0.4  
3
3
以下めんどくさいので 途中式省略
0.01
C yx 
1 2 1 
3
 CM lemon 
1 2
0.02
300
C yy 


3
 2  1
 100 


1
2


クラス辞書作成例(数値はテキトーです) 3/3
平均ベクトル
りんご
(0.8 , 0.8)
レモン
(0.6 , 0.4)
分散共分散行列の逆行列
CM
CM
1
apple
1
lemon
2 1 
 100

1 2 
 2  1
 100 

 1 2 
識別器のアルゴリズム
テスト画像読み込み
識別器
テスト画像から特徴量抽出
抽出した特徴と各クラスとの
マハラノビス距離を計算
距離最小のクラスを探す
結果を表示
識別例(数値はテキトーです) 1/1

テスト画像xの特徴 (0.7, 0.9)
りんごとの距離
2 1 0.7  0.8
dis apple ( x)  0.7  0.8 0.9  0.8100


1 2 0.9  0.8
dis apple ( x)  6
レモンとの距離
 2  1 0.7  0.6
dislemon ( x)  0.7  0.6 0.9  0.4100


 1 2  0.9  0.4
dislemon ( x)  42
 dis apple ( x)  dislemon ( x)
なので、テスト画像xはりんごであると推測できる