(57)【要約】【課題】  被写体の奥行き値を精度よく推定する。【解決手段】  複数の視点から被写体を撮像した各画像から、前記被写体の輪郭線を抽出し、抽出された輪郭線それぞれにおいて、輪郭線に含まれる点を少なくとも１つ選択し、該選択された点を各画像間で対応付け、対応付けられた点の３次元座標を導出し、該導出された点の３次元座標に基づいて、被写体を近似する平面を導出し、前記輪郭線上の点のうち、対応づけられていない点の奥行き値を、対応づけられた点の３次元座標と前記導出された平面とに基づいて推定する。【選択図】  図１
2015082288.tif 000002
【特許請求の範囲】
【請求項１】
複数の視点から被写体を撮像した各画像から、前記被写体の輪郭線を抽出する抽出手段と、
前記各画像で抽出された輪郭線それぞれにおいて、前記輪郭線に含まれる点を少なくとも１つ選択し、該選択された点を前記各画像間で対応付ける対応付け手段と、
前記対応付けられた点の３次元座標を導出し、該導出された点の３次元座標に基づいて、前記被写体を近似する平面を導出する近似平面導出手段と、
前記輪郭線上の点のうち、前記対応付け手段によって対応づけられていない点の奥行き値を、前記対応づけられた点の３次元座標と前記導出された平面とに基づいて推定する推定手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記近似平面導出手段で導出される前記輪郭線上の点の奥行き値と前記推定手段で推定される点の奥行き値と仮想物体の奥行き値とに基づいて、前記仮想物体と前記被写体とを合成する合成手段を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記推定手段は、前記対応づけられていない点と前記近似平面との距離を算出し、該算出された距離に基づいて、前記選択されていない画素の奥行き値を推定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記抽出された輪郭線を線分に分割する分割手段を更に有し、
前記選択手段は、該分割手段に分割された線分のうち、曲率が最も高い線分に属する点を選択することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記各画像上に走査線を設定する設定手段を更に備え、
前記選択手段は、前記設定された走査線と前記輪郭線との交点を選択することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項６】
前記走査線はエピポーラ線であることを特徴とする請求項１乃至３のいずれか１項または請求項５に記載の情報処理装置。
【請求項７】
前記対応づけられた点の奥行き値を線形補間することにより前記対応づけられていない画素の奥行き値を推定する第２の推定手段と、
前記撮像装置の視点位置と前記撮像画像上の輪郭線の画像座標とを結んだ直線と、前記近似平面の法線とのなす角を求める角度算出手段と、
前記算出された角度に応じて、前記推定手段による処理または前記第２の推定手段による処理を選択する選択手段とを更に備えることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記選択手段は、前記算出された角度が所定の値よりも大きい場合は、前記第２の推定手段による処理を選択し、前記角度が前記所定の値よりも小さい場合は、前記推定手段による処理を選択することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記対応づけられた点をグループ化するグループ化手段を備え、
前記導出手段は、前記グループ化されたグループごとに、前記被写体を近似する近似平面を導出することを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記撮像装置は、ヘッドマウントディスプレイまたはハンドヘルドディスプレイに備えられていることを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
複数の視点から被写体を撮像した各画像から、前記被写体の輪郭線を抽出する抽出工程と、
前記各画像で抽出された輪郭線それぞれにおいて、前記輪郭線に含まれる点を少なくとも１つ選択し、該選択された点を前記各画像間で対応付ける対応付け工程と、
前記対応付けられた点の３次元座標を導出し、該導出された点の３次元座標に基づいて、前記被写体を近似する平面を導出する近似平面導出工程と、
前記輪郭線上の点のうち、前記対応付け手段によって対応づけられていない点の奥行き値を、前記対応づけられた点の３次元座標と前記導出された平面とに基づいて推定する推定工程とを備えることを特徴とする情報処理方法。
情報処理方法。
【請求項１２】
コンピュータに、請求項１乃至１０のいずれか１項に記載の情報処理装置を実行させることを特徴とするプログラム。
【請求項１３】
表示装置と、前記表示装置に表示される合成画像を生成する情報処理装置とを含むシステムであって、
前記表示装置は、
複数の視点から被写体を含んだ現実空間を撮像する撮像手段と、
前記撮像された各画像を、前記情報処理装置に出力する第１の出力手段と、
前記情報処理装置から、前記撮像された現実空間の画像と仮想画像とが合成された合成画像を取得し、前記取得した合成画像を表示する表示手段とを備え、
前記情報処理装置は、
前記第１の出力手段を通じて取得した各画像から、前記被写体の輪郭線を抽出する抽出手段と、
前記各画像で抽出された輪郭線それぞれにおいて、前記輪郭線に含まれる点を少なくとも１つ選択し、該選択された点を前記各画像間で対応付ける対応付け手段と、
前記対応付けられた点の３次元座標を導出し、該導出された点の３次元座標に基づいて、前記被写体を近似する平面を導出する近似平面導出手段と、
前記輪郭線上の点のうち、前記対応付け手段によって対応づけられていない点の奥行き値を、前記対応づけられた点の３次元座標と前記導出された平面とに基づいて推定する推定手段と、
前記推定された輪郭線上の点の奥行き値に基づいて、前記各画像と前記仮想画像とを合成する合成手段と、
前記表示装置から、前記撮像手段により撮像された現実空間の画像を取得し、前記合成手段によって合成された前記合成画像を前記表示装置へ出力する第２の出力手段とを備えることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびその制御方法に関する。
【背景技術】
【０００２】
近年、コンピュータによって作られる仮想空間と現実空間とを、繋ぎ目なく融合する複合現実感（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ；ＭＲ）技術が注目されている。
【０００３】
ＭＲ技術は、組み立て作業時に作業手順や配線の様子を重畳表示する組み立て支援や患者の体表面に体内の様子を重畳表示する手術支援等、様々な分野への応用が期待されている。
【０００４】
仮想物体が違和感なく現実空間に実在するように利用者が感じるためには、現実物体と仮想物体の前後関係を正しく表現する必要がある。これは「オクルージョン問題」とも呼ばれ、特にカメラで撮影した画像に仮想物体を重畳させるビデオシースルー型のＭＲシステムでも重要な課題となる。
【０００５】
現実物体と仮想物体の前後関係を正しく表現するためには、現実物体および仮想物体の３次元位置情報をそれぞれ求め、求められた現実物体の３次元位置情報と仮想物体の３次元位置情報を比較し、現実物体が手前になる場合は、撮影した画像を手前に表示する。また、仮想物体が手前にある場合は、仮想物体を手前に表示するという処理をすればよい。この処理において、仮想物体は既知の３次元モデルがあるため、視点に対する３次元位置は算出可能である。しかし、現実物体を撮影しただけでは、現実物体の視点に対する３次元位置は未知であるため、現実物体の３次元位置を求めることが必要となる。
【０００６】
以下では、現実物体の３次元位置を計測する技術について述べる。
【０００７】
非特許文献１では、キーフレームと呼ばれる背景画像と現在のカメラの画像との差分によって移動物体の検出を行い、検出される移動物体の輪郭線上の点をマッチングしている。境界上の点のみをマッチングするため、高速に処理することができる。
【０００８】
次に、非特許文献１において、対象物体の奥行きを計測する方法について説明する。非特許文献１の手法では、以下のような方法で、対象物体の奥行きを推定している。
【０００９】
１.ステレオカメラで撮影した対象物体が映る左右の画像に対して、背景画像との差分により対象物体の左右の画像における輪郭線を特定する。
【００１０】
２．左の画像で領域の輪郭線を等間隔に分割した後、曲率の高い点を算出してサンプリングポイントを設定する。
【００１１】
３．左の画像で設定したサンプリングポイントに対応するエピポーラ線を右の画像に投影し、エピポーラ線と輪郭線との距離が最小となる点を対応点とする。
【００１２】
４．求めた対応点の左右における画像座標とステレオカメラの既知の相対位置姿勢情報に基づいて、対応点の奥行き値を算出する。
【００１３】
５．奥行き値を持つ複数対応点の間にある、輪郭線上の線分の奥行き値は、両端の対応点の奥行き値を線形補間することにより求める。なお、この処理は左右の画像それぞれの輪郭線に対して処理を行う。
【００１４】
６．輪郭線上の全ての奥行き値を求めたら、輪郭線内部の領域の奥行き値を求めるため、領域の両端の輪郭線の奥行き値を水平方向に線形補間する。なお、この処理も左右の画像それぞれの輪郭線に対して処理を行う。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】林建一，加藤博一，西田正吾，“境界線ベースステレオマッチングを用いた実物体と仮想物体の前後判定”，日本バーチャルリアリティ学会論文誌，Ｖｏｌ．１０，Ｎｏ．３，ｐｐ．３７１−３８０，２００５
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、以下のような条件１と条件２が重なると、非特許文献１で算出される対象物体において推定する奥行き値に誤差が生じる。
【００１７】
条件１：図９のように、指先などの輪郭線の曲率の高い部位の奥行き方向９０１が視軸方向９０２に近い場合、すなわち、指先がカメラの奥行き方向に向いている場合
条件２：図８のように輪郭線の曲率の高い指先８０１付近に対応点がない場合など、奥行き値が、両端の対応点８０２，８０３の奥行き値の線形補間によって決定される場合
この２つの条件がともに満たされる場合に誤差が生じる理由を図１０、図１２で説明する。図１０は上記条件１と条件２を同時に満たしている場合のカメラ１００、１１０と手１５０の関係を示す模式図である。図１２は図１０の指先部分８０１を拡大した模式図である。
【００１８】
指先８０１の先端部分を単純にカメラからの奥行き値で線形補間してしまうと、指先部分が図１０で示す１００１の奥行き値となり、指先８０１に対して誤差が発生する。なぜならば、指先８０１の奥行き値１００１は、撮像装置１００よりも手前にある両端の対応点８０２と８０３の奥行き値を補間して求められるためである。すなわち、本来の指先８０１の奥行き値よりも対応点８０２と８０３の奥行き値が常に手前の奥行き値となるため、線形補間した結果も指先８０１の奥行き値に対して常に誤差を生じることになる。
【００１９】
このように、指先付近に誤差が生じることによって、例えば指先８０１と仮想物体との干渉判定をする場合に、指先８０１と仮想物体が接触しているはずなのに接触していないと、誤判定される可能性がある。
【００２０】
本発明は、上記の課題に鑑みてなされたものであり、精度よく被写体の奥行き値を推定することを目的とする。
【課題を解決するための手段】
【００２１】
上記目的を達成するために、本発明の情報処理装置は、複数の視点から被写体を撮像した各画像から、前記被写体の輪郭線を抽出する抽出手段と、前記各画像で抽出された輪郭線それぞれにおいて、前記輪郭線に含まれる点を少なくとも１つ選択し、該選択された点を前記各画像間で対応付ける対応付け手段と、前記対応付けられた点の３次元座標を導出し、該導出された点の３次元座標に基づいて、前記被写体を近似する平面を導出する近似平面導出手段と、前記輪郭線上の点のうち、前記対応付け手段によって対応づけられていない点の奥行き値を、前記対応づけられた点の３次元座標と前記導出された平面とに基づいて推定する推定手段とを備えることを特徴とする。
【発明の効果】
【００２２】
本発明によれば、精度よく被写体の奥行き値を推定することができる。
【図面の簡単な説明】
【００２３】
【図１】第１の実施形態における、画像処理装置の構成を示すブロック図。
【図２】第１の実施形態における、リアルタイム３次元形状推定装置のハードウェア構成を示すブロック図。
【図３】第１の実施形態における、リアルタイム３次元形状推定装置の処理を示すフローチャート。
【図４】第１の実施形態における、リアルタイム３次元形状推定装置の手の３次元形状の推定処理を示すフローチャート。
【図５】第１の実施形態における、リアルタイム３次元形状推定装置の手の３次元形状の推定処理を示すフローチャート。
【図６】第２の実施形態における、リアルタイム３次元形状推定装置の手の３次元形状の推定処理を示すフローチャート。
【図７】第１の実施形態における、手の輪郭線上の３次元位置を求めるときの算出方法を説明する模式図。
【図８】従来の課題の条件２を説明するための模式図。
【図９】従来の課題の条件１を説明するための模式図。
【図１０】従来技術で発生する奥行き値の誤差を説明するための模式図。
【図１１】第１の実施形態における近時平面を説明するための模式図。
【図１２】従来技術で発生する奥行き値の誤差を説明するための模式図。
【図１３】第１の実施形態における近時平面を説明するための模式図。
【図１４】第１の実施形態おける課題を説明するための模式図。
【図１５】第３の実施形態における対応点のグループ化を説明するための模式図。
【図１６】第３の実施形態における複数の近時平面を説明するための模式図。
【発明を実施するための形態】
【００２４】
（第１の実施形態）
以下、添付図面を参照して、本発明を適用した好適な実施形態に従って詳細に説明する。
【００２５】
本実施形態では、体験者の手（被写体）１５０を撮像装置（ステレオカメラ）１００、１１０で撮影して手の領域の奥行き値を推定し、表示部２０８にＣＧモデル１６０と手１５０との前後関係に応じてＣＧモデル１６０の画像を加工して実写画像と合成表示する例について説明する。なお、例えば、撮像装置はＨＭＤ（ヘッドマウントディスプレイ）またはＨＨＤ（ハンドヘルドディスプレイ）に備えつけられているものがあげられるが、これに限るものではない。
【００２６】
図１は、本実施形態における情報処理装置の機能構成を示すブロック図である。
【００２７】
画像取得部１０００は、本実施形態では、撮像装置１００および撮像装置１１０により撮像された複数のフレーム画像を取得する。撮像装置１００と撮像装置１１０は互いに固定され、撮像される。撮像装置１００および撮像装置１１０によって撮像された映像には、操作者の手１５０および撮像装置１００および１１０の位置姿勢を計測するためのマーカー１７０が映り込んでいるものとする。取得したフレーム画像を順次画像記憶部１０１０に格納する。画像取得部１０１０は、撮像装置の出力がＮＴＳＣ信号などのアナログ出力であればアナログビデオキャプチャボードによって実現される。また撮像装置の出力がＩＥＥＥ１３９４などのデジタル出力であれば、例えばＩＥＥＥ１３９４インタフェースボードによって実現される。また、予め記憶装置に記憶してある静止画像や動画像のデジタルデータを読み出しても良い。
【００２８】
画像記憶部１０１０は、画像取得部１０００で受けた映像を記憶する。画像記憶部１０１０は、ＲＡＭや外部記憶装置などにより構成されている。画像取得部１０００からは、例えば１／３０秒で画像データが送信される。
【００２９】
物体形状推定部１０２０は、画像記憶部１０１０に記憶されているステレオ画像を取得し、手１５０の３次元形状を算出する。手１５０の３次元形状の算出方法については後述する。物体形状推定部１０２０は、手１５０の３次元形状をモデル形状記憶部１０４０に出力する。
【００３０】
モデル形状保持部１０４０は、ＣＧモデル１６０の３次元モデルデータおよび、物体形状推定部１０２０から受けた手１５０の３次元形状のデータを保持する。モデル形状保持部１０４０は、ＲＡＭや外部記憶装置などにより構成されている。保持しているＣＧモデル１６０の３次元モデルデータおよび手１５０の３次元形状のデータは画像生成部１０５０に出力する。
【００３１】
位置姿勢推定部１０７０は、撮像装置１００および１１０の位置姿勢を計測する。本実施形態では、撮像画像に映り込む正方形マーカー１７０の投影像に基づいて撮像装置の位置姿勢を推定する。例えば、画像を二値化し、四角形の頂点を抽出し、山登り法の繰り返し演算で画像上における投影誤差を最小化してカメラ位置姿勢を推定すればよい。
【００３２】
もちろん、モーションキャプチャ装置や磁気センサーなど、その他の計測方法を用いて撮像装置の位置姿勢を計測してもよい。
【００３３】
画像生成部１０５０は、モデル形状保持部１０４０に格納されたＣＧモデル１６０と手１５０の３次元形状、および位置姿勢推定部１０７０から取得した撮像装置１００および撮像装置１１０の視点位置姿勢に基づいてＣＧモデル１６０の画像を生成する。画像生成部１０５０は、ＣＧモデル１６０の描画ピクセルにおける手１５０との前後関係を比較して、ＣＧモデルを描画するかどうかを決定する。すなわち、手１５０の方がＣＧモデル１６０よりも手前にあると判定した場合は、そのピクセルにＣＧモデル１６０を描画せず、画像合成部１０６０で実写映像の手を見せるようにＣＧモデル１６０の画像を加工する。
【００３４】
画像合成部１０６０は、画像記憶部１０１０に格納されている撮像部１００と撮像部１１０の夫々の画像に対して、画像生成部１０５０で生成したＣＧモデル（仮想物体）１６０の３次元形状の夫々の画像を上書き合成する。生成された合成画像は、ディスプレイ２０８に出力し、体験者にＣＧモデル１６０と手１５０の前後関係を視覚的に提示する。
【００３５】
画像記憶部１０１０は、形状推定部１０２０、位置姿勢推定部１０７０、画像生成部１０５０の処理で利用した実写画像を画像合成部１０６０に入力する。これは、画像生成部１０５０で生成した３次元形状の画像と画像記憶部１０１０の画像が同期された状態で、画像合成部１０６０にて合成するためである。画像合成部１０６０にて同期した画像を取り扱うためには、形状推定部１０２０、位置姿勢推定部１０７０、画像生成部１０５０のすべての処理を、上記画像取得部からの画像の送信間隔以内（本実施形態では１／３０秒以内）で完了させることが好ましい。
【００３６】
図２は、本実施形態の情報処理装置を実現するためのハードウェアを示す模式図である。
【００３７】
ＣＰＵ２０１は、ＲＡＭ２０５やＲＯＭ２０４に格納されているコンピュータプログラムやデータを使ってコンピュータ全体の制御を行う。また、ＣＰＵはそれと共に以下の各実施形態で情報処理装置が行うものとして説明する各処理を実行する。
【００３８】
ＲＡＭ２０５は、外部記憶装置２０９や記憶媒体ドライブ２０３からロードされたコンピュータプログラムやデータを一時的に記憶する。またＲＡＭ２０５は、Ｉ／Ｆ（インターフェース）２０２を介して外部から受信したデータを一時的に記憶するためのエリアを有する。更に、ＲＡＭ２０５は、ＣＰＵ２０１が各処理を実行する際に用いるワークエリアも有する。即ち、ＲＡＭ９００２は、各種エリアを適宜提供することができる。
【００３９】
また、ＲＯＭ２０４には、コンピュータの設定データやブートプログラムなどが格納されている。
【００４０】
キーボード２０７、マウス２０６は、操作入力装置の一例としてのものであり、コンピュータのユーザが操作することで、各種の指示をＣＰＵ２０１に対して入力することができる。
【００４１】
表示部２０８は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ２０１による処理結果を画像や文字などで表示することができる。例えば、表示部２０８には、撮像装置１００、１１０によって撮像された現実空間の画像と仮想画像とを合成した合成画像を表示することができる。
【００４２】
外部記憶装置２０９は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置２０９には、ＯＳ（オペレーティングシステム）や、情報処理装置が行う各処理をＣＰＵ２０１に実行させるためのプログラムやデータが格納されている。図１の場合、これに係るコンピュータプログラムには、画像取得部１０００、物体形状推定部１０２０、画像生成部１０５０、位置姿勢推定部１０７０、画像合成部１０６０のそれぞれに対応する機能が含まれている。外部記憶装置２０９に保存されているコンピュータプログラムやデータは、ＣＰＵ２０１による制御に従って適宜ＲＡＭ２０５にロードされる。ＣＰＵ２０１はこのロードされたプログラムやデータを用いて処理を実行することで、情報処理装置が行う各処理を実行することになる。なお、外部記憶装置２０９は、図１に示したモデル形状記憶部１０４０や画像記憶部１０１０として用いても良い。
【００４３】
記憶媒体ドライブ２０３は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体に記録されたプログラムやデータを読み出したり、係る記憶媒体にコンピュータプログラムやデータを書込んだりする。尚、外部記憶装置２０９に保存されているものとして説明したプログラムやデータの一部若しくは全部をこの記憶媒体に記録しておいても良い。記憶媒体ドライブ２０３が記憶媒体から読み出したコンピュータプログラムやデータは、外部記憶装置２０９やＲＡＭ２０５に対して出力される。
【００４４】
Ｉ／Ｆ２０２は、撮像装置１００、１１０を接続するためのアナログビデオポートあるいはＩＥＥＥ１３９４等のデジタル入出力ポートにより構成される。Ｉ／Ｆ２０２を介して受信したデータは、ＲＡＭ２０５や外部記憶装置２０９に入力される。なお、図１に示した画像取得部１０００の機能の一部は、Ｉ／Ｆ２０２によって実現される。
【００４５】
バス２１０は、上述の各構成部をバス信号によって繋げるものである。
【００４６】
（フローチャート）
次に、本実施形態における位置姿勢計測方法の処理手順について説明する。図３は、本実施形態における処理手順を示すフローチャートである。
【００４７】
まず、ステップＳ３０１０において、画像取得部１０００が、撮像部１００および撮像部１１０から画像を取得する。
【００４８】
ステップＳ３０２０において、画像記憶部１０１０が、画像取得部１０００から取得したステレオ画像を一時的にメモリに記録する。
【００４９】
ステップＳ３０３０において、物体形状推定部１０２０が、画像記憶部１０１０のステレオ画像に映り込んだ手１５０の領域を抽出し、手の３次元形状を推定する。本ステップの詳細については後述する。
【００５０】
ステップＳ３０４０において、位置姿勢推定部１０７０が、少なくとも撮像部１００または撮像部１１０のどちらか１つの位置姿勢を計測する。推定した位置姿勢は、画像生成部１０５０でＣＧモデルのレンダリングに用いられる。
【００５１】
ステップＳ３０５０において、画像生成部１０５０が、モデル形状記憶部１０４０に格納されている手１５０の３次元形状とＣＧモデル１６０の形状と、位置姿勢推定部１０７０で求めた撮像手段の位置姿勢を取得する。さらに、画像生成部１０５０が、撮像手段の位置姿勢から見たＣＧモデル１６０の画像を描画する。ただし、描画するにあたり、手１５０とＣＧモデル１６０との撮像手段からの距離を描画ピクセルごとに判別し、手１５０が手前にあるピクセルについては、ＣＧモデル１６０を描画せず、透明の状態にする。すなわち、画像合成部１０６０で実写映像を手前に見せることで、手１５０の画像を体験者に提示することができる。
【００５２】
ステップＳ３０６０において、画像合成部１０６０が、ステップＳ３０２０で記録してある実写映像の上にステップＳ３０５０で生成したＣＧモデル１６０の画像を上書きして合成する。
【００５３】
ステップＳ３０７０において、ディスプレイ２０８が、ステップＳ３０６０で生成した合成画像をディスプレイに出力する。
【００５４】
次に図４のフローチャートを用いて、ステップＳ３０３０における手の３次元形状の推定の詳細を説明する。
【００５５】
ステップＳ４０１０において、物体形状推定部１０２０が画像記憶部１０１０に記録されている撮像手段１００および撮像手段１１０のそれぞれの画像に対して、対象物体である手１５０の輪郭線を抽出する。
【００５６】
本実施形態では、例えば、非特許文献１で例示されるような、あらかじめ取得した背景の画像と現在の実写画像との差分を抽出することにより、前景となる手１５０の領域を抽出する。抽出した手１５０の領域から輪郭線部分の画像座標（Ｘ，Ｙ）を輪郭線座標リストとしてＲＡＭ２０５上に保持しておく。
【００５７】
なお、本実施形態は非特許文献１で例示される背景画像との差分により輪郭線を抽出することに限定されるものではなく、例えば、画素の色情報に基づいて対象物体領域を検出し、輪郭線を求めてもよい。すなわち、手の場合は、手の肌色情報をあらかじめ登録しておき、実写画像から肌色情報に一致する色領域を対象物体領域として検出する方法である。
【００５８】
ステップＳ４０２０において、物体形状推定部１０２０がステップＳ４０１０で算出した輪郭線座標リストに対し、等間隔に線分を分割する。さらに分割した輪郭線の線分それぞれにおいて、曲率が一番高い画像座標値をサンプリングポイントとして設定（選択）する。なお、このサンプリングポイントは、撮像手段１００および撮像手段１１０の画像それぞれに対して処理を実行する。
【００５９】
ここで、輪郭線を等間隔で分割するときに、曲率の高い指先のような領域が分割点となってしまうと、指先部分がサンプリングポイントとして検出されない場合がある。この状況が、課題で提示した条件２で示すような曲率が高い領域に対応点が存在しない状況となる。
【００６０】
なお、本実施形態は、輪郭線を等分割し、曲率が一番高い画像座標値をサンプリングポイントとすることに限定されるものではなく、輪郭線の奥行きを求める処理において、負荷を軽減するようなサンプリング方法であれば適用可能である。例えば、画面上の垂直方向を所定の間隔で分割するような水平線を配し、輪郭線との交点をサンプリングポイントとする方法でもよい。
【００６１】
ステップＳ４０３０において、物体形状推定部１０２０がステップＳ４０２０で算出した左右の画像におけるサンプリングポイントを各画像間でステレオマッチング処理により対応付ける。このステレオマッチング処理は、例えば、非特許文献１で記載しているようなマッチング処理を利用すればよい。すなわち、左眼用の画像におけるサンプリングポイントを、右眼用の画像におけるサンプリングポイントと対応付けるために、右眼上にエピポーラ線（走査線）を引き、エピポーラ線に近い輪郭線のサンプリングポイントを対応点とすればよい。
【００６２】
なお、本実施形態は、ステレオマッチングにエピポーラ線を利用することに限定されるものではなく、サンプリングポイントの周辺領域の画像相関を探索する方法など、対応点を求められる方法であれば適用可能である。
【００６３】
さらに物体形状推定部１０２０は、求めた対応点の対応情報と、撮像手段１００および１１０のステレオカメラの左右の相対位置姿勢とカメラ内部パラメーター（レンズ歪み、透視投影変換情報）に基づいて三角測量（図７）を用いて対応点の奥行き値を決定する。対応点すべての奥行き値を算出し、対応点８０２の撮像手段における３次元位置（Ｘ，Ｙ，Ｚ）を対応点リストとしてＲＡＭ２０５上に保持しておく。
【００６４】
ステップＳ４０４０において、物体形状推定部１０２０が、対応点リストに格納されている対応点の３次元位置に基づいて、手１５０の輪郭線の３次元形状を近似する平面を導出する（近似平面導出）。図１１は、輪郭線上の対応点８０２の３次元位置と近似平面１１０１の関係を示す模式図である。さらに図１３は、図１１の指先部分８０１を拡大した模式図である。
【００６５】
輪郭線１００１の３次元形状に近似する平面１１０１は、対応点リスト内に保持している３次元位置（３次元座標）と平面との距離（図１３の１３０１および１３０２など）が最小になるような平面のパラメーターを最小二乗近似式で求めればよい。ここで、平面のパラメーターとは、平面の方程式ａｘ＋ｂｙ＋ｃｚ＋ｄ＝０のａ，ｂ，ｃの法線ベクトルおよび定数ｄを指す。
【００６６】
ただし、本実施形態は、近接する平面１１０１を導出する方法として、最小二乗近似の方法を用いることに限定されるものではなく、輪郭線の３次元形状に近い平面を算出できる方法であれば適用可能である。
【００６７】
ステップＳ４０５０では、物体形状推定部１０２０が、輪郭線上の対応点の奥行き値を利用して、輪郭線座標リストの奥行き値を算出する。このとき、輪郭線の奥行き値を両端の対応点８０２と８０３における奥行き値１００２、１００３で線形補間してしまうと、課題で前述したように輪郭線のうち曲率が高い領域に誤差が発生する。
【００６８】
この課題を解決するために、両端の奥行き値１００２、１００３を線形で補間するのではなく、ステップＳ４０４０で求めた輪郭線の３次元形状を近似した平面１１０１と対応点８０２との距離１３０１、１３０２を補間し、距離から奥行き値に変換する。
【００６９】
まず、両端の対応点８０２および８０３と近似平面１１０１の距離を求める。点（ｘ０，  ｙ０，  ｚ０）と平面ａｘ＋ｂｙ＋ｃｚ＋ｄ＝０との距離は、以下の式１で求められる。
【００７０】
【数１】
2015082288.tif 000003
【００７１】
すなわち、式１を用いて対応点８０２と近似平面１１０１との距離１３０１および対応点８０３と近似平面１１０１との距離１３０２を求める。求めた両端の対応点における距離１３０１、１３０２を、両端の対応点で囲む輪郭線座標リストの座標値に対応付けて１３０１および１３０２の値を線形補間する。
【００７２】
ステップＳ４０６０では、物体形状推定部１０２０が、ステップＳ４０５０で線形補間した近似平面１１０１からの距離を奥行き値に変換する。
【００７３】
近似平面からの距離のままでは対象物体の奥行き値を求められないため、撮像手段を基準とする座標系（撮像座標系と呼ぶ）の奥行き値に変換する。ここでは、説明のため、図１３に示す輪郭線１００１上の点１３０４に注目して、近似平面１１０１からの距離１３０３を撮像座標系の奥行き値に変換する処理を説明する。
１．撮像手段の視点位置１３０５（Ｏとする）と撮像手段の投影面１００２上における輪郭線の画像座標１３０７（Ｐ０とする）を通る直線１３０６（Ｌとする）を求める。ここで、Ｐ０の座標値を  （ｖｘ，  ｖｙ，  −１）とする。
２．近似平面１１０１と並行で、補間されて算出された距離１３０３（距離をｋとする）だけ離れている平面Ｋを求める。この平面は、ａｘ＋ｂｙ＋ｃｚ＋ｄ＋ｋ＝０で表わせる。
３．平面Ｋの法線Ｎと直線Ｌのなす各をαとすると、ベクトルＯＰ０（ベクトルｊとする）と法線Ｎ（ベクトルｎとする）は以下の式２で表わせる。ここで法線の大きさは１である。
【００７４】
【数２】
2015082288.tif 000004
【００７５】
４．直線Ｌと、平面Ｋの交点が求めたい点１３０４（Ｐとする）である。この交点Ｐを求めるために、視点Ｏから平面Ｋへ垂線を下ろし、点Ａとする。ここで、平面Ｋの法線Ｎと直線Ｌのなす角をαとすると、三角形ＯＡＰは直角三角形であるため、以下の式３で表わせる。
【００７６】
【数３】
2015082288.tif 000005
【００７７】
また、ＯＡの距離は、平面の式ａｘ＋ｂｙ＋ｃｚ＋ｄ＋ｋ＝０より、ｄ＋ｋで表わせるため、以下の式４で表わせる。
【００７８】
【数４】
2015082288.tif 000006
【００７９】
さらに、直線ＯＰは、以下の式５で表わせる。
【００８０】
【数５】
2015082288.tif 000007
【００８１】
ここで、式２を代入すると、以下の式６となる。
【００８２】
【数６】
2015082288.tif 000008
【００８３】
すなわち、近似平面１１０１からの距離１３０３（輪郭線１００１上の点１３０４の補間値）を撮像座標系の奥行き値に変換すると、以下の式７で表わせる。
【００８４】
【数７】
2015082288.tif 000009
【００８５】
ステップＳ４０７０では、物体形状推定部１０２０が、ステップＳ４０６０で求めた輪郭線上の奥行き値を利用して、対象物体である手１５０の輪郭線内部の奥行き値を補間する。補間方法は非特許文献１の方法と同様に、領域の両端の輪郭線の奥行き値を水平方向に線形補間すればよい。
【００８６】
以上の処理により、対象物体の輪郭線の曲率が高い領域がカメラの奥行き方向に伸びている場合で、かつ、該領域付近に奥行き値をもつ対応点が存在しない場合においても、対象物体の近似平面との距離を補間することで精度よく奥行き値を推定することができる。
【００８７】
（第２の実施形態）
第１の実施形態では、ステップＳ４０５０で輪郭線を補間するときに、対応点間の全ての輪郭線を近似平面１１０１との距離で線形補間していた。
【００８８】
しかし、図１４に示すように撮像手段１００の視点位置１３０５から投影面上での輪郭線の画像座標（撮像画像上の座標）１３０７を通る直線１４０１と、近似平面１１０１の法線方向１４０２のなす角１４０３が９０度の場合は、近似平面１１０１と直線１４０１が交わらない。すなわち、交点がないため補間する距離が算出できない。
【００８９】
また、直線１４０１と法線１４０２のなす角１４０３が９０度に近い場合であっても、交点が手１５０の指先よりも無限遠に近い位置となり、距離の線形補間が奥行き値の線形補間よりも誤差が大きくなる。
【００９０】
第２の実施形態では、補間する画像座標ごとに直線１４０１と法線１４０２の角度１４０３をチェックし（角度算出）、９０度に近い場合は、奥行き値の線形補間に戻す処理を行う。
【００９１】
第２の実施形態では、第１の実施形態で示した情報処理装置の構成に変更はなく、物体形状推定部１０２０で実行する処理の一部を変更すればよい。
【００９２】
（フローチャート）
本実施形態における物体形状推定部１０２０の処理を図５のフローチャートを用いて説明する。なお、図５のフローチャートにおいて、第１の実施形態と同じ処理を実行するブロックについては同一の番号で示し、説明を省略する。
【００９３】
図５のフローチャートでは、第１の実施形態で示したフローチャートに対してステップＳ５０１０およびステップＳ５０２０を追加すればよい。
【００９４】
ステップＳ５０１０において、物体形状推定部１０２０が、補間の対象となる輪郭線の画像座標１３０７に対して、撮像手段１００の視点位置１３０５から画像座標１３０７を通る直線１４０１と、近似平面１１０１の法線方向１４０２のなす角１４０３を算出する。さらに、角度１４０３が６５度未満であるかどうかを判定する。なお、本実施形態では、判定する角度を６５度としているが、本実施形態は直線１４０１と近似平面１１０１との交点が無限遠に近くならない範囲で変更することができる。
【００９５】
物体形状推定部１０２０は、補間の対象となる輪郭線の画像座標リスト全てに対して、各々６５度未満かどうかチェックし、６５度を超えるものがあれば、ステップＳ５０２０の奥行き値で補間する処理を実行する。一方、６５度未満であれば、ステップＳ４０５０の処理に移り、近似平面１１０１の距離を補間する。
【００９６】
ステップＳ５０２０において、物体形状推定部１０２０が、両端の対応点の奥行き値を取得し、両端の対応点との長さに応じて線形補間する。線形補間した結果の奥行き値を輪郭線座標リストの座標値に対応付けて出力する。
【００９７】
以上のように、本実施形態では、直線１４０１と、近似平面１１０１の法線方向１４０２のなす角１４０３に応じて補間方法を切り替えることにより、近似平面１１０１と直線１４０１が交わらない場合にも精度よく奥行き値を推定することができる。
【００９８】
（変形例）
第２の実施形態では、１つの閾値に対して、距離の線形補間をするか奥行き値の線形補間をするかを決定していたが、本変形例においては、２つの閾値を設けて、角度１４０３が２つの閾値の間にある場合は、角度に応じて２つの補間方法で算出した値を線形補間する方法を例示する。
【００９９】
角度１４０３が２つの閾値の間にある場合は、各々の奥行き値を角度のパラメーターで線形補間することにより、隣接する画像座標が補間方法の違い（近似平面とのなす角度の違い）により生じる奥行き値のギャップを軽減できる。すなわち、輪郭線全体の滑らかさを保つことを目的としている。
【０１００】
本変形例では、第１の実施形態および第２の実施形態で示した情報処理装置の構成に変更はなく、物体形状推定部１０２０で実行する処理の一部を変更すればよい。
【０１０１】
（フローチャート）
本変形例における物体形状推定部１０２０の処理を図６のフローチャートを用いて説明する。なお、図６のフローチャートは、第１の実施形態および第２の実施形態と同じ処理を実行するブロックについては同一の番号で示し、説明を省略する。
【０１０２】
図６のフローチャートでは、第２の実施形態で示したフローチャートに対してステップＳ６０１０からステップＳ６０４０までの処理を追加すればよい。
【０１０３】
ステップ６０１０において、物体形状推定部１０２０が、角度１４０３を算出し、７０度（第１の値）未満かどうかを判定する。７０度未満であれば、ステップＳ４０５０に処理を移し、平面との距離の線形補間を実施する。７０度以上であればステップＳ６０２０に処理を移す。
【０１０４】
ステップ６０２０において、物体形状推定部１０２０が、角度１４０３を参照し、６０度（第２の値）以上であるかどうかを判定する。６０度以上であればステップＳ５０２０に処理を移し、奥行き値を線形補間する。６０度未満であれば、ステップＳ６０３０に処理を移す。
【０１０５】
ステップ６０３０では、物体形状推定部１０２０が、角度１４０３を参照し、６０度以上かつ７０度未満であるかどうかを判定する。角度１４０３が２つの閾値内であればステップＳ６０４０に処理を移す。２つの閾値外である場合はステップＳ４０７０に処理を移す。
【０１０６】
ステップ６０４０では、物体形状推定部１０２０が、ステップＳ４０６０で求めた平面との距離で求めた奥行き値（Ｄ１とする）と、ステップＳ５０２０で求めた線形補間の奥行き値（Ｄ２とする）とを角度１４０３の値に応じて線形補間した結果を奥行き値とする。例えば、線形補間する画像座標１３０７において、直線１４０１と近似平面の法線１４０２のなす角度１４０３をαとすると、以下の式８で求める奥行き値を得ることができる。
【０１０７】
【数８】
2015082288.tif 000010
【０１０８】
以上のように、本変形例では、２つの補間方法を２つの閾値を利用して切り替えることで、１つの閾値を利用したときの閾値付近で生じる奥行き値のギャップを軽減し、３次元の輪郭線を滑らかにすることができる。
【０１０９】
（第３の実施形態）
第１の実施形態では、ステップＳ４０４０の近似平面推定では、ステレオマッチングで求めた輪郭線上のすべての対応点を利用して近似平面を求めた。それに対し、本実施形態では、対象物の形状に応じて複数の近似平面を設ける。
【０１１０】
本実施形態では、輪郭線上の対応点を求めた後、図１５で示すように隣接する対応点を５個ずつグループ化し、それぞれのグループに属する対応点（例えば１５０１で示す点線に含まれる対応点）のみから近似平面を求める。このように、輪郭線上の対応点をグループすることにより、近似平面を分割し、図１６で示すように、より手１５０の形状に近い近似平面１６０１、１６０２上で距離の線形補間が行われる。すなわち、近似平面の距離の線形補間で求められる奥行き値の誤差を低減する効果がある。
【０１１１】
本実施形態では、第１の実施形態で示した情報処理装置の構成に変更はなく、物体形状推定部１０２０で実行する処理の一部を変更すればよい。
【０１１２】
本実施形態における物体形状推定部１０２０の処理は、ステップＳ４０４０の近似平面の推定、ステップＳ４０５０の補間処理、ステップＳ４０６０の奥行き値に変換する部分を、以下のように変更すれば実現可能である。
【０１１３】
まず、ステップＳ４０４０では、物体形状推定部１０２０が、ステップＳ４０３０で算出した対応点のうち、隣接する５個を１グループとみなしてグループと対応点を対応付ける。次に、１グループに属する対応点のみから近似平面を算出する。なお、本発明は１グループの対応点を５個に限定するものではなく、対象とする形状や計算コストの許容量に応じて個数を変更してもよい。
【０１１４】
次に、ステップＳ４０５０では、補間の対象となる輪郭線上の画像座標が、輪郭線上で一番近い対応点を求め、その対応点が属するグループで求めた近似平面を利用して距離を算出すればよい。
【０１１５】
次に、ステップＳ４０６０では、ステップＳ４０５０と同様に、補間の対象となる輪郭線上の画像座標が、輪郭線上で一番近い対応点を求め、その対応点が属するグループで求めた近似平面を利用して奥行き値に変換すればよい。
【０１１６】
以上のように、本実施形態では、１つの輪郭線に対して複数の近似平面を算出することにより、精度よく奥行き値を推定することができる。
【０１１７】
（他の実施形態）
上記の各実施形態で説明した情報処理装置の各構成要素は全てハードウェアで構成されているとして説明した。しかし、その一部をソフトウェアで構成しても良い。その場合、残りの部分をハードウェアとして実装しているコンピュータに、このソフトウェアを実行させることで、このコンピュータは、上記実施形態で説明した位置姿勢計測装置の動作を行うことになる。
【図１】
2015082288.tif 000011
【図２】
2015082288.tif 000012
【図３】
2015082288.tif 000013
【図４】
2015082288.tif 000014
【図５】
2015082288.tif 000015
【図６】
2015082288.tif 000016
【図７】
2015082288.tif 000017
【図８】
2015082288.tif 000018
【図９】
2015082288.tif 000019
【図１０】
2015082288.tif 000020
【図１１】
2015082288.tif 000021
【図１２】
2015082288.tif 000022
【図１３】
2015082288.tif 000023
【図１４】
2015082288.tif 000024
【図１５】
2015082288.tif 000025
【図１６】
2015082288.tif 000026
【手続補正書】
【提出日】平成27年3月9日(2015.3.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
撮像装置によって、複数の視点から被写体を撮像した各画像から、前記被写体の輪郭線を抽出する抽出手段と、
前記各画像で抽出された輪郭線それぞれにおいて、前記輪郭線に含まれる点を少なくとも１つ選択し、該選択された点を前記各画像間で対応付ける対応付け手段と、
前記対応付けられた点の３次元座標を導出し、前記対応付けられた点の前記導出された３次元座標に基づいて、前記被写体を近似する平面を導出する近似平面導出手段と、
前記対応づけられた点と前記導出された平面との距離に基づいて、前記輪郭線上の点のうち前記対応付け手段によって対応づけられていない点と前記導出された平面との距離を求めることにより、前記対応づけられていない点の奥行き値を推定する推定手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記近似平面導出手段で導出される前記対応付けられた点の奥行き値と前記推定手段で推定される点の奥行き値と仮想物体の奥行き値とに基づいて、前記仮想物体と前記被写体とを合成する合成手段を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記推定手段は、前記対応づけられた点と前記導出された平面との距離に基づいて補間演算をすることにより、前記対応づけられていない点と前記平面との距離を求めることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記抽出された輪郭線を線分に分割する分割手段を更に有し、
前記対応付け手段は、該分割手段に分割された線分のうち、曲率が最も高い線分に属する点を選択して、該選択された点を前記各画像間で対応付けることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記各画像上に走査線を設定する設定手段を更に備え、
前記対応付け手段は、前記設定された走査線と前記輪郭線との交点を選択して、該選択された点を前記各画像間で対応付けることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項６】
前記走査線はエピポーラ線であることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記対応づけられた点の奥行き値の線形補間により前記対応づけられていない画素の奥行き値を推定する第２の推定手段と、
前記撮像装置の視点位置と前記画像上の輪郭線の画像座標とを結んだ直線と、前記近似平面の法線とのなす角度を求める角度算出手段と、
前記算出された角度に応じて、前記推定手段による処理または前記第２の推定手段による処理を選択する選択手段とを更に備えることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記選択手段は、前記算出された角度が所定の値よりも大きい場合は、前記第２の推定手段による処理を選択し、前記角度が前記所定の値よりも小さい場合は、前記推定手段による処理を選択することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記対応づけられた点をグループ化するグループ化手段を備え、
前記導出手段は、前記グループ化されたグループごとに、前記被写体を近似する近似平面を導出することを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記撮像装置は、ヘッドマウントディスプレイまたはハンドヘルドディスプレイに備えられていることを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
複数の視点から被写体を撮像した各画像から、前記被写体の輪郭線を抽出する抽出工程と、
前記各画像で抽出された輪郭線それぞれにおいて、前記輪郭線に含まれる点を少なくとも１つ選択し、該選択された点を前記各画像間で対応付ける対応付け工程と、
前記対応付けられた点の３次元座標を導出し、前記対応付けられた点の前記導出された点の３次元座標に基づいて、前記被写体を近似する平面を導出する近似平面導出工程と、
前記対応づけられた点と前記導出された平面との距離に基づいて、前記輪郭線上の点のうち前記対応付け工程において対応づけられていない点と前記導出された平面との距離を求めることにより、前記対応づけられていない点の奥行き値を推定する推定工程とを備えることを特徴とする情報処理方法。
【請求項１２】
コンピュータに、請求項１乃至１０のいずれか１項に記載の情報処理装置を実行させることを特徴とするプログラム。
【請求項１３】
表示装置と、前記表示装置に表示される合成画像を生成する情報処理装置とを含むシステムであって、
前記表示装置は、
複数の視点から被写体を含んだ現実空間を撮像する撮像手段と、
前記撮像された各画像を、前記情報処理装置に出力する第１の出力手段と、
前記情報処理装置から、前記撮像された現実空間の画像と仮想画像とが合成された合成画像を取得し、前記取得した合成画像を表示する表示手段とを備え、
前記情報処理装置は、
前記第１の出力手段を通じて取得した各画像から、前記被写体の輪郭線を抽出する抽出手段と、
前記各画像で抽出された輪郭線それぞれにおいて、前記輪郭線に含まれる点を少なくとも１つ選択し、該選択された点を前記各画像間で対応付ける対応付け手段と、
前記対応付けられた点の３次元座標を導出し、前記対応付けられた点の前記導出された点の３次元座標に基づいて、前記被写体を近似する平面を導出する近似平面導出手段と、
前記対応づけられた点と前記導出された平面との距離に基づいて、前記輪郭線上の点のうち前記対応付け手段によって対応づけられていない点と前記導出された平面との距離を求めることにより、前記対応づけられていない点の奥行き値を推定する推定手段と、
前記推定された輪郭線上の点の奥行き値に基づいて、前記各画像と前記仮想画像とを合成する合成手段と、
前記表示装置から、前記撮像手段により撮像された現実空間の画像を取得し、前記合成手段によって合成された前記合成画像を前記表示装置へ出力する第２の出力手段とを備えることを特徴とするシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
上記目的を達成するために、本発明の情報処理装置は、例えば、撮像装置によって、複数の視点から被写体を撮像した各画像から、前記被写体の輪郭線を抽出する抽出手段と、前記各画像で抽出された輪郭線それぞれにおいて、前記輪郭線に含まれる点を少なくとも１つ選択し、該選択された点を前記各画像間で対応付ける対応付け手段と、前記対応付けられた点の３次元座標を導出し、前記対応付けられた点の前記導出された点の３次元座標に基づいて、前記被写体を近似する平面を導出する近似平面導出手段と、前記対応づけられた点と前記導出された平面との距離に基づいて、前記輪郭線上の点のうち前記対応付け手段によって対応づけられていない点と前記導出された平面との距離を求めることにより、前記対応づけられていない点の奥行き値を推定する推定手段とを備えることを特徴とする。