以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値などは、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
(車外環境認識システム100)
図1は、車外環境認識システム100の接続関係を示したブロック図である。車外環境認識システム100は、自車両1内に設けられた、撮像装置110と、車外環境認識装置120と、車両制御装置(ECU:Engine Control Unit)130とを含んで構成される。
撮像装置110は、CCD(Charge-Coupled Device)やCMOS(Complementary Metal-Oxide Semiconductor)等の撮像素子を含んで構成され、自車両1の前方に相当する環境を撮像し、カラー値で表されるカラー画像を生成することができる。ここで、カラー値は、1つの輝度(Y)と2つの色差(U、V)からなるYUV形式の色空間、3つの色相(R(赤)、G(緑)、B(青))からなるRGB形式の色空間、または、色相(H)、彩度(S)、明度(B)からなるHSB形式の色空間のいずれかで表される数値群である。本実施形態では、画像として、YUV形式のカラー値によるカラー画像を例に挙げて説明するが、任意の部分的処理においてカラー画像に依存することなく処理を遂行できるアプリケーションについては、カラー画像のみならず、輝度(Y)で表される輝度画像(モノクロ画像)を用いることができる。
また、撮像装置110は、自車両1の進行方向側において2つの撮像装置110それぞれの光軸が略平行になるように、略水平方向に離隔して配置される。撮像装置110は、自車両1の前方の検出領域に存在する対象物を撮像したカラー画像を、例えば1/60秒のフレーム毎(60fps)に連続して生成する。ここで、認識する対象物は、車両、歩行者、信号機、道路(進行路)、道路標識、ゲート、ガードレール、建物といった独立して存在する立体物のみならず、道路標識の内容、ブレーキランプ、ハイマウントストップランプ、テールランプ、ウィンカー、信号機の各点灯部分等、立体物の一部として特定できる物も含む。以下の実施形態における各機能部は、このようなカラー画像の更新を契機としてフレーム毎に各処理を遂行する。
さらに、本実施形態において、撮像装置110は、車外環境の明るさ(照度計の計測結果等)に応じた露光時間や絞りを示す第1露光態様で検出領域を撮像し、第1画像を生成する。また、撮像装置110は、電光表示タイプの道路標識等、特定の発光源が自発光しているか否かを判別可能な画像を生成する。その方法としては、ダイナミックレンジが広い撮像素子を用い、発光していない対象物が黒く潰れず、発光源が白とびしないように撮像してもよいし、第1露光態様とは露光態様(露光時間、絞り)が異なる第2露光態様で検出領域を撮像し、第2画像を生成してもよい。例えば、昼間であれば、明るい車外環境に応じた第1露光態様の露光時間より第2露光態様の露光時間を短くして、または、絞りを強くして第2画像を生成する。本実施形態において、第1画像および第2画像はそれぞれカラー画像および距離画像として用いられる。また、上記第1露光態様と第2露光態様とは、以下のようにして実現される。
例えば、撮像装置110の周期的な撮像タイミングを時分割し、第1露光態様による撮像と第2露光態様による撮像とを交互に行うことで、第1画像と第2画像とを順次生成することができる。また、画素毎に2つのキャパシタが設けられ、その2つのキャパシタに並行して電荷をチャージできる撮像素子において、一度の露光でチャージする時間を異ならせて露光態様の異なる2つの画像を並行して生成することもできる。さらに、1つのキャパシタの電荷のチャージ中に、時間を異ならせて2回読み出し、露光態様の異なる2つの画像を並行して生成したりすることでも上記の目的を達成できる。また、撮像装置110を、露光態様を異ならせて予め2セット準備しておき(ここでは、2つの撮像装置110×2セット)、2セットの撮像装置110からそれぞれ画像を生成したりすることも可能である。
車外環境認識装置120は、2つの撮像装置110それぞれからカラー画像を取得し、一方のカラー画像から任意に抽出したブロック(例えば水平4画素×垂直4画素の配列)に対応するブロックを他方のカラー画像から検索する、所謂パターンマッチングを用いて視差、および、任意のブロックの画面内の位置を示す画面位置を含む視差情報を導出する。ここで、水平は、撮像した画像の画面横方向を示し、垂直は、撮像した画像の画面縦方向を示す。このパターンマッチングとしては、一対の画像間において、任意のブロック単位で輝度(Y)を比較することが考えられる。例えば、輝度の差分をとるSAD(Sum of Absolute Difference)、差分を2乗して用いるSSD(Sum of Squared intensity Difference)や、各画素の輝度から平均値を引いた分散値の類似度をとるNCC(Normalized Cross Correlation)等の手法がある。車外環境認識装置120は、このようなブロック単位の視差導出処理を検出領域(例えば600画素×200画素)に映し出されている全てのブロックについて行う。ここでは、ブロックを4画素×4画素としているが、ブロック内の画素数は任意に設定することができる。
ただし、車外環境認識装置120では、検出分解能単位であるブロック毎に視差を導出することはできるが、そのブロックがどのような対象物の一部であるかを認識できない。したがって、視差情報は、対象物単位ではなく、検出領域における検出分解能単位(例えばブロック単位)で独立して導出されることとなる。ここでは、このようにして導出された視差情報を対応付けた画像を、上述したカラー画像と区別して距離画像という。
図2は、カラー画像126と距離画像128を説明するための説明図である。例えば、2つの撮像装置110を通じ、検出領域124について図2(a)のようなカラー画像126が生成されたとする。ただし、ここでは、理解を容易にするため、2つのカラー画像126の一方のみを模式的に示している。車外環境認識装置120は、このようなカラー画像126からブロック毎の視差を求め、図2(b)のような距離画像128を形成する。距離画像128における各ブロックには、そのブロックの視差が関連付けられている。ここでは、説明の便宜上、視差が導出されたブロックを黒のドットで表している。本実施形態では、このようなカラー画像126と距離画像128とを第1画像および第2画像それぞれに基づいて生成している。
また、車外環境認識装置120は、カラー画像126に基づくカラー値、および、距離画像128に基づいて算出された、自車両1との相対距離を含む実空間における三次元の位置情報を用い、カラー値が等しく三次元の位置情報が近いブロック同士を対象物としてグループ化して、自車両1前方の検出領域における対象物がいずれの特定物(例えば、先行車両)に対応するかを特定する。例えば、相対距離等によって前方を走行する先行車両を特定し、さらに、カラー値によってその先行車両のブレーキランプの点灯有無を正確に認識することで先行車両の加減速を把握することができる。また、車外環境認識装置120は、路肩やゲートに配置された道路標識を特定し、さらに、その道路標識の内容、例えば制限速度を認識し、車両制御装置130を通じて、自車両1の速度を制限速度内の安全な速度に制御する。
なお、上記相対距離は、距離画像128におけるブロック毎の視差情報を、所謂ステレオ法を用いて三次元の位置情報に変換することで求められる。ここで、ステレオ法は、三角測量法を用いることで、対象物の視差からその対象物の撮像装置110に対する相対距離を導出する方法である。
図1に戻って説明すると、車両制御装置130は、ステアリングホイール132、アクセルペダル134、ブレーキペダル136を通じて運転者の操作入力を受け付け、操舵機構142、駆動機構144、制動機構146に伝達することで自車両1を制御する。また、車両制御装置130は、車外環境認識装置120の指示に従い、駆動機構144、制動機構146を制御する。
以下、車外環境認識装置120の構成について詳述する。ここでは、本実施形態に特徴的な、道路標識の特定処理について詳細に説明し、本実施形態の特徴と無関係の構成については説明を省略する。
(車外環境認識装置120)
図3は、車外環境認識装置120の概略的な機能を示した機能ブロック図である。図3に示すように、車外環境認識装置120は、I/F部150と、データ保持部152と、中央制御部154とを含んで構成される。
I/F部150は、撮像装置110や車両制御装置130との双方向の情報交換を行うためのインターフェースである。データ保持部152は、RAM、フラッシュメモリ、HDD等で構成され、以下に示す各機能部の処理に必要な様々な情報を保持し、また、撮像装置110から受信した画像(第1画像および第2画像に基づくカラー画像126、距離画像128)を一時的に保持する。
中央制御部154は、中央処理装置(CPU)、プログラム等が格納されたROM、ワークエリアとしてのRAM等を含む半導体集積回路で構成され、システムバス156を通じて、I/F部150、データ保持部152等を制御する。また、本実施形態において、中央制御部154は、画像取得部160、位置情報導出部162、特徴点特定部164、投票部166、標識特定部168、標識補正部170、標識内容認識部172、標識内容確定部174としても機能する。以下、本実施形態において認識目的としている道路標識を説明し、その後、本実施形態に特徴的な車外環境認識処理について、当該中央制御部154の各機能部の動作も踏まえて詳述する。
図4は、道路標識を説明する説明図である。道路標識の種別としては、制限速度を提示した道路標識や制限速度の解除を提示した道路標識がある。制限速度を提示した道路標識は、図4(a)のように、円形状の枠内に制限速度を示す数値が記載されている。また、制限速度の解除を提示した道路標識には、図4(b)のように、無地の背景に右上から左下にかかる斜線が記載されたものや、図4(c)のように、制限速度を示す数値を背景に同斜線が記載されたものもある。
また、道路標識の表示態様としては、LED等の発光源を有する電光表示タイプと、発光源を有さず色分けされただけの非電光表示タイプがある。また、道路標識の配置としては、道路の路肩に配置されたものや、道路の両路肩に跨がってアーチ形状に立設されたゲートの道路上方に対応する位置に配置されたものがある。
本実施形態の車外環境認識装置120は、上述した中央制御部154の各機能部によって、このような配置、表示態様、種別の異なる道路標識それぞれの内容を認識する。車外環境認識装置120は、道路標識の内容を認識すると、その内容、例えば、現在走行している道路の制限速度を運転者に報知したり、現在の速度が制限速度を超過している場合にその旨を運転者に報知したり、制限速度を超過しないように車両制御装置130を制御したりすることができる。このため、自車両1が、道路標識を確認可能な位置に到達した瞬間に道路標識を認識する必要は必ずしもなく、道路標識を通過した時点、もしくは、その後に認識できれば足りる。したがって、道路標識を複数のフレームに亘って認識し、その複数のフレームの情報から道路標識の内容を確定すればよいことになる。
(車外環境認識処理)
図5は、車外環境認識処理の流れを示すフローチャートである。車外環境認識処理では、大きく分けて、画像を取得する画像取得処理(S200)、道路標識、特に円形状の枠を検出する標識検出処理(S202)、道路標識の内容(数値や図柄のパターン)を認識する標識内容認識処理(S204)、認識した道路標識の内容を時間方向に累積して確定する標識内容確定処理(S206)を、その順に実行する。
(画像取得処理S200)
画像取得部160は、撮像装置110からカラー画像126を取得する。上述したように、本実施形態において対象としている道路標識には、電光表示タイプと非電光表示タイプといったように表示態様が異なるものがあり、また、路肩とゲートといったように配置も異なるものがある。したがって、撮像装置110は、第1露光態様と第2露光態様の2つの露光態様で、それぞれ路肩とゲートとを検出可能な2つの検出領域を撮像し、画像取得部160は、このように撮像された4つのカラー画像126を取得する。
図6は、画像取得部160が取得するカラー画像126を説明するための説明図である。例えば、撮像装置110では、相対的に露光時間が長い第1露光態様で、図6(a)および図6(b)に示すカラー画像126を撮像する。ただし、図6(a)は、路肩を検出可能な画角で撮像されたカラー画像126を示し、図6(b)は、ゲートを検出するため、図6(a)より画角を広げる方向に切り換えて撮像されたカラー画像126を示している。そして、撮像装置110は、露光態様を第2露光態様に切り換え、例えば、露光時間を相対的に短く設定して、図6(c)および図6(d)に示すカラー画像126を撮像する。ただし、図6(c)および図6(d)は、図6(a)および図6(b)同様、検出対象に応じ画角を切り換えて撮像されている。ここでは、4つのカラー画像126を挙げているが、路肩およびゲートさえ検出できれば、その数と種別は任意に設定することができる。
こうして、露光態様および検出領域の異なる4つのカラー画像126が取得される。このように複数の露光態様や検出領域で撮像することで、発光源の輝度が飽和したり、画角を広くとり過ぎて分解能が低くなる等の問題を解消でき、検出精度を十分に高めることができる。かかる4つのカラー画像126は時分割で撮像され、その順は任意に設定できる。ただし、本実施形態では、道路標識を通過した時点、もしくは、その後に道路標識を認識できればよいので、必ずしも4つのカラー画像126を同タイミングで撮像する必要はない。
位置情報導出部162は、2つの撮像装置110それぞれから第1露光で撮像した第1画像に基づくカラー画像(図6(a)、図6(b))を取得し、パターンマッチングを用いて視差、および、任意のブロックの画面内の位置を示す画面位置を含む視差情報を導出して距離画像128を生成する。そして、位置情報導出部162は、距離画像128における検出領域124内のブロック毎の視差情報を、ステレオ法を用いて、自車両1の水平方向中央を中心とした水平方向の相対距離である水平距離x、道路表面からの高さyおよび自車両1との奥行き方向の相対距離zを含む三次元の位置情報に変換する。ただし、位置情報導出部162は、三次元の位置情報に変換する前に予め道路表面の垂直位置を求め、ブロック毎の垂直位置と道路表面の垂直位置との相対距離から道路表面からの高さyを導出する。ここで、視差情報が、距離画像128における各ブロックの視差を示すのに対し、三次元の位置情報は、実空間における各ブロックの相対距離zの情報を示す。また、視差情報が画素単位ではなくブロック単位、即ち複数の画素単位で導出されている場合、その視差情報はブロックに属する全ての画素の視差情報とみなして、画素単位の計算を実行することができる。かかる三次元の位置情報への変換については、特開2013−109391号公報等、既存の技術を参照できるので、ここでは、その詳細な説明を省略する。
(標識検出処理S202)
本実施形態では、道路標識のうち、特に円形状の道路標識の認識を目的としている。このような円形状の道路標識は、ハフ変換を用いて検出される。ここで、ハフ変換は、カラー画像上の特徴点から、対象が存在する可能性のある点に投票を行い、得票数が多い(所定値以上となる)対象を検出する技術である。このように本実施形態では、ハフ変換に特化して説明するが、車外環境認識処理の任意の部分的処理においてハフ変換に依存することなく道路標識を特定できるアプリケーションについてはハフ変換のみならず、ハフ変換以外のテンプレートマッチングや最小二乗法等の既存の様々な形状認識手法を用いることができる。
図7および図8は、ハフ変換を説明するための説明図である。ここでは、カラー画像126から図7(a)の如くエッジを有する3つの画素220c、220d、220eを抽出したとする。かかる3つの画素220c、220d、220eは、本来、円形状の道路標識222の一部であるが、通常、カラー画像126から明確に円形状であることは把握できない。
ハフ変換は、複数の点から円や直線などの幾何学的な形状を検出する手法であり、任意の画素220を通り、かつ、半径nである円の中心は、その任意の画素220を中心とした半径nの円周上に存在するという理論に基づいている。例えば、図7(a)の3つの画素220c、220d、220eを通る円の中心は、3つの画素220c、220d、220eそれぞれを中心とした円周上にある。しかし、エッジのみの情報では、その半径nを特定できないため、相異なる複数段階の半径nを準備して、3つの画素220c、220d、220eを中心とした複数段階の半径nの円上の画素に投票し、得票数が予め定められた所定値以上となれば半径nと中心とを道路標識222として決定する。
例えば、図7(b)、図7(c)、図7(d)のように、3つの画素220c、220d、220eを中心にして、相異なる半径n=4、5、6の円を形成し、その円の軌跡に含まれる画素に投票する(単位指標を関連付ける)。すると、図7(b)では、2つの画素224で得票数が2となる(単位指標が2つ関連付けられる)。また、図7(c)では、3つの画素224で得票数が2となり、1つの画素226で得票数が3となる。同様に、図7(d)では、6つの画素224で得票数が2となる。
このとき、得票数が3(所定値以上)となるのは画素226のみとなり、その画素226を3つの画素220c、220d、220eを通る円の中心とし、その画素226を導出した際の半径n=5を円の半径と特定することができる。こうして、図7(e)のように、3つの画素220c、220d、220eを通る円228が特定される。ここでは、説明の便宜上、3つの画素220c、220d、220eを挙げて説明したが、円228に含まれない画素が特徴点となったり、画素化(離散化)により本来の位置と異なる位置に出現した画素が特徴点となったりすることがあるので、このようなノイズの影響を回避すべく、実際には、多数の点を投票に用い、数の原理で安定した検出を行っている。本実施形態では、このようなハフ変換を、例えば、図6(b)に示したカラー画像126に適用し、特徴点特定部164、投票部166、標識特定部168によって円形状の道路標識を特定する。以下、図8を用いて、各機能部の基本的な処理を説明する。
まず、特徴点特定部164は、カラー画像126から、円周の部分部位に相当する特徴点を特定する(特徴点特定処理)。例えば、特徴点特定部164が、図8(a)のカラー画像126において、特徴点としてエッジを有する画素220f、220g、220h、220i、220j、220kを特定したとする。なお、図8(a)の点線は走行車線に対応している。
次に、投票部166は、特徴点から半径nに相当する所定の距離に投票する(投票処理)。ここでは、上記6つの画素220に対し、説明の便宜上、画素220f、220g、220hについては半径nを仮に30画素とし、画素220i、220j、220kについては半径nを仮に23画素とする。投票部166は、図8(b)のカラー画像126において、画素220f、220g、220h、220i、220j、220kを中心に、画素220それぞれから半径n(30画素、23画素)にある円上の画素全てに投票する。そして、図8(c)に示す投票テーブル230における投票先(画素、半径n)に1が投票(加算)される。ここで、投票テーブル230は、ハフ変換による投票空間であり、投票先となる画素の画面位置(x、y)と半径nとの三次元で表される。
続いて、標識特定部168は、投票テーブル230の得票数を検出し、得票数が多い投票先の画素と半径nとに基づいて円の中心と半径nとを導出する。そして、図8(d)のように、得票数が多い画素234を中心に読み出した半径nの円236を形成し、それを道路標識として特定する(標識特定処理)。以下、特徴点特定部164、投票部166、標識特定部168それぞれによる特徴点特定処理、投票処理、標識特定処理の具体的な動作を説明する。
(特徴点特定処理)
特徴点特定部164は、カラー画像126を用い、第1の抽出条件として、画素220のうち、所定のエッジ強度を有する画素220を特徴点の候補とする。エッジ強度は、例えば、ゾーベル(Sobel)フィルタで表してもよい。特徴点特定部164は、各画素220の座標を(i,j)とし、輝度をA(i,j)とした場合、以下の数式1を用いて、垂直方向のゾーベルフィルタと水平方向のゾーベルフィルタの絶対値の和を導出し、その値(エッジ強度)が予め定められた所定値以上であればその画素(i,j)を特徴点の候補とする。
エッジ強度=|A(i+1,j+1)+2A(i+1,j)+A(i+1,j-1) - A(i-1,j+1)-2A(i-1,j)-A(i-1,j-1)|
+|A(i+1,j+1)+2A(i,j+1)+A(i-1,j+1) - A(i+1,j-1)-2A(i,j-1)-A(i-1,j-1)|…(数式1)
ここでは、ゾーベルフィルタによってエッジ強度を導出する例を挙げたが、かかる場合に限られず、プレヴィット(Prewitt)フィルタ等、既存の様々な技術を適用することができる。
また、特徴点特定部164は、カラー画像126を用い、第2の抽出条件として、画素220のうち、所定のカラー値のうちの所定の色成分、例えば、YUV形式の色空間におけるV成分が予め定められた所定値以上であれば、その画素220を特徴点の候補とする。制限速度を提示した道路標識は周囲が赤色の円で構成され、制限速度の解除を提示した道路標識は周囲が白色または黒色の円で構成される。したがって、V成分が所定値以上である領域に属する色のみを抽出し特徴点の候補とする。こうして、走行中の多くの機会で確認される樹木等の緑色系の画素を除外することができ、特徴点の適切な絞込みが可能になる。
なお、カラー画像がRGB形式の色空間で構成されている場合、任意の変換式によってYUV形式の色空間に変換する。かかる変換式は、既存の技術なので、ここではその詳細な説明を省略する。
また、特徴点特定部164は、距離画像128を用い、第3の抽出条件として、画素220のうち、相対距離zが所定範囲内、路面からの高さyが所定範囲内、および、水平距離xが所定範囲内のいずれか1または複数の条件を満たした画素220を特徴点の候補とする。
具体的に、特徴点特定部164は、距離画像128から任意の画素220を抽出し、その画素220の三次元の位置情報を参照し、画素220に対応する対象物の相対距離zが、例えば10m以上、50m未満に位置する場合にその画素220を特徴点の候補とする。これは、10m未満では露光時間内における画像上での対象物の移動量が長くなり、それに伴って画像ボケの影響が大きくなるからであり、また、50m以上では画像の分解能の関係から道路標識の内容を正しく認識できないことが多いからである。このように相対距離zを制限することで、処理負荷の軽減を図るとともに、誤認識を低減することが可能となる。
また、特徴点特定部164は、同画素220に対応する対象物の路面からの高さyが、例えば0.5m以上、6.0m未満に位置する場合にその画素220を特徴点の候補とする。かかる範囲を0.5m以上とすることで、認識対象として路面標示やレーンを除外することができ、また、6.0m未満とすることで、それ以上に位置する樹木等を除外することができる。かかる条件によっても、処理負荷の軽減を図るとともに、誤認識を低減することが可能となる。
また、特徴点特定部164は、同画素220に対応する対象物の水平距離xが、例えば12mの範囲(−12m以上、12m未満)に位置する場合にその画素220を特徴点の候補とする。かかる範囲を12mとすることで、自車両1が走行しているレーンに関する道路標識以外の道路標識を除外することができる。かかる条件によっても、処理負荷の軽減を図るとともに、誤認識を低減することが可能となる。
また、特徴点特定部164は、カラー画像126および距離画像128を用い、第4の抽出条件として、近接する画素220同士の少なくとも1の色成分(例えばU成分)の差分が所定範囲内であり、かつ、そのような画素220同士が所定の一方向に対して所定距離(長さ)以上連続していない画素を、特徴点の候補とする。
図9は、第4の抽出条件を説明するための説明図である。例えば、図9(a)の路肩に示す紅葉した樹木240等は、第1〜第3の抽出条件を全て満たしてしまう場合がある。また、紅葉した樹木240はテクスチャとして認識できる箇所が多いので、広い範囲で特徴点として抽出されてしまう場合が多い。そうすると、テクスチャの多い樹木240等において広い範囲で特徴点が特定されてしまい、処理負荷が増大してしまう。
そこで、特徴点特定部164は、画素220同士の距離、すなわち、奥行き方向の距離、垂直方向の距離、および、水平方向の距離のいずれか1または複数の合成距離が、例えば、所定距離(例えば0.5m)未満であり、かつ、1の色成分(例えばU成分)の差分が所定値(例えば10)以内であるか否か判定する。そして、特徴点特定部164は、合成距離が0.5m未満であり、かつ、U成分の差分が10以内である画素220同士が画面の一方向(例えば水平方向)に30画素連続している場合、その画素220全てを特徴点から除外する。道路標識では、図9(b)に示すようにその周囲が同一色の円で構成されているが、所定の一方向、例えば、水平方向や垂直方向に30画素連続することはない。このような道路標識の表示形式の特徴に基づいて特徴点を特定することで、本来、特徴点として抽出すべきでない第1〜第3の抽出条件を満たしている画素220を除外することができ、特徴点の特定効率の向上を図ることが可能となる。
ただし、道路標識のカラー画像126上の大きさは、相対距離zによって変化する。そこで、特徴点特定部164は、画素220同士が所定の方向に対して連続しているか否かの閾値である所定距離を、自車両1との相対距離zに応じて変更してもよい。具体的に、相対距離zが短いほど所定距離を長くし、相対距離zが長いほど、所定距離を短くする。こうすることで、道路標識のカラー画像126上の大きさに応じて適切な閾値を設けることができ、本来、特徴点として抽出すべきでない第1〜第3の抽出条件を満たしている画素220を適切に除外することが可能となる。
そして、特徴点特定部164は、第3および第4の抽出条件をいずれも満たす画素220のうち、第1または第2の抽出条件を満たしている画素220を特徴点として特定する。こうして、特徴点として適切な画素220が特定される。
また、特徴点特定部164は、特徴点の数が予め定められた所定値以上となると、1フレーム中の当該特徴点特定処理を中止してもよい。車外環境に応じてカラー画像126は様々に変化し、撮像された環境によって特徴点が非常に多くなる場合がある。このように特徴点の数が増加すると、それに伴って処理負荷が増大し、1フレーム中に割り当てられた処理時間を超過してしまうおそれがある。そこで、特徴点特定部164は、特徴点の数が予め定められた所定値以上となると、1フレーム中の当該特徴点特定処理を中止し、その時点までに特定した特徴点についてのみ、投票処理以降の処理を遂行する。
ただし、道路標識はカラー画像126の比較的上方に位置することが多いので、特徴点特定部164は、カラー画像126の上方から順に特徴点を特定する。こうして、道路標識の円周の部分部位に相当する特徴点を適切に抽出することが可能となる。
また、特徴点特定部164は、上記のように特徴点の数を所定値以内に抑えるべく、第1の抽出条件におけるエッジ強度の所定値や第2の抽出条件におけるV成分の所定値をフレーム毎に変化させるとしてもよい。車外環境はフレーム単位では変化に乏しいので、特徴点の数もさほど変化しない。したがって、1のフレームにおいて特徴点が多数抽出されると、以降のフレームにおいても連続して特徴点が多数抽出される。そこで、1フレーム中における特徴点の特定に割り当てられた処理時間を超過しないように、第1の抽出条件におけるエッジ強度の所定値や第2の抽出条件におけるV成分の所定値を所定の範囲内(40〜150)で調整しつつ、特徴点の数を所定の範囲内(200〜2000)に抑える。
図10は、特徴点特定処理の一例を示したフローチャートである。図10(a)に示すように、特徴点特定部164は、1フレーム中、第1の抽出条件下で抽出した特徴点の数が特徴点上限値(ここでは2000)を超えているか否か判定する(S240)。その結果、特徴点の数が特徴点上限値を超えていたら(S240におけるYES)、特徴点特定部164は、エッジ強度の所定値がエッジ強度上限値(ここでは150)未満であるか否か判定する(S242)。その結果、エッジ強度の所定値がエッジ強度上限値未満であれば(S242におけるYES)、特徴点特定部164は、エッジ強度の所定値をインクリメントする(S244)。かかるエッジ強度の所定値は、次回フレームの特定物特定処理から反映される。また、エッジ強度の所定値がエッジ強度上限値以上であれば(S242におけるNO)、特徴点特定部164は、エッジ強度の所定値のインクリメントを行わず、エッジ強度上限値に達した所定値を維持する(所定の範囲内に維持する)。
ステップS240において、特徴点の数が特徴点上限値以下であれば(S240におけるNO)、特徴点特定部164は、1フレーム中で抽出した特徴点の数が特徴点下限値(ここでは200)未満であるか否か判定する(S246)。その結果、特徴点の数が特徴点下限値未満であれば(S246におけるYES)、特徴点特定部164は、エッジ強度の所定値がエッジ強度下限値(ここでは40)を超えているか否か判定する(S248)。その結果、エッジ強度の所定値がエッジ強度下限値を超えていれば(S248におけるYES)、特徴点特定部164は、エッジ強度の所定値をデクリメントする(S250)。また、エッジ強度の所定値がエッジ強度下限値以下であれば(S248におけるNO)、特徴点特定部164は、エッジ強度の所定値のデクリメントを行わず、特徴点下限値に達した所定値を維持する(所定の範囲内に維持する)。また、特徴点の数が特徴点下限値以上であれば(S246におけるNO)、何ら処理を行わない。
また、図10(b)に示すように、特徴点特定部164は、1フレーム中、第2の抽出条件下で抽出した特徴点の数が特徴点上限値(ここでは2000)を超えているか否か判定する(S260)。その結果、特徴点の数が特徴点上限値を超えていたら(S260におけるYES)、特徴点特定部164は、V成分の所定値がV成分上限値(ここでは150)未満であるか否か判定する(S262)。その結果、V成分の所定値がV成分上限値未満であれば(S262におけるYES)、特徴点特定部164は、V成分の所定値をインクリメントする(S264)。かかるV成分の所定値は、次回フレームの特定物特定処理から反映される。また、V成分の所定値がV成分上限値以上であれば(S262におけるNO)、特徴点特定部164は、V成分の所定値のインクリメントを行わず、特徴点上限値に達した所定値を維持する(所定の範囲内に維持する)。
ステップS260において、特徴点の数が特徴点上限値以下であれば(S260におけるNO)、特徴点特定部164は、1フレーム中で抽出した特徴点の数が特徴点下限値(ここでは200)未満であるか否か判定する(S266)。その結果、特徴点の数が特徴点下限値未満であれば(S266におけるYES)、特徴点特定部164は、V成分の所定値がV成分下限値(ここでは40)を超えているか否か判定する(S268)。その結果、V成分の所定値がV成分下限値を超えていれば(S268におけるYES)、特徴点特定部164は、V成分の所定値をデクリメントする(S270)。また、V成分の所定値がV成分下限値以下であれば(S268におけるNO)、特徴点特定部164は、V成分の所定値のデクリメントを行わず、特徴点下限値に達した所定値を維持する(所定の範囲内に維持する)。また、特徴点の数が特徴点下限値以上であれば(S266におけるNO)、何ら処理を行わない。
上述したように、本実施形態では、第1の抽出条件または第2の抽出条件のいずれかを満たしている画素220を特徴点として特定している。したがって、第1の抽出条件と第2の抽出条件とは図10(a)と図10(b)のように独立して特徴点の数が調整される。こうして、第1の抽出条件におけるエッジ強度の所定値や第2の抽出条件におけるV成分の所定値を所定の範囲内(40〜150)に抑えつつ、特徴点の数を所定の範囲内(200〜2000)で調整して、1フレームにおける当該特徴点の特定に割り当てられた処理時間を維持することが可能となる。
また、特徴点特定部164は、第2の抽出条件におけるV成分の所定値を道路面の色成分に応じてフレーム毎に変更するとしてもよい。カラー画像126全体の色成分は、日射条件や照明環境により変化する。例えば、橙色の照明が設置されているトンネル内では、カラー画像126全体のV成分が増加する。そこで、特徴点特定部164は、第2の抽出条件におけるV成分の所定値を道路面の色成分に応じて変更することで、日射や照明の変化が特徴点の特定に及ぼす影響を抑制する。
図11は、特徴点特定処理の一例を示した説明図である。特徴点特定部164は、図11(a)に示すように、カラー画像126における車両前方の道路面が映る可能性の高い予め定められた相対距離zにある4つの点280におけるRGB形式のカラー値を取得する。そして、特徴点特定部164は、4つの点280それぞれのG成分/R成分を求め、その値の平均値AVを導出する。続いて、特徴点特定部164は、カラー画像126の全ての画素のR成分に当該平均値AVを乗じ、YUV形式に変換し、当該変換後のV成分と所定値とを比較して特徴点の候補を特定する。
ただし、図11(b)に示すように、車外環境認識装置120が認識した先行車両の相対距離zが所定範囲内(例えば20m以内)に位置している場合、当該カラー画像126から平均値AVを求めず、前回フレームで導出された(用いられた)平均値AVを利用する。これは、先行車両の色成分を道路面の色成分として取得してしまい、V成分に影響を与えて、誤った特徴点の候補が抽出されるのを回避するためである。
また、今回フレームで計算した平均値AVと、前回フレームで導出した(用いられた)平均値AVとが、露光態様が変化していない(周囲の明るさに大きな変化がない)にも拘わらず、予め定められた所定値(例えば±50%)以上異なっている場合も、当該カラー画像126から平均値AVを求めず、前回フレームで導出した(用いられた)平均値AVを利用する。これは、道路面が赤色系の塗料で彩色されていた場合に、V成分に影響を与えてしまい、誤った特徴点の候補が抽出されるのを回避するためである。ただし、道路面に影ができた場合、灰色はRGB方式の各色成分(RGB)に均等に影響し、G成分/R成分の値に影響を及ぼさないので、問題とはならない。
(投票処理)
投票部166は、特徴点特定部164が特定した特徴点から半径n離隔した円周上に投票する。これは、特徴点が任意の円周の部分部位に相当すると仮定すると、その特徴点から半径nの円周上に、特徴点を円周の部分部位とする円の中心があるはずという根拠に基づく。したがって、投票部166は、特徴点を円周の部分部位とする円の中心となり得る対応点のさらに半径nの点に投票する。
図12は、投票処理を説明するための説明図である。ここで、仮に1の半径nを挙げて説明すると、図12(a)に示すように、投票部166は、通常、特徴点300を中心とする半径nの円周302上の全ての画素220を対応点304とし、その画面位置の半径nの点に対して投票を行う。しかし、このような半径nに関する対応点304は円周302上の全ての画素220となるので、多大な数となり、さらに、半径nを変化させると、その数は無数に大きくなる。そこで、投票の効率化を図るべく、1の半径nに対する対応点304および半径nの数を制限する。
ここで、円の接線は接点と円の中心を結ぶ線分と垂直となることが知られている。また、円の接線は画素220におけるエッジ延伸方向に相当する。したがって、対応点304は、特徴点300のエッジ延伸方向に垂直な線分上にしか出現しない。そこで、投票部166は、特徴点300のエッジ延伸方向を把握し、エッジ延伸方向に垂直な方向に対応点304を定めることができる。
ここで、投票部166は、各画素220の座標を(i,j)とした場合の輝度をA(i,j)とすると、以下の数式2に示すように、垂直方向のゾーベルフィルタと水平方向のゾーベルフィルタの絶対値の比によってエッジ延伸方向に垂直な線分を導出する。
エッジ延伸方向に垂直な線分=atan(
|A(i+1,j+1)+2A(i,j+1)+A(i-1,j+1) - A(i+1,j-1)-2A(i,j-1)-A(i-1,j-1)|
/|A(i+1,j+1)+2A(i+1,j)+A(i+1,j-1) - A(i-1,j+1)-2A(i-1,j)-A(i-1,j-1)|
)…(数式2)
ここでは、ゾーベルフィルタによってエッジ延伸方向に垂直な線分を導出する例を挙げているが、かかる場合に限られず、既存の様々な技術を適用することができる。また、数式2では、除算とアークタンジェント(atan)を用いているが、これらにより処理負荷が増大する場合、垂直方向のゾーベルフィルタと水平方向のゾーベルフィルタの絶対値を入力としてエッジ延伸方向に垂直な線分を一意に導出するルックアップテーブルを用いてもよい。
例えば、図12(b)のように、特徴点300のエッジ延伸方向が破線の線分306で示される場合、その線分306に垂直な方向に相当する一点鎖線の線分308上に対応点304を定めることができる。ここで、仮に1の半径nを挙げると、対応点304は、特徴点300のエッジ延伸方向に垂直な方向の線分308上で、特徴点300から半径n離隔した2つの点に絞ることができる。
また、道路標識は、各国毎の法律や規則で、大きさが1または複数に定まっていることもある。そうすると、相対距離zによって道路標識のカラー画像126上の大きさが定まる。そこで、投票部166は、相対距離zに応じて、三次元の位置情報を導出した関数の逆関数を用いてカラー画像126上の道路標識の大きさ(半径n)を推定し、投票に用いる半径nの数を絞る。例えば、制限速度を提示した道路標識や制限速度の解除を提示した道路標識の大きさが3つに限られる場合、図12(c)に示すように、その数(3)×2に対応点304が絞られる。
このように、1の半径nに対する対応点304を特徴点300のエッジ延伸方向に垂直な方向の線分308上に制限し、また、半径nの数を所定の大きさおよび相対距離zに応じて1または複数に制限することで、本来対応点304が存在しないはずの不本意な投票を回避することができる。したがって、対応点304の誤設定による道路標識の誤検出を防止するとともに、無駄なハフ変換処理を回避して処理負荷の軽減を図ることができる。
投票部166は、このように対応点304を制限した上で、上述した投票テーブル230に対し投票を行う。ここでは、三次元の投票空間を挙げて説明するが、道路標識が横向きや上下方向に傾きがある場合に対する対応として、横向きや上下方向に関する次元(例えば回転)を拡張したM次元(Mは正の整数)の投票空間を形成することもできる。
図13は、投票テーブル230を説明するための説明図である。投票テーブル230は、通常、図13(a)に示すようにカラー画像126の水平画素数H×垂直画素数V×半径nの取り得る値Nといったように三次元の投票空間からなり、投票先となる画素の画面位置(x、y)と半径nとの三次元位置(点)に得票数が保持される。例えば、得票数の最大値を255(1BYTE)とすると、投票テーブル230の大きさは、H×V×N(BYTE)となる。そうすると、仮に高解像度のカラー画像126を用いる場合は、投票テーブル230に費やすメモリの記憶領域が大きくなるという問題に加え、得票数が限られる(少ない)場合は、ノイズ等の影響で得票数のピークが出にくくなるという問題も生じ得る。
後者の問題については、ノイズ分を考慮して、マージンを付加した投票処理、例えば、対応点304の半径nのみならず、対応点304の近傍の半径nにも投票することにより対策を行うことができるが、それに伴って処理負荷が増大する問題が生じる。また、分解能を下げ、例えば、水平2画素×垂直2画素のブロック単位で投票することも考えられるが、分解能を下げた分、対応点304の道路標識の特定精度の悪化は避けられない。
そこで、本実施形態では、次元および分解能の異なる2つの投票テーブル230a(第1の投票テーブル)、230b(第2の投票テーブル)を設け、投票部166は、それぞれの投票テーブル230a、230bに同時に投票することとする。
投票テーブル230aは、図13(b)に示すように、カラー画像126の分解能は水平画素数H×垂直画素数Vのままで、半径nの情報を省略して次元を1つ落とした二次元(水平画素位置、垂直画素位置)の投票空間で示される。したがって、投票テーブル230aの大きさは、H×V(BYTE)となり、投票先となる画素の画面位置(x、y)の二次元位置に全ての半径nに対する得票数が保持される。一方、投票テーブル230bは、図13(c)に示すように、半径nに関する分解能はそのままの値Nで、次元も省略せず、その代わり、カラー画像126の分解能を水平および垂直それぞれで1/4に圧縮して(分解能を低くして)水平画素数H/4(水平画素数を圧縮した値)×垂直画素数V/4(垂直画素数を圧縮した値)とした三次元の投票空間で示される。したがって、投票テーブル230bの大きさは、H/4×V/4×N(BYTE)となり、投票先となる画素の画面位置(x、y)が属するブロック(水平4画素×垂直4画素)と半径nとの三次元位置に得票数が保持される。このように、投票テーブル230a、230bはそれぞれ、半径nの分解能を敢えて下げたものと、画面の位置の分解能を敢えて下げたものということになる。
投票部166は、特徴点300に基づいて対応点304を導出すると、それぞれの投票テーブル230a、230bに同時に投票する。ただし、投票テーブル230aについては、半径nに拘わらず、対応点304に相当する1の点に投票し、投票テーブル230bについては、対応点304が属するブロックの半径nの点に投票する。こうして、投票が完了すると、投票部166は、投票テーブル230aにおいて半径nの総合的な得票数が多い点(対応点304)を道路標識の中心位置の候補とし、投票テーブル230bにおいて当該中心位置に対応するブロックで得票数が多い半径nを道路標識の半径nの候補とすることが可能となる。
このようにして、道路標識の中心の特定精度を高精度に維持しつつ、投票テーブル230の総合的な記憶容量を、H×V+H/4×V/4×N(BYTE)に低減させることが可能となる。ここで、H=600画素、V=200画素、N=20画素とすると、本来600×200×20=2,400,000BYTE必要なところ、約1/10に相当する600×200+600/4×200/4×20=270,000BYTEに低減することができる。
ところで、投票部166は、全ての特徴点で投票処理を終えた後に、投票テーブル230の各点から得票数を抽出し、その半径nの総合的な得票数が所定値以上となる対応点304を道路標識の中心点の候補とする。しかし、投票テーブル230の記憶容量を低減させたとはいえ、投票空間がある程度の広さを有する場合、投票テーブル230全体の得票数の大小を判定するのは処理負荷が大きくなる。そこで、投票部166は、投票と並行して中心点の候補を選定することで、中心点の候補の抽出効率を向上させる。
図14は、中心点候補リスト310を説明するための説明図である。ここでは、投票テーブル230以外に、中心点候補リスト310を設ける。かかる中心点候補リスト310には、少なくとも、投票テーブル230aに関する画面位置(x、y)が登録される。投票部166は、現在投票している点の投票テーブル230a上の得票数が所定数以上となると、その点に相当する対応点304を当該中心点候補リスト310に追加的に随時登録する。そして、投票部166は、全ての特徴点で投票処理を終えた後に、その中心点候補リスト310に登録されたもののみを道路標識の候補とする。
かかる構成により、投票テーブル230全体の得票数の大小を判定するのを回避しつつ、すなわち、処理負荷を軽減しつつ、適切に中心点の候補を抽出することが可能となる。なお、投票部166は、中心点候補リスト310に登録する中心点の候補を、所定値(例えば、50)までに制限する。これは、以下の理由による。すなわち、ノイズ等の影響で対応点304が複数の中心点の候補に分散すると、本来は1の道路標識であるが、複数の中心点が候補となる場合がある。この場合に、無制限に中心点の候補を抽出すべきではなく、また、通常、カラー画像126中に50個以上の標識が存在する可能性が小さいからである。このように中心点候補リスト310の中心点候補が50以上となると、投票部166は、1フレーム中の当該投票処理を中止し、その時点までに特定した中心点候補についてのみ、標識特定処理以降の処理を遂行する。
このように、投票部166によって、中心点候補リスト310が生成され、中心点候補リスト310には、画面位置(中央位置)の他、半径、投票テーブル230a、230bにおける得票数、当該画素の三次元位置といった情報も関連付けられる。
投票部166は、このように投票テーブル230a、230bへの投票を行うと、次回フレームにおける投票のため、投票テーブル230a、230bの各点を得票数が0となるように初期化する。しかし、カラー画像126の解像度によっては、投票テーブル230a、230bの初期化に費やす処理時間も無視できるものではなく、例えば、当該標識検出処理S202全体の40%を占有する場合もある。投票テーブル230a、230bにおいては、次元数が増える程、メモリの記憶容量が増大するので、特に、三次元の投票テーブル230bに対する初期化処理の負荷の影響が大きくなる。
図15は、フラグテーブル320を説明するための説明図である。ここでは、投票テーブル230a、230b以外に、フラグテーブル320を設ける。かかるフラグテーブル320は、図15(a)のように、投票テーブル230bの次元数を半径n分減らした(一次元減らした)テーブルであり、投票先となる画素の画面位置(x、y)が属するブロック(水平4画素×垂直4画素)の二次元位置にフラグが設定されている。したがって、フラグテーブル320の大きさは、H/4×V/4(BYTE)となる。
投票部166は、図15(b)にクロスハッチングで示した投票テーブル230bの任意のブロックの任意の半径nに投票を行うと、図15(a)にクロスハッチングで示したフラグテーブル320における、そのブロックと等しいブロックのフラグをONする。したがって、投票テーブル230bの各ブロックにおける半径nのいずれかに投票されると、それに対応するフラグテーブル320のブロックがONされることとなる。そして、投票テーブル230a、230bへの投票を完了すると、投票部166は、図15(a)にハッチングで示した、フラグテーブル320においてフラグがONされているブロックに対応する、図15(b)にハッチングで示した、投票テーブル230bのN個分のブロックのみ、各点を得票数が0となるように初期化する。換言すれば、投票部166は、フラグテーブル320においてフラグがOFFされているブロックに対応する投票テーブル230bのブロックについては初期化処理を行わない。
ここでは、フラグテーブル320の対象として投票テーブル230bを挙げているが、かかる場合に限らず、このフラグテーブル320の概念は、大きさがH×V×N(BYTE)の投票テーブル230にも適用できる。その場合、フラグテーブル320の大きさは、H×V(BYTE)となる。
また、フラグテーブル320を設ける代わりに、投票テーブル230aの各ブロックに対応する領域に投票が為されているか否か判定し、投票が為されていたら、そのブロックに対応する投票テーブル230bのブロックのみ、各点を得票数が0となるように初期化するとしてもよい。こうして、投票テーブル230b全ての点を初期化する必要がなくなるので、初期化処理の負荷を著しく低減することができる。
また、投票テーブル230a、230bへの投票を完了すると、投票部166は、図15(c)にハッチングで示したように、フラグテーブル320においてフラグがONされているブロックに対応する投票テーブル230aの複数の画素(水平4画素×垂直4画素)のみ、各点を得票数が0となるように初期化するとしてもよい。こうして、投票テーブル230b同様、投票テーブル230a全ての点を初期化する必要がなくなるので、初期化処理の負荷を著しく低減することができる。
そして、投票部166は、かかる初期化処理が終了した後、フラグテーブル320のフラグを全てOFFに初期化する。こうして、初期化処理の負荷の増大を招くことなく、適切に、投票テーブルの初期化を図ることが可能となる。
(標識特定処理)
標識特定部168は、投票部166によって導出された道路標識の候補を第1〜3の絞り込み条件に基づいて絞り込み、道路標識を特定する。
標識特定部168は、第1の絞り込み条件として、投票テーブル230aの得票数が所定値以上であり、投票テーブル230bにおけるブロックの得票数が所定値以上である半径nを、それぞれ中心点および半径として絞り込む。ただし、上述したように、投票部166も、投票テーブル230a、230bの得票数に応じて、その対応点304を中心点候補リスト310に随時登録している。しかし、かかる中心点候補リスト310への登録は、まだ最終的な得票数が不明な投票途中において為されるものであり、投票が完了した際の得票数を判定したものではない。そこで、本実施形態では、中心点候補リスト310に登録された対応点304を、改めて、登録時より大きい所定値と画一的に比較することで、ノイズに相当する対応点304を除外し、適切な対応点304のみを残すことが可能となる。
続いて、標識特定部168は、上記中心位置および半径nに基づいて、半径nの2倍の長さを一辺とし中心位置を中心とする矩形を占有領域として導出する。ただし、任意の2つの対応点304に関し、かかる占有領域が重複(重畳)していると、一方によって他方が認識不能に陥るおそれがある。この場合に、認識不能となった他方の対応点304の道路標識が、制限速度を提示した道路標識等、重要な道路標識であった場合、そのような重要な道路標識が認識されない事態が生じてしまう。そこで、標識特定部168は、第2の絞り込み条件として、任意の対応点304の占有領域が、他の対応点304の占有領域と画面上で重複している場合、道路標識として信頼性の低い方を除外することで、信頼性の高い道路標識を残す。このような道路標識の信頼性は、二次元の投票テーブル230aの得票数および三次元の投票テーブル230bの得票数の大小関係に基づいて求める。
図16は、標識特定処理の一例を示したフローチャートである。図16に示すように、標識特定部168は、道路標識の候補の中から、順次2つの候補を選択する(S330)。そして、標識特定部168は、選択した2つの候補の占有領域が重複するか否か判定する(S332)。その結果、2つの候補の占有領域が重複していれば(S332におけるYES)、標識特定部168は、一方の候補の投票テーブル230a、230bの得票数C1、D1が、他方の候補の投票テーブル230a、230bの得票数C2、D2よりいずれも大きいか否か判定する(S334)。その結果、いずれも大きい、すなわち、C1>C2かつD1>D2であれば(S334におけるYES)、標識特定部168は、他方の候補を除外する(S336)。また、2つの候補の占有領域が重複していなければ(S332におけるNO)、ステップS344に処理を移す。
また、C1>C2かつD1>D2でなければ(S334におけるNO)、標識特定部168は、一方の候補の投票テーブル230a、230bの得票数C1、D1が、他方の候補の投票テーブル230a、230bの得票数C2、D2よりいずれも小さいか否か判定する(S338)。その結果、いずれも小さい、すなわち、C1<C2かつD1<D2であれば(S338におけるYES)、標識特定部168は、一方の候補を除外する(S340)。このように、候補の投票テーブル230a、230bの得票数がいずれも大きい場合、道路標識である信頼性が高いとして、得票数がいずれも小さい候補を除外し、得票数がいずれも大きい候補のみを残す。
また、C1<C2かつD1<D2でなければ(S338におけるNO)、標識特定部168は、一方の候補と他方の候補とのカラー画像126上の位置に基づいて、いずれか下方に位置する候補を除外する(S342)。このように、候補の投票テーブル230a、230bの得票数のうち、いずれかが大きく、いずれかが小さい場合、得票数のみで判定できないので、上方に位置する候補のみを採用し、下方に位置する候補は除外する。これは、仮に垂直方向上下に2つの道路標識が配置されている場合、相対的に重要な、制限速度を提示した道路標識が上方に配置されるようになっているからである。
このように選択された2つの候補が重複していた場合に、いずれを除外するか決定されると、標識特定部168は、選択すべき2つの候補の全ての組み合わせが終了したか否か判定する(S344)。その結果、終了していれば(S344におけるYES)、当該標識特定処理を終了し、終了していなければ(S344におけるNO)、ステップS330からの処理を繰り返す。こうして、道路標識の2つの候補の占有領域が重複する場合であっても、適切に信頼性の高い候補に絞ることが可能となる。
次に、標識特定部168は、第3の絞り込み条件として、第1および第2の絞り込み条件によって絞り込まれた道路標識の候補が候補上限値(ここでは3)を超えているか否か判定する。ここで、候補上限値を超えていれば、標識特定部168は、候補を候補上限値以下に絞って、他の候補については以降の処理を実行しない。具体的に、道路標識の候補が候補上限値を超えていた場合、全ての候補の三次元位置における水平距離xを比較して、自車両1のレーンからの水平距離xが短い順に候補上限値の候補に絞る。こうして、自車両1に対する道路標識である可能性が高い、自車両1のレーンに近い候補を適切に抽出することが可能となる。
続いて、標識補正部170は、候補上限値以下に絞り込んだ道路標識の位置や大きさの補正を行う。これは、本実施形態において、道路標識の内容を認識する上でテンプレートマッチングを用いているからであり、テンプレートマッチングは、画像の位置ズレが認識精度に大きく影響するからである。そこで、ここでは、投票部166が導出した中心位置や半径nを補正し、改めて道路標識の占有領域を設定し直す。このため、標識補正部170は、道路標識の各候補の中心位置から水平方向および垂直方向の4方向に存在する赤色枠を検出し、その赤色枠(道路標識の円周部分)が外接する矩形となるように占有領域を補正する。具体的には以下(1)〜(7)の手順で占有領域を補正する。
図17は、標識補正部170の処理を説明するための説明図である。(1)まず、標識補正部170は、図17(a)に示す、半径nの2倍の長さを一辺とし中心位置を中心とする矩形を占有領域346として、その占有領域346全体におけるV成分のヒストグラムを求める(横軸をV成分として投票する)。そして、標識補正部170は、V成分のヒストグラムの最大値と最小値の差分が所定値以上となれば、当該候補を赤色枠であると判断する。また、V成分のヒストグラムの最大値と最小値の差分が所定値未満であれば、当該候補を黒色枠であると判定し、V成分のヒストグラムをY成分のヒストグラムに差し替える。以下では赤色枠の候補を挙げて占有領域346の補正処理を説明するが、黒色枠にも当然適用できるのは言うまでも無い。
(2)標識補正部170は、上記V成分のヒストグラムのうち上位から所定%(例えば30%)となる(ヒストグラムを面積に換算した場合の上位:下位の面積比が3:7となる)V成分の値(閾値Vthr)を導出する。かかる閾値Vthrは、特徴点を特定するために用いたV成分の所定値と異なる。これは、それぞれの候補毎に最適な閾値を設定するためである。なお、閾値Vthrが所定値(例えば−5)以下となった場合、不適切な閾値として以降の処理を行わない。
(3)標識補正部170は、図17(b)において矢印で示すように、道路標識の各候補の中心位置から、各画素のV成分が閾値Vthr以上であるか否か判定しつつ、水平方向および垂直方向の4方向に検出画素を移動する。そして、V成分が閾値Vthr以上となる画素が所定数(例えば3画素)連続すると、その閾値Vthr以上のV成分が検出され始めた画素を赤色枠の内縁エッジ348とする。ここでは、検出方向として水平方向および垂直方向の4方向を挙げて説明しているが、かかる場合に限らず、直交する放射状の4つの方向であれば足り、また、斜めの方向等を加えて、検出精度を高めることもできる。
(4)続いて、標識補正部170は、赤色枠の内縁エッジ348の位置が、本来位置すべき所定範囲内にあるか否か判定する。具体的に、例えば、水平右方向に検出する場合、中心の横座標をJ、占有領域346の水平右端のx座標をRとし、求めた赤色枠の内縁エッジ348の座標をREとすると、以下の数式3を満たす場合、その赤色枠の内縁エッジ348の座標REを不適切な値として以降の処理を行わない。
RE < (R−J)×K+J …(数式3)
ここでKは0〜1のうちの任意の値をとる係数である。例えば、水平方向の検出においては0.6とし、垂直方向の検出においては0.5とする。また、(R−J)×Kは、内縁エッジ348が取り得る半径方向の下限値(内縁エッジ下限値)である。かかる処理は、例えば、電光表示タイプの道路標識において数値が橙色となった場合に、V成分に影響して誤った内縁エッジ348をとらないようにするための対処である。
(5)次に、標識補正部170は、任意の道路標識において、水平方向および垂直方向の4方向全て適合した場合、各内縁エッジ348の位置に基づいて、画像の中心位置および半径nを再度導出する。具体的に、水平方向の内縁エッジ348のうち、左に位置する内縁エッジ348をLE、右に位置する内縁エッジ348をREとしたときの中心位置は、(LE+RE)/2で定まり、半径nは、(RE−LE)/2で定まる。また、垂直方向の内縁エッジ348についても同様の処理で中心位置および半径nが定まる。こうして、道路標識の中心位置によって特定される占有領域346が新たに規定される。
(6)続いて、標識補正部170は、道路標識について、補正前の半径nと補正後の半径nを比較し、その比率が所定範囲(例えば、0.75倍以上、1.5倍未満)を逸脱していれば、不適合な値として以降の処理を行わない。
(7)最後に、標識補正部170は、補正後の占有領域346を、水平所定画素×垂直所定画素の矩形にリサイズして当該補正処理を終了する。このように、道路標識の中心位置や半径の再調整を行うことで、パターンマッチングによる認識の高精度化を図ることが可能となる。なお、リサイズとしては、アレストネイバー等の一般的な手法を用いることができる。
(標識内容認識処理S204)
図18は、標識内容認識処理S204の具体的な処理の流れを示したフローチャートである。標識内容認識部172は、標識補正部170が補正した道路標識に対し、そのままの画像で、占有領域346に対応する画像の輝度を離散化し(S350)、その道路標識が制限速度の解除を提示した道路標識であるか判定する(S352)。そして、標識内容認識部172は、制限速度の解除を提示した道路標識でなければ、その道路標識を、制限速度を提示した道路標識と判定して垂直方向の位置合わせを行い(S354)、位置合わせ後、水平方向のマッチングを実行する(S356)。続いて、標識内容認識部172は、道路標識の内容の所定の部位に注目し、その注目部位のテンプレートマッチングを行い(S358)、総合評価値を導出して、いずれの制限速度であるか判定する(S360)。
ところで、上述したように、本実施形態が目的とする道路標識には、電光表示タイプと非電光表示タイプがある。電光表示タイプは、道路標識の内容、例えば、数値の輝度が、その周囲の輝度より高く、非電光表示タイプは、道路標識の内容、例えば、数値の輝度が、その周囲の輝度より低いといった特性を有する。
当該標識内容認識処理S204においては、いずれの表示タイプであるか把握されていないので、両表示タイプであることを想定して認識処理を実行する。例えば、標識内容認識部172は、ステップS350〜S360までの一連の処理を標識補正部170が補正した道路標識そのままの画像を用いて実行し、道路標識の内容を有効に認識できたか否か判定する(S362)。その結果、ステップS350〜S360のいずれかの処理において、道路標識の内容を有効に認識できなかったと判定されていると(S362におけるNO)、標識補正部170が補正した道路標識の輝度を反転し(S364)、輝度を反転した道路標識(反転道路標識)に対し、ステップS350〜S360までの一連の処理を再度実行する。
また、ステップS350〜S360のいずれの処理においても道路標識の内容を有効に認識できていると判定されると(S362におけるYES)、道路標識の反転を行うことなく、または、反転道路標識の内容を認識することなく、ステップS366に処理を移す。こうして、標識補正部170が補正した道路標識または反転道路標識のいずれかを認識することができ、電光非電光等の表示タイプの違いに拘わらず、適切に道路標識の内容を認識することが可能となる。
ただし、反転前におけるステップS350〜S360のいずれかの処理で道路標識の内容を有効に認識できないと判定されれば、認識処理の途中であっても処理を中断し、以降の処理を省略してステップS362に処理を移すこともできる。こうして、不要な認識処理を回避し、処理負荷を軽減することができる。補正後の画像とその輝度を反転した画像は、同一の処理が施されるので、説明の便宜上、以下では、補正後の画像の処理を説明し、輝度を反転した画像については詳細な説明を省略する。
ここでは、補正後の画像の処理の後、輝度を反転した画像の処理を行っているが、かかる順は逆であってもよい。例えば、車外環境に応じ、制限速度を提示した道路標識が路肩に位置している場合、道路標識が非電光表示タイプである可能性が高いので補正後の画像の処理を先に処理し、ゲートに位置している場合、道路標識が電光表示タイプである可能性が高いので輝度を反転した画像について先に処理を行う。このようにして、1巡(ステップS350〜S360)で評価が完了する可能性が高い方から先に処理することで、標識内容認識処理S204の効率化を図ることができる。
また、補正後の画像かその輝度を反転した反転画像のいずれかにおいて有効に道路標識の内容を認識できれば(S362におけるYES)、標識内容認識部172は、標識補正部170が補正した道路標識全てに対してこのようなステップS350〜S364の処理が実行されたか否か判定する(S366)。その結果、全ての道路標識が完了していなければ(S366におけるNO)、標識内容認識部172は、完了するまで(S366におけるYES)、ステップS350からの処理を繰り返す。以下、ステップS350〜S360の処理の内容を詳述する。
(輝度離散化処理S350)
標識内容認識部172は、標識補正部170が補正した道路標識それぞれの占有領域346に対し、各画素の輝度を離散化する。こうして撮像状態に依存せず認識可能な画像パターンに変換する。
図19は、認識対象領域370を説明するための説明図である。まず、標識内容認識部172は、水平所定画素×垂直所定画素の矩形中の認識処理を施す領域(以下、認識対象領域という)370を設定する。かかる認識対象領域370は、図19に示した占有領域346のうち赤色枠の内縁エッジ348に接する矩形の領域をいい、以降の処理ではかかる認識対象領域370に対して処理が施される。
次に標識内容認識部172は、認識対象領域370の各画素を離散化し、N値化を図る。例えばN=2の場合、各画素の輝度は0または255のいずれかの値を有することになる。ここで、Nは2以上の値であるが、閾値の設定等の影響で2値化がうまくいかなかった場合におけるパターンマッチングに与える影響を抑えるため、本実施形態では、例えば、N=5とする。5値化の場合、離散化の閾値は4つとなり、輝度のヒストグラムのうち上位から4つの所定%(例えば20、25、35、40%)を設定する。かかる所定%は、独立かつ任意に設定できる。
かかる構成により、輝度値の分布の違いに拘わらず、適切に道路標識の内容を認識可能となる。また、ここでは、輝度のヒストグラムの上位の値を基準にしているので、認識対象領域370それぞれの輝度の分布態様に拘わらず適切に5値化を行うことができ、離散化とともに正規化も図れることになる。
(制限速度解除判定処理S352)
標識内容認識部172は、5値化した認識対象領域370に対し、制限速度の解除を提示した道路標識または制限速度を提示した道路標識それぞれに対応した認識処理を行うが、前者の方が処理負荷を小さくできるため、まず、前者であることを前提に処理を行い、前者でなければ、後者に対する処理を行う。こうして、不要に、制限速度を提示した道路標識の認識処理を行うのを回避できる。
図20は、制限速度の解除を提示した道路標識を説明するための説明図である。標識内容認識部172は、図20に示す認識対象領域370における、認識対象領域370上で交差する、傾斜角を有する(傾斜した)4つの線分L1、L2、L3、L4に対応する複数の画素の輝度をそれぞれ累積し、各線分L1、L2、L3、L4での累積輝度値をS1、S2、S3、S4とする。かかる線分の傾斜角は、制限速度の解除を提示した道路標識の表示態様に合わせた角度とする。ここで、それぞれの累積輝度値S1、S2、S3、S4を判定するための閾値をTS1、TS2、TS3、TS4とする。ただし、TS4はTS4a<TS4bの関係を有する2つの閾値から構成される。また、TS2=TS3としてもよい。標識内容認識部172は、4つの線分L1、L2、L3、L4における濃淡の違いを数値化する以下の数式4に基づき、数式4を全て満たす場合に当該道路標識を制限速度の解除を提示した道路標識と認識する。
S1<TS1
S2>TS2
S3>TS3
TS4a<S4<TS4b …(数式4)
ここでは、位置ズレや明るさによる輝度の偏差は補正しているので、上記の数式4のように非常に単純な処理で道路標識の内容を認識することが可能となる。
(垂直方向位置合わせ処理S354)
上記の処理によって制限速度の解除を提示した道路標識と判定されなかった場合、その道路標識は、制限速度を提示した道路標識として判定される。標識内容認識部172は、まず、認識対象領域370中における数値が占有する数値領域について垂直方向の位置合わせを行う。これは、認識対象領域370が微細な位置ズレを含んでいたり、国毎、または、国内の設置態様毎に数値の大きさ、形状、数値間の距離等が異なる場合があるからである。
図21は、垂直方向位置合わせ処理を説明するための説明図である。標識内容認識部172は、図21のように、認識対象領域370の各画素の輝度を水平方向に累積し、その累積輝度値を垂直方向に並べて、垂直方向の輝度分布372を生成する。ただし、図21の道路標識の場合、数値部分が周囲に対して低輝度となっているので、図21の輝度分布372では、数値部分を抽出すべく、輝度を反転した上で累積輝度値を求めている。そして、標識内容認識部172は、認識対象領域370の中心部分から垂直上下領域いずれも累積輝度値の最大値374を求め、その最大値の所定%(例えば25%)を閾値として、中心部分から垂直上下に検出画素を移動し、輝度累積値が閾値を下回る画素が所定数(例えば2回)連続すると、その場所を数値領域376の上端および下端とする。
次に、標識内容認識部172は、このように導出された数値領域376の上端および下端を用い、垂直方向の大きさを拡大または縮小して正規化する。例えば、数値領域376の上端と下端との間の距離をHI、テンプレートの垂直方向の距離をHTとすると、標識内容認識部172は、数値領域376を垂直方向にHT/HI倍する。こうして、数値領域376の大きさを、以降にマッチングを行うテンプレートの垂直方向の大きさに合わせることができる。また、補正はニアストネイバーにより行われる。
このような処理により、例えば、図21の下方において累積輝度値にノイズが生じているが、その影響を除外でき、正規化された数値領域376を適切に抽出できる。
(水平方向マッチング処理S356)
図22は、テンプレートを説明するための説明図である。標識内容認識部172は、垂直方向の位置合わせがなされた認識対象領域370の内容、すなわち、数値を認識する。かかる認識はあらかじめ準備されたテンプレートとのマッチングにより行う。テンプレートは、図22に示すように、例えば、10〜90(2桁)、100〜130(3桁)と10刻みで13種類準備されている。
図23は、水平方向のマッチング処理を説明するための説明図である。標識内容認識部172は、図23のように、垂直方向に正規化された認識対象領域370の各画素を垂直方向に累積し、その累積輝度値を水平方向に並べて、水平方向の輝度分布380を生成する。こうして二次元画像の一次元化が行われる。ただし、垂直方向の位置合わせ同様、数値部分が低輝度となっているので、図23の輝度分布380では、数値部分を抽出すべく、輝度を反転した上で累積輝度値を求めている。また、垂直方向の累積範囲は、垂直方向の位置合わせで導出された数値領域376の上端から下端の範囲のみとする。従って、垂直方向の数値領域以外の不要な領域に関する輝度の累積を回避できる。標識内容認識部172は、このようにして導出された図23の輝度分布380とテンプレートに基づく輝度分布をDPマッチングすることで、各テンプレートとの相関評価値(相関評価値が低いほど相関が高い)を算出する。
ここでは、垂直方向の位置合わせと同様、数値の大きさの違いや、数値間の余白の間隔などの違いが存在するため、固定サイズのテンプレートを用いると充分な性能が出せない。そのため、水平方向の伸縮が許容されるDPマッチングを用いる。かかるDPマッチングを二次元で行うことも原理的には可能ではあるが、処理量が膨大になってしまうため、本実施形態では一次元のDPマッチングを用いている。
図24は、DPマッチングを説明するための説明図である。標識内容認識部172は、例えば、「130」のテンプレートとDPマッチングを行い、図24のような結果を得る。ここでは、破線がDPマッチング前の認識対象領域370の輝度分布380を示し、実線がDPマッチング後の認識対象領域370の輝度分布382を示し、一点鎖線がテンプレートの輝度分布384を示している。DPマッチングでは、テンプレートの輝度分布384に合わせるように認識対象領域370の輝度分布380を伸縮させてマッチングを行う。したがって、図24を参照して理解できるように、伸縮前の認識対象領域370の輝度分布380とテンプレートの輝度分布384とは相関が低いが、伸縮後の認識対象領域370の輝度分布382とテンプレートの輝度分布384とは相関が高くなる。
ただし、ここでは、相関の高低に拘わらず、伸縮後の認識対象領域370の輝度分布382と複数のテンプレートの輝度分布384との全ての相関評価値を求める。具体的に、伸縮後の認識対象領域370の輝度分布382をim、テンプレートの数値(制限速度)をTとした場合に、標識内容認識部172は、伸縮後の相関評価値(差分の二乗和)であるDP(im,T)を、DP(im,10)〜DP(im,130)まで順次導出する。
ただし、明らかにテンプレートと異なる候補に関しては、以降の処理を行わない。例えば、認識対象領域370の輝度分布382が「130」であるのに対し、2桁の「10」〜「90」はそもそも桁数が違うため、「10」〜「90」に対応するDP(im,10)〜DP(im,90)は相関が低くなる。したがって、DP(im,T)の値が閾値を上回る(相関が低い)テンプレートに関しては以降の処理を省略する。
(注目部位マッチング処理S358)
ここでは、数値の桁数に拘わらず、相関評価値DP(im,T)を求めたが、本実施形態のように予め数値の変化傾向が定まっている場合、2桁や3桁の数値全てにおいてマッチングを行うのは得策ではない。これは、例えば、「10」〜「90」の数値では、全ての数値で1桁目の「0」の部分が共通し、「100」〜「130」では、1桁目の「0」の部分と3桁目の「1」の部分が共通しているからである。したがって、その共通部分に関しては、いずれの数値も一致するため、全ての桁を対象にマッチングを行うと、相関評価値に差が生じ難くなる。
そこで、標識内容認識部172は、上述したように相関評価値DP(im,T)を求めるとともに、数値の形状に差が生じる2桁目のみをマッチングする。ただし、認識対象領域370の輝度分布382は、水平方向に伸縮されているので、認識対象領域370の輝度分布382のどの部分がテンプレートの輝度分布384のどの部分と一致しているかを導出しなければならない。したがって、標識内容認識部172は、テンプレートの2桁目の開始位置の水平座標TS(T)に相当する、認識対象領域370の輝度分布382の2桁目の開始位置に相当する水平座標DPR(im,T)を導出する。かかる水平座標は、DPマッチングにおいて特徴点を組み合わせる処理の履歴から求めることができる。具体的に、特徴点の組み合わせに関する情報(例えばルート)を予め記憶しておき、それを逆算することで水平座標を導出する。かかる構成によりDPマッチングの途中結果を利用して効率的に水平座標を求めることができる。このようなDPマッチングの具体的な手順については、既に様々な技術文献を通じて公開されているので、ここでは、その詳細な説明を省略する。
図25は、注目部位のマッチング処理を説明するための説明図である。上記のようにして2桁目の数値領域の開始位置に相当する水平座標が求まると、標識内容認識部172は、単純なテンプレートマッチングを行う。テンプレートマッチングには何の指標を用いてもよいが、たとえば差の絶対値和(SAD)を用いる。かかるマッチングの対象範囲は、図25の「130」の例に示すように、認識対象領域370の輝度分布382の開始位置に相当する水平座標DPR(im,T)、および、テンプレートの2桁目の開始位置に相当する水平座標TS(T)から、テンプレートの2桁目の数値の水平方向の長さ分とする。ここでは、既に水平方向の位置合わせが行われているので、位置をずらしたマッチングによる最適値探索等の処理を行う必要は無く、処理負荷が大幅に低減される。
ただし、例えば、数値が2桁の場合と3桁の場合では、水平方向の長さ(数値の横幅)が異なるので、数値の横幅の違いがマッチングの結果に影響を及ぼすことがある。そこで、標識内容認識部172は、2桁目のDPマッチングの相関評価値TM(im,T)に、桁数の多い数値の認識対象領域370の横幅と桁数の少ない数値の認識対象領域370の横幅との比に応じて、テンプレート毎に予め定められた正規化係数を乗じることとする。例えば、2桁の数値と3桁の数値の横幅の比が3:2であれば、標識内容認識部172は、「100」〜「130」の2桁目の相関評価値TM(im,T)を導出した後、さらに、その値に3/2を乗じた結果をTM(im,T)とする。こうして、桁数に拘わらず、適切な評価を行うことができる。
(評価値判定処理S360)
続いて、標識内容認識部172は、テンプレート毎に求められた相関評価値DP(im,T)、2桁目の相関評価値TM(im,T)を用い、以下の数式5、6を通じてテンプレート毎の総合評価値E(im,T)を導出する。
総合評価値E(im,T)=DP(im,T)×TM(im,T)/F(im)…(数式5)
F(im)=max(min(TM(im,T)),th)…(数式6)
ここで、数値全体の相関はDP(im,T)で表現されるため、そのままの値を用い、2桁目の部分的な相関は他のテンプレートとの比較TM(im,T)/F(im)によって表現する。ここで、F(im)は、相関評価値の最小値min(TM(im,T))であるが、min(TM(im,T))の値が小さくなりすぎると総合評価値E(im,T)が発散するおそれがあるため、min(TM(im,T))が、所定の値thより小さくなると、F(im)として値thを採用する。
図26は、評価判定結果を説明するための説明図である。ここでは、破線が相関評価値DP(im,T)を示し、一点鎖線が2桁目の相関評価値TM(im,T)を示し、実線が総合評価値E(im,T)を示している。図26を参照すると、「100」〜「130」について、数値の全ての桁でのマッチングでは本来の数値と他の数値との差が小さいが、2桁目のみのマッチングを加えることで、実際の数値である「130」のテンプレートとのマッチングの総合評価値E(im,T)が最小(相関が最大)となっているのが理解できる。なお、図26は説明の便宜のため、本来、計算が省略されるテンプレートも表示しており、また、「150」までのテンプレートを表示している。
このように、数値の全ての桁でのマッチングと、2桁目のみのマッチングとの2段階で行うことで、精度を向上するとともに、処理時間も削減可能となる。
(標識内容確定処理S206)
上記では、道路標識の内容が認識された。ただし、上述したように、道路標識を前方に確認可能な位置に到達した瞬間に道路標識を認識する必要は必ずしもなく、道路標識を通過した時点、もしくは、その後に認識できれば足りる。したがって、道路標識を複数のフレームに亘って認識し、その複数のフレームの情報から道路標識の内容を確定すればよい。そこで、標識内容確定部174は、このように1フレーム内で認識された道路標識の内容を時間方向に累積して確定する。
ここでは、道路標識の内容を確定するために、標識累積ポイント、制限速度候補、標識無検出時間、制限速度出力の4つの変数を用いる。ここで、標識累積ポイントは、道路標識の1または複数の候補それぞれに設けられ、標識内容認識処理S204における種々の評価値(E(im,T)、DP(im,T)、TM(im,T))に応じたポイントを示す。制限速度候補は、制限速度の1の候補を示す。標識無検出時間は、いずれの道路標識も検出されていない連続時間を示す。制限速度出力は、制限速度候補のラッチに用いられる。制限速度候補によって制限速度出力が更新されると、かかる制限速度出力に値が保持されている間、その値を運転者に報知したり、車両制御装置130の制御入力として利用する。
標識内容確定部174は、標識内容認識部172が導出した、制限速度の確からしさを評価する種々の評価値(E(im,T)、DP(im,T)、TM(im,T))を用い、以下の(1)〜(4)の条件に応じて標識累積ポイントを累積する。
(1)E(im,T)<ETHR1 & DP(im,T)<DTHR1 & TM(im,T)<TTHR1であれば+4ポイント
(2)(1)の条件を満たしておらず、かつ、E(im,T)<ETHR2 & DP(im,T)<DTHR2 & TM(im,T)<TTHR2であれば+2ポイント
ただし、ETHR1<ETHR2、DTHR1<DTHR2、TTHR1<TTHR2
(3)(1)の条件を満たしたテンプレートのうち、E(im,T)の最小値EMと、他の全てのテンプレートのE(im,T)との差が所定値以上の場合、最小値EMのテンプレートに+2ポイント
(4)(1)の条件を満たしたテンプレートのうち、E(im,T)の最小値EMと、他の1以上のテンプレートのE(im,T)との差が所定値(ETHR3)以内の場合、所定値以内となったテンプレート全てに+1ポイント
このように、(1)、(2)の条件によって基本的なポイントを加算し、(3)、(4)の条件によって他のテンプレートとの比較に基づくポイントを加算する。
例えば、図26の例において、(1)〜(4)の条件を、ETHR1=80、ETHR2=100、ETHR3=5、DTHR1=80、DTHR2=100、TTHR1=100、TTHR2=150とすると、(1)の条件に基づいて「120」、「130」が+4ポイント、(2)の条件に基づいて「100」、「150」が+2ポイント、(3)の条件に基づいて「130」が+2ポイントとなる。これを総合すると、「130」が6ポイント、「120」が4ポイント、「100」、「150」が2ポイントとなり、他の数値は0ポイントとなる。なお、制限速度解除判定処理において制限速度を提示した道路標識と認識された場合は一律6ポイントとする。
標識内容確定部174は、このようにして求められた標識累積ポイントに基づいて、以下のように道路標識の内容を時間方向に累積して、最終的な出力を行う。
図27は、道路標識の結果報知の流れを示したタイムチャートである。標識内容確定部174は、フレーム毎に、検出された道路標識の候補全てに対して、それぞれ常に標識累積ポイントを累積する。そして、標識内容確定部174は、今回フレームの標識累積ポイントと前回フレームの標識累積ポイントとを比較して、ポイントが変化していなければ、図27(1)に示すように、今回フレームでは道路標識が検出されなかったとして標識無検出時間をインクリメントする。また、ポイントが変化していれば、図27(2)に示すように、今回フレームでは道路標識が検出されたとして標識無検出時間を0にリセットする。
また、今回フレームで道路標識が検出されれば、標識内容確定部174は、図27(3)に示すように、複数の道路標識候補から標識累積ポイントが大きい上位から2つの道路標識候補の標識累積ポイントと、それぞれ認識された制限速度とを抽出する。この時点で、制限速度出力が新たに更新されることが確定するので、現在維持されている制限速度出力をリセットする。したがって、制限速度の報知は行われない。こうして前回の速度制限を不要に報知し続けるのを回避できる。
標識内容確定部174は、標識累積ポイントの最大値が所定値(例えば8ポイント)を超えている場合、2番目に大きい標識累積ポイントとの差が所定値(例えば4ポイント)以上であれば、図27(4)に示すように、標識累積ポイントが最大値となっている道路標識の制限速度(例えば40)で、制限速度候補を更新する(出力候補として確定する)。こうして制限速度の候補が抽出される。所定値未満であれば、制限速度候補を「不定」に更新する。また、標識累積ポイントの最大値が所定値以下の場合、制限速度候補は更新しない。したがって、制限速度候補は「候補なし」を維持する。
そして、標識累積ポイントの変化がなくなった(道路標識を通過した)後、標識無検出時間が出力設定時間(例えば3秒)経過すると、図27(5)に示すように、標識内容確定部174は、制限速度候補が存在するか否か判定する。そして、制限速度候補が存在すれば、その制限速度候補(例えば40)で制限速度出力を更新し、制限速度の報知が再開する。こうして、道路標識の内容のノイズ的な入力を排除することができる。
続いて、標識累積ポイントの変化がなくなった後、標識無検出時間が出力設定時間より長いリセット時間(例えば5秒)経過すると、図27(6)に示すように、標識内容確定部174は、次の道路標識の準備として、標識累積ポイントと制限速度候補をリセットする。こうして、新たな道路標識の認識のための準備を行う。
続いて、標識累積ポイントの変化がなくなった後、標識無検出時間が報知上限時間(例えば10分)経過すると、図27(7)に示すように、標識内容確定部174は、制限速度出力をリセットする。こうして前回の速度制限を不要に報知し続けるのを回避できる。
また、標識内容確定部174は、自車両1が左折中または右折中である(例えば舵角の絶対値が360度を超えている)と判断されると、標識累積ポイント、制限速度候補、制限速度出力を全てリセットする。これは、自車両1が左折または右折すると、走行する道路が変わるので、それまでに走行していた道路の制限速度が適用されなくなるからである。
このように構成することで、標識内容確定部174は、道路標識を通過してから3秒後に制限速度を報知し、10分経過、右左折、または、他の道路標識を検出するまで制限速度を維持することができる。また、道路標識の内容のノイズ的な入力を排除し、道路標識の内容の特定精度を高めることが可能となる。
また、より実用性を上げるために以下の処理を付加的に行うこともできる。例えば、車両のレーンが複数ある場合に、ゲートに配置された道路標識では、レーン毎に制限速度が異なることがある。本実施形態では、認識する道路標識の数を3つ以内に制限しているので、このようにレーン毎に制限速度が異なる場合、異なる道路標識それぞれの標識累積ポイントが存在することになる。仮にそれぞれの道路標識で正しい制限速度のみが累積されたとすると、いずれの制限速度も標識累積ポイントが例えば6ポイントとなる。そうすると、適切にポイントが累積されているにも拘わらず、上記の判定では制限速度候補が「不定」に更新されてしまう。
そこで、本実施形態では、標識内容確定部174は、標識累積ポイントが有意な値である道路標識の候補が1フレームにおいて一度に複数あった場合、それぞれの水平距離xを導出し、いずれか1の道路標識の水平距離xが閾値(例えば3m)未満であり、他の道路標識が閾値以上であれば、1の道路標識に1ポイント加算し、他の道路標識は1ポイント減算する。こうして、自車両1に最も近い道路標識の制限速度を優先的に制限速度候補とすることができる。
(国毎の道路標識の違い)
図28は、国別の道路標識の表示態様を示した説明図である。図28(a)のドイツの制限速度を提示した道路標識と、図28(b)のスイスの制限速度を提示した道路標識とを比較して理解できるように、制限速度を提示した道路標識は国により数値の大きさ、形状、数値間の距離が異なる場合がある。また、図28(c)のドイツの制限速度の解除を提示した道路標識と、図28(d)のイタリアの制限速度の解除を提示した道路標識とを比較して理解できるように、斜線の角度が異なる場合がある。
そこで、標識内容確定部174は、上記のように道路標識の内容を時間方向に累積して確定するのと並行して、制限速度候補がいずれの国の道路標識であるかを判定する。そして、現在走行している国を正しく把握し、その国のテンプレートを用いて制限速度等を適切に認識する。
図29は道路標識のテンプレートを説明するための説明図である。国判定処理は、基本的に、各国毎のテンプレートを用いて実行する。したがって、図29のように各国(A国〜Z国)毎と各制限速度(「10」〜「150」)毎の二次元に配列されたテンプレートが準備される。なお、制限速度の解除を提示した道路標識については、テンプレートの代わりに斜線の角度情報を保持する。また、標識検出処理S202における半径nや標識内容認識処理S204におけるN値化の閾値(所定%)等の情報も国別に保持されている。
ここで、当該車外環境認識システム100がナビゲーションシステムと連動している場合、そのナビゲーションシステムから得られる現在国情報によりテンプレートを切り替えればよいが、ナビゲーションシステムと連動していない場合、以下のような手順により、国判定を行う。
なお、国判定処理は、リアルタイム性の要求が低いため、認識対象領域の画像を1度取得すると、それをテンポラリーの画像メモリに一時的に保持し、フレーム毎の車外環境認識処理終了後の空き時間で、フレームを跨いで処理を遂行する。また、ここでは、国を判定するために、変数として、国の1または複数の候補それぞれに設けられる国別累積ポイントを用いる。標識内容確定部174は、所定のタイミングで、テンポラリーの画像メモリ領域、および、国別累積ポイントを初期化する。
国判定処理において、標識内容確定部174は、今回フレームで、既に国判定処理が実行されているか否か判定する。その結果、既に国判定処理が実行されていれば、その処理を継続し、前回の国判定処理が完了していれば、新たに国判定処理を開始する。かかる国判定処理は、上記のように、空き時間で行われるため、処理の途中でフレームの規定処理時間に到達した場合は処理を一時停止し、次回フレームで続きを行う。
そして、標識内容確定部174は、今回フレームの上述した標識内容確定処理S206において、道路標識の1または複数の候補において、1の制限速度(複数の道路標識で同じ場合も含む)のみが標識累積ポイントを得ているか否か判定する。その結果、道路標識が検出されなかったり、複数の道路標識で複数の制限速度についてポイントが得られている等、1の道路標識の制限速度のみが標識累積ポイントを得ていない場合、今回フレームの処理を終了し、次回フレームで当該標識累積ポイントの判定を繰り返す。
続いて、標識内容確定部174は、1の制限速度のみが標識累積ポイントを得ている場合、その制限速度の認識結果を制限速度Vとし、認識対象領域370の画像をテンポラリーの画像メモリに記憶する。ここで、候補となっている複数の道路標識全てについて制限速度Vが標識累積ポイントを得ている場合、総合評価値E(im,T)が一番低い(相関が最大となる)候補の認識対象領域370の画像を記憶する。ここで記憶する画像は標識検出処理S202の終了後の水平所定画素×垂直所定画素の矩形に正規化された占有領域346である。
次に、標識内容確定部174は、画像メモリに記憶された占有領域の画像に基づき、各国の制限速度Vのテンプレートに対して標識内容認識処理S204を実行する。すなわち、上述した標識内容認識処理S204では、図29のテンプレートにおいて破線で示すように、1の国に関する各制限速度Tのテンプレートを用いていたところ、ここでは、図29のテンプレートにおいて実線で示すように、1の制限速度Vに関する各国のテンプレートを用いることとなる。したがって、国の識別子をCN、制限速度をVとした場合、総合評価値E(im,T)の代わりに、総合評価値E(CN,V)を導出することとなる。かかる処理でテンプレートとして準備している国分の総合評価値E(CN、V)を得ることができる。
ただし、本実施形態においては、現在認識している国とその他の総合評価値E(CN,V)に対して重み付けを異ならせる。例えば、標識内容確定部174は、現在認識している国の総合評価値E(CN,V)にのみ重み付け係数(例えば1以下の0.8)を乗じる。これは、現在認識している国の総合評価値E(CN,V)を相対的に低くし(相関を大きくし)国判定の結果に、ハンチングが生じないようにするためである。また、現在認識している国に隣接する国を把握している場合、その隣接している国にも重み付け係数(例えば0.8以上1以下の0.95)を乗じるとしてもよい。
標識内容確定部174は、このようにして導出された全ての国に関する総合評価値E(CN,V)を比較して最小値ECMを導出する。そして、最小値ECMと他の全てのテンプレートの総合評価値E(CN,V)との差が所定値以上となれば、最小値ECMのテンプレートの国別累積ポイントに+1を加算する。
続いて、標識内容確定部174は、国別累積ポイントの最大値と、他の全ての国別累積ポイントとを比較し、その差が所定値(例えば30)以上あれば、最大値となった国が現在認識している国と等しいか否か判定する。その結果、最大値となった国と現在認識している国とが等しければ、全ての国別累積ポイントに1/2を乗じ、公正な判断のため全体的な標識累積ポイントを下げる。また、最大値となった国と現在認識している国とが異なっていれば、走行している国が変わったと判定して、現在認識している国を最大値となった国に更新し、テンポラリーの画像メモリ領域、および、国別累積ポイントを初期化する。また、国別累積ポイントの最大値と、他の全ての国別累積ポイントとの差が所定値未満であれば、テンポラリーの画像メモリ領域を初期化して、次回フレームで当該標識累積ポイントの判定を繰り返す。
このように、現在走行している国を適切に判定することで、道路標識の内容の特定精度を高めることができる。また、以上の国判定処理を、1の国の道路標識の認識処理のアンダーグラウンドで実行することで、処理負荷の増大を抑制することが可能となる。
以上、説明したように、本実施形態の車外環境認識装置120では、処理負荷の増大を抑制しつつ、道路標識の内容の認識精度を向上することが可能となる。
また、コンピュータを、車外環境認識装置120として機能させるプログラムや当該プログラムを記録した、コンピュータで読み取り可能なフレキシブルディスク、光磁気ディスク、ROM、CD、DVD、BD等の記憶媒体も提供される。ここで、プログラムは、任意の言語や記述方法にて記述されたデータ処理手段をいう。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
なお、本明細書の車外環境認識処理の各工程は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。