Visionでは、ピラミッドマッチングと画像理解 (低差異サンプリング) の2つのパターンマッチング方法が使用されています。両方とも、コア手法として正規化相互相関を使用します。

パターンマッチング処理は、学習とマッチングの2つの段階から構成されます。学習段階で、アルゴリズムはテンプレート画像からグレー値およびエッジ勾配情報を抽出します。情報は、検査画像での検出が高速化されるように整理、保存されます。Visionでは、この段階で学習された情報がテンプレート画像の一部として保存されます。

マッチング段階で、パターンマッチングアルゴリズムはテンプレートから得た情報に対応し、検査画像からグレー値/エッジ勾配情報を抽出します。その後、検査画像内で相互相関が最も優れた領域を検出することでマッチを検出します。

正規化相互相関

正規化相互相関は、画像内でテンプレートを検出する際の最も一般的な方法です。相関処理は、複数の積算処理に基づく基本構造を持つため時間がかかります。MMXなどの技術を導入することで、並列乗算を行い計算時間を短縮できます。マッチング処理速度を向上するには、画像サイズを縮小して操作を行う画像領域を制限します。ピラミッドマッチングと画像理解によって、マッチング処理の速度を向上することができます。

スケールと回転に影響されないマッチングでの課題

正規化相互相関は、画像内のパターンがスケールまたは回転されていない場合にパターンを検出するのに適切な方法です。通常、相互相関は、最大5゚~10゚の回転までの同じサイズのパターンを検出できます。スケール変化と回転に影響されないパターンを検出する相関を拡張することは困難です。

スケールに影響されないマッチング操作の場合、テンプレートのスケールまたはサイズを変更する処理を繰り返して、次に相関操作を実行する必要があります。この操作によって、マッチング処理の計算量が大きく増加します。回転の正規化はより困難になります。回転に関する情報が画像から抽出できる場合、単にテンプレートを回転して、相関操作を実行することができます。ただし、回転に関する情報がない場合は、最適なマッチを検出するためにテンプレートを細かく回転させる必要があります。

粗密マッチング方法の使用、ピラミッドまたは画像理解を使用することで、計算量を大きく削減することができ、回転パターンを処理するための十分な検索時間を確保できます。しかし、スケールに影響されないマッチングはピラミッドまたは画像理解を使用している場合でもサポートされません。

ピラミッドマッチング

画像とテンプレートのサイズを縮小することで、パターンマッチングの計算時間を改善できます。ピラミッドマッチングでは、画像とテンプレートはガウスピラミッドを使用してより小さい空間分解能にサンプルされます。この方法では、ピクセルを1つおきにサンプルすることで、画像とテンプレートは連続した各ピラミッドレベルに対して元のサイズの4分の1に削減できます。

学習段階で、アルゴリズムは当該テンプレートに使用できる最大ピラミッドレベルを自動で計算し、全ピラミッドレベルでのテンプレートとそれが回転された場合を表すのに必要なデータを学習します。このアルゴリズムは、(テンプレートデータの分析に基づいて) 最速で最も正確なマッチングをもたらす最適なピラミッドレベルを見つけようとします。グレー値(ピクセルの強度を基準とする)および勾配(選択されたエッジ情報を基準とする)の2種類のデータが使用されます。

グレー値法

この方法は、正規化されたピクセルのグレー値を特徴として使用します。これにより、何の情報も疎外されることがありません。これにより、複雑なテクスチャや密集したエッジが含まれていても、テンプレートに構造化された情報が含まれていない場合に役立ちます。しかし、この方法は遮蔽および不均等な照明の変化がある状況には向いていません。このような制限がありますが、多種多様な状況に適応できるため、一般的な使用に適しています。

勾配法

この方法は、フィルタ処理されたエッジピクセルを特徴として使用します。エッジ画像は供給されたグレースケール画像から計算され、勾配強度しきい値はテンプレートの画像解析に基づいて計算されます。しきい値よりも強度なすべてのエッジベクトルは、特徴として保持されます。マッチングは正規化された相互相関ではなくベクトル相関を基に行われます。この方法は、グレー値に基づく方法と比較して、遮蔽の変化および照明強度の変化に対してより耐性があり、データの必要な計算量が少ないため多くの場合より高速です。ただし、非常に低い解像度ではエッジの強度と信頼性が低下するため、この方法ではグレー値の方法と比較して高い解像度を使用する必要があります。

粗密マッチング

