コンテンツにスキップ

較正vTool#

Calibration vToolでは、ピクセル座標をワールド座標に変換できるように、カメラをキャリブレーションできます。

Calibration vToolを前処理手順として使用し、その後に、Geometric Pattern Matching vToolRegion Feature Extraction vTool、またはMeasurements vToolなどのツールを使用できます。カメラをキャリブレーションしている場合は、以降のツールで、ピクセル座標とワールド座標(メートル単位)が出力されます。

vToolをしきい値処理するキャリブレーション

仕組み#

カメラに取り付けられているレンズによっては、生の画像にある程度の放射状の歪みが見られます。また、キャリブレーションなしで行う測定は、画像のピクセル座標のみを参照します。

Calibration vToolを使用すると、次のような利点があります。

  • キャリブレーションプロセスでは、生の画像に適用されるtransformation dataが生成され、歪みの影響が除去されます。
    結果として、理想的な線形ピンホールカメラで撮影されたように見える画像が得られます。つまり、ターゲットシーンの直線が、画像上に直線として投影されます。

  • Rectificationにより、遠近法による歪みがなくなります。
    広角レンズが使用される場合、または検査対象オブジェクトが配置されている測定面にカメラが垂直に向いていない場合、遠近法による歪みが生じます。
    例えば、カメラの視線方向が斜めの場合、カメラでは、反対側が平行ではなく消失点で交差する一般的な四角形として、正方形がワールドに表示されます。
    したがって、機械的なセットアップでカメラを検査面に対して垂直に取り付けられない場合、カメラのキャリブレーションにより、画像が修正され、オブジェクトの真の表現であるように見えることが保証されます。

  • キャリブレーションでは、ピクセル単位の画像座標とメートル単位のワールド座標のrelationが確立されます。
    これにより、実世界での距離の測定やロボットのグリッピング位置の決定などのタスクを解決できます。

キャリブレーションプロセス#

手順1:準備#

Calibration vToolでは、単一の測定面を基準にカメラをキャリブレーションできます。これにはキャリブレーションプレートが必要です。Calibration vToolには、すぐに使用できるさまざまなキャリブレーションプレートサイズが用意されています。これらは、[Calibration plate]ドロップダウンリストから使用できます。

カメラの視野に応じてキャリブレーションプレートのサイズを選択します。ターゲットシーンに完全な視野が含まれている場合、キャリブレーションプレートはおおよそ画像エリア全体をカバーしています。

ほとんどの場合、キャリブレーションプレートは画像エリアより少し大きくすることをお勧めします。最適なキャリブレーション結果を得るには、画像エリア全体がキャリブレーションプレートのポイントマーカーで覆われていることを確認してください。ターゲットシーンに視野全体の一部しか含まれていない場合は、その特定のエリアのみをカバーするキャリブレーションプレートで十分です。

キャリブレーションプレートを作成するには、付属のテンプレートのいずれかを印刷し、厚いボール紙やアルミニウムプレートなどの固く平らで均一な表面に接着します。一般的な用途や評価の目的では、標準的なプリンターやプロッターの印刷精度で十分である可能性があります。

手順1を実行するには、[Confiture the vTool]に進みます。

手順2:カメラキャリブレーション#

この手順では、キャリブレーションプレートの画像を取得します。カメラでライブ画像を取得したり、ディスクから画像をロードできます。ライブ画像は、キャリブレーションプレートをオンザフライで移動し、測定に適した位置を見つけることができるため便利です。キャリブレーションプレートの上面は、測定面を規定しています。

情報

カメラをキャリブレーションすると、single world planeでのみ測定が可能になります。このワールド面は、キャリブレーションプレートによって規定されます。アプリケーションの設定が変更された場合、カメラを再キャリブレーションする必要があります。

測定するオブジェクトは、この平面上またはこの平面の近くにある必要があります。したがって、検査対象オブジェクトを平らにするか、高さを低くする必要があります。あるいはキャリブレーションプレートの上面がオブジェクトの表面と同じ高さであることを確認する必要があります。

