コンテンツにスキップ
STAGING SERVER
DEVELOPMENT SERVER

較正vTool#

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

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

To buy a license for the Calibration vTool, visit the Basler website.

較正vTool

Calibration vToolバージョン#

2つのバージョンのCalibration vToolを使用できます。次の表に、これらのバージョンの違いを示します。

Basic Pro
さまざまな歪みモデルから選択できますか? いいえ はい
さまざまな投影モデルから選択できますか? いいえ はい
Buy license Visit Basler website Visit Basler website

仕組み#

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

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

  • キャリブレーションプロセスでは、生の画像に適用されるtransformation dataが生成され、歪みの影響が除去されます。
    結果として、理想的な線形ピンホールカメラで撮影されたように見える画像が得られます。つまり、ターゲットシーンの直線が、画像上に直線として投影されます。
  • Rectificationにより、遠近法による歪みがなくなります。
    広角レンズが使用される場合、または検査対象オブジェクトが配置されている測定面にカメラが垂直に向いていない場合、遠近法による歪みが生じます。
    例えば、カメラの視線方向が斜めの場合、カメラでは、反対側が平行ではなく消失点で交差する一般的な四角形として、正方形がワールドに表示されます。
    したがって、機械的なセットアップでカメラを検査面に対して垂直に取り付けられない場合、カメラのキャリブレーションにより、画像が修正され、オブジェクトの真の表現であるように見えることが保証されます。
  • キャリブレーションでは、ピクセル単位の画像座標とメートル単位のワールド座標のrelationが確立されます。
    これにより、実世界での距離の測定やロボットのグリッピング位置の決定などのタスクを解決できます。
  • Calibration Pro vToolを使用する場合、さまざまな歪みモデルと投影モデルから選択できます。これにより、アプリケーションの種類や使用しているレンズを考慮に入れることができるため、キャリブレーションがより正確または具体的になります。

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

手順1:準備#

キャリブレーションプレート#

The Calibration vTool allows you to calibrate a camera with respect to a single measurement plane. This requires a calibration plate. Out of the box, the Calibration vTool offers circle grid calibration plate in different sizes. They are available in the Calibration plate drop-down list.

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

In most situations, it is preferable for the calibration plate to be a little bit bigger than the image area. For optimum calibration results, you should ensure that the whole image area is covered by the circle grid of the calibration plate. If your target scene includes only a portion of the complete field of view, a calibration plate that only covers that particular area is sufficient.

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

If the sizes offered don't meet your requirements, custom calibration plates are available on request. For this, contact Basler Support.

歪みモデル(Proバージョンのみ)#

アプリケーションに適した歪みモデルを選択することで、より正確な変換データを生成して、歪み効果を補正できます。次の2つのモデルを選択できます。

  • 除算:このモデルは、ほとんどのアプリケーション、特にロボットまたは部品の位置特定アプリケーションに適しています。歪みのモデリングには計数は1のみ使用します。このため、このモデルは非常に堅牢になり、良好な結果が得られます。
  • 多項式:このモデルでは、さらに正確なキャリブレーション結果が得られます。測定用途やレンズの歪みが強い場合に使用します。歪みのモデリングには5つの係数が使用されます。

投影モデル(Proバージョンのみ)#

投影モデルを選択すると、使用しているレンズの種類を考慮に入れることができます。次の2つのモデルを選ぶことができます。

  • 遠近法:エントセントリックレンズ使用時に推奨されるモデルです。
  • 平行:テレセントリックレンズ使用時に推奨されるモデルです。

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

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

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

情報

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

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

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

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

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

Coloring in the image area immediately shows whether the calibration was successful. Circles highlighted in green have been detected successfully whereas red circles haven't been detected. Also, the origin of the world coordinate system is shown.

情報

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

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

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

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

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

考慮事項#

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

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

    情報

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

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

方法#

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

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

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

この方法では、位置をミリメートル単位でエンコードする2つのAztecコードを生成して印刷します。

  • 1番目のコードは、例えば、座標系の原点の位置(「0 0」)をエンコードします。
  • 2番目のコードは、座標系のx軸上の2番目の点をエンコードします。例えば、1番目のコードから50mm離れた点は「50 0」としてエンコードします。
    エンコード位置の表記は「point_coordinate_x point_coordinate_y」となります。

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

情報

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

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

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

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

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

完全手動#

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

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

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

    情報

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

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

Tips for Successful Calibration#

Consider the following aspects to ensure optimum calibration results (assuming 8-bit images with a gray value range of 0–255).

  • Pattern coverage: At least one finder pattern must be visible to the camera. If two or more finder patterns are visible in the image, it's possible to detect whether the calibration plate is mirrored or not. Generally, the more of the calibration pattern is visible to the camera and the more of the field of view is filled by the calibration plate, the better.
  • Circle diameter: The diameter of the of the circles in the grid should be at least 20 pixels in every image. This is essential for successful calibration.
  • Contrast: The contrast between the light and dark areas in the images of the calibration plate should be at least 100 gray values.
  • Overexposure: Avoid overexposed images. The light areas in the images of the calibration plate shouldn't exceed a gray value of 240, especially not in the neighborhood of the finder patterns.
  • Homogeneity: Ensure homogeneous illumination and avoid reflections. As a rule of thumb, the difference in gray values between lightest white part and darkest white part in the images you take, shouldn't exceed 45.