マッチング段階では、粗密アプローチを使用して、可能な最小解像度(ピラミッドの最高レベル)から検索を開始します。この分解能レベルでは検索画像とテンプレートのサイズが大幅に縮小されるため、徹底的な相関検索を実行できます。しかし、サブサンプリング処理中に詳細の一部が損失されるため、マッチの位置を完全に信頼することができません。この問題は、検索するマッチの確実な数を選択するよりも、ベストスコアをもつマッチ位置の複数候補群を保持することでオフセットできます。

その後、ピラミッド下位のそれぞれのレベルを通して反復を行い、相関スコアを再計算して各ステージで洗練した選択を行います。このアプローチでは、後続するすべての検索をベストマッチ候補近辺の小さな局所領域に制限するため、速度が著しく向上します。

回転マッチを検索する場合、可能なすべての回転(0~360度)で徹底的にマッチを行うのは、最低の解像度を使用しても大変コストがかかります。そのため、まず粗角ステップで最適な位置をくまなく検索します。それから、これらの粗い位置からいくつかの最適位置を精密角ステップサイズで微調整します。この後、上記と同じ方法を実行して、後続するピラミッドの低レベルにわたってマッチ位置と角度をより正確にします。

ヒントとテクニック

以下の推奨事項に従って、ピラミッドマッチングにおける最高パフォーマンスを実現します。

  • 高速実行時間が必要な場合は、Max Match Pyramid Level設定の選択でピラミッドの最高レベルを使用します。ほとんどの場合、レベル0またはレベル1でのマッチはコストがかかりすぎます。
  • 回転されたパターンを検索する場合、Angle Ranges設定を使用して最小の角度範囲を検索することで高速パフォーマンスを実現でき、メモリ消費も抑えることができます。たとえば、マッチがベース位置からわずかに回転しただけであることがわかっている場合、-10~10°の角度範囲で十分です。
  • アルゴリズムはNumber of Matches RequestedおよびMinimum Match Scoreを基に、粗密マッチングを自動的に行います。アプリケーションの用途に合わせて速度と確度の最適バランスを達成するよう構成します。
  • Minimum Contrast設定は、領域が候補として考慮されるために必要な最小コントラスト値を指定します。画像背景に大きな低コントラストまたはゼロコントラスト(統一領域)の領域がある場合、これを使用して速度を向上させることができます。
  • 部分的に画像または関心領域の外側にあるマッチを検索したい場合、Process Border Pixels設定をオンにします。適切に定義された関心領域を持つ大きなテンプレートの場合、この設定をオフにすることで速度がわずかに向上します。
  • Min Match Separation DistanceMin Match Separation AngleMax Match Overlap設定を使用すると、検索されたマッチ間の距離、角解像度、およびオーバーラップを制御できます。

画像理解(低差異サンプリング)

パターンマッチングの特徴とは、テンプレートを表現する際立ったピクセルパターンです。ほとんどの画像には不要な情報が含まれているため、画像内のすべての情報を使用してパターンを一致させる操作は、時間がかかる上、確度が低下します。

Visionは、テンプレートを効率的に表現するために、画像理解を取り入れて不均一なサンプルテクニックを使用します。このインテリジェントなサンプルテクニックには、図 Bに示すように、エッジピクセルと領域ピクセルの組み合わせが含まれます。画像でパターンが回転されている可能性があることがユーザによって示されている場合、NI Visionは同様なテクニックを使用します。この方法は、パターンの回転を反映する値(または値の相対的変化)が含まれる、専用のテンプレートピクセルを使用します。

テンプレートのインテリジェントサンプリングは、不要な情報を削減すると同時に特徴を強調して、効率的で確実な相互相関の実装を可能にします。NI Visionのパターンマッチングでは、サイズ(±5%)と方向(0゚~360゚の範囲)が異なる劣化した外観のオブジェクトを正確に検出することが可能です。

ピラミッドマッチング

ピラミッドマッチングと同様に、サンプリングベースのマッチングも粗密アプローチを使用することで過剰計算を避けることができます。まず、粗い特徴が領域のピクセルサンプルに基づいて抽出されます。その後、推定可能な候補位置をいくつか選択し、精密特徴(主にエッジピクセルを使用)が計算されます。粗いマッチの候補はその後これらの精密特徴を使用して微調整され、更新されたマッチのリストを取得することができます。

回転におけるマッチングもピラミッドマッチングと同様のパラダイムを使用します。インテリジェントサンプリングを使用すると、異なる角度に対応するテンプレートサンプルをコンパクトに表わすことができます。まず、粗角ステップサイズの粗いサンプリングを使用してマッチを検索します。その後、最良の粗角マッチの位置を精密角ステップサイズと精密特徴を使用して微調整します。

制限

