説明

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

【課題】距離画像の欠損領域(無効領域)を特徴として利用した、対象物体の3次元位置姿勢の推定を可能にすることを目的とする。
【解決手段】3次元形状が既知である対象物体の3次元の位置姿勢を計測する位置姿勢計測装置であって、対象物体までの距離情報が画素値として保持された距離画像を撮像する撮像部と、距離画像から、撮像部と対象物体との距離情報が取得できない領域である無効領域を選別する選別部と、無効領域の特徴を示す特徴量を抽出する抽出部と、距離画像を撮像した時の撮像部と対象物体との相対的な位置姿勢を示す情報と、撮像部により複数の異なる方向から撮像された距離画像ごとの特徴量とを関連付けて記憶する記憶部と、抽出部により抽出された特徴量に対応する記憶部に記憶された特徴量を求めて、当該求められた特徴量と関連付けられた位置姿勢を示す情報から対象物体の3次元の概略位置姿勢を決定するする概略位置姿勢決定部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元形状が既知である物体の位置及び姿勢を計測する位置姿勢計測装置、位置姿勢計測方法、及びプログラムに関する。
【背景技術】
【0002】
近年のロボット技術の発展に従い、従来は人間が行っていた複雑なタスクをロボットが代わりに行うようになりつつある。複雑なタスクの代表的な例として、工業製品の組立が挙げられる。ロボットが自律的に組立作業を行うためには、ハンドなどのエンドエフェクタによって部品を把持することが必要となる。ロボットハンドによって部品を把持するためには、把持の対象となる部品とロボットとの相対的な位置及び姿勢を計測し、計測結果に基づいて移動計画を策定して実際にアクチュエータを制御する必要がある。また、ロボット以外の分野においても、環境や物体に対する位置及び姿勢を計測することが必要とされている。例えば、複合現実感技術(Mixed Reality、MR)においては、現実の画像にコンピュータによって生成された仮想のオブジェクトを合成するために、位置及び姿勢の計測が必要である。ロボットの位置姿勢計測は、これまでロボットに搭載されたカメラや距離センサを用いて行われており、近年では対象物体までの距離情報が画素ごとに保持された距離画像を用いる方法が盛んになってきている。
【0003】
距離画像を用いる方法の1つとして、非特許文献1がある。この方法では、距離画像を3次元点群データに変換し、点群データに物体の3次元モデルをあてはめることにより物体の位置及び姿勢を計測する。すなわち、位置及び姿勢の概略値に基づいて、点群データの各点について3次元モデルの近傍の面を探索し、点と面との距離の和を最小化するように位置及び姿勢の最適化を繰り返すことにより位置及び姿勢を算出する。さらに、非特許文献2では、時系列で得られる距離画像をもとに、非特許文献1の方法を用いて、フレーム間での物体の位置及び姿勢の変化を推定する手法が開示されている。
【0004】
距離画像を用いる別の方法として、特許文献1がある。この方法では、対象物体の輪郭を関数表現してデータベースとして予め作成しておき、距離画像撮像装置で撮影した距離画像から求めた輪郭とデータベースに蓄積された輪郭関数との相関性を求めることで、対象物体の位置姿勢を推定する。データベースには、対象物体のCADデータを様々な姿勢で描画し、姿勢毎に輪郭を抽出して関数表現したものが蓄積されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−326314号公報
【特許文献2】特開2000−23080号公報
【特許文献3】特開平10−93817号公報
【特許文献4】特開平5−2646号公報
【非特許文献】
【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】D. A. Simon, M. Hebert, and T. Kanade, “Real-time 3-D pose estimation using a high-speed range sensor,” Proc. 1994 IEEE International Conference on Robotics and Automation (ICRA ’94), pp.2235-2241, 1994.
【非特許文献3】C.-S. Chen, Y.-P. Hung, J.-B. Cheng, “A fast automatic method for registration of partially overlapping range images”, in: International Conference on Computer Vision, Bombay, 1998, pp. 242-248.
【発明の概要】
【発明が解決しようとする課題】
【0007】
実際の距離画像では、対象物体の形状または反射特性の影響で距離値が取得できない領域(欠損領域)が発生する。このような場合、非特許文献1、非特許文献2、及び特許文献1で開示されている方法では、距離画像から得られる情報量が不足し、正しい位置姿勢が求められない場合がありうる。例えば、非特許文献1及び非特許文献2では、点群データが減少することで、点群データの各点と3次元モデルの近傍の面との対応数が減少する。対応数の減少により、正しい位置姿勢が求められないことがある。また、特許文献1では、輪郭に該当する点群データが欠如してしいる場合には、位置姿勢は求められない。
【0008】
上記の問題を解決する方法として、カラー画像を用いて距離画像を補間する方法がある(特許文献2参照)。しかし、高速な処理を要求される場面においては、この方法は処理時間の問題から適さない。一方、欠損領域は、対象物体の形状や反射特性によって異なるため、欠損領域そのものを物体固有の特徴として捉えることもできる。これを特徴として利用することで、不足した情報量を増やすこともできる。
【0009】
上記の課題に鑑み、本発明は、距離画像の欠損領域を特徴として利用した、対象物体の3次元位置姿勢の推定及び物体識別を可能にすることを目的としている。
【課題を解決するための手段】
【0010】
上記の目的を達成する本発明に係る位置姿勢計測装置は、
3次元形状が既知である対象物体の3次元の位置姿勢を計測する位置姿勢計測装置であって、
前記対象物体までの距離情報が画素値として保持された距離画像を撮像する撮像手段と、
前記距離画像から、前記撮像手段と前記対象物体との距離情報が取得できない領域である無効領域を選別する選別手段と、
前記無効領域の特徴を示す特徴量を抽出する抽出手段と、
前記距離画像を撮像した時の前記撮像手段と前記対象物体との相対的な位置姿勢を示す情報と、前記撮像手段により複数の異なる方向から撮像された前記距離画像ごとの前記特徴量とを関連付けて記憶する記憶手段と、
前記抽出手段により抽出された特徴量に対応する前記記憶手段に記憶された特徴量を求めて、
当該求められた特徴量と関連付けられた前記位置姿勢を示す情報から前記対象物体の3次元の概略位置姿勢を決定するする概略位置姿勢決定手段と、
を備えることを特徴とする。
【発明の効果】
【0011】
本発明によれば、距離画像の欠損領域を特徴として利用した、対象物体の3次元位置姿勢の推定及び物体識別が可能となる。
【図面の簡単な説明】
【0012】
【図1】(a)本発明に係る位置姿勢計測装置100の機能構成図、(b)本発明に係る処理が適用可能なコンピュータのハードウェア構成を示すブロック図。
【図2】本発明に係る全体の処理の流れを説明したフローチャート。
【図3】(a)2次元無効領域特徴データベースの構成例を示した図、(b)3次元特徴データベースの構成例を示した図。
【図4】2次元特徴データベースを生成する流れを示すフローチャート。
【図5】球面に沿った距離画像撮像装置の移動を示した図。
【図6】(a)2次元無効領域特徴を対象物体の3次元形状を表すモデル上に投影する様子を示した図、(b)参照線分と検出線分の関係の説明図。
【図7】第3実施形態に係る処理の流れを示すフローチャート。
【図8】有効領域が特徴として追加された3次元特徴データベースを示す図。
【図9】第4実施形態に係る処理の流れを示すフローチャート。
【図10】第5実施形態に係る2次元特徴モデルデータベースの構成例を示す図。
【図11】第5実施形態に係る処理の流れを示すフローチャート。
【発明を実施するための形態】
【0013】
(第1実施形態)
第1実施形態では、対象物体までの距離情報が画素値として保持された距離画像の画素値が無効になっている領域を選別する。そして、複数の視点から撮影して検出した領域特徴を視点位置ごとに記述したモデルを登録したデータベースと照合することで、物体の概略位置姿勢を推定する方法を説明する。距離画像の画素値が無効になっている領域とは、対象物体の形状または反射特性の影響で距離値が取得できない領域(欠損領域)を意味する。以下、距離画像の画素値が無効になっている領域特徴を「2次元無効領域特徴」と称する。複数の視点から撮影して検出した領域特徴(2次元無効領域特徴)を視点の位置ごとに記述したモデルを「2次元無効領域特徴モデル」と称する。2次元無効領域特徴モデルを登録したデータベースを「2次元無効領域特徴データベース」と称する。
【0014】
各2次元無効領域特徴モデルには、検出した複数の2次元無効領域と共に、撮影時の距離画像撮影装置と対象物体の相対位置姿勢が記述されている。
【0015】
図1(a)を参照して、本発明に係る位置姿勢計測装置100の機能構成図について説明する。距離画像取得部101は、対象物体を撮像して距離画像を取得する。特徴量抽出部102は、距離画像中の無効領域から2次元無効領域特徴を検出して特徴量を抽出する。無効領域とは、距離が取得できなかった計測点である。2次元無効領域特徴の特徴量として、距離画像面から無効領域、無効領域の輪郭又は重心を抽出する。位置姿勢算出部103は、物体の概略位置姿勢または位置姿勢を算出する。具体的な処理については後述する。誤差算出部104は、誤差を数値として算出する。
【0016】
図1(b)を参照して、本発明に係る処理が適用可能なコンピュータのハードウェア構成を示すブロック図について説明する。CPU111は、RAM112やROM113に格納されているプログラムやデータを用いて本コンピュータ全体の制御を行うと共に、本コンピュータが行う後述の各処理を実行する。
【0017】
RAM112は、外部記憶装置114からロードされたプログラムやデータ、I/F(インタフェース)115を介して外部から取得したデータ(本実施形態の場合には距離画像)を一時的に記憶するためのエリアを有する。さらに、RAM112は、CPU111が各種の処理を実行する際に用いるワークエリアを有する。このように、RAM112は、各種の用途に応じて適宜エリアを提供することができる。
【0018】
ROM113は、本コンピュータの設定データやブートプログラムなどを格納する。外部記憶装置114は外部記憶装置であり、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置114には、OS(オペレーティングシステム)や本コンピュータが行う後述の各処理をCPU111に実行させるためのプログラムやデータが保存されている。データには、特徴モデルが複数登録されたデータベースが含まれる。これらのプログラムやデータはCPU111による制御に従って適宜RAM112にロードされる。そしてCPU111はこのロードされたプログラムやデータを用いて処理を実行する。
【0019】
I/F(インタフェース)115は、本実施形態の場合には、距離画像撮像装置を接続するためのインタフェースや、外部のネットワーク接続するためのインターフェースとして機能するものである。距離画像撮像装置が撮像した画像は、このI/F115を介して本コンピュータのRAM112や外部記憶装置114に入力される。バス116は、上述の各部を繋ぐバスである。
【0020】
図2を参照して、本実施形態に係る全体の処理の流れを説明したフローチャートについて説明する。本処理では、検出した2次元無効領域特徴と2次元無効領域特徴データベースとを照合し、照合した2次元無効領域特徴モデルに記述されている撮影時の距離画像撮影装置と対象物体との相対位置姿勢を物体の概略位置姿勢とする。以下、詳細を説明する。
【0021】
ステップS201において、距離画像を取得する。
【0022】
ステップS202において、取得された距離画像中の無効領域から2次元無効領域特徴を検出し、特徴量を抽出する。無効領域とは、距離が取得できなかった計測点であり、画素値には無効である旨を示す値(例えば“0”など)が格納されている。2次元無効領域特徴の特徴量として、距離画像面から無効領域、無効領域の輪郭、及び重心を抽出する。無効領域及び無効領域の輪郭抽出には、2値化の輪郭抽出に用いられるラベリング手法(特許文献3)を用いることができる。
【0023】
ステップS203において、2次元無効領域特徴と2次元無効領域特徴データベースを照合することで、対象物体の初期位置姿勢とする概略位置姿勢を算出する。まず、2次元無効領域特徴データベースより、ステップS202で抽出された2次元無効領域特徴と類似する2次元無効領域特徴モデルを抽出する。そして、抽出された2次元無効領域特徴モデルに記述されている撮影時の距離画像撮影装置と対象物体の相対位置姿勢を概略位置姿勢として用いる。ステップS202で抽出された2次元無効領域特徴と類似する2次元特徴モデルを抽出する具体的な方法を、以下で説明する。
【0024】
ステップS202で抽出された複数の2次元特徴と2次元特徴モデルに記述された複数の2次元特徴について特徴間の対応を求め、その対応する特徴同士の一致度から類似度を計測する。抽出された2次元特徴と類似する2次元特徴モデルとは、距離画像を撮影したときの視点位置が近く、互いに類似した距離画像と想定される。このため、特徴間の対応は特徴間の距離が近い特徴同士となる。この対応を求めることで、個々の特徴の識別も行っている。
【0025】
重心を2次元特徴として用いる場合には、まず、ステップS202で抽出された各重心と2次元特徴モデルの各重心との距離を算出する。ステップS202で抽出された各重心に対する距離が最小となる2次元特徴モデルの重心を対応する重心とし、対応する重心間の距離の総和を求める。この処理を全2次元特徴モデルに対して行い、距離の総和が最小となるものを最も類似する2次元特徴モデルとする。
【0026】
次に、輪郭を2次元特徴として用いる場合には、まず、ステップS202で抽出された各輪郭と2次元特徴モデルの各輪郭間のハウスドルフ距離(特許文献4)を算出する。ステップS202で抽出された輪郭に対してハウスドルフ距離が最小となる2次元特徴モデルの輪郭を対応する輪郭とし、対応する輪郭間のハウスドルフ距離の総和を求める。この処理を全2次元特徴モデルに対して行い、距離の総和が最小となる2次元特徴モデルを最も類似するモデルとして抽出する。
【0027】
そして、無効領域を2次元特徴として用いる場合には、まず、ステップS202で抽出された各無効領域と2次元特徴モデルの各無効領域が重なっているか否かを判定し、両者の無効領域が重なっている領域同士を対応する無効領域とする。ステップS202で抽出された無効領域の全画素数に対する、両者の無効領域が重複している画素数の比を算出する。つまり,距離画像全体に占める無効領域の割合を算出する。この処理を全2次元特徴モデルに対して行い、この比が最大となる2次元特徴モデルを最も類似するモデルとして抽出する。ステップS203において、対象物体の概略位置姿勢の算出が完了すると、ステップS204に進む。
【0028】
ステップS204において、位置姿勢算出部103はより精度よく位置姿勢を算出する。ステップS205において、誤差算出部104は誤差を算出する。ステップS206において、ステップS205で算出された誤差が閾値未満であるか否かが判定される。誤差が閾値未満である場合(ステップS206;YES)、処理は終了する。一方、誤差が閾値未満でない場合(ステップS206;NO)、ステップS204に戻る。
【0029】
上記のステップS204からステップS205までの各処理については後の実施形態で詳述する。
【0030】
図3(a)を参照して、2次元無効領域特徴データベースの構成例について説明する。距離画像撮影時の対象物体の位置姿勢302、及び複数の2次元無効領域特徴303が登録された2次元無効領域特徴モデル301が視点(対象物体の位置姿勢)ごとに登録されている。対象物体の位置姿勢302は、距離画像撮像装置と対象物体との相対位置姿勢とする。2次元無効領域特徴303には、輪郭画素位置304、輪郭画素数305、領域内画素位置306、領域内画素数307、重心画素308が特徴量として記述されている。輪郭画素位置304は輪郭に属する画素の画素位置を示す。輪郭画素数305は輪郭に属する画素の総画素数を示す。領域内画素位置306は領域に属する画素の画素位置を示す。領域内画素数307は領域に属する画素の総画素数を示す。そして重心画素308は領域の重心画素位置を示す。図3(b)については第2実施形態で説明する。
【0031】
図4を参照して、上述の2次元特徴データベースを生成する流れを示すフローチャートについて説明する。ステップS401において、距離画像取得部101は距離画像を取得する。
【0032】
ステップS402において、特徴抽出部102は2次元無効領域特徴を複数検出し、これらの特徴量を抽出する。無効領域は、距離が取得できなかった計測点であり、画素値には無効である旨を示す値(例えば“0”など)が格納されている。2次元無効領域特徴の特徴量として、距離画像面から無効領域、無効領域の輪郭及び重心を抽出する。無効領域及び無効領域の輪郭抽出に、2値化の輪郭抽出に用いられるラベリング手法(特許文献3)を用いる点は図2のフローチャートと同様である。
【0033】
ステップS403において、ステップS402で求めた2次元無効領域特徴と、距離画像装置と対象物体の相対位置姿勢を2次元無効領域特徴モデルとし、2次元無効領域特徴データベースに追加登録する。つまり、特徴量と、位置姿勢を示す情報とが関連付けられて記憶装置等に記憶される。
【0034】
ステップS404において、データベース生成を終了する場合には、本処理を終了し、続行する場合にはステップS405へ進む。
【0035】
ステップS405において、距離画像撮像装置を図5で示した球面に沿って、または球面の半径方向に移動して、距離画像撮像装置又は対象物体の位置姿勢を変更する。その後、ステップS401へ戻る。
【0036】
これにより2次元特徴データベースが追加登録される。
【0037】
(第2実施形態)
第2実施形態では、物体の概略位置姿勢が既知であると仮定し、より精度の高い物体の位置姿勢を推定する方法を説明する。処理は大きく2つに分けられる。なお、概略位置姿勢を算出してから精度の高い位置姿勢算出処理を行ってもよい。
【0038】
第1に、2次元無効領域特徴モデルの各2次元無効領域特徴を、対象物体の3次元形状を表すモデル上の相当する領域で表した特徴に変換した特徴モデルが視点ごとに登録されたデータベースを考える。このデータベースから、物体の概略位置姿勢に近い位置姿勢で生成された3次元特徴モデルを抽出する。以下、2次元無効領域特徴モデルの各2次元無効領域特徴を、対象物体の3次元形状を表すモデル上の相当する領域で表した特徴を「3次元無効領域特徴」と称する。この3次元無効領域特徴に変換した特徴モデルを「3次元無効領域特徴モデル」と称する。そして、この3次元無効領域特徴モデルが視点ごとに登録されたデータベースを「3次元無効領域特徴モデルデータベース」と称する。第2に、抽出された3次元無効領域モデルの各無効領域特徴と、検出された各2次元無効領域特徴との対応をとることで、物体の位置姿勢を算出する。
【0039】
図3(b)を参照して、上述した3次元特徴データベースの構成例について説明する。パラメータ351は距離画像撮影装置に関するパラメータであり、例えば焦点距離、内部歪、画角等である。距離画像撮影時の対象物体の位置姿勢353、及び複数の3次元無効領域特徴354が登録された3次元無効領域特徴モデル352が視点(対象物体の位置姿勢)ごとに登録されている。対象物体の位置姿勢353は、距離画像撮像装置と対象物体との相対的な位置姿勢とする。3次元無効領域特徴354には、輪郭点位置355、輪郭点数356、領域内点位置357、領域内点数358、重心位置359が特徴量として記述されている。輪郭画素位置304は輪郭に属する画素の画素位置を示す。輪郭画素数305は輪郭に属する画素の総画素数を示す。領域内画素位置306は領域に属する画素の画素位置を示す。領域内画素位置306は領域に属する画素の総画素数を示す。そして重心画素308は領域の重心画素位置を示す。
【0040】
一方、図6(a)は、2次元無効領域特徴を対象物体の3次元形状を表すモデル上に投影する様子を示したものである。図6に示すように、視点601と距離画像602上の2次元無効領域605の各点を結ぶ線分604と3次元形状モデル603とが交差する点を求めることで3次元形状モデル上での3次元無効領域806が得られる。以下、具体的に説明する。まず、3次元特徴データベースより、ステップS203で算出された対象物体の概略位置姿勢と同じ位置姿勢で登録されている3次元特徴モデルを選択する。
【0041】
次に、3次元特徴モデルに記述されている無効領域の輪郭を、式(1)に示す関係式を用いて距離画像と同じ画像面に射影し、画像面での位置を算出する。u,vは距離画像面での画素位置、zは特徴の奥行き方向の距離、fは焦点距離、x,y,zは、特徴の3次元位置を示している。式(1)は、距離画像撮像装置に内部歪が存在しない場合を想定した関係式である。内部歪が存在する距離画像装置については、式(2)に示す関係式を用いる。式(2)のa,b,cは、画像中心、焦点距離などから得られる値、d,eは画像中心である。
【0042】
【数1】

