(57)【特許請求の範囲】
【請求項１】
複数のカメラにより共通の領域を異なる位置から同時に撮像した複数の撮像画像からなるステレオ画像を取得する画像取得手段（１１，Ｓ１）と、
ステレオ画像間の垂直方向のずれを補正するための補正パラメータを用いて、前記画像取得手段により取得されたステレオ画像を相互に平行化する平行化手段（１２，Ｓ２）と、
前記平行化手段により平行化されたステレオ画像から、ステレオマッチングにより前記ステレオ画像間の水平視差の分布を算出する視差算出手段（１４，Ｓ３）と、
前記ステレオ画像と、前記視差算出手段により算出された水平視差の分布とに基づいて、前記ステレオ画像間の垂直方向のずれの分布を算出し、その算出した垂直方向のずれの分布に基づいて前記補正パラメータを更新する更新手段（１６，Ｓ４〜Ｓ６）と、
を備えることを特徴とする測距補正装置。
【請求項２】
請求項１に記載の測距補正装置において、
前記更新手段は、前記ステレオ画像と、前記視差算出手段により算出された水平視差の分布とに基づいて、前記ステレオ画像間のオプティカルフローの垂直成分を算出することにより、前記ステレオ画像間の垂直方向のずれの分布を作成すること、
を特徴とする測距補正装置。
【請求項３】
請求項１又は請求項２に記載の測距補正装置において、
前記更新手段は、異なる時期に撮像された複数回分の前記ステレオ画像それぞれについて、前記ステレオ画像間の垂直方向のずれの分布を複数算出し、その複数回分の算出結果に対して統計処理を施した結果に基づいて、前記補正パラメータを更新すること、
を特徴とする測距補正装置。
【請求項４】
請求項１ないし請求項３の何れか１項に記載の測距補正装置において、
前記取得手段により取得されたステレオ画像の状況、前記視差算出手段による前記ステレオ画像間の水平視差の算出状況、又は、前記カメラの視界に影響を及ぼす特定の機器の作動状況の少なくとも何れかに基づいて、前記更新手段による算出結果に関する信頼性を判定する信頼性判定手段（１９）を備え、
前記更新手段は、前記信頼性判定手段による判定結果に応じて、前記ステレオ画像間の垂直方向のずれの分布の算出を制限すること、
を特徴とする測距補正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のカメラにより撮像されたステレオ画像から距離情報を取得する技術に関するものであり、特に、ステレオ画像間の垂直方向のずれを補正するための技術に関する。
【背景技術】
【０００２】
従来、複数のカメラを用いて撮像されたステレオ画像から、ステレオ法等の三次元計測技術を用いて距離情報を取得する技術が知られている。ステレオ法は、複数のカメラにより撮像されたステレオ画像間で対応する領域を探索する、いわゆるステレオマッチングを行い、そこから得られた画像間の視差に基づいて距離を算出する方法である。
【０００３】
ステレオ法による測距を精度よく実現するためには、ステレオ画像に視差以外の位置的なずれが存在しないことが望ましい。しかしながら、実際には、ステレオ画像には、ステレオカメラの取付位置のずれやカメラレンズの形状に起因する、水平方向及び垂直方向のずれが生じる。また、車両の室内に搭載されたステレオカメラにより車両のウインドシールド越しに外界を撮像する場合、そのステレオカメラから得られる画像は、ウインドシールドによる屈折の影響も受ける。このため、従来、ステレオカメラの姿勢や画像の歪みをソフトウェア的／ハードウェア的な手法で校正し、測距の精度を高めることが行われてきた。しかしながら、振動等の影響でこの校正が経時的にずれてくるおそれがある。
【０００４】
一方、特許文献１には、撮像画像平面において検出された道路上の基準対象物に基づいて算出された空間的に平行な近似線から得られる消失点に基づいて、ステレオカメラの水平ずれに起因した誤差を含む視差を補正する技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−８３７４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の技術では、ステレオ画像間の垂直方向のずれを補正することについては考慮されていない。しかしながら、ステレオ画像間の垂直方向のずれは、ステレオマッチングの精度の低下を招き、それに基づいて算出される距離の誤差が大きくなるおそれがある。また、特許文献１に記載の技術では、道路上の白線等の特定物標の認識結果や、既知の校正用物体を利用しなければ、ステレオ画像間のずれを補正することができない。
【０００７】
本発明は、上記問題を解決するためになされたものである。その目的は、特定物標の認識結果や既知の校正用物体を用いずに、ステレオ画像間の垂直方向のずれを補正するための技術を提供することである。
【課題を解決するための手段】
【０００８】
本発明の測距補正装置は、画像取得手段と、平行化手段と、視差算出手段と、更新手段とを備える。画像取得手段は、複数のカメラにより共通の領域を異なる位置から同時に撮像した複数の撮像画像からなるステレオ画像を取得する。平行化手段は、ステレオ画像間の垂直方向のずれを補正するための補正パラメータを用いて、画像取得手段により取得されたステレオ画像を相互に平行化する。視差算出手段は、平行化手段により平行化されたステレオ画像から、ステレオマッチングによりステレオ画像間の水平視差の分布を算出する。更新手段は、ステレオ画像と、視差算出手段により算出された水平視差の分布とに基づいて、ステレオ画像間の垂直方向のずれの分布を算出し、その算出した垂直方向のずれの分布に基づいて補正パラメータを更新する。
【０００９】
本発明によれば、ステレオ画像間の垂直方向のずれを補正するための補正パラメータを用いてステレオ画像を相互に平行化することで、ステレオ画像間の垂直方向のずれを補正できる。その上でステレオ画像間の水平視差を算出することで、ステレオ法による測距の精度を高めることができる。さらに、新たに取得されたステレオ画像と、そのステレオ画像から算出された水平視差と基づいて、ステレオ画像間の垂直方向のずれの分布を算出することで、既得の補正パラメータを更新することができる。このようにすることで、補正パラメータを最新の状況に応じて随時更新することができるため、測距精度の経時的な低下を防ぎ、測距精度を維持・向上できる。
【図面の簡単な説明】
【００１０】
【図１】測距装置の構成を表すブロック図。
【図２】補正パラメータ算出処理の手順を表すフローチャート。
【図３】（ａ）垂直ずれの推定結果の一例を表す図。（ｂ）垂直ずれの補正の有無による測距結果の比較を表す図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態を図面に基づいて説明する。なお、本発明は下記の実施形態に限定されるものではなく様々な態様にて実施することが可能である。
［測距装置の構成の説明］
本実施形態の測距装置１は、図１に示すとおり、ステレオカメラ１０と、制御装置１１とを備える。この測距装置１は、例えば、車両（自動車等）に搭載され、車両前方の物体との距離情報に基づいて車両の運転を支援する運転支援システムとして具現化される。ただし、本発明の実施形態は、車両に搭載されるものに限られない。
【００１２】
ステレオカメラ１０は、公知のステレオカメラと同様、左カメラ１０Ｌ及び右カメラ１０Ｒからなる１対の撮像装置を備える。左カメラ１０Ｌ及び右カメラ１０Ｒは、自車両の進行方向に向けて概ね（所定の取付精度の範囲で）平行等位の位置に配置されている。これらの左カメラ１０Ｌ及び右カメラ１０Ｒは、互いに共通する領域（自車両の前方領域）を同一タイミングで撮像し、左右一対の画像からなるステレオ画像を表す画像データを制御装置１１に入力する。
【００１３】
制御装置１１は、図示しないＣＰＵ，ＲＯＭ，ＲＡＭ等を備えるマイクロコンピュータを中心に構成され、測距装置１を統括制御する。制御装置１１は、ＲＯＭ等に記録されたプログラムをＣＰＵにて実行することにより、各種機能を実現する。
【００１４】
制御装置１１は、機能的構成として、画像平行化処理部１２、補正パラメータ記憶部１３、視差算出部１４、距離算出部１５、補正パラメータ算出部１６、物体検出部１７、安定性判定部１８、及び、信頼性判定部１９を備える。
【００１５】
画像平行化処理部１２は、補正パラメータ記憶部１３に記憶されている補正パラメータを用いて、ステレオカメラ１０から入力されたステレオ画像間の垂直方向のずれを補正し、ステレオ画像を互いに平行化する。具体的には、ステレオ画像間で互いに対応関係にある画像領域（例えば、画素）の高さが水平方向一致するように、補正パラメータに従って画素全体の垂直方向の座標を変換し、ステレオ画像間の垂直方向のずれを補正する。
【００１６】
ステレオ画像の平行化に用いられる補正パラメータは、ステレオ画像の画素全体について垂直方向の座標を変換するパラメータであり、画素ごとの補正量を表すテーブル、あるいは定式化された関数として補正パラメータ記憶部１３に保存されている。
【００１７】
視差算出部１４は、画像平行化処理部１２によって互いに平行化されたステレオ画像に基づいて、画像全体を所定小区画に分割した画像ブロックごとにステレオ画像間の水平視差を算出し、算出した水平視差を画像上の座標に対応付けた視差マップを作成する。水平視差の算出には、ステレオマッチング等の技法を用いることができる。なお、ステレオマッチングについては公知の技法であるので、ここでの詳しい説明は省略する。
【００１８】
距離算出部１５は、視差算出部１４により作成された視差マップに基づいて、ステレオ画像に写る物体までの距離を算出し、算出した距離を表す距離情報を作成する。周知のとおり、ステレオ画像に写る物体までの距離は、ステレオ画像間の水平視差に反比例する値として表される。
【００１９】
補正パラメータ算出部１６は、ステレオカメラ１０から入力されたステレオ画像と、そのステレオ画像に基づいて視差算出部１４により算出された水平視差とに基づいて、ステレオ画像間の垂直方向のずれ（以降、「垂直ずれ」と表記）を算出し、その算出結果に基づいて既存の補正パラメータを更新する。
【００２０】
具体的には、補正パラメータ算出部１６は、ステレオ画像間のオプティカルフローを最適に求めるアルゴリズムと、ステレオ画像間の水平視差の算出結果と用いて、ステレオ画像間の垂直ずれを算出する。一般的に、画像のオプティカルフローを求める処理は、時間的に連続する画像に対して行うものであるが、本発明は、ステレオ画像を成す左右の画像に対してオプティカルフローを求める処理を適用する点において特徴を有する。ステレオ画像を成す左右の画像は、同一の瞬間を観測したものであるから、互いの水平視差が既知であれば、互いに対応関係にある画素周辺のオプティカルフローを求める手順によってステレオ画像間の垂直ずれを推定できる。なお、ステレオ画像間のオプティカルフローを求める詳細な手順については、後述する。
【００２１】
物体検出部１７は、ステレオカメラ１０から入力されたステレオ画像と、そのステレオ画像に基づいて視差算出部１４により算出された水平視差とに基づいて、画像内に写る検出対象物（例えば、道路上の白線等）を、周知の画像認識手法を用いて検出する。安定性判定部１８は、物体検出部１７による検出状態の安定性を判定する。具体的には、検出と非検出とを繰返すハンチング現象等の不安定な検出が起きているかを判定する。
【００２２】
信頼性判定部１９は、ステレオ画像の状態や、視差算出部１４による水平視差の算出状況、安定性判定部１８による物体検出の安定性の判定結果に基づいて、補正パラメータ算出部１６おいて算出されるステレオ画像間の垂直ずれに関する信頼性を判定する。そして、信頼性の判定結果に応じて、補正パラメータ算出部１６によるステレオ画像間の垂直ずれの算出を、画像全体あるいは部分的に制限する。
【００２３】
［補正パラメータ算出処理の説明］
制御装置１１が実行する補正パラメータ算出処理の手順について、図２のフローチャートを参照しながら説明する。
【００２４】
まず、Ｓ１では、制御装置１１は、左カメラ１０Ｌにより撮像された左画像を表す画像データと、右カメラ１０Ｒにより撮像された右画像を表す画像データとを取得する。次のＳ２では、制御装置１１は、補正パラメータ記憶部１３に記憶されている既存の補正パラメータを用いて、Ｓ１において取得された左右の画像からなるステレオ画像間の垂直方向のずれを補正し、そのステレオ画像を互いに平行化する。なお、Ｓ２の処理は、制御装置１１の画像平行化処理部１２の機能として実現される。
【００２５】
次のＳ３では、制御装置１１は、Ｓ２において平行化されたステレオ画像間の水平視差を算出し、算出した水平視差を画像上の座標に対応付けた視差マップを作成する。なお、Ｓ３の処理は、制御装置１１の視差算出部１４の機能として実現される。
【００２６】
そして、Ｓ４では、制御装置１１は、Ｓ１で取得されたステレオ画像と、そのステレオ画像に基づいてＳ３において作成された視差マップとに基づいて、ステレオ画像間の垂直ずれを算出する。ここでは、ステレオ画像間のオプティカルフローを最適に求める処理によって、ステレオ画像間の垂直ずれを算出する。
【００２７】
オプティカルフローの推定では、ステレオ画像のうちの一方の基準画像と、他方の比較画像とで対応関係にある画素の輝度値が（ほぼ）同じ値になっていると想定する。よって、基準画像と比較画像との間で画素の輝度値の類似性が高い領域を探索することで、対応する画素同士の座標のずれを算出する。ここで、対応する画素同士の座標のずれで表されるベクトルのうち、視差マップで表される水平視差の成分を除いたものを、その画素位置におけるステレオ画像間の垂直ずれとする。制御装置１１は、画素ごとの垂直ずれを画像全体について算出し、算出した垂直ずれを画像上の座標に対応付けた垂直ずれマップを作成する。
【００２８】
以下、ステレオ画像間の垂直ずれを算出する方法について、具体的に説明する。ここでは、ステレオ画像のうちの左画像の座標(x,y)における輝度値をI0(x,y)と表し、右画像の座標(x,y)における輝度値を、I1(x,y)と表す。ただし、ｘは画像の水平方向の座標であり、yは画像の垂直方向の座標である。
【００２９】
仮に、ステレオ画像間の垂直ずれが完全にない状態を想定した場合、左右の画像の輝度値について下記（１）のような関係が成立する。
【００３０】
【数１】
0006353289.tif 000002
なお、上記式（１）において、uは、視差マップで表される水平視差の値（ピクセル数）である。
【００３１】
実際には、左右の画像における対応する画素の間には、水平視差の他にステレオカメラ１０の歪み等に起因する垂直ずれが存在する。そこで、左画像の座標(x,y)の画素と対応関係にある右画像の画素との間の垂直ずれの値（ピクセル数）をｖとすると、下記式（２）のように表される。
【００３２】
【数２】
0006353289.tif 000003
そこで、画素ごとの垂直ずれｖを、オプティカルフローの関係式に基づいて算出する。まず、右画像の各画素について、輝度値と座標との対応を下記式（３）のように置き換えて、左右の画像間の水平視差ｕを相殺した上で、下記式（４）で表されるオプティカルフローの関係式によって垂直ずれｖを求める。
【００３３】
【数３】
0006353289.tif 000004
【００３４】
【数４】
0006353289.tif 000005
上記式（４）は、右画像の対応点(x,y)から垂直方向にｖピクセルずれた画素の輝度値と、左画像の対応点(x,y)の画素の輝度値との差分の２乗の総和で求められる誤差関数が最少となるパラメータｖを求める関係式である（Lucas-Kanade法）。上記式（４）は、凸最適化問題であり、“極小値が存在すれば大域的最小値である”ことが知られている。上記式（４）をテーラー展開すると、下記式（５）が得られる。
【００３５】
【数５】
0006353289.tif 000006
また、上記式（５）を変形すると、下記式（６）のように表される。
【００３６】
【数６】
0006353289.tif 000007
さらに、上記式（６）を行列の形式に変換すると、下記式（７）のように表される。
【００３７】
【数７】
0006353289.tif 000008
上記式（７）の最小化は、ｖの偏微分が０になることであり、下記式（８）のように解くことで、垂直ずれｖを求めることができる。
【００３８】
【数８】
0006353289.tif 000009
上記式（８）は最小二乗法によって解けるが、そのためには、複数回の反復計算が必要である。なお、最初の計算時において、ｖの初期値ｖ０は全て０に設定されているものとする。そして、その次の計算から過去に推定したｖの前回値をｖ０に使用する。Ｓ４におけるオプティカルフローの計算を、撮影タイミングが異なる複数組のステレオ画像に適用し、それぞれの計算結果を平均化することで、垂直ずれｖをロバストに推定できる。
【００３９】
図２のフローチャートの説明に戻る。制御装置１１は、Ｓ４において複数組のステレオ画像からそれぞれ計算された垂直ずれマップを複数保存する。そして、Ｓ５では、制御装置１１は、蓄積された複数の垂直ずれマップについて、平均化等の統計処理を施す。Ｓ６では、制御装置１１は、Ｓ５において統計処理された垂直ずれマップに基づいて補正パラメータを作成し、その補正パラメータを補正パラメータ記憶部１３に記録して、既存の補正パラメータを更新する。なお、Ｓ４〜Ｓ６の処理は、制御装置１１の補正パラメータ算出部１６の機能として実現される。
【００４０】
上述のＳ１〜Ｓ６の一連の処理のうち、Ｓ１〜Ｓ３の処理は、水平視差の算出結果を距離の算出や物体検出にリアルタイムに反映するために、所定時間内に処理を完了する必要のあるリアルタイム部分である。一方、Ｓ４〜Ｓ６は、複数組のステレオ画像に関する垂直ずれマップを蓄積し、それを統計処理して補正パラメータを作成するため、リアルタイム性が要求されない非リアルタイム部分である。
【００４１】
［計算事例］
図３（ａ）は、３００フレーム分のステレオ画像から計算された垂直ずれマップを統計処理することで得られた、ステレオ画像間の垂直ずれの分布を表す画像である。この画像は、垂直ずれの大きさを画像の色の濃淡で表現したものであり、色が濃いほど垂直ずれの量が大きいことを表している。図３（ａ）の事例では、画像の右上部分及び左下部分において、垂直ずれが大きくなっており、特に、画像の右上部分において顕著である。
【００４２】
図３（ｂ）は、図３（ａ）で表される垂直ずれを有するステレオカメラ１０を用いて撮像された測距対象の画像３１について、垂直ずれを補正しないで距離を算出した距離画像３２と、垂直ずれを補正した上で距離を算出した距離画像３３とを例示した図である。
【００４３】
図３（ｂ）に例示されるとおり、垂直ずれの補正を行っていない距離画像３２においては、画像の右上における楕円で囲んだ部分に、測距対象の画像３１には写っていない不自然な近距離物体が表れている。これに対し、垂直ずれの計算結果に基づいて補正を行った距離画像３３においては、前述のような不自然な近距離物体は表れず、測距対象の画像３１に写る風景と概ね一致する測距結果が得られている。
【００４４】
［補正パラメータの高信頼化・高精度化のための更なる工夫］
信頼性判定部１９により、垂直ずれの計算精度の低下が予想される特定の条件を判定し、その条件下において、補正パラメータ算出部１６が垂直ずれの算出を制限することで、補正パラメータの精度・信頼性を高めることができる。その場合、垂直ずれの算出を制限する対象は、特定の条件に該当する画素、その画素の周辺領域、あるいは画像全体の何れであってもよい。具体的には、以下の（１）〜（５）の条件下において、垂直ずれの算出を制限することで、補正パラメータの高信頼化・高精度化を実現できる。
【００４５】
（１）ステレオカメラ１０から入力されたステレオ画像において、白飛び（明るい部分の階調が失われ領域全体が白くなっている状態）や、黒つぶれ（暗い部分の階調が失われ領域全体が黒くなっている状態）が生じている場合、信頼性判定部１９は、その部分の画像から得られる垂直ずれの信頼性が低いと判定する。この場合、白飛び及び黒つぶれに該当する画素自体や周辺領域を、垂直ずれを算出する対象から除外することが考えられる。
【００４６】
（２）視差算出部１４によるステレオマッチングにおいて、左右の画像間のマッチングコスト（相違度）が高い場合、信頼性判定部１９は、その部分の画像から得られる垂直ずれの信頼性が低いと判定する。この場合、該当する画素自体や周辺領域を、垂直ずれを算出する対象から除外することが考えられる。
【００４７】
（３）ステレオカメラ１０の視界に介在する車両のウインドシールドに設けられたワイパ（図示なし）が作動している場合、信頼性判定部１９は、そのステレオ画像から得られる垂直ずれの信頼性が低いと判定する。
【００４８】
（４）幾何変換により同位置に変換した左右の画像において、一方の画像にハレーション等が起きていて両画像が互いに似ていない場合、信頼性判定部１９は、そのステレオ画像から得られる垂直ずれの信頼性が低いと判定する。
【００４９】
（５）物体検出部１７による検出状態の安定性を判定する安定性判定部１８において、検出と未検出とを繰り返す現象（ハンチング）等が検知された場合、信頼性判定部１９は、そのステレオ画像から得られる垂直ずれの信頼性が低いと判定する。
【００５０】
［効果］
実施形態の測距装置１によれば、以下の効果を奏する。
画像平行化処理部１２が、補正パラメータを用いてステレオ画像を相互に平行化することで、ステレオ画像間の垂直ずれを補正できる。その上で、視差算出部１４が、ステレオ画像間の水平視差を算出することで、距離算出部１５による測距の精度を高めることができる。さらに、補正パラメータ算出部１６が、新たに取得されたステレオ画像と、そのステレオ画像から算出された水平視差と基づいて、ステレオ画像間の垂直ずれを算出し、既得の補正パラメータを更新できる。このようにすることで、補正パラメータを最新の状況に応じて随時更新することができるため、測距精度の経時的な低下を防ぎ、測距精度を維持・向上できる。
【符号の説明】
【００５１】
１…測距装置、１０…ステレオカメラ、１０Ｌ…撮像装置（左カメラ）、１０Ｒ…撮像装置（右カメラ）、１１…制御装置、１２…画像平行化処理部、１３…補正パラメータ記憶部、１４…視差算出部、１５…距離算出部、１６…補正パラメータ算出部、１７…物体検出部、１８…安定性判定部、１９…信頼性判定部。
【図１】
0006353289.tif 000010
【図２】
0006353289.tif 000011
【図３】
0006353289.tif 000012