(57)【特許請求の範囲】
【請求項１】
少なくとも２枚の入力画像のうち、１枚の入力画像を基準画像、残りの入力画像を参照画像として取得する画像取得部と、
前記画像取得部で取得された基準画像及び参照画像のそれぞれにつき、解像度の異なる複数の基準画像及び参照画像を階層的に生成する多重解像度画像生成部と、
注目階層の基準画像における注目点に対する対応点を、前記注目階層の参照画像から探索する対応点探索部と、
前記注目階層の１つ下の階層で探索された対応点を基に、前記注目階層の参照画像における初期探索位置を設定する初期位置設定部と、
前記対応点探索部に下位の階層から上位の階層に向けて順次に対応点を探索させる探索制御部とを備え、
前記対応点探索部は、前記注目階層において設定された前記初期探索位置を基準として、前記注目階層の前記参照画像に所定の探索範囲を設定し、設定した探索範囲内の各位置において前記注目点に対する相関値を算出し、算出した相関値に基づき、複数の相関ピークが現れているか否かを判定し、複数の相関ピークが現れていると判定した場合、各相関ピークを用いて複数の対応点を決定し、
前記初期位置設定部は、前記対応点探索部により複数の対応点が探索された場合、各対応点に対する前記初期探索位置を設定し、
前記対応点探索部は、複数の相関ピークが現れていると判定した場合、前記相関値が最大である第１相関ピークの相関値に対する、前記第１相関ピーク以外の第２相関ピークの相関値の比を算出し、前記比が所定の値よりも大きな第２相関ピークが存在しない場合、前記第１相関ピークのみから対応点を決定し、前記比が所定の値より大きい第２相関ピークが存在する場合、前記比が所定の値より大きい第２相関ピークから対応点を決定し、かつ、前記第１相関ピークから対応点を決定する対応点探索装置。
【請求項２】
少なくとも２枚の入力画像のうち、１枚の入力画像を基準画像、残りの入力画像を参照画像として取得する画像取得部と、
前記画像取得部で取得された基準画像及び参照画像のそれぞれにつき、解像度の異なる複数の基準画像及び参照画像を階層的に生成する多重解像度画像生成部と、
注目階層の基準画像における注目点に対する対応点を、前記注目階層の参照画像から探索する対応点探索部と、
前記注目階層の１つ下の階層で探索された対応点を基に、前記注目階層の参照画像における初期探索位置を設定する初期位置設定部と、
前記対応点探索部に下位の階層から上位の階層に向けて順次に対応点を探索させる探索制御部とを備え、
前記対応点探索部は、前記注目階層において設定された前記初期探索位置を基準として、前記注目階層の前記参照画像に所定の探索範囲を設定し、設定した探索範囲内の各位置において前記注目点に対する相関値を算出し、算出した相関値に基づき、複数の相関ピークが現れているか否かを判定し、複数の相関ピークが現れていると判定した場合、各相関ピークを用いて複数の対応点を決定し、
前記初期位置設定部は、前記対応点探索部により複数の対応点が探索された場合、各対応点に対する前記初期探索位置を設定し、
前記対応点探索部は、複数の相関ピークが現れていると判定した場合、前記相関値が最大である第１相関ピークの相関値の、前記第１相関ピーク以外の第２相関ピークの相関値に対する比を算出し、前記比が所定の値よりも小さな第２相関ピークが存在しない場合、前記第１相関ピークのみから対応点を決定し、前記比が所定の値より小さな第２相関ピークが存在する場合、前記比が所定の値より小さな第２相関ピークから対応点を決定し、かつ、前記第１相関ピークから対応点を決定する対応点探索装置。
【請求項３】
前記対応点探索部は、位相限定相関法を用いて前記相関値を算出する請求項１又は２記載の対応点探索装置。
【請求項４】
前記対応点探索部は、前記相関値の最大値を前記第１相関ピークとして判定し、大きさが２番目以降の相関値については、所定の値より大きい相関値を、前記第２相関ピークとして判定する請求項１又は２記載の対応点探索装置。
【請求項５】
前記対応点探索部は、前記相関値の分布において、ピークの頂点に位置する相関値を相関ピークとして判定する請求項１〜４のいずれかに記載の対応点探索装置。
【請求項６】
前記対応点探索部は、前記探索範囲内の注目位置の相関値に対する、前記注目位置に隣接する位置の相関値の比が、所定の値以下の場合、前記注目位置に相関ピークが現れていると判定する請求項１〜４のいずれかに記載の対応点探索装置。
【請求項７】
前記対応点探索部は、前記探索範囲内の注目位置の相関値から前記注目位置に隣接する位置の相関値を差し引いた差分値が所定の値より大きい場合、前記注目位置に相関ピークが現れていると判定する請求項１〜４のいずれかに記載の対応点探索装置。
【請求項８】
前記対応点探索部は、所定距離以上離間した位置に相関ピークを検出する請求項１〜７のいずれかに記載の対応点探索装置。
【請求項９】
前記対応点探索部は、前記注目階層の参照画像において、前記初期位置設定部により複数の初期探索位置が決定された場合、各初期探索位置を基準として前記探索範囲を設定し、
前記初期位置設定部は、前記対応点探索部により各探索範囲において複数の対応点が探索された場合であっても、全対応点に対する初期探索位置を前記注目階層の１つ上の階層の参照画像に設定する請求項１〜８のいずれかに記載の対応点探索装置。
【請求項１０】
前記初期位置設定部は、前記注目階層において前記対応点探索部により探索された対応点の個数が所定の上限値を超えた場合、前記上限値以下の対応点に対して前記初期探索位置を設定する請求項１〜９のいずれかに記載の対応点探索装置。
【請求項１１】
前記対応点探索部は、最上位の階層において、１つの対応点を決定する請求項１〜１０のいずれかに記載の対応点探索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基準画像における注目点に対応する対応点を参照画像から探索する技術に関するものである。
【背景技術】
【０００２】
近年、基準画像及び参照画像をそれぞれにつき、解像度の異なる複数の基準画像及び参照画像に階層的に生成し、下位の階層で探索された対応点に基づいて上位の階層に探索範囲を設定し、設定した探索範囲内で対応点を探索する対応点探索手法が知られている。このような対応点探索手法は多重解像度戦略と呼ばれている。【０００３】
例えば、特許文献１では、対応点の信頼性を評価するための信頼度を算出し、信頼度が低い対応点については、別の点に対応点を変更し、変更した対応点に基づき１つ上の階層の初期探索位置を決定する技術が開示されている。【０００４】
このような多重解像度戦略を利用した対応点探索手法では、基準画像に注目点が設定され、参照画像に設定された探索範囲の各位置において、注目点との相関値が求められ、相関値が最も高い位置が対応点として決定される。なお、相関値は、例えばＳＡＤやＰＯＣを用いて算出される。【０００５】
このような、対応点探索手法では、探索範囲内にはカメラからの距離がほぼ同じ被写体が存在していることが前提とされている。【０００６】
しかしながら、探索範囲内にはカメラからの距離が異なる複数の被写体が存在することもある。この場合、探索範囲内に複数の鋭い相関ピークが出現するという現象が確認されている。このように複数の鋭い相関ピークが現れてしまうと、どちらの相関ピークが正しい対応点を示しているかを判断することが難しい。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−２８２７６２号公報
【発明の概要】
【０００８】
本発明の目的は、多重解像度戦略において、ある階層に複数の相関ピークが現れた場合であっても、精度良く対応点を得ることができる対応点探索装置を提供することである。
【０００９】
本発明の一態様の対応点探索装置は、少なくとも２枚の入力画像のうち、１枚の入力画像を基準画像、残りの入力画像を参照画像として取得する画像取得部と、前記画像取得部で取得された基準画像及び参照画像のそれぞれにつき、解像度の異なる複数の基準画像及び参照画像を階層的に生成する多重解像度画像生成部と、注目階層の基準画像における注目点に対する対応点を、前記注目階層の参照画像から探索する対応点探索部と、前記注目階層の１つ下の階層で探索された対応点を基に、前記注目階層の参照画像における初期探索位置を設定する初期位置設定部と、前記対応点探索部に下位の階層から上位の階層に向けて順次に対応点を探索させる探索制御部とを備え、前記対応点探索部は、前記注目階層において設定された前記初期探索位置を基準として、前記注目階層の前記参照画像に所定の探索範囲を設定し、設定した探索範囲内の各位置において前記注目点に対する相関値を算出し、算出した相関値に基づき、複数の相関ピークが現れているか否かを判定し、複数の相関ピークが現れていると判定した場合、各相関ピークを用いて複数の対応点を決定し、前記初期位置設定部は、前記対応点探索部により複数の対応点が探索された場合、各対応点に対する前記初期探索位置を設定する。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態による対応点探索装置が適用された対応点探索システムのブロック図である。
【図２】多重解像度画像生成部により階層化された基準画像及び参照画像を示した図である。
【図３】探索制御部による制御の下、対応点を探索する対応点決定部の処理の流れを示した図である。
【図４】階層Ｌ２及び階層Ｌ３のそれぞれにおいて基準画像及び参照画像の一部を切り出した図である。
【図５】（Ａ）はＰＯＣの処理の流れを示した図である。（Ｂ）は位相差画像を逆フーリエ変換することで得られたＰＯＣ値の分布を示したグラフである。
【図６】ＰＯＣ値の分布の一例を示したグラフであり、縦軸はＰＯＣ値を示し、横軸は位置を示している。
【図７】従来の手法の問題点を説明するためのグラフであり、（Ａ）はある階層Ｌ（ｉ）において２つの相関ピークが現れた場合のＰＯＣ値の分布を示すグラフであり、（Ｂ）、（Ｃ）は階層Ｌ（ｉ）よりも１つ上の階層Ｌ（ｉ−１）におけるＰＯＣ値の分布を示すグラフである。
【図８】（Ａ）、（Ｂ）は本実施の形態による対応点の探索処理を説明するグラフであり、縦軸はＰＯＣ値を示し、横軸は位置を示している。
【図９】本発明の実施の形態による対応点探索装置の動作を示すフローチャートである。
【図１０】図９のＳ１１０の処理の詳細を示すフローチャートである。
【図１１】大きな相関値が隣接して分布している場合のＰＯＣ値の分布を示したグラフであり、縦軸はＰＯＣ値を示し、横軸は位置を示している。
【図１２】複数の対応点が上位の階層に渡される様子を示した図である。
【図１３】ＳＡＤの説明図である。
【図１４】ステレオ測距システムのブロック図である。
【図１５】ステレオ法による測距方法の説明図である。
【図１６】時系列的に前後する入力画像に対して対応付けを行わせるシステムのブロック図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態による対応点探索装置について説明する。図１は、本発明の実施の形態による対応点探索装置が適用された対応点探索システムのブロック図である。この対応点探索システムは、例えば自動車等の車両の車体に搭載され、カメラ１０１（カメラＡ）、カメラ１０２（カメラＢ）、及び対応点探索装置１１０を備えている。
【００１２】
カメラ１０１，１０２は、車体の進行方向に直交し、かつ水平方向に平行な方向である左右方向に所定の間隔を設けて、進行方向を中心に対称となるように同一高さ位置に配設され、所定のフレームレートで車体の前方を撮像する。ここで、カメラ１０１，１０２の光軸は平行である。
【００１３】
また、カメラ１０１，１０２は、同一時刻においてフレームが撮影されるように撮影タイミングの同期が図られている。なお、カメラの台数は２台に限定されず、３台以上にしてもよい。
【００１４】
対応点探索装置１１０は、例えば、マイクロコントローラにより構成され、カメラ１０１，１０２において例えば時刻ｔで撮像された２枚の画像に対して対応点の探索処理を実行する。
【００１５】
具体的には、対応点探索装置１１０は、画像取得部１０３、多重解像度画像生成部１０４、探索制御部１０５、初期位置設定部１０６、及び対応点探索部１０９を備えている。対応点探索部１０９は、対応点決定部１０７及び対応点候補決定部１０８を備えている。
【００１６】
画像取得部１０３は、カメラ１０１により撮影された入力画像を基準画像として取得すると共に、カメラ１０２により撮影された入力画像を参照画像として取得し、図略のメモリに記憶する。ここで、入力画像としては、例えば０（黒）〜２５５（白）の２５６階調値を有する複数の画素がマトリックス状に配列されたデジタルの画像データを採用することができる。
【００１７】
なお、カメラの台数が３台以上の場合は、いずれか１台のカメラで撮像された入力画像が基準画像とされ、残りの複数の入力画像がそれぞれ参照画像とされる。
【００１８】
多重解像度画像生成部１０４は、画像取得部１０３により取得された基準画像及び参照画像をそれぞれ低解像度化することで、下位の階層から上位の階層に向かうにつれて解像度が高くなるように、解像度の異なる複数の基準画像及び参照画像をそれぞれ階層的に生成する。ここで、階層の数及び各階層の解像度としては予め定められた値を採用することができる。また、最上位の階層の基準画像及び参照画像は、低解像度化がされていない画像が採用される。また、同一階層において、基準画像及び参照画像の解像度は同一である。また、階層化された基準画像及び参照画像の複数の階層のうち、注目する１つの階層を“注目階層”と記述する。
【００１９】
図２は、多重解像度画像生成部１０４により階層化された基準画像及び参照画像を示した図である。図２の例では、階層数は４とされている。また、図２の例では入力画像の解像度はＶＧＡ（６４０×４８０）であり、階層間の解像度の変換倍率は１／２に設定されている。
【００２０】
よって、１番目の階層Ｌ１（最上位の階層）の基準画像及び参照画像の解像度はＶＧＡとなる。また、２番目の階層Ｌ２の基準画像及び参照画像の解像度はＱＶＧＡ（３２０×２４０）となる。また、３番目の階層Ｌ３の基準画像及び参照画像の解像度は（１６０×１２０）となる。また、４番目の階層Ｌ４（最下位の階層層）の基準画像及び参照画像の解像度は（８０×６０）となる。
【００２１】
例えば、階層Ｌ３のある点（ｘ，ｙ）は、階層Ｌ２の点（２ｘ，２ｙ）、（２ｘ＋１，２ｙ）、（２ｘ，２ｙ＋１）、（２ｘ＋１，２ｙ＋１）の２×２の画素の平均値として求められる。
【００２２】
変換倍率は１／２に限らず、１／３など小さくし、階層数を少なくしてもよい。この場合、高速な処理が可能となる。
【００２３】
また、逆に変換倍率を１／１．５のように大きくし、階層数を増大させても良い。この場合、階層数が増加して、演算負荷は大きくなるが、より細かな探索が可能となり、ロバスト性を向上させることができる。
【００２４】
また、階層間で変換倍率を等しくする必要はなく、例えば、上位の階層では変換倍率を小さくして、下位の階層に向かうにつれて変換倍率を大きくしてもよい。
【００２５】
各階層で設定される探索範囲を一定とすると、下位の階層に設定された探索範囲内には距離の異なる複数の被写体が存在する。つまり、下位の階層の探索範囲では距離混合が激しくなってしまう。
【００２６】
そこで、下位の階層に向かうにつれて変換倍率を大きくすることで、解像度の低い階層が多くなり、下位の階層において対応点をきめ細かく探索することができ、ロバスト性を担保することができる。また、解像度の高い階層が少なくなり、上位の階層ではロバスト性よりも高速化に重きを置くことができる。これにより、下位の階層から上位の階層に渡りトータルバランスが取れた対応点の探索処理が可能となる。
【００２７】
図１に戻り、探索制御部１０５は、対応点決定部１０７に下位の階層から上位の階層に向けて順次に対応点を探索させる。図３は、探索制御部１０５による制御の下、対応点を探索する対応点決定部１０７の処理の流れを示した図である。
【００２８】
なお、図３において、階層数、変換倍率は図２と同じである。例えば、階層Ｌ３の基準画像上のある注目点Ｒ３（ｘ３、ｙ３）に対応する参照画像上の対応点Ｔ３（ｐ３、ｑ３）が対応点決定部１０７によって求められる。
【００２９】
次に、階層Ｌ２の基準画像上の注目点Ｒ２（ｘ２、ｙ２）に対応する参照画像上の対応点Ｔ２（ｐ２，ｑ２）を探索するとき、階層Ｌ３における探索結果を利用する。具体的には、階層Ｌ２の対応点Ｔ２（ｐ２，ｑ２）は、階層Ｌ３の対応点Ｔ３（ｐ３、ｑ３）をおよそ２倍にした位置の近傍にあると考えられる。
【００３０】
そこで、対応点決定部１０７は、階層Ｌ２において、対応点Ｔ３（ｐ３，ｑ３）を２倍した位置を基準に探索範囲を設定し、この位置の周辺を重点的に探索する。これにより、効率良く対応点Ｔ２（ｐ２，ｑ２）を探索することができる。
【００３１】
そして、対応点決定部１０７は、対応点Ｔ２（ｐ２，ｑ２）を探索すると、階層Ｌ１において、対応点Ｔ２（ｐ２，ｑ２）を２倍にした位置を基準に探索範囲を設定し、この位置の周辺を重点的に探索する。これにより、効率良く対応点Ｔ１（ｐ１，ｑ１）を探索することができる。
【００３２】
このように、下位の階層の探索結果を利用して上位の階層に探索範囲を設定し、対応点を探索していく多重解像度戦略を用いることで、対応点を効率良く探索することができる。なお、多重解像度戦略は、粗密戦略とも呼ばれている。
【００３３】
図１に戻り、初期位置設定部１０６は、注目階層の１つ下の階層で探索された対応点を基に、注目階層の参照画像における初期探索位置を設定する。ここで、初期位置設定部１０６は、対応点決定部１０７により注目階層の１つ下の階層で複数の対応点が探索された場合、各対応点に対する初期探索位置を注目階層の参照画像上に設定する。
【００３４】
図４は、階層Ｌ２及び階層Ｌ３のそれぞれにおいて基準画像及び参照画像の一部を切り出した図である。以下、図４を用いて、初期位置設定部１０６による処理を説明する。階層Ｌ３の注目点（ｂｘ，ｂｙ）は、多重解像度画像生成部１０４により、階層Ｌ２の点（ＢＸ，ＢＹ），（ＢＸ＋１，ＢＹ），（ＢＸ，ＢＹ＋１），（ＢＸ＋１，ＢＹ＋１）の２×２の平均値として求められている。
【００３５】
階層Ｌ３の参照画像の点（ｒｘ，ｒｙ）は注目点（ｂｘ，ｂｙ）の対応点である。階層Ｌ３における対応点（ｒｘ，ｒｙ）から、階層Ｌ２の参照画像には下記の式により初期探索位置が設定される。
【００３６】
（ＲＸ，ＲＹ）＝（２×ｒｘ，２×ｒｙ）
（ＲＸ＋１，ＲＹ）＝（２×ｒｘ＋１，２×ｒｙ）
（ＲＸ，ＲＹ＋１）＝（２×ｒｘ，２×ｒｙ＋１）
（ＲＸ＋１，ＲＹ＋１）＝（２×ｒｘ＋１，２×ｒｙ＋１）
【００３７】
これら４つの点（ＲＸ，ＲＹ），（ＲＸ＋１，ＲＹ），（ＲＸ，ＲＹ＋１），（ＲＸ＋１，ＲＹ＋１）が階層Ｌ２の初期探索位置となる。これにより、初期探索位置をより正確に設定することができる。なお、演算を簡略化するために、（ＲＸ，ＲＹ），（ＲＸ＋１，ＲＹ），（ＲＸ，ＲＹ＋１），（ＲＸ＋１，ＲＹ＋１）の４点を求めることなく、（ＲＸ，ＲＹ）＝（２×ｒｘ，２×ｒｙ）を初期探索位置として設定してもよい。
【００３８】
図１に戻り、対応点探索部１０９は、注目階層の基準画像における注目点に対する対応点を、注目階層の参照画像から探索する。対応点探索部１０９は、対応点決定部１０７及び対応点候補決定部１０８を備えている。
【００３９】
対応点決定部１０７は、注目階層において設定された初期探索位置を基準として、注目階層の参照画像に所定の探索範囲を設定し、設定した探索範囲内の各位置において注目点に対する相関値を算出する。
【００４０】
ここで、対応点決定部１０７は、例えば、ＰＯＣ（位相限定相関法）を用いて探索範囲の各位置の相関値を算出する。図５（Ａ）は、ＰＯＣの処理の流れを示した図である。まず、対応点決定部１０７は、基準画像の注目点を中心として基準ウィンドウを設定し、かつ、参照画像に参照ウィンドウを設定する（Ｓ１）。なお、基準ウィンドウと参照ウィンドウとのサイズは同じであり、それぞれ、四角形である。
【００４１】
次に、対応点決定部１０７は、基準ウィンドウ内の画像及び参照ウィンドウ内の画像に対して、フーリエ変換を行う（Ｓ２）。
【００４２】
なお、フーリエ変換は式（１）で表される。
【００４３】
【数１】
0005924340.tif 000002
ここで、ｘ，ｙは入力画像の水平，垂直方向を表し、ｕ，ｖは、ｘ方向，ｙ方向に対応する周波数を表し、Ｎ１，Ｎ２はウィンドウサイズを表し、ｆ（ｘ，ｙ）は画素値を表し、Ｆ（ｕ，ｖ）はｆ（ｘ，ｙ）の周波数空間の値を表す。
【００４４】
例えば、基準ウィンドウ及び参照ウィンドウのサイズが３３×１７の場合、周波数ｕは１個の直流成分と１６個の交流成分とで表され、周波数ｖは１個の直流成分と８個の周波数成分とで表される。なお、実際には、周波数ｕの交流成分は３２個存在するが、直流成分を中心に対称的なデータを持つので、１６個の交流成分を持つ。
【００４５】
フーリエ変換は、ウィンドウサイズが２のべき乗の場合は、バタフライ演算を特徴とするＦＦＴ（高速フーリエ変換）を使用することができる。そのため、処理の高速化の観点からはウィンドウサイズは２のべき乗にすることが好ましい。例えば、ウィンドウサイズが３２×１６の場合、周波数ｕは１個の直流成分と１５個の交流成分とで表され、周波数ｖは１個の直流成分と７個の交流成分とで表される。
【００４６】
次に、対応点決定部１０７は、フーリエ変換した基準ウィンドウ内の画像を、式（２）を用いて、位相成分θ（ｕ，ｖ）と振幅成分Ａ（ｕ，ｖ）とに分け、かつ、フーリエ変換した参照ウィンドウ内の画像を、式（２）を用いて、位相成分φ（ｕ，ｖ）と振幅成分Ｂ（ｕ，ｖ）とに分ける（Ｓ３）。
【００４７】
【数２】
0005924340.tif 000003
ここで、Ｒｅ（ｕ，ｖ）はフーリエ変換された画像の実部を示し、Ｉｍ（ｕ，ｖ）はフーリエ変換された画像の虚部を示している。
【００４８】
次に、対応点決定部１０７は、位相成分θ（ｕ，ｖ）と位相成分φ（ｕ，ｖ）との差分をとり、位相差画像を求める（Ｓ４）。
【００４９】
次に、対応点決定部１０７は、位相差画像を逆フーリエ変換し（Ｓ５）、相関値であるＰＯＣ値を求める。図５（Ｂ）は、位相差画像を逆フーリエ変換することで得られたＰＯＣ値の分布を示したグラフである。図５（Ｂ）に示すように、位相差画像を逆フーリエ変換することで、基準ウィンドウ内の画像と参照ウィンドウ内の画像との各位置におけるＰＯＣ値が求められる。
【００５０】
具体的には、ｘ軸及びｙ軸は、それぞれ、基準ウィンドウ内の画像に対する参照ウィンドウ内の画像のずれ量のｘ成分及びｙ成分を示し、ｚ軸はＰＯＣ値を示している。
【００５１】
基準ウィンドウ内の画像に対して、参照ウィンドウ内の画像が（ｘｓ，ｙｓ）ずれていたとすると、（ｘｓ，ｙｓ）の位置に相関ピークが現れる。このように、位相限定相関法は、ずれ量を示す位置に急峻な相関ピークが現れることが特徴であり、基準ウィンドウ内の画像に対する参照ウィンドウ内の画像のずれ量を正確に求めることができる。なお、このｘ軸及びｙ軸で表される各位置のＰＯＣ値が探索範囲内の各位置の相関値に相当する。
【００５２】
そして、対応点決定部１０７は、相関ピークが現れた位置が（ｘｓ，ｙｓ）であったとすると、参照ウィンドウの中心を（ｘｓ，ｙｓ）ずらした位置を対応点として決定する。
【００５３】
図１に戻り、対応点候補決定部１０８は、対応点決定部１０７により算出された相関値に基づき、複数の相関ピークが現れているか否かを判定する。そして、対応点決定部１０７は、対応点候補決定部１０８により複数の相関ピークが現れていると判定された場合、相関ピークが示す相関値同士の比を算出し、算出した比に基づいて、１又は複数の対応点を決定し、初期位置設定部１０６に通知する。
【００５４】
図６は、ＰＯＣ値の分布の一例を示したグラフであり、縦軸はＰＯＣ値を示し、横軸は位置を示している。なお、図６は、説明を簡素化するために１次元のグラフでＰＯＣ値の分布を示している。
【００５５】
従来はＰＯＣ値が最も高い位置を対応点として決定し、かつ、その位置のＰＯＣ値の大きさに基づき、対応点の信頼度を求めていた。ここで、信頼度は、対応点の確からしさを示し、アルゴリズムの設計に依存するが、例えば、全ＰＯＣ値の総和が１となるように各ＰＯＣ値を正規化した値が採用される。そして、信頼度が例えば０．２以上であれば、その対応点は信頼性が高いと判定される。
【００５６】
次に、本実施の形態による対応点探索装置が解決したいケースについて説明する。図７は、従来の手法の問題点を説明するためのグラフであり、（Ａ）はある階層Ｌ（ｉ）において２つの相関ピークが現れた場合のＰＯＣ値の分布を示すグラフであり、（Ｂ）、（Ｃ）は階層Ｌ（ｉ）よりも１つ上の階層Ｌ（ｉ−１）におけるＰＯＣ値の分布を示すグラフである。
【００５７】
従来の手法では、図７（Ａ）に示すように２つの相関ピークが現れた場合、信頼度が高い方の相関ピークが現れている位置を用いて対応点が決定されていた。しかしながら、２つの相関ピークのうちどちらが本当の対応点を示しているかを特定するのは容易ではない。特に、２つの相関ピークの信頼度が共に拮抗しているような場合、本当の対応点を決定することは困難である。
【００５８】
図７（Ａ）において正しい方の対応点を選択した場合、その対応点に基づいて探索範囲を設定し、階層Ｌ（ｉ−１）で対応点を探索すると、図７（Ｂ）に示すようにＰＯＣ値の分布に急峻な相関ピークが現れ、階層Ｌ（ｉ−１）においても正しい対応点を探索できる。
【００５９】
一方、図７（Ａ）において正しくない方の対応点を選択した場合、その対応点に基づいて探索範囲を設定し、階層Ｌ（ｉ−１）で対応点を探索すると、図７（Ｃ）に示すように、急峻な相関ピークが現れず、階層Ｌ（ｉ−１）において正しい対応点を探索できる可能性が低くなる。
【００６０】
そこで、本実施の形態では、階層Ｌ（ｉ）において２個の相関ピークが検出された場合において、両相関ピークの相関値が拮抗しており、どちらが正解であるかの判定がし難い場合、一方の相関ピークを用いて対応点を決定するのではなく、２個の相関ピークを共に用いて２個の対応点を決定する。そして、階層Ｌ（ｉ−１）において両対応点のそれぞれに対して探索範囲を設定して対応点を探索するというようにして、対応点の判断を階層Ｌ（ｉ−１）に委ねている。
【００６１】
ここで、探索範囲のサイズは全階層において一定であるため、参照画像に対する探索範囲の相対的なサイズは、上位の階層に向かうにつれて小さくなる。そのため、上位の階層に向かうほど、探索範囲が絞られ、探索範囲内に距離が異なる複数の被写体が含まれる可能性が低くなる。その結果、最終的に１つの相関ピークのみが現れる可能性を高くすることができ、精度の良い対応点探索を実現することができる。
【００６２】
具体的には、まず、対応点候補決定部１０８は、探索範囲においてＰＯＣ値が最大の位置を抽出し、その位置に第１相関ピークが現れていると判定する。次に、対応点候補決定部１０８は、２番目に大きいＰＯＣ値が所定の閾値α１より大きい場合、その位置に第２相関ピークが現れていると判定する。この場合、複数の相関ピークが現れていると判定される。
【００６３】
一方、２番目に大きいＰＯＣ値が閾値α１以下である場合、対応点候補決定部１０８は、第１相関ピークのみを相関ピークとして判定する。この場合、相関ピークが１つだけ現れていると判定される。なお、閾値α１としては、相関ピークを表していないことが明白な相関値を採用することができる。
【００６４】
そして、対応点決定部１０７は、対応点候補決定部１０８により複数の相関ピークが現れていると判定された場合、第１相関ピークの相関値Ｐ１に対する第２相関ピークの相関値Ｐ２の比（Ｐ２／Ｐ１）を算出する。
【００６５】
そして、対応点決定部１０７は、比が所定の値Ｖｔｈ１以下の場合、第１相関ピークの位置のみを用いて対応点を決定する。一方、対応点決定部１０７は、比が値Ｖｔｈ１より大きい場合、第１、第２相関ピークの位置をそれぞれ用いて２つの対応点を決定する。
【００６６】
図８は、本実施の形態による対応点の探索処理を説明するグラフであり、縦軸はＰＯＣ値を示し、横軸は位置を示している。図８（Ａ）では２つの相関ピークＰＫ１，ＰＫ２が現れているが、相関値Ｐ１に対する相関値Ｐ２の比が値Ｖｔｈ１よりも低い。この場合、対応点決定部１０７は、相関ピークＰＫ１のみを相関ピークとして決定する。
【００６７】
つまり、相関ピークが２つ現れていても相関ピークＰＫ１の相関値Ｐ１に比べて相関ピークＰＫ２の相関値Ｐ２が小さければ、相関ピークＰＫ１が対応点を示している可能性が高い。そこで、このような場合、相関ピークＰＫ１のみを用いて対応点を決定する。すると、階層Ｌ（ｉ−１）において、図８（Ｂ）に示すように、急峻な１つの相関ピークが現れる可能性が高くすることができる。
【００６８】
なお、本実施の形態では比としてＰ２／Ｐ１を用いたが、この逆数（Ｐ１／Ｐ２）を採用してもよい。この場合、対応点候補決定部１０８は、比が所定の値Ｖｔｈ２より小さい場合、複数の相関ピークが現れていると判定し、比が値Ｖｔｈ２以上の場合、１つの相関ピークが現れていると判定すればよい。
【００６９】
また、対応点候補決定部１０８は、相関値Ｐ１から相関値Ｐ２を差し引いた差分値（Ｐ１−Ｐ２）が所定の値Ｖｔｈ３より小さい場合、複数の相関ピークが現れていると判定し、差分値が値Ｖｔｈ３以上の場合、１つの相関ピークが現れていると判定してもよい。
【００７０】
なお、所定の値Ｖｔｈ１〜Ｖｔｈ３は、固定値であっても良いし、下記の式を用いて決定してもよい。
【００７１】
Ｖｔｈ１〜Ｖｔｈ３＝α×Ｐ１（αは固定値）
この場合、相関値Ｐ１の値に応じて適宜、Ｖｔｈ１〜Ｖｔｈ３の値が決定される。
【００７２】
図９は、本発明の実施の形態による対応点探索装置の動作を示すフローチャートである。なお、図９に示す処理は、カメラ１０１，１０２により入力画像が撮影される毎に実行される。
【００７３】
まず、画像取得部１０３は、カメラ１０１により撮影された入力画像を基準画像、カメラ１０２により撮影された入力画像を参照画像として取得する（Ｓ１０１）。次に、多重解像度画像生成部１０４は、基準画像及び参照画像を低解像度化し、解像度の異なる複数の基準画像及び参照画像を生成する（Ｓ１０２）。ここでは、図２に示すように、階層Ｌ１〜Ｌ４の４つの階層の基準画像及び参照画像が生成されたとする。
【００７４】
次に、探索制御部１０５は、注目階層を設定する（Ｓ１０３）。ここで、探索制御部１０５は、図２の例では、まず、階層Ｌ４を注目階層として設定し、次に階層Ｌ３を注目階層として設定するというように、階層Ｌ４から階層Ｌ１に向けて順次に注目階層を設定する。
【００７５】
次に、探索制御部１０５は、全階層に対する探索処理が終了したか否かを判定し、全階層の探索処理が終了している場合（Ｓ１０４でＹＥＳ）、処理を終了する。一方、全階層の探索処理が終了していない場合（Ｓ１０４でＮＯ）、探索制御部１０５は、注目階層の基準画像上の注目点として設定されるべき全ての点に対する探索処理が終了しているか否かを判定する（Ｓ１０５）。
【００７６】
そして、探索制御部１０５は、全ての点に対する探索処理が終了していると判定した場合（Ｓ１０５でＹＥＳ）、処理をＳ１０３に戻し、注目階層の１つ上の階層を注目階層として設定する。
【００７７】
一方、探索制御部１０５が全ての点に対する探索処理が終了していないと判定した場合（Ｓ１０５でＮＯ）、対応点決定部１０７は、注目階層の基準画像に注目点を設定する（Ｓ１０６）。この場合、１つ下の階層で設定された注目点の座標に変換倍率の逆数を乗じた位置を注目階層の注目点として設定すればよい。
【００７８】
次に、対応点決定部１０７は、Ｓ１０６で設定された注目点を中心として注目階層の基準画像に基準ウィンドウを設定する（Ｓ１０７）。
【００７９】
次に、初期位置設定部１０６は、図４で示した手法を用いて、注目階層の１つ下の階層で探索された対応点を用いて、注目階層の参照画像に初期探索位置を設定する（Ｓ１０８）。
【００８０】
この場合、初期位置設定部１０６は、注目階層の１つ下の階層で例えば２個の対応点が探索されたとすると、注目階層の参照画像に２個の初期探索位置を設定する。また、最下位の階層が注目階層である場合、１つ下の階層が存在していないため、初期位置設定部１０６は、所定の位置（例えば、中心の位置）を初期探索位置として設定すればよい。
【００８１】
次に、対応点決定部１０７は、Ｓ１０８で設定した初期探索位置を基準に注目階層の参照画像上に探索範囲を設定する（Ｓ１０９）。ここで、探索範囲は、初期探索位置に中心が位置するように設定され、全階層において同じサイズを持つ。
【００８２】
また、Ｓ１０８において、複数の初期探索位置が設定された場合、対応点決定部１０７は、各初期探索位置を基準に複数の探索範囲を設定する。
【００８３】
次に、対応点決定部１０７は対応点探索処理を実行する（Ｓ１１０）。ここで、Ｓ１０９において複数の探索範囲が設定された場合、対応点決定部１０７は、全探索範囲から対応点を探索する。Ｓ１１０の処理が終了すると、処理がＳ１０５に戻され、処理が継続される。
【００８４】
図１０は、図９のＳ１１０の処理の詳細を示すフローチャートである。まず、対応点決定部１０７は、Ｓ１０９で設定した探索範囲において参照ウィンドウを設定する（Ｓ２０１）。
【００８５】
次に、対応点決定部１０７は、基準ウィンドウ内の画像及び参照ウィンドウ内の画像のそれぞれに対してフーリエ変換を行う（Ｓ２０２）。
【００８６】
次に、対応点決定部１０７は、フーリエ変換された基準ウィンドウ内の画像及び参照ウィンドウ内の画像の位相成分θ（ｕ，ｖ），φ（ｕ，ｖ）を抽出する（Ｓ２０３）。
【００８７】
次に、対応点決定部１０７は、両位相成分の差分をとり（θ（ｕ，ｖ）−φ（ｕ，ｖ））、位相差画像を算出する（Ｓ２０４）。
【００８８】
次に、対応点決定部１０７は、位相差画像を逆フーリエ変換し、ＰＯＣ値の分布を算出する（Ｓ２０５）。これにより、探索範囲の各位置におけるＰＯＣ値が得られる。
【００８９】
次に、対応点候補決定部１０８は、複数の相関ピークが現れているか否かを判定する（Ｓ２０６）。そして、第１、第２相関ピークが現れていると判定された場合（Ｓ２０６でＹＥＳ）、対応点決定部１０７は、相関値Ｐ１に対する相関値Ｐ２の比（Ｐ２／Ｐ１）が値Ｖｔｈ１より大きいか否かを判定する（Ｓ２０７）。
【００９０】
そして、対応点決定部１０７は、比（Ｐ２／Ｐ１）が値Ｖｔｈ１より大きい場合（Ｓ２０７でＹＥＳ）、第１、第２相関ピークの位置を用いて２個の対応点を決定する（Ｓ２０８）。具体的には、対応点決定部１０７は、第１相関ピークの位置から基準ウィンドウ内の画像に対する参照ウィンドウ内の画像のずれ量を求め、参照ウィンドウの中心をずれ量分だけずらした位置を対応点として決定する。また、対応点決定部１０７は、第２相関ピークについても第１相関ピークと同様にして、対応点を決定する。
【００９１】
一方、第１、第２相関ピークが現れていないと判定された場合（Ｓ２０６でＮＯ）、対応点決定部１０７は処理をＳ２０９に進める。また、比（Ｐ２／Ｐ１）が値Ｖｔｈ１以下である場合（Ｓ２０７でＮＯ）、対応点決定部１０７は処理をＳ２０９に進める。
【００９２】
次に、対応点決定部１０７は、第１相関ピークの位置を用いて１個の対応点を決定する（Ｓ２０９）。
【００９３】
＜変形例１＞
上記実施の形態では、ＰＯＣ値の大きさから複数の相関ピークが現れているか否かを判定していた。変形例１は、ＰＯＣ値の大きさに加えて他の判断基準を用いて複数の相関ピークが現れているか否かを判定する。
【００９４】
具体的には下記の通りである。
【００９５】
ｉ）相関値がピークの頂点に位置している場合、その相関値を相関ピークとして決定する。この場合、対応点候補決定部１０８は、まず、最大の相関値Ｐ１を特定する。そして、相関値Ｐ１がピークの頂点に位置しているか否かを判定する。そして、相関値Ｐ１がピークの頂点に位置していれば、相関値Ｐ１を第１相関ピークと判定する。ここで、ピークの頂点に位置するか否かは、相関値を微分することで判定すればよい。一方、相関値Ｐ１がピークの頂点に位置していない場合、次に大きな相関値Ｐ１’がピークの頂点に位置していれば、相関値Ｐ１’を第１相関ピークと判定すればよい。
【００９６】
次に、対応点候補決定部１０８は、第１相関ピークが特定できた場合、閾値α１より大きな相関値Ｐ２を特定する。次に、相関値Ｐ２がピークの頂点に位置していれば、相関値Ｐ２を第２相関ピークと判定する。一方、相関値Ｐ２がピークの頂点に位置していなければ、次に大きな相関値であって閾値α１よりも大きな相関値Ｐ２’を特定し、相関値Ｐ２と同様にして、第２相関ピークであるか否かを判定する。
【００９７】
ｉｉ）探索範囲内の注目位置の相関値に対する、注目位置に隣接する位置の相関値の比が、所定の値より小さい場合、注目位置に相関ピークが現れていると判定する。
【００９８】
この場合、対応点候補決定部１０８は、まず、最大の相関値Ｐ１を特定する。次に、相関値Ｐ１に隣接する位置の相関値Ｐ１＿１を特定する。そして、Ｐ１＿１／Ｐ１が所定の閾値α２以下の場合、相関値Ｐ１が第１相関ピークであると判定する。なお、注目位置に隣接する位置として４近傍の位置、８近傍の位置を採用してもよい。例えば、４近傍の位置を採用した場合、４近傍の位置の相関値をそれぞれＰ１＿１〜Ｐ１＿４とすると、Ｐ１＿１／Ｐ１，Ｐ１＿２／Ｐ１，Ｐ１＿３／Ｐ１，Ｐ１＿４／Ｐ１の少なくとも１つ、２つ、３つ、又は全部が閾値α２以下の場合、相関値Ｐ１が第１相関ピークであると判定すればよい。
【００９９】
ここで、相関値Ｐ１が第１相関ピークでないと判定した場合、次に大きな相関値Ｐ１’を特定し、相関値Ｐ１と同様にして、相関値Ｐ１’が第１相関ピークであるか否かを判定すればよい。
【０１００】
次に、対応点候補決定部１０８は、第１相関ピークが判定できた場合、次に大きな相関値であって、閾値α１よりも大きな相関値Ｐ２を特定し、第１相関ピークを判定した手法と同じ手法を用いて第２相関ピークを検出する。
【０１０１】
ｉｉｉ）探索範囲内の注目位置の相関値から注目位置に隣接する位置の相関値を差し引いた差分値が所定の値より大きい場合、注目位置に相関ピークが現れていると判定する。
【０１０２】
この場合、対応点候補決定部１０８は、まず、最大の相関値Ｐ１を特定する。次に、相関値Ｐ１に隣接する位置の相関値Ｐ１＿１を特定する。そして、Ｐ１−Ｐ１＿１により差分値ΔＰ１を求める。次に、差分値ΔＰ１が所定の閾値α３より大きい場合、相関値Ｐ１が第１相関ピークであると判定する。なお、注目位置に隣接する位置として４近傍の位置、８近傍の位置を採用してもよい。例えば、４近傍の位置を採用した場合、４近傍の位置の相関値をそれぞれＰ１＿１〜Ｐ１＿４とすると、相関値Ｐ１とそれぞれの相関値Ｐ１＿１〜Ｐ１＿４との差分値ΔＰ１〜ΔＰ４を求め、１つ、２つ、３つ、又は全差分値が閾値α３より大きい場合、相関値Ｐ１が第１相関ピークであると判定すればよい。
【０１０３】
ここで、相関値Ｐ１が第１相関ピークでないと判定した場合、次に大きな相関値Ｐ１’を特定し、相関値Ｐ１と同様にして、相関値Ｐ１’が第１相関ピークであるか否かを判定すればよい。
【０１０４】
次に、対応点候補決定部１０８は、第１相関ピークが判定できた場合、次に大きな相関値であって、閾値α１よりも大きな相関値Ｐ２を特定し、第１相関ピークを判定した手法と同じ手法を用いて第２相関ピークを検出する。
【０１０５】
変形例１に示すｉ）〜ｉｉｉ）のいずれかの手法を用いることで相関ピークをより正確に検出することができる。
【０１０６】
＜変形例２＞
上記実施の形態では、最大の相関値Ｐ１を第１相関ピーク、相関値Ｐ１の次に相関値が大きく、かつ、閾値α１より大きな相関値Ｐ２を第２相関ピークと判定していた。図１１は、大きな相関値が隣接して分布している場合のＰＯＣ値の分布を示したグラフであり、縦軸はＰＯＣ値を示し、横軸は位置を示している。
【０１０７】
図１１に示すように、相関値Ｐ１に隣接する相関値Ｐ１’は、値は大きいが、ピークの頂点に位置していないため、相関ピークとして検出することは好ましくない。
【０１０８】
そこで、変形例２は、隣接した位置に相関ピークが現れているとは判定しないことを特徴とする。具体的には、対応点候補決定部１０８は、まず、最大の相関値Ｐ１を第１相関ピークとして判定する。そして、相関値Ｐ１の次に大きな相関値であって、閾値α１よりも大きな相関値Ｐ２を検出する。そして、相関値Ｐ２が相関値Ｐ１に隣接していれば、相関値Ｐ２を第２相関ピークとして検出しない。
【０１０９】
一方、相関値Ｐ２が相関値Ｐ１に隣接していなければ、相関値Ｐ２を第２相関ピークとして検出する。ここで、対応点候補決定部１０８は、相関値Ｐ２が相関値Ｐ１に対して例えば２画素以上離間していれば、つまり、１画素分離れて位置していれば、相関値Ｐ２を第２相関ピークとして検出すればよい。
【０１１０】
＜変形例３＞
上記実施の形態では、複数の探索範囲を設定した場合、全探索範囲から２つの第１、第２相関ピークを検出し、注目階層から最大２つの対応点が決定されるようにしていた。
【０１１１】
変形例３では、複数の探索範囲を設定した場合、各探索範囲につき第１、第２相関ピークを検出し、３個以上の対応点が探索された場合であっても、全対応点を一つ上の階層に渡すことを特徴とする。
【０１１２】
図１２は、複数の対応点が上位の階層に渡される様子を示した図である。階層Ｌ（ｉ）において、第１、第２相関ピークである相関ピークＰＫ１，ＰＫ２が検出されている。
【０１１３】
階層Ｌ（ｉ−１）では、相関ピークＰＫ１に基づき探索範囲Ａ１が設定され、相関値ＰＫ２に基づき探索範囲Ａ２が設定されている。この場合、対応点候補決定部１０８は、探索範囲Ａ１，Ａ２について個別に第１、第２相関ピークが現れているか否かを判定する。
【０１１４】
その結果、階層Ｌ（ｉ−１）では、探索範囲Ａ１に２個の相関ピークＰＫ１＿ａ，ＰＫ１＿ｂが検出されている。また、探索範囲Ａ２にも２個の相関ピークＰＫ２＿ａ，ＰＫ２＿ｂが検出されている。
【０１１５】
対応点決定部１０７は、探索範囲Ａ１から相関ピークＰＫ１＿ａ，ＰＫ２＿ｂに基づき２個の対応点を決定している。そのため、階層Ｌ（ｉ−２）では、相関ピークＰＫ１＿ａに基づく探索範囲Ｂ１と、相関ピークＰＫ１＿ｂに基づく探索範囲Ｂ２が設定されている。
【０１１６】
一方、対応点決定部１０７は、探索範囲Ａ２の２個の相関ピークのうち、相関ピークＰＫ２＿ａのみに基づいて１個の対応点を決定している。そのため、階層Ｌ（ｉ−２）では、相関ピークＰＫ２＿ａに基づく探索範囲Ｂ３が設定されている。
【０１１７】
そして、対応点候補決定部１０８は、探索範囲Ｂ１〜Ｂ３のそれぞれにつき、第１，第２ピークを検出する。図１２の例では、探索範囲Ｂ１において、急峻な１個の相関ピークが現れているが、探索範囲Ｂ２，Ｂ３において、急峻な相関ピークが現れていない。
【０１１８】
このように、複数の探索範囲を設定した場合、各探索範囲につき個別に複数の相関ピークが現れているか否かを判定し、複数の相関ピークが現れ、複数の対応点が検出された場合、各対応点に対する探索範囲を上位の階層に設定する。
【０１１９】
こうすることで、正解となる対応点が候補から外される事態を回避することができる。その結果、図１２の階層Ｌ（ｉ−２）に示すように、最終的に１つの急峻な相関ピークを得る可能性が高まり、対応点の探索精度をより高めることができる。なお、変形例３は変形例１，２と組み合わせても良い。
【０１２０】
＜変形例４＞
変形例３の手法では、探索範囲毎に２つの対応点が検出されているため、上位の階層に向かうにつれて次々と対応点の個数が増大することが懸念される。この場合、上位の階層において非常に多くの対応点が検出され、どの対応点を最終的な解として選択すべきかが分からなくなり、却って検出精度が低くなる虞がある。
【０１２１】
そこで、変形例４では、上の階層に渡す対応点の個数に制限を加えている。具体的には、階層毎に上の階層に渡す対応点の個数の最大数が決められている。下位の階層では、参照画像に対する参照ウィンドウの相対サイズが大きいため、距離混合が激しくなる。そこで、下位の階層ほど最大数が大きく、上位の階層に向かうにつれて最大数を少なくするように設定する。対応点決定部１０７は、注目階層で最大数を超える対応点の候補点が検出された場合、相関値の高い候補点から最大数分だけの候補点を選択し、対応点として上の階層に渡せばよい。
【０１２２】
これにより、上位の階層において非常に多くの対応点が検出され、どの対応点を最終的な解として選択すべきかが分からなく事態を防止することができる。
【０１２３】
＜変形例５＞
変形例５は、最上位の階層において、複数の対応点が検出された場合、解となる１つの対応点を決定することを特徴とする。具体的には、下記のいずれかの手法を採用すればよい。
【０１２４】
ｉ）最上位の階層において検出された複数の対応点のうち、相関値が最大の対応点を解として決定する。
【０１２５】
ｉｉ）最上位の階層において検出された複数の対応点のうち、周辺の画素との類似度が最も高い対応点を解として決定する。ここで、類似度とは、例えば周辺画素との視差の近さを示す。例えば、ある対応点Ｔ１の視差がｄ１であったとする。また、対応点Ｔ１の近傍に位置する画素Ｔ１＿１の視差がｄ２であったとする。この場合、視差ｄ１と視差ｄ２との差分Δｄ１２の逆数（＝１／Δｄ１２）が対応点Ｔ１の類似度ＳＩＭ１となる。同様に、別の対応点Ｔ２の類似度がＳＩＭ２であったとする。そして、ＳＩＭ１＞ＳＩＭ２であったとする。この場合、対応点Ｔ１が解となる。
【０１２６】
ｉｉｉ）最上位の階層において検出された複数の対応点のうち、安定度が最も高い対応点を解として決定する。安定度は、下位の階層から複数の相関ピークが続けて検出されているような対応点は安定度が低く、複数の相関ピークがあまり出てこないような場合は安定度が高いと定義される。
【０１２７】
図１２を用いて安定度を説明する。階層Ｌ（ｉ−２）を最上位の階層とし、相関ピークＰＫ１１，ＰＫ１２，ＰＫ１３に基づき対応点Ｔ１〜Ｔ３が検出されたとする。
【０１２８】
対応点Ｔ１の相関ピークの履歴は、ＰＫ１→ＰＫ１＿ａ→ＰＫ１１である。ＰＫ１は階層Ｌ（ｉ）において２分岐され、ＰＫ１＿ａは階層Ｌ（ｉ−１）において二分岐されている。そのため、対応点Ｔ１の安定度は、（１／２）２となる。ここで、２分岐とは、対応点が２つ検出されたことを意味する。したがって、対応点が３個検出された場合は３分岐となる。
【０１２９】
対応点Ｔ２の相関ピークの履歴は、ＰＫ１→ＰＫ１＿ｂ→ＰＫ１２である。ＰＫ１は階層Ｌ（ｉ）で２分岐され、ＰＫ１＿ｂは階層Ｌ（ｉ−１）で２分岐されている。よって、対応点Ｔ２の安定度は、（１／２）２となる。
【０１３０】
対応点Ｔ３の相関ピークの履歴は、ＰＫ２→ＰＫ２＿ａ→ＰＫ１３である。ＰＫ２は階層Ｌ（ｉ）で２分岐され、ＰＫ２＿ａは階層Ｌ（ｉ−１）で２分岐されていない。よって、対応点Ｔ３の安定度は、安定度は、１／２となる。この場合、対応点Ｔ３の安定度が最も高いため、対応点Ｔ３が解として決定される。
【０１３１】
なお、変形例５の処理は、最上位の階層に適用されたが、これに限定されずに、途中の階層において適用してもよい。この場合、不要な対応点を排除して、計算時間の増大を防止することができる。
【０１３２】
また、変形例５に示すｉ）〜ｉｉｉ）の処理を組み合わせて解となる対応点を決定してもよい。例えば、まず、ｉｉｉ）の手法を用いて１つの対応点を決定しようとしたが、安定度が同一の対応点が複数存在し、１つの対応点を決定することができなかった場合、ｉ）又はｉｉ）の手法を用いて１つの対応点を決定すればよい。
【０１３３】
＜変形例６＞
上記実施の形態では、説明を簡単にするために第１、第２相関ピークというように２つの相関ピークを検出するものとして説明したが、３つの相関ピークを検出するようにしてもよい。
【０１３４】
例えば、探索範囲において、閾値α１よりも大きな相関値が３つ存在した場合、相関値Ｐ１，Ｐ２，Ｐ３を相関ピークとして検出すればよい。但し、Ｐ１＞Ｐ２＞Ｐ３である。この場合、対応点候補決定部１０８は、Ｐ２／Ｐ１，Ｐ３／Ｐ１を求め、Ｐ２／Ｐ１，Ｐ３／Ｐ１が値Ｖｔｈ１より大きい場合、相関値Ｐ１〜Ｐ３の３個の相関ピークに基づき、３個の対応点を検出すればよい。
【０１３５】
一方、対応点候補決定部１０８は、Ｐ２／Ｐ１のみが値Ｖｔｈ１より大きい場合、相関値Ｐ１，Ｐ２の２個の相関ピークに基づき、２個の対応点を検出すればよい。
【０１３６】
＜変形例７＞
上記実施の形態ではＰＯＣを用いて相関値を算出したが、他の手法を用いてもよい。他の手法としては例えばＤＣＴ符号限定相関法、及びＳＡＤ（Sum of Absolute Difference）が挙げられる。ＤＣＴ符号限定相関法の詳細については、“画像信号処理と画像パターン認識の融合−ＤＣＴ符号限定相関とその応用、貴家仁志  首都大学東京  システムデザイン学部  動的画像処理実利用化ワークショップ2007（2007．3．8−9）”に開示されている。
【０１３７】
図１３は、ＳＡＤの説明図である。図１３に示すように、基準画像に注目点ＣＰが設定され、注目点ＣＰを中心として基準ウインドウＷ１が設定される。ここで、注目点ＣＰは、基準画像上の全画素、又は一定の間隔で間引かれた各画素が例えばラスタ走査されるようにして順次設定される。
【０１３８】
次に、参照画像に設定された探索範囲内の所定の画素が参照ウインドウＷ２の中心点Ｏ１として設定され、この中心点Ｏ１を中心として参照ウインドウＷ２が設定される。ここで、探索範囲としては、注目点ＣＰと垂直方向の高さが同一であり、かつ、水平方向と平行な直線状の参照画像上の領域を採用することができる。次に、基準ウインドウＷ１内の画像Ｉｍｇ１と参照ウインドウＷ２内の画像Ｉｍｇ２との相関値ＣＯＲｐが下記の式を用いて算出される。
【０１３９】
【数３】
0005924340.tif 000004
但し、Ｗは基準ウインドウＷ１、参照ウインドウＷ２のウィンドウサイズを示し、ｉは垂直方向の座標を示し、ｊは水平方向の座標を示し、ｐは０≦ｐ≦ｍａｘ＿ｄｉｓｐを満たす変数であり、ｍａｘ＿ｄｉｓｐは最終探索点を示す。
【０１４０】
そして、相関値ＣＯＲｐが求まると、ｐが１増加されて参照ウインドウＷ２が水平方向にずらされ、次の相関値ＣＯＲｐが求められる。
【０１４１】
そして、相関値ＣＯＲｐが参照ウインドウＷ２内の画像の中心点Ｏ１の相関値として採用され、参照画像において相関値が最も高くなる位置が探索され、探索された位置が基準画像に設定された注目点ＣＰの対応点として特定される。図１３のグラフに示すように、相関値ＣＯＲｐは、画像Ｉｍｇ１と画像Ｉｍｇ２との相関が高く、類似しているほど高くなる。
【０１４２】
なお、ＳＡＤ以外にも例えば、ＳＳＤ（濃度差の二乗和）、又はＮＣＣ（正規化相互相関）等を採用してもよい。
【０１４３】
＜使用例１＞
使用例１は、上記実施の形態による対応点探索装置をステレオ測距システムに適用したことを特徴とする。図１４は、ステレオ測距システムのブロック図である。ステレオ測距システムは、自動車等の車両の車体に搭載され、カメラ１０１，１０２、演算処理装置１１、及び表示装置１２を備えている。
【０１４４】
演算処理装置１１は、図１に示す対応点探索装置１１０を備え、対応点決定部１０７により検出された対応点を用いて車体前方の物体の距離をステレオ法を用いて算出する。表示装置１２は、液晶表示ディスプレイ、有機ＥＬディスプレイといった表示装置から構成され、演算処理装置１１により生成された情報を表示する。
【０１４５】
図１５は、ステレオ法による測距方法の説明図である。図１５において、ｆは、カメラ１０１，１０２のレンズの焦点距離を示し、カメラ１０１，１０２の撮影面（ＣＣＤ）の画素数は等しいものとする。また、カメラ１０１，１０２は、所定の基線長Ｂだけ左右方向に離間され、かつ、光軸が平行となるように配置されている。この場合、注目点ＣＰと対応点ＴＰとの座標から得られる撮影面上の視差をΔｄとすると、レンズ位置から対象物までの距離Ｄは、下記の式により表される。
【０１４６】
Ｄ＝ｆＢ／Δｄ
【０１４７】
また、対象物の３次元位置（Ｘ，Ｙ，Ｚ）は下記の式により表される。
【０１４８】
Ｘ＝ｘ・Ｄ／ｆ
Ｙ＝ｙ・Ｚ／ｆ
Ｚ＝Ｄ
但し、ｘ，ｙは注目点ＣＰの座標を示す。
【０１４９】
そして、演算処理装置１１は、対象物の３次元位置から対象物と車体との距離が所定の値より短い場合、対象物を障害物として判定し、自車体に障害物が迫っている情報を生成して表示装置１２に表示する。これにより、障害物が迫っていることがユーザに報知される。
【０１５０】
＜使用例２＞
使用例２は、本実施の形態の対応点探索装置１１０を時系列的に前後する入力画像に対して対応点探索を行うシステムに適用したことを特徴としている。図１６は、時系列的に前後する入力画像に対して対応付けを行わせるシステムのブロック図である。
【０１５１】
このシステムは、カメラ１０１、対応点探索装置１３、及び表示装置１２を備えている。カメラ１０１は、所定のフレームレートで被写体を撮像する。対応点探索装置１３は、図１に示す対応点探索装置１１０と同一構成であるが、基準画像と参照画像との特定の仕方が異なる。図１では、時刻ｔにカメラ１０１が撮像した画像を基準画像、カメラ１０２が撮像した画像を参照画像としていた。本使用例２では、時刻ｔにカメラ１０１が撮像した画像を基準画像、時刻ｔ−１にカメラ１０２が撮像した画像を参照画像とする。
【０１５２】
そして、対応点探索装置１３は、基準画像上の注目点の対応点を参照画像から検出する。そして、対応点探索装置１３は、例えば、対応点と注目点との差分をとって対象物のオプティカルフローを算出する。
【０１５３】
（上記の対応点探索装置の纏め）
（１）上記対応点探索装置は、少なくとも２枚の入力画像のうち、１枚の入力画像を基準画像、残りの入力画像を参照画像として取得する画像取得部と、前記画像取得部で取得された基準画像及び参照画像のそれぞれにつき、解像度の異なる複数の基準画像及び参照画像を階層的に生成する多重解像度画像生成部と、注目階層の基準画像における注目点に対する対応点を、前記注目階層の参照画像から探索する対応点探索部と、前記注目階層の１つ下の階層で探索された対応点を基に、前記注目階層の参照画像における初期探索位置を設定する初期位置設定部と、前記対応点探索部に下位の階層から上位の階層に向けて順次に対応点を探索させる探索制御部とを備え、前記対応点探索部は、前記注目階層において設定された前記初期探索位置を基準として、前記注目階層の前記参照画像に所定の探索範囲を設定し、設定した探索範囲内の各位置において前記注目点に対する相関値を算出し、算出した相関値に基づき、複数の相関ピークが現れているか否かを判定し、複数の相関ピークが現れていると判定した場合、各相関ピークを用いて複数の対応点を決定し、前記初期位置設定部は、前記対応点探索部により複数の対応点が探索された場合、各対応点に対する前記初期探索位置を設定する。
【０１５４】
この構成によれば、注目階層において複数の相関ピークが検出された場合において、両相関ピークの相関値が拮抗しており、どちらが正解であるかの判定がし難い場合、いずれか１個の相関ピークを用いて１個の対応点を決定するのではなく、複数の相関ピークのそれぞれを用いて複数の対応点を検出する。そして、注目階層の１つ上の階層において各対応点のそれぞれに対して探索範囲を設定して対応点を探索するというようにして、対応点の判断を上位の階層に委ねている。
【０１５５】
ここで、探索範囲のサイズを全階層において同一とすると、参照画像に対する探索範囲の相対的なサイズは、上位の階層に向かうにつれて小さくなる。そのため、上位の階層に向かうほど、探索範囲が絞られ、探索範囲内に距離が異なる複数の被写体が含まれる可能性が低くなる。その結果、最終的に１つの相関ピークのみが現れる可能性を高くすることができ、精度の良い対応点探索を実現することができる。
【０１５６】
（２）前記対応点探索部は、複数の相関ピークが現れていると判定した場合、前記相関値が最大である第１相関ピークの相関値に対する、前記第１相関ピーク以外の第２相関ピークの相関値の比を算出し、前記比が所定の値よりも大きな第２相関ピークが存在しない場合、前記第１相関ピークのみから対応点を決定し、前記比が所定の値より大きい第２相関ピークが存在する場合、前記比が所定の値より大きい第２相関ピークから対応点を決定し、かつ、前記第１相関ピークから対応点を決定することが好ましい。
【０１５７】
相関ピークが２つ現れていても第１相関ピークの相関値に比べて第２相関ピークの相関値が小さければ、第１相関ピークが対応点を示している可能性が高い。そこで、このような場合、第１相関ピークのみを用いて対応点を決定する。すると、上位の階層において、急峻な１つの相関ピークが現れる可能性を高くすることができる。
【０１５８】
（３）前記対応点探索部は、位相限定相関法を用いて前記相関値を算出することが好ましい。
【０１５９】
この構成によれば、急峻な相関ピークが現れるという特徴を持った位相限定相関法を用いて相関値が算出されるため、相関ピークの検出精度を高め、高精度な対応点探索を実現することができる。
【０１６０】
（４）前記対応点探索部は、前記相関値の最大値を前記第１相関ピークとして判定し、大きさが２番目以降の相関値については、所定の値より大きい相関値を、前記第２相関ピークとして判定することが好ましい。
【０１６１】
この構成によれば、少なくとも１つの相関ピークが検出されるため、対応点探索が途中の階層で途切れてしまうことを防止することができる。また、相関値が所定の値より小さい位置は第２相関ピークとして判定されないため、解の可能性が低い相関ピークを除外して対応点探索を行うことができ、処理コストの削減を図ることができる。
【０１６２】
（５）前記対応点探索部は、前記相関値の分布において、ピークの頂点に位置する相関値を相関ピークとして判定することが好ましい。
【０１６３】
この構成によれば、相関ピークを高精度に検出することができる。
【０１６４】
（６）前記対応点探索部は、前記探索範囲内の注目位置の相関値に対する、前記注目位置に隣接する位置の相関値の比が、所定の値以下の場合、前記注目位置に相関ピークが現れていると判定することが好ましい。
【０１６５】
この構成によれば、周辺の相関値よりもある程度大きな相関値を持つ位置に相関ピークが現れていると判定されるため、ピークの中腹位置の相関値が相関ピークとして検出されることが防止され、高精度に相関ピークを検出することができる。
【０１６６】
（７）前記対応点探索部は、前記探索範囲内の注目位置の相関値から前記注目位置に隣接する位置の相関値を差し引いた差分値が所定の値より大きい場合、前記注目位置に相関ピークが現れていると判定することが好ましい。
【０１６７】
この構成によれば、周辺の相関値よりもある程度大きな相関値を持つ位置に相関ピークが現れていると判定されるため、ピークの中腹位置の相関値が相関ピークとして検出されることが防止され、高精度に相関ピークを検出することができる。
【０１６８】
（８）前記対応点探索部は、所定距離以上離間した位置に相関ピークを検出することが好ましい。
【０１６９】
この構成によれば、隣接した位置に相関ピークが検出されることが防止され、高精度に相関ピークを検出することができる。
【０１７０】
（９）前記対応点探索部は、前記注目階層の参照画像において、前記初期位置設定部により複数の初期探索位置が決定された場合、各初期探索位置を基準として前記探索範囲を設定し、前記初期位置設定部は、前記対応点探索部により各探索範囲において複数の対応点が探索された場合であっても、全対応点に対する初期探索位置を前記注目階層の１つ上の階層の参照画像に設定することが好ましい。
【０１７１】
この構成によれば、正解となる対応点が候補から外される事態を回避することができ、対応点の探索精度をより高めることができる。
【０１７２】
（１０）前記初期位置設定部は、前記注目階層において前記対応点探索部により探索された対応点の個数が所定の上限値を超えた場合、前記上限値以下の対応点に対して前記初期探索位置を設定することが好ましい。
【０１７３】
この構成によれば、上位の階層において非常に多くの対応点が検出され、どの対応点を最終的な解として選択すべきかが分からなく事態を防止することができる。
【０１７４】
（１１）前記対応点探索部は、最上位の階層において、１つの対応点を決定することが好ましい。
【０１７５】
この構成によれば、最終的に１つの対応点を確実に決定することができる。
【図１】
0005924340.tif 000005
【図２】
0005924340.tif 000006
【図３】
0005924340.tif 000007
【図４】
0005924340.tif 000008
【図５】
0005924340.tif 000009
【図６】
0005924340.tif 000010
【図７】
0005924340.tif 000011
【図８】
0005924340.tif 000012
【図９】
0005924340.tif 000013
【図１０】
0005924340.tif 000014
【図１１】
0005924340.tif 000015
【図１２】
0005924340.tif 000016
【図１３】
0005924340.tif 000017
【図１４】
0005924340.tif 000018
【図１５】
0005924340.tif 000019
【図１６】
0005924340.tif 000020