カメラが測定面に垂直に向いており、レンズの開口角度が小さい場合、測定面の外側にあるオブジェクトによって引き起こされる誤差は無視できます。測定面とカメラの視線方向との角度が傾斜している場合にのみ、位置または距離に関する測定誤差が大きくなります。

この場合、Baslerでは、オブジェクト間の高さの変動を、オブジェクトの距離に対して1-5%の値に制限することをお勧めします。

画像が取得されると、キャリブレーションプロセスがすぐに開始され、結果が画像エリアの下に表示されます。

緑色で強調表示されているマーカーは、画像で検出されたマーカーです。赤色のマーカーは、キャリブレーションプロセスで検出されなかったマーカーです。ワールド座標系の原点も表示されます。

情報

ワールド座標系の位置と方向は、キャリブレーションプレートのパターンとその説明にエンコードされており、これは変更できません。ワールド座標系をアプリケーションのニーズに適合させる場合は、マシンキャリブレーション手順を使用します。

手順2を実行するには、[Confiture the vTool]に進みます。

手順3:マシンキャリブレーション#

マシンキャリブレーションは、ビジョンシステムのワールド座標系を、ビジョンシステムが含まれているマシンの座標系に合わせるoptionalの手順です。共通の座標系に基づいて、例えば、ロボットは、ビジョンシステムによって決定された位置でオブジェクトを拾うことができます。

カメラのキャリブレーションが十分であり、アプリケーションに位置合わせされたワールド座標系が必要ない場合は、ここでキャリブレーションプロセスを終了できます。

考慮事項#

マシン座標系を定義するには、2つのマーカーを使用し、座標系に2つの点(P1とP2)を定義します。マシンのキャリブレーションを成功させるには、マシン座標面とキャリブレーションプレート面の関係を知ることが重要です。次の2つのオプションがあります。

  • Both planes are identical.
    この場合、キャリブレーションプレートの任意の位置にマーカーを配置して、独自のマシン座標系を定義できます。マーカーのマシン座標と画像座標を把握することで変換を定義できます。これにより測定された画像ポイントをマシン座標に変換できます。
  • The planes are parallel to each other.
    場合によっては、同一のマシン面とキャリブレーション面を使用することが不可能または望ましくないことがあります。または、マシン面がキャリブレーション面と異なる高さにある場合があります。ただし、両方の平面は常に互いに平行である必要があります。

    情報

    この設定は、カメラが測定面に垂直に向いている場合にのみ推奨されます。実際には、視線方向が理想的な構成から数度ずれている場合があります。

    視線方向がキャリブレーションプレートに対して傾斜している場合、マシン面はキャリブレーション面に少なくとも近くなければなりません。 そうでない場合は、開口角が広く、視野角が斜めのレンズでは、系統誤差がさらに大きくなります。

方法#

マシン座標系を定義するマーカーの提供には、3つの方法があります。

アズテックコードで自動#

アズテックコードは、座標位置に関する情報をエンコードするだけでなく、画像内の位置を検出するための優れた視覚的マーカーを提供するのに最適です。

この方法では、2つのアズテックコードを生成して印刷します。

  • 1番目のコードは、例えば、座標系の原点の位置(「0 0」)をエンコードします。
  • 2番目のコードは、座標系の2番目の点、例えば、x軸上の位置(「50 0」)をエンコードします。
    エンコード位置の表記は、「point_coordinate_x point_coordinate_y」です。

システムは画像内のアズテックコードの位置を検出し、そのワールド位置をコードのデコードされたコンテンツに関連付けます。

情報

アズテックコードの中心は、ワールド座標におけるマーカーの位置を定義します。

マーカー間の距離は、エンコードされた位置によって定義された値と正確に一致する必要があります。

アズテックコードで手動#

この方法では、コードは一般的であり、短い文字列など、任意の情報を含めることができます。これにより、両方のコードが同一になる可能性があるため、印刷プロセスが簡単になります。さらに重要なのは、コードを任意の位置に配置できるようになる点で、マシン座標として登録したい位置を選択するだけで済みます。

