説明

信号機検出装置、信号機検出方法及びプログラム

【課題】前方に存在する信号機の状態を正確に判定する。
【解決手段】点灯する赤色信号灯と考えられる候補画像が検出された際に、消灯する黄色信号灯の画像、及び消灯する青色信号灯の画像が存在すると考えられる消灯信号灯候補領域の検証を行う。そして、当該消灯信号灯候補領域に、消灯した黄色信号灯の画像、及び消灯した青色信号灯の画像が存在すると判断された場合に、候補画像が赤色信号灯の画像であると断定する。これにより、車両の前方に存在する信号機の信号灯が誤検出されることがなく、点灯する信号灯を正確に特定することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信号機検出装置、信号機検出方法及びプログラムに関し、更に詳しくは、車両の前方に存在する信号機の状態を検出する信号機検出装置、車両の前方に存在する信号機の状態を検出するための信号機検出方法及びプログラムに関する。
【背景技術】
【0002】
近年、車内に設置されたカメラから出力される画像に基づいて、自車の前方に存在する障害物等を検出する運転支援システムが種々提案されている(例えば特許文献1及び2参照)。
【0003】
特許文献1に記載された装置は、交差点などの道路の分岐点をGPS(Global Positioning System)を用いて特定し、特定した位置を撮影する。次に、撮影によって得られた画像を構成する赤、青、又は黄の画素が集合する領域を抽出する。そして、当該領域のエッジが円形である場合に、上記画素が集合する領域が信号機の信号灯が写る領域であると判断する。
【0004】
また、特許文献2に記載された装置は、まず、車両の前方を撮影した画像から、輝度が比較的高い高輝度画素を、画像に写る発光体を構成する画素として抽出する。次に、抽出した高輝度画素の周囲から、この高輝度画素に比較して輝度がやや低い画素を抽出する。そして、抽出した画素が集合する領域の形状や大きさから、抽出した画素が信号機の信号灯を構成する否かを判断する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平10−177699号公報
【特許文献2】特開2009−43076号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載された装置は、画素が集合する領域の円形度が、所定の閾値以上の場合に、当該領域が信号灯が写りこむ領域であり、前方に信号機が存在すると判断する。このため、信号機の近傍に信号灯に類似するパターンが描画された看板等が存在する場合には、信号機の誤検出が発生することが予想される。また、誤検出を回避する対策として、閾値を大きくすることが考えられる。しかし、この場合には、信号機の未検出が発生する頻度が高くなる。
【0007】
特許文献2に記載された装置も同様に、画素を抽出する際の閾値の大きさにより、信号機の誤検出及び未検出が発生することが予想される。
【0008】
本発明は、上述の事情の下になされたもので、前方に存在する信号機を精度よく検出し、検出した信号機の状態を正確に判定することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明の第1の観点に係る信号機検出装置は、
車両の前方を撮影することにより得られる画像から、前記画像を構成する画素の色情報に基づいて、信号機の点灯状態にある第1信号灯の候補画像を検出する検出手段と、
前記第1信号灯の検出情報に基づいて、前記画像に、前記第1信号灯の候補画像から、前記第1信号灯と前記第1信号灯とは異なる前記信号機の第2信号灯との間隔に応じた距離隔てた位置に、検出領域を設定する設定手段と、
前記検出領域の画像が、前記信号機の消灯状態にある前記第2信号灯の画像であるか否かを検証する検証手段と、
前記検出領域の画像が、消灯状態の前記第2信号灯の画像である場合に、前記第1信号灯の候補画像が、前記第1信号灯の画像であると判断する判断手段と、
を備える。
【0010】
前記検証手段は、前記検出領域を構成する画素から閾値以上の輝度の画素を抽出し、抽出された前記画素が集合する集合領域の面積が閾値以下の場合に、前記検出領域の画像が、消灯状態にある前記第2信号灯の画像であると判断することとしてもよい。
【0011】
前記第2信号灯は、前記第1信号灯の点灯後に点灯が予定されている消灯状態の前記信号灯であることとしてもよい。
【0012】
前記検出手段は、前記画像から所定の色相の画素を抽出し、抽出された前記画素が集合する集合領域の形状に基づいて、前記第1信号灯の候補画像を検出することとしてもよい。
【0013】
前記検出手段は、前記集合領域の輪郭の円形度が閾値以上の場合に、前記集合領域を前記第1信号灯の候補画像として検出することとしてもよい。
【0014】
抽出された前記画素の色相が赤であるときの前記閾値は、抽出した前記画素の色相が赤と異なる色であるときの閾値よりも小さいこととしてもよい。
【0015】
前記設定手段は、前記第1信号灯が赤色信号灯である場合に、前記第1信号灯の候補画像の左側及び下側のうちの少なくとも一側に、前記第1信号灯の候補画像から、前記信号機の赤色信号灯と青色信号灯との間隔に応じた距離隔てた位置に、前記検出領域を設定することとしてもよい。
【0016】
前記検出手段は、前記車両が停止しているときに、前記第1信号灯の候補画像を検出するための処理を実行することとしてもよい。
【0017】
前記信号機検出装置は、
前記第1信号灯の候補画像が、前記第1信号灯の画像であると判断されている場合に、前記検出領域の画像が、前記信号機の点灯状態にある前記第2信号灯の画像であるか否かを検証する第2の検証手段と、
前記検出領域の画像が、点灯状態の前記第2信号灯の画像であると判断した場合に、警報を発令する警報手段と、
を備えることとしてもよい。
【0018】
前記設定手段は、前記第1信号灯が青色信号灯である場合に、前記第1信号灯の候補画像の右側及び上側のうちの少なくとも一側に、前記第1信号灯の候補画像から、前記信号機の赤色信号灯と青色信号灯との間隔に応じた距離隔てた位置に、前記検出領域を設定することとしてもよい。
【0019】
本発明の第2の観点に係る信号機検出方法は、
車両の前方を撮影することにより得られる画像から、前記画像を構成する画素の色情報に基づいて、信号機の点灯状態にある第1信号灯の候補画像を検出する工程と、
前記第1信号灯の検出情報に基づいて、前記画像に、前記第1信号灯の候補画像から、前記第1信号灯と前記第1信号灯とは異なる前記信号機の第2信号灯との間隔に応じた距離隔てた位置に、検出領域を設定する工程と、
前記検出領域の画像が、前記信号機の消灯状態にある前記第2信号灯の画像であるか否かを検証する工程と、
前記検出領域の画像が、消灯状態の前記第2信号灯の画像である場合に、前記第1信号灯の候補画像が、前記第1信号灯の画像であると判断する工程と、
を含む。
【0020】
本発明の第3の観点に係るプログラムは、
コンピュータに、
車両の前方を撮影することにより得られる画像から、前記画像を構成する画素の色情報に基づいて、信号機の点灯状態にある第1信号灯の候補画像を検出する手順と、
前記第1信号灯の検出情報に基づいて、前記画像に、前記第1信号灯の候補画像から、前記第1信号灯と前記第1信号灯とは異なる前記信号機の第2信号灯との間隔に応じた距離隔てた位置に、検出領域を設定する手順と、
前記検出領域の画像が、前記信号機の消灯状態にある前記第2信号灯の画像であるか否かを検証する手順と、
前記検出領域の画像が、消灯状態の前記第2信号灯の画像である場合に、前記第1信号灯の候補画像が、前記第1信号灯の画像であると判断する手順と、
を実行させる。
【発明の効果】
【0021】
本発明によれば、信号機の第1信号灯の候補画像が検出された後に、当該第1信号灯(例えば赤色信号灯)の候補画像の位置から予測される領域で、信号機の第2信号灯(例えば青色信号灯)の画像を検出するための処理が実行される。そして、第2信号灯の検出結果に基づいて、候補画像が第1信号灯の画像であるか否かが判断される。この判断結果を用いることで、車両の前方に存在する信号機を精度よく検出し、検出した信号機の状態を正確に判定することが可能となる。
【図面の簡単な説明】
【0022】
【図1】本実施形態に係る信号機検出装置のブロック図である。
【図2】撮影装置の取り付け位置を説明するための図である。
【図3】撮影装置によって撮影された画像を示す図である。
【図4】信号機検出装置の動作を説明するためのフローチャートである。
【図5】画像に設定された検出処理領域を示す図である。
【図6】信号機までの距離を算出するための手順を説明するための図である。
【図7】画像に写る信号機の信号灯の直径と、車両から信号機までの実際の距離との関係を示す図である。
【図8】信号灯の配置を示す図である。
【図9】車両から対象物までの距離を推定する手順を説明するための図である。
【図10】信号灯の配置を示す図である。
【図11】信号灯の配置を示す図である。
【図12】信号灯の配置を示す図である。
【発明を実施するための形態】
【0023】
以下、本発明の一実施形態を、図面を参照しつつ説明する。図1は本実施形態に係る信号機検出装置10の概略的な構成を示すブロック図である。信号機検出装置10は、自車の進行方向に存在する信号機の状態を検出する装置である。この信号機検出装置10は、図1に示されるように、演算装置20、撮影装置31、及び速度計測装置32を有している。
【0024】
撮影装置31は、被写体を撮影することにより取得した画像を、電気信号に変換して出力する装置である。撮影装置31は、例えば図2に示されるように、車両100のフロントウインド上部に取り付けられている。この撮影装置31は、車両100の前方を撮影する。そして、撮影により取得した画像に関する情報を演算装置20へ出力する。
【0025】
図3は、撮影装置31によって撮影された画像PHの一例を示す図である。図3を参照するとわかるように、画像PHには、車両100が走行する道路や、この道路の上方に位置する信号機70等が写っている。画像PHを参照するとわかるように、撮影装置31は、その視野内に、車両100が走行する道路や信号機等が位置するように、視野角や倍率などが調整されている。そして、撮影装置31は、車両100の進行方向を順次撮影し、撮影によって得られた画像に関する情報を出力する。
【0026】
図1に戻り、速度計測装置32は、車両100の速度を計測する装置である。この速度計測装置32は、例えばエンジンのアウトプットシャフトの回転数を計測する。そして、計測した回転数に応じた速度信号を、演算装置20へ出力する。
【0027】
演算装置20は、CPU(Central Processing Unit)21、主記憶部22、補助記憶部23、表示部24、入力部25、及びインターフェイス部26を有するコンピュータである。
【0028】
CPU21は、補助記憶部23に記憶されているプログラムに従って、車両100の前方に存在する信号機70の状態を検出する。CPU21の具体的な動作については後述する。
【0029】
主記憶部22は、RAM(Random Access Memory)等を有している。主記憶部22は、CPU21の作業領域として用いられる。
【0030】
補助記憶部23は、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリを有している。補助記憶部23は、CPU21が実行するプログラム、及び各種パラメータなどを記憶している。また、撮影装置31から出力される画像に関する情報、及びCPU21による処理結果などを含む情報を順次記憶する。
【0031】
表示部24は、LCD(Liquid Crystal Display)などの表示ユニットを有している。表示部24は、CPU21の処理結果等を表示する。
【0032】
入力部25は、入力キーや、タッチパネル等のポインティングデバイスを有している。オペレータの指示は、入力部25を介して入力され、システムバス27を経由してCPU21に通知される。
【0033】
インターフェイス部26は、シリアルインターフェイスまたはLAN(Local Area Network)インターフェイス等を含んで構成されている。撮影装置31及び速度計測装置32は、インターフェイス部26を介してシステムバス27に接続される。
【0034】
図4のフローチャートは、CPU21によって実行されるプログラムの一連の処理アルゴリズムに対応している。以下、図4を参照しつつ、信号機検出装置10の動作について説明する。また、ここでは図3を参照するとわかるように、撮影装置31の視野内に位置する信号機70を検出する場合について説明する。
【0035】
まず、最初のステップS101では、CPU21は、撮影装置31から順次出力され、補助記憶部23に順次記憶される画像情報から、最新の画像PHに関する情報(画像情報)を取得する。ここでは説明の便宜上、図3に示される画像PHに関する画像情報が取得されたものとする。
【0036】
次のステップS102では、CPU21は、車両100が停止しているか否かを判断する。CPU21は、速度計測装置32から出力される信号に基づいて、車両100の速度をモニタし、車両100の速度が閾値以下である場合には、車両100が停止していると判断する(ステップS102:Yes)。一方、CPU21は、車両100の速度が閾値より大きい場合には、車両100が走行していると判断する(ステップS102:No)。ステップS102での判断が否定された場合には(ステップS102:No)、CPU21は、ステップS103へ移行する。
【0037】
ステップS103では、CPU21は、画像PHから信号機70の信号灯を検出するための閾値V1を設定する。この閾値V1は、後述するステップS107で円形度の評価を行うときに用いられるものである。
【0038】
次のステップS104では、CPU21は、画像PHに検出処理領域PAを設定する。図5を参照するとわかるように、この検出処理領域PAは、例えば路面から3mの高さの位置を示す3本の直線L1,L2,L3によって規定される画像PH上部の領域である。ただし、直線L3は、信号機70を検出する領域が限定される場合に規定される。
【0039】
この検出処理領域PAは、撮影装置31を構成する光学系の焦点距離、画角などに基づいて決定することができる。信号機70は、通常地上から5mの位置に設置される。このため、信号機70の検出処理を、この検出処理領域PAのみについて行うことで、信号機70の検出精度を確保しつつ、短時間に検出処理を完了させることができる。
【0040】
次のステップS105では、CPU21は、画像PHから赤色画素を抽出する。赤の色相は0度近傍と360度近傍である。そこで、CPU21は、まず画像PHから色相が0度近傍と360度近傍の画素を抽出することで、画像PHから色相が赤の画素を抽出する。次に、抽出した画素から、輝度が所定の値以上の画素を抽出する。これにより、画像PHから、輝度が比較的高い赤色画素が抽出される。
【0041】
次のステップS106では、CPU21は、抽出した画素のラベリングを行う。これにより、隣接する画素同士に共通の属性が割り当てられ、これら集合した画素を1つの集合として取り扱うことが可能となる。例えば画像PHに、信号機の他に、ネオンサインや自動車のテールランプなど、信号機70の信号灯以外の赤色発光体が写りこんでいる場合には、ステップS106の処理が実行されることで、赤色信号灯を構成する画素の集合と、赤色発光体を構成する画素の集合とが規定される。
【0042】
次のステップS107では、CPU21は、ステップS106で規定された画素の集合からなる部分画像を、点灯する赤色信号灯の候補画像として抽出する。具体的には、CPU21は、画素の集合からなる部分画像の輪郭の円形度を示すスコアを、例えばHough変換や、RANSACなどのアルゴリズムを用いて、部分画像ごとに算出する。そして、スコアが最も高く、かつスコアがステップS103で設定された閾値V1以上となる部分画像を特定し、この部分画像を候補画像として抽出する。
【0043】
次のステップS108では、CPU21は、候補画像に対応する対象物の地表からの高hさを推定する。図6は、撮影装置31の焦点FCと、画像PHから検出される無限遠点P0と、画像PHが撮影された時刻における焦点FCに対する対象物の位置を示す円形のマーク700と、撮影装置31の像面を示す直線L4との位置関係を模式的に示す図である。この図6を参照するとわかるように、候補画像に対応する対象物は、マーク700及び焦点FCを通る直線L5と直線L4との交点Pに対応する画像PH上の点近傍に写り込む。そして、撮影装置31を構成する光学系の焦点距離をfとし、無限遠点P0を基準にしたときの画像PHにおける対象物(候補画像に対応する被写体)の高さをhs(pixel)とし、車両100から対象物までの距離をzeとし、δvを画素の配列間隔とすると、対象物の実際の高さh(m)は、次式(1)で示される。
【0044】
【数1】

