説明

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

【課題】距離画像から対象物体の位置姿勢を算出する位置姿勢算出の精度低下を防ぎながら処理速度を維持向上させる。
【解決手段】対象物体までの距離画像を取得する取得部と、距離画像から対象物体の概略位置姿勢を決定する概略位置姿勢決定部と、形状モデル上の所定領域に対応する、距離画像における領域の距離情報のばらつきの程度を示すばらつき値を算出する算出部と、ばらつき値が小さい程、サンプル点の数が少なくなるように、形状モデル上の所定領域ごとに当該所定領域からサンプル点をサンプリングするサンプリング部と、概略位置姿勢からサンプル点と距離画像上の2次元計測点を3次元座標に変換した3次元計測点とを対応付ける対応付け部と、各サンプル点と各3次元計測点との間の距離の総和が最小になるように対象物体の位置姿勢を決定する位置姿勢決定部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元形状が既知である物体の位置及び姿勢を計測する技術に関し、特に対象物体を撮影した距離画像に基づいて対象物体の位置及び姿勢を算出する位置姿勢計測装置、位置姿勢計測方法、およびプログラムに関する。
【背景技術】
【0002】
近年のロボット技術の発展とともに、従来人間が行っていた複雑なタスクをロボットが代わりに行うようになりつつある。複雑なタスクの代表的な例として、工業製品の組立が挙げられる。ロボットが自律的に組立作業を行うためには、ハンドなどのエンドエフェクタによって部品を把持することが必要となる。ロボットハンドによって部品を把持するためには、把持の対象となる部品とロボットとの相対的な位置及び姿勢を計測し、計測結果に基づいて移動計画を策定して実際にアクチュエータを制御する必要がある。ロボットの位置姿勢計測は、ロボットに搭載されたカメラや距離センサを用いて行われており、2次元画像や距離画像を用いる方法が代表的である。特にオフィスや工場などのシーンや工業製品の部品など、対象が直線や曲線、濃淡変化の少ない面など単調な特徴しか持たない場合には距離画像を用いることが多い。
【0003】
非特許文献1では、距離画像へのモデルフィッティングによる物体の位置及び姿勢の計測を行う方法が開示されている。この方法では、距離画像を3次元点群データに変換し、点群データに対象物体の3次元形状モデルを当て嵌めることにより物体の位置及び姿勢を計測する。すなわち、位置及び姿勢の概略値をもとに、点群データの各点について3次元形状モデルの近傍の面を探索し、点と面との距離の和を最小化するように位置及び姿勢の最適化を繰り返すことにより位置及び姿勢を算出する。
【0004】
特許文献1では、非特許文献1と同様に観測画像へのモデルフィッティングにより、物体の位置及び姿勢を推定する方法が開示されている。このとき、物体のモデルから低曲率の面を選択し、選択した面と対応する距離計測データ上の面との距離の差を最小化する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許6504957号公報
【特許文献2】特開平01-009307号公報
【非特許文献】
【0006】
【非特許文献1】P. J. Besl and N. D. McKay, "A method for registration of 3-D shapes," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.14, no.2, pp.239-256, 1992.
【非特許文献2】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.
【発明の概要】
【発明が解決しようとする課題】
【0007】
非特許文献1のように距離画像を用いて物体の位置及び姿勢を推定する手法は、距離画像の点群データの各点に対応する3次元モデルの面の探索に多くの計算時間が必要であるという問題があった。
【0008】
この問題の解決策として、対応の数を減らす方法が考えられる。しかしながら、計測データには必ず誤差が含まれる。対応の数を減らすと、それぞれの対応点が位置姿勢推定の計算に寄与する度合いが相対的に高まる。従って、対応点の中に誤差の大きい計測データに基づくものが含まれている場合、位置姿勢推定の精度が低下するという問題がある。
【0009】
上記の課題に対して、特許文献1では、計測対象物体上で低曲率の部位は距離計測誤差が小さいと想定し、モデル上の低曲率の部位に処理対象を限定することによって、精度を低下させずに処理速度を向上することを狙っている。
【0010】
しかしながら、実際には低曲率の部位であっても距離計測の精度が高いとは限らない。図1を参照して説明する。図1は、上記の現象を説明する原理図である。図1において、撮像部101は距離計測装置を構成する撮像部である。計測対象物体102は低曲率の部位を有する計測対象物体である。計測対象物体102の表面上の2点として点103および点104を考える。この場合、点104の方が点103よりも曲率が低い。しかしながら、点103および点104を含む領域に相当する画素を観測する領域105および領域106を考えると、領域106内に含まれる計測対象物体上の表面の撮像部101からの距離の分布は、領域105よりも広範囲に渡る。従って、点104の距離計測値のばらつき誤差は、点103の距離計測値のばらつき誤差よりも大きい。このように、面の傾きによっては、高曲率の部位よりも低曲率の部位の方が、距離計測精度が低いことがある。そのような場合、特許文献1の方法に従えば、距離計測値のばらつき誤差が大きい領域(低曲率な領域)を選択して物体の位置姿勢を推定することになるため、特許文献1の方法を用いない場合よりも、位置姿勢推定の精度が低下してしまう。
【0011】
つまり、特許文献1の方法では、計測誤差の少ないデータを確実に選択できないために、位置姿勢推定精度が低下することがあるという問題があった。
【0012】
上記の課題に鑑み、本発明は、位置姿勢推定の精度低下を防ぎながら、処理速度を維持向上させることを目的とする。
【課題を解決するための手段】
【0013】
上記の目的を達成する本発明に係る位置姿勢計測装置は、
対象物体の3次元形状を示す形状モデルが既知である当該対象物体の3次元の位置姿勢を計測する位置姿勢計測装置であって、
撮像手段により撮像された前記対象物体までの距離画像を取得する取得手段と、
前記距離画像に基づいて前記対象物体の概略位置姿勢を決定する概略位置姿勢決定手段と、
前記形状モデル上の所定領域に対応する、前記距離画像における領域の前記距離情報のばらつきの程度を示すばらつき値を算出する算出手段と、
前記ばらつき値が小さい程、サンプル点の数が少なくなるように、前記形状モデル上の所定領域ごとに当該所定領域からサンプル点をサンプリングするサンプリング手段と、
前記概略位置姿勢に基づいて、前記サンプル点と、前記距離画像上の2次元計測点を3次元座標に変換した3次元計測点とを対応付ける対応付け手段と、
各サンプル点と各3次元計測点との間の距離の総和が最小になるように前記対象物体の位置姿勢を決定する位置姿勢決定手段と、を備えることを特徴とする。
【0014】
また、上記の目的を達成する本発明に係る位置姿勢計測装置は、
対象物体の3次元形状を示す形状モデルが既知である当該対象物体の3次元の位置姿勢を計測する位置姿勢計測装置であって、
撮像手段により撮像された前記対象物体までの距離画像を取得する取得手段と、
前記距離画像に基づいて前記対象物体の概略位置姿勢を決定する概略位置姿勢決定手段と、
前記形状モデル上の所定領域に対応する、前記距離画像における領域の前記距離情報に含まれる計測誤差を示すオフセット値を算出するオフセット値算出手段と、
前記オフセット値が大きい程、サンプル点の数が少なくなるように、前記形状モデル上の所定領域ごとに当該所定領域からサンプル点をサンプリングするサンプリング手段と、
前記概略位置姿勢に基づいて、前記サンプル点と、前記距離画像上の2次元計測点を3次元に変換した3次元計測点とを対応付ける対応付け手段と、
各サンプル点と各3次元計測点との間の距離の総和が最小になるように前記対象物体の位置姿勢を決定する位置姿勢決定手段と、を備えることを特徴とする。
【発明の効果】
【0015】
本発明によれば、位置姿勢計測のために用いる対応点の密度を距離計測の誤差に応じて制御することにより、位置姿勢計測精度の低下を抑えながら、処理速度を向上させることができる。
【図面の簡単な説明】
【0016】
【図1】低曲率の部位であっても距離計測の精度が高いとは限らないことを説明する原理図。
【図2】本発明の装置の構成を表すブロック図。
【図3】第1実施形態に係る処理全体の流れを示すフローチャート。
【図4】距離画像計測における偶然誤差発生の原理を説明する図。
【図5】第1実施形態に係る距離計測誤差推定処理の流れを示すフローチャート。
【図6】三角形パッチを小領域に分割する方法の原理を説明する図。
【図7】距離画像計測における系統誤差発生の第1の原理を説明する図。
【図8】第2実施形態に係る距離計測誤差推定処理の流れを示すフローチャート。
【図9】距離画像計測における系統誤差発生の第2の原理を説明する図。
【図10】距離画像計測における系統誤差発生の第3の原理を説明する図。
【発明を実施するための形態】
【0017】
(第1実施形態)
以下、対象物体のモデル上から距離画像と対応付ける局所領域を距離計測誤差の特性と大きさに応じてサンプリングすることにより、位置姿勢推定精度を保ちつつ、対応付けの処理負荷を軽減する方法を説明する。距離画像とは、対象物体までの距離情報が画素値として保持された画像である
本実施形態では、距離計測の計測値に偶然誤差(距離計測値のばらつき)が含まれる場合を説明する。ここでは、距離計測値の系統誤差(真値からのオフセット)は微小であるとする。
【0018】
本実施形態では、対象物体の形状モデルの表面上からサンプル点を選択し、距離画像から変換した3次元計測点群とサンプル点とを対応付ける。そして、対応点対間の距離の総和を最小化することによって、対象物体の位置姿勢決定(推定)を行う。
【0019】
サンプル点を選択する際は、形状モデル表面上の小領域(所定領域)ごとに、その小領域に相当する計測対象物体表面上の領域を距離計測したときの偶然誤差の大きさ(計測値のばらつきの程度)を推定する。そして、距離計測値のばらつきの大きさに応じて、当該小領域からサンプリングする点の密度を決定する。具体的には、距離計測値のばらつきが大きいほど、サンプル点の密度を高くする。つまり、ばらつき値が大きい程多くサンプリングする。逆にばらつき値が小さい程少なくサンプリングする。ただし、何れの小領域に関しても、距離画像の画素ごとに3次元計測点群と形状モデルを対応付ける場合よりもサンプル点の数が少なくなるようにサンプル点の上限数を設定する。このようにサンプリング密度を制御することにより、距離画像の画素ごとに対応付けを行う方法に比べて対応点の数を減らすことができる。そして、計測値のばらつきが大きい領域については多数の点の平均をとる効果を作用させることにより、誤差の影響を軽減し、位置姿勢計測の結果が真値に近くなることが期待される。
【0020】
なお、距離計測の測定誤差は、距離計測装置の計測方向と計測対象物体表面上の各小領域の法線方向とのなす角度に基づいて推定する。具体的には、計測方向と物体表面が垂直に近いほど計測値のばらつきが小さく、逆に計測方向と物体表面が平行に近いほど計測値のばらつきが大きいと推定する。
【0021】
以下、本実施形態に係る位置姿勢計測装置の詳細について説明する。
【0022】
まず、図2を参照して、本発明に係る位置姿勢計測装置のハードウェア構成について説明する。図2において、CPU201はCPUであり、装置全体の動作を制御する。メモリ202はメモリであり、CPU201の動作に用いるプログラムやデータを格納する。バス203はバスであり、各構成モジュール間を接続してデータ転送を可能にする。インタフェース204はバス203と各種装置とのインタフェースである。また、外部記憶装置205はCPU201に読み込まれるプログラムやデータを格納する外部記憶装置である。キーボード206およびマウス207はプログラムを起動したり、プログラムの動作を指定したりするための入力装置を構成するキーボードおよびマウスである。表示部208はプロセスの動作結果を表示するための表示部であり、液晶画面等で構成される。データ入出力部209は装置外部とのデータ入出力部である。不図示の距離画像計測装置はデータ入出力部209を介して本発明に係る位置姿勢計測装置に接続されている。
【0023】
次に、図3を参照して、本実施形態に係る位置姿勢計測装置の全体処理の流れを示すフローチャートについて説明する。ステップS301において、処理で用いるデータの初期設定を行う。具体的には、外部記憶装置205から形状モデルデータ、標準サンプル数、及び基準距離をメモリ202にロードする。標準サンプル数と基準距離については後述する。また、不図示の距離画像計測装置の撮像部のカメラパラメータ(主点位置、焦点距離、画像歪み係数、画素数等)をデータ入出力部209に接続された距離画像計測装置から取得する。
【0024】
形状モデルは、物体の表面を三角形平面の集合として表す三角形ポリゴンパッチモデルであるとする。形状モデルデータは、三角形ポリゴンの各頂点の識別番号と座標、各三角形ポリゴンの識別番号とそのポリゴンを構成する頂点の識別番号、各三角形ポリゴンの法線ベクトルから構成される。三角形ポリゴンの法線ベクトルは、形状モデルの内部から外部へ向かう方向であるとする。
【0025】
カメラパラメータは例えば非特許文献2で開示される方法により事前に校正しておく。ステップS301において入力されるカメラパラメータを用いることによって、距離画像計測装置の撮像部の3次元座標系における点を距離画像上(2次元座標系上)に投影した2次元座標を算出することができる。
【0026】
続くステップS302において、データ入出力部209に接続された不図示の距離画像計測装置から計測対象物体を計測した距離画像データを取得し、メモリ202に格納する。なお、距離画像の撮影は、例えば光切断法やステレオ法により撮影する。
【0027】
ステップS303において、計測対象物体の概略位置姿勢(距離計測装置の撮像部に対する計測対象物体の概略の相対位置姿勢)を決定する。この概略位置姿勢決定処理には、例えば特許文献2に開示される方法を用いることができる。
【0028】
ステップS304において、ステップS302で入力された距離画像データの誤差を推定する。本ステップの処理については後述する。
【0029】
続いて、ステップS305において、ステップS304で推定された距離画像データの誤差に基づいて、形状モデル表面上から距離画像データと対応付ける所定領域(局所領域)、すなわち点群を選択する。ステップS305における形状モデル上からの点群選択処理の詳細については後述する。
【0030】
次に、ステップS306において、ステップS305で選択されたサンプル点を距離画像と対応付ける。具体的には、ステップS303で算出された計測対象物体の概略位置姿勢に基づいて、対象物体の座標系における各サンプル点の3次元座標を距離計測装置の撮像部の座標系における3次元座標に変換する。さらに、ステップS301で入力されたカメラパラメータに基づいて、撮像部の座標系における各サンプル点の3次元座標を距離画像上に投影した点の2次元座標を算出する。このようにして算出された座標値は距離画像の画素の座標と必ずしも一致しないので、投影点の最近傍(最近接)の画素を距離画像上で探索する。そして、探索結果の画素の2次元座標(2次元計測点)および距離値から該画素の撮像部座標系における3次元座標を算出し、ステップS303で算出された計測対象物体の概略位置姿勢に基づいて、対象物体の座標系における3次元座標に変換する。このようにして算出された距離計測点の3次元座標は、対応するサンプル点の3次元座標と組にして、メモリ202に記憶領域を確保した対応点対リストに追加する。
【0031】
なお、上述したサンプル点と距離画像の対応付け処理に加えて、誤対応を排除する処理を加えてもよい。具体的には、距離画像上の対応点において近傍の距離計測点群データから当該対応点における法線方向を算出し、対象物体の座標系における方向に変換する。このようにして算出された法線と、当該対応点に対応するサンプル点が含まれる三角形パッチの法線方向とを比較して、法線方向が大きく異なる場合は当該対応点を対応点対リストに追加しないようにすればよい。
【0032】
最後に、ステップS306で求められた対応点対間の距離の総和が最小となるように最適化問題を解くことによって、計測対象物体の位置姿勢を算出する。本ステップの詳細については、後述する。
【0033】
ここで、距離計測の誤差量推定処理(ステップS304)の詳細を説明する。図4を参照して、本実施形態に係る計測値のばらつきの程度を示すばらつき値を推定する方法について説明する。
【0034】
図4は、距離画像計測装置の撮像部401の観測方向と計測対象物体の表面403又は表面405との位置関係を示した図である。表面403が撮像部401の観測方向と垂直に近い場合、表面405が撮像部401の観測方向と平行に近い場合を表している。図4において、領域402は撮像部401のある1画素に相当する領域であるとする。計測対象物体の表面領域が、それぞれ範囲404又は範囲406に分布している。すなわち、当該画素の距離情報のばらつき値は、範囲404又は範囲406の間隔に等しい。従って、距離情報の値は、撮像装置の観測方向と計測対象物体の面の法線とのなす角度によって計量できる。
【0035】
図5を参照して、距離計測の誤差量推定処理の流れを示すフローチャートについて説明する。ステップS501において、形状モデルに含まれる三角形ポリゴンの中から未処理のポリゴンを1つ選択する。ここで、ステップS502からステップS506までの各ステップでは、ステップS501で選択された三角形ポリゴンを処理の対象とする。なお、本ステップで選択された三角形ポリゴンの識別番号はiであるとする。以下、添え字のiは本ステップで選択された三角形ポリゴンに関するものであることを示す指標である。
【0036】
ステップS502において、距離画像計測装置の観測方向と処理対象ポリゴンの法線方向とのなす角度α(−π≦α≦π)を算出する。なお、距離画像計測装置の観測方向は、ステップS303で算出された対象物体の概略位置姿勢に基づいて、対象物体の座標系における方向ベクトルとして表されているとする。
【0037】
次に、ステップS503において、ステップS502で算出された角度αに基づいて、処理対象のポリゴンが距離画像計測装置から可視であるか、あるいは不可視であるかを判定する。具体的には、−(π/2+φ)≦α≦π/2+φを満たさない場合は、距離画像計測装置が処理対象ポリゴンの表側を観察しているので可視と判定し、ステップS504に進む。一方、−(π/2+φ)≦α≦π/2+φを満たす場合、距離画像計測装置が処理対象ポリゴンの裏側を観察しているか、あるいは観察方向とポリゴン平面が平行である。従って、処理対象ポリゴンは不可視と判定し、ステップS505に進む。なお、φは距離計測装置の観測方向が対象物体表面と平行に近い場合に(例えば物体表面の反射光量が低下することにより)計測不能になる限界を表す角度定数である。
【0038】
上記の説明では、距離画像計測装置の観測方向と処理対象ポリゴンの法線方向とのなす角度のみで、当該ポリゴンの可視/不可視を判定している。さらに、距離画像計測装置から見て当該ポリゴンが他のポリゴンに隠されている場合に当該ポリゴンを不可視と判定する処理を加えてもよい。このような判定処理はコンピュータグラフィクスにおけるオクルージョン判定技術を用いて実現できる。
【0039】
ステップS504において、以下の式(1)に基づいて、距離計測値のばらつき度uを算出する。ただし、β=π−αである。
【0040】
【数1】

