(57)【要約】【課題】  物体の位置及び姿勢の計測に際して、各エッジに信頼度を付与したモデルを用いて位置姿勢算出処理に対する各エッジの寄与度を変更するようにした技術を提供する。【解決手段】  ３次元計測装置は、３次元幾何モデルを用いて計測対象物体を複数の異なる視点から観測した複数の視点画像を生成し、当該複数の視点画像各々から計測対象物体のエッジを第２のエッジとして検出し、３次元幾何モデルにおける第１のエッジ各々に対して第２のエッジを対応付けた結果に基づいて第１のエッジ各々の信頼度を算出し、当該信頼度を３次元幾何モデルに付与した信頼度付きモデルを生成する。【選択図】  図１
2011179908.tif 000002
【特許請求の範囲】
【請求項１】
計測対象物体の形状を複数の第１のエッジを用いて定義する３次元幾何モデルを保持し、該３次元幾何モデルを用いて位置姿勢算出処理を実施することにより該計測対象物体の位置及び姿勢を計測する３次元計測装置であって、
前記３次元幾何モデルを用いて前記計測対象物体を複数の異なる視点から観測した複数の視点画像を生成する視点画像生成手段と、
前記複数の視点画像各々から前記計測対象物体のエッジを第２のエッジとして検出するエッジ検出手段と、
前記第１のエッジ各々に対して前記第２のエッジを対応付け、その対応付け結果に基づいて前記第１のエッジ各々の信頼度を算出する信頼度算出手段と、
前記信頼度算出手段により算出された前記信頼度を前記３次元幾何モデルに付与した信頼度付きモデルを生成する生成手段と、
前記信頼度付きモデルにおける前記第１のエッジ各々に付与された前記信頼度に基づいて当該第１のエッジ各々を重み付けする重み付け手段と、
前記計測対象物体を撮像した撮像画像から検出された第３のエッジと、前記重み付け手段により重み付けされた前記第１のエッジとを対応付け、該対応付け結果に基づいて前記位置姿勢算出処理を実施する位置姿勢算出手段と
を具備することを特徴とする３次元計測装置。
【請求項２】
前記信頼度算出手段は、
前記第１のエッジ各々に対して前記第２のエッジが対応付けられた回数をカウントするカウント手段
を具備し、
前記カウント手段によるカウント値に基づいて前記第１のエッジ各々の信頼度を算出する
ことを特徴とする請求項１記載の３次元計測装置。
【請求項３】
前記信頼度算出手段は、
前記第２のエッジ各々の信頼度を算出するエッジ信頼度算出手段と、
前記第１のエッジ各々に対して前記第２のエッジが対応付けられた回数をカウントするカウント手段と、
前記第１のエッジに対して前記第２のエッジが対応付けられた際に、前記第２のエッジに対して算出された信頼度を当該対応付けられた前記第１のエッジに加算することにより前記第１のエッジ毎に信頼度の総和を算出する信頼度総和算出手段と
を具備し、
前記カウント手段によるカウント値で前記信頼度総和算出手段により算出された信頼度の総和を除算することにより、前記第１のエッジ各々の信頼度を算出する
ことを特徴とする請求項１記載の３次元計測装置。
【請求項４】
前記信頼度算出手段は、
前記第２のエッジの検出元である前記視点画像に基づいて前記第２のエッジ各々の信頼度を視点別に算出し、
前記生成手段は、
前記第１のエッジに対して前記第２のエッジが対応付けられた際に、前記第２のエッジに対して算出された前記視点別の信頼度を当該対応付けられた前記第１のエッジに対して付与することにより、前記視点別の信頼度が付与された前記信頼度付きモデルを生成する
ことを特徴とする請求項１記載の３次元計測装置。
【請求項５】
前記計測対象物体の概略の位置及び姿勢を示す概略値を取得する取得手段
を更に具備し、
前記重み付け手段は、
前記取得手段により取得された前記概略値に基づいて前記信頼度付きモデルにおける前記第１のエッジ各々に付与された前記視点別に付与された信頼度からいずれかの視点の信頼度を選択し、該選択した視点の信頼度に基づいて当該第１のエッジ各々を重み付けする
ことを特徴とする請求項４記載の３次元計測装置。
【請求項６】
前記エッジ信頼度算出手段は、
第２のエッジにおける輝度勾配に基づいて信頼度を算出する
ことを特徴とする請求項３から５のいずれか１項に記載の３次元計測装置。
【請求項７】
前記エッジ信頼度算出手段は、
前記第２のエッジの検出元である前記視点画像における前記第２のエッジの密度に基づいて信頼度を算出する
ことを特徴とする請求項３から５のいずれか１項に記載の３次元計測装置。
【請求項８】
計測対象物体の位置及び姿勢の計測に際して実施される位置姿勢算出処理に用いられる３次元幾何モデルを生成するモデル生成装置であって、
前記３次元幾何モデルを用いて前記計測対象物体を複数の異なる視点から観測した複数の視点画像を生成する視点画像生成手段と、
前記複数の視点画像各々から前記計測対象物体のエッジを検出するエッジ検出手段と、
前記３次元幾何モデルにおけるエッジ各々に対して前記検出された前記計測対象物体のエッジを対応付け、その対応付け結果に基づいて前記３次元幾何モデルにおけるエッジ各々の信頼度を算出する信頼度算出手段と、
前記エッジ各々の信頼度を前記３次元幾何モデルの当該エッジに付与することにより信頼度付きモデルを生成する生成手段と
を具備することを特徴とするモデル生成装置。
【請求項９】
位置姿勢算出処理を実施することにより計測対象物体の位置及び姿勢を計測する３次元計測装置であって、
前記計測対象物体の形状を複数のエッジを用いて定義し且つ当該エッジ各々に対して信頼度を付与した信頼度付きモデルを保持する保持手段と、
前記計測対象物体が撮像された撮像画像からエッジを検出するエッジ検出手段と、
前記信頼度付きモデルにおける前記エッジ各々に付与された前記信頼度に基づいて当該エッジ各々を重み付けする重み付け手段と、
前記重み付け手段により重み付けされたエッジと、前記保持手段に保持された前記信頼度付きモデルにおけるエッジとを対応付け、該対応付け結果に基づいて前記位置姿勢算出処理を実施する位置姿勢算出手段と
を具備することを特徴とする３次元計測装置。
【請求項１０】
計測対象物体の形状を複数の第１のエッジを用いて定義する３次元幾何モデルを保持し、該３次元幾何モデルを用いて位置姿勢算出処理を実施することにより該計測対象物体の位置及び姿勢を計測する３次元計測装置の処理方法であって、
視点画像生成手段が、前記３次元幾何モデルを用いて前記計測対象物体を複数の異なる視点から観測した複数の視点画像を生成する工程と、
エッジ検出手段が、前記複数の視点画像各々から前記計測対象物体のエッジを第２のエッジとして検出する工程と、
信頼度算出手段が、前記第１のエッジ各々に対して前記第２のエッジを対応付け、その対応付け結果に基づいて前記第１のエッジ各々の信頼度を算出する工程と、
生成手段が、前記信頼度算出手段により算出された前記信頼度を前記３次元幾何モデルに付与した信頼度付きモデルを生成する工程と、
重み付け手段が、前記信頼度付きモデルにおける前記第１のエッジ各々に付与された前記信頼度に基づいて当該第１のエッジ各々を重み付けする工程と、
位置姿勢算出手段が、前記計測対象物体を撮像した撮像画像から検出された第３のエッジと、前記重み付け手段により重み付けされた前記第１のエッジとを対応付け、該対応付け結果に基づいて前記位置姿勢算出処理を実施する工程と
を含むことを特徴とする３次元計測装置の処理方法。
【請求項１１】
計測対象物体の形状を複数の第１のエッジを用いて定義する３次元幾何モデルを保持し、該３次元幾何モデルを用いて位置姿勢算出処理を実施することにより該計測対象物体の位置及び姿勢を計測する３次元計測装置に内蔵されたコンピュータを、
前記３次元幾何モデルを用いて前記計測対象物体を複数の異なる視点から観測した複数の視点画像を生成する視点画像生成手段、
前記複数の視点画像各々から前記計測対象物体のエッジを第２のエッジとして検出するエッジ検出手段、
前記第１のエッジ各々に対して前記第２のエッジを対応付け、その対応付け結果に基づいて前記第１のエッジ各々の信頼度を算出する信頼度算出手段、
前記信頼度算出手段により算出された前記信頼度を前記３次元幾何モデルに付与した信頼度付きモデルを生成する生成手段、
前記信頼度付きモデルにおける前記第１のエッジ各々に付与された前記信頼度に基づいて当該第１のエッジ各々を重み付けする重み付け手段、
前記計測対象物体を撮像した撮像画像から検出された第３のエッジと、前記重み付け手段により重み付けされた前記第１のエッジとを対応付け、該対応付け結果に基づいて前記位置姿勢算出処理を実施する位置姿勢算出手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元計測装置、その処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、これまで人間が行なっていた複雑なタスクをロボットが代わりに行なうようになりつつある。複雑なタスクの代表例として、工業製品の組み立てが挙げられる。ロボットが自律的に組立作業を行なうために、ハンドなどのエンドエフェクタによって部品を把持する。部品を把持するには、把持の対象となる部品とロボットとの相対的な位置及び姿勢を計測する。そして、その計測結果に基づいて移動計画を策定し、アクチュエータを制御する必要がある。
【０００３】
また、複合現実感、いわゆるＭＲ（Mixed Reality）技術においても、現実世界と仮想世界とをリアルタイム且つシームレスに融合させるため、位置及び姿勢の計測が必要である。これまで位置及び姿勢の計測は、カメラや距離センサを用いて行なわれており、その代表的な方法としては、２次元画像や距離画像を用いる手法が知られている。また、ＭＲ技術の分野では、ヘッドマウントディスプレイ（Head Mounted Display：以下、ＨＭＤと呼ぶ）に搭載されたカメラで撮像された画像を用いてＨＭＤの位置及び姿勢の計測を行なう技術の研究がなされている。
【０００４】
非特許文献１には、２次元画像へのモデルフィッティングを行なうことにより、十分なテクスチャ情報を必要とせずに、物体の位置及び姿勢を計測する技術が開示されている。この技術では、２次元画像から検出される線分（エッジ）に対して物体の３次元幾何モデルを当てはめる。これにより、物体の位置及び姿勢を計測する。より具体的には、２次元画像全体からエッジ検出を行なった後、局所的な接続情報を用いて線分に分離する。そして、検出された線分の両側の端点と、物体の位置及び姿勢の概略値に基づく３次元幾何モデルの線分との画像上における距離の総和を最小にすべく、ガウス−ニュートン法を用いて物体の位置及び姿勢を計測する。
【０００５】
また、非特許文献２には、物体の位置及び姿勢の概略値に基づく３次元幾何モデルの線分の近傍のみでエッジ探索を行なう技術が開示される。この技術では、２次元画像全体からエッジを検出しないため、物体の位置及び姿勢の計測を迅速に行なえる。また、非特許文献２には、２次元画像から検出した各エッジに対して色のコントラストや他のエッジとの距離に応じたエッジの信頼度を求め、その信頼度に応じた重み付けを行なう技術についても言及されている。これにより、位置姿勢算出処理に対する各エッジの寄与率を変化させる。
【０００６】
また更に、特許文献１には、モデルフィッティングに利用する３次元幾何モデルの生成に関し、高確率で観測されるエッジのみを残して３次元幾何モデルを生成する技術が開示されている。この技術では、物体の３次元幾何モデルを異なる視点から観測した画像を複数生成し、当該複数の視点画像から共通に観測されたエッジのみを残す。これにより、エッジの観測可能性の高いモデルを生成する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−２０７５１号公報
【非特許文献】
【０００８】
【非特許文献１】D. G. Lowe, “Fitting parameterized three-dimensional models to images," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.13, no.5, pp.441-450, 1991.
【非特許文献２】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.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
非特許文献１の技術は、画像からエッジが正しく検出され、また、画像から検出されたエッジと３次元幾何モデルのエッジとの対応関係が正しいことを前提としている。そのため、対象物体のテクスチャや形状変化を明瞭に示すエッジが常に安定して検出されるのであれば、物体の位置及び姿勢を精度良く計測できる。
【００１０】
しかし、物体の撮影時に撮影視点の移動が伴う場合、撮影した画像からエッジを安定的に検出することは難しい。撮影視点に依存して画像中における物体の色の見えが変化するため、通常、画像中で検出されるエッジもそれに伴って変化する。このような場合には、画像から検出されるエッジと３次元幾何モデルのエッジとの対応関係に誤りが生じ易くなり、非特許文献１の技術では、位置姿勢算出処理の精度が低下してしまう。
【００１１】
また、非特許文献２の技術では、リアルタイムでエッジの信頼度を算出するため、位置姿勢算出処理の処理負荷が高い。また、画像中の計測対象物体以外の背景領域からもエッジを検出するため、誤ったエッジをマッチングする危険性もある。
【００１２】
また更に、特許文献１の技術では、上述した通り、複数視点の画像から観測されたエッジを残すことにより、観測可能性の高いエッジのみを持つモデルを生成している。この技術では、観測可能性の高いエッジが３次元幾何モデル全体に均等且つ十分に分布していることを前提としている。
【００１３】
しかし、実際には、エッジの観測のされ易さは視点毎に大きく異なる。そのため、複数の視点において観測可能性の高いエッジのみを残すようにした場合、不十分な数のエッジしか得られない場合がある。また、観測可能性の高いエッジが多数残ったとしても、これらのエッジがモデルの一部分に偏ることも考えられる。このような場合、エッジの不足や偏りにより、位置姿勢算出処理の精度が低下する。
【００１４】
本発明は、上記課題に鑑みてなされたものであり、物体の位置及び姿勢の計測に際して、各エッジに信頼度を付与したモデルを用いて位置姿勢算出処理に対する各エッジの寄与度を変更するようにした技術を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記課題を解決するため、本発明の一態様は、計測対象物体の形状を複数の第１のエッジを用いて定義する３次元幾何モデルを保持し、該３次元幾何モデルを用いて位置姿勢算出処理を実施することにより該計測対象物体の位置及び姿勢を計測する３次元計測装置であって、前記３次元幾何モデルを用いて前記計測対象物体を複数の異なる視点から観測した複数の視点画像を生成する視点画像生成手段と、前記複数の視点画像各々から前記計測対象物体のエッジを第２のエッジとして検出するエッジ検出手段と、前記第１のエッジ各々に対して前記第２のエッジを対応付け、その対応付け結果に基づいて前記第１のエッジ各々の信頼度を算出する信頼度算出手段と、前記信頼度算出手段により算出された前記信頼度を前記３次元幾何モデルに付与した信頼度付きモデルを生成する生成手段と、前記信頼度付きモデルにおける前記第１のエッジ各々に付与された前記信頼度に基づいて当該第１のエッジ各々を重み付けする重み付け手段と、前記計測対象物体を撮像した撮像画像から検出された第３のエッジと、前記重み付け手段により重み付けされた前記第１のエッジとを対応付け、該対応付け結果に基づいて前記位置姿勢算出処理を実施する位置姿勢算出手段とを具備する。
【発明の効果】
【００１６】
本発明によれば、撮像画像から検出されるエッジが視点変化に伴って変化した場合であっても、物体の位置及び姿勢の計測を精度良く行なえる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施の形態に係わる３次元計測装置の構成の一例を示す図。
【図２】３次元幾何モデルの定義情報の一例を示す図。
【図３】図１に示す３次元計測装置１００における処理の流れの一例を示すフローチャート。
【図４】視点画像の生成を模式的に示す図。
【図５】エッジリストデータの一例を示す図。
【図６】信頼度付きモデルの定義情報の一例を示す図。
【図７】図１に示す３次元計測装置１００における処理の流れの一例を示すフローチャート。
【図８】エッジ検出方法の概要の一例を示す図。
【図９】図７のＳ２０５に示す位置姿勢算出処理の流れの一例を示すフローチャート。
【図１０】投影像と画像から検出された２次元エッジとの関係の一例を示す図。
【図１１】実施形態２に係わる３次元計測装置１００における処理の流れの一例を示すフローチャート。
【図１２】実施形態２に係わるエッジリストデータの一例を示す図。
【図１３】実施形態３に係わる３次元計測装置１００における処理の流れの一例を示すフローチャート。
【図１４】信頼度付きモデルの定義情報の一例を示す図。
【図１５】実施形態３に係わるエッジリストデータの一例を示す図。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。
【００１９】
（実施形態１）
図１は、本発明の一実施の形態に係わる３次元計測装置の構成の一例を示す図である。
【００２０】
ここで、３次元計測装置１００は、その機能的な構成として、モデル保持部１１０と、視点画像生成部１２０と、エッジ検出部１３０と、信頼度算出部１４０と、モデル生成部１９０とが具備される。また更に、３次元計測装置１００には、機能的な構成として、概略値取得部１５０と、撮像部１６０と、エッジ検出部１７０と、位置姿勢算出部１８０とが具備される。
【００２１】
モデル保持部１１０は、計測対象となる物体（以下、計測対象物体、又は単に物体と呼ぶ場合もある）の３次元幾何モデルを保持する。３次元幾何モデルは、例えば、計測対象物体の形状を複数のエッジ（第１のエッジ）を用いて定義する。
【００２２】
より具体的には、３次元幾何モデルは、点の集合及び各点を結んで構成される線分の集合によって定義される。計測対象物体の３次元幾何モデル１０は、図２（ａ）に示すように、点Ｐ１〜点Ｐ１４の１４点から構成される。点Ｐ１〜点Ｐ１４は、図２（ｃ）に示すように、３次元座標値により表される。また、計測対象物体の３次元幾何モデル１０は、図２（ｂ）に示すように、線分Ｌ１〜Ｌ１６により構成されている。線分Ｌ１〜Ｌ１６は、図２（ｄ）に示すように、線分を構成する点のＩＤ（識別子）により表される。なお、ここでは図示を省略するが、３次元幾何モデルは、面の情報も保持する。各面は、各面を構成する頂点のＩＤにより表される。なお、本実施形態係わる３次元幾何モデルは、複数の線分（エッジ）を用いて計測対象物体の形状を定義している場合について説明する。
【００２３】
視点画像生成部１２０は、計測対象物体を異なる視点から観測した複数の視点画像を生成する。視点画像生成部１２０による複数の視点画像の生成は、モデル保持部１１０に保持された３次元幾何モデルを用いて行なわれる。
【００２４】
エッジ検出部１３０は、視点画像生成部１２０により生成された複数の視点画像各々から計測対象物体のエッジ（第２のエッジ）を検出する。
【００２５】
信頼度算出部１４０は、エッジ検出部１３０により検出された視点画像各々から検出された各エッジに基づいて、３次元幾何モデルにおける各線分（各エッジ）の信頼度を算出する。より具体的には、３次元幾何モデルにおけるエッジ各々（第１のエッジ各々）に対して、複数の視点画像各々から検出されたエッジ（第２のエッジ）を対応付け、その対応付け結果に基づいて３次元幾何モデルにおけるエッジ各々の信頼度を算出する。
【００２６】
モデル生成部１９０は、モデル保持部１１０に保持された３次元幾何モデルにおける各エッジに対して、信頼度算出部１４０により算出された信頼度を付与する。これにより、信頼度付きの３次元幾何モデル（以下、信頼度付きモデルと呼ぶ場合もある）を生成する。
【００２７】
概略値取得部１５０は、３次元計測装置１００に対する物体の位置及び姿勢の概略情報（以下、概略値と呼ぶ）を入力する。本実施形態において、３次元計測装置１００に対する物体の位置及び姿勢とは、撮像部１６０を基準とした物体の位置及び姿勢を示すが、必ずしも撮像部１６０を基準にする必要はない。例えば、撮像部１６０の座標系に対する物体の相対的な位置及び姿勢が既知であり、且つその位置及び姿勢が変化しないのであれば、３次元計測装置１００におけるその他の部分を基準としてもよい。また、本実施形態においては、物体の位置及び姿勢の概略値として、３次元計測装置１００が当該物体から過去（例えば、直前）に計測した計測値を用いる。物体の位置及び姿勢の概略値は、必ずしもこのような値である必要はない。例えば、過去に計測した物体の位置及び姿勢の計測値に対して時系列フィルタリング処理（例えば、線形フィルタ、カルマンフィルタ）を実施し、物体の運動速度や角速度を推定する。そして、その推定結果に基づいて物体の位置及び姿勢を予測した値を概略値としてもよい。また、センサから得られる物体の位置及び姿勢を概略値としてもよい。ここで、センサは、物体の位置及び姿勢を６自由度で計測できればよく、その方式（例えば、磁気式、光学式、超音波式）は、特に問わない。なお、物体の置かれているおおよその位置や姿勢が予め分かっているのであれば、その値を概略値として用いてもよい。物体の位置及び姿勢の概略値は、物体の位置及び姿勢の算出処理に用いられる。
【００２８】
撮像部１６０は、計測対象物体の画像を撮像する。撮像部１６０の内部パラメータ（カメラパラメータ：焦点距離、主点位置、レンズ歪みパラメータ）は、例えば、「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」に開示される手法を用いて、事前に校正しておけばよい。
【００２９】
エッジ検出部１７０は、撮像部１６０により撮像された計測対象物体の画像（２次元画像）から画像特徴としてエッジ（第３のエッジ）を検出する。
【００３０】
位置姿勢算出部１８０は、エッジ検出部１７０により検出されたエッジ（第３のエッジ）に対して、信頼度付きモデルのエッジ（第１のエッジ）をフィッティングさせることにより計測対象物体の位置及び姿勢を計測（算出）する。位置姿勢算出部１８０は、信頼度付きモデルにおけるエッジ（第１のエッジ各々）に付与された信頼度に基づいて当該エッジ（第１のエッジ各々）を重み付けし、位置姿勢算出処理へのエッジ各々（第１のエッジ各々）の寄与度を変更する。
【００３１】
以上が、３次元計測装置１００の構成の一例についての説明である。なお、上記説明した、３次元計測装置１００には、コンピュータが内蔵されている。コンピュータには、ＣＰＵ等の主制御手段、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disk Drive）等の記憶手段が具備される。また、コンピュータにはその他、キーボードやディスプレイ又はタッチパネル等の入出力手段、ネットワークカード等の通信手段等も具備されていてもよい。なお、これら各構成部は、バス等により接続され、主制御手段が記憶手段に記憶されたプログラムを実行することで制御される。
【００３２】
次に、図３を用いて、図１に示す３次元計測装置１００における処理の流れの一例について説明する。ここでは、信頼度付きモデルを生成する際の処理の流れについて説明する。
【００３３】
[Ｓ１０１]
この処理が開始すると、３次元計測装置１００は、視点画像生成部１２０において、計測対象物体を複数の異なる視点から観測した複数の視点画像をシミュレーションにより生成する。
【００３４】
ここで、図４を用いて、この視点画像の生成を模式的に説明する。まず、仮想カメラの姿勢が、例えば、カメラ３１に示すように選択される。仮想カメラ３１は、その選択された位置及び姿勢から観測したときの３次元幾何モデル１０をＣＧ（Computer Graphics）によりレンダリングし、当該視点からの３次元幾何モデル１０の視点画像４１を生成する。同様に、仮想カメラの姿勢が、例えば、カメラ３２に示すように選択された場合には、仮想カメラ３２の視点からの３次元幾何モデル１０の視点画像４２を生成する。
【００３５】
なお、位置姿勢算出処理において、信頼度付きモデルにおける各エッジの信頼度に応じて当該各エッジを重み付けする場合には、各視点画像と、撮像部１６０により撮像される画像とが類似している必要がある。光源条件や背景環境、対象物体のテクスチャなどはエッジ検出に大きく影響するため、これらの条件をできる限り類似させるような写実的レンダリングの利用が有効である。例えば、テクスチャ付き３次元幾何モデルの利用や、光源環境、背景環境など、撮像部１６０による画像の撮像時と同様の条件でのシミュレートを行なうことが望ましい。
【００３６】
仮想カメラの位置及び姿勢の選択は、例えば、ユーザによって定義された範囲で均一になされる。例えば、多面体により構成された対象物体を覆うことのできる所定の大きさのＧｅｏｄｅｓｉｃ ｄｏｍｅを仮定し、多面体の各頂点から対象物体を眺めたときの各視点画像を取得する等が考えられる。なお、仮想カメラの位置及び姿勢の選択手法は、これに限られず、例えば、対象物体を覆うことのできる所定の大きさの球を仮定して地球儀のような緯度経度を割り当て、緯度方向、軽度方向に等間隔に視点を取る方法なども考えられる。
【００３７】
[Ｓ１０２]
３次元計測装置１００は、エッジ検出部１３０において、各視点画像からエッジ（線分）を検出する。エッジの検出には、例えば、ｃａｎｎｙ又はｓｏｂｅｌのエッジフィルタを用いればよい。エッジ検出部１３０及びエッジ検出部１７０は、同じエッジ検出方法を採用するのが望ましい。なお、本実施形態においては、検出したエッジを画像上で等間隔に分割し、制御点を設定する。そして、画像上における制御点の座標とエッジ方向を示す２次元ベクトルとを用いて各エッジ（以下、２次元エッジと呼ぶ場合もある）を表現する。
【００３８】
[Ｓ１０３〜Ｓ１０５]
３次元計測装置１００は、信頼度算出部１４０において、Ｓ１０２の処理で検出された各２次元エッジと、３次元幾何モデルの座標系との対応を求める。本実施形態においては、３次元幾何モデルに対して所定の大きさの三角形パッチモデルを生成し、３次元幾何モデル上で隣接する２つの三角形において法線のなす角が一定値以上のものを３次元幾何モデル上でのエッジとみなす。そして、２つの隣接する三角形における共通線分の中点の３次元座標と、線分の方向を示す３次元ベクトルとに基づいてエッジを３次元空間で表現する。以下、このエッジを３次元エッジと呼ぶ場合もある。
【００３９】
信頼度算出部１４０は、まず、各３次元エッジの制御点に対して制御点番号を割り当てる。そして、２次元エッジが、どの制御点番号の３次元エッジに該当するのかを探索する。これにより、２次元エッジと３次元エッジとを対応付ける。すなわち、視点画像から検出されたエッジと、３次元幾何モデルのエッジとを対応付ける。
【００４０】
本実施形態においては、３次元幾何モデルをレンダリングして得られるデプスバッファ、又はカメラパラメータに基づいて２次元エッジを３次元空間に射影する。これにより、２次元エッジの制御点とその向きとに基づいて３次元空間中の制御点の座標及びその向きを求める。２次元エッジを３次元空間へ射影することより得られた３次元のエッジを以下、３次元射影エッジと呼ぶ場合もある。
【００４１】
このとき、３次元射影エッジと３次元エッジとの制御点の距離及びベクトル法線のなす角度が小さく且つ閾値以下であれば、３次元射影エッジの生成元である２次元エッジを３次元エッジに対応付ける。
【００４２】
ここで、信頼度算出部１４０は、各視点画像にＳ１０１〜Ｓ１０４の処理を実施し、３次元幾何モデルにおける各エッジ（３次元エッジ）に対して、各視点画像から検出されたエッジ（３次元射影エッジ）が対応付けられた回数をカウントする。このカウント値は、エッジリストデータに保持される。
【００４３】
ここで、図５を用いて、エッジリストデータについて説明する。このリストには、３次元幾何モデルを構成するエッジ（３次元エッジ）に関する情報が保持される。
【００４４】
エッジリストデータには、各３次元エッジを識別する制御点番号と、制御点の３次元座標と、エッジの方向を示す３次元ベクトルと、異なる視点画像において当該３次元エッジが観測された回数を示すカウント値とを含む情報が保持される。カウント値の初期値は、例えば、「０」であり、３次元射影エッジ（２次元エッジ）に対応付けられると、その３次元エッジのカウント値は、「１」増加される。
【００４５】
ここで、同一の制御点番号を持つ３次元エッジは、別の視点画像においても同一のエッジを表している。そのため、３次元幾何モデルにおける各エッジに対して、全ての視点画像における各エッジを対応付けることにより、各３次元エッジ（３次元幾何モデルにおける各エッジ）が異なる視点において何度対応付けられたかをカウントできる。
【００４６】
[Ｓ１０６]
３次元計測装置１００は、信頼度算出部１４０において、Ｓ１０３の処理で得られたエッジリストデータ（異なる視点画像での観測回数（カウント値）をエッジ毎に保持したデータ）を用いて、各３次元エッジの信頼度を算出する。全エッジ中の最大カウント値をＣｍａｘ、最小カウント値をＣｍｉｎ、制御点番号ｉのエッジのカウント値をＣｉとした場合、エッジの信頼度ｒｉは、「数１」により算出できる。
2011179908.tif 000003
【００４７】
[Ｓ１０７]
３次元計測装置１００は、モデル生成部１９０において、モデル保持部１１０に保持された３次元幾何モデルにおける各エッジに対して、Ｓ１０５の処理で算出された信頼度を付与する。これにより、信頼度付きモデルが生成される。
【００４８】
図６は、信頼度付きモデルの定義情報の一例を示す図である。
【００４９】
信頼度付きモデルを構成する各エッジは、制御点番号により識別される。各エッジには、エッジ制御点の座標、エッジ方向を示すベクトル、０〜１の値により表される信頼度から構成される。以上のように信頼度付きモデル生成処理では、３次元幾何モデルを複数の異なる視点から観測した視点画像から同一のエッジが観測される回数をカウントし、そのカウント数に基づいて信頼度を算出する。これにより、信頼度を付与した信頼度付きモデルを生成する。
【００５０】
次に、図７を用いて、物体の位置及び姿勢を算出する際の処理の流れについて説明する。
【００５１】
[Ｓ２０１、Ｓ２０２]
３次元計測装置１００は、まず、図３のＳ１０７の処理で生成された信頼度付きモデルをモデル保持部１１０から取得する。また、３次元計測装置１００は、概略値取得部１５０において、３次元計測装置１００に対する物体の位置及び姿勢の概略値を取得する。
【００５２】
[Ｓ２０３、Ｓ２０４]
次に、３次元計測装置１００は、撮像部１６０において、計測対象物体の画像を撮像するとともに、エッジ検出部１７０において、当該撮像された画像から画像特徴としてエッジを検出する。
【００５３】
ここで、図８を用いて、本実施形態に係わるエッジ検出方法の概要の一例について説明する。エッジ検出では、まず、撮像された計測対象物体の画像（２次元画像）に対して、計測対象物体の位置及び姿勢の概略値に基づいて３次元幾何モデルを投影する。３次元幾何モデルにおけるエッジ（３次元エッジ）を２次元画像へ投影して得られるエッジ（投影像）を２次元投影エッジと呼ぶ。そして、各２次元投影エッジに対して等間隔に制御点を設定する。なお、２次元投影エッジは、制御点とその向きとにより表される。
【００５４】
２次元投影エッジの法線方向に平行で且つ制御点を通過する線分（以下、探索ライン）上から撮像画像（２次元画像）における計測対象物体のエッジを１次元探索する（図８（ａ））。エッジは、画素値の濃度勾配の極値となる（図８（ｂ））。場合によっては、探索ライン上から複数のエッジが検出されることがある。この場合、本実施形態においては、「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）法により反復演算し、計測対象物体の位置及び姿勢（以下、６次元ベクトルｓで表す）の概略値を補正する。これにより、計測対象物体の位置及び姿勢を求める。なお、位置姿勢算出処理は、ガウス−ニュートン法に限られない。例えば、より計算がロバストであるＬｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法を用いてもよいし、よりシンプルな方法である最急降下法を用いてもよい。また、共役勾配法やＩＣＣＧ法など、他の非線形最適化計算手法を用いてもよい。
【００５８】
ここでは、２次元画像から検出されたエッジと、位置及び姿勢の概略値に基づいて画像上に投影される３次元幾何モデルのエッジとの距離の総和を最小化する。これにより、計測対象物体の位置及び姿勢を求める。より具体的には、１次のテイラー展開を用いて、２次元画像上での点及び直線の符号付距離をそれぞれ物体の位置及び姿勢の微小変化を示す１次関数として表現する。そして、符号付距離が０になるような位置及び姿勢の微小変化に関する線形の連立方程式を立式して解くことにより、物体の位置及び姿勢の微小変化を求め、この値の補正処理を繰り返す。
【００５９】
[Ｓ３０１]
３次元計測装置１００は、位置姿勢算出部１８０において、まず、初期化処理を行なう。この初期化処理では、例えば、図７のＳ２０２の処理で得られた計測対象物体の位置及び姿勢の概略値を取得する。
【００６０】
[Ｓ３０２]
３次元計測装置１００は、位置姿勢算出部１８０において、エッジの対応付けを行なう。具体的には、図７のＳ２０３の処理で撮像された計測対象物体の画像（２次元画像）に対して、計測対象物体の位置及び姿勢の概略値に基づいて３次元幾何モデルを投影する。これにより、３次元幾何モデルのエッジと、２次元画像上における計測対象物体のエッジとを対応付ける。
【００６１】
なお、３次元幾何モデルのエッジ上の各制御点に対応して計測対象物体のエッジ（２次元画像上のエッジ）が複数検出された場合には、以下のようにすればよい。すなわち、当該複数検出されたエッジのうち、投影された３次元幾何モデルのエッジ（２次元投影エッジ）に対して画像上で最も近いエッジを制御点に対応付ければよい。
【００６２】
[Ｓ３０３]
３次元計測装置１００は、位置姿勢算出部１８０において、線形連立方程式を解くための係数行列と、誤差ベクトルの算出を行なう。ここで、係数行列の各要素は、Ｓ３０１の処理で取得した概略値の微小変化に対する一次の偏微分係数である。エッジについては、画像座標の偏微分係数を算出する。なお、誤差ベクトルは、２次元投影エッジと、画像から検出された２次元エッジとの画像上における距離を示す。
【００６３】
図１０は、投影像（２次元投影エッジ）と、画像から検出された２次元エッジとの関係の一例を示す図である。この場合、画像の水平方向をｕ軸とし、垂直方向をｖ軸としている。ある制御点（２次元投影エッジを画像上で等間隔に分割した点）の画像上における座標を（ｕ０，ｖ０）と表す。当該制御点が属する線分（２次元投影エッジ）Ｌの画像上における傾きを（ｕ軸に対する傾き）θと表す。傾きは、線分（２次元投影エッジ）の両端の３次元座標をｓに基づいて画像上に投影し、その両端の座標を結んだ直線の傾きを示している。画像上における２次元投影エッジの法線ベクトルは（ｓｉｎθ，−ｃｏｓθ）となる。また、制御点と対応する点（対応点）の画像上における座標を（ｕ’，ｖ’）とする。ここで、対応点の座標（ｕ’，ｖ’）を通り、傾きがθである直線（破線）上の点（ｕ，ｖ）は、
2011179908.tif 000004
【００６４】
制御点の画像上における位置は、計測対象物体の位置及び姿勢により変化する。計測対象物体の位置及び姿勢は、６自由度である。すなわち、ｓは６次元ベクトルであり、計測対象物体の位置を表す３つの要素と、姿勢を表す３つの要素とからなる。姿勢を表す３つの要素は、例えば、オイラー角による表現や、方向が原点を通る回転軸を表し大きさが回転角を表す３次元ベクトルなどによって表現される。計測対象物体の位置及び姿勢により変化する点（制御点）の画像上での座標（ｕ，ｖ）は、（ｕ０，ｖ０）の近傍で１次のテイラー展開によって「数３」のように近似できる。但し、Δｓｉ（ｉ＝１，２，・・・，６）は、ｓの各成分の微小変化を表す。
2011179908.tif 000005
【００６５】
正しいｓによって得られる制御点の画像上での位置は、「数２」が表す直線上にあると仮定できる。「数３」によって近似されるｕ、ｖを「数２」に代入することにより、「数４」が得られる。
2011179908.tif 000006
【００６６】
「数４」は、Ｓ３０２において対応付けされた全てのエッジについて成り立つ。そのため、「数５」に示すようなΔｓｉに関する線形連立方程式が成り立つ。
2011179908.tif 000007
【００６７】
ここで、「数５」を「数６」のように表す。
2011179908.tif 000008
【００６８】
「数６」の線形連立方程式の係数行列Ｊを算出するため、偏微分係数を算出する。偏微分係数の算出は、例えば、「V. Lepetit and P. Fua, "Keypoint recognition using randomized trees," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.28, no.9, 2006」に開示される方法を用いればよい。
【００６９】
[Ｓ３０４]
続いて、３次元計測装置１００は、位置姿勢算出部１８０において、「数６」をもとに、行列Ｊの一般化逆行列（ＪＴ・Ｊ）−１・ＪＴを用いて補正値Δｓを求める。
【００７０】
ここで、エッジには、誤検出などによる外れ値が多いため、次に述べるようなロバスト推定手法を用いる。一般に、外れ値であるエッジでは、誤差「ｄ−ｒ」が大きくなる。そのため、「数５」、「数６」の連立方程式に対する寄与度が大きくなり、その結果得られる補正値Δｓの精度が低下してしまう。そこで、誤差「ｄ−ｒ」の絶対値が大きいデータには、小さな重みを与え、誤差「ｄ−ｒ」の絶対値が小さいデータには、大きな重みを与える。重みは、例えば、「数７」に示すようなＴｕｋｅｙの関数により与える。
2011179908.tif 000009
【００７１】
なお、重みを与える関数は、Ｔｕｋｅｙの関数である必要はなく、誤差の絶対値が大きいデータに対して小さな重みを与え、誤差の絶対値が小さいデータに対して大きな重みを与える関数であれば良い。そのため、例えば、Ｈｕｂｅｒの関数などを用いてもよい。各エッジに対応する重みをｗｉとし、ここで「数８」のように重み行列Ｗ１を定義する。
2011179908.tif 000010
【００７２】
重み行列Ｗは、対角成分以外は全て「０」の正方行列であり、対角成分には重みｗｉが入る。本実施形態においては、「数８」の重み行列に加え、図３のＳ１０６の処理で算出された信頼度により確実性の高いエッジの寄与度を大きくする。これにより、位置姿勢算出処理の精度を向上させる。
【００７３】
ここで、３次元計測装置１００は、位置姿勢算出部１８０において、図６に示す信頼度付きモデルを参照し、全ての２次元投影エッジに対応する信頼度を取得する。このとき、各エッジの信頼度をｒｉとし、「数９」のように重み行列Ｗ２を定義する。
2011179908.tif 000011
【００７４】
重み行列Ｗ２は、対角成分以外は全て「０」の正方行列である。対角成分には、選択された視点における各エッジの信頼度ｒｉが入る。
【００７５】
重み行列Ｗ１，Ｗ２を用いて、「数１０」のように重み行列Ｗを定義する。
Ｗ＝Ｗ１・Ｗ２      （数１０）
【００７６】
この重み行列Ｗを用いて、「数６」を「数１１」のように変形する。
ＷＪΔｓ＝ＷＥ      （数１１）
【００７７】
「数１２」のように「数１１」を解くことにより補正値Δｓを求める。
Δｓ＝（ＪＴＷＪ）−１ＪＴＷＥ      （数１２）
【００７８】
[Ｓ３０５]
３次元計測装置１００は、位置姿勢算出部１８０において、Ｓ３０４の処理で算出された補正値Δｓにより、Ｓ３０１の処理で得られた位置及び姿勢の概略値を補正する。これにより、計測対象物体の位置及び姿勢を求める。
【００７９】
[Ｓ３０６]
３次元計測装置１００は、位置姿勢算出部１８０において、計測対象物体の位置及び姿勢の計測値が収束しているか否かの判定を行なう。収束していれば、この処理は終了し、そうでなければ、再度、Ｓ３０２の処理に戻る。なお、収束しているか否かは、補正値Δｓがほぼ０である場合や、誤差ベクトルの二乗和の補正前と補正後の差がほぼ０である場合に収束したと判定する。
【００８０】
以上説明したように実施形態１によれば、各エッジの信頼度が付与された３次元幾何モデル（信頼度付きモデル）を生成し、当該モデルを用いて位置姿勢算出処理を実施する。このとき、３次元幾何モデルにおける各エッジを当該各エッジに対応付けられた信頼度を用いて重み付けして位置姿勢算出処理を実施し、位置姿勢算出処理に対する各エッジの寄与度を変更する。
【００８１】
これにより、撮像画像から検出されるエッジが視点変化に伴って変化した場合であっても、計測対象物体の３次元情報（すなわち、計測対象物体の位置及び姿勢）の計測を精度良く行なえる。
【００８２】
また、計測対象物体の３次元幾何モデルにおける各エッジに対して信頼度を求めるため、撮像画像から検出されたエッジに対して信頼度を求める場合に比べて、背景領域などのエッジが混ざらない。そのため、信頼度の算出を高速化できるとともに、また、その値の確実性も高めることができる。また更に、３次元幾何モデルを用いて当該モデルにおける各エッジの信頼度を予め算出しておくため、位置姿勢算出処理における処理速度も低下させない。
【００８３】
［実施形態１の変形例−１］
上述した実施形態１では、３次元幾何モデルにおける各エッジの信頼度を用いて「数９」の重み行列を定義し、この重み行列により位置姿勢算処理に対する各エッジの寄与度を変更していたが、これ以外の方法で寄与度を変更してもよい。
【００８４】
例えば、「数７」の定数ｃ１の値をエッジの信頼度に基づいて変更しても良い。具体的には、対応する各エッジの信頼度が高ければｃ１を大きく、信頼度が低ければｃ１を小さく設定する。これにより、位置姿勢算出処理に対する各エッジの寄与度を変更できる。なお、この場合においては、「数１０」で定義された重み行列Ｗは、「数１３」のように定義する。これにより、信頼度の高いエッジほど重みを大きくすることができる。
Ｗ＝Ｗ１      （数１３）
【００８５】
［実施形態１の変形例−２］
上述した実施形態１では、写実的レンダリングの利用して複数の視点画像を生成する場合について説明したが、これに限られず、撮像部１６０により撮像される撮像画像と類似した画像を生成できるのであれば、別の手法を用いてもよい。例えば、ロボットアームの先端にカメラを取り付け、所望の位置及び姿勢にカメラを動かすことにより対象物体を撮像した画像を複数の視点画像としてもよい。この場合、撮像するカメラの内部パラメータ（焦点距離、主点位置、レンズ歪みパラメータ）は、撮像部１６０の内部パラメータと同様に、例えば、「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」に開示される手法を用いて、事前に校正しておけばよい。
【００８６】
（実施形態２）
次に、実施形態２について説明する。実施形態２においては、各視点画像から検出されたエッジの信頼度を加味した信頼度付きモデルを生成する場合について説明する。
【００８７】
なお、実施形態２に係わる３次元計測装置１００における機能的な構成は、実施形態１を説明した図１と同様の構成となるため、ここでは、その詳細な説明については省略する。
【００８８】
構成上における相違点としては、信頼度算出部１４０は、上述した機能の他、エッジ信頼度算出機能と、信頼度総和算出機能とを備えている。エッジ信頼度算出機能とは、複数の視点画像各々から検出されたエッジ各々（第２のエッジ各々）の信頼度を算出する機能である。
【００８９】
また、信頼度総和算出機能とは、３次元幾何モデルにおける各エッジ（３次元エッジ）に対して、各視点画像から検出されたエッジ（３次元射影エッジ）が対応付けられた際に、３次元射影エッジの信頼度を当該対応付けられた３次元エッジに付与する機能である。３次元エッジ各々に対して、３次元射影エッジが持つ信頼度を加算して付与する。これにより、最終的な３次元エッジ各々に付与する信頼度（第１のエッジ毎の信頼度）を算出する。
【００９０】
次に、実施形態１と相違する処理ついて説明する。相違する処理としては、信頼度付きモデルの生成処理（図３）が挙げられる。ここで、図１１を用いて、実施形態２に係わる信頼度付きモデルの生成処理の流れについて説明する。
【００９１】
[Ｓ４０１]
この処理が開始すると、３次元計測装置１００は、視点画像生成部１２０において、計測対象物体を複数の異なる視点から観測した複数の視点画像をシミュレーションにより生成する。この処理は、実施形態１と同様であるため、その詳細な説明については省略する。
【００９２】
[Ｓ４０２]
３次元計測装置１００は、エッジ検出部１３０において、Ｓ４０１の処理で生成された各視点画像からエッジ（２次元エッジ）を検出する。そして、信頼度算出部１４０において、当該検出した２次元エッジの信頼度を算出する。
【００９３】
信頼度の算出では、まず、各２次元エッジの制御点に対し、エッジの法線方向に探索ラインを設定する。本実施形態においては、探索ラインの輝度勾配の変化率に基づいて２次元エッジの信頼度ｒｉを算出する。例えば、ある視点画像から検出された全ての２次元エッジにおける探索ライン方向の輝度勾配の最大変化率をｇｒａｄｍａｘとし、最小変化率をｇｒａｄｍｉｎとする。また、参照エッジ（信頼度の算出対象となる２次元エッジ）における探索ライン方向の輝度勾配の変化率をｇｒａｄとする。これにより、各２次元エッジの信頼度ｒｉを「数１４」に示す関数を用いて求める。
2011179908.tif 000012
【００９４】
なお、本実施形態においては、２次元エッジの信頼度を輝度勾配により求める場合について説明するが、２次元エッジの信頼度の算出方法は、これに限られない。例えば、画像中に２次元エッジが密集する領域では、複数の２次元エッジが誤って検出され易い。そのため、その性質を利用して、参照エッジの制御点付近における２次元エッジの密度に応じて信頼度を算出ようにしても良い。この一例として、例えば、参照エッジの制御点を中心とする一定領域内における制御点の数が少ないものに高い信頼度を与えるような関数などが挙げられる。また、これ以外にも、参照エッジの制御点に対し、一番近い制御点との距離を求め、この距離の大きいものに高い信頼度を与えてもよい。信頼度の算出後、各２次元エッジは、上述の処理により求めた信頼度を保持する。
【００９５】
[Ｓ４０３〜Ｓ４０７]
次に、３次元計測装置１００は、信頼度算出部１４０において、実施形態１と同様（Ｓ１０３）にして、３次元幾何モデルにおける３次元エッジに対して、Ｓ４０２で検出された２次元エッジを対応付ける。
【００９６】
ここで、信頼度算出部１４０は、Ｓ４０１〜Ｓ４０６の処理を繰り返し実施し、３次元幾何モデルにおける各エッジ（３次元エッジ）に対して、各視点画像から検出されたエッジ（３次元射影エッジ）が対応付けられた回数をカウントする。また、このとき、３次元幾何モデルにおける各エッジ（３次元エッジ）に対して、対応付けられた２次元エッジ（３次元射影エッジ）が持つ信頼度を加算する。このカウント値及び信頼度の値は、エッジリストデータに保持される。
【００９７】
ここで、図１２を用いて、エッジリストデータについて説明する。このリストには、３次元幾何モデルを構成するエッジ（３次元エッジ）に関する情報が保持される。
【００９８】
エッジリストデータには、各３次元エッジを識別する制御点番号と、制御点の３次元座標と、エッジの方向を示す３次元ベクトルと、異なる視点画像において当該３次元エッジが観測された回数を示すカウント値とを含む情報が保持される。
【００９９】
また、実施形態２に係わるエッジデータリストには、各視点別信頼度の総和も保持される。各視点別信頼度の総和は、当該３次元エッジに対応付けられた２次元エッジが持つ信頼度の総和を示している。つまり、２次元エッジが対応付けられる度に、当該２次元エッジの持つ信頼度（「数１４」により算出された信頼度）が、対応する３次元エッジに加算される。
【０１００】
[Ｓ４０８]
３次元計測装置１００は、信頼度算出部１４０において、図１２に示すエッジリストデータにおけるエッジ毎に、視点別信頼度の総和をカウント値で除算して平均化する。これにより、３次元幾何モデルにおける各エッジの信頼度を算出する。なお、位置姿勢算出処理においては、実施形態１と同様に、３次元幾何モデルの各エッジの持つ信頼度に応じて当該各エッジを重み付けすることにより、位置姿勢算出処理への各エッジの寄与度を変更して行なわれる。
【０１０１】
以上説明したように実施形態２によれば、各視点画像から検出されたエッジの信頼度を加味した信頼度付きモデルを生成する。これにより、信頼度付きモデルにおける各エッジの信頼度に対して、各視点から検出されるエッジの精度をも反映させることができる。
【０１０２】
（実施形態３）
次に、実施形態３について説明する。実施形態３においては、信頼度付きモデルの生成において、視点画像における各エッジの信頼度を算出する。そして、視点画像における各エッジと３次元幾何モデルにおける各エッジを対応付ける。これにより、信頼度付きモデルにおける各エッジは、複数の視点画像各々に応じた信頼度を持つ。すなわち、実施形態３に係わる３次元幾何モデルは、視点別に各エッジの信頼度を持つことになる。
【０１０３】
なお、実施形態３に係わる３次元計測装置１００における機能的な構成は、実施形態１を説明した図１と同様の構成となるため、ここでは、その詳細な説明については省略する。
【０１０４】
構成上における相違点としては、信頼度算出部１４０は、上述した機能の他、エッジ信頼度算出機能と、視点別信頼度付与機能とを備えている。エッジ信頼度算出機能とは、複数の視点画像各々から検出されたエッジ各々（第２のエッジ各々）の信頼度を視点別に算出する機能である。より具体的には、視点画像各々から検出されたエッジ（第２のエッジ）の信頼度は、その検出元となる視点画像毎に分けられて別々に算出される。
【０１０５】
また、視点別信頼度付与機能とは、３次元幾何モデルにおける各エッジ（３次元エッジ）に対して、各視点画像から検出されたエッジ（３次元射影エッジ）が対応付けられた際に、３次元エッジに対して３次元射影エッジの視点別の信頼度を付与する機能である。３次元エッジ各々に対して、３次元射影エッジにおける視点別の信頼度を付与することにより、最終的には、３次元エッジ各々に対して視点別の信頼度が付与される。
【０１０６】
次に、実施形態１と相違する処理ついて説明する。相違する処理としては、信頼度付きモデルの生成処理と、位置姿勢算出処理とが挙げられる。
【０１０７】
ここで、図１３を用いて、実施形態３に係わる信頼度付きモデルの生成処理の流れの一例について説明する。なお、Ｓ５０１〜Ｓ５０４までの処理は、実施形態２を説明した図１１のＳ４０１〜Ｓ４０４までの処理と同様の処理になるため、ここでは、Ｓ５０５以降の処理について説明する。
【０１０８】
[Ｓ５０５〜Ｓ５０７]
Ｓ５０３の処理において、２次元エッジの信頼度を算出し、Ｓ５０４の処理において、３次元幾何モデルにおける３次元エッジに対して、Ｓ５０２で検出された２次元エッジに対応付けられる。Ｓ５０５で、３次元計測装置１００は、信頼度算出部１４０において、２次元エッジと対応付けられた３次元エッジに対して、２次元エッジの保持する信頼度を付与する。Ｓ５０６において、未処理の視点画像があれば、Ｓ５０１に戻って次の視点画像に対して同様の処理を行う。Ｓ５０１〜Ｓ５０６の処理により、各３次元エッジに対して視点毎に異なる信頼度を付与する。
【０１０９】
これにより、Ｓ５０７で視点別の信頼度付きモデルが生成される。すなわち、３次元幾何モデルにおける各エッジが視点別に複数の信頼度を持つ信頼度付きモデルが生成される。
【０１１０】
ここで、図１４を用いて、Ｓ５０７の処理により生成される視点別の信頼度付きモデルの一例について説明する。
【０１１１】
信頼度付きモデルには、各３次元エッジを識別する制御点番号と、制御点の３次元座標と、エッジの方向を示す３次元ベクトルと、各視点における信頼度とを含む情報が保持される。各視点における信頼度は、視点０〜視点６０まで設けられており、この場合、６１個の視点画像に対して信頼度が算出されていることになる。なお、各視点画像を生成した時のカメラ視点には、一意に識別できる視点番号を割り当てておく。
【０１１２】
ここで、物体の位置及び姿勢を算出する際の処理について簡単に説明する。実施形態３においては、視点別の信頼度付きモデルの中から撮像部１６０により撮像される撮像画像の視点に最も近い視点の信頼度を取得する。この取得は、計測対象物体の位置及び姿勢の概略値に基づいて行なう。より具体的には、各視点画像を生成した視点の中から、その視点ベクトルと、概略値における視点ベクトルとのなす角度が最小のものを選択する。その後、選択された視点における信頼度を用いて、上述した実施形態１同様に、３次元幾何モデルの各エッジの持つ信頼度に応じて当該各エッジを重み付けすることにより、位置姿勢算出処理への各エッジの寄与度を変更する。
【０１１３】
以上説明したように実施形態３によれば、各視点に対応して信頼度を持つ視点別の信頼度付きモデルを生成する。これにより、視点に依存した各エッジの信頼度を位置姿勢算処理に対する各エッジの寄与度に反映させられるため、物体の位置及び姿勢の計測をより精度良く行なえる。
【０１１４】
［実施形態３の変形例−１］
上述した実施形態３では、各視点画像を生成した視点の中から、その視点ベクトルと、概略値における視点ベクトルとのなす角度が最小のものを選択することにより、視点別に保持された信頼度の中からいずれかの信頼度を取得していたが、これに限られない。
【０１１５】
例えば、各視点画像を生成した視点の中から、その視線ベクトルと、概略値における視線ベクトルとのなす角度が小さいものから順に３つ選択し、エッジ毎に３視点の信頼度を平均化して信頼度を算出してもよい。これ以外にも、例えば、選択された３視点と、３視点の重心との距離に基づいて重み付けすることにより信頼度を算出してもよい。
【０１１６】
［実施形態３の変形例−２］
上述した実施形態３では、３次元エッジの制御点に対して制御点番号を割り当て、２次元エッジがどの３次元エッジに該当するかを探索することにより、２次元エッジと３次元エッジとを対応付けていたが、これ以外の方法で対応付けを行なってもよい。例えば、各視点画像から検出された２次元エッジに対して検出番号を割り当て、この２次元エッジに対して３次元エッジを対応付けてもよい。そして、２次元エッジに対応付けられた３次元エッジに対して２次元エッジの信頼度を付与する。
【０１１７】
図１５は、このように構成した場合に、各２次元エッジを保持するエッジリストデータの一例を示す図である。このエッジリストデータは、視点別に生成される。
【０１１８】
エッジリストデータには、検出番号と、制御点座標と、エッジ方向ベクトルと、信頼度とを含む情報を保持する。この視点別のエッジリストデータは、全視点について求める。なお、各視点により検出されるエッジの数は異なるので、エッジデータリストにおけるエッジの数は視点別に異なってくる。
【０１１９】
以上が本発明の代表的な実施形態の例であるが、本発明は、上記及び図面に示す実施形態に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
【０１２０】
例えば、上述した実施形態１〜３では、モデル生成処理と、位置姿勢算出処理とを同じ装置で行なう場合について説明したが、これに限られない。例えば、モデル生成処理は、第１の装置（モデル生成装置）で行ない、位置姿勢算出処理は、第２の装置（３次元計測装置）で行なうように構成してもよい。
【０１２１】
なお、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施態様を採ることもできる。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１２２】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ、ＧＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011179908.tif 000013
【図２】
2011179908.tif 000014
【図３】
2011179908.tif 000015
【図４】
2011179908.tif 000016
【図５】
2011179908.tif 000017
【図６】
2011179908.tif 000018
【図７】
2011179908.tif 000019
【図８】
2011179908.tif 000020
【図９】
2011179908.tif 000021
【図１０】
2011179908.tif 000022
【図１１】
2011179908.tif 000023
【図１２】
2011179908.tif 000024
【図１３】
2011179908.tif 000025
【図１４】
2011179908.tif 000026
【図１５】
2011179908.tif 000027