【0045】
そこで、CPU21は、まず、車両100から対象物までの距離zeを推定する。図7には、画像に写る信号機70の信号灯の直径と、車両100から信号機70までの実際の距離との関係を示す曲線Sが示されている。この曲線Sは、信号灯の直径をx、車両100から信号機70までの距離をyとしたときに、関数y=f(x)で示される。CPU21は、候補画像の直径を計測し、計測して得られた値を、上記関数のxに代入することで、車両100から候補画像までの距離zeを算出する。
【0046】
そして、算出した距離zeと、既知の焦点距離f及び画素の配列間隔δvと、無限遠点P0を基準にしたときの画像PHにおける対象物の高さをhs(pixel)とを上記(1)へ代入することにより、対象物の高さhを求める。
【0047】
図4に戻り、次のステップS109では、CPU21は、候補画像が点灯する赤色信号灯の画像であるか否かを判断する。例えば、ステップS108で推定された対象物の高さhと、信号機が設置される高さ(例えば5m)との差が、所定の閾値以内である場合には、CPU21は、候補画像が点灯する赤色信号灯の画像であると判断し(ステップS109:Yes)、ステップS110へ移行する。
【0048】
ステップS110では、CPU21は、消灯する信号灯の画像が存在すると考えられる領域(以下、消灯信号灯候補領域という)の検証を行う。
【0049】
図8は、信号機70を構成する赤色信号灯71、黄色信号灯72、及び青色信号灯73を示す図である。信号機は所定の規定に基づいて製作される。このため各信号灯の間隔と信号灯の直径との関係には、信号の製作メーカーの相違にかかわらず一定の相関がある。このため、中心が赤色信号灯71の中心と一致し、直径が、赤色信号灯71の直径よりわずかに大きい円形領域71aを想定した場合、円形領域71aの中心からa・Dr隔てた位置に黄色信号灯72が位置する。そして、円形領域71aの中心から2a・Dr隔てた位置に青色信号灯73が位置する。なお、Drは、円形領域71aの直径であり、aは1より大きい定数である。また、直径Drと、1未満の定数bを用いて、黄色信号灯72及び青色信号灯73の直径はb・Drと表すことができる。
【0050】
そこで、CPU21は、ステップS107で抽出された赤色信号灯の候補画像の直径をdrとし、候補画像から左方向へa・dr隔てた位置に、直径がb・drの黄色消灯信号灯候補領域を設定する。また、候補画像から左方向へ2a・dr隔てた位置に、直径がb・drの青色消灯信号灯候補領域を設定する。
【0051】
ここで、定数bは1未満であるため、消灯信号灯候補領域の直径b・drは、候補画像の直径よりも小さくなる。発光体が被写体となった場合には、この被写体の画像が画像PH上では滲んだ状態となる。この滲みぶんの誤差を解消するため、本実施形態では、図8を参照するとわかるように、直径が、赤色信号灯71の直径よりもわずかに大きな円形領域71aを規定している。
【0052】
CPU21は、画像PHに2つの消灯信号灯候補領域を設定すると、この消灯信号灯候補領域の色相、彩度、輝度が、消灯した信号灯の画像の色相、彩度、輝度に相当するかどうかを検証する。
【0053】
図4に戻り、次のステップS111では、CPU21は、ステップS110での検証結果に基づいて、消灯信号灯候補領域の画素が、消灯した黄色信号灯72及び消灯した青色信号灯73の画像を構成するか否かを判断する。そして、消灯信号灯候補領域の画素が、消灯した黄色信号灯72、及び消灯した青色信号灯73の画像を構成すると判断した場合には、赤色信号灯71の側方には、消灯した黄色信号灯72及び青色信号灯73が位置すると判断する(ステップS111:Yes)。これにより、候補画像が赤色信号灯の画像であると断定される。
【0054】
次のステップS112では、画像PHに写る候補画像の位置に基づいて、車両100から赤色信号灯までの距離zeを推定する。図9は、撮影装置31の焦点FCと、画像PH,PHから検出された無限遠点P0と、画像PHが撮影された時刻における焦点FCに対する赤色信号灯の位置を示す円形のマーク700と、画像PHが撮影された時刻における焦点FCに対する赤色信号灯の位置を示す円形のマーク700と、撮影装置31の像面を示す直線L4との位置関係を模式的に示す図である。
【0055】
図9を参照するとわかるように、画像PHでは、赤色信号灯は、マーク700及び焦点FCを通る直線L6と直線L4との交点P1に対応する画像PH上の点近傍に写り込む。また、画像PHでは、赤色信号灯は、マーク700及び焦点FCを通る直線L7と直線L4との交点P2に対応する画像PH2上の点近傍に写り込む。
【0056】
例えば、画像PHが撮影された時刻から画像PHが撮影された時刻までの時間をΔt(sec)とし、車両100の速度をV(m/sec)とし、撮影装置31を構成する光学系の焦点距離をfとし、無限遠点P0を基準にしたときの画像PHにおける対象物の高さをhs1(pixel)とし、無限遠点P0を基準にしたときの画像PHにおける対象物の高さをhs2(pixel)とし、路側物の実際の高さをh(m)とし、スケールファクタ(Sv)をf/δvとすると、次式(2)及び(3)が成立し、式(2)及び式(3)から、車両100から対象物までの推定距離ze(m)を示す次式(4)が導かれる。
【0057】
【数2】

