位相限定相関法

ここしばらくは、目で見て楽しめるようなモノをPapervision3Dなどを使ってお手軽に作っていたので、
今回はひさしぶりに地味で取っつきにくいことをやりたいと思います。

位相限定相関 (POC : Phase Only Correlation)
難しそうな名前ですが実際にやることは簡単です。
前回 作成した位相画像、これは画像の周波数成分の位相特性を表したものでした。
POCでは位相特性のみの相関を取って類似度を測ります。名前そのまま。
デザイナー寄りのFlasherさんでも、”パターンマッチング”という言葉なら知ってる人は多いかもしれません。
この手法はサブピクセルレベルの高い精度で位置ずれ量を検出できるため、
ステレオ画像の対応点探索などに用いられています。
また、バイオメトリクス分野においては虹彩・指紋認証など多くの応用分野があります。

POC関連の論文はWeb上でたくさん見つかりますが、簡単な概念は以下のサイトがわかりやすいです。
位相限定相関法の原理とは – 視ることと識ること3

・処理のフロー
poc

相関のピーク位置がそのまま画像のずれを表しているので、その位置を探すだけです。
今回は意図的に位置だけずらした画像を用いて、その位置ずれ量を検出します。
FFT演算用クラスはこれまで利用してきたものと同じものです → FFT.as
(FFT.asのスペクトル位置の並び替え部分は今回不要なので省略できます)

・位相限定相関法による画像の位置ずれ量検出

・出力結果例

この結果は、画像Bは画像AからX軸方向に86px、Y軸方向に45pxずれていることを示しています。
処理時間は256×256pxの画像で約1.6秒なので、Flashならまぁそんなもんなのかなといったところ。
あと、真面目に解析するんなら複素行列とかのクラスを新たに作った方がいいです。後悔;;

POC_Result

Flashでステレオ画像処理とかできたらいいなと思ってます。
ただ、その場合はユーザー側にいろいろ条件を課すことになりそうですが。。
ステレオマッチング、、すごくめんどくさそう;

・関連記事
位相画像
ハイパス/ローパスフィルタ
二次元離散フーリエ変換 – AS3.0
離散フーリエ変換 – AS3.0
ステレオ画像処理

あわせて読む:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です