(57)【特許請求の範囲】
【請求項１】
計測対象物体の３次元形状モデルを保持するモデル保持手段と、
前記計測対象物体の３次元形状を示す情報に基づいて前記計測対象物体における距離計測用の領域を決定する決定手段と、
前記計測対象物体に対して所定の照明パターンを照射する照明手段と、
前記照明手段による照射が行なわれている状態で前記計測対象物体の画像を撮像する撮像手段と、
前記撮像された画像内における前記距離計測用の領域に対応する領域に基づいて前記撮像手段から前記計測対象物体までの距離を示す距離情報を算出する距離算出手段と、
前記撮像された画像内における前記距離計測用の領域に対応する領域以外から画像特徴を検出する検出手段と、
前記画像特徴及び前記距離情報と前記３次元形状モデルとに基づいて前記計測対象物体の位置及び姿勢を算出する位置姿勢算出手段と
を具備することを特徴とする３次元計測装置。
【請求項２】
前記検出手段は、
前記撮像された画像全体から画像特徴を検出した後、該検出した画像特徴のうち、前記距離計測用の領域に対応する領域以外から検出した画像特徴を出力し、
前記距離算出手段は、
前記撮像された画像全体から距離情報を算出した後、該算出した距離情報のうち、前記距離計測用の領域に対応する領域から算出した距離情報を出力する
ことを特徴とする請求項１記載の３次元計測装置。
【請求項３】
前記検出手段及び前記距離算出手段は、
前記撮像手段により撮像された１枚の画像に基づいて、前記画像特徴の検出及び前記距離情報の算出をそれぞれ行なう
ことを特徴とする請求項１又は２記載の３次元計測装置。
【請求項４】
計測対象物体の３次元形状モデルを保持するモデル保持手段と、
前記計測対象物体の３次元形状を示す情報に基づいて前記計測対象物体における距離計測用の領域を決定する決定手段と、
前記計測対象物体に対して所定の照明パターンを照射する照明手段と、
前記照明手段による照射が行なわれている状態で前記計測対象物体の画像を撮像する撮像手段と、
前記撮像された画像内における前記距離計測用の領域に対応する領域に基づいて前記撮像手段から前記計測対象物体までの距離を示す距離情報を算出する距離算出手段と、
前記距離情報と前記３次元形状モデルとに基づいて前記計測対象物体の位置及び姿勢を算出する位置姿勢算出手段と
を具備し、
前記撮像手段は、
複数の撮像装置から構成され、
前記距離算出手段は、
前記複数の撮像装置により撮像された複数の画像内における前記距離計測用の領域に対応する領域から前記距離情報をそれぞれ算出し、
前記位置姿勢算出手段は、
前記算出された前記距離情報のそれぞれと前記３次元形状モデルとに基づいて前記計測対象物体の位置及び姿勢を算出する
ことを特徴とする３次元計測装置。
【請求項５】
前記計測対象物体の３次元形状を示す情報は、距離センサにより取得された前記計測対象物体を含む距離画像であり、
前記決定手段は、
前記距離画像における各画素の距離情報に基づいて該距離画像を領域分割し、前記距離センサと前記撮像手段との間の相対的な位置及び姿勢を示す値を用いて当該分割された領域のいずれかを投影した投影像に基づいて前記距離計測用の領域を決定する
ことを特徴とする請求項１乃至４の何れか１項に記載の３次元計測装置。
【請求項６】
前記決定手段は、
前記分割された領域の中から所定値以上の面積を持つ領域を投影した投影像に基づいて前記距離計測用の領域を決定する
ことを特徴とする請求項５記載の３次元計測装置。
【請求項７】
前記決定手段は、
前記分割された領域の中からユーザにより指定された領域を投影した投影像に基づいて前記距離計測用の領域を決定する
ことを特徴とする請求項５記載の３次元計測装置。
【請求項８】
前記決定手段は、
前記計測対象物体において濃淡変化が小さいと推定される領域を前記距離計測用の領域に決定する
ことを特徴とする請求項１乃至４の何れか１項に記載の３次元計測装置。
【請求項９】
計測対象物体の３次元形状モデルを保持するモデル保持手段と、
前記計測対象物体の位置及び姿勢の概略値を入力する入力手段と、
前記入力手段により入力された概略値を用いて前記３次元形状モデルを投影し、その投影像に基づいて前記計測対象物体における距離計測用の領域を決定する決定手段と、
前記決定手段により決定された領域に対して所定の照明パターンを照射する照明手段と、
前記照明手段による照射が行なわれている状態で前記計測対象物体の画像を撮像する撮像手段と、
前記撮像された画像内における前記距離計測用の領域に対応する領域に基づいて前記撮像手段から前記計測対象物体までの距離を示す距離情報を算出する距離算出手段と、
前記撮像された画像内における前記距離計測用の領域に対応する領域以外から画像特徴を検出する検出手段と
前記画像特徴及び前記距離情報と前記３次元形状モデルとに基づいて前記計測対象物体の位置及び姿勢を算出する位置姿勢算出手段と
を具備することを特徴とする３次元計測装置。
【請求項１０】
計測対象物体の３次元形状モデルを保持するモデル保持手段と、
前記計測対象物体の位置及び姿勢の概略値を入力する入力手段と、
前記入力手段により入力された概略値を用いて前記３次元形状モデルを投影し、その投影像に基づいて前記計測対象物体における距離計測用の領域を決定する決定手段と、
前記決定手段により決定された領域に対して所定の照明パターンを照射する照明手段と、
前記照明手段による照射が行なわれている状態で前記計測対象物体の画像を撮像する複数の撮像手段と、
前記撮像された複数の画像内における前記距離計測用の領域に対応する領域に基づいて前記撮像手段から前記計測対象物体までの距離を示す距離情報をそれぞれ算出する距離算出手段と、
前記複数の画像からそれぞれ算出された前記距離情報と前記３次元形状モデルとに基づいて前記計測対象物体の位置及び姿勢を算出する位置姿勢算出手段と
を具備することを特徴とする３次元計測装置。
【請求項１１】
計測対象物体の３次元形状モデルを保持するモデル保持手段と、
前記計測対象物体の位置及び姿勢の概略値を入力する入力手段と、
前記入力手段により入力された概略値を用いて前記３次元形状モデルを投影し、その投影像に基づいて前記計測対象物体における距離計測用の領域を決定する決定手段と、
前記計測対象物体に向けて所定の照明パターンを照射する照明手段と、
前記照明手段による照射が行なわれている状態で前記計測対象物体の画像を撮像する撮像手段と、
前記撮像された画像内における前記距離計測用の領域に対応する領域に基づいて前記撮像手段から前記計測対象物体までの距離を示す距離情報を算出するとともに、前記決定手段による決定結果に基づいて当該算出した距離情報を出力する距離算出手段と、
前記撮像された画像に基づいて前記計測対象物体の画像特徴を検出するとともに、前記決定手段による決定結果に基づいて当該検出した画像特徴を出力する検出手段と、
前記画像特徴及び前記距離情報と前記３次元形状モデルとに基づいて前記計測対象物体の位置及び姿勢を算出する位置姿勢算出手段と
を具備することを特徴とする３次元計測装置。
【請求項１２】
計測対象物体の３次元形状モデルを保持するモデル保持手段と、
距離センサにより取得された前記計測対象物体を含む距離画像に基づいて前記計測対象物体における距離計測用の領域を決定する決定手段と、
前記決定手段により決定された領域に対して所定の照明パターンを照射する照明手段と、
前記照明手段による照射が行なわれている状態で前記計測対象物体の画像を撮像する撮像手段と、
前記撮像された画像内における前記距離計測用の領域に対応する領域に基づいて前記撮像手段から前記計測対象物体までの距離を示す距離情報を算出する距離算出手段と、
前記撮像された画像内における前記距離計測用の領域に対応する領域以外から画像特徴を検出する検出手段と
前記画像特徴及び前記距離情報と前記３次元形状モデルとに基づいて前記計測対象物体の位置及び姿勢を算出する位置姿勢算出手段と
を具備し、
前記決定手段は、
前記距離画像における各画素の距離情報に基づいて該距離画像を領域分割し、前記距離センサと前記撮像手段との間の相対的な位置及び姿勢を示す値を用いて当該分割された領域のいずれかを投影した投影像に基づいて前記距離計測用の領域を決定する
ことを特徴とする３次元計測装置。
【請求項１３】
計測対象物体の３次元形状モデルを用いて該計測対象物体の位置及び姿勢を計測する３次元計測装置の計測方法であって、
決定手段が、前記計測対象物体の３次元形状を示す情報に基づいて前記計測対象物体における距離計測用の領域を決定する工程と、
照明手段が、前記計測対象物体に対して所定の照明パターンを照射する工程と、
撮像手段が、前記照明手段による照射が行なわれている状態で前記計測対象物体の画像を撮像する工程と、
距離算出手段が、前記撮像された画像内における前記距離計測用の領域に対応する領域に基づいて前記撮像手段から前記計測対象物体までの距離を示す距離情報を算出する工程と、
検出手段が、前記撮像された画像内における前記距離計測用の領域に対応する領域以外から画像特徴を検出する検出工程と、
位置姿勢算出手段が、前記画像特徴及び前記距離情報と前記３次元形状モデルとに基づいて前記計測対象物体の位置及び姿勢を算出する工程と
を含むことを特徴とする計測方法。
【請求項１４】
計測対象物体の３次元形状モデルを保持するモデル保持手段、前記計測対象物体に対して所定の照明パターンを照射する照明手段、前記照明手段による照射が行なわれている状態で前記計測対象物体の画像を撮像する撮像手段、を有するコンピュータを、
前記計測対象物体の３次元形状を示す情報に基づいて前記計測対象物体における距離計測用の領域を決定する決定手段、
前記撮像された画像内における前記距離計測用の領域に対応する領域に基づいて前記撮像手段から前記計測対象物体までの距離を示す距離情報を算出する距離算出手段、
前記撮像された画像内における前記距離計測用の領域に対応する領域以外から画像特徴を検出する検出手段、
前記画像特徴及び前記距離情報と前記３次元形状モデルとに基づいて前記計測対象物体の位置及び姿勢を算出する位置姿勢算出手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元計測装置、その計測方法及びプログラムに関する。
【背景技術】
【０００２】
近年、これまで人間が行なっていた複雑なタスクをロボットが代わりに行なうようになりつつある。複雑なタスクの代表例として、工業製品の組み立てが挙げられる。ここで、例えば、ロボットにおいて、ハンドなどのエンドエフェクタによって部品を把持する際には、部品とロボット（ハンド）との間の相対的な位置及び姿勢を計測し、その計測結果に基づいて移動計画を策定し、アクチュエータを制御する必要がある。このような位置及び姿勢の計測は、ロボットによる部品把持だけでなく、ロボットが自律移動する際の自己位置推定など様々な場面で必要とされている。
【０００３】
上述した位置及び姿勢の計測では、カメラから得られる２次元画像（濃淡画像・カラー画像）や距離センサから得られる距離画像が用いられる。非特許文献１では、物体の３次元形状モデルを線分の集合（ワイヤフレームモデル）で表し、２次元画像上で検出されるエッジに３次元の線分の投影像を当てはめることにより、物体の位置及び姿勢を計測する技術について言及されている。また、非特許文献２では、距離画像から得られる物体表面上の３次元点群に物体の３次元形状モデル（ポリゴンモデル）を当てはめることにより、物体の位置及び姿勢を計測する技術がについて言及されている。
【０００４】
距離画像を取得する方法としては、特別な照明を必要としないパッシブ計測と、計測のために特別なパターンを照射するアクティブ計測とが知られている。パッシブ計測では、一般に、２台以上のカメラによって物体を撮像し、それぞれの画像間の対応をもとに三角測量の原理に基づいて各画素の距離を算出する。アクティブ計測では、一般に、スリット光や２次元パターン光などを物体に照射し、三角測量の原理に基づいて距離の計測を行なう。また、アクティブ計測として、照射した光が物体上から反射して戻ってくるまでの時間を利用するＴｉｍｅ−ｏｆ−Ｆｌｉｇｈｔ（ＴＯＦ）方式も知られている。
【０００５】
さて、２次元画像を利用した位置及び姿勢の計測では、画像特徴と３次元形状モデルの投影像との”２次元画像上における”距離を最小化することにより計測が行なわれる。そのため、計測精度は必ずしも高いとはいえず、特に、カメラの奥行き方向の位置成分については精度が低い。一方、距離画像を利用した位置及び姿勢の計測では、３次元点群と３次元形状モデルの”３次元空間内における”距離を最小化することにより計測が行なわれる。そのため、２次元画像を利用する手法に比べて計測精度は高くなるが、物体（例えば、平面状の物体）の形状があまり特徴的でなければ、一部の自由度を精度良く計測できない。
【０００６】
そこで、２次元画像と距離画像とを相補的に利用して位置及び姿勢の計測精度を向上させることが望まれている。例えば、背景と物体との境界や面の切り替わりなど濃淡変化が激しい部分においては２次元画像上でエッジ（画像特徴）を多く検出できるため、２次元画像を用いれば良い。一方、画像特徴が検出され難い平坦な部分では距離を安定的に計測できるため、距離画像を用いれば良い。
【０００７】
このような技術に関連して、非特許文献３では、２次元画像上の特徴を奥行きが不定な３次元の点として扱い、物体の位置及び姿勢を計測する手法が開示されている。また、非特許文献４では、２次元画像から明示的な特徴検出は行なわず、２次元の濃淡画像と距離画像との勾配情報を利用して位置及び姿勢を計測する手法が開示されている。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】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.
【非特許文献２】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.
【非特許文献３】Y. Hel-Or and M. Werman, “Pose estimation by fusing noisy data of different dimensions, " IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.17, no.2, pp.195-201, 1995.
【非特許文献４】日浦，山口，佐藤，井口，“距離画像と濃淡画像の融合による任意形状物体の実時間追跡”，電子情報通信学会論文誌D-II, vol.J80-DII, no.11, pp.2904-2911, 1997.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ロボットを用いて工業製品の組み立てを行なうことにより、組み立て作業の高速化が期待されている。例えば、ベルトコンベアーによって移動している物体の位置及び姿勢を計測したり、ロボットアーム上に計測装置を設置して当該装置を移動させながら物体の位置及び姿勢を計測したりすることが求められている。
【００１０】
カメラやプロジェクターなどの単純な機器構成では、特別なパターンが照射されていない状態で撮像した画像と、距離計測用パターンが照射された状態で撮像した画像とを異なるタイミングで取得しなければならない。計測対象物体と計測装置とが相対的に静止していれば、これら２種類の画像が異なるタイミングで取得されても問題はない。
【００１１】
しかし、計測対象物体又は計測装置自体が移動している場合に、これら２種類の画像が異なるタイミングで取得されたときには、２次元画像の取得時と距離画像の取得時における計測対象物体と計測装置との間の相対的な位置関係が変わってしまう。そのため、このような場合には、物体の位置及び姿勢の計測を精度良く行なうことができない。
【００１２】
本発明は、上記課題に鑑みてなされたものであり、３次元計測装置と計測対象物体との間の位置及び姿勢の関係が高速に変化している場合であっても、装置構成を複雑化させずに、当該物体の位置及び姿勢の計測を精度良く行なえるようにした技術を提供する。
【課題を解決するための手段】
【００１３】
上記課題を解決するため、本発明の一態様による３次元計測装置は、計測対象物体の３次元形状モデルを保持するモデル保持手段と、
前記計測対象物体の３次元形状を示す情報に基づいて前記計測対象物体における距離計測用の領域を決定する決定手段と、
前記計測対象物体に対して所定の照明パターンを照射する照明手段と、
前記照明手段による照射が行なわれている状態で前記計測対象物体の画像を撮像する撮像手段と、
前記撮像された画像内における前記距離計測用の領域に対応する領域に基づいて前記撮像手段から前記計測対象物体までの距離を示す距離情報を算出する距離算出手段と、
前記撮像された画像内における前記距離計測用の領域に対応する領域以外から画像特徴を検出する検出手段と、
前記画像特徴及び前記距離情報と前記３次元形状モデルとに基づいて前記計測対象物体の位置及び姿勢を算出する位置姿勢算出手段と
を具備する。
【発明の効果】
【００１４】
本発明によれば、３次元計測装置と計測対象物体との間の位置及び姿勢の関係が高速に変化している場合であっても、装置構成を複雑化させずに、当該物体の位置及び姿勢の計測を精度良く行なえる。
【図面の簡単な説明】
【００１５】
【図１】実施形態１に係わる３次元計測装置１の構成の一例を示す図。
【図２】３次元形状モデルの定義方法の一例を説明するための図。
【図３】実施形態１に係わる３次元計測装置１の処理の流れの一例を示すフローチャート。
【図４】距離計測用の照明領域を決定する際の処理の概要を説明するための図。
【図５】計測対象物体に照明が照射される概要の一例を示す図。
【図６】エッジ検出方法の概要の一例を説明するための図。
【図７】位置姿勢算出処理の流れの一例を示すフローチャート。
【図８】線分の投影像と検出されたエッジとの関係の一例を示す図。
【図９】実施形態２に係わる３次元計測装置１の構成の一例を示す図。
【図１０】実施形態２に係わる３次元計測装置１の処理の流れの一例を示すフローチャート。
【図１１】実施形態３に係わる３次元計測装置１の構成の一例を示す図。
【図１２】実施形態３に係わる３次元計測装置１の処理の流れの一例を示すフローチャート。
【図１３】実施形態４に係わる３次元計測装置１の構成の一例を示す図。
【図１４】実施形態４に係わる３次元計測装置１の処理の流れの一例を示すフローチャート。
【図１５】実施形態４に係わるユーザインターフェースの一例を示す図。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施の形態について添付図面を参照して詳細に説明する。
【００１７】
（実施形態１）
図１は、本発明の一実施の形態に係わる３次元計測装置１の構成の一例を示す図である。
【００１８】
３次元計測装置１は、３次元形状モデル保持部１１０と、概略値入力部１２０と、照明領域決定部１３０と、照明部１４０と、撮像部１５０と、画像特徴検出部１６０と、距離算出部１７０と、位置姿勢算出部１８０とを具備して構成される。
【００１９】
３次元形状モデル保持部１１０は、３次元情報（本実施形態においては、物体の位置及び姿勢）の計測対象となる物体（以下、計測対象物体、又は単に物体と呼ぶ場合もある）の３次元形状モデルデータ（以下、３次元形状モデルと呼ぶ）を保持する。
【００２０】
ここで、図２を用いて、本実施形態に係わる３次元形状モデルの定義方法の一例について説明する。３次元形状モデルは、点の集合や各点を結んで構成される面の情報、面を構成する線分の情報によって定義される。本実施形態に係わる３次元形状モデルは、図２（ａ）に示すように、計測対象物体１０を示す点Ｐ１〜点Ｐ１４の１４点から構成される。点Ｐ１〜点Ｐ１４は、図２（ｃ）に示すように、３次元座標値により表される。また、本実施形態に係わる３次元形状モデルは、図２（ｂ）に示すように、線分Ｌ１〜Ｌ１６により構成されている。線分Ｌ１〜Ｌ１６は、図２（ｄ）に示すように、線分を構成する点のＩＤ（識別子）により表される。なお、ここでは図示を省略するが、３次元形状モデルは、面の情報も保持する。各面は、各面を構成する点のＩＤにより表される。３次元形状モデルは、照明領域の決定処理や、物体（計測対象物体１０）の位置及び姿勢の計測処理に用いられる。
【００２１】
概略値入力部１２０は、３次元計測装置１に対する物体の位置及び姿勢の概略情報（以下、概略値と呼ぶ）を入力する。本実施形態において、３次元計測装置１に対する物体の位置及び姿勢とは、撮像部１５０を基準とした物体の位置及び姿勢を示すが、必ずしも撮像部１５０を基準にする必要はない。例えば、撮像部１５０の座標系に対する物体の相対的な位置及び姿勢が既知であり、且つその位置及び姿勢が変化しないのであれば、３次元計測装置１におけるその他の部分を基準としても良い。また、本実施形態においては、物体の位置及び姿勢の概略値として、３次元計測装置１が当該物体から過去（例えば、直前）に計測した計測値を用いる。物体の位置及び姿勢の概略値は、必ずしもこのような値である必要はない。例えば、過去に計測した物体の位置及び姿勢の計測値に対して時系列フィルタリング処理（例えば、線形フィルタ、カルマンフィルタ）を実施し、物体の運動速度や角速度を推定する。そして、その推定結果に基づいて物体の位置及び姿勢を予測した値を概略値としても良い。また、センサから得られる物体の位置及び姿勢を概略値としても良い。ここで、センサは、物体の位置及び姿勢を６自由度で計測できればよく、その方式（例えば、磁気式、光学式、超音波式）は、特に問わない。なお、物体の置かれているおおよその位置や姿勢が予め分かっているのであれば、その値を概略値として用いても良い。物体の位置及び姿勢の概略値は、照明領域の決定処理や、物体の位置及び姿勢の計測処理に用いられる。
【００２２】
照明領域決定部１３０は、物体との距離を測るため、物体に向けて照明を（局所的に）照射する照明領域（以下、距離計測用の領域と呼ぶ場合もある）を決定する。具体的には、概略値入力部１２０により入力された計測対象物体の位置及び姿勢の概略値を用いて、３次元形状モデル保持部１１０により保持された計測対象物体の３次元形状モデルを投影する。そして、その投影像に基づいて照明領域（本実施形態においては、領域の単位は画素を指す）を決定する。距離計測用の照明は、例えば、撮像部１５０により撮像される画像内において、濃淡変化が小さく、画像特徴（例えば、エッジ）が検出され難い領域に対して行なわれる。
【００２３】
照明部１４０は、照明領域決定部１３０により決定された照明領域（距離計測用の領域）に向けて所定の照明パターン（構造化光）を照射する。照明部１４０による照明は、照明装置を用いて行なわれる。照明装置は、局所的な照明が行なえるとともに、その照明パターンを変更できればよく、照明装置としては、例えば、液晶プロジェクタが挙げられる。液晶プロジェクタでは、照明パターンの表示色を画素単位で制御することができる。液晶プロジェクタの内部パラメータ（例えば、焦点距離、主点位置、レンズ歪み）は、予め校正しておけば良い。なお、照明装置は、液晶プロジェクタに限られず、例えば、ＤＭＤ（デジタルミラーデバイス）や、ＬＣＯＳを用いたプロジェクタであっても良い。
【００２４】
撮像部１５０は、計測対象物体から画像特徴検出用の画像と距離計測用の画像とを１枚の画像として同時に撮像する。この場合、計測対象物体と３次元計測装置１との間の位置及び姿勢の関係が高速に変化している場合であっても、その物体の３次元情報の計測を高精度に行なえる。撮像部１５０による撮像は、距離計測を行なう領域に対しては、照明部１４０により局所的に照明が行なわれた状態で行なわれる。なお、撮像部１５０の内部パラメータ（例えば、焦点距離、主点位置、レンズ歪み）は、例えば、上述した液晶プロジェクタの内部パラメータ同様に予め校正しておけば良い。また、撮像部１５０と照明部１４０との間の相対的な位置及び姿勢を示す値についても予め校正しておけば良い。これにより、撮像部１５０により撮像された画像上の構造化光を用いて三角測量を行なうことができる。
【００２５】
画像特徴検出部１６０は、撮像部１５０により撮像された画像から計測対象物体を示す画像特徴を検出する。画像特徴検出部１６０による画像特徴の検出は、画像内における距離計測用の領域から行なわれる。なお、本実施形態においては、画像特徴としてエッジを検出する。
【００２６】
距離算出部１７０は、撮像部１５０の視点位置から計測対象物体までの距離（距離情報）を算出（計測）する。距離の算出は、撮像部１５０により撮像された画像内の所定領域（距離計測用の領域）に基づいて行なわれる。撮像部１５０の視点位置から計測対象物体までの距離は、例えば、距離計測用の領域内に位置する画素に対して三角測量を実施することにより算出する。なお、三角測量では、例えば、撮像部１５０及び照明部１４０の内部パラメータと、撮像部１５０と照明部１４０との間の相対的な位置及び姿勢を示す値とに基づいて計算処理が実施される。
【００２７】
位置姿勢算出部１８０は、位置姿勢算出処理を実施し、計測対象物体に係わる３次元情報（すなわち、計測対象物体の位置及び姿勢）を算出（計測）する。この３次元情報の計測は、例えば、画像特徴検出部１６０により検出された画像特徴と、距離算出部１７０により計測された距離情報とに基づいて行なわれる。
【００２８】
以上が、３次元計測装置１の構成の一例についての説明である。なお、３次元計測装置１には、コンピュータが内蔵されている。コンピュータには、ＣＰＵ等の主制御手段、ＲＯＭ(Read Only Memory)、ＲＡＭ(Random Access Memory)、ＨＤＤ（Hard Disk Drive）等の記憶手段が具備される。また、コンピュータにはその他、ボタンやディスプレイ又はタッチパネル等の入出力手段、ネットワークカード等の通信手段等も具備されていても良い。なお、これら各構成部は、バス等により接続され、主制御手段が記憶手段に記憶されたプログラムを実行することで制御される。
【００２９】
ここで、図３を用いて、図１に示す３次元計測装置１により計測対象物体の位置及び姿勢を計測する際の処理の流れの一例について説明する。
【００３０】
（Ｓ１０１０）
３次元計測装置１は、概略値入力部１２０において、計測対象物体に係わる３次元情報の概略情報（すなわち、３次元計測装置１に対する物体の位置及び姿勢の概略値）を入力する。本実施形態においては、上述した通り、物体の位置及び姿勢の概略値として、３次元計測装置１が当該物体から過去（例えば、直前）に計測した計測値を用いる。
【００３１】
（Ｓ１０２０）
３次元計測装置１は、照明領域決定部１３０において、照明領域（距離計測用の領域）を決定する。上述した通り、照明領域は、計測対象物体の３次元形状モデルと、計測対象物体の位置及び姿勢の概略値とに基づいて決められる。また、上述した通り、距離計測用の照明は、濃淡変化が小さく、画像特徴（エッジ）が検出され難い領域に対して行なわれる。
【００３２】
ここで、照明領域決定部１３０による距離計測用の領域の決定処理について説明する。距離計測用の領域の決定に際しては、計測対象物体の面を画像上に描画（投影）し、その背景部分と物体部分とを切り分ける。この描画は、例えば、撮像部１５０の内部パラメータと、計測対象物体の位置及び姿勢の概略値とに基づいて行なわれる。
【００３３】
ここで、照明領域決定部１３０は、まず、撮像部１５０が撮像する画像と同一サイズのマスク画像を用意し、そのマスク画像の全ての画素の値を０で初期化する。次に、照明領域決定部１３０は、グラフィックスハードウェアを用いて、計測対象物体の位置及び姿勢の概略値に基づいて当該物体の３次元形状モデルの画像（３次元形状モデル画像）を描画する。このとき、３次元形状モデル画像内の背景は、黒く描画し、また、物体の面は、白く描画する（図４（ａ））。そして、その描画した画像内における白い画素については、マスク画像の値を１に書き換える。また、照明領域決定部１３０は、グラフィックスハードウェアを用いて、３次元形状モデル画像内の物体の線分を黒く描画する（図４（ｂ））。ここで、照明領域決定部１３０は、３次元形状モデル画像内において黒く、また、その対応するマスク画像における値が１である画素について、マスク画像の値を０に書き換える。
【００３４】
最後に、照明領域決定部１３０は、マスク画像において値が１となる所定の画素の値を０に書き換える。具体的には、マスク画像において、画素の値が０となる画素の近傍（所定範囲内）にあり、その値が１となる画素の値を１から０に書き換える（図４（ｃ））。
【００３５】
ここで、照明領域決定部１３０は、上述した処理により得られたマスク画像内で１の値を持つ画素を照明領域（すなわち、距離計測用の領域）に決定する。なお、撮像部１５０と照明部１４０との間の相対的な位置及び姿勢には、オフセットがある。そのため、両者の幾何学的関係を用いて、撮像部１５０により撮像された画像内における各画素の位置を、照明部１４０による照明パターンにおける各画素の位置に変換する必要がある。具体的には、照明領域決定部１３０は、グラフィックスハードウェアを用いて、計測対象物体をＺバッファ上に描画する。そして、マスク画像の値が１である画素の（撮像部１５０を基準とした）３次元座標値を、当該画素の座標とＺバッファとの値を用いて算出する。その後、照明領域決定部１３０は、撮像部１５０と照明部１４０との間の相対的な位置及び姿勢を示す値と、照明部１４０の内部パラメータとに基づいて、当該求めた３次元座標値を照明パターンの座標（距離計測用の領域を示す座標）に変換する。
【００３６】
なお、ここでは、グラフィックスハードウェアを用いて３次元形状モデルの投影像（線分及び面）を描画する場合について説明したが、これに限られず、ＣＰＵ等により描画を行なっても良い。
【００３７】
（Ｓ１０３０）
３次元計測装置１は、照明部１４０において、Ｓ１０２０のマスク処理において決定された距離計測用の領域に対して所定の照明パターン（構造化光）を局所的に照射する。上述した通り、この照明は、液晶プロジェクタ等の照明装置を制御することにより行なわれる。この処理では、図５に示すように、距離計測用の領域（画素単位）に構造化光（この場合、マルチスリット光）が照射される。すなわち、画面全体ではなく、Ｓ１０２０のマスク処理により決定された領域（距離計測用の領域）のみに照射が行なわれる。
【００３８】
なお、本実施形態においては、構造化光としてマルチスリット光を用いる場合を例に挙げて説明するが、構造化光は、これに限られず、複数回の撮像を必要としないのであれば、他の手段を用いても良い。距離計測用の照明が照射されない領域（すなわち、画像特徴検出用の領域）は、環境光により十分な明るさが得られればよく、特別な光を照射する必要はない。環境光により十分な明るさが得られないのであれば、例えば、均一な白色光が照射されるように照明パターンを変更すれば良い。
【００３９】
（Ｓ１０４０）
３次元計測装置１は、撮像部１５０において、計測対象物体の画像を撮像する。上述した通り、この撮像では、画像特徴検出用の画像と距離計測用の画像とが１枚の画像として同時に撮像される。なお、この撮像は、距離計測を行なう領域に対して局所的に照明が行なわれた状態で行なわれる。
【００４０】
（Ｓ１０５０）
３次元計測装置１は、画像特徴検出部１６０において、撮像部１５０により撮像された画像から画像特徴の検出を行なう。本実施形態においては、上述した通り、画像特徴としてエッジを検出する。例えば、非特許文献１に開示された技術を用いてエッジの検出を行なう。ここで、図６を用いて、本実施形態に係わるエッジ検出方法の概要の一例について説明する。エッジ検出では、まず、撮像された計測対象物体の画像に対して投影する投影像（線分）を求める。投影像は、Ｓ１０１０で入力された計測対象物体の位置及び姿勢の概略値に基づいて求められる。次に、投影された各線分上において、等間隔に制御点を設定する。そして、投影された線分の法線方向に平行で且つ制御点を通過する線分（以下、探索ライン）上からエッジを１次元探索する（図６（ａ））。エッジは、画素値の濃度勾配の極値となる（図６（ｂ））。場合によっては、探索ライン上から複数のエッジが検出されることがある。この場合、本実施形態においては、「L. Vacchetti, V. Lepetit, and P. Fua, "Combining edge and texture information for real-time accurate 3D camera tracking," Proc. ISMAR04, pp.48-57, 2004」に開示された技術を用いる。すなわち、この文献に開示された方法を用いて複数検出されたエッジを仮説として保持する。このようにして各制御点に対応したエッジを探索し、後述するＳ１０７０における処理において、３次元の線分をエッジにあてはめる。なお、各制御点の画像を１画素単位で量子化した座標が、距離計測用の領域（画素）に相当する場合、該当する画素のエッジ検出は行なわない。
【００４１】
（Ｓ１０６０）
３次元計測装置１は、距離算出部１７０において、撮像部１５０により撮像された画像に基づいて距離を算出（計測）する。具体的には、距離計測用の領域（画素）に基づいて距離を算出する。距離は、上述した通り、三角測量により算出される。距離の算出に際しては、照明部１４０により照射された領域（画像における画素の位置）と、撮像部１５０により撮像された画像上における当該領域に対応する位置とが用いられる。また、これ以外にも、照明部１４０及び撮像部１５０の内部パラメータや、撮像部１５０と照明部１４０との間の相対的な位置及び姿勢を示す値も用いられる。
【００４２】
距離算出部１７０では、距離計測を行なった後、撮像された画像内における計測対象物体を、撮像部１５０の座標系で３次元座標値を持つ点群データに変換する。３次元座標値は、撮像された画像内の計測対象物体における各点の位置に対応する視線ベクトルに距離情報を乗算することにより算出される。
【００４３】
（Ｓ１０７０）
３次元計測装置１は、位置姿勢算出部１８０において、計測対象物体に係わる３次元情報（３次元計測装置１に対する計測対象物体の位置及び姿勢）を算出（計測）する。
【００４４】
次に、図７を用いて、図３のＳ１０７０における位置姿勢算出処理について詳述する。この処理では、ガウス−ニュートン（Gauss-Newton）法により反復演算し、計測対象物体の位置及び姿勢（以下、ｓで表す）の概略値を補正する。これにより、計測対象物体の位置及び姿勢を算出する。なお、位置姿勢算出処理は、ガウス−ニュートン法に限られない。例えば、より計算がロバストであるＬｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法を用いてもよいし、よりシンプルな方法である最急降下法を用いても良い。また、共役勾配法やＩＣＣＧ法など、他の非線形最適化計算手法を用いても良い。
【００４５】
ここでは、検出されたエッジと投影される３次元形状モデルの線分との間の画像上（２次元平面上）での距離、点群データを構成する点と投影される３次元形状モデルの面との間の撮像部１５０の座標系（三次元空間中）での距離、の総和（２乗和）を最小化する。これにより、計測対象物体に対する位置及び姿勢を最適化する。より具体的には、１次のテイラー展開により、２次元画像上での点及び直線の符号付距離と、３次元空間中での点及び平面の符号付距離とをそれぞれ、物体の位置及び姿勢の微小変化を示す１次関数として表現する。そして、符号付距離が０になるような位置及び姿勢の微小変化に係わる線形の連立方程式を立式して解く。これにより、物体の位置及び姿勢の微小変化を求め、この値を補正する処理を繰り返す。
【００４６】
（Ｓ１２１０）
３次元計測装置１は、位置姿勢算出部１８０において、まず、初期化処理を行なう。この初期化処理では、例えば、図３のＳ１０１０で得られた計測対象物体の位置及び姿勢の概略値を入力する。
【００４７】
（Ｓ１２２０）
３次元計測装置１は、位置姿勢算出部１８０において、エッジ及び点群データと、３次元形状モデルとを対応付けする。この処理では、まず、Ｓ１２１０で得られた計測対象物体の位置及び姿勢の概略値に基づいて３次元形状モデルの各線分を画像へ投影し、投影された３次元形状モデルの各面を撮像部１５０の座標系へ座標変換する。そして、エッジ及び点群データと、３次元形状モデルとを対応付けする。エッジが、各制御点に対応して複数検出された場合には、複数検出されたエッジのうち、投影された線分に対して画像上で最も近いエッジを制御点に対応付ける。この対応付けは、Ｓ１２１０で得られた計測対象物体の位置及び姿勢の概略値に基づいて行なう。また、点群データについては、撮像部１５０の座標系における各点の３次元座標に基づいて３次元形状モデル中の最も近接する面を探索し対応付ける。
【００４８】
（Ｓ１２３０）
３次元計測装置１は、位置姿勢算出部１８０において、線形連立方程式を解くための係数行列と誤差ベクトルとを算出する。ここで、係数行列の各要素は、Ｓ１２１０で得られた概略値の微小変化に対する一次の偏微分係数である。エッジについては、画像座標の偏微分係数を算出し、点群データについては、３次元座標の偏微分係数を算出する。また、エッジの誤差ベクトルは、投影された線分と検出されたエッジとの間の２次元平面上（画像）での距離であり、点群データの誤差ベクトルは、点群データを構成する点と３次元形状モデルの面との３次元空間中での距離である。
【００４９】
ここで、図８は、線分の投影像と検出されたエッジとの関係の一例を示す図である。この場合、画像の水平方向をｕ軸とし、垂直方向をｖ軸としている。ある制御点（投影された各線分を画像上で等間隔に分割した点）の画像上での位置を（ｕ０，ｖ０）と表し、当該制御点が属する線分Ｌの画像上での傾きを（ｕ軸に対する傾き）θと表す。傾きθは、線分Ｌの両端の３次元座標をｓに基づいて画像上に投影し、画像上での両端の座標を結んだ直線の傾きとして算出する。線分Ｌの画像上での法線ベクトルは（ｓｉｎθ，−ｃｏｓθ）となる。また、制御点と対応する点の座標を（ｕ’，ｖ’）とする。ここで、点（ｕ’，ｖ’）を通り、傾きがθである直線上の点（ｕ，ｖ）は、
0005567908.tif 000002
【００５０】
制御点の画像上での位置は、計測対象物体の位置及び姿勢により変化する。計測対象物体の位置及び姿勢は、６自由度である。すなわち、ｓは６次元ベクトルであり、計測対象物体の位置を表す３つの要素と、姿勢を表す３つの要素とからなる。姿勢を表す３つの要素は、例えば、オイラー角による表現や、方向が回転軸を表し大きさが回転角を表す３次元ベクトルなどによって表現される。制御点の座標（ｕ，ｖ）は、（ｕ０，ｖ０）の近傍で１次のテイラー展開によって「数２」のように近似できる。但し、Δｓｉ（ｉ＝１，２，・・・，６）は、ｓの各成分の微小変化を表す。
0005567908.tif 000003
【００５１】
正しいｓによって得られる画像上での制御点の位置は、「数１」が表す直線上にあると仮定できる。「数２」によって近似されるｕ、ｖを「数１」に代入することにより、「数３」が得られる。
0005567908.tif 000004
【００５２】
撮像部１５０の座標系における３次元座標は、計測対象物体の位置及び姿勢ｓによって計測対象物体の座標系における３次元座標（ｘ，ｙ，ｚ）に変換することができる。Ｓ１２１０で得た概略値により、ある点が計測対象物体の座標系の点（ｘ０，ｙ０，ｚ０）に変換されるとする。（ｘ，ｙ，ｚ）は、計測対象物体の位置及び姿勢により変化するため、（ｘ０，ｙ０，ｚ０）の近傍で１次のテイラー展開によって「数４」のように近似できる。
0005567908.tif 000005
【００５３】
Ｓ１２２０において、点群データ中のある点に対応付けられた３次元形状モデルの面の計測対象物体の座標系における方程式を「ａｘ＋ｂｙ＋ｃｚ＝ｅ（ａ２＋ｂ２＋ｃ２＝１、ａ，ｂ，ｃ，ｅは定数）」とする。正しいｓによって変換された（ｘ，ｙ，ｚ）は、平面の方程式「ａｘ＋ｂｙ＋ｃｚ＝ｅ（ａ２＋ｂ２＋ｃ２＝１）」を満たすと仮定する。「数４」を平面の方程式に代入すると「数５」が得られる。
0005567908.tif 000006
【００５４】
「数３」は、Ｓ１２２０で対応付けが行なわれた全てのエッジについて成り立つ。また、「数５」は、Ｓ１２２０で対応付けが行なわれた全ての点群データについて成り立つ。そのため、「数６」のようなΔｓｉに係わる線形連立方程式が成り立つ。
0005567908.tif 000007
【００５５】
ここで、「数６」を「数７」のように表す。
0005567908.tif 000008
【００５６】
「数６」の線形連立方程式の係数行列Ｊを算出するための偏微分係数の算出は、例えば、非特許文献１に開示された技術を用いて行なう。
【００５７】
（Ｓ１２４０）
「数７」をもとに、行列Ｊの一般化逆行列（ＪＴ・Ｊ）−１・ＪＴを用いて補正値Δｓを求める。ここで、エッジや点群データには、誤検出などによる外れ値が多いため、次に述べるようなロバスト推定手法を用いる。一般に、外れ値であるエッジ（又は点群データ）では、誤差ｄ−ｒ（ｅ−ｑ）が大きくなる。そのため、「数６」、「数７」の連立方程式に対する寄与度が大きくなり、その結果得られるΔｓの精度が低下してしまう。そこで、誤差ｄ−ｒ（ｅ−ｑ）が大きいデータに対しては小さな重みを与え、誤差ｄ−ｒ（ｅ−ｑ）が小さいデータに対しては大きな重みを与える。重みは、例えば、「数８」に示すようなＴｕｋｅｙの関数により与える。
0005567908.tif 000009
ｃ１、ｃ２は、定数である。なお、重みを与える関数は、Ｔｕｋｅｙの関数である必要はなく、誤差の大きいデータに対して小さな重みを与え、誤差小さいデータに対して大きな重みを与える関数であれば特に問わない。そのため、例えば、Ｈｕｂｅｒの関数などを用いても良い。
【００５８】
各データ（エッジ又は点群データ）に対応する重みをｗｉとする。ここで、「数９」のように重み行列Ｗを定義する。
0005567908.tif 000010
【００５９】
重み行列Ｗは、対角成分以外は全て０の正方行列であり、対角成分には重みｗｉが入る。この重み行列Ｗを用いて、「数７」を「数１０」のように変形する。
0005567908.tif 000011
【００６０】
「数１１」のように「数１０」を解くことにより補正値Δｓを求める。
0005567908.tif 000012
（Ｓ１２５０）
３次元計測装置１は、Ｓ１２４０で算出された補正値Δｓにより、Ｓ１２１０で得た概略値を補正する。これにより、計測対象物体の位置及び姿勢を算出する。
【００６１】
（Ｓ１２６０）
３次元計測装置１は、収束しているか否かの判定を行なう。収束していれば、この処理は終了し、そうでなければ、再度、Ｓ１２２０の処理に戻る。なお、収束しているか否かは、補正値Δｓがほぼ０である場合や、誤差ベクトルの二乗和の補正前と補正後の差がほぼ０である場合に収束したと判定する。
【００６２】
以上説明したように実施形態１によれば、計測対象物体の位置及び姿勢の概略値と、計測対象物体の３次元形状モデルとに基づいて局所的に照明を照射し、その状態で計測対象物体を撮像する。そして、その撮像された画像に対して画像特徴の検出と距離情報の検出とを実施し、その結果に基づいて計測対象物体に係わる３次元情報を算出する。すなわち、画像特徴検出用の画像（２次元画像）と距離計測用の画像（３次元画像）とを相補的に利用して計測対象物体の位置及び姿勢を計測する。
【００６３】
これにより、計測対象物体の表面属性や構造に左右されず、当該物体に係わる３次元情報の計測を高精度に行なうことができる。また、３次元計測装置の構成も複雑化しない。
【００６４】
更に、画像特徴検出用の画像と距離計測用の画像とを１枚の画像として撮像するため、３次元計測装置と計測対象物体との間の位置及び姿勢の関係が高速に変化している場合であっても、当該物体に係わる３次元情報の計測を高精度に行なえる。また、計測処理の高速化も図れる。
【００６５】
なお、上述した実施形態１では、画像特徴検出用の画像と距離計測用の画像とを１枚の画像として同時に取得する場合について説明したが、画像特徴検出用の画像と距離計測用の画像とを別々に撮像しても良い。例えば、３次元計測装置と計測対象物体とが共に静止しているのであれば、それぞれが異なるタイミングで撮像された画像を用いても、上述した処理が行なえる。
【００６６】
（実施形態２）
次に、実施形態２について説明する。実施形態２においては、複数の撮像装置を用いて、計測対象物体の各部から距離情報を取得し、その距離情報に基づいて計測対象物体の位置及び姿勢の計測を行なう場合について説明する。
【００６７】
図９は、実施形態２に係わる３次元計測装置１の構成の一例を示す図である。なお、実施形態１における図１と同一の符号が付してあるものは同様の機能を有する。ここでは、実施形態１との相違点について重点的に説明する。
【００６８】
３次元計測装置１は、３次元形状モデル保持部１１０と、概略値入力部１２０と、照明領域決定部１３０と、照明部１４０と、撮像部１５０と、距離算出部１７０と、位置姿勢算出部１８０とを具備して構成される。すなわち、実施形態１の構成から画像特徴検出部１６０が除かれている。
【００６９】
ここで、撮像部１５０は、複数の撮像装置１９０から構成される。各撮像装置１９０の内部パラメータ（例えば、焦点距離、主点位置）や、各撮像装置１９０同士の幾何学的関係は、予め校正しておく。照明部１４０の内部パラメータも予め校正しておく。各撮像装置同士の幾何学的関係は、既知のパターン（例えば、格子模様の描かれた平面パターン）を撮像し、その撮像された画像の対応点をもとにＥｓｓｅｎｔｉａｌ行列を算出し、そのＥｓｓｅｎｔｉａｌ行列を位置及び姿勢に分解することにより校正すれば良い。
【００７０】
距離算出部１７０は、撮像部１５０により撮像された画像に基づいて計測対象物体における点の距離（距離情報）を算出（計測）する。距離の算出は、画像上の大多数の画素について行なっても良いし、例えば、Ｈａｒｒｉｓ検出器といった特徴点検出器により検出される特徴点のみについて行なっても良い。すなわち、複数の撮像装置の間で対応付けることができるのであれば、いかなる点を距離の算出対象としても良い。
【００７１】
位置姿勢算出部１８０は、画像特徴の検出結果を用いずに、計測対象物体の位置及び姿勢を算出（計測）する。すなわち、実施形態２においては、距離算出部１７０により算出された距離情報に基づいて計測対象物体の位置及び姿勢を算出する。具体的には、距離算出部１７０により算出された距離情報に３次元形状モデルをあてはめることにより、計測対象物体の位置及び姿勢を算出する。
【００７２】
ここで、図１０を用いて、実施形態２に係わる３次元計測装置１により計測対象物体の位置及び姿勢を計測する際の処理の流れの一例について説明する。
【００７３】
（Ｓ２０１０）
３次元計測装置１は、概略値入力部１２０において、計測対象物体に係わる３次元情報の概略値（すなわち、３次元計測装置１に対する物体の位置及び姿勢の概略値）を入力する。このＳ２０１０における処理は、実施形態１を説明した図３のＳ１０１０の処理と同様となる。
【００７４】
（Ｓ２０２０）
３次元計測装置１は、照明領域決定部１３０において、照明領域（すなわち、距離計測用の領域）を決定する。このＳ２０２０における処理は、実施形態１を説明した図３のＳ１０２０の処理と同様となる。
【００７５】
（Ｓ２０３０）
３次元計測装置１は、照明部１４０において、Ｓ２０２０で決定された距離計測用の領域に対して所定の照明パターン（構造化光）を照射する。距離計測用の照明は、例えば、撮像部１５０により撮像される画像内において、濃淡変化が小さく、画像特徴が検出され難い領域に対して行なわれる。このＳ２０３０における処理は、実施形態１を説明した図３のＳ１０３０の処理と同様となる。なお、実施形態１と同様に、距離計測用の照明が照射されない領域（すなわち、画像特徴検出用の領域）は、環境光により十分な明るさが得られればよく、特別な光を照射する必要はない。環境光により十分な明るさが得られないのであれば、例えば、均一な白色光が照射されるように照明パターンを変更すれば良い。
【００７６】
（Ｓ２０４０）
３次元計測装置１は、撮像部１５０を構成する複数の撮像装置１９０により計測対象物体の画像を撮像する。なお、この撮像は、距離計測を行なう領域に対して局所的に照明が行なわれた状態で行なわれる。
【００７７】
（Ｓ２０５０）
３次元計測装置１は、距離算出部１７０において、撮像部１５０により撮像された画像に基づいて距離（距離情報）を算出（計測）する。実施形態２においては、撮像された画像から特徴点の検出は行なわず、基準とする撮像装置１９０が撮像する画像の全画素について距離算出を行なう。距離の算出に際しては、各撮像装置１９０で撮像された画像間で各画素の対応付けが必要となる。距離計測用の領域においては、構造化光（例えば、マルチスリット光）の投影像を時系列に追跡し、画像間における各画素の対応付けを行なう。照明が照射されない領域については、例えば、エピポーラ拘束により決定されるエピポーラ線上の点に対して画素値のブロックマッチングを実施し、画像間における各画素を対応付ければ良い。なお、画像間における各画素の対応付けは、これに限られない。例えば、「E. Tola, V. Lepetit, and P. Fua, “A fast local descriptor for dense matching," Proc. CVPR'08, 2008」に開示されるような局所的な記述子を用いて対応付けを行なっても良い。また、構造化光として、マルチスリット光ではなく、例えば、ランダムドットパターンを用いるようにしても良い。この場合、時系列に追跡せずに、画像間における各画素の対応付けを行なえる。
【００７８】
（Ｓ２０６０）
３次元計測装置１は、位置姿勢算出部１８０において、計測対象物体に係わる３次元情報（３次元計測装置１に対する計測対象物体の位置及び姿勢）を算出（計測）する。ここでは、Ｓ２０５０で算出された距離情報を３次元座標値を持つ点群データに変換し、点群データに３次元形状モデルをあてはめるべく、計測対象物体の位置及び姿勢を算出する。この処理では、まず、点群データの各点に対して、３次元形状モデル中の最も近接する面を選択し、それぞれを対応付ける。そして、各点と対応する面との距離の総和が最小化するように、計測対象物体の位置及び姿勢の概略値に対して補正を繰り返し行なう。これにより、計測対象物体の位置及び姿勢を算出する。なお、Ｓ２０６０における位置姿勢算出処理は、基本的には、実施形態１を説明した図３のＳ１０７０の処理と同様となる。相違点としては、画像特徴に関する処理を行なわない点である。そのため、ここではその詳細な説明については省略する。
【００７９】
以上説明したように実施形態２によれば、画像特徴の検出処理を行なわずに、複数の撮像装置から得られる距離情報に基づいて計測対象物体に係わる３次元情報の計測を行なう。具体的には、計測対象物体中の濃淡変化の乏しい領域を照明し、計測対象物体の各部から満遍なく距離情報を取得する。これにより、実施形態１と同様に、計測対象物体の表面属性や構造に左右されず、当該物体に係わる３次元情報の計測を高精度に行なうことができる。また、３次元計測装置の構成も複雑化しない。
【００８０】
（実施形態３）
次に、実施形態３について説明する。上述した実施形態１及び２においては、距離計測用の領域に対して局所的に照明を行なう場合（照明制御）について説明した。これに対して、実施形態３においては、照明制御を行なわずに、上述した実施形態１及び２と同等の処理を行なう場合について説明する。
【００８１】
図１１は、実施形態３に係わる３次元計測装置１の構成の一例を示している。なお、実施形態１における図１と同一の符号が付してあるものは同様の機能を有する。ここでは、実施形態１との相違点について重点的に説明する。
【００８２】
３次元計測装置１は、３次元形状モデル保持部１１０と、概略値入力部１２０と、領域決定部２３０と、照明部１４０と、撮像部１５０と、画像特徴検出部１６０と、距離算出部１７０と、位置姿勢算出部１８０とを具備して構成される。すなわち、実施形態１の構成から照明領域決定部１３０が除かれ、領域決定部２３０が新たに設けられている。
【００８３】
領域決定部２３０は、距離計測に用いる領域（本実施形態においては、領域の単位は画素を指す）を決定する。この領域は、３次元形状モデル保持部１１０に保持された計測対象物体の３次元形状モデルと、概略値入力部１２０により入力された計測対象物体の位置及び姿勢の概略値とに基づき決められる。すなわち、撮像部１５０が撮像する画像内の各領域を判定し、距離計測用の領域を決定する。なお、距離計測を行なうと決められた領域以外から画像特徴の検出が行なわれることになる。
【００８４】
画像特徴検出部１６０は、撮像部１５０により撮像された画像から計測対象物体を示す画像特徴を検出する。なお、実施形態３においては、画像特徴検出部１６０は、対象となる領域を特に限定せずに画像特徴の検出を行なう。画像特徴検出部１６０により検出された画像特徴は、領域決定部２３０の決定結果に基づいて取捨選択される。
【００８５】
距離算出部１７０は、計測対象物体における一つ以上の点の距離を算出する。ここでは、構造化光（マルチスリット光）を物体に照射して撮像された画像内におけるスリットの投影像と、照明部１４０及び撮像部１５０の幾何学的関係とを用いて、スリット光が照射された領域の距離を三角測量により算出する。距離の算出は、対象となる領域を特に限定せずに行なう。距離算出部１７０により算出された距離情報は、領域決定部２３０の決定結果に基づいて取捨選択される。
【００８６】
位置姿勢算出部１８０は、計測対象物体に係わる３次元情報（すなわち、計測対象物体の位置及び姿勢）を算出する。この３次元情報の算出は、例えば、画像特徴検出部１６０により検出された画像特徴と、距離算出部１７０により算出された距離情報とに基づいて行なわれる。
【００８７】
ここで、図１２を用いて、実施形態３に係わる３次元計測装置１により計測対象物体の位置及び姿勢を計測する際の処理の流れの一例について説明する。
【００８８】
（Ｓ３０１０）
３次元計測装置１は、概略値入力部１２０において、計測対象物体に係わる３次元情報の概略値（すなわち、３次元計測装置１に対する物体の位置及び姿勢の概略値）を入力する。本実施形態においては、物体の位置及び姿勢の概略値として、３次元計測装置１が当該物体から過去（例えば、直前）に計測した計測値を用いる。
【００８９】
（Ｓ３０２０）
３次元計測装置１は、領域決定部２３０において、撮像部１５０が撮像する画像の各領域に対して距離情報に用いるか、画像特徴に用いるかを決定する。なお、この領域は、３次元形状モデル保持部１１０に保持された計測対象物体の３次元形状モデルと、概略値入力部１２０により入力された計測対象物体の位置及び姿勢の概略値とに基づいて決められる。領域の決定方法は、実施形態１を説明した図３のＳ１０２０と同様であるのでその詳細な説明については省略する。
【００９０】
（Ｓ３０３０）
３次元計測装置１は、撮像部１５０において、計測対象物体の画像を撮像する。
【００９１】
（Ｓ３０４０）
３次元計測装置１は、画像特徴検出部１６０において、撮像部１５０により撮像された画像に基づいて画像特徴の検出を行なう。ここでは、実施形態１と同様に、画像特徴としてエッジを検出する。実施形態１においては、距離計測を行なうと決定された領域（画素）に対してはエッジの検出を行なわなかったが、実施形態３においては、画像全体からエッジの検出を行なう。その点を除いては、実施形態１を説明した図３のＳ１０５０と同様であるのでその詳細な説明については省略する。なお、上述した通り、画像全体からエッジ検出を行なった後、領域決定部２３０の決定結果に基づいてその検出されたエッジの取捨選択が行なわれる。エッジの取捨選択では、各制御点の画像を１画素単位で量子化した座標が、Ｓ３０２０で距離計測を行なうと決定された領域（画素）に相当する場合、該当する画素のエッジの検出結果を削除する。
【００９２】
（Ｓ３０５０）
３次元計測装置１は、距離算出部１７０において、計測対象物体における点の距離の算出（計測）を行なう。上述したように、マルチスリット光を物体に照射した画像を撮像し、その撮像された画像におけるスリットの投影像と、照明部１４０及び撮像部１５０の幾何学的関係とを用いてスリット光が照射された領域の距離を三角測量により算出する。距離の算出は、対象となる領域を特に限定せずに行なう。上述した通り、画像全体から距離の算出が行なわれた後、領域決定部２３０の決定結果に基づいてその検出された距離情報の取捨選択が行なわれる。距離情報の取捨選択では、まず、計測された距離を距離算出部１７０の座標系における３次元座標に変換した後、更に、その座標値を撮像部１５０の座標系に変換し、その結果を画像へ投影する。そして、投影された画像座標を１画素単位で量子化した座標が、Ｓ３０２０で距離情報を用いると決定された領域（画素）の座標以外の領域であれば、該当する距離計測の結果を削除する。
【００９３】
（Ｓ３０６０）
３次元計測装置１は、位置姿勢算出部１８０において、計測対象物体に係わる３次元情報（３次元計測装置１に対する計測対象物体の位置及び姿勢）を算出（計測）する。この算出は、Ｓ３０４０で検出された画像特徴と、Ｓ３０５０で算出された距離情報とに基づいて行なわれる。なお、計測対象物体の位置姿勢算出処理は、実施形態１を説明した図３のＳ１０７０と同様であるのでその詳細な説明については省略する。
【００９４】
以上説明したように実施形態３によれば、照明制御を行なわずに、上述した実施形態１及び２と同様の結果を得ることができる。これにより、実施形態１及び２同様に、計測対象物体の表面属性や構造に左右されず、当該物体に係わる３次元情報の計測を高精度に行なうことができる。また、３次元計測装置の構成も複雑化しない。
【００９５】
なお、上述した実施形態３では、撮像された画像全体に対して画像特徴の検出や距離情報の算出を行なった後、領域決定部２３０による決定結果に基づいてエッジの検出結果や距離計測の結果を取捨選択していたが、これに限られない。例えば、領域決定部２３０の決定結果に基づいて必要となる領域のみから画像特徴を検出したり、距離情報を算出したりするようにしても良い。この場合、画像全体に対して画像特徴の検出や距離情報の算出を行なう必要がなくなるので、処理の高速化が期待できる。
【００９６】
（実施形態４）
次に、実施形態４について説明する。上述した実施形態１〜３においては、計測対象物体の三次元形状モデルを用いて距離計測用の領域を決定する場合について説明した。これに対して、実施形態４においては、計測対象物体の三次元形状モデルを用いずに、距離計測用の領域を決定する場合について説明する。
【００９７】
図１３は、実施形態４に係わる３次元計測装置１の構成の一例を示している。なお、実施形態１における図１と同一の符号が付してあるものは同様の機能を有する。ここでは、実施形態１との相違点について重点的に説明する。
【００９８】
３次元計測装置１は、実施形態１の構成に加えて、３次元形状情報取得部２００が新たに設けられる。３次元形状情報取得部２００は、外部に設けられた距離センサ３００と接続されている。
【００９９】
３次元形状情報取得部２００は、計測対象物体の３次元形状を示す情報を取得する。本実施形態においては、計測対象物体の３次元形状を示す情報として、距離センサ３００から距離画像（計測対象物体及びその周辺の３次元形状）を取得する。ここで、距離センサ３００は、例えば、シーン中に固定されている。距離センサ３００は、距離画像を計測できれば良く、いかなる方式を採用しても良い。例えば、距離計測時に照明を行なうアクティブ式であっても良いし、複数の撮像装置を利用するパッシブ式であっても良い。また、例えば、Ｔｉｍｅ−ｏｆ−Ｆｌｉｇｈｔ方式などの三角測量を利用しない方式を採用していても良い。
【０１００】
なお、距離センサ３００と撮像部１５０との間の相対的な位置及び姿勢を示す値は、既知であるものとする。例えば、撮像部１５０がロボットアームに搭載されている場合には、ロボット座標系における距離センサ３００の位置及び姿勢を予め求めておく。３次元計測装置１においては、計測に際してロボットから出力される動きパラメータを用いて、ロボット座標系における撮像部１５０の位置及び姿勢を算出し、距離センサ３００と撮像部１５０との間の相対的な位置及び姿勢を示す値に変換する。
【０１０１】
照明領域決定部１３０は、距離センサ３００から得られる距離画像に基づいて距離計測用の領域を決定する。より具体的には、距離画像における各画素の距離情報に基づいて距離画像を領域分割し、当該分割された領域の中から距離計測用の領域を決定する。
【０１０２】
次に、図１４を用いて、実施形態４に係わる３次元計測装置１により計測対象物体の位置及び姿勢を計測する際の処理の流れの一例について説明する。なお、実施形態４に係わる３次元計測装置１の全体的な動作は、実施形態１を説明した図３と同様となるため、ここでは相違する点（Ｓ１０２０の領域決定処理）について説明する。
【０１０３】
（Ｓ４０１０）
領域決定処理では、まず、３次元計測装置１は、３次元形状情報取得部２００において、距離センサ３００から距離画像を取得する。なお、距離センサ３００における距離画像の取得は、３次元計測装置１からの指示に基づいて行なわれても良いし、距離センサ３００側で独立して行なっておき、最新の距離画像を３次元形状情報取得部２００側に渡すようにしても良い。
【０１０４】
（Ｓ４０２０）
次に、３次元計測装置１は、照明領域決定部１３０において、距離画像を領域分割する。領域分割では、隣り合う画素を比較し、距離が大きく変化しない画素群を一つの領域としてまとめる。これにより、距離画像を複数の領域に分割する。領域分割は、例えば、「X. Jiang and H. Bunke, "Range Image Segmentation: Adaptive Grouping of Edges into Regions," Proc. ACCV '98, pp.299-306, 1998.」に開示された技術を用いて行なえば良い。なお、距離計測の対象となる領域は、一定以上（所定値以上）の面積を持つ領域が対象となる。
【０１０５】
（Ｓ４０３０）
次に、３次元計測装置１は、照明領域決定部１３０において、Ｓ４０２０で距離計測の対象となった領域を、距離センサ３００と撮像部１５０との間の相対的な位置及び姿勢を示す値を用いて撮像部１５０の画像と同サイズのマスク画像に投影する。ここでは、実施形態１で説明した通り、マスク画像の各画素は０で初期化しておき、領域が投影された画素の値を１に変更する。全ての対象領域の投影が終われば、マスク画像上で値が１となっている画素の座標を、当該座標及び距離情報に基づいて撮像部１５０を基準とした３次元座標に変換する。具体的には、距離センサ３００と撮像部１５０との間の相対的な位置及び姿勢を示す値を用いて、距離センサ３００により取得された距離画像を撮像部１５０の座標系における距離画像に変換する。そして、当該変換後の距離画像内の各画素における座標及び距離情報に基づいて３次元座標を生成（変換）する。その後、撮像部１５０と照明部１４０との間の相対的な位置及び姿勢を示す値と、照明部１４０の内部パラメータとに基づいて、当該求めた３次元座標を照明パターンの座標（距離計測用の領域を示す座標）に変換する。
【０１０６】
３次元計測装置１は、照明部１４０において、上述した処理で決められた距離計測用の領域に対して所定の照明パターン（構造化光）を照射する。なお、以降の処理については、実施形態１と同様の流れとなるため、その説明については省略する。
【０１０７】
以上説明したように実施形態４によれば、計測対象物体の３次元形状モデルを用いずに、外部のセンサ（他の視点）から得られた距離画像を用いて距離計測用の領域を決定する。この場合にも、上述した実施形態１〜３と同様の結果を得ることができる。
【０１０８】
（実施形態５）
次に、実施形態５について説明する。上述した実施形態１〜４においては、距離計測を行なう領域を計算により自動的に算出する場合について説明した。これに対して、実施形態５においては、ユーザによるマニュアル操作に基づいて決定する場合について説明する。なお、実施形態５に係わる３次元計測装置１の構成は、実施形態４を説明した図１３と同様の構成となるため、ここでは、その図示については省略し、実施形態４と相違する点について簡単に説明する。
【０１０９】
実施形態４においては、距離センサ３００により取得された距離画像に対して領域分割処理を実施し、距離計測用の領域を決定していた。これに対して、実施形態５では、ユーザによるマニュアル操作に基づいて、距離センサ３００により取得された距離画像に対して領域分割を実施し、距離計測用の領域を決定する。
【０１１０】
ユーザによるマニュアル操作は、例えば、図１５に示すユーザインタフェース４００を用いて行なわれる。領域４１０には、距離センサ３００により取得された距離画像が表示されている。ユーザは、例えば、マウスを用いて、領域４１０内から距離計測用の領域を指定する。全ての領域の指定が済むと、ユーザは、マウスを用いて、ＯＫボタン４２０を押下する。これにより、ユーザによる距離計測用の領域の指定が完了する。なお、ユーザによりＣａｎｃｅｌボタン４３０が押下された場合には、領域の指定が解除される。
【０１１１】
ユーザのマニュアル操作に基づいて領域が指定されると、３次元計測装置１は、実施形態４と同様にして照明領域を決定する。具体的には、ユーザにより距離画像上で指定された各領域を、距離センサ３００と撮像部１５０との間の相対的な位置及び姿勢を示す値を用いて撮像部１５０の画像と同サイズのマスク画像に投影する。なお、マスク画像の各画素は０で初期化しておき、領域が投影された画素の値を１に変更する。全ての対象領域の投影が終われば、マスク画像上で値が１となっている画素の座標を、当該座標及び距離情報に基づいて撮像部１５０を基準とした３次元座標に変換する。具体的には、距離センサ３００と撮像部１５０との間の相対的な位置及び姿勢を示す値を用いて、距離センサ３００により取得された距離画像を撮像部１５０の座標系における距離画像に変換する。そして、当該変換後の距離画像内の各画素における座標及び距離情報に基づいて３次元座標を生成（変換）する。その後、撮像部１５０と照明部１４０との間の相対的な位置及び姿勢を示す値と、照明部１４０の内部パラメータとに基づいて、当該求めた３次元座標を照明パターンの座標（距離計測用の領域を示す座標）に変換する。これにより、距離計測用の領域が決定する。
【０１１２】
以上説明したように実施形態５によれば、ユーザのマニュアル操作に基づいて距離計測用の領域を決定する。この場合にも、上述した実施形態１〜４と同様の結果を得ることができる。これにより、自動的に実施された領域分割処理の結果が不適切であったとしても、距離計測用の領域を適切に決定することができる。
【０１１３】
以上が本発明の代表的な実施形態の一例であるが、本発明は、上記及び図面に示す実施形態に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
【０１１４】
（変形実施形態１）
また、上述した実施形態１〜５では、マルチスリット光を物体に照射し、スリット光が照射された領域の距離を三角測量により算出する場合について説明したが、距離の算出方法は、この方法に限定されない。例えば、マルチスリット光以外の照明パターン（例えば、単一や複数のスポット光、単一のスリット光、ランダムドットパターン、局所的な平面パターン、空間コード化パターン）を物体に照射し、三角測量により距離を算出するようにしてもよい。また、距離の算出は、三角測量以外にも、例えば、例えば、照明光を物体に照射してから戻ってくるまでの飛行時間を用いて距離を計測する「Ｔｉｍｅ−ｏｆ−Ｆｌｉｇｈｔ」方式を用いてもよい。また、例えば、人為的に光を投影して距離計測を行なうアクティブ計測ではなく、複数のカメラによって計測対象物体を撮像し、ステレオ法によって距離の算出を行なうパッシブな計測を行なってもよい。その他、計測対象物体の位置及び姿勢の算出に用いるのに足る精度で距離の算出が行なえるのであれば、特にその方法は問わない。
【０１１５】
（変形実施形態２）
また、上述した実施形態１〜５では、撮像部（例えば、カメラ）１５０の画像面において、マスク画像を作成し、撮像部１５０と照明部１４０との間の相対的な位置及び姿勢を示す値を用いて照明パターン（距離計測用の領域）を決めていた。しかし、距離計測用の領域の決定の仕方（照明パターンの作成方法）は、これに限られない。例えば、撮像部１５０に対する計測対象物体の位置及び姿勢の概略値を照明部１４０に対する位置及び姿勢に変換し、照明パターンに相当する画像上に３次元形状モデルや領域分割結果を直接投影することによって照明パターンを作成しても良い。この場合、予め校正済みの撮像部１５０と照明部１４０との間の相対的な位置及び姿勢と、照明部１４０の内部パラメータとを用いて３次元形状モデルや領域分割結果を画像上に投影すれば良い。
【０１１６】
（変形実施形態３）
上述した実施形態１〜３では、計測対象物体の位置及び姿勢の概略値に基づいて３次元形状モデルを画像上に投影し、その投影結果に基づいて距離計測用の領域や、距離計測結果を用いるべき領域を決定していたが、この処理を変形して実施しても良い。これらの領域の決定に際して、計測対象物体の位置及び姿勢の計測精度や、計測対象物体の運動を鑑みても良い。例えば、カルマンフィルタに計測された物体の位置及び姿勢を時系列データとして入力することにより得られる物体の位置及び姿勢の共分散行列を精度の指標として利用しても良い。すなわち、３次元形状モデルを構成する線分の端点を投影する際に、共分散行列の一定の範囲（例えば３σ）に相当する画像上での領域（楕円領域）を算出し、線分ごとに両端点の楕円領域を包含するような領域を設定する。そして、その包含領域では距離の計測は行なわない、又は、距離計測結果を用いないようにする。また、同様にカルマンフィルタを利用し、物体の速度・角速度を推定することにより、物体の位置及び姿勢の概略値が得られた時刻と現在の時刻の差をもとに現在の物体の位置及び姿勢を予測し、その結果に基づいて上述した領域の決定処理を行なっても良い。
【０１１７】
（変形実施形態４）
上述した実施形態１、３〜５では、画像特徴としてエッジ検出する場合について説明したが、画像特徴はエッジに限られない。例えば、非特許文献１に開示されるように、Ｈａｒｒｉｓの検出器を用いて画像から特徴点を検出し、その特徴点に３次元形状モデルの点をあてはめることにより物体の位置及び姿勢を算出しても良い。この場合、距離計測用の（照明）領域の決定に際しては、特徴点の情報を用いる。具体的には、過去に撮像された画像から特徴点を検出し、その特徴点の検出結果に基づいて物体の位置及び姿勢を算出する。そして、その算出結果に基づいて３次元形状モデルを画像上に投影し、その投影像上にある特徴点を選択する。その選択された特徴点の画像座標から一定距離以内では、距離計測用の照明を照射しないように照明パターン（距離計測用の領域）を変更する。
【０１１８】
（変形実施形態５）
上述した実施形態１〜５では、エッジ、特徴点などの画像特徴が検出され易い領域を判定し、それ以外の領域を距離計測用の領域として決めていたが、この照明領域の決定の仕方はこれに限られない。始めに、濃淡変化に乏しい領域を判定し、その領域を距離計測用の領域として決めても良い。すなわち、物体の位置及び姿勢の概略値に基づいて３次元形状モデルを構成する各面を描画し、これらの領域について距離計測用の照明を照射するよう決定しても良い。また、３次元形状モデルを構成する各面について、予め濃淡変化に乏しいか否かの情報を持たせても良い。この場合、物体の位置及び姿勢の概略値に基づいて３次元形状モデルを描画し、濃淡変化に乏しい面に相当する領域に距離計測用の照明を照射する旨の決定を行なう。以上が、変形実施形態についての説明である。
【０１１９】
なお、本発明は、例えば、システム、装置、方法、プログラム若しくは記録媒体等としての実施態様を採ることもできる。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用しても良い。
【０１２０】
（その他の実施形態）
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005567908.tif 000013
【図２】
0005567908.tif 000014
【図３】
0005567908.tif 000015
【図４】
0005567908.tif 000016
【図５】
0005567908.tif 000017
【図６】
0005567908.tif 000018
【図７】
0005567908.tif 000019
【図８】
0005567908.tif 000020
【図９】
0005567908.tif 000021
【図１０】
0005567908.tif 000022
【図１１】
0005567908.tif 000023
【図１２】
0005567908.tif 000024
【図１３】
0005567908.tif 000025
【図１４】
0005567908.tif 000026
【図１５】
0005567908.tif 000027