ロボットアプリケーションの場合は、次のように進めます。コードを配置し、ロボットハンドに取り付けられた適切なタッチプローブを使用してその位置を測定します。次に、画像を取得し、ロボットによって登録された座標を[World Coordinates]入力フィールドに入力します。

完全手動#

この方法では、ワールド座標と画像座標の2点の座標を柔軟に入力できます。上記の方法と同様に、ワールド座標はシステムから認識または登録され、[World Coordinates]入力フィールドに入力されます。画像内のP1とP2の十字線を目的のターゲット位置にドラッグすると、必要に応じて画像座標を調整できます。

完全手動の方法が役立つ主なシナリオは次の2つです。

  • 例えば、円の中心、長方形の端点、またはボール紙に手で素早くスケッチした十字形など、登録可能なあらゆる種類のマーカーを使用できます。
  • マシンのデザインにマーカーを含めることができ、これにより、マーカーの位置が固定され、常に認識されます。マーカーには、小さな穴や適切な基準マーカーなどがあります。

    情報

    マシンに固定マーカーがある場合は、両方のマーカーまでの距離が同じになるようにキャリブレーションプレートを配置する必要があります。

手順3を実行するには、[Confiture the vTool]に進みます。

一般的な使用例#

Geometric Pattern Matching#

修正された画像を使用すると、一致結果がより正確になります。その理由は、レンズの歪みや遠近法の歪みがなくなるため、測定面上の位置に関係なく、平らなオブジェクトの外観が同じになるためです。

また、キャリブレーションプロセスによって生成される変換データを使用すると、Geometric Pattern Matching vToolは、パターンの中心のワールド座標を出力できます。

Region Feature Extraction#

Region Feature ExtractionvToolでは、領域の特徴(面積、重心など)が計算され、それらを抽出できます。キャリブレーションされた設定を使用すると、座標、長さ、面積などの特徴を、メートルや平方メートルなどの測定単位に変換できます。

測定値#

Measurements vToolは、エッジの位置またはエッジ間の距離を高精度で決定します。Calibration vTool を前処理に使用すると、レンズの歪みや遠近法による歪みを防止できます。また、メートル法の測定単位で結果(座標と距離)を取得できます。

情報

Calibration vToolの十分なメリットを得るには、両方の出力ピン(ImageおよびTransformation)を、後続のすべてのvToolsに正しく接続するようにします。

vToolの設定#

