コンテンツにスキップ

Template Matching vTool#

Template Matching vToolでは、画像内のオブジェクトを検出できます。検出は、ティーチングテンプレートを使用したピクセルのグレー値情報に基づいています。

It is best suited for detecting objects with blurry edges or borders that aren't clearly defined. Basler recommends using it for small objects as comparing the gray value information of pixels takes up a lot of processing time and memory.

Template Matching vToolは、Image入力ピンを介して画像を受け入れ、出力ピンを介して検出された一致に関する情報を出力します。

また、アライメント変換データを出力することで、Image Alignment vToolが入力画像を、マッチング中に使用した参照画像に位置合わせできます。これにより、Measurements vToolが参照画像とは異なる位置にあるオブジェクトを測定できます。

ROI Creator vToolを使用して関心領域を指定する場合、Template Matching vToolがROI入力ピンを介してROIデータを受け入れます。この場合、オブジェクトはマッチングモデルのデフォルトの基準点が関心領域内にある場合にのみ検出されます。

関心領域は、その特定領域内のオブジェクトにフォーカスを合わせたり、誤った候補を除外したり、処理時間を短縮したりするために使用できます。

Template Matching vToolの領域出力は、Roi入力ピンを備えたvToolのRoi入力としても使用できます。詳細については、「ROI Creator vTool」トピックを参照してください。

Calibration vToolによって提供される変換データを使用して、一致の位置をメートル単位のワールド座標で出力できます(Positions_m出力ピンが使用可能になります)。これを行うには、Calibration vToolをマッチングの前に使用し、両方のvToolsの変換出力/入力ピンを接続します。

Template Matching Basic vTool

Template Matching Versions#

Template Matching vToolには2つのバージョンがあります。次の表にバージョン間の違いを示します。表見出しのバージョンをクリックすると、このトピックの関連セクションに直接ジャンプします。

Starter Basic
テンプレートの定義方法を教えてください。 オブジェクトの周囲に長方形を適合させます。 ペンツールを使用して、オブジェクトの輪郭をトレースします。
タイムアウトを指定できますか? いいえ はい
基準点を定義できますか? いいえ はい
ティーチングされたオブジェクトと異なる角度でオブジェクトを検出できますか? はい はい
Roi入力ピンに有効なデータタイプ RectangleF RectangleF、RectangleF配列、領域、領域配列

仕組み#

テンプレートを定義して入力画像に適用することで、一致に関する次の情報を収集できます。

  • マッチングスコア
  • 位置
  • 方向
  • 一致の視覚化を含む領域

テンプレートの定義#

テンプレートマッチングの最初の手順は、アプリケーションによって検出されるオブジェクトの代表的な画像に基づくモデルのティーチングです。

このティーチング画像では、領域をマークしてティーチングします。アプリケーションはこのモデルを使用し、本番環境でオブジェクトを検出します。

画像に完全に表示されているオブジェクトのみが検出されます。つまり、テンプレート画像でマークされた領域は、検索画像に完全に含まれている必要があります。そのため、オブジェクトにマークを付けるときはできるだけ小さなペンを使用して正確に行ってください。

オブジェクトは、ティーチングされたモデルのオブジェクトに対して、サイズがまったく同じで、カメラまでの距離が同じ位置にある必要があります。

テンプレートマッチングは、モデルと検索画像のグレー値情報に直接基づいて行われます。テンプレートマッチングでは、正規化相互相関アルゴリズムが使用されます。

情報

  • 代表的な画像をテンプレートとして選択します。
  • テンプレート画像でオブジェクトの領域をマークする場合、オブジェクトに特徴的で、検索画像で一般的に表示される領域を選択します。

基準点の使用#

The Template Matching Basic vTool allows you to display a reference point in the object you've marked. By default, the reference point is placed at the center of gravity of your object. For most applications, this works well.

情報

関心領域を使用している場合、デフォルトの基準点は関心領域内に存在する必要があります。

ただし、必要に応じて、基準点を別の位置に移動できます。一例は、ロボットピッキングアプリケーションです。そのシナリオでは、ロボットのグリッパーと、ピックするオブジェクトの形状を考慮して、ビジョンシステムがロボットのグリッピング位置を決定する必要があります。ここでは、これらの両方の側面に対応するように、基準点を適切に配置できます。

基準点を表示するには、まずティーチング画像にテンプレート領域をマークする必要があります。

Model Settings#

To detect objects at different orientations from the object in the model taught, you can define a target angle and add a permissible tolerance value by which objects are allowed to deviate from the target angle.

