5-05 相互相関を使った画像抽出と位置検出

●相互相関の応用−画像認識

 前節では
相互相関値=画像の類似度であることを説明しました。本節ではその特性を生かし、画像抽出と位置検出を行います。

●二次元に拡張して画像に適用する

 このExcelをダウンロードして開いてみましょう。最初のREADMEシート(図5-73)にEXCELファイルの簡単な説明があります。

 同図にあるように、相互相関関数は「
二次元」に拡張してあります。また N = 8, M = 40 としており、x, yは8×8の行列、相互相関の結果 Rxyは40×40個になります。

  図5-73 最初のシートREADME

●隣のシートにテンプレート

 charFシートには
"F"を形どったテンプレートがあります。正の値が2.765となっていますが、これは8×8画素の平均が0になるように調整した値です(*1)。

(*1)直流分があるとそのぶん相関結果にバイアスがかかるので、平均が0になるようにする。図5‐74のA92 ,B92, C92セルでそうなる値(2.765)を計算している。

  図5-74 8×8個の平均がほぼ0になっている

●アルファベットを抽出、位置検出する

 テンプレートは
5個あり、それぞれF, L, X, O, N が形どられています。図5‐75は"N"の画像を抽出するためのテンプレートになります。

  図5-75 charNシート。これも平均すると0になる

●大きな画像の中から文字を探し出す

 図5‐76のようにchar10シートは48×48画素あり、そのなかにアルファベットが10文字(それぞれ8×8画素)、適当に置かれています。このシートから F, L, X, O, N の文字を抽出・位置検出します。

  図5-76 8×8の文字画像がちりばめられている

●相互相関の式(図5‐73)の"y"の部分

 図5‐77はshift40x40シートで、char10シートから8×8画素のエリアを上下左右に1画素ずらしながらとっています。その結果、8×8画素が
40×40個になり、これらとテンプレートの相互相関値を計算します。

  図5-77 y [i+v] [j+h] ここでv, h = 0, 1, 2, ... 39

●手作業では大変なのでVBAを使う

 shift40x40シートの各セルをクリックすると計算式を見ることができますが、これらは
VBA(Module01)を使って自動的に生成されたものです。

次のページへ

目次へ戻る