テンプレートマッチング

テンプレートマッチングR. Brunelli, Template Matching Techniques in Computer Vision: Theory and Practice, Wiley, , 2009 ( TM book) とは画像処理ないしコンピュータビジョンの一手法。デジタル画像処理で、テンプレート画像に一致する画像の小さな部分を見つける手法で特定のパターンを検出するための画像などを用意し、観測画像と照らしあわせて当該箇所を検出する。比較する方法はさまざまである。 これは、製造において品質管理の一部として、移動ロボットをナビゲートする方法Kyriacou, Theocharis, Guido Bugmann, and Stanislao Lauria. "Vision-based urban navigation procedures for verbally instructed robots." Robotics and Autonomous Systems 51.1 (April 30, 2005): 69-80. Expanded Academic ASAP. Thomson Gale.、または画像内のエッジを検出する方法として使用が可能WANG, CHING YANG, Ph.D. "EDGE DETECTION USING TEMPLATE MATCHING (IMAGE PROCESSING, THRESHOLD LOGIC, ANALYSIS, FILTERS)". Duke University, 1985, 288 pages; AAT 8523046。

 機能ベースのアプローチ 
サムネイル| 非表示レイヤーは、画像に関する分類情報を保持するベクトルを出力し、テンプレートマッチングアルゴリズムで画像の特徴として使用されます 

 テンプレートベースのアプローチ 

 モーショントラッキングとオクルージョン処理 

 計算解剖学における変形可能なテンプレート 

 相互相関または絶対差の合計を使用して説明されるテンプレートベースのマッチング 

 実装 
minSAD = VALUE_MAX;

// loop through the search image
for ( size_t x = 0; x <= S_cols - T_cols; x++ ) {
  for ( size_t y = 0; y <= S_rows - T_rows; y++ ) {
    SAD = 0.0;

    // loop through the template image
    for ( size_t j = 0; j < T_cols; j++ )
      for ( size_t i = 0; i < T_rows; i++ ) {

        pixel p_SearchIMG = S[y+i][x+j];
        pixel p_TemplateIMG = T[i][j];

        SAD += abs( p_SearchIMG.Grey - p_TemplateIMG.Grey );
      }

    // save the best found position 
    if ( minSAD > SAD ) { 
      minSAD = SAD;
      // give me min SAD
      position.bestRow = y;
      position.bestCol = x;
      position.bestSAD = SAD;
    }
  }

}

 プロセスの高速化 

 マッチングの精度を向上させる 

 同様の方法 

 使用例 

 関連項目 

 顔認証システム 
 パターン認識 
 コンピュータビジョン 

 参考文献 

 外部リンク 

 OpenCVでのテンプレートマッチング 
 テンプレートマッチングを使用した視覚オブジェクト認識 
 回転、スケール、並進不変のテンプレートマッチングのデモプログラム 
 遠近不変のテンプレートマッチング 

Category:画像処理
Category:コンピュータビジョン