低差異サンプリングは、画像を表現する最も重要な情報を抽出します。通常は大変スパースで効率よく画像を表現しますが、特定のタイプの画像で問題が起こる場合があります。

  • グレースケール情報が類似した大きな領域を含むテンプレートでは、サンプルポイントが少ないために一貫性のない動作をする場合があります。
  • アスペクト比(1:6)がスキューした、または長いテンプレートでは、回転されたマッチを検索する場合に一貫性のない結果を表示する場合があります。
  • 大変小さなテンプレートでは、有効な学習目的には不十分な数のサンプルしか含まれていない場合があります。

これらの制限によってアプリケーションのパフォーマンスが低下する場合は、ピラミッドマッチング法を使用してください。

ピラミッド前処理

ピラミッドパターンマッチングには、以下の3つのタイプの前処理オプションがあります。

  • ソーベルとログ
  • ソーベル
  • 非線形拡散フィルタ。

ソーベルとログ

このフィルタは、ソーベルカーネルコンボリューションをテンプレートとマッチ画像ピラミッドに適用します。低コントラスト領域を強調し、テンプレートのエッジ特徴のみを考慮するには、このオプションを使用します。

図は元の画像を示しています。

図は、ソーベル後とログ画像を示しています。

ソーベル

このフィルタは、ソーベルカーネルコンボリューションをテンプレートとマッチ画像ピラミッドに適用します。テンプレートのエッジ特徴のみを使用するには、このフィルタを使用します。

図は元の画像を示しています。

図は、ソーベル後の画像を示しています。

非線形拡散フィルタ

このフィルタは、異方性拡散フィルタをテンプレートとマッチ画像ピラミッドに適用します。ノイズを低減しエッジのコントラストを強調するには、このフィルタを使用します。以下の画像は、非線形拡散フィルタがエッジのコントラストを犠牲にすることなくノイズを低減できることを示しています。

図は元の画像を示しています。

図は、レベル2のガウスピラミッドを示しています。

図は、レベル2の非線形拡散ピラミッドを示しています。

詳細については、 Anisotropic (異方性) wikiページをご覧ください。

プリセット

プリセットは、さまざまなパターンマッチングアルゴリズムの高度なパラメータを設定する簡単でわかりやすい方法を提供します。パターンマッチングアルゴリズムには高度なパラメータ設定があり、さまざまなマッチ要件とのマッチングを改善するアルゴリズムを微調整します。プリセットは、幅広いマッチ要件で動作するようにテストされた高度なパラメータ値のセットです。

特定のプリセット (高度なパラメータ値のセット) は、選択された要件に基づいてテンプレート画像に格納されます。値はマッチング時に自動的に使用されます。したがって、マッチング結果は、高度なパラメータとマッチングへの影響を理解することなく、デフォルトの結果よりも改善されます。テンプレートに保存されているプリセットは、ユースケース優先度の選択に基づいています。これらの入力は、マッチ要件に基づいて選択する必要があります。

ユースケースには、以下のオプションが用意されています。

プリセットオプション 説明

オーバーラップ

重なっているオブジェクトを含む画像のマッチングに適した上級オプションを使用します。

オーバーラップ

重なっているオブジェクトを含む画像のマッチングに適した上級オプションを使用します。

低コントラスト

大きな寸法のテンプレートに適した上級オプションを使用します。

スクリーンショット

スクリーンショットまたはスクリーンキャプチャに適した高度なオプションを使用します。これらの解像度はピクセル単位で正確で (カメラを介してキャプチャされない)、通常は小さな寸法のテンプレートを使用します。Screenshot Presetが選択されている場合、アルゴリズムはGrayscale Value PyramidまたはLow Discrepancy Samplingを使用する必要があります。

優先度には、以下のオプションが用意されています。

プリセットオプション 説明

正確

マッチングの速度よりもマッチングの確度を優先する上級オプションを使用します。

高速

マッチングの速度とマッチングの確度を同等に優先する上級オプションを使用します。

超高速

マッチングの確度よりもマッチングの速度をより優先する上級オプションを使用します。

図は、低不一致、グレースケール、および傾斜ピラミッドアルゴリズムのワークフローを示しています。

図は、幾何学的パターンマッチングのワークフローを示しています。

サブピクセル微調整

ピラミッド型および低不一致型のサンプリングベースのパターンマッチングの両方において、ユーザは、精細化されたマッチ候補に最終段階の精緻化を加えて、サブピクセルの正確な位置および正確な角度を見つけるように選択できます。この段階は、テンプレートから特別に抽出されたエッジおよびピクセル情報に依存しており、補間手法を使用して正確なマッチ位置と角度を取得します。

サブピクセルの微調整の有無に関わらず、微調整された位置が取得された後、両方のパターンマッチング法はテンプレートに存在する重要な情報を使用して最後の正確なスコア計算を行います。