【0043】
【数2】

【0044】
次に、3次元特徴モデルに記述された輪郭を投影した輪郭を複数の線分に分割し、各線分ごとに直線の式を算出する。以後、説明のため、3次元特徴モデルに記述された輪郭を投影した輪郭を分割して得られた線分を参照線分と称する。また、ステップS202で抽出された輪郭を分割して得られた線分を検出線分と称する。
【0045】
図6(b)は、参照線分と検出線分の関係を説明する図である。図6(b)では、画像の水平方向、垂直方向をそれぞれu軸、v軸としている。ある制御点(参照線分上のある1点)の画像上での位置を(u0,v0)と表す。また、該制御点が所属する参照線分の画像上での傾きをu軸に対する傾きをθとして表す。該参照線分の画像上での法線ベクトルは(sinθ,−cosθ)となる。また、該制御点の対応点の画像座標を(u’,v’)とする。対応点は、該参照線分に最も距離が近い検出線分と、参照線分の制御点から伸ばした法線との交点とする。ここで、点(u’,v’)を通り、傾きがθである直線上の点(u,v)は、
【0046】
【数3】

【0047】
と表せる(θは定数)。ここで、dは以下のような定数である。
【0048】
【数4】

【0049】
次に、対象物体の位置及び姿勢(以下、sとする)の微小変化と、画像上での位置姿勢の微小変化の関係式を求める。制御点の画像上での位置は計測対象物体の位置及び姿勢により変化する。また、対象物体の位置及び姿勢の自由度は6自由度である。すなわち、sは6次元ベクトルであり、対象物体の位置を表す3つの要素と、姿勢を表す3つの要素からなる。姿勢を表す3つの要素は、例えばオイラー角による表現や、方向が回転軸を表し、大きさが回転角を表す3次元ベクトルなどによって表現される。位置及び姿勢により変化する制御点の画像座標(u,v)は(u,v)の近傍で1次のテイラー展開によって以下の式(5)のように近似できる。但しΔs(i=1,2,・・・,6)はsの各成分の微小変化量を表す。
【0050】
【数5】

