(57)【要約】【課題】煩雑な処理を要することなく、精度良く信号機を認識することができる信号機認識装置等を提供する。【解決手段】画像内から信号機の第１点灯色を検出する第１色検出部と、画像内から信号機の第２点灯色を検出する第２色検出部と、第１時点で取得した第１画像における第１の領域に第１色検出部により第１点灯色が検出され、かつ、第１時点よりも後の第２時点で取得した第２画像における第２の領域であって第１の領域に対し第２画像上で特定の位置関係にある第２の領域において、第２色検出部により第２点灯色が検出された場合に、第１の領域および第２の領域に対応する位置の信号機を認識する信号機検出部と、を備える。【選択図】図１
2020194447.tif 000002
【特許請求の範囲】
【請求項１】
画像内から、信号機の第１灯火の第１点灯色を検出する第１色検出部と、
画像内から、前記信号機の第２灯火の第２点灯色を検出する第２色検出部と、
第１時点で取得した第１画像における第１の領域に前記第１色検出部により前記第１点灯色が検出され、かつ、前記第１時点よりも後の第２時点で取得した第２画像における第２の領域であって前記第１の領域に対し前記第２画像上で特定の位置関係にある第２の領域において、前記第２色検出部により前記第２点灯色が検出された場合に、前記第１の領域に基づいて、前記信号機を認識する信号機検出部と、を備える、信号機認識装置。
【請求項２】
前記信号機検出部は、前記第１画像における前記第１の領域に前記第１色検出部により前記第１点灯色が第１の検出態様で検出されるとともに、前記第２画像における前記第２の領域に前記第２色検出部により前記第２点灯色が第２の検出態様で検出され、かつ、所定条件が満たされた場合に、前記第１の領域および前記第２の領域に対応する位置の前記信号機を認識し、
前記所定条件は、前記第１画像における前記第２の領域に対応する領域において前記第２色検出部により前記第２点灯色が前記第２の検出態様に対応する検出態様で検出されない場合に満たされる第１条件を含む、請求項１に記載の信号機認識装置。
【請求項３】
前記信号機検出部は、前記第１画像における前記第１の領域に前記第１色検出部により前記第１点灯色が第１の検出態様で検出されるとともに、前記第２画像における前記第２の領域に前記第２色検出部により前記第２点灯色が第２の検出態様で検出され、かつ、所定条件が満たされた場合に、前記第１の領域および前記第２の領域に対応する位置の前記信号機を認識し、
前記所定条件は、前記第２画像における前記第１の領域に対応する領域において前記第１色検出部により前記第１点灯色が前記第１の検出態様に対応する検出態様で検出されない場合に満たされる第２条件を含む、請求項１に記載の信号機認識装置。
【請求項４】
前記所定条件は、前記第１時点よりも後であって前記第２時点よりも前の１つ以上の第３時点で取得した１つ以上の第３画像のそれぞれにおける前記第１の領域に対応する領域において、前記第１色検出部により前記第１点灯色が検出されるか否かに関連する第３条件を更に含む、請求項２又は請求項３に記載の信号機認識装置。
【請求項５】
前記第３条件は、前記１つ以上の第３画像のうちの、前記第１の領域に対応する領域において前記第１色検出部により前記第１点灯色が前記第１の検出態様に対応する検出態様で検出される特定の第３画像の個数、又は、前記１つ以上の第３画像のうちの、前記特定の第３画像の出現の時間的な連続性に基づいて判定される、請求項４に記載の信号機認識装置。
【請求項６】
前記第３条件は、前記特定の第３画像が第１所定回数連続して出現しない状態が発生することなく、前記特定の第３画像の個数が第１所定数以上になる場合に、満たされる、請求項５に記載の信号機認識装置。
【請求項７】
前記所定条件は、前記第３時点よりも後であって前記第２時点よりも前の１つ以上の第４時点で取得した１つ以上の第４画像のそれぞれにおける前記第２の領域に対応する領域において、前記第２色検出部により前記第２点灯色が前記第２の検出態様に対応する検出態様で検出され、かつ、前記１つ以上の第４画像のそれぞれにおける前記第１の領域に対応する領域において、前記第１色検出部により前記第１点灯色が前記第１の検出態様に対応する検出態様で検出されない場合に満たされる第４条件を更に含む、請求項４から請求項６のうちのいずれか１項に記載の信号機認識装置。
【請求項８】
前記所定条件は、前記第３画像のそれぞれにおける前記第２の領域に対応する領域において、前記第２色検出部により前記第２点灯色が検出されない場合に満たされる第５条件を更に含む、請求項７に記載の信号機認識装置。
【請求項９】
前記信号機検出部は、前記信号機を認識するとともに、前記第１点灯色に係る灯火の点灯状態から前記第２点灯色に係る灯火の点灯状態への遷移を検出する、請求項１から請求項８のうちのいずれか１項に記載の信号機認識装置。
【請求項１０】
前記特定の位置関係は、認識対象の信号機の形状情報に応じて決まる、請求項１から請求項９のうちのいずれか１項に記載の信号機認識装置。
【請求項１１】
第１時点で取得した第１画像における第１の領域において、信号機の第１灯火の第１点灯色を検出し、
前記第１時点よりも後の第２時点で取得した第２画像における第２の領域であって、前記第１の領域に対し前記第２画像上で特定の位置関係にある第２の領域において、前記信号機の第２灯火の第２点灯色を検出した場合に、前記第１の領域に基づいて、前記信号機を認識することを含み、コンピュータにより実行される信号機認識方法。
【請求項１２】
第１時点で取得した第１画像における第１の領域において、信号機の第１灯火の第１点灯色を検出し、
前記第１時点よりも後の第２時点で取得した第２画像における第２の領域であって、前記第１の領域に対し前記第２画像上で特定の位置関係にある第２の領域において、前記信号機の第２灯火の第２点灯色を検出した場合に、前記第１の領域に基づいて、前記信号機を認識する
処理をコンピュータに実行させる、信号機認識のためのプログラム。
【請求項１３】
画像内から、信号機の第１灯火の第１点灯色を検出する第１色検出部と、
画像内から、前記信号機の第２灯火の第２点灯色を検出する第２色検出部と、
複数時点で取得される画像に対する前記第１色検出部による検出結果と、同複数時点で取得される画像に対する前記第２色検出部による検出結果とに基づいて、信号機を認識する信号機検出部と、を備える、信号機認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像上の信号機を認識する信号機認識装置、信号機認識方法および信号機認識のためのプログラムに関する。
【背景技術】
【０００２】
自律移動ロボットなど、交通信号機を認識する必要がある様々な装置で信号機認識装置が使用されている。信号機認識装置は安定して信号機の灯火の色を認識する必要がある。例えば、信号機でないものを信号機と誤認することや、信号機の見落としを防止できる手法が要求される。そのため、従来の装置では、信号機の形状や見え方に基づいて画像内から信号機の特定の領域を抽出し、その領域の中の色の分布を調べることで灯火の色を認識している。例えば、特許文献１には、信号機の灯火の画像とテンプレート画像とを比較することで灯火の領域を抽出し、さらに抽出された灯火の領域の色を認識する信号機認識装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−００４２９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の信号機認識装置では、信号機の灯火の形状を学習させるプロセス、および学習で得たテンプレート画像と撮影された画像とを比較して信号機の有無を判定するプロセスが必要となり、処理が煩雑となる。
【０００５】
本発明は、煩雑な処理を要することなく、精度良く信号機を認識することができる信号機認識装置等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
１つの側面では、画像内から、信号機の第１灯火の第１点灯色を検出する第１色検出部と、
画像内から、前記信号機の第２灯火の第２点灯色を検出する第２色検出部と、
第１時点で取得した第１画像における第１の領域に前記第１色検出部により前記第１点灯色が検出され、かつ、前記第１時点よりも後の第２時点で取得した第２画像における第２の領域であって前記第１の領域に対し前記第２画像上で特定の位置関係にある第２の領域において、前記第２色検出部により前記第２点灯色が検出された場合に、前記第１の領域に基づいて、前記信号機を認識する信号機検出部と、を備える、信号機認識装置を提供する。
【発明の効果】
【０００７】
本発明によれば、煩雑な処理を要することなく、精度良く信号機を認識することができる。
【図面の簡単な説明】
【０００８】
【図１】信号機認識装置を用いた信号認識システムの構成ないし機能を示すブロック図である。
【図２】信号機情報登録部および位置関係登録部に記憶されるデータを示す図である。
【図３】信号機認識装置により実行される処理の一例を示す概略フローチャートである。
【図４】第１領域抽出処理の一例を示す概略フローチャートである。
【図５Ａ】状態遷移処理の一例を示す概略フローチャートである。
【図５Ｂ】状態遷移処理における状態更新処理の一例を示す概略フローチャートである。
【図６】信号機検出処理の一例を示す概略フローチャートである。
【図７】第２領域抽出処理の一例を示す概略フローチャートである。
【図８Ａ】領域指定部の動作を示す図である。
【図８Ｂ】赤灯火の候補領域登録部に記憶された赤灯火の候補領域を示す図である。
【図８Ｃ】赤判定領域及び青灯火の候補領域の各位置を示す図である。
【図９】履歴登録部に登録される検出結果履歴を例示する図である。
【図１０】各赤灯火の候補領域の状態遷移を示す状態遷移図である。
【図１１】信号機認識装置のハードウェア構成の一例を示す図である。
【図１２Ａ】信号機の灯火の位置関係を示す図である。
【図１２Ｂ】撮像画像内における灯火を示す図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら各実施例について詳細に説明する。
【００１０】
図１は信号機認識装置を用いた信号認識システムの構成ないし機能を示すブロック図である。
信号認識システム１の用途は限定されないが、例えば、移動体としての自立歩行装置あるいは自律移動ロボットなどに備えられ、信号認識システム１から出力される情報が移動体の移動の制御に使用される。以下では、一例として、信号認識システム１は、移動体に適用されるものとする。
【００１１】
図１に示すように、信号認識システム１は、信号機認識装置２と、カメラ１０（撮像手段）と、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）受信機１１とを含む。
【００１２】
信号機認識装置２は、マイクロコンピュータ等から形成されてよい。信号機認識装置２は、カメラ１０の撮像画像に基づく情報処理を実行する。
【００１３】
カメラ１０は、移動体に搭載され、移動体の進行方向前方の風景を撮像する。カメラ１０は、信号機の像を捕捉できるように移動体に搭載される。なお、カメラ１０の画角等は固定であってもよいし、可変であってよい。
【００１４】
ＧＰＳ受信機１１は、移動体の位置情報を取得する。
【００１５】
図１に示す信号認識システム１では、例えば、カメラ１０は移動体の周囲を撮影し、信号機認識装置２はカメラ１０の撮像画像に基づく情報処理を実行する。移動体に信号機認識装置２の認識結果に基づいて移動動作（走行）を制御する動作制御部３を設けてもよい。例えば、動作制御部３は、地図を参照して移動体が信号機に近づいた場合に所定の位置に移動体を停止させるとともに、移動体がこの所定の位置に停止した状態で処理開始指示を出力する。この場合、処理開始指示を受けた信号機認識装置２が信号機の認識処理を開始してもよい。
【００１６】
なお、信号認識システム１を構成するカメラ１０と信号機認識装置２とを何らかの通信経路を介して接続し、互いに離れた位置で動作させることもできる。例えば、カメラ１０を移動体に取り付ける場合、移動体に信号機認識装置２を載せる必要がなくなり、外部のサーバ等により信号機認識装置２を構成することが可能となる。あるいは、信号機認識装置２は、移動体に搭載される情報処理装置と、サーバとにより協働して実現されてもよい。
【００１７】
信号機認識装置２は、色検出部２０と、領域抽出部２１と、信号機検出部２３と、出力部２４、領域指定部２５と、信号機情報登録部３１と、灯火色登録部３２と、位置関係登録部３３と、候補領域登録部３４と、履歴登録部３５とを備える。なお、信号機認識装置２の各部は、例えば、コンピュータプログラムに従って動作するコンピュータの機能、あるいはＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などのプロセッサで実行されるプログラムモジュールとして実現されてよい。
【００１８】
色検出部２０は、カメラ１０により取得された撮像画像を処理することで、各種の色を検出する。
【００１９】
本実施例では、色検出部２０は、赤色検出部２０１（第１色検出部の例）と、青色検出部２０２（第２色検出部の例）と、赤灯火候補検出部２０３と、青灯火候補検出部２０４とを含む。
【００２０】
赤色検出部２０１は、認識対象の信号機の赤灯火（第１灯火の一例）に係る赤灯火色に対応した赤色（第１点灯色の例）を検出する赤色検出処理を行う。具体的には、赤色検出部２０１は、撮像画像内の一の画素ごとに、灯火色登録部３２に記憶された灯火色情報に基づいて、赤灯火色に対応した赤色を検出する。例えば、灯火色情報は、赤灯火色に対応した赤色に対応するＲＧＢ値の範囲（閾値）であってよい。なお、ＲＧＢ値に代えて色相、明度、彩度の組み合わせなどを用いてもよく、輝度等の他のパラメータを利用することもできる。赤灯火色に対応した赤色を示す色の範囲は、信号機の種類または個体差による色のばらつきや日照条件による色の変化などを考慮し、赤灯火を確実に検出できるよう定められることが望ましい。なお、例えば、カメラ１０の撮像画像に基づき判定される周囲の明るさに応じて、赤灯火色に対応した赤色の範囲を示すパラメータの閾値を変更してもよい。以下では、撮像画像の各画素のうちの、赤色検出部２０１により、赤灯火色に対応した赤色が検出される画素を、「赤画素」とも称する。
【００２１】
青色検出部２０２は、認識対象の信号機の青灯火（第２灯火の一例）に係る青灯火色に対応した青色（第２点灯色の例）を検出する青色検出処理を行う。具体的には、青色検出部２０２は、撮像画像内の一の画素ごとに、灯火色登録部３２に記憶された灯火色情報に基づいて、青灯火色に対応した青色を検出する。例えば、灯火色情報は、青灯火色に対応した青色に対応するＲＧＢ値の範囲（閾値）であってよい。なお、ＲＧＢ値に代えて色相、明度、彩度の組み合わせなどを用いてもよく、輝度等の他のパラメータを利用することもできる。青灯火色に対応した青色を示す色の範囲は、信号機の種類または個体差による色のばらつきや日照条件による色の変化などを考慮し、青灯火を確実に検出できるよう定められることが望ましい。なお、例えば、カメラ１０の撮像画像に基づき判定される周囲の明るさに応じて、青灯火色に対応した青色の範囲を示すパラメータの閾値を変更してもよい。以下では、撮像画像の各画素のうちの、青色検出部２０２により、青灯火色に対応した青色が検出される画素を、「青画素」とも称する。
【００２２】
領域抽出部２１は、色検出部２０の赤色検出部２０１の検出結果に基づいて、認識対象の信号機の赤灯火に係る画素領域に対する候補領域（以下、単に「赤灯火の候補領域」とも称する）を抽出する領域抽出処理を実行する。具体的には、領域抽出部２１は、撮像画像内の特定サイズの画素領域（第１領域の例）内において、赤色検出部２０１により所定の第１検出態様（第１の検出態様の例）で検出された場合に、当該画素領域を、候補領域として抽出する。
【００２３】
特定サイズの画素領域は、赤灯火の画素領域をカバーできるサイズおよび形状の領域であり、移動体と認識対象の信号機との間の位置関係に応じて可変とされてもよい。ここでは、一例として、特定サイズの画素領域は、矩形（正方形）であるとし、全画素数がＮ個であるとする。なお、この場合、Ｎは、一定値であってもよいし、移動体と認識対象の信号機との間の位置関係に応じて可変とされてもよい。可変の場合、機械学習等により学習されてもよい。
【００２４】
所定の第１検出態様は、特定サイズの画素領域のうちの、赤画素の数や、赤画素が占める割合、赤画素の分布の仕方等に関連してよい。本実施例では、一例として、所定の第１検出態様とは、特定サイズの画素領域において赤画素が所定画素数Ｎ１以上存在する態様である。すなわち、本実施例では、一例として、領域抽出部２１は、特定サイズの画素領域において赤画素が所定画素数Ｎ１以上存在する場合に、当該特定サイズの画素領域を候補領域として抽出する。なお、所定画素数Ｎ１は、特定サイズの画素領域の全体の画素数Ｎ以下の適合値である。ここでは、一例として、所定画素数Ｎ１は、Ｎ×０．８であるとする。
【００２５】
赤灯火候補検出部２０３は、領域抽出部２１が上述のように赤灯火の候補領域を抽出すると、その後に取得される撮像画像における当該赤灯火の候補領域に対応する領域（以下、「赤判定領域」と称する）（第１領域に対応する領域の例）において、赤色検出部２０１により所定の第１検出態様と同様の検出態様（第１の検出態様に対応する検出態様の例）で、赤灯火色に対応した赤色が検出されるか否かを判定する。すなわち、赤灯火候補検出部２０３は、領域抽出部２１により抽出された赤灯火の候補領域におけるその後の赤画素の検出状況を監視する。以下、このような赤灯火候補検出部２０３による処理を、「赤灯火候補検出処理」とも称する。
【００２６】
赤判定領域は、赤灯火の候補領域に対応する領域であり、特定サイズの画素領域と同様のサイズおよび形状を有してよい。この場合、赤判定領域は、移動体と認識対象の信号機との間の位置関係に応じて可変とされてもよい。ここでは、一例として、赤判定領域は、矩形（正方形）であるとし、全画素数がＮ’個であるとする。この場合、Ｎ’は、上述のＮと同じ態様で設定されてよい。従って、上述のＮと同様に、Ｎ’は、一定値であってもよいし、移動体と認識対象の信号機との間の位置関係に応じて可変とされてもよい。可変の場合、機械学習等により学習されてもよい。また、撮像領域における赤判定領域の位置は、移動体と認識対象の信号機との間の位置関係に応じて可変とされてもよい。
【００２７】
所定の第１検出態様と同様の検出態様とは、領域抽出部２１により赤灯火の候補領域が抽出される際の、赤灯火色に対応した赤色が検出される検出態様（赤色検出部２０１による検出される検出態様）に対応する。本実施例では、一例として、所定の第１検出態様と同様の検出態様とは、赤判定領域において赤画素が所定画素数Ｎ１’以上存在する態様である。すなわち、本実施例では、一例として、赤灯火候補検出部２０３は、赤判定領域において赤画素が所定画素数Ｎ１’以上存在する場合に、赤灯火候補検出処理の判定結果を「検出」とし、そうでない場合は、赤灯火候補検出処理の判定結果を「非検出」として出力する。この場合、Ｎ１／ＮとＮ１’／Ｎ’とは相関を有してよい。ここでは、一例として、所定画素数Ｎ１’は、Ｎ’×０．８であるとする。
【００２８】
青灯火候補検出部２０４は、領域抽出部２１が上述のように赤灯火の候補領域を抽出すると、その後に取得される撮像画像における赤判定領域に対して設定される青灯火の候補領域（第２領域の例）において、青色検出部２０２により所定の第２検出態様（第２の検出態様の例）で、青灯火色に対応した青色が検出されるか否かを判定する。すなわち、青灯火候補検出部２０４は、領域抽出部２１により抽出された赤灯火の候補領域の近傍におけるその後の青画素の検出状況を監視する。以下、このような青灯火候補検出部２０４による処理を、「青灯火候補検出処理」とも称する。
【００２９】
青灯火の候補領域は、赤灯火の候補領域（およびそれに伴い赤判定領域）に対し特定の位置関係にあり、具体的には、特定の位置関係は、一の信号機における赤灯火と青灯火の位置関係であって、撮像画像上の同位置関係に対応する。特定の位置関係は、位置関係登録部３３に登録されている。例えば、横型の信号機の場合、第２の領域は、第１の領域の左側に位置し、縦型の信号機の場合、第２の領域は、第１の領域の下側に位置する。なお、特定の位置関係は、信号機ごとに、又は、信号機の種別ごとに、定義されてもよい。また、特定の位置関係は、認識対象の信号機と移動体との位置関係に応じて定義されてもよい。これは、一の信号機における赤灯火と青灯火の、撮像画像上の位置関係は、認識対象の信号機と移動体（およびそれに伴いカメラ１０）との位置関係に応じて変化するためである。
【００３０】
一の撮像画像に対して設定される青灯火の候補領域のサイズは、当該一の撮像画像に対して設定される赤判定領域のサイズと同じであってもよいし、当該一の撮像画像に対して設定される赤判定領域のサイズよりも若干大きくてもよい。本実施例では、一例として、一の撮像画像に対して設定される青灯火の候補領域のサイズは、同一の撮像画像に対して設定される赤判定領域のサイズと同じであるものとする。
【００３１】
所定の第２検出態様は、上述した赤灯火候補検出部２０３による検出態様（所定の第１検出態様と同様の検出態様）と同様であってもよいし、異なってもよい。ここでは、一例として、所定の第２検出態様は、上述した赤灯火候補検出部２０３による検出態様と同じであるものとする。従って、青灯火候補検出部２０４は、青灯火の候補領域において青画素が所定画素数Ｎ１’以上存在する場合に、青灯火候補検出処理の判定結果を「検出」とし、そうでない場合は、青灯火候補検出処理の判定結果を「非検出」として出力する。
【００３２】
信号機検出部２３は、複数時点で得られる撮像画像に関する赤灯火候補検出部２０３および青灯火候補検出部２０４の各判定結果に基づいて、信号機を検出する。
【００３３】
ところで、実際の信号機では、赤灯火と青灯火とは同時に点灯状態とならず、赤灯火の点灯状態と青灯火の点灯状態との間で遷移を繰り返すタイプの信号機が多い。なお、かかるタイプでは、青灯火の点灯状態から赤灯火の点灯状態への遷移の際には、青灯火の点滅状態や、黄灯火の点灯状態を伴う。本実施例では、認識対象の信号機は、特に言及しない限り、一例として、かかるタイプの信号機である。
【００３４】
このような信号機では、赤灯火と青灯火とは一定の位置関係に常に有り、赤灯火の点灯状態と青灯火の点灯状態との間で遷移が実現される。
【００３５】
本実施例では、このような信号機の特性を利用して、信号機検出部２３は、第１時点で領域抽出部２１により赤灯火の候補領域が抽出され（すなわち、第１時点で取得された撮像画像における特定サイズの画素領域において、所定画素数Ｎ１以上で、赤灯火色に対応した赤色が赤色検出部２０１により検出され）、かつ、第１時点よりも後の第２時点で取得された撮像画像における青灯火の候補領域において青灯火に対応する青色が青色検出部２０２により所定の第２検出態様で検出された場合に、当該特定サイズの画素領域および当該青灯火の候補領域に対応する位置（空間位置）に、認識対象の信号機があると判断する。すなわち、赤灯火の候補領域および青灯火の候補領域が、それぞれ、赤灯火の領域および青灯火の領域であることが確定し、信号機検出部２３は、当該赤灯火の領域および青灯火の領域に対応した位置の信号機を検出（認識）する。
【００３６】
なお、信号機検出部２３は、信号機の認識の際に、当該信号機の赤灯火と青灯火の状態を認識できるため、信号機を認識した段階で、当該信号機の赤灯火と青灯火の状態を表す情報を生成（出力）してもよい。本実施例の場合、信号機検出部２３は、信号機を認識した際に、当該信号機の灯火の点灯状態として、青灯火の点灯状態を表す情報を生成（出力）してもよい。
【００３７】
出力部２４は、信号機検出部２３による検出結果を出力する。なお、出力先は、任意であり、出力先は、例えば信号機検出部２３による検出結果に応じて、移動体の移動態様を制御する制御部（図１の動作制御部３参照）であってよい。
【００３８】
信号機情報登録部３１は、信号機の灯火の大きさに対応する撮像画像内の画素数（ピクセル数）を記憶する。また、信号機情報登録部３１は、認識対象の信号機の位置情報を記憶してもよい。この場合、認識対象の信号機の位置情報と、ＧＰＳ受信機１１からの移動体の位置情報とに基づいて、認識対象の信号機と移動体との位置関係を算出できる。この場合、領域抽出部２１は、認識対象の信号機と移動体との位置関係に基づいて、移動体が認識対象の信号機に対して所定距離内で位置する場合にのみ、領域抽出処理を実行してもよい。
【００３９】
領域指定部２５は、撮像画像のうちから、特定サイズの画素領域（すなわち領域抽出部２１による赤灯火の候補領域の抽出対象となる処理領域）を順次指定する。本実施例では、一例として、領域指定部２５は、特定サイズのウインドウ（図８Ａのウインドウ４０ａ参照）を利用して、撮像画像の全体が走査されるように当該ウインドウを動かしながら、当該ウインドウ内の領域を指定する（図８Ａ参照）。
【００４０】
灯火色登録部３２には、上述のように、灯火色情報として、赤灯火および青灯火として抽出すべきそれぞれの色の範囲が記憶される。なお、灯火色情報は、信号機の種類または個体差による色のばらつきや日照条件による色の変化などを考慮し、灯火を確実に検出できるよう定められることが望ましい。例えば、様々な条件において、カメラ１０で信号機を撮影し、撮像画像から赤灯火色や青灯火色を抽出し、そのRGB値の分布を調べ、これを包含するように、灯火色登録部３２に記憶される各色の範囲を決定してもよい。この場合、各種条件ごとに、灯火色登録部３２に記憶される各色の範囲を記憶してもよい。例えば、周囲の明るさごとに、灯火色登録部３２に記憶される各色の範囲を記憶してもよい。この場合、稼働時は、カメラ１０の撮像画像に基づき判定される周囲の明るさに応じて、使用する灯火色情報（各色の範囲）を変更することで、赤灯火色の候補領域等の検出精度を高めることができる。
【００４１】
位置関係登録部３３には、上述のように、カメラ１０の撮像画像上における赤灯火と青灯火の特定の位置関係が記憶される（図２参照）。
【００４２】
候補領域登録部３４には、領域抽出部２１により抽出される赤灯火の候補領域を表す情報が記憶される。赤灯火の候補領域を表す情報は、赤灯火の候補領域ごとに、識別情報や、候補領域の位置（例えば中心位置）を表す情報を含んでよい。本実施例では、候補領域登録部３４には、領域抽出部２１により抽出された赤灯火の候補領域が、記憶（登録）される。なお、赤灯火の候補領域が同時に複数抽出されている状況下では、赤灯火の候補領域は複数個記憶される。
【００４３】
履歴登録部３５には、色検出部２０の赤灯火候補検出部２０３および青灯火候補検出部２０４のそれぞれの検出結果の履歴であって、赤灯火の候補領域に対する検出結果の履歴（以下、「検出結果履歴」とも称する）が記憶される。本実施例では、上述のように、領域抽出部２１により赤灯火の候補領域が抽出されると、その後に順次取得される撮像画像（第３画像の例）における赤判定領域に対する赤灯火候補検出部２０３の判定結果と、同撮像画像（第３画像の例）における青灯火の候補領域に対する青灯火候補検出部２０４の判定結果とが、ペアとなって履歴登録部３５に順次記憶されていく（図９参照）。なお、履歴登録部３５には、現時点から一定時間前までの最新の履歴だけが記憶されてよい。
【００４４】
図２は、信号機認識装置２の信号機情報登録部３１および位置関係登録部３３に記憶されるデータを示す図である。信号機情報登録部３１には、信号機を認識したい位置からカメラ１０により撮影される赤灯火４１および青灯火４２の大きさが、画像内での大きさ、例えば大きさを示す画素数を用いて記憶される。赤灯火４１および青灯火４２の大きさは、例えば、現地における予備調査に基づいて決めることができる。図２の例では、画素の座標をＸＹ座標で示しており、この座標上において縦辺、横辺にそれぞれ４画素の長さを与えられた矩形の範囲を赤灯火４１および青灯火４２の大きさとしている。
【００４５】
位置関係登録部３３には、上述した特定の位置関係として、信号機を認識したい位置からカメラ１０で撮影した状態での赤灯火４１に対する青灯火４２の画像内での相対位置（ｄｘ、ｄｙ）が記憶される。図２では、相対位置（ｄｘ、ｄｙ）＝（０、５）の場合が例示されている。すなわち、図２において、青灯火４２の基準座標、例えば座標（ｘ、ｙ＋５）は赤灯火４１の基準座標、例えば座標（ｘ、ｙ）よりも５画素分だけ下方に位置づけられている。この相対位置は例えば、現地における予備調査、あるいは設置された信号機の種類など、認識対象である信号機の形状情報に基づいて決めることができる。
【００４６】
次に、図３から図７のフローチャートと、図８から図１０の説明図とを参照しつつ、信号機認識装置２の動作について説明する。
図３は、信号機認識装置２により実行される処理の一例を示す概略フローチャートである。図３に示す処理は、例えば所定周期ごとに繰り返し実行される。なお、所定周期は、カメラ１０の撮像画像（フレーム画像）のフレーム周期と一致してもよいし、２以上の所定数のフレーム周期と一致してもよい。所定数のフレーム周期と一致する場合、処理で使用される撮像画像（ステップＳ４００参照）は、所定数のフレーム周期分の特定の一のフレームの画像であってよい。
【００４７】
ステップＳ４００では、信号機認識装置２は、今回周期の処理対象の撮像画像と、各種の必要な情報を取得する。各種の必要な情報は、例えばＧＰＳ受信機１１からの位置情報等であってよい。
【００４８】
ステップＳ４０２では、信号機認識装置２は、今回周期の処理対象の撮像画像の各画素に対して、赤色検出部２０１による赤色検出処理を行う。赤色検出部２０１による赤色検出処理結果は、例えば画素ごとに２値（すなわち、赤画素か否かを表す２値）で生成される。
【００４９】
ステップＳ４０４では、信号機認識装置２は、候補領域登録部３４に赤灯火の候補領域が登録されているか否かを判断し、この判断が肯定されればステップＳ４０８へ進み、否定されればステップＳ４０６に進む。
【００５０】
ステップＳ４０６では、信号機認識装置２は、ステップＳ４０２で得た赤色検出処理結果に基づいて、領域抽出部２１による領域抽出処理（以下、区別のため、ステップＳ４０６の領域抽出処理を指すときは「第１領域抽出処理」と称する）を行う。第１領域抽出処理は、上述のように、赤灯火の候補領域を抽出する処理であり、候補領域登録部３４に赤灯火の候補領域が登録されていない場合に実行される。第１領域抽出処理の具体例は、図４を参照して後述する。
【００５１】
ステップＳ４０８では、信号機認識装置２は、今回周期の処理対象の撮像画像の各画素に対して、青色検出部２０２による青色検出処理を行う。青色検出部２０２による青色検出処理結果は、例えば画素ごとに２値（すなわち、青画素か否かを表す２値）で生成される。
【００５２】
ステップＳ４１０では、信号機認識装置２は、今回周期の処理対象の撮像画像に対して、候補領域登録部３４に登録されている赤灯火の候補領域に係る赤判定領域を設定する。赤判定領域は、上述の通り、撮像画像における赤灯火の候補領域に対応する領域であり、赤灯火候補検出処理が実行される領域である。なお、候補領域登録部３４に登録されている複数の赤灯火の候補領域がある場合は、赤判定領域は、赤灯火の候補領域ごとに設定される。
【００５３】
ステップＳ４１２では、信号機認識装置２は、今回周期の処理対象の撮像画像に対して、赤灯火候補検出部２０３により赤灯火候補検出処理を実行する。赤灯火候補検出処理は、上述のとおりである。ここでは、赤灯火候補検出部２０３は、ステップＳ４０２で得た赤色検出処理結果と、ステップＳ４１０で設定した赤判定領域とに基づいて、赤灯火候補検出処理を実行する。具体的には、赤灯火候補検出部２０３は、ステップＳ４１０で設定した赤判定領域において、赤画素の数が所定画素数Ｎ１’以上か否かを判定する。
【００５４】
なお、候補領域登録部３４に複数の赤灯火の候補領域が登録されている場合は、赤灯火候補検出処理は、複数の赤灯火の候補領域のそれぞれに係る赤判定領域ごとに、実行される。ステップＳ４１２では、信号機認識装置２は、今回周期の赤灯火候補検出処理の結果を、履歴登録部３５に追加（登録）する。赤灯火候補検出処理の結果は、判定結果が肯定判定か否定判定かの２値であり、ここでは、判定結果が肯定判定である場合、対応する赤灯火の候補領域に対応付けて、「検出」を表す値が書き込まれ、判定結果が否定判定である場合、対応する赤灯火の候補領域に対応付けて、「非検出」を表す値が書き込まれる。
【００５５】
ステップＳ４１４では、信号機認識装置２は、今回周期の処理対象の撮像画像に対して、候補領域登録部３４に登録されている赤灯火の候補領域に係る青灯火の候補領域を設定する。青灯火の候補領域は、上述のように青灯火候補検出処理が実行される領域であり、その設定処理は、上述のとおりである。なお、青灯火の候補領域は、上述のように、認識対象の信号機と移動体との位置関係に応じて設定されてもよい。この場合、認識対象の信号機と移動体との位置関係は、ステップＳ４００で得たＧＰＳ受信機１１からの位置情報に応じて算出されてよい。なお、候補領域登録部３４に登録されている複数の赤灯火の候補領域が登録されている場合は、青灯火の候補領域は、赤灯火の候補領域ごとに設定される。
【００５６】
ステップＳ４１６では、信号機認識装置２は、今回周期の処理対象の撮像画像に対して、青灯火候補検出部２０４により青灯火候補検出処理を実行する。青灯火候補検出処理は、上述のとおりである。ここでは、青灯火候補検出部２０４は、ステップＳ４０８で得た青色検出処理結果と、ステップＳ４１４で設定した青灯火の候補領域とに基づいて、青灯火候補検出処理を実行する。具体的には、青灯火候補検出部２０４は、ステップＳ４１４で設定した青灯火の候補領域において、青画素の数が所定画素数Ｎ１’以上か否かを判定する。
【００５７】
なお、候補領域登録部３４に複数の赤灯火の候補領域が登録されている場合は、青灯火候補検出処理は、複数の赤灯火の候補領域のそれぞれに係る青灯火の候補領域ごとに、実行される。ステップＳ４１６では、信号機認識装置２は、今回周期の青灯火候補検出処理の結果を、履歴登録部３５に追加（登録）する。青灯火候補検出処理の結果は、判定結果が肯定判定か否定判定かの２値であり、ここでは、判定結果が肯定判定である場合、対応する赤灯火の候補領域に対応付けて、「検出」を表す値が書き込まれ、判定結果が否定判定である場合、対応する赤灯火の候補領域に対応付けて、「非検出」を表す値が書き込まれる。
【００５８】
図９は、履歴登録部３５に登録される検出結果履歴を例示する図である。図９に示すように、履歴登録部３５（図１参照）には、赤灯火の候補領域ごとに検出結果履歴５０Ａ、５０Ｂ、５０Ｃ・・・が記憶、更新される。図９では、表題“赤灯火”及び“青灯火”は、赤灯火候補検出処理の結果及び青灯火候補検出処理の結果を表し、“検出”は、赤灯火候補検出処理の結果又は青灯火候補検出処理の結果が“検出”であることを意味し、“なし”は、赤灯火候補検出処理の結果又は青灯火候補検出処理の結果が“非検出”であることを意味する。各検出結果履歴５０Ａ、５０Ｂ、５０Ｃ・・・において、赤灯火候補検出処理の結果及び青灯火候補検出処理の結果のそれぞれの履歴が記憶される。このようにして、一の赤灯火の候補領域が抽出されると、当該一の赤灯火の候補領域に対応付けられた検出結果履歴の記憶領域が生成され、当該記憶領域には、その後の処理周期における赤灯火候補検出処理の結果及び青灯火候補検出処理の結果が、処理周期ごとに蓄積される態様で記憶されていく。
【００５９】
ステップＳ４１８では、信号機認識装置２は、ステップＳ４１２の赤灯火候補検出処理の結果と、ステップＳ４１６の青灯火候補検出処理の結果とに基づいて、信号機検出部２３により状態遷移処理を実行する。状態遷移処理は、赤灯火の候補領域に対して、未判定状態、赤信号状態、青信号遷移状態および青信号判定状態のいずれかの状態を割り当てる処理である。状態遷移処理の具体例は、図５Ａおよび図５Ｂを参照して後述する。
【００６０】
ステップＳ４２０では、信号機認識装置２は、ステップＳ４１８の状態遷移処理の結果に基づいて、信号機検出部２３により信号機検出処理を実行する。信号機検出処理の具体例は、図６を参照して後述する。
【００６１】
ステップＳ４２２では、信号機認識装置２は、ステップＳ４０２で得た赤色検出処理結果に基づいて、領域抽出部２１による領域抽出処理（以下、区別のため、ステップＳ４２２の領域抽出処理を指すときは「第２領域抽出処理」と称する）を行う。第２領域抽出処理は、上述のように、赤灯火の候補領域を抽出する処理であり、候補領域登録部３４に赤灯火の候補領域が登録されている場合に実行される。すなわち、第２領域抽出処理は、候補領域登録部３４に赤灯火の候補領域が登録されている場合に係る処理であり、上述した第１領域抽出処理（ステップＳ４０６）は、候補領域登録部３４に赤灯火の候補領域が登録されていない場合に係る処理である。第２領域抽出処理の具体例は、図７を参照して後述する。
【００６２】
次に、図４から図７を参照して、図３のステップＳ４０６の第１領域抽出処理の一例、図３のステップＳ４１８の状態遷移処理、図３のステップＳ４２０の信号機検出処理、及び図３のステップＳ４２２の第２領域抽出処理の一例を、順に説明する。
【００６３】
図４は、領域抽出部２１（図１参照）における第１領域抽出処理（図３のステップＳ４０６）の一例を示す概略フローチャートである。
【００６４】
まず、ステップＳ５００において、領域抽出部２１は、信号機認識装置２の領域指定部２５（図１参照）から領域の指定を受け付ける。
【００６５】
図８Ａは、領域指定部２５の動作を示す図である。領域指定部２５は、撮像画像の全体にわたり領域が指定されるよう、領域抽出部２１において抽出の対象となる領域の位置を次々と変化（走査）させる。例えば、図８Ａに示すように、領域指定部２５は、領域抽出部２１による抽出範囲としてのウインドウ４０ａを撮像画像４０の左上から右下まで所定の画素数（例えば１画素）ずつ、順次、移動させ、領域抽出部２１に与える。すなわち、ステップ５００では、領域抽出部２１は、領域指定部２５から１つのウインドウ４０ａ内の領域（ウインドウ４０ａに属する画素）の指定を受け付ける。
【００６６】
ステップＳ５０２では、領域抽出部２１は、ステップＳ４０２で得た赤色検出処理結果に基づいて、ウインドウの範囲内（指定された領域内）の赤画素の数をカウントする。
【００６７】
ステップＳ５０４では、赤色検出部２０１は、ステップＳ５０２で得たカウント数が所定数Ｎ１以上であるか否かを判断し、この判断が肯定されればステップＳ５０６へ進む。一方、判断が否定されればステップＳ５０８に進む。
【００６８】
ステップＳ５０６では、領域抽出部２１は、ウインドウの範囲内（指定された領域内）を赤灯火の候補領域として抽出し、候補領域登録部３４内に登録する。
【００６９】
ステップＳ５０８では、領域抽出部２１は、ウインドウにより撮像画像の全体が指定（走査）されたか否かを判断し、判断が肯定されれば、第１領域抽出処理を終了する。一方、判断が否定されれば、ステップＳ５１０を経てステップＳ５０２へ戻る。
【００７０】
ステップＳ５１０では、領域抽出部２１は、領域指定部２５から次のウインドウの位置で新たな領域の指定を受け付ける。この場合、上記の処理（ステップＳ５０２〜ステップＳ５０６）が繰り返される。
図８Ｂは、候補領域登録部３４に記憶された赤灯火の候補領域の例を示している。図８Ｂの例では、候補領域登録部３４に、撮像画像４０内の複数個所（４箇所）に赤灯火の候補領域４１ａ〜４１ｄが記憶されている。候補領域登録部３４には、実際の信号機の赤灯火の領域の他、車両や看板など、実際には信号機の灯火ではないが赤灯火に近い色を有する赤灯火の候補領域が記憶され得る。なお、図８Ｃは、図８Ｂの例に示す赤灯火の候補領域４１ａ〜４１ｄのそれぞれに対応して設定される赤判定領域４３ａ〜４３ｄの位置及び青灯火の候補領域４２ａ〜４２ｄの位置を示す図である。図８Ｃに示すように、青灯火の候補領域４２ａ〜４２ｄは、赤灯火の候補領域４１ａ〜４１ｄのそれぞれに対応して設定される赤判定領域４３ａ〜４３ｄのそれぞれの下方に設定されることになる。なお、青灯火の候補領域に、実際の信号機の青灯火の以外の領域が含まれ得ることは、赤灯火の候補領域の場合（赤判定領域の場合も同様）と同様である。
【００７１】
このようにして、図３および図４に示す処理によれば、複数の赤灯火の候補領域が抽出されると、赤灯火の候補領域のそれぞれに対して、各種の処理が実行される。なお、図８Ｂおよび図８Ｃに示す例では、候補領域登録部３４に４つの赤灯火の候補領域４１ａ〜４１ｄが記憶されている状態に対応して、４組の赤灯火の候補領域４１ａ〜４１ｄおよび青灯火の候補領域４２ａのすべてについて、赤灯火候補検出処理および青灯火候補検出処理が実行される。従って、この場合、４組のそれぞれに対して、履歴登録部３５に履歴が書き込まれる。
【００７２】
図５Ａは、信号機検出部２３（図１参照）における状態遷移処理（図３のステップＳ４１８）の一例を示す概略フローチャートである。
まず、ステップＳ６０２では、信号機検出部２３は、候補領域登録部３４に赤灯火の候補領域が登録されているか否かを判断し、この判断が肯定されればステップＳ６０４へ進み、否定されれば今回周期の処理は終了する。
【００７３】
ステップＳ６０４では、信号機検出部２３は、候補領域登録部３４に登録されている一の赤灯火の候補領域を選択する。
【００７４】
ステップＳ６０６では、信号機検出部２３は、選択した赤灯火の候補領域に関する検出結果履歴（図９参照）を履歴登録部３５から取得する。
【００７５】
ステップＳ６０８では、信号機検出部２３は、ステップＳ６０６で得た検出結果履歴に基づいて、選択した赤灯火の候補領域に関する状態更新処理を実行する。状態更新処理の具体例は、図５Ｂを参照して後述する。
【００７６】
ステップＳ６１０では、信号機検出部２３は、候補領域登録部３４に登録されているすべての赤灯火の候補領域を選択したか否かを判断する。判断が肯定されれば今回周期の処理は終了し、判断が否定されればステップＳ６１２に進む。
【００７７】
ステップＳ６１２では、信号機検出部２３は、候補領域登録部３４に登録されている未選択の赤灯火の候補領域の１つを選択する。ステップＳ６１２で新たな１つの赤灯火の候補領域を選択すると、当該選択された赤灯火の候補領域に対して、ステップＳ６０６およびステップＳ６０８の処理が繰り返される。
【００７８】
図５Ｂは、状態遷移処理における状態更新処理（図５ＡのステップＳ６０８）の一例を示す概略フローチャートである。ここでは、図１０を適宜参照しながら、図５Ｂを説明する。図１０は、各赤灯火の候補領域の状態遷移を示す状態遷移図である。図１０に示すように、各赤灯火の候補領域は、未判定状態、赤信号状態、青信号遷移状態および青信号判定状態のいずれかの遷移状態にある。また、赤灯火の候補領域に割り当てられる遷移状態の初期値は、抽出直後状態（図示せず）である。抽出直後状態は、直ぐに未判定状態に遷移される（図５ＢのステップＳ７３２）。なお、図１０において、初期状態とは、候補領域登録部３４に赤灯火の候補領域が登録されていない状態に対応する。
【００７９】
ステップＳ７０４では、信号機検出部２３は、選択した赤灯火の候補領域に対応付けられる遷移状態が「未判定状態」か否かを判断する。判断が肯定されればステップＳ７０６へ進み、判断が否定されればステップＳ７１４へ進む。
【００８０】
ステップＳ７０６では、信号機検出部２３は、ステップＳ６０６で得た検出結果履歴に基づいて、選択した赤灯火の候補領域に対して所定回（第１所定回数の例）以上、赤灯火候補検出処理の結果が「非検出」である状態が連続しているか否かを判断する。判断が肯定されればステップＳ７０８へ進み、否定されればステップＳ７１０へ進む。
【００８１】
ステップＳ７０８では、信号機検出部２３は、選択した赤灯火の候補領域を候補領域登録部３４から削除するとともに、その赤灯火の候補領域の検出結果履歴を履歴登録部３５から削除し、今回周期の処理を終了する。
【００８２】
このようにして図５Ｂに示す処理では、所定回以上、赤灯火候補検出処理の結果が「非検出」である状態が連続している場合に、選択した赤灯火の候補領域が候補領域登録部３４から削除される。これは、選択した赤灯火の候補領域が、実際の赤灯火の領域である場合は、赤灯火候補検出処理の結果が「非検出」である状態が連続する可能性は、低いためである。なお、ステップＳ７０８での所定回は、２以上であるが、変形例では、ステップＳ７０８での所定回は、１であってよい。
【００８３】
ステップＳ７１０では、信号機検出部２３は、ステップＳ６０６で得た検出結果履歴に基づいて、選択した赤灯火の候補領域に対して所定回Ｔｈ１（第１所定数の例）以上、赤灯火候補検出処理の結果が「検出」であるか否かを判断し、判断が肯定されればステップＳ７１２へ進み、判断が否定されれば今回周期の処理を終了する。
【００８４】
ステップＳ７１２では、信号機検出部２３は、選択した赤灯火の候補領域に対応付けられる遷移状態を「赤信号状態」に遷移させて（図１０）、今回周期の処理を終了する。
【００８５】
なお、図５Ｂに示す処理では、ステップＳ７１０を設けることで、選択した赤灯火の候補領域に対して所定回Ｔｈ１以上、赤灯火候補検出処理の結果が「検出」とならない限り、選択した赤灯火の候補領域に対応付けられる遷移状態を「赤信号状態」に遷移されることはない。これにより、ノイズ等に起因して、実際の信号機の赤灯火とは無関係に赤灯火の候補領域が抽出された場合でも、かかる赤灯火の候補領域に対応付けられる遷移状態が、「赤信号状態」に遷移されることを防止できる。この結果、信号機の認識精度を高めることができる。ただし、変形例では、ステップＳ７１０は省略されてもよい。また、他の変形例では、赤灯火候補検出処理の結果が「検出」である回数に代えて、赤灯火候補検出処理の結果が「検出」である頻度や時間的な連続性が評価されてもよい。例えば、ステップＳ７１０では、信号機検出部２３は、選択した赤灯火の候補領域に対して、実行した赤灯火候補検出処理の回数をαとし、そのうちの赤灯火候補検出処理の結果が「検出」である回数をα１としたとき、αが所定値以上でありかつα１／αが所定閾値以上であるか否かを判断してもよい。
【００８６】
ステップＳ７１４では、信号機検出部２３は、選択した赤灯火の候補領域に対応付けられている遷移状態が「赤信号状態」か否かを判断する。判断が肯定されればステップＳ７１６へ進み、判断が否定されればステップＳ７２３へ進む。
【００８７】
ステップＳ７１６では、信号機検出部２３は、ステップＳ６０６で得た検出結果履歴に基づいて、赤信号状態への遷移後に、選択した赤灯火の候補領域に対して所定回Ｔｈ３以上、赤灯火候補検出処理の結果が「非検出」である状態が連続しているか否かを判断する。所定回Ｔｈ３は、典型的には、２以上であるが、１であってもよい。所定回Ｔｈ３＝１の場合、信号機検出部２３は、ステップＳ６０６で得た検出結果履歴に基づいて、選択した赤灯火の候補領域に対する、今回周期の赤灯火候補検出処理の結果が「検出」であるか否かを判断する。いずれの場合も、判断が肯定されればステップＳ７１８へ進み、否定されればステップＳ７２０へ進む。
【００８８】
ステップＳ７１８では、信号機検出部２３は、選択した赤灯火の候補領域を候補領域登録部３４から削除するとともに、その赤灯火の候補領域の検出結果履歴を履歴登録部３５から削除し、今回周期の処理を終了する。
【００８９】
ステップＳ７２０では、信号機検出部２３は、ステップＳ６０６で得た検出結果履歴に基づいて、選択した赤灯火の候補領域に対する、今回周期の赤灯火候補検出処理の結果が「非検出」であり、かつ、選択した赤灯火の候補領域に係る青灯火の候補領域に対する、今回周期の青灯火候補検出処理の結果が「検出」であるか否かを判断し、判断が肯定されればステップＳ７２２へ進み、判断が否定されれば今回周期の処理を終了する。
【００９０】
ステップＳ７２２では、信号機検出部２３は、選択した赤灯火の候補領域に対応付けられる遷移状態を「青信号遷移状態」に遷移させて（図１０）、今回周期の処理を終了する。
【００９１】
ステップＳ７２３では、信号機検出部２３は、選択した赤灯火の候補領域に対応付けられている遷移状態が「青信号遷移状態」か否かを判断する。判断が肯定されればステップＳ７２４へ進み、判断が否定されれば（すなわち選択した赤灯火の候補領域に対応付けられている遷移状態が「抽出直後状態」である場合）ステップＳ７３２へ進む。
【００９２】
ステップＳ７２４では、信号機検出部２３は、ステップＳ６０６で得た検出結果履歴に基づいて、選択した赤灯火の候補領域に対する、今回周期の赤灯火候補検出処理の結果が「検出」であるか否かを判断する。なお、変形例では、ステップＳ７２４では、青信号遷移状態への遷移後に、所定回以上、赤灯火候補検出処理の結果が「検出」である状態が連続しているか否かを判断してもよい。いずれの場合も、判断が肯定されればステップＳ７２６に進み、判断が否定されればステップＳ７２８へ進む。
【００９３】
また、ステップＳ７２４に代えてまたは追加して、信号機検出部２３は、ステップＳ６０６で得た検出結果履歴に基づいて、青信号遷移状態への遷移後に、所定回以上（または所定回以上連続して）、選択した赤灯火の候補領域に対する赤灯火候補検出処理の結果が「非検出」であり、かつ、選択した赤灯火の候補領域に係る青灯火の候補領域に対する青灯火候補検出処理の結果が「非検出」であるか判断してもよい。この場合も、判断が肯定されればステップＳ７２６に進み、判断が否定されればステップＳ７２８へ進む。
【００９４】
ステップＳ７２６では、信号機検出部２３は、選択した赤灯火の候補領域を候補領域登録部３４から削除するとともに、その赤灯火の候補領域の検出結果履歴を履歴登録部３５から削除し、今回周期の処理を終了する。
【００９５】
ステップＳ７２８では、信号機検出部２３は、選択した赤灯火の候補領域に係る青灯火の候補領域に対して、所定回Ｔｈ２以上、青灯火候補検出処理の結果が「検出」であるか否かを判断し、判断が肯定されればステップＳ７３０へ進み、判断が否定されれば今回周期の処理を終了する。
【００９６】
ここで、ステップＳ７２８での所定回Ｔｈ２は、２以上であれば任意である。所定回Ｔｈ２が多いほど、信号機の認識精度が向上するが、信号機の認識タイミングが遅くなるので、所定回Ｔｈ２は、かかる背反を考慮して適合されてよい。ただし、変形例では、ステップＳ７２８は省略されてもよい（すなわち所定回Ｔｈ２＝０であってもよい）。この場合、「青信号遷移状態」が「青信号判定状態」と同じ扱いとなる。また、この場合、ステップＳ７２４、ステップＳ７２６も省略されてよい。また、他の変形例では、ステップＳ７２８では、信号機検出部２３は、選択した赤灯火の候補領域に係る青灯火の候補領域に対して所定回Ｔｈ２以上、青灯火候補検出処理の結果が「検出」である状態が連続しているか否かを判断してもよい。
【００９７】
また、更なる他の変形例では、ステップＳ７２８では、信号機検出部２３は、選択した赤灯火の候補領域に対する、今回周期の赤灯火候補検出処理の結果が「非検出」であり、かつ、選択した赤灯火の候補領域に係る青灯火の候補領域に対する、今回周期の青灯火候補検出処理の結果が「検出」であるか判断してもよい。この場合、判断が肯定されればステップＳ７３０へ進み、判断が否定されれば今回周期の処理を終了する。
【００９８】
また、更なる他の変形例では、ステップＳ７２８では、信号機検出部２３は、青信号遷移状態への遷移後に、所定回以上（または所定回以上連続して）、選択した赤灯火の候補領域に対する赤灯火候補検出処理の結果が「非検出」であり、かつ、選択した赤灯火の候補領域に係る青灯火の候補領域に対する青灯火候補検出処理の結果が「検出」であるか判断してもよい。この場合も、判断が肯定されればステップＳ７３０へ進み、判断が否定されれば今回周期の処理を終了する。
【００９９】
ステップＳ７３０では、信号機検出部２３は、選択した赤灯火の候補領域に対応付けられる遷移状態を「青信号判定状態」に遷移させ（図１０）、今回周期の処理を終了する。
【０１００】
ステップＳ７３２では、信号機検出部２３は、選択した赤灯火の候補領域に、遷移状態として「未判定状態」を対応付ける。ステップＳ７３２が終了すると、ステップＳ７１０に進む。なお、ステップＳ７１０の所定数Ｎ１が２以上の場合は、ステップＳ７１２が終了すると、今回周期の処理は終了してもよい。
【０１０１】
図６は、信号機検出部２３（図１参照）における信号機検出処理（図３のステップＳ４２０）の一例を示すフローチャートである。
【０１０２】
まず、ステップＳ８００では、信号機検出部２３は、対応付けられる遷移状態が「青信号判定状態」に遷移した赤灯火の候補領域が存在するか判断する。判断が肯定されればステップＳ８０２へ進み、判断が否定されれば今回周期の処理を終了する。
【０１０３】
ステップＳ８０２では、信号機検出部２３は、対応付けられる遷移状態が「青信号判定状態」に遷移した赤灯火の候補領域に基づいて、信号機を認識（検出）するとともに、この信号機が赤信号から青信号に切り替わったことを認識（検出）する。また、このとき、例えば、信号の切り替わりの認識は、認識結果として出力部２４を介して移動体の動作制御部３に向けて出力することもできる（図１参照）。
【０１０４】
ステップＳ８０４では、信号機検出部２３は、候補領域登録部３４および履歴登録部３５からすべての赤灯火の候補領域および検出結果履歴を削除し、今回周期の処理を終了する。これにより、信号機が認識されると、すべてがリセットされた状態へと遷移する。
【０１０５】
図７は、領域抽出部２１（図１参照）における第２領域抽出処理（図３のステップＳ４２２）の一例を示す概略フローチャートである。図７に示す第２領域抽出処理は、図４に示した第１領域抽出処理に対して、ステップＳ５０４とステップＳ５０６の間に、ステップＳ５０５が追加された点が異なる。
【０１０６】
ステップＳ５０５は、ステップＳ５０４で判断が肯定されると実行される。ステップＳ５０５では、領域抽出部２１は、ウインドウの範囲（指定された領域）が、ステップＳ４１０で設定される赤判定領域を含むか否かを判断し、判断が肯定されればステップＳ５０６をスキップしてステップＳ５０８へ進み、判断が否定されればステップＳ５０６に進む。
【０１０７】
図７に示す処理によれば、候補領域登録部３４内に赤灯火の候補領域が登録されている場合でも、新たな赤灯火の候補領域を抽出して、候補領域登録部３４に登録できる。なお、図７では、ステップＳ５０５を備えることで、すでに抽出された赤灯火の候補領域と同じ赤灯火の候補領域を抽出しないようにしている。しかしながら、ステップＳ５０５に代えて、ステップＳ５００において、ウインドウが、ステップＳ４１０で設定される赤判定領域を回避する態様で走査されてもよい。
【０１０８】
このようにして、図３から図７のフローチャートに示す処理によれば、ある処理周期（第１時点の例）で得た撮像画像（第１画像の例）に基づいてステップＳ４０６又はステップＳ４２２で赤灯火の候補領域が抽出され、かつ、その後の処理周期（第２時点）で得た撮像画像（第２画像の例）に基づいて当該赤灯火の候補領域に係る青灯火の候補領域に対して青灯火候補検出処理の結果が「検出」となると（ステップＳ７２８参照）、当該赤灯火の候補領域に基づいて信号機が認識される。これにより、上述のように、煩雑な処理を要することなく、精度良く信号機を認識することができる
また、図３から図７のフローチャートに示す処理によれば、ある処理周期（第１時点の例）で得た撮像画像（第１画像の例）に基づいてステップＳ４０６で赤灯火の候補領域が抽出されると、その後の各処理周期で得た撮像画像に対して赤灯火候補検出処理及び青灯火候補検出処理が継続される。そして、かかる赤灯火候補検出処理及び青灯火候補検出処理の各結果の履歴が、信号機を認識するための条件に利用されるので、信号機の認識精度を高めることができる。
【０１０９】
具体的には、図３から図７のフローチャートに示す処理によれば、信号機を認識するための条件の各条件要素のいくつかは、例えば以下のとおりである。
・条件要素Ｅ１（第３条件の例）  一の赤灯火の候補領域に対応付けられている遷移状態が「未判定状態」であるときに得られる撮像画像（第３画像の例）において、当該一の赤灯火の候補領域に係る赤判定領域に関して、所定回以上、赤灯火候補検出処理の結果が「非検出」である状態が連続していないこと（図５ＢのステップＳ７０６参照）。
・条件要素Ｅ２（第３条件の例）  一の赤灯火の候補領域に対応付けられている遷移状態が「未判定状態」であるときに得られる撮像画像（第３画像の例）において、当該一の赤灯火の候補領域に係る赤判定領域に関して、所定回以上、赤灯火候補検出処理の結果が「検出」であること（図５ＢのステップＳ７１０参照）。
・条件要素Ｅ３  一の赤灯火の候補領域に対応付けられている遷移状態が「赤信号状態」であるとき、当該一の赤灯火の候補領域に係る赤判定領域に関して、所定回以上、赤灯火候補検出処理の結果が「非検出」である状態が連続していないこと（図５ＢのステップＳ７１６参照）。
・条件要素Ｅ４  一の赤灯火の候補領域に対応付けられている遷移状態が「青信号遷移状態」であるときに得られる撮像画像において、当該一の赤灯火の候補領域に係る赤判定領域に関して、赤灯火候補検出処理の結果が「非検出」であること（図５ＢのステップＳ７２４参照）。
・条件要素Ｅ５（第４条件の例）  一の赤灯火の候補領域に対応付けられている遷移状態が「赤信号状態」であるときに得られる撮像画像（第４画像の例）において、当該一の赤灯火の候補領域に係る青灯火の候補領域に関して、青灯火候補検出処理の結果が「検出」であり、かつ、当該一の赤灯火の候補領域に係る赤判定領域に関して、赤灯火候補検出処理の結果が「非検出」であること（図５ＢのステップＳ７２０参照）。
・条件要素Ｅ６（第２条件の例）  一の赤灯火の候補領域に対応付けられている遷移状態が「青信号遷移状態」から「青信号判定状態」に遷移するときに得られる撮像画像（第２画像の例）において、当該一の赤灯火の候補領域に係る赤判定領域に関して、赤灯火候補検出処理の結果が「非検出」であること（図５ＢのステップＳ７２８の変形例参照）。
【０１１０】
特に、一の赤灯火の候補領域に対応付けられている遷移状態が「未判定状態」であるときは、当該赤灯火の候補領域は、ノイズや他の赤色の物体等に起因して実際の信号機の赤灯火とは無関係に抽出された赤灯火の候補領域である可能性が依然として高い。
【０１１１】
この点、図３から図７のフローチャートに示す処理によれば、「未判定状態」から「青信号遷移状態」への直接的な遷移は発生せず、「未判定状態」から「青信号遷移状態」への遷移は、常に「赤信号状態」を経由する。これにより、「未判定状態」から「青信号遷移状態」への直接的な遷移を可能とする構成に比べて、信号機の認識精度を高めることができる。ただし、変形例では、「未判定状態」から「青信号遷移状態」への直接的な遷移が可能とされてもよい。
【０１１２】
また、図３から図７のフローチャートに示す処理によれば、「未判定状態」から「赤信号状態」への遷移条件として、条件要素Ｅ１および条件要素Ｅ２のような、赤灯火候補検出処理の結果に関連する条件要素が設定される。このようにして「赤信号状態」への遷移条件を適切に設定することで、ノイズや他の赤色の物体等に起因して実際の信号機の赤灯火とは無関係に抽出された赤灯火の候補領域に対して、遷移状態が「赤信号状態」に遷移しないようにすることが可能となる。なお、「未判定状態」から「赤信号状態」への遷移条件は、赤灯火候補検出処理の結果の回数や頻度、出現の時間的な連続性等に関連した任意の条件要素（第３条件の例）が設定されてもよい。
【０１１３】
例えば、赤灯火候補検出処理の結果が「検出」である処理周期が所定回連続すること、赤灯火候補検出処理の結果が「検出」である処理周期数が、未判定状態での全処理周期数に対して一定の割合以上であること等が、「未判定状態」から「赤信号状態」への遷移条件の条件要素として利用されてもよい。
なお、信号機の灯火がＬＥＤを用いて構成されている場合、目視では灯火が点灯していても、実際にはＬＥＤは商用電源の電圧周期に同期して点滅を繰り返している。このため、実際には信号機は赤灯火の点灯状態（青灯火の場合も同様）であっても、その際に得られる撮像画像においては、赤灯火候補検出処理の結果が「非検出」となる場合もありうる。この点、上述のように、赤灯火候補検出処理の結果が「検出」となるべき処理周期に、赤灯火候補検出処理の結果が「非検出」となる処理周期の存在を、ある程度許容することで、実際の環境に即したロジックを実現できる。
【０１１４】
また、「未判定状態」から「赤信号状態」への遷移条件として、青灯火候補検出処理の結果の回数や頻度、出現の時間的な連続性等に関連した任意の条件要素（第５条件の例）が設定されてもよい。例えば、以下のような条件要素Ｅ７〜Ｅ８が利用されてもよい。
・条件要素Ｅ７（第５条件の例）  一の赤灯火の候補領域に対応付けられている遷移状態が「未判定状態」であるときに得られる撮像画像（第３画像の例）において、当該一の赤灯火の候補領域に係る青灯火の候補領域に関して、青灯火候補検出処理の結果が「非検出」であること。
・条件要素Ｅ８（第５条件の例）  一の赤灯火の候補領域に対応付けられている遷移状態が「未判定状態」であるときに得られる撮像画像（第３画像の例）において、当該一の赤灯火の候補領域に係る青灯火の候補領域に関して、青灯火候補検出処理の結果が「非検出」である状態が連続すること。
【０１１５】
例えば、青灯火候補検出処理の結果が「非検出」である処理周期が所定回連続すること、青灯火候補検出処理の結果が「非検出」である処理周期数が、未判定状態での全処理周期数に対して一定の割合以上であること等が、「未判定状態」から「赤信号状態」への遷移条件の条件要素として利用されてもよい。
【０１１６】
これは、実際の信号機においては、赤灯火の点灯状態において青灯火が点灯することがないためである。このような条件要素を追加することで、信号機の認識精度を高めることができる。
【０１１７】
また、他の変形例では、上記のような各条件要素の一部を省略してもよいし、他の条件要素を追加してもよい。例えば、以下のような条件要素は、信号機の認識精度を高める上で有効である。
・条件要素Ｅ１０  一の赤灯火の候補領域に対応付けられている遷移状態が「未判定状態」、「赤信号状態」、および「青信号遷移状態」のいずれかであるとき、同時点灯状態（すなわち当該一の赤灯火の候補領域に係る青灯火の候補領域に関して、青灯火候補検出処理の結果が「検出」であり、かつ、当該一の赤灯火の候補領域に係る赤判定領域に関して、赤灯火候補検出処理の結果が「検出」である状態）が、発生しないこと。
【０１１８】
これは、実際の信号機においては、赤灯火と青灯火とが同時に点灯状態になることがないためである。このような条件要素Ｅ１０を追加することで、信号機の認識精度を高めることができる。なお、図５Ｂに示す例では、ステップＳ７２４とステップＳ７２８により、「青信号遷移状態」に係る条件要素Ｅ１０が実質的に実現されている。
【０１１９】
また、条件要素Ｅ１０に代えてまたは加えて、以下の条件要素Ｅ１０Ａが利用されてもよい。
・条件要素Ｅ１０Ａ（第１条件の例）  赤灯火の候補領域が抽出された時点（第１時点）の撮像画像において、当該赤灯火の候補領域の近傍領域（例えば青灯火の候補領域）（第１画像における第２の領域に対応する領域の例）に対して、青灯火候補検出処理を行った場合に、当該青灯火候補検出処理の結果が「非検出」であること。この場合、当該近傍領域において青色検出部２０２により青灯火に対応する青色が所定の第２検出態様と同様の検出態様（第２の検出態様に対応する検出態様の例）で検出されないことになる。なお、所定の第２検出態様と同様の検出態様とは、上述した所定の第２検出態様と実質的に同一であってよい。
【０１２０】
本実施例の信号機認識装置の効果ないし利点として以下の点が挙げられる。
【０１２１】
本実施例では、信号機の灯火の位置関係に対応する２つの領域で赤灯火に対応する色および青灯火に対応する色を検出し、信号機を認識している。このため、例えば、灯火の輪郭など、信号機の画像内の形状に基づく判定を必要としない。このため、様々な信号機の形状や、見え方のばらつきに左右されることなく信号機を認識でき、ロバスト性に優れた信号機認識装置を得ることができる。また、信号機の形状を学習するプロセス、および学習で得た形状と撮影された画像との比較に基づき信号機の有無を判定するプロセスが不要となる。このため、煩雑な処理を必要とせず、確実に信号機およびその切り替わりを認識できる。
【０１２２】
また、本実施例では、赤灯火の候補領域が抽出されると、その後、当該赤灯火の候補領域に対して設定される赤判定領域と青灯火の候補領域のそれぞれに対して、赤灯火候補検出処理および青灯火候補検出処理が実行される。そして、赤灯火候補検出処理および青灯火候補検出処理の結果、赤灯火候補検出処理の結果が「非検出」であり、かつ、青灯火候補検出処理の結果が「検出」である場合に、抽出された赤灯火の候補領域に基づいて信号機が認識される。一般的な環境において、信号機以外の領域において、互いの位置関係が定められた２つの領域の色が同時に変化する確率は非常に低い。このため、灯火色情報としての、赤灯火色および青灯火色に対応する各色の範囲を、比較的広めに設定することも可能であり、この場合、実際の各灯火の色のばらつきや環境の相違に対するロバスト性に優れた信号機認識装置を得ることができる。
【０１２３】
さらに、一般的に、信号機の形状を認識するためには、ある程度高い解像度のイメージセンサ（カメラ１０）が求められる。一方、本実施例では２つの領域における色を信号機の認識のために用いることで、より低い解像度のイメージセンサを使用できる。とくに、２つの領域における色の遷移を併用することにより、イメージセンサの解像度が低い場合でも高い信頼性が得られる。また、高い解像度が必要でないため、認識に要する処理時間の短縮が図られ、レスポンスがよく、安価な装置を得ることができる。
【０１２４】
さらにまた、本実施例では、赤灯火の候補領域が抽出されると、その後、当該赤灯火の候補領域に対して設定される赤判定領域と青灯火の候補領域のそれぞれに対して、赤灯火候補検出処理および青灯火候補検出処理が実行される。このため信号機の切り替えを迅速に認識できるとともに、信号機の状態を正確に判定できる。また、赤灯火候補検出処理および青灯火候補検出処理は、撮像画像の全体ではなく、撮像画像の一部（赤判定領域および青灯火の候補領域）に対して実行される。このため、赤灯火候補検出処理および青灯火候補検出処理に係る負担を軽減できる。
【０１２５】
次に、信号機認識装置２のハードウェア構成の一例を説明する。図１１は、信号機認識装置２のハードウェア構成の一例を示す図である。
【０１２６】
図１１に示す例では、信号機認識装置２は、制御部１０１、主記憶部１０２、補助記憶部１０３、ドライブ装置１０４、ネットワークＩ／Ｆ部１０６、および入力部１０７を含む。
【０１２７】
制御部１０１は、主記憶部１０２や補助記憶部１０３に記憶されたプログラムを実行する演算装置であり、入力部１０７や記憶装置からデータを受け取り、演算、加工した上で、記憶装置などに出力する。
【０１２８】
主記憶部１０２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などである。主記憶部１０２は、制御部１０１が実行する基本ソフトウェアであるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【０１２９】
補助記憶部１０３は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
【０１３０】
ドライブ装置１０４は、記録媒体１０５、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。
【０１３１】
記録媒体１０５は、所定のプログラムを格納する。この記録媒体１０５に格納されたプログラムは、ドライブ装置１０４を介して信号機認識装置２にインストールされる。インストールされた所定のプログラムは、信号機認識装置２により実行可能となる。
【０１３２】
ネットワークＩ／Ｆ部１０６は、有線および／又は無線回線などのデータ伝送路により構築されたネットワークを介して接続された通信機能を有する周辺機器と信号機認識装置２とのインターフェースである。
【０１３３】
入力部１０７は、カーソルキー、数字入力および各種機能キー等を備えたキーボード、マウスやタッチパッド等を有する。
【０１３４】
なお、図１１に示す例において、図４〜図７のフローチャートに示した各種処理等は、プログラムを信号機認識装置２に実行させることで実現することができる。また、プログラムを記録媒体１０５に記録し、このプログラムが記録された記録媒体１０５を信号機認識装置２に読み取らせて、上記の各種処理等を実現させることも可能である。なお、記録媒体１０５は、様々なタイプの記録媒体を用いることができる。例えば、記録媒体１０５は、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等であってよい。
【０１３５】
次に、図１２を参照して、信号機認識装置の、車両への適用例について説明する。
【０１３６】
上記実施例（図１〜図１０）では、カメラ１０が所定の位置に保持された状態で信号機を認識する場合を示しているが、カメラ１０が移動している状態、例えば走行中の車両にカメラ１０が取り付けられた状態で、信号機認識装置を作動させることもできる。
【０１３７】
図１２は、移動中のカメラで撮影される信号機の灯火の位置を示す図であり、図１２Ａは信号機の灯火の位置関係を示す図、図１２Ｂは撮像画像内における灯火を示す図である。
【０１３８】
図１２Ａに示す例では、信号機の赤灯火５１および青灯火５２が横並びに配置されている。車両の前方をカメラ１０で撮影する場合、例えば図１２Ｂに示すように、車両の進行に伴ってカメラ１０が信号機に近づくにつれ、赤灯火５１および青灯火５２は撮像画像４０の中央寄りから左上の移動方向に連続的に移動する。また、赤灯火５１および青灯火５２のサイズは徐々に大きくなるとともに、灯火間の間隔も徐々に拡大する。
【０１３９】
このように、赤灯火５１および青灯火５２は撮像画像４０内で連続的に移動するため、画像処理により撮像画像４０内の赤灯火５１または青灯火５２をトラッキングすることが可能である。このため赤灯火５１または青灯火５２が抽出される撮像画像上の領域の位置および大きさが変化しても、その領域を、以前の撮像画像（フレーム画像）において確定された赤灯火５１および青灯火５２の候補領域に対応する領域として認識し続けることができる。
【０１４０】
この場合、例えば、灯火の大きさおよび灯火の位置関係を示すデータを、車両（カメラ１０）の位置情報に基づいてリアルタイムに算出し、算出されたデータを用いて領域抽出部２１における領域抽出処理、および信号機検出部２３における各種処理を行なうことができる。この場合、車両の位置が信号機の設置位置に接近するにつれ、灯火のサイズの算出値が大きくなり、同時に灯火の相対位置（位置の差分）の算出値も大きくなる。車両の位置情報はＧＰＳ受信機（図１のＧＰＳ受信機１１参照）や車両の走行データ（例えば、車速）等に基づいて得ることができる。走行データ等は、例えば車両のＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）から取得できる。信号機の位置は予備調査などで得ることができる。
【０１４１】
また、抽出された赤灯火５１の領域の大きさおよび位置に応じて、青灯火５２の候補領域を設定してもよい。すなわち、赤灯火５１の領域が大きくなれば、青灯火５２の領域も大きくなり、相対位置（位置の差分）も拡大するはずである。したがって、抽出された赤灯火５１の領域の大きさおよび位置に応じて、リアルタイムに青灯火５２の候補領域を変更することにより、高い確度で青灯火５２の有無を検出できる。この場合には、車両の位置情報をリアルタイムに取得して演算する処理が必須でなくなるという利点がある。
【０１４２】
走行中の車両にカメラ１０が取り付けられた状態で、信号機認識装置２を作動させる場合、信号機が赤から青へ切り替わる場合に限られず、信号機の遷移を広く認識することができる。例えば、信号機が赤→青→黄→赤→・・・と切り替わる場合に、青から黄への遷移あるいは黄から赤への遷移を認識することもできる。
【０１４３】
なお、カメラ１０が移動せず静止しているが既定の位置にない状態で信号機を認識したい場合も、車両の位置情報に基づくデータの算出や、抽出された赤灯火５１の領域に応じた青灯火５２の候補領域の設定など、同様の手法を採用できる。
【０１４４】
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形および変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
【０１４５】
例えば、上述した図３から図７のフローチャートに示す処理では、ステップＳ４０２の赤色検出部２０１による赤色検出処理、および、ステップＳ４０８の青色検出部２０２による青色検出処理は、撮像画像の全体に対して常に実行されるが、これに限られない。ステップＳ４０２の赤色検出部２０１による赤色検出処理、および、ステップＳ４０８の青色検出部２０２による青色検出処理は、撮像画像の全体ではなく、撮像画像の一部（赤判定領域および青灯火の候補領域）に対してのみ実行されてもよい。
【０１４６】
また、上述した図３から図７のフローチャートに示す処理では、赤灯火候補検出部２０３による赤灯火候補検出処理（ステップＳ４１２）は、ステップＳ４１０で設定した赤判定領域に基づいて実行されるが、これに限られない。赤灯火候補検出部２０３による赤灯火候補検出処理は、領域抽出部２１で用いるようなウインドウ４０ａ（図８参照）を用いて実現されてもよい。例えば、赤判定領域のサイズに対応したウインドウを用いてステップＳ４０６の第１領域抽出処理（図４）と同様の処理を実行することで、領域抽出部２１で抽出された赤灯火の候補領域に対応する赤灯火の候補領域（例えば、赤画素が所定画素数Ｎ１’以上存在する候補領域）を探索してもよい。この場合、移動体と認識対象の信号機との間の位置関係に応じて、探索範囲（ウインドウの走査範囲）を設定してもよい。そして、この場合、赤灯火候補検出部２０３は、領域抽出部２１で抽出された赤灯火の候補領域に対応する赤灯火の候補領域を検出した場合は、赤灯火候補検出処理の判定結果を「検出」とし、そうでない場合は、赤灯火候補検出処理の判定結果を「非検出」として出力する。これは、青灯火候補検出部２０４による青灯火候補検出処理（ステップＳ４１６）についても同様である。
【０１４７】
また、上述した図３から図７のフローチャートに示す処理では、認識対象の信号機と移動体（カメラ１０）との位置関係が変化しうることを考慮しているが、これに限られない。例えば、図３に示す処理は、移動体が停止状態であるときだけ実行されてもよい。例えば、図３に示す処理は、認識対象の信号機の手前で移動体が停止状態となった場合に起動され、当該停止状態で所定周期ごとに繰り返し実行されてもよい。この場合、上述のように、赤判定領域は、赤灯火の候補領域と同じ領域とすることができるので、処理負荷を低減できる。なお、かかる構成では、信号機が認識され、かつ、信号機の青灯火の点灯状態が検出された場合に、移動体が停止状態を解除して、前進する（青信号を進む）ように移動体の移動態様が制御されてもよい。
【０１４８】
また、上述した実施例では、赤灯火の候補領域を抽出してから青灯火の候補領域における青灯火候補検出処理の結果に基づいて、信号機の認識を行っているが、逆であってもよい。すなわち、青灯火の候補領域を抽出してから赤判定領域における赤灯火候補検出処理の結果に基づいて、信号機の認識を行ってもよい。
【０１４９】
なお、以上の実施例に関し、さらに以下の付記を開示する。
【０１５０】
［付記１］
画像内から、信号機の第１灯火の第１点灯色を検出する第１色検出部（２０１）と、
画像内から、前記信号機の第２灯火の第２点灯色を検出する第２色検出部（２０２）と、
第１時点で取得した第１画像における第１の領域に前記第１色検出部により前記第１点灯色が検出され、かつ、前記第１時点よりも後の第２時点で取得した第２画像における第２の領域であって前記第１の領域に対し前記第２画像上で特定の位置関係にある第２の領域において、前記第２色検出部により前記第２点灯色が検出された場合に、前記第１の領域に基づいて信号機を認識する信号機検出部（２３）と、を備える、信号機認識装置（２０）。
【０１５１】
付記１の構成によれば、信号機が第１点灯色と第２点灯色で時間差をもって点灯することを利用して、異なる２時点の画像である第１画像と第２画像とに基づいて、信号機が認識される。これにより、煩雑な処理を要することなく、精度良く信号機を認識することができる。
【０１５２】
［付記２］
前記信号機検出部は、前記第１画像における前記第１の領域に前記第１色検出部により前記第１点灯色が第１の検出態様で検出されるとともに、前記第２画像における前記第２の領域に前記第２色検出部により前記第２点灯色が第２の検出態様で検出され、かつ、所定条件が満たされた場合に、前記第１の領域および前記第２の領域に対応する位置の前記信号機を認識し、
前記所定条件は、前記第１画像における前記第２の領域に対応する領域において前記第２色検出部により前記第２点灯色が前記第２の検出態様に対応する検出態様で検出されない場合に満たされる第１条件を含む、付記１に記載の信号機認識装置。
【０１５３】
付記２の構成によれば、第１の領域および第２の領域に対応する位置の信号機を認識するための所定条件として、第１条件が更に付加され、第１条件は、第１の領域に第１点灯色が第１の検出態様で検出された第１画像における第２の領域に対応する領域において、第２点灯色が第２の検出態様に対応する検出態様で検出されない場合に満たされる。これは、第１の領域および第２の領域に対応する位置に信号機が実際に存在する場合には、第１点灯色と第２点灯色とが同時に点灯している状態となることは実質的になく、従って、第１画像における第２の領域に対応する領域において第２点灯色が第２の検出態様で検出される可能性は、低いためである。このような点を利用することで、付記２の構成によれば、さらに精度良く信号機を認識することができる。
【０１５４】
なお、第１画像における第２の領域に対応する領域とは、撮像手段が第１時点と第２時点との間で移動していない場合は、第１画像における第２の領域に対応する領域は、第２の領域と同じである。他方、撮像手段が第１時点と第２時点との間で移動している場合は、第１画像における第２の領域に対応する領域は、当該移動態様に応じて算出されてよい。例えば認識対象の信号機の位置情報が予め記憶されている場合は、撮像手段の位置と認識対象の信号機の位置との関係に基づいて、第１画像における第２の領域に対応する領域が算出されてもよい。
【０１５５】
なお、第１の領域に第１点灯色が検出される際の検出態様として「第１の検出態様」とは、任意であるが、例えば第１の領域のうちの所定面積以上の領域で第１点灯色が検出される態様であってよい。
【０１５６】
また、第２の領域に第２点灯色が検出される際の検出態様として「第２の検出態様」とは、任意であるが、例えば第２の領域のうちの所定面積以上の領域で第２点灯色が検出される態様であってよい。また、第２の検出態様は、第１の検出態様と同様であってよいし、若干異なってもよい。
【０１５７】
例えば、第２の検出態様に対応する検出態様とは、第１画像における第２の領域に対応する領域が、Ｍ’個の画素数である場合、当該領域において第２点灯色が所定数Ｍ１’（≦Ｍ’）以上の画素で検出される態様であり、かつ、Ｍ１’／Ｍ’とＮ１’／Ｎ’との間に何らかの相関性がある態様であってよい。ここでは、説明上、「第２点灯色が第２の検出態様で検出」とは、例えば、Ｎ’個の画素数である第２の領域において第２点灯色が所定数Ｎ１’（≦Ｎ’）以上の画素数で検出される態様であるとする。
【０１５８】
［付記３］
前記信号機検出部は、前記第１画像における前記第１の領域に前記第１色検出部により前記第１点灯色が第１の検出態様で検出されるとともに、前記第２画像における前記第２の領域に前記第２色検出部により前記第２点灯色が第２の検出態様で検出され、かつ、所定条件が満たされた場合に、前記第１の領域および前記第２の領域に対応する位置の前記信号機を認識し、
前記所定条件は、前記第２画像における前記第１の領域に対応する領域において前記第１色検出部により前記第１点灯色が前記第１の検出態様に対応する検出態様で検出されない場合に満たされる第２条件を含む、付記１又は２に記載の信号機認識装置。
【０１５９】
付記３の構成によれば、第１の領域および第２の領域に対応する位置の信号機を認識するための所定条件として、第２条件が更に付加され、第２条件は、第２画像における第１の領域に対応する領域において第１点灯色が第１の検出態様に対応する検出態様で検出されない場合に満たされる。これは、第１の領域および第２の領域に対応する位置に信号機が実際に存在する場合には、第１点灯色と第２点灯色とが同時に点灯している状態となることは実質的になく、従って、第２画像における第１の領域に対応する領域において第１点灯色が第１の検出態様で検出される可能性は、低いためである。このような点を利用することで、付記３の構成によれば、さらに精度良く信号機を認識することができる。
【０１６０】
なお、第２画像における第１の領域に対応する領域とは、撮像手段が第１時点と第２時点との間で移動していない場合は、第２画像における第１の領域に対応する領域は、第１の領域と同じである。他方、撮像手段が第１時点と第２時点との間で移動している場合は、第２画像における第１の領域に対応する領域は、当該移動態様に応じて算出されてよい。
【０１６１】
また、この場合、第１の検出態様に対応する検出態様とは、例えば、第２画像における第１の領域に対応する領域が、Ｎ’個の画素数である場合、当該領域において第１点灯色が所定数Ｎ１’（≦Ｎ’）以上の画素数で検出される態様であり、かつ、Ｎ１’／Ｎ’とＮ１／Ｎとの間に何らかの相関性がある態様であってよい。なお、ここでは、説明上、「第１点灯色が第１の検出態様で検出」とは、例えば、Ｎ個の画素数である第１の領域において第１点灯色が所定数Ｎ１（≦Ｎ）以上の画素数で検出される態様であるとする。
【０１６２】
［付記４］
前記所定条件は、前記第１時点よりも後であって前記第２時点よりも前の１つ以上の第３時点で取得した１つ以上の第３画像のそれぞれにおける前記第１の領域に対応する領域において、前記第１色検出部により前記第１点灯色が検出されるか否かに関連する第３条件を更に含む、付記２又は３に記載の信号機認識装置。
【０１６３】
付記４の構成によれば、第１の領域および第２の領域に対応する位置の信号機を認識するための所定条件として、第３条件が更に付加され、第３条件は、第３画像のそれぞれにおける第１の領域に対応する領域において、第１色検出部により第１点灯色が検出されるか否かに関連する。これにより、第１時点と第２時点の間の第３時点での第３画像を利用して、信号機の認識に対する信頼性をさらに向上させることができる。
【０１６４】
［付記５］  
前記第３条件は、前記１つ以上の第３画像のうちの、前記第１の領域に対応する領域において前記第１色検出部により前記第１点灯色が前記第１の検出態様に対応する検出態様で検出される特定の第３画像の個数、又は、前記１つ以上の第３画像のうちの、前記特定の第３画像の出現の時間的な連続性に基づいて判定される、付記４に記載の信号機認識装置。
【０１６５】
付記５の構成によれば、第３条件は、特定の第３画像の個数や特定の第３画像の出現の時間的な連続性に基づいて判定される。ここで、第１の領域および第２の領域に対応する位置に信号機が実際に存在する場合には、第２点灯色が第２の検出態様に対応する検出態様で検出されるまでは、第３画像における第１の領域に対応する領域において第１点灯色が第１の検出態様に対応する検出態様で検出される可能性が高い。付記５の構成によれば、このような点を利用して、信号機の認識に対する信頼性をさらに向上させることができる。
【０１６６】
なお、第１の検出態様に対応する検出態様とは、撮像手段が第１時点と第３時点との間で移動していない場合は、第１の検出態様と同じであってよく、撮像手段が第１時点と第３時点との間で移動している場合は、第１の検出態様とは異なってよい。これは、撮像手段が第１時点と第３時点との間で移動している場合は、第１点灯色の検出態様（すなわち撮像手段にとっての見え方）が異なりうるためである。
【０１６７】
［付記６］
前記第３条件は、前記特定の第３画像の個数が第１所定数以上である場合、又は、前記特定の第３画像の出現頻度が第１頻度以上である場合に、満たされる、付記５に記載の信号機認識装置。
【０１６８】
ここで、第１の領域および第２の領域に対応する位置に信号機が実際に存在する場合には、特定の第３画像の個数が比較的多くなり、かつ、特定の第３画像の出現の時間的な連続性が高くなる（すなわち連続的に出現しやすい）。付記６の構成によれば、このような点を利用して、信号機の認識に対する信頼性をさらに向上させることができる。
【０１６９】
また、前記第３条件は、前記特定の第３画像が第１所定回数連続して出現しない状態が発生することなく、前記特定の第３画像の個数が第１所定数以上になる場合に、満たされてもよい。
【０１７０】
［付記７］
前記所定条件は、前記第３時点よりも後であって前記第２時点よりも前の１つ以上の第４時点で取得した１つ以上の第４画像のそれぞれにおける前記第２の領域に対応する領域において、前記第２色検出部により前記第２点灯色が前記第２の検出態様に対応する検出態様で検出され、かつ、前記１つ以上の第４画像のそれぞれにおける前記第１の領域に対応する領域において、前記第１色検出部により前記第１点灯色が前記第１の検出態様に対応する検出態様で検出されない場合に満たされる第４条件を更に含む、付記４から６のうちのいずれか１項に記載の信号機認識装置。
【０１７１】
付記７の構成によれば、第４条件を加えることで、第２時点での第２色検出部による第２点灯色の検出結果の信頼度が向上し、その結果、信号機の認識精度を高めることができる。
【０１７２】
［付記８］
前記所定条件は、前記第３画像のそれぞれにおける前記第２の領域に対応する領域において、前記第２色検出部により前記第２点灯色が検出されるか否かに関連する第５条件を更に含む、付記７に記載の信号機認識装置。
【０１７３】
この場合、例えば、第５条件は、前記第３画像のそれぞれにおける前記第２の領域に対応する領域において、前記第２色検出部により前記第２点灯色が検出されない場合に満たされてもよい。
【０１７４】
付記８の構成によれば、第１の領域および第２の領域に対応する位置の信号機を認識するための所定条件として、第５条件が更に付加され、第５条件は、第３画像のそれぞれにおける第２の領域に対応する領域において、第２色検出部により第２点灯色が検出されるか否かに関連する。これにより、第１時点と第２時点の間の第３時点での第３画像を利用して、信号機の認識に対する信頼性をさらに向上させることができる。
【０１７５】
［付記９］
前記第５条件は、前記１つ以上の第３画像のうちの、前記第２の領域に対応する領域において前記第２色検出部により前記第２点灯色が前記第２の検出態様に対応する検出態様で検出されない特定の第３画像の個数、又は、前記１つ以上の第３画像のうちの、前記特定の第３画像の出現の時間的な連続性に基づいて判定される、付記８に記載の信号機認識装置。
【０１７６】
付記９の構成によれば、第５条件は、特定の第３画像の個数や特定の第３画像の出現の時間的な連続性に基づいて判定される。ここで、第１の領域および第２の領域に対応する位置に信号機が実際に存在する場合には、第２の領域に第２点灯色が第２の検出態様で検出されるまでは、第３画像における第２の領域に対応する領域において第２点灯色が第２の検出態様に対応する検出態様で検出される可能性が低い。付記９の構成によれば、このような点を利用して、信号機の認識に対する信頼性をさらに向上させることができる。
【０１７７】
なお、第２の検出態様に対応する検出態様とは、撮像手段が第１時点と第３時点との間で移動していない場合は、第２の検出態様と同じであってよく、撮像手段が第１時点と第３時点との間で移動している場合は、第２の検出態様とは異なってよい。これは、撮像手段が第１時点と第３時点との間で移動している場合は、第２点灯色の検出態様（すなわち撮像手段にとっての見え方）が異なりうるためである。
【０１７８】
［付記１０］
前記第５条件は、前記特定の第３画像の個数が第２所定数以上である場合、又は、前記特定の第３画像の出現頻度が第２頻度以上である場合に、満たされる、付記９に記載の信号機認識装置。
【０１７９】
ここで、第１の領域および第２の領域に対応する位置に信号機が実際に存在する場合には、特定の第３画像の個数が比較的多くなり、かつ、特定の第３画像の出現の時間的な連続性が高くなる（すなわち連続的に出現しやすい）。付記１０の構成によれば、このような点を利用して、信号機の認識に対する信頼性をさらに向上させることができる。
【０１８０】
［付記１１］
前記信号機検出部は、前記信号機を認識するとともに、前記第１点灯色に係る灯火の点灯状態から前記第２点灯色に係る灯火の点灯状態への遷移を検出する、付記１から１０のうちのいずれか１項に記載の信号機認識装置。
【０１８１】
付記１１の構成によれば、信号機を認識する際に利用する第１色検出部及び第２色検出部の検出結果に基づいて、信号機の点灯状態の遷移を検出できる。
【０１８２】
［付記１２］
前記特定の位置関係は、認識対象の信号機の形状情報に応じて決まる、付記１〜１１のうちのいずれか１項に記載の信号機認識装置。
【０１８３】
付記１２の構成によれば、認識対象の信号機の形状情報（例えば縦型や横型）を考慮することで、認識対象の信号機の形状に応じた特定の位置関係に基づいて、信号機の認識に対する信頼性をさらに向上させることができる。
【０１８４】
［付記１３］
前記第１画像における前記第１の領域に前記第１色検出部により前記第１点灯色が検出されるまでは、前記第２色検出部による前記第２点灯色の検出処理は実行されない、付記１〜１２のうちのいずれか１項に記載の信号機認識装置。
【０１８５】
付記１３の構成によれば、第１画像における第１の領域に第１色検出部により第１点灯色が検出されていない状況下で第２色検出部による第２点灯色の検出処理が実行される場合に比べて、処理負荷を低減できる。
【０１８６】
［付記１４］
第１時点で取得した第１画像における第１の領域において、信号機の第１灯火の第１点灯色を検出し、
前記第１時点よりも後の第２時点で取得した第２画像における第２の領域であって、前記第１の領域に対し前記第２画像上で特定の位置関係にある第２の領域において、前記信号機の第２灯火の第２点灯色を検出した場合に、前記第１の領域に基づいて、前記信号機を認識することを含み、コンピュータにより実行される信号機認識方法。
【０１８７】
［付記１５］
第１時点で取得した第１画像における第１の領域において、信号機の第１灯火の第１点灯色を検出し、
前記第１時点よりも後の第２時点で取得した第２画像における第２の領域であって、前記第１の領域に対し前記第２画像上で特定の位置関係にある第２の領域において、前記信号機の第２灯火の第２点灯色を検出した場合に、前記第１の領域に基づいて、前記信号機を認識する
処理をコンピュータに実行させる、信号機認識のためのプログラム。
【０１８８】
［付記１６］
画像内から信号機の第１点灯色を検出する第１色検出部と、
画像内から、前記信号機の第２灯火の第２点灯色を検出する第２色検出部と、
複数時点で取得される画像に対する前記第１色検出部による検出結果と、同複数時点で取得される画像に対する前記第２色検出部による検出結果とに基づいて、信号機を認識する信号機検出部と、を備える、信号機認識装置。
【符号の説明】
【０１８９】
１      信号認識システム
２    信号機認識装置
３      動作制御部
１１  ＧＰＳ受信機
２１    領域抽出部
２０    色検出部
２０１  赤色検出部
２０２  青色検出部
２０３  赤灯火候補検出部
２０４  青灯火候補検出部
２３    信号機検出部
３１  信号機情報登録部
３２  灯火色登録部
３３  位置関係登録部
３４  候補領域登録部
３５  履歴登録部
【図１】
2020194447.tif 000003
【図２】
2020194447.tif 000004
【図３】
2020194447.tif 000005
【図４】
2020194447.tif 000006
【図５Ａ】
2020194447.tif 000007
【図５Ｂ】
2020194447.tif 000008
【図６】
2020194447.tif 000009
【図７】
2020194447.tif 000010
【図８Ａ】
2020194447.tif 000011
【図８Ｂ】
2020194447.tif 000012
【図８Ｃ】
2020194447.tif 000013
【図９】
2020194447.tif 000014
【図１０】
2020194447.tif 000015
【図１１】
2020194447.tif 000016
【図１２Ａ】
2020194447.tif 000017
【図１２Ｂ】
2020194447.tif 000018