【数3】

【数4】

【0058】
そこで、CPU21は、画像PHに写る赤色信号灯の高さhs1と,画像PHに写る赤色信号灯の高さhs2とを求めるとともに、画像PHが撮影された時刻から画像PHが撮影された時刻までの時間Δtを算出する。そして、画像に写る赤色信号灯の高さhs1,hs2と、時間Δtと、速度計測装置32を介して計測した車両100の速度Vとを上記式(4)へ代入し、対象物までの推定距離zeを算出する。
【0059】
なお、画像中の無限遠点は、例えば画像に写る道路と路側とを区分する白線や、走行車線と対抗斜線とを区分する白線のエッジが収束する点を特定し、特定した点を無限遠点とすることで規定される。しかしながら、道路が蛇行している場合や、道路の状況等によっては、白線等のエッジが収束する無限遠点を特定することができなくなることがある。この場合は、赤色信号灯が写る1組の画像PH,PHを用いて、車両100から赤色信号灯までの推定距離zeを算出することができる。
【0060】
例えば、画像PHが撮影された時刻から画像PHが撮影された時刻までの時間をΔt(sec)とし、車両100の速度をV(m/sec)とし、画像PHにおける赤色信号灯の幅をW1(pixel)とし、画像PHにおける赤色信号灯の幅をW2(pixel)とすると、車両100から赤色信号灯までの推定距離ze(m)は、次式(5)によって表される。
【0061】
【数5】

