較正vTool#
Calibration vToolを前処理手順として使用し、その後に、Geometric Pattern Matching vTool、Region Feature Extraction vTool、またはMeasurements vToolなどのツールを使用できます。カメラをキャリブレーションしている場合は、以降のツールでピクセル座標とワールド座標(メートル単位)が出力されます。
Calibration vToolバージョン#
2つのバージョンのCalibration vToolを使用できます。次の表に、これらのバージョンの違いを示します。
Basic | Pro | |
---|---|---|
さまざまな歪みモデルから選択できますか? | いいえ | はい |
さまざまな投影モデルから選択できますか? | いいえ | はい |
仕組み#
カメラに取り付けられているレンズによっては、生の画像にある程度の放射状の歪みが見られます。また、キャリブレーションなしで行う測定は、画像のピクセル座標のみを参照します。
Calibration vToolを使用すると、次のような利点があります。
- キャリブレーションプロセスでは、生の画像に適用されるtransformation dataが生成され、歪みの影響が除去されます。
結果として、理想的な線形ピンホールカメラで撮影されたように見える画像が得られます。つまり、ターゲットシーンの直線が、画像上に直線として投影されます。 - Rectificationにより、遠近法による歪みがなくなります。
広角レンズが使用される場合、または検査対象オブジェクトが配置されている測定面にカメラが垂直に向いていない場合、遠近法による歪みが生じます。
例えば、カメラの視線方向が斜めの場合、カメラでは、反対側が平行ではなく消失点で交差する一般的な四角形として、正方形がワールドに表示されます。
したがって、機械的なセットアップでカメラを検査面に対して垂直に取り付けられない場合、カメラのキャリブレーションにより、画像が修正され、オブジェクトの真の表現であるように見えることが保証されます。 - キャリブレーションでは、ピクセル単位の画像座標とメートル単位のワールド座標のrelationが確立されます。
これにより、実世界での距離の測定やロボットのグリッピング位置の決定などのタスクを解決できます。 - Calibration Pro vToolを使用する場合、さまざまな歪みモデルと投影モデルから選択できます。これにより、アプリケーションの種類や使用しているレンズを考慮に入れることができるため、キャリブレーションがより正確または具体的になります。
キャリブレーションプロセス#
手順1:準備#
キャリブレーションプレート#
Calibration vToolでは、単一の測定面を基準にカメラをキャリブレーションできます。これにはキャリブレーションプレートが必要です。Calibration vToolには、すぐに使用できるさまざまなキャリブレーションプレートサイズが用意されています。これらは、[Calibration plate]ドロップダウンリストから使用できます。
カメラの視野に応じてキャリブレーションプレートのサイズを選択します。ターゲットシーンに完全な視野が含まれている場合、キャリブレーションプレートはおおよそ画像エリア全体をカバーしています。
ほとんどの場合、キャリブレーションプレートは画像エリアより少し大きくすることをお勧めします。最適なキャリブレーション結果を得るには、画像エリア全体がキャリブレーションプレートのポイントマーカーで覆われていることを確認してください。ターゲットシーンに視野全体の一部しか含まれていない場合は、その特定のエリアのみをカバーするキャリブレーションプレートで十分です。
キャリブレーションプレートを作成するには、付属のテンプレートのいずれかを印刷し、厚いボール紙やアルミニウムプレートなどの固く平らで均一な表面に接着します。一般的な用途や評価の目的では、標準的なプリンターやプロッターの印刷精度で十分である可能性があります。
歪みモデル(Proバージョンのみ)#
アプリケーションに適した歪みモデルを選択することで、より正確な変換データを生成して、歪み効果を補正できます。次の2つのモデルを選択できます。
- 除算:このモデルは、ほとんどのアプリケーション、特にロボットまたは部品の位置特定アプリケーションに適しています。歪みのモデリングには計数は1のみ使用します。このため、このモデルは非常に堅牢になり、良好な結果が得られます。
- 多項式:このモデルでは、さらに正確なキャリブレーション結果が得られます。測定用途やレンズの歪みが強い場合に使用します。歪みのモデリングには5つの係数が使用されます。
投影モデル(Proバージョンのみ)#
投影モデルを選択すると、使用しているレンズの種類を考慮に入れることができます。次の2つのモデルを選ぶことができます。
- 遠近法:エントセントリックレンズ使用時に推奨されるモデルです。
- 平行:テレセントリックレンズ使用時に推奨されるモデルです。
手順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つの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]に進みます。
一般的な使用例#
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を設定するには:
-
ペインの レシピ管理 エリア内の vTool設定 ペインで、 [Open Settings]をクリックするか、 または、vToolをダブルクリックします。
イメージ Calibration Basic/Pro ダイアログが手順1で開きます。
For more information, see 手順1:準備. -
[Calibration plate]ドロップダウンリストで、使用するプレートのサイズを選択します。
-
実際のプレートがまだない場合は、[Print]ボタンをクリックし、目的のプレートを印刷します。
-
クリック Next.
Step 2 of the キャリブレーション dialog opens.
For more information, see 手順2:カメラキャリブレーション. -
キャリブレーションプレートを測定する画像の位置に配置します。
キャリブレーションプレートの上面により、測定面が定義されます。 -
画像を撮影するか、開きます。
[Single Shot]ボタンを使用してライブ画像を取得するか、[Open Image]ボタンをクリックして既存の画像を開きます。
画像がロードされると、キャリブレーションプロセスがすぐに開始されます。終了すると、結果が画像エリアの下に表示されます。キャリブレーションプロセスが成功すると、画像エリアの下に緑色のチェックマークが表示されます。情報
キャリブレーションに使用される画像のサイズは、処理される画像のサイズと同じである必要があります。
-
結果テーブルをチェックし、要件が満たされているかどうかを確認します。
[arrow]ボタンを使用してテーブルを非表示にできます。そうすると、画像エリアが拡大され、画像の詳細の検査が容易になります。 -
[Next]をクリックします。
[Calibration]ダイアログの手順3が開きます。
詳細については、「手順3:マシンキャリブレーション」を参照してください。 -
マシンをキャリブレーションする場合は、 ツールバーの右端にある [Enable Machine Calibration]ボタンをクリックします。
If you want to finish with just the camera calibration, leave the settings dialog by clicking OK. -
Decide which method you want to use to define the machine's coordinate system.
-
アズテックコードで自動:
-
座標系の2つの異なる位置がエンコードされた、2つのアズテックコードを生成します(通常、座標系の原点と2番目の位置)。
-
アズテックコードを印刷します。
-
2つのアズテックコードをワールド座標系またはマシン座標系の正確な位置に配置します。
-
[Use Aztec code coordinates]チェックボックスをオンにします。
-
画像を撮影するか、開きます。
[Single Shot]ボタンを使用してライブ画像を取得するか、[Open Image]ボタンをクリックして既存の画像を開きます。
画像がロードされると、キャリブレーションプロセスがすぐに開始されます。終了すると、結果が画像エリアの下に表示されます。キャリブレーションプロセスが成功すると、画像エリアの下に緑色のチェックマークが表示されます。アズテックコードは、画像内の十字線で視覚化され、ワールド座標系の原点も視覚化されます。 -
結果テーブルをチェックし、要件が満たされているかどうかを確認します。
-
マシンの座標系に従って、z軸の方向を定義する場合は、 [Inver axes] チェックボックスを選択します。
-
-
アズテックコードで手動:
-
汎用文字列をエンコードした2つのアズテックコードを生成します。
文字列は同一にすることができます。その場合、1つのアズテックコードを生成し、その2つのコピーを印刷するだけで済みます。 -
アズテックコードを印刷します。
-
アズテックコードを画像エリア内の便利な位置に配置します。
-
ワールド座標でアズテックコードの位置を測定します。
-
[Use Aztec code coordinates]チェックボックスをオフにします。
-
画像を撮影するか、開きます。
[Single Shot]ボタンを使用してライブ画像を取得するか、[Open Image]ボタンをクリックして既存の画像を開きます。 -
Enter the coordinates for P1 and P2 in the respective World Coordinates input fields.
-
-
完全手動:
-
[Use Aztec code coordinates]チェックボックスをオフにします。
-
P1と P2のワールド座標をそれぞれの入力フィールドに入力します。
これらは既知であるか(設計によって固定されているため)、または測定する必要があります。 -
P1とP2の画像座標を指定するには、画像エリアの十字線を目的の位置にドラッグします。
-
-
キャリブレーションの結果は、[pin data view]で表示できます。 ここで、表示する出力を選択できます。
入力#
画像#
Camera vToolから、またはImage Format ConvertervToolなどの画像を出力するvToolから、直接画像を受け入れます。
- データ型:Image
- 画像形式:8ビットから16ビットのモノクロまたはカラー画像(「サポートされるピクセルフォーマット」を参照)
出力#
画像#
修正された画像を返します。出力画像は、画像を入力として受け入れる任意のvToolで使用できます。
- データ型:Image
- 画像形式:カラーまたはモノクロ画像(「サポートされるピクセルフォーマット」を参照)
変換#
修正された画像のピクセル座標をワールド座標に変換する変換データを返します。変換データは、変換データを入力として受け入れる任意のツールによって使用され、一連のピクセル座標のワールド座標を決定できます。
- データ型: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 |
関連するvTools#
典型的な先行機#
典型的な後継機#
- Region Feature Extraction vTool
ワールド座標で領域の機能を決定できます。 - Geometric Pattern Matching vTool
Geometric Pattern Matching Pro vToolを接続し、ワールド座標内のオブジェクトの中心と方向を決定します。 - Measurements Basic vTool
ワールド座標で位置と距離を決定できます。 - Circle Measurements Pro vTool
ワールド座標で位置と距離を決定できます。 - Ellipse Measurements Pro vTool
ワールド座標で位置と距離を決定できます。 - Line Measurements Pro vTool
ワールド座標で位置と距離を決定できます。 - Rectangle Measurements Pro vTool
ワールド座標で位置と距離を決定できます。