(57)【特許請求の範囲】
【請求項１】
複数の視点から被写体を撮像した各画像を入力する画像入力手段と、
予め設定された色情報に基づいて、前記各画像から前記被写体を示す領域を抽出する領域抽出手段と、
前記領域抽出手段で抽出された各領域の輪郭線を取得する輪郭線取得手段と、
前記輪郭線それぞれを平滑化することにより、複数の平滑化輪郭線を取得する平滑化手段と、
前記複数の平滑化輪郭線上の点を前記各画像間で対応づける対応付け手段と、
前記対応付け手段により各画像間で対応づけられた点の三次元座標を導出する導出手段とを有し、
前記平滑化手段は、
前記輪郭線上に第１の点と第２の点とを設定する端点設定手段と、
前記輪郭線上において前記第１の点と前記第２の点との間に第３の点を設定する中点設定手段とを有し、
前記第１の点もしくは前記第２の点と、前記第３の点との距離が所定値未満になるまで、前記第３の点を、前記第１の点若しくは前記第２の点として再帰的に設定し、該再帰的に設定された前記第１の点と前記第２の点との間の点を新たに前記第３の点として設定するように、前記端点設定手段および前記中点設定手段による処理を繰り返し、
前記端点設定手段および前記中点設定手段で設定された点群のうち前記輪郭線上で隣り合う点を結ぶ線分群を前記平滑化輪郭線として取得することを特徴とする情報処理装置。
【請求項２】
前記所定値は、前記各画像上の４ピクセルに相当する距離であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記中点設定手段が、前記輪郭線上における前記第１の点と前記第２の点との中間に、前記第３の点を設定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
更に、前記複数の画像間で対応する複数の走査線と、前記平滑化輪郭線との交点を検出する交点検出手段と、
前記交点検出手段で検出された交点それぞれに対して、前記複数の走査線の各々に沿って前記交点のそれぞれを通過する平滑化輪郭線を輪郭とした領域が当該走査線の走査方向に対して何れの側にあるかを示す属性を判定する属性判定手段とを備え、
前記対応付け手段は、前記属性判定手段で判定された各交点の属性に基づいて、前記交点のうち前記各画像の間で対応関係にある点を対応づけることを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記対応付け手段は、
前記対応する走査線のそれぞれにおける前記交点の属性の比較を行うことにより、該走査線の第１の一致度を算出する第１の一致度算出手段と、
前記第１の一致度に基づいて、前記走査線で検出された交点のうち該複数の画像の間で対応関係にある対応点を判定する第１の対応点判定手段と、
前記第１の対応点判定手段で対応点と判定されなかった前記交点のうち、前記対応点と判定された交点を通過する平滑化輪郭線の上の他の交点を対応点として判定する第２の対応点判定手段と
を有することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記対応付け手段は、
前記複数の走査線の各々を、前記第１の対応点判定手段または前記第２の対応点判定手段で対応すると判定された対応点の位置で分割して複数の分割走査線を生成する走査線分割手段と、
前記複数の分割走査線ごとに前記複数の画像の間で前記交点の属性の比較を行うことにより、該複数の画像の間での該分割走査線の第２の一致度を算出する第２の一致度算出手段と、
前記第２の一致度に基づいて、前記交点のうち該複数の画像の間で対応関係にある対応点を判定する第３の対応点判定手段と
を更に有することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記走査線は、エピポーラ線であることを特徴とする請求項４乃至６の何れか１項に記載の情報処理装置。
【請求項８】
更に、前記導出手段で導出された点の三次元座標に基づいて、前記被写体を模した仮想物体を生成する生成手段を備えることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
更に、前記導出手段で導出された点の三次元座標に基づいて、前記被写体を含む画像と、仮想物体とを合成する合成手段とを備えることを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記画像は、ヘッドマウンテッドディスプレイまたはハンドヘルドディスプレイに装着された撮像装置によって撮像された画像であることを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
複数の視点から被写体を撮像した各画像を入力する画像入力工程と、
予め設定された色情報に基づいて、前記各画像から前記被写体を示す領域を抽出する領域抽出工程と、
前記領域抽出工程で抽出された各領域の輪郭線を取得する輪郭線取得工程と、
前記輪郭線それぞれを、することにより、複数の平滑化輪郭線を取得する平滑化工程と、
前記複数の平滑化輪郭線上の点を前記各画像間で対応づける対応付け工程と、
前記対応付け工程において各画像間で対応づけられた点の三次元座標を導出する導出工程と
を有し、
前記平滑化工程では、
前記輪郭線上に第１の点と第２の点とを設定する端点設定工程と、
前記輪郭線上において前記第１の点と前記第２の点との間に第３の点を設定する中点設定工程とを有し、
前記第１の点もしくは前記第２の点と、前記第３の点との距離が所定値未満になるまで、前記第３の点を、前記第１の点若しくは前記第２の点として再帰的に設定し、該再帰的に設定された前記第１の点と前記第２の点との間の点を新たに前記第３の点として設定するように、前記端点設定工程および前記中点設定工程による処理を繰り返し、
前記端点設定工程および前記中点設定工程で設定された点群のうち前記輪郭線上で隣り合う点を結ぶ線分群を前記平滑化輪郭線として取得することを特徴とする情報処理方法。
【請求項１２】
コンピュータを、請求項１乃至１０のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元配置計測技術の安定化に関する。
【背景技術】
【０００２】
近年、複合現実感（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ；ＭＲ）技術の研究が盛んである。ＭＲ技術は、現実空間とコンピュータによって作られる仮想空間を繋ぎ目なく融合する技術である。ＭＲ技術は、組み立て作業時に作業手順や配線の様子を重畳表示する組み立て支援、患者の体表面に体内の様子を重畳表示する手術支援等、様々な分野への応用が期待される。
仮想物体が現実空間に実在するように利用者が感じるためには、仮想物体と現実空間との間の幾何学的な整合性が重要である。複合現実感における幾何学的な整合性には、現実空間の座標系と仮想空間の座標系を一致させるための整合性と、現実物体と仮想物体の前後関係を正しく表現するための整合性とがある。前者の整合性を扱う問題は、複合現実感における位置合わせ問題とも呼ばれ、種々の研究報告が行われている（非特許文献１）。また後者の整合性を扱う問題は「オクルージョン問題」とも呼ばれ、特にカメラで撮像した画像に仮想物体を重畳させるビデオシースルー型のＭＲシステムでも重要な課題となる。
【０００３】
現実物体と仮想物体の前後関係、すなわち遮蔽（オクルージョン）を正しく表現するためには、遮蔽される現実物体または仮想物体の３次元配置情報を求める必要がある。すなわち、現実物体の３次元配置情報と仮想物体の３次元配置情報を比較し、現実物体が手前になる場合は、撮像した画像を手前に表示する。また、仮想物体が手前にある場合は、仮想物体を手前に表示するという処理をすればよい。この処理において、仮想物体は既知の３次元モデルがあるため、視点に対する３次元配置は算出可能である。しかし、現実物体を撮像しただけでは、現実物体の視点に対する３次元配置は未知であるため、現実物体の３次元配置を求めることが必要となる。
【０００４】
以下では、現実物体の３次元配置を計測する技術について述べる。一般的な３次元配置計測技術では、ステレオカメラで撮像した画像の注目点に対して、エピポーラ拘束と画素パッチの輝度情報に基づいてマッチングを行う。まず、ステレオカメラの一方の画像における注目点に対して、他方の画像におけるエピポーラ線上の点を対応点候補とする。次に対応点候補として残った各点の周辺の画素パッチに対して、注目点周辺の画素パッチとのパターンマッチングを行うことにより、精度よく対応点を求めることができる（非特許文献２、非特許文献３）。
【０００５】
非特許文献４では、ヘッドマウンテッドディスプレイに装着された２台のカメラを用いて現実物体の３次元位置を計測して、オクルージョンによる問題を解決しようとした。この手法では、仮想物体の描画領域のみで対応付けを行うことで計算量を削減した。
【０００６】
また、非特許文献５では、キーフレームと呼ばれる背景画像と現在のカメラの画像との差分によって移動物体の検出を行い、検出物体の境界線上の点をマッチングしている。境界上の点のみをマッチングするため、高速に処理することができる。
【０００７】
一方で、光源から出た光が現実物体で反射し、センサーに届くまでの光の飛行時間（遅れ時間）と光の速度から、被写体までの距離を得る手法を用いて、３次元位置を計測するＴＯＦ（Ｔｉｍｅ  Ｏｆ  Ｆｌｉｇｈｔ）法がある（非特許文献６）。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】佐藤，  内山，  田村，  “複合現実感における位置合わせ手法”，  日本ＶＲ学会論文誌，Ｖｏｌ．８，ｎｏ．２，ｐｐ．１７１−１８０，２００３．
【非特許文献２】田村，“コンピュータ画像処理”，オーム社，２００２．
【非特許文献３】佐藤，“コンピュータビジョン  −視覚の幾何学−”，コロナ社，１９９９．
【非特許文献４】Ｙｏｋｏｙａ，Ｔａｋｅｍｕｒａ，Ｏｋｕｍａ，ａｎｄ  Ｋａｎｂａｒａ，“Ｓｔｅｒｅｏ  Ｖｉｓｉｏｎ  Ｂａｓｅｄ  Ｖｉｄｅｏ  Ｓｅｅ−Ｔｈｒｏｕｇｈ  Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ”，Ｐｒｏｃ．Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｉｍｐｏｓｉｕｍ  ｏｎ  Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ（ＩＳＭＡＲ９９），ｐａｇｅ１３１−１４５，１９９９．
【非特許文献５】林建一，加藤博一，西田正吾，“境界線ベースステレオマッチングを用いた実物体と仮想物体の前後判定”，日本バーチャルリアリティ学会論文誌，Ｖｏｌ．１０，Ｎｏ．３，ｐｐ．３７１−３８０，２００５．
【非特許文献６】Ｔ．  Ｏｇｇｉｅｒ，  Ｂ．  Ｂｕｔｔｇｅｎ，Ｆ．  Ｌｕｓｔｅｎｂｅｒｇｅｒ，  “ＳｗｉｓｓＲａｎｇｅｒ  ＳＲ３０００  ａｎｄ  ｆｉｒｓｔ  ｅｘｐｅｒｉｅｎｃｅｓ  ｂａｓｅｄ  ｏｎ  ｍｉｎｉａｔｕｒｉｚｅｄ  ３ｄ−ＴＯＦ  Ｃａｍｅｒａｓ，”  Ｓｗｉｓｓ  Ｃｅｎｔｅｒ  ｆｏｒ  Ｅｌｅｃｔｒｏｎｉｃｓ  ａｎｄ  Ｍｉｃｒｏｔｅｃｈｎｏｌｏｇｙ，  ＣＳＥＭ，  ＩＥＥ，  Ｆａｃｈｈｏｃｈｓｃｈｕｌｅ  Ｒａｐｐｅｒｓｗｉｌ  Ｓｗｉｔｚｅｒｌａｎｄ，  Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ，  ２００５
【発明の概要】
【発明が解決しようとする課題】
【０００９】
非特許文献４では、仮想物体の描画領域のみでステレオマッチングを行っているため処理を削減できるが、計測精度の影響を受け、仮想物体と現実物体との境界が正しく表示できず、複合現実感においてユーザーに違和感を与える問題があった。
【００１０】
非特許文献５では、キーフレームとの差分によって物体領域を検出して、物体領域の境界線のステレオマッチングを行っており、仮想物体と現実物体との境界での計測精度が向上し、ユーザーに与える違和感は改善された。しかし、フレーム間で背景差分領域が変化することによるノイズに関しては考慮されておらず、生成される奥行き値のフレーム間のばらつきが大きい。このばらつきの大きさにより、体験者の没入感を阻害する可能性があった。
【００１１】
本発明は、以上の課題を鑑みてなされたものであり、対象物体の３次元配置を高速かつ安定的に計測することができる３次元位置配置装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的は、以下の装置によって達成される。
【００１３】
複数の視点から被写体を撮像した各画像を入力する画像入力手段と、
予め設定された色情報に基づいて、前記各画像から前記被写体示す領域を抽出する領域抽出手段と、
前記領域抽出手段で抽出された各領域の輪郭線を取得する輪郭線取得手段と、
前記輪郭線それぞれを平滑化することにより、複数の平滑化輪郭線を取得する平滑化手段と、
前記複数の平滑化輪郭線上の点を前記各画像間で対応づける対応付け手段と、
前記対応付け手段により各画像間で対応づけられた点の三次元座標を導出する導出手段とを有することを特徴とする情報処理装置。
【発明の効果】
【００１４】
本発明によれば、カメラノイズや照明ノイズ等のノイズによる影響を軽減し、対象物体の３次元位置計測を比較的安定して実施できる。また安定化処理の実行時に生成される中間情報を３次元計測処理の情報に流用することにより、高速に３次元計測を実施できる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施形態における、３次元位置計測装置の機能構成を示すブロック図である。
【図２】第１の実施形態における、基準点検出部２０００の機能構成を示すブロック図である。
【図３】第１の実施形態における、対応点検出部３０００の機能構成を示すブロック図である。
【図４】第１の実施形態における、基準点検出部２０００が行う処理のフローチャートである。
【図５】第１の実施形態における、基準点検出部２０００が行う領域分割の結果を説明する図である。
【図６】第１の実施形態における、抽出領域の２値画像に走査線３００を重ねて表示した図である。
【図７】第１の実施形態における、対応点検出部３０００の処理のフローチャートである。
【図８】第１の実施形態における、走査線上の交点の属性を求め方を説明する図である。
【図９】第１の実施形態における、抽出領域に交点を重ねて表示した図である。
【図１０】第１の実施形態における、抽出領域の境界線と走査線の交点を示した図９から、走査線Ｊを取り出した模式図である。
【図１１】第１の実施形態における、走査線上で対応点を求める方法を説明するための模式図である。
【図１２】第１の実施形態における、物体位置算出部４０００の処理のフローチャートである。
【図１３】第１の実施形態における、平滑化の処理を示すフローチャートである。
【図１４】第１の実施形態における、平滑化処理により最終的に得られる分割点を示す模式図である。
【図１５】第１の実施形態における、３次元位置計測装置のハードウェア構成を示すブロック図である。
【図１６】第１の実施形態における、物体位置算出部４０００の機能構成を示すブロック図である。
【図１７】第１の実施形態における、平滑化の効果を説明する模式図のうち、ノイズの影響を受けない理想的な状態で交点情報を求めた結果を示す模式図である。
【図１８】第１の実施形態における、平滑化の効果を説明する模式図のうち、平滑化をしない状態で交点情報を求めた結果を示す模式図である。
【図１９】第１の実施形態における、平滑化の効果を説明する模式図のうち、平滑化をした状態で交点情報を求めた結果を示す模式図である。
【図２０】第１の実施形態における、輪郭線分割部２０４０の処理を説明する模式図である。
【図２１】第１の実施形態における、再帰的な分割処理による分割点の変化を示す模式図である。
【発明を実施するための形態】
【００１６】
〔第１の実施形態〕
本実施形態では、光軸を水平に固定した２台の撮像装置で撮像した画像に基づいて、撮像装置に対する現実物体の３次元位置を計測するための情報処理装置について説明する。本実施形態では、現実物体として人間の手の３次元位置を計測する。
【００１７】
（構成例）
図１は、本実施形態における現実物体の３次元位置を計測する情報処理装置２００の機能構成を示すブロック図である。
【００１８】
図１に示すように、本実施形態に係る情報処理装置は、撮像装置１００及び撮像装置１１０、画像入力部１０００、基準点検出部２０００、対応点検出部３０００、物体位置算出部４０００、保持部５０００によって構成される。撮像装置１００及び撮像装置１１０によって撮像された画像に基づいて現実物体の３次元位置を計測し、３次元位置情報を出力する。
【００１９】
まず、撮像装置１００及び撮像装置１１０は、ビデオカメラであり、異なる複数の視点から、現実物体１５０が存在するシーンを同時に撮像する。本実施形態では、撮像装置１００の焦点距離やレンズ歪み係数等のカメラ内部パラメータは予め求めておき、既知であるとする。また、撮像装置１００及び撮像装置１１０は、撮像装置間の相対位置姿勢のカメラ外部パラメータが既知であるとする。撮像装置１００及び撮像装置１１０の具体例として、ヘッドマウントディスプレイなどの同じ筺体に装着された２つのカメラなどが挙げられる。
【００２０】
画像入力部１０００は、撮像装置１００及び撮像装置１１０によって撮像された画像をコンピュータ内に取り込む。画像入力部１０００は、例えば、ＰＣに設置されたビデオキャプチャカード（画像取り込み機５０２）である。また、本実施形態では、取得した画像に対してレンズ歪み補正を行うことで、画像の歪みはないものとして扱う。コンピュータ内に取り込んだ画像データは、画像取り込み機５０２を介してＲＡＭ５０５上の保持部５０００に出力する
基準点検出部２０００は、撮像装置１００及び撮像装置１１０によって撮像された画像間の対応を比較判定するための基準点の点群となる画像座標群を検出する。図２に示すように、基準点検出部２０００は、領域抽出部２０１０、領域区別設定部２０２０、交点検出部２０６０、輪郭線分割部２０４０、平滑化部２０５０から構成される。
【００２１】
領域抽出部２０１０は、画像入力部１０００によって取得された画像を保持部５０００から入力し、色情報に基づいて領域抽出を行う。なお、ここでは、現実物体１５０の色情報を予め設定しておき、現実物体１５０の色情報に含まれる領域とそれ以外の領域とに分類する。領域抽出部２０１０は、抽出した領域を１、それ以外の領域を０とする２値画像を生成する。また、２値画像から抽出領域の輪郭線を算出し、輪郭線情報として保持部５０００に出力する。このとき、例えば、輪郭線は輪郭線が囲む領域が１である場合は、時計回り、囲む領域が０である場合は、反時計回りになるように方向を決定しておく。本実施形態において輪郭線情報は、例えば、８連結の画像座標リストとして保持する。ただし、本実施形態は輪郭線情報に、方向性を持つ８連結の画像座標リストで保持することに限定されるものではなく、輪郭線と内部領域の値を適切に表現するデータであれば適用可能である。例えば、輪郭線情報として４連結の画像座標リストと輪郭線が囲む内部の値を持つ変数を対応付けて保持してもよい。
【００２２】
領域区別設定部２０２０は、領域抽出部２０１０にて抽出した抽出領域にラベル付けを行うことで領域を区別する。ここでは、領域の面積の大きい順にラベルを付け、閾値以下の面積の領域はノイズとして除去する。ノイズ除去を行い、残った領域の輪郭線情報とラベル情報を対応付けて保持部５０００へ出力する。
【００２３】
輪郭線取得部２０３０は、抽出領域の輪郭線を取得する。
【００２４】
輪郭線分割部２０４０は、保持部５０００から、輪郭線情報を取得し、入力された対象物体の外形の特徴を残して、輪郭線を分割する。
【００２５】
本実施形態においては、分割の処理は再帰的に実施するため、最初の分割が終わった時点で、分割点により分割された輪郭線の距離の長さから、分割した輪郭線が分割点を結ぶ真っすぐ線分に近似されたか否かを判定する。線分に近似できない輪郭をさらに分割する。輪郭線分割部２０４０は、最終的に得られた輪郭線の分割点の画像座標を保持部５０００に出力する。輪郭線分割の再帰的処理の詳細については後述する。
【００２６】
なお、本実施形態においては輪郭線の分割に再帰的な分割アルゴリズムを利用することに限定されるものではなく、最終的に対象物体の特徴を残して平滑化できる輪郭線分割アルゴリズムであれば適用可能である。例えば、輪郭線の曲率が閾値よりも大きい場合は分割点を追加するという方法でも適用可能である。
【００２７】
平滑化部２０５０は、輪郭線分割部２０４０で出力された分割点を線分で結ぶことで、元の輪郭線を平滑化した平滑化輪郭線の輪郭線情報を生成する。平滑化した輪郭線情報は保持部５０００に出力され、輪郭線取得部２０３０で取得された元の情報と置き換えられる。以降、置き換えられた輪郭線情報が取得された輪郭線情報であるとする。
【００２８】
交点検出部２０６０は、検出処理の前に、撮像装置１００と撮像装置１１０によって撮像した各画像に走査線を予め設定しておく。この走査線は、各画像間で、現実空間における同じ位置を通過しているとみなした線である。
【００２９】
走査線を設定する例として、撮像装置１００と撮像装置１１０との相対位置があらかじめ分かっていれば、画像上においてどの位置を通過しているかを想定して設定することができる。例えば、ヘッドマウントディスプレイの同じ高さの左右に水平で配置されていれば、撮像装置１００で撮像された画像と撮像装置１１０で撮像された画像との各々の同じ高さに水平線を引けばよい。これは、後述するエピポーラ線の一種に含まれる。
【００３０】
他にも、走査線を設定する例として、撮像装置１００と撮像装置１１０とが撮像する現実空間に視覚レーザーをライン状に照射すれば、撮像装置１００と撮像装置１１０との両方で撮像されたレーザーラインの延長線を走査線として用いることができる。
【００３１】
本実施形態では、走査線として、一般的にエピポーラ線と呼ばれる線を設定する。エピポーラ線について簡単に説明する。２台の撮像装置の視点をそれぞれＣ，Ｃ’とし、３次元空間中のある点をＰとすると、このＣ，Ｃ’，Ｐの３点は空間中に一つの平面Σを定義できる。この平面をエピポーラ平面と呼び、エピポーラ平面と画像面が交差してできる直線をエピポーラ線と呼ぶ。
【００３２】
本実施形態では、撮像装置１００の画像の画像中心を通り、垂直方向に１０ピクセル単位で区切る点群Ｐｎと、撮像装置１００の視点Ｃと撮像装置１１０の視点Ｃ’とからエピポーラ平面群Ｌｎを算出する。そして、撮像装置１００と撮像装置１１０の各投影面におけるエピポーラ線群Ｅｎ（必要に応じて走査線３００と言い換える）を配置する。
【００３３】
このように、あらかじめエピポーラ線群を用意しておくことで、左右の画像で抽出領域の輪郭線マッチングを高速に行うことができる。
【００３４】
そして、交点検出部２０６０は、平滑化部２０５０で算出した輪郭線情報と走査線情報３００を入力して、平滑化した輪郭線と走査線の交点を検出する。さらに、交点の近傍における属性を記録する。この属性は、交点が、走査線の走査方向に対して、抽出領域の左側なのか、右側なのかを判定するための特徴である。図８に示すように、走査線上を左から右に探索して、交点上で抽出領域が０から１に変化する場合には正の符号を与え、１から０に変化する場合には負の符号を与える。
【００３５】
本実施形態では、例えば輪郭線の方向によって判断する。すなわち、交点における輪郭線の次のピクセルの方向が上、右上、右、左上のいずれかを指している場合は、抽出領域の左側と判断する。逆に、交点における輪郭線の次のピクセルの方向が下、左下、左、右下のいずれかを指している場合は、抽出領域の右側と判断する。
【００３６】
交点を領域の左側と判断した場合は、属性に１を設定し、領域の右側と判断した場合は属性に−１を設定する。この属性は、対応点検出部３０００の対応付けに利用する。
【００３７】
得られた交点の画像座標と属性は、交点情報として保持部５０００へ出力する。
【００３８】
保持部５０００は、以下の管理する情報のデータを保持する。
・カメラ映像（撮像部１００、１１０から得られた映像）
・輪郭線情報（ラベルと画像座標の連結リストを要素として持つ）
・輪郭線の分割点情報（輪郭線平滑化のために生成した分割点の画像座標リスト）
・交点情報（輪郭線とエピポーラ線の交点を表わす画像座標のリストと、交点の領域における左側か右側かを判断する属性リストを要素として持つ）
・対応点情報（対応付け部３０００の処理によって出力される左右画像の交点の対応情報）
保持部５０００は、管理する情報を対応点検出部３０００に出力する。
なお、本実施形態においては、保持部５０００に上記のデータ種を保存することに限定されるものではなく、物体配置算出部４０００の処理に流用可能な、対象物体の特徴を残した輪郭線の分割点情報を含んでいればよい。
【００３９】
対応点検出部３０００は、基準点検出部２０００で検出された交点情報に基づいて、撮像装置１００と撮像装置１１０とで撮像した画像間の対応関係となる対応点を検出する。
【００４０】
図３は、対応点検出部３０００の構成を示すブロック図である。対応点検出部３０００は、属性判定部３０１０、第１の一致度算出部３０２０、第１の対応点判定部３０３０、領域対応付け部３０４０、第２の対応点判定部３０５０、走査線分割部３０６０、第３の対応点判定部３０８０から構成される。
【００４１】
属性判定部３０１０は、保持部５０００から交点情報と輪郭線情報を入力して、走査線３００上における交点の属性をリスト化する。具体的には、走査線上の交点が、走査線の走査方向に対して、抽出領域の左側なのか、右側なのかを判定した属性を走査線ごとにリスト化する。
【００４２】
第１の一致度算出部３０２０は、第１の撮像装置１００で撮像した画像における交点属性リストと、第２の撮像装置１１０で撮像した画像における交点属性リストの比較を行い、一致度Ｐを算出する。算出した一致度Ｐを第１の対応点判定部３０３０へ出力する。
【００４３】
第１の対応点判定部３０３０は、第１の一致度算出部３０２０から交点属性リストの一致度Ｐを入力し、交点属性リストの一致度に基づいて、画像間で対応関係となる対応点の判定を行う。対応点の画像座標の組を対応点情報として領域対応付け部３０４０へ出力する。
【００４４】
領域対応付け部３０４０は、第１の対応点判定部３０３０から対応点情報を入力する。対応点が存在する平滑化された輪郭線と、その輪郭線が境界となる抽出領域のラベルとを対応付け、抽出領域のラベルを平滑化された輪郭線の対応情報として第２の対応点判定部３０５０へ出力する。
【００４５】
第２の対応点判定部３０５０は、領域対応付け部３０４０で判定された領域の対応付けから、第１の対応点判定部３０３０で判定された対応点を通過した輪郭線が通過する他の交点も同様に対応点とする。新たな対応点情報を走査線分割部３０６０へ出力する。
【００４６】
走査線分割部３０６０は、第２の対応点判定部３０５０から対応点情報を入力し、対応点に基づいて交点属性リストを分割する。具体的には、対応点の位置で走査線を分割した分割走査線を用意する。交点属性リスト内で、対応点の位置にあった属性以外の属性は、分割走査線の何れかの属性となる。分割した交点属性リストを第３の第２の一致度算出部３０７０へ出力する。
【００４７】
第２の一致度算出部３０７０は、第１の撮像装置１００で撮像した画像における分割した交点属性リストと、第２の撮像装置１１０で撮像した画像における分割した交点属性リストの比較を行い、一致度Ｑを算出する。算出した一致度Ｑを第３の対応点判定部３０８０へ出力する。
【００４８】
第３の対応点判定部３０８０は、走査線分割部３０６０から分割した交点属性リストを入力する。分割した交点属性リストの一致度Ｑに基づいて、対応点を判定し、対応点情報を保持部５０００に出力する。
【００４９】
物体配置算出部４０００は、交点情報と対応点情報に基づいて、対象物体の３次元配置を算出する。ここでの３次元配置とは、３次元の位置、姿勢、もしくは位置姿勢を示す。
【００５０】
図１６は、物体配置算出部４０００のブロック図である。物体配置算出部４０００は、交点奥行き算出部４０１０、輪郭線奥行き補間部４０２０、３次元配置生成部４０３０から構成される。
【００５１】
交点奥行き算出部４０１０は、保持部５０００から交点情報と対応点情報を入力し、２つの画像において対応付けられた交点の撮像装置に対する奥行きを算出する。算出した交点の奥行き値は、撮像装置１００、撮像装置１１０の夫々の画像における交点情報にそれぞれ対応付ける。検出した対応点情報と奥行き値を輪郭線奥行き補間部４０２０に出力する。
【００５２】
輪郭線奥行き補間部４０２０は、輪郭線上に算出された複数の交点の奥行き値から線形補間することにより輪郭線のピクセル全体に奥行き値設定する。奥行き値付きの輪郭線情報は、３次元配置生成部４０３０に出力する。
【００５３】
３次元配置生成部４０３０は、保持部５０００の輪郭線分割情報を入力し、分割点の画像座標と、分割点における輪郭線の奥行き値とから、対象物体の３次元配置情報を生成する。
【００５４】
従来は、３次元配置生成部４０３０において、対象物体の形状の特徴を残した頂点情報を算出する必要がある。しかし、輪郭線分割部２０４０において、平滑化処理のために、あらかじめ生成した分割点を流用することにより、頂点情報算出処理の時間を省略することができる。
【００５５】
（基準点検出フロー）
次に、基準点検出部２０００の処理の詳細について述べる。図４に、基準点検出部２０００の処理の流れを示す。
【００５６】
ステップＳ２０１１では、予め登録しておいた、被写体となる物体色情報を入力する。
【００５７】
ステップＳ２０１２では、撮像装置１００、及び撮像装置１１０によって撮像した画像の各画素の色と、物体色情報が示す色とを比較する。
【００５８】
ステップＳ２０１３では、画像の各画素について色情報と被写体の色情報とを比較し、入力した物体色情報に含まれるならば１、それ以外なら０とする。
【００５９】
ステップＳ２０１４では、色情報の比較結果に基づいて２値画像を生成する。ここでは、入力した物体色情報に含まれるならば白、それ以外の領域を黒とする。
【００６０】
ステップＳ２０１５では、２値画像のラベリングを行う。
【００６１】
ステップＳ２０１６では、ラベリング後の画像から、設定した閾値よりも面積の小さい領域をノイズとして除去する。すなわち、ノイズと見なした領域内の０と１とを（白と黒とを）反転させる。
【００６２】
上記の方法では、物体領域を検出するために色情報によって領域抽出している。そのため、影になる部分や、同系色の領域がある場合には、ステップＳ２０１６で行うノイズ処理では、誤検出やノイズを完全に取り除くことができない。図５は、そのようなノイズを含んだ領域抽出結果の２値画像を示す。
【００６３】
領域抽出で用いられる色情報は、多次元色空間における座標値として記述できる。例えば、ＲＧＢ、ＹＩＱ、ＹＣｂＣｒ、ＹＵＶ、ＨＳＶ、Ｌｕｖ、Ｌａｂなど様々な種類がある。対象とする被写体の色彩特性に合わせて適当なものを任意に用いてよい。また、領域を分割する方法は上記に限るものではなく、色情報を用いる何れの方法で行ってもよい。
【００６４】
ステップＳ２０１７では、輪郭線分割部２０４０、および平滑化部２０５０が抽出された領域の輪郭線を平滑化する。平滑化の処理の詳細は後述する。
【００６５】
ステップＳ２０１８では、交点検出部２０６０が、平滑化された輪郭線と走査線との交点を検出し、画像座標を求める。図６に抽出領域の２値画像に走査線３００を重ねて表示した図を示す。本実施形態では、走査線３００に前述したエピポーラ線Ｅｎを用いるため、撮像装置１００で検出された対象物体の画像座標は、撮像装置１１０で撮像された画像の走査線上で検出されるという性質を持つ。一方で、撮像装置１１０で検出された対象物体の画像座標は、撮像装置１００で撮像された画像の走査線上で検出される。
【００６６】
走査線３００と平滑化された輪郭線が交わる点を交点情報として保持部５０００に保存する。ここで保存された交点情報は、対応点検出部３０００の処理によって撮像装置１００の画像の交点と撮像装置１１０の画像における交点が対応付けられる。
【００６７】
さらに、交点検出部２０６０は、交点の画像座標における輪郭線の次のピクセルへの方向を参照し、抽出領域が交点において、右側か左側か（走査線の始点側か終点側か）を判断して属性に保存する。この属性は交点座標と対応付けられて交点情報の一要素として記録される。
【００６８】
ステップＳ２０１９では、交点情報保持手段２０４０が交点情報と抽出領域の輪郭線情報を対応点検出部３０００へ出力する。
【００６９】
（輪郭線の分割処理の詳細フロー）
ここで、ステップＳ２０１７における輪郭線を分割することで、平滑化を行う処理の詳細を図１３に示すフローチャートと図２０、図２１に示す模式図を用いて説明する。
【００７０】
ステップＳ１３０１では、端点設定を行う。具体的には、輪郭線分割部２０４０が、輪郭線上にある画素群の画像座標の連結リストを参照し、リストの始点１８０１Ａ（第１の点）と終点１８０１Ｂ（第２の点）との２つの端点を設定する。そして、中点設定を行う。具体的には、２つの端点の中間となる中点Ｃ１８０２（第３の点）を決定する（図２０参照）。例えば、輪郭線の連結リストが２００ピクセルで構成されている場合は、１００ピクセル目の画像座標を中点Ｃ１８０２と設定する。
【００７１】
ステップＳ１３０２では、輪郭線分割部２０４０が、始点１８０１Ａ、終点１８０１Ｂ、分割した中点Ｃ１８０２の画像座標を保持部５０００の輪郭線の分割点情報として記録する。なお、重複する分割点が存在する場合には記録しない。
【００７２】
ステップＳ１３０３では、輪郭線分割部２０４０が、始点１８０１Ａと中点Ｃ１８０２との直線距離Ｌ１８０３と、始点１８０１Ａと中点Ｃ１８０２の２点を通過する輪郭線１８０４（例えば、元の輪郭線の左半分）の画像座標系における長さＮを算出する。画像座標系におけるピクセルに相当する長さＮは、上下左右に隣接するピクセル間の長さを１とし、８連結リストで斜め方向に配置された長さはルート２として算出する。ただし、本実施形態では、前述の輪郭線分割方法に限定されるものではなく、輪郭線の特徴的な形状を保ちながら平滑化できる算出方法であれば対応可能である。
【００７３】
ステップＳ１３０４では、輪郭線分割部２０４０が、ステップＳ１３０３で算出した輪郭線の長さＮが予め設定された所定値以上であるかどうか判定する。本実施形態においては、例えば４ピクセルを設定する。輪郭線の長さＮが４ピクセル以上であれば、ステップＳ１３０５に移行し、４ピクセル未満の場合は、ステップＳ１３０７に処理を移す。４ピクセル未満のときに分割を終了して次の輪郭線に処理を移すのは、輪郭線を細かくした線分群を生成しても平滑化の効果が期待できないためである。
【００７４】
ステップＳ１３０５では、輪郭線分割部２０４０が、Ｎの二乗とＬの二乗との差を算出し、予め設定された所定値以上であるかどうかを判定する。本実施形態においては、例えば５０を設定する。本実施形態では、直線の判定にＮとＬを用いた式を用いることに限定されるものではなく、輪郭線の特徴的な形状を残して平滑化できる輪郭線分割方法であれば適用可能である。
【００７５】
所定値を超える場合は、まだ直線に近似できないと判断してステップＳ１３０６に処理を移す。例えば、図２０において、始点１８０１Ａと中点Ｃ１８０２における直線距離Ｌと輪郭線の区間１８０４の長さＮを算出する。この事例では、所定値を超えるため、ステップＳ１３０６に処理を移す。
【００７６】
始点Ａを変えずに分割点である中点Ｃを終点Ｂに置き換えるため、始点Ａから始まる線分が直線に近似できるまで輪郭線を細分化する。所定値を下回るまで再帰的に輪郭線が分割された場合は、次の輪郭線の区間に処理を移すため、ステップＳ１３０７に移行する。
【００７７】
ステップＳ１３０６では、中点Ｃ１８０２を終点１８０１Ｂに置き換えて、ステップＳ１３０１に処理を移す。すなわち、処理する点を入れ替て再帰的に処理を実行する。次の処理では、図２１（Ａ）の中点１８２１を分割点とする。
【００７８】
ステップＳ１３０７では、輪郭線分割部２０４０が現在設定されている始点１８０１Ａと終点１８０１Ｂの間の輪郭線が直線に近似されたと判定し、始点１８０１Ａと終点１８０１Ｂの画像座標を保持部５０００の輪郭線の分割点情報として記録する。さらに、輪郭線分割部２０４０が、保持部５０００を参照し、現在処理している輪郭線のうち、処理が完了していない輪郭線の区間がないかどうかを判定する。すべての輪郭線の区間が処理されており、輪郭線の分割点情報に分割点が記録されている場合は処理を終了する。輪郭線の区間のなかで輪郭線が直線に近似できていない場合は、ステップＳ１３０８に処理を移す。
【００７９】
ステップＳ１３０８では、輪郭線分割部２０４０が、現在選択されている輪郭線の区間以外で分割処理が完了していない輪郭線の区間を選択し、現状の始点Ａと終点Ｂを選択した輪郭線の区間の始点と終点に置き換える。
【００８０】
ステップＳ１３０６では、始点を変えずに再帰的に分割処理を実行した。一方でステップＳ１３０８では、始点と終点をまだ処理が終了していない区間に移して処理を継続し、輪郭線の全区間において、分割処理ができるようにする。
【００８１】
このように、設定された点群のうち輪郭線上で隣り合う点を互いに結ぶ線分群を生成することで、平滑化輪郭線を生成した。すなわち、輪郭線上の２点の距離が、所定値未満になるまで、繰り返し分割し、所定値未満の長さの真っ直ぐの線分群に置き換えを行う。
【００８２】
ここで本実施形態において、撮像部１００から図２０の映像が出力された時の事例を示す。輪郭線を分割する処理を初めて、ステップＳ１３０５の判定が所定値を超えなくなるまで輪郭線を細分化したときの分割点の配置例を図２１の（Ａ）から（Ｄ）の模式図に示している。図のように、始点１８０１Ａを始点とする輪郭線を再帰的に求めている。このように平滑化処理を進めると、最終的に図１４のような結果となる。
【００８３】
（ノイズ軽減）
次に、この処理により、カメラノイズや照明ノイズ等のノイズを軽減する効果を説明する。図１７はノイズがない状態における撮像部１００と撮像部１１０の画像において、対象物体の輪郭線付近を抜き出した図を示している。図１８はカメラノイズや照明ノイズ等で交点と対応点との距離が変化する現象を示す模式図である。図１９は、平滑化をすることでノイズの影響を軽減する効果があることを説明する模式図である。
【００８４】
図１７（Ａ）は左に配置された撮像部１００の画像、図１７（Ｂ）は右に配置された撮像部１１０の画像を示す。図１７の点線で表示されている線１７０２Ｌと１７０２Ｒが対象物体１５０の理想の輪郭線を示している。図１７では、ステップＳ２０１３で領域抽出部２０１０が抽出した領域に模様を付けて示した。すなわち、模様が付いているピクセルが１、ついていないピクセルが０を表わしている。さらに、ステップＳ２０１５でラベリングにより輪郭線を求めた結果を輪郭線１７０３Ｌと１７０３Ｒに示している。
【００８５】
この状態で、ステップＳ２０１８により走査線と抽出領域（輪郭線）との交点を求めた結果が図１７の太枠で表示した交点１７０１Ｌと１７０１Ｒとする。さらに、図１７（Ａ）の交点１７０１Ｌを図１７（Ｂ）の画像の同じ位置に投影した点を対応点１７０５として提示している。すなわち、ノイズのない理想的な状態では、交点１７０１Ｒと対応点１７０５（交点１７０１Ｌ）は２ピクセル分の距離があることを示している。対象物体と撮像部が静止していれば、理想的にはこの２ピクセルの距離から変化しない。
【００８６】
しかし、実際には、カメラノイズや照明ノイズ等でこの距離が変化してしまう。すなわち、対象物体の理想的な輪郭線に対して、図１８（Ｂ）のように、正常に領域を検出できず、輪郭線の形状が理想とは大幅に異なっている。このときに抽出領域の輪郭線と走査線との交点は理想的な状態からずれが生じる。その結果、交点１７０１Ｒと対応点１７０５（交点１７０１Ｌ）の距離が３ピクセルとして出力される。すなわち、距離が変化したため、理想的な奥行き値に対して誤差が生じてしまう。さらに図１８（Ａ）と図１８（Ｂ）の次のフレームにおける処理結果を示しているのが図１８（Ｃ）と図１８（Ｄ）である。次のフレームもノイズの影響により、領域が正しく抽出されず、さらに前のフレームとも形状が異なっている。図１８（Ｄ）においては、交点１７０１Ｒと対応点１７０５の距離は１となる。すなわち、（Ａ）、（Ｂ）と（Ｃ）、（Ｄ）の２フレーム間で距離が大幅に異なる結果となるため、奥行き値に関しても安定しない。
【００８７】
一方で、本実施形態で示す平滑化を図１８（Ａ）〜（Ｄ）に適用した図が図１９（Ａ）〜（Ｄ）である。ノイズにより対象物体の理想的な輪郭線に対して、算出された輪郭線が異なっていることは変らない。しかし、平滑化によって、図１９（Ａ）、（Ｂ）と図１９（Ｃ）、（Ｄ）の交点１７０１Ｒと対応点１７０５との距離は両フレームとも２であり、安定化の効果があることがわかる。
【００８８】
（対応付け処理フロー）
次に、対応点検出部３０００の処理の詳細について述べる。図７に、対応点検出部３０００の処理の流れを示す。
【００８９】
ステップＳ３０１１では、属性判定部３０１０が、保持部５０００から、交点情報と輪郭線情報を入力する。
【００９０】
ステップＳ３０１３では、属性判定部３０１０が、交点情報と輪郭線情報から、走査線上における交点近傍の属性をリスト化する。図９には、交点近傍の属性を抽出領域に表示した図を示す。ここで、図９において、○は正の符号を表し、△は負の符号を表す。
【００９１】
ステップＳ３０１４では、第１の一致度算出部３０２０が、撮像装置１００及び撮像装置１１０で撮像した夫々の画像での属性リストの一致度Ｐを算出する。属性リストの属性を左側から順にスキャンし、属性の総数をそれぞれＳ１００、Ｓ１１０とし、一致した属性の総数をＣとすると、一致度Ｐは、次のように求める。
【００９２】
Ｐ＝Ｃ／Ｓ１１０（Ｓ１００＜＝Ｓ１１０のとき）
Ｐ＝Ｃ／Ｓ１００（Ｓ１１０＜Ｓ１００）
一致度の算出方法は、求めた属性に基づいて算出するものであれば、これに限るものではない。
【００９３】
図１０は、抽出領域の輪郭線と走査線の交点を示した図から、走査線Ｊを取り出した模式図である。
【００９４】
ステップＳ３０１５では、第１の判定部３０３０が、一致度Ｐを読み出し、閾値Ｔ以上の一致度であれば、画像間で対応関係にある対応点であると判定する。例えば、図１０における走査線Ｊ以外（例えば走査線Ｊの２、３本、上方にある走査線）での属性リストが一致した場合、その交点は対応点であると判定できる。
【００９５】
ステップＳ３０１６では、領域対応判定部３０４０が、対応点であると判定された交点を通過する輪郭線を輪郭とする抽出領域のラベルを、撮像装置１００及び撮像装置１１０で撮像した夫々の画像で対応付ける。
【００９６】
ステップＳ３０１７では、第２の対応点判定部３０５０が、ステップＳ３０１６で対応付けられた領域の輪郭線と走査線との交点で、かつまだ対応点と判定されていない交点を対応点として判定する。すなわち、Ｓ３０１５で対応が取れた交点を通過する輪郭線上の他の交点も、同様に対応がとれているものとみなし、対応点として判定する。例えば、図１０のＣ１、Ｃ２、及びＣ１’、Ｃ２’は、対応付けできると判定された対応点である。これは、Ｓ３０１５で得た対応点を通過する、Ｓ３０１６で対応すると判定された領域の輪郭線上に存在するため、対応点として判定することができる。
【００９７】
ステップＳ３０１８では、走査線分割部３０６０が、走査線上の交点近傍の属性をリスト化した交点属性リストを、ステップＳ３０１７で対応付けた対応点の位置で分割する。例えば、図１０における、走査線Ｊ上の交点近傍の属性をリスト化した交点属性リストを、対応点Ｃ１及びＣ２の位置で分割する。これにより撮像装置１００で撮像した画像においてＪ１、Ｊ２、Ｊ３、撮像装置１００で撮像した画像においてＪ１’、Ｊ２’、Ｊ３’のように夫々３つの分割走査線に分割できる。
【００９８】
さらにステップＳ３０１８では、走査線分割部３０６０が、ステップＳ３０１７で、分割走査線ごとに、分割した交点属性リストの夫々の一致度を算出する。例えば、図１０におけるＪ１とＪ１’、Ｊ２とＪ２’、Ｊ３とＪ３’、の一致度を、第１の一致度算出部３０２０と同様の処理を行うことで算出する。
【００９９】
ステップＳ３０１９では、第３の対応点判定部３０８０が、ステップＳ３０１８で算出した一致度に基づいて、まだ対応点であると判定されていない交点を新たな対応点として判定する。図１１は、走査線上で対応点を求める方法を説明するための模式図である。図１１では、Ｊ１とＪ１’の部分の交点が一致するため、対応点として判定する。
【０１００】
ステップＳ３０１０では、第３の対応点判定部３０８０が、撮像装置１００で撮像された画像における対応点Ｃｎ（ｎ＝１，２，，，Ｎ）と、撮像装置１１０で撮像された画像における対応点Ｃ’ｎ（ｎ＝１，２，，，Ｎ）との画像座標の組を対応点情報とする。対応点情報は、保持部５０００へ出力する。ここでＮは、対応点の組の総数である。
【０１０１】
（３次元配置算出フロー）
次に、物体配置算出部４０００の処理の詳細について説明する。図１２は、対象物体の３次元配置を算出するフローを示す図である。
【０１０２】
ステップＳ４０１０では、交点奥行き算出部４０１０が、保持部５０００から対応点情報を取得して３次元配置を計測する。本実施形態では、エピポーラ線を利用して３次元配置を算出する。
【０１０３】
エピポーラ線は、エピポーラ方程式より求めることができる。
【０１０４】
エピポーラ方程式について説明する。撮像装置の位置を３×１ベクトルＴ＝（Ｔｘ，Ｔｙ，Ｔｚ）、回転を３×３行列Ｒで表す。いま行列Ｅを次式のように置く。
【０１０５】
【数１】
0005777507.tif 000002
【０１０６】
ここで、［Ｔ］ｘは、次式のように表す。
【０１０７】
【数２】
0005777507.tif 000003
【０１０８】
２台の撮像装置で撮像した画像上の対応点を同次座標でそれぞれｘ＝［ｘ，ｙ，１］Ｔ、ｘ’＝［ｘ’，ｙ’，１］Ｔと表すと、エピポーラ方程式は、次式のように表せる。
【０１０９】
【数３】
0005777507.tif 000004
【０１１０】
したがって、２つの画像上で対応する点ｘとｘ’の関係を表す式となり、エピポーラ線を求めることができる。
【０１１１】
このようにエピポーラ線は、２台の撮像装置間の相対位置姿勢から求めることが可能である。また、２台の撮像装置間の相対位置姿勢は、カメラキャリブレーションの技術により求めることができる。カメラキャリブレーションについての詳細な説明は省略する。
【０１１２】
次に、光軸の方向と視点の高さをそろえていない２台の撮像装置を用いた３次元配置算出方法について述べる。
【０１１３】
焦点距離や主点位置などの内部パラメータは既知であり、また撮像装置の相対位置姿勢の外部パラメータも既知であるとする。撮像装置の内部パラメータと外部パラメータを合成した行列Ｐを次式のように表すことができる。
【０１１４】
【数４】
0005777507.tif 000005
【０１１５】
撮像装置１００で撮像された画像から検出された対応点の座標をＣｎ＝［ｕｎ，ｖｎ］とする。求める３次元空間の点の位置をＸ＝［Ｘｎ，Ｙｎ，Ｚｎ］と表すと、次式のように表せる。
【０１１６】
【数５】
0005777507.tif 000006
【０１１７】
λは、式５の第３行目より決まる実数である。式３を展開してＸ、Ｙ、Ｚに関してまとめると、次式のように表せる。
【０１１８】
【数６】
0005777507.tif 000007
【０１１９】
本実施形態では、撮像装置の内部パラメータと外部パラメータは、既知であるのでＰは既知のパラメータである。ひとつの撮像装置で撮像した画像から２つの拘束式が得られる。撮像装置１１０の撮像装置のパラメータをＰ’とし、撮像された画像から検出された対応点の座標をＣ’ｎ＝［ｕｎ’，ｖｎ’］とすると、次のように４つの拘束式が得られる。
【０１２０】
【数７】
0005777507.tif 000008
【０１２１】
式５は、未知数３に対して４つの拘束式が得られる。式５を次式のようにおくと、
【０１２２】
【数８】
0005777507.tif 000009
【０１２３】
Ｘの最小二乗階は、次式のように求めることができる。
【０１２４】
【数９】
0005777507.tif 000010
【０１２５】
これを、すべての対応点に対して計算することで、物体配置算出部４０００は、物体領域の輪郭線上の点である対応点の３次元座標を計測することができる。交点奥行き算出部４０１０は、撮像装置１００を基準にして求めた物体領域の３次元座標のＺ座標（奥行き値）を輪郭線上の奥行き補間部４０２０に出力する。
【０１２６】
ステップＳ４０２０では、輪郭線上の奥行き補間部４０２０が、ステップＳ４０１０で得た奥行き値を保持部５０００の輪郭線情報の画像座標と対応点情報とに基づいて、輪郭線に沿って線形補間する。
【０１２７】
ステップＳ４０３０では、線形補間された輪郭線から、仮想物体のポリゴンを作成する。
【０１２８】
ステップＳ４０４０では、撮像装置１００および撮像装置１１０で撮像された各画像に、作成されたポリゴンを仮想画像として重畳描画し、重畳された画像を不図示の表示装置へと出力する。
【０１２９】
（ＭＲ技術への適用）
本実施形態に係る情報処理装置を、ＭＲにおける撮像装置を備えるヘッドマウンテッドディスプレイやハンドヘルドディスプレイに適用すれば、現実物体と仮想物体との３次元配置情報を比較し、画像や仮想物体を手前に描画することができる。
【０１３０】
ここで、ヘッドマウンテッドディスプレイとは、頭部に装着するディスプレイのことであり、また、ハンドヘルドディスプレイとは、手持ちのディスプレイである。これらは、複合現実感システムを構築する際に一般的によく利用される。なお、ヘッドマウンテッドディスプレイやハンドヘルドディスプレイに撮像装置を装着する場合には、ディスプレイの光軸と、撮像装置の光軸を一致させることが望ましい。
【０１３１】
このようにヘッドマウントディスプレイ等の表示装置と組み合わせて手などの物体領域の奥行きを計測することで、現実物体と仮想物体の前後関係を正しく表現することができ、正しく知覚することができる。
【０１３２】
また、手などの現実物体の３次元配置情報を取得できることにより、現実物体と３Ｄモデルとの干渉判定が実施可能となる。すなわち、製品設計において、試作品ができる前に工具等の現実物体と３ＤＣＡＤモデルの干渉判定の検証ができるようになり、試作コストを低減できる可能性がある。また、サイバーグローブのような入力装置なしで３Ｄモデルに直接手で触れて操作することができるようになる。
【０１３３】
上記で説明したように、本実施形態に係る情報処理装置は、画像から検出した物体領域にノイズが含まれる場合であっても、ＭＲ技術おける幾何的整合性を向上させ、比較的安定して現実物体の３次元配置を計測することができる。また、安定化のための領域抽出処理の中間情報を、干渉判定を行うための３次元ポリゴンの基本情報として流用できるように設計されているため、より高速に処理可能となり、遅延を軽減することができる。
【０１３４】
さらに、計測した現実物体の３次元配置情報と仮想物体の３次元配置情報を比較して、画像または仮想物体を手前に描画することができる。すなわち、現実物体と仮想物体の前後関係を正しく表現することができ、ＭＲ技術おける幾何的整合性を向上させ、違和感の少ないＭＲ体験をユーザーに提供することができる。
【０１３５】
〔変形例１〕
本実施形態では、２台の撮像装置で３次元配置を計測したが、本実施形態では２台の撮像装置を利用することに限定されるものではなく、３台以上の撮像装置を組み合わせて利用してもよい。
【０１３６】
例えば、３台の撮像装置を利用して３次元配置を算出する場合は、第１の実施形態における構成に撮像装置１２０を追加する。撮像装置１２０からの画像は基準点検出部２０００の保持部５０００に格納される。
【０１３７】
本実施形態における処理は、第１の実施形態における夫々の処理において、撮像装置１２０の映像も追加で処理すればよい。ただし、対応点検出部３０００の処理では、まず撮像装置１００と撮像装置１１０の関連情報を入力して処理し、次に撮像装置１００と撮像装置１２０の関連情報を入力して２組の対応点を生成する。さらに３次元配置を算出するステップＳ４０１０では、
・撮像装置１００と撮像装置１１０の対応点情報で求めた３次元配置と、
・撮像装置１００と撮像装置１２０の対応点情報で求めた３次元配置
とを、平均して３次元配置を算出すればよい。
【０１３８】
なお４台以上であっても同様に、ペアとなる撮像装置の計算結果を組み合わせて処理すれば実現可能である。
【０１３９】
〔変形例２〕
本実施形態では、現実物体１５０の手の色情報のみを抽出して３次元配置を求めた。しかし、本実施形態では、１つの現実物体の色情報のみを扱うことに限定されるものではなく、複数の異なる色の現実物体を検出して３次元配置を求めてもよい。
【０１４０】
複数の異なる色の現実物体の３次元配置を検出する場合、基準点検出部２０００で１つの現実物体の色を抽出し、対応点検出部３０００と物体配置算出部４０００とで３次元配置を求め、次の現実物体の色を抽出して夫々の処理を順次に実行すればよい。
【０１４１】
〔その他の実施形態〕
図１５は、本実施形態における撮像装置の位置及び姿勢計測装置２００のハードウェア構成例を示すブロック図である。図１５に示したハードウェア構成は通常のパーソナルコンピュータの構成と同等である。さらに画像取り込み器５０２、カメラ５０３が接続されている。画像取り込み器５０２は撮像装置１００及び１１０で撮像された画像をコンピュータ内に取り込むものであり、画像入力部１０００に対応する。画像取り込み器５０２は例えばビデオキャプチャボードである。カメラで撮像した画像をコンピュータ内に取り込むものであれば何でもよい。ＣＰＵ５０１は、記憶媒体５０３またはＲＯＭ５０４またはＲＡＭ５０５、不図示の外部記憶装置等に保存されているプログラムを実行する。それにより、基準点検出部２０００、対応付け部処理部３０００、物体配置算出部４０００として機能する。また夫々の処理部は、記憶媒体５０３に情報を保存、もしくは情報の読み出しを行う。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は前述した実施形態を構成することになる。
【０１４２】
また、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４３】
さらに、記憶媒体５０３から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ５０１などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図１】
0005777507.tif 000011
【図２】
0005777507.tif 000012
【図３】
0005777507.tif 000013
【図４】
0005777507.tif 000014
【図５】
0005777507.tif 000015
【図６】
0005777507.tif 000016
【図７】
0005777507.tif 000017
【図８】
0005777507.tif 000018
【図９】
0005777507.tif 000019
【図１０】
0005777507.tif 000020
【図１１】
0005777507.tif 000021
【図１２】
0005777507.tif 000022
【図１３】
0005777507.tif 000023
【図１４】
0005777507.tif 000024
【図１５】
0005777507.tif 000025
【図１６】
0005777507.tif 000026
【図１７】
0005777507.tif 000027
【図１８】
0005777507.tif 000028
【図１９】
0005777507.tif 000029
【図２０】
0005777507.tif 000030
【図２１】
0005777507.tif 000031