一般的な使用例#

Geometric Pattern Matching#

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

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

Region Feature Extraction#

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

測定値#

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

情報

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

Measurements Pro vToolも同様の方法で機能しますが、完全な幾何学的形状を測定できます。

vToolの設定#

Calibration vToolを設定するには:

  1. ペインの レシピ管理 エリア内の vTool設定 ペインで、 [Open Settings]をクリックするか、 または、vToolをダブルクリックします。
    イメージ Calibration Basic/Pro ダイアログが手順1で開きます。
    For more information, see 手順1:準備.
    Calibration vTool設定 - 手順1

  2. [Calibration plate]ドロップダウンリストで、使用するプレートのサイズを選択します。

  3. 実際のプレートがまだない場合は、[Print]ボタンをクリックし、目的のプレートを印刷します。

  4. 歪みモデル投影モデルを選択します(Proバージョンのみ)。

  5. クリック Next.
    Step 2 of the キャリブレーション dialog opens.
    For more information, see 手順2:カメラキャリブレーション.
    vTool設定 - 手順2

  6. キャリブレーションプレートを測定する画像の位置に配置します。
    キャリブレーションプレートの上面により、測定面が定義されます。

  7. 画像を撮影するか、開きます。
    [Single Shot]ボタンを使用してライブ画像を取得するか、[Open Image]ボタンをクリックして既存の画像を開きます。
    画像がロードされると、キャリブレーションプロセスがすぐに開始されます。終了すると、結果が画像エリアの下に表示されます。キャリブレーションプロセスが成功すると、画像エリアの下に緑色のチェックマークが表示されます。

    情報

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

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

  9. [Next]をクリックします。
    [Calibration]ダイアログの手順3が開きます。
    詳細については、「手順3:マシンキャリブレーション」を参照してください。

  10. マシンをキャリブレーションする場合は、 ツールバーの右端にある [Enable Machine Calibration]ボタンをクリックします。
    If you want to finish with just the camera calibration, leave the settings dialog by clicking OK.
    Calibration vTool設定 - 手順3有効化

  11. Decide which method you want to use to define the machine's coordinate system.

    • アズテックコードで自動:

      1. 座標系の2つの異なる位置がエンコードされた、2つのアズテックコードを生成します(通常、座標系の原点と2番目の位置)。

      2. アズテックコードを印刷します。

      3. 2つのアズテックコードをワールド座標系またはマシン座標系の正確な位置に配置します。

      4. [Use Aztec code coordinates]チェックボックスをオンにします。

      5. 画像を撮影するか、開きます。
        [Single Shot]ボタンを使用してライブ画像を取得するか、[Open Image]ボタンをクリックして既存の画像を開きます。
        画像がロードされると、キャリブレーションプロセスがすぐに開始されます。終了すると、結果が画像エリアの下に表示されます。キャリブレーションプロセスが成功すると、画像エリアの下に緑色のチェックマークが表示されます。アズテックコードは、画像内の十字線で視覚化され、ワールド座標系の原点も視覚化されます。

      6. 結果テーブルをチェックし、要件が満たされているかどうかを確認します。

      7. マシンの座標系に従って、z軸の方向を定義する場合は、 [Inver axes] チェックボックスを選択します。
        マシンキャリブレーション - アズテックコードによる自動

    • アズテックコードで手動:

      1. 汎用文字列をエンコードした2つのアズテックコードを生成します。
        文字列は同一にすることができます。その場合、1つのアズテックコードを生成し、その2つのコピーを印刷するだけで済みます。

      2. アズテックコードを印刷します。

      3. アズテックコードを画像エリア内の便利な位置に配置します。

      4. ワールド座標でアズテックコードの位置を測定します。

      5. [Use Aztec code coordinates]チェックボックスをオフにします。

      6. 画像を撮影するか、開きます。
        [Single Shot]ボタンを使用してライブ画像を取得するか、[Open Image]ボタンをクリックして既存の画像を開きます。

      7. Enter the coordinates for P1 and P2 in the respective World Coordinates input fields.

      マシンキャリブレーション - アズテックコードによる手動

    • 完全手動:

      1. [Use Aztec code coordinates]チェックボックスをオフにします。

      2. P1と P2のワールド座標をそれぞれの入力フィールドに入力します。
        これらは既知であるか(設計によって固定されているため)、または測定する必要があります。

      3. P1とP2の画像座標を指定するには、画像エリアの十字線を目的の位置にドラッグします。

      マシンキャリブレーション - 完全手動

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

入力#

画像#

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

出力#

画像#

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

変換#

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

  • データ型:Transformation Data

サポートされているPixel Format#

入力画像のピクセルフォーマットに応じて、Calibration vToolは、次のピクセルフォーマットを出力します。

入力ピクセルフォーマット 出力Pixel Format
Bayer GR 8 RGB 8 Planar
Bayer GR 16 RGB 16 Planar
Bayer RG 8 RGB 8 Planar
BGRA 8 Packed RGB 8 Planar
BGR 8 Packed RGB 8 Planar
Mono 8 Mono 8
Mono 10 Mono 10
Mono 12 Mono 12
Mono 16 Mono 16
RGB 8 Packed RGB 8 Planar
RGB 16 Packed RGB 16 Planar
RGB 8 Planar RGB 8 Planar
RGB 16 Planar RGB 16 Planar

典型的な先行機#

典型的な後継機#