(57)【特許請求の範囲】
【請求項１】
周囲の環境を撮影して画像情報を取得する画像情報取得手段と、
上記画像情報から、信号及び横断歩道の検出、並びにこれらの検出結果の確からしさを表す検出確度の生成を行う物体検出手段と、
上記横断歩道から信号が存在すると推定できる領域を設定する、信号推定領域の設定手段と、
上記信号、横断歩道及び検出確度から現在の信号の状態を判定する、状態判定手段
とを備え、
上記状態判定手段では、上記信号推定領域内に上記物体検出手段で検出された信号が存在する場合と、上記物体検出手段で検出された信号は存在するが上記信号推定領域内に位置する信号がない場合とで、検出確度の値から現在の信号の状態を判定する際の判定の基準が異なっている、歩行者信号機用の信号識別装置。
【請求項２】
上記状態判定手段が、
上記信号推定領域内に上記物体検出手段で検出された信号が存在する場合に、この信号推定領域内の信号のうち検出確度が最大の信号を最善の信号として選択する第一の信号選択手段と、
上記第一の信号選択手段で選択された最善の信号の検出確度の値により、この最善の信号を現在の信号の状態とするか否かを判定する第一の信号判定手段と、
上記物体検出手段で検出された信号は存在するが上記信号推定領域内に位置する信号がない場合に、これらの物体検出手段で検出された信号のうち検出確度が最大の信号を最善の信号として選択する第二の信号選択手段と、
上記第二の信号選択手段で選択された最善の信号の検出確度の値により、この最善の信号を現在の信号の状態とするか否かを判定する第二の信号判定手段とを備え、
上記第一の信号判定手段と第二の信号判定手段とで、判定の基準が異なっている、請求項１に記載の信号識別装置。
【請求項３】
上記第一の判定手段では、最善の信号の検出確度が所定の閾値Ｔｉ以上であればこの最善の信号が現在の信号の状態と判定され、
上記第二の判定手段では、最善の信号の検出確度が所定の閾値Ｔｏ以上であればこの最善の信号が現在の信号の状態と判定され、
上記閾値Ｔｉが上記閾値Ｔｏより小さい、請求項２に記載の信号識別装置。
【請求項４】
上記物体検出手段では、横断歩道はその幅を規定している境界線が検出され、
上記信号推定領域には、上記物体検出手段において横断歩道の幅を規定している右側の境界線と左側の境界線の両方が検出できたときにこれらの境界線から設定されるタイプ１の信号推定領域と、上記物体検出手段において横断歩道の幅を規定している右側の境界線及び左側の境界線のいずれか一方のみが検出できたときにこの境界線から設定されるタイプ２の信号推定領域とが存在し、
上記第一の判定手段では、上記信号推定領域がタイプ１である場合には、最善の信号の検出確度が所定の閾値Ｔｉ１以上であればこの最善の信号が現在の信号の状態と判定され、上記信号推定領域がタイプ２である場合には、最善の信号の検出確度が所定の閾値Ｔｉ２以上であればこの最善の信号が現在の信号の状態と判定され、
上記第二の判定手段では、最善の信号の検出確度が所定の閾値Ｔｏ以上であればこの最善の信号が現在の信号の状態と判定され、
上記閾値Ｔｉ１が上記閾値Ｔｉ２より小さく、上記閾値Ｔｉ２が上記閾値Ｔｏより小さい、請求項２に記載の信号識別装置。
【請求項５】
上記画像情報のピクセル数を減らす低解像度化手段と、
上記低解像度化した画像情報に対し、信号及び横断歩道の検出、並びにこれらの検出結果の確からしさを表す検出確度の生成を行う第一の物体検出手段と、
上記第一の物体検出手段で得られた信号、横断歩道及び検出確度から現在の信号の状態を判定する第一の状態判定手段と、
上記第一の状態判定手段の結果より、上記低解像度化する前の画像情報から探索すべき領域を切り出す、探索領域切り出し手段と、
上記探索領域の画像情報に対し、信号及び横断歩道の検出、並びにこれらの検出結果の確からしさを表す検出確度の生成を行う第二の物体検出手段と、
上記第二の物体検出手段で得られた信号、横断歩道及び検出確度から現在の信号の状態を判定する第二の状態判定手段
とを備える、請求項１から４のいずれかに記載の信号識別装置。
【請求項６】
上記探索領域の画像情報に対しこの探索領域内の輝度の分布の偏りを解消する輝度調整手段をさらに備え、
この輝度調整された画像情報に対し、上記第二の物体検出手段が実施される、請求項５に記載の信号識別装置。
【請求項７】
上記物体検出手段が、ニューラルネットワークを使用して実現されており、
上記ニューラルネットワークでは、横断歩道の幅を規定している境界線が、この境界線を囲む矩形の領域として学習されており、
上記境界線が、右上がりの線分の場合及び左上がりの線分の場合で、異なる物体として学習されている、請求項１から６のいずれかに記載の信号識別装置。
【請求項８】
上記境界線が、右上がりの線分の場合、左上がりの線分の場合、及び垂直線分の場合で、互いに異なる物体として学習されている、請求項７に記載の信号識別装置。
【請求項９】
加速度センサ及びカメラ方向補正手段をさらに備え、
上記カメラ方向補正手段が、上記加速度センサの計測結果からこの装置の姿勢を補正するための情報を生成する、請求項１から８のいずれかに記載の信号識別装置。
【請求項１０】
演算器を有する携帯機器において動作するプログラムであって、
上記演算器に対して、
周囲の環境を撮影した画像情報から、信号及び横断歩道の検出、並びにこれらの検出結果の確からしさを表す検出確度の生成を行う物体検出処理と、
上記横断歩道から信号が存在すると推定できる領域を設定する、信号推定領域の設定処理と、
上記信号、横断歩道及び検出確度から現在の信号の状態を判定する、状態判定処理
とを実行させ、
上記状態判定処理では、上記信号推定領域内に上記物体検出処理で検出された信号が存在する場合と、上記物体検出処理で検出された信号は存在するが上記信号推定領域内に位置する信号がない場合とで、検出確度の値から現在の信号の状態を判定する際の判定の基準が異なっている、歩行者信号機用の信号識別プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、歩行者信号機用の信号識別装置に関する。
【背景技術】
【０００２】
近年、高齢化の進展や、社会参加する障害者の増加に伴い、高齢者や障害者が自力で行動することを支援する機器に対する要求が強くなっている。視覚障害者が横断歩道を渡るのを支援する信号機識別装置が、この例である。非特許文献１（「ＬＥＤ信号機の点滅を利用した視覚障がい者用信号機情報提示スマートフォンアプリの開発」、情報処理インタラクション２０１７論文集、７９９項−８０２項）には、スマートフォンで動作する信号機識別ソフトが開示されている。このソフトでは、信号機の点滅の周波数を利用して、信号機の検出の精度を向上させている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】「ＬＥＤ信号機の点滅を利用した視覚障がい者用信号機情報提示スマートフォンアプリの開発」、情報処理インタラクション２０１７論文集、７９９頁−８０２頁
【発明の概要】
【発明が解決しようとする課題】
【０００４】
視覚障害者がより安全に横断歩道を渡ることができるように、識別精度が高い歩行者信号機用の信号識別装置が望まれている。
【０００５】
本発明の目的は、優れた識別精度を有する、歩行者信号機用の信号識別装置の提供にある。
【課題を解決するための手段】
【０００６】
本発明に係る信号識別装置は、周囲の環境を撮影して画像情報を取得する画像情報取得手段と、上記画像情報から、信号及び横断歩道の検出、並びにこれらの検出結果の確からしさを表す検出確度の生成を行う物体検出手段と、上記信号、横断歩道、及び検出確度から現在の信号の状態を判定する状態判定手段とを備える。
【０００７】
好ましくは、この装置は、上記横断歩道から信号が存在すると推定できる領域を設定する、信号推定領域の設定手段をさらに備える。上記状態判定手段は、上記信号推定領域内に上記物体検出手段で検出された信号が存在する場合に、この信号推定領域内の信号のうち検出確度が最大の信号を最善の信号として選択する第一の信号選択手段と、上記第一の信号選択手段で選択された最善の信号の検出確度の値により、この最善の信号を現在の信号の状態とするか否かを判定する第一の信号判定手段と、上記物体検出手段で検出された信号は存在するが上記信号推定領域内に位置する信号がない場合に、これらの物体検出手段で検出された信号のうち検出確度が最大の信号を最善の信号として選択する第二の信号選択手段と、上記第二の信号選択手段で選択された最善の信号の検出確度の値により、この最善の信号を現在の信号の状態とするか否かを判定する第二の信号判定手段とを備える。上記第一の信号判定手段と第二の信号判定手段とで、判定の基準が異なっている。
【０００８】
好ましくは、上記第一の判定手段では、最善の信号の検出確度が所定の閾値Ｔｉ以上であればこの最善の信号が現在の信号の状態と判定され、上記第二の判定手段では、最善の信号の検出確度が所定の閾値Ｔｏ以上であればこの最善の信号が現在の信号の状態と判定される。上記閾値Ｔｉは上記閾値Ｔｏより小さい。
【０００９】
好ましくは、上記物体検出手段では、横断歩道はその幅を規定している境界線が検出され、上記信号推定領域には、上記物体検出手段において横断歩道の幅を規定している右側の境界線と左側の境界線の両方が検出できたときにこれらの境界線から設定されるタイプ１の信号推定領域と、上記物体検出手段において横断歩道の幅を規定している右側の境界線及び左側の境界線のいずれか一方のみが検出できたときにこの境界線から設定されるタイプ２の信号推定領域とが存在する。上記第一の判定手段では、上記信号推定領域がタイプ１である場合には、最善の信号の検出確度が所定の閾値Ｔｉ１以上であればこの最善の信号が現在の信号の状態と判定され、上記信号推定領域がタイプ２である場合には、最善の信号の検出確度が所定の閾値Ｔｉ２以上であればこの最善の信号が現在の信号の状態と判定される。上記第二の判定手段では、最善の信号の検出確度が所定の閾値Ｔｏ以上であればこの最善の信号が現在の信号の状態と判定される。上記閾値Ｔｉ１が上記閾値Ｔｉ２より小さく、上記閾値Ｔｉ２が上記閾値Ｔｏより小さい。
【００１０】
好ましくは、この装置は、上記画像情報のピクセル数を減らす低解像度化手段と、上記低解像度化した画像情報に対し、信号及び横断歩道の検出、並びにこれらの検出結果の確からしさを表す検出確度の生成を行う第一の物体検出手段と、上記第一の物体検出手段で得られた信号、横断歩道及び検出確度から現在の信号の状態を判定する第一の状態判定手段と、上記第一の状態判定手段の結果より、上記低解像度化する前の画像情報から探索すべき領域を切り出す探索領域切り出し手段と、上記探索領域の画像情報に対し、信号及び横断歩道の検出、並びにこれらの検出結果の確からしさを表す検出確度の生成を行う第二の物体検出手段と、上記第二の物体検出手段で得られた信号、横断歩道及び検出確度から現在の信号の状態を判定する第二の状態判定手段とを備える。
【００１１】
好ましくは、この装置は、上記探索領域の画像情報に対し輝度調整を行う輝度調整手段をさらに備え、この輝度調整された画像情報に対し、上記第二の物体検出手段が実施される。
【００１２】
好ましくは、上記物体検出手段は、ニューラルネットワークを使用して実現されている。上記ニューラルネットワークでは、横断歩道の幅を規定している境界線が、この境界線を囲む矩形の領域として学習されている。このとき、上記境界線は、右上がりの線分の場合及び左上がりの線分の場合で、異なる物体として学習されている。より好ましくは、上記境界線は、右上がりの線分の場合、左上がりの線分の場合、及び垂直線分の場合で、互いに異なる物体として学習されている。
【００１３】
好ましくは、この装置は、加速度センサ及びカメラ方向補正手段をさらに備え、このカメラ方向補正手段は、上記加速度センサの計測結果からこの装置の姿勢を補正するための情報を生成する。
【００１４】
本発明に係る歩行者信号機用の信号識別プログラムは、演算器を有する携帯機器において動作する。このプログラムは、上記演算器に対して、周囲の環境を撮影した画像情報から、信号及び横断歩道の検出、並びにこれらの検出結果の確からしさを表す検出確度の生成を行う物体検出処理と、上記信号、横断歩道、及び検出確度から現在の信号の状態を判定する状態判定処理とを実行させる。
【発明の効果】
【００１５】
本発明に係る歩行者信号機用の信号識別装置では、周囲の環境を撮影した画像情報から検出した信号及び横断歩道、並びにこれらの検出確度から、現在の信号の状態が判定される。この装置は、信号の状態の判定に、信号の検出結果だけではなく、横断歩道の検出結果を併せて使用することで、信号の優れた識別精度を実現している。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明の一実施形態に係る信号識別装置が示された、ブロック図である。
【図２】図２は、図１の装置の表示／入力器の表示画面の一例である。
【図３】図３は、本装置のプログラムが図１の演算ユニットの演算器に実行させる処理が示された、ブロック図である。
【図４】図４は、図３の処理で実施される、処理の流れが示されたフロー図である。
【図５】図５は、図４の画像整形処理で整形された後の画像の一例である。
【図６】図６（ａ）及び（ｂ）は、それぞれ図４の信号推定領域設定処理で設定された信号推定領域の例である。
【図７】図７は、図４の状態判定での処理の流れが示されたフローチャートである。
【図８】図８（ａ）、（ｂ）及び（ｃ）は、それぞれ図４の探索領域切り出し処理で切り出される探索領域の例である。
【図９】図９は、図４の状態遷移の動作が示された、状態遷移図である。
【図１０】図１０は、図４の物体検出で動作されるニューラルネットワークの学習で使用する、横断歩道の境界線の例である。
【図１１】図１１は、図４の物体検出で動作されるニューラルネットワークの学習で使用する、横断歩道の境界線の他の例である。
【図１２】図１２は、図４の物体検出で動作されるニューラルネットワークの学習で使用する、横断歩道の境界線のさらに他の例である。
【発明を実施するための形態】
【００１７】
以下、適宜図面が参照されつつ、好ましい実施形態に基づいて本発明が詳細に説明される。
【００１８】
［概要］
本発明に係る歩行者信号機用の信号識別装置は、視覚障害者用である。本装置のユーザーは、視覚に障害を有する、歩行者、自転車搭乗者、車椅子搭乗者等である。本装置は、これらのユーザーが横断歩道を渡る際に、歩行者用信号機の状態の識別を補助する。
【００１９】
本装置のユーザーは、外出の際に本装置を携帯する。例えばユーザーは、本装置を所定のホルダーに入れて、首から掛ける。ユーザーは、ポケットや鞄等に本装置を入れて携帯し、使用時にこれを取り出してもよい。ユーザーは、横断歩道を渡る前に、本装置で歩行者用の信号を撮影する。本装置は、撮影した画像から信号の状態を識別し、ユーザーに通知する。例えば、本装置は、識別結果として、信号が「青」、「点滅」、及び「赤」のいずれの状態かをユーザーに通知する。この実施形態では、識別結果は、本装置の画面への表示、音の再生、及び本装置の振動のうちのいずれか、又はこれらの組み合わせで、ユーザーに通知される。
【００２０】
［全体構成］
図１は、本発明の一実施形態に係る信号識別装置２が示された、ブロック図である。図１で示されるように、この装置２は、演算ユニット４、カメラ６、表示／入力器８、発音器１０、バイブレータ１２及び加速度センサ１４を備える。図示されないが、この装置２は、演算ユニット４を動作させるプログラムをさらに備える。この実施形態では、この装置２のハードウエア部分は、スマートフォンで実現されている。ハードウエア部分が、他の携帯機器で実現されていてもよい。例えばハードウエア部分が、タブレットコンピュータで実現されていてもよく、携帯ゲーム器で実現されていてもよい。ハードウエア部分が、本装置専用のハードウエアであってもよい。
【００２１】
図１で示されるように、演算ユニット４は、演算器１６、メモリ１８及びインターフェース２０を備える。演算器１６は、典型的にはＣＰＵである。演算器１６が複数のＣＰＵ及びその周辺回路から構成されていてもよい。メモリ１８には、信号識別の処理を演算ユニット４に実行させるためのプログラム（信号識別プログラム）が格納される。メモリ１８には、この処理で演算器１６が使用するデータも格納される。メモリ１８は、典型的には半導体メモリ及びハードディスクである。インターフェース２０は、演算器１６及びメモリ１８と、カメラ６、表示／入力器８、発音器１０、バイブレータ１２及び加速度センサ１４との間で、データをやりとりするための回路である。
【００２２】
カメラ６は、周囲の環境を撮影し、画像情報として演算ユニット４に送る。カメラ６は、この装置２の画像情報取得手段を構成する。この実施形態では、カメラ６が撮影する画像は、解像度が１９２０×１０８０ピクセル、フレームレートが２７．５ｆｐｓのＲＧＢのカラー動画像である。カメラ６が撮影する画像の解像度及びフレームレートは、上記の値より大きくてもよく、小さくてもよい。ただし、フレームレートは、信号が点滅するときの点滅の周波数（５０Ｈｚまたは６０Ｈｚ）に同期しない値が選択される。ユーザーは、本装置２の姿勢を変えることで、縦長（ポートレイト）の画像または横長（ランドスケープ）の画像のいずれを撮影するかを選択することができる。
【００２３】
表示／入力器８は、信号識別結果をユーザーに通知するのに使用される。表示／入力器８は、信号識別結果をカメラ６が撮影した画像とともに表示する。表示／入力器８は、ユーザーの指示を本装置２に入力するためにも使用される。この実施形態では、表示／入力器８はタッチパネルである。表示器と入力器とが、別々に実現されていてもよい。例えば本装置２が、入力器としてキーを有していてもよい。
【００２４】
図２には、表示／入力器８の表示画面２２の例が示されている。この例では、信号の識別結果が、カメラ６が撮影した信号機周辺の画像とともに表示されている。この例では、カメラ６は横長の画像を撮影している。図２で示されるように、撮影した画像の周囲に、識別結果表示領域２４が設けられている。例えば、信号の識別結果が「青」である場合、識別結果表示領域２４は緑色で表示される。信号の識別結果が「赤」である場合、識別結果表示領域２４は赤色で表示される。道路の対面に位置する信号機は見え難いユーザーでも、識別結果表示領域２４の色を見て、信号の状態を確認することができる。
【００２５】
発音器１０は、信号識別結果をユーザーに音で通知するのに使用される。例えば、信号の識別結果が「青」である場合、発音器１０から「青です」との音声メッセージが再生される。本実施形態では、音声メッセージに加え、音楽及び効果音を再生することができる。例えば「青」、「点滅」及び「赤」のそれぞれに、異なる音楽又は効果音を割り当てておき、信号の識別結果に応じて対応する音楽又は効果音が発音器１０から再生される。発音器１０の典型的な例として、スピーカ、イヤホン及びヘッドホンが挙げられる。
【００２６】
バイブレータ１２は、信号識別結果をユーザーに振動で通知するのに使用される。例えば、バイブレータ１２は、「青」では短周期で振動し、「赤」では長周期で振動することで、信号識別結果をユーザーに通知する。
【００２７】
加速度センサ１４は、本装置２に加わる加速度を検知する。後述するとおり、加速度センサ１４の検知結果は、本装置２の姿勢の補正や動作モードの変更に使用される。
【００２８】
本装置２では、演算ユニット４、カメラ６、表示／入力器８、発音器１０、バイブレータ１２及び加速度センサ１４が、一体として構成されていてもよく、これらの一部が他とは別れて構成されていてもよい。例えば発音器１０が、演算ユニット４と無線で通信する、イヤホン又はヘッドホンであってもよい。
【００２９】
図３では、演算ユニット４の枠の中に、本信号識別プログラムが演算ユニット４の演算器１６に実行させる処理（以降では、「本信号識別プログラムが行う処理」と記載する）が示されている。図３に示されるとおり、本プログラムは、メイン処理２６、信号判定２８、物体検出２９、カメラ方向補正３０、及び振動監視３１の各処理を行う。換言すれば、本プログラムは、メイン処理部、信号判定部、物体検出部、カメラ方向補正部、及び振動監視部を備える。これらのうち、メイン処理部、信号判定部及び物体検出部が、画像情報から信号を検出し、信号の識別をする部分である。
【００３０】
なお、「本プログラムが演算器１６にＡの処理を実行させる」場合、これは、「演算器１６と本プログラムとで、Ａ手段が実現されている」こととなる。これは、「本装置２は、Ａ手段を備える」ことと同義となる。すなわち、図３で示されるように、本装置２は、メイン処理手段、信号判定手段、物体検出手段、カメラ方向補正手段及び振動監視手段を備えている。以後で説明される処理についても、同様である。
【００３１】
図４には、メイン処理部、信号判定部及び物体検出部で行われる処理及びこれらの処理の流れが示されている。この実施形態では、メイン処理部、信号判定部及び物体検出部は、それぞれ独立に実行されるスレッドである。以下では、メイン処理部、物体検出部及び信号判定部が、この順で詳細に説明される。その後に、カメラ方向補正部及び振動監視部が説明される。
【００３２】
［メイン処理部］
メイン処理部のスレッドは、プログラムの全体の処理の流れを制御する。図４の点線の矢印は、それぞれのスレッドでの処理の流れを示している。図４で示されるように、メイン処理部での処理の流れは、無限ループを形成する。メイン処理部は、（ａ）画像入力検出、（ｂ）信号判定終了確認、（ｃ）状態遷移、（ｄ）ユーザー通知及び（ｅ）信号判定部起動の処理を含む。
【００３３】
（ａ）画像入力検出は、カメラ６から新たな画像情報が入力されたか否かを常時監視する。図４において、符号Ｉで示されるのが、入力される画像情報（画像Ｉ）である。この実施形態では、画像Ｉは、解像度が１９２０×１０８０ピクセルの、ＲＧＢデータである。この実施形態では、フレームレートが２７．５ｆｐｓであるので、画像Ｉは一秒間に２７．５回入力される。画像Ｉが入力されると、メイン処理部は、次の（ｂ）信号判定終了確認に移る。
【００３４】
（ｂ）信号判定終了確認では、前回起動した信号判定部のスレッドが終了しているかどうかの確認が行われる。信号判定部のスレッドが終了していれば、メイン処理部は信号判定の結果（図４の符号Ｓ＿１又はＳ＿２）を受け取り、（ｃ）状態遷移に移る。信号判定部のスレッドが終了していなければ、画像Ｉは破棄され、メイン処理部は（ａ）画像入力検出に戻る。
【００３５】
（ｃ）状態遷移では、信号判定の結果（Ｓ＿１又はＳ＿２）から、メイン処理部のスレッドの状態遷移が行われる。この状態遷移の結果により、ユーザーへ通知すべき内容が決められる。状態遷移の詳細は、後に説明される。
【００３６】
（ｄ）ユーザー通知は、表示／入力器８、発音器１０及びバイブレータ１２の少なくとも一つを動作させて、ユーザーへ信号の状態を通知する。ユーザー通知の詳細は、後に説明される。
【００３７】
（ｅ）信号判定部起動では、新たな信号判定部のスレッドが起動され、併せて直近に入力された画像Ｉがこの信号判定部に渡される。メイン処理部は、（ａ）画像入力検出に戻る。なお、（ｃ）状態遷移の結果、メイン処理部のスレッドの状態が、後述する「待機」の状態である場合は、信号判定部起動では、何も処理はされない。信号判定部のスレッドを起動することなく、メイン処理部は（ａ）画像入力検出に戻る。
【００３８】
なお、メイン処理部のスレッドが起動された直後の最初のループにおいては、上記（ｂ）信号判定終了確認の段階ではまだ信号判定部のスレッドが起動されていない。この段階では、終了確認をすべき信号判定部のスレッドが存在しない。最初のループの（ｂ）信号判定終了確認の結果は、例外的に、「検出された物体が無い状態（後述する、物体無（Ｎ）の状態）との判定で信号判定が終了している」であるとして、メイン処理部は次の（ｃ）状態遷移の処理に移る。
【００３９】
なお、図４の実施形態では、上記（ｅ）で直近に入力された画像Ｉを使用して信号判定部を起動した後、（ａ）で次の画像入力の検出が実行され、その後に（ｂ）信号判定終了確認が実施されている。これは、信号判定部のスレッドの処理時間が、メイン処理部の他の処理の処理時間よりも、大幅に長いためである。この処理順にすることより、処理の効率化が図られている。（ａ）の処理の直後に、このとき入力された画像Ｉを使用して（ｅ）信号判定部起動の処理が実行されてもよい。この場合のメイン処理部での処理順は、（ａ）、（ｅ）、（ｂ）、（ｃ）、（ｄ）となる。
【００４０】
［物体検出部］
図４で示されるように、一回の信号判定部のスレッドにおいて、物体検出部のスレッドは二回起動されうる。一回目の物体検出（第一物体検出）は、（ｏ）画像整形、（ｐ）検出及び（ｑ）物体選択の処理を含む。二回目の物体検出（第二物体検出）は、（ｒ）画像整形、（ｓ）検出及び（ｔ）物体選択の処理を含む。
【００４１】
第一物体検出の入力は、メイン処理部のスレッドに入力された画像Ｉである。画像Ｉが、信号判定部のスレッドを通して、第一物体検出に入力される。前述のとおり、この実施形態では、画像Ｉは、解像度が１９２０×１０８０ピクセルのＲＧＢデータである。
【００４２】
（ｏ）画像整形では、画像Ｉが、所定の大きさの画像に整形される。画像整形の処理により、画像Ｉは正方形にされ、さらに低解像度化される。図５に、整形後の画像３２の例が示されている。入力された画像Ｉが横長の場合は、図５で示されるように、その上端の外側と下端の外側に黒帯部３４を付加することで、画像Ｉは正方形にされる。図示されないが、画像Ｉが縦長の場合は、その右端の外側と左端の外側に、黒帯部を付加することで、画像Ｉは正方形にされる。低解像度化は、例えば近接する複数のピクセルを平均して一つのピクセルとすることで、実現できる。この実施形態では、画像Ｉは、４１６×４１６ピクセルの画像に低解像度化される。
【００４３】
（ｐ）検出では、整形された画像に対し、ニューラルネットワークによる推論により、物体の検出及びその検出確度の生成が行われる。この実施形態で検出される物体は、以下の５種類である。
青信号：  緑（青）が点灯している歩行者用信号
赤信号：  赤が点灯している歩行者用信号
黒信号：  緑も赤も点灯していない歩行者用信号
右境界：  横断歩道の幅を規定している境界線のうち、右側の境界線
左境界：  横断歩道の幅を規定している境界線のうち、左側の境界線
図５の例では、青信号３６、右境界３８及び左境界４０が検出されている。
【００４４】
信号（青信号、赤信号及び黒信号）の検出では、この信号を囲む矩形の左上角の座標及び右下角の座標が、併せて検出される。図５の例では、角ｃ１及びｃ２の座標が検出される。横断歩道（右境界及び左境界）の検出では、境界線の二つの端点の座標が、併せて検出される。図５の例では、右境界３８については端点ｐ１及びｐ２の座標が、左境界４０については端点ｐ３及びｐ４の座標が検出される。さらに、それぞれの検出された物体に対し、検出結果の確からしさを表す「検出確度」が生成される。この実施形態では、検出確度として、０．０以上１．０以下の値が生成される。検出確度は、その値が大きいほど検出した物体の確からしさが高いことを表す。この処理では、「物体」、「座標」及び「検出確度」が、一つのセットとして出力される。この実施形態では、常に２５３５の物体が検出される。実際には、これらの物体のほとんどは、その検出確度が０．０である。
【００４５】
ニューラルネットワークとしては、既存のプログラムが使用できる。この実施形態では、ＧｉｔＨｕｂ社が運営するインターネットページで公開されている、「ＹＯＬＯｖ３」が使用されている。上記物体を検出するためのニューラルネットワークの学習については、後に説明がされる。
【００４６】
（ｑ）物体選択では、上記で検出された物体の中から、信号判定の処理に必要な物体が選択される。物体選択の方法は、以下のとおりである。
・「青信号」、「赤信号」及び「黒信号」については、検出確度が所定の値以上であれば、全て選択される。この実施形態では、検出確度が０．５以上の「青信号」、「赤信号」及び「黒信号」が、全て選択される。この結果、０個以上の「青信号」、「赤信号」及び「黒信号」が選択される。
・「右境界」及び「左境界」のそれぞれについては、「水平方向に延びていない」かつ「検出確度が所定の値（この実施形態では０．５）より大きい」かつ「検出確度が最大」の境界線が選択される。この結果、０個又は１箇の「右境界」、及び０個又は１箇の「左境界」が選択される。
選択された物体が、座標及び検出確度とともに検出結果として信号判定部に返される（図４の符号Ｏ＿１）。これにより、第一物体検出の処理が終了する。
【００４７】
第二物体検出では、後述するとおり、もとの画像Ｉの一部が切り出されて形成された探索領域が、入力の画像となる。入力画像が異なること以外は、第二物体検出部の処理は、第一物体検出部の処理と同じである。
【００４８】
［信号判定部］
信号判定部は、画像Ｉを入力として、信号機の信号の状態を判定する。図４で示されるように、信号判定部は、（ｆ）から（ｎ）までの処理を含む。
【００４９】
（ｆ）第一物体検出起動は、第一物体検出のスレッドを起動するとともに、画像Ｉを第一物体検出のスレッドに渡す。
【００５０】
（ｇ）第一信号推定領域設定では、第一物体検出で検出された「右境界」及び「左境界」の位置から、信号機の点灯部が存在すると推定できる矩形の領域（信号推定領域）が、画像Ｉの中に設定される。信号推定領域には、タイプ１及びタイプ２が存在する。以下では、図６（ａ）及び（ｂ）を参照して、それぞれの信号推定領域が説明される。なお、図６（ａ）及び（ｂ）では、右方向がｘ座標の正方向であり、下方向がｙ座標の正方向である。また、画像Ｉの「１ピクセル」がｘ方向の長さの単位及びｙ方向の長さの単位となる。従って、例えば画像Ｉが横長の画像の場合、画像Ｉのｘ方向の長さは「１９２０」となり、ｙ方向の長さは「１０８０」となる。
【００５１】
・タイプ１
タイプ１は、検出結果中に、右境界及び左境界が両方存在する場合に設定される、信号推定領域である。図６（ａ）に、タイプ１の信号推定領域の例が示されている。図６（ａ）において、画像Ｉの内部の一点鎖線の矩形がタイプ１の信号推定領域４２である。タイプ１の信号推定領域４２の下辺のｙ座標は、右境界の端点及び左境界の端点のうち、最も上側に位置する端点のｙ座標と一致する。図６（ａ）の例では、信号推定領域４２の下辺のｙ座標は、右境界４４の端点Ｐ１のｙ座標と一致する。タイプ１の信号推定領域４２の上辺は、もとの画像Ｉの上辺と重なる。タイプ１の信号推定領域４２の右辺のｘ座標は、右境界の上側の端点及び左境界の上側の端点のうち、右側に位置する端点（図６（ａ）の例では、右境界４４の端点Ｐ１）のｘ座標をｘｒとしたとき、（ｘｒ＋ｅ１）と設定される。タイプ１の信号推定領域４２の左辺のｘ座標は、右境界の上側の端点及び左境界の上側の端点のうち、左側に位置する端点（図６（ａ）の例では、左境界４６の端点Ｐ２）のｘ座標をｘｌとしたとき、（ｘｌ−ｅ１）と設定される。ここでｅ１は所定のマージンである。この実施形態では、マージンｅ１は、もとの画像Ｉの短辺の長さ（この実施形態では１０８０）をｗとしたとき、
ｅ１＝ｍａｘ（ｗ×０．１５，（ｘｒ−ｘｌ）／２）
と設定される。この式で「ｍａｘ（）」は、（）内の数の最大値を表す。なお、上記の式では、信号推定領域４２の端がもとの画像Ｉの端を超える場合は、もとの画像Ｉの端までが、信号推定領域４２とされる。
【００５２】
・タイプ２
タイプ２は、検出結果中に、右境界及び左境界のいずれか一方のみが存在する場合に設定される、信号推定領域である。図６（ｂ）に、右境界５２のみが存在するときの、タイプ２の信号推定領域の例が示されている。図６（ｂ）において、もとの画像Ｉの内部の一点鎖線の矩形がタイプ２の信号推定領域５０である。タイプ２の信号推定領域の下辺のｙ座標は、検出された境界線の上側の端点のｙ座標と一致する。図６（ｂ）の例では、信号推定領域５０の下辺のｙ座標は、右境界５２の端点Ｐ１のｙ座標と一致する。タイプ２の信号推定領域の上辺は、もとの画像の上辺と重なる。図６（ｂ）のｘ２は、検出された境界線（この図では右境界５２）の上側の端点のｘ座標を表す。図６（ｂ）で示されるとおり、検出された境界線が右境界５２の場合、タイプ２の信号推定領域５０の右辺のｘ座標は（ｘ２＋ｅ２）であり、左辺のｘ座標は（ｘ２−ｃ２×ｅ２）である。図示されないが、検出された境界線が左境界の場合、タイプ２の信号推定領域の右辺のｘ座標は（ｘ２＋ｃ２×ｅ２）であり、左辺のｘ座標は（ｘ２−ｅ２）である。ここでｅ２は所定のマージンであり、ｃ２は所定の係数である。この実施形態では、マージンｅ２及び係数ｃ２は、
ｅ２＝ｗ×０．２
ｃ２＝３
と設定される。なお、上記の式で、信号推定領域の端が、もとの画像Ｉの端を超える場合は、もとの画像Ｉの端までが、信号推定領域とされる。
【００５３】
マージンｅ１は、上記の式の値に限られない。マージンｅ１は、上記の式の値よりも大きくてもよく、小さくてもよい。マージンｅ１の値は、信号判定の精度及び信号判定の効率を考慮して、設定される。
【００５４】
マージンｅ２及び係数ｃ２は、上記の式の値に限られない。マージンｅ２は、上記の式の値よりも大きくてもよく、小さくてもよい。係数ｃ２は、上記の式の値よりも大きくてもよく、小さくてもよい。マージンｅ２及び係数ｃ２の値は、信号判定の精度及び信号判定の効率を考慮して、設定される。
【００５５】
なお、画像Ｉの上辺まで達している境界線が検出されているときは、上記の設定方法では、信号推定領域の上辺と下辺のｙ座標は同じとなる。この場合は、信号推定領域は設定されない。第一物体検出の検出結果中に、右境界及び左境界のいずれも存在しないときも、信号推定領域は設定されない。
【００５６】
（ｈ）第一状態判定では、信号の状態が判定される。図７に、第一状態判定の処理のフローが示されている。ステップＳ１では、物体検出結果に、信号（青信号、赤信号、黒信号）が存在するか否かが判定される。これらがいずれも存在しないときは、ステップＳ１２で信号推定領域が存在するか否かが判定される。信号推定領域が存在しないときはステップＳ１３で「物体無」と判定され、信号推定領域が存在するときはステップＳ１４で「信号推定領域のみ存在」と判定される。
【００５７】
ステップＳ１で信号（青信号、赤信号、黒信号）のいずれかが存在する場合は、ステップＳ２においてタイプ１の信号推定領域が存在するか否かが判断される。これが存在する場合はステップＳ３において、信号がタイプ１の信号推定領域内に存在するか否かが判断される。これが存在する場合は、ステップＳ４において、タイプ１の信号推定領域内に存在する信号のうち、検出確度が最大の信号が、「最善の信号ＢＳ」として選択される。ステップＳ５において、この最善の信号ＢＳの検出確度が所定の閾値Ｔｉ１以上であるか否かが判断される。検出確度が閾値Ｔｉ１以上である場合は、ステップＳ１５において、現在の信号は「信号ＢＳの状態である」と判定される。すなわち、最善の信号ＢＳが「青信号」であれば、現在の信号は「青信号の状態である」と判定され、最善の信号ＢＳが「赤信号」であれば、現在の信号は「赤信号の状態である」と判定され、最善の信号ＢＳが「黒信号」であれば、現在の信号は「黒信号の状態である」と判定される。検出確度が所定の閾値Ｔｉ１より小さい場合は、ステップＳ１６において、現在の信号の状態は「確度不足で判定不可」とされる。
【００５８】
タイプ１の信号推定領域が存在しない場合は、ステップＳ６において、タイプ２の信号推定領域が存在するか否かが判断される。存在する場合は、ステップＳ７において、信号がタイプ２の信号推定領域内に存在するか否かが判断される。これが存在する場合は、ステップＳ８において、タイプ２の信号推定領域内に存在する信号のうち、検出確度が最大の信号が「最善の信号ＢＳ」として選択される。ステップＳ９において、この最善の信号ＢＳの検出確度が所定の閾値Ｔｉ２以上であるか否かが判断される。検出確度が閾値Ｔｉ２以上である場合は、ステップＳ１５において、現在の信号は「信号ＢＳの状態である」と判定される。検出確度が所定の閾値Ｔｉ２より小さい場合は、ステップＳ１６において、現在の信号の状態は「確度不足で判定不可」とされる。
【００５９】
物体検出の結果に信号が存在する場合において、信号推定領域内に位置する信号がない場合又は信号推定領域が存在しない場合（以後「信号推定領域外の信号のみが存在する場合」と称される）、ステップＳ１０において、これらの信号のうち検出確度が最大の信号が「最善の信号ＢＳ」として選択される。ステップＳ１１において、この最善の信号ＢＳの検出確度が所定の閾値Ｔｏ以上であるか否かが判断される。検出確度が閾値Ｔｏ以上である場合は、ステップＳ１５において、現在の信号は「信号ＢＳの状態である」と判定される。検出確度が所定の閾値Ｔｏより小さい場合は、ステップＳ１６において、現在の信号の状態は「確度不足で判定不可」とされる。
【００６０】
なお、上記ステップＳ４及びステップＳ８は併せて、信号推定領域内に信号が存在する場合に最善の信号ＢＳを選択する、「第一の信号選択ステップ」と称される。ステップＳ５及びステップＳ９は併せて、この場合に最善の信号ＢＳを現在の信号の状態とするか否かを判定する、「第一の信号判定ステップ」と称される。上記ステップＳ１０は、信号推定領域外の信号のみが存在する場合に最善の信号ＢＳを選択する、「第二の信号選択ステップ」と称される。ステップＳ１１は、この場合に最善の信号ＢＳを選択する、「第二の信号選択ステップ」と称される。
【００６１】
上記の閾値Ｔｉ１及び閾値Ｔｉ２は、いずれも閾値Ｔｏとは異なった値に設定される。すなわち、信号推定領域内に信号が存在する場合と、信号推定領域外の信号のみが存在する場合とでは、最善の信号ＢＳを現在の信号の状態であると判定するか否かの基準が異なっている。
【００６２】
この実施形態では、閾値Ｔｉ１及び閾値Ｔｉ２は、いずれも閾値Ｔｏよりも小さな値に設定される。すなわち、信号推定領域内に信号が存在する場合には、信号推定領域外の信号のみが存在する場合と比べて、最善の信号ＢＳの検出確度が小さい場合にも、現在の信号が「信号ＢＳの状態である」と判定されうる。
【００６３】
この実施形態では、閾値Ｔｉ１は、閾値Ｔｉ２よりも小さな値に設定される。すなわち、タイプ１の信号推定領域内に信号が存在する場合には、タイプ２の信号推定領域内に信号が存在する場合と比べて、最善の信号ＢＳの検出確度が小さい場合にも、現在の信号が「信号ＢＳの状態である」と判定されうる。
【００６４】
閾値Ｔｉ１と閾値Ｔｉ２とが同じ値であってもよい。すなわち、タイプ１かタイプ２かに依らず、信号推定領域内に信号が存在する場合、最善の信号ＢＳの検出確度が閾値Ｔｉ以上であれば、現在の信号は「信号ＢＳの状態である」と判定されてもよい。この場合においても閾値Ｔｉは、閾値Ｔｏよりも小さな値に設定される。
【００６５】
この実施形態では、閾値Ｔｉ１は０．７に設定され、閾値Ｔｉ２は０．８に設定され、閾値Ｔｏは０．９に設定されている。Ｔｉ１、Ｔｉ２及びＴｏの値は、これらに限られない。適切なＴｉ１、Ｔｉ２及びＴｏの値は、物体検出部の検出性能や学習の度合い、カメラ６の性能等に依存しうる。Ｔｉ１、Ｔｉ２及びＴｏの値は、これらの性能等により、適切に設定される。
【００６６】
上記のとおり、第一状態判定の処理では、現在の信号が、「青信号（Ｇ）」、「赤信号（Ｒ）」、「黒信号（Ｂ）」、「確度不足で判定不可（ＵＣ）」、「信号推定領域のみ存在（Ｚ）」及び「物体無（Ｎ）」のいずれの状態であるかが判定される。併せて、「Ｇ」、「Ｒ」、「Ｂ」、及び「ＵＣ」の場合は、最善の信号ＢＳが選択されている。
【００６７】
（ｉ）終了判定では、上記の第一状態判定の結果から、信号判定の処理を終了するか否かが判定される。第一状態判定の結果、現在の信号の状態が「Ｇ」、「Ｒ」、「Ｂ」及び「Ｎ」のいずれかの場合、この状態及び最善の信号ＢＳの情報が、画面表示のための画像情報Ｉと共にメイン処理部に戻される（図４の符号Ｓ＿１）。信号判定部のスレッドは終了する。現在の信号の状態が「ＵＣ」又は「Ｚ」の場合は、次の（ｊ）探索領域切り出しの処理が実行される。
【００６８】
（ｊ）探索領域切り出しでは、入力された画像Ｉの一部が、さらに信号を探索すべき領域として切り出される。探索領域切り出しの処理は、以下の通り、第一状態判定の結果が「ＵＣ」の場合と「Ｚ」の場合とで異なる。
【００６９】
・結果が「ＵＣ」の場合
もとの画像Ｉの中から、最善の信号ＢＳを中心として、これを含む所定の大きさの領域が、「探索領域」として切り出される。図８（ａ）に、この探索領域の例が示されている。図８（ａ）において、画像Ｉの内部に位置する破線で示された矩形が、最善の信号ＢＳを囲う矩形５６である。符号Ｏは、この矩形５６の中心を表す。この実施形態では、この中心Ｏを中心とする、４１６×４１６ピクセルの大きさの正方形の領域が、探索領域５７とされる。上記の設定方法では、探索領域５７がもとの画像Ｉからはみ出す場合は、探索領域５７の端ともとの画像Ｉの端とが一致するように、探索領域５７が水平方向または／及び垂直方向に移動される。
【００７０】
・結果が「Ｚ」の場合
もとの画像Ｉから、信号推定領域と重なり、信号推定領域と同じ幅の正方形の領域が、探索領域として切り出される。図８（ｂ）及び（ｃ）に、この探索領域の例が示されている。これらの図では、もとの画像Ｉの内部に位置するハッチが付された矩形が、信号推定領域である。図８（ｂ）で示されるように、信号推定領域６０が横長である場合、信号推定領域６０の上辺を一辺とする正方形の領域が、探索領域５８とされる。図８（ｃ）で示されるように、信号推定領域６１が縦長である場合、信号推定領域６１と同じ幅で信号推定領域６１に含まれる正方形の領域が、探索領域５９とされる。この場合、信号推定領域６１の上下方向の中央と、探索領域５９の上下方向の中央とが一致するように、探索領域５９の位置が決められている。図示されないが、信号推定領域が正方形の場合は、信号推定領域と探索領域とは一致する。
【００７１】
（ｋ）探索領域輝度調整では、探索領域内の輝度の分布の偏りを解消するために、探索領域内のピクセルの輝度が調整される。これにより、探索領域内の輝度のヒストグラムが均一化される。輝度調整では、従来の手法が使用される。例えばこの実施形態では、コンピュータビジョンライブラリであるＯｐｅｎＣＶの、ｅｑｕａｌｉｚｅＨｉｓｔ（）関数が使用されている。
【００７２】
（ｌ）第二物体検出起動は、第二物体検出のスレッドを起動するとともに、探索領域の画像情報（図４の符号Ｉ＿Ｒ）を第二物体検出のスレッドに渡す。第二物体検出の（ｒ）画像整形、（ｓ）検出及び（ｔ）物体選択の処理が実施される。これらは、第一物体検出でのこれらの処理と同じである。ただし、探索領域のサイズが４１６×４１６ピクセルである場合には、画像整形では、実質的な処理は実施されない。第二物体検出の検出結果（図４の符号Ｏ＿２）が、次の（ｍ）第二信号推定領域設定に返される。
【００７３】
（ｍ）第二信号推定領域設定及び（ｎ）第二状態判定は、それぞれ前述の（ｇ）第一信号推定領域設定及び（ｈ）第一状態判定と同じである。第二状態判定の結果及び最善の信号ＢＳの情報が、画面表示のための画像情報Ｉと共にメイン処理に戻される（図４の符号Ｓ＿２）。これにより、信号判定部のスレッドが終了する。
【００７４】
［メイン処理部の状態遷移］
以下では、前述のメイン処理部の説明では省略された、（ｃ）状態遷移について説明がされる。図９は、メイン処理部のスレッドの状態遷移図である。図９において、状態間の遷移を表す矢印に付された符号Ｇ、Ｒ、Ｂ及びＮは、それぞれ信号判定部から返された状態判定の結果に対応している。なお符号Ｏｔは、「その他の場合」の意味である。図９で示されるように、メイン処理部のスレッドは、以下の１０種類の状態をとりうる。
緑：信号を「緑（青）」と識別している状態
緑２：信号を「緑」と識別しているが確からしさが弱い状態
点滅：信号を「点滅」と識別している状態
点滅２：信号を「点滅」と識別しているが確からしさが弱い状態
赤：信号を「赤」と識別している状態
赤２：信号を「赤」と識別しているが確からしさが弱い状態
不確定：信号又は信号推定領域は存在するが、信号の状態が識別できない状態
無：信号及び信号推定領域が認識できない状態
待機：信号識別の動作を行わず、休止している状態
スヌープ：「待機」から復帰するか否かを判定する状態
【００７５】
メイン処理部のスレッドが起動された直後には、メイン処理部の状態（初期状態）は「無」である。各状態からの状態遷移は、以下の通りに行われる。
【００７６】
「無」では、信号判定の結果が「Ｎ」であれば、状態は「無」に留まる。それ以外の場では、状態は「不確定」に遷移する。「無」の状態が所定の時間（この実施形態では３分）以上連続していれば、状態は「待機」に遷移する。このことが、図９では「３ｍ」の符号を付した矢印で、表されている。
【００７７】
「待機」では、この状態になってから所定の時間（この実施形態では１秒）経過後、状態は「スヌープ」に遷移する。このことが、図９では「１ｓ」の符号を付した矢印で、表されている。
【００７８】
「スヌープ」では、信号判定の結果が「Ｎ」であれば、状態は「待機」に遷移する。それ以外であれば、状態は「不確定」に遷移する。
【００７９】
「不確定」では、信号判定の結果が「Ｎ」であれば、状態は「無」に遷移する。信号判定の結果が２回連続で「Ｇ」であれば、状態は「緑」に遷移する。このことが、図９では「Ｇ×２」の符号を付した矢印で表されている。信号判定の結果が２回連続で「Ｒ」であれば、状態は「赤」に遷移する。このことが、図９では「Ｒ×２」の符号を付した矢印で表されている。それ以外であれば、状態は「不確定」に留まる。
【００８０】
「緑」では、信号判定の結果が「Ｇ」であれば、状態は「緑」に留まる。信号判定の結果が「Ｂ」であれば、状態は「点滅」に遷移する。それ以外であれば、状態は「緑２」に遷移する。
【００８１】
「緑２」では、信号判定の結果が「Ｎ」であれば、状態は「無」に遷移する。信号判定の結果が「Ｇ」であれば、状態は「緑」に遷移する。信号判定の結果が「Ｂ」であれば、状態は「点滅」に遷移する。信号判定の結果が２回連続で「Ｒ」であれば、状態は「赤」に遷移する。それ以外であれば、状態は「不確定」に遷移する。
【００８２】
「点滅」では、直近の４回の信号判定の結果のうち、３回以上が「Ｇ」であれば、状態は「緑」に遷移する。このことが、図９では「Ｇ（３／４）」の符号を付した矢印で表されている。信号判定の結果が上記以外の「Ｇ」であれば、状態は「点滅」に留まる。信号判定の結果が「Ｂ」であれば、状態は「点滅」に留まる。それ以外であれば、状態は「点滅２」に遷移する。
【００８３】
「点滅２」では、信号判定の結果が「Ｇ」又は「Ｂ」であれば、状態は「点滅」に遷移する。信号判定の結果が２回連続で「Ｒ」であれば、状態は「赤」に遷移する。信号判定の結果が「Ｎ」であれば、状態は「無」に遷移する。それ以外であれば、状態は「不確定」に遷移する。
【００８４】
「赤」では、信号判定の結果が「Ｒ」であれば、状態は「赤」に留まる。それ以外であれば、状態は「赤２」に遷移する。
【００８５】
「赤２」では、信号判定の結果が「Ｎ」であれば、状態は「無」に遷移する。信号判定の結果が「Ｒ」であれば、状態は「赤」に遷移する。信号判定の結果が２回連続で「Ｇ」であれば、状態は「緑」に遷移する。それ以外であれば、状態は「不確定」に遷移する。
【００８６】
［メイン処理部のユーザー通知］
以下では、前述のメイン処理部の説明では省略された、（ｄ）ユーザー通知について説明がされる。ユーザー通知では、メイン処理部の各状態に基づき、ユーザーに情報発信が行われる。以下では、表示／入力器８による通知、発音器１０による通知及びバイブレータ１２による通知が全て許可されているとして、各状態での通知内容の例が説明される。
【００８７】
「緑」及び「緑２」の状態：
今回を除く直近の４回の状態に「緑」及び「緑２」が存在せず、かつ「赤」又は「赤２」が存在した場合は、「青になりました」の音声メッセージが通知される。それ以外の場合は、「青です」のメッセージが繰り返し通知される。「青」に対応する音楽又は効果音が、再生される。表示／入力器８の表示画面２２の識別結果表示領域２４が、緑色となる。バイブレータ１２が、「青」に対応するパターンで振動する。
【００８８】
「点滅」及び「点滅２」の状態：
「もうすぐ赤になります」の音声メッセージが繰り返し通知される。表示／入力器８の表示画面２２の識別結果表示領域２４が、黒色となる。
【００８９】
「赤」及び「赤２」の状態：
今回を除く直近の４回の状態に「赤」及び「赤２」が存在せず、かつ「緑」、「緑２」、「点滅」又は「点滅２」が存在した場合は、「赤になりました」の音声メッセージが通知される。それ以外の場合は、「赤です」のメッセージが繰り返し通知される。「赤」に対応する音楽又は効果音が、再生される。表示／入力器８の表示画面２２の識別結果表示領域２４が、赤色となる。バイブレータ１２が、「赤」に対応するパターンで振動する。
【００９０】
「無」、「待機」、「スヌープ」及び「不確定」の状態：
表示／入力器８の表示画面２２の識別結果表示領域２４が、白となる。
【００９１】
［カメラ方向補正部］
カメラ方向補正部は、本装置２の姿勢を補正するための情報をユーザーに提供する。カメラ６で撮影した画像が、ランドスケープ又はポートレイトと見なせる範囲となるように、カメラ６の方向を調整させるのが、カメラ方向補正部の目的である。カメラ方向補正部は、加速度センサ１４で検知した重力の方向から、本装置２の姿勢を判断する。本装置２の姿勢が良好であれば、カメラ方向補正部は、例えば、バイブレータ１２を使用して所定の周期で本装置２を振動させる。本装置２の姿勢を補正した方が良い場合、カメラ方向補正部は、例えば「少し上に向けて下さい」、「少し下に向けて下さい」、「少し右を持ち上げて下さい」、「少し左を持ち上げて下さい」等の音声メッセージを、発音器１０を通して再生させる。
【００９２】
［振動監視部］
振動監視部は、加速度センサ１４の値を常時監視している。振動監視部は、ユーザーが本装置２をタップしたことを感知して、本装置２の動作モードを変更する。振動監視部は、ユーザーが、タップにより本装置２の動作モードを変更することを可能とする。この実施形態では、振動監視部により、以下の動作モードの変更が実現されている。
【００９３】
・３回連続タップ：  本装置２の、通常の動作モード（識別モード）と、スリープモードとの切り替えが行われる。識別モードにおいて本装置２の背面を３回連続でタップすることで、本装置２はスリープモードとなる。振動監視部は、３回連続タップを検知すると、カメラ６の動作、音の再生及びバイブレータ１２の振動を停止させ、メイン処理部のスレッドを削除し、表示／入力器８の画面を黒にする。これにより、本装置２はスリープモードとなる。スリープモードにおいて本装置２の背面を３回連続でタップすることで、本装置２は識別モードとなる。このとき振動監視部は、「識別モードになりました」とのメッセージを再生させ、メイン処理部のスレッドを起動し、カメラ６を動作させる。
【００９４】
・４回連続タップ：  カメラ方向補正機能の動作及び停止の切り替えが行われる。識別モードにおいて本装置２の背面を４回連続でタップすることで、振動監視部は、音の再生及びバイブレータ１２の振動を停止させ、カメラ方向補正部を起動させる。カメラ方向補正部が動作している状態で本装置２の背面を４回連続でタップすることで、振動監視部は、カメラ方向補正部を停止させる。
【００９５】
・２回連続タップ：  発音器１０による音の再生の許可と不許可との切り替えが行われる。音の再生が許可された状態で、振動監視部が２回連続タップを検知すると、振動監視部は、これらの再生を不許可とする。これ以降、発音器１０による音声、音楽及び効果音の再生が、いずれも停止される。音の再生が不許可の状態で、振動監視部が２回連続タップを検知すると、振動監視部は、発音器１０による音の再生を許可する。
【００９６】
［カスタマイズ部］
図３では示されていないが、本プログラムは、本装置２の動作をカスタマイズするための、カスタマイズ部をさらに備える。カスタマイズ部は、例えば表示／入力器８の画面を上から下にフリックする（素早く動かす）ことで、起動される。カスタマイズ用の画面が、表示／入力器８に表示される。カスタマイズ部の使用者は、本装置２のユーザーである視覚障害者ではなく、主にその支援者である。この実施形態では、カスタマイズ部により、以下の動作のカスタマイズができる。
１）ユーザー通知において、音声メーセージによる通知、効果音と音楽による通知、振動による通知、表示／入力器８による通知のそれぞれについて、許可／不許可の設定ができる。
２）音声メーセージによる通知の際の、メッセージの再生間隔が設定できる。
３）メイン処理部の各状態に対応して、再生する音楽及び効果音の種類が設定できる。
４）表示／入力器８による通知において、識別結果表示領域２４の幅が設定できる。
【００９７】
［ニューラルネットワークの学習］
前述のとおり、物体検出では、ニューラルネットワークによる推論で、物体が検出される。検出される物体は、前述のとおり、信号として、青信号、赤信号及び黒信号、横断歩道として、右境界及び左境界である。ニューラルネットワークによる物体検出では、通常全ての物体は「矩形の領域」として検出される。青信号、赤信号及び黒信号については、これらの信号を囲む矩形の領域をニューラルネットワークに学習させることで、これらの検出が可能となる。一方、右境界及び左境界は線分であるため、そのままではニューラルネットワークで検出することが困難である。
【００９８】
本装置２では、「線分」である横断歩道の右境界及び左境界を検出するために、以下の互いに異なる６種類の矩形の物体が、ニューラルネットワークの学習に使用されている。
【００９９】
（１）右上がり線分の左境界（ＲＵ＿左境界）：
図１０に示されるとおり、この図の例では、横断歩道の左境界は、右上がりの線分となっている。この線分を囲う矩形の領域を「ＲＵ＿左境界」として、ニューラルネットワークに学習させる。
（２）左上がり線分の左境界（ＬＵ＿左境界）：
図１１に示されるとおり、この図の例では、横断歩道の左境界は、左上がりの線分となっている。この線分を囲う矩形の領域を「ＬＵ＿左境界」として、ニューラルネットワークに学習させる。
（３）垂直方向線分の左境界（Ｖ＿左境界）：
図１２に示されるとおり、この図の例では、横断歩道の左境界は、垂直方向の線分となっている。この線分を囲う矩形の領域を「Ｖ＿左境界」として、ニューラルネットワークに学習させる。
（４）左上がり線分の右境界（ＬＵ＿右境界）：
図１０に示されるとおり、この図の例では、横断歩道の右境界は、左上がりの線分となっている。この線分を囲う矩形の領域を「ＬＵ＿右境界」として、ニューラルネットワークに学習させる。
（５）右上がり線分の右境界（ＲＵ＿右境界）：
図示されないが、右上がりの線分となっている右境界について、この線分を囲う矩形の領域を「ＲＵ＿右境界」として、ニューラルネットワークに学習させる。
（６）垂直方向線分の右境界（Ｖ＿右境界）：
図示されないが、垂直線分となっている右境界について、この線分を囲う矩形の領域を「Ｖ＿右境界」として、ニューラルネットワークに学習させる。
【０１００】
上記の学習をさせることで、横断歩道の境界線は、ＲＵ＿左境界、ＬＵ＿左境界、Ｖ＿左境界、ＬＵ＿右境界、ＲＵ＿右境界及びＶ＿右境界の６種類の矩形の物体として検出される。これらのうち、ＲＵ＿左境界、ＬＵ＿左境界及びＶ＿左境界が、「左境界」とされる。ＬＵ＿右境界、ＲＵ＿右境界及びＶ＿右境界が、「右境界」とされる。これにより、本装置２は、「左境界」及び「右境界」を検出している。
【０１０１】
なお、横断歩道の右境界及び左境界を検出するために、ＲＵ＿左境界、ＬＵ＿左境界、ＬＵ＿右境界及びＲＵ＿右境界の４種類の物体が、ニューラルネットワークの学習に使用されてもよい。この場合、横断歩道の境界線は、これら４種類の矩形の物体として検出される。これらのうち、ＲＵ＿左境界及びＬＵ＿左境界が「左境界」とされ、ＬＵ＿右境界及びＲＵ＿右境界が「右境界」とされる。
【０１０２】
［作用効果］
以下、本発明の作用効果が説明される。
【０１０３】
本発明に係る歩行者信号用の信号識別装置２では、周囲の環境を撮影した画像Ｉから検出した信号（青信号、赤信号、黒信号）及び横断歩道（右境界、左境界）、並びにこれらの検出確度から、信号の状態が判定される。この装置は、信号の状態の判定に、信号の検出結果だけではなく横断歩道の検出結果を併せて使用することで、信号の優れた識別精度を実現している。
【０１０４】
従来、画像情報から物体を検出する処理では、検出された物体の検出確度の値から、検出結果が正しいか否かの判断を行なうのが一般的である。例えば、検出確度が所定の値以上であれば、この物体の検出結果が正しいとして採用される。
【０１０５】
この実施形態では、横断歩道の右境界及び／又は左境界から、信号推定領域が設定される。前述のとおり、信号が信号推定領域内に存在する場合と、信号推定領域外の信号のみが存在する場合とで、最善の信号ＢＳを現在の信号の状態であると判定するめの、検出確度についての基準が異なっている。換言すれば、最善の信号ＢＳが信号推定領域内に位置するか否かと、この最善の信号ＢＳの検出確度の値とから、現在の信号の状態が判定される。信号の状態を判定に、検出確度だけでなく信号推定領域の情報を併せて使用することで、信号の優れた識別精度が実現されている。
【０１０６】
最善の信号ＢＳの検出確度が所定の閾値以上であるときに、これを「現在の信号の状態」と判定する場合、この閾値の値を小さく設定すると、信号の状態の誤判定が起こりやすくなる。この閾値の値を大きく設定すると、この閾値以上の最善の信号が存在ないことが起こり易くなり、効率的な信号の状態の判定ができない。
【０１０７】
この実施形態では、前述のとおり、信号が信号推定領域内に存在する場合の閾値Ｔｉ１及び閾値Ｔｉ２は、信号推定領域外の信号のみが存在する場合の閾値Ｔｏより小さい。信号推定領域内に位置する信号は、信号推定領域に位置しない信号と比べて、この信号の検出結果の確からしさは高い。閾値Ｔｉ１及び閾値Ｔｉ２を小さくしても、信号の状態の誤判定は起こりにくい。閾値Ｔｉ１及び閾値Ｔｉ２を閾値Ｔｏより小さくしても、精度の高い信号の状態判定が実現されうる。閾値Ｔｉ１及び閾値Ｔｉ２を閾値Ｔｏより小さくすることで、効率的に信号の判定ができる。この装置２は、信号に対する優れた識別精度と効率的な識別とを併せて実現している。
【０１０８】
この実施形態では、上述のとおり、閾値Ｔｉ１は閾値Ｔｉ２より小さい。タイプ１の信号推定領域内に位置する信号は、タイプ２の信号推定領域に位置する信号と比べて、この信号の検出結果の確からしさは高い。閾値Ｔｉ１を閾値Ｔｉ２より小さくしても、信号の状態の誤判定は起こりにくい。閾値Ｔｉ１を閾値Ｔｉ２より小さくすることで、効率的に信号の判定ができる。この装置２は、信号に対する優れた識別精度と効率的な識別とを併せて実現している。
【０１０９】
この実施形態では、第一の物体検出において、画像Ｉのピクセル数を減らす低解像度化が実施される。通常、物体の検出処理は、他の処理と比べて長い処理時間を要する。画像Ｉを低解像度化した画像に対して検出処理を実施することで、この検出処理が高速化できる。この装置２では、信号の効率的な識別が可能となっている。
【０１１０】
この実施形態では、第一の物体検出において検出された物体に対し第一状態判定が実施される。この結果が「確度不足で判定不可（ＵＣ）」の場合に、第一状態判定で選択された最善の信号ＢＳの周辺の領域が、探索領域として画像Ｉから切り出される。この探索領域に対して第二の物体検出を実施することで、この信号の検出確度を上げることができる。この装置２では、精度の高い物体の検出が可能となる。この装置２は、信号の優れた識別精度を実現している。
【０１１１】
この実施形態では、第一の物体検出において検出された物体に対し第一状態判定が実施される。この結果が「信号推定領域のみ存在（Ｚ）」の場合に、信号推定領域の情報から、探索領域が切り出される。信号推定領域では、信号が存在する可能性が他の領域と比べて高い。この探索領域に対して第二の物体検出を実施することで、精度の高い物体の検出が可能となる。この装置２は、信号の優れた識別精度を実現している。
【０１１２】
この実施形態では、探索領域の画像情報に対し輝度調整が実施される。探索領域の画像情報の輝度の分布の偏りが解消されるため、第二の物体検出においてより精度の高い物体の検出が可能となる。この装置２は、信号の優れた識別精度を実現している。
【０１１３】
この実施形態では、物体検出は、ニューラルネットワークを使用して実現されている。ニューラルネットワークでは、横断歩道の境界線は、この境界線を囲む矩形の領域として学習されている。このとき、境界線は、右上がりの線分の場合及び左上がりの線分の場合で、異なる物体として学習されている。境界線は、右上がりの線分を囲う矩形の物体及びの左上がりの線分を囲う矩形の物体として検出される。これにより、物体を矩形の領域として検出する従来のニューラルネットワークのプログラムによって、横断歩道の境界線の検出が可能となっている。
【０１１４】
ニューラルネットワークでは、横断歩道の境界線は、右上がりの線分の場合、左上がりの線分、及び垂直線分の場合で、異なる物体として学習されているのがより好ましい。境界線が右上がりの線分の場合及び左上がりの線分の場合に加え、境界線が垂直線の場合も異なる物体として学習することにより、横断歩道の境界線が垂直線となっている場合にも、この境界線の検出ができる。これにより、境界線の検出率が向上されうる。
【０１１５】
この実施形態では、カメラ方向補正部が、加速度センサ１４の計測結果からこの装置２の姿勢を補正するための情報を生成する。これにより、ユーザーは、ランドスケープ又はポートレイトと見なせる範囲の画像が撮影できる。これは、物体検出による、物体の検出精度の向上に寄与する。この装置２は、信号の優れた識別精度を実現している。
【０１１６】
［その他の実施形態］
上記で説明された実施形態では、メイン処理、信号判定及び物体検出の処理は、演算ユニットでプログラムを実行することで実現されている。これらの処理の一部が、専用のハードウエアで実現されていてもよい。例えば、本装置２がニューラルネットワークの推論を実行する専用回路を有しており、物体検出部の検出の処理が、この専用回路で行われてもよい。
【０１１７】
上記で説明された実施形態では、メイン処理部、信号判定部及び物体検出部は、それぞれ異なるスレッドとして実行されている。これらのいずれかが二つ又はこれら全てが、一つのスレッドとして実行されてもよい。例えば信号判定及び物体検出が、一つのスレッドとして実行されてもよい。
【０１１８】
上記で説明された実施形態では、第一状態判定の結果が、「青信号（Ｇ）」、「赤信号（Ｒ）」、「黒信号（Ｂ）」の場合は、この結果をメイン処理部に返して、信号判定が終了される。第一状態判定の結果が「青信号（Ｇ）」、「赤信号（Ｒ）」、「黒信号（Ｂ）」の場合にも、信号判定を終了せず、第二物体検出、第二信号推定及び第二状態判定の処理が実施されてもよい。この実施形態では、第一物体検出、第一信号推定領域設定及び第一状態判定により、低解像度化された画像から最善の信号ＢＳが高速に選択される。最善の信号ＢＳを使用した探索領域設定、第二物体検出、第二信号推定領域設定及び第二状態判定により、高い精度の状態判定が可能となる。この装置は、信号に対する優れた識別精度と効率的な識別とを併せて実現している。
【０１１９】
以上説明されたとおり、本信号識別装置では、優れた識別精度が実現されている。このことから、本発明の優位性は明らかである。
【産業上の利用可能性】
【０１２０】
以上説明された信号識別装置は、種々の信号の識別にも適用されうる。
【符号の説明】
【０１２１】
２・・・信号識別装置
４・・・演算ユニット
６・・・カメラ
８・・・表示／入力器
１０・・・発音器
１２・・・バイブレータ
１４・・・加速度センサ
１６・・・演算器
１８・・・メモリ
２０・・・インターフェース
２２・・・表示画面
２４・・・識別結果表示領域
２６・・・メイン処理
２８・・・信号判定
２９・・・物体検出
３０・・・カメラ方向補正
３１・・・振動監視
３４・・・黒帯部
３６・・・青信号
３８、４４、５２・・・右境界
４０、４６・・・左境界
４２、５０、６０、６１・・・信号推定領域
５６・・・信号を囲む矩形
５７、５８、５９・・・探索領域
【要約】
【課題】優れた識別精度を有する、歩行者信号機用の信号識別装置の提供。
【解決手段】本発明に係る信号識別装置は、周囲の環境を撮影して画像情報を取得する画像情報取得手段と、上記画像情報から、信号及び横断歩道の検出、並びにこれらの検出結果の確からしさを表す検出確度の生成を行う物体検出手段と、上記信号、横断歩道、及び検出確度から現在の信号の状態を判定する状態判定手段とを備える。
【選択図】図３【図１】
0006737968.tif 000002
【図２】
0006737968.tif 000003
【図３】
0006737968.tif 000004
【図４】
0006737968.tif 000005
【図５】
0006737968.tif 000006
【図６】
0006737968.tif 000007
【図７】
0006737968.tif 000008
【図８】
0006737968.tif 000009
【図９】
0006737968.tif 000010
【図１０】
0006737968.tif 000011
【図１１】
0006737968.tif 000012
【図１２】
0006737968.tif 000013