(57)【要約】【課題】前方に存在する信号機の状態を正確に判定する。【解決手段】点灯する赤色信号灯と考えられる候補画像が検出された際に、消灯する黄色信号灯の画像、及び消灯する青色信号灯の画像が存在すると考えられる消灯信号灯候補領域の検証を行う。そして、当該消灯信号灯候補領域に、消灯した黄色信号灯の画像、及び消灯した青色信号灯の画像が存在すると判断された場合に、候補画像が赤色信号灯の画像であると断定する。これにより、車両の前方に存在する信号機の信号灯が誤検出されることがなく、点灯する信号灯を正確に特定することができる。【選択図】図１
2012098967.tif 000002
【特許請求の範囲】
【請求項１】
車両の前方を撮影することにより得られる画像から、前記画像を構成する画素の色情報に基づいて、信号機の点灯状態にある第１信号灯の候補画像を検出する検出手段と、
前記第１信号灯の検出情報に基づいて、前記画像に、前記第１信号灯の候補画像から、前記第１信号灯と前記第１信号灯とは異なる前記信号機の第２信号灯との間隔に応じた距離隔てた位置に、検出領域を設定する設定手段と、
前記検出領域の画像が、前記信号機の消灯状態にある前記第２信号灯の画像であるか否かを検証する検証手段と、
前記検出領域の画像が、消灯状態の前記第２信号灯の画像である場合に、前記第１信号灯の候補画像が、前記第１信号灯の画像であると判断する判断手段と、
を備える信号機検出装置。
【請求項２】
前記検証手段は、前記検出領域を構成する画素から閾値以上の輝度の画素を抽出し、抽出された前記画素が集合する集合領域の面積が閾値以下の場合に、前記検出領域の画像が、消灯状態にある前記第２信号灯の画像であると判断する請求項１に記載の信号機検出装置。
【請求項３】
前記第２信号灯は、前記第１信号灯の点灯後に点灯が予定されている消灯状態の前記信号灯である請求項１又は２に記載の信号機検出装置。
【請求項４】
前記検出手段は、前記画像から所定の色相の画素を抽出し、抽出された前記画素が集合する集合領域の形状に基づいて、前記第１信号灯の候補画像を検出する請求項１乃至３のいずれか一項に記載の信号機検出装置。
【請求項５】
前記検出手段は、前記集合領域の輪郭の円形度が閾値以上の場合に、前記集合領域を前記第１信号灯の候補画像として検出する請求項４に記載の信号機検出装置。
【請求項６】
抽出された前記画素の色相が赤であるときの前記閾値は、抽出した前記画素の色相が赤と異なる色であるときの閾値よりも小さいことを特徴とする請求項５に記載の信号機検出装置。
【請求項７】
前記設定手段は、前記第１信号灯が赤色信号灯である場合に、前記第１信号灯の候補画像の左側及び下側のうちの少なくとも一側に、前記第１信号灯の候補画像から、前記信号機の赤色信号灯と青色信号灯との間隔に応じた距離隔てた位置に、前記検出領域を設定する請求項１乃至６のいずれか一項に記載の信号機検出装置。
【請求項８】
前記検出手段は、前記車両が停止しているときに、前記第１信号灯の候補画像を検出するための処理を実行する請求項１乃至７のいずれか一項に記載の信号機検出装置。
【請求項９】
前記第１信号灯の候補画像が、前記第１信号灯の画像であると判断されている場合に、前記検出領域の画像が、前記信号機の点灯状態にある前記第２信号灯の画像であるか否かを検証する第２の検証手段と、
前記検出領域の画像が、点灯状態の前記第２信号灯の画像であると判断した場合に、警報を発令する警報手段と、
を備える請求項８に記載の信号機検出装置。
【請求項１０】
前記設定手段は、前記第１信号灯が青色信号灯である場合に、前記第１信号灯の候補画像の右側及び上側のうちの少なくとも一側に、前記第１信号灯の候補画像から、前記信号機の赤色信号灯と青色信号灯との間隔に応じた距離隔てた位置に、前記検出領域を設定する請求項１乃至９のいずれか一項に記載の信号機検出装置。
【請求項１１】
車両の前方を撮影することにより得られる画像から、前記画像を構成する画素の色情報に基づいて、信号機の点灯状態にある第１信号灯の候補画像を検出する工程と、
前記第１信号灯の検出情報に基づいて、前記画像に、前記第１信号灯の候補画像から、前記第１信号灯と前記第１信号灯とは異なる前記信号機の第２信号灯との間隔に応じた距離隔てた位置に、検出領域を設定する工程と、
前記検出領域の画像が、前記信号機の消灯状態にある前記第２信号灯の画像であるか否かを検証する工程と、
前記検出領域の画像が、消灯状態の前記第２信号灯の画像である場合に、前記第１信号灯の候補画像が、前記第１信号灯の画像であると判断する工程と、
を含む信号機検出方法。
【請求項１２】
コンピュータに、
車両の前方を撮影することにより得られる画像から、前記画像を構成する画素の色情報に基づいて、信号機の点灯状態にある第１信号灯の候補画像を検出する手順と、
前記第１信号灯の検出情報に基づいて、前記画像に、前記第１信号灯の候補画像から、前記第１信号灯と前記第１信号灯とは異なる前記信号機の第２信号灯との間隔に応じた距離隔てた位置に、検出領域を設定する手順と、
前記検出領域の画像が、前記信号機の消灯状態にある前記第２信号灯の画像であるか否かを検証する手順と、
前記検出領域の画像が、消灯状態の前記第２信号灯の画像である場合に、前記第１信号灯の候補画像が、前記第１信号灯の画像であると判断する手順と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号機検出装置、信号機検出方法及びプログラムに関し、更に詳しくは、車両の前方に存在する信号機の状態を検出する信号機検出装置、車両の前方に存在する信号機の状態を検出するための信号機検出方法及びプログラムに関する。
【背景技術】
【０００２】
近年、車内に設置されたカメラから出力される画像に基づいて、自車の前方に存在する障害物等を検出する運転支援システムが種々提案されている（例えば特許文献１及び２参照）。
【０００３】
特許文献１に記載された装置は、交差点などの道路の分岐点をＧＰＳ（Global Positioning System）を用いて特定し、特定した位置を撮影する。次に、撮影によって得られた画像を構成する赤、青、又は黄の画素が集合する領域を抽出する。そして、当該領域のエッジが円形である場合に、上記画素が集合する領域が信号機の信号灯が写る領域であると判断する。
【０００４】
また、特許文献２に記載された装置は、まず、車両の前方を撮影した画像から、輝度が比較的高い高輝度画素を、画像に写る発光体を構成する画素として抽出する。次に、抽出した高輝度画素の周囲から、この高輝度画素に比較して輝度がやや低い画素を抽出する。そして、抽出した画素が集合する領域の形状や大きさから、抽出した画素が信号機の信号灯を構成する否かを判断する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−１７７６９９号公報
【特許文献２】特開２００９−４３０７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載された装置は、画素が集合する領域の円形度が、所定の閾値以上の場合に、当該領域が信号灯が写りこむ領域であり、前方に信号機が存在すると判断する。このため、信号機の近傍に信号灯に類似するパターンが描画された看板等が存在する場合には、信号機の誤検出が発生することが予想される。また、誤検出を回避する対策として、閾値を大きくすることが考えられる。しかし、この場合には、信号機の未検出が発生する頻度が高くなる。
【０００７】
特許文献２に記載された装置も同様に、画素を抽出する際の閾値の大きさにより、信号機の誤検出及び未検出が発生することが予想される。
【０００８】
本発明は、上述の事情の下になされたもので、前方に存在する信号機を精度よく検出し、検出した信号機の状態を正確に判定することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の第１の観点に係る信号機検出装置は、
車両の前方を撮影することにより得られる画像から、前記画像を構成する画素の色情報に基づいて、信号機の点灯状態にある第１信号灯の候補画像を検出する検出手段と、
前記第１信号灯の検出情報に基づいて、前記画像に、前記第１信号灯の候補画像から、前記第１信号灯と前記第１信号灯とは異なる前記信号機の第２信号灯との間隔に応じた距離隔てた位置に、検出領域を設定する設定手段と、
前記検出領域の画像が、前記信号機の消灯状態にある前記第２信号灯の画像であるか否かを検証する検証手段と、
前記検出領域の画像が、消灯状態の前記第２信号灯の画像である場合に、前記第１信号灯の候補画像が、前記第１信号灯の画像であると判断する判断手段と、
を備える。
【００１０】
前記検証手段は、前記検出領域を構成する画素から閾値以上の輝度の画素を抽出し、抽出された前記画素が集合する集合領域の面積が閾値以下の場合に、前記検出領域の画像が、消灯状態にある前記第２信号灯の画像であると判断することとしてもよい。
【００１１】
前記第２信号灯は、前記第１信号灯の点灯後に点灯が予定されている消灯状態の前記信号灯であることとしてもよい。
【００１２】
前記検出手段は、前記画像から所定の色相の画素を抽出し、抽出された前記画素が集合する集合領域の形状に基づいて、前記第１信号灯の候補画像を検出することとしてもよい。
【００１３】
前記検出手段は、前記集合領域の輪郭の円形度が閾値以上の場合に、前記集合領域を前記第１信号灯の候補画像として検出することとしてもよい。
【００１４】
抽出された前記画素の色相が赤であるときの前記閾値は、抽出した前記画素の色相が赤と異なる色であるときの閾値よりも小さいこととしてもよい。
【００１５】
前記設定手段は、前記第１信号灯が赤色信号灯である場合に、前記第１信号灯の候補画像の左側及び下側のうちの少なくとも一側に、前記第１信号灯の候補画像から、前記信号機の赤色信号灯と青色信号灯との間隔に応じた距離隔てた位置に、前記検出領域を設定することとしてもよい。
【００１６】
前記検出手段は、前記車両が停止しているときに、前記第１信号灯の候補画像を検出するための処理を実行することとしてもよい。
【００１７】
前記信号機検出装置は、
前記第１信号灯の候補画像が、前記第１信号灯の画像であると判断されている場合に、前記検出領域の画像が、前記信号機の点灯状態にある前記第２信号灯の画像であるか否かを検証する第２の検証手段と、
前記検出領域の画像が、点灯状態の前記第２信号灯の画像であると判断した場合に、警報を発令する警報手段と、
を備えることとしてもよい。
【００１８】
前記設定手段は、前記第１信号灯が青色信号灯である場合に、前記第１信号灯の候補画像の右側及び上側のうちの少なくとも一側に、前記第１信号灯の候補画像から、前記信号機の赤色信号灯と青色信号灯との間隔に応じた距離隔てた位置に、前記検出領域を設定することとしてもよい。
【００１９】
本発明の第２の観点に係る信号機検出方法は、
車両の前方を撮影することにより得られる画像から、前記画像を構成する画素の色情報に基づいて、信号機の点灯状態にある第１信号灯の候補画像を検出する工程と、
前記第１信号灯の検出情報に基づいて、前記画像に、前記第１信号灯の候補画像から、前記第１信号灯と前記第１信号灯とは異なる前記信号機の第２信号灯との間隔に応じた距離隔てた位置に、検出領域を設定する工程と、
前記検出領域の画像が、前記信号機の消灯状態にある前記第２信号灯の画像であるか否かを検証する工程と、
前記検出領域の画像が、消灯状態の前記第２信号灯の画像である場合に、前記第１信号灯の候補画像が、前記第１信号灯の画像であると判断する工程と、
を含む。
【００２０】
本発明の第３の観点に係るプログラムは、
コンピュータに、
車両の前方を撮影することにより得られる画像から、前記画像を構成する画素の色情報に基づいて、信号機の点灯状態にある第１信号灯の候補画像を検出する手順と、
前記第１信号灯の検出情報に基づいて、前記画像に、前記第１信号灯の候補画像から、前記第１信号灯と前記第１信号灯とは異なる前記信号機の第２信号灯との間隔に応じた距離隔てた位置に、検出領域を設定する手順と、
前記検出領域の画像が、前記信号機の消灯状態にある前記第２信号灯の画像であるか否かを検証する手順と、
前記検出領域の画像が、消灯状態の前記第２信号灯の画像である場合に、前記第１信号灯の候補画像が、前記第１信号灯の画像であると判断する手順と、
を実行させる。
【発明の効果】
【００２１】
本発明によれば、信号機の第１信号灯の候補画像が検出された後に、当該第１信号灯（例えば赤色信号灯）の候補画像の位置から予測される領域で、信号機の第２信号灯（例えば青色信号灯）の画像を検出するための処理が実行される。そして、第２信号灯の検出結果に基づいて、候補画像が第１信号灯の画像であるか否かが判断される。この判断結果を用いることで、車両の前方に存在する信号機を精度よく検出し、検出した信号機の状態を正確に判定することが可能となる。
【図面の簡単な説明】
【００２２】
【図１】本実施形態に係る信号機検出装置のブロック図である。
【図２】撮影装置の取り付け位置を説明するための図である。
【図３】撮影装置によって撮影された画像を示す図である。
【図４】信号機検出装置の動作を説明するためのフローチャートである。
【図５】画像に設定された検出処理領域を示す図である。
【図６】信号機までの距離を算出するための手順を説明するための図である。
【図７】画像に写る信号機の信号灯の直径と、車両から信号機までの実際の距離との関係を示す図である。
【図８】信号灯の配置を示す図である。
【図９】車両から対象物までの距離を推定する手順を説明するための図である。
【図１０】信号灯の配置を示す図である。
【図１１】信号灯の配置を示す図である。
【図１２】信号灯の配置を示す図である。
【発明を実施するための形態】
【００２３】
以下、本発明の一実施形態を、図面を参照しつつ説明する。図１は本実施形態に係る信号機検出装置１０の概略的な構成を示すブロック図である。信号機検出装置１０は、自車の進行方向に存在する信号機の状態を検出する装置である。この信号機検出装置１０は、図１に示されるように、演算装置２０、撮影装置３１、及び速度計測装置３２を有している。
【００２４】
撮影装置３１は、被写体を撮影することにより取得した画像を、電気信号に変換して出力する装置である。撮影装置３１は、例えば図２に示されるように、車両１００のフロントウインド上部に取り付けられている。この撮影装置３１は、車両１００の前方を撮影する。そして、撮影により取得した画像に関する情報を演算装置２０へ出力する。
【００２５】
図３は、撮影装置３１によって撮影された画像ＰＨの一例を示す図である。図３を参照するとわかるように、画像ＰＨには、車両１００が走行する道路や、この道路の上方に位置する信号機７０等が写っている。画像ＰＨを参照するとわかるように、撮影装置３１は、その視野内に、車両１００が走行する道路や信号機等が位置するように、視野角や倍率などが調整されている。そして、撮影装置３１は、車両１００の進行方向を順次撮影し、撮影によって得られた画像に関する情報を出力する。
【００２６】
図１に戻り、速度計測装置３２は、車両１００の速度を計測する装置である。この速度計測装置３２は、例えばエンジンのアウトプットシャフトの回転数を計測する。そして、計測した回転数に応じた速度信号を、演算装置２０へ出力する。
【００２７】
演算装置２０は、ＣＰＵ（Central Processing Unit）２１、主記憶部２２、補助記憶部２３、表示部２４、入力部２５、及びインターフェイス部２６を有するコンピュータである。
【００２８】
ＣＰＵ２１は、補助記憶部２３に記憶されているプログラムに従って、車両１００の前方に存在する信号機７０の状態を検出する。ＣＰＵ２１の具体的な動作については後述する。
【００２９】
主記憶部２２は、ＲＡＭ（Random Access Memory）等を有している。主記憶部２２は、ＣＰＵ２１の作業領域として用いられる。
【００３０】
補助記憶部２３は、ＲＯＭ（Read Only Memory）、磁気ディスク、半導体メモリ等の不揮発性メモリを有している。補助記憶部２３は、ＣＰＵ２１が実行するプログラム、及び各種パラメータなどを記憶している。また、撮影装置３１から出力される画像に関する情報、及びＣＰＵ２１による処理結果などを含む情報を順次記憶する。
【００３１】
表示部２４は、ＬＣＤ（Liquid Crystal Display）などの表示ユニットを有している。表示部２４は、ＣＰＵ２１の処理結果等を表示する。
【００３２】
入力部２５は、入力キーや、タッチパネル等のポインティングデバイスを有している。オペレータの指示は、入力部２５を介して入力され、システムバス２７を経由してＣＰＵ２１に通知される。
【００３３】
インターフェイス部２６は、シリアルインターフェイスまたはＬＡＮ（Local Area Network）インターフェイス等を含んで構成されている。撮影装置３１及び速度計測装置３２は、インターフェイス部２６を介してシステムバス２７に接続される。
【００３４】
図４のフローチャートは、ＣＰＵ２１によって実行されるプログラムの一連の処理アルゴリズムに対応している。以下、図４を参照しつつ、信号機検出装置１０の動作について説明する。また、ここでは図３を参照するとわかるように、撮影装置３１の視野内に位置する信号機７０を検出する場合について説明する。
【００３５】
まず、最初のステップＳ１０１では、ＣＰＵ２１は、撮影装置３１から順次出力され、補助記憶部２３に順次記憶される画像情報から、最新の画像ＰＨに関する情報（画像情報）を取得する。ここでは説明の便宜上、図３に示される画像ＰＨに関する画像情報が取得されたものとする。
【００３６】
次のステップＳ１０２では、ＣＰＵ２１は、車両１００が停止しているか否かを判断する。ＣＰＵ２１は、速度計測装置３２から出力される信号に基づいて、車両１００の速度をモニタし、車両１００の速度が閾値以下である場合には、車両１００が停止していると判断する（ステップＳ１０２：Ｙｅｓ）。一方、ＣＰＵ２１は、車両１００の速度が閾値より大きい場合には、車両１００が走行していると判断する（ステップＳ１０２：Ｎｏ）。ステップＳ１０２での判断が否定された場合には（ステップＳ１０２：Ｎｏ）、ＣＰＵ２１は、ステップＳ１０３へ移行する。
【００３７】
ステップＳ１０３では、ＣＰＵ２１は、画像ＰＨから信号機７０の信号灯を検出するための閾値Ｖ１を設定する。この閾値Ｖ１は、後述するステップＳ１０７で円形度の評価を行うときに用いられるものである。
【００３８】
次のステップＳ１０４では、ＣＰＵ２１は、画像ＰＨに検出処理領域ＰＡを設定する。図５を参照するとわかるように、この検出処理領域ＰＡは、例えば路面から３ｍの高さの位置を示す３本の直線Ｌ１，Ｌ２，Ｌ３によって規定される画像ＰＨ上部の領域である。ただし、直線Ｌ３は、信号機７０を検出する領域が限定される場合に規定される。
【００３９】
この検出処理領域ＰＡは、撮影装置３１を構成する光学系の焦点距離、画角などに基づいて決定することができる。信号機７０は、通常地上から５ｍの位置に設置される。このため、信号機７０の検出処理を、この検出処理領域ＰＡのみについて行うことで、信号機７０の検出精度を確保しつつ、短時間に検出処理を完了させることができる。
【００４０】
次のステップＳ１０５では、ＣＰＵ２１は、画像ＰＨから赤色画素を抽出する。赤の色相は０度近傍と３６０度近傍である。そこで、ＣＰＵ２１は、まず画像ＰＨから色相が０度近傍と３６０度近傍の画素を抽出することで、画像ＰＨから色相が赤の画素を抽出する。次に、抽出した画素から、輝度が所定の値以上の画素を抽出する。これにより、画像ＰＨから、輝度が比較的高い赤色画素が抽出される。
【００４１】
次のステップＳ１０６では、ＣＰＵ２１は、抽出した画素のラベリングを行う。これにより、隣接する画素同士に共通の属性が割り当てられ、これら集合した画素を１つの集合として取り扱うことが可能となる。例えば画像ＰＨに、信号機の他に、ネオンサインや自動車のテールランプなど、信号機７０の信号灯以外の赤色発光体が写りこんでいる場合には、ステップＳ１０６の処理が実行されることで、赤色信号灯を構成する画素の集合と、赤色発光体を構成する画素の集合とが規定される。
【００４２】
次のステップＳ１０７では、ＣＰＵ２１は、ステップＳ１０６で規定された画素の集合からなる部分画像を、点灯する赤色信号灯の候補画像として抽出する。具体的には、ＣＰＵ２１は、画素の集合からなる部分画像の輪郭の円形度を示すスコアを、例えばＨｏｕｇｈ変換や、ＲＡＮＳＡＣなどのアルゴリズムを用いて、部分画像ごとに算出する。そして、スコアが最も高く、かつスコアがステップＳ１０３で設定された閾値Ｖ１以上となる部分画像を特定し、この部分画像を候補画像として抽出する。
【００４３】
次のステップＳ１０８では、ＣＰＵ２１は、候補画像に対応する対象物の地表からの高ｈさを推定する。図６は、撮影装置３１の焦点ＦＣと、画像ＰＨから検出される無限遠点Ｐ０と、画像ＰＨが撮影された時刻における焦点ＦＣに対する対象物の位置を示す円形のマーク７００と、撮影装置３１の像面を示す直線Ｌ４との位置関係を模式的に示す図である。この図６を参照するとわかるように、候補画像に対応する対象物は、マーク７００及び焦点ＦＣを通る直線Ｌ５と直線Ｌ４との交点Ｐに対応する画像ＰＨ上の点近傍に写り込む。そして、撮影装置３１を構成する光学系の焦点距離をｆとし、無限遠点Ｐ０を基準にしたときの画像ＰＨにおける対象物（候補画像に対応する被写体）の高さをｈｓ（ｐｉｘｅｌ）とし、車両１００から対象物までの距離をｚｅとし、δｖを画素の配列間隔とすると、対象物の実際の高さｈ（ｍ）は、次式（１）で示される。
【００４４】
【数１】
2012098967.tif 000003
【００４５】
そこで、ＣＰＵ２１は、まず、車両１００から対象物までの距離ｚｅを推定する。図７には、画像に写る信号機７０の信号灯の直径と、車両１００から信号機７０までの実際の距離との関係を示す曲線Ｓが示されている。この曲線Ｓは、信号灯の直径をｘ、車両１００から信号機７０までの距離をｙとしたときに、関数ｙ＝ｆ（ｘ）で示される。ＣＰＵ２１は、候補画像の直径を計測し、計測して得られた値を、上記関数のｘに代入することで、車両１００から候補画像までの距離ｚｅを算出する。
【００４６】
そして、算出した距離ｚｅと、既知の焦点距離ｆ及び画素の配列間隔δｖと、無限遠点Ｐ０を基準にしたときの画像ＰＨにおける対象物の高さをｈｓ（ｐｉｘｅｌ）とを上記（１）へ代入することにより、対象物の高さｈを求める。
【００４７】
図４に戻り、次のステップＳ１０９では、ＣＰＵ２１は、候補画像が点灯する赤色信号灯の画像であるか否かを判断する。例えば、ステップＳ１０８で推定された対象物の高さｈと、信号機が設置される高さ（例えば５ｍ）との差が、所定の閾値以内である場合には、ＣＰＵ２１は、候補画像が点灯する赤色信号灯の画像であると判断し（ステップＳ１０９：Ｙｅｓ）、ステップＳ１１０へ移行する。
【００４８】
ステップＳ１１０では、ＣＰＵ２１は、消灯する信号灯の画像が存在すると考えられる領域（以下、消灯信号灯候補領域という）の検証を行う。
【００４９】
図８は、信号機７０を構成する赤色信号灯７１、黄色信号灯７２、及び青色信号灯７３を示す図である。信号機は所定の規定に基づいて製作される。このため各信号灯の間隔と信号灯の直径との関係には、信号の製作メーカーの相違にかかわらず一定の相関がある。このため、中心が赤色信号灯７１の中心と一致し、直径が、赤色信号灯７１の直径よりわずかに大きい円形領域７１ａを想定した場合、円形領域７１ａの中心からａ・Ｄｒ隔てた位置に黄色信号灯７２が位置する。そして、円形領域７１ａの中心から２ａ・Ｄｒ隔てた位置に青色信号灯７３が位置する。なお、Ｄｒは、円形領域７１ａの直径であり、ａは１より大きい定数である。また、直径Ｄｒと、１未満の定数ｂを用いて、黄色信号灯７２及び青色信号灯７３の直径はｂ・Ｄｒと表すことができる。
【００５０】
そこで、ＣＰＵ２１は、ステップＳ１０７で抽出された赤色信号灯の候補画像の直径をｄｒとし、候補画像から左方向へａ・ｄｒ隔てた位置に、直径がｂ・ｄｒの黄色消灯信号灯候補領域を設定する。また、候補画像から左方向へ２ａ・ｄｒ隔てた位置に、直径がｂ・ｄｒの青色消灯信号灯候補領域を設定する。
【００５１】
ここで、定数ｂは１未満であるため、消灯信号灯候補領域の直径ｂ・ｄｒは、候補画像の直径よりも小さくなる。発光体が被写体となった場合には、この被写体の画像が画像ＰＨ上では滲んだ状態となる。この滲みぶんの誤差を解消するため、本実施形態では、図８を参照するとわかるように、直径が、赤色信号灯７１の直径よりもわずかに大きな円形領域７１ａを規定している。
【００５２】
ＣＰＵ２１は、画像ＰＨに２つの消灯信号灯候補領域を設定すると、この消灯信号灯候補領域の色相、彩度、輝度が、消灯した信号灯の画像の色相、彩度、輝度に相当するかどうかを検証する。
【００５３】
図４に戻り、次のステップＳ１１１では、ＣＰＵ２１は、ステップＳ１１０での検証結果に基づいて、消灯信号灯候補領域の画素が、消灯した黄色信号灯７２及び消灯した青色信号灯７３の画像を構成するか否かを判断する。そして、消灯信号灯候補領域の画素が、消灯した黄色信号灯７２、及び消灯した青色信号灯７３の画像を構成すると判断した場合には、赤色信号灯７１の側方には、消灯した黄色信号灯７２及び青色信号灯７３が位置すると判断する（ステップＳ１１１：Ｙｅｓ）。これにより、候補画像が赤色信号灯の画像であると断定される。
【００５４】
次のステップＳ１１２では、画像ＰＨに写る候補画像の位置に基づいて、車両１００から赤色信号灯までの距離ｚｅを推定する。図９は、撮影装置３１の焦点ＦＣと、画像ＰＨ１，ＰＨ２から検出された無限遠点Ｐ０と、画像ＰＨ１が撮影された時刻における焦点ＦＣに対する赤色信号灯の位置を示す円形のマーク７００１と、画像ＰＨ２が撮影された時刻における焦点ＦＣに対する赤色信号灯の位置を示す円形のマーク７００２と、撮影装置３１の像面を示す直線Ｌ４との位置関係を模式的に示す図である。
【００５５】
図９を参照するとわかるように、画像ＰＨ１では、赤色信号灯は、マーク７００１及び焦点ＦＣを通る直線Ｌ６と直線Ｌ４との交点Ｐ１に対応する画像ＰＨ１上の点近傍に写り込む。また、画像ＰＨ２では、赤色信号灯は、マーク７００２及び焦点ＦＣを通る直線Ｌ７と直線Ｌ４との交点Ｐ２に対応する画像ＰＨ２上の点近傍に写り込む。
【００５６】
例えば、画像ＰＨ１が撮影された時刻から画像ＰＨ２が撮影された時刻までの時間をΔｔ（ｓｅｃ）とし、車両１００の速度をＶ（ｍ／ｓｅｃ）とし、撮影装置３１を構成する光学系の焦点距離をｆとし、無限遠点Ｐ０を基準にしたときの画像ＰＨ１における対象物の高さをｈｓ１（ｐｉｘｅｌ）とし、無限遠点Ｐ０を基準にしたときの画像ＰＨ２における対象物の高さをｈｓ２（ｐｉｘｅｌ）とし、路側物の実際の高さをｈ（ｍ）とし、スケールファクタ（Ｓｖ）をｆ／δｖとすると、次式（２）及び（３）が成立し、式（２）及び式（３）から、車両１００から対象物までの推定距離ｚｅ（ｍ）を示す次式（４）が導かれる。
【００５７】
【数２】
2012098967.tif 000004
【数３】
2012098967.tif 000005
【数４】
2012098967.tif 000006
【００５８】
そこで、ＣＰＵ２１は、画像ＰＨ１に写る赤色信号灯の高さｈｓ１と，画像ＰＨ２に写る赤色信号灯の高さｈｓ２とを求めるとともに、画像ＰＨ１が撮影された時刻から画像ＰＨ２が撮影された時刻までの時間Δｔを算出する。そして、画像に写る赤色信号灯の高さｈｓ１，ｈｓ２と、時間Δｔと、速度計測装置３２を介して計測した車両１００の速度Ｖとを上記式（４）へ代入し、対象物までの推定距離ｚｅを算出する。
【００５９】
なお、画像中の無限遠点は、例えば画像に写る道路と路側とを区分する白線や、走行車線と対抗斜線とを区分する白線のエッジが収束する点を特定し、特定した点を無限遠点とすることで規定される。しかしながら、道路が蛇行している場合や、道路の状況等によっては、白線等のエッジが収束する無限遠点を特定することができなくなることがある。この場合は、赤色信号灯が写る１組の画像ＰＨ１，ＰＨ２を用いて、車両１００から赤色信号灯までの推定距離ｚｅを算出することができる。
【００６０】
例えば、画像ＰＨ１が撮影された時刻から画像ＰＨ２が撮影された時刻までの時間をΔｔ（ｓｅｃ）とし、車両１００の速度をＶ（ｍ／ｓｅｃ）とし、画像ＰＨ１における赤色信号灯の幅をＷ１（ｐｉｘｅｌ）とし、画像ＰＨ２における赤色信号灯の幅をＷ２（ｐｉｘｅｌ）とすると、車両１００から赤色信号灯までの推定距離ｚｅ（ｍ）は、次式（５）によって表される。
【００６１】
【数５】
2012098967.tif 000007
【００６２】
そこで、ＣＰＵ２１は、画像ＰＨ１に写る赤色信号灯の幅Ｗ１と、画像ＰＨ２に写る赤色信号灯の幅Ｗ２とを求め、画像ＰＨ１が撮影された時刻から画像ＰＨ２が撮影された時刻までの時間Δを算出する。そして、画像に写る赤色信号灯の幅Ｗ１，Ｗ２と、時間Δｔと、速度計測装置３２を介して計測した車両１００の速度Ｖとを上記式（５）へ代入し、赤色信号灯までの推定距離ｚｅを算出する。
【００６３】
また、画像ＰＨ１或いは画像ＰＨ２のいずれか一方にしか赤色信号灯が写っていない場合には、ＣＰＵ２１は、上述したステップＳ１０８での処理と同様に、まず、画像に写る赤色信号灯の直径を計測する。次に、計測して得られた値を、図７に示される曲線を規定する関数（ｙ＝ｆ（ｘ））のｘに代入して、車両１００から赤色信号灯までの距離ｚｅを算出する。
【００６４】
図４に戻り、次のステップＳ１１３では、車両１００の速度と、赤色信号灯までの距離に基づいて、車両１００が交差点へ進入する危険があるか否かを判断する。この判断は、例えば距離ｚｅと、車両１００の速度Ｖ（ｍ／ｓｅｃ）と時間Ｔ（ｓｅｃ）との積（Ｖ・Ｔ）とを比較することにより行う。なお、時間Ｔは、例えば３秒程度である。
【００６５】
ＣＰＵ２１は、距離ｚｅが、速度Ｖと時間Ｔとの積（Ｖ・Ｔ）よりも小さい場合に、車両１００が交差点に進入する危険があると判断し（ステップＳ１１３：Ｙｅｓ）、次のステップＳ１１４へ移行する。
【００６６】
ステップＳ１１４では、ＣＰＵ２１は、前方に赤色信号灯が点灯している信号機が存在することを通知するための警報を発する。この警報は、例えば表示部２４にテキストを表示したり、外部に警告音又は信号を発すること等が考えられる。
【００６７】
ＣＰＵ２１は、ステップＳ１１１，Ｓ１１３での判断が否定された場合、或いはステップＳ１１４での処理が完了した場合に、ステップＳ１１５へ移行し、探索モードを１に設定する。なお、探索モード１は、点灯する赤色信号灯を探索するためのモードである。
【００６８】
次のステップＳ１１６では、ＣＰＵ２１は、これまでの処理結果を、補助記憶部２３へ記憶する。ステップＳ１１６での処理が完了すると、ＣＰＵ２１は、ステップＳ１０１へ戻り、以降、ステップＳ１０２での判断が肯定されるまで、ステップＳ１０１〜ステップＳ１１６までの処理を繰り返し実行する。そして、ステップＳ１０２での判断が肯定された場合には、ＣＰＵ２１は、ステップＳ１１７へ移行する。
【００６９】
ステップＳ１１７では、ＣＰＵ２１は、画像ＰＨから信号機７０の信号灯を検出するための閾値Ｖ２を設定する。この閾値Ｖ２は、後述するステップＳ１２２で円形度の評価を行うときに用いられるものである。また、この閾値Ｖ２は、ステップＳ１０３で設定される閾値Ｖ１よりも小さい。
【００７０】
次のステップＳ１１８では、ＣＰＵ２１は、探索モードを確認する。探索モードが１であると判断された場合には、ＣＰＵ２１は、ステップＳ１１９へ移行する。
【００７１】
ステップＳ１１９では、ＣＰＵ２１は、画像ＰＨに検出処理領域ＰＡを設定する。
【００７２】
次のステップＳ１２０では、ＣＰＵ２１は、画像ＰＨから赤色画素を抽出する。具体的には、ＣＰＵ２１は、まず画像ＰＨから色相が０度近傍と３６０度近傍の画素を抽出することで、画像ＰＨから色相が赤の画素を抽出する。次に、抽出した画素から、輝度が所定の値以上の画素を抽出する。これにより、画像ＰＨから、輝度が比較的高い赤色画素が抽出される。
【００７３】
次のステップＳ１２１では、ＣＰＵ２１は、抽出した画素のラベリングを行う。これにより、隣接する画素同士に共通の属性が割り当てられ、これら集合した画素を１つの集合として取り扱うことが可能となる。
【００７４】
次のステップＳ１２２では、ＣＰＵ２１は、ステップＳ１２１で規定された画素の集合からなる部分画像を、点灯する赤色信号灯の候補画像として抽出する。具体的には、ＣＰＵ２１は、部分画像の輪郭の円形度を示すスコアを、例えばＨｏｕｇｈ変換や、ＲＡＮＳＡＣなどのアルゴリズムを用いて、部分画像ごとに算出する。そして、スコアが最も高く、かつスコアがステップＳ１１７で設定された閾値Ｖ２以上となる部分画像を特定し、この部分画像を候補画像として抽出する。
【００７５】
次のステップＳ１２３では、ＣＰＵ２１は、候補画像に対応する対象物の地表からの高さｈを、上記式（１）を用いて推定する。
【００７６】
次のステップＳ１２４では、ＣＰＵ２１は、候補画像が点灯する赤色信号灯の画像であるか否かを判断する。例えば、ステップＳ１２３で推定された対象物の高さｈと、信号機が設置される高さとの差が、閾値以上である場合には（ステップＳ１２４：Ｎｏ）、ＣＰＵ２１は、ステップＳ１１６へ移行する。一方、対象物の高さｈと、信号機が設置される高さとの差が、閾値以下である場合には、ＣＰＵ２１は、候補画像が点灯する赤色信号灯の画像であると判断し（ステップＳ１２４：Ｙｅｓ）、ステップＳ１２５へ移行する。
【００７７】
ステップＳ１２５では、ＣＰＵ２１は、消灯信号灯候補領域の検証を行う。
【００７８】
次のステップＳ１２６では、ＣＰＵ２１は、ステップＳ１２５での検証結果に基づいて、消灯信号灯候補領域の画素が、消灯した黄色信号灯７２及び消灯した青色信号灯７３の画像を構成するか否かを判断する。そして、消灯信号灯候補領域の画素が、消灯した黄色信号灯７２、又は消灯した青色信号灯７３の画像を構成しないと判断した場合には、赤色信号灯７１の側方には、消灯した黄色信号灯７２及び青色信号灯７３が位置しないと判断し（ステップＳ１２６：Ｎｏ）、ＣＰＵ２１は、ステップＳ１１６へ移行する。
【００７９】
一方、消灯信号灯候補領域の画素が、消灯した黄色信号灯７２、及び消灯した青色信号灯７３の画像を構成すると判断した場合には、赤色信号灯７１の側方には、消灯した黄色信号灯７２及び青色信号灯７３が位置すると判断する（ステップＳ１２６：Ｙｅｓ）。これにより、候補画像が赤色信号灯の画像であると断定される。
【００８０】
次のステップＳ１２７では、ＣＰＵ２１は、探索モードを２に設定し、ステップＳ１１６へ移行する。なお、探索モード２は、消灯した赤色信号灯を探索するためのモードである。
【００８１】
ステップＳ１１８において、探索モードが２であると判断された場合には、ＣＰＵ２１は、ステップＳ１２８へ移行する。
【００８２】
ステップＳ１２８では、ＣＰＵ２１は、赤色信号灯探索領域を設定する。具体的には、ＣＰＵ２１は、ステップＳ１２２で抽出された候補画像と重複する領域を、赤色信号灯探索領域に設定する。
【００８３】
次のステップＳ１２９では、ＣＰＵ２１は、赤色信号灯探索領域から赤色画素を抽出する。具体的には、ＣＰＵ２１は、赤色信号灯探索領域から色相が０度近傍と３６０度近傍の画素を抽出することで、赤色信号灯探索領域から色相が赤の画素を抽出する。次に、抽出した画素から、輝度が所定の値以上の画素を抽出する。これにより、赤色信号灯探索領域から、輝度が比較的高い赤色画素が抽出される。
【００８４】
次のステップＳ１３０では、ＣＰＵ２１は、抽出した画素のラベリングを行う。これにより、隣接する画素同士に共通の属性が割り当てられ、これら集合した画素を１つの集合として取り扱うことが可能となる。
【００８５】
次のステップＳ１３１では、ＣＰＵ２１は、ステップＳ１３０で規定された画素の集合からなる部分画像を、点灯する赤色信号灯の候補画像として抽出する。
【００８６】
次のステップＳ１３２では、ＣＰＵ２１は、抽出した候補画像に基づいて、赤色信号灯が点灯しているか否かを判断する。例えば、赤色信号灯が点灯している場合には、候補画像の大きさが赤色信号灯探索領域の大きさとほぼ等しくなり、円形度を示すスコアも、ある程度大きくなる。一方、赤色信号灯が消灯している場合には、一般に候補画像の大きさが赤色探索領域の大きさよりも小さくなり、円形度を示すスコアも小さくなる。そこで、ＣＰＵ２１は、候補画像の大きさ及び円形度に基づいて、赤色信号灯が点灯しているか否かを判断する。ＣＰＵ２１は、赤色信号灯が点灯していると判断した場合には（ステップＳ１３２：Ｙｅｓ）、ステップＳ１１６へ移行する。一方、ＣＰＵ２１は、赤色信号灯が点灯していないと判断した場合には、（ステップＳ１３２：Ｎｏ）、ステップＳ１３３に移行する。
【００８７】
ステップＳ１３３では、ＣＰＵ２１は、探索モードを３に設定し、ステップＳ１１６へ移行する。なお、探索モード３は、青色信号灯を探索するためのモードである。
【００８８】
ステップＳ１１８において、探索モードが３であると判断された場合には、ＣＰＵ２１は、ステップＳ１３４へ移行する。
【００８９】
ステップＳ１３４では、ＣＰＵ２１は、青色信号灯探索領域を設定する。具体的には、ＣＰＵ２１は、ステップＳ１１０で設定した青色消灯信号灯候補領域と重複する領域を、青色信号灯探索領域に設定する。
【００９０】
次のステップＳ１３５では、ＣＰＵ２１は、青色信号灯探索領域から青色画素を抽出する。具体的には、ＣＰＵ２１は、青色信号灯探索領域から色相が２４０度近傍の画素を抽出することで、青色信号灯探索領域から色相が青の画素を抽出する。次に、抽出した画素から、輝度が所定の値以上の画素を抽出する。これにより、青色信号灯探索領域から、輝度が比較的高い青色画素が抽出される。
【００９１】
次のステップＳ１３６では、ＣＰＵ２１は、抽出した画素のラベリングを行う。これにより、隣接する画素同士に共通の属性が割り当てられ、これら集合した画素を１つの集合として取り扱うことが可能となる。
【００９２】
次のステップＳ１３７では、ＣＰＵ２１は、ステップＳ１３６で規定された画素の集合からなる部分画像を、点灯する青色信号灯の候補画像として抽出する。
【００９３】
次のステップＳ１３８では、ＣＰＵ２１は、抽出した候補画像に基づいて、青色信号灯が点灯しているか否かを判断する。例えば、青色信号灯が点灯している場合には、候補画像の大きさが青色信号灯探索領域の大きさとほぼ等しくなり、円形度を示すスコアも、ある程度大きくなる。一方、青色信号灯が消灯している場合には、一般に候補画像の大きさが青色探索領域の大きさよりも小さくなり、円形度を示すスコアも小さくなる。そこで、ＣＰＵ２１は、候補画像の大きさ及び円形度に基づいて、青色信号灯が点灯しているか否かを判断する。ＣＰＵ２１は、青色信号灯が点灯していないと判断した場合には（ステップＳ１３８：Ｎｏ）、ステップＳ１１６へ移行する。一方、ＣＰＵ２１は、青色信号灯が点灯していると判断した合には（ステップＳ１３８：Ｙｅｓ）、ステップＳ１３９へ移行する。
【００９４】
次のステップＳ１３９では、ＣＰＵ２１は、ステップＳ１３８での肯定的な判断が、初めてなされたものであるか否かを判断する。ステップＳ１３８で肯定的な判断がなされたのが初めてでない場合には、ＣＰＵ２１は、ステップＳ１１６へ移行する。一方、ステップＳ１３８で肯定的な判断がなされたのが初めてである場合には、ＣＰＵ２１は、ステップＳ１４０へ移行する。
【００９５】
ステップＳ１４０では、ＣＰＵ２１は、信号機の青色信号灯が点灯したことを報知する。この報知は、例えば、例えば表示部２４にテキストを表示したり、外部に報知音又は信号を発すること等が考えられる。
【００９６】
ステップＳ１４０での処理が完了すると、ＣＰＵ２１は、ステップＳ１１６で処理結果を、補助記憶部２３へ記憶する。そして、ＣＰＵ２１は、ステップＳ１０１へ戻り、以降ステップＳ１０１〜Ｓ１４９までの処理を繰り返し実行する。
【００９７】
以上説明したように、本実施形態では、点灯する赤色信号灯と考えられる候補画像が検出された際に（ステップＳ１０９：Ｙｅｓ）、消灯する黄色信号灯の画像、及び消灯する青色信号灯の画像が存在すると考えられる領域（消灯信号灯候補領域）の検証が行われる。そして、当該消灯信号灯候補領域に、消灯した黄色信号灯の画像、及び消灯した青色信号灯の画像が存在すると判断された場合に（ステップＳ１１１：Ｙｅｓ）、候補画像が赤色信号灯の画像であると断定される。このため、赤色信号灯の画像以外の画像が、赤色信号灯の候補画像として誤検出されたとしても、当該消灯信号灯候補領域に、消灯した黄色信号灯の画像、及び消灯した青色信号灯の画像が存在すると判断されなければ、誤検出された画像が赤色信号灯の画像であると断定されることがない。したがって、車両の前方に存在する信号機の信号灯が誤検出されることがなくなり、点灯する信号灯を正確に特定することが可能となる。
【００９８】
また、本実施形態では、車両が停車中に、点灯する赤色信号灯が検出された場合には（ステップＳ１２４：Ｙｅｓ）、赤色信号灯の消灯を検出するための処理が実行される（ステップＳ１２８〜ステップＳ１３２）。そして、赤色信号灯の消灯が検出された場合には、青色信号灯の点灯を検出するための処理が実行され（ステップＳ１３４〜ステップＳ１３８）、この処理で青色信号灯の点灯が確認された場合に、初めて青色信号灯が点灯したことが報知される（ステップＳ１４０）。すなわち、本実施形態では、赤色信号灯の消灯と、青色信号灯の点灯の双方が検出された場合に限り、青色信号灯が点灯したことが報知される。このため、青色信号灯に類似する発光体が画像ＰＨに写りこんでいたとしても、精度よく青色信号灯の点灯を報知することが可能となる。
【００９９】
上記実施形態では、図８に示されるように、信号機７０が、水平方向に配列された３つの信号灯７１〜７３を有している場合について説明した。本発明はこれに限定されるものではなく、図１０に示されるように、信号機７０が、鉛直方向に配列された３つの信号灯７１〜７３を有している場合にも、点灯する信号灯を正確に検出することができる。
【０１００】
この場合には、ステップＳ１１０等において、黄色消灯信号灯候補領域を、候補画像から下方向へａ・ｄｒ隔てた位置に設定し、青色消灯信号灯候補領域を、候補画像から下方向へ２ａ・ｄｒ隔てた位置に設定すればよい。
【０１０１】
上記実施形態では、最初に画像ＰＨから赤色画素を抽出し（ステップＳ１０５）、赤色信号灯の画像を特定することとした（ステップＳ１０９：Ｙｅｓ）。これに限らず、最初に画像ＰＨから青色画素を抽出して、青色信号灯の画像を特定し、この青色信号灯の画像に基づいて、点灯している信号灯を特定することとしてもよい。
【０１０２】
この場合には、図１１を参照するとわかるように、ステップＳ１１０等において、黄色消灯信号灯候補領域を、候補画像から右方向へａ・ｄｒ隔てた位置に設定し、赤色消灯信号灯候補領域を、候補画像から右方向へ２ａ・ｄｒ隔てた位置に設定すればよい。
【０１０３】
また、信号機７０が、鉛直方向に配列された３つの信号灯７１〜７３を有している場合には、図１２を参照するとわかるように、黄色消灯信号灯候補領域を、候補画像から上方向へａ・ｄｒ隔てた位置に設定し、赤色消灯信号灯候補領域を、候補画像から上方向へ２ａ・ｄｒ隔てた位置に設定すればよい。
【０１０４】
以上、本発明の実施形態について説明したが、本発明は上記実施形態によって限定されるものではない。
【０１０５】
例えば、上記実施形態では、ＣＰＵ２１が補助記憶部に記憶されたプログラムを実行することにより、図４に示される一連の処理が実行された。これに限らず、演算装置２０を、ハードウェアによって構成してもよい。
【０１０６】
また、演算装置２０の補助記憶部２３に記憶されているプログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk Read-Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magneto-Optical disk）等のコンピュータで読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の処理を実行する装置を構成することとしてもよい。
【０１０７】
また、プログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するようにしても良い。
【０１０８】
なお、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。
【産業上の利用可能性】
【０１０９】
本発明の信号機検出装置、信号機検出方法及びプログラムは、車両の前方に存在する信号機に関する情報を検出するのに適している。
【符号の説明】
【０１１０】
１０  信号機検出装置
２０  演算装置
２１  ＣＰＵ
２２  主記憶部
２３  補助記憶部
２４  表示部
２５  入力部
２６  インターフェイス部
２７  システムバス
３１  撮影装置
３２  速度計測装置
７０  信号機
７１  赤色信号灯
７１ａ  円形領域
７２  黄色信号灯
７２  青色信号灯
７３  青色信号灯
１００  車両
７００  マーク
ＦＣ  焦点
Ｐ  交点
Ｐ０  無限遠点
ＰＡ  検出処理領域
ＰＨ  画像
【図１】
2012098967.tif 000008
【図２】
2012098967.tif 000009
【図３】
2012098967.tif 000010
【図４】
2012098967.tif 000011
【図５】
2012098967.tif 000012
【図６】
2012098967.tif 000013
【図７】
2012098967.tif 000014
【図８】
2012098967.tif 000015
【図９】
2012098967.tif 000016
【図１０】
2012098967.tif 000017
【図１１】
2012098967.tif 000018
【図１２】
2012098967.tif 000019