実行の設定#

  • Matches:限られた数のオブジェクトしか発生しないアプリケーションの場合は、一致する可能性のある数を、正確にこの数に制限することをお勧めします。これにより、処理速度と堅牢性が向上します。
  • Score: A score value is calculated for every match. This score is the correlation coefficient between the region in the model and the region matched in the search image.
    To find the optimum Score setting, start with a moderate value and run some test images. Observe the output values of the Scores pin. In order to securely find a match, always set the Score option to a value lower than the scores output by the Scores pin. This is best practice and recommended to allow for some tolerance.
    Choose a score value between 50–80 % of the lowest score output values determined on the test image. In case the score is set too low, some unwanted matches may be detected as well. In that case, readjust the score value until only the intended objects are found in the test images.
  • タイムアウト:タイムクリティカルなアプリケーションの場合、タイムアウトを指定できます。タイムアウトは、例えば、ティーチングされたオブジェクトが画像に含まれていない場合など、処理時間が変化する場合や予測できない場合に役立ちます。タイムアウトを指定すると、検出プロセスは指定されたタイムアウト後に停止し、次の画像に進みます。
    Baslerでは、タイムアウトを目的の制限時間よりも少し短く設定することを推奨しています。これは、vToolが検出プロセスを即座に停止しないためです。したがって、タイムアウトは目的の時間制限の70~80%に設定します。

キャリブレーションの使用#

結果として得られた位置の一致は、ワールド座標にメートル単位で出力することもできます。これを実現するには、Calibration vToolTransformation出力ピンを、Template Matching vToolのTransformation入力ピンに接続します。

Template Matching vToolを設定するには、実際の処理と同じキャリブレーション構成を使用する必要があります。

情報

  • 2次元画像を生成する3次元ワールド空間内のオブジェクトの表面は、空間のほぼ同じ平面上にある必要があります。この場合、ワールド内のオブジェクトと画像内のエッジの位置の違いによる遠近法の歪みの影響は無視できます。
  • 広角レンズでは、光学設定により大きな遠近法の歪みが生じます。これらのレンズの場合、検査オブジェクトの高さは、オブジェクトからカメラまでの距離に比べて低くする必要があります。または、オブジェクトの高さを無視できない場合は、同じ高さレベルのテンプレート画像内の領域を選択します。
  • キャリブレーションのセットアップ中にキャリブレーションプレートの表面をこの平面に配置して、オブジェクトの平面を登録します。

一般的な使用例#

  • オブジェクトのCounting:この場合、Scores出力ピンの要素数のみが関係します。
  • image coordinatesでのオブジェクトのLocating:後続の処理には、Positions_pxおよびAngles_radの出力ピンを使用します。
  • world coordinatesでのオブジェクトのLocatingPositions_mおよびAngles_radの出力ピンを使用して、オブジェクトの位置をロボットなどに送信し、オブジェクトを把握します。

Template Matching Starter#

異なる方向のオブジェクトを検出する場合は、[Rotation]チェックボックスをオンにします。これにより、[モデルの設定]エリアのオプションが使用可能になります。これらを使用して、ターゲット角度と、オブジェクトがターゲット角度から逸脱することを許容する許容値を定義できます。[増分]オプションを使用すると、段階的に検出が行われるように指定できます。より大きな増分を選択すると、処理がより速く実行されるため、検出が高速化されます。

画像内で検出するオブジェクトの数を指定したり、無制限の数のオブジェクトを検索したりできます。一致の数を予想される数に制限すると、処理が高速かつ堅牢になります。

スコア値を調整することで、オブジェクトが、ティーチングされたオブジェクトとどの程度一致するかを指定できます。

Template Matching Starterは、境界ボックスを使用して、オブジェクトで領域をマークします。画像をロードすると、自動的に四角形が表示されます。これをターゲットオブジェクトの周囲に配置し、必要に応じてサイズを変更します。この操作では長方形のハンドルを使用するか、[矩形の設定]エリアに目的の値を手動で入力できます。

vToolの設定#

Template Matching Starter vToolを設定するには:

