(57)【特許請求の範囲】
【請求項１】
撮像手段から対象物までの距離を示す距離情報において、少なくとも距離値が与えられていない位置の距離値を決定するための処理を行う情報処理装置であって、
前記距離情報に基づいて、当該距離情報において距離値が与えられていない位置の距離値として、１つの位置につき複数の距離値を導出する第１の導出手段と、
前記距離値が与えられていない位置の複数の距離値を用いて、当該位置の距離値を決定する決定手段と、を有し、
前記第１の導出手段は、前記距離情報に与えられている距離値であって、前記距離情報において距離値が与えられていない位置を通して同一の方向に並ぶ複数の位置の距離値を用いて、当該位置の距離値を導出することを複数の方向において行うことを特徴とする情報処理装置。
【請求項２】
前記決定手段は、前記距離情報において距離値が与えられていない位置の距離値として、前記複数の方向において前記第１の導出手段により導出された複数の距離値を用いて、当該位置の距離値を決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
更に、前記距離情報を用いて、前記複数の方向の数よりも少ない数の少なくとも２つの方向を選択する選択手段を有し、
前記決定手段は、前記距離情報において距離値が与えられていない位置の距離値として、前記選択手段により選択された方向において前記第１の導出手段により導出された複数の距離値を用いて、当該位置の距離値を決定することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記第１の導出手段は、前記撮像手段における撮像面と、前記対象物との幾何学的な関係を用いて、前記距離情報において距離値が与えられていない同一の位置の距離値として複数の距離値を導出することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
撮像手段から対象物までの距離を示す距離情報において、少なくとも距離値が与えられていない位置の距離値を決定するための処理を行う情報処理装置であって、
前記距離情報に基づいて、当該距離情報において距離値が与えられていない位置の距離値として、１つの位置につき複数の距離値を導出する第１の導出手段と、
前記距離値が与えられていない位置の複数の距離値を用いて、当該位置の距離値を決定する決定手段と、を有し、
前記第１の導出手段は、前記撮像手段における撮像面と、前記対象物との幾何学的な関係を用いて、前記距離情報において距離値が与えられていない同一の位置の距離値として複数の距離値を導出することを特徴とする情報処理装置。
【請求項６】
前記距離情報は、前記対象物を含む画像であって、画素のそれぞれに、当該画素に対応する前記距離値が設定された画像であることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
更に、前記距離値が与えられていない位置の複数の距離値を用いて、当該位置に、前記決定手段により決定される距離値を設定するか否かを判断する第１の判断手段と、
前記第１の判断手段により、前記距離値が与えられていない位置に、前記決定手段により決定される距離値を設定すると判断された場合に、当該位置に、前記決定手段により決定された距離値を設定する設定手段とを有することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第１の判断手段は、前記距離値が与えられていない位置の複数の距離値を用いて、当該位置の距離値の信頼度を導出し、当該信頼度を用いて、当該位置に、前記決定手段により決定される距離値を設定するか否かを判断することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
更に、前記距離情報を用いて、前記距離情報において距離値が与えられていない位置からなる領域であって、距離値が与えられている位置により区画される領域である第１の領域における距離値を導出する第２の導出手段と、
前記第１の領域に含まれる位置のうち、前記第１の判断手段により前記距離値を設定しないと判断された位置の距離値として、前記第２の導出手段により導出された当該第１の領域の当該位置における距離値を再設定する再設定手段と、を有することを特徴とする請求項７または８に記載の情報処理装置。
【請求項１０】
前記再設定手段は、前記第１の判断手段により前記距離値を設定すると判断された位置に、前記第２の導出手段により導出された当該位置における距離値を更に設定することを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記再設定手段は、前記第１の判断手段により前記距離値を設定すると判断された位置の距離値として前記決定手段により決定された距離値と、前記第２の導出手段により導出された当該位置の距離値とを用いて、当該位置に、前記第２の導出手段により導出された当該位置における距離値を設定すると判断した場合に、当該位置に、前記第２の導出手段により導出された当該位置における距離値を設定することを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記第２の判断手段は、前記第１の領域の大きさと、前記第１の判断手段により当該第１の領域において前記距離値を設定すると判断された位置からなる第２の領域の大きさとを用いて、前記第２の導出手段により導出された当該第１の領域における距離値を前記設定手段により設定するか否かを判断することを特徴とする請求項９乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
撮像手段から対象物までの距離を示す距離情報において、少なくとも距離値が与えられていない位置の距離値を決定するための処理を行う情報処理方法であって、
前記距離情報に基づいて、当該距離情報において距離値が与えられていない位置の距離値として、１つの位置につき複数の距離値を導出する第１の導出工程と、
前記距離値が与えられていない位置の複数の距離値を用いて、当該位置の距離値を決定する決定工程と、を有し、
前記第１の導出工程では、前記距離情報に与えられている距離値であって、前記距離情報において距離値が与えられていない位置を通して同一の方向に並ぶ複数の位置の距離値を用いて、当該位置の距離値を導出することを複数の方向において行うことを特徴とする情報処理方法。
【請求項１４】
撮像手段から対象物までの距離を示す距離情報において、少なくとも距離値が与えられていない位置の距離値を決定するための処理を行う情報処理方法であって、
前記距離情報に基づいて、当該距離情報において距離値が与えられていない位置の距離値として、１つの位置につき複数の距離値を導出する第１の導出工程と、
前記距離値が与えられていない位置の複数の距離値を用いて、当該位置の距離値を決定する決定工程と、を有し、
前記第１の導出工程では、前記撮像手段における撮像面と、前記対象物との幾何学的な関係を用いて、前記距離情報において距離値が与えられていない同一の位置の距離値として複数の距離値を導出することを特徴とする情報処理方法。
【請求項１５】
請求項１乃至１２のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関し、特に、対象物までの距離を推定するために用いて好適なものである。
【背景技術】
【０００２】
カメラや距離センサなどの測定装置を用いて、測定装置から対象物までの距離を推定する技術が存在する。カメラを用いて距離を推定する手法にはステレオマッチングやＳＬＡＭ（Simultaneous Localization and Mapping）と呼ばれる手法がある。また、距離センサを用いて距離を推定する技術としてはＴＯＦ（Time Of Flight）方式がある。
【０００３】
ステレオマッチングやＳＬＡＭでは、複数台のカメラにより得られる複数の撮影画像や、カメラを移動させることにより得られる異なる撮影位置での複数の撮影画像を用いることによって、撮影画像中の特徴点までの距離を三角測量の原理で推定する。そのため、異なる位置で撮影された画像間での対応関係が得られなかった特徴点や、特徴点として抽出されなかった点の距離を推定することはできない。
【０００４】
ＴＯＦ方式では、距離センサから赤外線などの光線を対象物に向けて照射してから、光線が対象物で反射して距離センサに返ってくるまでの時間を計測することで距離センサから対象物までの距離を推定する。ＴＯＦ方式では、対象物から反射した光が距離センサ自体に返ってくることが必要となる。このため、鏡のような鏡面反射する物体の距離を、当該物体の斜め方向から推定する場合や、照射した光を吸収する特性をもつ物体の距離を推定することはできない。
【０００５】
このように各手法にはそれぞれ距離を推定できない条件が存在する。このため、推定できた距離の情報を用いて推定できなかった領域の距離を決定する手法が提案されている。
非特許文献１には、距離を推定できなかった画素の距離を決定するために、各画素の距離情報を用いて、エネルギー関数の最小化問題を解く技術が開示されている。このエネルギー関数では、距離は隣接画素間で滑らかに変化するという仮定と、推定できなかった領域の距離は基準面（地面や床など）までの距離に近い値になるという仮定を利用している。これにより、推定できなかった領域の距離は前述した２つの仮定を満たすように決定される。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】SCH▲O▼PS, Thomas; ENGEL, Jakob; CREMERS, Daniel. Semi-dense visual odometry for AR on a smartphone. In: Mixed and Augmented Reality (ISMAR), 2014 IEEE International Symposium on. IEEE, 2014. p. 145-150
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１に記載の技術では、基準面までの距離に近づくように、推定できなかった領域の距離を決定する。このため、例えば、推定できなかった領域が広い面積を持つ領域である場合、その領域における距離の精度が低くなる虞がある。また、距離が隣接画素間で滑らかに変化するという仮定から、本来は別々の対象物が１つの曲面（即ち、１つの対象物）であると判断される虞がある。
本発明は、このような問題点に鑑みてなされたものであり、撮像手段から対象物までの距離を示す距離情報において推定できていない領域の距離値を高精度に決定することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の情報処理装置の第１の例は、撮像手段から対象物までの距離を示す距離情報において、少なくとも距離値が与えられていない位置の距離値を決定するための処理を行う情報処理装置であって、前記距離情報に基づいて、当該距離情報において距離値が与えられていない位置の距離値として、１つの位置につき複数の距離値を導出する第１の導出手段と、前記距離値が与えられていない位置の複数の距離値を用いて、当該位置の距離値を決定する決定手段と、を有し、前記第１の導出手段は、前記距離情報に与えられている距離値であって、前記距離情報において距離値が与えられていない位置を通して同一の方向に並ぶ複数の位置の距離値を用いて、当該位置の距離値を導出することを複数の方向において行うことを特徴とする。
本発明の情報処理装置の第２の例は、撮像手段から対象物までの距離を示す距離情報において、少なくとも距離値が与えられていない位置の距離値を決定するための処理を行う情報処理装置であって、前記距離情報に基づいて、当該距離情報において距離値が与えられていない位置の距離値として、１つの位置につき複数の距離値を導出する第１の導出手段と、前記距離値が与えられていない位置の複数の距離値を用いて、当該位置の距離値を決定する決定手段と、を有し、前記第１の導出手段は、前記撮像手段における撮像面と、前記対象物との幾何学的な関係を用いて、前記距離情報において距離値が与えられていない同一の位置の距離値として複数の距離値を導出することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、撮像手段から対象物までの距離を示す距離情報において推定できていない領域の距離値を高精度に決定することができる。
【図面の簡単な説明】
【００１０】
【図１】情報処理装置の機能的な構成の第１の例を示す図である。
【図２】情報処理装置のハードウェア構成を示す図である。
【図３】情報処理装置の処理の第１の例を説明するフローチャートである。
【図４】対象物と撮像部との配置を示す図である。
【図５】複数の方向における距離を推定する方法を説明する図である。
【図６】推定距離の信頼度を判断する方法を説明する図である。
【図７】距離の決定方法の比較例を説明する図である。
【図８】本実施形態における距離の決定方法を説明する図である。
【図９】情報処理装置の機能的な構成の第２の例を示す図である。
【図１０】情報処理装置の処理の第２の例を説明するフローチャートである。
【図１１】距離を推定する方向を選択する方法を説明する図である。
【図１２】情報処理装置の機能的な構成の第３の例を示す図である。
【図１３】情報処理装置の処理の第３の例を説明するフローチャートである。
【図１４】距離未推定区画領域を推定する方法を説明する図である。
【図１５】距離未推定区画領域の距離を再設定する方法を説明する図である。
【図１６】カメラモデルを考慮して推定距離を導出する方法を説明する図である。
【図１７】推定距離を導出する数式に用いる変数を説明する図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、実施形態を説明する。
（第１の実施形態）
＜構成＞
図１は、情報処理装置１００の機能的な構成の一例を示す図である。
情報処理装置１００は、距離画像取得部１１０、複数方向距離推定部１２０、信頼度判断部１３０、および距離決定部１４０を有する。情報処理装置１００には、撮像部３００が接続されている。
【００１２】
撮像部３００は、当該撮像部３００（の撮像面）から対象物までの距離を推定（測定）する測定装置に含まれる。撮像部３００を有する測定装置として、例えば、距離センサ、ＨＭＤ（Head Mounted Display）、または撮像装置（カメラ）を用いることができる。本実施形態では、撮像部３００は、距離画像を生成する。距離画像とは、撮像部３００から対象物までの距離を、画像状または２次元配列状に並べたものである。距離画像の各画素には、当該画素に対応する、撮像部３００から対象物までの距離として、例えば、撮像部３００の光軸に平行な方向における距離が設定される。尚、以下の説明では、撮像部３００から対象物までの距離や、撮像部３００の光軸に平行な方向における撮像部３００から対象物までの距離を、必要に応じて単に距離と称する。
【００１３】
撮像部３００で距離が推定できている画素には、撮像部３００で推定された距離が設定される。一方、撮像部３００で距離が推定できていない画素には、０（ゼロ）や無効値などが設定される。また、推定された距離を０（ゼロ）から１の範囲に正規化したり、距離の逆数を距離画像の各画素に設定したりしてもよい。以下の説明では、撮像部３００により距離を推定することができていない領域を、必要に応じて、距離未推定領域と称する。
【００１４】
距離画像取得部１１０は、撮像部３００から距離画像を取得する。
複数方向距離推定部１２０は、距離画像取得部１１０から距離画像を受け取り、距離画像内の距離未推定領域の距離を、複数の方向（距離画像上の上下左右方向等）で補間または補外することにより導出する第１の導出処理を行う。以下の説明では、複数方向距離推定部１２０で推定される距離を必要に応じて推定距離と称する。
【００１５】
信頼度判断部１３０は、複数方向距離推定部１２０で推定された複数の方向における推定距離の信頼度を導出し、導出した信頼度が（十分に）高いか否かを判断する第１の判断処理を行う。本実施形態では、信頼度は、距離を正しく推定することができている可能性を示す値を指すものとする。即ち、信頼度が高い値であるほど、距離を正しく推定することができている可能性が高いことになる。信頼度の詳細については後述する。
【００１６】
距離決定部１４０は、信頼度判断部１３０で行われた信頼度の判断結果に基づいて、複数の方向における推定距離の中から、補間または補外に使用する推定距離を決定する決定処理を行う。そして、距離決定部１４０は、決定した推定距離を用いて、距離画像取得部１１０が取得した距離画像の距離未推定領域の距離を導出し、導出した距離を、距離画像の距離未推定領域の画素のうち、当該距離に対応する画素に設定する設定処理を行う。
【００１７】
以上の処理により、距離画像の距離未推定領域の画素のうち、信頼度の高い距離の補間や補外が行えると判断された画素に関してのみ距離を決定することができ、低精度で距離を補間や補外してしまうことを避けながら、距離未推定領域を減らすことができる。
【００１８】
図２は、情報処理装置１００のハードウェア構成の一例を示す図である。
ＣＰＵ２０１は、ＲＯＭ２０２やＲＡＭ２０３に格納されたプログラムに従って命令を実行する。
【００１９】
ＲＯＭ２０２は、不揮発性メモリであり、後述するフローチャートによる処理を実行するプログラムや、その他の制御に必要なプログラムや、データを格納する。
ＲＡＭ２０３は、揮発性メモリであり、フレーム画像データや、被写体の同定の結果などの一時的なデータを記憶する。
【００２０】
２次記憶装置２０４は、ハードディスクドライブやフラッシュメモリーなど、データの書き換えが可能な２次記憶装置であり、画像情報や、各種処理プログラムや、各種設定内容などを記憶する。これらの情報は、ＲＡＭ２０３に転送されて、ＣＰＵ２０１がプログラムを実行する際に利用されたり、データとして利用されたりする。
入力装置２０５は、キーボードやマウスなどであり、ユーザからの入力を可能とする。
【００２１】
表示装置２０６は、ブラウン管ＣＲＴや液晶ディスプレイなどであり、ユーザに対して処理結果などを表示する。
ネットワークＩ／Ｆ２０７は、モデムやＬＡＮなどであり、インターネットやイントラネットなどのネットワークと接続を行う。
バス２０８は、前述した情報処理装置１００の各要素を相互に通信可能に接続する。情報処理装置１００の各要素は、バス２０８を介して相互にデータの入出力を行う。
以上の構成を有する情報処理装置１００には、オペレーティングシステムの上で動作するアプリケーションが実装されている。
【００２２】
＜処理の手順＞
図３は、距離未推定領域の距離を決定する際の情報処理装置１００の処理の一例を説明するフローチャートである。
ステップＳ３０１において、距離画像取得部１１０は、撮像部３００から距離画像を取得する。
次に、ステップＳ３０２において、複数方向距離推定部１２０は、距離画像上の上下左右の各方向で距離を線形補外することによって、距離未推定領域の距離を当該各方向のそれぞれにおいて推定する。
【００２３】
図４は、撮像部３００が対象物までの距離を推定する際の対象物と撮像部３００との配置の一例を示す図である。
図４では、壁４１０に絵画４２０が掛けられており、床４３０に机４４０が置かれている環境における各対象物までの距離を、撮像部３００の一例であるＨＭＤで推定（測定）する様子を示す。また、図４には、撮像部３００で生成される距離画像４００を併せて示す。距離画像４００において、黒の領域が、撮像部３００で距離を推定することができた領域であり、白の領域が、撮像部３００で距離を推定することができなかった領域（距離未推定領域）である。
【００２４】
図５は、距離未推定領域の距離を複数の方向のそれぞれにおいて推定する方法の一例を説明する図である。
図５において、距離画像取得部１１０により、距離画像４００が得られているとする。また、机４４０の左上隅の距離が距離画像５０１のようになるものとする。
【００２５】
距離画像５０１に対して下方向に距離を線形補外する場合について説明すると、例えば、距離画像５０１の右端の列では、距離が上から６０、５８と続いている。従って、複数方向距離推定部１２０は、そのまま２ずつ減らしながら、距離未推定領域の上の画素から下の画素に向けて距離を順次設定する。このような処理を距離画像５０１の全ての列について行うことで距離画像５０２が得られる。同様に、右方向に線形補外すると距離画像５０３のようになる。この他、複数方向距離推定部１２０は、上方向、左方向に関しても同様の処理を行い、各方向で線形補外した場合の距離画像を推定する。距離画像５０２、５０３のうち、距離未推定領域の画素（距離画像５０１において空欄の画素）の距離が、複数方向距離推定部１２０で推定される推定距離になる。このように、距離画像４００において同一の方向に並ぶ複数の位置の距離を用いて、距離画像４００において距離が与えられていない位置の距離が推定距離として導出される。
【００２６】
尚、ステップＳ３０２で推定する複数の方向は、上下左右方向に限定されない。例えば、斜め４方向でもよいし、上下左右斜めの８方向でもよいし、それ以上の方向数でもよい。また、縦横の２方向でもよい。即ち、ステップＳ３０２で推定する複数の方向は、２方向以上であればどの方向でもよい。
また、距離の推定方法は、線形補外に限定されない。例えば、線形補間でもよいし、非線形補間や非線形補外などでもよい。
【００２７】
次に、ステップＳ３０３において、信頼度判断部１３０は、ステップＳ３０２で得られた推定距離の信頼度を判断する。例えば、ステップＳ３０２において、上下左右の４方向で線形補外して、距離未推定領域の距離が推定されたとする。この場合、例えば、信頼度判断部１３０は、或る１つの画素位置について４方向で推定された距離のうち、３方向以上で推定された距離が近い値（所定範囲内）になった場合に、その画素位置での推定距離の信頼度が高いと判断する。
【００２８】
図６は、推定距離の信頼度を判断する方法の一例を説明する図である。以下、図６を用いて、推定距離の信頼度を判断する方法の一例を具体的に説明する。
図６において、距離画像取得部１１０は、中心部が距離未推定領域である距離画像６００を取得したとする。この距離画像６００に対して、上下左右の４方向で線形補外を行うと、距離画像６０１、６０２、６０３、６０４が得られる。距離画像６０１、６０２、６０３、６０４は、それぞれ、下方向、右方向、上方向、左方向に線形補外した結果を示す。
【００２９】
距離画像６００の距離未推定領域内の画素位置６０５について、距離画像６０１、６０２、６０３、６０４を比較する。そうすると、距離画像６０１、６０２、６０３、６０４から、複数方向距離推定部１２０で推定された推定距離は、それぞれ、７７、７６、７７、５４となる。ここで、仮に各距離の差が１０以下なら近い距離であると判断する場合、画素位置６０５での推定距離は、左方向の推定距離以外は全て近い値になっていると言える。よって、この場合、画素位置６０５での推定距離は、信頼度が高いと判断される。
【００３０】
尚、高い信頼度であるか否かを判断する際の基準に用いる方向の数は、３に限定されない。高い信頼度であるか否かを判断する際の基準に用いる方向の数は、例えば、４（全ての方向）であってもよいし、２であってもよい。同様に、距離の推定を行う方向が、上下左右の４方向ではなく上下左右斜めの８方向である場合やそれ以外の方向である場合でも、高い信頼度であるか否かを判断する際の基準に用いる方向の数は、２以上であれば、幾つであってもよい。
【００３１】
また、各方向における推定距離が近いか否かを判断する方法としては、例えば、以下の方法を採用することができる。即ち、上下左右の４方向で距離を補外した場合には、当該４方向での推定距離の中央値を算出し、算出した各方向における推定距離と当該中央値との差の絶対値が閾値以内であるか否かによって、各方向における推定距離が近いか否かを判断する。
【００３２】
尚、各方向における推定距離が近いか否かを判断する方法は、このような方法に限定されない。例えば、前述した中央値に替えて平均値を用いてもよい。また、距離を推定した方向の一部または全てを選択して、選択した方向における推定距離のばらつき（分散）が閾値以下であれば、当該選択した方向における推定距離は近いと判断してもよい。また、各方向における推定距離の近さと分散の双方で、前述した基準を満たす場合に、高い信頼度であると判断してもよい。
【００３３】
また、前述した閾値を、距離画像の全体で一定値にする必要はない。例えば、推定距離の中央値が大きい場合には閾値を大きく、小さい場合には閾値を小さくすることができる。このようにすれば、遠くの場所の距離の推定精度は低いという、距離センサやステレオマッチングの特徴を考慮した閾値にすることができる。また、例えば、距離センサは１０ｍ先で１０％程度の推定誤差が生じる。このことから、距離未推定領域の或る画素位置での閾値を、その画素位置についての複数の方向における推定距離の平均値や中央値の１０％の値にしてもよい。この他、任意の方法で、各方向における推定距離が近いか否かを判断することができる。即ち、各方向における推定距離が基準範囲に収まるか否かによって、各方向における推定距離が近いか否かを判断していればよい。
【００３４】
次に、ステップＳ３０４において、距離決定部１４０は、ステップＳ３０１で取得された距離画像の距離未推定領域の画素のうち、ステップＳ３０３で推定距離の信頼度が高いと判断された画素があるか否かを判定する。この判定の結果、推定距離の信頼度が高いと判断された画素がない場合には、図３のフローチャートによる処理を省略する。
【００３５】
一方、推定距離の信頼度が高いと判断された画素がある場合には、ステップＳ３０５に進む。ステップＳ３０５に進むと、距離決定部１４０は、ステップＳ３０１で取得された距離画像の距離未推定領域内の画素のうち、推定距離の信頼度が高いと判断された画素に距離を設定する。例えば、距離決定部１４０は、当該画素に対して導出された複数の方向における推定距離のうち、相互に近い値であると判断された方向における推定距離のみの平均値を、その画素の距離として、ステップＳ３０１で取得された距離画像に設定する。例えば、図６の画素位置６０５に関して、下、右、上の３方向で相互に近い値になっていることにより推定距離の信頼度が高いと判断されたとする。この場合には、画素位置６０５の距離として、距離画像６０１〜６０３の画素位置６０５での推定距離７７、７６、７６の平均値である７６．３が設定される。尚、ステップＳ３０５において距離を決定する方法は、前述した平均値に限定されない。例えば、平均値に替えて中央値を用いてもよい。
【００３６】
以上のように本実施形態では、距離未推定領域のそれぞれの画素の推定距離を、推定できた距離を用いて導出することを、複数の方向のそれぞれにおいて行う。それら複数の方向における推定距離の値に基づいて、当該画素に距離を設定するか否かを判断する。そして、距離を設定すると判断した画素に対する距離を、当該複数の方向における推定距離の値の少なくとも１つに基づいて決定し、決定した距離を当該画素の距離として設定する。従って、複数の方向における推定距離のうち信頼度が高い推定距離が得られた画素のみに信頼度が高い距離を設定することができる。よって、撮像部３００で推定された距離に基づいて、距離未推定領域の画素の距離を、高精度で決定することができる。
【００３７】
図７は、距離未推定領域の距離の決定方法の比較例を説明する図である。図４に示す距離画像４００のうち、線分４５０上の位置の距離をグラフに示すと図７（ａ）のようになる。推定距離の値７０１、７０４は、床４３０の距離を表す。また、推定距離の値７０２、７０３は、それぞれ机４４０の天板の左端と右端の距離を表す。机４４０の天板の内部の距離を非特許文献１に記載の技術で決定すると、机４４０の端から離れるほど基準面（床４３０）までの距離に引っ張られた距離になる。その結果、図７（ｂ）の補間値７１１のように、机４４０の天板の内部の距離が決定される。
【００３８】
また、非特許文献１に記載の技術では、距離が隣接画素間で滑らかに変化すると仮定する。従って、机４４０が写っている画素と床４３０が写っている画素との間の距離が滑らかに推移させる。そのため、図７（ｂ）の補間値７１２、７１３のように、机４４０の天板と床４３０が１つの曲面であるかのように距離を決定する。その結果、本来存在しない曲面や本来とは異なる形状の距離を設定することになる。
【００３９】
これに対し、例えば、図８において、距離画像６００に対して、前述した本実施形態の処理を用いると、距離画像８００が得られる。画素位置８０１の列から左側の画素は床４３０に対応し、右側の画素は机４４０の端の部分に対応する。この距離画像８００では、床４３０の距離に近い値が設定されており、本来の形状に近い値となっている。このように、本実施形態の処理を用いると、本来存在しない曲面や本来とは異なる形状の距離を設定することを避けながら、高精度に距離を決定することができる。また、本実施形態の処理では、距離未推定領域の画素の距離として、当該画素の周囲の、撮像部３００で推定することができた画素の距離と極端に異なる距離が設定されない。従って、図７（ｂ）の補間値７１１のように、机４４０の天板の内部の距離が、本来の机４４０の距離と大きく異なることを抑制することができる。
【００４０】
（第２の実施形態）
次に、第２の実施形態を説明する。第１の実施形態では、信頼度判断部１３０は、複数方向距離推定部１２０で推定された全ての方向における推定距離を用いて信頼度を判断する場合を例に挙げて説明した。これに対し、本実施形態では、信頼度の判断に全ての方向の推定距離を用いるのではなく、一部の方向における推定距離を選択し、選択した方向における推定距離の信頼度を判断し、その結果に基づいて距離を決定する。このように本実施形態と第１の実施形態とは、複数方向距離推定部１２０で推定された複数の方向における推定距離の一部を選択することによる構成および処理が主として異なる。従って、本実施形態の説明において、第１の実施形態と同一の部分については、図１〜図８に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００４１】
＜構成＞
図９は、情報処理装置９００の機能的な構成の一例を示す図である。
本実施形態の情報処理装置９００は、第１の実施形態の情報処理装置１００の構成に対し、方向選択部１６０が追加される。
方向選択部１６０は、距離画像取得部１１０から距離画像を受け取る。方向選択部１６０は、距離画像取得部１１０から受け取った距離画像に基づいて、距離未推定領域の画素に対して信頼度の判断および距離の決定を行う際に、どの方向における推定距離を用いるのかを選択する選択処理を行う。
【００４２】
信頼度判断部１３０は、或る画素における推定距離の信頼度を判断する際に、方向選択部１６０で選択された方向における推定距離を利用する。具体的に、信頼度判断部１３０は、複数方向距離推定部１２０で推定された複数の方向における推定距離のうち、方向選択部１６０で選択された方向における推定距離の信頼度が（十分に）高いか否かを判断する第１の判断処理を行う。
【００４３】
距離決定部１４０は、信頼度判断部１３０で行われた信頼度の判断結果に基づいて、複数の方向における推定距離のうち、方向選択部１６０で選択された方向における推定距離の中から、補間または補外に使用する推定距離を決定する決定処理を行う。そして、距離決定部１４０は、決定した推定距離を用いて、距離画像取得部１１０が取得した距離画像の距離未推定領域の距離を導出し、導出した距離を、距離画像の距離未推定領域の画素のうち、当該距離に対応する画素に設定する設定処理を行う。
尚、本実施形態の情報処理装置９００のハードウェアは、例えば、図２に示した構成で実現することができる。
【００４４】
＜処理の手順＞
図１０は、距離未推定領域の距離を決定する際の情報処理装置９００の処理の一例を説明するフローチャートである。
ステップＳ１００１、Ｓ１００２は、それぞれ、図３のステップＳ３０１、Ｓ３０２と同じである。即ち、ステップＳ１００１において、距離画像取得部１１０は、撮像部３００から距離画像を取得し、ステップＳ１００２において、複数方向距離推定部１２０は、距離未推定領域の距離を複数の方向のそれぞれにおいて推定する。
【００４５】
次に、ステップＳ１００３において、方向選択部１６０は、ステップＳ１００１で取得された距離画像を利用して、距離未推定領域の各画素において、推定距離の信頼度の判断および距離の決定に利用する方向を選択する。具体的に、方向選択部１６０は、ステップＳ１００１で取得された距離画像の、距離が推定されなかった画素の距離を推定する方向を、当該画素と位置が近い、距離が推定された画素の距離に基づいて選択する。
【００４６】
図１１は、距離を推定する方向を選択する方法の一例を説明する図である。
例えば、図１１（ａ）に示す距離画像１１００が距離画像取得部１１０により取得されたとする。また、複数方向距離推定部１２０は、上下左右の４方向で距離の推定を行うとする。画素位置１１０１に関して、距離が推定された画素の画素位置までの各方向における最短距離は、上方向に距離を推定する向きでは１画素、左右方向では２画素、下方向では３画素である。例えば、距離を推定する方向として、距離が推定されなかった画素（距離の決定対象の画素）から、距離が推定された画素までの最短距離が近い上位３つの方向を選択するとする。この場合、上方向、左方向、および右方向の３方向が選択される。
【００４７】
尚、方向選択部１６０における方向の選択の基準は、距離が推定されなかった画素（距離の決定対象の画素）から、距離が推定された画素までの最短距離でなくてもよい。距離センサやステレオマッチングでは、近い対象物までの距離の方が、小さい誤差で距離を推定できる。このことから、推定された距離の値が小さい画素が存在する方向を選択してもよい。例えば、図１１（ｂ）に示す距離画像１１１０の画素位置１１１１について、上方向において距離を推定する際には、距離の値として５０、５２を利用する。同様に、右方向において距離を推定する際には、距離の値として５６、５６を利用し、左方向において距離を推定する際には、距離の値として６６、６６を利用し、下方向において距離を推定する際には、距離値として９９、９８を利用する。例えば、距離を推定する方向として、推定された距離が小さい上位３つの方向を選択するとする。この場合、上方向、右方向、左方向、下方向の順に、推定された距離は小さいことになるので、上方向、右方向、および左方向の３方向が選択される。
【００４８】
また、距離画像にノイズが含まれる可能性を考慮して、ノイズが含まれていない可能性の高い方向を選択してもよい。例えば、図１１（ｃ）に示す距離画像１１２０の画素位置１１２１について、上方向、左方向、および右方向において距離を推定する際に用いる画素の近辺には同じような距離を有する画素しかない。これに対して、下方向において距離を推定する際に用いる画素の近辺の画素の距離の値は、７０から９９までばらつきがある。このように距離の値がばらついている領域では、ノイズが含まれている可能性が高い。ノイズが含まれている画素から線形補外や線形補間などで距離を推定すると、推定結果にもノイズの影響が表れる。そこで、ノイズが含まれる画素がある方向を選択しないようにする（即ち、ノイズが含まれる画素の距離を用いて推定距離を導出しないようにする）ために、推定距離の導出に用いる画素の近辺の距離の値のばらつき（分散）の値が小さい方向を選択する。例えば、距離を推定する方向として、このばらつき（分散）の値が小さい上位３つの方向を選択するとする。この場合、上方向、左方向、右方向の３方向が選択される。この他にも任意の方法で方向を選択することができる。例えば、前述した方法（距離が推定された画素の画素位置までの最短距離を用いる方法、推定された距離の値が小さい画素が存在する方向を選択する方法、距離の値のばらつき（分散）の値を用いる方法）の少なくとも何れか２つを組み合わせてもよい。
【００４９】
また、方向選択部１６０において選択される方向の数は、距離画像の距離未推定領域の全ての画素で共通とし、一定数としてもよいし、画素ごとに異なる数としてもよい。例えば、距離が推定されなかった画素（距離の決定対象の画素）から、推定距離の導出に用いる画素までの最短距離が所定値以下である方向や、推定距離の導出に用いる画素の近辺の距離の値のばらつき（分散）が所定値以下である方向のみを選択してもよい。即ち、このような指標（最短距離およびばらつき（分散）等）に応じて、距離画像の距離未推定領域の画素ごとに、方向選択部１６０において選択される方向の数を異ならせてもよい。
【００５０】
また、図１０のフローチャートでは、ステップＳ１００２の後にステップＳ１００３を実行する場合を例に挙げて示す。しかしながら、ステップＳ１００３の後にステップＳ１００２を実行してもよい。また、ステップＳ１００２、Ｓ１００３を並列に実行してもよい。
【００５１】
次に、ステップＳ１００４において、信頼度判断部１３０は、ステップＳ１００２で得られた複数の方向における推定距離のうち、ステップＳ１００３で選択された方向における推定距離の信頼度を判断する。
例えば、ステップＳ１００２で、上下左右の４方向において推定距離を導出していたとする。また、ステップＳ１００３で、距離未推定領域の或る画素について、上方向、左方向、および右方向の３方向が選択されたとする。また、ステップＳ１００４において、高い信頼度であると判断する際の基準は、選択された方向における推定距離のうち、過半数の推定距離が近い値であることとする。この場合、信頼度判断部１３０は、上方向、左方向、および右方向の３方向における推定距離のうち、２方向以上における推定距離が近い値となっていれば、当該推定距離の信頼度は高いと判断する。尚、推定距離が近いか否かの判断の手法として、例えば、第１の実施形態のステップＳ３０３において説明した手法を用いることができる。
【００５２】
また、高い信頼度であると判断する際の基準は、前述したものに限定されない。例えば、選択された方向のうち、８割以上の方向における推定距離が近い値であることとしてもよいし、選択された方向のうち２方向以上における推定距離が近い値であることとしてもよい。この他、任意の基準を設定することができる。
【００５３】
次に、ステップＳ１００５において、距離決定部１４０は、図３のステップＳ３０４と同様に、ステップＳ１００１で取得された距離画像の距離未推定領域の画素のうち、ステップＳ１００４で推定距離の信頼度が高いと判断された画素があるか否かを判定する。この判定の結果、推定距離の信頼度が高いと判断された画素がない場合には、図１０のフローチャートによる処理を省略する。
【００５４】
一方、推定距離の信頼度が高いと判断された画素がある場合には、ステップＳ１００６に進む。ステップＳ１００６に進むと、距離決定部１４０は、ステップＳ１００１で取得された距離画像の距離未推定領域内の画素のうち、推定距離の信頼度が高いと判断された画素に距離を設定する。このとき、距離決定部１４０は、ステップＳ１００３で選択された方向における推定距離のうち、相互に近い値であると判断された方向における推定距離を用いる。例えば、距離未推定領域の或る画素に対して選択された方向が、上方向、左方向、右方向の３方向であり、そのうち上方向と右方向の２方向における推定距離が相互に近い値であったとする。この場合、距離決定部１４０は、上方向および右方向の２方向における推定距離から、その画素に対する距離を決定する。距離を決定する方法として、例えば、第１の実施形態のステップＳ３０５で説明した方法を採用することができる。
【００５５】
以上のように本実施形態では、複数方向距離推定部１２０で推定された複数の方向における推定距離の一部の方向における推定距離を選択し、選択した推定距離を用いて、推定距離の信頼度の判断と距離の値の決定とを行う。従って、推定距離の信頼度が低くなる可能性をより減らすことができ、距離の決定の精度をより向上させることができる。
【００５６】
（第３の実施形態）
次に、第３の実施形態を説明する。本実施形態では、撮像部３００で距離が推定されなかった距離未推定領域に対応する面（平面や曲面）を推定し、その面の値に距離未推定領域の距離を再設定する。これにより、第１または第２の実施形態で、距離が未知のまま残った画素の距離を決定したり、距離が決定された画素の距離を修正したりすることができる。このように、本実施形態は、第１および第２の実施形態に対し、距離未推定領域に対応する面を推定して距離の再設定をする処理が加わることによる構成および処理が主として異なる。従って、本実施形態の説明において、第１および第２の実施形態と同一の部分については、図１〜図１１に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００５７】
＜構成＞
図１２は、情報処理装置１２００の機能的な構成の一例を示す図である。
本実施形態の情報処理装置１２００は、第１の実施形態の情報処理装置１００の構成に対し、領域推定部１８０、距離決定割合算出部１９０、および領域補間部２００が追加される。
【００５８】
領域推定部１８０は、距離画像取得部１１０から距離画像を受け取る。領域推定部１８０は、距離画像において、距離が推定された画素によって区切られる距離未推定領域を推定する。以下の説明では、このようにして区画された距離未推定領域のそれぞれを、必要に応じて、距離未推定区画領域と称する。
【００５９】
距離決定割合算出部１９０は、領域推定部１８０によって推定された各距離未推定区画領域について、どれだけの割合の画素に対して、距離決定部１４０によって距離が設定されたのかを算出する。以下の説明では、この割合を、必要に応じて、距離決定割合と称する。
【００６０】
領域補間部２００は、距離決定割合算出部１９０により算出された距離決定割合が閾値以上である距離未推定区画領域を判断する第２の判断処理を行う。そして、領域補間部２００は、距離決定割合算出部１９０により算出された距離決定割合が閾値以上である距離未推定区画領域の距離を、当該距離未推定区画領域に適した面に対応する距離に再設定する再設定処理を行う。
尚、本実施形態の情報処理装置１２００のハードウェアは、例えば、図２に示した構成で実現することができる。
【００６１】
＜処理の手順＞
図１３は、距離未推定領域の距離を決定する際の情報処理装置１２００の処理の一例を説明するフローチャートである。
ステップＳ１３０１は、図３のステップＳ３０１と同じである。即ち、ステップＳ１３０１において、距離画像取得部１１０は、撮像部３００から距離画像を取得する。
【００６２】
次に、ステップＳ１３０２において、領域推定部１８０は、ステップＳ１３０１で取得された距離画像を、距離が推定された画素によって区切り、距離未推定区画領域を推定する。
例えば、撮像部３００で距離を推定できなかった画素のラベリングを行うことで距離未推定区画領域を推定することができる。図１４は、距離未推定区画領域を推定する方法の一例を説明する図である。例えば、距離画像取得部１１０が、図４に示した距離画像４００を取得した場合には、図１４に示すようにしてラベリングされる。
【００６３】
図１４に示す例では、１から２１の各番号が、撮像部３００で距離が推定された画素で区切られる各距離未推定区画領域のラベル番号を表す。尚、距離未推定区画領域を特定する方法は、このような方法に限定されず、距離が推定された画素を境界として、距離画像を分割し、距離が推定された画素によって区切られる距離未推定領域を推定することができる方法であれば、どのような方法でもよい。
【００６４】
続くステップＳ１３０３〜Ｓ１３０６は、図３のステップＳ３０２〜Ｓ３０５と同じである。即ち、ステップＳ１３０３において、複数方向距離推定部１２０は、複数の方向における推定距離を導出し、ステップＳ１３０４において、信頼度判断部１３０は、ステップＳ１３０３で導出された推定距離の信頼度を判断する。そして、ステップＳ１３０５において、距離決定部１４０は、ステップＳ１３０１で取得された距離画像の距離未推定領域の画素のうち、ステップＳ１３０４で推定距離の信頼度が高いと判断された画素があるか否かを判定する。
【００６５】
この判定の結果、推定距離の信頼度が高いと判断された画素がある場合には、ステップＳ１３０６に進む。ステップＳ１３０６に進むと、距離決定部１４０は、ステップＳ１３０１で取得された距離画像の距離未推定領域内の画素のうち、推定距離の信頼度が高いと判断された画素に距離を設定する。そして、ステップＳ１３０７に進む。一方、推定距離の信頼度が高いと判断された画素がない場合には、ステップＳ１３０６を省略してステップＳ１３０７に進む。
尚、本実施形態では、ステップＳ１３０３〜Ｓ１３０６の処理は、ステップＳ１３０２で推定された距離未推定区画領域ごとに行われるものとする。
【００６６】
尚、図１３のフローチャートでは、ステップＳ１３０２が、ステップＳ１３０３の前で行われる場合を例に挙げて示す。しかしながら、ステップＳ１３０２は、ステップＳ１３０３、Ｓ１３０４、Ｓ１３０５、またはＳ１３０６の前で実行しても後で実行してもよい。また、ステップＳ１３０２を、ステップＳ１３０３〜Ｓ１３０６と並列で実行してもよい。
【００６７】
ステップＳ１３０７に進むと、距離決定割合算出部１９０は、距離決定割合を、距離未推定区画領域ごとに個別に算出する。前述したように距離決定割合は、ステップＳ１３０２で推定された距離未推定区画領域の画素のうち、どれだけの割合の画素に対して、ステップＳ１３０６で距離が設定されたのかを示すものである。例えば、距離決定割合算出部１９０は、距離未推定区画領域の画素数で、当該距離未推定区画領域内においてステップＳ１３０６で距離が設定された画素数を割る計算を行う。本実施形態ではこのように、距離未推定区画領域の画素数により、第１の領域の大きさが定まり、当該距離未推定区画領域内においてステップＳ１３０６で距離が設定された画素数により、第２の領域の大きさが定まる。
尚、この他にも、前述した距離決定割合を算出する方法であればどのような方法で距離決定割合を算出してもよい。距離決定割合を百分率で表してもよい。
【００６８】
次に、ステップＳ１３０８において、領域補間部２００は、距離決定割合が閾値以上である距離未推定区画領域があるか否かを判定する。この判定の結果、距離決定割合が閾値以上である距離未推定区画領域がない場合には、図１３のフローチャートによる処理を終了する。一方、距離決定割合が閾値以上である距離未推定区画領域がある場合には、ステップＳ１３０９に進む。
【００６９】
ステップＳ１３０９に進むと、領域補間部２００は、ステップＳ１３０６で設定された距離に基づいて、距離未推定区画領域の全体の距離を算出する。ステップＳ１３０９の処理は、距離決定割合が閾値以上である距離未推定区画領域のそれぞれについて個別に行われる。本実施形態では、距離未推定区画領域の各位置と、距離との関係を表す関数（面（平面または曲面））を推定し、推定された面（平面や曲面）に対応する距離で当該距離未推定区画領域（全体）の距離を再設定する。
【００７０】
尚、領域補間部２００は、ステップＳ１３０３で線形補間や線形補外を用いる場合には、平面を推定し、ステップＳ１３０３で非線形補間や非線形補外を用いる場合には、曲面を推定する。
【００７１】
図１５は、距離未推定区画領域の距離を再設定する方法の一例を説明する図である。図１５（ａ）は、ステップＳ１３０１において、距離画像取得部１１０により取得された距離画像１５００の一例を示す。図１５（ｂ）は、ステップＳ１３０６で距離が設定された距離画像１５１０の一例を示す。
【００７２】
例えば、図１５（ａ）に示す距離画像１５００に対し、ステップＳ１３０３で、上下左右方向の４方向に線形補外を用いて距離を推定していたとする。また、ステップＳ１３０３で導出された４方向における推定距離のおうち、３方向以上における推定距離が近い値である場合に、ステップＳ１３０５において、高い信頼度であると判定されるものとする。この場合、図１５（ｂ）に示す距離画像１５１０がステップＳ１３０６で取得される。距離画像１５００には、画素位置１５０１、１５０２にノイズが含まれている。その結果、画素位置１５１１では、ステップＳ１３０６で設定された距離に誤差が含まれる。画素位置１５１２では、ステップＳ１３０５において、信頼度が低いと判断されて距離が設定されない。
【００７３】
また、ステップＳ１３０８において、距離決定割合に対する閾値が８割（＝０．８）であるものとする。図１５（ａ）に示す例では、距離未推定区画領域の全画素数は１６であり、図１５（ｂ）に示す例では、ステップＳ１３０５で距離が設定されなかった画素数は１である。従って、距離決定割合は０．９３４（＝１５／１６）であり、閾値（＝０．８）以上である。
【００７４】
従って、ステップＳ１３０９において、領域補間部２００は、距離未推定区画領域の各位置と、距離との関係を表す関数として、例えば当該関係を表す平面を導出する。例えば、距離未推定区画領域内の画素位置をｘ軸、ｙ軸の２次元座標で表し、距離の値をｚ軸とし、距離未推定区画領域の各位置と、距離との関係を表す平面をｘ、ｙ、ｚ座標空間に表す。このような平面は、例えば、或る１つの距離未推定区画領域の画素位置に対し、ステップＳ１３０６で設定された距離の値に最も近い値をとる平面を、例えば、最小二乗法で求めることにより導出することができる。このようにして導出された平面から、ステップＳ１３０６で距離が設定されなかった画素位置１５１２における距離を算出することができる。また、ステップＳ１３０６で設定された距離は、このようにして算出された平面に対応する距離に変更される。
【００７５】
尚、ステップＳ１３０８における距離決定割合に対する閾値は８割に限定されず、８割以外の任意の定数にすることができる。また、距離未推定区画領域の面積の大きさに応じて、距離決定割合に対する閾値を距離未推定区画領域毎に変えてもよい。
【００７６】
また、面（平面や曲面）の推定方法は、最小二乗法に限るものではなく、例えば、ハフ変換やRANSACを用いてもよい。
また、距離センサまたはカメラなどの撮像部３００の内部パラメータ（焦点距離、主点位置、歪みに関するパラメータなど）が取得できる場合には、距離の値から、撮像部３００に対する対象物の３次元座標を計算することができる。この３次元座標を用いて、ステップＳ１３０２で推定された距離未推定区画領域に対応する平面または曲面を推定してもよい。
【００７７】
また、ステップＳ１３０９における距離の再設定は、ステップＳ１３０６で距離が設定された画素と、ステップＳ１３０６で距離が設定されなかった画素との両方に対して行わずに、ステップＳ１３０６で距離が設定されなかった画素に対してのみ行ってもよい。逆に、ステップＳ１３０６で距離が設定された画素に対してのみ行ってもよい。
【００７８】
また、ステップＳ１３０９における距離の再設定は、ステップＳ１３０６で距離が設定された画素の一部に対して行ってもよい。例えば、ステップＳ１３０６で設定された距離が誤差を含む可能性が高い場合に、当該距離が設定された画素に対する距離を、前述した面（平面や曲面）に対応する距離に変更することができる。
【００７９】
ステップＳ１３０６で設定された距離が誤差を含む可能性の高いか否かは、例えば、前述した面（平面や曲面）に対応する距離と、ステップＳ１３０６で設定された距離との差が閾値以上であるか否かで判断することができる。この距離の差に対する閾値として、１０以上など、全ての距離未推定区画領域で共通の任意の定数を用いることができる。また、この距離の差に対する閾値を、前述した面（平面や曲面）に対応する距離の平均値の１０％としたり、前述した面（平面や曲面）に対応する距離の平均値に応じて変えたりしてもよい。例えば、前述した面（平面や曲面）に対応する距離の平均値が大きくなるほど、大きな値になる関数で、閾値を決定し、距離未推定区画領域毎に閾値を決定してもよい。また、前述した面（平面や曲面）に対応する各画素の距離に応じて、画素ごとに閾値を決定してもよい。
【００８０】
以上のように本実施形態では、距離未推定区画領域内において設定された距離を用いて、当該距離未推定区画領域の全体の距離を表す面（平面や曲面）を導出し、少なくとも距離が未設定の画素に対して、導出した面に対応する距離を設定する。従って、第１、第２の実施形態で説明した効果に加え、高い精度で距離を設定できなかった画素であって、距離未推定区画領域毎に見たら高い精度で距離を決定できる画素に対し、距離を設定することができる。
尚、第２の実施形態に対し、本実施形態を適用することもできる。
【００８１】
（第４の実施形態）
次に、第４の実施形態を説明する。第１〜第３の実施形態では、複数方向距離推定部１２０は、距離画像取得部１１０で取得された距離画像で推定済みの距離を用いた補間や補外を行うことにより、距離が未推定の画素に対し、複数の方向における推定距離を導出する場合を例に挙げて説明した。これに対し、本実施形態では、第１〜第３の実施形態の何れかの手法において、カメラモデルを考慮して、複数の方向における推定距離を導出する。このように本実施形態と第１〜第３の実施形態は、複数方向距離推定部１２０の処理の内容が異なる。従って、本実施形態の説明において、第１〜第３の実施形態と同一の部分については、図１〜図１５に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００８２】
＜構成＞
本実施形態の情報処理装置の機能的な構成は、例えば、図１、図９または図１２に示した構成で実現することができる。また、本実施形態の情報処理装置のハードウェアは、例えば、図２に示した構成で実現することができる。
【００８３】
＜処理の手順＞
本実施形態では、図３のステップＳ３０２、図１０のステップＳ１００２、図１３のステップＳ１３０３において、複数方向距離推定部１２０は、カメラモデルを考慮して、複数方向における推定距離を導出する。カメラモデルは、対象物（被写体）と撮像面に結像される像との幾何学的な関係を数式で表したものである。
【００８４】
以下、カメラモデルを考慮して推定距離を導出する方法の一例を説明する。図１６は、カメラモデルを考慮して推定距離を導出する方法の一例を説明する図である。
図１６では、撮像部３００をピンホールカメラ１６００で近似する場合を例に挙げて示す。撮像面１６０１上に連続して存在する画素位置ｘ1、ｘ2、ｘ3に対応する平面１６０２までの距離は順にＤ1、Ｄ2、Ｄ3となる。各画素位置ｘ1、ｘ2、ｘ3のうち相互に隣接する画素位置（画素位置ｘ1、ｘ2と画素位置ｘ2、ｘ3）の間の距離の差δＤ12、δＤ23について比較すると、以下の（１）式のようになる。
δＤ12≠δＤ23  ・・・（１）
【００８５】
このことから、例えば画素位置ｘ1、ｘ2の距離Ｄ1、Ｄ2から、画素位置ｘ3の距離を線形補外しても正しい距離Ｄ3が得られないことがわかる。これは、各画素に対応する距離のサンプリング間隔が平面１６０２上で等間隔にならないことに起因する（ただし、平面１６０２と撮像部３００の撮像面１６０１とが正対している場合は等間隔になる）。そこで、距離未推定領域が、距離が推定された領域から続く平面領域であると仮定する。このような仮定の下、ピンホールカメラモデルを考慮して、距離未推定領域の距離を、補外を行うことにより導出することで、平面を写した距離画像の距離未推定領域の距離を、より高い精度で決定することができると言える。
【００８６】
図１７は、前述した仮定の下でピンホールカメラモデルを考慮して、補外を行うことにより推定距離を計算する数式を導出する際に用いる変数の一例を説明する図である。図１７を参照しながら、かかる数式の一例を説明する。
【００８７】
図１７において、ｆは、カメラの焦点距離を表す。ｔ1、ｔ2は、各画素位置ｘ1、ｘ2に対応する平面１６０２上の位置までの、カメラの光軸１７０１からの距離を示す。画素位置ｘ3の距離Ｄ3を各画素位置ｘ1、ｘ2の距離Ｄ1、Ｄ2から推定するとする。また、ｔ'3は、Ｄ3＝Ｄ1であるときの、カメラの光軸１７０１から、画素位置ｘ3に対応する被写体の位置までの距離を示す。また、カメラの光軸１７０１に対応する撮像面１６０１上の座標位置をｘpとする。
図１７に示す関係から、以下の（２）式により以下の（３）式のようにｔ1が計算され、以下の（４）式により以下の（５）式のようにｔ2が計算される。
【００８８】
【数１】
0006702766.tif 000002
【００８９】
ここで、以下の（６）式に示す相似関係から、以下の（７）式が得られる。図１６に示すように、δＤ12＝Ｄ2−Ｄ1であるから、（７）式は、以下の（８）式のように書き換えられる。以下の（９）式のようにＡを定義すると、（８）式より、以下の（１０）式が得られ、（１０）式を変形すると以下の（１１）式が得られる。尚、（９）式のδＤ12／［ｔ1｛（Ｄ2／Ｄ1）（（ｘ2−ｘp）／（ｘ1−ｘp））−１｝］は、δＤ12／（ｔ2−ｔ1）のｔ1、ｔ2に、（３）式、（５）式を与えることにより得られる。
【００９０】
【数２】
0006702766.tif 000003
【００９１】
また、以下の（１２）式に示す相似関係と、以下の（１３）式より、以下の（１４）式が成り立つ。以下の（１５）式、（１６）式より、以下の（１７）式に示す相似関係から、以下の（１８）式が得られる。（１４）式と（１８）式から、以下の（１９）式、（２０）式が得られる。
【００９２】
【数３】
0006702766.tif 000004
【００９３】
ここで、図１６より、以下の（２１）式のように表すと、（１０）式と（２１）式から、以下の（２２）式が得られる。また、（１９）式と（２２）式から、以下の（２３）式が得られる。図１６より、以下の（２４）式が成り立つから、（２３）式、（２４）式から、以下の（２５）式が得られ、（２５）式を変形すると、以下の（２６）式が得られる。
【００９４】
δＤ23＝（Ｄ3−Ｄ2）  ・・・（２１）
δＤ23＝Ａ（ｔ3−ｔ2）  ・・・（２２）
δＤ23＝Ａ（ＢＤ3−ｔ2）  ・・・（２３）
Ｄ3＝δＤ23＋Ｄ2  ・・・（２４）
δＤ23＝ＡＢδＤ23＋ＡＢＤ2−Ａｔ2  ・・・（２５）
（１−ＡＢ）δＤ23＝ＡＢＤ2−Ａｔ2  ・・・（２６）
【００９５】
（２６）式から、以下の（２７）式が得られ、（９）式、（２１）式、（２４）式、（２７）式から、以下の（２８）式が得られる。（２８）式のｔ1に（３）式を代入し、（２８）式のｔ2に（５）式を代入し、（２８）式のδＤ12に（Ｄ2−Ｄ1）を代入して式変形を行うと、以下の（２９）式が得られる。
【００９６】
【数４】
0006702766.tif 000005
【００９７】
距離未推定領域が、距離が推定された領域から続く平面領域であるとの仮定の下、ピンホールカメラモデルを考慮して、画素位置ｘ3の距離Ｄ3を、各画素位置ｘ1、ｘ2の距離Ｄ1、Ｄ2から補外を行うことにより導出する式は（２９）式のようになる。
【００９８】
（２９）式を用いて距離の補外を行うことで、線形補外を用いる場合よりも高精度に画素位置x3の平面１６０２までの距離Ｄ3を推定することができる。
また、距離未推定領域が、距離が推定された領域から続く平面以外の面 （曲面や球面など）であるという仮定の下で、カメラモデルを考慮し、複数の方向における推定距離を導出してもよい。
尚、考慮するカメラモデルは、ピンホールカメラモデルに限定されるものではない。例えば、光学歪を含むカメラモデルやその他の任意のカメラモデルを考慮することができる。
【００９９】
また、前述した各実施形態では、距離画像を用いる場合を例に挙げて説明した。しかしながら、撮像部３００から対象物の各位置までの距離（距離値）を示す距離情報を用いていれば、必ずしも、距離画像を用いる必要はない（画像の形式にする必要はない）。
【０１００】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【０１０１】
（その他の実施例）
本発明は、以下の処理を実行することによっても実現される。即ち、まず、以上の実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）が当該コンピュータプログラムを読み出して実行する。
【符号の説明】
【０１０２】
１１０：距離画像取得部、１２０：複数方向距離推定部、１３０：信頼度判断部、１４０：距離決定部
【図１】
0006702766.tif 000006
【図２】
0006702766.tif 000007
【図３】
0006702766.tif 000008
【図４】
0006702766.tif 000009
【図５】
0006702766.tif 000010
【図６】
0006702766.tif 000011
【図７】
0006702766.tif 000012
【図８】
0006702766.tif 000013
【図９】
0006702766.tif 000014
【図１０】
0006702766.tif 000015
【図１１】
0006702766.tif 000016
【図１２】
0006702766.tif 000017
【図１３】
0006702766.tif 000018
【図１４】
0006702766.tif 000019
【図１５】
0006702766.tif 000020
【図１６】
0006702766.tif 000021
【図１７】
0006702766.tif 000022