説明

位置姿勢計測装置、位置姿勢計測方法、およびプログラム

【課題】影が落ちる領域に相当する画像領域から抽出される擬似的な画像特徴の影響を軽減し、フィッティング/マッチングの安定性・精度を向上する。
【解決手段】対象物体の2次元画像を取得する画像取得部と、対象物体の距離画像を取得する距離画像取得部と、距離画像の計測不能領域を対象物体に照射される照明が遮蔽される被遮蔽領域として抽出する抽出部と、対象物体の位置姿勢の概略値に基づいて3次元モデルを2次元画像上に投影する投影部と、投影された線分を構成する点とエッジを構成する点とを組として対応付ける対応付け部と、エッジを構成する点が被遮蔽領域内に存在するか否かを判定する判定部と、存在する場合の組が位置姿勢計測に用いられる重み係数を、存在しない場合の重み係数よりも小さく設定する設定部と、対応付けられた線分を構成する点とエッジを構成する点との距離に重み係数を乗じた値の総和が最小となる位置姿勢を計測する計測部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体モデルの特徴と画像特徴との対応付けを行い、モデルと画像データとのフィッティングやマッチングを行う位置姿勢計測装置、位置姿勢計測方法、およびプログラムに関する。
【背景技術】
【0002】
近年のロボット技術の発展により、工業製品の組立のようなこれまで人間が行っていた複雑なタスクをロボットが代わりに行うようになりつつある。このようなロボットは、ハンドなどのエンドエフェクタによって部品を把持して組立を行う。ロボットが部品を把持するためには、把持の対象となる部品とロボット(ハンド)との間の相対的な位置及び姿勢を計測する必要がある。このような位置及び姿勢の計測は、ロボットが部品を把持する場合だけでなく、ロボットが自律移動するための自己位置推定や、拡張現実感における現実空間と仮想物体との位置合わせなど様々な目的に応用される。
【0003】
位置及び姿勢を計測する方法として、カメラが撮影する2次元画像を用いて行う方法がある。その中でも、2次元画像上から検出される特徴に対して物体の3次元形状モデルを当て嵌めるモデルフィッティングによる計測が一般的である。例えば、非特許文献1では、2次元画像上から検出される特徴として、エッジを利用した物体の位置及び姿勢の計測を行う方法が開示されている。この方法では、物体の3次元形状モデルを線分の集合(ワイヤフレームモデル)によって表し、物体の概略の位置及び姿勢は既知であるとして、画像上で検出されるエッジに3次元の線分の投影像を当て嵌めることにより物体の位置及び姿勢を計測する。
【0004】
上述のようなモデルフィッティング法では、計測データとモデルとの対応を探索し、対応対間の差異を最小化する。しかし、計測データのノイズ・初期の位置姿勢推定値の誤差などの要因により、明らかに誤った対応が検出されてしまうことがある。このような明らかな誤り(以下、「外れ値」と称する)に小さな重みを設定して、外れ値が推定結果に悪影響を及ぼすことを防ぐロバスト推定と呼ばれる手法群が利用されている。ロバスト推定の代表的な手法としては、M推定が挙げられる。
【0005】
また、従来から物体の特徴モデルと画像から検出した特徴とをマッチングすることにより、物体の種別や個体を識別する物体認識技術がある。例えば、非特許文献2では、画像特徴としてSIFT(Scale-Invariant Feature Transform)と呼ばれる局所的画像特徴点の抽出法を用いる物体認識手法が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平01−009307号公報
【非特許文献】
【0007】
【非特許文献1】T. Drummond and R. Cipolla, "Real-time visual tracking of complex structures," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.24, no.7, pp.932-946, 2002.
【非特許文献2】Lowe, D.G., "Object Recognition from Local Scale-Invariant Features", Proc. of IEEE International Conference on Computer Vision, pp.1150-1157, 1999.
【非特許文献3】Z. Zhang, A flexible new technique for camera calibration, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.22, no.11, pp.1330-1334, 2000.
【非特許文献4】H. Wuest, F. Vial, and D. Stricker, "Adaptive line tracking with multiple hypotheses for augmented reality," Proc. The Fourth Int'l Symp. on Mixed and Augmented Reality (ISMAR05), pp.62-69, 2005.
【非特許文献5】K. Satoh, S. Uchiyama, H. Yamamoto, and H. Tamura, “Robust vision-based registration utilizing bird’s-eye view with user’s view,” Proc. The 2nd IEEE/ACM International Symposium on Mixed and Augmented Reality (ISMAR03), pp.46-55, 2003.
【発明の概要】
【発明が解決しようとする課題】
【0008】
位置姿勢推定や物体認識の対象とする物体の画像を撮影するため、対象物体を照明下に配置すると、対象物体の一部や他の物体が照明光を遮り、影が形成されることがある。その情景を撮影した画像からは影に相当する画像領域、特に影の領域と影でない領域の境界部分において、画像特徴が検出される可能性が高い。これは、影の境界に明るさレベルの大きな勾配が発生するためである。
【0009】
そして、物体のモデルと画像データとをフィッティングあるいはマッチングするために、モデルに記述された特徴と画像特徴との対応を探索すると、モデルの特徴が誤って影に起因する擬似的な画像特徴と対応付けられてしまうことがある。このような誤対応が起こると、位置姿勢推定や物体認識の処理が破綻したり、位置姿勢推定精度や物体認識精度が低下したりするという問題がある。
【0010】
このような擬似的画像特徴との誤対応に対して前述のロバスト推定を適用しても、必ずしも誤対応の影響を軽減できない。ロバスト推定では対応対間の距離を計量する何らかの評価値(例えば、対応対間の画面上での距離)に基づいて、それぞれの対応が処理結果に与える重み係数を調整する。具体的には、距離の評価値が大きいほど重み係数を高く設定する。ただし、距離の評価値の算出の際には画像特徴が影の領域内にあるか否かは考慮されていないため、影領域内の特徴点に大きな重み係数が設定されることを防止できない。したがって、影領域から誤った対応点が抽出されても、ロバスト推定ではその悪影響を排除することは困難である。ロバスト推定は、あくまで数値計算的な外れ値の除外方法であり、画像特徴が影の影響を受けているか否かという幾何学的・光学的な判断はしていない。そのため、誤対応であっても偶発的に対応間の距離が小さくなる場合には、その悪影響を軽減することは困難である。
【0011】
上記の課題に鑑み、本発明は、影が落ちる領域に相当する画像領域から抽出される擬似的な画像特徴の影響を軽減し、フィッティング/マッチングの安定性・精度を向上することを目的とする。
【課題を解決するための手段】
【0012】
上記の目的を達成する本発明に係る位置姿勢計測装置は、
前記対象物体の3次元形状情報を含む3次元モデルを保持する保持手段と、
前記対象物体の2次元画像を取得する2次元画像取得手段と、
前記対象物体の距離画像を取得する距離画像取得手段と、
前記距離画像において前記対象物体までの距離値が計測できない計測不能領域を、前記2次元画像において前記対象物体に照射される照明が遮蔽される被遮蔽領域として抽出する抽出手段と、
前記対象物体の位置および姿勢の概略値に基づいて、前記3次元モデルを構成する線分を前記2次元画像上に投影する投影手段と、
前記投影手段により投影された投影線分を構成する点と、前記2次元画像上のエッジを構成する点とを組として対応付ける対応付け手段と、
前記対応付け手段により対応付けられた前記2次元画像上のエッジを構成する点が前記被遮蔽領域の範囲内に前記2次元画像上のエッジを構成する点が存在するか否かを判定する判定手段と、
前記判定手段により前記被遮蔽領域の範囲内に存在すると判定された場合に、前記組に対して、前記被遮蔽領域の範囲内に存在しないと判定された場合よりも小さな重み係数を設定する設定手段と、
前記対応付け手段により対応付けられた前記投影線分を構成する点と、前記2次元画像上のエッジを構成する点との、前記2次元画像上における距離に前記重み係数を乗じた値の総和が最小となる位置および姿勢を前記対象物体の位置および姿勢として計測する位置姿勢計測手段と、
を備えることを特徴とする。
【発明の効果】
【0013】
本発明によれば、影が落ちる領域に相当する画像領域から抽出される擬似的な画像特徴の影響を軽減し、フィッティング/マッチングの安定性・精度を向上することができる。
【図面の簡単な説明】
【0014】
【図1】(a)計測対象物体の形状を3次元的に表現した模式図、(b)計測対象物体を撮影した濃淡画像の中で計測対象物体部分を取り出した様子を示す図、(c)影線端境界領域の抽出を説明するための図。
【図2】(a)位置姿勢計測装置のハードウェア構成を示す図、(b)第1実施形態に係る位置姿勢計測装置の機能構成を示す図。
【図3】第1実施形態に係る処理の流れを示すフローチャート。
【図4】計測対象物体のモデルと画像特徴との対応付け処理の詳細を示すフローチャート。
【図5】第2実施形態に係る位置姿勢計測装置の機能構成を示す図。
【図6】第2実施形態に係る処理の全体の流れを示すフローチャート。
【図7】影先端境界の抽出処理の手順を示すフローチャート。
【図8】2次元画像中のエッジ検出処理を説明する図。
【発明を実施するための形態】
【0015】
(第1実施形態)
本実施形態では、物体を撮影した画像に既知である物体の3次元形状モデルをフィッティングすることによって物体の位置姿勢を推定する位置姿勢計測装置について説明する。3次元モデルの3次元形状情報が既知である対象物体の位置および姿勢を計測する。以下、位置姿勢を推定する対象となる物体を「計測対象物体」と称する。
【0016】
計測対象物体の位置姿勢の推定は、まず形状モデル上の複数の特徴点に対応する画像上の特徴点を探索し、これらの対応点対間の画像上における距離の和が最小となるように計測対象物体の位置および姿勢を最適化する。その際に、対応点対の位置姿勢計測における影響にばらつきを持たせることで、誤った位置姿勢計測につながってしまうような対応点対の位置姿勢計測への寄与を低減することができる。例えば、各3次元モデルを構成する線分を投影した投影線分を構成する点と、2次元画像上のエッジを構成する点との、2次元画像上における距離に重み係数を乗じた値の総和が最小となる位置および姿勢を対象物体の位置および姿勢として計測する。その際、悪影響を及ぼす可能性のある対応点対の重み係数を小さく設定すればよい。
【0017】
本実施形態では、計測対象物体の画像を2種類撮影する。ここでいう2種類とは、距離画像と濃淡画像である。なお、濃淡画像に替えて、カラー画像を撮影してもよい。その場合は距離画像とカラー画像との2種類である。
【0018】
距離画像は通常の2次元画像とは異なり、各画素に撮影装置から被写体までの距離が格納される。本実施形態では距離画像はパターン投影法により撮影する。すなわち、計測対象物体に明暗の縞模様などの照明パターンを投射し、その情景を照明とは異なる方向から撮影して、三角測量の原理で距離を算出する。ただし、距離計測方法はパターン投影法に限るものではなく、三角測量を原理とする任意のアクティブ照明方式であれば他の方法であってもよい。このような三角測量ベースの距離計測方法では、カメラと照明との位置・向きが互いに異なるので、撮影した画像には写りこんでいる空間領域であっても、照明からの光が遮られて当たらないことが有り得る。このような領域については投射された照明パターンが観測されないため、距離計測が不可能になる。本実施形態で想定する距離画像計測装置では、計測が不可能な画素については画素値が0になるとする。計測不能を表す方法としては、画素値を通常距離値としては使わない値(例えば、本実施形態のように0など)にする方法や、距離画像とは別に各画素に対して距離計測不能か否かを表すフラグ値を持たせる方法が考えられる。いずれにしろ、画素値やフラグ値を参照することによって、容易に距離計測不能な画素を特定できる。
【0019】
濃淡画像は距離画像計測装置の撮像部および照明部を用いて撮影する。濃淡画像を撮影するときは、明暗パターンを含まない均一な明るさの照明を対象物体に照射する。距離画像と濃淡画像とは同一のカメラで撮影するので、2次元座標が同じ画素は3次元空間の同じ箇所に対応することになる。したがって、パターン光が遮られて距離計測不能になる距離画像上の領域は、濃淡画像上で影になる領域と一致する。
【0020】
まず、図1(a)および図1(b)を参照して、実施形態における発明の原理を示す模式図について説明する。図1(a)は、計測対象物体の形状を3次元的に表現した模式図である。また、図1(b)は、計測対象物体を撮影した濃淡画像の中で計測対象物体部分を取り出した様子を示す図である。ここでは計測対象物体を上部から撮影した様子を示す。
【0021】
図1(a)において、計測対象物体101aは計測対象となる物体である。計測対象物体101aは、凸部102aを有する。この凸部102aにより、距離画像計測装置の照明部からの光が遮られて、領域103aに影を落としている。図1(b)に示す濃淡画像上では、計測対象物体101aが領域101b、凸部102aが領域102b、影が落ちている領域103aが領域103bに相当する。そして、線分104aが線分104bに対応し、線分105aが線分105bに対応する。線分106aが線分106bに対応する。なお、以下では領域103bのように濃淡画像上で影が落ちている領域を「被遮蔽領域」と称する。領域103aは距離画像を撮影する際にパターン光が投影されない部分に当たるので距離計測が不可能である。また、距離画像の画素と濃淡画像の画素とは一対一に対応する。つまり、距離画像において画素値が計測不能を表す0である領域を検出することによって、被遮蔽領域103bを検出できる。
【0022】
本実施形態に係る方法では、位置姿勢推定の計算に用いる形状モデル上の点として、形状モデルを構成する線分上の点を用いる。線分104a上の点に対応する画像上の特徴点を求めるために、計測対象物体の概略位置姿勢に基づいて線分104aを画像上に投影した線分107b上に複数の制御点をとり、制御点に最も近い画像エッジを探索する。本来、線分104aに対応するのは線分104bであるが、図1(b)の場合画像上で線分107bにより近いのは線分105bであるので、誤った対応点である線分105b上の点が検出されてしまう。
【0023】
そこで、探索の結果見つかった対応点が被遮蔽領域内にあるか否か判定して、被遮蔽領域内にあれば、その対応点に関する位置姿勢計算への寄与度(重み係数)を比較的低く設定する。一方、モデルの線分106a上の点に対応する画像上の特徴点を探索する場合、線分106aを画像上に投影した線分108b上の点に最も近い画像上のエッジを探索する。図1(b)の場合、探索結果は線分106b上の点群となる。これらの点群は被遮蔽領域の外部にあるので、モデル線分106aと画像線分106b上の対応点対に関する位置姿勢計算への寄与度(重み係数)は比較的高く設定する。
【0024】
上記のように画像上で探索した対応点が被遮蔽領域内にあるか否かによって位置姿勢計測への重み係数を制御することにより、擬似的なエッジである影の境界が悪影響を及ぼして位置姿勢計算が破綻したり、精度が低下したりする可能性を軽減できる。なお、図1(c)については後述する。
【0025】
次に図2(a)を参照して、本発明に係る位置姿勢計測装置のハードウェア構成について説明する。位置姿勢計測装置は、CPU201とメモリ202と、バス203と、インタフェース204と、外部記憶装置205と、キーボード206と、マウス207と、表示部208と、データ入出力部209とを備える。
【0026】
CPU201は、後述の各処理部による動作を制御する。メモリ202は、CPU201の動作に用いるプログラムやデータを格納する。バス203は、各構成モジュール間のデータ転送を司る。インタフェース204は、バス203と各種装置とのインタフェースである。外部記憶装置205は、CPU201に読み込むプログラムやデータを格納する。キーボード206およびマウス207は、プログラムを起動したり、プログラムの動作を指定したりするための入力装置を構成する。表示部208は、プロセスの動作結果を表示する。データ入出力部209は、装置外部との間でデータを入出力する。距離画像計測装置はデータ入出力部209を介して本発明に係る位置姿勢計測装置に接続されている。
【0027】
図2(b)を参照して、位置姿勢計測装置250の機能構成を説明する。位置姿勢計測装置250は、画像取得部251と、被遮蔽領域抽出部252と、対応付け部253と、最適化処理部254とを備える。画像取得部251は、データ入出力部209に接続された不図示の距離画像計測装置から距離画像データおよび濃淡画像データを取得して、メモリ202に格納する。被遮蔽領域抽出部252は、濃淡画像上の被遮蔽領域を抽出する。対応付け部253は、計測対象物体のモデルと画像特徴との対応付けを行う。最適化処理部254は、計測対象物体の概略の位置姿勢を補正することにより計測対象物体の位置姿勢を最適化して算出する。
【0028】
図3を参照して、第1実施形態に係る処理の流れを示すフローチャートについて説明する。ステップS301において、処理に用いるデータの初期設定を行う。具体的には、外部記憶装置205から、計測対象物体の3次元モデルデータと、計測対象物体の位置姿勢の概略値データと、距離画像計測装置の撮像部のカメラパラメータ(例えば、主点位置、焦点距離)をメモリ202にロードする。なお、以下では撮像部を「カメラ」とも称する。
【0029】
3次元モデルは頂点の集合および頂点を結ぶ線分の集合によって定義される。したがって、3次元モデルデータは、頂点の識別番号と座標、各線分の識別番号と両端の頂点の識別番号から構成される。
【0030】
ステップS301の概略値取得処理で取得された計測対象物体の概略位置姿勢データは、位置姿勢計測装置に対する計測対象物体の位置及び姿勢の概略値を示す。ここで、位置姿勢計測装置に対する物体の位置及び姿勢とは、カメラ座標系における物体の位置及び姿勢である。概略位置姿勢の算出方法は任意であるが、本実施形態では、時間軸方向に連続して位置姿勢の計測を行うものとして、前回(前時刻)の計測値を概略の位置及び姿勢として用いる。初回の概略位置姿勢は例えば、特許文献1に開示される方法を用いて算出する。また、距離画像計測装置の撮像部のカメラパラメータは例えば非特許文献3で開示される方法により事前に校正しておく。
【0031】
ステップS302において、画像取得部251は、データ入出力部209に接続された不図示の距離画像計測装置から距離画像データおよび2次元画像データ(濃淡画像データまたはカラー画像データ)を取得して、メモリ202に格納する。
【0032】
ステップS303において、被遮蔽領域抽出部252は、ステップS302の2次元画像取得処理で取得された濃淡画像上から被遮蔽領域を抽出する。具体的には、ステップS302の距離画像取得処理で取得された距離画像データを参照して、画素値が計測不能を示す0になっている画素を抽出する。抽出結果は濃淡画像・距離画像と同じサイズの2値画像(以下、「被遮蔽領域画像」と称する)としてメモリ202に格納する。被遮蔽領域画像では画素値は1または0であり、画素値が1の場合は当該画素が被遮蔽領域内の画素であることを表し、画素値が0の場合は当該画素が被遮蔽領域外の画素であることを表す。
【0033】
ステップS304において、対応付け部253は、計測対象物体のモデルと画像特徴との対応付けを行う。ステップS304の処理の詳細は後述する。
【0034】
ステップS305において、最適化処理部254は、計測対象物体の概略の位置姿勢を補正することにより計測対象物体の位置姿勢を算出する。ステップS305の処理の詳細は後述する。
【0035】
ここで、図4を参照して、ステップS304の計測対象物体のモデルと画像特徴との対応付け処理の詳細を示すフローチャートについて説明する。本処理では、3次元モデルを構成する線分と2次元画像上(濃淡画像上またはカラー画像上)のエッジとを対応付ける。対応付けの方法としては、非特許文献4で開示される方法と同様の方法を用いる。
【0036】
ステップS401において、3次元モデルを構成する線分と2次元画像上(濃淡画像上またはカラー画像上)エッジとの対応付けが済んでいないモデル上の1つの線分を選択する。
【0037】
ステップS402において、図3のステップS301で入力された計測対象物体の概略位置及び姿勢とカメラの内部パラメータとを用いて、ステップS401で選択された線分の画像上への投影像を算出する。線分の投影像は画像上でも線分となる。
【0038】
ステップS403において、ステップS402で算出された投影線分上に制御点を設定する。ここで、制御点とは、投影線分を等間隔に分割するような、投影線分上の点である。
【0039】
制御点は、投影結果として得られる制御点の2次元座標および線分の2次元方向の情報と、3次元モデル上の制御点の3次元座標および線分の3次元方向の情報とを保持する。また、制御点の分割元となる3次元モデルの線分が保持する3次元的属性の情報も同様に保持する。投影線分の制御点は、線分ごとの総数をnとして、各制御点をDFi(i=1、2、…、n)として表す。
【0040】
ステップS404において、ステップS403で算出された投影線分の制御点DFi(i=1、2、…、n)のうち、まだ対応点を検出していない制御点1点を選択する。
【0041】
ステップS405において、ステップS404で選択された制御点に対応する2次元画像中のエッジを検出する。
【0042】
図8を参照して、ステップS405における2次元画像中のエッジ検出方法を説明する。エッジの検出は、図8(a)に示すように、制御点DFiの探索ライン(制御点の2次元方向の法線方向)上において、濃淡画像上の濃度勾配から極値を算出することにより行う。エッジは、探索ライン上において濃度勾配が極値をとる位置に存在する。探索ライン上で検出されたエッジが一つのみである場合は、そのエッジを対応点とする。また、図8(b)に示すように、探索ライン上で検出されたエッジが複数存在する場合には、制御点に最も近い点を対応点とする。
【0043】
ステップS406において、ステップS405で検出された対応点の2次元座標を参照し、当該対応点が図3のステップS303で抽出された被遮蔽領域の範囲内に存在するか否かを判定する。具体的には、対応点と同一座標の被遮蔽領域画像の画素値を参照し、1なら被遮蔽領域内、0なら被遮蔽領域外と判定する。対応点が被遮蔽領域の範囲内に存在すると判定された場合は(ステップS406;YES)、ステップS407に進む。一方、対応点が被遮蔽領域の範囲内に存在しないと判断された場合は(ステップS406;NO)、ステップS408に進む。
【0044】
ステップS407において、ステップS404で選択された制御点の2次元座標と、ステップS405で検出されたエッジの2次元座標と、これらの対応点対に関する位置姿勢計算への重み係数の値α(<1.0)とを、対応点対データとしてメモリ202に保持する。
【0045】
一方、ステップS408において、ステップS404で選択された制御点の2次元座標と、ステップS405で検出されたエッジの2次元座標と、これらの対応点対に関する位置姿勢計算への重み係数の値1.0とを、対応点対データとしてメモリ202に保持する。
【0046】
ステップS409において、ステップS404で設定された制御点のすべてについて対応するエッジを検出したか否かを判定する。制御点のすべてについて対応するエッジを検出したと判定された場合(ステップS409;YES)、ステップS410に進む。一方、制御点のすべてについて対応するエッジを検出していないと判定された場合(ステップS409;NO)、ステップS404に戻る。
【0047】
ステップS410において、モデル上のすべての線分についてエッジ検出を完了したか否かを判定する。モデル上のすべての線分についてエッジ検出を完了したと判定された場合(ステップS410;YES)、処理が終了する。これにより、図3のステップS304の処理の全体が終了する。一方、モデル上のすべての線分についてエッジ検出を完了していないと判定された場合(ステップS410;NO)、ステップS401に戻る。
【0048】
以上の処理を通じて、モデルの線分上の点に対応する画像上のエッジの対が求められ、そのうちエッジが被遮蔽領域内にある対に関しては、位置姿勢計算への重み係数が比較的低く設定される。
【0049】
最後に、ステップS304で検出された対応点対を用いて、計測対象物体の位置姿勢の値を最適化する処理(ステップS305の処理)の詳細について説明する。
【0050】
ステップS305において、非線形最適化計算を用いて、計測対象物体の概略の位置姿勢を反復演算により補正することにより計測対象物体の位置姿勢を算出する。ここで、すべての3次元線分の制御点DFiのうち、ステップS304で対応候補エッジが求められた制御点の総数をLcとする。また、画像の水平方向、垂直方向を、それぞれx軸、y軸とする。また、ある制御点が投影された画像座標を(u、v)で表す。そして、制御点の方向に相当する画像上での傾きをx軸に対する傾きθで表す。傾きθは、投影された3次元線分の端点(始点および終点)の撮影画像上での2次元座標を結んだ直線の傾きとして算出する。制御点の直線の画像上での法線ベクトルは(sinθ、−cosθ)となる。また、当該制御点の対応点の画像座標を(u’、v’)とする。ここで、点(u、v)を通り、傾きがθである直線の方程式は、以下の式(1)のように表される。
【0051】
【数1】

