(57)【要約】【課題】高精度な視差の検出を高速に行う画像処理装置を提供すること。【解決手段】２つの撮像手段１１，１２によりそれぞれ撮像された画像を用いて視差情報が含まれた視差画像を作成する画像処理装置１００であって、１画素未満を単位とする視差を異なる精度で検出する複数の視差検出手段２４，２５と、前記複数の視差検出手段のうちの１つに、１画素未満を単位とする視差を検出させる切り替え手段２３と、を有し、前記複数の視差検出手段は並列に動作する、ことを特徴とする。【選択図】図１
2015159397.tif 000002
【特許請求の範囲】
【請求項１】
２つの撮像手段によりそれぞれ撮像された画像を用いて視差情報が含まれた視差画像を作成する画像処理装置であって、
１画素未満を単位とする視差を異なる精度で検出する複数の視差検出手段と、
前記複数の視差検出手段のうちの１つに、１画素未満を単位とする視差を検出させる切り替え手段と、を有し、
前記複数の視差検出手段は並列に動作する、ことを特徴とする画像処理装置。
【請求項２】
１画素を単位とする視差を検出する整数視差検出手段を有し、
前記切り替え手段は、前記整数視差検出手段が検出する視差が小さいほど、高い精度で１画素未満を単位とする視差を検出する前記視差検出手段を、前記複数の視差検出手段の中から選択する、ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記切り替え手段は、前記整数視差検出手段が検出する１画素を単位とする視差と閾値を比較して、前記複数の視差検出手段のうちの１つの前記視差検出手段を決定する、
ことを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記切り替え手段は、視差が検出される画素の位置に応じて、前記複数の視差検出手段の中から１つの前記視差検出手段を決定する、
ことを特徴とする請求項１又は２記載の画像処理装置。
【請求項５】
視差が検出される画素の水平方向の位置が中央付近の場合、
前記切り替え手段は、前記複数の視差検出手段の中から１画素未満の視差の精度が最も高い前記視差検出手段を選択する、
ことを特徴とする請求項４記載の画像処理装置。
【請求項６】
１画素未満を単位とする視差を検出する第１の視差検出手段と、前記第１の視差検出手段よりも低い精度の１画素未満を単位とする視差を検出する第２の視差検出手段とを有し、
当該画像処理装置が搭載された移動体が夜間に移動する場合、夜間以外に移動する場合よりも、前記第２の視差検出手段が１画素未満の視差を検出する頻度を増大させる検出頻度変更手段を有する、
ことを特徴とする請求項１〜５いずれか１項記載の画像処理装置。
【請求項７】
１画素未満を単位とする視差を検出する第１の視差検出手段と、前記第１の視差検出手段よりも低い精度の１画素未満を単位とする視差を検出する第２の視差検出手段とを有し、
当該画像処理装置が移動体に搭載された場合、
移動速度が大きいほど、前記第１の視差検出手段が１画素未満の視差を検出する頻度を増大させる検出頻度変更手段を有する、
ことを特徴とする請求項１〜５いずれか１項記載の画像処理装置。
【請求項８】
前記視差画像から対象物の撮像領域を検出する対象物領域検出手段から、前記撮像領域を取得し、
前記視差検出手段が前記撮像領域に対応する画素の１画素未満を単位とする視差を検出する場合、前記切り替え手段は、１画素未満を単位とする視差の精度が最も高い視差検出手段を、前記複数の視差検出手段の中から選択する、
ことを特徴とする請求項１〜７いずれか１項記載の画像処理装置。
【請求項９】
２つの画像を用いて視差情報が含まれた視差画像を作成する画像処理システムであって、
２つの撮像手段と、
１画素未満を単位とする視差を異なる精度で検出する複数の視差検出手段と、
前記複数の視差検出手段のうちの１つに切り替えて、１画素未満を単位とする視差を検出させる切り替え手段と、を有し、
前記複数の視差検出手段は並列に動作する、ことを特徴とする画像処理システム。
【請求項１０】
２つの撮像手段によりそれぞれ撮像された画像を用いて視差情報が含まれた視差画像を作成する画像処理方法であって、
切り替え手段が、１画素未満を単位とする視差を異なる精度で検出する複数の視差検出手段のうちの１つを選択するステップと、
前記複数の視差検出手段のそれぞれが、並列に動作して、１画素未満を単位とする視差を検出するステップと、
を有することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つの撮像手段によりそれぞれ撮像された画像を用いて視差情報が含まれた視差画像を作成する画像処理装置等に関する。
【背景技術】
【０００２】
ステレオカメラを用いた距離測定システムでは、２つの画像の対応点を水平方向にずらしながらブロックマッチングなどで探索して、類似度が最も高くなる対応点間の視差を求める。この視差は、画素同士の対応点から求められた視差であるため整数ピクセル精度の視差となる。これに対し、視差が小さくなるより遠方の被写体との距離の測定精度を向上させるため、距離測定システムがサブピクセル精度の視差を求めることが行われる場合がある。
【０００３】
左右の画像の被写体間の視差をサブピクセル精度で求める方法として、探索位置毎に算出された２つのブロックの類似度を、最大の類似度を中心にいくつか取り出し、これらの類似度のデータにパラボラフィッティングなどの演算を施す方法が知られている。このような演算によりサブピクセル精度の視差を求めることができる。
【０００４】
しかしながら、例えばパラボラフィティングにより視差を求める方法は、いくつかの類似度のデータをパラボラ形状（放物線）などの２次曲線に近似できるという前提であるため以下のような不都合がある。すなわち、サブピクセル精度の視差を求めるための整数ピクセル視差の精度によっては２次曲線に近似することが困難な場合があるため、近似により得られたサブピクセル精度の視差の精度が低下してしまう。
【０００５】
これに対し、サブピクセル精度の視差の精度を向上させる技術が知られている（例えば、特許文献１参照。）。特許文献１には、第１のサブピクセル対応位置演算手段と、第２のサブピクセル対応位置演算手段との２つのサブピクセル対応位置演算手段を設け、類似度ピーク位置における類似度の信頼度に応じて、第１と第２のサブピクセル対応位置演算手段を切り替える画像動き検出装置が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載された画像動き検出装置では、対応点探索に時間がかかるという問題がある。すなわち、特許文献１では、精度が高い演算方法である第２のサブピクセル対応位置演算手段としてＰＯＣ（位相限定相関法）を用いているため、サブピクセル精度の視差の演算に時間かかってしまう。したがって、対応点探索の結果の信頼性が低い場合にだけ第２のサブピクセル対応位置演算手段が用いられるとしても、なお、画像から視差を得るまでに時間がかかっている。
【０００７】
本発明は、上記課題に鑑み、高精度な視差の検出を高速に行う画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題に鑑み、本発明は、２つの撮像手段によりそれぞれ撮像された画像を用いて視差情報が含まれた視差画像を作成する画像処理装置であって、１画素未満を単位とする視差を異なる精度で検出する複数の視差検出手段と、前記複数の視差検出手段のうちの１つに、１画素未満を単位とする視差を検出させる切り替え手段と、を有し、前記複数の視差検出手段は並列に動作する、ことを特徴とする。
【発明の効果】
【０００９】
高精度な視差の検出を高速に行う画像処理装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】画像処理装置の概略的な動作を説明する図の一例である。
【図２】画像処理装置のハードウェア構成図の一例である。
【図３】視差計算部の機能ブロック図の一例である。
【図４】基準画像と比較画像の一例を示す図である。
【図５】整数ピクセル視差の演算について説明する図の一例である。
【図６】探索範囲内の類似度の算出結果を示す図の一例である。
【図７】最大の類似度の探索位置を中心とする近傍５点の類似度を示す図の一例である。
【図８】パラボラフィッティングによるサブピクセル視差の演算結果の一例を示す図である。
【図９】高次多項式により演算されるサブピクセル視差の演算結果の一例を示す図である。
【図１０】整数ピクセル視差と閾値Ｔに基づくサブピクセル視差の演算方法の切り替えを説明する図の一例である。
【図１１】高次多項式推定演算部とパラボラフィッティング演算部による並列処理のタイミングチャート図の一例である。
【図１２】、高次多項式推定演算部とパラボラフィッティング演算部の並列動作を模式的に説明する図の一例である。
【図１３】画像処理装置がサブピクセル視差を演算する手順を示すシーケンス図の一例である。
【図１４】視差計算部の機能ブロック図の一例である（実施例２）。
【図１５】整数ピクセル視差と閾値Ｔ１，２に基づくサブピクセル視差の演算方法の切り替えを説明する図の一例である。
【図１６】推定方式分岐部による演算方法の選択について模式的に説明する図の一例である。
【図１７】視差計算部の機能ブロック図の一例である（実施例４）。
【図１８】日中と夜間における閾値Ｔの変更について説明する図の一例である。
【図１９】車速に応じた閾値Ｔの変更について説明する図の一例である。
【図２０】画像処理装置のハードウェア構成図の一例である（実施例５）。
【図２１】物体画素範囲の一例を模式的に示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を参照しながら実施例を挙げて説明する。
【００１２】
図１は、本実施形態の画像処理装置の概略的な動作を説明する図の一例である。画像処理装置１００は、２つの画像の一方を水平方向にずらしながら他方の画像とブロックマッチングして、予め定められた探索範囲内の類似度を算出する。これにより、類似度が最も大きくなる探索位置が決定され、整数ピクセル精度の視差（以下、整数ピクセル視差という）が得られる。整数ピクセル視差を中心とするいくつかの類似度に演算を施すことでサブピクセル視差が得られる。
【００１３】
サブピクセル視差の演算において、高精度だが計算コストが高いサブピクセル視差の演算を行うと演算時間が犠牲になる。また、高速だが計算コストが低いサブピクセル視差の演算を行うとサブピクセル精度が低くなる。
【００１４】
そこで、本実施形態の画像処理装置１００は、少なくとも２つのサブピクセル精度の視差（以下、サブピクセル視差という）の演算方法を用意しておき、被写体までの距離（実施例１，２、４）や画像範囲（実施例３，５）に応じて、演算方法を切り替える。また、それぞれの演算を並列に行う。
【００１５】
例えば、図では、高次多項式推定（６次）、高次多項式推定（４次）及びパラボラフィッティングの３つの演算方法が可能になっている。それぞれの計算コストとサブピクセル精度は一例として以下のようになる。
高次多項式推定（６次）…計算コスト（高）  サブピクセル精度（高）
高次多項式推定（４次）…計算コスト（中）  サブピクセル精度（中）
パラボラフィッティング…計算コスト（低）  サブピクセル精度（低）
例えば、被写体までの距離に応じて演算方法を切り替える場合、画像処理装置１００は次のように演算方法を切り替える。
距離が近い場合…パラボラフィッティング
距離が中程度の場合…高次多項式推定（４次）
距離が遠い場合…高次多項式推定（６次）
遠方になるほど視差が小さくなるため高精度なサブピクセル視差が要請される。例えばこの例では、距離が遠いほどサブピクセル精度が高い演算方法でサブピクセル視差を演算することで、高精度なサブピクセル視差が要請される場合に計算コストは高いが精度の高いサブピクセル視差を求めることができる。また、距離が近い場合には、精度は高くなくても計算コストが低い演算方法でサブピクセル視差を求めることができる。
【００１６】
また、各演算は並列に行われるため、画像全体の視差を求める時間を、画像の全てを計算コストが低い演算方法で求める場合よりも少なくでき得る（各演算方法の計算コストの違いと遠方の画素の割合がどのくらいによる）。
【００１７】
したがって、本実施形態の画像処理装置は、処理速度と精度のバランスがとれた距離の測定が可能になる。
【実施例１】
【００１８】
図２は、画像処理装置のハードウェア構成図の一例を示す。画像処理装置１００は、左カメラ１１、右カメラ１２、及び、視差計算部１３を有している。左カメラ１１と右カメラ１２はそれぞれ水平かつ平行な光軸を有し、不図示の筐体などに固定されている。
【００１９】
本実施例では左カメラ１１が比較画像を撮像し、右カメラ１２が基準画像を撮像するものとするが、この関係は逆でもよい。ブロックマッチングでは、基準画像を基準にして、水平方向に画素位置をずらしながら比較画像と比較される。
【００２０】
左カメラ１１及び右カメラ１２は、ＣＭＯＳ又はＣＣＤなどの撮像素子、光学系、及び、ゲインやシャッター速度などを制御する制御部を備えている。撮像素子の解像度（画素数）には、例えばＶＧＡ、ＳＶＧＡ、ＨＤ、フルＨＤなどがある。左カメラ１１及び右カメラ１２は輝度情報を取得するカメラであるが、カラーフィルターを備えるなどして色情報を取得可能なカメラであってもよい。
【００２１】
左カメラ１１及び右カメラ１２は、所定の周期毎に基準画像と比較画像を出力する。基準画像と比較画像には、一般的な画像補正が行われる。この画像補整により、基準画像と比較画像は視差以外の差異が生じないように補正される。画像補整は事前のキャリブレーションにより可能になる。左カメラ１１と右カメラ１２は設置される際に、例えば、校正用の被写体（例えば市松模様のチャート）を撮影する。２つの画像を比較して、カメラのレンズ歪み、光軸ずれ、焦点距離ずれ及び撮像素子歪み等のハード的な内部誤差要因が最小になるように画像データを変換する幾何変換用のＬＵＴ（Look Up Table）が生成されている。画像処理装置１００は、ＬＵＴを参照して画像補正を行う。
【００２２】
視差計算部１３は、基準画像と比較画像から視差を演算する。視差の演算方法は後述する。視差計算部１３は、基準画像の画素毎又は画素ブロック毎に視差情報（又は距離情報でもよい）を対応づけた視差画像を外部機器１４に出力する。
【００２３】
外部機器１４は、視差画像を用いて何らかの制御を行う。外部機器１４としては例えば車載装置が挙げられる。すなわち、画像処理装置１００は車両（車両以外の移動体でもよい）に搭載され、車載装置が視差画像を用いて運転支援などを行う。
【００２４】
車載装置としての外部機器１４は、先行車両、歩行者などを認識し、先行車両や歩行者との距離を検出する。また、先行車両や歩行者との相対速度を検出して衝突予測時間を演算し、衝突予測時間に応じて警告、シートベルトの巻き上げ、及び、自動制動などを行う。
【００２５】
距離を検出するほか、外部機器１４は、走行レーンを区分する線や路肩を認識してもよい。この場合、外部機器１４は、走行レーンからの車両の逸脱を防止したり、走行レーンの中央付近を走行する制御を行うことができる。
【００２６】
なお、視差画像を利用した外部機器１４が行う制御はどのようなものでもよく、上述した内容に限られない。また、移動体以外に搭載されてもよい。
【００２７】
〔構成例〕
図３は、視差計算部１３の機能ブロック図の一例である。ステレオ画像取得部２１は、左右平行に設置された左カメラ１１から比較画像を、右カメラ１２から基準画像をそれぞれ取得する。基準画像と比較画像は同時又は同時と見なせるタイミングで取得される。
【００２８】
類似度算出部２２は、予め定められた探索範囲において、基準画像と比較画像の類似度を算出する。この類似度により整数ピクセル視差が得られる。詳細は次述する。類似度算出部２２が算出した類似度を用いて、サブピクセル視差が求められる。
【００２９】
推定方式分岐部２３は、整数ピクセル視差に応じて（すなわち被写体との距離に応じて）、サブピクセル視差の演算方法（サブピクセル推定方式）を切り替える。推定方式分岐部２３により、精度が高いが計算コストが高い高次多項式推定演算部２４、又は、精度は若干劣るが計算コストが低いパラボラフィッティング演算部２５のどちらかが選択される。詳細は後述する。なお、図１に示したように３つ以上のサブピクセル視差の演算部が存在してもよい。
【００３０】
高次多項式推定演算部２４は例えば４次式に基づく高次多項式推定によりサブピクセル視差を演算し、パラボラフィッティング演算部２５はパラボラフィッティングによりサブピクセル視差を演算する。高次多項式推定演算部２４とパラボラフィッティング演算部２５はそれぞれＬＳＩなどのハードウェアにより実装されており、並列処理が可能になっている。
【００３１】
なお、視差画像生成部２６は、画素毎や画素ブロック毎に求められたサブピクセル視差を、基準画像の画素又は画素ブロックに対応づけることで視差画像を生成する。
【００３２】
〔整数ピクセル視差の演算〕
図４は、基準画像と比較画像の一例を、図５は、整数ピクセル視差の演算について説明する図の一例である。基準画像と比較画像では、視差により被写体の位置が水平方向にずれて撮像される。左カメラ１１が比較画像、右カメラ１２が基準画像の場合、基準画像を基準にすると、比較画像の被写体は右方向にずれている。したがって、ブロックマッチングにおいては、基準画像を右方向にのみ移動しながら（探索しながら）類似度を算出すればよい。
【００３３】
例えば、先行車両のトラックの視差をｄ１、右側の杭の視差をｄ２とする。被写体までの距離が近いほど基準画像と比較画像の視差が大きくなり、被写体までの距離が遠いほど基準画像と比較画像の視差が小さくなる。したがって、図４からも明らかなように、視差ｄ１＜視差ｄ２である。
【００３４】
被写体までの距離zは、既知のパラメータである左カメラ１１と右カメラ１２のカメラ間の基線長Ｂ、カメラのレンズの焦点距離f、及び、算出された視差dを用いて下式から求められる。
ｚ＝Ｂｆ／ｄ
次に、整数ピクセル視差の演算について説明する。
【００３５】
(i)  視差計算部１３は、例えば基準画像の左上の頂点から順番に注目画素(ｘ,ｙ)を決定する。
【００３６】
(ii)  視差計算部１３は、注目画素 (ｘ,ｙ)の近傍画素（例えば、注目画素を中心とする５×５〜１１×１１などのウィンドウ）において、基準画像の各画素の輝度値と比較画像の各画素の輝度値を比較する処理を行う。具体的には、基準画像のウィンドウｐの各画素、基準画像のウィンドウｐと同じ位置の比較画像のウィンドウｑの各画素、に対し画素毎に輝度の差を算出して合計する（又は差の二乗を合計する）。したがって、輝度の差の合計が小さいほど類似度（マッチング度）が高い。
【００３７】
(iii) 視差計算部１３は、座標(ｘ、ｙ)を基点に比較画像のウィンドウｑを水平方向に１画素分移動させ、同様に、基準画像のウィンドウｐとの輝度の差の合計を算出する。
【００３８】
(iv) 視差計算部１３は、比較画像のウィンドウｑを１画素ずつ水平方向に移動させ輝度の差の合計を算出することを繰り返す。そして、予め定められた水平方向の探索範囲Ｄ内で（後述するように本実施例では一例として例えば６４画素）、類似度が最大（輝度の差の合計が最小）となった時の、比較画像のウィンドウｐの水平方向の移動量を整数ピクセル視差ｄとして出力する。
【００３９】
なお、このように算出される類似度をコストと称する場合がある。また、ウィンドウｐ、ｑにおける画素毎の輝度値の差の合計はＳＡＤ（Sum of Absolute Differences）、輝度値の差の二乗の合計はＳＳＤ（Sum of Squared Differences）と呼ばれる。
【００４０】
図６は、探索範囲内の類似度の算出結果を示す図の一例である。探索範囲Ｄを６４ピクセルとする。０〜６４ピクセルの範囲で視差を求める場合、ウィンドウｑの実際の移動範囲は「-2〜66」となる。すなわち、探索範囲Ｄの最も左の画素よりも２ピクセル左に余分に探索され、探索範囲Ｄの最も右の画素よりも２ピクセル右に余分に探索される。
【００４１】
この±２ピクセルのマージンは、後述する高次多項式推定の計算で必要な、最大の類似度を持つ探索位置を中心に合計５点の類似度を確保するためである。
【００４２】
なお、高次多項式推定でなくパラボラフィッティングのみでサブピクセル視差を演算する場合、±１のマージンでよい。本実施形態ではどの画素で、高次多項式推定によりサブピクセル視差が求められてもよいように、±２ピクセルのマージンが設定されている。
【００４３】
水平方向に指定された探索範囲内(-2<d<66)において、探索位置（水平位置）毎に類似度Ｃ(x,y,d)が算出される。ｘ、ｙは視差が演算された基準画像の座標、ｄが整数ピクセル視差、Ｃが類似度である。ウィンドウｐとｑが類似しているほど類似度Ｃ(x,y,d)の値は小さくなる。
【００４４】
図６に示すように、最も高い類似度を持つ探索位置を基準画像に対する比較画像の整数ピクセル視差ｄとする。この視差ｄと、その近傍の５点（又は３点）の類似度のデータから、サブピクセル視差を演算する。図６では最も高い類似度は、探索位置（ウィンドウｑの水平方向の移動位置）が１６なので整数ピクセル視差ｄは１６である。
【００４５】
〔サブピクセル視差の演算について〕
図７〜９を用いてサブピクセル視差の演算について説明する。図７は、最大の類似度の探索位置を中心とする近傍５点の類似度を示す。したがって、図７では、探索位置１４、１５、１６、１７、及び、１８の５点の類似度が打点されている。このうち、パラボラフィッティング演算部２５は３点を、高次多項式推定演算部２４は５点をそれぞれ用いてサブピクセル視差を演算する。
【００４６】
図８は、パラボラフィッティングによるサブピクセル視差の演算結果の一例を示す図である。パラボラフィッティングにより得られた二次曲線が最小値を取るサブピクセル視差ｓは、探索位置１６の類似度をR(0), 探索位置１５の類似度をR(-1)、探索位置１７の類似度をR(1)とすると、式（１）から求められる。
【００４７】
【数１】
2015159397.tif 000003
図９は、高次多項式により演算されるサブピクセル視差の演算結果の一例を示す図である。以下手順を説明する。
(i)まず、高次多項式推定演算部２４は、最小二乗法により４次曲線へのフィッティングを行う。
ｙ＝ax4+bx3＋cx2+dx
(ii) 類似度が最大になる探索位置１６の類似度をR(0), 探索位置１４の類似度をR(-2)、探索位置１５の類似度をR(-1) 、探索位置１７の類似度をR(1)、探索位置１８の類似度をR(2)とする。これらを使ってｙｐ、ｙｍを次のように定義する。
ｙｐ＝R(-1)＋R(1)
ｙｍ＝R(1)-R(-1)
ｙｐ、ｙｍによりa,b,c,dは以下のように表すことができる。
a＝｛R(-2)＋R(2)-４yp＋6R(0)｝／24
b＝｛R(2)-R(-2)-2ym＋6R(0)｝／12
c=（yp/2）-R(0)-a
d=（ym/2）-b
(iii)４次曲線の最小値を算出するために、ｘについて偏微分し勾配を求め、その勾配が０（ゼロ）になるところをニュートン法で求める。偏微分の結果は以下のようになる。
【００４８】
【数２】
2015159397.tif 000004
(iv)勾配がゼロになることは、式（２）の値が、予め定められた閾値Ｔ以下になることで判断される。または、決められた計算回数まで勾配を計算したら、勾配がゼロになったと推定する。勾配がゼロになったと見なされた探索位置がサブピクセル視差ｓである。
【００４９】
【数３】
2015159397.tif 000005
なお、xnに初期値が必要であるが、初期値は適当な値（例えば、整数ピクセル視差など）を設定する。なお、高次多項式において勾配がゼロとなる場所の求め方は、ニュートン法に限られず、多様なアルゴリズムを用いてよい。
【００５０】
〔演算方法の切り替え〕
高次多項式推定により求められたサブピクセル視差の方が、パラボラフィッティングにより求められたサブピクセル視差よりも精度が高くなる場合が多い。しかし、パラボラフィッティングに対して高次多項式推定の計算コストは高い。
【００５１】
そこで、推定方式分岐部２３は、類似度算出部２２により算出される整数ピクセル視差に応じて、サブピクセル視差の演算方法を切り替える。
【００５２】
図４に示したように、被写体との距離が遠くなるほど視差が小さくなるので、被写体との距離が遠くなるほどサブピクセル視差の精度の向上が求められる。換言すると、被写体との距離が近い場合、視差が大きいので、サブピクセル視差の精度が多少悪くとも、距離の精度はそれほど低下しない。
【００５３】
そこで、図１０に示すように、閾値Ｔを設け、整数ピクセル視差と閾値Ｔとの比較結果に応じて、サブピクセル視差の演算方法を切り替える。図１０は、整数ピクセル視差と閾値Ｔに基づくサブピクセル視差の演算方法の切り替えを説明する図の一例である。
【００５４】
視差が閾値Ｔ以下の場合（被写体までの距離が遠い場合）、推定方式分岐部２３は精度の高い高次多項式推定演算部２４を使用する。視差が閾値Ｔよりも大きければ（被写体までの距離が近い場合）、計算コストが低いパラボラフィッティング演算部２５を使用する。
【００５５】
これにより、高精度なサブピクセル視差を得ることが好ましい画素でのみ演算時間が長くなるので、処理速度と精度のバランスを取ることができる。
【００５６】
〔並列処理について〕
図１１は、高次多項式推定演算部２４とパラボラフィッティング演算部２５による並列処理のタイミングチャート図の一例である。高次多項式推定演算部２４とパラボラフィッティング演算部２５は、それぞれ並列に動作し、かつ、それぞれ演算時間が異なる。「高次多項式推定演算部の演算時間  ＞  パラボラフィッティング演算部の演算時間」である。図では、高次多項式推定演算部２４の演算時間がパラボラフィッティング演算部２５の演算時間の約２倍になっているが、あくまで一例であり２倍未満の場合も２倍超の場合もある。
【００５７】
高次多項式推定演算部２４の１画素の演算時間ｔ１が、パラボラフィッティング演算部２５の１画素の演算時間ｔ２の約２倍であるとして、Ｎ画素（例えば１つの画像の画素数）の視差の演算時間について説明する。
【００５８】
パラボラフィッティングによりサブピクセル視差を演算した場合の演算時間Ｔｐは以下になる。
Ｔｐ＝Ｎ×ｔ２
高次多項式推定によりサブピクセル視差を演算した場合の演算時間Ｔｈは以下になる。
Ｔｈ＝Ｎ×ｔ１＝Ｔｐ×２
Ｎ／２画素をパラボラフィッティングにより、Ｎ／２画素を高次多項式推定により、それぞれサブピクセル視差を演算した場合の演算時間Ｔaveは以下になる。
Ｔave＝（Ｎ/２）×ｔ２＋（Ｎ/２）×ｔ１＝（Ｔｐ＋Ｔｈ）/２＝１．５Ｔｐ
並列でなく、高次多項式推定とパラボラフィッティングが順番に行われる場合、高次多項式推定によりサブピクセル視差を演算する画素が１つでもあると、パラボラフィッティングにより全画素のサブピクセル視差を演算するよりも演算時間が長くなる。
【００５９】
しかし、本実施例では、高次多項式推定とパラボラフィッティングが並列動作することで、高次多項式推定によって演算される画素数によっては、全画素の演算時間を、パラボラフィッティングにより全画素のサブピクセル視差を演算する時間以下に抑制できる。
【００６０】
図１２は、高次多項式推定演算部２４とパラボラフィッティング演算部２５の並列動作を模式的に説明する図の一例である。類似度算出部２２は、着目画素毎に最大の類似度となる探索位置と該探索位置を中心とする５点の類似度を順次算出し、推定方式分岐部２３に入力する。
【００６１】
推定方式分岐部２３では、閾値Ｔと探索位置を比較して、サブピクセル視差の推定方法を選択し、入力された探索位置を中心とする５点の類似度を高次多項式推定演算部２４のバッファ４２に、３点の類似度をパラボラフィッティング演算部２５のバッファ４１にそれぞれ格納する。各バッファはキュー構造である。
【００６２】
高次多項式推定演算部２４及びパラボラフィッティング演算部２５は、バッファが空でなければ、格納されている類似度に対してサブピクセル視差の演算を行い、後段のラインバッファ４３に格納する。なお、パラボラフィッティング演算部２５は、水平方向に隣接した画素のサブピクセル精度を１〜数個飛ばしに演算してもよい。近距離の被写体は、遠方ほどの精度が要求されないため、隣接した画素から補間により求めることができる。
【００６３】
ラインバッファ４３には視差画像の水平方向の１ライン分の画素のサブピクセル視差が格納される。高次多項式推定演算部２４及びパラボラフィッティング演算部２５は、ラインバッファ４３にサブピクセル視差を格納する際、視差計算を行った画素に対応した位置に格納する。
【００６４】
このように、ラインバッファ４３に対し、高次多項式推定演算部２４及びパラボラフィッティング演算部２５が並列にサブピクセル視差を演算することができる。なお、パラボラフィッティングと高次多項式推定では演算時間が異なるため、ラインバッファ４３の左から順に埋まっていくとは限らない。
【００６５】
パラボラフィッティングと高次多項式推定のどちらか片方が早く１ラインの中での処理を完了した場合、まだサブピクセル視差の演算が終わっていない高次多項式推定演算部２４又はパラボラフィッティング演算部２５は、１ライン分の演算結果が揃うまで待機する。１ライン分の演算結果がそろうと、ラインバッファ４３に格納された１ライン分の視差を出力する（視差画像の１ラインに格納される）。この後、次のラインの各画素のサブピクセル視差の演算が開始される。
【００６６】
図１２のように並列に演算した場合、全画素Ｎの演算時間は次のようになる。Ｎ／２画素をパラボラフィッティングにより、Ｎ／２画素を高次多項式推定により、それぞれサブピクセル視差を演算したものとする。それぞれ、Ｔｐ/２、Ｔｈ/２の演算時間がかかり、演算時間はＴｐ/２＜Ｔｈ/２なので、長い方の演算時間であるＴｈ/２（＝Ｔｐ）の時間がかかる。したがって、全画素をパラボラフィッティングにより推定した場合と同程度の時間しかかからない。
【００６７】
高次多項式推定演算部２４の１画素の演算時間ｔ１が、パラボラフィッティング演算部２５の１画素の演算時間ｔ２の約３倍であると仮定する。この場合も同様の計算により、２Ｎ／３画素をパラボラフィッティングにより、Ｎ／３画素を高次多項式推定により、それぞれサブピクセル視差を演算した場合に、全画素をパラボラフィッティングにより演算した場合と同程度の時間がかかる。
【００６８】
したがって、パラボラフィッティングと高次多項式推定を並列に行うことで、演算時間の増大を抑制して、遠方の被写体が撮像された画素では高精度なサブピクセル視差を求めることができる。
【００６９】
〔動作手順〕
図１３は、画像処理装置１００がサブピクセル視差を演算する手順を示すシーケンス図の一例である。
S1：左カメラ１１は撮像した比較画像をステレオ画像取得部２１に出力する。
S2：右カメラ１２は撮像した基準画像をステレオ画像取得部２１に出力する。基準画像と比較画像は同時又はほぼ同時に撮像されたものである。
S3、S4：ステレオ画像取得部２１は基準画像と比較画像をそれぞれ類似度算出部２２に出力する。
S5：類似度算出部２２は、例えばブロックマッチングによりウィンドウの類似度を算出する。
S6：類似度の算出はサブピクセル視差の演算とは同期しておらず、類似度算出部２２は次々とウィンドウの類似度を算出して、類似度が最大となった探索位置（整数ピクセル視差）と、探索位置を中心とする５点の類似度を推定方式分岐部２３に出力する。
S7：推定方式分岐部２３は、探索位置と閾値Ｔを比較して演算方法を判断する。
S8,S9：推定方式分岐部２３は、演算方法の判断結果に応じて、探索位置を中心とする３点の類似度をパラボラフィッティング演算部２５に、探索位置を中心とする５点の類似度を高次多項式推定演算部２４に出力する。
【００７０】
S10,S11とS12,13は並列に行われる。
S10：パラボラフィッティング演算部２５は、高次多項式推定演算部２４と並列にサブピクセル視差を演算する。
S11：パラボラフィッティング演算部２５はサブピクセル視差を視差が演算された画素の水平位置に対応するラインバッファ４３に格納する。
S12：高次多項式推定演算部２４は、パラボラフィッティング演算部２５と並列にサブピクセル視差を演算する。
S13：高次多項式推定演算部２４は、サブピクセル視差を視差が演算された画素の水平位置に対応するラインバッファ４３に格納する。
【００７１】
この後、ラインバッファ４３に水平方向１ライン分のサブピクセル視差が格納されると、次の１ラインのサブピクセル視差の演算が開始される。
【００７２】
以上説明したように、本実施例では、精度が要求される遠方の被写体に対しては、サブピクセル精度が高い演算方法でサブピクセル視差を演算し、それ以外では計算コストが低い演算方法でサブピクセル視差を求め、各演算を並列に行う。これにより、画像全体の視差を求めるための時間の増大を抑制し、処理速度と精度のバランスがとれた距離の測定が可能になる。
【００７３】
なお、本実施例では高次多項式推定よりも低コストで低精度なパラボラフィッティングという演算方法を採用したが、さらに等角直線フィッティングという演算方法がある。等角直線フィッティングとパラボラフィッティングには精度に明確な優劣がない（算出方法などにも依存する）ため、パラボラフィッティングの代わりに等角直線フィッティングを採用してもよい。
【実施例２】
【００７４】
実施例１では２つの演算方法から計算コストとサブピクセル視差の精度が異なる演算方法を選択したが、本実施例では３つの演算方法から計算コストとサブピクセル視差の精度が異なる演算方法を選択する画像処理装置１００について説明する。
【００７５】
図１４は、本実施例の視差計算部１３の機能ブロック図の一例である。なお、本実施例において、図３において同一の符号を付した構成要素は同様の機能を果たすので、主に本実施例の主要な構成要素についてのみ説明する場合がある。本実施例では６次多項式推定演算部２７を有している。高次多項式推定演算部２４，パラボラフィッティング演算部２５，及び、６次多項式推定演算部２７は並列に動作する。
【００７６】
図１５は、整数ピクセル視差と閾値Ｔ１，２に基づくサブピクセル視差の演算方法の切り替えを説明する図の一例である。高次多項式推定演算部２４は４次式に基づく高次多項式推定を行うため、本実施例では、６次多項式推定演算部２７が計算コスト及び精度が最も高い演算方法である。
【００７７】
本実施例では図１５に示すように、２つの閾値Ｔ１，Ｔ２を設け、整数ピクセル視差と閾値Ｔ１、Ｔ２との比較結果に応じて、３つの演算方法から計算コストとサブピクセル視差の精度が異なる演算方法を選択する。
閾値Ｔ１以下…６次の高次多項式推定
閾値Ｔ１より大きく閾値Ｔ２以下…４次の高次多項式推定
閾値Ｔ２より大きい…パラボラフィッティング
なお、整数ピクセル視差が閾値Ｔ２より大きい場合、サブピクセル視差を算出しなくてもよい。これにより、さらに演算時間を短縮できる。
【００７８】
１つの画像において視差の計算に必要な時間は、最も演算時間が長い演算方法によって決まるので、１つの画像にどのくらい遠方の画素が含まれるかによってかわる。しかし、３つの演算が並列に行われるので、１つの画像において視差の計算に必要な時間を、実施例１よりも短縮できる可能性がある。また、距離が近い被写体では要求されるサブピクセル精度が低いので、処理速度と精度のバランスも維持できる。
【００７９】
以上説明したように、本実施例の画像処理装置１００は、距離が近い被写体に対し実施例１よりも演算時間を短縮できるため、処理速度と精度のバランスを維持しながら、１つの画像において視差の計算に必要な時間を、実施例１よりも短縮できる可能性がある。
【実施例３】
【００８０】
実施例１，２では、左カメラ１１と右カメラが撮像する被写体（どの程度、遠方の画素が含まれているか）によって、遠い被写体及び近い被写体が撮像される画素の比率が異なるため、計算量が一定ではない。すなわち、１枚の視差画像を作成するまでの時間が被写体によって不定となってしまう。
【００８１】
そこで、本実施例では１枚の視差画像を作成するまでの時間が一定の画像処理装置１００について説明する。
【００８２】
なお、本実施例の視差計算部１３の機能ブロック図は図３と同様でよい。図３において同一の符号を付した構成要素は同様の機能を果たすので、主に本実施例の主要な構成要素についてのみ説明する場合がある。
【００８３】
図１６は、推定方式分岐部２３による演算方法の選択について模式的に説明する図の一例である。本実施例では、図１６に示すように、高い精度のサブピクセル視差が求められるエリアが予めわかっているものとする。この場合、高い精度のサブピクセル視差が求められるエリアにおいてのみ高次多項式推定を用いる。
【００８４】
図１６においては、画像の水平方向の中心付近に高次多項式推定範囲が設けられている。例えば、画像が1280ピクセル/ラインの幅を持つとすると、画像処理装置１００は、その中心200ピクセルは高次多項式推定を行い、残りの1080ピクセルはパラボラフィッティングを行う。これにより、計算量の予測がしやすくなり、計算速度のバラ付きなく距離を測定することができる。
【００８５】
高次多項式推定範囲（５４０ピクセル〜７４０ピクセル）は予め推定方式分岐部２３に保持されている。推定方式分岐部２３は類似度算出部２２が算出した着目画素の水平位置がこの高次多項式推定範囲に入る場合、高次多項式推定演算部２４を選択する。
【００８６】
なお、高次多項式推定範囲は、画像処理装置１００にとって重要な被写体が撮像される可能性が高い範囲である。例えば、画像処理装置１００が前方に移動する移動体に搭載された場合、高次多項式推定範囲は図１６のように中央になる。したがって、設計者等は、遠方に重要な被写体が撮像される範囲が既知であれば、中央以外であっても、その範囲を高次多項式推定範囲に定めておくことができる。
【００８７】
また、高次多項式推定範囲の広さは、実施例１にて説明したように高次多項式推定の演算時間とパラボラフィッティングの演算時間に応じて、１つの視差画像の作成時間として許容される広さに設定される。
【００８８】
また、高次多項式推定とパラボラフィッティングが同程度の時間で終了するように高次多項式推定範囲の広さを決定することで、ラインバッファ４３が満たされるまで高次多項式推定演算部２４又はパラボラフィッティング演算部２５が待機する時間をほぼなくすことができる。
【００８９】
なお、実施例２のように３つの演算方法がある場合、画像を３つの範囲に区分しておき、演算方法を振り分ければよい。
【００９０】
また、本実施例のように高次多項式推定範囲を固定とするか、実施例１，２のように整数ピクセル視差に応じて切り替えるかを、ユーザが設定可能としてもよい。
【００９１】
本実施例の画像処理装置によれば、高次多項式推定範囲を設定しておくことで、１枚の視差画像を作成するまでの時間が一定にでき、また、高次多項式推定演算部２４又はパラボラフィッティング演算部２５が待機する時間をほぼなくすことができる。
【実施例４】
【００９２】
実施例１では閾値Ｔ（実施例２では閾値Ｔ１，Ｔ２）が一定であったが、本実施例では、閾値Ｔを動的に変更可能な画像処理装置１００について説明する。
【００９３】
閾値Ｔを変更することで、高次多項式推定が適用される画素を増減できるので、高精度なサブピクセル視差が必要なシーンでは、閾値Ｔを高次多項式推定の適用頻度が大きくなるように変更し、そうでなければ閾値Ｔを高次多項式推定の適用頻度が小さくなるように変更できる。
【００９４】
図１７は、本実施例の視差計算部１３の機能ブロック図の一例である。なお、本実施例において、図３において同一の符号を付した構成要素は同様の機能を果たすので、主に本実施例の主要な構成要素についてのみ説明する場合がある。本実施例では画像処理装置１００が閾値変更部２８を有し、閾値変更部２８にはセンサ１５が接続されている。センサ１５は、閾値Ｔを変更するシーンかどうかを判断するための情報を検出する。
【００９５】
〔シーン１  夜間の撮像時〕
夜間は周囲が暗くなるため、高次多項式推定のための５点の類似度に十分な精度が得られないおそれがある。このため、夜間、画像処理装置１００が視差画像を作成する際は、閾値Ｔを、パラボラフィッティングの適用頻度が大きくなるように変更することが好適となる場合がある。
【００９６】
図１８は、閾値Ｔの変更について説明する図の一例である。図１８（ａ）は日中の閾値Ｔを、図１８（ｂ）は夜間の閾値Ｔをそれぞれ示す。夜間は、日中よりも閾値Ｔを小さくすることで、パラボラフィッティングの適用頻度が大きくなるように変更することができる。
【００９７】
センサ１５は、夜間か日中かを判断するため、例えば左カメラ１１又は右カメラ１２からシャッター速度を取得する。シャッター速度は、夜間は露光時間を長くするため長くなるので、シャッター速度により夜間か日中かを判断できる。これにより、トンネル内などでは夜間でなくても閾値Ｔを変更できる。また、シャッター速度の他、時間情報と位置情報などから現在地が夜間か日中かを判断してもよい。
【００９８】
〔シーン２  高速に移動する場合〕
移動体が高速に移動しているほど、遠方の被写体が短時間に移動体に接近してくる。高速で移動している場合、遠方の被写体について高精度なサブピクセル視差が得られることが好ましい。このため、高速移動時に、画像処理装置１００が視差画像を作成する際は、閾値Ｔを、高次元多項式推定の適用頻度が大きくなるように変更することが好適となる場合がある。
【００９９】
図１９は、閾値Ｔの変更について説明する図の一例である。図１９（ａ）は低速移動時の閾値Ｔを、図１９（ｂ）は高速移動時の閾値Ｔをそれぞれ示す。高速移動時は、閾値Ｔを大きくすることで、高次元多項式推定の適用頻度が大きくなるように変更することができる。
【０１００】
センサ１５は、車速を検出するための車輪速センサである。閾値変更部２８は、車速に閾値Ｔが対応づけられたマップを有し、センサ１５が検出した車速に応じてマップから閾値Ｔを読み出す。これにより、車速に応じて動的かつ多段階に閾値Ｔを変更できる。
【０１０１】
以上説明したように、本実施例の画像処理装置１００は、閾値Ｔを動的に変更することで、シーンに応じて高次多項式推定の適用頻度を変更できる。
【０１０２】
なお、実施例２のように演算方式が３つ以上の場合、閾値が２つ以上になるので、この場合、最も小さい閾値Ｔ１のみを変更してもよいし、全ての閾値を同じだけ変更してもよい。
【実施例５】
【０１０３】
本実施例では、対象物が認識された画素範囲に高次多項式推定を適用する画像処理装置１００について説明する。
【０１０４】
図２０は、画像処理装置１００のハードウェア構成図の一例を示す。なお、本実施例において、図２において同一の符号を付した構成要素は同様の機能を果たすので、主に本実施例の主要な構成要素についてのみ説明する場合がある。図２０では外部機器１４が物体認識処理部１４１を有している。本実施例では物体認識方法として公知の方法を採用すればよいので、物体認識について簡単に説明する。
【０１０５】
物体認識処理部１４１は、例えば同程度の視差が連続した画素範囲を対象物の認識候補として検出する。これにより、いくつかの矩形領域が得られる。図４のような画像では、先行車両、対向車両、杭などが認識候補となる。
【０１０６】
物体認識処理部１４１は、視差画像から検出した矩形領域に対し、対象物として定められている車、歩行者などの認識処理を施す。物体認識には、Haar-like特徴量を用いる方法やＨＯＧ（Histograms of Oriented Gradients）特徴量を用いた方法が知られている。本実施例ではどちらを使用してもよく、また、組み合わせて使用してもよい。
【０１０７】
物体認識処理部１４１は、車、歩行者などが存在すると認識した矩形領域を物体画素範囲として視差計算部１３に出力する。物体画素範囲は、矩形領域の対角頂点の座標として指定される。図２１は、物体画素範囲の一例を模式的に示す図である。先行車両や対向車両が物体画素範囲３０１，３０２として囲まれている。
【０１０８】
視差計算部１３は、物体画素範囲３０１，３０２に対して、高次多項式推定によりサブピクセル視差を演算する。物体画素範囲には、距離を正確に検出すべき対象物が存在する可能性が高いので、高い精度のサブピクセル視差を求めることで対象物との距離を精度よく検出できる。
【０１０９】
３つ以上の演算方法がある場合、推定方式分岐部２３は、最も精度が高い演算方法（例えば、高次多項式推定）を選択するものとする。
【０１１０】
なお、物体画素範囲以外の領域は、実施例１、２のように整数ピクセル視差によって演算方法を切り替えてもよいし、実施例３のように画像内の場所によって演算方法を切り替えてもよい。
【０１１１】
したがって、本実施例の画像処理装置１００によれば、物体の認識結果を利用することで、高精度なサブピクセル視差が演算されることが好ましい物体画素範囲３０１，３０２に高次元多項式推定を適用できる。
【符号の説明】
【０１１２】
１１    左カメラ
１２    右カメラ
１３    視差計算部
１４    外部機器
２２    類似度算出部
２３    推定方式分岐部
２４    高次多項式推定演算部
２５    パラボラフィッティング演算部
２６    視差画像生成部
２７    ６次多項式推定演算部
１００  画像処理装置
【先行技術文献】
【特許文献】
【０１１３】
【特許文献１】特許第４８６２８１６号公報
【図１】
2015159397.tif 000006
【図２】
2015159397.tif 000007
【図３】
2015159397.tif 000008
【図４】
2015159397.tif 000009
【図５】
2015159397.tif 000010
【図６】
2015159397.tif 000011
【図７】
2015159397.tif 000012
【図８】
2015159397.tif 000013
【図９】
2015159397.tif 000014
【図１０】
2015159397.tif 000015
【図１１】
2015159397.tif 000016
【図１２】
2015159397.tif 000017
【図１３】
2015159397.tif 000018
【図１４】
2015159397.tif 000019
【図１５】
2015159397.tif 000020
【図１６】
2015159397.tif 000021
【図１７】
2015159397.tif 000022
【図１８】
2015159397.tif 000023
【図１９】
2015159397.tif 000024
【図２０】
2015159397.tif 000025
【図２１】
2015159397.tif 000026