【0041】
一方、ポリゴンが不可視の場合、ステップS505において、距離計測値のばらつき度uを−1に設定する。ただし、このステップで設定するばらつき度の値は処理対象ポリゴンが可視の場合に取り得ない値であればよく、−1に限らない。
【0042】
なお、ステップS504で算出されたばらつき度あるいはステップS505で設定されたばらつき度は、ポリゴンの識別番号とセットにしてメモリ202に格納する。
【0043】
ステップS504またはステップS505の処理が終了すると、処理はステップS506に進む。
【0044】
ステップS506において、形状モデルに含まれる三角形ポリゴンの全てに対して、ばらつき度を設定する処理を完了したか否か判定する。完了したと判定された場合は(ステップS506;YES)、誤差量推定処理全体を終了する。一方、全てのポリゴンを処理済みでないと判定された場合は(ステップS506;NO)、ステップS501に戻る。
【0045】
以上が距離計測の誤差量推定処理の流れである。
【0046】
続いて、局所領域の選択処理(ステップS305)の詳細を説明する。
【0047】
ステップS305では、形状モデルに含まれる各三角形ポリゴンに関して、式(2)に基づいてサンプル点の数Nを算出する。
【0048】
【数2】

【0049】
式(2)において、SおよびDは、ステップS301でメモリ202に格納された標準サンプル数および基準距離である。標準サンプル数とは、距離計測装置から基準距離の位置にある距離計測装置の計測方向に垂直な単位面積の平面を距離画像に投影した領域に含まれる画素の数であり、サンプル点の上限数を規定している。dはステップS303で推定された対象物体の概略位置姿勢に基づいて算出される距離計測装置と識別番号iの三角形ポリゴンとの距離である。(d)/D)を掛け合わせることによって、ある三角形ポリゴンを距離画像上に投影した領域に含まれる画素数の増減の効果をサンプル点の数に反映させることができる。
【0050】
また、Aは識別番号がiのポリゴンの面積である。そして|cosβ|は三角形ポリゴンを距離画像上に投影した領域の面積が当該ポリゴンの向きによって減少する比率である。uはステップS304で算出された距離計測値のばらつき度である、Cはサンプル点の密度に対する距離計測値のばらつき度の寄与度を調整する定数である。
【0051】
なお、処理対象のポリゴンが不可視の場合(u=−1)、そのポリゴンからはサンプル点を選ばないので、N=0とする。
【0052】
サンプル点は、三角形ポリゴンを同一面積で三角形の小領域に分割したときの各小領域から1点ずつ配置する。
【0053】
図6を参照して、上記の三角形ポリゴンの分割方法の原理について説明する。図6(A)に示される三角形ポリゴンの各辺を2分割した点を結んで4つの小領域に分割した例が図6(B)である。図6(A)に示される三角形ポリゴンの各辺を3分割して9つの小領域に分割した例が図6(C)である。同様にして辺の分割数を増やすことによって、三角形ポリゴンをべき乗数個の小領域に分割できる。そこで、式(2)で求めたサンプル点数Nに最も近いべき乗数を求め、図6に示すようにべき乗数個にポリゴンを分割した各小領域の重心をサンプル点とする。ここで求められたサンプル点群の座標(対象物体の座標系における座標値)は、三角形ポリゴンの識別番号とともにメモリ202に格納される。
【0054】
最後に、対象物体の位置姿勢算出処理(ステップS307)の詳細について説明する。本ステップでは、対応点対リストに登録された対応点対間の距離の総和が最小になるようにするモデルの位置姿勢を算出し、その結果を対象物体の位置姿勢とする。
【0055】
距離画像計測装置の撮像部の座標系における3次元座標は、対象物体の位置姿勢sによって、対象物体の座標系における3次元座標(x、y、z)に変換することが出来る。ここで、計測対象物体の位置及び姿勢の自由度は6自由度である。すなわちsは6次元ベクトルであり、計測対象物体の位置を表す3つの要素と、姿勢を表す3つの要素からなる。いま、ステップS303で算出された対象物体の概略の位置姿勢により、撮像部座標系のある点が対象物体座標系の点(x、y、z)に変換されるとする。(x、y、z)は対象物体の位置および姿勢により変化するものであり、(x、y、z)の近傍における1次のテイラー展開によって式(3)のように近似できる。
【0056】
【数3】

