(57)【要約】【課題】ステレオカメラによる視差算出における処理速度と距離分解能という相反する精度の両立を実現可能な距離画像生成方法、距離画像生成装置及びプログラムを提供する。【解決手段】この距離画像生成方法は、ステレオ画像を取得して視差算出を行うものであって、遠距離領域に対して距離分解能が高い第１演算処理法を用い、中距離領域に対して第１演算処理法よりも距離分解能が低くかつ処理速度が速い第２演算処理法を用い、近距離領域に対して第２演算処理法よりも距離分解能が低くかつ処理速度が速い第３演算処理法を用いる。【選択図】図６
2008304202.tif 000002
【特許請求の範囲】
【請求項１】
ステレオ画像を取得して視差算出を行う距離画像生成方法であって、
遠距離領域に対して距離分解能が高い第１演算処理法を用い、
中距離領域に対して前記第１演算処理法よりも距離分解能が低くかつ処理速度が速い第２演算処理法を用い、
近距離領域に対して前記第２演算処理法よりも距離分解能が低くかつ処理速度が速い第３演算処理法を用いることを特徴とする距離画像生成方法。
【請求項２】
前記第３演算処理法により得た視差に基づいて前記第１演算処理法、前記第２演算処理法または前記第３演算処理法を選択する請求項１項に記載の距離画像生成方法。
【請求項３】
前記第１及び第２演算処理法はサブピクセルレベルの処理を行い、前記第３演算処理法はピクセルレベルの処理を行う請求項１または２に記載の距離画像生成方法。
【請求項４】
前記第１演算処理法は位相情報を用いる視差算出と非線形フィッティングを使ったサブピクセルレベル処理を行う請求項１乃至３のいずれか１項に記載の距離画像生成方法。
【請求項５】
前記第２演算処理法はブロックマッチングの相関法のサブピクセルレベル処理を行う請求項１乃至４のいずれか１項に記載の距離画像生成方法。
【請求項６】
前記第３演算処理法はピクセルレベルの相関法による視差算出を行う請求項１乃至５のいずれか１項に記載の距離画像生成方法。
【請求項７】
ステレオ画像を取得して視差算出を行う距離画像生成装置であって、
距離分解能が高い前記視差算出のための第１演算処理手段と、
前記第１演算処理手段よりも距離分解能が低くかつ処理速度が速い前記視差算出のための第２演算処理手段と、
前記第２演算処理手段よりも距離分解能が低くかつ処理速度が速い前記視差算出のための第３演算処理手段と、を備え、
遠距離領域に対して前記第１演算処理手段で処理し、中距離領域に対して前記第２演算処理手段で処理し、近距離領域に対して前記第３演算処理手段で処理するように制御することを特徴とする距離画像生成装置。
【請求項８】
前記第３演算処理手段により得た視差に基づいて前記第１演算処理手段、前記第２演算処理手段または前記第３演算処理手段を選択するように制御する請求項７に記載の距離画像生成装置。
【請求項９】
前記第１及び第２演算処理手段はサブピクセルレベルの処理を行い、前記第３演算処理手段はピクセルレベルの処理を行う請求項７または８に記載の距離画像生成装置。
【請求項１０】
請求項１乃至６のいずれか１項に記載の距離画像生成方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオ画像を取得して視差算出を行う距離画像生成方法、距離画像生成装置及びプログラムに関する。
【背景技術】
【０００２】
ステレオ画像から視差を算出し、視差値と距離値は反比例の関係であり、視差値から距離値を得るようにした距離計測が公知である。特許文献１は、ステレオ画像を処理して得られる画素（ピクセル）を単位とする視差に起因する遠距離での測距分解能の低下を解消し、近距離から遠距離までの測距分解能を向上させるために、ピクセルレベルの対応点と前後のシティブロック距離から直線近似でサブピクセル視差を算出し、画素単位の視差をサブピクセルの分解能で補間するようにしたステレオ画像による測距装置を開示する。
【０００３】
特許文献２は、解析対象の部分画像が予想される距離レンジに応じた照合手段に入力され、照合手段で入力画像の領域サイズ・解像度を変化させ、それぞれの距離レンジで必要十分な空間分解能で距離の照合を行う距離分布検知装置を開示する。すなわち、近距離のとき領域サイズを大とし解像度を小とし、遠距離のとき領域サイズを小とし解像度を大とする。
【特許文献１】特開２０００−２８３７５３号公報
【特許文献２】特開２００１−１２６０６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ステレオカメラによる視差算出において、距離分解能は距離の二乗に反比例して低下するため、遠距離ほど距離分解能が悪化する。通常、距離分解能を向上させるために、サブピクセルレベルで対応点探索を行う。このサブピクセルレベルの対応点探索は、単純な手法（ＳＡＤ法の結果を使った直線近似）であると、距離分解能が高度化し難く、逆に高度な手法（ＰＯＣ法と非線形フィッティング）であると、処理速度が低下する（演算コストが増す）という問題があった。
【０００５】
特許文献１の装置においても距離が遠くなるほど距離分解能が悪化することは避けられない。また、特許文献２の装置ではピクセルレベルの精度にしか得られず、距離分解能が低い。
【０００６】
本発明は、上述のような従来技術の問題に鑑み、ステレオカメラによる視差算出における処理速度と距離分解能という相反する精度の両立を実現可能な距離画像生成方法、距離画像生成装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明による距離画像生成方法は、ステレオ画像を取得して視差算出を行う距離画像生成方法であって、遠距離領域に対して距離分解能が高い第１演算処理法を用い、中距離領域に対して前記第１演算処理法よりも距離分解能が低くかつ処理速度が速い第２演算処理法を用い、近距離領域に対して前記第２演算処理法よりも距離分解能が低くかつ処理速度が速い第３演算処理法を用いることを特徴とする。
【０００８】
この距離画像生成方法によれば、遠距離領域に対して距離分解能が高く、中距離領域に対して遠距離領域の場合よりも距離分解能が低くかつ処理速度が速く、近距離領域に対して中距離領域よりも距離分解能が低くかつ処理速度が速いように処理内容を変えることで、遠距離領域では距離分解能を高くでき、近距離領域では高速処理でき、中距離領域ではそれらの中間の距離分解能及び処理速度で処理できる。距離分解能は距離の二乗に反比例して低下し、遠距離に対しては処理速度よりも距離分解能を重視することで距離精度の低下を抑えることができる一方、近距離、中距離に対しては距離分解能が遠距離の場合よりも低下しないため高速処理が可能となる。このように、距離に応じて演算処理の内容を変えることで、処理速度と距離分解能という相反する精度の両立を実現できる。
【０００９】
上記距離画像生成方法において前記第３演算処理法により得た視差に基づいて前記第１演算処理法、前記第２演算処理法または前記第３演算処理法を選択することが好ましい。第３演算処理法により概略的な視差（例えば、ピクセルレベル）を高速で得てから、各演算処理法を選択するので迅速な距離画像生成が可能になる。
【００１０】
また、前記第１及び第２演算処理法はサブピクセルレベルの処理を行い、前記第３演算処理法はピクセルレベルの処理を行うことが好ましい。第１及び第２演算処理法でサブピクセルレベルの処理を行うことで高距離精度を実現でき、また、第３演算処理法でピクセルレベルの処理を行うことで高速処理を実現できる。
【００１１】
また、前記第１演算処理法は、位相情報を用いる視差算出（例えばＰＯＣ法）と非線形フィッティングを使ったサブピクセルレベル処理を行うことができる。このような高度な手法を用いることで、距離分解能を高度化できない遠距離領域において、距離精度を高くできる。
【００１２】
また、前記第２演算処理法はブロックマッチングの相関法のサブピクセルレベル処理を行うことができる。例えば、ＳＡＤ法の結果を使った直線近似のような比較的単純な手法を用いることができる。
【００１３】
また、前記第３演算処理法はピクセルレベルの相関法による視差算出を行うことができる。例えば、単純な手法でも距離分解能を高度化できる近距離領域では、ＳＡＤ法のような単純な手法を用いることができ、サブピクセルレベルの結果は演算しない。
【００１４】
本発明による距離画像生成装置は、ステレオ画像を取得して視差算出を行う距離画像生成装置であって、距離分解能が高い前記視差算出のための第１演算処理手段と、前記第１演算処理手段よりも距離分解能が低くかつ処理速度が速い前記視差算出のための第２演算処理手段と、前記第２演算処理手段よりも距離分解能が低くかつ処理速度が速い前記視差算出のための第３演算処理手段と、を備え、遠距離領域に対して前記第１演算処理手段で処理し、中距離領域に対して前記第２演算処理手段で処理し、近距離領域に対して前記第３演算処理手段で処理するように制御することを特徴とする。
【００１５】
この距離画像生成装置によれば、遠距離領域に対して距離分解能が高く、中距離領域に対して遠距離領域の場合よりも距離分解能が低くかつ処理速度が速く、近距離領域に対して中距離領域よりも距離分解能が低くかつ処理速度が速いように処理内容を変えるように制御することで、遠距離領域では距離分解能を高くでき、近距離領域では高速処理でき、中距離領域ではそれらの中間の距離分解能及び処理速度で処理できる。距離分解能は距離の二乗に反比例して低下し、遠距離に対しては処理速度よりも距離分解能を重視することで距離精度の低下を抑えることができる一方、近距離、中距離に対しては距離分解能が遠距離の場合よりも低下しないため高速処理が可能となる。このように、距離に応じて演算処理の内容を変えることで、処理速度と距離分解能という相反する精度の両立を実現できる。
【００１６】
上記距離画像生成装置において、前記第３演算処理手段により得た視差に基づいて前記第１演算処理手段、前記第２演算処理手段または前記第３演算処理手段を選択するように制御することすることが好ましい。第３演算処理手段により概略的な視差（例えば、ピクセルレベル）を高速で得てから、各演算処理手段を選択するので迅速な距離画像生成が可能になる。
【００１７】
また、前記第１及び第２演算処理手段はサブピクセルレベルの処理を行い、前記第３演算処理手段はピクセルレベルの処理を行うことが好ましい。第１及び第２演算処理手段でサブピクセルレベルの処理を行うことで高距離精度を実現でき、また、第３演算処理手段でピクセルレベルの処理を行うことで高速処理を実現できる。
【００１８】
本発明によるプログラムは、上述の距離画像生成方法をコンピュータに実行させるためのプログラムである。これにより、上述の距離画像生成方法を行うことができ、距離に応じて演算処理の内容を変えることで、処理速度と距離分解能という相反する精度の両立を実現できる。
【発明の効果】
【００１９】
本発明の距離画像生成方法、距離画像生成装置及びプログラムによれば、ステレオカメラによる視差算出における処理速度と距離分解能という相反する精度の両立を実現することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明を実施するための最良の形態について図面を用いて説明する。図１は本実施の形態による距離画像生成装置を概略的に示すブロック図である。
【００２１】
図１に示すように、車載用の距離画像生成装置１０は、左カメラ１１ａと右カメラ１１ｂとを備えステレオ画像を取得するステレオカメラ１１と、カメラ１１ａ，１１ｂからのアナログ信号をデジタル信号に変換するＡ／Ｄ変換部１３ａ，１３ｂと、距離画像を生成する画像処理部１４と、画像処理部１４で生成した距離画像データを出力する出力部２０と、を備え、車に搭載される。
【００２２】
左カメラ１１ａ及び右カメラ１１ｂは、それぞれ、レンズ１１ｃ，１１ｄの光学系と、ＣＣＤやＣＭＯＳイメージセンサなどの撮像素子１２ａ，１２ｂと、から構成される。
【００２３】
左カメラ１１ａで例えば基準画像を取得し、右カメラ１１ｂで比較画像（参照画像）を取得し、左カメラ１１ａ，右カメラ１１ｂの撮像素子１２ａ，１２ｂから、それぞれ撮影した基準画像、比較画像の各画像データが出力し、Ａ／Ｄ変換部１３ａ，１３ｂでデジタル信号に変換されてから画像処理部１４に入力する。
【００２４】
画像処理部１４は、カメラ１１ａ，１１ｂのレンズ１１ｃ，１１ｄの周辺におけるひずみを補正するレンズひずみ補正部１５と、カメラ１１ａ，１１ｂの取り付けによる位置ずれ等を補正する画像並行化処理部１６と、視差画像生成のための探索領域（ウインドウ）を設定する探索領域設定部１７と、視差画像生成のために対応点探索を行う対応点探索部１８と、対応点探索の結果に基づいて距離画像を生成する距離画像生成部１９と、各部１５〜１９の制御を行う制御部１４ａと、を備える。
【００２５】
対応点探索部１８は、カメラ１１ａ、１１ｂで異なる視点から撮影した基準画像と比較画像との間で対応点を探索し、対応点のずれ（視差）を用いて三角測量の原理で３次元位置を演算し推定するが、かかる演算をＳＡＤ（Sum of Absolute Differences／差分絶対値和）法で行うＳＡＤ演算部１８ａと、ＰＯＣ（Phase Only Correlation／位相限定相関）法で行うＰＯＣ演算部１８ｂと、サブピクセルレベルで処理するサブピクセル演算部１８ｃと、を備える。
【００２６】
ＳＡＤ演算部１８ａ、ＰＯＣ演算部１８ｂ及びサブピクセル演算部１８ｃは、ＳＡＤ法やＰＯＣ法やサブピクセルレベル処理の各演算を集積素子等によりハード的に処理できるが、ＣＰＵ（中央演算処理装置）によりソフト的に処理するようにしてもよい。この場合、ＣＰＵは所定のプログラムに従って所定の演算を実行する。
【００２７】
図１の距離画像生成装置１０の画像処理部１４では、制御部１４ａが近距離、中距離、遠距離の各距離に応じて演算処理を三段階に変えるように制御する。かかる制御について図２，図３を参照して説明する。
【００２８】
図２は、図１の距離画像生成装置１０の画像処理部１４で複数の方法で演算処理したときの距離値と距離分解能との関係を概略的に示すグラフである。図３は、図１の画像処理部１４による制御を説明するために距離画像生成装置からの出力画面を模式的に示す図である。
【００２９】
図１の画像処理部１４の対応点探索部１８は、ＳＡＤ演算部１８ａとＰＯＣ演算部１８ｂとサブピクセル演算部１８ｃとにより、次の３つの演算処理(1)〜(3)を行う。
【００３０】
(1)ＰＯＣ法と非線形フィッティングによるサブピクセル処理による演算処理で高度な手法であり、この場合の距離値と距離分解能の関係は図２のカーブａのようになる。
【００３１】
(2)ＳＡＤ法の結果を使った直線近似によるサブピクセル処理による演算処理で比較的単純な手法であり、この場合の距離値と距離分解能の関係は図２のカーブｂのようになる。
【００３２】
(3)ＳＡＤ法によるピクセルレベル処理の演算処理でサブピクセルレベルの結果は演算せず、より単純な手法であり、この場合の距離値と距離分解能の関係は図２のカーブｃのようになる。
【００３３】
距離分解能は、距離の二乗に反比例して低下し、図２から分かるように演算処理(1)→(2)→(3)の順に低いが、処理速度は逆に演算処理(1)→(2)→(3)の順に速くなる（演算コストが増す）。
【００３４】
図１の距離画像生成装置１０では、制御部１４ａが演算処理(3)で高速に得たピクセルレベルの距離画像（距離値）により領域を遠距離、中距離、近距離に分割して判定し、遠距離領域に対しては上述の演算処理(1)を用い、中距離領域に対しては演算処理(2)を用い、近距離領域に対しては演算処理(3)を用いることで距離に応じて距離分解能・処理速度を変えるように制御する。すなわち、図２のように、遠距離ではカーブａの太線部分の範囲で演算処理(1)を行い、中距離ではカーブｂの太線部分の範囲で演算処理(2)を行い、短距離ではカーブｃの太線部分の範囲で演算処理(3)を行うようにする。
【００３５】
例えば、図３のような出力画面１において、近距離領域ｄの比較的近くの人間の画像は、演算処理(3)で処理し、距離分解能は低いが比較的高速で処理が可能である。中距離領域ｅ，ｆのように中程の車や人間の画像は、演算処理(2)で処理し、距離分解能は近距離領域ｄよりも高いが処理速度は低下する。また、遠距離領域ｇ１の比較的遠くの車の画像は、演算処理(1)で処理し、処理速度が中距離領域ｅ，ｆの場合よりも低下するが、距離分解能は高く距離精度が高くなる。
【００３６】
図１の制御部１４ａは、ＣＰＵ（中央演算処理装置）と、上述のような制御のためのプログラムが保存されたＲＯＭ等の記憶媒体とを有し、記憶媒体から読み出されたプログラムに従ってＣＰＵが後述の図４〜図７，図９のフローチャートのような各制御を実行する。
【００３７】
図１の距離画像生成装置１０における視差算出の基本ステップＳ０１〜Ｓ０３について図４のフローチャート参照して説明する。
【００３８】
まず、図１のステレオカメラ１１によりステレオ画像を取得し（Ｓ０１）、そのステレオ画像を用いてＳＡＤ演算部１８ａにおいてＳＡＤ法でピクセルレベルの視差算出を行う（Ｓ０２）。この視差算出はＳＡＤ法によるピクセルレベルでの演算処理(3)であるので、高速に視差算出を行うことができる。次に、サブピクセルレベルでの視差算出を行う（Ｓ０３）。
【００３９】
次に、図５のサブピクセルレベルの視差算出（Ｓ０３）のステップＳ１１〜Ｓ１７について図４のフローチャートを参照して説明する。
【００４０】
まず、図１の探索領域設定部１７で探索対象の測距点を設定し（Ｓ１１）、その測距点が近距離でないとき（Ｓ１２）、更に中距離であるか否かを判断し（Ｓ１３）、中距離であれば、ＳＡＤ法でサブピクセルレベルの視差算出（演算処理(2)）を行い（Ｓ１４）、中距離でなく遠距離であれば（Ｓ１３）、ＰＯＣ法と非線形フィッテングを用いたサブピクセルレベルの視差算出（演算処置(1)）を行う（Ｓ１５）。
【００４１】
なお、ステップＳ１４における視差算出ではＳＡＤ法の結果による直線近似を行い、ステップＳ１５における視差算出ではＳＡＤ法によって得られた視差に基づいてＰＯＣ法のフーリエ変換のウィンドウ位置を設定する。この場合、ＳＡＤ法によって概略の視差を求めているので、この視差値をＰＯＣ法のサブピクセルの視差算出において初期値として使用できる。
【００４２】
次に、全測距点について上記視差算出が終了していなければ（Ｓ１６）、未処理の測距点に移動し（Ｓ１７）、ステップＳ１１に戻り、全測距点について中距離または遠距離の場合にサブピクセルレベルの視差算出を行う。
【００４３】
次に、図１の距離画像生成装置１０において視差値に基づいて距離毎に視差算出（演算処理）の方法を変更するステップＳ２１〜Ｓ２４について図６のフローチャートを参照して説明すると、視差値が近距離、中距離、遠距離のいずれであるかを判断し（Ｓ２１）、近距離であればＳＡＤ法による視差算出（Ｓ２２）、中距離であれば図５のＳＡＤ法でサブピクセルレベルの視差算出（Ｓ２３）、遠距離であれば図５のＰＯＣ法と非線形フィッテングを用いたサブピクセルレベルの視差算出（Ｓ２４）を行う。
【００４４】
なお、ＳＡＤ法により算出した視差値をステップＳ２１の距離判断の基準値にできるが、この場合、ステップＳ２１で近距離と判断されれば、ステップＳ２２の視差算出は省略される。
【００４５】
次に、上述のＳＡＤ法による視差算出のステップＳ３１〜Ｓ４０について図７のフローチャート及び図８を参照して説明する。図８は図１の左カメラで得た基準画像（ａ）、右カメラで得た比較画像（ｂ）、及び、視差とＳＡＤ法の相関値との概略的な関係、をそれぞれ示すグラフ（ｃ）である。
【００４６】
図１のステレオカメラ１１によりステレオ画像を取得する（Ｓ３１）。例えば、図１の左カメラ１１ａで図８（ａ）のような基準画像Ｇａを取得し、右カメラ１１ｂで図８（ｂ）のような比較画像Ｇｂを取得する。
【００４７】
次に、図８（ａ）のように基準画像Ｇａ内に測距点Ｗａｏを設定し（Ｓ３２）、測距点Ｗａｏを中心とした、所定サイズ例えば９×９のウインドウＷａを設定する（Ｓ３３）。また、図８（ｂ）のように比較画像Ｇｂ内に同じサイズのウインドウＷｂを設定する（Ｓ３４）
【００４８】
次に、ウインドウＷａ〜Ｗｂ間の相関度をＳＡＤ法で算出する（Ｓ３５）。ここで、ＳＡＤ法とはウインドウ内の各画素毎の「差の絶対値の和」である。例えば、ウインドウサイズが９×９の場合は８１画素における「差の絶対値の和」となり、その値が小さいほど相関度が高い。相関値ＣＯＲｐは、差の絶対値の和ＳＡＤｐから図８の式（１）により算出する。
【００４９】
次に、上記ＳＡＤ法による算出がすべての探索領域で終了していなければ（Ｓ３６）、比較画像Ｇｂ内のウインドウを１画素ずらしてから（Ｓ３７）、ステップＳ３５に戻り、すべての探索領域で（図８（ｂ）のＱ０からＱｍａｘまで）相関度をＳＡＤ法で算出する。なお、探索領域は、図１の探索領域設定部１７で設定でき、例えば５０ｃｍ〜３ｍなどの測距範囲により決まる。
【００５０】
なお、上述のステップＳ３７のように、１画素ずらしであるので、ピクセルレベルの視差算出が可能である。
【００５１】
次に、上述の探索領域の中で最も相関度の高い画素から視差を算出する（Ｓ３８）。例えば、図８（ｂ）の矢印ｈの探索範囲に対応して図８（ｃ）のように視差ｐが０〜ｐｍａｘの範囲で相関値が変化した場合、視差ｐｓで相関値が最も大きいので、視差ｐｓを視差値として得る。なお、最大の相関値は、例えば、閾値βを設定しておき、閾値βを超えた相関値の中から最も大きいピーク相関値を探すことで求めることができる。
【００５２】
次に、全測距点について上記視差算出が終了していなければ（Ｓ３９）、基準画像Ｇａ内の測距点を未測距点へ移動し（Ｓ４０）、ステップＳ３３に戻り、全測距点についてＳＡＤ法による視差算出を行う。
【００５３】
なお、ステップＳ４０の測距点の移動に関し、通常、画面の左上から右下に向かって移動していく。また、全画面の測距を行う場合には、全画素が全測距点となる。
【００５４】
次に、上述のＰＯＣ法による視差算出のステップＳ４１〜Ｓ４８について図９のフローチャートを参照して説明する。
【００５５】
図１のステレオカメラ１１によりステレオ画像を取得する（Ｓ４１）。例えば、図１の左カメラ１１ａで基準画像を取得し、右カメラ１１ｂで比較画像を取得する。次に、基準画像内に測距点を設定し（Ｓ４２）、測距点を中心とした、所定サイズ例えば１６×１６のウインドウを設定する（Ｓ４３）。また、比較画像内に同じサイズのウインドウを設定する（Ｓ４４）。ここまでは、図７のステップＳ３１〜Ｓ３４と同様である。
【００５６】
次に、ウインドウ間の相関度をＰＯＣ法で算出し（Ｓ４５）、ＰＯＣ値から視差を算出する（Ｓ４６）。
【００５７】
次に、全測距点について上記視差算出が終了していなければ（Ｓ４７）、基準画像内の測距点を未測距点へ移動し（Ｓ４８）、ステップＳ４３に戻り、全測距点についてＰＯＣ法による視差算出を行う。
【００５８】
なお、ステップＳ４８の測距点の移動に関し、通常、画面の左上から右下に向かって移動していく。また、全画面の測距を行う場合には、全画素が全測距点となる。
【００５９】
次に、上述の図９のステップＳ４５におけるＰＯＣ値の算出のステップＳ５１〜Ｓ５９について図１０のフローチャートを参照して説明する。
【００６０】
基準画像上のウインドウ内の画像ｆ（ｎ１，ｎ２）を得て（Ｓ５１）、２次元フーリエ変換によりフーリエ画像Ｆ（ｋ１，ｋ２）を得る（Ｓ５２）。そして、このフーリエ画像Ｆ（ｋ１，ｋ２）を規格化し、規格化フーリエ画像Ｆ’（ｋ１，ｋ２）を得る（Ｓ５３）。
【００６１】
Ｆ’（ｋ１，ｋ２）は、次式から得られ、振幅成分を除去して位相成分のみにする。
Ｆ’（ｋ１，ｋ２）＝Ｆ（ｋ１，ｋ２）／｜Ｆ（ｋ１，ｋ２）｜
【００６２】
また、比較画像上のウインドウ内の画像ｇ（ｎ１，ｎ２）を得て（Ｓ５４）、２次元フーリエ変換によりフーリエ画像Ｇ（ｋ１，ｋ２）を得る（Ｓ５５）。そして、このフーリエ画像Ｇ（ｋ１，ｋ２）を規格化し、規格化フーリエ画像Ｇ’（ｋ１，ｋ２）を得る（Ｓ５６）。
【００６３】
Ｇ’（ｋ１，ｋ２）は、次式から得られ、振幅成分を除去して位相成分のみにする。
Ｇ’（ｋ１，ｋ２）＝Ｇ（ｋ１，ｋ２）／｜Ｇ（ｋ１，ｋ２）｜
【００６４】
次に、上記両規格化フーリエ画像を合成し、下記数１の式（２）のように合成画像Ｒ（ｋ１，ｋ２）を得る（Ｓ５７）。
【００６５】
【数１】
2008304202.tif 000003
【００６６】
次に、合成画像Ｒ（ｋ１，ｋ２）について２次元逆フーリエ変換を行う（Ｓ５８）。これにより、位相限定相関（ＰＯＣ）値を得る（Ｓ５９）。
【００６７】
図１１は図１０で得たＰＯＣ値の分布を３次元的に示す概略図である。ウインドウ内で相関の高い箇所のＰＯＣ値は高くなる。ＰＯＣ法によれば、図１１のピーク値Ｊｃのようにシャープな相関値が得られ、ピーク位置をより正確に求めることができる。
【００６８】
図１１のＰＯＣのピーク値Ｊｃに対応する比較画像上のウインドウ内の位置が、基準画像上のウインドウの中央点（指定点）に対応した比較画像上の対応点に相当する。
【００６９】
次に、上述の非線形フィッティングによるサブピクセル処理について図１２を参照して説明する。図１２は、図１０で得たＰＯＣ値の分布を表した図（ａ）及び非線形フィッティングに用いるピークモデルの例を示す図（ｂ）である。
【００７０】
本実施の形態では、例えば図１２（ａ）のようなＰＯＣ値の分布において、最大強度点ｐｐを中心として５×５の値を使って非線形のピークモデルによりフィッテングさせる。すなわち、例えば、図１２（ｂ）のようなピークモデルを当てはめ、Levenberg-Merquardt法によりずれ量を近似計算し、サブピクセル値を得る。
【００７１】
以上のように、本実施の形態によれば、ＳＡＤによる相関法で得られたピクセルレベルの距離データのうち、遠距離の画素のみ位相情報を用いた視差算出方法（ＰＯＣ法）と非線形フィッティングを用いたサブピクセルレベル処理を行い、近距離の画素にはピクセルレベルの相関法（ＳＡＤ法）による視差算出を行い、中距離の画素にはブロックマッチングの相関法（ＳＡＤ法）のサブピクセルレベル処理を行うように距離に応じて各演算処理を三段階に変える。
【００７２】
すなわち、単純な手法でも距離分解能を高度化できる中距離領域については単純な手法（ＳＡＤ法の結果を使った直線近似によるサブピクセル処理）を用い、高度な手法（ＰＯＣ法と非線形フィッティングによるサブピクセル処理）を用いなければ距離分解能を高度化できない遠距離領域については高度な手法を用いる。このように、遠距離については高度な手法（ＰＯＣ法と非線形フィッティングによるサブピクセル処理）を用い、中距離については単純な手法（ＳＡＤ法の結果を使った直線近似）を用い、近距離においてはサブピクセルレベルの結果を演算しない。このように距離に応じて演算処理の内容を変えることで、距離分解能と処理速度という精度の両立を実現できる。
【００７３】
距離分解能は距離の二乗に反比例して低下するが、上述のように、遠距離に対しては処理速度よりも距離分解能を重視することで距離精度の低下を抑えることができ、また、近距離、中距離に対しては距離分解能がさほど低下しないため高速処理が可能となる。
【００７４】
また、遠距離領域に対して用いられるＰＯＣ法は位相成分のみを使用するため、精度の高いマッチングが可能であり、サブピクセルレベルのマッチングにおいても高い精度が可能であり、高距離精度を得ることができる。また、ＳＡＤ法のピクセルレベルのマッチングを用いることで、高速な概略視差を得ることができ、高速な処理が可能である。また、車載用のステレオカメラなどのように遠距離の距離精度が重要視される用途に特に適する。
【００７５】
以上のように本発明を実施するための最良の形態について説明したが、本発明はこれらに限定されるものではなく、本発明の技術的思想の範囲内で各種の変形が可能である。例えば、ＳＡＤ法の代わりに、ＳＳＤ(Sum of Squared Difference)法やＮＣＣ(Normalized Cross Correlation)法を用いてもよく、また、ＰＯＣ法の代わりに、フーリエ変換や離散コサイン変換(DCT:Discrete cosine Transform)やウェーブレット変換を用いてもよい。
【００７６】
また、本実施の形態では、近距離、中距離、遠距離の範囲を設定することができ、例えば、中距離を２５〜５０ｍの範囲と設定し、２５ｍ以下を近距離と設定し、５０ｍ以上を遠距離に設定できるが、適宜変更が可能である。
【図面の簡単な説明】
【００７７】
【図１】本実施の形態による距離画像生成装置を概略的に示すブロック図である。
【図２】図１の距離画像生成装置１０の画像処理部１４で複数の方法で演算処理したときの距離値と距離分解能との関係を概略的に示すグラフである。
【図３】図１の画像処理部１４による制御を説明するために距離画像生成装置からの出力画面を模式的に示す図である。
【図４】図１の距離画像生成装置１０における視差算出の基本ステップＳ０１〜Ｓ０３を説明するためのフローチャートである。
【図５】図５のサブピクセルレベルの視差算出のステップＳ１１〜Ｓ１７を説明するためのフローチャートである。
【図６】図１の距離画像生成装置１０において視差値に基づいて距離毎に視差算出（演算処理）の方法を変更するステップＳ２１〜Ｓ２４を説明するためのフローチャートである。
【図７】図４，図６のＳＡＤ法による視差算出のステップＳ３１〜Ｓ４０を説明するためのフローチャートである。
【図８】図１の左カメラで得た基準画像（ａ）、右カメラで得た比較画像（ｂ）、及び、視差とＳＡＤ法の相関値との概略的な関係、をそれぞれ示すグラフ（ｃ）である。
【図９】図５，図６のＰＯＣ法による視差算出のステップＳ４１〜Ｓ４８を説明するためのフローチャートである。
【図１０】図９のステップＳ４５におけるＰＯＣ値の算出のステップＳ５１〜Ｓ５９を説明するためのフローチャートである。
【図１１】図１０で得たＰＯＣ値の分布を３次元的に示す概略図である。
【図１２】図１０で得たＰＯＣ値の分布を表した図（ａ）及び非線形フィッティングに用いるピークモデルの例を示す図（ｂ）である。
【符号の説明】
【００７８】
１０ 距離画像生成装置
１１ ステレオカメラ
１１ａ 左カメラ
１１ｂ 右カメラ
１１ｃ，１１ｄ レンズ
１２ａ，１２ｂ 撮像素子
１４ 画像処理部
１４ａ 制御部
１７ 探索領域設定部
１８ 対応点探索部
１８ａ ＳＡＤ演算部
１８ｂ ＰＯＣ演算部
１８ｃ サブピクセル演算部
１９ 距離画像生成部
ｄ 近距離領域
ｅ，ｆ 中距離領域
ｇ１ 遠距離領域
【図１】
2008304202.tif 000004
【図２】
2008304202.tif 000005
【図３】
2008304202.tif 000006
【図４】
2008304202.tif 000007
【図５】
2008304202.tif 000008
【図６】
2008304202.tif 000009
【図７】
2008304202.tif 000010
【図８】
2008304202.tif 000011
【図９】
2008304202.tif 000012
【図１０】
2008304202.tif 000013
【図１１】
2008304202.tif 000014
【図１２】
2008304202.tif 000015