【0051】
次に、式(5)によって近似されるu、vを式(3)に代入して、以下の式(6)を得る。
【0052】
【数6】

【0053】
ただし、
【0054】
【数7】

【0055】
ここでrは定数とした。
【0056】
次に、すべての制御点とそれに対応する点について式(6)を求め、式(8)に示す線形連立方程式を導き出す。
【0057】
【数8】

【0058】
ここで式(8)を式(9)のように表す。
【0059】
【数9】

【0060】
式(9)の線形連立方程式の係数行列Jを算出するための偏微分係数の算出は、例えば非特許文献1に開示されている方法によって行う。
【0061】
最後に、式(9)に基づいて、行列Jの一般化逆行列(J・J)−1・Jを用いてΔsを求める。このΔsをステップS203で求めた概略位置姿勢に加算することで、ステップS204における物体の位置姿勢が算出される。
【0062】
しかしながら、上記特徴は、場合によっては誤って抽出される場合もあるため、次に述べるようなロバスト推定手法をさらに用いてもよい。一般に、誤って抽出される特徴では誤差d−rが大きくなる。そのため式(8)、式(9)に示す連立方程式に対する誤差の寄与度が大きくなり、その結果得られるΔsの精度が低下してしまう。そこで、誤差d−rが大きいデータには小さな重みを与え、誤差d−rが小さいデータには大きな重みを与える。重みは例えば式(10)に示すようなTukeyの関数により与えることができる。
【0063】
【数10】