【0052】
制御点の撮影画像上での画像座標は撮像装置の位置及び姿勢により変化する。また、撮像装置の位置及び姿勢の自由度は6自由度である。ここで撮像装置の位置及び姿勢を表すパラメータをベクトルsで表す。sは6次元ベクトルであり、撮像装置の位置を表す3つの要素(例えば、x、y、z)と、姿勢を表す3つの要素とからなる。姿勢を表す3つの要素は、例えばオイラー角による表現や、方向が回転軸を表して大きさが回転角を表す3次元ベクトルなどによって表現される。制御点の画像座標(u、v)は(u、v)の近傍で1次のテイラー展開によって式(2)のように近似できる。
【0053】
【数2】

【0054】
式(2)におけるu、vの偏微分の導出方法は、例えば非特許文献5に開示されるように広く知られているのでここではその詳細は述べない。式(2)を式(1)に代入することにより、以下のように式(3)が得られる。
【0055】
【数3】

【0056】
ここで、式(3)に示される直線が当該制御点の対応点の画像座標(u’、v’)を通過するように、撮像装置の位置及び姿勢sの補正値Δsを算出する。
【0057】
【数4】

【0058】
なお、r=usinθ−vcosθ(=定数)、d=u’sinθ−v’cosθ(=定数)とする。式(4)はLc個の制御点について成り立つため、式(5)のようなΔsに対する線形連立方程式が成り立つ。
【0059】
【数5】

