(57)【要約】【課題】画像間の対応点の探索精度を維持した状態で、対応点探索の処理速度を改善することが可能な画像処理装置を提供する。【解決手段】画像処理装置は、基準画像５０に設定される基準領域５２Ａと、探索画像６０に設定される複数の探索領域６２Ａ，６４Ａ，６６Ａとの間の画像情報の類似度を初期探索プロファイル３０Ａとして算出する。画像処理装置は、基準画像５０に設定される、基準領域５２Ａよりも小さいサイズの基準領域５２Ｂと、探索画像６０に設定される探索領域６２Ｂ，６４Ｂ，６６Ｂとの間の画像情報の類似度を本探索プロファイル３０Ｂとして算出する。画像処理装置は、基準画像５０内の注目点５２を含む基準領域５２Ａ，５２Ｂについて算出された初期探索プロファイル３０Ａと本探索プロファイル３０Ｂとを合成した結果に基づいて、注目点５２の対応点を探索画像６０から特定する。【選択図】図２
2016062447.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮像して得られた基準画像に設定される、所定の第１サイズを有する第１基準領域と、前記基準画像とは異なる視点から前記被写体を撮像して得られた探索画像に設定される、前記第１サイズを有する複数の第１探索領域との間の画像情報の類似度を第１類似度群として算出するとともに、前記第１基準領域を所定の画素間隔でずらして前記第１類似度群を繰り返して算出するための第１算出部と、
前記基準画像に設定される、前記第１サイズよりも小さい第２サイズを有する第２基準領域と、前記探索画像に設定される、前記第２サイズを有する複数の第２探索領域との間の画像情報の類似度を第２類似度群として算出するとともに、前記所定の画素間隔よりも短い画素間隔で前記第２基準領域をずらして前記第２類似度群を繰り返して算出するための第２算出部と、
前記基準画像内の注目点を含む第１基準領域について算出された第１類似度群と、当該注目点を含む第２基準領域について算出された第２類似度群とを合成した結果に基づいて、当該注目点の対応点を前記探索画像から特定するための特定部とを備える、画像処理装置。
【請求項２】
前記特定部は、合成対象の第１類似度群に含まれる類似度のそれぞれと、合成対象の第２類似度群に含まれる類似度のそれぞれとのうち、前記第１基準領域に対する第１探索領域のずれ量から特定される被写体距離と、前記第２基準領域に対する第２探索領域のずれ量から特定される被写体距離とが等しい第１探索領域および第２探索領域について算出された類似度同士を合成して前記結果を算出する、請求項１に記載の画像処理装置。
【請求項３】
前記特定部は、加算処理および積算処理のうちの少なくとも一方で前記類似度同士を合成する、請求項２に記載の画像処理装置。
【請求項４】
前記第１算出部は、前記基準画像および前記探索画像とは異なる視点から前記被写体を撮像して得られた二次探索画像に設定される、前記第１サイズを有する複数の探索領域および前記第１基準領域の間の画像情報の類似度のそれぞれと、前記複数の第１探索領域および前記第１基準領域の間の画像情報の類似度のそれぞれとを加算または積算して前記第１類似度群を算出する、請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記第１算出部は、前記第１類似度群を算出していない前記基準画像内の注目点に対する前記第１類似度群を、当該注目点の周辺の前記第１基準領域について算出された前記第１類似度群のそれぞれを用いて補間する、請求項１〜４のいずれか１項に記載の画像処理装置。
【請求項６】
前記第１算出部は、前記第１類似度群を算出していない前記注目点の周辺の第１基準領域について算出された第１類似度群のそれぞれを、当該注目点から当該周辺の第１基準領域のそれぞれまでの距離に応じた重みで合成することにより当該注目点に対する前記第１類似度群を算出する、請求項５に記載の画像処理装置。
【請求項７】
前記画像処理装置は、前記第１類似度群に含まれる類似度と、前記第２類似度群に含まれる類似度との少なくとも一方のうち、所定の閾値よりも低い類似度については前記閾値に補正するための補正部をさらに備える、請求項１〜６のいずれか１項に記載の画像処理装置。
【請求項８】
前記補正部は、前記第１基準領域または前記第２基準領域における輝度変化の度合いに応じて、前記第１類似度群または前記第２類似度群に適用する前記閾値を決定する、請求項７に記載の画像処理装置。
【請求項９】
前記輝度変化の度合いは、前記第１基準領域または前記第２基準領域における画素値の最大値と最小値との差によって示されている、請求項８に記載の画像処理装置。
【請求項１０】
前記輝度変化の度合いは、前記第１基準領域または前記第２基準領域に微分フィルタを重畳した結果によって示されている、請求項８に記載の画像処理装置。
【請求項１１】
前記第１類似度群および前記第２類似度群は、ＳＡＤ（Sum  of  Absolute  Difference）値、ＳＳＤ（Sum  of  Squared  Difference）値、ＮＣＣ（Normalized  Cross-Correlation）値、およびＺＮＣＣ（Zero-mean  Normalized  Cross-Correlation）値のいずれかによって示されている、請求項１〜１０のいずれか１項に記載の画像処理装置。
【請求項１２】
被写体を撮像して得られた基準画像に設定される、所定の第１サイズを有する第１基準領域と、前記基準画像とは異なる視点から前記被写体を撮像して得られた探索画像に設定される、前記第１サイズを有する複数の第１探索領域との間の画像情報の類似度を第１類似度群として算出するとともに、前記第１基準領域を所定の画素間隔でずらして前記第１類似度群を繰り返して算出するステップと、
前記基準画像に設定される、前記第１サイズよりも小さい第２サイズを有する第２基準領域と、前記探索画像に設定される、前記第２サイズを有する複数の第２探索領域との間の画像情報の類似度を第２類似度群として算出するとともに、前記所定の画素間隔よりも短い画素間隔で前記第２基準領域をずらして前記第２類似度群を繰り返して算出するステップと、
前記基準画像内の注目点を含む第１基準領域について算出された第１類似度群と、当該注目点を含む第２基準領域について算出された第２類似度群とを合成した結果に基づいて、当該注目点の対応点を前記探索画像から特定するステップとを備える、画像処理方法。
【請求項１３】
画像処理装置を制御するための画像処理プログラムであって、
前記画像処理プログラムは、前記画像処理装置に、
被写体を撮像して得られた基準画像に設定される、所定の第１サイズを有する第１基準領域と、前記基準画像とは異なる視点から前記被写体を撮像して得られた探索画像に設定される、前記第１サイズを有する複数の第１探索領域との間の画像情報の類似度を第１類似度群として算出するとともに、前記第１基準領域を所定の画素間隔でずらして前記第１類似度群を繰り返して算出するステップと、
前記基準画像に設定される、前記第１サイズよりも小さい第２サイズを有する第２基準領域と、前記探索画像に設定される、前記第２サイズを有する複数の第２探索領域との間の画像情報の類似度を第２類似度群として算出するとともに、前記所定の画素間隔よりも短い画素間隔で前記第２基準領域をずらして前記第２類似度群を繰り返して算出するステップと、
前記基準画像内の注目点を含む第１基準領域について算出された第１類似度群と、当該注目点を含む第２基準領域について算出された第２類似度群とを合成した結果に基づいて、当該注目点の対応点を前記探索画像から特定するステップとを実行させる、画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、互いに異なる視点から被写体を撮像する複数の撮像部を有する画像処理装置、その画像処理方法、および、その画像処理プログラムに関する。
【背景技術】
【０００２】
従来、同じ被写体を異なる視点から撮像して得られた複数の画像（所謂、ステレオ画像）を用いて、被写体の各領域までの距離（以下、「被写体距離」ともいう。）を算出するための技術が開発されている。被写体距離を正確に算出するためには、ステレオ画像間で対応点を正確に探索する必要がある。そのため、近年では、ステレオ画像間で対応点を正確に探索するための技術が開発されている。
【０００３】
たとえば、特許文献１は、ステレオ画像に設定する窓の類似度から対応点を見つけ、被写体までの距離を求めるステレオ画像計測方法を開示している。特許文献２は、ステレオ画像対の高精度な対応点を得て、３次元情報を得ることを目的とする画像処理方法を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２９５６３６号公報
【特許文献２】特開平１０−３２０５６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されるステレオ画像計測方法は、一方の画像に複数のサイズの窓を設定し、これらの窓の各々について最も類似する領域を他方の画像から探索する。このとき、当該ステレオ画像計測方法は、設定した窓を１画素ずつずらしながら類似度を算出する。そのため、計算量が膨大になり、処理時間が長くなる。特に、このことは、窓のサイズが大きくなるにつれて顕著になる。
【０００６】
特許文献２に開示される画像処理方法は、基準画像の画素ごとに最適なサイズのウィンドウを設定し、設定したウィンドウに最も類似する領域を対応画像から探索する。このとき、当該画像処理方法は、設定したウィンドウを１画素ずつずらしながら類似度を算出する。そのため、計算量が膨大になり、処理時間が長くなる。
【０００７】
本開示は上述のような問題点を解決するためになされたものであって、その目的は、画像間の対応点の探索精度を維持した状態で、対応点探索の処理速度を改善することが可能な画像処理装置、その画像処理方法、および、その画像処理プログラムを提供することである。
【課題を解決するための手段】
【０００８】
一実施の形態に従うと、画像処理装置は、被写体を撮像して得られた基準画像に設定される、所定の第１サイズを有する第１基準領域と、基準画像とは異なる視点から被写体を撮像して得られた探索画像に設定される、第１サイズを有する複数の第１探索領域との間の画像情報の類似度を第１類似度群として算出するとともに、第１基準領域を所定の画素間隔でずらして第１類似度群を繰り返して算出するための第１算出部と、基準画像に設定される、第１サイズよりも小さい第２サイズを有する第２基準領域と、探索画像に設定される、第２サイズを有する複数の第２探索領域との間の画像情報の類似度を第２類似度群として算出するとともに、所定の画素間隔よりも短い画素間隔で第２基準領域をずらして第２類似度群を繰り返して算出するための第２算出部と、基準画像内の注目点を含む第１基準領域について算出された第１類似度群と、当該注目点を含む第２基準領域について算出された第２類似度群とを合成した結果に基づいて、当該注目点の対応点を探索画像から特定するための特定部とを備える。
【０００９】
好ましくは、特定部は、合成対象の第１類似度群に含まれる類似度のそれぞれと、合成対象の第２類似度群に含まれる類似度のそれぞれとのうち、第１基準領域に対する第１探索領域のずれ量から特定される被写体距離と、第２基準領域に対する第２探索領域のずれ量から特定される被写体距離とが等しい第１探索領域および第２探索領域について算出された類似度同士を合成して結果を算出する。
【００１０】
好ましくは、特定部は、加算処理および積算処理のうちの少なくとも一方で類似度同士を合成する。
【００１１】
好ましくは、第１算出部は、基準画像および探索画像とは異なる視点から被写体を撮像して得られた二次探索画像に設定される、第１サイズを有する複数の探索領域および第１基準領域の間の画像情報の類似度のそれぞれと、複数の第１探索領域および第１基準領域の間の画像情報の類似度のそれぞれとを加算または積算して第１類似度群を算出する。
【００１２】
好ましくは、第１算出部は、第１類似度群を算出していない基準画像内の注目点に対する第１類似度群を、当該注目点の周辺の第１基準領域について算出された第１類似度群のそれぞれを用いて補間する。
【００１３】
好ましくは、第１算出部は、第１類似度群を算出していない基準画像内の注目点の周辺の第１基準領域について算出された第１類似度群のそれぞれを、当該注目点から当該周辺の第１基準領域のそれぞれまでの距離に応じた重みで合成することにより当該注目点に対する第１類似度群を算出する。
【００１４】
好ましくは、画像処理装置は、第１類似度群に含まれる類似度と、第２類似度群に含まれる類似度との少なくとも一方のうち、所定の閾値よりも低い類似度については閾値に補正するための補正部をさらに備える。
【００１５】
好ましくは、補正部は、第１基準領域または第２基準領域における輝度変化の度合いに応じて、第１類似度群または第２類似度群に適用する閾値を決定する。
【００１６】
好ましくは、輝度変化の度合いは、第１基準領域または第２基準領域における画素値の最大値と最小値との差によって示されている。
【００１７】
好ましくは、輝度変化の度合いは、第１基準領域または第２基準領域に微分フィルタを重畳した結果によって示されている。
【００１８】
好ましくは、第１類似度群および第２類似度群は、ＳＡＤ（Sum  of  Absolute  Difference）値、ＳＳＤ（Sum  of  Squared  Difference）値、ＮＣＣ（Normalized  Cross-Correlation）値、およびＺＮＣＣ（Zero-mean  Normalized  Cross-Correlation）値のいずれかによって示されている。
【００１９】
他の実施の形態に従うと、画像処理方法は、被写体を撮像して得られた基準画像に設定される、所定の第１サイズを有する第１基準領域と、基準画像とは異なる視点から被写体を撮像して得られた探索画像に設定される、第１サイズを有する複数の第１探索領域との間の画像情報の類似度を第１類似度群として算出するとともに、第１基準領域を所定の画素間隔でずらして第１類似度群を繰り返して算出するステップと、基準画像に設定される、第１サイズよりも小さい第２サイズを有する第２基準領域と、探索画像に設定される、第２サイズを有する複数の第２探索領域との間の画像情報の類似度を第２類似度群として算出するとともに、所定の画素間隔よりも短い画素間隔で第２基準領域をずらして第２類似度群を繰り返して算出するステップと、基準画像内の注目点を含む第１基準領域について算出された第１類似度群と、当該注目点を含む第２基準領域について算出された第２類似度群とを合成した結果に基づいて、当該注目点の対応点を探索画像から特定するステップとを備える。
【００２０】
さらに他の実施の形態に従うと、画像処理装置を制御するための画像処理プログラムが提供される。画像処理プログラムは、画像処理装置に、被写体を撮像して得られた基準画像に設定される、所定の第１サイズを有する第１基準領域と、基準画像とは異なる視点から被写体を撮像して得られた探索画像に設定される、第１サイズを有する複数の第１探索領域との間の画像情報の類似度を第１類似度群として算出するとともに、第１基準領域を所定の画素間隔でずらして第１類似度群を繰り返して算出するステップと、基準画像に設定される、第１サイズよりも小さい第２サイズを有する第２基準領域と、探索画像に設定される、第２サイズを有する複数の第２探索領域との間の画像情報の類似度を第２類似度群として算出するとともに、所定の画素間隔よりも短い画素間隔で第２基準領域をずらして第２類似度群を繰り返して算出するステップと、基準画像内の注目点を含む第１基準領域について算出された第１類似度群と、当該注目点を含む第２基準領域について算出された第２類似度群とを合成した結果に基づいて、当該注目点の対応点を探索画像から特定するステップとを実行させる。
【発明の効果】
【００２１】
ある局面において、画像間の対応点の探索精度を維持した状態で、対応点探索の処理速度を改善することができる。
【００２２】
本発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００２３】
【図１】第１の実施の形態に従う画像処理装置から被写体の各領域までの距離を算出する処理を説明するための図である。
【図２】第１の実施の形態に従う画像処理装置の対応点探索処理を概略的に示した概念図である。
【図３】第１の実施の形態に従う画像処理装置の機能構成の一例を示すブロック図である。
【図４】初期探索処理および本探索処理を概略的に示した概念図である。
【図５】初期探索処理に用いるテンプレートの概要を示した図である。
【図６】初期探索プロファイルの算出方法を概略的に示した概念図である。
【図７】基準画像の一部分を示す部分画像を示した図である。
【図８】本探索プロファイルの算出方法を概略的に示した概念図である。
【図９】初期探索プロファイルと本探索プロファイルと合成プロファイルとの対応関係を示した図である。
【図１０】補正処理を実行しない場合の本探索処理の結果を示した図である。
【図１１】オクルージョン部における本探索処理の結果の一部を示した図である。
【図１２】補正処理を実行した場合の本探索処理の結果を示した図である。
【図１３】量子化のずれを概略的に示した概念図である。
【図１４】エッジ部分に設定された基準領域に基づいた探索結果を示す図である。
【図１５】閾値の決定方法を概略的に示した概念図である。
【図１６】基準領域の輝度変化に応じて補正処理の閾値を変動させた場合の本探索処理の結果を示した図である。
【図１７】初期探索プロファイルと本探索プロファイルと合成プロファイルとの対応関係を示した図である。
【図１８】第１の実施の形態に従う画像処理装置の処理の概要を示すフローチャートである。
【図１９】第１の実施の形態に従う画像処理装置の初期探索処理を示すフローチャートである。
【図２０】第１の実施の形態に従う画像処理装置の本探索処理を示すフローチャートである。
【図２１】第１の実施の形態に従う画像処理装置によって生成された距離画像を示す図である。
【図２２】基準画像の一部分を示す部分画像に３種類のサイズの基準領域が設定されている様子を示した図である。
【図２３】第４の実施の形態に従う画像処理装置によって生成された距離画像を示した図である。
【図２４】第１〜第４の実施の形態に従う画像処理装置の主要なハードウェア構成を示すブロック図である。
【図２５】図２４に示す画像処理装置を具現化したデジタルカメラの構成を示すブロック図である。
【図２６】制御プログラムをダウンロードした電子機器の構成を示すブロック図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態、および／または、各変形例は、選択的に組み合わされてもよい。
【００２５】
＜技術原理＞
まず、本発明に従う各実施の形態についての理解を深めるために、図１を参照して、以下の各実施の形態に従う画像処理装置１００が利用する技術原理について説明する。図１は、画像処理装置１００から被写体の各領域までの距離（すなわち、被写体距離）を算出する処理を説明するための図である。
【００２６】
図１には、カメラ５と、カメラ６とが示されている。カメラ５およびカメラ６の視野には、被写体２１が含まれている。説明を簡単にするために、被写体から焦点までの光軸方向の距離をＺ（すなわち、被写体距離）と定義する。カメラ５およびカメラ６の焦点距離をｆと定義する。カメラ５とカメラ６との間の距離（すなわち、基線長）をＢと定義する。画像１画素当たりの長さ（すなわち、画素ピッチ（ここでは、ｍｍ））をμと定義する。カメラ５から得られた画像上の被写体２１の位置と、カメラ６から得られた画像上の被写体２１の位置との間の画素差（すなわち、対応点間のずれ量）を視差ｄと定義する。このとき、三角形の相似の関係から、以下の式（１）が成り立つ。
【００２７】
【数１】
2016062447.tif 000003
【００２８】
ここで、焦点距離ｆ、基線長Ｂ、および画素ピッチμは、カメラの特性を示すパラメータであるため既知である。そのため、視差ｄが分かれば、式（１）から被写体距離Ｚを算出することができる。画像処理装置１００は、互いに異なる視点のカメラから得られた画像間の対応点を探索することにより視差ｄを検出する。画像処理装置１００は、検出した視差ｄを式（１）に代入することにより、被写体距離Ｚを算出できる。このように、画像処理装置１００は、画像間の視差ｄを用いて、被写体距離Ｚを算出することで、被写体の各領域までの距離を示した距離画像を得ることができる。
【００２９】
なお、画像処理装置１００は、距離画像を生成するのみではなく、他の用途でも用いられ得る。たとえば、画像処理装置１００は、対応点間の視差ｄ（すなわち、対応点間のずれ量）を利用した超解像処理を実行することで、高解像度画像を生成してもよい。
【００３０】
＜第１の実施の形態＞
［概要］
図２を参照して、第１の実施の形態に従う画像処理装置１００が実行する対応点探索処理について説明する。図２は、画像処理装置１００の対応点探索処理を概略的に示した概念図である。
【００３１】
図２には、画像処理装置１００が互いに異なる視点から被写体を撮影して得られた基準画像５０と探索画像６０とが示されている。画像処理装置１００は、互いに異なる視点から被写体を撮像するため、基準画像５０と探索画像６０との間には視差が生じる。この視差は、前述の式（１）からも分かるように、被写体までの距離によって変わる。そのため、基準画像５０の各画素と探索画像６０の対応点との間のずれ量（すなわち、視差）は、基準画像５０の画素ごとに変わる。画像処理装置１００は、基準画像５０の各画素と探索画像６０の対応点との間のずれ量を算出するために、基準画像５０の各画素の対応点を探索画像６０から探索する。
【００３２】
より具体的な処理として、画像処理装置１００は、大まかに対応点を探索する初期探索と、詳細に対応点を探索する本探索との少なくとも２段階で対応点を探索し、これらの探索結果を合成した結果に基づいて、基準画像５０の各画素の対応点を探索画像６０から特定する。以下では、初期探索処理の概要、本探索処理の概要、および、対応点の特定方法の概要について順に説明する。
【００３３】
（初期探索処理の概要）
画像処理装置１００は、初期探索時においては、本探索時よりも大きいサイズの基準領域を設定して、探索画像上で基準領域に類似する領域を探索することにより対応点の探索を行なう。仮に、基準画像５０の輝度変化が少ない均一部分や繰り返し部分に小さいサイズの基準領域を設定して対応点探索処理が行なわれると、当該部分の周囲においても輝度変化が少ない部分や繰り返し部分が続いている可能性が高いため、探索画像６０内で類似する領域が多く検出される可能性が高い。しかしながら、画像処理装置１００は、初期探索処理においては大きいサイズの基準領域を設定することで、輝度変化が少ない部分や繰り返し部分についての対応点を正確に検出することができる。
【００３４】
図２を参照して、具体例を挙げて初期探索処理を説明する。画像処理装置１００は、所定のサイズ（たとえば、１０１×１０１画素）を有する基準領域５２Ａを基準画像５０に設定する。このとき、画像処理装置１００は、本探索時よりも大きいサイズの基準領域５２Ａを設定する。画像処理装置１００は、設定した基準領域５２Ａに含まれる画像情報をテンプレートとして、テンプレートに類似する画像情報を有する領域をテンプレートマッチングにより探索画像６０上で探索する。画像情報は、たとえば、画素値、その他の特徴量を含む。図２においては、画像処理装置１００は、基準領域５２Ａと同じサイズを有する探索領域６２Ａ，６４Ａ，６６Ａを探索画像６０に設定し、基準領域５２Ａと探索領域６２Ａ，６４Ａ，６６Ａの各々との間の画像情報の類似度を類似度群（第１類似度群）として算出する。以下では、この類似度群を「初期探索プロファイル」とも称する。すなわち、初期探索プロファイルは、１つの基準領域と複数の探索領域との間の類似度の集合を含む。画像処理装置１００は、基準領域５２Ａを所定の画素間隔５１Ａ（たとえば、１０１×１０１画素間隔）でずらして繰り返して初期探索プロファイルを算出する。
【００３５】
図２に示される初期探索プロファイル３０Ａは、基準領域５２Ａと探索領域６２Ａ，６４Ａ，６６Ａとの間のテンプレートマッチングの結果を示したものである。ここで、探索領域６２Ａ，６４Ａ，６６Ａは、エピポールラインに沿って順次探索を行なう画素位置であり、初期探索プロファイル３０Ａの横軸は、ずれ量から特定される被写体距離の逆数（１／Ｚ）にあたる。より具体的には、初期探索プロファイル３０Ａの類似度３２Ａは、基準領域５２Ａと探索領域６２Ａとの間のテンプレートマッチングの結果である。初期探索プロファイル３０Ａの類似度３４Ａは、基準領域５２Ａと探索領域６４Ａとの間のテンプレートマッチングの結果である。初期探索プロファイル３０Ａの類似度３６Ａは、基準領域５２Ａと探索領域６６Ａとの間のテンプレートマッチングの結果である。類似度３２Ａ，３４Ａ，３６Ａは、たとえば、ＳＡＤ値（Sum  of  Absolute  Difference）として示される。ＳＡＤ値は、画像間の画像情報が類似するほど小さくなる。ＳＡＤ値の詳細については後述する。
【００３６】
（本探索処理の概要）
画像処理装置１００は、本探索処理においては、初期探索処理よりも小さいサイズの基準領域５２Ｂを設定して、対応点の探索を行なう。たとえば、画像処理装置１００は、３×３画素の小さいサイズで基準領域を設定しテンプレートマッチングを行なうことで、近景と遠景の接する距離の大きく変化する領域でも距離を間違える可能性を減らすことができる。
【００３７】
図２を参照して、具体例を挙げて本探索処理を説明する。画像処理装置１００は、本探索時においては、初期探索時よりも小さいサイズ（たとえば、３×３画素）を有する基準領域５２Ｂを基準画像５０に設定する。画像処理装置１００は、基準領域５２Ｂに含まれる画像情報（たとえば、画素値）をテンプレートとして、テンプレートに類似する画像情報を有する領域をテンプレートマッチングにより探索画像６０上で探索する。図２に示される例においては、画像処理装置１００は、基準領域５２Ｂと同じサイズを有する探索領域６２Ｂ，６４Ｂ，６６Ｂを探索画像６０に設定し、基準領域５２Ｂと探索領域６２Ｂ，６４Ｂ，６６Ｂの各々との間の画像情報の類似度を類似度群（第２類似度群）として算出する。以下では、この類似度群を「本探索プロファイル」とも称する。すなわち、本探索プロファイルは、１つの基準領域と複数の探索領域との間の類似度の集合を含む。画像処理装置１００は、画素間隔５１Ｂで基準領域５２Ｂをずらして繰り返して本探索プロファイルを算出する。このとき、本探索時の画素間隔５１Ｂは、初期探索時の画素間隔５１Ａよりも短く（たとえば１×１画素間隔、すなわち全画素に）設定される。
【００３８】
図２に示される本探索プロファイル３０Ｂは、基準領域５２Ｂと探索領域６２Ｂ〜６６Ｂとの間のテンプレートマッチングの結果を示したものである。より具体的には、本探索プロファイル３０Ｂの類似度３２Ｂは、基準領域５２Ｂと探索領域６２Ｂとの間のテンプレートマッチングの結果である。本探索プロファイル３０Ｂの類似度３４Ｂは、基準領域５２Ｂと探索領域６４Ｂとの間のテンプレートマッチングの結果である。本探索プロファイル３０Ｂの類似度３６Ｂは、基準領域５２Ｂと探索領域６６Ｂとの間のテンプレートマッチングの結果である。類似度３２Ｂ，３４Ｂ，３６Ｂは、たとえば、ＳＡＤ値として示される。ＳＡＤ値の詳細については後述する。
【００３９】
（対応点の特定方法の概要）
画像処理装置１００は、基準画像５０の注目点５２を含む基準領域５２Ａについて算出された初期探索プロファイル３０Ａと、同一の注目点５２を含む基準領域５２Ｂについて算出された本探索プロファイル３０Ｂとを合成した結果（合成プロファイル４０）に基づいて、注目点５２の対応点を探索画像６０から特定する。合成プロファイル４０は、たとえば、初期探索プロファイル３０Ａの類似度３２Ａ，３４Ａ，３６Ａのそれぞれと、本探索プロファイル３０Ｂの類似度３２Ｂ，３４Ｂ，３６Ｂのそれぞれとを加算または積算することにより生成される。
【００４０】
このとき、画像処理装置１００は、合成対象の初期探索プロファイル３０Ａに含まれる類似度３２Ａ，３４Ａ，３６Ａのそれぞれと、合成対象の本探索プロファイル３０Ｂに含まれる類似度３２Ｂ，３４Ｂ，３６Ｂのそれぞれとのうち、基準領域５２Ａに対する探索領域６２Ａ，６４Ａ，６６Ａのずれ量から特定される被写体距離と、基準領域５２Ａに対する探索領域６２Ａ，６４Ａ，６６Ａのずれ量から特定される被写体距離とが等しい探索領域について算出された類似度同士を合成して、合成プロファイル４０を生成する。基準領域と探索領域とのずれ量は、たとえば、基準領域の中心点と探索領域の中心点との間の画素差で示される。被写体距離は、上述のとおり、ずれ量を用いて式（１）から特定される。
【００４１】
図２に示される例においては、基準領域５２Ａに対する探索領域６２Ａのずれ量から特定される被写体距離と、基準領域５２Ｂに対する探索領域６２Ｂのずれ量から特定される被写体距離とが等しいので、画像処理装置１００は、探索領域６２Ａ，６２Ｂについて算出された類似度３２Ａ，３２Ｂを互いに合成し、合成プロファイル４０の類似度４２を算出する。基準領域５２Ａ，５２Ｂに対する探索領域６２Ａのずれ量は、基準領域５２Ａ，５２Ｂの中心点（図示しない）と、探索領域６２Ａ，６２Ｂの中心点６２Ａ１，６２Ｂ１との間の距離で示される。
【００４２】
同様に、基準領域５２Ａに対する探索領域６４Ａのずれ量から特定される被写体距離と、基準領域５２Ｂに対する探索領域６４Ｂのずれ量から特定される被写体距離とが等しいので、画像処理装置１００は、探索領域６４Ａ，６４Ｂについて算出された類似度３４Ａ，３４Ｂを互いに合成し、合成プロファイル４０の類似度４４を算出する。基準領域５２Ａ，５２Ｂに対する探索領域６４Ａのずれ量は、基準領域５２Ａ，５２Ｂの中心点（図示しない）と、探索領域６４Ａ，６４Ｂの中心点６４Ａ１，６４Ｂ１との間の距離で示される。
【００４３】
同様に、基準領域５２Ａに対する探索領域６６Ａのずれ量から特定される被写体距離と、基準領域５２Ｂに対する探索領域６６Ｂのずれ量から特定される被写体距離とが等しいので、画像処理装置１００は、探索領域６６Ａ，６６Ｂについて算出された類似度３６Ａ，３６Ｂを互いに合成し、合成プロファイル４０の類似度４６を算出する。基準領域５２Ａ，５２Ｂに対する探索領域６６Ａのずれ量は、基準領域５２Ａ，５２Ｂの中心点（図示しない）と、探索領域６６Ａ，６６Ｂの中心点６６Ａ１，６６Ｂ１との間の距離で示される。
【００４４】
画像処理装置１００は、合成プロファイル４０において類似度が最大となる探索領域、すなわち、ＳＡＤ値が最小となる探索領域の中心点を注目点５２の対応点として特定する。図２の例においては、探索領域６６Ａ，６６Ｂに対して算出された類似度４６が最小値となるので、画像処理装置１００は、探索領域６６Ａ，６６Ｂの中心点である画素６６を注目点５２の対応点として特定する。
【００４５】
画像処理装置１００は、上述の処理を基準画像５０の各画素について繰り返し実行し、基準画像５０の各画素の対応点を特定する。画像処理装置１００は、特定した画像間の対応点間のずれ量（すなわち、視差）から被写体の各領域までの距離を示した距離画像を生成する。
【００４６】
以上のようにして、本実施の形態に従う画像処理装置１００は、輝度変化が少ない均一部分や繰り返し部分については、初期探索処理により対応点の探索精度を向上させることができる。また、画像処理装置１００は、近景と遠景の接する距離の大きく変化する部分については、本探索処理により対応点の探索精度を向上させることができる。画像処理装置１００は、初期探索処理と本探索処理との両方の利点を取り入れることにより、被写体距離を正確に特定することが可能になる。
【００４７】
また、一般的に、テンプレートサイズが大きくなると計算量が膨大になる。画像処理装置１００は、初期探索時においては、大きいサイズの基準領域をテンプレートとするが、本探索時よりも広い画素間隔で基準領域をずらしながらテンプレートマッチングを実行するので、初期探索時の計算量は、それほど増加しない。このように、基準領域のサイズに応じて画素間隔が決定されることで、画像処理装置１００は、初期探索処理を実行したとしても高速に処理することができる。
【００４８】
［機能構成］
図３を参照して、第１の実施の形態に従う画像処理装置１００の機能構成について説明する。図３は、画像処理装置１００の機能構成の一例を示すブロック図である。画像処理装置１００は、後述する画像処理部２００を含む。画像処理部２００は、第１算出部２１０と、第２算出部２２０と、特定部２３０とを含む。特定部２３０は、合成部２３２と、生成部２３４とを有する。
【００４９】
第１算出部２１０は、上述の初期探索処理を実行する。すなわち、第１算出部２１０は、所定のサイズを有する基準領域５２Ａ（図３参照）を基準画像５０に設定し、基準領域５２Ａと同サイズの複数の探索領域を探索画像６０に設定する。第１算出部２１０は、設定した基準領域５２Ａと複数の探索領域の各々との間の画像情報の類似度を初期探索プロファイル３０Ａ（図３参照）として算出する。第１算出部２１０は、基準領域５２Ａを所定の画素間隔でずらして初期探索プロファイル３０Ａを繰り返して算出する。
【００５０】
第２算出部２２０は、上述の本探索処理を実行する。すなわち、第２算出部２２０は、基準領域５２Ａよりもサイズが小さい基準領域５２Ｂ（図３参照）を基準画像５０に設定し、基準領域５２Ｂと同サイズの複数の探索領域を探索画像６０に設定する。第２算出部２２０は、設定した基準領域５２Ｂと探索領域６２Ｂ，６４Ｂ，６６Ｂとの間の画像情報の類似度を本探索プロファイル３０Ｂ（図３参照）として算出する。第２算出部２２０は、初期探索処理よりも短い画素間隔で基準領域５２Ｂをずらして第２類似度群を繰り返して算出する。
【００５１】
合成部２３２は、基準画像５０内の注目点５２（図３参照）を含む基準領域５２Ａについて算出された初期探索プロファイル３０Ａと、当該注目点５２を含む基準領域５２Ｂについて算出された本探索プロファイル３０Ｂとを合成して、合成プロファイル４０（図３参照）を生成する。たとえば、合成部２３２は、合成対象の初期探索プロファイル３０Ａに含まれる類似度のそれぞれと、合成対象の本探索プロファイル３０Ｂに含まれる類似度のそれぞれとを加算または積算して合成プロファイル４０を算出する。
【００５２】
生成部２３４は、合成プロファイル４０に基づいて、注目点５２の対応点を探索画像６０から決定し、距離画像を生成する。より具体的には、生成部２３４は、合成プロファイル４０において類似度が最大になる探索領域の中心点を注目点５２の対応点として決定するとともに、対応点間のずれ量から被写体距離を算出し（前述の式（１）参照）、基準画像５０の各画素についての被写体距離を含んだ距離画像を生成する。
【００５３】
［初期探索処理および本探索処理の共通処理］
図４〜図７を参照して、初期探索処理および本探索処理における共通処理について説明する。図４は、初期探索処理および本探索処理を概略的に示した概念図である。
【００５４】
画像処理装置１００は、アレイカメラとして構成される。すなわち、画像処理装置１００は、少なくとも２つのカメラによって構成される。これらのカメラは、一体的に構成されてもよいし、別々に構成されてもよい。一例として、画像処理装置１００は、図４に示されるように、９つのモノクロのカメラ１〜９によって構成される。
【００５５】
画像処理装置１００は、カメラ１〜９のそれぞれから得られた画像のうち、１枚の画像を基準画像として決定する。好ましくは、画像処理装置１００は、より中心に設けられているカメラから得られた画像を基準画像として採用する。これにより、画像処理装置１００は、基準のレンズに対して様々な方向に設けられているカメラからの画像を用いて対応点探索を行なうことができ、対応点の探索精度を向上させることができる。
【００５６】
図４の例においては、画像処理装置１００は、カメラ５から得られた画像を基準画像（すなわち、基準画像５０）とする。また、画像処理装置１００は、他のカメラ１〜４，６〜９から得られた画像を探索画像とする。画像処理装置１００は、基準画像５０の各画素の対応点を各探索画像から探索する。以下では、画像処理装置１００が、基準画像５０の画素５３の対応点を、カメラ３から得られた探索画像３０から探索する例について説明する。
【００５７】
対応点の探索範囲は、カメラの相対的な位置関係から限定され得る。すなわち、探索点は、所謂、エピポールライン上に存在するので、対応点の探索範囲は、エピポールライン上に限定される。好ましくは、対応点の探索範囲は、被写体が無限遠にある場合の画素５３に対応する画素３１から、被写体が所定距離（＝Ｚｍ）にある場合の画素５３に対応する画素３３までの間（すなわち、エピポールライン３５上）にさらに限定される。これにより、特定部２３０は、対応点探索にかかる時間を短縮することができる。なお、対応点の探索範囲は、探索画像内のエピポールライン上の全領域であってもよい。
【００５８】
画像処理装置１００は、画素５３から所定範囲の画像情報をテンプレートとして、当該テンプレートに類似する画像情報を有する画素を探索画像３０内のエピポールライン３５上で探索する。このとき、画像処理装置１００は、初期探索時には、より大きいサイズ（たとえば、１０１×１０１画素）のテンプレートを設定し、本探索時には、より小さいサイズ（たとえば、３×３画素）のテンプレートを設定する。対応点の探索方法は、たとえば、画像間の類似度を算出するＳＡＤによって行なう。ＳＡＤ値は、以下の式（２）により算出される。ＳＡＤ値は、式（２）から、類似度が高いほど小さくなる。
【００５９】
【数２】
2016062447.tif 000004
【００６０】
ここで、前述の式（１）を変形すると下記の式（３）となる。
【００６１】
【数３】
2016062447.tif 000005
【００６２】
式（３）により、被写体距離Ｚの逆数（＝１／Ｚ）は、視差ｄ（対応点探索時の画素ずらし量）に比例する。すなわち、視差ｄは、被写体距離Ｚに対応した値である。このため、画素５３から視差ｄの位置を中心とした画像３０内の領域のＳＡＤ値は、横軸を被写体距離の逆数（＝１／Ｚ）で正規化することができる。このことに着目して、画像処理装置１００は、画素５３の対応点を探索画像３０内のエピポールライン３５上で探索して、被写体距離の逆数（＝１／Ｚ）の位置におけるＳＡＤ値を算出する。
【００６３】
グラフ１１１は、画素５３に対する、カメラ１によって生成された探索画像において、画素５３に対するエピポールラインを探索した結果である。グラフ１１３は、カメラ２によって生成された探索画像において、画素５３に対するエピポールラインを探索した結果である。同様に、画像処理装置１００は、他のカメラによって生成された探索画像のそれぞれについてエピポールライン上を探索した結果を生成する。
【００６４】
各探索画像のエピポールライン上の探索結果（すなわち、ＳＡＤ値）は、被写体距離の逆数で正規化されているため、足し合わせられ得る。特定部２３０は、各探索結果を加算または積算する。図４のグラフ１２０は、その結果である。グラフ１２０は、初期探索においては、初期探索プロファイル３０Ａ（図２参照）として示され、本探索においては、本探索プロファイル３０Ｂ（図２参照）として示される。
【００６５】
［初期探索処理の詳細］
（初期探索処理に用いるテンプレート）
図５を参照して、画像処理装置１００が初期探索時に用いるテンプレートについて説明する。図５は、初期探索処理に用いるテンプレートの概要を示した図である。
【００６６】
画像処理装置１００は、上述したように、基準画像５０（図２参照）に対して基準領域５２Ａを設定し、基準領域５２Ａ内の画像情報をテンプレートとして初期探索を行なう。このとき、画像処理装置１００は、基準領域５２Ａに含まれる全ての画像情報（たとえば、画素値）を用いてテンプレートマッチングを行なってもよいし、一部の画像情報を用いてテンプレートマッチングを行なってもよい。
【００６７】
図５に示されるように、基準領域５２Ａのサイズが１０１×１０１画素である場合には、画像処理装置１００が基準領域５２Ａの全ての画像情報を用いて初期探索を行なうと、画像処理装置１００は、１０１×１０１画素＝１０２０１画素分の計算を行なわなければならず、計算量が多くなる（前述の式（２））。そのため、処理速度が重視される場合には、画像処理装置１００は、基準領域５２Ａの一部の画像情報を用いる方が好ましい。この場合、画像処理装置１００は、図５に示されるように、基準領域５２Ａにおいて所定の画素間隔で画素値を抽出して、抽出した画像情報をテンプレートとする。画像処理装置１００が、縦横５画素ごとに画素値を抽出した場合には、画像処理装置１００は、２１×２１画素＝４４１画素分の計算量でＳＡＤ値を算出できる。これにより、画像処理装置１００は、計算量を削減することができる。
【００６８】
（初期探索プロファイルの算出方法）
図６を参照して、初期探索プロファイルの算出方法の詳細について説明する。図６は、初期探索プロファイルの算出方法を概略的に示した概念図である。図６には、カメラ５（図４参照）によって生成された基準画像５０と、基準画像５０の一部分を拡大した部分画像５５とが示されている。
【００６９】
上述したように、画像処理装置１００は、基準領域５２Ａを所定の画素間隔５１Ａでずらして繰り返して初期探索プロファイルを算出する（図２参照）。画素間隔５１Ａは、基準領域のサイズに応じて設定される。一例として、基準領域のサイズが大きいほど、画素間隔５１Ａは長くなり、基準領域のサイズが小さいほど、画素間隔５１Ａは短くなる。画像処理装置１００は、本探索時の画素間隔よりも長い画素間隔で基準領域をずらしながら初期探索を行なうので、計算量を削減することができ、処理速度が改善される。
【００７０】
たとえば、図６に示されるように、基準領域のサイズが１０１×１０１画素である場合には、画素間隔５１Ａは、基準領域の縦または横の長さと同じ１０１画素に設定される。図６には、１０１画素間隔で設定された基準領域５２Ｃ〜５２Ｅが示されている。また、図６には、カメラ５によって生成された基準画像５０内の基準領域５２Ａと、カメラ５の周辺のカメラ１〜４，６〜８（図４参照）によって生成された８枚の探索画像とのテンプレートマッチングの結果３９Ａ（すなわち、ＳＡＤ値）が示されている。画像処理装置１００は、これらのテンプレートマッチングの結果を加算または積算することにより、初期探索プロファイル３０Ａを生成する。
【００７１】
このとき、画像処理装置１００は、類似度が極端に低い（すなわち、ＳＡＤ値が極端に高い）特定の結果に影響されて対応点を誤って検出することを防止するために、好ましくは、テンプレートマッチングの結果を補正した上で、初期探索プロファイル３０Ａを生成する。より具体的には、画像処理装置１００は、所定の閾値よりも低い類似度（すなわち、所定の閾値よりも高いＳＡＤ値）については当該閾値に補正する。閾値は、たとえば、基準領域内において初期探索に用いた画素数に所定値（たとえば、１０）を積算して算出される。一例として、図５に示される基準領域５２Ａにおいては初期探索に用いる画素数が、２１×２１画素＝４４１画素であるので、閾値は、４４１画素に所定値「１０」を積算した「４４１０」となる。
【００７２】
図６に示される例では、画像処理装置１００は、テンプレートマッチングの結果３９Ａに示される類似度のうち、閾値「４４１０」を超えたものについては、閾値「４４１０」に補正する。画像処理装置１００は、このように補正処理を実行した上で、８枚の探索画像とのテンプレートマッチングの結果を加算または積算し、探索画像の数で除算することにより初期探索プロファイル３０Ａを算出する。
【００７３】
（初期探索時における補間処理）
図７を参照して、初期探索プロファイルの補間処理について説明する。図７は、基準画像５０の一部分を示す部分画像５６を示した図である。部分画像５６には、初期探索時に画像処理装置１００によって設定された基準領域５２Ａ，５２Ｇ〜５２Ｉが示されている。画素５３Ａは、基準領域５２Ａを設定するための基準点であり、典型的には、基準領域５２Ａの中心点である。画素５３Ｇは、基準領域５２Ｇを設定するための基準点であり、典型的には、基準領域５２Ｇの中心点である。画素５３Ｈは、基準領域５２Ｈを設定するための基準点であり、典型的には、基準領域５２Ｈの中心点である。画素５３Ｉは、基準領域５２Ｉを設定するための基準点であり、典型的には、基準領域５２Ｉの中心点である。
【００７４】
上述したように、画像処理装置１００は、設定した基準領域５２Ａを所定の画素間隔でずらして繰り返して初期探索を実行する。図７の例においては、画像処理装置１００は、基準領域５２Ａ，５２Ｇ〜５２Ｉのそれぞれについて初期探索を実行する。画像処理装置１００は、所定の画素間隔で初期探索を実行するので、設定した基準領域の間の領域に対しては初期探索が実行されず、この領域については初期探索プロファイルが算出されない。そのため、画像処理装置１００は、初期探索プロファイルを算出していない注目点に対する初期探索プロファイルを、注目点の周辺の基準領域に対して算出された初期探索プロファイルを用いて補間する。注目点に対する初期探索プロファイルの補間方法としては、様々な方法が考えられる。以下では、図７を参照して、注目点５２に対する初期探索プロファイルの補間方法について説明する。
【００７５】
画像処理装置１００は、注目点５２に対する初期探索プロファイルを、注目点５２の周辺の基準領域について算出された初期探索プロファイルのそれぞれを用いて補間する。たとえば、画像処理装置１００は、注目点５２の近傍の４つの基準領域５２Ａ，５２Ｇ〜５２Ｉについて算出された初期探索プロファイルを用いる。一例として、画像処理装置１００は、注目点５２の周辺領域である基準領域５２Ａ，５２Ｇ〜５２Ｉの初期探索プロファイルの平均を注目点５２についての初期探索プロファイルとして算出する。
【００７６】
他の方法として、画像処理装置１００は、注目点５２の周辺の基準領域５２Ａ，５２Ｇ〜５２Ｉについて算出された初期探索プロファイルのそれぞれを、注目点５２から基準領域５２Ａ，５２Ｇ〜５２Ｉのそれぞれまでの距離に応じた重みで合成することにより注目点５２に対する初期探索プロファイルを算出する。より具体的な処理として、画像処理装置１００は、注目点５２から、基準領域５２Ａ，５２Ｇ〜５２Ｉの中心点である画素５３Ａ，５３Ｇ〜５３Ｉのそれぞれまでの距離（画素距離）を算出する。このとき、画像処理装置１００は、算出した距離が短いほど大きな重みを付す。画像処理装置１００は、基準領域の初期探索プロファイルのそれぞれに重みを積算した上で、初期探索プロファイルのそれぞれを加算する。これにより、画像処理装置１００は、注目点５２に対する初期探索プロファイルを、より正確に補間することができる。その結果、画像処理装置１００は、対応点の探索精度をより向上させることができる。
【００７７】
さらに他の方法として、画像処理装置１００は、注目点５２を含む基準領域５２Ａに対して算出した初期探索プロファイルを、注目点５２に対する初期探索プロファイルとしてそのまま流用してもよい。
【００７８】
［本探索処理の詳細］
図８を参照して、本探索プロファイルの算出方法の詳細について説明する。図８は、本探索プロファイルの算出方法を概略的に示した概念図である。図８には、カメラ５（図４参照）によって生成された基準画像５０の一部分を拡大した部分画像５５が示されている。
【００７９】
上述したように、画像処理装置１００は、初期探索時よりも短い画素間隔で基準領域５２Ｂをずらして繰り返して本探索プロファイルを算出する（図２参照）。典型的には、画像処理装置１００は、対応点を探索する対象となる画素に応じて、基準領域５２Ｂをずらす画素間隔を決定する。たとえば、基準画像５０の全画素が探索対象である場合には、画像処理装置１００は、基準領域５２Ｂを１画素ずつずらしながら本探索処理を行なう。基準画像５０の１画素間隔の画素が探索対象である場合には、画像処理装置１００は、基準領域５２Ｂを２画素ずつずらしながら本探索処理を行なう。
【００８０】
図８には、３×３画素の基準領域５２Ｂが部分画像５５に設定されている例が示されている。また、図８には、カメラ５によって生成された基準画像５０内の基準領域５２Ｂと、カメラ５の周辺のカメラ１〜４，６〜８（図４参照）によって生成された８枚の探索画像とのテンプレートマッチングの結果３９Ｂ（すなわち、ＳＡＤ値）が示されている。画像処理装置１００は、これらのテンプレートマッチングの結果を加算または積算することにより、本探索プロファイル３０Ｂを生成する。
【００８１】
このとき、画像処理装置１００は、類似度が極端に低い（すなわち、ＳＡＤ値が極端に高い）特定の結果に影響されて対応点を誤って検出することを防止するために、好ましくは、テンプレートマッチングの結果を補正した上で、本探索プロファイル３０Ｂを生成する。すなわち、画像処理装置１００は、所定の閾値よりも低い類似度（すなわち、所定の閾値よりも高いＳＡＤ値）については当該閾値に補正する。閾値は、たとえば、基準領域５２Ｂ内において本探索に用いた画素数に所定値（たとえば、１０）を積算して算出される。図８に示される例においては、本探索処理に用いる基準領域５２Ａの画素数が、３×３画素＝９画素であるので、９画素に所定値「１０」を積算した「９０」が閾値となる。
【００８２】
画像処理装置１００は、テンプレートマッチングの結果３９Ｂに示される類似度のうち、閾値「９０」を超えたものについては、閾値「９０」に補正する。画像処理装置１００は、このように補正処理を実行した上で、８枚の探索画像とのテンプレートマッチングの結果を加算または積算し、探索画像の数で除算することにより本探索プロファイル３０Ｂを算出する。図８には、テンプレートマッチングの結果を加算した場合の例が示されている。本探索処理における補正処理のさらに詳細については後述する。
【００８３】
［被写体距離の特定（対応点の特定）］
図９を参照して、初期探索プロファイルおよび本探索プロファイルを合成する方法と、合成プロファイルから被写体距離を特定する方法（対応点を特定する方法）とについて説明する。なお、式（１）からも分かるように、被写体距離を特定することは、基準画像と探索画像との間の対応点を特定することと同意である。このため、以下では、被写体距離を特定する方法について説明し、対応点を特定する方法については説明を繰り返さない。
【００８４】
図９は、初期探索プロファイル３０Ａと、本探索プロファイル３０Ｂと、合成プロファイル４０との対応関係を示した図である。初期探索プロファイル３０Ａは、図６に示される注目点５２を含む基準領域５２Ａについての初期探索結果である。本探索プロファイル３０Ｂは、図８に示される注目点５２を含む基準領域５２Ｂについての本探索結果である。合成プロファイル４０は、初期探索プロファイル３０Ａと本探索プロファイル３０Ｂとを合成（たとえば、加算または積算）した結果である。初期探索プロファイル３０Ａと本探索プロファイル３０Ｂとの合成比は、任意である。たとえば、初期探索プロファイル３０Ａと本探索プロファイル３０Ｂとは、２：１で合成されもよいし、１：１で合成されてもよい。図８に示される合成プロファイル４０は、初期探索プロファイル３０Ａと本探索プロファイル３０Ｂとを２：１で加算した結果である。
【００８５】
初期探索プロファイル３０Ａと本探索プロファイル３０Ｂとのより具体的な合成方法について説明する。図９に示されるように、初期探索プロファイル３０Ａは、基準領域に対する探索領域のずれ量（すなわち、被写体距離１／Ｚ）と、基準領域および探索領域の間の画像情報の類似度との対応関係を示す。同様に、本探索プロファイル３０Ｂは、基準領域に対する探索領域のずれ量（すなわち、被写体距離１／Ｚ）と、基準領域および探索領域の間の画像情報の類似度との対応関係を示す。画像処理装置１００は、初期探索プロファイル３０Ａに含まれる類似度のそれぞれと、本探索プロファイル３０Ｂに含まれる類似度のそれぞれとのうち、同一のずれ量について対応付けられている類似度同士を合成する。
【００８６】
画像処理装置１００は、生成した合成プロファイル４０に基づいて、注目点５２に対する被写体距離を特定する。より具体的には、画像処理装置１００は、図９に示されるように、合成プロファイル４０において類似度が最大（すなわち、ＳＡＤ値が最小）になる被写体距離ＺＡを注目点５２における被写体距離として特定する。
【００８７】
なお、図６および図８に示されるように、注目点５２の周辺は、輝度変化が少ない均一色の領域である。そのため、画像処理装置１００は、基準領域のサイズを小さく設定する本探索処理においては、輝度変化が少ない同じような領域を対応点の候補として検出してしまい、本探索プロファイル３０Ｂでは類似度（ＳＡＤ値）に差がほとんど出ていない。
【００８８】
しかしながら、基準領域のサイズを大きく設定した探索結果である初期探索プロファイル３０Ａにおいては、注目点５２の周辺の輝度変化がある部分まで含んで、対応点の探索を行なうため、類似度（ＳＡＤ値）に差が出ている。これにより、画像処理装置１００は、初期探索においては対応点の候補を一つに絞ることができる。このように、本探索処理が苦手とする輝度変化が少ない部分についての探索精度は、初期探索処理により補うことができる。なお、図９の例とは異なるが、初期探索処理が苦手とする距離変化があり隠れの発生するオクルージョン領域についての探索精度は、本探索処理により補うことができる。
【００８９】
［本探索時における類似度の補正処理の詳細］
（本探索時における補正処理の利点）
図１０〜図１２を参照して、本探索時における類似度の補正処理の利点について説明する。図１０は、補正処理を実行しない場合の本探索処理の結果を示した図である。図１０には、カメラ５（図４参照）によって生成された基準画像５０の部分画像５５が示されている。また、図１０には、部分画像５５に設定された基準領域５２Ｊを基準として、カメラ１〜４，６〜９（図４参照）によって生成された８枚の探索画像のそれぞれを本探索した結果３９Ｃが示されている。さらに、図１０には、結果３９Ｃを合成した本探索プロファイル３０Ｃが示されている。
【００９０】
画像処理装置１００は、同じ被写体を異なる視点から撮像するため、手前にある物体が背後にある物体を隠してしまい、その隠れた部分については一部のカメラの視野に含まれないことがある（所謂、オクルージョン）。図１０においては、ホワイトボードとカーテンとの境目付近がオクルージョン部となる。画像処理装置１００が、このオクルージョン部に設定した基準領域５２Ｊと８枚の探索画像との本探索処理を実行したとする。
【００９１】
オクルージョン部に設定された基準領域５２Ｊの画像情報は、他のカメラから得られた探索画像の一部には含まれていない可能性がある。そのため、オクルージョン部における本探索の結果は、類似度が低くなることが多い。このことに起因して、図１０に示される本探索プロファイル３０Ｃにおいては、正解部分と他の部分とで類似度（すなわち、ＳＡＤ値）に差が出ていない。
【００９２】
図１１を参照して、類似度に差が出ていない理由についてさらに詳細に説明する。図１１は、オクルージョン部における本探索処理の結果の一部を示した図である。
【００９３】
図１１には、カメラ５によって生成された基準画像５０の一部分を示す部分画像５５と、カメラ３によって生成された探索画像の一部分を示す部分画像５７と、カメラ１によって生成された探索画像の一部分を示す部分画像５８とが示されている。また、図１１には、部分画像５５の画素５３Ｊを基準として、部分画像５７のエピポールライン５７Ａを本探索した結果３９Ｄと、部分画像５８のエピポールライン５８Ａを本探索した結果３９Ｅとが示されている。
【００９４】
画素５３Ｊの周辺のオクルージョン部は、部分画像５７においては写っている。そのため、部分画像５７に対する探索結果である結果３９Ｄには、画素５３Ｊの実際の対応点である正解部分３８Ｄにおいて類似度が高く（すなわち、ＳＡＤ値が低く）なっている。一方で、画素５３Ｊの周辺のオクルージョン部は、部分画像５８においては隠れて写っていない。そのため、画素５３Ｊの実際の対応点である正解部分３８Ｅにおいて類似度が低く（すなわち、ＳＡＤ値が高く）なっている。
【００９５】
結果３９Ｄと結果３９Ｅとがそのまま加算されると、オクルージョン部についての類似度（ＳＡＤ値）が、非オクルージョン部の類似度を打ち消してしまう。画像処理装置１００は、このようなオクルージョン部についての探索結果に影響されることを防止するために、本探索時における探索結果を補正する。
【００９６】
図１２は、補正処理を実行した場合の本探索処理の結果を示した図である。上述したように、画像処理装置１００は、所定の閾値よりも低い類似度（すなわち、所定の閾値よりも高いＳＡＤ値）については当該閾値に補正する。閾値は、たとえば、基準領域５２Ｊ内において本探索に用いた画素数に所定値（たとえば、１０）を積算して算出される。図１２に示される例においては、本探索処理に用いる基準領域５２Ｊの画素数が、３×３画素＝９画素であるので、９画素に所定値「１０」を積算した「９０」が閾値となる。
【００９７】
画像処理装置１００は、テンプレートマッチングの結果３９Ｄに示される類似度のうち、閾値「９０」を超えたものについては、閾値「９０」に補正する。画像処理装置１００は、このように補正処理を実行した上で、８枚の探索画像とのテンプレートマッチングの結果を加算または積算し、探索画像の数で除算することにより図１２に示される本探索プロファイル３０Ｄを算出する。
【００９８】
補正処理が実行されて生成された本探索プロファイル３０Ｄ（図１２）と、補正処理が実行されずに生成された本探索プロファイル３０Ｃ（図１０）とを比較する。本探索プロファイル３０Ｃは、非オクルージョン部の探索結果がオクルージョン部の探索結果に影響され、画素５３Ｊの実際の対応点である正解部分において類似度がやや低く（すなわち、ＳＡＤ値がやや高く）なっている。その結果、本探索プロファイル３０Ｃの点線部分に示されるように、２か所が正解のように見え、誤った点を対応点として探索してしまう可能性がある。これに対して、本探索プロファイル３０Ｄは、非オクルージョン部の探索結果がオクルージョン部の探索結果に影響をそれほど与えないため、画素５３Ｊの実際の対応点である正解部分において類似度が高く（すなわち、ＳＡＤ値が低く）なっている。このように、画像処理装置１００は、補正処理を実行することで、誤った対応点を候補とする確率を下げることができる。
【００９９】
（本探索時における補正処理の変形例）
図１３〜図１７を参照して、本探索時における補正処理の変形例について説明する。上述の探索結果の補正処理においては、補正処理時の閾値が一定であった。これに対して、本変形例では、補正処理時の閾値は、基準領域の画像情報に応じて変わる。以下では、補正時における閾値の決定方法について説明する。
【０１００】
まず、図１３を参照して、小さいサイズの基準領域をエッジ部分に設定した場合に生じる問題点について説明する。図１３は、量子化のずれを概略的に示した概念図である。より具体的には、図１３には、カメラ５によって生成された基準画像の基準領域５２Ｋ付近を拡大した拡大画像７１と、カメラ１によって生成された探索画像の基準領域５２Ｋ付近を拡大した拡大画像７２とが示されている。また、図１３には、拡大画像７１と拡大画像７２とのＸ方向における輝度変化を示すグラフ７３が示されている。
【０１０１】
被写体の色変化は、実世界では連続している。これに対して、カメラは、受光素子が受けた光を量子化することによって、被写体を画素値で離散的に表現する。このことに起因して、被写体の同じ個所であっても画像間で画素値に違いが生じることがある。この違いは、輝度変化が大きいエッジ部分について特に顕著に表れる。たとえば、図１３に示されるように、同じエッジ部分を示す拡大画像７１と拡大画像７２との間においても画素値に違いが表れている（グラフ７３参照）。このような量子化位置のサブピクセルのずれが、対応点の探索処理の精度に影響を与えることがある。特に、量子化のずれの影響は、本探索時のような小さいサイズの基準領域をエッジ部分に設定して対応点探索を行なう場合に顕著に表れる。
【０１０２】
図１４を参照して、量子化のずれが探索結果に影響を与えている具体例について説明する。図１４は、エッジ部分に設定された基準領域に基づいた探索結果を示す図である。より具体的には、図１４には、カメラ５（図４参照）によって生成された基準画像５０の部分画像５５が示されている。また、図１４には、部分画像５５のエッジ部分に設定された基準領域５２Ｋを基準として、カメラ１〜４，６〜９（図４参照）によって生成された８枚の探索画像のそれぞれを本探索した結果３９Ｆが示されている。さらに、図１４には、結果３９Ｆを合成した本探索プロファイル３０Ｆが示されている。
【０１０３】
本探索プロファイル３０Ｆの正解部分３８Ｆでは、量子化のずれに起因して、実際の対応点位置の類似度が閾値を上回っている（すなわち、ＳＡＤ値が閾値を下回っている）。このように輝度変化が大きい部分についての類似度が閾値を超えることを防止するために、画像処理装置１００は、基準領域における輝度変化の度合いに応じて、本探索結果に適用する閾値を変える。
【０１０４】
この閾値の決定方法は、様々な方法が考えられる。以下では、図１５を参照して、閾値の決定方法の一例について説明する。図１５は、閾値の決定方法を概略的に示した概念図である。より具体的には、図１５には、部分画像５５から生成された輝度差画像５５Ａが示されている。また、図１５には、輝度差と閾値との対応関係７４が示されている。
【０１０５】
画像内の輝度変化の度合いは、たとえば、基準領域における画素値の最大値と最小値との差によって示される。すなわち、画像処理装置１００は、基準画像の輝度変化を特定するために、設定した基準領域ごとに画素値の最大値と最小値との差を算出し、輝度差画像５５Ａを生成する。これにより、輝度差画像５５Ａにおいて、部分画像５５のエッジ部分が強調される。画像処理装置１００は、算出した輝度変化の度合いに応じて補正処理に適用する閾値を決定する。典型的には、画像処理装置１００は、輝度変化の度合いと閾値との対応関係７４に基づいて補正処理に適用する閾値を決定する。すなわち、画像処理装置１００は、設定した基準領域ごとに補正処理において適用する閾値を変える。このとき、画像処理装置１００は、輝度差が大きい部分ほど閾値を高く設定する。
【０１０６】
なお、画像内の輝度変化の度合いは、基準領域に微分フィルタを重畳した結果によって示されてもよい。すなわち、画像処理装置１００は、基準画像の輝度変化を特定するために、設定した基準領域ごとに微分フィルタを重畳して輝度差画像を生成する。微分フィルタは、たとえば、１次微分フィルタ、二次微分フィルタ、ソーベルフィルタ、プリューウィットフィルタ、ラプラシアンフィルタ、または、その他の画素値の勾配を算出することが可能なフィルタを含む。微分フィルタのサイズは、任意である。たとえば、微分フィルタのサイズは、３×３画素であってもよいし、その他のサイズであってもよい。
【０１０７】
図１４および図１６を参照して、閾値を一定にした場合における本探索結果（図１４参照）と、設定した基準領域ごとに補正処理の閾値を変動させた場合における本探索結果（図１６参照）とを比較する。図１６は、基準領域の輝度変化に応じて補正処理の閾値を変動させた場合の本探索処理の結果を示した図である。
【０１０８】
図１４に示されるように、閾値が一定である場合においては、正解部分３８Ｆであっても補正処理が実行される。これに対して、図１６に示されるように、画像処理装置１００は、輝度変化の度合いと閾値との対応関係７４に基づいて、基準領域５２Ｋ（図１５参照）に閾値「４５０」を適用したとする。その結果、画像処理装置１００は、正解部分３８Ｆにおいては補正処理を実行せずに済み、他の部分については補正処理を実行することができる。これに伴い、本探索プロファイル３０Ｇ（図１６参照）の正解部分３８Ｆにおける探索結果が、本探索プロファイル３０Ｆ（図１４参照）の正解部分３８Ｆにおける探索結果よりも改善される。さらには、図１７に示されるように、本探索プロファイル３０Ｇを構成要素とする合成プロファイル４０Ａの結果も改善され、輝度変化が大きいエッジ部分についての対応点の探索精度が改善される。
【０１０９】
なお、輝度変化に応じて閾値を決定する処理は、基準領域を小さく設定する本探索処理において特に有効であるが、初期探索処理に適用してもよい。すなわち、閾値の決定処理は、初期探索処理および本探索処理の少なくとも一方に適用され得る。
【０１１０】
［フローチャート］
図１８〜図２０を参照して、画像処理装置１００の処理手順について説明する。図１８は、画像処理装置１００の処理の概要を示すフローチャートである。図１９は、画像処理装置１００の初期探索処理を示すフローチャートである。図２０は、画像処理装置１００の本探索処理を示すフローチャートである。図１８〜図２０の処理は、後述するＣＰＵ１０２がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、後述の画像処理回路１０６、回路素子、その他のハードウェアによって実行されてもよい。
【０１１１】
図１８を参照して、ステップＳ１００において、ＣＰＵ１０２は、第１算出部２１０（図３参照）として、初期探索処理を実行する。ステップＳ１００の初期探索処理におけるフローチャートについては図１９を参照して説明する。
【０１１２】
ステップＳ１１０において、ＣＰＵ１０２は、本探索時よりも大きいサイズ（たとえば、１０１×１０１画素）の基準領域を基準画像に設定する。典型的には、ＣＰＵ１０２は、本探索処理の開始時においては、基準画像の左上（すなわち、座標（０、０））に基準領域の左上が重なるように基準領域を設定する。
【０１１３】
ステップＳ１１２において、ＣＰＵ１０２は、設定した基準領域と同サイズの探索領域を探索画像のそれぞれに設定する。好ましくは、ＣＰＵ１０２は、ステップＳ１１０において設定した基準領域に対応するエピポールライン上のそれぞれに探索領域を設定する。このとき、ＣＰＵ１０２は、エピポールラインの一端である始端に探索領域を設定する。また、ＣＰＵ１０２は、エピポールラインの他端を終端とする。
【０１１４】
ステップＳ１１４において、ＣＰＵ１０２は、設定した基準領域をテンプレートとして、探索領域に対してテンプレートマッチングを行なう。これにより、ＣＰＵ１０２は、基準領域に対する探索領域の類似度を各探索画像について算出する。
【０１１５】
ステップＳ１１６において、ＣＰＵ１０２は、探索領域がエピポールラインの終端に位置するか否かを判断する。ＣＰＵ１０２は、探索領域がエピポールラインの終端に位置すると判断した場合（ステップＳ１１６においてＹＥＳ）、制御をステップＳ１２０に切り替える。そうでない場合には（ステップＳ１１６においてＮＯ）、ＣＰＵ１０２は、制御をステップＳ１１８に切り替える。
【０１１６】
ステップＳ１１８において、ＣＰＵ１０２は、エピポールラインの終端に向かって探索領域をずらす。ステップＳ１１８の処理が繰り返されることにより、探索領域がエピポールライン上の始端から終端まで繰り返してずらされ、ステップＳ１１４におけるテンプレートマッチング処理が繰り返される。これにより、１つの基準領域に対する各探索画像のエピポールライン上の探索結果がそれぞれ算出される。ＣＰＵ１０２は、各探索結果を合成（たとえば、加算または積算）することにより初期探索プロファイルを生成する。
【０１１７】
ステップＳ１２０において、ＣＰＵ１０２は、基準領域が基準画像の端（たとえば、右下）に位置するか否かを判断する。ＣＰＵ１０２は、基準領域が基準画像の端に位置すると判断した場合（ステップＳ１２０においてＹＥＳ）、初期探索処理を終了し、制御をステップＳ２００に切り替える。そうでない場合には（ステップＳ１２０においてＮＯ）、ＣＰＵ１０２は、制御をステップＳ１２２に切り替える。
【０１１８】
ステップＳ１２２において、ＣＰＵ１０２は、本探索時よりも長い画素間隔（たとえば、１０１画素間隔）で基準領域をずらす。ステップＳ１２２の処理が繰り返されることにより、ＣＰＵ１０２は、基準画像を走査する。より具体的には、ＣＰＵ１０２は、基準画像の左端から右端に基準領域を所定の画素間隔ずつずらす。基準領域が基準画像の右端に位置する場合には、ＣＰＵ１０２は、基準画像の左端に基準領域を移動させるとともに、所定の画素間隔下端に向けて基準領域をずらす。これにより、設定した基準領域のそれぞれについて初期探索プロファイルが生成される。
【０１１９】
再び図１８を参照して、ステップＳ２００において、ＣＰＵ１０２は、第２算出部２２０（図３参照）として、本探索処理を実行する。ステップＳ２００の本探索処理におけるフローチャートについては図２０を参照して説明する。
【０１２０】
ステップＳ２１０において、ＣＰＵ１０２は、初期探索時よりも小さいサイズ（たとえば、３×３画素）の基準領域を基準画像に設定する。典型的には、ＣＰＵ１０２は、初期探索処理の開始時においては、基準画像の左上（すなわち、座標（０、０））に基準領域の左上が重なるように基準領域を設定する。
【０１２１】
ステップＳ２１２において、ＣＰＵ１０２は、設定した基準領域と同サイズの探索領域を探索画像のそれぞれに設定する。好ましくは、ＣＰＵ１０２は、基準領域に対応するエピポールライン上のそれぞれに探索領域を設定する。このとき、ＣＰＵ１０２は、エピポールラインの一端である始端に探索領域を設定する。また、ＣＰＵ１０２は、エピポールラインの他端を終端とする。
【０１２２】
ステップＳ２１４において、ＣＰＵ１０２は、設定した基準領域をテンプレートとして、探索領域に対してテンプレートマッチングを行なう。これにより、ＣＰＵ１０２は、基準領域に対する探索領域の類似度を各探索画像について算出する。
【０１２３】
ステップＳ２１６において、ＣＰＵ１０２は、探索領域がエピポールラインの終端に位置するか否かを判断する。ＣＰＵ１０２は、探索領域がエピポールラインの終端に位置すると判断した場合（ステップＳ２１６においてＹＥＳ）、制御をステップＳ２２０に切り替える。そうでない場合には（ステップＳ２１６においてＮＯ）、ＣＰＵ１０２は、制御をステップＳ２１８に切り替える。
【０１２４】
ステップＳ２１８において、ＣＰＵ１０２は、エピポールラインの終端に向かって探索領域をずらす。ステップＳ２１８の処理が繰り返されることにより、探索領域がエピポールライン上の始端から終端まで繰り返してずらされ、ステップＳ２１４におけるテンプレートマッチング処理が繰り返される。これにより、１つの基準領域に対する各探索画像のエピポールライン上の探索結果がそれぞれ算出される。ＣＰＵ１０２は、各探索結果を合成することにより１つの基準領域に対する本探索プロファイルを生成する。
【０１２５】
ステップＳ２２０において、ＣＰＵ１０２は、基準領域が基準画像の端（たとえば、右下）に位置するか否かを判断する。ＣＰＵ１０２は、基準領域が基準画像の端に位置すると判断した場合（ステップＳ２２０においてＹＥＳ）、本探索処理を終了し、制御をステップＳ３００に切り替える。そうでない場合には（ステップＳ２２０においてＮＯ）、ＣＰＵ１０２は、制御をステップＳ２２２に切り替える。
【０１２６】
ステップＳ２２２において、ＣＰＵ１０２は、初期探索時よりも短い画素間隔（たとえば、３画素間隔）で基準領域をずらす。この画素間隔は、ユーザが所望する距離画像の精度（粗さ）に応じて設定される。すなわち、距離画像の精度がそれほど重要ではない場合には、画素間隔が長く設定され、距離画像の精度が重要である場合には、画素間隔が短く設定される。ステップＳ２２２の処理が繰り返されることにより、ＣＰＵ１０２は、基準画像を走査する。より具体的には、ＣＰＵ１０２は、基準画像の左端から右端に基準領域を所定の画素間隔ずつずらす。基準領域が基準画像の右端に位置する場合には、ＣＰＵ１０２は、基準画像の左端に基準領域を移動させるとともに、所定の画素間隔下端に向けて基準領域をずらす。これにより、設定した基準領域のそれぞれについて本探索プロファイルが生成される。
【０１２７】
再び図１８を参照して、ステップＳ３００において、ＣＰＵ１０２は、特定部２３０（図３参照）として、基準画像内の注目点を含む基準領域について算出した初期探索プロファイルと、同じ注目点を含む基準領域について算出した本探索プロファイルとを合成した合成プロファイルを基準画像の画素ごとに生成する。ＣＰＵ１０２は、合成プロファイルの各々について、類似度が最も高い点を特定し、特定した点を注目点の対応点として特定する。これにより、ＣＰＵ１０２は、基準画像内の各画素の対応点を特定し、距離画像を生成する。
【０１２８】
［小括］
図２１を参照して、本実施の形態に従う対応点探索処理によって最終的に出力される距離画像について説明する。図２１は、画像処理装置１００によって生成された距離画像を示す図である。より具体的には、図２１には、距離画像５９Ａと距離画像５９Ｂとが示されている。距離画像５９Ａは、部分画像５５に対して本探索処理のみを実行して生成されたものである。距離画像５９Ｂは、部分画像５５に対して初期探索処理と本探索処理との両方を実行して生成されたものである。距離画像５９Ａ，５９Ｂにおいては、被写体距離が近い部分ほど白色（灰色）で示され、被写体距離が遠い部分ほど黒色で示されている。
【０１２９】
距離画像５９Ａにおいては、均一色部分や繰り返し部分で被写体距離がばらついているが、距離画像５９Ｂにおいては、均一色部分や繰り返し部分で被写体距離のばらつきが抑制されている。また、距離画像５９Ａにおいては、オクルージョン部において領域間違いである太りが生じているが、距離画像５９Ｂにおいては、このような太りが抑制されている。このように、画像処理装置１００は、初期探索処理を追加することで、オクルージョン部での太りを抑えつつ、均一色や繰り返し部における対応点の探索精度を向上することができる。また、初期探索処理は、所定の画素間隔でずらしながら実行されるので、計算量がそれほど増加しない。そのため、画像処理装置１００は、初期探索処理を追加したとしても高速に処理することができる。
【０１３０】
＜第２の実施の形態＞
図２２を参照して、第２の実施の形態に従う画像処理装置１００について説明する。図２２は、基準画像５０の一部分を示す部分画像５５に３種類のサイズの基準領域が設定されている様子を示した図である。
【０１３１】
第１の実施の形態に従う画像処理装置１００は、初期探索処理と本探索処理との２段階で対応点の探索処理を実行していた。これに対して、第２の実施の形態に従う画像処理装置１００は、３段階以上で対応点の探索処理を実行する。
【０１３２】
より具体的な処理として、画像処理装置１００は、追加した探索処理時には、初期探索時および本探索時とは異なるサイズで基準領域を設定する。図２２に示される例においては、初期探索時において用いる基準領域５２Ａと、本探索時において用いる基準領域５２Ｂとの間のサイズを有する基準領域５２Ｌが部分画像５５に設定されている。
【０１３３】
画像処理装置１００は、基準領域５２Ｌと同サイズの探索領域を各探索画像に設定し、基準領域５２Ｌと探索領域との間の類似度を算出するとともに、基準領域５２Ｌを所定の画素間隔でずらして類似度を繰り返して算出する。好ましくは、基準領域５２Ｌをずらす画素間隔は、基準領域のサイズによって決定される。図２２の例においては、基準領域５２Ｌをずらす画素間隔は、初期探索時において基準領域ずらす画素間隔と、本探索時において基準領域ずらす画素間隔との間に設定される。
【０１３４】
画像処理装置１００は、基準画像内の注目点５２を含む基準領域５２Ａについて算出された類似度群（すなわち、初期探索プロファイル）と、同一の注目点５２を含む基準領域５２Ｂについて算出された類似度群（すなわち、本探索プロファイル）と、同一の注目点５２を含む基準領域５２Ｌとについて算出された類似度群とを合成した結果（すなわち、合成プロファイル）に基づいて、注目点５２の対応点を探索画像から特定する。なお、画像処理装置１００は、これらの類似度群を同じ比率で合成してもよいし、異なる比率で合成してもよい。
【０１３５】
以上のようにして、本実施の形態に従う画像処理装置１００は、３段階以上の探索処理により、対応点の探索精度をさらに向上することが可能になる。
【０１３６】
＜第３の実施の形態＞
第１の実施の形態に従う画像処理装置１００は、基準画像と探索画像との間の類似度をＳＡＤ値によって示していた。これに対して、第３の実施の形態に従う画像処理装置１００は、基準画像と探索画像との間の類似度を他の指標で示す。たとえば、類似度は、ＳＳＤ（Sum  of  Squared  Difference）値、ＮＣＣ（Normalized  Cross-Correlation）値、ＺＮＣＣ（Zero-mean  Normalized  Cross-Correlation）値、および、その他の画像情報の類似性を示す指標のいずれかによって示されてもよい。
【０１３７】
ＳＳＤ値は、以下の式（４）によって算出される。ＮＣＣ値は、以下の式（５）によって算出される。ＺＮＣＣ値は、以下の式（６）によって算出される。
【０１３８】
【数４】
2016062447.tif 000006
【０１３９】
【数５】
2016062447.tif 000007
【０１４０】
【数６】
2016062447.tif 000008
【０１４１】
＜第４の実施の形態＞
第１の実施の形態に従う画像処理装置１００は、設けられている全てのカメラで生成された探索画像を用いて対応点探索処理を実行していた。これに対して、第４の実施の形態に従う画像処理装置１００は、少なくとも２つのカメラによって生成される探索画像を用いて対応点探索処理を実行する。以下では、図２３を参照して、第４の実施の形態に従う画像処理装置１００について説明する。図２３は、第４の実施の形態に従う画像処理装置１００によって生成された距離画像を示した図である。
【０１４２】
本実施の形態に従う画像処理装置１００は、少なくとも２つのカメラを有する。たとえば、画像処理装置１００は、２つのカメラ５，６を有する。画像処理装置１００は、カメラ５によって生成された基準画像と、カメラ６によって生成された探索画像との２枚の画像の間で対応点探索処理を実行する。
【０１４３】
図２３には、距離画像５９Ｃと距離画像５９Ｄとが示されている。距離画像５９Ｃは、部分画像５５に対して本探索処理のみを実行して生成されたものである。距離画像５９Ｄは、部分画像５５に対して初期探索処理と本探索処理との両方を実行して生成されたものである。距離画像５９Ｃ，５９Ｄにおいては、被写体距離が近い部分ほど白色（灰色）で示され、被写体距離が遠い部分ほど黒色で示されている。
【０１４４】
図２３に示されるように、画像処理装置１００が２つのカメラのみで構成されている場合であっても、初期探索処理と本探索処理との両方を実行した方が距離画像の品質が改善されている。すなわち、距離画像５９Ｃにおいては、均一色部分や繰り返し部分で被写体距離がばらついているが、距離画像５９Ｄにおいては、均一色部分や繰り返し部分で被写体距離のばらつきが抑制されている。また、距離画像５９Ｃにおいては、オクルージョン部において太りが生じているが、距離画像５９Ｄにおいては、このような太りが抑制されている。
【０１４５】
このように、画像処理装置１００が、２つのカメラのみで構成されていたとしても、初期探索処理を追加することで、オクルージョン部での太りなどの間違いを抑えつつ、均一色や繰り返し部における対応点の探索精度を向上することができる。
【０１４６】
なお、画像処理装置１００は、カメラ５，６にカメラ４をさらに追加して３つのカメラで構成されてもよい。たとえば、画像処理装置１００は、カメラ５によって生成される画像を基準画像とし、カメラ４によって生成される画像を探索画像とし、カメラ６によって生成される画像を二次探索画像とする。
【０１４７】
画像処理装置１００は、基準領域と同サイズの複数の探索領域を探索画像に設定し、基準領域と複数の探索領域との間の画像情報の類似度を算出する。また、画像処理装置１００は、基準領域と同サイズの複数の探索領域を二次探索画像に設定し、基準領域と複数の探索領域との間の画像情報の類似度を算出する。画像処理装置１００は、探索画像について算出された類似度のそれぞれと、二次探索画像について算出された類似度のそれぞれとを加算または積算して初期探索プロファイルまたは本探索プロファイルを生成する。
【０１４８】
＜第１〜第４の実施の形態に従う画像処理装置１００のハードウェア構成＞
図２４を参照して、第１〜第４の実施の形態に従う画像処理装置１００のハードウェア構成の一例について説明する。図２４は、画像処理装置１００の主要なハードウェア構成を示すブロック図である。
【０１４９】
画像処理装置１００は、撮像部２０と、出力部４５と、画像処理部２００とを含む。図２４に示す画像処理装置１００においては、撮像部２０が被写体を撮像することで画像を取得し、取得した画像に対して前述の画像処理を行なうことで、出力画像（たとえば、距離画像）を生成する。出力部４５は、出力画像を表示デバイスなどへ出力する。
【０１５０】
撮像部２０は、被写体を撮像して画像を生成する。撮像部２０は、カメラ２２、カメラ２２に接続されたＡ／Ｄ（Analog  to  Digital）変換部２９とを含む。
【０１５１】
カメラ２２は、被写体を撮像するための光学系であって、アレイカメラである。カメラ２２は、所定の波長帯域の光を透過するフィルタ２４と、格子状に配置された視点の異なるＮ個のレンズ２６と、レンズ２６により形成された光学像を電気信号に変換する撮像素子（イメージセンサ）２８とを含む。
【０１５２】
Ａ／Ｄ変換部２９は、撮像素子２８から出力される被写体を示す電気信号（アナログ電気信号）をデジタル信号に変換して出力する。撮像部２０はさらに、カメラ各部分を制御するための制御処理回路などを含み得る。
【０１５３】
画像処理部２００は、撮像部２０によって取得された画像に対して、前述の画像処理を実施することで出力画像を生成する。出力部４５は、画像処理部２００によって生成される出力画像を表示デバイスなどへ出力する。
【０１５４】
［画像処理装置１００の実装例１］
図２４に示す画像処理装置１００は、汎用的には、以下に説明するデジタルカメラ、ビデオカメラなどとして具現化される。そこで、以下では、前述の第１〜第４の形態に従う画像処理装置１００をデジタルカメラとして具現化した例について説明する。
【０１５５】
図２５は、図２４に示す画像処理装置１００を具現化したデジタルカメラ１００Ａの構成を示すブロック図である。図２５において、図２４に示す画像処理装置１００を構成するそれぞれのブロックに対応するコンポーネントには、図２４と同一の参照符号を付している。
【０１５６】
図２５を参照して、デジタルカメラ１００Ａは、ＣＰＵ（Central  Processing  Unit）１０２と、デジタル処理回路１０４と、画像表示部１０８と、カードインターフェイス（Ｉ／Ｆ）１１０と、記憶部１１２と、カメラ１１４とを含む。
【０１５７】
ＣＰＵ１０２は、予め格納されたプログラムなどを実行することで、デジタルカメラ１００Ａの全体を制御する。デジタル処理回路１０４は、前述の第１〜第４の実施の形態に従う画像処理を含む各種のデジタル処理を実行する。デジタル処理回路１０４は、典型的には、ＤＳＰ（Digital  Signal  Processor）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＬＳＩ（Large  Scale  Integration）、ＦＰＧＡ（Field-Programmable  Gate  Array）などによって構成される。このデジタル処理回路１０４は、図２４に示す画像処理部２００が提供する機能を実現するための画像処理回路１０６を含む。
【０１５８】
画像表示部１０８は、カメラ１１４により提供される入力画像、デジタル処理回路１０４（画像処理回路１０６）によって生成される出力画像、デジタルカメラ１００Ａに従う各種設定情報、および、制御用ＧＵＩ（Graphical  User  Interface）画面などを表示する。
【０１５９】
カードＩ／Ｆ１１０は、画像処理回路１０６によって生成された画像データを記憶部１１２へ書き込み、あるいは、記憶部１１２から画像データなどを読み出すためのインターフェイスである。記憶部１１２は、画像処理回路１０６によって生成された画像データや各種情報（デジタルカメラ１００Ａの制御パラメータなどの設定値）を格納する記憶デバイスである。記憶部１１２は、フラッシュメモリ、光学ディスク、磁気ディスクなどからなり、データを不揮発的に記憶する。
【０１６０】
図２５に示すデジタルカメラ１００Ａは、前述の第１〜第４の実施の形態に従う画像処理装置１００の全体を単体の装置として実装したものである。すなわち、ユーザは、デジタルカメラ１００Ａを用いて被写体を撮像することで、画像表示部１０８において高画質な画像を視認することができる。
【０１６１】
なお、上記では、画像処理装置１００をデジタルカメラ１００Ａとして具現化する例について説明を行なったが、画像処理装置１００は、図２４に示される構成と同様の構成でビデオカメラとして具現化されてもよい。
【０１６２】
［画像処理装置１００の実装例２］
図２６を参照して、前述の第１〜第４の実施の形態に従う画像処理装置１００を実現するための制御プログラム１５４を電子機器１００Ｂにダウンロードした例について説明する。図２６は、制御プログラム１５４をダウンロードした電子機器１００Ｂの構成を示すブロック図である。制御プログラム１５４は、たとえば、ＰＣ、携帯電話、スマートフォンなどにダウンロードされ得る。以下では、制御プログラム１５４をＰＣ１５２にダウンロードした例について説明する。
【０１６３】
図２６に示す電子機器１００Ｂでは、任意の撮像部２０によって取得された入力画像が外部から入力される構成となっている。このような構成であっても、本発明の実施の形態に従う画像処理装置１００に含まれ得る。なお、図２６においても、図２４に示す画像処理装置１００を構成するそれぞれのブロックに対応するコンポーネントには、図２４と同一の参照符号を付している。
【０１６４】
図２６を参照して、電子機器１００Ｂは、ＰＣ１５２と、モニタ１５６と、マウス１５８と、キーボード１６０と、外部記憶装置１６２とを含む。
【０１６５】
ＰＣ１５２は、典型的には、汎用的なアーキテクチャーに従う汎用コンピューターであり、基本的な構成要素として、ＣＰＵ、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）などを含む。ＰＣ１５２は、画像処理部２００が提供する機能を実現するための制御プログラム１５４をダウンロード可能に構成される。制御プログラム１５４は、ＣＤ−ＲＯＭ（Compact  Disk-Read  Only  Memory）などの記憶媒体に格納されて流通し、あるいは、ネットワークを介してサーバー装置からダウンロードされる。制御プログラム１５４は、ＰＣ１５２のハードディスクなどの記憶領域内に格納される。
【０１６６】
制御プログラム１５４は、ＰＣ１５２で実行されるオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち必要なモジュールを、所定のタイミングおよび順序で呼出して処理を実現するように構成されてもよい。この場合、制御プログラム１５４自体には、ＯＳが提供するモジュールは含まれず、ＯＳと協働して画像処理が実現される。また、制御プログラム１５４は、単体のプログラムではなく、何らかのプログラムの一部に組込まれて提供されてもよい。このような場合にも、制御プログラム１５４自体には、当該何らかのプログラムにおいて共通に利用されるようなモジュールは含まれず、当該何らかのプログラムと協働して画像処理が実現される。このような一部のモジュールを含まない制御プログラム１５４であっても、各実施の形態に従う画像処理装置１００の趣旨を逸脱するものではない。
【０１６７】
もちろん、制御プログラム１５４によって提供される機能の一部または全部を専用のハードウェアによって実現してもよい。
【０１６８】
モニタ１５６は、オペレーティングシステム（ＯＳ）が提供するＧＵＩ画面、制御プログラム１５４によって生成される画像などを表示する。
【０１６９】
マウス１５８およびキーボード１６０は、それぞれユーザ操作を受付け、その受付けたユーザ操作の内容をＰＣ１５２へ出力する。
【０１７０】
外部記憶装置１６２は、何らかの方法で取得された入力画像を格納しており、この入力画像をＰＣ１５２へ出力する。外部記憶装置１６２としては、フラッシュメモリ、光学ディスク、磁気ディスクなどのデータを不揮発的に記憶するデバイスが用いられる。
【０１７１】
以上のようにして、前述の第１〜第４の実施の形態に従う画像処理は、デジタルカメラ、ビデオカメラ、パソコン、スマートフォン、その他の家電など様々な電子機器に実装され得る。
【０１７２】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【０１７３】
１〜９，２２，１１４  カメラ、２０  撮像部、２１  被写体、２４  フィルタ、２６  レンズ、２８  撮像素子、２９  変換部、３０Ａ  初期探索プロファイル、３０Ｂ〜３０Ｇ  本探索プロファイル、３１，３３，５３，５３Ａ，５３Ｇ〜５３Ｊ  画素、３２Ａ，３２Ｂ，３４Ａ，３４Ｂ，３６Ａ，３６Ｂ，４２，４４，４６  類似度、３５，５７Ａ，５８Ａ  エピポールライン、３８Ｄ〜３８Ｆ  正解部分、３９Ａ〜３９Ｆ  結果、４０，４０Ａ  合成プロファイル、４５  出力部、５０  基準画像、５１Ａ，５１Ｂ  画素間隔、５２  注目点、５２Ａ〜５２Ｌ  基準領域、５５〜５８  部分画像、５５Ａ  輝度差画像、５９Ａ〜５９Ｄ  距離画像、６０  探索画像、６２Ａ，６２Ｂ，６４Ａ，６４Ｂ，６６Ａ，６６Ｂ  探索領域、６２Ａ１，６２Ｂ１，６４Ａ１，６４Ｂ１，６６Ａ１，６６Ｂ１  中心点、７１，７２  拡大画像、７３，１１１，１１３，１２０  グラフ、７４  対応関係、１００  画像処理装置、１００Ａ  デジタルカメラ、１００Ｂ  電子機器、１０２  ＣＰＵ、１０４  デジタル処理回路、１０６  画像処理回路、１０８  画像表示部、１１２  記憶部、１５４  制御プログラム、１５６  モニタ、１５８  マウス、１６０  キーボード、１６２  外部記憶装置、２００  画像処理部、２１０  第１算出部、２２０  第２算出部、２３０  特定部、２３２  合成部、２３４  生成部。
【図１】
2016062447.tif 000009
【図２】
2016062447.tif 000010
【図３】
2016062447.tif 000011
【図４】
2016062447.tif 000012
【図５】
2016062447.tif 000013
【図１８】
2016062447.tif 000014
【図１９】
2016062447.tif 000015
【図２０】
2016062447.tif 000016
【図２４】
2016062447.tif 000017
【図２５】
2016062447.tif 000018
【図２６】
2016062447.tif 000019
【図６】
2016062447.tif 000020
【図７】
2016062447.tif 000021
【図８】
2016062447.tif 000022
【図９】
2016062447.tif 000023
【図１０】
2016062447.tif 000024
【図１１】
2016062447.tif 000025
【図１２】
2016062447.tif 000026
【図１３】
2016062447.tif 000027
【図１４】
2016062447.tif 000028
【図１５】
2016062447.tif 000029
【図１６】
2016062447.tif 000030
【図１７】
2016062447.tif 000031
【図２１】
2016062447.tif 000032
【図２２】
2016062447.tif 000033
【図２３】
2016062447.tif 000034