【0064】
ここでcは定数である。なお、重みを与える関数は必ずしもTukeyの関数である必要はない。例えばHuberの関数など、誤差が 大きいデータには小さな重みを与え、誤差が小さいデータには大きな重みを与える関数であればいかなる関数であってもよい。
【0065】
各データ(エッジまたは点群データ)に対応する重みをwとする。ここで式(11)に示すように重み行列Wを定義する。
【0066】
【数11】

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

【0069】
式(12)を解くことにより以下の式(13)に示すように補正値Δsを算定できる。
【0070】
【数13】

【0071】
この誤差の小さなΔsをステップS203で求めた概略位置姿勢に加算することで、ステップS204における物体の位置姿勢がより精度よく算出される。
【0072】
次に誤差の判定手法について説明する。ステップS205において、式(14)に示すように誤差d−rの2乗和σを算出する。ここで、nは制御点数である。
【0073】
【数14】

【0074】
ステップS206において、式(14)を用いて誤差を判定する。誤差の2乗和が予め定められた閾値未満であった場合には(ステップS206;YES)、処理を終了する。一方、閾値を超えていた場合には(ステップS206;NO)、ステップS205で算出された対象物体の位置姿勢を初期位置として、ステップS204へ戻る。
【0075】
ステップS204では、無効領域の輪郭を特徴として用いた場合の位置姿勢算出方法を説明した。以下では、無効領域または重心を特徴として用いる場合について説明する。
【0076】
まず、3次元特徴データベースより、ステップS202で算出された対象物体の概略位置姿勢と同じ位置姿勢で登録されている3次元特徴モデルを抽出する。
【0077】
次に、3次元特徴モデルの無効領域の重心または無効領域内に属する各点を、式(1)または式(2)の関係式を用いて距離画像と同じ画像面に射影したときの位置を算出する。
【0078】
次に、式(15)に示すように、対象物体の位置及び姿勢(以下、sとする)の微小変化と、画像上での位置姿勢の微小変化の関係式を求める。
【0079】
【数15】