【0062】
そこで、CPU21は、画像PHに写る赤色信号灯の幅W1と、画像PHに写る赤色信号灯の幅W2とを求め、画像PHが撮影された時刻から画像PHが撮影された時刻までの時間Δを算出する。そして、画像に写る赤色信号灯の幅W1,W2と、時間Δtと、速度計測装置32を介して計測した車両100の速度Vとを上記式(5)へ代入し、赤色信号灯までの推定距離zeを算出する。
【0063】
また、画像PH或いは画像PHのいずれか一方にしか赤色信号灯が写っていない場合には、CPU21は、上述したステップS108での処理と同様に、まず、画像に写る赤色信号灯の直径を計測する。次に、計測して得られた値を、図7に示される曲線を規定する関数(y=f(x))のxに代入して、車両100から赤色信号灯までの距離zeを算出する。
【0064】
図4に戻り、次のステップS113では、車両100の速度と、赤色信号灯までの距離に基づいて、車両100が交差点へ進入する危険があるか否かを判断する。この判断は、例えば距離zeと、車両100の速度V(m/sec)と時間T(sec)との積(V・T)とを比較することにより行う。なお、時間Tは、例えば3秒程度である。
【0065】
CPU21は、距離zeが、速度Vと時間Tとの積(V・T)よりも小さい場合に、車両100が交差点に進入する危険があると判断し(ステップS113:Yes)、次のステップS114へ移行する。
【0066】
ステップS114では、CPU21は、前方に赤色信号灯が点灯している信号機が存在することを通知するための警報を発する。この警報は、例えば表示部24にテキストを表示したり、外部に警告音又は信号を発すること等が考えられる。
【0067】
CPU21は、ステップS111,S113での判断が否定された場合、或いはステップS114での処理が完了した場合に、ステップS115へ移行し、探索モードを1に設定する。なお、探索モード1は、点灯する赤色信号灯を探索するためのモードである。
【0068】
次のステップS116では、CPU21は、これまでの処理結果を、補助記憶部23へ記憶する。ステップS116での処理が完了すると、CPU21は、ステップS101へ戻り、以降、ステップS102での判断が肯定されるまで、ステップS101〜ステップS116までの処理を繰り返し実行する。そして、ステップS102での判断が肯定された場合には、CPU21は、ステップS117へ移行する。
【0069】
ステップS117では、CPU21は、画像PHから信号機70の信号灯を検出するための閾値V2を設定する。この閾値V2は、後述するステップS122で円形度の評価を行うときに用いられるものである。また、この閾値V2は、ステップS103で設定される閾値V1よりも小さい。
【0070】
次のステップS118では、CPU21は、探索モードを確認する。探索モードが1であると判断された場合には、CPU21は、ステップS119へ移行する。
【0071】
ステップS119では、CPU21は、画像PHに検出処理領域PAを設定する。
【0072】
次のステップS120では、CPU21は、画像PHから赤色画素を抽出する。具体的には、CPU21は、まず画像PHから色相が0度近傍と360度近傍の画素を抽出することで、画像PHから色相が赤の画素を抽出する。次に、抽出した画素から、輝度が所定の値以上の画素を抽出する。これにより、画像PHから、輝度が比較的高い赤色画素が抽出される。
【0073】
次のステップS121では、CPU21は、抽出した画素のラベリングを行う。これにより、隣接する画素同士に共通の属性が割り当てられ、これら集合した画素を1つの集合として取り扱うことが可能となる。
【0074】
次のステップS122では、CPU21は、ステップS121で規定された画素の集合からなる部分画像を、点灯する赤色信号灯の候補画像として抽出する。具体的には、CPU21は、部分画像の輪郭の円形度を示すスコアを、例えばHough変換や、RANSACなどのアルゴリズムを用いて、部分画像ごとに算出する。そして、スコアが最も高く、かつスコアがステップS117で設定された閾値V2以上となる部分画像を特定し、この部分画像を候補画像として抽出する。
【0075】
次のステップS123では、CPU21は、候補画像に対応する対象物の地表からの高さhを、上記式(1)を用いて推定する。
【0076】
次のステップS124では、CPU21は、候補画像が点灯する赤色信号灯の画像であるか否かを判断する。例えば、ステップS123で推定された対象物の高さhと、信号機が設置される高さとの差が、閾値以上である場合には(ステップS124:No)、CPU21は、ステップS116へ移行する。一方、対象物の高さhと、信号機が設置される高さとの差が、閾値以下である場合には、CPU21は、候補画像が点灯する赤色信号灯の画像であると判断し(ステップS124:Yes)、ステップS125へ移行する。
【0077】
ステップS125では、CPU21は、消灯信号灯候補領域の検証を行う。
【0078】
次のステップS126では、CPU21は、ステップS125での検証結果に基づいて、消灯信号灯候補領域の画素が、消灯した黄色信号灯72及び消灯した青色信号灯73の画像を構成するか否かを判断する。そして、消灯信号灯候補領域の画素が、消灯した黄色信号灯72、又は消灯した青色信号灯73の画像を構成しないと判断した場合には、赤色信号灯71の側方には、消灯した黄色信号灯72及び青色信号灯73が位置しないと判断し(ステップS126:No)、CPU21は、ステップS116へ移行する。
【0079】
一方、消灯信号灯候補領域の画素が、消灯した黄色信号灯72、及び消灯した青色信号灯73の画像を構成すると判断した場合には、赤色信号灯71の側方には、消灯した黄色信号灯72及び青色信号灯73が位置すると判断する(ステップS126:Yes)。これにより、候補画像が赤色信号灯の画像であると断定される。
【0080】
次のステップS127では、CPU21は、探索モードを2に設定し、ステップS116へ移行する。なお、探索モード2は、消灯した赤色信号灯を探索するためのモードである。
【0081】
ステップS118において、探索モードが2であると判断された場合には、CPU21は、ステップS128へ移行する。
【0082】
ステップS128では、CPU21は、赤色信号灯探索領域を設定する。具体的には、CPU21は、ステップS122で抽出された候補画像と重複する領域を、赤色信号灯探索領域に設定する。
【0083】
次のステップS129では、CPU21は、赤色信号灯探索領域から赤色画素を抽出する。具体的には、CPU21は、赤色信号灯探索領域から色相が0度近傍と360度近傍の画素を抽出することで、赤色信号灯探索領域から色相が赤の画素を抽出する。次に、抽出した画素から、輝度が所定の値以上の画素を抽出する。これにより、赤色信号灯探索領域から、輝度が比較的高い赤色画素が抽出される。
【0084】
次のステップS130では、CPU21は、抽出した画素のラベリングを行う。これにより、隣接する画素同士に共通の属性が割り当てられ、これら集合した画素を1つの集合として取り扱うことが可能となる。
【0085】
次のステップS131では、CPU21は、ステップS130で規定された画素の集合からなる部分画像を、点灯する赤色信号灯の候補画像として抽出する。
【0086】
次のステップS132では、CPU21は、抽出した候補画像に基づいて、赤色信号灯が点灯しているか否かを判断する。例えば、赤色信号灯が点灯している場合には、候補画像の大きさが赤色信号灯探索領域の大きさとほぼ等しくなり、円形度を示すスコアも、ある程度大きくなる。一方、赤色信号灯が消灯している場合には、一般に候補画像の大きさが赤色探索領域の大きさよりも小さくなり、円形度を示すスコアも小さくなる。そこで、CPU21は、候補画像の大きさ及び円形度に基づいて、赤色信号灯が点灯しているか否かを判断する。CPU21は、赤色信号灯が点灯していると判断した場合には(ステップS132:Yes)、ステップS116へ移行する。一方、CPU21は、赤色信号灯が点灯していないと判断した場合には、(ステップS132:No)、ステップS133に移行する。
【0087】
ステップS133では、CPU21は、探索モードを3に設定し、ステップS116へ移行する。なお、探索モード3は、青色信号灯を探索するためのモードである。
【0088】
ステップS118において、探索モードが3であると判断された場合には、CPU21は、ステップS134へ移行する。
【0089】
ステップS134では、CPU21は、青色信号灯探索領域を設定する。具体的には、CPU21は、ステップS110で設定した青色消灯信号灯候補領域と重複する領域を、青色信号灯探索領域に設定する。
【0090】
次のステップS135では、CPU21は、青色信号灯探索領域から青色画素を抽出する。具体的には、CPU21は、青色信号灯探索領域から色相が240度近傍の画素を抽出することで、青色信号灯探索領域から色相が青の画素を抽出する。次に、抽出した画素から、輝度が所定の値以上の画素を抽出する。これにより、青色信号灯探索領域から、輝度が比較的高い青色画素が抽出される。
【0091】
次のステップS136では、CPU21は、抽出した画素のラベリングを行う。これにより、隣接する画素同士に共通の属性が割り当てられ、これら集合した画素を1つの集合として取り扱うことが可能となる。
【0092】
次のステップS137では、CPU21は、ステップS136で規定された画素の集合からなる部分画像を、点灯する青色信号灯の候補画像として抽出する。
【0093】
次のステップS138では、CPU21は、抽出した候補画像に基づいて、青色信号灯が点灯しているか否かを判断する。例えば、青色信号灯が点灯している場合には、候補画像の大きさが青色信号灯探索領域の大きさとほぼ等しくなり、円形度を示すスコアも、ある程度大きくなる。一方、青色信号灯が消灯している場合には、一般に候補画像の大きさが青色探索領域の大きさよりも小さくなり、円形度を示すスコアも小さくなる。そこで、CPU21は、候補画像の大きさ及び円形度に基づいて、青色信号灯が点灯しているか否かを判断する。CPU21は、青色信号灯が点灯していないと判断した場合には(ステップS138:No)、ステップS116へ移行する。一方、CPU21は、青色信号灯が点灯していると判断した合には(ステップS138:Yes)、ステップS139へ移行する。
【0094】
次のステップS139では、CPU21は、ステップS138での肯定的な判断が、初めてなされたものであるか否かを判断する。ステップS138で肯定的な判断がなされたのが初めてでない場合には、CPU21は、ステップS116へ移行する。一方、ステップS138で肯定的な判断がなされたのが初めてである場合には、CPU21は、ステップS140へ移行する。
【0095】
ステップS140では、CPU21は、信号機の青色信号灯が点灯したことを報知する。この報知は、例えば、例えば表示部24にテキストを表示したり、外部に報知音又は信号を発すること等が考えられる。
【0096】
ステップS140での処理が完了すると、CPU21は、ステップS116で処理結果を、補助記憶部23へ記憶する。そして、CPU21は、ステップS101へ戻り、以降ステップS101〜S149までの処理を繰り返し実行する。
【0097】
以上説明したように、本実施形態では、点灯する赤色信号灯と考えられる候補画像が検出された際に(ステップS109:Yes)、消灯する黄色信号灯の画像、及び消灯する青色信号灯の画像が存在すると考えられる領域(消灯信号灯候補領域)の検証が行われる。そして、当該消灯信号灯候補領域に、消灯した黄色信号灯の画像、及び消灯した青色信号灯の画像が存在すると判断された場合に(ステップS111:Yes)、候補画像が赤色信号灯の画像であると断定される。このため、赤色信号灯の画像以外の画像が、赤色信号灯の候補画像として誤検出されたとしても、当該消灯信号灯候補領域に、消灯した黄色信号灯の画像、及び消灯した青色信号灯の画像が存在すると判断されなければ、誤検出された画像が赤色信号灯の画像であると断定されることがない。したがって、車両の前方に存在する信号機の信号灯が誤検出されることがなくなり、点灯する信号灯を正確に特定することが可能となる。
【0098】
また、本実施形態では、車両が停車中に、点灯する赤色信号灯が検出された場合には(ステップS124:Yes)、赤色信号灯の消灯を検出するための処理が実行される(ステップS128〜ステップS132)。そして、赤色信号灯の消灯が検出された場合には、青色信号灯の点灯を検出するための処理が実行され(ステップS134〜ステップS138)、この処理で青色信号灯の点灯が確認された場合に、初めて青色信号灯が点灯したことが報知される(ステップS140)。すなわち、本実施形態では、赤色信号灯の消灯と、青色信号灯の点灯の双方が検出された場合に限り、青色信号灯が点灯したことが報知される。このため、青色信号灯に類似する発光体が画像PHに写りこんでいたとしても、精度よく青色信号灯の点灯を報知することが可能となる。
【0099】
上記実施形態では、図8に示されるように、信号機70が、水平方向に配列された3つの信号灯71〜73を有している場合について説明した。本発明はこれに限定されるものではなく、図10に示されるように、信号機70が、鉛直方向に配列された3つの信号灯71〜73を有している場合にも、点灯する信号灯を正確に検出することができる。
【0100】
この場合には、ステップS110等において、黄色消灯信号灯候補領域を、候補画像から下方向へa・dr隔てた位置に設定し、青色消灯信号灯候補領域を、候補画像から下方向へ2a・dr隔てた位置に設定すればよい。
【0101】
上記実施形態では、最初に画像PHから赤色画素を抽出し(ステップS105)、赤色信号灯の画像を特定することとした(ステップS109:Yes)。これに限らず、最初に画像PHから青色画素を抽出して、青色信号灯の画像を特定し、この青色信号灯の画像に基づいて、点灯している信号灯を特定することとしてもよい。
【0102】
この場合には、図11を参照するとわかるように、ステップS110等において、黄色消灯信号灯候補領域を、候補画像から右方向へa・dr隔てた位置に設定し、赤色消灯信号灯候補領域を、候補画像から右方向へ2a・dr隔てた位置に設定すればよい。
【0103】
また、信号機70が、鉛直方向に配列された3つの信号灯71〜73を有している場合には、図12を参照するとわかるように、黄色消灯信号灯候補領域を、候補画像から上方向へa・dr隔てた位置に設定し、赤色消灯信号灯候補領域を、候補画像から上方向へ2a・dr隔てた位置に設定すればよい。
【0104】
以上、本発明の実施形態について説明したが、本発明は上記実施形態によって限定されるものではない。
【0105】
例えば、上記実施形態では、CPU21が補助記憶部に記憶されたプログラムを実行することにより、図4に示される一連の処理が実行された。これに限らず、演算装置20を、ハードウェアによって構成してもよい。
【0106】
また、演算装置20の補助記憶部23に記憶されているプログラムは、フレキシブルディスク、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto-Optical disk)等のコンピュータで読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の処理を実行する装置を構成することとしてもよい。
【0107】
また、プログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するようにしても良い。
【0108】
なお、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。
【産業上の利用可能性】
【0109】
本発明の信号機検出装置、信号機検出方法及びプログラムは、車両の前方に存在する信号機に関する情報を検出するのに適している。
【符号の説明】
【0110】
10 信号機検出装置
20 演算装置
21 CPU
22 主記憶部
23 補助記憶部
24 表示部
25 入力部
26 インターフェイス部
27 システムバス
31 撮影装置
32 速度計測装置
70 信号機
71 赤色信号灯
71a 円形領域
72 黄色信号灯
72 青色信号灯
73 青色信号灯
100 車両
700 マーク
FC 焦点
P 交点
P0 無限遠点
PA 検出処理領域
PH 画像