【0057】
メモリ202に格納されたある対応点対の形状モデル側の対応点が存在する三角形パッチ面の対象物体座標系における平面の方程式をax+by+cz=e(a+b+c=1、a、b、c、eは定数)とする。正しいsによって変換される(x、y、z)は、平面の方程式ax+by+cz=e(a+b+c=1)を満たすと仮定する。式(3)をこの平面の方程式に代入すると式(4)が得られる。
【0058】
【数4】

【0059】
ただし、q=ax+by+cz(定数)とした。式(4)は対応点対の全てについて成り立つため、式(5)のようなΔsに関する線形連立方程式が成り立つ。
【0060】
【数5】

【0061】
ここで、式(5)を式(6)のように表す。
【0062】
【数6】

【0063】
式(6)に基づいて、行列Jの一般化逆行列(J・J)−1・Jを用いてΔsを求める。なお、距離画像の計測点群に含まれるノイズなどによる外れ値の影響を緩和するため、次に述べるようなロバスト推定手法を用いてもよい。一般に、外れ値である計測点群データでは誤差値e−qが大きくなる。そのため、式(5)、式(6)の連立方程式に対する寄与度が大きくなり、その結果得られるΔsの精度が低下してしまう。そこで、誤差値e−qが大きいデータには小さな重みを与え、誤差e−qが小さいデータには大きな重みを与える。重みは例えば式(7)に示すようなTukeyの関数により与える。
【0064】
【数7】