【0080】
、vは、3次元特徴モデルの各重心または領域内に属する各点を射影した点、u、vはu、vから最も距離の近いステップS202で抽出された重心または領域内に属する点とする。つまり、u−u、v−vは、3次元特徴モデルの各重心または領域内に属する各点を射影した各点と、これと最も近い距離にあるステップS202で抽出された重心または領域内に属する点との距離となる。
【0081】
次に、すべての重心または領域内の点について式(15)を求めて、式(16)を得る。
【0082】
【数16】

【0083】
∂u/∂s、∂v/∂sは、式(1)又は式(2)で表した関係式を、siで偏微分した解となる。
【0084】
次に、式(16)に対して式(8)と同様の方法を用いることで補正量Δsを求める。そして、ステップS203で求めた概略位置姿勢に補正量Δsを加算することで、物体の位置姿勢が算出される。
【0085】
ステップS203での概略位置姿勢算出は、2次元特徴及び2次元特徴データベースを用いた方法に限定しない。概略位置姿勢が求められる方法で適用可能なものであれば、何でもよい。例えば、対象物体に位置姿勢計測センサを取り付け、このセンサから得られる位置姿勢を初期値として用いてもよい。また、ステップS204以降の処理をせず、対象物体の初期位置を求めた時点で処理を終了してもよい。
【0086】
図4を参照して、上述の2次元特徴データベース及び3次元特徴データベースを生成する流れを示すフローチャートについて説明する。
【0087】
ステップS401において、距離画像を取得する。ステップS402において、距離画像が無効となる領域から特徴を抽出する。抽出方法は、距離画像中の無効となる領域をラベリング手法(特許文献3)を用いて、距離画像面での領域、輪郭を求める。また、求められた領域からその重心も求める。そして求められた無効領域、無効領域の輪郭、及び無効領域の重心を2次元特徴とする。
【0088】
ステップS403において、ステップS402で求められた2次元特徴と距離画像装置との相対位置姿勢をセットにした2次元特徴モデルを、2次元特徴データベースに追加登録する。また、2次元特徴を3次元に変換した特徴も同様に、距離画像との相対位置姿勢とセットにして、3次元特徴データベースに追加登録する。
【0089】
ステップS404において、データベース生成を終了する場合には、本処理を終了し、続行する場合にはステップS405へ進む。
【0090】
ステップS405において、距離画像撮像装置を、図5で示した球面に沿って移動する。または、図5で示した球面の半径の大きさを、半径方向に距離撮像装置の撮影可能範囲内で移動させる。距離画像装置又は対象物体の位置姿勢を変更してステップS401に戻る。
【0091】
(第3実施形態)
第3の実施形態では、無効領域から抽出した特徴に加えて距離画像の距離値が有効な領域(以下、「有効領域」と称する。)から抽出した特徴を用いて位置姿勢を求める場合を説明する。
【0092】
図7を参照して、本実施形態に係る処理の流れを示すフローチャートについて説明する。ステップS701において、距離画像を取得する。ステップS702において、距離画像中の無効領域から2次元特徴を抽出する。さらに有効領域を抽出する。2次元特徴として、距離画像面から無効領域、無効領域の輪郭及び重心を抽出する。無効領域及び無効領域の輪郭抽出には、2値化の輪郭抽出に用いられるラベリング手法(特許文献3)を用いることができる。有効領域は、距離が取得できた計測点であり、画素値には3次元位置が格納されている。
【0093】
ステップS703において、2次元特徴及び2次元特徴データベースを用いて対象物体の概略位置姿勢を算出する。算出方法は、ステップS203と同様である。
【0094】
ステップS704において、ステップS703で求められた概略位置姿勢から、有効領域、2次元特徴及び3次元特徴データベースを用いて対象物体の位置姿勢を求める。算出方法は、まず、有効領域の点群に関して、複数の距離画像の位置合わせに用いられるICP(Iterative Closest Point)の手法(非特許文献1参照)を用いて対象物体の位置姿勢を求める。
【0095】
次に、ICPによって求められた位置姿勢を概略位置姿勢とし、ステップS204と同様の方法で3次元特徴及び3次元特徴データベースを用いて対象物体の位置姿勢を算出する。さらに、これらの処理を繰り返し行っても良い。
【0096】
図8を参照して、有効領域が特徴として追加された3次元特徴データベースについて説明する。3次元特徴(有効領域)は、点の3次元位置801及び面を表すインデックス802から構成される。その他の構成は図3(b)と同様であり、同一の参照番号を用いている。
【0097】
さらにステップS705における誤差を算出する処理、ステップS706の誤差の閾値との比較処理を行ってもよい。
【0098】
(第4実施形態)
第4実施形態では、無効領域の特徴のみを用いた結果、無効領域と有効領域の両方の特徴を用いた結果、又は有効領域の特徴のみを用いた結果をそれぞれ比較することで、求められた位置姿勢の妥当性を評価する方法を説明する。
【0099】
図9を参照して、本実施形態の処理の流れを示すフローチャートについて説明する。
【0100】
ステップS901において、距離画像を取得する。ステップS902において、ステップS702と同様に、距離画像中の無効領域から2次元特徴を抽出する。さらに有効領域を抽出する。
【0101】
ステップS903において、2次元特徴及び2次元特徴データベースを用いて対象物体の概略位置姿勢を決定する。概略位置姿勢決定方法は、ステップS203と同様である。
【0102】
ステップS904において、ステップS204及びステップS704を実行し、対象物体の位置姿勢をそれぞれ算出する。またこのとき、有効領域のみを用いた位置姿勢算出も行う。つまり、合計3つの位置姿勢が算出されることになる。
【0103】
ステップS905において、ステップS904で求められた3つの位置姿勢について、それぞれ誤差を算出する。誤差の算出方法は、ステップS205と同様である。
【0104】
ステップS906において、ステップS905で求められた誤差が予め定められた閾値以内か否かを判定する。2つの位置姿勢の誤差がともに閾値内となった場合には(ステップS906;YES)、ステップS907へ進む。それ以外の場合には(ステップS906;NO)、閾値を超えた位置姿勢に関して、ステップS904に戻り、再度位置姿勢算出を実行する。
【0105】
ステップS907において、ステップS904で求められた3つの位置姿勢を互いに比較し、求められた位置姿勢の妥当性を検証する。具体的には、両者の位置姿勢の差を計算し、この差が予め定められた閾値内であるか否かを判定する。閾値の範囲以下である場合には、無効領域の特徴のみを用いて求めた位置姿勢(ステップS204を実行することで得られた位置姿勢)、無効領域と有効領域の両方の特徴を用いて求めた位置姿勢(ステップS704を実行することで得られた位置姿勢)、又は有効領域のみを用いて求めた位置姿勢の何れかを対象物体の位置姿勢とする。
【0106】
なお、3つの位置姿勢すべてを求めるのではなく、3つのうち2つの位置姿勢だけを求めて、両者を比較することにより検証してもよい。
【0107】
(第5実施形態)
第5実施形態では、物体の識別子と共に無効領域の2次元特徴が記述された2次元特徴モデルが登録されている2次元特徴モデルデータベースを用いて、物体の認識を行う場合について説明する。
【0108】
図10を参照して、本実施形態に係る2次元特徴モデルデータベースの構成例について説明する。2次元特徴モデル1001は、対象物体の識別子1002及び複数の2次元特徴1003が記述されている。2次元特徴1003は、輪郭に属する画素の画素位置を示した輪郭画素位置1004、輪郭に属する画素の総画素数を示した輪郭画素数1005、及び領域に属する画素の画素位置を示した領域内画素位置1006を備える。さらに、領域に属する画素の総画素数を示した領域内画素数1007、及び領域の重心画素位置を示した重心画素1008を備える。
【0109】
図11を参照して、本実施形態に係る処理の流れを示すフローチャートについて説明する。
【0110】
ステップS1101において、距離画像を取得する。
【0111】
ステップS1102において、ステップS202と同様に、取得された距離画像から無効領域の特徴を抽出する。
【0112】
ステップS1103において、物体を識別する。識別方法は、図10に示した2次元特徴データベースからステップS1102で抽出した特徴と類似する2次元特徴モデルを抽出して、この2次元特徴モデルに記述されている識別子から、物体を識別する。2次元特徴モデルを抽出する方法は、ステップS203で述べた方法と同様である。
【0113】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
3次元形状が既知である対象物体の3次元の位置姿勢を計測する位置姿勢計測装置であって、
前記対象物体までの距離情報が画素値として保持された距離画像を撮像する撮像手段と、
前記距離画像から、前記撮像手段と前記対象物体との距離情報が取得できない領域である無効領域を選別する選別手段と、
前記無効領域の特徴を示す特徴量を抽出する抽出手段と、
前記距離画像を撮像した時の前記撮像手段と前記対象物体との相対的な位置姿勢を示す情報と、前記撮像手段により複数の異なる方向から撮像された前記距離画像ごとの前記特徴量とを関連付けて記憶する記憶手段と、
前記抽出手段により抽出された特徴量に対応する前記記憶手段に記憶された特徴量を求めて、
当該求められた特徴量と関連付けられた前記位置姿勢を示す情報から前記対象物体の3次元の概略位置姿勢を決定するする概略位置姿勢決定手段と、
を備えることを特徴とする位置姿勢計測装置。
【請求項2】
前記特徴量は、前記距離画像における前記無効領域の位置、前記無効領域の重心の位置、又は前記無効領域の輪郭の位置の少なくとも1つを示す情報であることを特徴とする請求項1に記載の位置姿勢計測装置。
【請求項3】
前記特徴量が前記無効領域の位置を示す情報である場合、
前記概略位置姿勢決定手段は、前記抽出手段により前記距離画像から抽出された無効領域の位置及び前記記憶手段に記憶された無効領域の位置が重複する領域の距離画像全体の領域に占める割合が最大となる無効領域の位置を示す情報を求めて、
当該求められた無効領域の位置を示す情報に関連付けられた対象物体の位置姿勢を示す情報から前記対象物体の概略位置姿勢を決定することを特徴とする請求項2に記載の位置姿勢計測装置。
【請求項4】
前記特徴量が前記無効領域の重心の位置を示す情報である場合、
前記概略位置姿勢決定手段は、前記抽出手段により前記距離画像から抽出された無効領域の各重心の位置を示す情報と、前記記憶手段に記憶された無効領域の各重心の位置を示す情報とから、対応する重心間の距離の総和を算出し、
前記距離の総和が最小となる重心の位置を示す情報を求めて、
当該求められた重心の位置を示す情報に関連付けられた対象物体の位置姿勢を示す情報から前記対象物体の概略位置姿勢を決定することを特徴とする請求項2に記載の位置姿勢計測装置。
【請求項5】
前記特徴量が前記無効領域の輪郭の位置を示す情報である場合、
前記概略位置姿勢決定手段は、前記抽出手段により前記距離画像から抽出された無効領域の輪郭を示す情報と、前記記憶手段に記憶された無効領域の輪郭を示す情報とに基づいて、前記記憶手段に記憶された無効領域の輪郭の位置を示す情報に関連付けられた対象物体の位置姿勢を示す情報から前記対象物体の概略位置姿勢を決定することを特徴とする請求項2に記載の位置姿勢計測装置。
【請求項6】
前記撮像手段により撮像された距離画像における前記無効領域を、前記対象物体の3次元の形状を示す3次元形状モデル上に投影した3次元無効領域の位置、輪郭の位置、又は重心の位置の少なくとも1つを示す情報と、前記対象物体の位置姿勢を示す情報とを関連付けて登録する登録手段と、
前記概略位置姿勢決定手段により決定された前記対象物体の概略位置姿勢に対応する位置姿勢で前記登録手段に登録されている、3次元形状モデルを選択する選択手段と、
前記選択手段により選択された3次元形状モデルの3次元無効領域を前記距離画像と同じ画像面に射影する射影手段と、
前記射影手段により前記画像面に射影された無効領域と前記撮像手段により撮像された距離画像における無効領域とのそれぞれにおいて、無効領域の位置、輪郭の位置、又は重心の位置の少なくとも1つを構成する各点から、前記対象物体の前記概略位置姿勢からの変化量を算定する算定手段と、
前記概略位置姿勢と前記変化量とから前記対象物体の位置姿勢を決定する位置姿勢決定手段と、
をさらに備えることを特徴とする請求項3乃至5の何れか1項に記載の位置姿勢計測装置。
【請求項7】
3次元形状が既知である対象物体の3次元の位置姿勢を計測する位置姿勢計測方法であって、
撮像手段が、前記対象物体までの距離情報が画素値として保持された距離画像を撮像する撮像工程と、
選別手段が、前記距離画像から、前記撮像工程と前記対象物体との距離情報が取得できない領域である無効領域を選別する選別工程と、
抽出手段が、前記無効領域の特徴を示す特徴量を抽出する抽出工程と、
記憶手段が、前記距離画像を撮像した時の前記撮像工程と前記対象物体との相対的な位置姿勢を示す情報と、前記撮像工程により複数の異なる方向から撮像された前記距離画像ごとの前記特徴量とを関連付けて記憶する記憶工程と、
概略位置姿勢決定手段が、前記抽出工程により抽出された特徴量に対応する前記記憶工程で記憶された特徴量を求めて、
当該求められた特徴量と関連付けられた前記位置姿勢を示す情報から前記対象物体の3次元の概略位置姿勢を決定するする概略位置姿勢決定工程と、
を有することを特徴とする位置姿勢計測方法。
【請求項8】
請求項7に記載の位置姿勢計測方法をコンピュータに実行させるためのプログラム。

【図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

【図11】
image rotate


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