Calibration vToolを設定するには:

  1. ペインの レシピ管理 エリア内の vTool設定 ペインで、 [Open Settings]をクリックするか、 または、vToolをダブルクリックします。
    イメージ Calibration Basic ダイアログが手順1で開きます。
    For more information, see 手順1:準備.
    Calibration vTool設定 - 手順1
  2. [Calibration plate]ドロップダウンリストで、使用するプレートのサイズを選択します。
  3. 実際のプレートがまだない場合は、[Print]ボタンをクリックし、目的のプレートを印刷します。
  4. クリック Next.
    Step 2 of the キャリブレーション dialog opens.
    For more information, see 手順2:カメラキャリブレーション.
    vTool設定 - 手順2
  5. キャリブレーションプレートを測定する画像の位置に配置します。
    キャリブレーションプレートの上面により、測定面が定義されます。
  6. Capture or open an image.
    Either use the Single Shot button to grab a live image or click the Open Image button to open an existing image.
    Once an image has been loaded, the calibration process starts immediately. When it's finished, the results are displayed below the image area. If the calibration process was successful, a green check mark appears below the image area.

    情報

    キャリブレーションに使用される画像のサイズは、処理される画像のサイズと同じである必要があります。

  7. 結果テーブルをチェックし、要件が満たされているかどうかを確認します。
    キャリブレーション結果
    [arrow]ボタンを使用してテーブルを非表示にできます。そうすると、画像エリアが拡大され、画像の詳細の検査が容易になります。
    非表示のキャリブレーション結果テーブル

  8. [Next]をクリックします。
    [Calibration]ダイアログの手順3が開きます。
    詳細については、「手順3:マシンキャリブレーション」を参照してください。
  9. マシンをキャリブレーションする場合は、 ツールバーの右端にある [Enable Machine Calibration]ボタンをクリックします。
    If you want to finish with just the camera calibration, leave the settings dialog by clicking OK.
    Calibration vTool設定 - 手順3有効化
  10. 使用する方法を 決定して マシンの座標系を定義します。
    • アズテックコードで自動:
      1. 座標系の2つの異なる位置がエンコードされた、2つのアズテックコードを生成します(通常、座標系の原点と2番目の位置)。
      2. アズテックコードを印刷します。
      3. 2つのアズテックコードをワールド座標系またはマシン座標系の正確な位置に配置します。
      4. [Use Aztec code coordinates]チェックボックスをオンにします。
      5. Capture or open an image.
        Either use the Single Shot button to grab a live image or click the Open Image button to open an existing image.
        Once an image has been loaded, the calibration process starts immediately. When it's finished, the results are displayed below the image area. If the calibration process was successful, a green check mark appears below the image area. The Aztec codes are visualized by crosshairs in the image, and the origin of the world coordinate system is visualized as well.
      6. 結果テーブルをチェックし、要件が満たされているかどうかを確認します。
      7. マシンの座標系に従って、z軸の方向を定義する場合は、 [Inver axes] チェックボックスを選択します。
        マシンキャリブレーション - アズテックコードによる自動
    • アズテックコードで手動:
      1. 汎用文字列をエンコードした2つのアズテックコードを生成します。
        文字列は同一にすることができます。その場合、1つのアズテックコードを生成し、その2つのコピーを印刷するだけで済みます。
      2. アズテックコードを印刷します。
      3. アズテックコードを画像エリア内の便利な位置に配置します。
      4. ワールド座標でアズテックコードの位置を測定します。
      5. [Use Aztec code coordinates]チェックボックスをオフにします。
      6. Capture or open an image.
        Either use the Single Shot button to grab a live image or click the Open Image button to open an existing image.
      7. P1と P2の座標をそれぞれの [World Coordinates] 入力フィールドに入力します。
        マシンキャリブレーション - アズテックコードによる手動
    • 完全手動:
      1. [Use Aztec code coordinates]チェックボックスをオフにします。
      2. P1と P2のワールド座標をそれぞれの入力フィールドに入力します。
        これらは既知であるか(設計によって固定されているため)、または測定する必要があります。
      3. P1とP2の画像座標を指定するには、画像エリアの十字線を目的の位置にドラッグします。
        マシンキャリブレーション - 完全手動

キャリブレーションの結果は、[pin data view]で表示できます。 ここで、表示する出力を選択できます。

入力#

画像#

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

  • データ型:Image
  • 画像形式:8ビットから16ビットのモノクロ画像またはカラー画像

出力#

画像#

修正された画像を返します。出力画像は、画像を入力として受け入れる任意のvToolで使用できます。

  • データ型:Image
  • 画像形式:カラー画像またはモノクロ画像(入力画像に応じて)。出力ピクセル形式は、入力ピクセル形式と異なる場合があります。

変換#

修正された画像のピクセル座標をワールド座標に変換する変換データを返します。変換データは、変換データを入力として受け入れる任意のツールによって使用され、一連のピクセル座標のワールド座標を決定できます。

  • データ型:Transformation Data

典型的な先行機#

典型的な後継機#

  • Region Feature ExtractionvTool
    Region Feature Extraction vToolを接続し、ワールド座標内の領域の特徴を決定します。
  • Geometric Pattern Matching vTool
    Geometric Pattern Matching Pro vToolを接続し、ワールド座標内のオブジェクトの中心と方向を決定します。
  • Measurements vTool
    Measurements vToolを接続し、ワールド座標内の位置と距離を決定します。