【0065】
ここでνは定数である。なお、重みを与える関数は必ずしもTukeyの関数である必要はなく、例えばHuberの関数など、誤差の大きいデータには小さな重みを与え、誤差の小さいデータには大きい重みを与える関数であればよい。
【0066】
各データに対応する重みをwとする。ここで式(8)のように重み行列Wを定義する。
【0067】
【数8】

【0068】
重み行列Wは、対角成分以外は全て0の正方行列であり、対角成分は重みwである。Nは対応点対の数である。この重み行列Wを用いて、式(6)を以下に示す式(9)のように変形する。
【0069】
【数9】

【0070】
そして式(10)のように式(9)を解くことにより補正値Δsを求める。
【0071】
【数10】

【0072】
このようにして算出された補正値Δsによりモデルの位置・姿勢の概略値を補正し、その結果をメモリ202に格納するか、あるいはデータ入出力部209を介して外部の装置に出力する。
【0073】
なお、上述した位置及び姿勢の最適化計算手法はGauss−Newton法に基づくものであるが、これに限らずLevenberg−Marquardt法や最急降下法などを用いてもよい。
【0074】
以上説明したように本実施形態の方法を用いれば、距離画像計測値のばらつきに応じて適応的に距離画像と対応付けるモデル面上のサンプル点を選択することが出来る。これによって、対応点の数を減らして処理を高速化しながら、推定する位置姿勢の精度を保つことが可能である。
【0075】
なお、本発明は上記に限らず様々な変形例が存在する。以下の第2実施形態から第8実施形態が第1実施形態の変形例である。
【0076】
(第2実施形態)
上記の説明では、対象物体の概略位置姿勢の算出処理(ステップS303)、距離計測の誤差推定処理(ステップS304)、局所領域の選択処理(ステップS305)、局所領域と距離画像の対応付け処理(ステップS306)、対象物体の位置姿勢推定処理(ステップS307)の各処理ステップを1回ずつ行っている。しかし、必ずしも1回ずつに限定するものではなく、これらの処理を繰り返し行って、漸近的に位置及び姿勢の推定精度を高めてもよい。このとき、ステップS307における対象物体の位置姿勢推定処理の終了後に繰り返し回数が所定回数に達したか否か判定し、所定回数に達していれば処理全体を終了し、達していなければステップS303に戻ってもよい。あるいは、ステップS307における処理の終了後に、モデルの当て嵌め誤差を算出して所定の閾値との大小関係を比較し、誤差が閾値未満であれば処理全体を終了し、閾値以上であればステップS303に戻ってもよい。ここで、モデルの当て嵌め誤差とは、例えば対応点対間の距離を全ての対応点対について足した値とする。上記フローの1回の繰り返しで推定された対象物体の位置姿勢を、次の繰り返しのステップS303において物体の概略位置姿勢として用いればよい。
【0077】
上記の方法を用いると、位置姿勢の推定精度が高まるにつれて、距離計測誤差の推定精度も高くなるので、計測誤差の影響を軽減する効果が高くなる。
【0078】
(第3実施形態)
計測対象物体の概略位置姿勢を算出する方法として、前述の説明では特許文献2に開示される方法を用いたが、これに限るものではない。
【0079】
例えば、過去の計測値から物体の運動の速度や角速度を線形フィルタまたはカルマンフィルタ等の時系列フィルタリング処理により推定し、推定された速度や角速度によって現在の時刻における物体の位置及び姿勢を予測したものを用いてもよい。また、他のセンサによる物体の位置及び姿勢の計測が可能である場合には、当該センサによる出力値を位置及び姿勢の概略値として用いてもよい。センサは、例えばトランスミッタが発する磁界を物体に装着するレシーバで検出することにより位置及び姿勢を計測する磁気式センサであってもよい。また、物体上に配置されたマーカをシーンに固定されたカメラによって撮影することにより位置及び姿勢を計測する光学式センサであってもよい。その他、6自由度の位置及び姿勢を計測するセンサであればいかなるセンサであってもよい。また、物体の置かれているおおよその位置や姿勢が既知である場合には、その値を概略値として用いてもよい。
【0080】
(第4実施形態)
物体の3次元形状モデルは三角形ポリゴンのみから構成されるとしているが、これに限らず、他の形状のポリゴンのみから構成されてもよい。さらに、複数種類の形状のポリゴンが混在して構成されてもよい。また、3次元形状モデルは平面パッチではなく、パラメトリック曲面パッチから構成されてもよい。さらに、平面パッチと曲面パッチが混在して構成されてもよい。ただし、曲面パッチを用いる場合は、1つのパッチの中で距離計測装置の計測方向とモデル表面との傾きが一様でない。そこで、曲面パッチを小領域に分割して、それぞれの小領域に対して距離計測の誤差を推定して、サンプル点を選択すればよい。
【0081】
(第5実施形態)
上記の説明では物体モデル表面上の単位領域を同一面積の小領域に分割して、それぞれの小領域からサンプル点を同一個数選択する方法を説明した(ステップS305)が、サンプル点を決定する方法はこれに限られない。例えば、物体モデル表面上の単位領域をランダムにサンプリングしてもよい。
【0082】
あるいは、各単位領域に対して予め密にサンプル点を選んでおき、距離計測の誤差のばらつきに基づいて決定されたサンプル点の個数を密なサンプル点の個数で割った「間引き率」に従って、密なサンプル点を間引いてもよい。
【0083】
さらに、予め決められた複数の間引き率に対してサンプル点の座標を単位領域ごとに決定しておき、それらのサンプル点群の座標をモデルに登録しておいてもよい。そして、距離計測の誤差に基づいて算出された間引き率に最も近い間引き率で登録されたサンプル点をメモリ202から読み出して用いてもよい。
【0084】
このように、サンプル点の決定に関する処理を予め行っておく方法を採用すると、第2実施形態で説明したように対象物体の位置姿勢推定を繰り返し行う場合に計算負荷の軽減による高速化効果が高くなる。
【0085】
(第6実施形態)
上記の説明では、標準サンプル数は、サンプル点を距離画像上に投影した際の密度が画素密度と同等になるように設定している。しかし、標準サンプル数をさらに少なく設定することも可能である。ただし、標準サンプル数を少なくするに従って、サンプル点の数が減少して処理速度が向上するが、一般的な傾向としては位置姿勢推定の精度は低下する。
【0086】
(第7実施形態)
上記の説明では、距離計測値のばらつき度を計測対象物体の面の傾きにより評価した。しかし、ばらつき度の評価方法はこれに限るものではない。
【0087】
例えば、半透明物体に照射された光は物体内部で散乱して物体表面の様々な箇所で輝度が高くなる。従って、照射された光が直接当たった位置を画像上で探索したときに、誤って散乱光により輝度が高くなった部分が抽出されることがある。これが、距離計測値がばらつく原因となる。そこで、計測対象物体の部位ごとの内部散乱率によって距離計測誤差を評価してもよい。
【0088】
あるいは、黒色の物体は光の反射が少ないため、照射された光が当たった位置の探索がノイズに埋もれて失敗することがある。これも距離計測値がばらつく原因となる。そこで、計測対象物体の部位ごとの反射率によって距離計測誤差を評価してもよい。
【0089】
(第8実施形態)
上記の説明では、ステップS305で計測対象物体のモデルから選択する局所領域は点であった。しかし、本発明の方法は点に限らず、他の種類の局所領域を選択する場合にも適用できる。
【0090】
例えば、局所領域として平面領域が選択されてもよい。この場合局所領域の選択工程(ステップS305)で、各三角形パッチを等しい面積の平面群に分割した中から距離計測誤差の推定工程(ステップS304)で算出された当該三角形パッチに関する距離計測値のばらつき度に比例する数の小平面を選択すればよい。
【0091】
小平面と距離画像との対応付け及び対象物体の位置姿勢推定は、特許文献1と同様にして実現できる。
【0092】
(第9実施形態)
第1実施形態乃至第8実施形態では、距離計測の計測値に偶然誤差(計測値のばらつき)が含まれる場合を考慮した。そして、モデル上から距離画像と対応付ける局所領域を距離計測誤差の特性とその大きさに応じてサンプリングすることにより、位置姿勢推定精度を保ちつつ、対応付けの処理負荷を軽減する方法を説明した。
【0093】
本実施形態では、距離計測の計測値に系統誤差(真値からのオフセット値)が含まれる場合の位置姿勢計測方法について説明する。
【0094】
距離計測は、例えばスポット光方式(三角測量式)を用いる。図7を参照して、この際に系統誤差が発生する仕組みを説明する。図7において、表面701は距離計測の対象物体を構成する表面の一部である。照明703は距離計測装置を構成するスポット光を発生する光源である。撮影装置704は距離計測装置を構成する撮影装置である。スポット光方式では、照明703から照射された光が対象物体に直接当たったスポット(以下、「1次反射スポット又は1次反射点」と称する。)705の像を撮影装置704で撮影した画像上で探索する。そして、その像の画像座標に基づいて三角測量の原理で1次反射スポット705までの距離を算出する。
【0095】
また、スポット光が照射される表面701の近傍に別の表面702がさらに存在する場合を考える。その場合、スポット光は表面702上で反射されて、スポット(以下、「2次反射スポット又は2次反射点」と称する。)706が形成され、画像中で観察されることがある。このとき、2次反射スポット706の像が十分明るければ、スポット像を探索した結果が誤って2次反射スポット706を指すことがある。この誤ったスポット像の座標から算出される距離値は真の距離値からオフセットしており、スポット像の座標の誤差が大きくなるにつれて距離計測値のオフセットが大きくなる。
【0096】
そこで、本実施形態では、真のスポット(1次反射スポット)像の座標と偽のスポット(1次反射スポット)像の座標との差異から計測誤差を推定し、計測誤差の大きさに基づいてモデル表面上のサンプル点の密度を決定する。このとき、系統誤差を含むサンプル点の数が増加すると、位置姿勢推定の結果もオフセットするので、系統誤差が大きいほどサンプル点の密度を減らすようにする。
【0097】
本実施形態に係る処理全体の流れは第1実施形態で説明した図3のフローチャートと同様である。ただし、初期化処理(ステップS301)、距離計測誤差の推定処理(ステップS304)、及びサンプル点の決定処理(ステップS305)の内容は第1実施形態と異なるので、以下、それらの3つのステップのみ説明する。
【0098】
初期化処理(ステップS301)では、第1実施形態の初期化処理で外部記憶装置から読み込むデータに加えて、距離画像計測装置における照明部と撮像部との相対位置姿勢を外部記憶装置205から読み込む。
【0099】
次に図8を参照して、本実施形態に係る距離計測誤差の推定処理(ステップS304)の流れを示すフローチャートについて説明する。
【0100】
ステップS801において、形状モデルに含まれる三角形ポリゴンの中から未処理のポリゴンを1つ選択する。ステップS802からステップS710までの各ステップでは、ステップS801で選択された三角形ポリゴンを処理の対象とする。なお、本ステップで選択された三角形ポリゴンの識別番号はiであるとする。添え字のiは本ステップで選択された三角形ポリゴンに関するものであることを示す指標である。
【0101】
ステップS802において、1次反射スポットの像が距離計測装置の撮像部によって観測されるか否かを判定する(第1判定)。具体的には、ステップS801で選択された三角形ポリゴンの重心と、光源/撮像部とを結ぶ2直線と、ステップ801で選択された三角形ポリゴン以外の三角形ポリゴンとが交差しなければ可視、交差すれば不可視と判定する。なお、この判定を行うときの光源/撮像部の座標は、ステップS303で算出された対象物体の概略位置姿勢、およびステップS301で読み込まれた撮像部に対する光源の相対位置姿勢に基づいて、対象物体の座標系に変換したものを用いる。この判定処理において可視であると判定された場合は(ステップS802;YES)、ステップS803に進む。一方、不可視であると判定された場合は(ステップS802;NO)、ステップS809に進む。
【0102】
次にステップS803において、撮像画像上に1次反射スポット像の座標を投影する(第1投影)。具体的には、ステップS801で選択された三角形パッチの重心位置を、ステップS301で読み込まれたカメラパラメータおよびステップS303で算出された対象物体の概略位置姿勢とに基づいて、撮影画像上に投影した2次元座標を算出する。
【0103】
続くステップS804において、2次反射スポット像の撮影画像上での座標を算出する。このために、光源位置と識別番号iの三角形ポリゴンの重心を結ぶ直線に対して当該ポリゴンの法線方向を二等分角とする方向、すなわちスポット光の反射方向を算出する。そして、1次反射スポット位置を始点として当該反射方向に延びる直線と形状モデルとの交点を求める。この交点が2次反射スポットとなる。この交点が存在するか否かが判定される(第2判定)。交点が存在すると判定された場合、ステップS301で読み込まれたカメラパラメータおよびステップS303で算出された対象物体の概略位置姿勢とに基づいて、この2次反射スポットを撮影画像上に投影する(第2投影)。この2次元座標がステップ804で求める座標となる。
【0104】
続いてステップS803およびステップS804で算出された1次反射スポット像および2次反射スポット像の座標に基づいて、2次反射スポット像が偽のスポット像として探索される可能性を評価する(ステップS805およびステップS806)。
【0105】
具体的にはステップS805において、2次反射スポット像の位置と、光源からのスポット光照射方向によって決定される撮影画像上のエピポーラ線(投影線)との距離が、所定の閾値未満か否かが判定される(第1判別)。閾値は、距離計測装置におけるスポット探索処理の対象範囲によって決定される値である。そして、1次反射スポットと2次反射スポットとの間の3次元的な距離が所定の閾値未満か否かが評価される(第2判別)。閾値は、対象物体表面の反射率に依存し、実験によって決定される値である。ステップS806において、これらの評価値の全てが閾値未満である場合に探索誤りが発生すると判定されて(ステップS806;YES)、ステップS807に進む。一方、何れかの評価値が閾値以上である場合は、2次反射スポット像が偽のスポットとして探索される可能性はないと判定されて(ステップSS806;NO)、ステップS808に進む。
【0106】
ステップS807において、距離計測結果のオフセットの度合いであるsを、以下の式(11)に基づいてオフセット値算出する。
【0107】
【数11】

