3次元ビジョンとは - Kyoto Robotics 株式会社

3次元ビジョンとは

ここでは3次元ビジョンを3次元計測と3次元認識の2つに大別しお話します。3次元計測とは、対象物の長さや幅などの寸法を測ることや対象物の3次元形状を点群として計測することを指します。一方3次元認識とは、空間の中から特定の対象物を探索し、見つかった対象物の3次元位置姿勢を求めることを指します。

3次元計測の原理

カメラの原理

カメラで撮った画像は平面的であり、2次元です。光はレンズを通って、画像平面に結像します。画像平面上の1点が決まれば、光が飛んできた直線経路(その点とレンズ中心を結んだ直線)までは特定できます。しかし、その直線経路上のどこから飛んできたかまでは特定できません。

直線経路上のこの点を特定することが3次元計測の目的です。主に以下の3つの異なる原理に基づいています。

1.三角測量
2.タイムオブフライト(TOF)
3.合焦点

タイムオブフライトによる3次元計測は室外でも使えるメリットがありますが、計測精度は必ずしも高くありません。また、合焦点はピントを変える機構が必要なため、比較的狭い奥行き範囲での3次元計測しか実用化されていません。一方、三角測量は数ミリから数十キロの広範囲の3次元計測に使われています。ここでは主に三角測量について紹介します。

三角測量

三角測量

1台のカメラでは奥行きが決まらないが、2台のカメラがあれば、2本の直線の交点としてもともとの3次元空間における点が決まります。2台のカメラの焦点と、もともとの3次元空間の点が三角形を形成するため、三角測量とよばれています。厳密に言うと二眼に限らず、異なる視点に置かれた複数のカメラを使用すれば、全て三角測量と言います。三角測量の課題は、主に2つあります。その1つはカメラ校正(キャリブレーション)です。カメラ校正とは、カメラの内部パラメータ(焦点距離・主点座標・歪みパラメータ)と外部パラメータ(カメラの位置と姿勢)を求めることです。2つ目は対応づけです。対応づけとは、異なる画像上における画素の対応関係を決めることです。対応関係が決まって初めて2本の直線を引き、その交点を求めることができます。

三角測量
1.カメラ校正

カメラ校正は一般的に、対応づけしやすいように既知なパターンを複数の視点から撮影することにより行われます。これ自身が三角測量の原理に基づいています。

2.対応づけ

対応づけは画像から抽出される対象物体に固有の特徴に対して行うこともできますが、一般的にそのような特徴は密ではありません。その結果、得られる3次元座標もまばらです。そこで、人工的に密な特徴を対象物に作り出す方法が考案されました。プロジェクタを使ってグレイコードパターンや位相シフトパターンを投影します。

カメラとプロジェクタで構成される三次元計測 正弦波をシフトさせることにより、全ての点に位相情報を持たせ対応づけに利用する

パターンの投影

プロジェクタの光学系はカメラと同じであり、カメラの射影モデルはそのままプロジェクタにも適用できます。プロジェクタに対して校正を行い、その内部パラメータや外部パラメータを求めることができれば、1台のカメラとみなすことができ、1台のカメラと1台のプロジェクタで三角測量を行うことも可能です。一方、プロジェクタの解像度が一般的にカメラに及ばないので、プロジェクタはパターンを投影することのみ使用し、三角測量は2台のカメラの間で行うシステムも多いです。

グレイコードも位相シフトも複数回の投影撮影を前提としているため、動的物体の3次元計測には向きません。そこで、ランダムパターンを使用することで1回の投影撮影でも3次元計測を可能としたのはKinectです。一方、ランダムパターンは複数の画素をまとめて見る必要があるため、物体と物体の境界上では間違いを起こしやすいです。したがって、高精度の3次元計測には向きません。

光切断

プロジェクタは面的3次元計測に向いていますが、一方では光の強度に限界があります。更に高いSN比を確保するために、ラインレーザの使用が考案され、光切断と呼ばれた手法が広く使われています。レーザのエネルギ密度が高いため、ラインレーザが当たった物体表面に対して安定的に3次元計測が可能となります。

しかし光切断は1回の撮影で1つの断面しか3次元計測できないため、対象物体を移動させるか光切断のセンサを移動させる必要があります。ラインレーザを回転ミラーで移動させる方式の3次元計測器もあります。

3次元認識の原理

前途のように、3次元認識は既知の3次元形状を持つ物体を探索する問題です。この場合の未知パラメータは、3次元位置を表すX,Y,Z座標の3つと、3次元姿勢を表す3つのパラメータ(例:α,β,γ)の計6個です。つまり、1つの物体を3次元認識することは、この六次元空間の中の1点を探すことと等価です。

2次元認識の場合は、未知パラメータは2次元位置を表すX,Y座標の2つと、2次元姿勢(角度α)を表すパラメータの計3個です。2次元認識は、この3次元空間の中の点を探すことと等価です。

探索空間の大きさは、次元数が指数に比例するので、3次元探索空間と六次元探索空間は非常に大きな差があります。例えば、どの次元も100でサンプリングするとすれば、2次元認識は100の3乗で百万点となり、3次元認識は100の6乗となり、1兆点となります。更に、2次元認識の場合に対象物の見え方が変わらないのに対して、3次元認識の場合は対象物の見え方が姿勢によって大きく変わるので、問題を一層複雑にしています。

3次元認識は、2次元認識と同様、ある位置姿勢に対して定義された3次元形状と入力との間で一致している度合いを評価する必要があります。この一致度の評価は、輪郭によって行う場合と3次元点群によって行う場合とにまとめられます。輪郭に基づく3次元認識は、画像から抽出されたエッジと3次元モデルを画像に射影した輪郭との一致度を評価しています。3次元点群に基づく3次元認識は、何らかの方法で計測された3次元点群と3次元モデルとの一致度を評価して行います。

輪郭による三次元認識の例
点群による三次元認識の例

光3次元認識の未解決課題切断

工場で使うロボットピッキングにおいては、光を鏡面反射する金属部品が対象である場合が多いです。安定した3次元認識には安定した3次元計測が必要であり、金属部品の3次元計測技術の確立が求められます。

特定物体の3次元認識は、その形状が既知であり一定であることが前提です。一方、スケールの変化やある軸に沿って伸び縮み、更に変形まで許すような、人間にとっては普通にできる3次元認識も望まれます。探索パラメータは現在の6から7,8と更に増えていくことになり、更なる計算量の増大がネックとなります。

3次元ビジョンの応用

当社の3次元ロボットビジョンセンサTVSは産業用の”目”の役割を果たします。

TVSはプロジェクタとカメラを備え、前途の輪郭と点群の両方を利用し、事前に登録された3次元モデルと照合することにより対象物の3次元認識を行います。事前に用意するSTLファイルか、あるいは3次元センサでスキャンして取得した点群ことである。登録された3次元モデルは、事前にそして認識された対象物の位置姿勢に基づき、ロボットの動作を最適に制御します。

点群による三次元認識の例

従来の産業用ロボットは事前に覚えた動作を繰り返すだけでした。TVSを導入することで、自律的に判断・動作の実行が可能となり、TVSは部品箱中にバラ積みされた部品の3次元位置姿勢を正確かつ迅速に認識し、ロボットのハンドが衝突することなく部品を取り出す最適な経路を判断することでロボットに部品をピッキングさせることを実現しています。

また、障害物を避けられるように、ロボットの最適経路を探索し、ロボットの動作を最適に制御します。

点群計測例