【特許請求の範囲】
【請求項1】
車両の前方を撮影することにより得られる画像から、前記画像を構成する画素の色情報に基づいて、信号機の点灯状態にある第1信号灯の候補画像を検出する検出手段と、
前記第1信号灯の検出情報に基づいて、前記画像に、前記第1信号灯の候補画像から、前記第1信号灯と前記第1信号灯とは異なる前記信号機の第2信号灯との間隔に応じた距離隔てた位置に、検出領域を設定する設定手段と、
前記検出領域の画像が、前記信号機の消灯状態にある前記第2信号灯の画像であるか否かを検証する検証手段と、
前記検出領域の画像が、消灯状態の前記第2信号灯の画像である場合に、前記第1信号灯の候補画像が、前記第1信号灯の画像であると判断する判断手段と、
を備える信号機検出装置。
【請求項2】
前記検証手段は、前記検出領域を構成する画素から閾値以上の輝度の画素を抽出し、抽出された前記画素が集合する集合領域の面積が閾値以下の場合に、前記検出領域の画像が、消灯状態にある前記第2信号灯の画像であると判断する請求項1に記載の信号機検出装置。
【請求項3】
前記第2信号灯は、前記第1信号灯の点灯後に点灯が予定されている消灯状態の前記信号灯である請求項1又は2に記載の信号機検出装置。
【請求項4】
前記検出手段は、前記画像から所定の色相の画素を抽出し、抽出された前記画素が集合する集合領域の形状に基づいて、前記第1信号灯の候補画像を検出する請求項1乃至3のいずれか一項に記載の信号機検出装置。
【請求項5】
前記検出手段は、前記集合領域の輪郭の円形度が閾値以上の場合に、前記集合領域を前記第1信号灯の候補画像として検出する請求項4に記載の信号機検出装置。
【請求項6】
抽出された前記画素の色相が赤であるときの前記閾値は、抽出した前記画素の色相が赤と異なる色であるときの閾値よりも小さいことを特徴とする請求項5に記載の信号機検出装置。
【請求項7】
前記設定手段は、前記第1信号灯が赤色信号灯である場合に、前記第1信号灯の候補画像の左側及び下側のうちの少なくとも一側に、前記第1信号灯の候補画像から、前記信号機の赤色信号灯と青色信号灯との間隔に応じた距離隔てた位置に、前記検出領域を設定する請求項1乃至6のいずれか一項に記載の信号機検出装置。
【請求項8】
前記検出手段は、前記車両が停止しているときに、前記第1信号灯の候補画像を検出するための処理を実行する請求項1乃至7のいずれか一項に記載の信号機検出装置。
【請求項9】
前記第1信号灯の候補画像が、前記第1信号灯の画像であると判断されている場合に、前記検出領域の画像が、前記信号機の点灯状態にある前記第2信号灯の画像であるか否かを検証する第2の検証手段と、
前記検出領域の画像が、点灯状態の前記第2信号灯の画像であると判断した場合に、警報を発令する警報手段と、
を備える請求項8に記載の信号機検出装置。
【請求項10】
前記設定手段は、前記第1信号灯が青色信号灯である場合に、前記第1信号灯の候補画像の右側及び上側のうちの少なくとも一側に、前記第1信号灯の候補画像から、前記信号機の赤色信号灯と青色信号灯との間隔に応じた距離隔てた位置に、前記検出領域を設定する請求項1乃至9のいずれか一項に記載の信号機検出装置。
【請求項11】
車両の前方を撮影することにより得られる画像から、前記画像を構成する画素の色情報に基づいて、信号機の点灯状態にある第1信号灯の候補画像を検出する工程と、
前記第1信号灯の検出情報に基づいて、前記画像に、前記第1信号灯の候補画像から、前記第1信号灯と前記第1信号灯とは異なる前記信号機の第2信号灯との間隔に応じた距離隔てた位置に、検出領域を設定する工程と、
前記検出領域の画像が、前記信号機の消灯状態にある前記第2信号灯の画像であるか否かを検証する工程と、
前記検出領域の画像が、消灯状態の前記第2信号灯の画像である場合に、前記第1信号灯の候補画像が、前記第1信号灯の画像であると判断する工程と、
を含む信号機検出方法。
【請求項12】
コンピュータに、
車両の前方を撮影することにより得られる画像から、前記画像を構成する画素の色情報に基づいて、信号機の点灯状態にある第1信号灯の候補画像を検出する手順と、
前記第1信号灯の検出情報に基づいて、前記画像に、前記第1信号灯の候補画像から、前記第1信号灯と前記第1信号灯とは異なる前記信号機の第2信号灯との間隔に応じた距離隔てた位置に、検出領域を設定する手順と、
前記検出領域の画像が、前記信号機の消灯状態にある前記第2信号灯の画像であるか否かを検証する手順と、
前記検出領域の画像が、消灯状態の前記第2信号灯の画像である場合に、前記第1信号灯の候補画像が、前記第1信号灯の画像であると判断する手順と、
を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2012−98967(P2012−98967A)
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願番号】特願2010−246913(P2010−246913)
【出願日】平成22年11月2日(2010.11.2)
【出願人】(000000011)アイシン精機株式会社 (5,421)
【Fターム(参考)】