以下の例示的な実施形態や変形例には、同様の構成要素が含まれている。よって、以下では、同様の構成要素には共通の符号が付されるとともに、重複する説明が部分的に省略される。実施形態や変形例に含まれる部分は、他の実施形態や変形例の対応する部分と置き換えて構成されることができる。また、実施形態や変形例に含まれる部分の構成や位置等は、特に言及しない限りは、他の実施形態や変形例と同様である。
(第1実施形態)
図1は、第1実施形態の認識装置10が搭載された車両90の例を示す図である。第1実施形態の認識装置10は、車両90のフロントガラスのバックミラー付近に設置される。第1実施形態の認識装置10は、認識対象の物体としての信号機92を含む被写体を撮影して、撮影した画像の画像データから信号機92を認識して検知する。
図2は、第1実施形態の認識装置10のハードウエア構成を示すブロック図である。図2に示すように、認識装置10は、カメラ12と、位置検出部14と、インタフェース部16及び認識処理部18を有する信号処理部20とを備える。
カメラ12は、車両90のフロントガラス近傍に搭載されている。カメラ12は、画像データ等のデータを送受信可能にインタフェース部16と接続されている。カメラ12は、外部の信号機92等の被写体を撮影して、静止画及び動画等の画像データを生成する。例えば、カメラ12は、時系列に連続した複数の画像フレームを含む動画の画像データを生成する。カメラ12は、画像データの明度を自動で調整して、被写体の明度に関わらず出力する画像データの明度を一定にするオートゲイン機能を有してもよい。カメラ12は、生成した画像データをインタフェース部16へ出力する。
位置検出部14は、例えば、GPS(Global Positioning System)の端末である。位置検出部14は、認識装置10の位置を検出する。位置検出部14は、検出した位置に関する情報である位置情報をインタフェース部16へ出力する。
インタフェース部16は、カメラ12から取得した時系列に連続した画像フレームを含む画像データを、認識処理部18が受け付け可能なデータ形式の画像データに変換する。インタフェース部16は、データ形式を変換した画像データを認識処理部18へ出力する。インタフェース部16は、位置検出部14から取得した位置情報を認識処理部18へ出力する。
認識処理部18は、カメラ12が撮影した画像内の信号機92を認識して出力する。
図3は、認識処理部18の機能ブロック図である。図4は、信号認識において採用される信号機92を含む画像の一例である。図3に示すように、認識処理部18は、画像取得部22と、時間帯識別部24と、信号認識辞書入力部26と、位置情報入力部27と、信号認識処理対象領域入力部28と、物体候補領域認識部の一例である信号候補領域認識部30と、物体形状認識部の一例である信号形状認識部32と、信号検知結果出力部34と、記憶部36とを有する。認識処理部18は、例えば、プロセッサ等の演算処理装置を有するコンピュータである。認識処理部18は、例えば、演算処理装置がプログラムを読み込むことによって、画像取得部22、時間帯識別部24、信号認識辞書入力部26、位置情報入力部27、信号認識処理対象領域入力部28、信号候補領域認識部30、信号形状認識部32及び信号検知結果出力部34として機能する。
画像取得部22は、インタフェース部16からカメラ12が撮影した青信号93B、黄信号93Y及び赤信号93Rを有する信号機92を含む図4に示すような画像の画像データを取得する。信号93B、93Y、93Rの色を区別する必要がない場合、信号93と記載する。画像取得部22は、取得した画像データを信号候補領域認識部30及び時間帯識別部24へ出力する。
時間帯識別部24は、予め生成して記憶部36に記憶された時間帯識別辞書DC1に基づいて、画像取得部22から取得した画像データの時間帯を識別する。例えば、時間帯識別部24は、昼の時間帯または夜の時間帯のいずれに撮影されたかを識別する。時間帯識別部24は、識別した結果である識別結果を信号候補領域認識部30及び信号認識辞書入力部26へ出力する。
信号認識辞書入力部26は、信号色認識辞書DC2を記憶部36から取得する。信号認識辞書入力部26は、時間帯識別部24が出力した昼または夜の識別結果に対応する時間帯の信号色認識辞書DC2を選択する。信号認識辞書入力部26は、選択した信号色認識辞書DC2を信号候補領域認識部30に入力する。
位置情報入力部27は、位置検出部14が検出した車両90または認識装置10の位置に関する情報である位置情報を取得する。位置情報入力部27は、例えば、画像取得部22が画像データを取得すると、位置情報を取得する。位置情報入力部27は、位置に応じた信号認識処理対象領域辞書DC3を取得するための位置情報を信号認識処理対象領域入力部28へ出力する。信号認識処理対象領域辞書DC3は物体認識処理対象領域辞書の一例である。位置情報入力部27は、位置情報を信号形状認識部32へ出力してもよい。
信号認識処理対象領域入力部28は、図4に示す画像データの画像内において信号機92の信号93を探索する範囲である信号認識処理対象領域82に関する情報を有する信号認識処理対象領域辞書DC3を記憶部36から取得する。信号認識処理対象領域は物体認識処理対象領域の一例である。信号認識処理対象領域82に関する情報は、例えば、画像内における信号認識処理対象領域82の座標データである。信号認識処理対象領域入力部28は、信号認識処理対象領域辞書DC3を信号候補領域認識部30に入力する。尚、信号認識処理対象領域入力部28は、位置情報入力部27から取得した位置情報に基づいて、当該位置情報が示す位置に応じた信号認識処理対象領域辞書DC3を選択して、信号候補領域認識部30に入力してもよい。
信号候補領域認識部30は、信号認識処理対象領域辞書DC3に基づいて、画像取得部22から取得した画像内に図4に示すような信号認識処理対象領域82を設定する。例えば、信号候補領域認識部30は、信号93の色ごとに信号認識処理対象領域82を画像内に設定する。信号候補領域認識部30は、信号色認識辞書DC2に基づいて、画像内に設定された信号認識処理対象領域82内の信号機92の各信号93の色の画素を認識して抽出する。例えば、信号候補領域認識部30は、信号認識処理対象領域82に含まれる信号93の色の画素を、時間帯に応じた信号色認識辞書DC2に基づいて認識してもよい。信号候補領域認識部30は、抽出した画素のデータを信号形状認識部32に出力する。
信号形状認識部32は、信号候補領域認識部30から取得した各色の画素のデータに基づいて、信号93の領域である信号領域80の形状を信号認識処理対象領域82内で色ごとに検出して、信号機92の信号93の形状として認識する。信号形状認識部32は、認識した信号領域80の形状に基づいて信号機92を検知した結果を検知結果として信号検知結果出力部34へ出力する。
また、信号形状認識部32は、SVM(Support Vector Machine)機械学習法等の学習法によって信号認識処理対象領域辞書DC3を生成または更新する。具体的には、信号形状認識部32は、予め撮影された画像の複数の画像データを取得する。信号形状認識部32は、当該複数の画像データに基づいて、複数の画像内の複数の信号93の形状を信号93の色ごとに認識する。信号形状認識部32は、認識した複数の信号93を含むように設定した信号認識処理対象領域82の情報(例えば、座標データ)を生成する。信号形状認識部32は、信号認識処理対象領域82の情報を有する信号認識処理対象領域辞書DC3を生成または更新する。信号形状認識部32は、生成または更新した信号認識処理対象領域辞書DC3を記憶部36に格納する。
信号形状認識部32は、複数の信号認識処理対象領域82の情報(例えば、座標データ)を有する信号認識処理対象領域辞書DC3を生成してもよい。また、信号形状認識部32は、新たな画像データに基づいて新たに設定した信号認識処理対象領域82の情報(例えば、座標データ)によって信号認識処理対象領域辞書DC3を更新してもよい。
例えば、信号形状認識部32は、信号機92の青信号93B、黄信号93Y及び赤信号93Rの各色に対応付けられた複数(例えば、3個)の信号認識処理対象領域82の情報(例えば、座標データ)を有する信号認識処理対象領域辞書DC3を生成してもよい。
信号形状認識部32は、異なる状況ごとに設定された複数の信号認識処理対象領域82の情報(例えば、座標データ)を有する信号認識処理対象領域辞書DC3を生成してもよい。具体的には、信号形状認識部32は、画像取得部22から異なる状況における複数の画像データを取得する。信号形状認識部32は、複数の画像データによって異なる状況ごとに設定した複数の信号認識処理対象領域82の座標データを有する信号認識処理対象領域辞書DC3を生成してもよい。
信号形状認識部32は、周囲の状況が変化した場合、新たな画像データに基づいて、新たに設定した信号認識処理対象領域82の情報(例えば、座標データ)によって信号認識処理対象領域辞書DC3を更新してもよい。
信号形状認識部32は、複数の時間帯のそれぞれに対応付けられた複数の信号認識処理対象領域82の情報(例えば、座標データ)を有する信号認識処理対象領域辞書DC3を生成してもよい。具体的には、信号形状認識部32は、画像取得部22から第1時間帯(例えば、昼の時間帯)の複数の画像データ(第1画像データの一例)と、第1時間帯と異なる第2時間帯(例えば、夜の時間帯)の複数の画像データとを取得する。信号形状認識部32は、第1時間帯の複数の画像データによって設定した信号認識処理対象領域82の座標データと、第2時間帯の複数の画像データ(第2画像データの一例)によって設定した信号認識処理対象領域82の座標データとを有する信号認識処理対象領域辞書DC3を生成してもよい。
信号形状認識部32は、車両90または認識装置10の複数の位置を含む複数の地域のそれぞれに対応付けられた複数の信号認識処理対象領域82の情報(例えば、座標データ)を有する信号認識処理対象領域辞書DC3を生成してもよい。具体的には、信号形状認識部32は、車両90または認識装置10の位置に関する情報である位置情報を位置情報入力部27から取得する。信号形状認識部32は、位置情報に応じて設定された第1地域において設定した信号認識処理対象領域82の座標データと、位置情報に応じて設定された第1地域と異なる第2地域において設定した信号認識処理対象領域82の座標データとを有する信号認識処理対象領域辞書DC3を生成してもよい。更に、信号形状認識部32は、位置情報入力部27から取得した位置情報に基づいて、現在の位置に対応する信号認識処理対象領域82の情報が信号認識処理対象領域辞書DC3に登録されていない場合、現在の位置を含む地域に対して設定した新たな信号認識処理対象領域82の情報を信号認識処理対象領域辞書DC3に追加してもよい。
信号形状認識部32は、位置情報入力部27から取得した車両90または認識装置10の位置情報に基づいて予め定められた地域及び予め定められた時間帯の複数の画像データに基づいて設定した信号認識処理対象領域82の情報(例えば、座標データ)を有する信号認識処理対象領域辞書DC3を生成してもよい。この場合、信号形状認識部32は、地域及び時間帯の両方に関連付けて信号認識処理対象領域82の座標データを信号認識処理対象領域辞書DC3に登録することが好ましい。
信号検知結果出力部34は、信号機92の検知結果を音声出力装置または表示装置等に出力する。
記憶部36は、信号機92を検出するためのプログラム及びプログラムの実行に必要な辞書DC1、DC2、DC3等を記憶するROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)及びSDRAM(Synchronous Dynamic RAM)等の記憶装置である。
図5は、認識処理部18が実行する信号認識処理対象領域辞書DC3を作成する辞書作成処理のフローチャートである。図6は、画像内における信号機92の各色の信号93の領域である信号領域80の形状認識を説明する図である。図7は、複数の信号領域80に基づいて抽出される信号認識処理対象領域82の座標を説明する図である。
図5に示すように、辞書作成処理では、画像取得部22が、図4に示すような画像の複数の画像フレームを含む学習用の画像データを記憶部36から取得する(S100)。画像データは、静止画であってもよく、動画であってもよい。例えば、画像取得部22は、予めカメラ12が生成した画像データをインタフェース部16が形式を変換して記憶部36に格納した画像データを取得してもよい。画像データは、辞書作成処理を実行する時間体と異なる時間であってもよい。例えば、学習用の画像データは、カメラ12が信号機92を容易に認識できる昼間に撮影した動画の画像データであってもよい。画像取得部22は、取得した画像データを時間帯識別部24及び信号候補領域認識部30へ出力する。
信号認識辞書入力部26は、信号93の色の画素を抽出するための信号色認識辞書DC2を記憶部36から取得して、信号候補領域認識部30へ出力する(S102)。尚、信号認識辞書入力部26は、時間帯識別部24から時間帯を識別した識別結果を取得している場合、当該時間帯の信号色認識辞書DC2を信号候補領域認識部30へ出力してもよい。
信号候補領域認識部30は、画像データから信号93の色ごとに画素を抽出する画像内の領域の候補である信号認識処理対象領域82を認識して設定する(S104)。尚、信号候補領域認識部30は、予め格納された信号認識処理対象領域辞書DC3を取得した場合、信号認識処理対象領域辞書DC3に基づいて、信号認識処理対象領域82を設定してもよい。また、信号候補領域認識部30は、信号認識処理対象領域辞書DC3がない場合、画像全体を初期値の信号認識処理対象領域82として設定してもよい。信号候補領域認識部30は、抽出した画素のデータ及び信号認識処理対象領域82を信号形状認識部32に出力する。
信号候補領域認識部30は、信号色認識辞書DC2に基づいて、信号認識処理対象領域82に含まれる信号93の各色の画素を、画像取得部22から取得した画像データの信号認識処理対象領域82から抽出する(S106)。例えば、信号候補領域認識部30は、青信号93B、黄信号93Y、及び、赤信号93Rそれぞれの青色、黄色、及び、赤色の画素を認識して抽出する。
信号形状認識部32は、画像内の信号認識処理対象領域82内の画素に対して、図6に示す信号93の各色の信号領域80の形状を認識するための認識処理を実行する(S108)。具体的には、信号形状認識部32は、信号機92の各色の信号93の形状を円形状の信号領域80として認識する。
信号形状認識部32は、信号領域80に外接する矩形状の領域を認識領域84として設定して、認識領域84の座標を生成する(S110)。信号形状認識部32は、例えば、二辺が水平方向と平行であり、他の二辺が垂直方向と平行である矩形状を認識領域84として認識する。信号形状認識部32は、矩形状の認識領域84の対向する2つの頂点、例えば、左上の頂点の座標データ(Xst[i],Yst[i])及び右下の頂点の座標データ(Xed[i],Yed[i])を信号領域80の認識領域84に関する情報として生成する。換言すれば、信号形状認識部32は、矩形状の認識領域84の一の対角線上の頂点の座標データを認識領域84に関する情報として生成する。信号形状認識部32は、複数の認識領域84の座標データ(Xst[i],Yst[i])、(Xed[i],Yed[i])のセットを生成する。“i”は、認識領域84の座標データがいずれの画像のデータかを区別するための正の整数である。信号形状認識部32は、信号93の色ごとに認識領域84の複数の座標データ(Xst[i],Yst[i])、(Xed[i],Yed[i])のセットを生成する。
信号形状認識部32は、信号93の認識領域84を認識する認識処理が終了したか否かを判定する(S112)。信号形状認識部32は、認識領域84の認識処理を終了していないと判定すると(S112:No)、ステップS102以降を繰り返す。これにより、信号形状認識部32は、複数の画像データの複数の信号機92に基づいて生成した複数の座標データ(Xst[i],Yst[i])、(Xed[i],Yed[i])のセットを色ごとに生成する。
一方、信号形状認識部32は、例えば、取得した全ての学習用の画像データから認識領域84の座標データ(Xst,Yst)、(Xed,Yed)を抽出して、認識処理が終了したと判定すると(S112:Yes)、ステップS114を実行する。具体的には、信号形状認識部32は、ステップS108で認識した複数の信号領域80の認識領域84から、認識領域84の画像内で現れる確率の高い領域である信号認識処理対象領域82を抽出する(S114)。例えば、信号形状認識部32は、図7に示すように、複数の認識領域84の左上の頂点の複数の座標データ(Xst,Yst)から求めた最小値(Xst_min,Yst_min)、及び、複数の認識領域84の右上の複数の座標データ(Xed,Yed)から求めた最大値(Xed_max,Yed_max)を、信号認識処理対象領域82を規定する座標データとして求める。換言すれば、信号形状認識部32は、複数の画像データによって認識した複数の信号93の形状である信号領域80を含む矩形状の対向する2つの頂点の座標を信号認識処理対象領域82の情報とする。
信号形状認識部32は、生成した座標データ(Xst_min,Yst_min)及び座標データ(Xed_max,Yed_max)を含む信号認識処理対象領域82の情報を有する信号認識処理対象領域辞書DC3を生成する(S116)。尚、信号形状認識部32は、信号認識処理対象領域辞書DC3が既に存在する場合、ステップS116では、当該座標データ(Xst_min,Yst_min)及び座標データ(Xed_max,Yed_max)によって、信号認識処理対象領域辞書DC3を更新することになる。信号形状認識部32は、作成した信号認識処理対象領域辞書DC3を記憶部36に格納する。これにより、認識処理部18は、辞書作成処理を終了する。
認識処理部18は、認識装置10の状況が変化した場合に、辞書作成処理を実行して、信号認識処理対象領域辞書DC3を生成または更新してもよい。例えば、認識処理部18は、一定の周期ごとに、辞書作成処理を実行して、信号認識処理対象領域辞書DC3を生成または更新してもよい。この場合、信号形状認識部32は、古い信号認識処理対象領域82の情報を削除して、新たな信号認識処理対象領域82の情報を、信号認識処理対象領域辞書DC3に追加してもよい。
図8は、認識処理部18が実行する認識方法の一例である物体検知処理のフローチャートである。図9は、信号機92を含み物体検知処理で使用される昼画像の一例である。図10は、信号機92を含み物体検知処理で使用される夜画像の一例である。
図8に示すように、信号検知処理では、画像取得部22は、インタフェース部16を介して、カメラ12が撮影した図9または図10に示す画像の画像データを取得して、時間帯識別部24及び信号候補領域認識部30へ出力する(S200)。
時間帯識別部24は、画像データが撮影された時間帯が昼か夜かを識別する(S204)。例えば、時間帯識別部24は、画像データの輝度によって、撮影された時間帯が昼か夜かを識別してもよい。尚、画像データの時間帯は、同じ撮影内容(例えば、同じ輝度)であっても季節、地域、国によって、実際に撮影したときの時間と異なる。例えば、夏と冬では、昼時間の長さが変わる。北半球では夏の昼時間は長く、夜時間は短い。従って、時間帯識別部24は、画像データの内容により、撮影された時間帯を定義して、昼と夜とを識別することが好ましい。
例えば、時間帯識別部24は、図9に示すような画像を昼画像のサンプルとして定義して、予め複数の昼画像サンプルを集める。時間帯識別部24は、複数の昼画像サンプルにより昼の時間帯を識別することにより、季節及び地域等による影響を抑えることができる。また、時間帯識別部24は、図10に示すような画像を夜画像のサンプルとして定義して、予め複数の夜画像サンプルを集める。時間帯識別部24は、複数の夜画像サンプルにより夜の時間帯を識別することにより、季節及び地域等による影響を抑えることができる。
次に、時間帯識別部24が実行する輝度による時間帯識別処理の一例について説明する。図11は、時間帯識別部24が実行する時間帯識別処理のフローチャートである。
図11に示すように、時間帯識別処理では、時間帯識別部24は、画像取得部22から画像データを取得する(S300)。次に、時間帯識別部24は、画像の全領域の輝度の平均値である平均輝度値Iavを算出する(S302)。一般に、昼撮影された画像の平均輝度値Iavは、夜撮影された画像の平均輝度値Iavよりも高くなる。従って、時間帯識別部24は、平均輝度値Iavを昼と夜を識別するための特徴量のひとつとして用いる。
時間帯識別部24は、画像の領域全体をM×NのブロックBlkiに分割する(S304)。ブロックBlkiは、i番目のブロックを示す。例えば、時間帯識別部24は、画像の領域全体を64×48のブロックBlkiに分割する。
時間帯識別部24は、分割した全ブロックBlkiの平均輝度値Iiを計算する(S306)。平均輝度値Iiは、i番目のブロックBlkiの平均輝度値を示す。
時間帯識別部24は、算出した各ブロックBlkiの平均輝度値Iiの分散σを式(1)に基づいて算出する(S308)。時間帯識別部24は、算出した分散σを昼と夜とを識別する特徴量のひとつとして用いる。
時間帯識別部24は、予め定められた輝度閾値Ith以下の平均輝度値Iiを有するブロックBlkiの個数を計算して、当該個数を低輝度ブロック数Nblkとする(S310)。時間帯識別部24は、低輝度ブロック数Nblkを昼と夜とを識別する特徴量のひとつとして用いる。
時間帯識別部24は、撮影時間帯を識別するための時間帯識別辞書DC1を記憶部36から取得する(S312)。時間帯識別辞書DC1の作成方法については、後述する。
時間帯識別部24は、上述の各特徴量及び時間帯識別辞書DC1によって、昼と夜とを識別する(S314)。ここで、時間帯識別部24は、例えば、SVMによる機械学習法に基づいて作成した時間帯識別辞書DC1によって、昼と夜とを識別する。
時間帯識別部24が、平均輝度値Iav及び低輝度ブロック数Nblkを特徴量として、昼と夜とを識別する場合について説明する。まず、時間帯識別部24は、次の式(2)に示すf(Iav,Nblk)を線形の評価関数として、昼と夜とを識別する。
ここで、式(2)におけるA、B、Cは、時間帯識別部24が予めSVM機械学習法で算出した評価関数f(Iav,Nblk)の係数であり、時間帯識別辞書DC1に登録されている。時間帯識別部24は、識別対象の画像データの平均輝度値Iav及び低輝度ブロック数Nblkを代入した式(2)で示す評価関数f(Iav,Nblk)の値が予め定められた時間帯閾値Tth以上の場合、撮影された時間帯を昼と識別する。一方、時間帯識別部24は、識別対象の画像データの平均輝度値Iav及び低輝度ブロック数Nblkを代入した評価関数f(Iav,Nblk)が予め定められた時間帯閾値Tth未満の場合、撮影された時間帯を夜と識別する。
時間帯識別部24が、平均輝度値Iav及び低輝度ブロック数Nblkに加えて、分散σを特徴量として、昼と夜とを識別する場合について説明する。この場合、時間帯識別部24は、次の式(3)に示すf(Iav,Nblk,σ)を線形の評価関数として、昼と夜とを識別する。
ここで、式(3)におけるA、B、C、Dは、時間帯識別部24が予めSVM機械学習法で算出した評価関数f(Iav,Nblk,σ)の係数であり、時間帯識別辞書DC1に登録されている。時間帯識別部24は、識別対象の画像データの平均輝度値Iav、低輝度ブロック数Nblk及び分散σを代入した式(3)で示す評価関数f(Iav,Nblk,σ)の値が予め定められた時間帯閾値Tth以上の場合、撮影された時間帯を昼と識別する。一方、時間帯識別部24は、識別対象の画像データの平均輝度値Iav、低輝度ブロック数Nblk及び分散σを代入した評価関数f(Iav,Nblk,σ) の値が予め定められた時間帯閾値Tth未満の場合、撮影された時間帯を夜と識別する。
時間帯識別部24は、評価関数f(Iav,Nblk)または評価関数f(Iav,Nblk,σ)に基づいて識別した撮影の時間帯を識別結果として、信号認識辞書入力部26及び信号候補領域認識部30へ出力する(S316)。これにより、時間帯識別部24は、図11に示す時間帯識別処理を終了する。
次に、時間帯識別部24による時間帯識別辞書DC1の作成処理について説明する。図12は、SVM機械学習用による昼と夜の撮影時間帯を識別するための時間帯識別辞書DC1の作成方法について説明する図である。
図12に示すように、平均輝度値Iavを縦軸とし、低輝度ブロック数Nblkを横軸とする2次元空間において、平均輝度値Iav及び低輝度ブロック数Nblkを特徴量とする各画像データは、当該2次元空間上の1つの点となる。図12において、昼撮影された昼画像データPT1は白抜きの四角で示し、夜撮影された夜画像データPT2は黒い丸で示す。昼画像データPT1と夜画像データPT2とを分割する実線L1が、評価関数f(Iav,Nblk)を示す。点線は、昼画像データPT1の境界線BD1と夜画像データPT2の境界線BD2を示す。境界線BD1、BD2は、実線L1と平行である。例えば、時間帯識別部24は、昼画像データPT1の境界線BD1と、夜画像データPT2の境界線BD2との間隔dが、最大となる実線L1を算出する。時間帯識別部24は、算出した実線L1を評価関数f(Iav,Nblk)として、係数A、B、Cを算出して、時間帯識別辞書DC1に登録する。時間帯識別部24は、当該時間帯識別辞書DC1に基づいて、画像データの昼と夜とを識別する。
時間帯識別部24は、昼と夜以外の3以上の時間帯(例えば、昼、夕、夜)に画像データを識別する場合、それぞれに対応する時間帯識別辞書DC1を予め作成して、各時間帯識別辞書DC1に基づいて複数回の時間帯識別処理を実行することにより、識別対象の画像データがいずれの時間帯かを識別してもよい。
図8に戻って、信号認識辞書入力部26は、信号色認識辞書DC2を記憶部36から取得する(S206)。
信号認識辞書入力部26は、時間帯識別部24から取得した時間帯の識別結果に応じて選択した信号色認識辞書DC2を信号候補領域認識部30へ出力する(S208)。信号認識辞書入力部26は、時間帯識別部24から取得した識別結果が昼の時間帯を示す場合、昼用の信号色認識辞書DC2を信号候補領域認識部30へ出力する。信号認識辞書入力部26は、時間帯識別部24から取得した識別結果が夜の時間帯を示す場合、夜用の信号色認識辞書DC2を信号候補領域認識部30へ出力する。
信号認識処理対象領域入力部28は、予め設定された信号認識処理対象領域辞書DC3を記憶部36から取得して、信号候補領域認識部30へ出力する(S210)。信号認識処理対象領域入力部28は、位置情報入力部27から位置情報を取得している場合、位置情報で示す位置を含む地域に対応付けられた信号認識処理対象領域82の情報を含む信号認識処理対象領域辞書DC3を信号候補領域認識部30へ出力してもよい。
信号候補領域認識部30は、信号認識処理対象領域辞書DC3に基づいて、画像データの画像内に、信号機92の信号93を探索するための信号認識処理対象領域82を設定する(S212)。
信号候補領域認識部30は、信号認識処理対象領域82内の信号機92の各信号93の色の画素を認識する(S214)。信号候補領域認識部30は、次の式(4)に基づいて、取得した画像データの(R、G、B)色空間の画素を(Y、U、V)色空間の画素に変換して、信号機92の各信号93の画素を抽出する。
信号候補領域認識部30は、信号色認識辞書DC2を作成する場合、車載のカメラ12から取得したサンプルの画像データから信号認識処理対象領域82を学習用の画像データとして切り出す。図13は、夜撮影された信号機92を含む画像の一例を示す概略図である。図14は、(U、V)色空間における夜の信号93の画素PX1、PX2の分布を示す図である。図15は、(U、V)色空間における夜の信号93の画素PX1と信号93以外の画素PX2の領域を識別する方法を説明する図である。
例えば、信号候補領域認識部30は、図10及び図13に示すような信号領域80の外側に広がる領域である、夜の青信号93Bの信号色の広がる領域85の画像データを集める。信号候補領域認識部30は、青の信号色の広がる領域85の画素PX1を抽出して、図14の黒丸で示す当該画素PX1の(U、V)色空間上の座標を求めて、図15に示す当該座標の領域の境界線BD3を求める。
信号候補領域認識部30は、青の信号色の広がる領域85以外の領域の画素PX2を抽出して、図15の白抜き四角で示す当該画素PX2の(U、V)色空間上の座標を求めて、当該座標の領域の境界線BD4を求める。
信号候補領域認識部30は、青の信号色の広がる領域85の画素PX1と、当該領域85以外の領域の画素PX2のデータを用いて学習して、夜の青信号93Bの画素PX1を認識する信号色認識辞書DC2を生成する。
例えば、信号候補領域認識部30は、SVM機械学習法によって、式(5)で示す評価関数f(U,V)の係数a、b、cを含む信号色認識辞書DC2を生成する。信号候補領域認識部30は、SVM機械学習法により、境界線BD3、BD4の間隔dが最大となるように、図15に実線L2で示す評価関数f(U,V)の係数a、b、cを算出して、係数a、b、cを含む信号色認識辞書DC2を作成する。同様に、信号候補領域認識部30は、赤信号93R及び黄信号93Yについても、評価関数f(U,V)の係数a、b、cを算出して、夜用の信号色認識辞書DC2を生成する。
信号候補領域認識部30は、識別対象の画像データの画素のU値及びV値を代入した評価関数f(U,V)の値が予め定められた閾値Thre以上であれば、信号93の画素と認識する。一方、信号候補領域認識部30は、識別対象の画像データの画素のU値及びV値を代入した評価関数f(U,V)の値が予め定められた閾値Thre未満であれば、信号93の画素でないと認識する。
図16は、昼撮影された信号機92を含む画像の一例を示す概略図である。図17は、(U、V)色空間における昼の信号領域80の画素PX3の分布を示す図である。図18は、(U、V)色空間における昼の信号領域80の画素PX3と信号領域80以外の領域の画素PX4の領域を識別する方法を説明する図である。
信号候補領域認識部30は、図9及び図16に示すような昼の青信号93Bの信号領域80のデータを集める。信号候補領域認識部30は、青の信号領域80の画素PX3を抽出して、図17の黒丸で示す当該画素PX3の(U、V)色空間上の座標を求めて、当該座標の領域の境界線BD5を求める。
信号候補領域認識部30は、青の信号領域80以外の画素PX4を抽出して、図18の白抜き四角で示すように当該画素PX4の(U、V)色空間上の座標を求めて、当該座標の領域の境界線BD6を求める。
信号候補領域認識部30は、信号領域80の画素PX3と、当該信号領域80以外の領域の画素PX4のデータを用いて学習して、昼の青信号93Bの画素PX3を認識する信号色認識辞書DC2を生成する。信号候補領域認識部30は、例えば、上述したSVM機械学習法によって、境界線BD5、BD6の間隔dが最大となるように、図18に実線L3で示す昼用の評価関数f(U,V)の係数a、b、cを色ごとに算出して、信号色認識辞書DC2を生成する。
信号候補領域認識部30は、生成した評価関数f(U,V)に基づいて、上述した閾値Thre以上か否かで、信号93の画素か否かを識別して、信号93の画素を抽出する。
信号形状認識部32は、信号候補領域認識部30が抽出した信号93の画素の対象領域に膨張処理を実行する(S216)。
図19は、膨張処理前の夜の青信号93Bの信号色の広がる領域85の画素を抽出した画素領域85aの図である。図20は、膨張処理後の夜の青信号93Bの信号色の広がる領域85の画素を抽出した画素領域85bの図である。
ここで、図10及び図13に示すような夜の青信号93Bの画像データの場合、飽和した画素及びノイズ画素が青信号93Bの信号色の広がる領域85に含まれるので、図19に示す(U、V)色空間において信号色の広がる領域85を抽出した画素領域85aは、青信号93Bの領域85の全ての画素を含まない場合がある。従って、信号形状認識部32は、抽出した画素領域85aに膨張処理を実行して、図20に示す膨張した画素領域85bを生成する。これにより、信号形状認識部32は、青信号93Bの信号色の広がる領域85に含まれ画素のうち、画素領域85aから欠落した画素を、画素領域85bに含める。また、信号形状認識部32は、本来の青信号93Bの領域を示す信号領域80を画素領域85bに生成する。信号形状認識部32は、例えば、膨張処理として、膨張処理前の画像にN×Nの画素ブロックを加える。例えば、N=7の場合、信号形状認識部32は、膨張処理対象の1画素に対して、膨張処理前の画像から7×7のブロック画素を加える。
図21は、膨張処理前の昼の青信号93Bの領域の画素を抽出した画素領域80aの図である。図22は、膨張処理後の昼の青信号93Bの領域の画素を抽出した画素領域80bの図である。
また、図9及び図16に示すような昼の青信号93Bの画像データの場合、飽和した画素及びノイズ画素が青信号93Bの信号領域80に含まれるので、図21に示す(U、V)色空間において青信号93Bの画素を抽出した画素領域80aは、青信号93Bの領域の全ての画素を含まない場合がある。従って、信号形状認識部32は、抽出した画素領域80aに膨張処理を実行して、図22に示す膨張した画素領域80bを生成する。これにより、信号形状認識部32は、青信号93Bの信号領域80に含まれる画素のうち、画素領域80aから欠落した画素を、画素領域80bに含める。また、信号形状認識部32は、本来の青信号93Bの領域を示す信号領域80を画素領域85bに生成する。信号形状認識部32は、例えば、膨張処理として、膨張処理前の画像にN×Nの画素ブロックを加える。例えば、N=7の場合、信号形状認識部32は、膨張処理対象の1画素に対して、膨張処理前の画像から7×7のブロック画素を加える。
信号形状認識部32は、膨張処理した信号93の画素領域85b、80bから円形状を抽出して、信号93の形状を認識する形状認識処理を実行する(S218)。
図23は、信号形状認識部32が、Hough変換により抽出した夜の青信号93Bの画像を示す円形状の信号領域80を示す図である。図24は、信号形状認識部32が、夜の青信号93Bの画像を示す円形状の信号領域80に外接する矩形の認識領域84を示す図である。
信号形状認識部32は、青信号93Bの信号領域80を円形状と認識した場合、青信号93Bが存在すると判断する。具体的には、信号形状認識部32は、Hough変換により、青信号93Bが存在する信号領域80において、図23に示す円形状を抽出する。信号形状認識部32は、図24に示すように、抽出した円形状の信号領域80に外接する矩形である認識領域84を求める。信号形状認識部32は、当該認識領域84の領域を、青信号93Bを検知した結果領域とする。
図25は、信号形状認識部32が、Hough変換により抽出した昼の青信号93Bの画像を示す円形状の信号領域80を示す図である。図26は、信号形状認識部32が、昼の青信号93Bの画像を示す円形状の信号領域80の認識領域84を示す図である。図27は、信号形状認識部32が、昼の青信号93Bの画像を示す円形状の信号領域80の認識領域84を示す別の図である。
信号形状認識部32は、青信号93Bの信号領域80を円形状と認識した場合、青信号93Bが存在すると判断する。具体的には、信号形状認識部32は、Hough変換により、青信号93Bが存在する信号領域80において、図25に示す円形状を抽出する。信号形状認識部32は、図26及び図27に示すように、抽出した円形状の信号領域80に外接する矩形である認識領域84を求める。信号形状認識部32は、当該認識領域84の領域を、青信号93Bを検知した結果領域とする。
信号形状認識部32は、黄信号93Y及び赤信号93Rに対しても、同様の形状認識処理を実行して、黄信号93Y及び赤信号93Rを検知した結果領域を生成する。
信号形状認識部32は、信号機92を検知した検知結果として、当該認識領域84の領域に関する情報を、信号検知結果出力部34へ出力する。信号検知結果出力部34は、取得した検知結果を表示装置等に出力する(S220)。
図28は、車載のカメラ12を含む認識装置10のハードウエア構成を示すブロック図である。図28に示すように、車載のカメラ12を含む認識装置10は、レンズを含む撮影光学系40と、機械的なシャッタ42と、CCD(Charge Coupled Device)44と、CDS(Correlated Double Sampling:相関2重サンプリング)回路46と、A/D変換器48と、画像処理回路50と、液晶ディスプレイ(以下、「LCD52」と略記する)と、モータドライバ56と、タイミング信号発生器58と、CPU(Central Processing Unit)60と、RAM(Random Access Memory)62と、ROM(Read Only Memory)64と、SDRAM(Synchronous Dynamic RAM)66と、圧縮伸張回路68と、メモリカード70と、操作部72とを有する。
カメラ12では、CCD44は、撮影光学系40を通して被写体光を受光する。ここで、撮影光学系40とCCD44との間は、シャッタ42が配置されており、このシャッタ42によりCCD44への入射光を遮断することが出来る。なお、撮影光学系40及びシャッタ42は、モータドライバ56によって駆動される。
CCD44は、撮像面に結像された光学像を電気信号に変換したアナログの画像データをCDS回路46に出力する。CDS回路46は、画像データからノイズ成分を除去して、A/D変換器48に出力する。A/D変換器48は、アナログの画像データをデジタル値に変換した後、画像処理回路50に出力する。
画像処理回路50は、画像データを一時格納するSDRAM66を用いて、YCrCb変換処理、ホワイトバランス制御処理、コントラスト補正処理、エッジ強調処理、及び、色変換処理などの各種画像処理を行う。なお、ホワイトバランス処理は、画像情報の色の濃さを調整する画像処理である。コントラスト補正処理は、画像情報のコントラストを調整する画像処理である。エッジ強調処理は、画像情報のシャープネスを調整する画像処理である。色変換処理は、画像情報の色合いを調整する画像処理である。また、画像処理回路50は、信号処理及び画像処理を実行した画像データをLCD52に出力して、画像をLCD52に表示させる。
また、画像処理回路50は、信号処理及び画像処理を実行した画像データを、圧縮伸張回路68を介して、メモリカード70に記録する。圧縮伸張回路68は、操作部72から取得した指示によって、画像処理回路50から出力される画像データを圧縮してメモリカード70に格納する。また、圧縮伸張回路68は、メモリカード70から読み出した画像データを伸張して信号処理部20に出力する。
また、CCD44、CDS回路46及びA/D変換器48は、タイミング信号を発生するタイミング信号発生器58を介して接続されたCPU60によって、タイミングを制御されている。さらに、画像処理回路50、圧縮伸張回路68、及び、メモリカード70は、CPU60によって制御されている。
CPU60は、プログラムに従って各種演算処理を実行する。CPU60は、プログラムなどを格納した読み出し専用メモリであるROM64、各種の処理過程で利用するワークエリア、各種データ格納エリアなどを有する読み出し書き込み自在のメモリであるRAM62、ROM64、SDRAM66、圧縮伸張回路68、メモリカード70、及び、操作部72とバスライン74によって相互接続されている。
上記説明した車載のカメラ12が出力する画像データは、図2及び図3に示す認識装置10の信号処理部20または認識処理部18として機能するボードに入力する。
本実施形態の認識装置10で実行される辞書作成処理用、時間帯識別処理用、及び、信号認識処理用のプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供されてもよい。
また、本実施形態の認識装置10で実行される辞書作成処理用、時間帯識別処理用、及び、信号認識処理用のプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の認識装置10で実行される辞書作成処理用、時間帯識別処理用、及び、信号認識処理用のプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、本実施形態の認識装置10で実行される辞書作成処理用、時間帯識別処理用、及び、信号認識処理用のプログラムを、ROM64等に予め組み込んで提供するように構成してもよい。
本実施形態の認識装置10で実行される辞書作成処理用、時間帯識別処理用、及び、信号認識処理用のプログラムは、上述した図2及び図3の信号処理部20または認識処理部18の各部(画像取得部22、時間帯識別部24、信号認識辞書入力部26、位置情報入力部27、信号認識処理対象領域入力部28、信号候補領域認識部30、信号形状認識部32、信号検知結果出力部34)を含むモジュール構成となっており、実際のハードウエアとしてはCPU(プロセッサ)が上記記憶媒体から辞書作成処理用、時間帯識別処理用、及び、信号認識処理用のプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、画像取得部22、時間帯識別部24、信号認識辞書入力部26、位置情報入力部27、信号認識処理対象領域入力部28、信号候補領域認識部30、信号形状認識部32、信号検知結果出力部34が主記憶装置上に生成されるようになっている。
上述したように認識装置10では、複数の画像によって認識した複数の信号の形状を含むように、信号を探索する範囲である信号認識処理対象領域82を設定するので、外部要因等によって信号機92の検知精度が低下することを抑制できる。
認識装置10では、時間帯、例えば昼と夜とに対応付けた信号認識処理対象領域82を設定することにより、時間帯によって異なる信号93の広がりに対応でき、信号機92を精度よく検知できる。
認識装置10では、位置に対応する地域に対応付けた信号認識処理対象領域82を設定することにより、地域によって異なる画像内の信号93の位置に対応でき、信号機92を精度よく検知できる。更に、認識装置10では、現在の地域に対応付けた信号認識処理対象領域82がない場合、新たに当該地域の信号認識処理対象領域82を設定することにより、新たな地域における信号93の位置にも早急に対応でき、信号機92を精度よく検知できる。認識装置10では、地域及び時間帯に対応付けた信号認識処理対象領域82を設定することにより、地域及び時間帯によって異なる画像内の信号93の位置に対応でき、信号機92を精度よく検知できる。
認識装置10では、状況ごとに信号認識処理対象領域82を設定することにより、異なる状況においても画像内の信号93の位置に対応でき、信号機92を精度よく検知できる。
認識装置10では、周囲の状況が変化すると、新たな信号認識処理対象領域82によって信号認識処理対象領域辞書DC3を更新することにより、状況が変化しても画像内の信号93の位置に対応でき、信号機92を精度よく検知できる。
認識装置10では、新たな画像データに基づいて生成した新たな信号認識処理対象領域82によって信号認識処理対象領域辞書DC3を更新することにより、信号93の位置が変化しても早急に対応でき、信号機92を精度よく検知できる。
認識装置10では、複数の信号93の形状を含む矩形状の領域の頂点を信号認識処理対象領域82の座標データとして設定することにより、信号93の検知漏れを抑制して、信号機92を精度よく検知できる。
(第2実施形態)
次に、車両が認識対象の物体である第2実施形態について説明する。第2実施形態は、認識処理部418の構成が第1実施形態と異なる以外はほぼ同様の構成である。従って、第2実施形態では、認識処理部418について説明する。図29は、第2実施形態の認識処理部418の機能ブロック図である。図30は、画像取得部422が取得する画像491の一例である。
図29に示すように、認識処理部418は、画像取得部422と、時間帯識別部424と、物体認識辞書入力部426と、位置情報入力部427と、物体認識処理対象領域入力部428と、物体候補領域認識部430と、物体形状認識部432と、物体検知結果出力部434と、記憶部436とを有する。
画像取得部422は、物体検出(例えば、車両検出)において、インタフェース部16からカメラ12が撮像した図30が示すような他の車両492を含む画像の画像データを取得する。
時間帯識別部424は、記憶部436に記憶された時間帯識別辞書DC1aに基づいて画像取得部422が取得した画像の時間帯を識別する。
物体認識辞書入力部426は、物体検出において、時間帯識別部424が出力した時間帯に応じた車両の色等の画素情報等を含む物体認識辞書DC2aを記憶部436から取得して、物体候補領域認識部430へ出力する。
位置情報入力部427は、物体検出において、位置検出部14が検出した位置情報を取得する。位置情報入力部427は、取得した位置情報を物体認識処理対象領域入力部428及び物体形状認識部432へ出力する。
物体認識処理対象領域入力部428は、物体検出において、画像内において車両492を探索する範囲である物体認識処理対象領域482に関する情報(例えば、座標データ)を有する物体認識処理対象領域辞書DC3aを記憶部436から取得して、物体候補領域認識部430へ出力する。
物体候補領域認識部430は、物体検出において、物体認識処理対象領域辞書DC3aに基づいて、車両492の検出において画像内に物体認識処理対象領域482を設定する。物体候補領域認識部430は、物体認識辞書DC2aに基づいて、物体認識処理対象領域482内の車両492の画素のデータを抽出して、物体形状認識部432へ出力する。
物体形状認識部432は、物体検出において、物体候補領域認識部430から取得した車両492の画素のデータに基づいて、例えば、車両492が存在する矩形状の物体領域480の形状を認識して、当該物体領域480の形状を車両492の形状として物体検知結果出力部434へ出力する。物体形状認識部432は、学習法によって物体認識処理対象領域辞書DC3aを生成または更新して記憶部436に格納する。
物体検知結果出力部434は、物体検出において、車両492の検出結果を音声出力装置または表示装置等に出力する。
記憶部436は、車両492を検出するためのプログラム及びプログラムの実行に必要な辞書DC1a、DC2a、DC3a等を記憶する記憶装置である。
次に、物体候補領域認識部430及び物体形状認識部432による車両492の検出に用いられる物体認識処理対象領域辞書DC3aの生成及び更新について説明する。
図31は、画像491にブロックBLを設定した図である。図31に示すように、物体候補領域認識部430は、物体認識処理対象領域辞書DC3aの学習による生成または更新において、対角線上の2つの頂点(例えば、左上の頂点及び右下の頂点)の座標(Xs,Ys)、及び、座標(Xe,Ye)によって大きさ及び位置が決まるブロックBLを画像491内に設定する。物体候補領域認識部430は、物体認識処理対象領域辞書DC3aが有する物体認識処理対象領域482の情報に基づいてブロックBLを設定してもよい。物体候補領域認識部430は、設定したブロックBLを画像内で走査させて、認識対象の物体である車両492の画像と大きさがほぼ一致するブロックBLを検出する。ここで、物体候補領域認識部430は、図31に示す大きいサイズのブロックBLaから小さいサイズのブロックBLbを順に選択して画像内を走査することが好ましい。本実施形態では、物体候補領域認識部430は、ブロックBLを正規化するので、ブロックBLのサイズに関わらず処理時間を同じである。尚、大きいサイズのブロックBLaの画像内の個数は、小さいサイズのブロックBLbの画像内の個数よりも少ない。従って、物体候補領域認識部430が大きいサイズのブロックBLaから選択して走査することにより、画像49内の車両492を速く検知できる。これにより、物体候補領域認識部430が大きいサイズのブロックBLを選択して大きい車両492の画像を検知すると、ユーザは体感速度を速く感じる。物体候補領域認識部430は、ブロックBL及びブロックBL内の画素値のデータを物体形状認識部432に出力する。
物体形状認識部432は、ブロックBL及びブロックBL内の画素値のデータに基づいて、ブロックBLの特徴量ht(x)を算出する。
図32は、特徴量算出のために認識辞書に登録された辞書ブロックDBL内の特徴パターンの例を示す図である。予め設定されて記憶部436に記憶された認識辞書は、図32に示す辞書ブロックDBL内に設定された各特徴パターンPTa、PTb、Ptc、PTdの画素値の情報を有する。4つの特徴パターンPTa、PTb、Ptc、PTdは、ほぼあらゆる物体の特徴に相当するパターンである。特徴パターンPTは、辞書ブロックDBL内の白色の画素のみで構成されている矩形の白領域WArと、辞書ブロックDBL内の黒の画素のみで構成されている矩形の黒領域BArとを含む。特徴パターンPTaは、白領域WArと黒領域BArとが左右に隣り合って位置し、かつ、辞書ブロックDBLの中心からみて左上に位置している。特徴パターンPTbは、白領域WArと黒領域BArとが上下に隣り合って位置し、かつ、辞書ブロックDBLの中心からみて右上に位置している。特徴パターンPTcは、黒領域BArが2つの白領域WArで隣り合って挟持されて位置し、かつ、辞書ブロックDBLの中心からみて上側に位置している。特徴パターンPTdは、2つの白領域WArと2つの黒領域BArとがそれぞれ対角に位置し、かつ、辞書ブロックDBLの中心からみて左側に位置している。
物体形状認識部432は、辞書ブロックDBL内の特徴パターンPTの画素値に基づいて、取得した画像のブロックBLの特徴量ht(x)を計算する。物体形状認識部432は、辞書ブロックDBL内の白領域WArの白画素値及び黒領域BArの画素値と、取得した画像のブロックBL内の画素値との差分を算出する。物体候補領域認識部430は、当該差分の絶対値の合計値を取得した画像のブロックBLの特徴量ht(x)として算出する。物体形状認識部432は、取得した画像のブロックBL内のT個の特徴量ht(x)のセットを算出する。Tは、特徴パターンPTの個数である。物体形状認識部432は、特徴量ht(x)のセット及び次の式(6)に基づいて、評価値f(x)を算出する。
αtは例えば各特徴パターンPTに関連付けられた重み係数であり、記憶部436の認識辞書に格納されている。物体形状認識部432は、特徴量ht(x)及び重み係数αtを学習によって予め計算する。図33は、学習用の画像サンプル491spの一例を示す図である。例えば、物体形状認識部432は、図33に示すような予め抽出された車両492の学習用の画像サンプル491spを複数集めて、当該複数の学習用の画像サンプル491spに基づいて特徴量ht(x)及び重み係数αtを学習して予め設定してよい。
図34は、物体形状認識部432が有する物体識別器433の図である。物体形状認識部432は、図34に示す物体識別器433を有する。物体形状認識部432は、物体識別器433によって、ブロックBLが物体領域480であるか否かを判定する。本実施形態では、物体領域480は、車両492を含む車両領域である。
物体形状認識部432は、各階層433stで式(6)に基づいて算出した評価値f(x)を算出して算出する。詳細には、物体形状認識部432は、各階層433stにおいて、検知対象の物体(即ち、車両492)毎に固有の1または複数の特徴パターンPT及び重み係数αtを用いた式(6)に基づいて、評価値f(x)を算出する。物体形状認識部432は、各階層433stにおいて、評価値f(x)と予め設定された評価用閾値とを比較して、評価値f(x)を評価する。尚、各階層433stの特徴量ht(x)、重み係数αt及び評価用閾値は、検知対象の物体の学習用画像と、検知対象の物体でない学習用画像とを用いて学習して予め設定されていることが好ましい。
物体形状認識部432は、各階層433stで、評価値f(x)が予め定められた当該階層433stの評価用閾値より小さい場合、当該評価値f(x)を算出したブロックBLを物体領域480でない、即ち、車両492を含む領域でないと判定して(即ち、物体を含まない非物体領域と判定)、当該ブロックBLに関する評価を終了する。
一方、物体形状認識部432は、評価値f(x)が予め定められた評価用閾値より大きい場合、次の階層433stで評価値f(x)を計算して、再度、当該階層433stの評価用閾値に基づいて評価する。この後、物体形状認識部432は、最後のn番目の階層433stで、評価値f(x)が予め定められた当該階層433stの評価用閾値より大きいと判定すると、当該ブロックBLを物体領域480であると判定する。
図35は、画像491内の物体領域480を説明する図である。例えば、物体形状認識部432は、画像491内に図35に白枠で示す矩形状のブロックBLを物体領域480として認識する。
図36は、物体領域480の認識結果を説明する図である。物体形状認識部432は、図36に示すように、認識した矩形状の物体領域480の対角線上の2つの頂点(例えば、左上の頂点及び右下の頂点)の座標(Xst,Yst)及び座標(Xed,Yed)を抽出する。
図37は、複数の物体領域480に基づく物体認識処理対象領域482の設定を説明する図である。ここで、物体形状認識部432は、物体認識処理対象領域482から複数の物体領域480を検知すると、各物体領域480の2つの頂点の座標(Xst[i],Yst[i])及び座標(Xed[i],Yed[i])を求める。この場合、物体形状認識部432は、図37に示すように、複数の物体領域480の座標のうち、最小の座標(Xst_min,Yst_min)及び最大の座標(Xed_max,Yed_max)を求める。物体形状認識部432は、求めた座標(Xst_min,Yst_min)及び座標(Xed_max,Yed_max)によって決定される矩形の領域を物体認識処理対象領域482として設定して、物体認識処理対象領域辞書DC3aを更新する。
物体形状認識部432は、位置情報入力部427からGPS等によって検出された位置情報を取得して、物体認識処理対象領域辞書DC3aを地域ごとに生成してもよい。これにより、物体形状認識部432は、異なる地域の地形の違い等にも対応できる物体認識処理対象領域辞書DC3aを生成できる。この場合、物体候補領域認識部430は、位置情報入力部427から取得した位置情報に基づいて、対応する物体認識処理対象領域辞書DC3aを記憶部436から取得する。
上述したように、第2実施形態の認識処理部418は、新たに取得した1または複数の画像の車両492を検出して新たな物体領域480を認識して学習することにより、物体認識処理対象領域辞書DC3aを生成及び更新する。これにより、認識処理部418は、異なる車両492及び異なるカメラ12の設置状況に対応できる物体認識処理対象領域辞書DC3aを生成できる。
認識処理部418は、カメラ12の設置状況が変わった場合でも、画像に複数の車両492を検出して新たな物体領域480を認識して物体認識処理対象領域482を設定することにより、新たな物体認識処理対象領域辞書DC3aを生成できる。
認識処理部418は、新たな地域に移動した場合でも、画像に複数の車両492を検出して新たな物体領域480を認識して物体認識処理対象領域482を設定することにより、当該新たな地域に対応した物体認識処理対象領域辞書DC3aを生成できる。
認識処理部418は、一定の期間が経過した場合、カメラ12の設置状況が変わることが多いので、画像に複数の車両492を検出して新たな物体領域480を認識して物体認識処理対象領域482を設定することにより、新たな物体認識処理対象領域辞書DC3aを生成してもよい。
上述した各実施形態の構成の機能、配置、接続関係、及び、個数等は適宜変更してよい。また、上述の各実施形態を組み合わせてもよい。
例えば、上述の第2実施形態では、認識対象の物体として車両492を例に挙げたが、これに限定されない。例えば、認識対象は、道路標識等の標識であってもよい。この場合、認識処理部418は、物体として標識を検出して、当該標識を含む領域を物体領域480として認識する。認識処理部418は、認識した複数の物体領域480に基づいて物体認識処理対象領域482を設定することにより、物体認識処理対象領域辞書DC3aを生成及び更新する。
上述の実施形態は、例として提示したものであり、本発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことも可能である。実施形態および実施形態の変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。