(57)【要約】【課題】撮影画像における被写体の位置検出を撮影環境によらず高精度に行う。【解決手段】情報処理装置の位置情報生成部４６のうち類似度データ生成部６２は、一方の画像を分割してなるブロックを順次、参照ブロックとして、他方の画像に設定した探索範囲において類似度を計算していくことにより類似度データを生成する。類似度補正部６４は、類似度データを時間方向、空間方向に平滑化する。結果評価部６６は、類似度が最大となる位置を検出するとともに、その箇所における類似度の突出の度合いおよび最大値をそれぞれしきい値判定することによりスクリーニングする。最大値の判定では参照ブロックが特徴点領域か否かによってしきい値を異ならせる。奥行き画像生成部６８は、スクリーニング後の検出結果に基づき視差を計算し、被写体の奥行き方向の位置を画像平面に表した奥行き画像を生成する。【選択図】図８
2016038886.tif 000002
【特許請求の範囲】
【請求項１】
同一空間を左右の視点から撮影するステレオカメラで撮影した左右の撮影画像のうち、一方の画像を分割してなる複数の領域のそれぞれを参照ブロックとし、各参照ブロックについて、他方の画像に探索範囲を設定し、前記参照ブロックとの画像の類似度を当該探索範囲内の位置に対応づけて算出した類似度データを生成する類似度データ生成部と、
各類似度データにおいて類似度が最大値となる位置を検出するとともに、当該類似度に対する所定の評価を行うことにより、当該検出結果をスクリーニングする結果評価部と、
スクリーニングの結果、有効とされた検出結果を用いて参照ブロックごとに視差を求め、それに基づき被写体の奥行き方向の位置を算出して画像平面に対応づけることにより奥行き画像を生成する奥行き画像生成部と、
前記奥行き画像を用いて、被写体の３次元空間における位置に基づく所定の情報処理を行いその結果を出力する出力情報生成部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記結果評価部は、前記類似度データのうち類似度の最大値の突出具合を表す先鋭度を所定の計算式により求め、当該先鋭度が所定のしきい値以下である場合に、検出結果を無効とすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記結果評価部は、前記類似度データのうち類似度の最大値が所定のしきい値以下である場合に、検出結果を無効とすることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記結果評価部は、前記参照ブロックを、特徴点を多く含む特徴点領域か否かを表す所定の評価基準値に基づき分類し、前記類似度の最大値に対し設定するしきい値を、対応する参照ブロックが特徴点領域であるか否かに応じて異ならせることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記撮影画像は所定のフレームレートで撮影された動画像の画像フレームであり、
前記類似度データ生成部が生成した類似度データを、それより前の時間ステップにおける撮影画像に対し生成された、同じ位置の参照ブロックに対する類似度データと比較し、比較結果に基づき時間方向に平滑化する類似度補正部をさらに含み、
前記結果評価部は、時間方向に平滑化された類似度データを用いて処理を行うことを特徴とする請求項１から４のいずれかに記載の情報処理装置。
【請求項６】
前記類似度データ生成部が生成した類似度データを、対応する参照ブロックの周囲の所定数の参照ブロックに対し生成された類似度データとともに平均化することにより、空間方向に平滑化する類似度補正部をさらに含み、
前記結果評価部は、空間方向に平滑化された類似度データを用いて処理を行うことを特徴とする請求項１から４のいずれかに記載の情報処理装置。
【請求項７】
前記類似度データ生成部は、前記左右の撮影画像のうち一方の画像を分割してなる参照ブロックに対し類似度データを生成するとともに、他方の画像を分割してなる参照ブロックに対しても類似度データを生成し、
前記奥行き画像生成部は、参照ブロックを設定した画像ごとに、各参照ブロックに対応づけて視差を求めることにより左右の視差画像を生成し、当該左右の視差画像のうち対応する位置の視差の値を比較した結果に基づき、奥行き画像の生成に用いる視差のデータをスクリーニングすることを特徴とする請求項１から６のいずれかに記載の情報処理装置。
【請求項８】
同一空間を左右の視点から撮影するステレオカメラで撮影した左右の撮影画像のうち、一方の画像を分割してなる複数の領域のそれぞれを参照ブロックとし、各参照ブロックについて、他方の画像に探索範囲を設定し、前記参照ブロックとの画像の類似度を当該探索範囲内の位置に対応づけて算出した類似度データを生成しメモリに格納するステップと、
各類似度データを前記メモリから読み出し、類似度が最大値となる位置を検出するとともに、当該類似度に対する所定の評価を行うことにより、当該検出結果をスクリーニングするステップと、
スクリーニングの結果、有効とされた検出結果を用いて参照ブロックごとに視差を求め、それに基づき被写体の奥行き方向の位置を算出して画像平面に対応づけることにより奥行き画像を生成するステップと、
前記奥行き画像を用いて、被写体の３次元空間における位置に基づく所定の情報処理を行いその結果を外部の装置に出力するステップと、
を含むことを特徴とする、情報処理装置が行う情報処理方法。
【請求項９】
同一空間を左右の視点から撮影するステレオカメラで撮影した左右の撮影画像のうち、一方の画像を分割してなる複数の領域のそれぞれを参照ブロックとし、各参照ブロックについて、他方の画像に探索範囲を設定し、前記参照ブロックとの画像の類似度を当該探索範囲内の位置に対応づけて算出した類似度データを生成する機能と、
各類似度データにおいて類似度が最大値となる位置を検出するとともに、当該類似度に対する所定の評価を行うことにより、当該検出結果をスクリーニングする機能と、
スクリーニングの結果、有効とされた検出結果を用いて参照ブロックごとに視差を求め、それに基づき被写体の奥行き方向の位置を算出して画像平面に対応づけることにより奥行き画像を生成する機能と、
前記奥行き画像を用いて、被写体の３次元空間における位置に基づく所定の情報処理を行いその結果を出力する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項１０】
同一空間を左右の視点から撮影するステレオカメラで撮影した左右の撮影画像のうち、一方の画像を分割してなる複数の領域のそれぞれを参照ブロックとし、各参照ブロックについて、他方の画像に探索範囲を設定し、前記参照ブロックとの画像の類似度を当該探索範囲内の位置に対応づけて算出した類似度データを生成する機能と、
各類似度データにおいて類似度が最大値となる位置を検出するとともに、当該類似度に対する所定の評価を行うことにより、当該検出結果をスクリーニングする機能と、
スクリーニングの結果、有効とされた検出結果を用いて参照ブロックごとに視差を求め、それに基づき被写体の奥行き方向の位置を算出して画像平面に対応づけることにより奥行き画像を生成する機能と、
前記奥行き画像を用いて、被写体の３次元空間における位置に基づく所定の情報処理を行いその結果を出力する機能と、
をコンピュータに実現させるコンピュータプログラムを記録したことを特徴とするコンピュータにて読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影画像を用いた情報処理を行う情報処理装置、および当該装置が行う情報処理方法に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータやゲーム機などにカメラを搭載し、ユーザの姿を撮像して様々な形で利用することが一般的に行われるようになってきた。例えばテレビ電話、ビデオチャットなど、ユーザの画像を、ネットワークを介してそのまま相手に伝送するものや、画像解析によってユーザの動きを認識してゲームや情報処理の入力情報とするものなどが実用化されている（例えば特許文献１参照）。
【０００３】
近年ではさらに、奥行き方向を含む３次元空間におけるユーザの動きを精度よく検出することにより、より臨場感のあるゲームや画像表現を実現できるようになってきた。対象物の奥行き方向の位置を検出する手法としては、ステレオカメラで撮影した左右の画像の視差を利用するもの、照射した赤外線の反射時間や赤外線画像を解析するもの、などが実用化されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】ＷＯ  ２００７／０５０８８５  Ａ２公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ステレオカメラを利用する技術では、左右のカメラによる撮影画像において同じ物の像を抽出し、それらにどれだけの視差が生じているかを特定して被写体の奥行き方向の位置を導出する。このとき撮影空間の明るさ、構図、被写体の形状などに依存して、誤った像を対応づけてしまったり対応づけがなされなかったりすると、位置情報に誤差が含まれたり位置が不定の領域が発生したりして、後段の処理の精度に影響を与える。
【０００６】
本発明はこのような課題に鑑みてなされたものであり、その目的は、被写体の３次元空間における位置情報を、撮影環境によらず高精度に導出することのできる技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様は情報処理装置に関する。この情報処理装置は、同一空間を左右の視点から撮影するステレオカメラで撮影した左右の撮影画像のうち、一方の画像を分割してなる複数の領域のそれぞれを参照ブロックとし、各参照ブロックについて、他方の画像に探索範囲を設定し、参照ブロックとの画像の類似度を当該探索範囲内の位置に対応づけて算出した類似度データを生成する類似度データ生成部と、各類似度データについて、類似度が最大値となる位置を検出するとともに、当該類似度に対する所定の評価を行うことにより、当該検出結果をスクリーニングする結果評価部と、スクリーニングの結果、有効とされた検出結果を用いて参照ブロックごとに視差を求め、それに基づき被写体の奥行き方向の位置を算出して画像平面に対応づけることにより奥行き画像を生成する奥行き画像生成部と、奥行き画像を用いて、被写体の３次元空間における位置に基づく所定の情報処理を行いその結果を出力する出力情報生成部と、を備えることを特徴とする。
【０００８】
本発明の別の態様は情報処理方法に関する。この情報処理方法は、情報処理装置が、同一空間を左右の視点から撮影するステレオカメラで撮影した左右の撮影画像のうち、一方の画像を分割してなる複数の領域のそれぞれを参照ブロックとし、各参照ブロックについて、他方の画像に探索範囲を設定し、参照ブロックとの画像の類似度を当該探索範囲内の位置に対応づけて算出した類似度データを生成しメモリに格納するステップと、各類似度データをメモリから読み出し、類似度が最大値となる位置を検出するとともに、当該類似度に対する所定の評価を行うことにより、当該検出結果をスクリーニングするステップと、スクリーニングの結果、有効とされた検出結果を用いて参照ブロックごとに視差を求め、それに基づき被写体の奥行き方向の位置を算出して画像平面に対応づけることにより奥行き画像を生成するステップと、奥行き画像を用いて、被写体の３次元空間における位置に基づく所定の情報処理を行いその結果を外部の装置に出力するステップと、を含むことを特徴とする。
【０００９】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によると、撮影環境の変化に対し高い頑健性のある、被写体の位置情報特定技術を実現できる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態を適用できる情報処理システムの構成例を示す図である。
【図２】本実施の形態における情報処理装置の内部回路構成を示す図である。
【図３】本実施の形態における撮像装置と情報処理装置の機能ブロックの構成を示す図である。
【図４】ステレオ画像における視差と被写体の奥行き方向の位置の関係を説明するための図である。
【図５】本実施の形態におけるブロックマッチングの手法を説明するための図である。
【図６】本実施の形態で取得する類似度の変化例を示す図である。
【図７】本実施の形態で取得する類似度に明確なピークが表れない場合を例示する図である。
【図８】本実施の形態における位置情報生成部の機能ブロックの構成をより詳細に示す図である。
【図９】本実施の形態において類似度補正部が行う、類似度データの時間方向の平滑化処理を説明するための図である。
【図１０】本実施の形態において類似度補正部が行う、類似度データの空間方向の平滑化処理を説明するための図である。
【図１１】本実施の形態において結果評価部が行う、マッチング結果のスクリーニングのうち、類似度データの先鋭度を評価基準とした処理を説明するための図である。
【図１２】本実施の形態において結果評価部が行う、マッチング結果のスクリーニングのうち、類似度の最大値を評価基準とした処理を説明するための図である。
【図１３】本実施の形態において結果評価部が行う、マッチング結果のスクリーニングのうち、空間方向の平滑化前後の類似度の比較に基づく処理を説明するための図である。
【図１４】本実施の形態において、情報処理装置の位置情報生成部がステレオ画像のマッチング処理により被写体の位置情報を生成する処理手順を示すフローチャートである。
【図１５】図１４のＳ２４において結果評価部が行う、マッチング結果のスクリーニングの処理手順を示すフローチャートである。
【図１６】本実施の形態において情報処理装置の位置情報生成部が、ステレオ画像の双方を参照画像としてそれぞれマッチングすることにより、被写体の位置情報を生成する処理手順を示すフローチャートである。
【図１７】本実施の形態において情報処理装置の位置情報生成部が、複数の解像度のステレオ画像をそれぞれマッチングすることにより被写体の位置情報を生成する処理手順を示すフローチャートである。
【図１８】本実施の形態によって得られる奥行き画像を従来技術によるものと比較した図である。
【発明を実施するための形態】
【００１２】
図１は本実施の形態を適用できる情報処理システムの構成例を示す。情報処理システム２は、ユーザ１などの対象物を撮影する２つのカメラを搭載した撮像装置１２、撮影した画像に基づき、ユーザの要求に応じた情報処理を行う情報処理装置１０、情報処理装置１０が処理した結果得られた画像データを出力する表示装置１６を含む。また情報処理装置１０はインターネットなどのネットワーク１８と接続可能とする。
【００１３】
情報処理装置１０と、撮像装置１２、表示装置１６、ネットワーク１８とは、有線ケーブルで接続されてよく、また無線ＬＡＮ（Local Area Network）などにより無線接続されてもよい。撮像装置１２、情報処理装置１０、表示装置１６のうちいずれか２つ、または全てが組み合わされて一体的に装備されていてもよい。また、撮像装置１２は必ずしも表示装置１６の上に設置されていなくてもよい。ユーザ１など主たる撮影対象の数や種類は特定されない。また本実施の形態では、主たる対象物以外に、床、壁、家具など、カメラの視野内にある物の位置情報を特段の区別なく取得できる。以後、それらを総称して「被写体」と呼ぶ。
【００１４】
撮像装置１２は、それぞれがＣＣＤ（Charge Coupled Device）またはＣＭＯＳ（Complementary Metal Oxide Semiconductor）等の撮像素子を備えた２つのデジタルビデオカメラを既知の間隔で左右に配置した構成を有する。２つのデジタルビデオカメラはそれぞれ、同一空間に存在する被写体を左右の位置から所定のフレームレートで撮影する。以後、このように撮影されたフレームの対を「ステレオ画像」とも呼ぶ。
【００１５】
情報処理装置１０は、画像平面およびカメラからの奥行き方向を含む３次元空間における被写体の位置を検出する。検出結果は、被写体の位置や動きを入力情報として用いる後段の処理に利用する。例えばユーザ１の肩や手のひらに飛来する仮想オブジェクトを撮影画像上に描画するようなＡＲ（拡張現実）を実現するのに用いる。あるいはユーザ１の動きをトラッキングしてゲームの画像に反映させたり情報処理のコマンド入力に変換したりしてもよく、その使用目的は限定されない。
【００１６】
表示装置１６は、情報処理装置１０が行った処理の結果を、必要に応じて画像として表示する。表示装置１６は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよく、例えば液晶テレビ、プラズマテレビ、ＰＣディスプレイ等である。上述のとおり情報処理装置１０が最終的に実行する処理内容や表示すべき画像はその使用目的によって特に限定されるものではないため、以後は情報処理装置１０が行う、対象物の位置特定処理に主眼を置き説明する。
【００１７】
図２は情報処理装置１０の内部回路構成を示している。情報処理装置１０は、ＣＰＵ（Central Processing Unit）２２、ＧＰＵ（Graphics Processing Unit)２４、メインメモリ２６を含む。ＣＰＵ２２は、オペレーティングシステムやアプリケーションなどのプログラムに基づいて、情報処理装置１０内部の構成要素における処理や信号伝送を制御する。ＧＰＵ２４は画像処理を行う。メインメモリ２６はＲＡＭ（Random Access Memory）により構成され、処理に必要なプログラムやデータを記憶する。
【００１８】
これらの各部は、バス３０を介して相互に接続されている。バス３０にはさらに入出力インターフェース２８が接続されている。入出力インターフェース２８には、ＵＳＢやＩＥＥＥ１３９４などの周辺機器インターフェースや、ネットワーク１８へ接続するための有線又は無線ＬＡＮのネットワークインターフェースからなる通信部３２、ハードディスクドライブや不揮発性メモリなどの記憶部３４、表示装置１６やスピーカなどの出力装置へデータを出力する出力部３６、キーボード、マウス、マイクロホン、撮像装置１２などの入力装置からデータを入力する入力部３８、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部４０が接続される。
【００１９】
ＣＰＵ２２は、記憶部３４に記憶されているオペレーティングシステムを実行することにより情報処理装置１０の全体を制御する。ＣＰＵ２２はまた、リムーバブル記録媒体から読み出されてメインメモリ２６にロードされた、あるいは通信部３２を介してサーバ等からダウンロードされた各種プログラムを実行する。ＧＰＵ２４は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、ＣＰＵ２２からの描画命令に従って描画処理を行い、表示画像を図示しないフレームバッファに格納する。そしてフレームバッファに格納された表示画像をビデオ信号に変換して出力部３６などに出力する。
【００２０】
図３は撮像装置１２と情報処理装置１０の機能ブロックの構成を示している。図３および後述する図８に示す各機能ブロックは、ハードウェア的には、図２に示したＣＰＵ、ＧＰＵ、ＲＡＭ、各種プロセッサなどの構成で実現でき、ソフトウェア的には、記録媒体などからロードされた、データ入力機能、データ保持機能、画像解析機能、描画機能などの諸機能を発揮するプログラムで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００２１】
撮像装置１２は第１カメラ１３ａ、第２カメラ１３ｂを含む。各カメラはそれぞれ、既知の幅を隔てた左右の位置から所定のフレームレートで被写体を撮影する。撮影して得られるステレオ画像は情報処理装置１０からの要求により一般的な手法で随時、情報処理装置１０へ送信される。情報処理装置１０は、撮像装置１２からステレオ画像を取得する画像取得部４２、ユーザからの指示入力を取得する入力情報取得部４４、撮影画像に基づき被写体の位置情報を生成する位置情報生成部４６、被写体の位置に基づき必要な処理を行い出力情報を生成する出力情報生成部５０、撮像装置１２から入力されたステレオ画像および位置情報生成部４６が生成した中間データなどを記憶する画像記憶部４８を含む。
【００２２】
入力情報取得部４４は、ユーザからの指示入力を受け付け、それに応じた処理要求信号をその他の機能ブロックに送信する。入力情報取得部４４は、ボタン、キーボード、マウス、トラックボール、タッチパネルなど一般的な入力装置と、当該入力装置になされた操作内容を解釈して処理要求信号を生成するＣＰＵなどの協働により実現する。
【００２３】
画像取得部４２は、入力情報取得部４４からの要求に従い撮像装置１２からステレオ画像等の画像データを取得し、画像記憶部４８に格納する。取得する画像は情報処理装置１０が後段で実施する処理や出力する情報に応じて様々であってよい。例えば第１カメラ１３ａが撮影した画像のみを撮影時のフレームレートで取得し、それより低いレートで第１カメラ１３ａ、第２カメラ１３ｂが撮影したステレオ画像を取得するなどでよい。つまり第１カメラ１３ａが撮影した画像と第２カメラ１３ｂが撮影した画像の取得レートは独立に設定できるようにしてもよい。
【００２４】
位置情報生成部４６は、画像記憶部４８に格納されたステレオ画像のデータに基づき、ステレオマッチングによって被写体の３次元空間での位置を特定する。具体的には、ステレオ画像から同一の被写体の像を抽出し、両者の像の位置のずれを視差とする。そして三角測量の原理により当該被写体のカメラからの距離（奥行き方向の位置）を導出する。視差に基づき奥行き方向の位置を計算する手法は、一般的なステレオマッチングにおいて用いられているものを適用できる。同一の被写体の像を抽出するため、本実施の形態では、一方の画像の小領域であるブロックを他方の画像の同サイズのブロックと照合していき、類似度の高いブロックを特定するブロックマッチングを行う。詳細は後に述べる。
【００２５】
位置情報生成部４６は、特定した被写体の位置情報を奥行き画像として画像記憶部４８に格納する。奥行き画像は、カメラ視野内の被写体の奥行き方向の位置を、その被写体の像の画素値として画像平面に表したデータである。出力情報生成部５０は、位置情報生成部４６が生成した奥行き画像に基づき、画像記憶部４８から読み出した撮影画像に描画処理を施すなど、その使用目的に応じた処理を行う。上述のとおりここで行う処理は特に限定されず、入力情報取得部４４が受け付けたユーザからの指示に応じて適宜切り替えてよい。処理の結果得られた画像のデータは、表示装置１６に出力され表示される。あるいはネットワーク１８を介して別の装置へ送信してもよい。
【００２６】
次に位置情報生成部４６が行うステレオマッチングの基本的な手法について説明する。図４はステレオ画像における視差と被写体の奥行き方向の位置の関係を説明するための図である。第１カメラ１３ａ、第２カメラ１３ｂは距離Ｌを隔てた平行な光軸を有するように設置される。これらのカメラに対し、被写体は奥行き方向に距離Ｚ離れた右端の矢印に位置するとする。
【００２７】
各カメラが撮影した画像の１画素が表す実空間での幅Δｘは、距離Ｚに比例して次のように表される。
Δｘ＝Ｚ×ｗ／Ｗ
ここでＷはカメラの横方向の画素数、ｗは距離Ｚが単位長さのときの実空間の横方向の視野範囲であり視角によって定まる。距離Ｌだけ離れたカメラで撮影された同一の対象物は、その画像上でおよそ下記のような画素数上の視差Ｄを有する。
Ｄ＝Ｌ／Δｘ＝Ｌ×（Ｗ／ｗ）×（１／Ｚ）＝Ｃ／Ｚ
ここでＣはカメラおよびそのセッティングにより定まる値であり、運用時は定数とみなせる。
【００２８】
ステレオ画像上に表れる同一の被写体の像のずれを視差Ｄとして求めれば、上記関係式により奥行き方向の距離Ｚが求められる。視差Ｄを求めるため、ステレオ画像に対しブロックマッチングを行い、両画像における被写体の像の対応関係を特定する。図５はブロックマッチングの手法を説明するための図である。まずステレオ画像である右画像１８０ａ、左画像１８０ｂのうち、例えば右画像１８０ａの所定サイズのブロックを参照ブロック１８２とする。ここで参照ブロックのサイズは、例えば４×４画素や８×８画素などとする。
【００２９】
次に左画像１８０ｂのうち、右画像１８０ａの参照ブロック１８２と比較し類似度の高いブロック１８４を特定する。そのため左画像１８０ｂに、参照ブロック１８２と縦方向に同じサイズ、かつ水平方向に所定の長さを有する探索範囲１８６を設定する。参照ブロック１８２と同じサイズのブロック枠を当該探索範囲１８６内で水平方向にずらしながら、ブロック枠で囲まれた領域（以後、「ターゲットブロック」と呼ぶ）と参照ブロック１８２との類似度を計算していく。ブロック枠は一画素ずつ、または所定の複数画素ずつずらす。結果として、探索範囲１８６の水平方向の軸に対し類似度の変化が得られる。
【００３０】
なお２つのカメラの光軸が平行でありステレオ画像の同じ位置を表す水平線にずれがなければ、両者には視差に起因する横方向のずれのみが生じることになる。したがって探索範囲１８６は、参照ブロック１８２と画像上で縦方向の同じ位置に設定する。図示するように画像の横方向をｘ軸、縦方向をｙ軸とすると、両者の上辺の位置座標はどちらもｙ１で一致している。また視差により、左画像１８０ｂにおける像は右画像１８０ａの同一の被写体の像より右に寄っているため、探索範囲は参照ブロック１８２の横方向の位置ｘ１を基点として右側に設定すると効率がよい。
【００３１】
参照ブロックを左画像に設定する場合は逆に、探索範囲を参照ブロックの位置を基点として左側に設定する。原理的には、探索範囲１８６のうち最も高い類似度が得られたときのターゲットブロックが、参照ブロック１８２に対応するブロック１８４ということになる。そして右画像１８０ａにおける参照ブロック１８２の横方向の位置ｘ１と、左画像１８０ｂにおける対応するブロック１８４の横方向の位置ｘ２との差が視差Ｄとなる。
【００３２】
類似度の計算には、ＳＳＤ(Sum of Squared Difference)、ＳＡＤ(Sum of Absolute Difference)、ＮＣＣ(Normalized Cross-Correlation)、ＺＮＣＣ(Zero-mean Normalized Cross-Correlation)などいくつかの手法が提案されている。いずれの手法も、参照ブロックとターゲットブロックを、対応する画素の輝度値に基づき比較することを基本とする。以下、ＺＮＣＣを用いた例を説明するが、本実施の形態をこれに限定する趣旨ではない。ＺＮＣＣは、各画素の輝度値からブロック内の輝度の平均値を減算してから両者の相関をとることにより、画像の明るさ変動が類似度へ与える影響を抑える手法である。具体的には類似度Ｒは次の式で定義される。
【００３３】
【数１】
2016038886.tif 000003
【００３４】
Ｔａｒ（ｉ，ｊ）およびＲｅｆ（ｉ，ｊ）はそれぞれターゲットブロックおよび参照ブロックの、左上を原点（０，０）としたときの位置座標（ｉ，ｊ）の画素の輝度値である。１つのブロックの縦および横の画素数をそれぞれＨおよびＷとすると、０≦ｉ≦Ｗ−１、０≦ｊ≦Ｈ−１である。またＴａｒ（上バー）、Ｒｅｆ（上バー）はそれぞれターゲットブロックおよび参照ブロック内の輝度の平均値であり、次のように表せる。
【００３５】
【数２】
2016038886.tif 000004
【００３６】
上式を利用して類似度Ｒを次のように計算すると、輝度の平均値の計算、類似度Ｒの計算、という２パスの計算を１パスで達成でき処理効率がよい。
【００３７】
【数３】
2016038886.tif 000005
【００３８】
上記の通りターゲットブロックを探索範囲内でずらしながら類似度Ｒの計算を繰り返すことにより、水平方向の位置に対する類似度Ｒの変化が得られる。図６はそのようにして得られた類似度Ｒの変化例を示している。横軸は探索範囲であり、同図の例では０〜６３の６４画素分を探索範囲としている。縦軸は類似度Ｒであり−１．０〜１．０の範囲で変動する。この類似度Ｒの例では、最大値１８８が得られる位置のターゲットブロックが参照ブロックと対応することになる。
【００３９】
本発明者は、上記のようなブロックマッチングにおいて次のような問題が発生しうることに想到した。すなわち、撮像素子からの信号に含まれるノイズなどによって、本来対応しないブロックで偶然、類似度が高くなる可能性がある。このような状況は、特に暗い環境での撮影時に発生しやすい。また水平方向に同様のテクスチャが連続していたり、参照ブロック内の特徴点が少なかったりすると、探索範囲全体で類似度が高くなるなどして明確なピークがなくなり、誤った類似度の最大値が抽出されたりマッチングに失敗したりする可能性がある。これらの状況の発生確率が上がるほど、視差情報、ひいては位置情報にノイズが生じたり、位置が不定の領域が広がったりしやすくなる。
【００４０】
図７は類似度に明確なピークが表れない場合を例示している。室内の机やその上下に置かれた物を横方向から撮影したステレオ画像のうち、右画像１９０ａに設定する参照ブロック１９２は机の天板側面の像を表しており、それに対応するように左画像１９０ｂに探索範囲１９４を設定したとする。机の天板側面は水平方向に続いていることから、探索範囲１９４内のどの部分をとっても、参照ブロック１９２と類似してしまう。結果として、下段の類似度１９６に示すように、探索範囲１９４の全体にわたり高い類似度が得られる。このような場合に、誤った最大値の箇所を検出したり最大値が検出できなかったりする可能性が高くなる。
【００４１】
このような現象は、机の側面のように水平方向に細長い像を有する物に限らず、カメラの撮像面と平行な広い平面を有する単色の物など、縦横双方向に大きく表面の特徴に乏しい像を含む画像でも起こり得る。また天井や床などのように、平面が奥行き方向に渡っている場合、画像上の輝度分布が、水平方向には一定であり垂直方向には徐々に変化するグラデーションパターンとなることが多い。このような場合も図７の例と同様に、水平方向に探索しても類似度の明確なピークが得られず、誤差が生じやすい。
【００４２】
そこで本実施の形態では、探索範囲に対する類似度自体を様々な観点で補正したり評価したりすることにより、上記のような偶然発生したピークや信頼性の低い最大値を検出し、マッチング結果から除外することで、奥行き方向の位置情報に生じる誤差を少なくする。その一方で、本来の視差に対応する位置で正しく類似度が最大となり、マッチング結果から除外されないようにすることで、奥行き方向の位置が不定となる領域を少なくする。
【００４３】
図８は情報処理装置１０の位置情報生成部４６の機能ブロックの構成をより詳細に示している。位置情報生成部４６は基本的には上述のとおり、画像記憶部４８から一対のステレオ画像のデータを取得し、被写体の奥行き方向の位置を特定して奥行き画像を生成し、画像記憶部４８に格納する。位置情報生成部４６は、ステレオ画像に対する前処理を行う前処理部６０、上記ブロックマッチングにより類似度のデータを生成する類似度データ生成部６２、類似度データを補正する類似度補正部６４、マッチング結果のスクリーニングを行う結果評価部６６、マッチング結果を利用して奥行き画像を生成する奥行き画像生成部６８を含む。
【００４４】
前処理部６０は、ブロックマッチングのために必要な所定の処理をステレオ画像に施す。まず撮像装置１２から取得した画像データがＲＧＢ画像である場合は、それをＹＣｂＣｒ画像に変換することにより、輝度を表すＹ画像を生成する。また上述したブロックマッチングでは、左右のカメラは水平方向の位置以外に差はないという前提のもと、参照ブロックと縦方向の同じ位置に水平方向の探索領域を設定した。しかし実際にはカメラの微小な傾き等によって実空間の水平面が撮影画像の水平方向とずれ、ひいてはステレオ画像同士の水平軸が一致しない可能性がある。そのため前処理部６０は、ステレオ画像のエピポーララインを同一水平線上に再配置する。前処理部６０はその他、歪み補正処理、ノイズ低減処理などを適宜行う。
【００４５】
これらの処理は三角測量の原理を用いたステレオマッチングでは一般的な技術を適用できるため、ここでは詳細な説明を省略する。類似度データ生成部６２は、前処理が施されたステレオ画像を用いて、上述した手法により類似度を計算する。すなわちステレオ画像のうち一方の画像を所定サイズに分割してなるブロックのそれぞれを参照ブロックとし、各参照ブロックに対応させて他方の画像に探索範囲を決定し、ターゲットブロックをずらしながら類似度を計算する。これにより各参照ブロックに対し、探索範囲内の各位置に対する類似度の配列が算出されるため、類似度データ生成部６２は、それを１単位の類似度データとして生成し画像記憶部４８に格納する。図６、７で例示した類似度の変化は、当該１単位の類似度データをグラフで示したものである。
【００４６】
類似度補正部６４は、そのようにして得られた類似度データを、時間方向および空間方向の少なくともいずれかの方向に平滑化する。これにより、画像のノイズなどにより本来は対応しないブロックに偶然、高い類似度が得られる可能性を低くしたり、本来、高い類似度が得られるべき位置のピークを明確化し検出されやすくしたりする。結果評価部６６は平滑化後の類似度データからその最大値が得られるターゲットブロックの位置を検出するとともに、いくつかの評価基準によりその検出結果をスクリーニングする。具体的には、類似度データのうち最大値の突出の具合（前後の位置からの変化の度合い）を「先鋭度」として求め、先鋭度がしきい値以下の検出結果を無効とする。これは、先鋭度が低い類似度データは、図７で説明したように明確なピークが表れない信頼性の低い場合と考えられるためである。
【００４７】
また類似度は最大値であるものの、その絶対値がしきい値以下の場合はその検出結果を無効とする。これは何らかの原因で探索範囲全体において類似度が低くどの位置でも対応しているとはいえないものの相対的にみて最大値としては検出されてしまった状況をマッチング結果から除外するものである。さらに、類似度補正部６４において類似度データを空間方向で平滑化した場合は、平滑化前の類似度データにおける検出位置の類似度がしきい値以下のとき、その検出結果を無効とする。これは、空間方向の平滑化によって、別の領域の位置情報が混じってしまった結果、却って誤った位置で類似度が高くなってしまった状況をマッチング結果から除外するものである。
【００４８】
結果評価部６６は、類似度の最大値が得られるターゲットブロックの位置のうち、無効とせずに残った位置の情報を、マッチング結果として奥行き画像生成部６８に通知する。上述のとおり類似度データは参照ブロックごとに生成されるため、マッチング結果も参照ブロック単位で得られる。奥行き画像生成部６８は、各参照ブロックに対応するターゲットブロックの位置の画像上のずれを視差とすることで、参照ブロックが表す被写体の奥行き方向の位置を求める。これを全参照ブロックについて行うことにより、参照ブロックを一画素とする奥行き画像を生成できる。生成した奥行き画像のデータは画像記憶部４８に格納する。なお前処理部６０でエピポーララインの再配置など画像の座標変換を行った場合は、奥行き画像を逆変換することにより撮影画像と画像平面上の位置関係が対応するようにする。
【００４９】
図９は類似度補正部６４が行う、類似度データの時間方向の平滑化処理を説明するための図である。上述のとおり情報処理装置１０は、所定のフレームレートで撮像装置１２からステレオ画像のデータを取得する。そのため類似度データ生成部６２は、参照ブロックごとの類似度データの生成を、フレームレートで決定される時間ステップごとに、新たに撮影されたステレオ画像を用いて繰り返す。図９ではそのうち前後する時間ステップｔ−１およびｔに撮影されたステレオ画像のうち、同じ位置にある一つの参照ブロックに対し生成された類似度データをグラフで示している。
【００５０】
同図の例で時刻ｔ−１の類似度データでは、明確な最大値７０が得られている。したがって探索範囲のうち矢印の位置がマッチング結果として出力され、それに基づき奥行き方向の位置が算出される。一方、時刻ｔの類似度データでは、時刻ｔ−１で出現した最大値７０と同じ位置に極大値７２が表れるとともに、別の位置にも極大値７４が表れている。時刻ｔ−１における類似度データに鑑みれば、時刻ｔにおける極大値７２は真の値であり、極大値７４は原画像のノイズなどにより偶然、高い類似度になってしまった偽のピークであることが考えられる。
【００５１】
この極大値７４がマッチング結果として検出された場合、時刻ｔ−１におけるマッチング結果からの変動により、奥行き方向の位置情報も瞬間的に変動しノイズとなる。そこでこのような偽の極大値７４の出現が位置情報に影響を及ぼさないように、類似度データを時間方向に平滑化する。具体的には次の式のように、処理対象の時間ステップにおける、位置座標（ｘ，ｙ）の参照ブロックの平滑化前の類似度Ｒ（ｘ，ｙ，ｔ）ｉｎ（ｓ）と、前の時間ステップの平滑化後の類似度Ｒ（ｘ，ｙ，ｔ−１）ｏｕｔ（ｓ）とを、探索範囲の同じ位置ｓで比較する。そしてその差がしきい値ｔｈ１より小さいときは、帰還率ｒ（％）でその差の分の補正を類似度Ｒ（ｘ，ｙ，ｔ）ｉｎ（ｓ）に施すことにより平滑化後の類似度Ｒ（ｘ，ｙ，ｔ）ｏｕｔ（ｓ）を求める。
【００５２】
【数４】
2016038886.tif 000006
【００５３】
画像のノイズによって発生する偽の極大値は、真の極大値と異なり同じ位置で持続する可能性が低いため、このような時間方向の平滑化により抑えることができる。結果として、図９に示すように、真の最大値７８のみが残った類似度データ７６が得られる。なお時間方向の平滑化に用いる式は上記したものに限らず、前の２つ以上の時間ステップの類似度データを用いるなど様々な変形例が考えられることは当業者には理解されるところである。
【００５４】
図１０は類似度補正部６４が行う、類似度データの空間方向の平滑化処理を説明するための図である。上述のとおり類似度データ生成部６２は、ある時間ステップのステレオ画像のうち一方の画像を分割してなる複数の参照ブロックのそれぞれに対し類似度データを取得する。図１０ではそのうち横方向（ｘ軸）、縦方向（ｙ軸）で隣接する３×３個の参照ブロックに対し得られた類似度データをグラフで示している。
【００５５】
同図において各類似度データの枠内に示された白抜きの矢印は、本来、類似度が最大値となるべき位置を示している。３×３個の参照ブロックが占める領域に写る物の奥行き方向の位置が同じであれば、図示するように、同じ位置に最大値が得られるべきである。しかしながら、実際に得られた各類似度データのうち丸で囲まれた最大値となる箇所は、必ずしも白抜き矢印の位置にはない。
【００５６】
これは、同じ探索範囲内の別の位置に、似通ったテクスチャが表れていたり、画像のノイズにより偶然、高い類似度が得られたりすることに起因する。図１０ではそのような原因で発生した偽の最大値を網掛けの丸で囲んでいる。このような偽の最大値は局所的に発生することが多く、周囲の参照ブロックで共通した位置に発生する可能性は低い。一方、本来、最大値が得られるべき位置では、どの類似度データにおいても少なくとも極大値が発生している可能性が高い。
【００５７】
そこで類似度データを空間方向に平滑化することにより、真の位置に最大値が表れやすいようにする。具体的には次の式のように、時間ステップｔにおける処理対象である位置座標（ｘ，ｙ）の参照ブロックを中心とするｎ×ｎ個（ｎは奇数）の参照ブロックに対する平滑化前の類似度Ｒ（ｘ＋ｉ，ｙ＋ｊ，ｔ）ｉｎ（ｓ）（ただしｉおよびｊは−［ｎ／２］≦ｉ，ｊ≦［ｎ／２］を満たす整数）の平均値を、平滑後の類似度Ｒ（ｘ，ｙ，ｔ）ｏｕｔ（ｓ）とする。ここでｓは探索範囲の位置座標である。
【００５８】
【数５】
2016038886.tif 000007
【００５９】
このように周囲の領域に対し得られた類似度を含めて平均値をとることにより、偶発的、局所的に発生した最大値は抑えられ、最大値ではないにしろ極大値として得られていた、最大値となるべき箇所が強調されることになる。図１０の例では、ｎ＝３とし、太枠で示した処理対象の参照ブロックに対する元の類似度データと、その周囲の８つの参照ブロックに対する類似度データを含めた、９単位の類似度データを平均化することにより、真の最大値８２が表れた類似度データ８０が得られる。
【００６０】
奥行き方向の位置は参照ブロックの単位で得られるため、参照ブロックのサイズを４×４画素や８×８画素等、小さくすると、奥行き画像の解像度が高くなり、ひいてはその後の情報処理の空間解像度が高くなる。一方、画像を局所的に処理するほど、物の表面に表れる特徴点が当該微小領域から外れてしまう可能性が高くなり、真の類似度が得られにくい、という特性がある。類似度データを上記のように空間方向に平滑化することにより、物の表面の特徴を大局的に認識していることになる。結果として、奥行き方向の位置を取得する解像度を高く維持しつつ、マッチング精度も向上させることができる。なお空間方向の平滑化に用いる式も、上記したものに限らない。
【００６１】
また平均化の対象とする参照ブロックの数が大きいほど、上述のように表面の特徴を大局的に認識でき真の対応が得られやすい反面、平均化対象の領域に奥行き方向の位置が異なる別の被写体が含まれる可能性が高くなり、却ってマッチング精度が下がる恐れもある。したがって、最適な数を事前の実験などによって決定しておく。あるいは撮影画像の周波数特性などによって適応的に決定してもよい。また後述するように、一度、平滑化して得られた類似度データと元の類似度データを比較することにより、平滑化後に得られた最大値の信頼性を評価し、スクリーニングしてもよい。
【００６２】
図１１は結果評価部６６が行う、マッチング結果のスクリーニングのうち、類似度の先鋭度を評価基準とした処理を説明するための図である。同図上段は、ある参照ブロックに対し得られた類似度データである。このデータは、時間方向、空間方向の平滑化後のデータでもよいし、それらの処理を省略した場合は、類似度データ生成部６２が生成したものでもよい。いずれにしろ結果評価部６６は、まず白抜き矢印の位置で最大値を検出する。次に、類似度データのうち最大値が得られた部分の先鋭度Ｓを、例えば次の式で算出する。
【００６３】
【数６】
2016038886.tif 000008
【００６４】
上式の先鋭度Ｓは、類似度データのうち最大値Ｒ（ｍ）と、当該最大値を与える位置ｍから前後に所定距離Δｓだけ離れた位置における類似度Ｒ（ｍ−Δｓ）およびＲ（ｍ＋Δｓ）とをそれぞれ結ぶ直線の傾きのうち小さい方の値で定義している。図１１の例では、最大値近傍の拡大図８４に示した２本の直線８６ａ、８６ｂの傾きのうち小さい方の値を先鋭度Ｓとする。そして先鋭度Ｓが所定のしきい値ｔｈ２以下の場合は、その検出結果を無効とする。
【００６５】
これにより図７で例示したように、類似度に明確なピークがない状況下での信頼性の低い検出結果をマッチング結果から除外でき、ひいては奥行き方向の位置情報に含まれる誤差を小さくできる。なお先鋭度の定義式は上記したものに限らず、類似度データ全体の微分グラフを作成するなどしてもよい。また先鋭度がしきい値ｔｈ２以下の場合に、次に類似度が大きい極大点を抽出して同様に先鋭度による判定を行い、しきい値ｔｈ２より大きければその極大値を与えるターゲットブロックの位置をマッチング結果としてもよい。
【００６６】
結果評価部６６はさらに、検出した類似度の最大値自体をしきい値判定する。すなわち先鋭度がしきい値ｔｈ２より大きかったとしても、当該類似度の最大値が所定のしきい値以下の場合は検出結果を無効とする。これにより、何らかの理由で全体的に類似度が低いにも関わらずその最大値をマッチング結果としてしまうのを防ぐことができる。ただし被写体表面の特徴点の密度など被写体が本来有する特性によって、類似度が持つ信頼性がそもそも異なるため、当該特性によって場合分けをしたうえで個別にしきい値判定処理をすることが望ましい。
【００６７】
図１２は結果評価部６６が行う、マッチング結果のスクリーニングのうち、類似度の最大値を評価基準とした処理を説明するための図である。同図においてステレオ画像の一方の画像９０のうち参照ブロック９２ａ、９２ｂに対し、類似度データ９４ａ、９４ｂがそれぞれ得られたとする。なおこれらの類似度データ９４ａ、９４ｂは時間方向、空間方向の平滑化処理を行う場合はその後のデータである。
【００６８】
図示するように、参照ブロック９２ａは、被写体である箱表面に描かれた顔の絵の一部を含み、参照ブロック９２ｂは箱表面の塗りつぶし領域とする。参照ブロック９２ａのように明確な特徴点がある領域では、類似度データ９４ａにおいて白抜き矢印で示したように、真に類似したターゲットブロックの位置で類似度の最大値が顕著に表れやすい。一方、参照ブロック９２ｂのように明確な特徴点がない領域では、類似度データ９４ｂのように類似度が全体的に高く表れたりしてその最大値の信頼性が低くなりやすい。このため、物の表面の特性によってしきい値を切り替え、明確な特徴点がない領域はより厳しい評価で検出結果の有効／無効を決定する。このような物の特性を評価する基準として、本実施の形態では、参照ブロックの輝度の標準偏差によってしきい値を切り替える。参照ブロックの輝度の標準偏差Ｓｔｄ（Ｒｅｆ）は次にように定義できる。
【００６９】
【数７】
2016038886.tif 000009
【００７０】
上記定義式は、上述した類似度Ｒの計算式の分母において積算する２項のうち後の項を（ＷＨ）２で除算したものである。すなわち類似度Ｒを求める段階で輝度の標準偏差Ｓｔｄ（Ｒｅｆ）が同時に求められるため、それを利用することにより処理効率を上げることができる。そして輝度の標準偏差Ｓｔｄ（Ｔａｒ）が所定のしきい値より大きい場合は十分な数の特徴点が含まれる特徴点領域とし、当該しきい値以下の場合は十分な数の特徴点が含まれない非特徴点領域とする。
【００７１】
上述の原理によれば、特徴点領域に対し得られた類似度は信頼性が高いため、当該検出結果を無効とするしきい値を小さくすることにより、検出結果を極力活かせるようにする。非特徴点領域に対し得られた類似度は信頼性が低いため、当該データを無効とするしきい値を大きくすることにより、顕著に大きい値以外はマッチング結果から除外する。図１２の例で、参照ブロック９２ａが特徴点領域、参照ブロック９２ｂが非特徴点領域とした場合、前者に対する類似度データ９４ａへ設定するしきい値ｔｈ３より、後者に対する類似度データ９４ｂへ設定するしきい値ｔｈ３’を大きくする。
【００７２】
結果としてこの例では、類似度データ９４ａの白抜き矢印の位置における最大値検出結果は有効と判定され、類似度データ９４ｂの最大値検出結果は無効とされる。このようにすることで、物の表面の特性と類似度の最大値とを同時に考慮したうえで、信頼性の高い検出結果のみを残すことができる。結果として、奥行き方向の位置情報に含まれる誤差を小さくしつつ位置が不定となる領域を減らすことができる。
【００７３】
結果評価部６６はさらに、類似度データを空間方向に平滑化したことによって偽の最大値が得られている可能性を検証し、スクリーニングする。図１０で示したように、１つの参照ブロックに対し得られた類似度データを、その周囲の参照ブロックに対し得られた類似度データを含めて平均化することにより、最も確からしいピークが最大値として得られやすくなる。しかし平均化対象の周囲の参照ブロックに、奥行き方向の位置が異なる物の像が含まれている場合、異なる位置に最大値が表れる類似度データが平均化対象として混在することになる。その結果、平均化することにより本来の最大値が小さく抑えられ、別の位置に最大値が出現してしまう可能性がある。そこでこのような状況の発生を平滑化前の類似度に基づき検出する。
【００７４】
図１３は結果評価部６６が行う、マッチング結果のスクリーニングのうち、空間方向の平滑化前後の類似度データの比較に基づく処理を説明するための図である。同図においてステレオ画像の一方の画像１００のうち参照ブロック１０２に対し類似度データ１０４が得られたとする（矢印Ａ１）。これを、周囲の所定数の参照ブロックを含む領域１０６内の類似度データで平均化することにより、平滑化後の類似度データ１０８が生成される（矢印Ａ２）。
【００７５】
本来はこの平滑化後の類似度データ１０８において最大値が得られる位置をマッチング結果とするが、ここで一旦、元の類似度データ１０４を参照し、同じ位置における類似度を確認する（矢印Ａ３）。図示した例の場合、平滑化後の類似度データ１０８で最大値が得られている位置において、元の類似度データ１０４では類似度が特に大きな値を示していない。つまり、本来最大値となるべき箇所を明確なピークとするという平滑化の本来の目的が果たされていない。
【００７６】
図１３の例では、参照ブロック１０２は被写体である箱の前面を表しているのに対し、平均化対象の領域１０６には背後の壁の領域が含まれている。このような場合に、平均化処理によって壁など別の物の位置情報が含まれてしまい、偽のピークを生じさせることが考えられる。そこで、平滑化後の類似度データ１０８で検出した、最大値が得られる位置における元の類似度にしきい値ｔｈ４を設ける。そして本来は最大値となるべき箇所の類似度が当該しきい値ｔｈ４以下であったらその検出結果を無効とする。
【００７７】
このようにすることで空間方向に平滑化することにより却って誤差が生じる可能性を抑えることができ、ひいては奥行き方向の位置情報に含まれる誤差を小さく抑えたまま、位置情報が不定の領域を小さくできる。なお図１２、１３において、しきい値判定を行う対象を類似度のグラフとして表しているが、実際には検出された類似度の最大値、あるいは平滑化前の同じ位置における類似度の値としきい値との比較を行えばよい。
【００７８】
次に上記の構成によって実現できる情報処理装置１０の動作について説明する。図１４は情報処理装置１０の位置情報生成部４６がステレオ画像のマッチング処理により被写体の位置情報を生成する処理手順を示すフローチャートである。ここで、撮影されたステレオ画像を取得する時間ステップをｔ＝０、１、２、・・・と表す。まず前処理部６０は、最初の時間ステップｔ＝０において撮影されたステレオ画像のデータを画像記憶部４８から読み出す（Ｓ１０、Ｓ１２）。そして前処理部６０は、各画像に対しＹＣｂＣｒ画像への変換、ノイズ除去、エピポーララインの再構築といった前処理を行う。以後の処理は、輝度を表すＹ画像を用いて行う。
【００７９】
次に類似度データ生成部６２は、ステレオ画像のうち一方の画像を参照画像として空間分割することにより、参照ブロックの２次元配列を生成する。そして各参照ブロックに対し、他方の画像に探索範囲を設定して類似度を計算していくことにより、全ての参照ブロックに対する類似度データＲ（ｘ，ｙ）（ｓ）を計算する（Ｓ１４）。ここで（ｘ，ｙ）は参照ブロックの画像平面における位置座標、ｓは探索範囲内の位置である。計算した類似度データは対応する参照ブロックの位置座標と対応づけて画像記憶部４８に一旦、格納する。
【００８０】
次に類似度補正部６４は、各類似度データＲ（ｘ，ｙ）（ｓ）を画像記憶部４８から読み出し、時間方向および空間方向に平滑化する（Ｓ１６、Ｓ１８）。時間方向の平滑化処理は、画像記憶部４８から前の時間ステップにおける、同じ位置の参照ブロックの平滑化後の類似度データを読み出し、それとの比較に基づき平滑化する。時間ステップｔ＝０のときは、時間方向の平滑化処理は省略する。空間方向の平滑化処理は、同じ時間ステップにおける周囲の参照ブロックの平滑化前の類似度データを読み出し平均化する。平滑化後の類似度データは、以後の時間ステップにおける時間方向の平滑化に用いるため、参照ブロックの位置座標と対応づけて画像記憶部４８に格納しておく。
【００８１】
次に結果評価部６６は、各参照ブロックの平滑化後の類似度の評価を行う。具体的には、位置座標（０，０）の参照ブロックから順次、対応する類似度データのうち類似度の最大値を検出し、その値が得られるときのターゲットブロックの位置ｍを求める（Ｓ２０、Ｓ２２）。次に当該検出結果がマッチング結果として妥当か否かを評価することでスクリーニングする（Ｓ２４）。Ｓ２２、Ｓ２４の処理を、全参照ブロックについて繰り返す（Ｓ２６のＮ、Ｓ２８）。そして全参照ブロックについて処理が完了したら（Ｓ２６のＹ）、奥行き画像生成部６８は、スクリーニングにより有効な検出結果が得られた参照ブロックについて、位置ｍから視差を求め奥行き方向の位置ｚを算出する（Ｓ３０）。この値を参照ブロックの位置座標（ｘ，ｙ）と対応づけることにより、結果として奥行き画像が生成されることになる。
【００８２】
被写体の位置情報を必要とする情報処理装置１０の処理が終了しない限り、次の時間ステップについてＳ１２からＳ３０の処理を繰り返す（Ｓ３２のＮ、Ｓ３４）。ユーザがゲームを終了させるなどして被写体の位置情報を必要としなくなった時点で、全ての処理を終了する（Ｓ３２のＹ）。なお上述の通り、画像の特性や情報処理装置１０の処理性能、求められる位置特定精度などによっては、Ｓ１６の時間方向の平滑化処理およびＳ１８の空間方向の平滑化処理の少なくともいずれかを省略してもよい。
【００８３】
図１５は図１４のＳ２４において結果評価部６６が行う、マッチング結果のスクリーニングの処理手順を示すフローチャートである。まず１つめの評価項目として、類似度の先鋭度を評価する。具体的には、類似度が最大値となるときの位置ｍにおける先鋭度Ｓ（ｍ）を、当該先鋭度に対し設定されたしきい値ｔｈ２と比較する（Ｓ４０）。先鋭度Ｓ（ｍ）がしきい値ｔｈ２より大きければ、すなわち最大値が周囲の類似度より突出していれば、評価基準を満たしたとして次の評価項目へ進む（Ｓ４０のＹ）。先鋭度Ｓ（ｍ）がしきい値ｔｈ２以下であれば（Ｓ４０のＮ）、すなわち図７の類似度データのようになだらかに最大値となっている場合は、評価基準を満たしていないとして位置ｍの情報を無効とする（Ｓ５０）。この場合、対応する参照ブロックに無効の値を対応づけることで以降の処理を行わないようにする。以下に述べる無効処理も同様である。
【００８４】
次の評価項目として、類似度の最大値を評価する。具体的には、まず参照ブロックの輝度の標準偏差をしきい値判定することにより、当該参照ブロックが表す像が特徴点領域か否かを判定する（Ｓ４２）。ここで輝度の標準偏差は上述のとおり、図１４のＳ１４で類似度データを計算する際に求めた値を用いることができる。したがって類似度データ生成部６２は、類似度データとともに、その計算過程で算出した輝度の標準偏差についても、参照ブロックの位置座標と対応づけて画像記憶部４８に格納しておく。
【００８５】
処理対象の参照ブロックが特徴点領域である場合（Ｓ４２のＹ）、結果評価部６６は、類似度の最大値Ｒ（ｍ）を、あらかじめ設定されたしきい値ｔｈ３と比較する（Ｓ４４）。特徴点領域でない場合は（Ｓ４２のＮ）、Ｓ４４のしきい値ｔｈ３とは異なるしきい値ｔｈ３’と比較する（Ｓ４６）。典型的には、上述のように特徴点領域でない場合は最大値をとる位置ｍの信頼性が低いため、しきい値ｔｈ３’をしきい値ｔｈ３より大きくすることにより、より高い最大値が得られた場合のみが結果として残るようにする。
【００８６】
いずれにしろ類似度の最大値Ｒ（ｍ）がしきい値ｔｈ３あるいはしきい値ｔｈ３’より大きければ、評価基準を満たしたとして次の評価項目へ進む（Ｓ４４のＹまたはＳ４６のＹ）。類似度の最大値Ｒ（ｍ）がしきい値以下であれば、最大値だとしても信頼性が低いとして位置ｍの情報を無効とする（Ｓ５０またはＳ５４）。
【００８７】
次の評価項目として、空間方向の平滑化前の類似度で確認する。具体的には平滑化前の類似度データのうち、平滑化後の類似度が最大となる位置ｍの類似度Ｒｏｒｇ（ｍ）を、あらかじめ設定されたしきい値ｔｈ４と比較する（Ｓ４８）。平滑化前の類似度Ｒｏｒｇ（ｍ）がしきい値ｔｈ４以下であれば（Ｓ４８のＮ）、偽の最大値が検出されたとして位置ｍの情報を無効とする（Ｓ５０）。類似度Ｒｏｒｇ（ｍ）がしきい値ｔｈ４より大きければ（Ｓ４８のＹ）、評価基準を満たしたとして位置ｍの情報を有効とする（Ｓ５２）。以上の処理により、全ての評価基準を満たした位置ｍの情報のみが有効とされ、後の処理に用いられる。
【００８８】
なおＳ４８の平滑化前の類似度による確認は、図１４のＳ１８において空間方向の平滑化処理を行ったときのみに行う。また３つの評価項目はその評価順を入れ替えたり、いずれかを省略したりしてもよい。実施する評価項目、評価の順序、用いるしきい値については、画像の特性や情報処理装置１０の処理性能、求められる位置特定精度などに基づき適宜決定する。また想定される構図の撮影画像を用いて実験することにより、位置情報の特定精度や処理効率の観点から最適条件を決定してもよい。
【００８９】
図１４で示したフローチャートでは、ステレオ画像のうち一方の画像を参照画像として参照ブロックを設定し、それと類似度の高いターゲットブロックを他方の画像から検出した。この処理を、ステレオ画像で互いに役割を入れ替えて２度行うことにより、より信頼性の高い位置情報を生成するようにしてもよい。図１６は情報処理装置１０の位置情報生成部４６が、ステレオ画像の双方を参照画像としてそれぞれマッチングすることにより、被写体の位置情報を生成する処理手順を示すフローチャートである。
【００９０】
最初の時間ステップｔ＝０において（Ｓ６０）、位置情報生成部４６の主に類似度データ生成部６２、類似度補正部６４、結果評価部６６は、ステレオ画像のうち右画像を参照画像として図１４のＳ１４〜Ｓ２８の処理を行う（Ｓ６２）。それと並行して位置情報生成部４６は、ステレオ画像のうち左画像を参照画像として図１４のＳ１４〜Ｓ２８の処理を行う（Ｓ６４）。
【００９１】
次に位置情報生成部４６の奥行き画像生成部６８は、右画像を参照画像としたマッチング結果に基づく視差画像（以後、「右視差画像」と呼ぶ）と、左画像を参照画像としたマッチング結果に基づく視差画像（以後、「左視差画像」と呼ぶ）とをマージする（Ｓ６６）。ここで視差画像とは、視差の値を画像平面の画素値として表したデータである。視差はマッチング結果に基づき参照ブロックの単位で求められるため、視差画像の画素は参照ブロックに対応する。
【００９２】
ブロックマッチングは基本的に２つの撮影画像の比較であり、本来はステレオ画像のどちらを参照画像としても同じ視差画像が得られるべきである。一方、２つの視差画像で、同じ位置の画素の値が異なっているとしたら、その少なくともどちらかの値は信頼性が低いと考えられる。そこでＳ６６のマージ処理では、２つの視差画像を比較して、差が大きい視差の値を無効とする。具体的には、例えば右視差画像の画素ごとに、対応する左視差画像の画素との画素値の差を計算し、所定のしきい値より差が大きければ、当該右視差画像の画素が示す視差の値を無効とする。
【００９３】
両視差画像自体に、元のステレオ画像と同様の視差が表れているため、右視差画像の画素の値分、右方向にずらした位置に、左視差画像の対応する画素がある。なお単純に対応する画素の値の差をしきい値判定する以外に、左視差画像における対応する画素の周囲の画素を含めた複数の画素値との差をそれぞれ計算し、その和をしきい値判定したり、周囲の画素を含めた複数の画素値の平均値との差をしきい値判定したりしてもよい。このようにすると、対応する画素の画素値にノイズが含まれ、偶然、差が大きくなってしまった場合などでも、データを無効とする可能性を減らすことができる。
【００９４】
このようなマージ処理により右視差画像のうち信頼性の低い値を無効としたら、奥行き画像生成部６８は、当該右視差画像を用いて奥行き画像を生成する（Ｓ６８）。被写体の位置情報を必要とする情報処理装置１０の処理が終了しない限り、次の時間ステップについてＳ６２からＳ６８の処理を繰り返す（Ｓ７０のＮ、Ｓ７２）。ユーザがゲームを終了させるなどして被写体の位置情報を必要としなくなった時点で処理を終了する（Ｓ７０のＹ）。
【００９５】
図１６に示した処理では、ステレオ画像間で参照画像を入れ替えることによって得られた２つの視差画像をマージすることにより再度信頼性評価を行い、より信頼性の高いデータのみを残した。一方、複数の解像度のステレオ画像から得られた視差画像をマージすることも考えられる。図１７は情報処理装置１０の位置情報生成部４６が、複数の解像度のステレオ画像をそれぞれマッチングすることにより被写体の位置情報を生成する処理手順を示すフローチャートである。
【００９６】
最初の時間ステップｔ＝０において（Ｓ８０）、位置情報生成部４６の前処理部６０は、取得したステレオ画像をそれぞれ多段階に縮小して複数の解像度のステレオ画像を生成する（Ｓ８２）。例えば２段階に縮小したとすると、元の撮影画像である最高解像度のステレオ画像、中間解像度のステレオ画像、最低解像度のステレオ画像が生成される。ただし縮小する段階数はこれに限らない。また多段階の縮小処理は、撮像装置１２が行い、情報処理装置１０はそのデータを取得するのみでもよい。そして位置情報生成部４６の主に類似度データ生成部６２、類似度補正部６４、結果評価部６６は、各解像度のステレオ画像について、図１４のＳ１４〜Ｓ２８の処理を行う（Ｓ８４、Ｓ８６、Ｓ８８）。
【００９７】
次に位置情報生成部４６は、複数解像度の画像のマッチング結果に基づく複数解像度の視差画像をマージする（Ｓ９０）。なお解像度間で視差画像をマージする前に、各解像度に対し、図１６で示したように右視差画像と左視差画像のマージを行ってもよい。ステレオマッチングによって被写体の奥行き方向の位置を特定する場合、その位置によって処理に用いる画像の解像度の適正範囲が異なる。
【００９８】
例えば被写体がカメラの近くにいるほどその像や視差が大きくなるため、画像を高解像度にするほど、ブロックマッチングにおける探索範囲が増大するとともに比較範囲が小さくなり誤差が出やすくなる。被写体がカメラから離れるほど視差が小さくなるため、画像を低解像度にするほど、その視差を特定するだけの分解能が得られにくくなる。
【００９９】
そこで複数解像度のステレオ画像を用いてそれぞれ視差画像を生成しマージすることで、それ以前の処理で無効となったデータを補ったり、より精度の高いデータに入れ替えたりする。具体的には、最高解像度の視差画像において、画素値をもたない（無効データが対応づけられている）画素については、中間解像度の視差画像の対応する位置にデータが得られていればその値を代入する。中間解像度でも画素値が得られていない場合は、最低解像度の視差画像の対応する位置にデータが得られていればその値を代入する。このようにすることで、解像度が高い画像では誤差が生じやすい、カメラから近い被写体の位置を高精度に特定できる。
【０１００】
また最低解像度の視差画像のうち、画素値が表す視差が所定のしきい値より大きい領域については、当該画素値によって、最高解像度の視差画像の対応する領域の画素値を上書きしてもよい。これにより、カメラから近い被写体の視差を高精度に取得している可能性が高い最低解像度のデータを利用して、最高解像度の視差画像の信頼性を向上させることができる。このようなマージ処理により最高解像度の視差画像を完成させたら、奥行き画像生成部６８は、当該視差画像を用いて奥行き画像を生成する（Ｓ９２）。被写体の位置情報を必要とする情報処理装置１０の処理が終了しない限り、次の時間ステップについてＳ８２からＳ９２の処理を繰り返す（Ｓ９４のＮ、Ｓ９６）。ユーザがゲームを終了させるなどして被写体の位置情報を必要としなくなった時点で処理を終了する（Ｓ９４のＹ）。
【０１０１】
図１８は、本実施の形態によって得られる奥行き画像を従来技術によるものと比較している。まず撮影画像２０２は人を中心とした室内を被写体としている。従来手法によって生成された奥行き画像２０４と比較し、本実施の形態によって生成された奥行き画像２０６は、ノイズが著しく少なく、また人の像を表す領域にデータの抜けが少ないことがわかる。このような奥行き画像２０６を用いれば、人の動きや位置に応じたゲームなどの情報処理や撮影画像への加工などがより高精度に行えることは明らかである。
【０１０２】
以上述べた本実施の形態によれば、ステレオ画像のブロックマッチングにより視差を求め、被写体の奥行き方向の位置を特定するステレオマッチング技術において、参照ブロックとターゲットブロックの類似度を補正、評価する。具体的にはまず、各参照ブロックの探索範囲に対応する類似度の配列である類似度データを時間方向に平滑化する。これにより、ノイズなどの影響で偶発的に類似度が高くなった状態を検出し、その場合がマッチング結果に含まれないようにできる。また類似度データを空間方向に平滑化する。これにより、真の最大値が強調されやすくなり後の評価で無効とされる可能性を減らせる。また偶然高くなった偽のピークを抑えることができ、マッチング結果に含まれないようにできる。
【０１０３】
さらに、類似度が最大であってもその突出の度合いがしきい値以下である場合は信頼性が低いとして無効化する。これにより、水平方向に同様のテクスチャが続いているなどして、探索範囲のどの位置でも類似度が高くなってしまうような状況における偶発的な最大値をマッチング結果から除外できる。また類似度が最大であっても、当該類似度が所定のしきい値以下である場合は類似しているとはみなせないとして無効化する。このとき、参照ブロック内に特徴点が多く含まれる場合と、特徴点が少ない場合とでしきい値を切り替えることにより、無効化する確率を調整する。これにより、特徴点が多く元から信頼性の高いデータが過剰に無効とされてしまうのを防止できるとともに、信頼性が低いデータをマッチング結果から除外できる。
【０１０４】
さらに、類似度データを空間方向に平滑化した場合は、類似度が最大であっても、平滑化前の類似度データにおける対応する位置の類似度が所定のしきい値以下である場合は偽のピークであるとして無効化する。あるいはこの場合、元の類似度データにおける最大値を真の最大値としてマッチング結果に含めてもよい。このように類似度自体の補正や評価を行うことにより、最終的に取得する奥行き画像において、ノイズの発生や位置が不定の領域の発生を定常的に抑えられる。結果として、室内の明るさや被写体の形状、配置などの撮影環境に対し頑健性のある高品質な奥行き画像を生成できる。
【０１０５】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【０１０６】
２  情報処理システム、  １０  情報処理装置、  １２  撮像装置、  １６  表示装置、  １３ａ  第１カメラ、  １３ｂ  第２カメラ、  ２２  ＣＰＵ、  ２４  ＧＰＵ、  ２６  メインメモリ、  ４２  画像取得部、  ４４  入力情報取得部、  ４６  位置情報生成部、  ４８  画像記憶部、  ５０  出力情報生成部、  ６０  前処理部、  ６２  類似度データ生成部、  ６４  類似度補正部、  ６６  結果評価部、  ６８  奥行き画像生成部。
【図１】
2016038886.tif 000010
【図２】
2016038886.tif 000011
【図３】
2016038886.tif 000012
【図４】
2016038886.tif 000013
【図５】
2016038886.tif 000014
【図６】
2016038886.tif 000015
【図８】
2016038886.tif 000016
【図９】
2016038886.tif 000017
【図１０】
2016038886.tif 000018
【図１１】
2016038886.tif 000019
【図１２】
2016038886.tif 000020
【図１３】
2016038886.tif 000021
【図１４】
2016038886.tif 000022
【図１５】
2016038886.tif 000023
【図１６】
2016038886.tif 000024
【図１７】
2016038886.tif 000025
【図７】
2016038886.tif 000026
【図１８】
2016038886.tif 000027