【0060】
ここで式(5)を式(6)のように簡潔に表す。
【0061】
【数6】

【0062】
ここで、各対応点対、すなわち各制御点とその制御点に対応するエッジとの組に対してステップS304で設定された重み係数をwとする。ここで重み行列Wを式(7)のように定義する。
【0063】
【数7】

【0064】
重み行列Wは、対角成分以外はすべて0の正方行列であり、対角成分には重みwが入る。この重み行列Wを用いて、式(6)を式(8)のように変形する。
【0065】
【数8】

【0066】
Gauss−Newton法などを用いて、式(8)を解くことにより補正値Δsを求めると、式(9)のようになる。
【0067】
【数9】

【0068】
このようにして算出された補正値Δsによりモデルの位置・姿勢の概略値を補正して位置・姿勢を更新する。
【0069】
次に、物体の位置及び姿勢の反復演算が収束しているか否かを判定する。補正値Δsが十分に小さい場合、誤差r−dの総和が十分小さい場合、または誤差r−dの総和が変化しない場合は、物体の位置及び姿勢の計算が収束したと判定する。収束していないと判定された場合には、更新された物体の位置及び姿勢を用いて再度線分の傾きθ、r、d、およびu、vの偏微分を計算し直し、式(8)を用いて再度補正値Δsを求め直す。
【0070】
このようにして物体の位置・姿勢を求めた結果は、メモリ202に格納するか、あるいはデータ入出力部209を介して外部の装置に出力する。
【0071】
なお、ここでは非線形最適化手法としてGauss−Newton法を用いている。しかしながら、非線形最適化手法はこれに限るものではなく、Newton−Raphson法、Levenberg−Marquardt法、最急降下法、共役勾配法などのその他の非線形最適化手法を用いてもよい。以上、ステップS305における物体の位置姿勢の最適化処理について説明した。
【0072】
上述の処理を行うことにより、位置姿勢を算出するために必要な濃淡画像上の特徴点が照明の影により発生した擬似的な特徴点であるか否かを判定することが可能となる。そして、擬似的な特徴点に関しては位置姿勢の算出における重み係数を比較的低く設定することにより、ノイズの影響を低減させ、結果として位置姿勢算出の失敗や位置姿勢推定精度の低下の危険性を軽減することが可能となる。
【0073】
なお、本実施形態は上記に限らず様々な変形例が存在する。
【0074】
上記の説明では、エッジ検出後にエッジが被遮蔽領域内か否かを判定している。しかし、被遮蔽領域をエッジ検出処理の対象外にしてもよい。この場合、モデルの線分に対応する対応点の中に被遮蔽領域内のエッジは存在しないことになる。これは、上記の説明において被遮蔽領域内のエッジの重み係数を0に設定することと等価であるが、被遮蔽領域内でエッジを探索しないので処理が高速化される。
【0075】
また、上記の説明では、モデル線分上の制御点1点に対してエッジを1点検出しており、検出したエッジは被遮蔽領域内に存在する可能性がある。しかし、制御点1点に対してエッジを複数点検出し、その中から被遮蔽領域外に存在する制御点に最も近いエッジを対応点として選択してもよい。
【0076】
また、上記の説明では、距離画像と濃淡画像の撮影とで利用するカメラおよび照明は同一であり、位置や方向のずれはない。カメラまたは照明、あるいはカメラと照明の両方に位置や方向のずれがあっても、ずれが微小であれば上記の説明と同様の方法が利用できる。また、ずれが存在する場合は、ステップS303において距離画像の計測不能領域を膨張させて、被遮蔽領域としてもよい。
【0077】
また、上記の説明では、計測対象物体のモデルとして、3次元線分モデルを利用している。しかし、必ずしも3次元線分モデルに限定されない。3次元モデルから3次元線分を算出することができる限り、3次元モデルの方式に制限はない。例えば、頂点情報および各頂点を結んだ面の情報で構成されたメッシュモデルを利用してもよいし、 NURBS曲面などパラメトリックな曲面表現を利用してもよい。これらの場合、形状情報の中から直接的に3次元線分情報を参照することが出来ないため、3次元線分情報をランタイムに算出する必要がある。この処理は、ステップS402における3次元線分投影処理の代わりに行う。具体的には、計測対象物体の概略位置及び姿勢に基づいて、3次元モデルをコンピュータグラフィックス(CG)により描画し、描画結果からエッジ検出を行う。検出されたエッジが等間隔になるように、ステップS403と同様に、制御点を求める。
【0078】
また、上記の説明では画像特徴として点特徴を用いている。しかし、これに限るものではなく、位置属性を持つのであれば、線特徴や面特徴であってもよい。線特徴や面特徴を画像特徴として用いるときも、画像特徴と被遮蔽領域とが包含関係にある場合や画像特徴と被遮蔽領域とが交差する場合に、当該画像特徴に関する位置姿勢計算における重み係数を比較的低く設定する。
【0079】
(第2実施形態)
第1実施形態では、被遮蔽領域内の対応点については一様に位置姿勢推定計算への重み係数を比較的低く設定した。しかし、誤った対応点が検出される可能性は被遮蔽領域内で一様ではなく、影の先端部(たとえば、図1の例では線分105b上)で誤った対応点が検出される可能性が特に高い。
【0080】
そこで、本実施形態では、影の先端であり擬似的なエッジが検出され易い領域(以下、「影先端境界」と称する)を抽出し、影先端境界上の画素に限定して位置姿勢推定計算への重み係数を比較的低く設定する。
【0081】
なお、影先端境界の抽出は、影を落としている凸部よりも影先端境界の方がカメラからの距離が遠い、すなわち距離画像上の距離値が大きいことを利用して実現する。
【0082】
図5を参照して、第2実施形態に係る位置姿勢計測装置500の機能構成を説明する。位置姿勢計測装置500の機能構成は第1実施形態と同様である。位置姿勢計測装置500は、画像取得部251と、被遮蔽領域抽出部252と、対応付け部253と、最適化処理部254と、影先端領域抽出部501とを備える。画像取得部251と、被遮蔽領域抽出部252と、対応付け部253と、最適化処理部254と、の各処理部は、第1実施形態の各処理部と同様であるので説明を省略する。影先端領域抽出部501は、影先端境界を抽出する。
【0083】
図6を参照して、第2実施形態に係る処理の全体の流れを示すフローチャートについて説明する。
【0084】
ステップS601において、処理に用いるデータの初期設定を行う。具体的には第1実施形態のステップS301でロードされるデータに加えて、不図示の距離計測装置の照明部のプロジェクタパラメータ、カメラと照明部との相対的な位置姿勢を外部記憶装置205からメモリ202にロードする。
【0085】
ステップS602およびステップS603の処理は、それぞれ第1実施形態のステップS302およびステップS303の処理と同様である。
【0086】
ステップS604において、影先端領域抽出部501は、影先端境界を抽出する。ステップS604の処理の詳細は後述する。
【0087】
ステップS605において、対応付け部253は、計測対象物体のモデルと画像特徴との対応付けを行う。ステップS605の処理は第1実施形態のステップS304の処理とほぼ同様である。ただし、被遮蔽領域内の対応点に関する重み係数をα(<1.0)として小さく設定するだけではなく、対応点が影先端境界上にある場合に、その対応点に関する寄与度をさらに低く設定する。すなわち、第1実施形態で設定された被遮蔽領域の範囲内にエッジが含まれる場合に設定される重み係数α(<1.0)よりも小さい重み係数β(<α)を、対応点が影先端境界上にある場合の重み係数として設定する。
【0088】
ステップS606において、最適化処理部254は、計測対象物体の概略の位置姿勢を補正することにより計測対象物体の位置姿勢を算出する。ステップS606の処理は、第1実施形態のステップS305の処理と同様である。
【0089】
ここで、ステップS604の影先端境界の抽出処理について詳しく説明する。濃淡画像を撮影するときに計測対象物体に照射する均一光を平面状の光の集合体として考えると、その平面が計測対象物体の表面で影が落ちている領域と交差する線分上で不図示の距離計測装置から最も遠い点が影先端境界上の画素に相当する。距離画像あるいは濃淡画像上でこの交差線分に相当するのは、被遮蔽領域を通るエピポーラ線である。そこで、影先端境界を求めるには、各エピポーラ線と被遮蔽領域の輪郭との2つの交点近傍の距離値を比較して、距離値が大きい(カメラから遠い)方の点を検出すればよい。具体的な処理については、図1(c)および図7を参照して説明する。
【0090】
影先端境界の抽出処理では、ステップS603で抽出された被遮蔽領域のうち、連結していない被遮蔽領域の部分領域(以下、「要素被遮蔽領域」と称する)のそれぞれに対して、図7のフローチャートに示す処理を施す。被遮蔽領域から要素被遮蔽領域を分離するには、ステップS603で作成した被遮蔽領域画像に対して、連結している画素同士に同一のラベル値を付与するようにしてラベリングする。この結果、異なる要素被遮蔽領域に対して異なるラベル値が画素値として付与される。ラベル値は1以上であるとする。なお、要素被遮蔽領域以外の領域の画素値は0である。
【0091】
ステップS701において、影先端領域抽出部501は、要素被遮蔽領域の輪郭を抽出する。図1(c)の領域103cが要素被遮蔽領域に相当する場合を考える。
【0092】
ステップS702において、ステップS701の輪郭抽出処理で抽出された輪郭上の画素のうち、未処理の画素を第1の点として1つ選択する。ここで選択された画素を線分105c上の「画素A」とする。なお、線分105cは図1(b)における線分105bに相当する。
【0093】
ステップS703において、被遮蔽領域画像を参照して、被遮蔽領域外の画素から第2の点として、ステップS702で選択された画素Aの最近傍の画素を探索する(第1探索処理)。ステップS703で探索された画素を「画素B」とする。被遮蔽領域外の画素から画素Aに最近傍となる画素を探索するのは、画素Aが要素被遮蔽領域上に存在し、画素Aについての距離値が取得できない可能性があるためである。
【0094】
ステップS704において、ステップS702で選択された輪郭上の画素Aを通るエピポーラ線109cと、ステップS701で抽出された要素被遮蔽領域の輪郭との交点を第3の点として検出する。この交点における画素を画素Cとする。さらに被遮蔽領域外の画素から画素Cに最近傍の画素を第4の点として探索する(第2探索)。ここで探索された画素を「画素D」とする。
【0095】
ステップS705において、画素Bおよび画素Dと同じ座標の距離画像上の画素の距離値を参照して、画素Bに相当する距離値と画素Dに相当する距離値とを比較する。すなわち、画素Bに相当する距離値が画素Dに相当する距離値よりも大きいか否かを判別する。画素Bに相当する距離値が画素Dに相当する距離値よりも大きいと判別された場合(ステップS705;YES)、ステップS706に進む。一方、画素Bに相当する距離値が画素Cに相当する距離値以下であると判別された場合(ステップS705;NO)、ステップS707に進む。図1(c)の例では、凸部102aの影響により画素Bに相当する距離値が画素Dに相当する距離値よりも大きい場合に該当するので(ステップS705;YES)、ステップS706に進む。
【0096】
ステップS706において、画素Bに対応する要素被遮蔽領域内の画素Aを影先端境界上の画素として登録する。すなわち、画素Aに対応する画素Bの座標をメモリ202上の影先端領域上の画素リストに追加する。このようにして線分105c上の画素が影先端領域の画素として抽出される。
【0097】
ステップS707において、ステップS701で抽出された要素被遮蔽領域の輪郭上の全ての画素に対して影先端画素の検出処理が完了したか否かを判定する。影先端画素の検出処理が完了したと判定された場合(ステップS707;YES)、処理は終了する。すなわち、ステップS604の処理が終了する。一方、影先端画素の検出処理が完了していないと判定された場合(ステップS707;NO)、ステップS702に戻る。
【0098】
ステップS605において、ステップS604で第2の点(画素B)に対応する距離画像上の距離値が第4の点(画素D)に対応する距離画像上の距離値よりも大きいと判別された場合、第1の点であって2次元画像上のエッジを構成する点に関して対応付けられた組が位置姿勢計測へ寄与する重み係数を、第1の点以外の点に関する組の重み係数よりも小さく設定する。
【0099】
上述した処理を行うことにより、計測対象物体の位置姿勢を推定する上で推定失敗や精度低下の原因となる、照明の影により発生する擬似的な特徴点が存在する位置を検出することができる。その結果、擬似的でない特徴点が位置姿勢推定処理から除外される危険性が低減する。本実施形態に係る方法は第1実施形態に係る方法に比べて、より位置姿勢推定精度の低下を軽減することが可能である。
【0100】
なお、本実施形態は上記に限らず様々な変形例が存在する。
【0101】
本実施形態では、第1実施形態のステップS303の処理に相当するステップS603の処理において、被遮蔽領域の重み係数を低く設定した後に、さらに影先端境界の抽出処理を行って影先端境界領域の重み係数をさらに低く設定する構成である。しかしながら、ステップS603では重み係数の設定は実行せずに被遮蔽領域の抽出のみを実行して、ステップS604において影先端境界領域に対してのみ、影先端境界領域以外の点(第1の点以外の点)の重み係数を低く設定する構成としてもよい。
【0102】
上記の説明では、エッジ検出処理の対象から影先端境界の画素を除外せず、エッジ検出後にエッジが影先端画素か否かを判定している。しかし、影先端境界上の画素をエッジ検出処理の対象外にしてもよい。この場合、モデルの線分に対応する対応点の中に影先端境界上の画素は存在しないことになる。これは、影先端に存在する対応点の重み係数を0に設定することと等価である。
【0103】
上記の説明では、モデル線分上の制御点1点に対してエッジを1点検出している。しかし、制御点1点に対してエッジを複数点検出し、その中から影先端境界上に存在しない制御点に最も近いエッジを対応点として選択してもよい。
【0104】
上記の説明では画像特徴として点特徴を用いている。しかし、必ずしも点特徴に限定されない。位置属性を持つのであれば、画像特徴は線特徴や面特徴であってもよい。線特徴や面特徴を画像特徴として用いるときも、画像特徴が影先端境界との包含関係にある場合や画像特徴と影先端境界とが交差する場合に、当該画像特徴に関する位置姿勢計算における重み係数を比較的低く設定する。
【0105】
上記の説明では、距離画像の撮影と濃淡画像の撮影とで利用するカメラおよび照明は同一であり、位置や方向のずれはない。カメラまたは照明、あるいはカメラと照明の両方に位置や方向のずれがあっても、ずれが微小であれば上記の説明と同様の方法を利用できる。また、ずれが存在する場合は、ステップS604の後に、影先端境界の領域を膨張させてもよい。
【0106】
上記の説明では、影先端に限定して対応点の位置姿勢推定計算への重み係数を低く設定した。しかし、誤った対応点が検出される可能性は影先端よりも低いものの、影先端境界以外の被遮蔽領域で誤対応が起こる可能性もある。そこで、被遮蔽領域内の対応点について重み係数を比較的低く設定し、さらに影先端境界上で検出された対応点は影先端境界以外の領域に比べて重み係数を低くしてもよい。
【0107】
上記の説明では、影の先端を検出し、影先端境界上の対応点については位置姿勢推定計算への重み係数を比較的低く設定している。これとは逆に、濃淡画像上で影を落としている凸部と影との境界(例えば、図1(b)における線分104b、以下、「遮蔽領域・被遮蔽領域境界」と称する)を検出し、この境界において検出された対応点の重み係数は比較的高く設定してもよい。この場合、遮蔽領域・被遮蔽領域境界以外の被遮蔽領域で検出された対応点の重み係数は比較的低く設定する。さらに、遮蔽領域・被遮蔽領域境界を膨張させてもよい。
【0108】
また、これに加えて、被遮蔽領域から影先端境界と遮蔽領域・被遮蔽領域境界を除いた領域に比べて、影先端境界については対応点の重み係数を低く設定してもよい。
【0109】
なお、遮蔽領域・被遮蔽領域境界を抽出するには、影先端の抽出と同様に被遮蔽領域の輪郭を通るエピポーラ線を想定している。エピポーラ線と被遮蔽領域輪郭との交点近傍の画素に対応する距離値を比較して、より距離値の小さい(つまり、カメラに近い)側の輪郭上の画素を選択すればよい。
【0110】
(第3実施形態)
第1実施形態および第2実施形態の方法は、計測対象物体の位置姿勢推定において被遮蔽領域の悪影響を軽減する方法である。しかし、本発明の方法が適用できるのは位置姿勢推定に限定されず、位置属性を持つ画像特徴を用いる任意の画像処理に適用できる。
【0111】
例えば、局所的な画像特徴をモデルとマッチングすることによって物体を認識する手法群において、モデルとの類似度を算出する計算に対する被遮蔽領域内の画像特徴の重み係数を比較的低く設定することによって、認識の失敗の可能性を軽減することができる。あるいは、被遮蔽領域を画像特徴の抽出処理の対象外とすることによっても同様の効果が得られる。
【0112】
(第4実施形態)
上述の実施形態では、モデルフィッティングやマッチング処理における重み係数を低く設定したり、処理対象から除外する対象となる対応が存在する領域(被遮蔽領域、影先端部、遮蔽領域・被遮蔽領域境界)を、対応の探索処理に先立って抽出したりしている。しかしながら、探索された対応の候補がこれらの領域内あるいは近傍に存在するか否かを逐一判定してもよい。
【0113】
例えば第1実施形態では、ステップS405において、制御点に対応するエッジ候補を探索する際に、近傍に距離画像が計測不能である画素が存在するエッジは重み係数を比較的低く設定すればよい。
【0114】
また、第2実施形態ではステップS605において、距離画像が計測不能な画素近傍にあるエッジ候補について、そのエッジ候補を通るエピポーラ線上での距離値に基づいて当該エッジ候補が影先端部に属するか否かを判定すればよい。すなわち、距離画像が計測不能な領域の両端での距離値を比べて、より大きい場合は影先端部に属すると判定する。
【0115】
なお、第2実施形態において、距離値の比較をエピポーラ線上で行うのではなく、簡易的にエッジの探索ライン上で行うことも可能である。エピポーラ線を用いる場合に比べて、影先端部を判定する正確さは低下するものの、計算量が低減するので、処理の高速化が可能である。
【0116】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
対象物体の3次元形状情報を含む3次元モデルを保持する保持手段と、
前記対象物体の2次元画像を取得する2次元画像取得手段と、
前記対象物体の距離画像を取得する距離画像取得手段と、
前記距離画像において前記対象物体までの距離値が計測できない計測不能領域を、前記2次元画像において前記対象物体に照射される照明が遮蔽される被遮蔽領域として抽出する抽出手段と、
前記対象物体の位置および姿勢の概略値に基づいて、前記3次元モデルを構成する線分を前記2次元画像上に投影する投影手段と、
前記投影手段により投影された投影線分を構成する点と、前記2次元画像上のエッジを構成する点とを組として対応付ける対応付け手段と、
前記対応付け手段により対応付けられた前記2次元画像上のエッジを構成する点が前記被遮蔽領域の範囲内に存在するか否かを判定する判定手段と、
前記判定手段により前記被遮蔽領域の範囲内に存在すると判定された場合に、前記組に対して、前記被遮蔽領域の範囲内に存在しないと判定された場合よりも小さな重み係数を設定する設定手段と、
前記対応付け手段により対応付けられた前記投影線分を構成する点と、前記2次元画像上のエッジを構成する点との、前記2次元画像上における距離に前記重み係数を乗じた値の総和が最小となる位置および姿勢を前記対象物体の位置および姿勢として計測する位置姿勢計測手段と、
を備えることを特徴とする位置姿勢計測装置。
【請求項2】
前記被遮蔽領域の輪郭を抽出する輪郭抽出手段と、
前記輪郭を構成する第1の点を選択する選択手段と、
前記被遮蔽領域外であって前記第1の点との距離が最も近い位置にある第2の点を探索する第1探索手段と、
前記輪郭と、前記第1の点を通るエピポーラ線との他の交点となる第3の点を検出する検出手段と、
前記被遮蔽領域外であって前記第2の点との距離が最も近い位置にある第4の点を探索する第2探索手段と、
前記第2の点に対応する前記距離画像上の距離値と、前記第4の点に対応する前記距離画像上の距離値とのいずれが大きいかを判別する判別手段と、をさらに備え、
前記設定手段は、前記判別手段により前記第2の点に対応する前記距離画像上の距離値が大きいと判別された場合、前記第1の点に対する、前記対応付け手段により対応付けられた前記組の前記重み係数をさらに小さく設定することを特徴とする請求項1に記載の位置姿勢計測装置。
【請求項3】
対象物体の3次元形状情報を含む3次元モデルを保持する保持手段と、
前記対象物体の2次元画像を取得する2次元画像取得手段と、
前記対象物体の距離画像を取得する距離画像取得手段と、
前記距離画像において前記対象物体までの距離値が計測できない計測不能領域を、前記2次元画像において前記対象物体に照射される照明が遮蔽される被遮蔽領域として抽出する抽出手段と、
前記対象物体の位置および姿勢の概略値に基づいて、前記3次元モデルを構成する線分を前記2次元画像上に投影する投影手段と、
前記投影手段により投影された投影線分を構成する点と、前記2次元画像上のエッジを構成する点とを組として対応付ける対応付け手段と、
前記被遮蔽領域の輪郭を抽出する輪郭抽出手段と、
前記輪郭を構成する第1の点を選択する選択手段と、
前記被遮蔽領域外であって前記第1の点との距離が最も近い位置にある第2の点を探索する第1探索手段と、
前記輪郭と、前記第1の点を通るエピポーラ線との交点となる第3の点を算出する算出手段と、
前記被遮蔽領域外であって前記第2の点との距離が最も近い位置にある第4の点を探索する第2探索手段と、
前記第2の点に対応する前記距離画像上の距離値と、前記第4の点に対応する前記距離画像上の距離値とのいずれが大きいかを判別する判別手段と、
前記判別手段により前記第2の点に対応する前記距離画像上の距離値が大きいと判別された場合、前記第1の点に対する前記組の重み係数を、前記第1の点以外の前記組の前記重み係数よりも小さく設定する設定手段と、
前記対応付け手段により対応付けられた前記投影線分を構成する点と、前記2次元画像上のエッジを構成する点との、前記2次元画像上における距離に前記重み係数を乗じた値の総和が最小となる位置および姿勢を前記対象物体の位置および姿勢として計測する位置姿勢計測手段と、
を備えることを特徴とする位置姿勢計測装置。
【請求項4】
前記2次元画像が、濃淡画像またはカラー画像であることを特徴とする請求項1乃至3の何れか1項に記載の位置姿勢計測装置。
【請求項5】
2次元画像取得手段が、前記対象物体の2次元画像を取得する2次元画像取得工程と、
距離画像取得手段が、前記対象物体の距離画像を取得する距離画像取得工程と、
抽出手段が、前記距離画像において前記対象物体までの距離値が計測できない計測不能領域を、前記2次元画像において前記対象物体に照射される照明が遮蔽される被遮蔽領域として抽出する抽出工程と、
投影手段が、前記対象物体の位置および姿勢の概略値に基づいて、保持手段に保持された前記対象物体の3次元形状情報を含む3次元モデルを構成する線分を前記2次元画像上に投影する投影工程と、
対応付け手段が、前記投影工程により投影された投影線分を構成する点と、前記2次元画像上のエッジを構成する点とを組として対応付ける対応付け工程と、
判定手段が、前記対応付け工程により対応付けられた前記2次元画像上のエッジを構成する点が前記被遮蔽領域の範囲内に存在するか否かを判定する判定工程と、
設定手段が、前記判定工程により前記被遮蔽領域の範囲内に存在すると判定された場合に、前記組に対して、前記被遮蔽領域の範囲内に存在しないと判定された場合よりも小さな重み係数を設定する設定工程と、
位置姿勢計測手段が、前記対応付け工程により対応付けられた前記投影線分を構成する点と、前記2次元画像上のエッジを構成する点との、前記2次元画像上における距離に前記重み係数を乗じた値の総和が最小となる位置および姿勢を前記対象物体の位置および姿勢として計測する位置姿勢計測工程と、
を有することを特徴とする位置姿勢計測方法。
【請求項6】
2次元画像取得手段が、前記対象物体の2次元画像を取得する2次元画像取得工程と、
距離画像取得手段が、前記対象物体の距離画像を取得する距離画像取得工程と、
抽出手段が、前記距離画像において前記対象物体までの距離値が計測できない計測不能領域を、前記2次元画像において前記対象物体に照射される照明が遮蔽される被遮蔽領域として抽出する抽出工程と、
投影手段が、前記対象物体の位置および姿勢の概略値に基づいて、保持手段に保持された前記対象物体の3次元形状情報を含む3次元モデルを構成する線分を前記2次元画像上に投影する投影工程と、
対応付け手段が、前記投影工程により投影された投影線分を構成する点と、前記2次元画像上のエッジを構成する点とを組として対応付ける対応付け工程と、
輪郭抽出手段が、前記被遮蔽領域の輪郭を抽出する輪郭抽出工程と、
選択手段が、前記輪郭を構成する第1の点を選択する選択工程と、
第1探索手段が、前記被遮蔽領域外であって前記第1の点との距離が最も近い位置にある第2の点を探索する第1探索工程と、
算出手段が、前記輪郭と、前記第1の点を通るエピポーラ線との交点となる第3の点を算出する算出工程と、
第2探索手段が、前記被遮蔽領域外であって前記第2の点との距離が最も近い位置にある第4の点を探索する第2探索工程と、
判別手段が、前記第2の点に対応する前記距離画像上の距離値と、前記第4の点に対応する前記距離画像上の距離値とのいずれが大きいかを判別する判別工程と、
設定手段が、前記判別工程により前記第2の点に対応する前記距離画像上の距離値が大きいと判別された場合、前記第1の点に対する重み係数を、前記第1の点以外の前記組の前記重み係数よりも小さく設定する設定工程と、
位置姿勢計測手段が、前記対応付け工程により対応付けられた前記投影線分を構成する点と、前記2次元画像上のエッジを構成する点との、前記2次元画像上における距離に前記重み係数を乗じた値の総和が最小となる位置および姿勢を前記対象物体の位置および姿勢として計測する位置姿勢計測工程と、
を有することを特徴とする位置姿勢計測方法。
【請求項7】
請求項5または6に記載の位置姿勢計測方法をコンピュータに実行させるためのプログラム。
【請求項8】
コンピュータに請求項5又は6に記載の位置姿勢計測方法を実行させるためのプログラムが記憶されたコンピュータで読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−42396(P2012−42396A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−185576(P2010−185576)
【出願日】平成22年8月20日(2010.8.20)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】