(57)【要約】【課題】ステレオマッチングによる左右の視差値をマージする際に、一方の視差の値が正常でない場合であっても、マージした視差値を精度良く求める。【解決手段】画像処理装置は、左右のカメラが撮像した１対の撮像画像に基づいて、ステレオマッチングにより左右の視差画像をそれぞれ取得するステレオマッチング部と、前記視差画像にフィルタ処理を行うフィルタ処理部と、前記フィルタ処理が行われた前記視差画像について、左右の前記視差画像の対応する位置の視差値を比較し、比較の結果に基づいて左右の前記視差画像の視差値をマージする第１のマージ部と、を備える。【選択図】図８
2014197314.tif 000002
【特許請求の範囲】
【請求項１】
左右のカメラが撮像した１対の撮像画像に基づいて、ステレオマッチングにより左右の視差画像をそれぞれ取得するステレオマッチング部と、
前記視差画像にフィルタ処理を行うフィルタ処理部と、
前記フィルタ処理が行われた前記視差画像について、左右の前記視差画像の対応する位置の視差値を比較し、比較の結果に基づいて左右の前記視差画像の視差値をマージする第１のマージ部と、
を備える、画像処理装置。
【請求項２】
前記フィルタ処理部は、左右の前記視差画像の少なくとも一方に前記フィルタ処理を行う、請求項１に記載の画像処理装置。
【請求項３】
前記フィルタ処理部は、左右の前記視差画像の双方に前記フィルタリングを行う、請求項１に記載の画像処理装置。
【請求項４】
前記フィルタ処理部は、メディアンフィルタから構成される、請求項１に記載の画像処理装置。
【請求項５】
前記フィルタ処理部は、左右の前記視差画像の一方に前記フィルタ処理を行い、
前記第１のマージ部は、前記フィルタ処理が行われた一方の視差画像の特定の画素の視差値と、前記フィルタリングが行われていない他方の視差画像の前記特定の画素に対応する画素及びその周辺の複数の画素の視差値とを比較する、請求項１に記載の画像処理装置。
【請求項６】
前記第１のマージ部は、前記特定の画素の視差値と前記他方の視差画像の前記特定の画素に対応する画素及びその周辺の複数の画素のそれぞれの視差値との差分と、所定のしきい値との比較の結果に基づいて、前記視差値をマージする、請求項５に記載の画像処理装置。
【請求項７】
前記第１のマージ部は、前記所定のしきい値と前記視差値の信頼度との関係を規定した伝達関数に基づいて、前記視差値をマージする、請求項６に記載の画像処理装置。
【請求項８】
複数の解像度の前記撮像画像を取得し、
前記ステレオマッチング部、前記フィルタ処理部、及び前記第１のマージ部は、前記複数の解像度毎に対応して複数設けられ、
前記第１のマージ部がマージした前記複数の解像度毎の視差値をマージする第２のマージ部を更に備える、請求項１に記載の画像処理装置。
【請求項９】
前記第２のマージ部は、第１の解像度の前記視差画像の特定の画素の視差値が得られていない場合は、前記第１の解像度よりも低い第２の解像度の前記視差画像の前記特定の画素に対応する画素の視差値に基づいて、前記複数の解像度毎の視差値をマージする、請求項８に記載の画像処理装置。
【請求項１０】
前記ステレオマッチング部は、前記左右の視差画像の視差値について信頼度を算出する信頼度算出部を含み、
前記第２のマージ部は、前記信頼度が所定のしきい値よりも高い場合に、前記第１の解像度の前記視差画像の特定の画素の視差値が得られていない場合は、当該視差値を不明値とする、請求項９に記載の画像処理装置。
【請求項１１】
前記第２のマージ部は、第１の解像度の視差画像の視差値に基づいて、前記第１の解像度よりも高解像度の第２の解像度の視差画像の視差値を書き換える、請求項８に記載の画像処理装置。
【請求項１２】
前記第２のマージ部は、前記第１の解像度の視差画像の特定の画素と隣接する複数の画素の視差値が所定の範囲内である場合は、前記特定の画素の視差値に基づいて前記第２の解像度の視差画像の前記特定の画素に対応する画素の視差値を書き換える、請求項１１に記載の画像処理装置。
【請求項１３】
前記第２のマージ部は、前記複数の解像度のうち最も低い解像度の視差画像の注目領域における視差値に基づいて、前記複数の解像度の１つを選択し、選択した解像度の視差画像に基づいて前記注目領域の視差値をマージする、請求項８に記載の画像処理装置。
【請求項１４】
左右のカメラが撮像した１対の撮像画像に基づいて、ステレオマッチングにより左右の視差画像をそれぞれ取得することと、
前記視差画像にフィルタ処理を行うことと、
前記フィルタ処理が行われた前記視差画像について、左右の前記視差画像の対応する位置の視差値を比較し、比較の結果に基づいて左右の前記視差画像の視差値をマージすることと、
を備える、画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
ステレオマッチングを高速に行うためにシンプルなアルゴリズムで視差を算出すると、間違った視差値が多く算出される問題がある。この問題を解決するために、下記の非特許文献１に記載される手法が提案されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】YUICHI  OHTA,  TAKEOKANADA  “Stereo  by Intra-andInter-Scanline Search Using Dynamic Programming”IEEE TRANSACTIONS ON PATTERNANALYSIS AND MACHINE INTELLIGENCE, VOL. PAMI-7, No. 2, MARCH 1985
【発明の概要】
【発明が解決しようとする課題】
【０００４】
非特許文献１には、エピポーラライン上の視差がなめらかに変化するように拘束をかけて視差を算出する手法が記載されている。しかしながら、上記非特許文献１に記載されているような従来技術では、横引きノイズが出たり、同じ水平ライン上にある視差測定結果の影響を受けたりするなどの弊害がある、また処理量が多くなるなどの問題がある。一方、左右の視差情報を相互参照し、信頼性を確かめながら間違った視差を排除するというシンプルな手法では、ステレオマッチングにより得られた左右の視差値を１対１で比較して統合（マージ）するため、左右の視差のいずれかが異常値をとっている場合は、マージした視差値の信頼性が低下し、有効な視差値を得られない問題がある。このため、視差値に基づいて物体の距離を検出することが困難となっていた。
【０００５】
そこで、ステレオマッチングによる左右の視差値をマージする際に、一方の視差の値が正常でない場合であっても、マージした視差値を精度良く求めることが望まれていた。
【課題を解決するための手段】
【０００６】
本開示によれば、左右のカメラが撮像した１対の撮像画像に基づいて、ステレオマッチングにより左右の視差画像をそれぞれ取得するステレオマッチング部と、前記視差画像にフィルタ処理を行うフィルタ処理部と、前記フィルタ処理が行われた前記視差画像について、左右の前記視差画像の対応する位置の視差値を比較し、比較の結果に基づいて左右の前記視差画像の視差値をマージする第１のマージ部と、を備える、画像処理装置が提供される。
【０００７】
また、前記フィルタ処理部は、左右の前記視差画像の少なくとも一方に前記フィルタ処理を行うものであっても良い。
【０００８】
また、前記フィルタ処理部は、左右の前記視差画像の双方に前記フィルタ処理を行うものであっても良い。
【０００９】
また、前記フィルタ処理部は、メディアンフィルタから構成されるものであっても良い。
【００１０】
また、前記フィルタ処理部は、左右の前記視差画像の一方に前記フィルタ処理を行い、
前記第１のマージ部は、前記フィルタ処理が行われた一方の視差画像の特定の画素の視差値と、前記フィルタリングが行われていない他方の視差画像の前記特定の画素に対応する画素及びその周辺の複数の画素の視差値とを比較するものであっても良い。
【００１１】
また、前記第１のマージ部は、前記特定の画素の視差値と前記他方の視差画像の前記特定の画素に対応する画素及びその周辺の複数の画素のそれぞれの視差値との差分と、所定のしきい値との比較の結果に基づいて、前記視差値をマージするものであっても良い。
【００１２】
また、前記第１のマージ部は、前記所定のしきい値と前記視差値の信頼度との関係を規定した伝達関数に基づいて、前記視差値をマージするものであっても良い。
【００１３】
また、複数の解像度の前記撮像画像を取得し、前記ステレオマッチング部、前記フィルタ処理部、及び前記第１のマージ部は、前記複数の解像度毎に対応して複数設けられ、前記第１のマージ部がマージした前記複数の解像度毎の視差値をマージする第２のマージ部を更に備えるものであっても良い。
【００１４】
また、前記第２のマージ部は、第１の解像度の前記視差画像の特定の画素の視差値が得られていない場合は、前記第１の解像度よりも低い第２の解像度の前記視差画像の前記特定の画素に対応する画素の視差値に基づいて、前記複数の解像度毎の視差値をマージするものであっても良い。
【００１５】
また、前記ステレオマッチング部は、前記左右の視差画像の視差値について信頼度を算出する信頼度算出部を含み、前記第２のマージ部は、前記信頼度が所定のしきい値よりも高い場合に、前記第１の解像度の前記視差画像の特定の画素の視差値が得られていない場合は、当該視差値を不明値とするものであっても良い。
【００１６】
また、前記第２のマージ部は、第１の解像度の視差画像の視差値に基づいて、前記第１の解像度よりも高解像度の第２の解像度の視差画像の視差値を書き換えるものであっても良い。
【００１７】
また、前記第２のマージ部は、前記第１の解像度の視差画像の特定の画素と隣接する複数の画素の視差値が所定の範囲内である場合は、前記特定の画素の視差値に基づいて前記第２の解像度の視差画像の前記特定の画素に対応する画素の視差値を書き換えるものであっても良い。
【００１８】
また、前記第２のマージ部は、前記複数の解像度のうち最も低い解像度の視差画像の注目領域における視差値に基づいて、前記複数の解像度の１つを選択し、選択した解像度の視差画像に基づいて前記注目領域の視差値をマージするものであっても良い。
【００１９】
また、本開示によれば、左右のカメラが撮像した１対の撮像画像に基づいて、ステレオマッチングにより左右の視差画像をそれぞれ取得することと、前記視差画像にフィルタ処理を行うことと、前記フィルタ処理が行われた前記視差画像について、左右の前記視差画像の対応する位置の視差値を比較し、比較の結果に基づいて左右の前記視差画像の視差値をマージすることと、を備える、画像処理方法が提供される。
【発明の効果】
【００２０】
本開示によれば、ステレオマッチングの際に、一方の視差の値が正常でない場合であっても、ステレオマッチングによる視差値を精度良く求めることが可能となる。
【図面の簡単な説明】
【００２１】
【図１】本開示の一実施形態に係る画像処理装置の概略構成を示す模式図である。
【図２】射影変換部、及び逆射影変換部が行う処理を示す模式図である。
【図３】ステレオマッチング部が視差値を算出する様子を示す模式図である。
【図４】ポストフィルタ部がメディアンフィルタの場合の処理を示す模式図である。
【図５】マージ部のアルゴリズムの基本的な概念を説明するための模式図である。
【図６】マージ部の基本的な処理を示す模式図である。
【図７】図６の処理を説明するための模式図である。
【図８】ポストフィルタ処理を加えた本実施形態に係る処理を示す模式図である。
【図９】参照元である右の視差画像にのみポストフィルタ処理を行う例を示す模式図である。
【図１０】右の注目画素の視差dRと、左の参照画素の周辺の９画素の視差dL[i]をそれぞれ比較して、dRの信頼度を決定する手法を示す模式図である。
【図１１】図１０の処理を詳細に示す模式図である。
【図１２】右の注目画素の視差値dRから左の参照画素の位置を求めた後、参照画素の周囲の各視差値dL[i](i=0,…8)とdRの差ごとに重みをつけながら信頼度を決定する方法を示す模式図である。
【図１３】左右のカメラと被写体である物体の位置を示す模式図である。
【図１４】解像度に応じた探索範囲を説明するための模式図である。
【図１５】画像解像度と推定可能デプスとの関係を示す模式図である。
【図１６】画像解像度と推定可能デプスとの関係を示す模式図である。
【図１７】画像解像度と推定可能デプスとの関係を示す模式図である。
【図１８】第２の実施形態において、複数解像度を使用する際の処理を示す模式図である。
【図１９】図１８の構成に射影変換部、プレフィルタ部、及び逆射影変換部を加え、ステレオマッチング部及びマージ部を別体のブロックとして示したものである。
【図２０】マージ部による処理を説明するための模式図である。
【図２１】輝度値の和に基づいてブロックマッチング信頼度を判定する手法を示す模式図である。
【図２２】ステレオマッチング部にてステレオマッチングの信頼度を求め、信頼度の情報を視差画像とともに出力する構成を示す模式図である。
【図２３】視差値の信頼度に基づいて解像度の異なる視差をマージする処理を示すフローチャートである。
【図２４】第２の実施形態の処理を説明するための模式図である。
【図２５】第２の実施形態の処理を説明するための模式図である。
【図２６】第２の実施形態の処理を説明するための模式図である。
【図２７】第２の実施形態の処理を説明するための模式図である。
【図２８】第２の実施形態の処理を説明するための模式図である。
【図２９】第２の実施形態の処理を説明するための模式図である。
【図３０】視差画像２，３を出力するステレオマッチング部が信頼度算出部１０６ａをそれぞれ備えた構成を示す模式図である。
【図３１】ブロックマッチングで誤ったマッチングをする例を示す模式図である。
【図３２】低解像度をベースとした複数解像度のマージを行う例を示す模式図である。
【図３３】低解像度をベースとした複数解像度のマージを行う例を示す模式図である。
【図３４】低解像度をベースとした複数解像度のマージを行う例を示す模式図である。
【図３５】低解像度をベースとした複数解像度のマージを行う例を示す模式図である。
【図３６】図１８と同様の構成に対して、注目領域検出・追跡部１１２を付加した例を示す模式図である。
【図３７】複数解像度の視差画像を用いて注目領域の視差取得性能を向上させる方法を示す模式図である。
【図３８】複数解像度の視差画像を用いて注目領域の視差取得性能を向上させる処理を示す模式図である。
【図３９】メッシュ情報を示す模式図である。
【発明を実施するための形態】
【００２２】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２３】
なお、説明は以下の順序で行うものとする。
１．第１の実施形態
１．１．画像処理装置の構成例
１．２．マージ部のアルゴリズム
２．第２の実施形態
２．１．複数解像度をマージする具体例
２．２．低解像度をベースとした複数解像度のマージの具体例
２．３．注目領域の視差取得性能を向上させる方法
【００２４】
＜１．第１の実施形態＞
［１．１．画像処理装置の構成例］
まず、図１を参照して、本開示の第１の実施形態に係る視差画像生成フローの全体について説明する。図１は、本実施形態に係る画像処理装置１００の概略構成を示す模式図である。図１に示すように、画像処理装置１００は、射影変換部１０２ａ，１０２ｂ、プレフィルタ部１０４ａ，１０４ｂ、ステレオマッチング部１０６、マージ部１０８、ポストフィルタ部１１０、逆射影変換部１１２を有して構成される。
【００２５】
図１に示すように、カメラ画像として、左右に離間した２つのカメラの画像（カメラ画像（左）、カメラ画像（右））が取得される。それぞれの画像は、射影変換部１０２ａ，１０２ｂにて射影変換がされ、補正画像（左）、補正画像（右）として出力される。左右それぞれの補正画像は、プレフィルタ部１０４ａ，１０４ｂにてプレフィルタ処理がされ、エッジ画像（左）、エッジ画像（右）として出力される。それぞれのエッジ画像は、ステレオマッチング部１０６に入力され、ステレオマッチングが行われる。ステレオマッチング部１０６は、ステレオマッチングを行った結果、左右の視差画像（視差画像（左）、視差画像（右））を出力する。左右の視差画像はマージ部１０８に入力される。マージ部１０８は、視差画像（左）と視差画像（右）をマージし、マージして得られる画像をポストフィルタ部１１０へ出力する。ポストフィルタ部１１０は、入力された画像にポストフィルタ処理を施し、ポストフィルタ処理が行われた画像は逆射影変換部１１２へ入力される。逆射影変換部１１２は、入力されて画像に逆射影変換を行い、視差画像として出力する。
【００２６】
以下、図１に示す各構成要素が行う処理について説明する。図２は、射影変換部１０２ａ，１０２ｂ、及び逆射影変換部１１２が行う処理を示す模式図である。射影変換部１０２ａ，１０２ｂは、後の処理でステレオマッチングを容易に行うために、左右画像の同一点が水平ライン（＝マッチングの探索方向）上に重なるよう、左右画像を変形する。具体的には、射影変換部１０２ａ，１０２ｂは、エピポーラライン（epipolar  line）の並行化を行う。この際、射影変換部１０２ａ，１０２ｂは、メッシュ情報やホモグラフィ行列を用いる。図３９は、メッシュ情報を示す模式図である。ここで、メッシュ情報とは、入力のカメラ画像に写った正方格子と、本来あるべき格子の位置（補正後の位置）の関係を表す情報である。メッシュ情報は、図３９に示すように、予め格子を撮影するなどして用意しておく。図３９に示すように、カメラによって撮影された格子（補正前）と、本来写っているべき格子（補正後）との関係について、撮影対象のどの点がどの位置にあるべきかを示す情報をメッシュ情報として記録しておく。メッシュ情報からホモグラフィ行列を算出することも可能である。また、逆射影変換部１１２は、射影変換部１０２ａ，１０２ｂとは逆の処理を行い。射影変換部１０２ａ，１０２ｂによる画像の変形を元に戻し、元の入力画像の位置関係に戻す処理を行う。
【００２７】
プレフィルタ部１０４ａ，１０４ｂは、ステレオマッチングの処理において、左右カメラの明度ズレやシェーディングの影響を緩和するため、プレフィルタ処理を行う。例えば、ＳｏｂｅｌフィルタやＰｒｅｗｉｔｔフィルタを用いて、垂直エッジ画像を生成する。これにより、ステレオマッチングにおいて、水平方向に生じる視差の対応点探索を容易に行うことができる。具体的には、入力画像の輝度値をg(x,y)、出力画像の輝度値をf(x,y)とすると、以下の式（１）を演算することで輝度値ｆ（ｘ，ｙ）を求める。
【００２８】
【数１】
2014197314.tif 000003
【００２９】
Ｓｏｂｅｌフィルタを使用する場合、式（１）のｈの値は、以下の式（２）で表すことができる。
【００３０】
【数２】
2014197314.tif 000004
【００３１】
ステレオマッチング部１０６は、右画像を基準とした視差画像と、左画像を基準とした視差画像をそれぞれ生成する。視差画像は、左右の画像の各画素について視差の情報（視差値）を含む。このため、ステレオマッチング部１０６は、視差画像を生成するため、左右の画像のブロックマッチングを行い、類似度の最も高いブロックを抽出する。左画像を基準とした場合、図３に示すように、ステレオマッチング部１０６は、左画像の注目ブロックと類似する右画像の類似ブロックが、左画像の注目ブロックの位置から水平方向に何ピクセル移動したかという値を視差値として算出する。
【００３２】
具体的には、ステレオマッチング部１０６は、以下のような処理の流れにより視差を計算する。例えば4x4のブロック単位で処理を行う場合、出力座標(x,y)の範囲は、x,y共に入力画像の縦横１／４の範囲となる。プレフィルタ部１０４ａ，１０４ｂの出力である左右のエッジ画像をleft(x,y),right(x,y)とし、左右画像間の視差をdisparityとする。出力座標(x,y)における、左画像と右画像との間の4x4画素ブロックの差分絶対値和block_abs_sum(x,y,disparity)は以下の式（３）で表すことができる。
【００３３】
【数３】
2014197314.tif 000005
【００３４】
そして、出力画像の各座標(x,y)毎に、disparityを一定範囲（例えば、0から63の間）において1ピクセル単位で連続的に変化させて、上式の4x4画素ブロックの差分絶対値和block_abs_sum(x,y,disparity)が最小となるdisparityの値を求め、これを視差disparity(x,y)とする。
【００３５】
マージ部１０８は、ステレオマッチング後の左右の視差画像を入力とし、１枚にマージされた視差画像を出力する。マージ部１０８の処理の詳細については後述する。
【００３６】
ポストフィルタ部１１０は、マージ部１０８により得られた視差画像における異常値を取り除くため、また信頼度が低く視差値を算出できなかった画素の穴埋めをするために、ポストフィルタ処理を行う。ポストフィルタ部１１０は、例えばメディアンフィルタを用いてポストフィルタ処理を行う。
【００３７】
図４は、ポストフィルタ部１１０がメディアンフィルタの場合の処理を示す模式図である。３×３の画素領域でフィルタリングする場合、図４に示すように、注目画素とその周囲の画素の画素値を取り出して一列に並べ、注目画素の画素値（20）を９個の画素値の中央値（2）と置き換える。これにより、異常値を取り除くことができ、また視差値を算出できなかった画素の穴埋めをすることができる。
【００３８】
［１．２．マージ部のアルゴリズム］
図５は、マージ部１０８のアルゴリズムの基本的な概念を説明するための模式図であって、ステレオマッチング部１０６から出力された左右の視差画像を示している。上述したように、ステレオマッチング部１０６では、右画像を基準とした視差画像と、左画像を基準とした視差画像をそれぞれ生成する。このため、左右の視差画像の対応する点は、同じような視差値をもつと考えられる。そこで、左右の視差画像のうち一方の視差画像の注目点の視差値から、対応する他方の視差画像の参照点を求め、注目点と参照点の２つの視差を比較することで信頼度を算出する。
【００３９】
図６は、マージ部１０８の基本的な処理を示す模式図である。図６は、本実施形態に係るマージ部１０８の処理の前提となるもので、右の視差画像の視差を基準として、左の視差画像の参照点の視差と比較する場合を示している。
【００４０】
図６に示すように、先ず、右の視差画像の注目画素の視差から、左画像における参照位置（参照画素）を算出する（ステップＳ１０）。次に、右の視差（注目画素の視差）と左の視差（参照画素の視差）を比較し、信頼度を算出する（ステップＳ１２）。そして、信頼度が所定の閾値より高ければ、右の視差画像の視差を出力する（ステップＳ１４）。
【００４１】
図７は、図６の処理を説明するための模式図であって、右の視差画像の注目画素を基準として左の視差画像の参照画素を算出する例を示している。図７に示すように、左右の視差画像に写る物体の高さ（上下方向の位置）は、射影変換などによって既に揃えられている。この場合、注目画素と同じ水平ライン上に参照画素を見つけることができる。右の視差画像の注目画素の位置（xR,yR）における視差がdRであるとき、左の視差画像の参照画素の位置（xL,yL）は、（xL,yL）＝（xR+dR,yR）となる。従って、注目画素の位置（xR,yR）における視差dRと参照画素の位置（xL,yL）における視差dLとを比較することで、視差の値の信頼度を判定することができる。
【００４２】
従って、「右の注目画素の視差dR」と「左の参照画素の視差dL」が同じような視差値である場合は、注目画素の視差値は信頼できると考えられる。この場合、左右の視差の差の絶対値abs(dR-dL)の逆数を、信頼度を表す値とする。そして、abs(dR-dL)と信頼度判定のための閾値（threshold_same_disparity）とを比較し、abs(dR-dL)＜threshold_same_disparity）の場合は、視差の値が信頼できるため、右の視差画像の注目画素の視差dRをマージ後の視差（merged_disparity）として出力する。また、abs(dR-dL)≧（threshold_same_disparity）の場合は、視差の値が信頼出来ないため、「視差なし（＝0）」をマージ後の視差（merged_disparity）として出力する。アルゴリズムの例としては、以下のものが考えられる。
【００４３】
if(abs(dR-dL)<threshold_same_disparity)
merged_disparity=dR;
else
merged_disparity=0;
【００４４】
上記アルゴリズムにおいて、abs(dR-dL)は、視差値の信頼度の逆数を表す値である。また、threshold_same_disparityは、dRが信頼できるかを決定するための閾値である。つまり、この閾値に基づいてdRとdLが同様の視差であるか否かを判定することができる。
【００４５】
一方、図６及び図７に示した手法では、視差を１対１でしか比較しないため、左右の視差のいずれかが異常値をとっている場合は、視差の値が信頼できないと判定されてしまう。このため、左右の視差画像の視差に異常値が多いと、マージ後の視差が０となる画素が多くなり、マージ後の視差画像に多くの穴が開いた状態となってしまう。
【００４６】
そこで、本実施形態では、参照画素の位置を決定する前に、視差画像にポストフィルタ処理をかけることで異常値を予め除去しておく。これにより、右の視差画像の注目画素と左の視差画像の参照画素の相互参照時の有効領域を増やすことができる。ポストフィルタとしては、メディアンフィルタなどを用いる
【００４７】
図８は、ポストフィルタ処理を加えた本実施形態に係る処理を示している。図６に対して、左右の視差画像へのポストフィルタ処理部１０７が加えられている。このように、ポストフィルタ処理を入れることで、異常値を取り除く効果が得られ、マージ後の視差が０となることを最小限に抑えることができる。
【００４８】
また、処理時間を短縮するために、ポストフィルタ処理を視差参照元の画像にのみ行うことも可能である。図９は、参照元である右の視差画像にのみポストフィルタ処理を行う例を示している。参照元である右の視差画像にポストフィルタ処理を施した上で、参照元の注目画素と、参照先の対応する画素の視差を比較することで信頼度を算出し、マージ後の視差を決定する。これにより、ポストフィルタ処理は左右の視差画像の一方のみで行われるため、処理の高速化を実現できる。但し、参照先である左の視差画像には、依然として視差の異常値が多く残っている可能性があるため、マージ後に有効な視差値を多く残すためには、マージの際の信頼度算出の方法を工夫することが望ましい。
【００４９】
このため、図１０に示すように、右の注目画素の視差dRと、左の参照画素の周辺の９画素の視差dL[i](i=0, …, 8)をそれぞれ比較して、dRの信頼度を決定する。例えば、参照画素の周囲の3x3画素中、参照元の注目画素と同じような視差の値を有する画素がいくつあるかカウントし、その値を信頼度として閾値と比較する。この場合のアルゴリズムを以下に示す。
【００５０】
Int  count=0;
for(int  i=0;  i  <  9;  i++)  {
if(abs(dR-dL[i])<threshold_same_disparity)
count++;
}
if  (count>=threshold_count)
merged_disparity=dR;
else
merged_disparity=0;
【００５１】
上記アルゴリズムにおいて、threshold_same_disparityは、dRとdL[i]が同じような視差かどうかを判定するための閾値である。また、countは、参照画素周辺にdRと同じような視差がいくつあるかを示す値であり、信頼度を表す値である。このアルゴリズムでは、信頼度が閾値よりも小さい場合は、マージした視差値を不定の値（不明値）として“０”を割り当てている。
【００５２】
図１１は、図１０及び上記アルゴリズムの処理を詳細に示す模式図である。右の視差画像の注目画素の視差drと、左の視差画像の参照画素及びその周囲の８画素の視差dL[i](i=0,…,8)を順次比較し、視差dRと左の参照画素及びその周辺の視差値dL[i](i=0,…,8)との差abs(dR-dL[i])を算出する。
【００５３】
そして、abs(dR-dL[i])と閾値threshold_same_disparityを比較し、閾値以下の画素数（＝参照画素周辺でdRと同様の視差値を有する画素がいくつあるか）をカウントする。そして、カウント値に基づいてマージ後の視差merged_disparityを決定する。図１１に示すように、この閾値は必要に応じて変化させ、abs(dR-dL[i])がこの閾値以下であれば、注目画素の視差drと参照画素の視差dlはほぼ同じであると見做す。
【００５４】
図１２は、右の注目画素の視差値dRから左の参照画素の位置を求めた後、参照画素の周囲の各視差値dL[i](i=0,…8)とdRの差ごとに重みをつけながら信頼度を決定する方法を示す模式図である。視差dRと左の参照画素及びその周辺の視差値dL[i](i=0,…,8)との差abs(dR-dL[i])を算出する点は、図１１の処理と同様である。図１２では、左右視差の差と信頼度の関係を示す階段状の特性の伝達関数を用い、左右の視差の差abs(dR-dL[i])を、伝達関数に基づいて信頼度に変換し、これらを加算して得られる値を注目画素における信頼度conf[i]とする。図１２中における閾値1を1、閾値2を2、閾値3を3、信頼度1を10、信頼度2を5、信頼度3を2とすると、上図の注目画素の信頼度conf(x,y)は、
conf(x,y)=conf[0]+conf[1]+…+conf[8]=27
となる。従って、この信頼度conf[i]に基づいて視差の信頼度を判定することができる。
【００５５】
以上説明したように第１の実施形態によれば、ステレオマッチング後の左右の視差画像をマージする前に、視差画像に対してポストフィルタ処理を行うようにしたため、視差画像の視差の異常値を予め除去しておくことができる。これにより、右の視差画像の注目画素と左の視差画像の参照画素の相互参照時の有効領域を増やすことができ、マージ後の視差が０（視差なし）となることを最小限に抑えることができる。
【００５６】
＜２．第２の実施形態＞
次に、本開示の第２の実施形態について説明する。第２の実施形態は、複数解像度の入力を使用して視差画像を生成するものである。
【００５７】
第２の実施形態において、基本的な処理の流れは図１に示した第１の実施形態と同様である。第２の実施形態では、ステレオマッチング部１０６において、複数の解像度の入力画像を使用する。
【００５８】
［２．１．物体の距離と解像度の関係］
図１３は、左右のカメラと被写体である物体の位置を示す模式図である。図１３に示すように、カメラから近くの物体の視差は大きく、遠くの物体の視差は小さい。図１３に示すように、カメラからの距離が比較的遠い物体は、視差が小さい。このため、ステレオマッチング部１０６によるマッチングを行って奥行き方向の距離を抽出するためには、ある程度の高解像度が必要となる。
【００５９】
一方、カメラからの距離が比較的近い物体は、視差が大きい。このため、ステレオマッチング部１０６によるマッチングを行って奥行き方向の距離（デプス）を抽出するためには、画像の面内の幅広い探索が必要となる。
【００６０】
このように、近くの物体と遠くの物体とでは、視差が相違するため、マッチングの際の探索レンジが一定であると、入力画像の解像度によって得ることのできる視差に違いが生じる。図１４の左側の図に示すように、解像度が大きい場合は、より細かい範囲で探索を行うことが可能であり、小さな視差を探知することができる。これにより、遠くの物体のデプスを抽出することができる。
【００６１】
一方、図１４の右側の図に示すように、解像度が小さい場合は、同じ物体に対してより広いエリアを探索することができる。このため、大きい視差を探知することができ、近くの物体のデプスを抽出することができる。
【００６２】
図１５〜図１７は、画像解像度と推定可能デプスとの関係を示す模式図である。図１５は、画像サイズが640x480、64ピクセル探索の場合を示している。この場合、カメラからの距離がＤ１１以下では、デプスを推定することが困難となる。
【００６３】
図１６は、画像サイズが320x240、64ピクセル探索の場合を示している。この場合、カメラからの距離がＤ１１よりも近いＤ１２以下では、デプスを推定することが困難となる。また、図１７は、画像サイズが160x120、64ピクセル探索の場合を示している。この場合、カメラからの距離がＤ１２よりも更に近いＤ１３以下では、デプスを推定することが困難となる。このように、解像度が低くなるほど、近くの物体のデプスを推定可能であることが判る。
【００６４】
第２の実施形態では、以上のような特性を利用して、複数の解像度の画像を入力として用い、それぞれの解像度の視差情報をマージすることで、処理コストを増加させることなく、スケーラブルに視差を抽出することを可能とする。これにより、画像中で視差を得ることができない領域を最小限に抑えることが可能となる。
【００６５】
［２．１．複数解像度をマージする具体例］
図１８は、第２の実施形態において、複数解像度を使用する際の処理を示す模式図である。図１８においては、ステレオマッチング部１０６及びマージ部１０８を一体のブロックとして示している。また、射影変換部１０２ａ，１０２ｂ、プレフィルタ部１０４ａ，１０４ｂ、ポストフィルタ部１１０、及び逆射影変換部１１２については、図示を省略している。ステレオマッチング部１０６及びマージ部１０８は、複数解像度のそれぞれについて、ステレオマッチング及びマージを行う。
【００６６】
図１８に示すように、左右のカメラ画像の元の解像度（画像スケール）を“１”とする。画像スケール“１”の画像は１／４に縮小されて、画像スケール“１／４”の画像が生成される。更に、画像スケール“１／４”の画像は１／４に縮小されて、画像スケール“１／１６”の画像が生成される。そして、画像スケール“１”，“１／４”
“１／１６”の左右のカメラ画像がそれぞれステレオマッチング部１０６に入力される。
【００６７】
図１９は、図１８の構成に射影変換部１０２ａ，１０２ｂ、プレフィルタ部１０４ａ，１０４ｂ、及び逆射影変換部１１２を加え、ステレオマッチング部１０６及びマージ部１０８を別体のブロックとして示したものである。射影変換部１０２ａ，１０２ｂ、プレフィルタ部１０４ａ，１０４ｂ、ステレオマッチング部１０６、及びマージ部１０８は、複数解像度のそれぞれに対応して設けられる。そして、各解像度のマージ部１０８から出力されたマージ後の視差画像は、解像度の異なる視差をマージするマージ部１２０へ入力される。このように、「解像度の最も高い画像」、「解像度の１階層低い画像」、及び「解像度の最も低い画像」のそれぞれについて、図１と同様の構成が設けられる。ここで、「解像度の最も高い画像」は、図１８の画像スケール“１”の画像に相当する。また、「解像度の１階層低い画像」は、図１８の画像スケール“１／４”の画像に相当し、「解像度の最も低い画像」は図１８の画像スケール“１／１６”の画像に相当する。
【００６８】
「解像度の最も高い画像」、「解像度の１階層低い画像」、及び「解像度の最も低い画像」のそれぞれについて、マージ部１０８にて左右視差のマージが行われ、その結果はマージ部１２０へ入力される。なお、「解像度の最も高い画像」、「解像度の１階層低い画像」、及び「解像度の最も低い画像」のそれぞれについて、マージ部１０８への入力の前に、各視差画像にポストフィルタをかけて異常値を除去することもできる。
【００６９】
図１９に示すように、第２の実施形態の複数解像度を使用するアルゴリズムにおいては、上述のように複数の解像度の入力画像を用意し、複数解像度の入力画像のそれぞれについて、ステレオマッチング部１０６によるステレオマッチングを行って視差画像を得る。この視差画像を得る処理は、各解像度の入力画像毎に並列処理が可能である。
【００７０】
図２０は、マージ部１２０による処理を説明するための模式図である。先ず、最も高い解像度の視差画像１の中で、視差値がある部分（視差値≠０）については、その視差値を用い、視差値が無い部分（視差値＝０）については、１階層低い解像度の視差画像２から視差値を補う処理を行う。更に、視差画像２にも視差値が無い場合は、更に１階層低い解像度の視差画像３から視差値を補う処理を行う。このような処理を繰り返し、最も低い解像度の視差画像からも視差値が得られなかった場合は、その部分は「視差値なし」とされる。これにより、視差画像１において「視差なし」と判定される領域を最小限に抑えることが可能となる。
【００７１】
このように、「解像度の高い視差画像」で視差が求まっていない画素がある場合は、「「１段階だけ解像度の小さい視差画像」にその画素の視差情報がないかを探索し、視差情報があればその視差情報を用いる。このような処理を「最も高い解像度の視差画像（視差画像１）」から階層的に行う。これにより、「視差なし」と判定される領域を最小限に抑えることが可能となる。
【００７２】
ここで、画像中の視差値の無い部分は、オクルージョン領域またはテクスチャレス領域であると考えられる。本来的にオクルージョン領域（手前にある物体が背後の物体を隠す領域）は視差値が出ないので、低解像度の画像を用いて視差値を求める必要は生じない。このため、以下の方法によりオクルージョン領域については、低解像度の画像を用いる処理を行わないようにする。
【００７３】
第１の方法では、ステレオマッチング時にあらかじめ視差の信頼度を算出しておき、これを指標として、視差の信頼度が低い場合は低解像度の画像を用いる処理を行わないようにする。指標としては、カメラ画像の輝度分布（テクスチャの有無）が挙げられる。この方法では、ステレオマッチングの際に計算した信頼度を複数解像度マージ時の指標とする。輝度分布を使用する例では、エッジ画像におけるブロック内の輝度値の和を使用する。例えば4x4のブロックでマッチングを行う場合、座標(x,y)におけるエッジ画像の輝度値をlum(x,y)とすると、ブロック内の輝度値の和は以下の式（４）で表すことができる。この値はエッジの有無の判定に使用することができる。
【００７４】
【数４】
2014197314.tif 000006
【００７５】
図２１に示すように、輝度値の和が所定の閾値より大きい場合は、エッジあり（テクスチャ領域）と判定され、ブロックマッチング信頼度が高いものと判定される。一方、輝度値の和が所定の閾値より小さい場合は、エッジなし（テクスチャレス領域）と判定され、ブロックマッチング信頼度が低いものと判定される。従って、ブロックマッチング信頼度が高い場合は、低解像度の視差画像を用いて視差値を求めないように処理を行うことができる。
【００７６】
第２の方法では、以下の２文献に示すような既存のオクルージョン検知手法を用いる。オクルージョン領域と判定された場合は、ブロックマッチング信頼度が高いものと判定され、低解像度の視差画像を用いて視差値を求めないように処理を行うことができる。
（文献１）A  Cooperative  Algorithm  for  Stereo  Matching  and  Occlusion  Detection
By  Zitnick,  C.,  Kanade,  T.
Tech  Report  CMU-RI-TR-99-35  (1999)
（文献２）Real-Time  Correlation-Based  Stereo  Vision  with  Reduced  Border  Errors
By  Hirschmuller,  H.,  Innocent,  P.R.,  Garibaldi,  J.M.
In  International  Journal  of  Computer  Vision,  vol.  47(1/2/3),  pp.229-246.  (2002)
【００７７】
図２２は、ステレオマッチング部１０６にてステレオマッチングの信頼度を求め、信頼度の情報を視差画像とともに出力する構成を示している。図２２に示すように、解像度の最も高い画像から視差画像を出力するステレオマッチング部１０６は、信頼度算出部１０６ａを含む。信頼度算出部１０６ａは、上記の方法によりステレオマッチングの信頼度を算出して出力する。
【００７８】
図２３は、視差値の信頼度に基づいて解像度の異なる視差をマージする処理を示すフローチャートである。先ず、ステップＳ２００では、注目画素に視差値があるか否かを判定する。注目画素に視差値がある場合はステップＳ２０２へ進み、その視差値を出力する。一方、注目画素に視差が無い場合はステップＳ２０４へ進み、注目画素の視差値の信頼度が高いか否かを判定する。
【００７９】
ステップＳ２０４において、注目画素の視差値の信頼度が高い場合は、ステップＳ２０６へ進む。ここで、「信頼度が高い」とは、オクルージョン領域である、またはテクスチャ領域である可能性が高いことを意味する。このため、ステップＳ２０６では、視差値「なし」を出力する。一方、ステップＳ２０４において、注目画素の信頼度が高くない場合は、ステップＳ２０８へ進む。ステップＳ２０８では、１階層解像度の低い画像の該当する注目画素を調べる。ステップＳ２０８の後はステップＳ２１０へ進む。
【００８０】
ステップＳ２１０では、１階層解像度の低い画像において、注目画素に視差値があるか否かを判定する。注目画素に視差値がある場合はステップＳ２０２へ進み、その視差値を出力する。一方、注目画素に視差値がない場合はステップＳ２１２へ進み、最も低い解像度の視差画像で視差値を調べたか否かを判定する。
【００８１】
ステップＳ２１２で最も低い解像度の視差画像で視差値を調べたことが判定された場合は、ステップＳ２０６へ進み、視差値「なし」を出力する。一方、ステップＳ２１２で最も低い解像度の視差画像で視差値を調べていないことが判定された場合は、ステップＳ２１０へ戻り、１階層解像度の低い画像において、注目画素に視差値があるか否かを判定する。
【００８２】
以上のように図２３の処理によれば、注目画素の視差値の信頼度に応じて、信頼度が高い場合は１階層解像度の低い視差画像を調べることなく視差値「なし」を出力することができる。従って、オクルージョン領域などのように、本来的に視差値が抽出されない領域について、低解像度の視差画像による視差値の抽出が行われることがなく、処理を簡素化することができる。また、テクスチャ領域についても、信頼度が高いため、１階層解像度の低い視差画像を調べることなく視差値「なし」を出力することができる。
【００８３】
図２４〜図２９は、第２の実施形態の処理を説明するための模式図である。図２４〜図２９では、最も高い解像度の視差画像１、視差画像１よりも１階層低い解像度の視差画像２、及び視差画像２よりも更に１階層低い解像度の視差画像３を用いた処理について説明する。
【００８４】
先ず、図２４に示すように、図１９の構成において、マージ部１０８から視差画像１、視差画像２、視差画像３をそれぞれ得る。得られた各視差画像において、××印は視差値が無い画素（視差値が得られなかった画素）を示しており、×印は視差値が無い画素であるが、信頼度が高い（テクスチャ領域ではなく、オクルージョンの可能性が高い）画素を示している。
【００８５】
そして、マージ部１２０では、得られた視差画像１、視差画像２、及び視差画像３を用いて、視差値をマージして出力する。図２５に示すように、最も解像度の高い視差画像１の左上の画素１１から順に視差値を抽出していく。視差画像の画素１１では、視差値が得られているため、マージ部１２０から出力される視差画像１０の画素１０１の視差値は、視差画像１の画素１１の視差値とする。
【００８６】
次に、図２６に示すように、最も解像度の高い視差画像１の画素１２について視差値を抽出すると、画素１２には視差値が無いため、１階層解像度の低い視差画像２において、画素１２に対応する位置の画素２１の視差値を調べる。図２６の例では視差画像２の画素２１にも視差値が無いため、図２７に示すように、更に解像度の低い視差画像３において、画素２１に対応する位置の画素３１の視差値を調べる。
【００８７】
図２７に示す例では、視差画像３の画素３１で視差値が得られているため、マージ部１２０から出力される視差画像１０の画素１０２の視差値は、視差画像３の画素３１の視差値とする。
【００８８】
次に、図２８に示すように、最も解像度の高い視差画像１の画素１６について視差値を抽出すると、画素１６には視差値がないが、画素１６の信頼度が高いため、オクルージョンである可能性が高い。このため、下の階層である視差画像２を調べることなく、視差画像１０の画素１０６の視差値として「視差値なし」を出力する。この処理は、図２３のステップＳ２０４，Ｓ２０６の処理に相当する。
【００８９】
図２９は、以上の処理を繰り返し、マージ部１２０から出力される視差画像の各画素の視差値を全て決定した状態を示している。視差画像１と視差画像１０を比較すると明らかなように、視差画像１では「視差値なし」とされていた画素の多くが、視差画像１０では「視差値あり」とされている。従って、複数の解像度の視差画像をマージすることにより、視差値をより詳細に求めることが可能である。
【００９０】
また、上述の例では最も解像度の高い視差画像１について信頼度を求める例を示したが、視差画像１のみならず、視差画像２，３についてステレオマッチングにおける信頼度を算出しておいても良い。図３０は、視差画像２，３を出力するステレオマッチング部１０６が信頼度算出部１０６ａをそれぞれ備えた構成を示している。この場合、各解像度で「注目画素に視差があるか（図２３のステップＳ２００，Ｓ２１０）」を確認する度に信頼度もチェックすることができるため、オクルージョンに対してよりロバストな（外乱に強い）処理が可能となる。
【００９１】
ところで、低解像度から情報を持ってきて視差値の穴埋めする場合、解像度の違いにより視差値の境界がブロックのように目立つ場合がある。図２９の例では、領域Ａにおいて（出力先の解像度＞元の情報の解像度）の関係が成立するため、ブロックが目立つ場合がある。このため、以下の文献に記載された方法により、輝度情報を参照してエッジを保持しながらアップサンプリングする手法を用いることで、ブロック境界を目立たなくすることも可能である。
（文献３）“Joint Bilateral Upsampling”
By
Kopf, J., Cohen, M. F., Linschinski, D., Uyttendaele, M.
ACM
Transaction of Graphics (2007)
（文献４）特開２０１１-１８６９５８号公報
【００９２】
以上のように、高解像度の視差画像をベースとして複数解像度の視差画像をマージする方法では、低解像度の視差画像から情報を補うことにより、高解像度の視差画像中の視差なしの領域を最小限に抑えることができる。
【００９３】
［２．２．低解像度をベースとした複数解像度のマージの具体例］
一方、高解像度の視差画像を使用する場合、図１３〜図１７で説明したように、カメラから近い距離の物体の視差の取得が難しくなる場合があるが、ミスマッチにより視差値が算出されてしまうことがある。例えば、図３１に示すように、カメラから比較的近い箇所に繰り返し模様のある家具１５０などが配置されている場合、家具１５０の領域Ａ１は右画像には写っていないが、似たような模様が連続しているため、ブロックマッチングで誤ったマッチングをしてしまう可能性がある。
【００９４】
このため、この場合は低解像度をベースとした複数解像度のマージを行う。低解像度の視差画像で取得可能な、カメラから近い（視差の大きい）部分について、同じような視差値に囲まれている画素を検出し、その画素の視差を信頼して、高解像度の対応する位置の視差値を上書きする。具体的には、図３２に示すように、低解像度の視差画像では、カメラから近い近接部分において、適切な深度制度の視差情報を抽出できる。一方、近接部分は、高解像度の視差画像では過剰な深度精度であり、オクルージョン耐性が低い。このため、近接部分は、高解像度の視差画像では視差を間違えやすい。なお、図３２において、同じ濃度の画素は同じ視差値を持つことを表す。
【００９５】
図３２に示す画素Ｇ１では、４つの隣接する画素が同じ視差値を有するため、周囲と同一の奥行きである可能性が高い。このため、近接物体のエッジでない領域を判定する。例えば、図３２の画素Ｇ１の４近傍全てが同一物体とみなせる一定の深度差内か判定する。一定の深度差としては、例えば深度１０ｃｍ程度とし、深度１０ｃｍ程度に相当する視差を用いて判定を行う。そして、４近傍の全てが一定深度範囲内であれば、近接物体のエッジでない領域である「穴埋め対象エリア」と判定し、最高解像度の視差画像において、画素Ｇ１と対応する箇所を注目解像度における視差値で上書きする。また、エッジ判定することなく、低解像度でしかとれない視差をもつ領域は全て高解像度において上書きすることも可能である。
【００９６】
具体的には、図３３に示すように、最も低い解像度を注目解像度とし、周囲と同じ視差値を有する画素Ｇ１を探す処理を行う。なお、図３３では、隣接する４つの画素が同じ視差値である画素を検出しているが、周囲にいくつ同じ画素値があれば検出するかは任意に決定できる。
【００９７】
そして、図３４に示すように、最高解像度の視差画像において、画素Ｇ１と対応する箇所を注目解像度における視差値で上書きする。また、注目解像度と最高解像度の間の解像度の画像に対しては、対応する箇所に「ここはもう上書きされました」というフラグを書き込んでおく。これにより、フラグが書き込まれた領域については以降の探索が不要となり、計算時間を削減することが可能である。
【００９８】
そして、図３５に示すように、最も低い解像度からの上書きが完了したら、一段階低い解像度を注目解像度として同様の処理を繰り返す。そして、周囲と同じ視差値を有する画素Ｇ２を探す処理を行い、最高解像度の視差画像において、画素Ｇ２と対応する箇所を注目解像度における視差値で上書きする。この際、低解像度になる程、近い部分の視差がとれない解像度になるため、その解像度で取得できる視差を考慮しながら探索していく。
【００９９】
以上のように、高解像度画像を用いた視差算出では、カメラに近い部分で視差値が算出されずに、視差画像中に視差なしの画素が多く存在する（いわゆる穴だらけになる）が、高解像度をベースにしたマージ方法によれば高解像度の視差画像中の視差なしの画素をより低解像度の視差画像における視差値で補うことができ、視差なしの画素を最小限に抑えることができる。
【０１００】
また、高解像度画像を用いた視差算出では、カメラに近い部分で視差を誤って算出することが想定される。具体的には、＋探索範囲外で視差が算出できない不足の場合がある。このため、低解像度をベースにしたマージ方法を用いる。これにより、低解像度の視差画像を参照して、カメラに近く、かつ物体のエッジ内部である部分を検出し、高解像度視差画像での対応する部分の視差値を上書きすることで、高解像度の視差画像中において、間違っている可能性のある視差値を上書きして訂正することができる。このように、カメラに近い部分の深度を適切に検出できる低解像度の視差値をベースとして、高解像度の視差値を補完するとともに、計算量を削減することが可能である。
【０１０１】
なお、高解像度をベースとした複数解像度のマージと、低解像度をベースとした複数解像度のマージとは、組み合わせて使用することもできる。
【０１０２】
［２．３．注目領域の視差取得性能を向上させる方法］
次に、複数解像度の視差画像を用いて注目領域の視差取得性能を向上させる方法について説明する。視差を綺麗に取得したい注目領域（例えば、画像中の手や顔など）における視差算出性能を向上させるために、複数解像度の視差画像を用いることも可能である。図３６は、図１８と同様の構成に対して、注目領域検出・追跡部１１２を付加したものである。注目領域検出・追跡部１１２は、画像中の「手」や「顔」などの注目領域を検出し、その移動を追跡する。ステレオマッチング部１０６、マージ部１０８は、注目領域の視差値に応じて、マージする際に元にする視差画像の解像度を選択する。
【０１０３】
なお、手などの注目領域を抽出する方法としては、例えば特開２０１２-１１３６２２号公報に記載された方法を用いることができる。この場合、先ず「局所的な先端部（一定領域内で最も手前である部分の座標）」をブロック単位（例えば16x16pixelごと）で検出し、その後周囲のブロック（例えば3x3ブロック）と比較して、大局的な先端部（＝注目領域）を抽出する。
【０１０４】
また、「注目領域の視差を綺麗にとるためにどの解像度の視差画像をマージするべきか」を示す指標を算出する。指標の例としては、視差情報が埋まりやすいと思われる「最も低い解像度の視差画像」における、注目領域の視差平均を用いることができる。
【０１０５】
図３７に基づいて、カメラからの距離が「近い」人物、「中くらい」の人物、「遠い」人物の合計３人の人物が写っている画像において、カメラからの距離が「中くらい」の人物（中央の人物）の「手」の視差を綺麗に出したい場合、について具体的に説明する。先ず、複数の解像度のそれぞれで視差画像を生成する。
【０１０６】
視差画像を参照すると、解像度「大」の場合、カメラから遠い人物の視差は抽出できるが、カメラから近い人物の視差は異常値が多くなる。このため、最も近い解像度の画像から注目領域（手）の視差を抽出する。この際、図１５〜図１７で説明した「画像解像度と推定可能デプスの関係」に基づいて、その視差をもっとも綺麗に抽出できると考えられる解像度を選択する。
【０１０７】
図３８は、処理を示すフローチャートである。先ず、ステップＳ３００では、各解像度における視差画像を作成する。次のステップＳ３０２では、最も低い解像度の視差画像における注目領域を取得する。次のステップＳ３０４では、注目領域の視差値の平均を算出する。次のステップＳ３０６では、ステップＳ３０４で算出した視差値の平均から、その視差値を綺麗に抽出するために最適と考えられる解像度の画像を選択し、この解像度を元にして、これよりも低い解像度の視差画像が有する視差値を参照する。その後は、図２３のステップＳ２００へ戻る。
【０１０８】
この際、ステップＳ３０６では、図１５〜図１７で説明した「画像解像度と推定可能デプスの関係」に基づいて、どの視差値ではどの解像度を使用するかを示す伝達関数を予め決めておき、伝達関数に基づいて最適と考えられる解像度の画像を選択する。対象が遠い場合は、探索レンジが固定だと、高解像度の方が視差を綺麗にとれる。一方、対象が近い場合は、探索レンジが固定だと、低解像度のほうが視差を綺麗にとれることになる。
【０１０９】
また、この場合においても、上述した信頼度の情報を全ての解像度で算出しておくことにより、任意の解像度の視差画像をベースとして他の視差画像の視差値で補っていく場合に、オクルージョンを加味して処理を簡素にすることができる。
【０１１０】
以上説明したように第２の実施形態によれば、複数の解像度の視差画像を用いることにより、カメラから被写体までの距離に応じて、最適な解像度の視差画像を用いて視差値を得ることができる。従って、視差値が０となる画素を最小限に抑えるとともに、視差値に誤りが生じてしまうことを確実に抑止することが可能となる。
【０１１１】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１１２】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）左右のカメラが撮像した１対の撮像画像に基づいて、ステレオマッチングにより左右の視差画像をそれぞれ取得するステレオマッチング部と、
前記視差画像にフィルタ処理を行うフィルタ処理部と、
前記フィルタ処理が行われた前記視差画像について、左右の前記視差画像の対応する位置の視差値を比較し、比較の結果に基づいて左右の前記視差画像の視差値をマージする第１のマージ部と、
を備える、画像処理装置。
（２）前記フィルタ処理部は、左右の前記視差画像の少なくとも一方に前記フィルタ処理を行う、前記（１）に記載の画像処理装置。
（３）前記フィルタ処理部は、左右の前記視差画像の双方に前記フィルタリングを行う、前記（１）に記載の画像処理装置。
（４）前記フィルタ処理部は、メディアンフィルタから構成される、前記（１）に記載の画像処理装置。
（５）前記フィルタ処理部は、左右の前記視差画像の一方に前記フィルタ処理を行い、
前記第１のマージ部は、前記フィルタ処理が行われた一方の視差画像の特定の画素の視差値と、前記フィルタリングが行われていない他方の視差画像の前記特定の画素に対応する画素及びその周辺の複数の画素の視差値とを比較する、前記（１）に記載の画像処理装置。
（６）前記第１のマージ部は、前記特定の画素の視差値と前記他方の視差画像の前記特定の画素に対応する画素及びその周辺の複数の画素のそれぞれの視差値との差分と、所定のしきい値との比較の結果に基づいて、前記視差値をマージする、前記（５）に記載の画像処理装置。
（７）前記第１のマージ部は、前記所定のしきい値と前記視差値の信頼度との関係を規定した伝達関数に基づいて、前記視差値をマージする、前記（６）に記載の画像処理装置。
（８）複数の解像度の前記撮像画像を取得し、
前記ステレオマッチング部、前記フィルタ処理部、及び前記第１のマージ部は、前記複数の解像度毎に対応して複数設けられ、
前記第１のマージ部がマージした前記複数の解像度毎の視差値をマージする第２のマージ部を更に備える、前記（１）に記載の画像処理装置。
（９）前記第２のマージ部は、第１の解像度の前記視差画像の特定の画素の視差値が得られていない場合は、前記第１の解像度よりも低い第２の解像度の前記視差画像の前記特定の画素に対応する画素の視差値に基づいて、前記複数の解像度毎の視差値をマージする、前記（８）に記載の画像処理装置。
（１０）前記ステレオマッチング部は、前記左右の視差画像の視差値について信頼度を算出する信頼度算出部を含み、
前記第２のマージ部は、前記信頼度が所定のしきい値よりも高い場合に、前記第１の解像度の前記視差画像の特定の画素の視差値が得られていない場合は、当該視差値を不明値とする、前記（９）に記載の画像処理装置。
（１１）前記第２のマージ部は、第１の解像度の視差画像の視差値に基づいて、前記第１の解像度よりも高解像度の第２の解像度の視差画像の視差値を書き換える、前記（８）に記載の画像処理装置。
（１２）前記第２のマージ部は、前記第１の解像度の視差画像の特定の画素と隣接する複数の画素の視差値が所定の範囲内である場合は、前記特定の画素の視差値に基づいて前記第２の解像度の視差画像の前記特定の画素に対応する画素の視差値を書き換える、前記（１１）に記載の画像処理装置。
（１３）前記第２のマージ部は、前記複数の解像度のうち最も低い解像度の視差画像の注目領域における視差値に基づいて、前記複数の解像度の１つを選択し、選択した解像度の視差画像に基づいて前記注目領域の視差値をマージする、前記（８）に記載の画像処理装置。
（１４）左右のカメラが撮像した１対の撮像画像に基づいて、ステレオマッチングにより左右の視差画像をそれぞれ取得することと、
前記視差画像にフィルタ処理を行うことと、
前記フィルタ処理が行われた前記視差画像について、左右の前記視差画像の対応する位置の視差値を比較し、比較の結果に基づいて左右の前記視差画像の視差値をマージすることと、
を備える、画像処理方法。
【符号の説明】
【０１１３】
１００    画像処理装置
１０６    ステレオマッチング部
１０６ａ  信頼度算出部
１０７    ポストフィルタ処理部
１０８，１２０    マージ部
【図１】
2014197314.tif 000007
【図２】
2014197314.tif 000008
【図３】
2014197314.tif 000009
【図４】
2014197314.tif 000010
【図５】
2014197314.tif 000011
【図６】
2014197314.tif 000012
【図７】
2014197314.tif 000013
【図８】
2014197314.tif 000014
【図９】
2014197314.tif 000015
【図１０】
2014197314.tif 000016
【図１１】
2014197314.tif 000017
【図１２】
2014197314.tif 000018
【図１３】
2014197314.tif 000019
【図１４】
2014197314.tif 000020
【図１５】
2014197314.tif 000021
【図１６】
2014197314.tif 000022
【図１７】
2014197314.tif 000023
【図１８】
2014197314.tif 000024
【図１９】
2014197314.tif 000025
【図２０】
2014197314.tif 000026
【図２１】
2014197314.tif 000027
【図２２】
2014197314.tif 000028
【図２３】
2014197314.tif 000029
【図２４】
2014197314.tif 000030
【図２５】
2014197314.tif 000031
【図２６】
2014197314.tif 000032
【図２７】
2014197314.tif 000033
【図２８】
2014197314.tif 000034
【図２９】
2014197314.tif 000035
【図３０】
2014197314.tif 000036
【図３１】
2014197314.tif 000037
【図３６】
2014197314.tif 000038
【図３８】
2014197314.tif 000039
【図３９】
2014197314.tif 000040
【図３２】
2014197314.tif 000041
【図３３】
2014197314.tif 000042
【図３４】
2014197314.tif 000043
【図３５】
2014197314.tif 000044
【図３７】
2014197314.tif 000045