【0108】
ここで、ΔZは距離Zの位置におけるオフセットの大きさである。gはステップS803およびステップS804で算出された座標間の距離である。fは距離計測装置における撮像部の焦点距離である。Lは照明部と撮像部の相対位置姿勢から算出される撮像部の焦点と照明の光軸との距離である。
【0109】
一方、ステップS808では、距離計測結果のオフセットの度合いsが0に設定される。オフセットの度合いが0であることは、距離値の系統誤差が存在しないことを示している。
【0110】
ステップS809では、距離計測結果のオフセットの度合いsを−1に設定する。オフセットの度合いが−1であることは、三角形ポリゴンが不可視であることを示す特別な値であることを意味する。
【0111】
なお、ステップS807、ステップS808、ステップS809で設定されたオフセットの度合いsは、ポリゴンの識別番号iとセットにされてメモリ202に格納される。
【0112】
最後にステップS810において、形状モデルに含まれるすべての三角形ポリゴンに対して、距離計測のオフセット度が設定されたか否かが判定される。すべてのポリゴンを処理済みである場合は、距離計測誤差推定の処理を終了する。一方、未処理のポリゴンが残っている場合は、ステップS801に戻る。
【0113】
以上が本実施形態に係る距離計測誤差の推定処理(ステップS304)の流れである。
【0114】
最後に、本実施形態に係る局所領域の選択処理、つまりサンプル点の決定処理(ステップS305)について説明する。ステップS305では、形状モデルに含まれる各三角形ポリゴンに関して、式(12)に基づいてサンプル点の数Nが算出される。
【0115】
【数12】

