(58)【調査した分野】(Int.Cl.,DB名)
前記変換部は、時刻ti(i∈2×n、但しnは自然数)および時刻tj(j∈2×n+1)に基づいて制御される制御関数を用いて前記任意の領域の画像を縮小することを特徴とする請求項1記載の画像処理装置。
【発明を実施するための形態】
【0012】
以下に、一つの実施形態による画像処理装置、画像処理方法、画像処理用コンピュータプログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【0013】
(実施例)
図1は、一つの実施形態による画像処理装置の構成の一例を示す図である。画像処理装置1は、撮像部10、取得部11、規定部12、変換部13、抽出部14、算出部15、判定部16、提示部17、記憶部18、制御部19、速度検出部20、操蛇角検出部21を含んでいる。
【0014】
画像処理装置1が有するこれらの各部は、例えば、それぞれ個別のワイヤードロジックによるハードウェア回路として形成される。あるいは画像処理装置1が有するこれらの各部は、その各部に対応する回路が集積された一つの集積回路として画像処理装置1に実装されてもよい。さらに、画像処理装置1が有するこれらの各部は、画像処理装置1が有するプロセッサ上で実行されるコンピュータプログラムにより実現される機能モジュールであってもよい。
【0015】
撮像部10は、例えば、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)カメラなどの撮像デバイスである。撮像部10は魚眼レンズを用いることで、単眼で自車両の進行方向の情報と、進行方向と直交する両側方の情報とを含む画像を撮像することが可能となる。なお撮像部10は、例えば、自車両の前端の中心に配置される。なお、自車両の進行方向は、換言すると運転者の視野方向であり、自車両が停止している場合においても、運転者の視野方向を進行方向と規定するものとする。
【0016】
取得部11は、撮像部10が撮像する画像を受け取る。また、取得部11と撮像部10の機能を一つに統合させることにより、撮像部10または取得部11いずれかの機能を省いても良い。
【0017】
規定部12は、取得部10から画像を受け取り、当該画像を複数の領域に分割する。具体的には、画像の側端の中心を含む第1の分割領域画像と、画像の側端の中心を含まない第2の分割領域画像とを規定する。更に、規定部12は、第1の分割領域画像を画像の側端から中心に向かって面積が小さくなる様に規定し、第2の分割領域画像を、画像の側端から中心に向かって面積が大きくなる様に規定する。なお、規定部12による第1の分割領域画像と第2の分割領域画像の規定処理の詳細については後述する。また、規定部12は、必須の構成ではなく必要に応じて備えれば良い。
【0018】
変換部13は、取得部10または規定部12から画像を受け取り、画像の任意の領域を画像の側端から中心に向かって非線形に縮小する。縮小の手法は、例えば、任意の領域の任意の画素を間引く方法が挙げられる。ここで、任意の領域は、例えば、画像の側端の中心を起点した方形で規定する。また、任意の領域は、画像処理における消失点を考慮し、必ずとも画像の側端の中心を起点としなくとも良い。これにより、近接物を早期に検知することが可能となる。なお、変換部13による画像の非線形縮小処理の詳細については後述する。
【0019】
抽出部14は、変換部13が変換した画像の任意の領域から特徴点を抽出する。なお、抽出部14は、任意の領域中、第2の分割領域画像よりも先に第1の分割領域画像に対して特徴点を抽出しても良い。また、任意の領域中、第1の分割領域画像のみに対して特徴点を抽出しても良い。なお、抽出部14による特徴点の抽出処理の詳細については後述する。
【0020】
算出部15は、抽出部11が取得する取得時間が異なる複数の任意の領域の特徴点から特徴点の移動量の例示の一つとなるオプティカルフローを算出する。なお、算出部15によるオプティカルフローの算出処理の詳細については後述する。
【0021】
判定部16は、算出部15が算出したオプティカルフローに基づいて自車両に近接する他車両や歩行者等の接近物を判定する。なお、判定部16による接近物の判定処理の詳細については後述する。
【0022】
提示部17は、例えば、ディスプレイなどの表示デバイス、または、スピーカー等の発音デバイスである。提示部17は、判定部16が判定した接近物の有無を運転者(ユーザ)に提示する。
【0023】
記憶部18は、例えば、フラッシュメモリ(flash memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部13は、上記の種類の記憶装置に限定されるものではなく、RAM(Random Access Memory)、ROM(Read Only Memory)であってもよい。記憶部18には、例えば判定部16が判定した接近物に関する位置情報等が記憶される。
【0024】
制御部19は、撮像部10、速度検出部20と、操舵角検出部21に接続され、速度検出部20により検出される自車両の速度が所定の閾値(例えば10Km/h)以上の場合、必要に応じて撮像部10による撮像を停止させる。また、制御部19は、操舵角検出部21により検出される自車両の操舵角が所定の閾値(例えば10度)以上の場合に、必要に応じて撮像部10による撮像を停止させる。また、制御部19は、
自車両の速度が所定の閾値(例えば10Km/h)以下の場合、撮像部10による撮像を開始させる。更に制御部19は、汎用的なナビゲーション機能が有する地図情報から交差点を把握し、交差点近辺で撮像部10による撮像を開始させても良い。
【0025】
速度検出部20は自車両の車輪の回転数等に基づいて、自車両の速度を検出する。速度検出部20が検出した速度情報は、制御部19に出力される。
【0026】
操舵角検出部21は、自車両のハンドルの操舵角等に基づいて、自車両の操舵角を検出する。操舵角検出部21が検出した操舵角情報は、制御部19に出力される。
【0027】
図2(a)は、画像処理装置が配置される自車両の上面図である。
図2(b)は画像処理装置が配置される自車両の側面図である。
図2(a)、(b)に図示されている通り、撮像部10は、例えば、自車両22の前端の中央に配置されている。また、提示部17は、例えば、自車両22の内部に配置される。撮像部10ならびに提示部17以外の画像処理装置1が有するその他の各部は、撮像部10または提示部17の近傍、または、任意の場所に配置することが可能である。また、
図2(b)に図示されている通り、撮像部10は仰角φ
1と、俯角φ
2が付与される。仰角φ
1と、俯角φ
2は、自車両の車高等に応じて自車両の進行方向と進行方向に直交する側方が適切に撮像される様に適宜調整されれば良い。
【0028】
図3は、画像処理装置の撮像部による撮像領域の一例を示す図である。
図3に示す通り、撮像部10に魚眼レンズを用いることで画角は、運転者の視野範囲を大きく超える180〜190度まで広がる為、単眼で自車両の進行方向の情報と、進行方向と直交する側方の情報を含む画像を撮像することが可能となる。なお、
図3にはT字路を例示として図示したが、十字路等の他の形状においても、本実施例に開示される画像処理装置1を適用することが可能である。
【0029】
(規定部12による第1の分割領域画像と第2の分割領域画像の規定処理)
図4は、画像処理装置の撮像部による撮像画像と、第1の分割領域画像と第2の分割領域画像の一例を示す図である。規定部12は、撮像部10から撮像画像を受け取ると、画像を複数の領域に分割する。具体的には、
図4に示す通り、上方分割線と下方分割線を用いて画像の側端の中心を含む第1の分割領域画像と、画像の側端の中心を含まない第2の分割領域画像とを規定する。
【0030】
更に規定部12は、第1の分割領域画像を画像の側端から中心に向かって面積が小さくなる様に規定し、第2の分割領域画像を、画像の側端から中心に向かって面積が大きくなる様に規定する。
図4に示す例においては、上方分割線ならびに下方分割線は、例えば原点を画像中心とした任意の2次曲線で規定することが可能である。詳細は後述するが、第1の分割領域画像は、第2の分割領域画像よりも多くの特徴点が抽出される為、上方分割線の2次曲線における最小点ならび曲率は、画像処理装置1が許容する演算量に基づいて規定すれば良い。下方分割線についても、最小点を最大点に置き換えて考えることが出来る為、詳細な説明は省略する。なお、
図4に示す例においては、上方分割線は下に凸の2次曲線となり、下方分割線は上に凸の2次曲線となる
【0031】
なお、画像中心付近が運転者の視野範囲であることを考慮すると、上方分割線の最小点または、下側分割線の最大点は、画像中心(原点)に出来るだけ近接または接する様に規定し、上方、下方分割線の画像端点が道路領域を大きく超えない範囲で、曲率を大きく規定することで、第1の分割領域画像に対して接近物の早期検知に必要となる自車両の側方領域を多く含ませることが可能となる。なお、上側分割線ならびに下側分割線は、画像中心(原点)を通る一次関数を用いて規定しても良い。
【0032】
また、規定部12は、撮像部10の図示しないレンズディストーションデータを用いて上方分割線ならびに下方分割線を規定することが可能である。例として上方分割線の規定方法の手順(1)〜(5)について記載する。
(1)上方分割線を表す光線ベクトルViを、極座標表現で定義する。
Vi=(θi、φ
1、1);(但し、θは方位、φ
1は仰角、1は長さ)、(例:θi=−90、 −67.5、 −45、 −22.5、 0、 22.5、 45、 67.5、 90 (deg)を9分割し、φ
1=5degとする。)
(2)極座標表現の3DベクトルViは、一意的にカーテジアン表現に変換可能であり、これをUiと規定する。
(3)撮像部10の地面に対する姿勢がλ=(α、β、γ)のとき(但し、αはロール角、βはピッチ角、γはヨー角とする)、撮像部10が撮像する画像における上方分割線は、U’iの様に観測される。
U’i=R−1(λ)Ui;(但し、R(λ)は回転行列)
(4)入射方向が任意の3DベクトルU’は、撮像部10のレンズディストーションデータに従って、画像上の2次元座標pに変換可能である。ここで、U’iに対応する画像上の点をpiとする。
(5)点piを順序に従い、直線発生アルゴリズムもしくはスプライン発生アルゴリズムを適用させることで結線し、上方分割線の曲線を構成する点例を得ることができる。なお、下方分割線は、仰角φ
1を俯角φ
2に置き換えることで規定することが出来る為、詳細な説明は省略する。また、規定部12による第1の分割領域画像と、画像の側端の中心を含まない第2の分割領域画像とを規定処理は、必ずしも必須の処理ではなく、必要に応じて実施すれば良い。
【0033】
(変換部13による画像の非線形縮小処理)
図5は、画像処理装置の撮像部による撮像画像と、第1の分割領域画像と第2の分割領域画像と、任意の領域(以下、非線形縮小処理領域と称する)の一例を示す図である。ここで、非線形縮小処理領域において、画像中心から右側端方向をu軸とし、画像下端から画像上端方向をv軸とする。なお、オプティカルフローの算出処理については後述する。なお、例示として非線形縮小処理領域を画像の右側に規定して説明するが、非線形縮小処理領域を画像の左側に規定しても同様に処理が実施出来ることから、詳細な説明は省略する。
【0034】
(光学特性に基づく変換部13による画像の非線形縮小処理)
図6(a)は、撮像部10による透視投影のモデル図である。
図6(b)は、透視投影モデルの一般化図である。
図6(a)に示す様に、撮像部10による透視投影はモデル化することが可能である。空間を表す3次元座標系として、撮像部10の光学中心を原点とし、Z軸を撮像部10の光軸方向に一致させ、X軸とY軸は画像の横方向と縦方向に平行にとったものを用いる。この様な座標系をカメラ座標系と称する。また、画像上の位置を表す座標系としては、撮像部10の光軸と画像面が交差する点を原点とし、x軸とy軸は画像の横方向と縦方向に平行にとったものをそれぞれ用いる。ここで、実空間の位置(X、Y、Z)と画像上の位置(x、y)の間には次式の関係が成立する。
(数1)
x=X/Z
y=Y/Z
(但し、焦点距離を1に正規化しているものとする)
また、座標(x、y)を正規化画像座標と称するものとする。
【0035】
次に、実空間と画像の関係をより一般化する。
図6(b)に示す様に、実空間を表す座標系として、実空間中の任意の位置の固定されたワールド座標系を用いる。ワールド座標系で表された実空間の位置を(Xw、Yw、Zw)とした場合、当該位置をカメラ座標系で表した位置(X、Y、Z)との間には次式の関係が成立する。
(数2)
ここで、Rとtは、次式に示す3×3の回転行列ならびに3次元の平行移動である。
(数3)
【0036】
一方、画像中の位置は、一般的に原点を画像中の任意の位置に定め、長さの単位として画素(ピクセル)を用いる。この様な画像中の位置を表現する座標を画像座標(u、v)とした場合、当該画像座標と上述の正規化画像座標の関係は、次式で表現される。
(数4)
ここで、fは撮像部10の焦点距離、Δu、Δvは、それぞれ横方向と縦方向の画素の物理的な間隔、(cu、cv)は画像座標系における光軸と画像面との交点の位置(画像中心)を表す。
【0037】
上述の(数1)ないし(数4)を用いることで、ワールド座標(Xw,Yw,Zw)と画像座標(u、v)の間の関係は次式にて表現される。
(数5)
【0038】
上述の(数5)により、任意の実空間の位置と、それが画像に投影されたときの画像上の位置の関係を表現することが出来る。ここで、f、Δu、Δv、cu、cv、は撮像部10によって一意的に定められる定数であり、撮像部10の内部パラメータと称する。また、Rとtは、ワールド座標に対する撮像部10の位置と姿勢によって一意的に定められる定数であり、撮像部10の外部パラメータと称する。
【0039】
上述の内部パラメータ、および外部パラメータに基づき射影行列を求め、この求めた射影行列により画像座標系とワールド座標系の座標変換を行うことで、画像座標系とワールド座標系とを1対1に対応させることができる。この射影行列に基づいて、画像座標系の1pixel(ピクセル)の間隔をワールド座標系上での距離として対応させることが出来る。具体的には次式で表現出来る。
(数6)
(u、v、1)’=P・(X、Y、Z、1)’
(但し、射影行列P=A(内部パラメータ)・T(外部パラメータ)とし、(u、v、1)’ならびに(X、Y、Z、1)’はそれぞれ(u、v、1)ならびに(X、Y、Z、1)の転置行列とする。
【0040】
図7は、画像処理装置の撮像部とワールド座標系の対応図である。上述の(数6)において、Z(奥行距離)は、
図7に示す様に、自車両に設置された撮像部10から、例えば、道路中央部までの距離を設定すれば良い。ここで、画像座標系のu方向とワールド座標系のX方向に着目すると、Pは既知のパラメータとなる為、u→u+1に対応するX2を次式の方程式により算出すると、
(数7)
(u、v、1)’=P・(X1、Y、Z、1)’
(u+1、v、1)’=P・(X2、Y、Z、1)’
となり、u方向の1pixel幅に対応するX方向の距離間隔は(X2-X
1)mとなる。
図8は、非線形縮小処理領域におけるu方向とX方向の距離間隔の関係図である。
図8に示す様に、u軸は原点方向を画像の中心方向とし、軸方向を画像の側端方向とする。関数f(u)は、画像座標上で1pixel移動するのに必要なワールド座標系上での移動量を示す。
【0041】
図9(a)は、取得部11が取得した原画像の非線形縮小処理領域の画像を示す。
図9(b)は、画像を縮小した非線形縮小処理領域の縮小画像を示す。
図9(c)は、原画像のu軸と縮小画像のu’軸の関係図である。
【0042】
ここで、
図9(a)の原画像の非線形縮小処理領域の全体の長さをM、
図9(b)の縮小画像の非線形縮小処理領域の全体の長さをmとする。ここでは、M>m(M、mともに自然数)とする。また、
図9(a)の原画像の画像を縮小する領域をM’、当該領域M’に対応する
図9(b)の領域をm’とする。M>M’、m>m’(M’、m’ともに自然数)とする。また、
図9(a)、(b)において画像の縮小を実施しない領域(無縮小処理領域)をn(nは自然数)とする。なお、nの領域を規定する所定の第1の閾値th1の規定方法については後述する。
【0043】
図9(c)に示す、制御関数f(u’)は、非線形に画像を縮小処理する領域は、点(0、0)、(m’、M’)を通る曲線となる。また、画像を縮小処理を変換しない領域は点(m’、M’)、(m、M)を通る直線となる。なお、非線形縮小処理を施す領域の制御関数f(u’)は、(m’、M’)、(m、M)を通る第1の直線を上限とし、(0、0)、(m’、M’)を通る第2の直線を下限となる様に設定すれば良い。制御関数f(u’)を用いることで、非線形縮小処理領域の画像を縮小することが出来る。例えば、
図9(a)の領域qiから
図9(b)の領域piに画像が縮小(換言すると、画素が間引き)される。なお、
図9(c)の制御関数f(u’)に示される様に、原画像から縮小画像に変換する際には、原画像を非線形に縮小する領域と、原画像の画像(画素)を保持する領域が存在することになる。
【0044】
次に、
図9(c)に示す、制御関数f(u’)の曲線部分の曲率の規定方法について説明する。曲率は上述通り、
図9(c)に示す第1の直線を上限とし、第2の直線を下限として任意に設定することも可能であるが、以下の方法でも曲率を設定することが可能である。
図10(a)は、非線形縮小処理領域におけるu軸と実空間におけるX軸の関係図を示す。
図10(a)に示す関数f(x)は、実空間の位置Xを変数とした場合の画像座標uの変化を示す。実空間と画像座標の関係は、上述の(数7)で規定される。ここで、実空間上の距離Dは、隣接する画素u0とu1に対応する実空間の位置x0とx1の差分から求めることができ、次式にて表すことができる。
(数8)
D=|x1−x0|
【0045】
ここで、所定の第1の閾値th1を定める。第1の閾値th1は、1つの移動物体(近接物)が複数の画素にまたがるように、想定する近接物の大きさを考慮して決定すれば良い。これは、類似するオプティカルフローの大きさや向きを持つ特徴点をグルーピングすることにより、後述する接近物検知領域を特定しており、1つの移動物体上に特徴点が複数存在している必要がある為である。また、閾値th1は、車両長を考慮して決定することも出来る。一般的な軽自動車の車両長は3.4m、ワンボックスは4.8mであることを考慮すると、1移動物体上に複数の特徴点が存在する最小の領域、例えば1m/pixel以上の領域においては、画像を縮小できることを考慮して閾値th1を決定しても良い。
【0046】
図10(b)は、
図10(a)に示す関数f(x)により算出されるデータ構造である。実空間上の距離Dが第1の閾値th1以下の場合について説明する。
図10(b)に示す、累積Dsumは、任意の座標のXとuとから得られたDを積分したものであり、累積したDの合計(Dsum)が閾値th1以上に達すると、積分値を0にリセットし、再度積分処理をしていくことを繰り返す。ここで、累積Dsumが閾値th1を満たした場合に、flag1を格納する。
なお、実空間上の距離Dが閾値th1以上の場合は、原画像を維持する領域として、flag2を格納する。
図10(c)は、
図9(c)の制御関数f(u’)の曲線を規定するデータ構造である。
図10(c)において、u’は、非線形縮小処理領域の横方向、1、2、3、・・、mの自然数である。
図10(b)においてflagが存在するデータ列のuの値を、
図10(c)のテーブルに順次格納する。flag1が格納されている部分に対して、
図10(c)のテーブルに格納されたu’とuの値と、スプライン曲線または多項式補間を用い、flag2が格納されている部分に対して、線形方程式を用いることで、
図9(c)の制御関数f(u’)に示す曲率の曲線を得ることが出来る。上述した方法により、例えば、原画像の非線形縮小処理領域における1pixel幅の画像(画素)列を、非線形縮小処理後の非線形縮小処理領域中における、どの1pixel幅の画像(画素)列に対応させることが可能となり、画像を非線形に縮小させることが可能となる。
【0047】
(特徴点の移動量に基づく変換部13による画像の縮小処理)
図11(a)は、画像座標系のu方向とワールド座標系のX方向の関係図である。なお、
図11(a)に示す関数f(x)は、
図10(a)に示す関数f(x)と同質のものとなる。ここで、接近物が等速で自車両に向かって近付いてくると仮定すると、撮像部10のフレームレートが30fpsの場合、実空間で時速SKm/hで移動する接近物は、1フレームの間に、M=S×1000/(60×60×30)m程度移動することになる。例えば、ある時刻tにおいて、実空間X2に時速SKm/hで移動する接近物が存在する場合、33msec(1フレーム)後の実空間位置X1は次式で計算することが出来る。
(数9)
X1=X2−M
【0048】
ここで、予測されるオプティカルフロー長L1は、次式で算出することが出来る。
(数10)
L1=|f(x2)−f(x1)|
なお、
図9(a)、(b)においてnの領域に相当する領域を規定する所定の第2の閾値th2は、静止物でも、特徴点の抽出誤差により2時刻間の特徴点誤対応でオプティカルフローが発生し、静止物が動作している様に検知にみえてしまう影響を抑えるため、これらを考慮して接近物と判定するオプティカルフロー長の閾値th2を決定すれば良い。
【0049】
図11(b)は、
図11(a)に示す、関数f(x)により算出されるデータ構造である。
図11(b)のテーブルには、任意の座標のXとuとから算出されるオプティカルフローLが格納される。オプティカルフロー長Lが第2の閾値th2以上の場合は、flag1を格納し、a=L/th2で得られたa(pixel)分だけXをスキップして参照し、再度処理をしていくことを繰り返す。オプティカルフロー長Lが第2の閾値th2より小さい場合は、flag2を格納する。flag1が格納されている部分に対しては、テーブルに格納されたu’とuの値から、スプライン曲線または多項式補間を用いる。flag2が格納されている部分に対しては、線形方程式を用いることで、
図9(c)の制御関数f(u’)に示す曲率の曲線を得ることが出来る。
図11(c)は、原画像のu軸とオプティカルフロー長Lの関係図である。所定の第2の閾値th2以上の領域は、オプティカルフロー長が十分に長く、画像を非線形に縮小しても接近物を検知する為に十分なフローが得られる領域を示している。また、閾値th2以下の領域は、オプティカルフロー長が短く、画像を非線形に縮小すると、接近物を検知する為に十分なフローが
得られない領域を示している。
【0050】
撮像部10に魚眼レンズを用いた場合においては、画像中心付近が大きく映る為、画像中心付近においては、オプティカルフローを算出する際に、対応する特徴点を広範囲に探索する必要があったが、変換部13による非線形縮小処理により、対応する特徴点の探索範囲を狭めることが可能となる為、特徴点の探索速度が大幅に向上する。換言すると、変換部13は、非線形縮小処理領域において、オプティカルフローの大きさを、接近物の検知に必要なオプティカルフロー長から、特徴点の探索範囲が狭く出来る範囲になる様に画像を縮小する。
【0051】
(制御関数を用いた変換部による非線形縮小処理)
変換部13は、
図9(c)の制御関数ならびに閾値th1または閾値th2により、非線形縮小処理領域における画像を
縮小変換するu座標と、
画像の縮小量が既知となる為、撮像部10が取得する複数の画像の各非線形縮小処理領域から画像を縮小する。画像の縮小処理は、例えば、画素を間引いて変換(縮小変換)すれば良い。
図12(a)は、非線形縮小処理領域における非線形縮小処理の原画像の概念図である。
図12(b)は、非線形縮小処理領域における画像縮小後の縮小画像の概念図である。
図12(a)、(b)に示す様に、変換部13は、非線形縮小処理領域を任意の複数のグループに分割して、分割したグループGr−a、Gr−bにおいてそれぞれ画像を縮小しても良い。なお、Gr−cは、閾値th1または閾値th2を超える領域となる為、画像の縮小処理は実施しない。
【0052】
また、変換部13は、時刻ti(i∈2×n、但しnは自然数)および時刻tj(j∈2×n+1)に基づいて制御される制御関数を用いて非線形縮小処理領域の画像を非線形に縮小しても良い。
図13(a)は、ある時刻tiの非線形縮小処理領域における非線形縮小処理の原画像の概念図である。
図13(b)は、ある時刻tjの非線形縮小処理領域の非線形縮小処理の原画像の概念図である。変換部13は、例えば、上述の
図12(a)、(b)と同様に非線形縮小処理領域を任意の複数のグループに分割する。分割したグループGr−a、Gr−bにおいて画像を非線形に縮小する場合、常に同じ領域を非線形に縮小すると、接近物の検知漏れが発生することも想定され得る為、
図13(a)、(b)に示す様に非線形に縮小する領域を一定間隔で切り替えても良い。なお、画像を縮小する領域を一定間隔で切り替えることでも、
図12(b)の非線形縮小処理後の縮小画像が得られる。
【0053】
更に、変換部13は、非線形縮小処理領域、第1の分割領域画像、第2の分割領域画像を組み合わせた画像の縮小処理を行っても良い。
図14(a)は、非線形縮小処理領域における非線形縮小処理の原画像と、第1の分割領域画像と第2の分割領域画像の概念図である。
図14(b)は、非線形縮小処理領域、第1の分割領域画像、第2の分割領域画像を組み合わせた非線形縮小処理後の縮小画像の概念図である。
図14(a)に示す様に、接近物の早期検知に必要となる自車両の側方領域を多く含む第1の分割領域画像に対し、第2分割領域画像の画像をより大きく縮小しても良い。
図14(a)に示される方法で画像を縮小すると
図14(b)に概念的に示される縮小画像になる。
【0054】
(抽出部14による特徴点の抽出処理)
抽出部14は、変換部13により非線形縮小処理が行われた画像に対して特徴点を抽出する。特徴点の抽出においては、ハリスオペレータ等の公知の手段を用いて特徴点を抽出することが可能である。なお、メモリ容量を考慮して、抽出部14は、第2の分割領域画像よりも先に第1の分割領域画像に対して特徴点を抽出しても良い。
図15は、非線形縮小処理後の非線形縮小処理領域を含む撮像画像から抽出された特徴点の一例を示す図である。
図15において、抽出部14は、画像全体から特徴点を抽出しても良いし、非線形縮小処理領域のみから特徴点を抽出しても良い。
【0055】
図16(a)、(b)は、抽出部が抽出した特徴点のデータ構造の一例である。
図16(a)は、撮像部10が撮像を開始した時刻t=1.0の時の画像から抽出した特徴点のデータ構造の一例である。抽出部14は図示しないキャッシュメモリ等を有しており、特徴点のデータをそれぞれ格納する。抽出部14は、抽出した特徴点に対して任意のIDとファイル名を付与し、特徴点の画像上の座標(x、y)ならびに特徴量の一例となる輝度値Iを格納する。なお、画像上の座標(x、y)の単位は例えばピクセルであり、原点は、例えば、画像の左上に設定すれば良い。
図16(b)は、撮像部10が撮像を開始した時刻t=2.0の画像から抽出した特徴点の時のデータ構造の一例である。抽出部14は、時刻t=1.0の時と同様に特徴点のデータをそれぞれ図示しないキャッシュメモリ等に格納する。
【0056】
(算出部15によるオプティカルフローの算出処理)
算出部15は、抽出部14が抽出した特徴点のデータからオプティカルフローを算出する。
図17(a)、(b)は、算出部によるオプティカルフローの算出処理の一例となる概念図である。オプティカルフローは、例えばSAD(Sum of Absolute Difference;差分絶対値和)の相関演算法を用いることで算出することが出来る。ここで、SADは、以下の数式で定義される。
(数11)
(但し(x、y)は特徴点の画像上の座標値、I
1、I
2は連続する時刻の輝度値)
上述の(数11)は、同じ位置の画素の輝度値の差の絶対値の合計を計算し、合計値が小さいほど、類似度が高いことを意味し、完全一致するとSADの値は0になる。算出部15は、所定の閾値tを用いて、オプティカルフローの算出の基準として、閾値tよりもSAD値が小さい、かつ、SADが最小となる特徴点の組み合わせを対応付ける。
【0057】
図17(a)の例では、時刻t=1.0の特徴点と、時刻t=2.0の特徴点の組み合わせの対応付けにおいて、時刻t=2.0におけるID
1とID
2の双方のSAD値が閾値tよりも小さい。この場合は、SADが最小となるIDを組み合わせて対応付ける。この例示では、時刻t=1.0のID
1は、時刻t=2.0のID
1と組み合わせる。算出部15は、組み合わせられた特徴点の座標値から、特徴点の移動方向と移動距離となるベクトル、すなわち、オプティカルフローを算出することが可能となる。
【0058】
図17(b)の例では、時刻t=1.0の特徴点と、時刻t=2.0の特徴点の組み合わせの対応付けにおいて、時刻t=2.0におけるID
1とID
2の双方のSAD値が閾値tよりも大きい。この場合は、特徴点の組み合わせの対応付けは行わない。また、算出部15は、画像に含まれるすべての特徴点について、SAD値を算出する必要はなく、特徴点の座標近傍の領域内(m×n(m、nは自然数)画素の領域内)で特徴点の対応付けの処理を行えば良い。
【0059】
また、SADの他に、SSD(Sum of Squared intensity difference)やNCC(Normalized Cross Correlation)等の相関演算法を用いることも可能である。なお、算出部15は、所定の閾値lを用いて、閾値l以下のオプティカルフローをノイズとして削除しても良い。また、算出部15は、オプティカルフローを算出するにあたり、ある特徴点が所定の閾値z回以上にわたり、同じ位置に存在する場合は、静止物(背景)として特徴点を削除しても良い。更に、算出部15は、算出したオプティカルフローの方向が前時刻のオプティカルフローと異なる場合が所定の閾値a回以上となる場合は、ノイズとして特徴点を削除しても良い。
【0060】
(判定部16による接近物の判定処理)
判定部16は、算出部15よりオプティカルフローを受け取り、接近物の有無を判定する。ここで、判定部16は、必要に応じて、
図6の画像中心より左側の領域においては、右方向のベクトル成分を有するオプティカルフローのみを抽出し、画像中心より右側の領域においては、左方向のベクトル成分を有するオプティカルフローのみを抽出しても良い。判定部16は、算出部15より受け取る複数のオプティカルフローに対してそれぞれ位置が近接しており、類似する方向を有するものをグルーピングしてフレームIDを付与する。なお、位置の近接度や方向の類似度は適宜設定すれば良い。
【0061】
図18(a)は、オプティカルフローのグルーピング処理の概念図である。
図18(b)は、判定部が生成したオプティカルフローのグルーピング処理のデータ構造の一例である。
図18(a)に示される様に、判定部16は、オプティカルフローを任意の位置近接度や方向類似度を用いてグルーピングする。判定部16は、グルーピングしたオプティカルフローを例えば、例えば長方形で近似してフレームを生成し、生成したフレームの左上を基準座標(x、y)として、フレームの長さw、高さh、更に前時刻t−1と対応するフレームIDを、判定部16が有する図示しないキャッシュメモリ等に格納する。格納されたデータは、例えば、
図18(b)に示される様なデータ構造となる。また、判定部16は、他車両や歩行者の扁平率や、面積を考慮し、フレームの扁平率(w/h)やフレームの面積(w×h)に基づいてグルーピングを行っても良い。
【0062】
判定部16は、任意の時刻にわたり、フレームが同一方向に向かっている場合や、フレームが任意の閾値の回数s以上、互いに重畳している場合は、フレームを接近物と判定する。判定部16は、接近物が有りと判定した場合は、判定結果を提示部17に出力する。なお、判定部16は、接近物と判定されたフレームの領域情報、具体的には
図18(b)に示す接近物検知領域情報等を提示部17と記憶部18に出力しても良い。
【0063】
提示部17は、運転者に対して、接近物の存在を早期に知らせる為に、フレームの領域情報に基づき赤枠等で、接近物の位置を提示部17に表示する。また、一般的なカーナビゲーションの機能を提示部17が備える場合は、地図情報に接近物の位置を重畳して表示しても良い。また、提示部17は音声により、運転者に対して接近物の存在を通知しても良い。
【0064】
本実施形態によれば、単眼の撮像部10で自車両の自車両の運転者の視野方向で死角となる領域の撮像を実施したときに、少ない演算量で接近物を検知することが可能となる。
【0065】
(近接物の検知処理)
次に、画像処理装置1の動作について説明する。
図19は、画像処理装置における接近物の検知処理の一例を示すフローチャートである。
【0066】
ステップS1101において、速度検出部20は自車両の車輪の回転数等により、自車両の速度を検出し、自車両の速度が所定の閾値(例えば10Km/h)以下か否かを判定する。
【0067】
自車両の速度が所定の閾値以下の場合(ステップS1101−Yes)は、ステップS1102において、操舵角検出部21は、自車両のハンドルの操舵角等により、自車両の操舵角を検出し、自車両の操舵角が所定の閾値(例えば10度)以下か否かを判定する。
【0068】
自車両の操舵角が所定の閾値以下の場合(ステップS1102−Yes)は、ステップS1103において、撮像部10は自車両の側方の情報を含む画像を撮像する。なお、自車両の速度と操舵角が所定の閾値以上の場合(ステップS1101−No、ステップS1102−No)は、自車両の速度と操舵角が所定の閾値以下になるまで一連の処理を繰り返す。
【0069】
ステップS1104において、
規定部12は、撮像部10から受け取った画像について、非線形縮小処理を行う任意の領域として、非線形縮小処理領域を規定する。また、規定部12は、ステップS1104において、画像に対して非線形縮小処理領域の規定に加えて、上方分割線と下方分割線を用いて画像の側端の中心を含む第1の分割領域画像と、画像の側端の中心を含まない第2の分割領域画像とを規定する。なお、ステップS1104において、規定部12は、第1の分割領域画像を画像の側端から中心に向かって面積が小さくなる様に規定し、第2の分割領域画像を、画像の側端から中心に向かって面積が大きくなる様に規定しても良い。
【0070】
ステップS1105において、変換部13は、上述の閾値th1または閾値th2ならびに制御関数f(u)またはf(u’)に基づいて非線形縮小処理領域の画像を非線形に縮小する。なお、変換部13は、非線形縮小処理領域中の第1の分割領域画像についてのみ非線形縮小処理を実施しても良い。
【0071】
ステップS1106において、抽出部14は、変換部13により非線形縮小処理が行われた画像に対して特徴点を抽出する。なお、抽出部14は、メモリ容量を考慮して、抽出部14は、非線形縮小処理領域中において、第2の分割領域画像よりも先に第1の分割領域画像に対して特徴点を抽出しても良い。また、第1の分割領域画像のみについて特徴点を抽出しても良い。抽出部14は、取得部11が撮像部10から取得する画像全体から特徴点を抽出しても良い。
【0072】
ステップS1107において、算出部15は、抽出部14が抽出した特徴点のデータからオプティカルフローを算出する。なお、ステップS1107において、なお、算出部15は、所定の閾値lを用いて、閾値l以下のオプティカルフローをノイズとして削除しても良い。また、算出部15は、オプティカルフローを算出するにあたり、ある特徴点が所定の閾値z回以上にわたり、同じ位置に存在する場合は、静止物(背景)として特徴点を削除しても良い。更に、算出部15は、算出したオプティカルフローの方向が前時刻のフローと異なる場合が所定の閾値a回以上となる場合は、ノイズとして特徴点を削除しても良い。
【0073】
ステップS1108において、判定部16は、算出部15よりオプティカルフローを受け取り、接近物の有無を判定する。なお、ステップS1108において、判定部16は、オプティカルフローを任意の位置近接度や方向類似度を用いてグルーピングする。判定部16は、グルーピングしたオプティカルフローを例えば、例えば長方形で近似してフレームを生成し、生成したフレームの左上を基準座標(x、y)として、フレームの長さw、高さh、更に前時刻t−1と対応するフレームIDを、判定部16が有する図示しないキャッシュメモリに格納する。
【0074】
また、ステップS1108において、判定部16は、他車両や歩行者の扁平率や、面積を考慮し、フレームの扁平率(w/h)やフレームの面積(w×h)に基づいてグルーピングを行っても良い。判定部16は、任意の時刻にわたり、フレームが同一方向に向かっている場合や、フレームが任意の閾値の回数s以上、互いに重畳している場合は、フレームを接近物と判定する。
【0075】
ステップS1109において、判定部16は、接近物が有りと判定した場合(ステップS1109−Yes)は、判定結果を提示部17に出力する。なお、この時、判定部16は、接近物と判定されたフレームの領域情報、具体的には、接近物検知領域情報を提示部17と記憶部18に出力しても良い。この場合は、ステップS1111において、接近物検知領域情報が記憶部18に格納される。記憶部に格納された接近物検知領域情報は、上述の通り、ステップS1105において、変換部13に参照される。
【0076】
ステップS1109において、判定部16は、接近物が無しと判定した場合(ステップS1109−No)は、処理をS1101に戻す。このとき、判定部16が有する図示しないキャッシュメモリに格納されたオプティカルフロー等の各種データは削除しても良い。
【0077】
ステップS1110において、提示部17は、運転者に対して、接近物の存在を早期に知らせる為に、フレームの領域情報に基づき赤枠等で、接近物の位置を提示部17に表示する。また、一般的なカーナビゲーションの機能を提示部17が備える場合は、地図情報に接近物の位置を重畳して表示しても良い。また、提示部17は音声により、運転者に対して接近物の存在を通知しても良い。
【0078】
なお、前述した各実施例に係る画像処理装置の各機能ブロックを、コンピュータを用いて構成することも可能である。
図20は、画像処理装置の各機能ブロックとして動作させることのできるコンピュータのハードウェア構成の一例を示す図である。
図20に示す通り、コンピュータ30は、MPU31、ROM32、RAM33、入力装置34、表示装置35、インタフェース装置36、及び記録媒体駆動装置37を備えている。なお、これらの構成要素はバスライン38を介して接続されており、MPU31の管理の下で各種のデータを相互に授受することができる。
【0079】
MPU(Micro Processing Unit)31は、このコンピュータ30全体の動作を制御する演算処理装置である。ROM(Read Only Memory)32は、所定の制御プログラムや各種の定数値が予め記録されている読み出し専用半導体メモリである。MPU31は、この制御プログラムをコンピュータ30の起動時に読み出して実行することにより、このコンピュータ30の各構成要素の動作制御が可能となる。
【0080】
RAM(Random Access Memory)33は、MPU31が各種の制御プログラムを実行する際に、必要に応じて作業用記憶領域として使用する、随時書き込み読み出し可能な半導体メモリである。なお、このRAM33は、
図1における記録部18して機能する。
【0081】
入力装置34は、例えばキーボード装置であり、コンピュータ30の使用者により操作されると、その操作内容に対応付けられている使用者からの各種情報の入力を取得し、取得した入力情報をMPU31に送付する。
【0082】
表示装置35は例えば液晶ディスプレイであり、MPU31から送付される表示データに応じて各種のテキストや画像を表示する。インタフェース装置36は、このコンピュータ30に接続される各種機器との間での各種データの授受の管理を行う。より具体的には、インタフェース装置36は、撮像部10から送られてくる撮像画像信号のアナログ−デジタル変換や、例えば、制御部19を駆動させるための駆動信号の出力などを行う。
【0083】
このような構成を有するコンピュータ30を、前述した各実施例に係る画像処理装置の各機能ブロックとして機能させることができる。例えば、
図19を用いて説明した各処理手順をMPU31に行わせるための制御プログラムを作成する。作成した制御プログラムはROM32に予め格納しておく。そして、MPU31に所定の実行開始指示を与えてこの制御プログラムを読み出させて実行させる。こうすることで、MPU31が、
図1における撮像部10、規定部12、変換部13、抽出部14、算出部15、判定部16、提示部17、記憶部18、制御部19、速度検出部20、操舵角検出部21として機能するようになる。従って、コンピュータ30のインタフェース装置36に撮像部10を接続することで、
図1の画像処理装置を構成することができる。
【0084】
なお、記録媒体駆動装置37は、可搬型記録媒体39に記録されている各種の制御プログラムやデータの読み出しを行う装置である。例えば、ROM32としてフラッシュメモリを使用し、MPU31が、可搬型記録媒体39に記録されている前述の制御プログラムを、記録媒体駆動装置38を介して読み出してROM32に格納するようにコンピュータ30を構成してもよい。この場合には、MPU31は、所定の実行開始指示を受けた時には、MPU31がROM32に格納した制御プログラムを読み出して実行するようにする。
【0085】
なお、可搬型記録媒体39としては、例えば、CD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disc Read Only Memory)などの非一時的(non-transitory)な記録媒体が利用可能である。また、可搬型記録媒体39として、例えばUSB(Universal Serial Bus)規格のコネクタが備えられている半導体メモリも利用可能である。
【0086】
また、接近物検知対象の画像は、動画でもよく、各フレーム毎に、上記の処理を行ってもよいし、所定間隔のフレーム毎に上記処理を行ってもよい。
【0087】
また、上述の実施例において、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0088】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【0089】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
(付記1)
車両の進行方向の情報と前記進行方向に対して側方の情報とを含む画像を撮像部から取得する取得部と、
前記画像の任意の領域を、前記画像の側端から中心に向かって非線形に縮小する変換部と、
前記任意の領域から特徴点を抽出する抽出部と、
前記取得部が取得する取得時間が異なる複数の前記任意の領域の特徴点の移動量を算出する算出部と、
前記特徴点の移動量に基づいて前記車両に接近する接近物を判定する判定部と、
を備えることを特徴とする画像処理装置。
(付記2)
前記変換部は、前記算出部が算出する前記特徴点の移動量の大きさに基づいて前記任意の領域の画像を縮小することを特徴とする付記1記載の画像処理装置。
(付記3)
前記変換部は、前記任意の領域において、前記特徴点の移動量の大きさが所定の範囲の大きさになる様に画像を縮小することを特徴とする付記2記載の画像処理装置。
(付記4)
前記変換部は、前記撮像部の光学特性に基づいて前記任意の領域の画像を縮小することを特徴とする付記1ないし付記3いずれか一つに記載の画像処理装置。
(付記5)
前記変換部は、時刻ti(i∈2×n、但しnは自然数)および時刻tj(j∈2×n+1)に基づいて制御される制御関数を用いて前記任意の領域の画像を縮小することを特徴とする付記1記載の画像処理装置。
(付記6)
前記画像を複数の領域に分割し、前記画像の側端の中心を含む第1の分割領域画像と、前記画像の側端の中心を含まない第2の分割領域画像とを規定し、前記任意の領域に前記第1の分割領域画像を含ませる規定部を更に備えることを特徴とする付記1記載の画像処理装置。
(付記7)
前記規定部は、前記第1の分割領域画像を前記画像の側端から中心に向かって面積が小さくなる様に規定し、前記第2の分割領域画像を、前記画像の側端から中心に向かって面積が大きくなる様に規定することを特徴とする付記1記載の画像処理装置。
(付記8)
前記車両の車両速度を検出する速度検出部と、
前記車両速度に基づいて前記撮像部の撮像を停止させる制御部と、
を更に備えることを特徴とする付記1記載の画像処理装置。
(付記9)
前記車両の操蛇角を検出する操蛇角検出部と、
前記操蛇角に基づいて前記撮像部の撮像を停止させる制御部と、
を更に備えることを特徴とする付記1記載の画像処理装置。
(付記10)
前記撮像部は魚眼レンズを有していることを特徴とする付記1記載の画像処置装置。
(付記11)
車両の進行方向の情報と前記進行方向に対して側方の情報とを含む画像を取得し、
前記画像の任意の領域を、前記画像の側端から中心に向かって非線形に縮小し、
前記任意の領域から特徴点を抽出し、
取得時間が異なる複数の前記任意の領域の特徴点の移動量を算出し、
前記特徴点の移動量に基づいて前記車両に接近する接近物を判定する
処理をコンピュータが実行する画像処理方法。
(付記12)
前記変換することは、前記算出することが算出する前記特徴点の移動量の大きさに基づいて前記任意の領域の画像を縮小することを特徴とする付記11記載の画像処理方法。
(付記13)
前記変換することは、前記任意の領域において、前記特徴点の移動量の大きさが所定の範囲の大きさになる様に画像を縮小することを特徴とする付記12記載の画像処理方法。
(付記14)
前記変換することは、撮像部の光学特性に基づいて前記任意の領域の画像を縮小することを特徴とする付記1ないし付記3いずれか一つに記載の画像処理装置。
(付記15)
前記変換することは、時刻ti(i∈2×n、但しnは自然数)および時刻tj(j∈2×n+1)に基づいて制御される制御関数を用いて前記任意の領域の画像を縮小することを特徴とする付記11記載の画像処理方法。
(付記16)
前記画像を複数の領域に分割し、前記画像の側端の中心を含む第1の分割領域画像と、前記画像の側端の中心を含まない第2の分割領域画像とを規定し、前記任意の領域に前記第1の分割領域画像を含ませる規定する処理を更にコンピュータが実行することを特徴とする付記11記載の画像処理方法。
(付記17)
前記規定することは、前記第1の分割領域画像を前記画像の側端から中心に向かって面積が小さくなる様に規定し、前記第2の分割領域画像を、前記画像の側端から中心に向かって面積が大きくなる様に規定することを特徴とする付記16記載の画像処理方法。
(付記18)
車両の進行方向の情報と前記進行方向に対して側方の情報とを含む画像を取得し、
前記画像の任意の領域を、前記画像の側端から中心に向かって非線形に縮小し、
前記任意の領域から特徴点を抽出し、
取得時間が異なる複数の前記任意の領域の特徴点の移動量を算出し、
前記特徴点の移動量に基づいて前記車両に接近する接近物を判定する
処理をコンピュータに実行させることを特徴とする画像処理プログラム。