画像処理装置及び画像処理方法
【課題】道路平面の識別処理を少ない計算量で行うことが可能な画像処理装置を提供する。
【解決手段】画像処理装置20は、異なる時刻に撮像された複数の画像データを処理して、画像の各領域のオプティカルフローを算出するオプティカルフロー算出手段22と、オプティカルフロー算出手段により算出された少なくとも4つのオプティカルフローが同一平面上のオプティカルフローであると仮定して、画像の各領域のフローパラメータを算出するフローパラメータ算出手段24と、フローパラメータ算出手段により算出されたフローパラメータが、道路平面のフローパラメータと類似する領域を、道路平面を構成する領域であると識別する領域識別手段26と、を備える。
【解決手段】画像処理装置20は、異なる時刻に撮像された複数の画像データを処理して、画像の各領域のオプティカルフローを算出するオプティカルフロー算出手段22と、オプティカルフロー算出手段により算出された少なくとも4つのオプティカルフローが同一平面上のオプティカルフローであると仮定して、画像の各領域のフローパラメータを算出するフローパラメータ算出手段24と、フローパラメータ算出手段により算出されたフローパラメータが、道路平面のフローパラメータと類似する領域を、道路平面を構成する領域であると識別する領域識別手段26と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラが移動しながら撮像した画像を用いて、画像上の撮像された物体を識別する画像処理装置及び画像処理方法に関する。
【背景技術】
【0002】
特許文献1には、車両に前方を監視する1台のカメラを搭載して、このカメラにより撮像された画像を処理して周辺の車両や障害物などを識別する装置が提案されている。より詳しく説明すると、この特許文献1に係る装置は、カメラが移動しながら路面を撮像し、第1の画像の路面上の特徴点と、第2の画像の路面上の特徴点とを重ね合わせるための変換行列を算出する。そして、当該装置は、画像の複数の特徴点にこの変換行列を適用し、重ね合わせに失敗した特徴点を立体物の特徴点として識別する。
【特許文献1】特開2003−44996号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
上述した従来技術に係る装置では、路面上の特徴点を重ね合わせるための変換行列を算出して画像にこの変換行列を適用する必要がある。しかしながら、この処理のための計算量は膨大であるため、障害物の識別処理の計算周期および精度は装置の計算能力により制限されてしまう。即ち、障害物の識別結果を高解像度・高精度で得たい場合には、障害物の識別処理の計算周期を遅くする必要がある。一方、障害物を識別結果を高い計算周期で得たい場合には、障害物の識別結果の解像度・精度が低下してしまう。
【0004】
本発明は、このような問題を解決するためになされたものであり、画像上の撮像された物体の識別処理を少ない計算量で行うことが可能な画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
上述した目的を達成するために、本発明に係る画像処理装置は、異なる時刻に撮像された複数の画像データを処理して、画像の各領域ごとのオプティカルフローを算出するオプティカルフロー算出手段と、オプティカルフロー算出手段により算出された少なくとも4つのオプティカルフローが同一平面上のオプティカルフローであると仮定して、画像の各領域ごとのフローパラメータを算出するフローパラメータ算出手段と、フローパラメータ算出手段により算出されたフローパラメータが、道路平面のフローパラメータと類似する領域を、道路平面を構成する領域であると識別する領域識別手段と、を備えることを特徴とする。この構成によれば、画像処理装置は、比較的に簡易な処理でフローパラメータを算出し、このフローパラメータを用いて画像の道路平面を構成する領域を識別するため、画像の各領域を識別するための処理を簡易なものとして、計算量を少なくすることができる。これにより、画像の各領域の識別処理における画像の解像度を向上したり、画像の各領域の識別処理を実行する周期を短くすることができる。
【0006】
上述した画像処理装置において、オプティカルフロー算出手段は、道路平面上の特徴的な画像部分について基準オプティカルフローを算出し、基準オプティカルフローに基づいて画像の各領域ごとに探索範囲を設定し、探索範囲内を探索することで画像の各領域ごとのオプティカルフローを算出することが好ましい。この構成によれば、画像処理装置は、道路平面上の特徴的な領域について算出されたオプティカルフローに基づいて画像の一部に探索範囲の設定するため、探索範囲を適切な位置に設定することができ、オプティカルフローの精度を向上することができる。特に、基準オプティカルフローの大きさに基づいて前記探索範囲が設定される位置や面積を決定することにより、探索範囲を適切に設定することができ、オプティカルフローの精度を向上することができる。
【0007】
上述した画像処理装置において、オプティカルフロー算出手段は、画像において自車両の進行方向の領域を道路平面の領域とし、この領域に含まれる特徴的な画像部分について基準オプティカルフローを算出することが好ましい。この構成によれば、通常の走行状態では自車両の進行方向は道路平面であるため、画像において自車両の進行方向の領域を道路平面の領域とし、この領域に含まれる特徴的な画像部分について基準オプティカルフローを算出する。よって、基準オプティカルフローを適切に設定することができる。
【0008】
上述した画像処理装置において、領域識別手段は、フローパラメータ算出手段により算出されたフローパラメータが、過去に算出された道路平面のフローパラメータと類似する領域を、道路平面を構成する領域であると識別することが好ましい。この構成によれば、画像処理装置は、過去に算出された道路平面のフローパラメータを利用して道路平面を構成する領域を識別するため、道路平面を構成する領域を簡易な処理で識別することができる。
【0009】
上述した画像処理装置において、領域識別手段は、自車両の進行方向の領域のフローパラメータの経時変化が予め設定された閾値より小さい場合に、当該領域のフローパラメータを道路平面のフローパラメータとして設定することが好ましい。この構成によれば、画像処理装置は、自車両の進行方向の領域のフローパラメータの経時変化が小さい場合に、その領域のフローパラメータを道路平面のフローパラメータとして設定するため、より確実に道路平面である領域のフローパラメータを利用して画像内の道路平面を識別することができる。
【0010】
上述した画像処理装置において、領域識別手段は、自車両の進行方向の領域のフローパラメータが標準的な道路平面のフローパラメータと類似する場合に、当該領域のフローパラメータを道路平面のフローパラメータとして設定することが好ましい。この構成によれば、画像処理装置は、自車両の進行方向の領域のフローパラメータが標準的な道路平面のフローパラメータと類似する場合に、当該領域のフローパラメータを道路平面のフローパラメータとして設定するため、より確実に道路平面である領域のフローパラメータを利用して画像内の道路平面を識別することができる。
【0011】
また、上述した目的を達成するために、本発明に係る画像処理方法は、異なる時刻に撮像された複数の画像データを処理して、画像の各領域ごとのオプティカルフローを算出するオプティカルフロー算出ステップと、算出された少なくとも4つのオプティカルフローが同一平面上のオプティカルフローであると仮定して、画像の各領域ごとのフローパラメータを算出するフローパラメータ算出ステップと、算出されたフローパラメータが、道路平面のフローパラメータと類似する領域を、道路平面を構成する領域であると識別する領域識別ステップと、を含む。
【発明の効果】
【0012】
本発明の画像処理装置及び画像処理方法によれば、画像上の撮像された物体の識別処理を少ない計算量で行うことができる。
【発明を実施するための最良の形態】
【0013】
以下、図面を参照して、本発明の画像処理装置の好適な実施形態について説明する。本実施形態において、画像処理装置は車両に搭載されている。
【0014】
図1に示すように、画像処理装置20には、撮像手段としてカメラ10が接続されている。カメラ10は、例えば、CCD[Charge Coupled Device]カメラ10であり、画像処理装置20を搭載する自動車の前方かつ中央に取り付けられる。カメラ10は、所定時間が経過する度に、自動車の前方を撮像して、複数の画素データからなる画像データを生成する。カメラ10は、生成された画像データを、画像処理装置20に逐次出力する。
【0015】
画像処理装置20は、カメラ10から画像データを取り込むと、画像データを処理して画像上の物体を識別する処理を行う。特に、画像処理装置20は、画像上の被撮像物が道路平面であるか否かを識別する。画像処理装置20は、物理的には、CPU、ROM、RAM等で構成されている。また、画像処理装置20は、機能的には、オプティカルフロー算出手段22と、フローパラメータ算出手段24と、領域識別手段26とを備えている。これらの機能は、CPUおよびRAMが、ROMに記憶されたプログラムを実行することにより実現される。
【0016】
オプティカルフロー算出手段22は、画像データをテンプレートマッチング法により処理することで、オプティカルフローベクトルを算出する。フローパラメータ算出手段24は、算出されたオプティカルフローベクトルに基づいて、一般的にフローパラメータと呼ばれる8つのパラメータを算出する。領域識別手段26は、算出されたフローパラメータに基づいて、画像上の被撮像物が道路平面であるか否かを識別する。
【0017】
上述した画像上の物体を識別する処理を可能とするために、画像処理装置20には車両センサ30が接続されている。車両センサ30は、車両の挙動を検出するものであればよく、例えば、車速センサ、ハンドル角センサ、ヨーレートセンサ、ピッチセンサ、ロールセンサ、前後方向加速度センサ、横方向加速度センサ、上下方向加速度センサなどを含んで構成すればよい。これらのセンサによる検出値は、画像処理装置20により取り込まれ、画像上の被撮像物を識別する処理に利用される。
【0018】
画像処理装置20による物体識別処理の結果は、車室内に設けられたモニターの表示制御や車両の動作制御などに利用される。例えば、画像処理装置20による物体識別処理の結果が表示制御装置40に入力されると、表示制御装置40は、画像上の各領域の識別結果をモニターに表示したり、運転者への警告をモニターに表示する。また、画像処理装置20による物体識別処理の結果が車両制御装置50に入力されると、車両制御装置50は、車両前方の物体との衝突を回避するように、エンジン、ブレーキ、変速機、ステアリングなどを制御する。
【0019】
[物体識別の原理]
次に、画像処理装置20が画像上の物体を識別する原理について説明する。
【0020】
先ず、図2を参照して、3つの座標系、即ち、画像座標系、カメラ座標系および車両座標系について説明する。画像座標系は、カメラ10の画像面に設定された2次元座標系であり、画像の中心を原点とし、画像の縦方向をx軸とし、画像の横方向をy軸としている。カメラ座標系は、カメラ10を中心に設定された3次元座標系であり、カメラ10の位置を原点とし、カメラ10の上下方向をXc軸とし、カメラ10の左右方向をYc軸とし、カメラ10の光軸方向をZc軸としている。車両座標系は、カメラ座標系を回転したものであり、車両の上下方向をXv軸とし、車両の左右方向をYv軸とし、車両の進行方向をZv軸としている。車両に対するカメラ10の姿勢が、図3に示されている。図3から理解できるように、カメラ座標系のZc軸と車両座標系のZv軸とがなす角度はθであり、カメラ座標系のYc軸と車両座標系のYz軸とがなす角度はφである。説明の便宜のため角度θ,φを大きく示しているが、実際にはカメラ座標系と車両座標系とはほぼ一致しており角度θ,φは微小である。なお、上述した画像座標系、カメラ座標系および車両座標系は、車両の移動に伴ってカメラ10と共に移動する。
【0021】
次に、図4を参照して、オプティカルフローを生じさせるカメラ10の運動について説明する。車両が車両座標系のXv軸方向、Yv軸方向、Zv軸方向にそれぞれa,b,cの速度で並進運動し、Xv軸周り、Yv軸周り、Zv軸周りにそれぞれω1,ω2,ω3の角速度で回転運動する場合には、車両座標系を基準とするカメラ10の運動パラメータは{a,b,c,ω1,ω2,ω3}である。車両座標系を基準とするカメラ10の運動パラメータを、車両座標系からカメラ座標系に座標変換すると、カメラ座標系を基準とするカメラ10の運動パラメータ{ac,bc,cc,ω1c,ω2c,ω3c}となる。
【0022】
カメラ10が上記の運動パラメータ{ac,bc,cc,ω1c,ω2c,ω3c}で運動する場合に、画像上の位置(x,y)で、Zc=p・Xc+q・Yc+rで表される平面が撮像されると、次の数式(1)で表されるオプティカルフロー(u,v)が引き起こされる。なお、uはオプティカルフローベクトルのx方向成分であり、vはオプティカルフローベクトルのy方向成分である。
【0023】
【数1】
【0024】
なお、上の数式(1)において、fはカメラ10の焦点距離である。また、p,qおよびrは、平面を規定するための平面パラメータである。また、8つのパラメータU,V,A,B,C,D,E及びFは、一般にフローパラメータと呼ばれる数値であり、次の数式(2)で定義されている。なお、数式(1)および(2)については、「画像理解‐3次元認識の数理」(金谷健一著)に詳述されている。
【0025】
【数2】
【0026】
上述したように、オプティカルフローは、数式(1)および(2)により表されるものであるが、実際には連続撮像して得られる一連の画像を処理して算出される。即ち、あるタイミングの画像を多数の領域に分割してから、テンプレートマッチング法によりそれらの各領域と一致する領域を次のタイミングの画像から探索することにより、オプティカルフローは算出される。
【0027】
さらに、このように算出されたオプティカルフローから、フローパラメータ{U,V,A,B,C,D,E,F}を算出することができる。即ち、画像上の一部の領域を平面であると見做せば、その領域ではフローパラメータは同一であるため、その領域の4つ以上のオプティカルフローの情報(x,y,u,v)からフローパラメータを算出することができる。例えば、画像上の一部の領域の4つのオプティカルフロー情報(x1,y1,u1,v1)、(x2,y2,u2,v2)、(x3,y3,u3,v3)、(x4,y4,u4,v4)と、カメラ10の焦点距離fを上の数式(1)に代入すると、フローパラメータ{U,V,A,B,C,D,E,F}を未知数として含む数式が合計8つ得られる。よって、これらの8つの数式を周知の手法で処理することにより、フローパラメータの数値を求めることができる。フローパラメータの算出のために、5つ以上のオプティカルフロー情報を用いる場合には、最小自乗法などの近似法を用いればよい。なお、以下の説明では、画像上の位置(x,y)について算出されたフローパラメータを{Ux,y,Vx,y,Ax,y,Bx,y,Cx,y,Dx,y,Ex,y,Fx,y}と表す。
【0028】
上記の数式(2)から理解できるように、フローパラメータ{U,V,A,B,C,D,E,F}は、カメラ10の運動パラメータ{ac,bc,cc,ω1c,ω2c,ω3c}および平面パラメータ{p,q,r}によって一義的に定義される。よって、カメラ10の運動パラメータ{ac,bc,cc,ω1c,ω2c,ω3c}が一定値である場合には、フローパラメータ{U,V,A,B,C,D,E,F}は、撮像された物体表面の平面パラメータ{p,q,r}と等価な数値として用いることができる。本実施形態における物体識別の原理ではこのようなフローパラメータの特性が利用されており、画像上の各領域について算出されたフローパラメータに基づいて画像上の各領域の平面が識別されている。
【0029】
即ち、同一平面を撮像した画像領域については8つのフローパラメータはほぼ等しい値となる。よって、画像上の各領域のフローパラメータ{Ux,y,Vx,y,Ax,y,Bx,y,Cx,y,Dx,y,Ex,y,Fx,y}を互いに比較することにより、2つの画像領域が同一平面であるか否かを判定することができる。特に、本実施形態では、3次元座標系における幾何学的配置が既知である基準平面のフローパラメータとして、道路平面を基準とする平面のフローパラメータ{Ur,Vr,Ar,Br,Cr,Dr,Er,Fr}を求める。そして、画像上の各領域のフローパラメータを道路平面のフローパラメータと比較することにより、画像上の各領域が、道路平面あるか否かを識別している。ここで、両フローパラメータが類似する場合には、画像上のその領域は道路平面であると識別される。なお、両フローパラメータの類似とは、両フローパラメータが一致する場合、及び両フローパラメータの差分が所定の閾値より小さい場合である。
【0030】
[物体識別処理]
次に、図5〜図8のフローチャートを参照して、本実施形態の画像処理装置20による物体識別処理について説明する。図5には、画像処理装置20による物体識別処理の全体的なフローが示されている。図6には、オプティカルフローを算出する処理のフローが示されている。図7には、道路平面のフローパラメータを設定する処理のフローが示されている。また、図8には、道路平面のフローパラメータを設定する別の処理のフローが示されている。
【0031】
図5のフローチャートに示されるように、画像処理装置20は、一定の時間間隔(例えば30msec)ごとのタイミングTnに画像データを取り込む(S501)。画像処理装置20により取り込まれた画像データの一例を、図9に示す。この画像では、前方に道路が拡がっている。道路上には対向車両が存在し、道路の端には歩道が延びている。画像処理装置20は、取り込まれた画像データをLoGフィルタ(Laplacian of Gaussian Filter)で処理する。次に、画像処理装置20は、全画像面を矩形の小さな領域(例えば、8×8画素の領域、以下、小領域と呼ぶ)に網目状に分割し(図10参照)、テンプレートマッチング法により各小領域ごとにオプティカルフローベクトルを算出する(S502、図11参照)。オプティカルフローを算出する処理については、図6を参照して後に詳しく説明する。
【0032】
次に、画像処理装置20は、隣接する4つの小領域を含む領域を一組の領域(以下、中領域と呼ぶ)として設定し、各中領域を一枚の平面であると仮定して各中領域のフローパラメータを算出する(S503)。中領域に含まれる4つの小領域のオプティカルフロー情報(x1,y1,u1,v1)、(x2,y2,u2,v2)、(x3,y3,u3,v3)、(x4,y4,u4,v4)から当該中領域のフローパラメータ{Ux,y,Vx,y,Ax,y,Bx,y,Cx,y,Dx,y,Ex,y,Fx,y}を算出する方法については既述のとおりである。
【0033】
次に、画像処理装置20は、確実に道路平面である中領域のフローパラメータ{Ur,Vr,Ar,Br,Cr,Dr,Er,Fr}を設定する(S504)。道路平面のフローパラメータを設定する処理については、図7及び図8を参照して後に詳しく説明する。そして、画像処理装置20は、画像上の各中領域のフローパラメータ{Ux,y,Vx,y,Ax,y,Bx,y,Cx,y,Dx,y,Ex,y,Fx,y}を、道路平面のフローパラメータ{Ur,Vr,Ar,Br,Cr,Dr,Er,Fr}と比較して、両フローパラメータが類似するか否かを判定する(S505)。具体的には、画像処理装置20は、次の数式(3.1)又は数式(3.2)を用いて両フローパラメータの差分ΔFPrを求め、この差分ΔFPrが予め設定された閾値THよりも大きいか否かを判定する。
【0034】
【数3】
【0035】
ここで、kU,kV,kA,kB,kC,kD,kE,kFは、各フローパラメータの重み係数である。各フローパラメータの重み係数kU〜kFとしては、道路平面に対応する領域を識別するために好適な値が設定されればよい。ここで、各フローパラメータの重み係数kU〜kFとしてそれぞれ異なる値が設定されてもよいし、共通する値が設定されてもよい。また、差分ΔFPrと比較される閾値THは、道路平面に対応する領域を識別するために好適な値が設定される。例えば、閾値THは、自車両の走行速度やカメラ10から道路の被撮像位置までの距離に応じて異なる値としてもよい。
【0036】
ステップ505において差分ΔFPrが閾値THよりも小さいと判定された場合には、その中領域のフローパラメータが道路平面のフローパラメータと類似するため、その中領域が道路平面であると識別する(S506)。例えば、図12において斜線で示される領域が道路平面であると識別される。一方、ステップ505において差分ΔFPrが閾値THよりも大きいと判定された場合には、その中領域のフローパラメータが道路平面のフローパラメータと類似しないため、その中領域が道路平面以外であると識別する。
【0037】
次に、図6を参照して、オプティカルフローを算出する処理について説明する。図6には、オプティカルフローを算出する処理のフローチャートが示されている。図6に示されるフローチャートは、図5のステップ502に対応している。
【0038】
ステップ601〜ステップ607において、画像処理装置20は、道路平面のオプティカルフローとして基準となる基準オプティカルフローを算出する。先ず、画像処理装置20は、時刻Tnに撮像された画像において、車両前方の領域であって道路平面であると推測される領域から、特徴的な画像部分を含む小領域を抽出する(S601)。画像処理装置20により抽出される小領域は、道路平面に描かれた横断歩道、白線、道路標識などの特徴的な画像部分を含む領域である。図13に示される処理例では、画像の道路平面に対応する領域から、特徴的な画像部分として丸印内にある横断歩道のエッジ部分が抽出されている。図14には、特徴的な画像部分を含む小領域が拡大して示されている。このような特徴的な画像部分を含む小領域はパターンマッチング処理に適しており、この領域を利用することでオプティカルフローベクトルを高精度に算出できる。
【0039】
道路平面であると推測される領域には特徴的な画像部分が複数あるため、画像処理装置20は、これらの特徴的な画像部分を含む複数の小領域を抽出すればよい。但し、画像処理装置20は、前方を走行する他車両に対応する小領域が抽出されることを回避する必要がある。このために、画像処理装置20は、車両速度ごとに標準的な車間距離のデータを予め記憶しておく。そして、画像処理装置20は、車両センサ30から車両速度の検出値を取り込んで、車両前方の領域であってその車両速度に応じた車間距離内の領域から、道路平面の特徴的な画像部分を含む小領域を抽出することが好ましい。
【0040】
次に、画像処理装置20は、特徴的な画像部分を含む小領域の中心(xn,yn)を、オプティカルフローベクトルの始点として設定する(S602)。さらに、画像処理装置20は、図14に示されるように、時刻Tnに撮像された画像において、特徴的な画像部分を含む小領域と中心を同じくする範囲であって特徴的な画像部分を含む小領域よりも一回り大きな範囲を、テンプレートマッチング処理の対象となる探索範囲として決定する。そして、画像処理装置20は、時刻Tn+1に撮像された画像において、画像座標系の同位置に探索範囲を設定する(S603、図15参照)。
【0041】
次に、画像処理装置20は、時刻Tnの特徴的な画像部分を含む小領域をテンプレートとして用いて、時刻Tn+1の画像に設定された探索範囲に対してテンプレートマッチング処理を行って、時刻Tn+1における探索範囲に含まれる各小領域について相関値を演算する(S604)。そして、画像処理装置20は、各小領域について演算された相関値を互いに比較して、相関値が最大となる小領域を求める(S605)。この結果、図15に示されるように、タイミングTnの画像の小領域と適合する小領域が、時刻Tn+1の画像の探索範囲内から探索される。
【0042】
次に、画像処理装置20は、時刻Tn+1の画像で特徴的な画像部分を含む小領域の中心(xn+1,yn+1)を、オプティカルフローベクトルの終点として設定する(S606)。そして、画像処理装置20は、オプティカルフローベクトルの始点から終点までのベクトルを、道路平面のオプティカルフローとして基準となる基準オプティカルフローベクトル(xn+1−xn,yn+1−yn)として算出する(S607)。
【0043】
次に、画像処理装置20は、ステップ607で算出された特徴的な画像部分のオプティカルフローベクトルに基づいて探索範囲を調節しつつ、画像上の各小領域ごとに探索範囲を設定する(S608)。具体的には、画像処理装置20は、先ず、画像上の各小領域の夫々について、小領域と中心を同じくする範囲であってこの小領域よりも一回り大きな範囲を、テンプレートマッチング処理の対象となる探索範囲として仮設定する。そして、このように仮設定された探索範囲の夫々を、基準オプティカルフローベクトル(xn+1−xn,yn+1−yn)の距離及び方向に従って移動させる。
【0044】
図16には、車両速度が大きい場合に設定される探索範囲が示されている。車両速度が大きい場合には、基準オプティカルフローベクトルは大きいため、探索範囲は当初設定された位置(破線)から大きくずらされた位置(実線)に設定されている。一方、図17には、車両速度が小さい場合に設定される探索範囲が示されている。車両速度が小さい場合には、基準オプティカルフローベクトルは小さいため、探索範囲は当初設定された位置(破線)に近い位置(実線)に設定されている。このように探索範囲の位置を調節することにより、移動後の小領域が確実に探索範囲に入るため、移動後の小領域を確実に探索することができ、オプティカルフローベクトルを高精度に算出することが可能となる。
【0045】
なお、上記の探索範囲の設定に際して、基準オプティカルフローベクトルに応じて探索範囲の面積を調節してもよい。例えば、基準オプティカルフローベクトルが大きい場合には探索範囲の面積を大きくし、基準オプティカルフローベクトルが小さい場合には探索範囲の面積を小さくすればよい。このように探索範囲の面積を調節することにより、探索範囲を必要最小限な大きさに調節することができるため、オプティカルフローベクトルの算出処理の演算時間を短くすることができる。また、探索範囲を必要最小限な大きさに調節することにより、誤った小領域が探索される確率が小さくなるため、オプティカルフローベクトルを高精度に算出することが可能となる。
【0046】
最後に、画像処理装置20は、時刻Tnの画像の各小領域をテンプレートとして用いて、時刻Tn+1の画像に設定された探索範囲に対してテンプレートマッチング処理を行って、時刻Tn+1の画像に設定された探索範囲から相関値が最大となる小領域を求める。そして、画像処理装置20は、時刻Tnにおける各小領域の中心を始点とし、時刻Tn+1における移動後の各小領域の中心を終点とするベクトルを、各領域ごとのオプティカルフローベクトルとして算出する(S609)。
【0047】
次に、図7を参照して、道路平面のフローパラメータを設定する処理について説明する。図7には、道路平面のフローパラメータを設定する処理のフローチャートが示されている。図7に示されるフローチャートは、図5のステップ504に対応している。
【0048】
先ず、画像処理装置20は、車両進行方向の複数の中領域を道路平面に対応するものと推測し、これらの中領域について算出されたフローパラメータを監視して、フローパラメータの経時変化の大きさを求める(S701)。ここで、経時変化の大きさは、フローパラメータ{Ux,y,Vx,y,Ax,y,Bx,y,Cx,y,Dx,y,Ex,y,Fx,y}のそれぞれについて算出される。次に、画像処理装置20は、各フローパラメータの経時変化の大きさを予め設定された閾値TU,TV,TA,TB,TC,TD,TE,TFと比較して、フローパラメータの経時変化の大きさが閾値TU〜TFより小さい中領域を判別する(S702)。
【0049】
ここで、閾値TU〜TFは、フローパラメータの安定度合いを判定するためのものである。ある中領域についてフローパラメータの経時変化が計測されている間に、その中領域が継続して道路平面である場合には、その中領域のフローパラメータは安定しており、フローパラメータの経時変化の大きさは閾値TU〜TFより小さくなる。一方、その中領域が道路平面以外である場合には、その中領域のフローパラメータは変化して不安定となり、フローパラメータの経時変化の大きさは閾値TU〜TFより大きくなる。よって、フローパラメータの経時変化の大きさが閾値TU〜TFより小さい場合に、その中領域が道路平面であることを判別することが可能となる。
【0050】
但し、車両の走行状態によっては、車両に角速度変化ω1,ω2,ω3が発生することもある。このように角速度変化ω1,ω2,ω3が発生する場合には、実際には車両進行方向の中領域が道路平面に対応していても、角速度変化ω1,ω2,ω3を数式(2)に含むフローパラメータについては角速度の変化に伴ってその経時変化が大きくなるため、車両進行方向の中領域が道路平面に対応することを判別できなくなってしまう。そこで、角速度変化ω1,ω2,ω3が発生する走行状態である場合には、角速度変化を数式(2)に含まないフローパラメータを選択して、選択されたフローパラメータの経時変化と閾値TU〜TFを比較する。
【0051】
実際の処理では、画像処理装置20は、フローパラメータA,B,C,Dを選択して、フローパラメータA,B,C,Dの経時変化を閾値TA,TB,TC,TDと比較することが好ましい。ここで、フローパラメータA,Dは、数式(2)にヨーレートω1,ピッチレートω2,ロールレートω3を含まない。また、フローパラメータB,Cは、数式(2)にヨーレートω1,ピッチレートω2を含まない。よって、ヨーレートω1やピッチレートω2が発生する走行状態であっても、フローパラメータA,B,C,Dの経時変化は閾値TA,TB,TC,TDより小さくなるため、車両進行方向の中領域が道路平面に対応することを判別できる。なお、フローパラメータB,Cは、数式(2)にロールレートω3を含むものの、車両に生じるロールレートの値は小さいため、フローパラメータB,Cの経時変化は小さい。
【0052】
ステップ703において、画像処理装置20は、車両進行方向の中領域のフローパラメータ{Ux,y,Vx,y,Ax,y,Bx,y,Cx,y,Dx,y,Ex,y,Fx,y}を、標準的な道路平面のフローパラメータ{Uav,Vav,Aav,Bav,Cav,Dav,Eav,Fav}と比較して、両フローパラメータが類似する中領域を判別する(S703)。ここで、標準的な道路平面のフローパラメータとは、図3に示されるように標準的な位置及び向きでカメラ10が配置された場合に発生する道路平面のフローパラメータであり、計算又は実測により予め求められる値である。具体的には、画像処理装置20は、次の数式(4.1)又は数式(4.2)を用いて両フローパラメータの差分ΔFPavを求め、この差分ΔFPavが予め設定された閾値THよりも小さい中領域を判別する。
【0053】
【数4】
【0054】
ステップ703において、両フローパラメータの差分FPavが予め設定された閾値THより小さい場合には、車両進行方向の中領域のフローパラメータは道路平面として妥当な値である。よって、画像処理装置20は、車両進行方向の当該中領域のフローパラメータを、道路平面のフローパラメータとして設定する(S704)。
【0055】
次に、図8を参照して、道路平面のフローパラメータを設定する処理の変形例について説明する。図8には、道路平面のフローパラメータを設定する処理のフローチャートが示されている。図8に示されるフローチャートは、図5のステップ504に対応している。
【0056】
先ず、画像処理装置20は、ステップ503で算出されたフローパラメータであって、所定時間前(例えば3秒前)の時刻Tn−kに撮像された画像の各中領域のフローパラメータ{Un−k,Vn−k,An−k,Bn−k,Cn−k,Dn−k,En−k,Fn−k}を取得する(S801)。次に、画像処理装置20は、同じくステップ503で算出されたフローパラメータであって、現在時刻Tnに撮像された画像の各中領域のフローパラメータ{Un,Vn,An,Bn,Cn,Dn,En,Fn}を取得する(S802)。
【0057】
そして、画像処理装置20は、画像の各中領域について、現在時刻Tnのフローパラメータ{Un,Vn,An,Bn,Cn,Dn,En,Fn}を、所定時間前の時刻Tn−kのフローパラメータ{Un−k,Vn−k,An−k,Bn−k,Cn−k,Dn−k,En−k,Fn−k}と比較して、両フローパラメータが類似する中領域を判別する(S803)。具体的には、画像処理装置20は、次の数式(5.1)又は数式(5.2)を用いて両フローパラメータの差分ΔFPnを求め、この差分ΔFPnが予め設定された閾値THよりも小さい中領域を判別する。
【0058】
【数5】
【0059】
建築物や他車両などに対応する中領域のフローパラメータは著しく変化する。一方、道路平面に対応する中領域のフローパラメータはほとんど変化しない。よって、ステップ703において、両フローパラメータの差分FPnが予め設定された閾値THより小さい場合には、このようにフローパラメータの変化が小さい中領域は道路平面である可能性が高い。よって、画像処理装置20は、差分FPnが閾値THより小さい中領域のフローパラメータを、道路平面のフローパラメータとして設定する(S804)。
【0060】
図18には、所定時間前の時刻Tn−kの画像が示されており、図19には、現在時刻Tnの画像が示されている。図18および図19において太線で囲われる中領域は、両時刻Tn−k,Tnにおいて道路平面に対応している。このように両時刻Tn−k,Tnにおいて道路平面を撮像した中領域のフローパラメータが、道路平面のフローパラメータとして設定される。なお、図18および図19に示されるように、両時刻Tn−k,Tnにおいて道路平面を撮像した中領域が複数ある場合には、これらの中領域のフローパラメータを平均した値を、道路平面のフローパラメータとして設定すればよい。
【0061】
なお、図7又は図8の処理により設定された道路平面のフローパラメータは、その後の処理において繰り返し利用することができる。即ち、画像処理装置は、画像の各中領域ごとにフローパラメータを算出すると、各中領域について算出されたフローパラメータが、過去に算出された道路平面のフローパラメータと類似する領域を、道路平面を構成する領域であると識別することが好ましい。この構成によれば、画像処理装置は、道路平面のフローパラメータが既に算出されているため、道路平面を構成する領域を簡易な処理で識別することができる。
【図面の簡単な説明】
【0062】
【図1】本実施形態の画像処理装置を示す概略図である。
【図2】画像座標系、カメラ座標系、車両座標系を説明するための模式図である。
【図3】車両に搭載されたカメラの姿勢を説明するための模式図である。
【図4】車両の運動パラメータを説明するための模式図である。
【図5】物体識別処理の概略を示すフローチャートである。
【図6】オプティカルフローの算出処理を示すフローチャートである。
【図7】道路平面のフローパラメータを設定する処理を示すフローチャートである。
【図8】道路平面のフローパラメータを設定する処理を示す別のフローチャートである。
【図9】画像処理装置に取り込まれた画像を示す図である。
【図10】画像の小領域を示す図である。
【図11】画像のオプティカルフローを示す図である。
【図12】画像から識別された道路平面を示す図である。
【図13】画像から抽出される特徴的な画像部分を示す図である。
【図14】特徴的な画像部分を拡大して示す図である。
【図15】移動後の特徴的な画像部分を拡大して示す図である。
【図16】車速が大きい場合に設定される探索範囲を示す図である。
【図17】車速が小さい場合に設定される探索範囲を示す図である。
【図18】時刻Tn−kにおいて道路平面に対応する領域を示す図である。
【図19】時刻Tnにおいて道路平面に対応する領域を示す図である。
【符号の説明】
【0063】
10…カメラ、20…画像処理装置、30…車両センサ、40…表示制御装置、50…車両動作制御装置。
【技術分野】
【0001】
本発明は、カメラが移動しながら撮像した画像を用いて、画像上の撮像された物体を識別する画像処理装置及び画像処理方法に関する。
【背景技術】
【0002】
特許文献1には、車両に前方を監視する1台のカメラを搭載して、このカメラにより撮像された画像を処理して周辺の車両や障害物などを識別する装置が提案されている。より詳しく説明すると、この特許文献1に係る装置は、カメラが移動しながら路面を撮像し、第1の画像の路面上の特徴点と、第2の画像の路面上の特徴点とを重ね合わせるための変換行列を算出する。そして、当該装置は、画像の複数の特徴点にこの変換行列を適用し、重ね合わせに失敗した特徴点を立体物の特徴点として識別する。
【特許文献1】特開2003−44996号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
上述した従来技術に係る装置では、路面上の特徴点を重ね合わせるための変換行列を算出して画像にこの変換行列を適用する必要がある。しかしながら、この処理のための計算量は膨大であるため、障害物の識別処理の計算周期および精度は装置の計算能力により制限されてしまう。即ち、障害物の識別結果を高解像度・高精度で得たい場合には、障害物の識別処理の計算周期を遅くする必要がある。一方、障害物を識別結果を高い計算周期で得たい場合には、障害物の識別結果の解像度・精度が低下してしまう。
【0004】
本発明は、このような問題を解決するためになされたものであり、画像上の撮像された物体の識別処理を少ない計算量で行うことが可能な画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
上述した目的を達成するために、本発明に係る画像処理装置は、異なる時刻に撮像された複数の画像データを処理して、画像の各領域ごとのオプティカルフローを算出するオプティカルフロー算出手段と、オプティカルフロー算出手段により算出された少なくとも4つのオプティカルフローが同一平面上のオプティカルフローであると仮定して、画像の各領域ごとのフローパラメータを算出するフローパラメータ算出手段と、フローパラメータ算出手段により算出されたフローパラメータが、道路平面のフローパラメータと類似する領域を、道路平面を構成する領域であると識別する領域識別手段と、を備えることを特徴とする。この構成によれば、画像処理装置は、比較的に簡易な処理でフローパラメータを算出し、このフローパラメータを用いて画像の道路平面を構成する領域を識別するため、画像の各領域を識別するための処理を簡易なものとして、計算量を少なくすることができる。これにより、画像の各領域の識別処理における画像の解像度を向上したり、画像の各領域の識別処理を実行する周期を短くすることができる。
【0006】
上述した画像処理装置において、オプティカルフロー算出手段は、道路平面上の特徴的な画像部分について基準オプティカルフローを算出し、基準オプティカルフローに基づいて画像の各領域ごとに探索範囲を設定し、探索範囲内を探索することで画像の各領域ごとのオプティカルフローを算出することが好ましい。この構成によれば、画像処理装置は、道路平面上の特徴的な領域について算出されたオプティカルフローに基づいて画像の一部に探索範囲の設定するため、探索範囲を適切な位置に設定することができ、オプティカルフローの精度を向上することができる。特に、基準オプティカルフローの大きさに基づいて前記探索範囲が設定される位置や面積を決定することにより、探索範囲を適切に設定することができ、オプティカルフローの精度を向上することができる。
【0007】
上述した画像処理装置において、オプティカルフロー算出手段は、画像において自車両の進行方向の領域を道路平面の領域とし、この領域に含まれる特徴的な画像部分について基準オプティカルフローを算出することが好ましい。この構成によれば、通常の走行状態では自車両の進行方向は道路平面であるため、画像において自車両の進行方向の領域を道路平面の領域とし、この領域に含まれる特徴的な画像部分について基準オプティカルフローを算出する。よって、基準オプティカルフローを適切に設定することができる。
【0008】
上述した画像処理装置において、領域識別手段は、フローパラメータ算出手段により算出されたフローパラメータが、過去に算出された道路平面のフローパラメータと類似する領域を、道路平面を構成する領域であると識別することが好ましい。この構成によれば、画像処理装置は、過去に算出された道路平面のフローパラメータを利用して道路平面を構成する領域を識別するため、道路平面を構成する領域を簡易な処理で識別することができる。
【0009】
上述した画像処理装置において、領域識別手段は、自車両の進行方向の領域のフローパラメータの経時変化が予め設定された閾値より小さい場合に、当該領域のフローパラメータを道路平面のフローパラメータとして設定することが好ましい。この構成によれば、画像処理装置は、自車両の進行方向の領域のフローパラメータの経時変化が小さい場合に、その領域のフローパラメータを道路平面のフローパラメータとして設定するため、より確実に道路平面である領域のフローパラメータを利用して画像内の道路平面を識別することができる。
【0010】
上述した画像処理装置において、領域識別手段は、自車両の進行方向の領域のフローパラメータが標準的な道路平面のフローパラメータと類似する場合に、当該領域のフローパラメータを道路平面のフローパラメータとして設定することが好ましい。この構成によれば、画像処理装置は、自車両の進行方向の領域のフローパラメータが標準的な道路平面のフローパラメータと類似する場合に、当該領域のフローパラメータを道路平面のフローパラメータとして設定するため、より確実に道路平面である領域のフローパラメータを利用して画像内の道路平面を識別することができる。
【0011】
また、上述した目的を達成するために、本発明に係る画像処理方法は、異なる時刻に撮像された複数の画像データを処理して、画像の各領域ごとのオプティカルフローを算出するオプティカルフロー算出ステップと、算出された少なくとも4つのオプティカルフローが同一平面上のオプティカルフローであると仮定して、画像の各領域ごとのフローパラメータを算出するフローパラメータ算出ステップと、算出されたフローパラメータが、道路平面のフローパラメータと類似する領域を、道路平面を構成する領域であると識別する領域識別ステップと、を含む。
【発明の効果】
【0012】
本発明の画像処理装置及び画像処理方法によれば、画像上の撮像された物体の識別処理を少ない計算量で行うことができる。
【発明を実施するための最良の形態】
【0013】
以下、図面を参照して、本発明の画像処理装置の好適な実施形態について説明する。本実施形態において、画像処理装置は車両に搭載されている。
【0014】
図1に示すように、画像処理装置20には、撮像手段としてカメラ10が接続されている。カメラ10は、例えば、CCD[Charge Coupled Device]カメラ10であり、画像処理装置20を搭載する自動車の前方かつ中央に取り付けられる。カメラ10は、所定時間が経過する度に、自動車の前方を撮像して、複数の画素データからなる画像データを生成する。カメラ10は、生成された画像データを、画像処理装置20に逐次出力する。
【0015】
画像処理装置20は、カメラ10から画像データを取り込むと、画像データを処理して画像上の物体を識別する処理を行う。特に、画像処理装置20は、画像上の被撮像物が道路平面であるか否かを識別する。画像処理装置20は、物理的には、CPU、ROM、RAM等で構成されている。また、画像処理装置20は、機能的には、オプティカルフロー算出手段22と、フローパラメータ算出手段24と、領域識別手段26とを備えている。これらの機能は、CPUおよびRAMが、ROMに記憶されたプログラムを実行することにより実現される。
【0016】
オプティカルフロー算出手段22は、画像データをテンプレートマッチング法により処理することで、オプティカルフローベクトルを算出する。フローパラメータ算出手段24は、算出されたオプティカルフローベクトルに基づいて、一般的にフローパラメータと呼ばれる8つのパラメータを算出する。領域識別手段26は、算出されたフローパラメータに基づいて、画像上の被撮像物が道路平面であるか否かを識別する。
【0017】
上述した画像上の物体を識別する処理を可能とするために、画像処理装置20には車両センサ30が接続されている。車両センサ30は、車両の挙動を検出するものであればよく、例えば、車速センサ、ハンドル角センサ、ヨーレートセンサ、ピッチセンサ、ロールセンサ、前後方向加速度センサ、横方向加速度センサ、上下方向加速度センサなどを含んで構成すればよい。これらのセンサによる検出値は、画像処理装置20により取り込まれ、画像上の被撮像物を識別する処理に利用される。
【0018】
画像処理装置20による物体識別処理の結果は、車室内に設けられたモニターの表示制御や車両の動作制御などに利用される。例えば、画像処理装置20による物体識別処理の結果が表示制御装置40に入力されると、表示制御装置40は、画像上の各領域の識別結果をモニターに表示したり、運転者への警告をモニターに表示する。また、画像処理装置20による物体識別処理の結果が車両制御装置50に入力されると、車両制御装置50は、車両前方の物体との衝突を回避するように、エンジン、ブレーキ、変速機、ステアリングなどを制御する。
【0019】
[物体識別の原理]
次に、画像処理装置20が画像上の物体を識別する原理について説明する。
【0020】
先ず、図2を参照して、3つの座標系、即ち、画像座標系、カメラ座標系および車両座標系について説明する。画像座標系は、カメラ10の画像面に設定された2次元座標系であり、画像の中心を原点とし、画像の縦方向をx軸とし、画像の横方向をy軸としている。カメラ座標系は、カメラ10を中心に設定された3次元座標系であり、カメラ10の位置を原点とし、カメラ10の上下方向をXc軸とし、カメラ10の左右方向をYc軸とし、カメラ10の光軸方向をZc軸としている。車両座標系は、カメラ座標系を回転したものであり、車両の上下方向をXv軸とし、車両の左右方向をYv軸とし、車両の進行方向をZv軸としている。車両に対するカメラ10の姿勢が、図3に示されている。図3から理解できるように、カメラ座標系のZc軸と車両座標系のZv軸とがなす角度はθであり、カメラ座標系のYc軸と車両座標系のYz軸とがなす角度はφである。説明の便宜のため角度θ,φを大きく示しているが、実際にはカメラ座標系と車両座標系とはほぼ一致しており角度θ,φは微小である。なお、上述した画像座標系、カメラ座標系および車両座標系は、車両の移動に伴ってカメラ10と共に移動する。
【0021】
次に、図4を参照して、オプティカルフローを生じさせるカメラ10の運動について説明する。車両が車両座標系のXv軸方向、Yv軸方向、Zv軸方向にそれぞれa,b,cの速度で並進運動し、Xv軸周り、Yv軸周り、Zv軸周りにそれぞれω1,ω2,ω3の角速度で回転運動する場合には、車両座標系を基準とするカメラ10の運動パラメータは{a,b,c,ω1,ω2,ω3}である。車両座標系を基準とするカメラ10の運動パラメータを、車両座標系からカメラ座標系に座標変換すると、カメラ座標系を基準とするカメラ10の運動パラメータ{ac,bc,cc,ω1c,ω2c,ω3c}となる。
【0022】
カメラ10が上記の運動パラメータ{ac,bc,cc,ω1c,ω2c,ω3c}で運動する場合に、画像上の位置(x,y)で、Zc=p・Xc+q・Yc+rで表される平面が撮像されると、次の数式(1)で表されるオプティカルフロー(u,v)が引き起こされる。なお、uはオプティカルフローベクトルのx方向成分であり、vはオプティカルフローベクトルのy方向成分である。
【0023】
【数1】
【0024】
なお、上の数式(1)において、fはカメラ10の焦点距離である。また、p,qおよびrは、平面を規定するための平面パラメータである。また、8つのパラメータU,V,A,B,C,D,E及びFは、一般にフローパラメータと呼ばれる数値であり、次の数式(2)で定義されている。なお、数式(1)および(2)については、「画像理解‐3次元認識の数理」(金谷健一著)に詳述されている。
【0025】
【数2】
【0026】
上述したように、オプティカルフローは、数式(1)および(2)により表されるものであるが、実際には連続撮像して得られる一連の画像を処理して算出される。即ち、あるタイミングの画像を多数の領域に分割してから、テンプレートマッチング法によりそれらの各領域と一致する領域を次のタイミングの画像から探索することにより、オプティカルフローは算出される。
【0027】
さらに、このように算出されたオプティカルフローから、フローパラメータ{U,V,A,B,C,D,E,F}を算出することができる。即ち、画像上の一部の領域を平面であると見做せば、その領域ではフローパラメータは同一であるため、その領域の4つ以上のオプティカルフローの情報(x,y,u,v)からフローパラメータを算出することができる。例えば、画像上の一部の領域の4つのオプティカルフロー情報(x1,y1,u1,v1)、(x2,y2,u2,v2)、(x3,y3,u3,v3)、(x4,y4,u4,v4)と、カメラ10の焦点距離fを上の数式(1)に代入すると、フローパラメータ{U,V,A,B,C,D,E,F}を未知数として含む数式が合計8つ得られる。よって、これらの8つの数式を周知の手法で処理することにより、フローパラメータの数値を求めることができる。フローパラメータの算出のために、5つ以上のオプティカルフロー情報を用いる場合には、最小自乗法などの近似法を用いればよい。なお、以下の説明では、画像上の位置(x,y)について算出されたフローパラメータを{Ux,y,Vx,y,Ax,y,Bx,y,Cx,y,Dx,y,Ex,y,Fx,y}と表す。
【0028】
上記の数式(2)から理解できるように、フローパラメータ{U,V,A,B,C,D,E,F}は、カメラ10の運動パラメータ{ac,bc,cc,ω1c,ω2c,ω3c}および平面パラメータ{p,q,r}によって一義的に定義される。よって、カメラ10の運動パラメータ{ac,bc,cc,ω1c,ω2c,ω3c}が一定値である場合には、フローパラメータ{U,V,A,B,C,D,E,F}は、撮像された物体表面の平面パラメータ{p,q,r}と等価な数値として用いることができる。本実施形態における物体識別の原理ではこのようなフローパラメータの特性が利用されており、画像上の各領域について算出されたフローパラメータに基づいて画像上の各領域の平面が識別されている。
【0029】
即ち、同一平面を撮像した画像領域については8つのフローパラメータはほぼ等しい値となる。よって、画像上の各領域のフローパラメータ{Ux,y,Vx,y,Ax,y,Bx,y,Cx,y,Dx,y,Ex,y,Fx,y}を互いに比較することにより、2つの画像領域が同一平面であるか否かを判定することができる。特に、本実施形態では、3次元座標系における幾何学的配置が既知である基準平面のフローパラメータとして、道路平面を基準とする平面のフローパラメータ{Ur,Vr,Ar,Br,Cr,Dr,Er,Fr}を求める。そして、画像上の各領域のフローパラメータを道路平面のフローパラメータと比較することにより、画像上の各領域が、道路平面あるか否かを識別している。ここで、両フローパラメータが類似する場合には、画像上のその領域は道路平面であると識別される。なお、両フローパラメータの類似とは、両フローパラメータが一致する場合、及び両フローパラメータの差分が所定の閾値より小さい場合である。
【0030】
[物体識別処理]
次に、図5〜図8のフローチャートを参照して、本実施形態の画像処理装置20による物体識別処理について説明する。図5には、画像処理装置20による物体識別処理の全体的なフローが示されている。図6には、オプティカルフローを算出する処理のフローが示されている。図7には、道路平面のフローパラメータを設定する処理のフローが示されている。また、図8には、道路平面のフローパラメータを設定する別の処理のフローが示されている。
【0031】
図5のフローチャートに示されるように、画像処理装置20は、一定の時間間隔(例えば30msec)ごとのタイミングTnに画像データを取り込む(S501)。画像処理装置20により取り込まれた画像データの一例を、図9に示す。この画像では、前方に道路が拡がっている。道路上には対向車両が存在し、道路の端には歩道が延びている。画像処理装置20は、取り込まれた画像データをLoGフィルタ(Laplacian of Gaussian Filter)で処理する。次に、画像処理装置20は、全画像面を矩形の小さな領域(例えば、8×8画素の領域、以下、小領域と呼ぶ)に網目状に分割し(図10参照)、テンプレートマッチング法により各小領域ごとにオプティカルフローベクトルを算出する(S502、図11参照)。オプティカルフローを算出する処理については、図6を参照して後に詳しく説明する。
【0032】
次に、画像処理装置20は、隣接する4つの小領域を含む領域を一組の領域(以下、中領域と呼ぶ)として設定し、各中領域を一枚の平面であると仮定して各中領域のフローパラメータを算出する(S503)。中領域に含まれる4つの小領域のオプティカルフロー情報(x1,y1,u1,v1)、(x2,y2,u2,v2)、(x3,y3,u3,v3)、(x4,y4,u4,v4)から当該中領域のフローパラメータ{Ux,y,Vx,y,Ax,y,Bx,y,Cx,y,Dx,y,Ex,y,Fx,y}を算出する方法については既述のとおりである。
【0033】
次に、画像処理装置20は、確実に道路平面である中領域のフローパラメータ{Ur,Vr,Ar,Br,Cr,Dr,Er,Fr}を設定する(S504)。道路平面のフローパラメータを設定する処理については、図7及び図8を参照して後に詳しく説明する。そして、画像処理装置20は、画像上の各中領域のフローパラメータ{Ux,y,Vx,y,Ax,y,Bx,y,Cx,y,Dx,y,Ex,y,Fx,y}を、道路平面のフローパラメータ{Ur,Vr,Ar,Br,Cr,Dr,Er,Fr}と比較して、両フローパラメータが類似するか否かを判定する(S505)。具体的には、画像処理装置20は、次の数式(3.1)又は数式(3.2)を用いて両フローパラメータの差分ΔFPrを求め、この差分ΔFPrが予め設定された閾値THよりも大きいか否かを判定する。
【0034】
【数3】
【0035】
ここで、kU,kV,kA,kB,kC,kD,kE,kFは、各フローパラメータの重み係数である。各フローパラメータの重み係数kU〜kFとしては、道路平面に対応する領域を識別するために好適な値が設定されればよい。ここで、各フローパラメータの重み係数kU〜kFとしてそれぞれ異なる値が設定されてもよいし、共通する値が設定されてもよい。また、差分ΔFPrと比較される閾値THは、道路平面に対応する領域を識別するために好適な値が設定される。例えば、閾値THは、自車両の走行速度やカメラ10から道路の被撮像位置までの距離に応じて異なる値としてもよい。
【0036】
ステップ505において差分ΔFPrが閾値THよりも小さいと判定された場合には、その中領域のフローパラメータが道路平面のフローパラメータと類似するため、その中領域が道路平面であると識別する(S506)。例えば、図12において斜線で示される領域が道路平面であると識別される。一方、ステップ505において差分ΔFPrが閾値THよりも大きいと判定された場合には、その中領域のフローパラメータが道路平面のフローパラメータと類似しないため、その中領域が道路平面以外であると識別する。
【0037】
次に、図6を参照して、オプティカルフローを算出する処理について説明する。図6には、オプティカルフローを算出する処理のフローチャートが示されている。図6に示されるフローチャートは、図5のステップ502に対応している。
【0038】
ステップ601〜ステップ607において、画像処理装置20は、道路平面のオプティカルフローとして基準となる基準オプティカルフローを算出する。先ず、画像処理装置20は、時刻Tnに撮像された画像において、車両前方の領域であって道路平面であると推測される領域から、特徴的な画像部分を含む小領域を抽出する(S601)。画像処理装置20により抽出される小領域は、道路平面に描かれた横断歩道、白線、道路標識などの特徴的な画像部分を含む領域である。図13に示される処理例では、画像の道路平面に対応する領域から、特徴的な画像部分として丸印内にある横断歩道のエッジ部分が抽出されている。図14には、特徴的な画像部分を含む小領域が拡大して示されている。このような特徴的な画像部分を含む小領域はパターンマッチング処理に適しており、この領域を利用することでオプティカルフローベクトルを高精度に算出できる。
【0039】
道路平面であると推測される領域には特徴的な画像部分が複数あるため、画像処理装置20は、これらの特徴的な画像部分を含む複数の小領域を抽出すればよい。但し、画像処理装置20は、前方を走行する他車両に対応する小領域が抽出されることを回避する必要がある。このために、画像処理装置20は、車両速度ごとに標準的な車間距離のデータを予め記憶しておく。そして、画像処理装置20は、車両センサ30から車両速度の検出値を取り込んで、車両前方の領域であってその車両速度に応じた車間距離内の領域から、道路平面の特徴的な画像部分を含む小領域を抽出することが好ましい。
【0040】
次に、画像処理装置20は、特徴的な画像部分を含む小領域の中心(xn,yn)を、オプティカルフローベクトルの始点として設定する(S602)。さらに、画像処理装置20は、図14に示されるように、時刻Tnに撮像された画像において、特徴的な画像部分を含む小領域と中心を同じくする範囲であって特徴的な画像部分を含む小領域よりも一回り大きな範囲を、テンプレートマッチング処理の対象となる探索範囲として決定する。そして、画像処理装置20は、時刻Tn+1に撮像された画像において、画像座標系の同位置に探索範囲を設定する(S603、図15参照)。
【0041】
次に、画像処理装置20は、時刻Tnの特徴的な画像部分を含む小領域をテンプレートとして用いて、時刻Tn+1の画像に設定された探索範囲に対してテンプレートマッチング処理を行って、時刻Tn+1における探索範囲に含まれる各小領域について相関値を演算する(S604)。そして、画像処理装置20は、各小領域について演算された相関値を互いに比較して、相関値が最大となる小領域を求める(S605)。この結果、図15に示されるように、タイミングTnの画像の小領域と適合する小領域が、時刻Tn+1の画像の探索範囲内から探索される。
【0042】
次に、画像処理装置20は、時刻Tn+1の画像で特徴的な画像部分を含む小領域の中心(xn+1,yn+1)を、オプティカルフローベクトルの終点として設定する(S606)。そして、画像処理装置20は、オプティカルフローベクトルの始点から終点までのベクトルを、道路平面のオプティカルフローとして基準となる基準オプティカルフローベクトル(xn+1−xn,yn+1−yn)として算出する(S607)。
【0043】
次に、画像処理装置20は、ステップ607で算出された特徴的な画像部分のオプティカルフローベクトルに基づいて探索範囲を調節しつつ、画像上の各小領域ごとに探索範囲を設定する(S608)。具体的には、画像処理装置20は、先ず、画像上の各小領域の夫々について、小領域と中心を同じくする範囲であってこの小領域よりも一回り大きな範囲を、テンプレートマッチング処理の対象となる探索範囲として仮設定する。そして、このように仮設定された探索範囲の夫々を、基準オプティカルフローベクトル(xn+1−xn,yn+1−yn)の距離及び方向に従って移動させる。
【0044】
図16には、車両速度が大きい場合に設定される探索範囲が示されている。車両速度が大きい場合には、基準オプティカルフローベクトルは大きいため、探索範囲は当初設定された位置(破線)から大きくずらされた位置(実線)に設定されている。一方、図17には、車両速度が小さい場合に設定される探索範囲が示されている。車両速度が小さい場合には、基準オプティカルフローベクトルは小さいため、探索範囲は当初設定された位置(破線)に近い位置(実線)に設定されている。このように探索範囲の位置を調節することにより、移動後の小領域が確実に探索範囲に入るため、移動後の小領域を確実に探索することができ、オプティカルフローベクトルを高精度に算出することが可能となる。
【0045】
なお、上記の探索範囲の設定に際して、基準オプティカルフローベクトルに応じて探索範囲の面積を調節してもよい。例えば、基準オプティカルフローベクトルが大きい場合には探索範囲の面積を大きくし、基準オプティカルフローベクトルが小さい場合には探索範囲の面積を小さくすればよい。このように探索範囲の面積を調節することにより、探索範囲を必要最小限な大きさに調節することができるため、オプティカルフローベクトルの算出処理の演算時間を短くすることができる。また、探索範囲を必要最小限な大きさに調節することにより、誤った小領域が探索される確率が小さくなるため、オプティカルフローベクトルを高精度に算出することが可能となる。
【0046】
最後に、画像処理装置20は、時刻Tnの画像の各小領域をテンプレートとして用いて、時刻Tn+1の画像に設定された探索範囲に対してテンプレートマッチング処理を行って、時刻Tn+1の画像に設定された探索範囲から相関値が最大となる小領域を求める。そして、画像処理装置20は、時刻Tnにおける各小領域の中心を始点とし、時刻Tn+1における移動後の各小領域の中心を終点とするベクトルを、各領域ごとのオプティカルフローベクトルとして算出する(S609)。
【0047】
次に、図7を参照して、道路平面のフローパラメータを設定する処理について説明する。図7には、道路平面のフローパラメータを設定する処理のフローチャートが示されている。図7に示されるフローチャートは、図5のステップ504に対応している。
【0048】
先ず、画像処理装置20は、車両進行方向の複数の中領域を道路平面に対応するものと推測し、これらの中領域について算出されたフローパラメータを監視して、フローパラメータの経時変化の大きさを求める(S701)。ここで、経時変化の大きさは、フローパラメータ{Ux,y,Vx,y,Ax,y,Bx,y,Cx,y,Dx,y,Ex,y,Fx,y}のそれぞれについて算出される。次に、画像処理装置20は、各フローパラメータの経時変化の大きさを予め設定された閾値TU,TV,TA,TB,TC,TD,TE,TFと比較して、フローパラメータの経時変化の大きさが閾値TU〜TFより小さい中領域を判別する(S702)。
【0049】
ここで、閾値TU〜TFは、フローパラメータの安定度合いを判定するためのものである。ある中領域についてフローパラメータの経時変化が計測されている間に、その中領域が継続して道路平面である場合には、その中領域のフローパラメータは安定しており、フローパラメータの経時変化の大きさは閾値TU〜TFより小さくなる。一方、その中領域が道路平面以外である場合には、その中領域のフローパラメータは変化して不安定となり、フローパラメータの経時変化の大きさは閾値TU〜TFより大きくなる。よって、フローパラメータの経時変化の大きさが閾値TU〜TFより小さい場合に、その中領域が道路平面であることを判別することが可能となる。
【0050】
但し、車両の走行状態によっては、車両に角速度変化ω1,ω2,ω3が発生することもある。このように角速度変化ω1,ω2,ω3が発生する場合には、実際には車両進行方向の中領域が道路平面に対応していても、角速度変化ω1,ω2,ω3を数式(2)に含むフローパラメータについては角速度の変化に伴ってその経時変化が大きくなるため、車両進行方向の中領域が道路平面に対応することを判別できなくなってしまう。そこで、角速度変化ω1,ω2,ω3が発生する走行状態である場合には、角速度変化を数式(2)に含まないフローパラメータを選択して、選択されたフローパラメータの経時変化と閾値TU〜TFを比較する。
【0051】
実際の処理では、画像処理装置20は、フローパラメータA,B,C,Dを選択して、フローパラメータA,B,C,Dの経時変化を閾値TA,TB,TC,TDと比較することが好ましい。ここで、フローパラメータA,Dは、数式(2)にヨーレートω1,ピッチレートω2,ロールレートω3を含まない。また、フローパラメータB,Cは、数式(2)にヨーレートω1,ピッチレートω2を含まない。よって、ヨーレートω1やピッチレートω2が発生する走行状態であっても、フローパラメータA,B,C,Dの経時変化は閾値TA,TB,TC,TDより小さくなるため、車両進行方向の中領域が道路平面に対応することを判別できる。なお、フローパラメータB,Cは、数式(2)にロールレートω3を含むものの、車両に生じるロールレートの値は小さいため、フローパラメータB,Cの経時変化は小さい。
【0052】
ステップ703において、画像処理装置20は、車両進行方向の中領域のフローパラメータ{Ux,y,Vx,y,Ax,y,Bx,y,Cx,y,Dx,y,Ex,y,Fx,y}を、標準的な道路平面のフローパラメータ{Uav,Vav,Aav,Bav,Cav,Dav,Eav,Fav}と比較して、両フローパラメータが類似する中領域を判別する(S703)。ここで、標準的な道路平面のフローパラメータとは、図3に示されるように標準的な位置及び向きでカメラ10が配置された場合に発生する道路平面のフローパラメータであり、計算又は実測により予め求められる値である。具体的には、画像処理装置20は、次の数式(4.1)又は数式(4.2)を用いて両フローパラメータの差分ΔFPavを求め、この差分ΔFPavが予め設定された閾値THよりも小さい中領域を判別する。
【0053】
【数4】
【0054】
ステップ703において、両フローパラメータの差分FPavが予め設定された閾値THより小さい場合には、車両進行方向の中領域のフローパラメータは道路平面として妥当な値である。よって、画像処理装置20は、車両進行方向の当該中領域のフローパラメータを、道路平面のフローパラメータとして設定する(S704)。
【0055】
次に、図8を参照して、道路平面のフローパラメータを設定する処理の変形例について説明する。図8には、道路平面のフローパラメータを設定する処理のフローチャートが示されている。図8に示されるフローチャートは、図5のステップ504に対応している。
【0056】
先ず、画像処理装置20は、ステップ503で算出されたフローパラメータであって、所定時間前(例えば3秒前)の時刻Tn−kに撮像された画像の各中領域のフローパラメータ{Un−k,Vn−k,An−k,Bn−k,Cn−k,Dn−k,En−k,Fn−k}を取得する(S801)。次に、画像処理装置20は、同じくステップ503で算出されたフローパラメータであって、現在時刻Tnに撮像された画像の各中領域のフローパラメータ{Un,Vn,An,Bn,Cn,Dn,En,Fn}を取得する(S802)。
【0057】
そして、画像処理装置20は、画像の各中領域について、現在時刻Tnのフローパラメータ{Un,Vn,An,Bn,Cn,Dn,En,Fn}を、所定時間前の時刻Tn−kのフローパラメータ{Un−k,Vn−k,An−k,Bn−k,Cn−k,Dn−k,En−k,Fn−k}と比較して、両フローパラメータが類似する中領域を判別する(S803)。具体的には、画像処理装置20は、次の数式(5.1)又は数式(5.2)を用いて両フローパラメータの差分ΔFPnを求め、この差分ΔFPnが予め設定された閾値THよりも小さい中領域を判別する。
【0058】
【数5】
【0059】
建築物や他車両などに対応する中領域のフローパラメータは著しく変化する。一方、道路平面に対応する中領域のフローパラメータはほとんど変化しない。よって、ステップ703において、両フローパラメータの差分FPnが予め設定された閾値THより小さい場合には、このようにフローパラメータの変化が小さい中領域は道路平面である可能性が高い。よって、画像処理装置20は、差分FPnが閾値THより小さい中領域のフローパラメータを、道路平面のフローパラメータとして設定する(S804)。
【0060】
図18には、所定時間前の時刻Tn−kの画像が示されており、図19には、現在時刻Tnの画像が示されている。図18および図19において太線で囲われる中領域は、両時刻Tn−k,Tnにおいて道路平面に対応している。このように両時刻Tn−k,Tnにおいて道路平面を撮像した中領域のフローパラメータが、道路平面のフローパラメータとして設定される。なお、図18および図19に示されるように、両時刻Tn−k,Tnにおいて道路平面を撮像した中領域が複数ある場合には、これらの中領域のフローパラメータを平均した値を、道路平面のフローパラメータとして設定すればよい。
【0061】
なお、図7又は図8の処理により設定された道路平面のフローパラメータは、その後の処理において繰り返し利用することができる。即ち、画像処理装置は、画像の各中領域ごとにフローパラメータを算出すると、各中領域について算出されたフローパラメータが、過去に算出された道路平面のフローパラメータと類似する領域を、道路平面を構成する領域であると識別することが好ましい。この構成によれば、画像処理装置は、道路平面のフローパラメータが既に算出されているため、道路平面を構成する領域を簡易な処理で識別することができる。
【図面の簡単な説明】
【0062】
【図1】本実施形態の画像処理装置を示す概略図である。
【図2】画像座標系、カメラ座標系、車両座標系を説明するための模式図である。
【図3】車両に搭載されたカメラの姿勢を説明するための模式図である。
【図4】車両の運動パラメータを説明するための模式図である。
【図5】物体識別処理の概略を示すフローチャートである。
【図6】オプティカルフローの算出処理を示すフローチャートである。
【図7】道路平面のフローパラメータを設定する処理を示すフローチャートである。
【図8】道路平面のフローパラメータを設定する処理を示す別のフローチャートである。
【図9】画像処理装置に取り込まれた画像を示す図である。
【図10】画像の小領域を示す図である。
【図11】画像のオプティカルフローを示す図である。
【図12】画像から識別された道路平面を示す図である。
【図13】画像から抽出される特徴的な画像部分を示す図である。
【図14】特徴的な画像部分を拡大して示す図である。
【図15】移動後の特徴的な画像部分を拡大して示す図である。
【図16】車速が大きい場合に設定される探索範囲を示す図である。
【図17】車速が小さい場合に設定される探索範囲を示す図である。
【図18】時刻Tn−kにおいて道路平面に対応する領域を示す図である。
【図19】時刻Tnにおいて道路平面に対応する領域を示す図である。
【符号の説明】
【0063】
10…カメラ、20…画像処理装置、30…車両センサ、40…表示制御装置、50…車両動作制御装置。
【特許請求の範囲】
【請求項1】
異なる時刻に撮像された複数の画像データを処理して、画像の各領域ごとのオプティカルフローを算出するオプティカルフロー算出手段と、
前記オプティカルフロー算出手段により算出された少なくとも4つのオプティカルフローが同一平面上のオプティカルフローであると仮定して、画像の各領域ごとのフローパラメータを算出するフローパラメータ算出手段と、
前記フローパラメータ算出手段により算出されたフローパラメータが、道路平面のフローパラメータと類似する領域を、道路平面を構成する領域であると識別する領域識別手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記オプティカルフロー算出手段は、道路平面上の特徴的な画像部分について基準オプティカルフローを算出し、前記基準オプティカルフローに基づいて画像の各領域ごとに探索範囲を設定し、前記探索範囲内を探索することで画像の各領域ごとのオプティカルフローを算出することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記オプティカルフロー算出手段は、画像において自車両の進行方向の領域を道路平面の領域とし、この領域に含まれる特徴的な画像部分について基準オプティカルフローを算出することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記オプティカルフロー算出手段は、前記基準オプティカルフローの大きさに基づいて前記探索範囲が設定される位置を決定することを特徴とする請求項2に記載の画像処理装置。
【請求項5】
前記オプティカルフロー算出手段は、前記基準オプティカルフローの大きさに基づいて前記探索範囲が設定される面積を決定することを特徴とする請求項2に記載の画像処理装置。
【請求項6】
前記領域識別手段は、前記フローパラメータ算出手段により算出されたフローパラメータが、過去に算出された道路平面のフローパラメータと類似する領域を、道路平面を構成する領域であると識別することを特徴とする請求項1に記載の画像処理装置。
【請求項7】
前記領域識別手段は、自車両の進行方向の領域のフローパラメータの経時変化が予め設定された閾値より小さい場合に、当該領域のフローパラメータを前記道路平面のフローパラメータとして設定することを特徴とする請求項1に記載の画像処理装置。
【請求項8】
前記領域識別手段は、自車両の進行方向の領域のフローパラメータが標準的な道路平面のフローパラメータと類似する場合に、当該領域のフローパラメータを前記道路平面のフローパラメータとして設定することを特徴とする請求項1に記載の画像処理装置。
【請求項9】
異なる時刻に撮像された複数の画像データを処理して、画像の各領域ごとのオプティカルフローを算出するオプティカルフロー算出ステップと、
算出された少なくとも4つのオプティカルフローが同一平面上のオプティカルフローであると仮定して、画像の各領域ごとのフローパラメータを算出するフローパラメータ算出ステップと、
算出されたフローパラメータが、道路平面のフローパラメータと類似する領域を、道路平面を構成する領域であると識別する領域識別ステップと、
を含む画像処理方法。
【請求項1】
異なる時刻に撮像された複数の画像データを処理して、画像の各領域ごとのオプティカルフローを算出するオプティカルフロー算出手段と、
前記オプティカルフロー算出手段により算出された少なくとも4つのオプティカルフローが同一平面上のオプティカルフローであると仮定して、画像の各領域ごとのフローパラメータを算出するフローパラメータ算出手段と、
前記フローパラメータ算出手段により算出されたフローパラメータが、道路平面のフローパラメータと類似する領域を、道路平面を構成する領域であると識別する領域識別手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記オプティカルフロー算出手段は、道路平面上の特徴的な画像部分について基準オプティカルフローを算出し、前記基準オプティカルフローに基づいて画像の各領域ごとに探索範囲を設定し、前記探索範囲内を探索することで画像の各領域ごとのオプティカルフローを算出することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記オプティカルフロー算出手段は、画像において自車両の進行方向の領域を道路平面の領域とし、この領域に含まれる特徴的な画像部分について基準オプティカルフローを算出することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記オプティカルフロー算出手段は、前記基準オプティカルフローの大きさに基づいて前記探索範囲が設定される位置を決定することを特徴とする請求項2に記載の画像処理装置。
【請求項5】
前記オプティカルフロー算出手段は、前記基準オプティカルフローの大きさに基づいて前記探索範囲が設定される面積を決定することを特徴とする請求項2に記載の画像処理装置。
【請求項6】
前記領域識別手段は、前記フローパラメータ算出手段により算出されたフローパラメータが、過去に算出された道路平面のフローパラメータと類似する領域を、道路平面を構成する領域であると識別することを特徴とする請求項1に記載の画像処理装置。
【請求項7】
前記領域識別手段は、自車両の進行方向の領域のフローパラメータの経時変化が予め設定された閾値より小さい場合に、当該領域のフローパラメータを前記道路平面のフローパラメータとして設定することを特徴とする請求項1に記載の画像処理装置。
【請求項8】
前記領域識別手段は、自車両の進行方向の領域のフローパラメータが標準的な道路平面のフローパラメータと類似する場合に、当該領域のフローパラメータを前記道路平面のフローパラメータとして設定することを特徴とする請求項1に記載の画像処理装置。
【請求項9】
異なる時刻に撮像された複数の画像データを処理して、画像の各領域ごとのオプティカルフローを算出するオプティカルフロー算出ステップと、
算出された少なくとも4つのオプティカルフローが同一平面上のオプティカルフローであると仮定して、画像の各領域ごとのフローパラメータを算出するフローパラメータ算出ステップと、
算出されたフローパラメータが、道路平面のフローパラメータと類似する領域を、道路平面を構成する領域であると識別する領域識別ステップと、
を含む画像処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2008−3696(P2008−3696A)
【公開日】平成20年1月10日(2008.1.10)
【国際特許分類】
【出願番号】特願2006−170239(P2006−170239)
【出願日】平成18年6月20日(2006.6.20)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(502087460)株式会社トヨタIT開発センター (232)
【Fターム(参考)】
【公開日】平成20年1月10日(2008.1.10)
【国際特許分類】
【出願日】平成18年6月20日(2006.6.20)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(502087460)株式会社トヨタIT開発センター (232)
【Fターム(参考)】
[ Back to top ]