【0116】
式(12)における記号S、D、d、A、βの意味は第1実施形態で説明した式(2)の各記号と同様の意味である。sはステップS304で算出された距離計測値のオフセット度である。Cはサンプル点数に対するオフセットの度合いの寄与度を調整するための係数(定数)である。
【0117】
ここで算出されたサンプル数数Nに基づいて、処理対象の三角形ポリゴン上でのサンプル点の位置を決定する方法は第1実施形態で説明した方法と同様であるので、説明を省略する。
【0118】
以上説明したように、本実施形態の方法を用いれば、距離画像計測値のオフセットの度合いに応じて適応的に距離画像と対応付けるモデル面上のサンプル点を選択することが出来る。よって、対応点の数を減らして処理を高速化しながら、推定する位置姿勢の精度を保つことが可能である。
【0119】
なお、本発明の実施形態は上記に限らず様々な変形例が存在する。以下の第10実施形態から第13実施形態が第2実施形態の変形例である。
【0120】
(第10実施形態)
第1実施形態の変形例である第2実施形態乃至第8実施形態で説明した内容は、本実施形態にも適用できる。
【0121】
(第11実施形態)
上記の説明では、それぞれの三角形ポリゴンに関する距離計測のオフセット度を各三角形ポリゴンの重心位置で評価している。しかし、誤差の評価に用いる点の位置はこれに限るものではない。また、評価に用いる点の数も1点に限らず、複数の点であってもよい。このとき、複数の点で算出されたオフセット度を平均するなどして、三角形ポリゴン1つにつき1つのオフセット度を算出してもよい。あるいは、1つの三角形ポリゴンを複数の小領域に分割し、それぞれの小領域についてオフセット度を算出して、小領域ごとにサンプル数を決定してもよい。
【0122】
(第12実施形態)
上記の説明では、2次反射したスポット光による誤差の大きさを推定しているが、さらに他の要因による誤差を評価してもよい。
【0123】
例えば、距離計測装置の光源以外の光源(例えば照明装置)が存在するとき、光源の位置、照射方向、及び計測対象物体の鏡面反射特性が分かれば、その光源の光によって物体表面に生ずる鏡面反射像の位置を推定できる。ここで推定された鏡面反射像および1次反射スポット像の画像上での位置関係から、距離計測値のオフセット度合いを計算できる。
【0124】
また、図9に示すように、不透明な素材の部分901および透明な素材の部分902から構成されている計測対象物体があるとする。このとき、距離計測装置を構成する光源903から照射されたスポット光は透明部分902の表面上の点905にスポットを発生させる。また、透明部分902を通って、不透明部分901と透明部分902との境界上の点906にもスポットを発生させる。このような場合も、スポット光の光路をシミュレートして画像上でのスポット間の距離を算出することで、その距離に応じたオフセット度合いを計算できる。
【0125】
上記の他、図10に示すように距離の異なる複数点が観測され、距離計測値にオフセット誤差が発生する場合がある。図10において、計測対象物体1001および計測対象物体1007は計測対象となる物体を示す。光源1002および光源1008は距離計測装置を構成するスポット光源である。撮像部1003および撮像部1009は距離計測装置を構成する撮像部である。図10(A)は、1筋のスポット光が照射される領域1004の中に存在する複数の位置に複数のスポット(1005および1006)が生じて、距離値のオフセット誤差の原因となる場合の図である。また、図10(B)は、1つの画素に異なる2つの方向のスポット光によるスポット(1011および1012)が観察されて、距離値のオフセット誤差の原因となる場合の図である。図10(A)のような場合、距離値のオフセット度合いは例えば以下の方法により算出される。すなわち、光源1002からモデルを構成する小領域の重心方向に、スポット光の走査方向に微小角度をなす2本の線分を延ばし、対象物体のモデルと交差した2点の撮像部からの距離の差をオフセット度合いとすればよい。図10(B)の場合は、同様に、撮像部1009から線分を伸ばせばよい。
【0126】
(第13実施形態)
上記の説明では、距離画像計測がスポット光方式によるものであるとしている。しかし、距離計測方式はこれに限るものではない。光切断方式など他のアクティブ方式であってもよい。また、アクティブ方式に限らず、ステレオ方式などパッシブ方式であってもよい。パッシブ方式の場合、例えば計測対象物体上に繰り返し模様があることによって2つの画像間の対応点探索を誤ることを原因として想定し、模様の繰り返し間隔に基づいて距離計測値のオフセット度を評価することができる。
【0127】
(第14実施形態)
第1実施形態および第9実施形態では、距離計測の誤差(ばらつきやオフセット)をシミュレーションによって求めた。しかし、誤差を推定する方法はこれに限るものではなく、実際に対象物体を計測した距離データに基づいて決定することができる。
【0128】
本実施形態の方法に基づく処理は、モデル上のサンプル点決定に必要なオフセット誤差データを準備するオフライン処理と、誤差データに基づいてサンプル点を決定して対象物体の位置姿勢を算出するオンライン処理とに分かれる。なお、本実施形態で想定するモデルは三角形パッチから構成されるパッチモデルとする。また、距離計測の方式は任意であるが、例えば光切断法を用いる。
【0129】
オフライン処理では、対象物体を中心位置に配置した仮想的なGeodesic sphereを想定し、その各頂点に相当する位置に配置した距離計測装置で対象物体の距離画像を撮影する。その撮影されたそれぞれの距離画像に対して、以下の(1)〜(5)の処理を行う。
【0130】
(1) 対象物体の概略の位置姿勢を推定する。その方法は第1実施形態または第9実施形態と同様である。
【0131】
(2) 距離画像の各画素に対応するモデル上の点を探索し、距離画像の画素に相当する3次元点と、対応するモデル上の点を対応点対として記憶する。
【0132】
(3) 対応点対間の距離の総和が最小となるようにモデルの位置姿勢を最適化することによって、対象物体の位置姿勢を推定する。本ステップで算出された値を対象物体の位置姿勢の真値とする。
【0133】
(4) モデルを真値の位置姿勢に配置した状態で、距離画像の各画素に対応するモデル上の点の位置から算出された距離値と、距離画像上の当該画素の距離値との差を求め、ポリゴンパッチごとに距離値の差の平均値を算出する。
【0134】
(5) Geodesic sphereの頂点ごと(距離画像ごと)に用意したモデルデータのポリゴンパッチごとに、(4)で算出された平均値を距離画像計測のオフセット誤差として登録する。
【0135】
一方、オンライン処理では、以下の(6)〜(11)の処理を行う。
【0136】
(6) 対象物体の距離画像を計測し、対象物体の概略の位置姿勢を推定する。
【0137】
(7) (6)で算出された概略位置姿勢に基づいて、(6)の距離画像撮影時の視点に最も近い頂点をGeodesic sphere上の頂点から選択する。
【0138】
(8) (7)で選択された頂点に登録されたモデルデータから各ポリゴンのオフセット誤差を読み出し、誤差値に基づいてサンプル点数を算出する(サンプル点数の決定方法の詳細は第9実施形態と同様である)。
【0139】
(9) (8)で算出されたサンプル点数に基づいて、各ポリゴンのサンプル点の位置を決定する(サンプル点位置の決定方法の詳細は第1実施形態、第9実施形態と同様である)。
【0140】
(10) (9)で位置が決定されたサンプル点と距離画像とを対応付けて、対応点対を求める(サンプル点と距離画像との対応付け方法の詳細は第1実施形態、第9実施形態と同様である)。
【0141】
(11) (10)で求められた対応点対間の距離の総和を最小化するように最適化計算して、対象物体の位置姿勢を算出する(位置姿勢算出方法の詳細は実施形態1、第9実施形態と同様である)。
【0142】
本実施形態に述べた方法によれば、対象物体を実際に距離計測したデータに基づいてサンプル点を決定することができる。その結果、シミュレーションで距離計測誤差を推定する方法に比べて誤差の推定精度が向上し、ひいては位置姿勢推定の精度を保ちながら処理速度を向上する効果が高くなる。
【0143】
なお、本発明の実施形態は上記に限らず様々な変形例が存在する。以下の第15実施形態または第16実施形態が第14実施形態の変形例である。
【0144】
(第15実施形態)
第1実施形態の変形例である第2実施形態乃至第8実施形態は、本実施形態にも適用できる。
【0145】
(第16実施形態)
上記の説明では、距離計測のオフセット誤差を実測の距離画像から推定する方法を述べたが、ばらつき誤差を推定することも可能である。具体的には、実測と真値の距離値の差について、ポリゴンパッチごとに求めた標本分散をもって、当該ポリゴンのばらつき誤差とすればよい。
【0146】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
対象物体の3次元形状を示す形状モデルが既知である当該対象物体の3次元の位置姿勢を計測する位置姿勢計測装置であって、
撮像手段により撮像された前記対象物体までの距離画像を取得する取得手段と、
前記距離画像に基づいて前記対象物体の概略位置姿勢を決定する概略位置姿勢決定手段と、
前記形状モデル上の所定領域に対応する、前記距離画像における領域の前記距離情報のばらつきの程度を示すばらつき値を算出する算出手段と、
前記ばらつき値が小さい程、サンプル点の数が少なくなるように、前記形状モデル上の所定領域ごとに当該所定領域からサンプル点をサンプリングするサンプリング手段と、
前記概略位置姿勢に基づいて、前記サンプル点と、前記距離画像上の2次元計測点を3次元座標に変換した3次元計測点とを対応付ける対応付け手段と、
各サンプル点と各3次元計測点との間の距離の総和が最小になるように前記対象物体の位置姿勢を決定する位置姿勢決定手段と、
を備えることを特徴とする位置姿勢計測装置。
【請求項2】
対象物体の3次元形状を示す形状モデルが既知である当該対象物体の3次元の位置姿勢を計測する位置姿勢計測装置であって、
撮像手段により撮像された前記対象物体までの距離画像を取得する取得手段と、
前記距離画像に基づいて前記対象物体の概略位置姿勢を決定する概略位置姿勢決定手段と、
前記形状モデル上の所定領域に対応する、前記距離画像における領域の前記距離情報に含まれる計測誤差を示すオフセット値を算出するオフセット値算出手段と、
前記オフセット値が大きい程、サンプル点の数が少なくなるように、前記形状モデル上の所定領域ごとに当該所定領域からサンプル点をサンプリングするサンプリング手段と、
前記概略位置姿勢に基づいて、前記サンプル点と、前記距離画像上の2次元計測点を3次元に変換した3次元計測点とを対応付ける対応付け手段と、
各サンプル点と各3次元計測点との間の距離の総和が最小になるように前記対象物体の位置姿勢を決定する位置姿勢決定手段と、
を備えることを特徴とする位置姿勢計測装置。
【請求項3】
前記対応付け手段は、
前記概略位置姿勢に基づいて前記対象物体を基準とした3次元座標系における前記サンプル点を前記撮像手段を基準とした3次元座標系におけるサンプル点に変換して、
前記変換されたサンプル点を前記距離画像上に投影し、
前記投影された前記距離画像上の2次元座標系の投影点に最近接する前記距離画像上の画素の2次元計測点と、当該画素に保持される距離情報とから当該画素の前記撮像手段を基準とした3次元計測点を求め、
前記概略位置姿勢に基づいて、前記撮像手段を基準とした3次元計測点を前記対象物体を基準とした3次元座標における3次元計測点に変換し、
前記サンプル点と、前記対象物体の3次元座標における3次元計測点とを対応付けることを特徴とする請求項1又は2に記載の位置姿勢計測装置。
【請求項4】
前記形状モデルの表面を構成する単位領域を選択する選択手段と、
前記形状モデル上で光源からの光が照射される1次反射点の像が前記撮像手段で観測されるか否かを判定する第1判定手段と、
前記第1判定手段により1次反射点の像が前記撮像手段で観測されると判定された場合、前記撮像手段により撮像された撮像画像上に前記1次反射点の像を2次元座標として投影する第1投影手段と、
前記1次反射点で反射された光により照射される前記形状モデルの他の表面上の2次反射点の像が前記撮像手段で観測されるか否かを判定する第2判定手段と、
前記第2判定手段により2次反射点の像が前記撮像手段で観測されると判定された場合、前記撮像画像上に前記2次反射点の像を2次元座標として投影する第2投影手段と、
前記2次反射点の前記撮像画像上における前記2次元座標と、前記光源からの光の照射方向に沿った線が前記撮像画像上に投影された投影線と、の距離が閾値未満であるか否か判別する第1判別手段と、
前記1次反射点と前記2次反射点との3次元的な距離が閾値未満であるか否か判別する第2判別手段と、をさらに備え、
前記オフセット値算出手段は、前記第1及び前記第2判別手段により共に閾値未満であると判別された場合は、前記オフセット値を、前記1次反射点の2次元座標と前記2次反射点の2次元座標との距離を、前記撮像手段の焦点距離、および、前記光源の光軸と前記撮像手段の焦点との距離、の積で除した値として算出することを特徴とする請求項2に記載の位置姿勢計測装置。
【請求項5】
対象物体の3次元形状を示す形状モデルが既知である当該対象物体の3次元の位置姿勢を計測する位置姿勢計測方法であって、
取得手段が、撮像工程で撮像された前記対象物体までの距離画像を取得する取得工程と、
概略位置姿勢決定手段が、前記距離画像に基づいて前記対象物体の概略位置姿勢を決定する概略位置姿勢決定工程と、
算出手段が、前記形状モデル上の所定領域に対応する、前記距離画像における領域の前記距離情報のばらつきの程度を示すばらつき値を算出する算出工程と、
サンプリング手段が、前記ばらつき値が小さい程、サンプル点の数が少なくなるように、前記形状モデル上の所定領域ごとに当該所定領域からサンプル点をサンプリングするサンプリング工程と、
対応付け手段が、前記概略位置姿勢に基づいて、前記サンプル点と、前記距離画像上の2次元計測点を3次元座標に変換した3次元計測点とを対応付ける対応付け工程と、
位置姿勢決定手段が、各サンプル点と各3次元計測点との間の距離の総和が最小になるように前記対象物体の位置姿勢を決定する位置姿勢決定工程と、
を有することを特徴とする位置姿勢計測方法。
【請求項6】
対象物体の3次元形状を示す形状モデルが既知である当該対象物体の3次元の位置姿勢を計測する位置姿勢計測方法であって、
取得手段が、撮像工程で撮像された前記対象物体までの距離画像を取得する取得工程と、
概略位置姿勢決定手段が、前記距離画像に基づいて前記対象物体の概略位置姿勢を決定する概略位置姿勢決定工程と、
オフセット値算出手段が、前記形状モデル上の所定領域に対応する、前記距離画像における領域の前記距離情報に含まれる計測誤差を示すオフセット値を算出するオフセット値算出工程と、
サンプリング手段が、前記オフセット値が大きい程、サンプル点の数が少なくなるように、前記形状モデル上の所定領域ごとに当該所定領域からサンプル点をサンプリングするサンプリング工程と、
対応付け手段が、前記概略位置姿勢に基づいて、前記サンプル点と、前記距離画像上の2次元計測点を3次元に変換した3次元計測点とを対応付ける対応付け工程と、
位置姿勢決定手段が、各サンプル点と各3次元計測点との間の距離の総和が最小になるように前記対象物体の位置姿勢を決定する位置姿勢決定工程と、
を有することを特徴とする位置姿勢計測方法。
【請求項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

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−179910(P2011−179910A)
【公開日】平成23年9月15日(2011.9.15)
【国際特許分類】
【出願番号】特願2010−43064(P2010−43064)
【出願日】平成22年2月26日(2010.2.26)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】