遅い→起動時

http://d.hatena.ne.jp/pmint/

画像の類似度判定

d:id:pmint:20070925:p1の続き。


分類のための類似度判定。
目標は人の目で見たとき、同じ印象(同じ図形や、同じ色調)の絵を検出すること。

目標例

は違う。


は同じ。



がそれぞれ同じ絵になるように。


で、も同じにしたい。

絵を曖昧にする

絵の特徴を符号化できればいい。
モザイクにすると似ている絵が同じ画像になるのと同じ。

点をまとめる

1つの色につき、近い点同士を結ぶ。
点の集まりを線と見なす。


  1. 点の集まりは線に。
  2. 線の集まりは面に。
  3. 面の集まりは面に。


1色分で1つの図形を生成。

位置関係

位置を無視。
ただし、図形間の相対的な位置関係は使う。
方向は4方向程度+同じ位置の5種類。


距離は2図形間の距離。
1画像内に図形2つならその間の距離。その距離を1として幾つ分か→つまり1。図形2つならどんな画像も距離のデータは全く同じ。


図形3つなら、それぞれa、b、c、として、

  • a-b間
  • b-c間
  • c-a間

これらを、a-b間の距離を1とした場合の比にする。


…というのを…

  • a-b間を1としたとき
  • b-c間を1としたとき
  • c-a間を1としたとき

…全てで算出。

図形3つなら9つ(= 3 * 3)の距離が得られる。


図形4つ以上なら、3つ取り出して上記の計算。
これを全組み合わせで。


距離が多数生成される。
順序無視して類似度判定に使う。


これで相対的な位置関係が同じかどうか判定。

その他

人の場合、知っている形に似ていればそれに当てはめてしまう。
図形の符号化。図形の認識。記号化。


これを考えないなら、図形の形は無視。外接する矩形の中心点と、外接する矩形の面積(3図形間の距離のときと同じように、相対的な値に置き換えたもの)だけを扱うので良いのではないだろうか。

というわけで
  • 図形間の位置関係
    (図形間の距離と方向)
  • 図形のまとめ
    (点を線に…)
  • 図形の色

…で、画像を符号化。

あとはテキストと同じ方法で類似度を算出。