Template Matching Starter vToolの設定

  1. [vToolの設定]エリアの[レシピ管理]ペインで、[設定を開く]をクリックするか、[vTool]をダブルクリックします。
    [Template Matching Starter]ダイアログが開きます。
  2. ティーチング画像を撮影するか、開きます。[
    Single Shot]ボタンを使用してライブ画像を取得するか、[Open Image]ボタンをクリックして既存の画像を開くことができます。
  3. [矩形の設定]エリアで、テンプレートとして使用するオブジェクトに合わせて四角形の位置とサイズを変更します。
  4. [モデルの設定]エリアで、回転を有効にするかどうかを指定します。
    これにより、テンプレートとは異なる方向のオブジェクトを一致させることができます。
  5. Teach the matching model by clicking the Teach button on the toolbar.
  6. 必要に応じて、[Execution Settings]エリアの[Matches]設定を調整し、一致の数を最大に制限します。
  7. 必要に応じて、ターゲットオブジェクトのみが見つかるように[Score]設定を調整します。

テンプレートマッチングの結果は、ピンデータビューで表示できます。ここで、表示する出力を選択できます。

Template Matching Basic#

If you want to detect objects at different orientations, use the options in the Model Settings area. With these, you can define a target angle and a tolerance by which objects are allowed to deviate from the target angle.

画像内で検出するオブジェクトの数を指定したり、無制限の数のオブジェクトを検索したりできます。一致の数を予想される数に制限すると、処理が高速かつ堅牢になります。

スコア値を調整することで、オブジェクトが、ティーチングされたオブジェクトとどの程度一致するかを指定できます。

タイムクリティカルなアプリケーションの場合、タイムアウトを指定できます。タイムアウトは、例えば、ティーチングされたオブジェクトが画像に含まれていない場合など、処理時間が変化する場合や予測できない場合に役立ちます。

vToolの設定#

Template Matching Basic vToolを設定するには:

Template Matching Basic vTool設定

  1. [vTool Settings]エリアの[Recipe Management]ペインで、[Open Settings]をクリックするか、[vTool]をダブルクリックします。
    [Template Matching Basic]ダイアログが開きます。
  2. ティーチング画像を撮影するか、開きます。[
    Single Shot]ボタンを使用してライブ画像を取得するか、[Open Image]ボタンをクリックして既存の画像を開くことができます。
  3. ペンを使用して、画像内の目的の領域をマークします。
    図面を修正するには、消しゴムを使用するか、図面を完全に削除します。
  4. Teach the matching model by clicking the Teach button on the toolbar.
  5. 必要に応じて、[基準点を表示する]をクリックして基準点を表示します。
    基準点がテンプレート領域の中央に表示され、[基準点を手動で設定する]ボタンが使用可能になります。これで、基準点を目的の位置にドラッグできます。[基準点を手動で設定する]を再度クリックすると、基準点がデフォルトの位置に戻ります。
  6. If desired, define a rotation angle and tolerance in the Model Settings area.
  7. 必要に応じて、[Execution Settings]エリアの[Matches]設定を調整し、一致の数を最大に制限します。
  8. 必要に応じて、ターゲットオブジェクトのみが見つかるように[Score]設定を調整します。
  9. タイムアウトを指定する場合は、[No timeout]チェックボックスをオフにし、入力フィールドに目的のタイムアウトを入力します。

テンプレートマッチングの結果は、ピンデータビューで表示できます。ここで、表示する出力を選択できます。

入力#

画像#

Camera vToolから、またはImage Format ConvertervToolなどの画像を出力するvToolから、直接画像を受け入れます。

  • データ型:Image
  • 画像形式:8ビット-16ビットのモノラルまたはカラー画像。カラー画像は、内部でモノラル画像に変換されます。

Roi#

領域または矩形を出力するROI Creator vToolなどのvToolから、関心領域を受け入れます。複数の矩形または領域が内部で結合されて、単一の関心領域が形成されます。StarterバージョンではRectangleFのみを受け入れます。

  • データタイプ:RectangleF、RectangleF配列、領域、領域配列

変換#

Calibration vToolから変換データを受け入れます。

  • データ型:Transformation Data

出力#

スコア#

一致のスコアを返します。

  • データ型:Float Array

Positions_px#

画像座標(行/列)での一致の位置を返します。

  • データ型:PointF Array

Positions_m#

ワールド座標での一致の位置をメートル単位(x/y)で返します。

  • データ型:PointF Array

Angles_rad#

一致の方向をラジアンで返します。

  • データ型:Float Array

領域#

検出されたすべての一致の領域を返します。

  • データ型:Region Array

AlignmentTf#

Image Alignment vToolが、マッチング中に使用される参照オブジェクトに、入力画像内のオブジェクトを位置合わせするために使用する変換データを返します。

  • データ型:Transformation Data

典型的な先行機#

典型的な後継機#