はじめに
パターンマッチングとは
パターンマッチングは、あるパターン画像を画像全体の中から探し出す処理です。あるパターン画像をテンプレート画像と呼びます。
テンプレートマッチングと呼ばれる手法では、テンプレート画像と対象画像を照らし合わせて一致度(類似度)を求めます。

パターンの照合は、画像全体に対してテンプレート画像との一致度(類似度)を計算していきます。
計算した一致度(類似度)を比較し、最も一致度(類似度)が高いところを探し出します。

一致度算出の方法のひとつに、SAD(Sum of Absolute Difference)があります。
SADはテンプレート画像のすべての画素で対象画像との差分の絶対値を求め、その総和を一致度(類似度)とします。
結果の数値が大きいほどテンプレート画像との一致度(類似度)が低く、数値が0に近いほど一致度(類似度)が高くなります。
単純な方法ですが、対象画像の明るさの変化に影響を受けやすい方法でもあります。

4x4画素の画像をテンプレート画像とした場合、テンプレート画像とサーチ領域Aの差分絶対値の総和は0、テンプレート画像とサーチ領域Bの差分絶対値の総和は2で、サーチ領域Aのほうがサーチ領域Bよりも一致度(類似度)が高いことがわかります。

まとめ

画像の中から探したい画像(パターン)を探すのがパターンマッチングってことですね!
それにしても、演算量すごそうですね。。

外観検査とか位置決めとか画像検査ではよく使われていて、とても重要な技術よ!
演算量も多いので、高速化と高精度化の方法が色々と考案されているわ。

なるほど!
自分は最近、クレオパトラ似の彼女を探しているんですけど、高速かつ高精度にマッチングしないんですよね。。。

それはきっと、見た目の類似度基準が高すぎるんじゃない!画像認識のマッチングは見た目の類似度が重要だけど、人生のパートナーは見た目よりも中身が重要よ!!
-
パターンマッチングの手法のひとつにテンプレートマッチングがある
-
SADではテンプレートと対象画像の差分から一致度(類似度)の高い場所を探し出す