以下、本発明の実施形態について図面を用いて説明する。なお、各実施形態において同一の符号を付された構成は、特に言及しない限り、各実施形態において同様の機能を有するため、その説明を省略する。
[実施形態1]
図1は、実施形態1に係る画像処理装置50を備えたセンシングシステム100の構成を示す図である。
センシングシステム100は、車両に搭載された撮像装置1により車両の周囲を撮像し、画像認識を行って周囲の物体を検知するセンシングシステムである。センシングシステム100は、車両の姿勢が時々刻々と変化する自動二輪車に搭載されたシステムであるが、自動車等の四輪車に搭載して使用することも可能である。
センシングシステム100は、車両の周囲を撮像する撮像装置1と、車両の傾斜角を検出する傾斜角センサ2と、撮像装置1と傾斜角センサ2とを接続する通信用のバス3とを備える。
傾斜角センサ2は、例えば、慣性計測装置(IMU:Inertial Measurement Unit)により構成される。傾斜角センサ2は、車両の傾斜角を含む3次元の角度、角速度及び加速度を検出する。車両の傾斜角とは、ロール角、ピッチ角及びヨー角の少なくとも1つである。ロール角は、車両の前後方向に延びるz軸を回転軸として車両が傾斜する際の車両の傾斜量を示す。ピッチ角は、車両の左右方向に延びるx軸を回転軸として車両が傾斜する際の車両の傾斜量を示す。ヨー角は、車両の上下方向に延びるy軸を回転軸として車両が傾斜する際の車両の傾斜量を示す。本実施形態では、車両の傾斜角として、車両の前後方向を回転軸として傾斜するロール角を例に挙げて説明する。
傾斜角センサ2は、検出された傾斜角等の情報を、CAN(Controller Area Network)やEthernet等のバス3に適用された通信プロトコルに準じたデータ形式にエンコードし、バス3を介して画像処理装置50へ送信する。傾斜角は、記憶部5の後述するバッファ領域10に記憶される。なお、傾斜角センサ2は、リアルタイムに傾斜角を検出可能なセンサであればよく、慣性計測装置に限定されない。
撮像装置1は、撮像部4と、記憶部5と、画像処理部6と、画像認識部7と、制御情報生成部8と、通信インターフェース部9とを備える。本実施形態では、記憶部5と、画像処理部6と、画像認識部7と、制御情報生成部8と、通信インターフェース部9とを纏めて、「画像処理装置50」とも称する。
撮像部4は、CMOS(Complementary Metal Oxide Semiconductor)センサ等の撮像素子とレンズユニットとを含むカメラモジュールにより構成される。撮像部4を構成するカメラモジュールは、いわゆる単眼カメラであるが、ステレオカメラであってもよい。撮像部4は、車両の進行方向前方を向くように車両に搭載されており、車両の傾斜角に応じて傾斜する。撮像部4は、車両の周囲を撮像する。撮像部4は、車両が傾斜した状態にて車両の周囲を撮像すると、当該車両の傾斜角に応じて傾斜した画像を取得する。本実施形態では、撮像部4により取得された画像を「撮像画像」とも称する。車両の傾斜角に応じて傾斜した撮像部4により取得された画像を「傾斜状態の撮像画像」とも称する。撮像画像は、記憶部5のバッファ領域10に記憶される。
画像処理装置50は、撮像部4により取得された撮像画像を処理して、道路、車両、歩行者又は障害物等の車両の周囲に存在する物体を検知し、ブレーキやアクセルを作動させるアクチュエータの制御情報等を生成する装置である。画像処理装置50は、マイクロコンピュータ、FPGA(field-programmable gate array)、メモリ等のハードウェアと、各種処理の内容を記述したプログラムを含むソフトウェアとの協働によって実現される。
記憶部5は、各種情報を一時的に記憶するメモリにより構成される。記憶部5は、複数の記憶領域を有する。記憶部5が有する複数の記憶領域は、バッファ領域10と、生成画像記憶領域11とを含む。バッファ領域10は、撮像部4により取得された撮像画像と、傾斜角センサ2により送信された傾斜角とを記憶する記憶領域である。バッファ領域10は、傾斜状態の撮像画像を記憶する。バッファ領域10は、本発明における第1記憶領域の一例に該当する。生成画像記憶領域11は、画像処理部6により生成された各種画像を記憶する記憶領域である。
画像処理部6は、記憶部5に記憶された撮像画像について画像処理を行うと共に、画像認識部7での画像認識に用いられる認識用画像を生成する。画像処理部6は、バッファ管理部20と、画像変換部30と、画像生成部40とを有する。
バッファ管理部20は、記憶部5のバッファ領域10に記憶された情報の生成及び管理を行う。具体的には、バッファ管理部20は、タイマーにより構成されタイムスタンプを生成する時刻生成部23と、バッファ領域10に記憶された撮像画像を管理する画像管理部21と、バッファ領域10に記憶された傾斜角を管理する傾斜角管理部24とを有する。更に、バッファ管理部20は、バッファ領域10に記憶された撮像画像と傾斜角とを対応付ける同期管理部22を有する。撮像画像と傾斜角との対応付けに係るバッファ管理部20の処理の詳細については、図3及び図4を用いて後述する。
画像変換部30は、バッファ領域10に記憶された傾斜状態の撮像画像を、当該撮像画像に対応付けられた傾斜角に基づいて、非傾斜状態の撮像画像に変換する。具体的には、画像変換部30は、バッファ領域10に記憶された傾斜状態の撮像画像を回転させる回転処理を行う回転部31と、回転処理によって情報が無くなった画素を無効化する無効化部32とを有する。傾斜状態の撮像画像を非傾斜状態の撮像画像に変換する画像変換部30の処理の詳細については、図2を用いて後述する。
画像生成部40は、撮像画像の画像認識に用いられる認識用画像を生成する。具体的には、画像生成部40は、撮像画像に対してエッジ抽出処理を行ってエッジ画像を生成するエッジ画像生成部41と、撮像画像に対して濃淡変換処理を行って濃淡画像を生成する濃淡画像生成部42とを有する。エッジ画像及び濃淡画像のそれぞれは、画像認識に用いられる認識用画像の1つである。生成された認識用画像は、記憶部5の生成画像記憶領域11に記憶される。
更に、画像生成部40は、認識用画像として、エッジ画像及び濃淡画像の他に、マッチング画像を生成してもよい。マッチング画像は、画像認識部7が画像認識を行う際に用いる画像であり、撮像画像から一部を切り出した画像である。この場合、センシングシステム100は、車両の周囲に存在する物体の位置や距離を測定するレーダを備えることができ、レーダの測定結果を含む物体の情報を、バス3を介して画像処理装置50へ送信することができる。画像生成部40は、レーダの測定結果に基づいて回転処理後の撮像画像(非傾斜状態の撮像画像)における物体を特定し、特定された物体を含む所定の画素領域を、回転処理後の撮像画像(非傾斜状態の撮像画像)から切り出すことによって、マッチング画像を生成することができる。
画像認識部7は、画像処理部6により生成された認識用画像を用いて、撮像画像の画像認識を行い、車両の周囲の物体を検知する。具体的には、画像認識部7は、記憶部5の生成画像記憶領域11に記憶された認識用画像を読み出し、認識用画像の特徴からパターン認識等を行うことによって、撮像画像に映った物体を識別する。また、画像認識部7は、画像認識を行う場合には、認識用画像の1つであるマッチング画像を用いて、画像認識部7の機械学習された識別器にてマッチング処理等を行うことによって、撮像画像に映った物体を識別することができる。更に、画像認識部7は、異なる撮像タイミングにおいて取得された複数の撮像画像から生成された複数の認識用画像を用いてトラッキング処理等を行うことによって、識別された物体の動きを追跡する。これにより、画像認識部7は、車両の周囲の物体を検知することができる。
制御情報生成部8は、画像認識部7の検知結果に基づいて、ブレーキやアクセルを作動させるアクチュエータの制御情報等の、車両の走行制御や警報の報知等に必要な制御情報を生成する。制御情報生成部8により生成された制御情報は、ECU(Electronic Control Unit)等により構成された車両の制御装置へ送信される。
通信インターフェース部9は、バス3を介して、傾斜角センサ2や車両の制御装置との通信を行う。特に、通信インターフェース部9は、制御情報生成部8により生成された制御情報を、バス3に適用された上記の通信プロトコルに準じたデータ形式にエンコードし、車両の制御装置へ送信する。通信インターフェース部9は、傾斜角センサ2から送信された傾斜角を含むメッセージを受信すると、画像処理装置50のデータ形式にデコードして傾斜角を取得し、画像処理部6へ出力する。
図2は、図1に示す画像変換部30の処理を説明する図である。図2(a)は、非傾斜状態の撮像画像の例を示す図である。図2(b)は、傾斜状態の撮像画像の例を示す図である。図2(c)は、図2(b)に示す画像を回転処理した画像の例を示す図である。図2(d)は、図2(b)に示す画像を回転処理した画像の他の例を示す図である。
図2(a)~図2(d)に示す画像は、撮像部4の画素領域の一部を矩形に切り出して取得された撮像画像と仮定する。図2(a)には、車両が非傾斜状態である場合に撮像部4により取得された非傾斜状態の撮像画像が示されており、3台の先行車両が映っている。図2(b)には、図2(a)に対して車両が傾斜角(-θ)だけ傾斜した状態にて撮像部4により取得された傾斜状態の撮像画像が示されている。すなわち、図2(b)において撮像画像は、無限遠点を通り車両の前後方向に延びるz軸を回転軸として反時計回りに角度θだけ傾斜している。図2(b)に示すような傾斜状態の撮像画像が取得された場合、この傾斜状態の撮像画像は、傾斜角(-θ)と対応付けてバッファ領域10に記憶される。
画像変換部30の回転部31は、図2(b)に示す傾斜状態の撮像画像を、当該撮像画像に対応付けられた傾斜角(-θ)に応じて回転させる回転処理を行う。具体的には、回転部31は、無限遠点を通り車両の前後方向に延びるz軸を回転軸として、図2(b)とは逆方向(時計回り)に角度θだけ回転させる。この回転処理によって、図2(b)に示す傾斜状態の撮像画像は、図2(c)に示すように非傾斜状態の撮像画像に変換される。
画像変換部30の無効化部32は、図2(c)に示すように、回転処理によって情報が無くなった画素に対して、黒色画像等の無効画像を付加することによって、回転処理により情報が無くなった画素を無効化する。この無効化によって、図2(c)に示す非傾斜状態の撮像画像について画像認識を行う際に誤検知が発生することを抑制することができる。
なお、無効化部32は、図2(c)に示すように無効画像を付加する処理ではなく、別の処理を行ってもよい。例えば、無効化部32は、撮像部4の画素領域の一部を矩形に切り出して撮像画像を取得する際の切出領域の大きさを、次のように拡大して設定することによって、無効画像を付加する処理を代替することができる。すなわち、無効化部32は、切出領域の大きさを、無限遠点を通り車両の前後方向に延びるz軸を回転軸として最大傾斜角(-90度、90度)にて撮像画像を回転させた場合であっても、情報が無くなる画素が切出領域内に生じない大きさに拡大して設定する。これにより、図2(d)に示すように、回転処理が行われても情報が無くなる画素が生じないため、無効画像を付加する必要が無くなる。
このように、画像変換部30は、傾斜状態の撮像画像を、当該撮像画像に対応付けられた傾斜角に応じて回転させることによって、非傾斜状態の撮像画像に変換することができる。画像生成部40は、非傾斜状態の撮像画像から非傾斜状態の認識用画像を生成することができる。結果的に、画像処理装置50は、車両の姿勢が時々刻々と変化しても常に非傾斜状態の認識用画像を用いて撮像画像の画像認識を行うことができる。
傾斜状態の撮像画像や認識用画像は、非傾斜状態の撮像画像や認識用画像と比べて、同一物を映した画像であっても傾斜角の違いによって多数のバリエーションがある。傾斜状態の撮像画像や認識用画像にて画像認識を行うためには、多数のバリエーションを網羅した膨大な学習用画像を画像認識部7の識別器に学習させて辞書を作成する必要があるため多くのリソースを消費すると共に、辞書が膨大になるため画像認識の処理負荷も大きくなる。すなわち、傾斜状態の撮像画像や認識用画像にて画像認識を行うことは、非傾斜状態の撮像画像や認識用画像にて画像認識を行うことに比べて、様々な負担が大きい。
画像処理装置50は、車両の姿勢が時々刻々と変化しても常に非傾斜状態の撮像画像や認識用画像にて画像認識を行うことができるため、画像認識に係る負担を軽減することができる。しかも、画像処理装置50は、非傾斜状態の撮像画像や認識用画像にて画像認識を行うことが多い四輪車向けの画像認識エンジンを流用することができる。よって、画像処理装置50は、車両の姿勢が時々刻々と変化しても画像認識に係る負担を容易に軽減することができる。また、画像処理装置50は、回転処理という単純な処理によって、傾斜状態の撮像画像を非傾斜状態の撮像画像に変換して、非傾斜状態の認識用画像を生成することができるため、車両の姿勢が時々刻々と変化しても画像認識に係る負担を更に容易に軽減することができる。
図3は、図1に示すバッファ管理部20の処理を説明する図である。図4は、図1に示すバッファ領域10を説明する図である。
撮像部4は、所定の撮像周期ごとに露光時間の異なる複数の撮像画像を取得することができる。例えば、撮像部4は、或る撮像タイミングにおいて、通常の露光時間にて撮像された通常の撮像画像と、通常の露光時間とは異なる特別な露光時間にて撮像された特別な撮像画像との2つの撮像画像を取得することができる。通常の撮像画像は、例えば、図2(a)又は図2(b)に示すような画像であり、道路の区画線や形状、車両、歩行者又は障害物等の車両の周囲に存在する物体を検知するために取得される撮像画像である。特別な撮像画像は、車両のテールランプ、信号機又は電光掲示板等の色情報を検知するために取得される撮像画像である。通常の撮像画像及び特別な撮像画像は、図4の符号15にて示されるように、記憶部5のバッファ領域10に記憶される。なお、撮像部4は、通常の撮像画像及び特別な撮像画像の2つ以外にも、複数の撮像画像を取得することが可能である。
バッファ管理部20の画像管理部21は、バッファ領域10に記憶された撮像画像に対して、時刻生成部23にて生成されたタイムスタンプを付加する。画像管理部21は、撮像画像がバッファ領域10に記憶された時刻を示すタイムスタンプを、当該撮像画像に付加する。図3には、撮像画像がバッファ領域10へ記憶された順番に従って、時刻T1~T8をそれぞれ示すタイムスタンプが撮像画像に付加された例が示されている。撮像画像に付加されるタイムスタンプは、図4の符号14にて示されるように、記憶部5のバッファ領域10において撮像画像と1対1対応にて記憶される。
更に、画像管理部21は、所定の撮像周期ごとに取得された複数の撮像画像を一群として管理する。すなわち、1つの群に含まれる複数の撮像画像は、互いに同一の撮像タイミングにおいて撮像部4により撮像された画像である。図3の例では、1つの群には、通常の撮像画像と特別な撮像画像との2つの撮像画像が含まれる。図3の例では、群G1には、時刻T1を示すタイムスタンプが付加された通常の撮像画像と、時刻T2を示すタイムスタンプが付加された特別な撮像画像とが含まれる。群G2には、時刻T3を示すタイムスタンプが付加された通常の撮像画像と、時刻T4を示すタイムスタンプが付加された特別な撮像画像とが含まれる。群G3には、時刻T5を示すタイムスタンプが付加された通常の撮像画像と、時刻T6を示すタイムスタンプが付加された特別な撮像画像とが含まれる。群G4には、時刻T7を示すタイムスタンプが付加された通常の撮像画像と、時刻T8を示すタイムスタンプが付加された特別な撮像画像とが含まれる。なお、複数の群同士の違いは、撮像周期が極短時間であっても、撮像画像が取得された際に撮像部4によって撮像画像に付加される属性情報から判別することが可能である。
画像管理部21は、バッファ領域10に記憶された撮像画像に対して、当該撮像画像の属する群が分かるような識別子を付加する。図3の例では、時刻T1を示すタイムスタンプが付加された通常の撮像画像には識別子i1_1が付加され、時刻T2を示すタイムスタンプが付加された特別な撮像画像には識別子i1_2が付加されている。時刻T3を示すタイムスタンプが付加された通常の撮像画像には識別子i2_1が付加され、時刻T4を示すタイムスタンプが付加された特別な撮像画像には識別子i2_2が付加されている。時刻T5を示すタイムスタンプが付加された通常の撮像画像には識別子i3_1が付加され、時刻T6を示すタイムスタンプが付加された特別な撮像画像には識別子i3_2が付加されている。時刻T7を示すタイムスタンプが付加された通常の撮像画像には識別子i4_1が付加され、時刻T8を示すタイムスタンプが付加された特別な撮像画像には識別子i4_2が付加されている。撮像画像に付加される識別子は、図4の符号16にて示されるように、記憶部5のバッファ領域10において撮像画像と1対1対応にて記憶される。
一方、傾斜角センサ2は、所定の検出周期にて傾斜角を検出し、バス3を介して、画像処理装置50へ送信する。傾斜角センサ2の検出周期は、撮像部4の撮像周期と同一であってもよいし、異なっていてもよい。本実施形態では、傾斜角センサ2の検出周期が、撮像部4の撮像周期よりも短いものとして説明する。傾斜角センサ2から送信された傾斜角は、図4の符号13にて示されるように、記憶部5のバッファ領域10に記憶される。
バッファ管理部20の傾斜角管理部24は、バッファ領域10に記憶された傾斜角に対して、時刻生成部23にて生成されたタイムスタンプを付加する。傾斜角管理部24は、傾斜角がバッファ領域10に記憶された時刻を示すタイムスタンプを、当該傾斜角に付加する。図3には、傾斜角がバッファ領域10へ記憶された順番に従って、時刻t1~t16をそれぞれ示すタイムスタンプが傾斜角に付加された例が示されている。傾斜角に付加されるタイムスタンプは、図4の符号12にて示されるように、記憶部5のバッファ領域10において傾斜角と1対1対応にて記憶される。
バッファ管理部20の同期管理部22は、画像管理部21により一群として管理される複数の撮像画像に対して同一の傾斜角を対応付ける。すなわち、同期管理部22は、同一の撮像タイミングにおいて撮像部4により撮像された複数の画像に対して、同一の傾斜角を対応付ける。
ここで、傾斜角センサ2からバス3を介して送信されバッファ領域10に記憶される傾斜角の伝送距離は、撮像部4からバス3を介さずにバッファ領域10に記憶される撮像画像の伝送距離よりも長い。このため、傾斜角が傾斜角センサ2により検出されてからバッファ領域10に記憶されるまでに要する第1所要時間は、撮像画像が撮像部4により取得されてからバッファ領域10に記憶されるまでに要する第2所要時間よりも長くなる。第1所要時間から第2所要時間を差し引いた時間を、時間差Δtとすると、撮像画像が撮像部4により取得された時刻と同時期に傾斜角センサ2により検出された傾斜角は、当該撮像画像がバッファ領域10に記憶された時刻に時間差Δtを加えた時刻においてバッファ領域10に記憶されることとなる。言い換えると、或る撮像タイミングにおいて取得された撮像画像がバッファ領域10に記憶された時刻と、この撮像タイミングと同時期の検出タイミングにおいて検出された傾斜角がバッファ領域10に記憶された時刻とには、時間差Δtだけ差異が生じる。時間差Δtは、センシングシステム100の仕様や構造によって予め定められた値である。同期管理部22は、時間差Δtに基づいて、バッファ領域10に記憶された撮像画像と傾斜角とを対応付ける。
具体的には、まず、同期管理部22は、一群として管理される複数の撮像画像がバッファ領域10に記憶されたそれぞれの時刻から、1つの時刻を特定する。例えば、同期管理部22は、一群として管理される複数の撮像画像がバッファ領域10に記憶されたそれぞれの時刻のうちで最も早い時刻を特定する。図3の例では、群G1は時刻T1が特定され、群G2は時刻T3が特定され、群G3は時刻T5が特定され、群G4は時刻T7が特定される。そして、同期管理部22は、特定された時刻に上記の時間差Δtを加えた所定時刻を、群ごとに算出する。同期管理部22は、算出された所定時刻と、傾斜角がバッファ領域10に記憶された時刻とを比較する。同期管理部22は、傾斜角がバッファ領域10に記憶された時刻のうち、所定時刻に最も近い時刻においてバッファ領域10に記憶された傾斜角を探索する。同期管理部22は、探索された傾斜角と、所定時刻に対応する群に含まれる複数の撮像画像とを対応付ける。
図3の例では、群G1の場合、特定された時刻T1に時間差Δtを加えた所定時刻(T1+Δt)に最も近い時刻t3を示すタイムスタンプが付加された傾斜角(angle3)が、所定時刻(T1+Δt)の算出元となった時刻T1を示すタイムスタンプが付加された撮像画像(image1_1)及び特別な撮像画像(image1_2)に対応付けられる。同期管理部22は、バッファ領域10において互いに対応付けられた傾斜角と複数の撮像画像とが記憶された場所のアドレスを保持しておく。
このように、同期管理部22は、傾斜角が傾斜角センサ2により検出されてからバッファ領域10に記憶されるまでの時間と、傾斜状態の撮像画像が撮像部4により取得されてからバッファ領域10に記憶されるまでの時間との時間差Δtに基づいて、バッファ領域10に記憶された傾斜状態の撮像画像と傾斜角とを対応付けることができる。これにより、画像処理装置50は、或る撮像タイミングにおいて取得された傾斜状態の撮像画像と、この撮像タイミングと同時期の検出タイミングにおいて検出された傾斜角との同期を適切に取ることができる。
傾斜状態の撮像画像と傾斜角との同期が適切に取れていない場合、傾斜状態の撮像画像に対して回転処理を行っても、非傾斜状態の撮像画像が得られない可能性が高い。この場合、画像処理装置50は、傾斜状態の撮像画像を非傾斜状態の撮像画像であると誤認して傾斜状態の認識用画像を生成し、画像認識を行ってしまう可能性が高いため、誤った認識結果を得る可能性が高い。
画像処理装置50は、傾斜状態の撮像画像と傾斜角との同期を適切に取ることができるため、傾斜状態の撮像画像をリアルタイムに非傾斜状態の撮像画像へと変換して非傾斜状態の認識用画像を生成することができ、常に正しい認識結果を得ることができる。よって、画像処理装置50は、車両の姿勢が時々刻々と変化しても、安定した認識性能を得ることができる。
特に、画像処理装置50は、撮像周期ごとに露光時間の異なる複数の撮像画像が取得される場合でも、これらの複数の撮像画像を一群として管理し、一群として管理された複数の撮像画像と傾斜角とを対応付けることができる。これにより、画像処理装置50は、撮像周期ごとに露光時間の異なる複数の撮像画像が取得される場合でも、或る撮像タイミングにおいて取得された複数の撮像画像と、この撮像タイミングと同時期の検出タイミングにおいて検出された傾斜角との同期を適切に取ることができる。したがって、画像処理装置50は、傾斜状態の撮像画像をリアルタイムに非傾斜状態の撮像画像へと変換して非傾斜状態の認識用画像を生成することができ、常に正しい認識結果を得ることができる。しかも、露光時間の異なる複数の撮像画像を用いて画像認識を行うため、認識性能を高度化することができる。よって、画像処理装置50は、車両の姿勢が時々刻々と変化しても、安定した高い認識性能を得ることができる。
図5は、図1に示す画像処理装置50により行われる処理の流れを示すフローチャートである。
ステップS1において、画像処理装置50は、撮像部4により取得された撮像画像を記憶部5のバッファ領域10に記憶する。画像処理装置50は、撮像画像に対してタイムスタンプ及び識別子を付加して、バッファ領域10の予め定められたアドレスの場所に記憶する。
ステップS2において、画像処理装置50は、傾斜角センサ2により送信された傾斜角をバッファ領域10に記憶する。画像処理装置50は、傾斜角センサ2からバス3を介して送信された傾斜角を含むメッセージを受信すると、通信インターフェース部9によりデコードして傾斜角を取得し、バッファ領域10に記憶する。画像処理装置50は、傾斜角に対してタイムスタンプを付加して、バッファ領域10の予め定められたアドレスの場所に記憶する。
ステップS3において、画像処理装置50は、予め定められた上記の時間差Δtに基づいて、バッファ領域10に記憶された撮像画像と傾斜角とを対応付ける。画像処理装置50は、撮像画像がバッファ領域10に記憶された時刻Tに時間差Δtを加えた所定時刻(T+Δt)に最も近い時刻にてバッファ領域10に記憶された傾斜角を探索する。画像処理装置50は、探索された傾斜角と、所定時刻(T+Δt)の算出元となった時刻Tにてバッファ領域10に記憶された撮像画像とを対応付ける。
ステップS4において、画像処理装置50は、バッファ領域10に記憶された傾斜状態の撮像画像を、当該撮像画像に対応付けられた傾斜角に応じて回転させる。画像処理装置50は、互いに対応付けられた傾斜角と撮像画像とをバッファ領域10から読み出し、回転処理を行う。画像処理装置50は、互いに対応付けられた撮像画像と傾斜角とが記憶されたバッファ領域10の場所のアドレスを指定して、撮像画像と傾斜角とを読み出す。画像処理装置50は、読み出された撮像画像を、読み出された傾斜角に応じて回転させることによって、傾斜状態の撮像画像を非傾斜状態の撮像画像に変換することができる。
ステップS5において、画像処理装置50は、回転処理後の撮像画像(非傾斜状態の撮像画像)から非傾斜状態の認識用画像を生成する。生成される認識用画像は、例えば、エッジ画像や濃淡画像であるが、画像処理装置50は、マッチング画像等の他の認識用画像を生成してもよい。
ステップS6において、画像処理装置50は、生成された認識用画像を、記憶部5の生成画像記憶領域11に記憶する。その後、画像処理装置50は、生成画像記憶領域11に記憶された認識用画像を読み出し、認識用画像を用いて画像認識を行うことによって、車両の周囲の物体を検知することができる。画像処理装置50は、撮像部4の所定の撮像周期ごとに、図5に示した処理を繰り返す。
以上のように、本実施形態に係る画像処理装置50は、傾斜角が傾斜角センサ2により検出されてからバッファ領域10に記憶されるまでの時間と、傾斜状態の撮像画像が撮像部4により取得されてからバッファ領域10に記憶されるまでの時間との時間差Δtに基づいて、バッファ領域10に記憶された傾斜状態の撮像画像と傾斜角とを対応付ける。そして、本実施形態に係る画像処理装置50は、バッファ領域10に記憶された傾斜状態の撮像画像を、当該撮像画像に対応付けられた傾斜角に基づいて、非傾斜状態の撮像画像に変換して、非傾斜状態の認識用画像を生成する。
これにより、本実施形態に係る画像処理装置50は、自動二輪車のように車両の姿勢が時々刻々と変化しても、傾斜状態の撮像画像と傾斜角との同期を適切に取ることができるため、傾斜状態の撮像画像を常に非傾斜状態の撮像画像に変換して非傾斜状態の認識用画像を生成することができる。このため、本実施形態に係る画像処理装置50は、車両の姿勢が時々刻々と変化しても常に非傾斜状態の認識用画像を用いて画像認識を行うことができる。よって、本実施形態に係る画像処理装置50は、車両の姿勢が時々刻々と変化しても、画像認識に係る負担を容易に軽減することができると共に、安定した認識性能を得ることができる。
[実施形態2]
図6及び図7を用いて、実施形態2に係るセンシングシステム100について説明する。実施形態2に係る説明において、実施形態1と同様の構成及び動作については、説明を省略する。
図6は、実施形態2に画像処理装置50を備えたセンシングシステム100の構成を示す図である。
実施形態2に係るセンシングシステム100は、撮像部4がステレオカメラにより構成される。すなわち、実施形態2に係る撮像部4は、車両の左右方向に間隔を空けて配置される一対のカメラモジュールにより構成され、視差を有する一対の撮像画像を取得する。
実施形態2に係る画像処理装置50は、記憶部5のバッファ領域10において、傾斜状態の一対の撮像画像と傾斜角とを対応付けて記憶する。バッファ管理部20の同期管理部22が、傾斜状態の一対の撮像画像と傾斜角とを対応付ける。
実施形態2に係る画像生成部40は、視差画像生成部44を有する。視差画像生成部44は、一対の撮像画像において画素ごとの視差を取得し、取得された視差から、撮像部4から車両前方に向かう奥行方向の距離情報を取得する。視差画像生成部44は、画素ごとに取得された距離情報をマッピングし、視差画像を生成することができる。視差画像生成部44は、バッファ領域10に記憶された傾斜状態の一対の撮像画像から、傾斜状態の視差画像を生成する。
実施形態2に係る画像変換部30は、バッファ領域10に記憶された傾斜状態の一対の撮像画像を、当該一対の撮像画像に対応付けられた傾斜角に応じて回転させることによって、非傾斜状態の一対の撮像画像に変換する。画像変換部30は、傾斜状態の視差画像を、当該視差画像の生成元である一対の撮像画像に対応付けられた傾斜角に応じて回転させることによって、非傾斜状態の視差画像に変換する。
また、実施形態2に係る画像生成部40は、マッチング画像生成部43を有する。マッチング画像生成部43は、認識用画像の1つである上記のマッチング画像を生成する。
マッチング画像生成部43は、画像変換部30により変換された非傾斜状態の一対の撮像画像及び非傾斜状態の視差画像を用いて、非傾斜状態のマッチング画像を生成する。マッチング画像生成部43は、非傾斜状態の視差画像に含まれる距離情報に基づいて、非傾斜状態の一対の撮像画像の一方における物体の位置を特定する。マッチング画像生成部43は、特定された物体を含む所定の画素領域を、非傾斜状態の一対の撮像画像の一方から切り出すことによって、非傾斜状態のマッチング画像を生成することができる。
図7は、図6に示す画像処理装置50により行われる処理の流れを示すフローチャートである。
実施形態2に係る画像処理装置50は、図7に示すステップS1~S6において、図5に示すステップS1~S6と同様の処理を行う。但し、図7に示すステップS5において、画像処理装置50は、回転処理後の一対の撮像画像の一方(非傾斜状態の一対の撮像画像の一方)から、認識用画像として、エッジ画像や濃淡画像を生成する。また、画像処理装置50は、ステップS3の後、ステップS4~S5の処理と並列して、ステップS7~S9の処理を行う。
ステップS7において、画像処理装置50は、バッファ領域10に記憶された傾斜状態の一対の撮像画像から、傾斜状態の視差画像を生成する。
ステップS8において、画像処理装置50は、生成された傾斜状態の視差画像を、当該視差画像の生成元である一対の撮像画像に対応付けられた傾斜角に応じて回転させる。これにより、画像処理装置50は、傾斜状態の視差画像を非傾斜状態の視差画像に変換することができる。
ステップS9において、画像処理装置50は、回転処理後の一対の撮像画像の一方(非傾斜状態の一対の撮像画像の一方)と回転処理後の視差画像(非傾斜状態の視差画像)とから、認識用画像として、マッチング画像を生成する。その後、画像処理装置50は、ステップS6に移行し、生成された認識用画像の1つであるマッチング画像を、記憶部5の生成画像記憶領域11に記憶する。生成画像記憶領域11には、非傾斜状態のエッジ画像、濃淡画像及びマッチング画像が記憶される。その後、画像処理装置50は、撮像部4の所定の撮像周期ごとに、図7に示した処理を繰り返す。
以上のように、実施形態2に係る画像処理装置50は、撮像部4がステレオカメラにより構成された場合でも、実施形態1と同様に、バッファ領域10に記憶された傾斜状態の一対の撮像画像と傾斜角とを対応付ける。そして、実施形態2に係る画像処理装置50は、実施形態1と同様に、バッファ領域10に記憶された傾斜状態の一対の撮像画像を、当該一対の撮像画像に対応付けられた傾斜角に基づいて、非傾斜状態の一対の撮像画像に変換して、非傾斜状態の認識用画像を生成する。
これにより、実施形態2に係る画像処理装置50は、実施形態1と同様に、車両の姿勢が時々刻々と変化しても常に非傾斜状態の撮像画像や認識用画像にて画像認識を行うことができる。よって、実施形態2に係る画像処理装置50は、実施形態1と同様に、車両の姿勢が時々刻々と変化しても、画像認識に係る負担を容易に軽減することができると共に、安定した認識性能を得ることができる。
[実施形態3]
図8及び図9を用いて、実施形態3に係るセンシングシステム100について説明する。実施形態3に係る説明において、実施形態2と同様の構成及び動作については、説明を省略する。
図8は、実施形態3に係る画像処理装置50を備えたセンシングシステム100の構成を示す図である。
撮像部4は、遠方の標識等の検知精度の向上のため、撮像部4に含まれる撮像素子の画素数が、映像規格の4Kや8Kのように増加する傾向にあり、撮像画像の画素数が増加する傾向にある。撮像画像の画素数が増加すると、撮像画像や視差画像の回転処理に係る処理負荷が大きくなることから、回転処理を減らした方が望ましい。一方、画像認識部7が画像認識を行う際に用いられるマッチング画像は、傾斜状態のままだと、傾斜角の違いによる多数のバリエーションを網羅した膨大な学習用画像を用意し、これを画像認識部7の識別器に学習させて辞書を作成する必要がある。
そこで、実施形態3に係る画像処理装置50は、実施形態2とは異なり、一対の撮像画像、視差画像、エッジ画像及び濃淡画像は傾斜状態を維持し、マッチング画像だけに回転処理を行う。実施形態3に係る画像処理装置50は、マッチング画像だけに回転処理を行うため、処理負荷の増大を抑制することができると共に、画像変換部30の無効化部32を省略することができ、簡素な構成にすることができる。
具体的には、実施形態3に係る画像処理装置50は、実施形態2と同様に、記憶部5のバッファ領域10において、傾斜状態の一対の撮像画像と傾斜角とを対応付けて記憶すると共に、傾斜状態の一対の撮像画像から傾斜状態の視差画像を生成する。
実施形態3に係る画像生成部40は、マッチング画像生成部43において、傾斜状態の一対の撮像画像及び傾斜状態の視差画像を用いて、傾斜状態のマッチング画像を生成する。画像変換部30は、画像生成部40により生成された傾斜状態のマッチング画像を、当該マッチング画像の生成元である一対の撮像画像に対応付けられた傾斜角に応じて回転させることによって、非傾斜状態のマッチング画像に変換する。
図9は、図8に示す画像処理装置50により行われる処理の流れを示すフローチャートである。
実施形態3に係る画像処理装置50は、図9に示すステップS1~S3、S5~S7、S9において、図7に示すステップS1~S3、S5~S7、S9と同様の処理を行う。
実施形態3に係る画像処理装置50は、図7に示すステップS4、S8を行わない。但し、図9に示すステップS5において、画像処理装置50は、傾斜状態の一対の撮像画像の一方から、認識用画像として、傾斜状態のエッジ画像や濃淡画像を生成する。図9に示すステップS9において、画像処理装置50は、傾斜状態の一対の撮像画像及び傾斜状態の視差画像を用いて、認識用画像として、傾斜状態のマッチング画像を生成する。
ステップS10において、画像処理装置50は、生成された傾斜状態のマッチング画像を、当該マッチング画像の生成元である一対の撮像画像に対応付けられた傾斜角に応じて回転させる。これにより、画像処理装置50は、傾斜状態のマッチング画像を非傾斜状態のマッチング画像に変換することができる。その後、画像処理装置50は、ステップS6に移行し、生成された認識用画像の1つであるマッチング画像を、記憶部5の生成画像記憶領域11に記憶する。生成画像記憶領域11には、傾斜状態のエッジ画像及び濃淡画像、並びに、非傾斜状態のマッチング画像が記憶される。その後、画像処理装置50は、撮像部4の所定の撮像周期ごとに、図9に示した処理を繰り返す。
以上のように、実施形態3に係る画像処理装置50は、実施形態2と同様に、バッファ領域10に記憶された傾斜状態の一対の撮像画像と傾斜角とを対応付ける。そして、実施形態3に係る画像処理装置50は、実施形態2とは異なり、バッファ領域10に記憶された傾斜状態の一対の撮像画像から傾斜状態のマッチング画像を生成した後、傾斜状態のマッチング画像を回転させて、非傾斜状態のマッチング画像に変換する。
これにより、実施形態3に係る画像処理装置50は、車両の姿勢が時々刻々と変化しても常に非傾斜状態の認識用画像にて画像認識を行うことができる。更に、実施形態3に係る画像処理装置50は、マッチング画像だけに回転処理を行うため、撮像素子の画素数が増加しても処理負荷の増大を抑制することができると共に簡素な構成にすることができる。よって、実施形態3に係る画像処理装置50は、画像認識に係る負担を更に容易に軽減することができると共に、安定した認識性能を得ることができる。
[実施形態4]
図10~図12を用いて、実施形態4に係るセンシングシステム100について説明する。実施形態4に係る説明において、実施形態1と同様の構成及び動作については、説明を省略する。
図10は、実施形態4に係る画像処理装置50を備えたセンシングシステム100の構成を示す図である。図11は、図10に示す画像変換部30の処理を説明する図である。図11(a)は、傾斜状態の撮像画像から切り出される画素領域の各画素値の読み出し方法を説明する図である。図11(b)は、図11(a)に示す方法にて読み出された各画素値の記憶部5への書き込み方法を説明する図である。
実施形態1~3において、画像変換部30が画像の回転処理を行う際、傾斜角に応じた画像の座標変換を行っているため、回転処理後の画像には歪みが生じる可能性が有る。そこで、実施形態4に係る画像処理装置50は、画像変換部30が、回転処理を行う回転部31及び無効化部32の代わりに、傾斜アドレス計算部35及び切出部36を有して、画像の切出処理を行う。更に、実施形態4に係る画像処理装置50は、記憶部5が、バッファ領域10とは異なる記憶領域である切出画像記憶領域17を有する。切出画像記憶領域17は、本発明における第2記憶領域の一例に該当する。
実施形態4に係る画像変換部30は、バッファ領域10に記憶された傾斜状態の撮像画像から、当該撮像画像に対応付けられた傾斜角に応じて当該撮像画像の一部を切り出し、これを切出画像として、切出画像記憶領域17に記憶する。
具体的には、実施形態4に係る画像変換部30の傾斜アドレス計算部35は、傾斜状態の撮像画像から切出画像として切り出される画素領域のアドレスを計算する。切り出される画素領域は、矩形の領域であって、図11(a)に示すように、傾斜角センサ2にて検出された傾斜角(-θ)に応じて傾斜した領域である。傾斜アドレス計算部35は、切り出される画素領域の左端の画素(γ1)のアドレス及び右端の画素(γ2)のアドレス、並びに、切り出される画素領域のサイズ(α、β)、切り出される画素領域から各画素値を読み出す画素の順番を示す読み出し方向を設定する。傾斜アドレス計算部35は、読み出し方向として、デフォルトの水平読み出し方向(又は垂直読み出し方向)である撮像画像の左右方向(又は上下方向)に対して傾斜角(-θ)だけ傾斜した方向に設定する。図11(a)の例では、(1)~(5)の矢印方向は、読み出し方向を示しており、(1)の矢印方向にて各画素値の読み出しが終了した後、(2)~(5)のそれぞれの矢印方向にて各画素値の読み出しが順に行われることを示している。そして、傾斜アドレス計算部35は、設定された読み出し方向に沿った順番に並ぶ各画素のアドレスを計算する。
実施形態4に係る画像変換部30の切出部36は、傾斜アドレス計算部35により計算されたアドレスを読み出し方向に沿った順番に指定して、切り出される画素領域の各画素値を読み出す。そして、切出部36は、読み出された各画素値を、読み出し方向に沿った順番にて切出画像記憶領域17に書き込む。図11(b)の例では、(1’)~(5’)の矢印方向は、書き込み方向を示しており、読み出し方向(1)~(5)のそれぞれに対応しており、デフォルトの水平読み出し方向(又は垂直読み出し方向)である撮像画像の左右方向(又は上下方向)と同一方向に設定されている。図11(b)の例では、(1’)の矢印方向にて各画素値の書き込みが終了した後、(2’)~(5’)のそれぞれの矢印方向にて各画素値の書き込みが順に行われることを示している。これにより、切出部36は、結果として、回転処理が行われた画像と同様に、傾斜状態の撮像画像を非傾斜状態の切出画像に変換することができる。
実施形態4に係る画像生成部40は、切出画像記憶領域17に記憶された非傾斜状態の切出画像から、非傾斜状態のエッジ画像や濃淡画像等の認識用画像を生成する。
図12は、図10に示す画像処理装置50により行われる処理の流れを示すフローチャートである。
実施形態4に係る画像処理装置50は、図12に示すステップS1~S3、S5、6において、図5に示すステップS1~S3、S5、S6と同様の処理を行う。実施形態4に係る画像処理装置50は、図5に示すステップS4の代わりに、ステップS11を行う。
ステップS11において、画像処理装置50は、バッファ領域10に記憶された傾斜状態の撮像画像を、当該撮像画像に対応付けられた傾斜角に応じて当該撮像画像の一部を切り出し、切出画像として切出画像記憶領域17に書き込む。これにより、画像処理装置50は、傾斜状態の撮像画像を非傾斜状態の切出画像に変換することができる。その後、画像処理装置50は、ステップS5に移行し、切出画像記憶領域17に記憶された非傾斜状態の切出画像から、非傾斜状態の認識用画像を生成する。生成される認識用画像は、例えば、エッジ画像や濃淡画像であるが、画像処理装置50は、マッチング画像等の他の認識用画像を生成してもよい。その後、画像処理装置50は、ステップS6に移行し、生成された認識用画像を、生成画像記憶領域11に記憶する。その後、画像処理装置50は、撮像部4の所定の撮像周期ごとに、図12に示した処理を繰り返す。
以上のように、実施形態4に係る画像処理装置50は、実施形態1と同様に、バッファ領域10に記憶された傾斜状態の撮像画像と傾斜角とを対応付ける。そして、実施形態4に係る画像処理装置50は、実施形態1とは異なり、バッファ領域10に記憶された傾斜状態の撮像画像から、当該撮像画像に対応付けられた傾斜角に応じて当該撮像画像の一部を切り出し、切出画像として切出画像記憶領域17に書き込むことによって、傾斜状態の撮像画像を非傾斜状態の切出画像に変換する。そして、実施形態4に係る画像処理装置50は、非傾斜状態の切出画像から非傾斜状態の認識用画像を生成する。
これにより、実施形態4に係る画像処理装置50は、車両の姿勢が時々刻々と変化しても常に非傾斜状態の認識用画像にて画像認識を行うことができる。更に、実施形態4に係る画像処理装置50は、回転処理ではなく切出処理を行うため、回転処理後の画像に生じる歪みを抑制することができる。よって、実施形態4に係る画像処理装置50は、画像認識に係る負担を容易に軽減することができると共に、安定した認識性能を得ることができる。
なお、本実施形態に係る画像処理装置50は、画像変換部30が、回転部31及び無効化部32の代わりに、傾斜アドレス計算部35及び切出部36を有して、回転処理の代わりに切出処理を行っていた。しかしながら、切出処理は、回転処理と併せて行われてもよく、実施形態1~3に係る画像処理装置50が、回転部31及び無効化部32と併せて、傾斜アドレス計算部35及び切出部36を有していてもよい。
[その他]
なお、本発明は上記の実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段などは、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テープ、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。