(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-07
(45)【発行日】2023-11-15
(54)【発明の名称】信号灯状態識別装置、信号灯状態識別方法及び信号灯状態識別用コンピュータプログラムならびに制御装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20231108BHJP
G08G 1/16 20060101ALI20231108BHJP
【FI】
G06T7/00 650Z
G06T7/00 350C
G08G1/16 C
G08G1/16 E
(21)【出願番号】P 2020067925
(22)【出願日】2020-04-03
【審査請求日】2022-08-01
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100147555
【氏名又は名称】伊藤 公一
(74)【代理人】
【識別番号】100123593
【氏名又は名称】関根 宣夫
(74)【代理人】
【識別番号】100133835
【氏名又は名称】河野 努
(72)【発明者】
【氏名】橋本 大輔
【審査官】笠田 和宏
(56)【参考文献】
【文献】特開2018-028904(JP,A)
【文献】特開2020-052695(JP,A)
【文献】Kuan-Hui Lee,外4名,An Attention-based Recurrent Convolutional Network for Vehicle Taillight Recognition,2019 IEEE Intelligent Vehicles Symposium (IV),2019年06月09日,pp. 2365-2370
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G08G 1/16
(57)【特許請求の範囲】
【請求項1】
時系列に得られる一連の画像を、信号灯を有する車両を検出するように予め学習された第1の識別器に入力することで、前記一連の画像のそれぞれについて、当該画像上において前記車両を含む物体領域を検出する物体検出部と、
前記一連の画像のそれぞれにおいて検出された前記物体領域内の画素値から求められる特徴を、再帰構造を有し、または時間軸方向における畳み込み演算を実行する第2の識別器に時系列順に入力することで、前記車両の前記信号灯の取り得る個々の候補状態の確信度を算出する確信度算出部と、
直前における前記信号灯の状態と、前記個々の候補状態間の遷移の可否を表す情報と、前記個々の候補状態の前記確信度とに基づいて、前記信号灯の状態を識別する状態識別部と、
を有
し、
前記遷移の可否を表す情報は、前記個々の候補状態のそれぞれについて、当該候補状態から遷移可能な他の候補状態を表し、かつ、
前記個々の候補状態には、前記信号灯が点灯を開始した点灯開始状態と、前記信号灯が点灯を終了した点灯終了状態と、前記信号灯が点灯中である点灯中状態と、前記信号灯が消灯中である消灯中状態とが含まれ、
前記状態識別部は、前記個々の候補状態のうちで直前における前記信号灯の状態から遷移可能な候補状態のうち、前記確信度が最大となる候補状態を、前記信号灯の状態として識別する、
信号灯状態識別装置。
【請求項2】
前記第2の識別器は、前記点灯開始状態についての確信度と、前記点灯終了状態についての確信度と、前記点灯中状態または前記消灯中状態であることを表す定常状態についての確信度とを算出する、請求項
1に記載の信号灯状態識別装置。
【請求項3】
前記遷移の可否を表す情報は、前記点灯開始状態から前記点灯開始状態自体、前記点灯中状態及び前記点灯終了状態の何れかに遷移可能であることを表し、
前記状態識別部は、直前における前記信号灯の状態が前記点灯開始状態であり、かつ、前記点灯開始状態、前記点灯終了状態及び前記定常状態のうちで前記定常状態についての前記確信度が最大となる場合、前記信号灯の状態を前記点灯中状態として識別する、請求項
2に記載の信号灯状態識別装置。
【請求項4】
前記遷移の可否を表す情報は、前記点灯終了状態から前記点灯終了状態自体、前記消灯中状態及び前記点灯開始状態の何れかに遷移可能であることを表し、
前記状態識別部は、直前における前記信号灯の状態が前記点灯終了状態であり、かつ、前記点灯開始状態、前記点灯終了状態及び前記定常状態のうちで前記定常状態についての前記確信度が最大となる場合、前記信号灯の状態を前記消灯中状態として識別する、請求項
2または3に記載の信号灯状態識別装置。
【請求項5】
前記遷移の可否を表す情報は、前記個々の候補状態のそれぞれについて、当該候補状態から他の候補状態への遷移確率を
さらに表し、
前記状態識別部は、前記個々の候補状態のそれぞれについて、直前における前記信号灯の状態から当該候補状態への前記遷移確率を当該候補状態についての前記確信度に乗じて補正確信度を算出し、前記個々の候補状態のうち、前記補正確信度が最大となる候補状態を、前記信号灯の状態として識別する、請求項1に記載の信号灯状態識別装置。
【請求項6】
車両の走行を制御する制御装置であって、
時系列に得られる一連の画像を、信号灯を有する他の車両を検出するように予め学習された第1の識別器に入力することで、前記一連の画像のそれぞれについて、当該画像上において前記他の車両を含む物体領域を検出する物体検出部と、
前記一連の画像のそれぞれにおいて検出された前記物体領域内の画素値から求められる特徴を、再帰構造を有し、または時間軸方向における畳み込み演算を実行する第2の識別器に時系列順に入力することで、前記他の車両の前記信号灯の取り得る個々の候補状態の確信度を算出する確信度算出部と、
直前における前記信号灯の状態と、前記個々の候補状態間の遷移の可否を表す情報と、前記個々の候補状態の前記確信度とに基づいて、前記信号灯の状態を識別する状態識別部と、
前記信号灯の状態に基づいて、前記他の車両が走行する軌跡を予測し、予測した前記軌跡に基づいて、前記車両が前記他の車両と所定距離以上離れるように前記車両の走行予定経路を設定する運転計画部と、
前記走行予定経路に沿って前記車両が走行するように前記車両を制御する車両制御部と、
を有
し、
前記遷移の可否を表す情報は、前記個々の候補状態のそれぞれについて、当該候補状態から遷移可能な他の候補状態を表し、かつ、
前記個々の候補状態には、前記信号灯が点灯を開始した点灯開始状態と、前記信号灯が点灯を終了した点灯終了状態と、前記信号灯が点灯中である点灯中状態と、前記信号灯が消灯中である消灯中状態とが含まれ、
前記状態識別部は、前記個々の候補状態のうちで直前における前記信号灯の状態から遷移可能な候補状態のうち、前記確信度が最大となる候補状態を、前記信号灯の状態として識別する、
制御装置。
【請求項7】
時系列に得られる一連の画像を、信号灯を有する車両を検出するように予め学習された第1の識別器に入力することで、前記一連の画像のそれぞれについて、当該画像上において前記車両を含む物体領域を検出し、
前記一連の画像のそれぞれにおいて検出された前記物体領域内の画素値から求められる特徴を、再帰構造を有し、または時間軸方向における畳み込み演算を実行する第2の識別器に時系列順に入力することで、前記車両の前記信号灯の取り得る個々の候補状態の確信度を算出し、
直前における前記信号灯の状態と、前記個々の候補状態間の遷移の可否を表す情報と、前記個々の候補状態の前記確信度とに基づいて、前記信号灯の状態を識別する、
ことを含
み、
前記遷移の可否を表す情報は、前記個々の候補状態のそれぞれについて、当該候補状態から遷移可能な他の候補状態を表し、かつ、
前記個々の候補状態には、前記信号灯が点灯を開始した点灯開始状態と、前記信号灯が点灯を終了した点灯終了状態と、前記信号灯が点灯中である点灯中状態と、前記信号灯が消灯中である消灯中状態とが含まれ、
前記信号灯の状態を識別することは、前記個々の候補状態のうちで直前における前記信号灯の状態から遷移可能な候補状態のうち、前記確信度が最大となる候補状態を、前記信号灯の状態として識別することを含む、
信号灯状態識別方法。
【請求項8】
時系列に得られる一連の画像を、信号灯を有する車両を検出するように予め学習された第1の識別器に入力することで、前記一連の画像のそれぞれについて、当該画像上において前記車両を含む物体領域を検出し、
前記一連の画像のそれぞれにおいて検出された前記物体領域内の画素値から求められる特徴を、再帰構造を有し、または時間軸方向における畳み込み演算を実行する第2の識別器に時系列順に入力することで、前記車両の前記信号灯の取り得る個々の候補状態の確信度を算出し、
直前における前記信号灯の状態と、前記個々の候補状態間の遷移の可否を表す情報と、前記個々の候補状態の前記確信度とに基づいて、前記信号灯の状態を識別する、
ことをコンピュータに実行さ
せ、
前記遷移の可否を表す情報は、前記個々の候補状態のそれぞれについて、当該候補状態から遷移可能な他の候補状態を表し、かつ、
前記個々の候補状態には、前記信号灯が点灯を開始した点灯開始状態と、前記信号灯が点灯を終了した点灯終了状態と、前記信号灯が点灯中である点灯中状態と、前記信号灯が消灯中である消灯中状態とが含まれ、
前記信号灯の状態を識別することは、前記個々の候補状態のうちで直前における前記信号灯の状態から遷移可能な候補状態のうち、前記確信度が最大となる候補状態を、前記信号灯の状態として識別することを含む、
信号灯状態識別用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像に表された車両の信号灯の点灯または消灯に関する状態を識別する信号灯状態識別装置、信号灯状態識別方法及び信号灯状態識別用コンピュータプログラム、ならびに、そのような信号灯状態識別装置を利用した、車両の走行を制御する制御装置に関する。
【背景技術】
【0002】
カメラにより得られた画像といった、センサ情報に表された物体を検出する技術が研究されている。近年では、物体を検出するために、いわゆるディープニューラルネットワーク(以下、単にDNNと呼ぶ)といった機械学習手法を用いることで、検出精度を向上する技術が提案されている。
【0003】
また、画像に表された物体を追跡するために、時系列の複数の画像またはそれらの画像から得られた特徴量をニューラルネットワークの入力として利用する技術が提案されている(例えば、特許文献1を参照)。
【0004】
例えば、特許文献1に開示された物体追跡方法は、時系列に連続した2以上の画像をニューラルネットワークに入力する。この物体追跡方法は、それら2以上の画像それぞれの特徴量であってニューラルネットワークに抽出させた特徴量を比較して類似性を照合する。そしてこの物体追跡方法は、その照合結果に基づいて時系列で前の画像に映る追跡候補である1以上の物体に一致する、前の画像より時系列で後の画像に映る1以上の物体の識別情報及び位置情報を、識別結果として出力する。また、使用されるニューラルネットワークは、1以上の全結合層と0以上の畳み込み層とを有する同一構造を2以上含み、同一構造間の対応する層でパラメータを共有する。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
また、車両を自動運転するよう制御し、あるいは、ドライバによる車両の運転を支援するために、その車両周囲の他の車両の挙動を推測することが行われる。このような、車両の挙動を予測する上で、その車両が有するターンシグナルまたはブレーキランプといった信号灯が点灯しているか、あるいは消灯しているかについての情報は有用である。しかし、上記の技術では、画像に表された車両の信号灯の点灯または消灯に関する状態を正確に識別できないことがある。
【0007】
そこで、本発明は、画像に表された車両の信号灯の点灯または消灯に関する状態を識別することが可能な信号灯状態識別装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
一つの実施形態によれば、信号灯状態識別装置が提供される。この信号灯状態識別装置は、時系列に得られる一連の画像を、信号灯を有する車両を検出するように予め学習された第1の識別器に入力することで、一連の画像のそれぞれについて、その画像上において車両を含む物体領域を検出する物体検出部と、一連の画像のそれぞれにおいて検出された物体領域内の画素値から求められる特徴を、再帰構造を有し、または時間軸方向における畳み込み演算を実行する第2の識別器に時系列順に入力することで、車両の信号灯の取り得る個々の候補状態の確信度を算出する確信度算出部と、直前における信号灯の状態と、信号灯の個々の候補状態間の遷移の可否を表す情報と、個々の候補状態の確信度とに基づいて、信号灯の状態を識別する状態識別部と、を有する。
【0009】
この信号灯状態識別装置において、遷移の可否を表す情報は、個々の候補状態のそれぞれについて、その候補状態から遷移可能な他の候補状態を表し、状態識別部は、個々の候補状態のうちで直前における信号灯の状態から遷移可能な候補状態のうち、確信度が最大となる候補状態を、信号灯の状態として識別することが好ましい。
【0010】
この場合において、信号灯の個々の候補状態には、信号灯が点灯を開始した点灯開始状態と、信号灯が点灯を終了した点灯終了状態と、信号灯が点灯中である点灯中状態と、信号灯が消灯中である消灯中状態とが含まれることが好ましい。
【0011】
またこの場合において、第2の識別器は、点灯開始状態についての確信度と、点灯終了状態についての確信度と、点灯中状態または消灯中状態であることを表す定常状態についての確信度とを算出することが好ましい。
【0012】
さらに、遷移の可否を表す情報は、点灯開始状態から点灯開始状態自体、点灯中状態及び点灯終了状態の何れかに遷移可能であることを表し、状態識別部は、直前における信号灯の状態が点灯開始状態であり、かつ、点灯開始状態、点灯終了状態及び定常状態のうちで定常状態についての確信度が最大となる場合、信号灯の状態を点灯中状態として識別することが好ましい。
【0013】
さらにまた、遷移の可否を表す情報は、点灯終了状態から点灯終了状態自体、消灯中状態及び点灯開始状態の何れかに遷移可能であることを表し、状態識別部は、直前における信号灯の状態が点灯終了状態であり、かつ、点灯開始状態、点灯終了状態及び定常状態のうちで定常状態についての確信度が最大となる場合、信号灯の状態を消灯中状態として識別することが好ましい。
【0014】
あるいは、遷移の可否を表す情報は、個々の候補状態のそれぞれについて、その候補状態から他の候補状態への遷移確率を表し、状態識別部は、信号灯の個々の候補状態のそれぞれについて、直前における信号灯の状態からその候補状態への遷移確率をその候補状態についての確信度に乗じて補正確信度を算出し、信号灯の個々の候補状態のうち、補正確信度が最大となる候補状態を、信号灯の状態として識別することが好ましい。
【0015】
本発明の他の形態によれば、車両の走行を制御する制御装置が提供される。この制御装置は、時系列に得られる一連の画像を、信号灯を有する他の車両を検出するように予め学習された第1の識別器に入力することで、一連の画像のそれぞれについて、画像上において他の車両を含む物体領域を検出する物体検出部と、一連の画像のそれぞれにおいて検出された物体領域内の画素値から求められる特徴を、再帰構造を有し、または時間軸方向における畳み込み演算を実行する第2の識別器に時系列順に入力することで、他の車両の信号灯の取り得る個々の候補状態の確信度を算出する確信度算出部と、直前における他の車両の信号灯の状態と、信号灯の個々の候補状態間の遷移の可否を表す情報と、信号灯の個々の候補状態の確信度とに基づいて、他の車両の信号灯の状態を識別する状態識別部と、他の車両の信号灯の状態に基づいて、他の車両が走行する軌跡を予測し、予測した軌跡に基づいて、車両が他の車両と所定距離以上離れるように車両の走行予定経路を設定する運転計画部と、走行予定経路に沿って車両が走行するように車両を制御する車両制御部と、を有する。
【0016】
本発明のさらに他の形態によれば、信号灯状態識別方法が提供される。この信号灯状態識別方法は、時系列に得られる一連の画像を、信号灯を有する車両を検出するように予め学習された第1の識別器に入力することで、一連の画像のそれぞれについて、その画像上において車両を含む物体領域を検出し、一連の画像のそれぞれにおいて検出された物体領域内の画素値から求められる特徴を、再帰構造を有し、または時間軸方向における畳み込み演算を実行する第2の識別器に時系列順に入力することで、車両の信号灯の取り得る個々の候補状態の確信度を算出し、直前における信号灯の状態と、個々の候補状態間の遷移の可否を表す情報と、個々の候補状態の確信度とに基づいて、信号灯の状態を識別する、ことを含む。
【0017】
本発明のさらに他の形態によれば、信号灯状態識別用コンピュータプログラムが提供される。この信号灯状態識別用コンピュータプログラムは、時系列に得られる一連の画像を、信号灯を有する車両を検出するように予め学習された第1の識別器に入力することで、一連の画像のそれぞれについて、その画像上において車両を含む物体領域を検出し、一連の画像のそれぞれにおいて検出された物体領域内の画素値から求められる特徴を、再帰構造を有し、または時間軸方向における畳み込み演算を実行する第2の識別器に時系列順に入力することで、車両の信号灯の取り得る個々の候補状態の確信度を算出し、直前における信号灯の状態と、個々の候補状態間の遷移の可否を表す情報と、個々の候補状態の確信度とに基づいて、信号灯の状態を識別する、ことをコンピュータに実行させる命令を含む。
【発明の効果】
【0018】
本発明に係る信号灯状態識別装置は、画像に表された車両の信号灯の点灯または消灯に関する状態を識別することができるという効果を奏する。
【図面の簡単な説明】
【0019】
【
図1】信号灯状態識別装置が実装される車両制御システムの概略構成図である。
【
図2】信号灯状態識別装置の一実施形態である電子制御装置のハードウェア構成図である。
【
図3】信号灯状態識別処理を含む車両制御処理に関する、電子制御装置のプロセッサの機能ブロック図である。
【
図4】第1の識別器として利用されるDNNの構成の一例を示す図である。
【
図5】信号灯状態識別の対象となる車両の選択の一例を示す図である。
【
図7】ブレーキランプの個々の状態と教師データとして利用する一連の特徴の組が得られる期間との関係の一例を示す図である。
【
図8】ブレーキランプの状態遷移の一例を示す図である。
【
図9】信号灯状態識別処理を含む車両制御処理の動作フローチャートである。
【
図10】変形例による、ブレーキランプの状態遷移の一例を示す図である。
【発明を実施するための形態】
【0020】
以下、図を参照しつつ、信号灯状態識別装置、及び、信号灯状態識別装置において実行される信号灯状態識別方法ならびに信号灯状態識別用コンピュータプログラムについて説明する。この信号灯状態識別装置は、時系列に得られる一連の画像に表される車両のブレーキランプまたはターンシグナルといった信号灯の点または消灯に関する状態(以下、単に信号灯の状態と呼ぶことがある)を識別する。そのために、この信号灯状態識別装置は、車両を検出するように予め学習された第1の識別器にその一連の画像を入力することで、画像ごとに、その画像上で車両が含まれる領域(以下、物体領域と呼ぶことがある)を検出する。そして、この信号灯状態識別装置は、各画像から検出された車両を追跡することで、各画像において同じ車両が表された物体領域同士を対応付ける。また、この信号灯状態識別装置は、一連の画像における、同じ車両が表された物体領域内の画素値から求められる特徴を、時系列順に、再帰構造を持ち、あるいは、時間軸方向の畳み込み演算を実行可能な第2の識別器に入力することで、その車両の信号灯の点灯または消灯に関する複数の取り得る状態(以下、候補状態と呼ぶことがある)のそれぞれについての確信度を算出する。そしてこの信号灯状態識別装置は、直前における信号灯の状態から遷移可能な2以上の候補状態のうち、確信度が最大となる候補状態を、その車両の信号灯の状態として識別する。
【0021】
例えば、車両が減速する際または車両の停車中には、車両の信号灯の一例であるブレーキランプは点灯し、一方、車両が発進する際、あるいは車両が定速走行する際などにはブレーキランプは消灯する。このように、信号灯の点灯または消灯は、時系列に変化する。しかし、車両の信号灯が表された個々の画像では、信号灯の明滅の時系列変化が分からないため、信号灯が点灯しているか消灯しているかを、信号灯が表された個々の画像から精度良く識別することは困難である。そこで、この信号灯状態識別装置は、時系列の一連の画像のそれぞれの物体領域から求められる特徴を、上記のような第2の識別器に入力することで、信号灯が取り得る個々の候補状態の確信度を精度良く求めることができる。さらに、この信号灯状態識別装置は、各候補状態について、直前における信号灯の状態からその候補状態への遷移の可否と、その候補状態についての確信度とに基づいて、その車両の信号灯の状態を識別することで、信号灯の点灯及び消灯の周期、及び、信号灯が点灯している期間の長さが不定であっても、信号灯の状態を精度良く識別することができる。
【0022】
以下では、信号灯状態識別装置を、車両制御システムに適用した例について説明する。この例では、信号灯状態識別装置は、車両に搭載されたカメラにより得られた時系列の一連の画像に対して信号灯状態識別処理を実行することで、車両の周囲に存在する他の車両を検出する。そしてこの信号灯状態識別装置は、検出した他の車両に設けられたブレーキランプの状態を識別する。さらに、この信号灯状態識別装置は、車両の信号灯の他の一例であるターンシグナルの状態を識別する。なお、信号灯状態識別装置は、車両制御システム以外に適用されてもよい。
【0023】
図1は、信号灯状態識別装置が実装される車両制御システムの概略構成図である。また
図2は、信号灯状態識別装置の一つの実施形態である電子制御装置のハードウェア構成図である。本実施形態では、車両10に搭載され、かつ、車両10を制御する車両制御システム1は、車両10の周囲を撮影するためのカメラ2と、信号灯状態識別装置の一例である電子制御装置(ECU)3とを有する。カメラ2とECU3とは、コントローラエリアネットワークといった規格に準拠した車内ネットワーク4を介して通信可能に接続される。なお、車両制御システム1は、車両10の自動運転制御に用いられる地図を記憶するストレージ装置をさらに有していてもよい。さらに、車両制御システム1は、LiDARあるいはレーダといった測距センサ、GPS受信機といった、衛星測位システムに準拠して車両10の自己位置を測位するための受信機、他の機器と無線通信するための無線端末、及び、車両10の走行予定ルートを探索するためのナビゲーション装置などを有していてもよい。
【0024】
カメラ2は、所定の検知範囲内に存在する物体を検出するためのセンサである撮像部の一例であり、CCDあるいはC-MOSなど、可視光に感度を有する光電変換素子のアレイで構成された2次元検出器と、その2次元検出器上に撮影対象となる領域の像を結像する結像光学系を有する。そしてカメラ2は、車両10の前方を向くように、例えば、車両10の車室内に取り付けられる。そしてカメラ2は、所定の撮影周期(例えば1/30秒~1/10秒)ごとに車両10の前方領域を撮影し、その前方領域が写った画像を生成する。カメラ2により得られた画像は、カラー画像であることが好ましい。なお、車両10には、撮影方向または焦点距離が異なる複数のカメラが設けられてもよい。
【0025】
カメラ2は、画像を生成する度に、その生成した画像を、車内ネットワーク4を介してECU3へ出力する。
【0026】
ECU3は、車両10を制御する。本実施形態では、ECU3は、カメラ2により得られた時系列の一連の画像から検出された物体に基づいて車両10を自動運転するよう、車両10を制御する。そのために、ECU3は、通信インターフェース21と、メモリ22と、プロセッサ23とを有する。
【0027】
通信インターフェース21は、通信部の一例であり、ECU3を車内ネットワーク4に接続するためのインターフェース回路を有する。すなわち、通信インターフェース21は、車内ネットワーク4を介して、カメラ2と接続される。そして通信インターフェース21は、カメラ2から画像を受信する度に、受信した画像をプロセッサ23へわたす。
【0028】
メモリ22は、記憶部の一例であり、例えば、揮発性の半導体メモリ及び不揮発性の半導体メモリを有する。なお、メモリ22は、後述するようにプロセッサ23が複数の演算ユニットを有する場合に、演算ユニットごとに専用のメモリ回路を有していてもよい。そしてメモリ22は、ECU3のプロセッサ23により実行される信号灯状態識別処理において使用される各種のデータ及びパラメータ、例えば、カメラ2から受信した画像、信号灯状態識別処理で利用される各識別器を特定するための各種パラメータ、物体の種類ごとの確信度閾値、信号灯の取り得る個々の状態間の遷移の可否を表す遷移可否情報、及び、信号灯の状態に関する確信度と比較される閾値などを記憶する。さらに、メモリ22は、検出された物体に関する情報を表す検出物体リストといった、信号灯状態識別処理の途中で生成される各種のデータを一定期間記憶する。さらにまた、メモリ22は、地図情報といった車両10の走行制御に利用される情報を記憶してもよい。
【0029】
プロセッサ23は、制御部の一例であり、1個または複数個のCPU(Central Processing Unit)及びその周辺回路を有する。プロセッサ23は、論理演算ユニット、数値演算ユニットあるいはグラフィック処理ユニット(Graphics Processing Unit, GPU)といった他の演算回路をさらに有していてもよい。そしてプロセッサ23は、車両10が走行している間、カメラ2から画像を受信する度に、受信した画像に対して信号灯状態識別処理を含む車両制御処理を実行する。そしてプロセッサ23は、検出された車両10の周囲の物体に基づいて、車両10を自動運転するよう、車両10を制御する。
【0030】
図3は、信号灯状態識別処理を含む車両制御処理に関する、ECU3のプロセッサ23の機能ブロック図である。プロセッサ23は、物体検出部31と、追跡部32と、確信度算出部33と、状態識別部34と、運転計画部35と、車両制御部36とを有する。プロセッサ23が有するこれらの各部は、例えば、プロセッサ23上で動作するコンピュータプログラムにより実現される機能モジュールである。あるいは、プロセッサ23が有するこれらの各部は、プロセッサ23に設けられる、専用の演算回路であってもよい。また、プロセッサ23が有するこれらの各部のうち、物体検出部31、追跡部32、確信度算出部33及び状態識別部34が、信号灯状態識別処理を実行する。なお、車両10に複数のカメラが設けられる場合には、プロセッサ23は、カメラごとに、そのカメラにより得られた画像に基づいて信号灯状態識別処理を実行してもよい。
【0031】
物体検出部31は、カメラ2から画像を受信する度に、受信した最新の画像を物体検出用の第1の識別器に入力することで、その画像上の検出対象物体(車両を含む)を含む物体領域を検出するとともに、その検出対象物体の種類を特定する。
【0032】
本実施形態では、物体検出部31は、第1の識別器として、画像に表された検出対象物体を含む物体領域を検出し、かつ、検出対象物体の種類を識別するように予め学習されたDNNを利用する。物体検出部31が利用するDNNは、例えば、Single Shot MultiBox Detector(SSD)、または、Faster R-CNNといった、コンボリューショナルニューラルネットワーク(以下、単にCNNと呼ぶ)型のアーキテクチャを持つDNNとすることができる。
【0033】
図4は、第1の識別器として利用されるDNNの構成の一例を示す図である。DNN400は、画像が入力される入力側に設けられる主幹部401と、主幹部401よりも出力側に設けられる位置検出部402及び種類推定部403とを有する。位置検出部402は、主幹部401からの出力に基づいて、画像上に表された検出対象物体の外接矩形を物体領域として出力する。種類推定部403は、主幹部401からの出力に基づいて、位置検出部402で検出された物体領域に表された検出対象物体の種類ごとの確信度を算出する。なお、位置検出部402及び種類推定部403は一体的に形成されてもよい。
【0034】
主幹部401は、例えば、入力側から出力側へ向けて直列に接続される複数の層を有するCNNとすることができる。その複数の層には2以上の畳み込み層が含まれる。さらに、主幹部401が有する複数の層には、1または複数の畳み込み層ごとに設けられるプーリング層が含まれてもよい。さらにまた、主幹部401が有する複数の層には、1以上の全結合層が含まれてもよい。例えば、主幹部401は、SSDのベースレイヤーと同様の構成とすることができる。あるいは、主幹部401は、VGG-19、AlexNetあるいはNetwork-In-Networkといった他のCNNアーキテクチャに従って構成されてもよい。
【0035】
主幹部401は、画像が入力されると、その画像に対して各層での演算を実行することで、その画像から算出したfeature mapを出力する。なお、主幹部401は、解像度の異なる複数のfeature mapを出力してもよい。例えば、主幹部401は、入力された画像の解像度と同じ解像度を持つfeature mapと、入力された画像の解像度よりも低い解像度の1以上のfeature mapを出力してもよい。
【0036】
位置検出部402及び種類推定部403には、それぞれ、主幹部401から出力されたfeature mapが入力される。そして位置検出部402及び種類推定部403は、それぞれ、例えば、入力側から出力側へ向けて直列に接続される複数の層を有するCNNとすることができる。位置検出部402及び種類推定部403のそれぞれについて、CNNが有する複数の層には2以上の畳み込み層が含まれる。また、位置検出部402及び種類推定部403のそれぞれについて、CNNが有する複数の層には、1または複数の畳み込み層ごとに設けられるプーリング層が含まれてもよい。なお、CNNが有する畳み込み層及びプーリング層は、位置検出部402及び種類推定部403について共通化されてもよい。さらに、位置検出部402及び種類推定部403のそれぞれについて、複数の層には、1以上の全結合層が含まれてもよい。この場合、全結合層は、各畳み込み層よりも出力側に設けられることが好ましい。また全結合層には、各畳み込み層からの出力が直接入力されてもよい。また、種類推定部403の出力層は、ソフトマックス関数に従って検出対象物体の種類のそれぞれの確信度を算出するソフトマックス層としてもよいし、シグモイド関数に従って検出対象物体の種類のそれぞれの確信度を算出するシグモイド層としてもよい。
【0037】
位置検出部402及び種類推定部403は、例えば、画像上の様々な位置、様々なサイズ及び様々なアスペクト比の領域ごとに、検出対象物体の種類のそれぞれの確信度を出力するように学習される。したがって、識別器400は、画像が入力されることで、画像上の様々な位置、様々なサイズ及び様々なアスペクト比の領域ごとに、検出対象物体の種類のそれぞれの確信度を出力する。そして位置検出部402及び種類推定部403は、何れかの種類の検出対象物体についての確信度が所定の確信度閾値以上となる領域を、その種類の検出対象物体が表された物体領域として検出する。
【0038】
識別器400の学習に利用される教師データに含まれる画像(教師画像)には、例えば、検出対象物体の種類(例えば、普通乗用車、バス、トラック、二輪車など)と、検出対象物体が表された物体領域である、その検出対象物体の外接矩形とがタグ付けされる。
【0039】
識別器400は、上記のような多数の教師画像を用いて、例えば、誤差逆伝搬法といった学習手法に従って学習される。プロセッサ23は、このように学習された識別器400を利用することで、画像から検出対象となる物体を精度良く検出できる。
【0040】
なお、検出対象物体には、車両10の周囲の他の車両以外の、車両10の走行制御に影響する物体が含まれてもよい。そのような物体には、例えば、人、道路標識、信号機、車線区画線などの道路標示、及び、道路上のその他の物体などが含まれる。この場合、第1の識別器は、これらの物体も検出するように予め学習されればよい。そして物体検出部31は、画像をその第1の識別器に入力することで、これらの物体も検出することができる。
【0041】
物体検出部31は、さらに、Non-maximum suppression(NMS)処理を実行することで、少なくとも部分的に重複する2以上の物体領域のうち、同一の物体が表されていると推定される物体領域から一つを選択してもよい。
【0042】
物体検出部31は、各物体領域の画像上での位置及び範囲と、その物体領域に含まれる物体の種類とを、検出物体リストに登録する。そして物体検出部31は、検出物体リストをメモリ22に記憶する。さらに、物体検出部31は、各物体領域について、その物体領域に含まれる各画素から第1の識別器の主幹部により算出され、かつ、確信度算出部33へ出力されるfeature mapをメモリ22に記憶する。なお、確信度算出部33へ出力されるfeature mapは、第1の識別器に入力された画像の解像度と同じ解像度を有するものとすることができる。また、第1の識別器の主幹部が有するプーリング層などにより、入力された画像の解像度よりも低い解像度を持つfeature mapが算出される場合には、その低い解像度を持つfeature mapが確信度算出部33へ出力されてもよい。さらに、第1の識別器の主幹部により算出される、互いに異なる解像度を持つ複数のfeature mapが確信度算出部33へ出力されてもよい。
【0043】
追跡部32は、最新の画像から検出された物体領域のそれぞれについて、その物体領域に表された検出対象物体を、検出物体リストを参照して過去の画像から検出された検出対象物体と対応付けることで、その物体領域に表された検出対象物体を追跡する。さらに、追跡部32は、追跡中の検出対象物体のうち、追跡中の車両が所定数(例えば、5~10)よりも多く存在する場合、それら追跡中の車両のなかから、所定数の車両を、信号灯状態識別の対象となる車両として選択する。
【0044】
追跡部32は、例えば、Lucas-Kanade法といった、オプティカルフローに基づく追跡処理を、最新の画像における、着目する物体領域及び過去の画像における物体領域に対して適用することで、その物体領域に表された検出対象物体を追跡する。そのため、追跡部32は、例えば、着目する物体領域に対してSIFTあるいはHarrisオペレータといった特徴点抽出用のフィルタを適用することで、その物体領域から複数の特徴点を抽出する。そして追跡部32は、複数の特徴点のそれぞれについて、過去の画像における物体領域における対応する点を、適用される追跡手法に従って特定することで、オプティカルフローを算出すればよい。あるいは、追跡部32は、画像から検出された移動物体の追跡に適用される他の追跡手法を、最新の画像における、着目する物体領域及び過去の画像における物体領域に対して適用することで、その物体領域に表された検出対象物体を追跡してもよい。
【0045】
追跡部32は、最新の画像から検出された検出対象物体のうち、過去の画像に表された検出対象物体と対応付けられなかった検出対象物体に対して、新たな追跡対象として、他の追跡中の検出対象物体と異なる識別番号を割り当て、その割り当てた識別番号を検出物体リストに登録する。一方、追跡部32は、最新の画像から検出された検出対象物体のうち、過去の画像に表された検出対象物体と対応付けられた検出対象物体、すなわち、追跡中の検出対象物体について、その追跡中の検出対象物体に割り当てられた識別番号と同じ識別番号を対応付ける。
【0046】
上記のように、追跡部32は、追跡中の車両(以下、単に追跡車両と呼ぶことがある)が所定数よりも多く存在する場合、追跡車両の中から、所定数の追跡車両を信号灯状態識別の対象となる車両として選択する。
【0047】
例えば、車両10に近い追跡車両ほど、車両10の運転制御に対する影響が大きいので、追跡部32は、追跡車両のうち、車両10に近い方から順に所定数の追跡車両を選択する。例えば、画像上で追跡車両が表された物体領域が大きいほど、車両10からその追跡車両までの距離が近いと推定される。そこで、追跡部32は、例えば、最新の画像上での物体領域のサイズが大きい方から順に所定数の追跡車両を選択する。
【0048】
あるいは、追跡部32は、追跡車両のそれぞれの物体領域の画像上での下端の位置に基づいて所定数の追跡車両を選択してもよい。車両10が走行中の道路と同じ道路を追跡車両が走行している場合、画像上でのその追跡車両が表された物体領域の下端の位置は、その検出対象物体が位置している路面上の位置と推定される。そして、車両10に検出対象物体が近いほど、カメラ2からその検出対象物体が位置している路面上の位置への方位は下向きとなるので、画像上での物体領域の下端も画像の下端に近くなる。したがって、物体領域の下端の位置が画像端に近いほど、車両10からその物体領域に表された追跡車両までの距離は近いと推定される。そこで、追跡部32は、各追跡車両の中から、最新の画像において、物体領域の下端が画像の下端に近い方から順に所定数の追跡車両を選択してもよい。
【0049】
あるいは、追跡部32は、追跡車両のそれぞれについて、その追跡車両が表された物体領域のサイズ(例えば、横幅)と、その追跡車両と同一種類の基準物体が車両10から所定距離に位置していると仮定した場合の基準サイズとの比に基づいて、車両10からその追跡車両までの距離を推定してもよい。あるいはまた、車両制御システム1がLiDARあるいはレーダといった測距センサ(図示せず)を有している場合、その測距センサにより、各追跡車両までの距離が測定されてもよい。この場合、例えば、画像上での追跡車両が表された物体領域の重心に対応する、カメラ2からの方位に相当する測距センサからの方位における距離が、車両10からその追跡車両までの距離として測定される。そして追跡部32は、推定または測定された車両10からの距離が近い方から順に、所定数の追跡車両を選択すればよい。
【0050】
あるいはまた、追跡部32は、各追跡車両のなかから、車線ごとに決められた数の追跡車両を選択してもよい。例えば、追跡部32は、車両10が走行中の車線と同じ車線を走行中の追跡車両のうち、車両10に最も近いと推定される追跡車両を選択する。さらに、追跡部32は、車両10が走行中の車線の左右に隣接するそれぞれの車線、及び、それら隣接車線にさらに隣接する車線(すなわち、車両10が走行中の車線を中心とする、左右それぞれ二つの車線)のそれぞれから、車両10に最も近いと推定される追跡車両を選択する。この場合、例えば、物体検出部31が最新の画像から車線区画線を検出している場合、あるいは、ローカライズ処理部(図示せず)が、最新の画像から車線区画線を検出している場合には、追跡部32は、車線区画線と物体領域との位置関係に基づいて、追跡車両のそれぞれについて、その追跡車両が走行中の車線を特定すればよい。例えば、追跡部32は、着目する追跡車両について、その追跡車両を含む物体領域の下端の両側に位置する二つの車線区画線で挟まれた車線上にその追跡車両が位置していると判定すればよい。また、追跡部32は、車線ごとに、上記の追跡車両の選択と同様の処理を実行することで、その車線を走行中の追跡車両のうち、車両10に最も近い追跡車両を選択すればよい。なお、追跡部32は、車線ごとに、車両10に近い方から順に二つ以上の追跡車両を選択してもよい。
【0051】
図5は、信号灯状態識別の対象となる車両の選択の一例を示す図である。画像500には、車両が複数写っており、各車両が検出対象物体として検出されている。車両10が走行中の車線の右側に隣接する車線を走行している各車両のうち、車両501が表された物体領域が最も大きく、車両10に最も近いと推定される。そのため、車両501が信号灯状態識別の対象となる物体として選択される。そして車両501が含まれる物体領域511の各画素値から求められる特徴が、車両501についての信号灯状態の識別に用いられる。
【0052】
同様に、車両10が走行中の車線と同じ車線を走行している各車両のうち、車両502が表された物体領域が最も大きく、車両10に最も近いと推定される。そのため、車両502が信号灯状態識別の対象となる物体として選択される。そして車両502が含まれる物体領域512の各画素値から求められる特徴が、車両502についての信号灯状態の識別に用いられる。
【0053】
変形例によれば、追跡部32は、追跡車両の全てを、信号灯状態識別の対象となる物体として選択してもよい。
【0054】
追跡部32は、信号灯状態識別の対象となる追跡車両の識別番号を確信度算出部33へ通知する。また、追跡部32は、信号灯状態識別の対象についての判定結果に基づいて、検出物体リストにおける、信号灯状態識別の対象となる物体を示すインデックスの値を更新する。
【0055】
確信度算出部33は、各追跡車両のうち、信号灯状態識別の対象となる追跡車両のそれぞれについて、その追跡車両が含まれる物体領域内の画素値から求められる特徴を、時間軸方向の畳み込み演算を実行する第2の識別器に入力することで、追跡車両の信号灯の取り得る個々の状態についての確信度を算出する。
【0056】
本実施形態では、確信度算出部33は、左右それぞれのターンシグナルについて、そのターンシグナルの状態が点滅状態である確信度を算出する。確信度算出部33は、さらに、ブレーキランプの状態が点灯開始状態である確信度と、点灯中状態である確信度と、点灯終了状態である確信度と、消灯中である確信度とを算出する。なお、点灯開始状態は、直近の所定期間内にそれまで消灯していたブレーキランプが点灯した状態、すなわち消灯から点灯へ切り替わった状態である。また、点灯終了状態は、直近の所定期間内にそれまで点灯していたブレーキランプが消灯した状態、すなわち点灯から消灯へ切り替わった状態である。さらに、点灯中状態は、直近の所定期間にわたってブレーキランプの点灯が継続している状態である。そして、消灯中状態は、直近の所定期間にわたってブレーキランプの消灯が継続している状態である。なお、所定期間は、例えば、第2の識別器が時間軸方向の畳み込み演算を行う期間である。
【0057】
確信度算出部33は、信号灯状態識別の対象となる追跡車両が表された物体領域内の画素値から求められる特徴として、例えば、第1の識別器の主幹部により算出されたfeature mapのうち、その物体領域に含まれるfeatureを利用することができる。これにより、信号灯状態識別の対象となる追跡車両そのものの特徴だけでなく、その追跡車両周囲の環境の特徴も信号灯の状態識別に利用することが可能となる。本実施形態では、信号灯状態識別の対象となる追跡車両と他の車両との相対的な位置関係による影響、例えば、信号灯状態識別の対象となる追跡車両のターンシグナル等の一部が他の車両に隠れているような状況も考慮して、第2の識別器は、信号灯の取り得る個々の状態についての確信度を算出することができる。例えば、feature mapの解像度が第1の識別器に入力された画像の解像度と同一である場合、その画像上での物体領域と対応する、feature map上の領域内に含まれる各featureが、物体領域内の画素値から求められる特徴となる。また、feature mapの解像度が第1の識別器に入力された画像の解像度よりも低い場合、入力された画像の解像度に対するfeature mapの解像度の比に応じて、物体領域の座標を補正した位置及び範囲が、物体領域に対応する、feature map上の領域となる。そしてそのfeature map上の領域に含まれる各featureが、物体領域内の画素値から求められる特徴となる。例えば、入力された画像上での物体領域の左上端位置及び右上端位置がそれぞれ(tlX, tlY)及び(brX, brY)であり、入力された画像に対して1/N(Nは2以上の整数)のダウンサイジングが行われてfeature mapが算出されているとする。この場合、画像上の物体領域に対応するfeature map上の領域の左上端位置及び右下端位置は、それぞれ、(tlX/N, tlY/N)及び(brX/N, brY/N)となる。
【0058】
変形例によれば、確信度算出部33は、第1の識別器に入力された画像上の信号灯状態識別の対象となる追跡車両が表された物体領域内の各画素の値そのものを、第2の識別器に入力する、信号灯状態識別の対象となる追跡車両が表された物体領域内の画素値から求められる特徴としてもよい。あるいは、確信度算出部33は、その物体領域内の各画素に対して、畳み込み演算といった所定のフィルタ処理を行って得られた値を、第2の識別器に入力する、信号灯状態識別の対象となる追跡車両が表された物体領域内の画素値から求められる特徴としてもよい。
【0059】
確信度算出部33は、各物体領域について、抽出した特徴をダウンサンプリングまたはアップサンプリングすることで所定のサイズ(例えば、32×32)にリサイズする。これにより、追跡車両の追跡の途中で車両10とその追跡車両間の相対距離が変化して、画像上での追跡車両のサイズが変化しても、第2の識別器は、入力される特徴を一定のサイズとして扱えるので、第2の識別器の構成が簡単化される。
【0060】
図6は、検出物体リストの一例を示す図である。検出物体リスト600には、追跡中の検出対象物体のそれぞれについて、その物体が信号灯状態識別対象か否かを表すインデックス、その物体に割り当てられた識別番号、その物体に関する情報が記憶されているメモリ22のアドレスを表すポインタ及び状態識別部34により信号灯の状態が識別された回数(すなわち、第2の識別器に対応する物体領域内の特徴が入力された回数)が格納される。さらに、検出物体リスト600には、追跡中の検出対象物体のそれぞれについて、物体領域の位置及び範囲を表す情報(図示せず)及び検出対象物体の種類を表す情報(図示せず)などが格納される。また、各検出対象物体についてのポインタで示されるメモリ22上の格納領域601には、直近の所定期間内の時系列の一連の画像のそれぞれの物体領域から求められる、第2の識別器に入力される特徴、及び、最新の信号灯の状態の識別結果が記憶される。
【0061】
確信度算出部33は、信号灯状態識別の対象となる追跡車両のそれぞれについて、直近の所定期間に含まれる時系列の一連の画像について、その追跡車両が含まれる物体領域内の画素値から求められる特徴を、時系列順に時間軸方向の畳み込み演算を実行する第2の識別器に入力することで、その追跡車両の信号灯の取り得る個々の状態についての確信度を算出する。
【0062】
なお、所定期間の長さは、ターンシグナルの点滅周期と同程度であることが好ましい。これは、一般に、ターンシグナルが点灯する場合、ターンシグナルは、予め定められた点滅周期で点灯と消灯とを繰り返す。そのため、その点滅周期以上の長さを持つ期間中の各画像から得られる特徴が第2の識別器に入力されることで、第2の識別器は、ターンシグナルの状態についての確信度を精度良く算出できるためである。一方、所定期間が長くなるほど、第2の識別器に入力される特徴の数が増加して、第2の識別器による演算量も増加する。そのため、第2の識別器による演算を実行するために要求されるハードウェアリソースの量も増加する。このように、要求されるハードウェアリソースの観点からは、所定期間は短いことが好ましい。このことから、上記のように、所定期間の長さは、ターンシグナルの点滅周期と同程度であることが好ましい。ただし、ECU3のハードウェアリソースに余裕がある場合には、所定期間の長さはターンシグナルの点滅周期よりも長くてもよい。この場合には、例えば、第2の識別器の設計及び学習の際に、要求されるハードウェアリソースと信号灯の状態の識別精度とのトレードオフが最良となるように、所定期間の長さは設定されればよい。
【0063】
確信度算出部33は、時間軸方向の畳み込み演算を実行する第2の識別器として、CNN型のアーキテクチャを有するニューラルネットワークを用いることができる。この場合、第2の識別器は、例えば、直前の層から出力されたfeature mapに対して、時間軸方向に沿って畳み込み演算を実行する畳み込み層(以下、時間特徴畳み込み層と呼ぶ)を一つ以上有する。個々の時間特徴畳み込み層の時間軸方向のカーネルサイズは、例えば、全ての時間特徴畳み込み層を経由することで、一度に入力される複数の特徴が含まれる、上記の所定期間全体にわたって畳み込み演算が行われるように設定される。時間特徴畳み込み層は、例えば、時間軸方向及び空間方向の何れについても畳み込み演算(以下、3次元畳み込み演算と呼ぶ)を実行してもよく、あるいは、時間軸方向についてのみの畳み込み演算(以下、時間次元畳み込み演算と呼ぶ)を実行してもよい。さらに、時間特徴畳み込み層は、チャネル方向に関しても畳み込み演算または全結合演算を実行してもよい。また、第2の識別器が複数の時間特徴畳み込み層を有する場合には、その複数の時間特徴畳み込み層の何れかの層が3次元畳み込み演算を実行し、その複数の時間特徴畳み込み層の他の層が時間次元畳み込み演算を実行してもよい。さらに、第2の識別器は、時間軸方向には畳み込み演算を実行せず、空間方向について畳み込み演算を実行する畳み込み層(以下、空間特徴畳み込み層と呼ぶ)を一つ以上有してもよい。この空間特徴畳み込み層も、チャネル方向に関して畳み込み演算または全結合演算を実行してもよい。第2の識別器が1以上の空間特徴畳み込み層を有する場合、空間特徴畳み込み層と時間特徴畳み込み層の順序はどのような順序でもよい。例えば、入力側から出力側へ順に、空間特徴畳み込み層、時間特徴畳み込み層の順に各畳み込み層が設けられてもよく、あるいはその逆の順序であってもよい。さらに、空間特徴畳み込み層と時間特徴畳み込み層とが交互に設けられてもよい。さらに、第2の識別器は、1以上のプーリング層を有してもよい。さらにまた、第2の識別器は、1以上の活性化層及び1以上の全結合層を有してもよい。第2の識別器の出力層は、例えば、活性化関数としてシグモイド関数またはソフトマックス関数を使用する。そして、第2の識別器の出力層は、左右それぞれのターンシグナルについて、そのターンシグナルの状態の1クラスの分類結果として、そのターンシグナルの状態が点滅状態である確信度を出力する。また、第2の識別器の出力層は、ブレーキランプの状態の4クラスの分類結果として、ブレーキランプの状態が点灯開始状態である確信度と、点灯中状態である確信度と、点灯終了状態である確信度と、消灯中である確信度とを出力する。出力層が活性化関数としてシグモイド関数を使用する場合、それぞれの状態について、シグモイド関数の出力値である0~1の間の値が確信度として算出される。
【0064】
第2の識別器の学習に用いられる、ターンシグナルの状態に関する教師データとして、例えば、上記の所定期間にわたって得られた時系列の一連の画像のそれぞれに表された車両を含む物体領域から得られた特徴の組と、その特徴の組に対応するターンシグナルの状態(点滅状態あるいは消灯状態)を表すラベルとの組み合わせが用いられる。このような教師データを多数利用して、誤差逆伝搬法に従って第2の識別器を学習することで、第2の識別器は、ターンシグナルの取り得る個々の状態についての確信度を精度良く算出できる。
【0065】
一方、第2の識別器の学習に用いられる、ブレーキランプの状態に関する教師データも、上記のターンシグナルの状態に関する教師データと同様のデータとすることができる。ただし、ブレーキランプに関しては、ドライバがブレーキを掛けるか否かでブレーキランプの状態が変化し、特に、ブレーキランプが点灯している期間の長さも不定である。そのため、ブレーキランプの点灯開始状態または点灯終了状態に関する教師データとして、一連の特徴の組が得られる期間中にブレーキランプが消灯から点灯に切り替わるタイミングまたは点灯から消灯に切り替わるタイミングが含まれるものが用いられる。
【0066】
図7は、ブレーキランプの個々の状態と教師データとして利用する一連の特徴の組が得られる期間との関係の一例を示す図である。
図7において、横軸は時間を表す。また、波形701は、ブレーキランプが点灯しているか消灯しているかを表す。この例では、ブレーキランプは、時刻t1にて消灯から点灯に切り替わり、一方、時刻t2にて点灯から消灯に切り替わる。したがって、時刻t1の前後の期間P1(すなわち、第2の識別器が時間軸方向の畳み込み演算を行う期間の2倍の長さの期間)では、ブレーキランプの状態は点灯開始状態となり、時刻t2の前後の期間P3(すなわち、第2の識別器が時間軸方向の畳み込み演算を行う期間の2倍の長さの期間)では、ブレーキランプの状態は点灯終了状態となる。そして時刻t1から時刻t2の間において、ブレーキランプは継続して点灯しているので、期間P1と期間P3の間の期間P2では、ブレーキランプの状態は点灯中状態となる。さらに、時刻t1よりも前、あるいは、時刻t2よりも後では、ブレーキランプは継続して消灯しているので、期間P1よりも前または期間P3よりも後の期間P4では、ブレーキランプの状態は消灯中状態となる。そこで、点灯開始状態とラベル付けされた教師データとして、時刻t1を含み、かつ、第2の識別器が時間軸方向の畳み込み演算を行う期間と同じ長さの期間T1内の一連の画像のそれぞれの物体領域から得られる特徴が利用される。同様に、点灯終了状態とラベル付けされた教師データとして、時刻t2を含み、かつ、第2の識別器が時間軸方向の畳み込み演算を行う期間と同じ長さの期間T2内の一連の画像のそれぞれの物体領域から得られる特徴が利用される。また、点灯中状態とラベル付けされた教師データとして、期間P2に含まれ、かつ、第2の識別器が時間軸方向の畳み込み演算を行う期間と同じ長さの期間内の一連の画像のそれぞれの物体領域から得られる特徴が利用されればよい。同様に、消灯中状態とラベル付けされた教師データとして、期間P4に含まれ、かつ、第2の識別器が時間軸方向の畳み込み演算を行う期間と同じ長さの期間内の一連の画像のそれぞれの物体領域から得られる特徴が利用されればよい。
【0067】
第2の識別器は、物体領域に含まれる特徴を処理すればよいため、第1の識別器と比較して、入力層及び中間層のサイズが小さくて済み、かつ、重み係数といった第2の識別器を規定するためのパラメータ数が少なくて済む。そのため、第2の識別器は、第1の識別器と比較して演算量が少なく、プロセッサ23に対する演算負荷を小さくすることができる。さらに、第2の識別器の学習に要する演算量も削減される。なお、第1の識別器及び第2の識別器がそれぞれニューラルネットワークとして構成されている場合、共通の教師データを用いて、誤差逆伝搬法によりそれらニューラルネットワークが一体的に学習されてもよい。
【0068】
また、確信度算出部33は、第2の識別器として、例えば、Recurrent Neural Network(RNN)、Long Short Term Memory(LSTM)またはGated Recurrent Unit(GRU)といった、再帰構造を持つニューラルネットワークを用いてもよい。このような再帰構造を持つニューラルネットワークでは、前回までに入力されたデータから算出された演算結果が内部状態として保持され、新たなデータが入力される度に、内部状態として保持された演算結果も参照されるため、時間軸方向に沿った追跡車両の信号灯の外観的な変化が、その信号灯の状態の確信度の算出に利用される。そのため、確信度算出部33は、第2の識別器として、再帰構造を持つニューラルネットワークを用いることで、追跡車両の信号灯の状態の確信度を精度良く算出できる。なお、第2の識別器として、再帰構造を持つニューラルネットワークが用いられる場合も、上記の教師データと同様の教師データを用いて第2の識別器は学習されればよい。
【0069】
この場合、確信度算出部33は、各追跡車両のうち、信号灯状態識別の対象となる追跡車両のそれぞれについて、カメラ2から画像が得られる度に、その追跡車両が含まれる物体領域内の画素値から求められる特徴を、第2の識別器に入力すればよい。これにより、確信度算出部33は、追跡車両の信号灯の取り得る個々の状態についての確信度を算出することができる。
【0070】
確信度算出部33は、信号灯状態識別の対象となる追跡車両のそれぞれについて、各信号灯(左右それぞれのターンシグナル及びブレーキランプ)のそれぞれの取り得る個々の状態についての確信度を状態識別部34へ出力する。
【0071】
状態識別部34は、信号灯状態識別の対象となる追跡車両のそれぞれについて、確信度算出部33から各信号灯のそれぞれの取り得る個々の状態についての確信度を受け取る度に、その確信度に基づいて各信号灯の状態を識別する。
【0072】
本実施形態では、左右それぞれのターンシグナルに関しては、点滅状態の確信度が求められている。そこで、状態識別部34は、着目する追跡車両についての左のターンシグナルの点滅状態の確信度が所定の閾値以上である場合、その追跡車両の左のターンシグナルの状態は点滅状態であると識別する。一方、状態識別部34は、着目する追跡車両についての左のターンシグナルの点滅状態の確信度が所定の閾値未満である場合、その追跡車両の左のターンシグナルの状態は消灯状態であると識別する。状態識別部34は、着目する追跡車両についての右のターンシグナルについても同様に、そのターンシグナルの点滅状態の確信度が所定の閾値以上か否かでそのターンシグナルの状態を識別すればよい。
【0073】
一方、ブレーキランプについては、上記のように、状況に応じてブレーキランプが点灯している期間の長さは変化する。そのため、ブレーキランプが表された時系列の一連の画像のそれぞれから得られる特徴の時系列の変化に時間的な周期性が無い。そして、ブレーキランプが点灯を開始してから、あるいは、消灯されてからしばらく経過すると、ブレーキランプの外観の変化が無い状態が継続するため、状況によっては、ブレーキランプの状態を識別することが困難となることがある。例えば、夜間のように、車両のテールランプが点灯している状況下、あるいは、周囲の環境光がブレーキランプの周辺で反射され、ブレーキランプが光って見える状況では、ブレーキランプが点灯または消灯してからしばらく経過すると、ブレーキランプが点灯しているのか消灯しているのかを識別することが困難となり得る。そのため、第2の識別器から出力される、ブレーキランプの取り得る個々の状態についての確信度の精度が不十分となることがある。
【0074】
一方、ブレーキランプが点灯するタイミング、あるいは消灯するタイミングの前後では、ブレーキランプが表された時系列の一連の画像のそれぞれの物体領域から得られる特徴の組が、ブレーキランプの外観の変化を表すことができる。そのため、ブレーキランプが点灯するタイミング、あるいは消灯するタイミングの前後では、第2の識別器から出力される、ブレーキランプの取り得る個々の状態についての確信度の精度は十分に高くなる。
【0075】
そこで、状態識別部34は、直前におけるブレーキランプの状態と、遷移可否情報と、ブレーキランプの取り得る個々の候補状態の確信度とに基づいて、ブレーキランプの状態を識別する。本実施形態では、状態識別部34は、メモリ22に記憶されている遷移可否情報を参照して、直前におけるブレーキランプの状態から遷移可能な2以上の取り得る状態(すなわち、候補状態)を特定する。そして状態識別部34は、特定した候補状態のうち、第2の識別器により算出された確信度が最大となる候補状態を、ブレーキランプの最新の状態として識別する。
【0076】
図8は、ブレーキランプの状態遷移の一例を示す図である。
図8に示される状態遷移
図800において、個々のブロックはブレーキランプが取り得る状態を表し、個々の矢印は、遷移可否情報に示される、許容される状態遷移を表す。状態遷移
図800に示されるように、ブレーキランプの取り得る状態として、点灯開始状態801、点灯中状態802、点灯終了状態803及び消灯中状態804の4通りの状態がある。そして点灯開始状態801からは、ブレーキランプが点灯から消灯へ切り替わることなしにブレーキランプの消灯が継続することは有り得ないため、ブレーキランプの状態は、状態変化無し(すなわち、点灯開始状態801のまま)、点灯中状態802及び点灯終了状態803の何れかについてのみ遷移可能となっている。また、点灯中状態802からは、ブレーキランプが点灯から消灯へ切り替わることなしにブレーキランプの消灯が継続し、あるいは再点灯することは有り得ないため、ブレーキランプの状態は、状態変化無し(すなわち、点灯中状態802のまま)または点灯終了状態803の何れかについてのみ遷移可能となっている。さらに、点灯終了状態803からは、ブレーキランプが消灯から点灯へ切り替わることなしにブレーキランプの点灯が継続することは有り得ないため、ブレーキランプの状態は、状態変化無し(すなわち、点灯終了状態803のまま)、消灯中状態804及び点灯開始状態801の何れかについてのみ遷移可能となっている。そして消灯中状態804からは、ブレーキランプが消灯から点灯へ切り替わることなしにブレーキランプの点灯が継続し、あるいは再消灯することは有り得ないため、ブレーキランプの状態は、状態変化無し(すなわち、消灯中状態804のまま)または点灯開始状態801の何れかについてのみ遷移可能となっている。
【0077】
例えば、着目する追跡車両について、直前のブレーキランプの状態が点灯開始状態である場合、状態識別部34は、点灯開始状態、点灯中状態及び点灯終了状態のうち、最も高い確信度に対応する状態を、ブレーキランプの状態として識別する。したがって、もし、今回得られたブレーキランプの個々の候補状態についての確信度のうち、消灯中状態についての確信度が最も高い場合でも、ブレーキランプの状態が消灯中状態として識別されることはない。
【0078】
また、例えば、着目する追跡車両について、直前のブレーキランプの状態が消灯中状態である場合、状態識別部34は、消灯中状態及び点灯開始状態のうち、最も高い確信度に対応する状態を、ブレーキランプの状態として識別する。したがって、もし、今回得られたブレーキランプの個々の候補状態についての確信度のうち、点灯中状態についての確信度または点灯終了状態についての確信度が最も高い場合でも、ブレーキランプの状態が点灯中状態または点灯終了状態として識別されることはない。これらの例のように、ブレーキランプの状態を誤認識することが抑制される。
【0079】
変形例によれば、ブレーキランプの個々の候補状態から他の候補状態のそれぞれへの遷移の可否は、その候補状態間の遷移が行われる確率(以下、単に遷移確率と呼ぶ)で表されてもよい。この場合、遷移可否情報として、各候補状態間の遷移確率が、メモリ22に予め記憶される。この場合、状態識別部34は、ブレーキランプの取り得る個々の候補状態について、その候補状態の確信度に、直前のブレーキランプの状態からその候補状態への遷移確率を乗じることで補正確信度を算出する。そして状態識別部34は、ブレーキランプの取り得る個々の候補状態のうち、補正確信度が最大となる候補状態を、ブレーキランプの最新の状態として識別すればよい。
【0080】
この場合、状態識別部34は、各候補状態間の遷移確率を、車両10の周囲の状況、または、着目する追跡車両の周囲の状況に応じて動的に変更してもよい。例えば、車両10が測距センサを有している場合、状態識別部34は、測距センサにより測定される着目する追跡車両までの距離の変化により、着目する追跡車両が減速しているか否かを判定してもよい。あるいは、測距センサがレーダである場合のように、測距センサ自身が着目する追跡車両の速度を測定できる場合、状態識別部34は、測距センサによる速度の測定結果を利用して、着目する追跡車両が減速しているか否かを判定してもよい。なお、着目する追跡車両が含まれる物体領域の画像上での位置と、カメラ2からその追跡車両への方位とは1対1に対応しており、かつ、カメラ2と測距センサの位置関係は既知なので、着目する追跡車両が含まれる物体領域の画像上での位置に基づいて、状態識別部34は、測距センサから着目する追跡車両への方位を推定できる。したがって、状態識別部34は、その推定された方位における測距センサの測定結果を、着目する追跡車両までの距離または速度として利用すればよい。そして状態識別部34は、着目する追跡車両が減速していない場合、着目する追跡車両がブレーキを掛ける可能性は低いので、点灯開始状態及び点灯中状態へ遷移する遷移確率を低下させ、あるいは、点灯終了状態または消灯中状態へ遷移する遷移確率を上昇させてもよい。
【0081】
また、状態識別部34は、物体検出部31による物体検出の結果に基づいて、着目する追跡車両の前方に他の車両が存在するか否かを判定してもよい。そして状態識別部34は、着目する追跡車両の前方に他の車両が存在する場合、着目する追跡車両はブレーキを掛ける可能性が有るので、点灯開始状態及び点灯中状態へ遷移する遷移確率を上昇させ、あるいは、点灯終了状態または消灯中状態へ遷移する遷移確率を低下させてもよい。
【0082】
さらに、ECU3が無線端末を介して受信した交通情報などに基づいて、各候補状態間の遷移確率を動的に変更してもよい。例えば、交通上に示される、車線規制が行われている地点または渋滞地点に近付くほど、車両10の周囲の他の車両はブレーキを掛ける可能性が高くなる。そこで、状態識別部34は、GPS受信機などにより測位される車両10の現在位置が、車線規制が行われている地点または渋滞地点に近付くほど、全ての追跡車両について、点灯開始状態及び点灯中状態へ遷移する遷移確率を上昇させ、あるいは、点灯終了状態または消灯中状態へ遷移する遷移確率を低下させてもよい。
【0083】
他の変形例によれば、状態識別部34は、着目する追跡車両について、直近の一定期間において、画像が得られる度に算出される、ブレーキランプの取り得る個々の候補状態の確信度と、ブレーキランプの取り得る個々の候補状態間の遷移確率とに基づいて、ブレーキランプの状態を最尤推定してもよい。この場合、状態識別部34は、時間経過とともに対象の状態が変化する場合に利用可能な様々な最尤推定手法の何れかに従って、ブレーキランプの状態を推定すればよい。
【0084】
状態識別部34は、信号灯状態識別の対象となる個々の追跡車両についての信号灯状態識別結果を検出物体リストへ登録するとともに、運転計画部35へ通知する。
【0085】
運転計画部35は、検出物体リストを参照して、車両10の周囲に存在する物体と車両10とが衝突しないように車両10の走行予定経路(トラジェクトリ)を1以上生成する。走行予定経路は、例えば、現時刻から所定時間先までの各時刻における、車両10の目標位置の集合として表される。例えば、運転計画部35は、検出物体リストを参照して、カメラ2についての車両10への取り付け位置などの情報を用いて視点変換処理を実行することで、検出物体リストにおける物体の画像内座標を鳥瞰画像上の座標(鳥瞰座標)に変換する。そして運転計画部35は、一連の鳥瞰座標に対してKalman FilterまたはParticle filterなどを用いたトラッキング処理を実行することで、検出物体リストに登録されている物体を追跡し、その追跡結果により得られた軌跡から、物体のそれぞれの所定時間先までの予測軌跡を推定する。その際、運転計画部35は、車両の信号灯状態識別結果を予測軌跡の推定に利用する。例えば、着目する車両の左のターンシグナルの状態が点滅状態である場合、その車両は左側へ車線変更し、あるいは、左折する可能性が高い。そこで、運転計画部35は、その車両について、左側へ車線変更し、あるいは、左折する予測軌跡を推定する。また、着目する車両のブレーキランプの状態が、点灯開始状態である場合、あるいは、点灯中状態である場合、その車両は減速する可能性が高い。そこで、運転計画部35は、その車両について、現時点よりも減速するような予測軌跡を推定する。さらに、着目する車両の左右それぞれのターンシグナルの状態が何れも消灯状態であり、かつ、ブレーキランプの状態が点灯終了状態または消灯中状態である場合、その車両は減速せずに直進する可能性が高い。そこで、運転計画部35は、その車両について、減速せずに直進するような予測軌跡を推定する。
【0086】
運転計画部35は、追跡中の各物体の予測軌跡と、車両10の位置、速度及び姿勢に基づいて、何れの物体についても所定時間先までの追跡中の物体のそれぞれと車両10間の距離の予測値が所定距離以上となるように、車両10の走行予定経路を生成する。なお、運転計画部35は、車両10の位置、速度及び姿勢を、例えば、車両10に搭載されたGPS受信機(図示せず)から得た車両10の現在位置を表す現在位置情報に基づいて推定できる。あるいは、ローカライズ処理部(図示せず)が、カメラ2により画像が得られる度に、その画像から車両10の左右の車線区画線を検出し、検出された車線区画線とメモリ22に記憶されている地図情報とをマッチングすることで、車両10の位置、速度及び姿勢が推定されてもよい。さらに、運転計画部35は、例えば、車両10の現在位置情報と、メモリ22に記憶されている地図情報とを参照して、車両10が走行可能な車線の数を確認してもよい。そして運転計画部35は、車両10が走行可能な車線が複数存在する場合には、車両10が走行する車線を変更するように走行予定経路を生成してもよい。
なお、運転計画部35は、複数の走行予定経路を生成してもよい。この場合、運転計画部35は、複数の走行予定経路のうち、車両10の加速度の絶対値の総和が最小となる経路を選択してもよい。
【0087】
運転計画部35は、生成した走行予定経路を車両制御部36へ通知する。
【0088】
車両制御部36は、車両10が通知された走行予定経路に沿って走行するように車両10の各部を制御する。例えば、車両制御部36は、通知された走行予定経路、及び、車速センサ(図示せず)により測定された車両10の現在の車速に従って、車両10の加速度を求め、その加速度となるようにアクセル開度またはブレーキ量を設定する。そして車両制御部36は、設定されたアクセル開度に従って燃料噴射量を求め、その燃料噴射量に応じた制御信号を車両10のエンジンの燃料噴射装置へ出力する。あるいは、車両制御部36は、設定されたブレーキ量に応じた制御信号を車両10のブレーキへ出力する。
【0089】
さらに、車両制御部36は、車両10が走行予定経路に沿って走行するために車両10の進路を変更する場合には、その走行予定経路に従って車両10の操舵角を求め、その操舵角に応じた制御信号を、車両10の操舵輪を制御するアクチュエータ(図示せず)へ出力する。
【0090】
図9は、プロセッサ23により実行される、信号灯状態識別処理を含む車両制御処理の動作フローチャートである。プロセッサ23は、カメラ2から画像を受信する度に、
図9に示される動作フローチャートに従って車両制御処理を実行する。なお、以下に示される動作フローチャートにおいて、ステップS101~S107の処理が信号灯状態識別処理に対応する。
【0091】
プロセッサ23の物体検出部31は、カメラ2から得られた最新の画像を第1の識別器に入力して、その画像に表された検出対象物体(車両を含む)を検出する。すなわち、物体検出部31は、画像上で検出対象物体を含む物体領域を検出する(ステップS101)。さらに、物体検出部31は、その検出対象物体の種類を識別する。そして物体検出部31は、検出された物体を検出物体リストに登録する。
【0092】
プロセッサ23の追跡部32は、最新の画像における、検出対象物体を含む物体領域のそれぞれについて、その物体領域と、過去の画像における物体領域とに基づいて、最新の画像における、その物体領域に表されている検出対象物体を追跡する(ステップS102)。さらに、追跡部32は、追跡中の検出対象物体のなかから、所定数の車両を、信号灯状態識別の対象となる追跡車両として選択する(ステップS103)。
【0093】
プロセッサ23の確信度算出部33は、信号灯状態識別の対象となる追跡車両のそれぞれについて、その追跡車両が表された物体領域内の画素値から求められる特徴を抽出する(ステップS104)。そして確信度算出部33は、信号灯状態識別の対象となる追跡車両のそれぞれについて、抽出した特徴を、第2の識別器に入力することで、その追跡車両の左右のターンシグナルの取り得る個々の状態及びブレーキランプの取り得る個々の候補状態の確信度を算出する(ステップS105)。
【0094】
プロセッサ23の状態識別部34は、信号灯状態識別の対象となる追跡車両のそれぞれについて、左右のターンシグナルのそれぞれの状態を、そのターンシグナルの取り得る個々の候補状態について得られた確信度に基づいて識別する(ステップS106)。
【0095】
また、状態識別部34は、信号灯状態識別の対象となる追跡車両のそれぞれのブレーキランプについて、直前の状態から遷移可能な候補状態のうちで確信度が最大となる候補状態を、その追跡車両のブレーキランプの最新の状態として識別する(ステップS107)。
【0096】
プロセッサ23の運転計画部35は、各追跡車両について、信号灯状態識別結果を参照してその追跡車両の予測軌跡を求め、各追跡車両の予測軌跡と所定の距離以上となるように、車両10の走行予定経路を生成する(ステップS108)。さらに、運転計画部35は、検出物体リストを参照して、検出物体リストに登録されている、追跡車両以外の各検出対象物体の予測軌跡とも所定の距離以上となるように、車両10の走行予定経路を生成すればよい。そしてプロセッサ23の車両制御部36は、走行予定経路に沿って車両10が走行するように車両10を制御する(ステップS109)。そしてプロセッサ23は、車両制御処理を終了する。
【0097】
以上に説明してきたように、この信号灯状態識別装置は、時系列に得られる一連の画像をそれぞれ第1の識別器に入力することで、一連の画像のそれぞれから、車両を含む物体領域を検出するとともに、その車両を追跡する。また、この信号灯状態識別装置は、追跡中の車両について、物体領域内の画素値から求められる特徴を、再帰構造を有し、あるいは時間軸方向の畳み込み演算を実行する第2の識別器に入力することで、その車両の信号灯の取り得る個々の候補状態についての確信度を算出する。そしてこの信号灯状態識別装置は、その車両の直前の信号灯の状態から個々の候補状態への遷移可否に関する情報と、個々の候補状態についての確信度とに基づいて、その車両の信号灯の状態を識別する。これにより、この信号灯状態識別装置は、信号灯の点灯及び消灯の周期、及び、信号灯が点灯している期間の長さが不定であっても、信号灯の点灯または消灯に関する状態を精度良く識別することができる。
【0098】
さらに、この信号灯状態識別装置は、個々の画像から物体を検出する第1の識別器を利用して、時系列の一連の画像のそれぞれから、第2の識別器に入力する特徴を抽出するので、画像全体を、再帰構造を有し、あるいは時間軸方向の畳み込み演算を実行する識別器に入力して信号灯の状態を識別するよりも、全体として演算量を削減することができる。また、第1の識別器の学習に用いられる画像は静止画像であればよく、一方、第2の識別器の学習には、動画像が必要となるものの、その動画像に含まれる個々の画像のサイズは、第1の識別器の学習に利用される画像のサイズよりも小さくてよい。そのため、この信号灯状態識別装置は、各識別器の学習に必要なコスト(例えば、教師画像のアノテーションに要するコスト、教師画像の収集に要するコストなど)を削減するとともに、各識別器の学習に要する演算量及び演算時間を削減することができる。
【0099】
変形例によれば、確信度算出部33が使用する第2の識別器は、ブレーキランプの状態に関して、点灯開始状態、点灯終了状態、及び、ブレーキランプが点灯中または消灯中であることを表す定常状態の3クラス分類結果を表すように予め学習されてもよい。この場合、第2の識別器の出力層は、活性化関数としてシグモイド関数またはソフトマックス関数を利用して、それら3通りの状態ごとの確信度を出力する。例えば、活性化関数としてシグモイド関数が用いられる場合、第2の識別器の出力層は、点灯開始状態、点灯終了状態及び定常状態のそれぞれについて、0~1の間の何れかの値を持つ確信度を出力する。
【0100】
この場合も、状態識別部34は、ブレーキランプの状態に関して、上記の実施形態と同様に、直前におけるブレーキランプの状態と、状態間の遷移の可能性と、第2の識別器により算出された確信度とに基づいて、ブレーキランプの状態を識別すればよい。
【0101】
図10は、この変形例による、ブレーキランプの状態遷移の一例を示す図である。
図10に示される状態遷移
図1000において、個々のブロックはブレーキランプが取り得る候補状態を表し、個々の矢印は、遷移可否情報に示される、許容される状態遷移を表す。状態遷移
図1000に示されるように、ブレーキランプの取り得る候補状態として、点灯開始状態1001、点灯中状態1002、点灯終了状態1003及び消灯中状態1004の4通りの状態がある。また、点灯中状態1002及び消灯中状態1004は、第2の識別器による、ブレーキランプの状態に関する3クラス分類における一つのクラスである定常状態1005に含まれる。
【0102】
上記の実施形態と同様に、点灯開始状態1001からは、ブレーキランプの状態は、状態変化無し(すなわち、点灯開始状態1001のまま)、点灯中状態1002及び点灯終了状態1003の何れかについてのみ遷移可能となっている。したがって、着目する追跡車両について、直前のブレーキランプの状態が点灯開始状態1001である場合、状態識別部34は、ブレーキランプの最新の状態を、点灯開始状態1001、点灯終了状態1003及び定常状態1005のそれぞれについて、第2の識別器により得られた確信度のうち、最も高い状態として識別する。ただし、定常状態1005についての確信度が最も高い場合、状態識別部34は、ブレーキランプの最新の状態を、定常状態1005に含まれる二つの状態(点灯中状態1002及び消灯中状態1004)のうち、点灯中状態1002として識別する。
【0103】
また、点灯中状態1002からは、ブレーキランプの状態は、状態変化無し(すなわち、点灯中状態1002のまま)または点灯終了状態1003の何れかについてのみ遷移可能となっている。したがって、着目する追跡車両について、直前のブレーキランプの状態が点灯中状態1002である場合、状態識別部34は、ブレーキランプの最新の状態を、点灯終了状態1003及び定常状態1005のうち、第2の識別器により得られた確信度が高い方の状態として識別する。ただし、定常状態1005についての確信度が点灯終了状態1003の確信度よりも高い場合、状態識別部34は、ブレーキランプの最新の状態を、定常状態1005に含まれる二つの状態(点灯中状態1002及び消灯中状態1004)のうち、点灯中状態1002として識別する。
【0104】
さらに、点灯終了状態1003からは、ブレーキランプの状態は、状態変化無し(すなわち、点灯終了状態1003のまま)、消灯中状態1004及び点灯開始状態1001の何れかについてのみ遷移可能となっている。したがって、着目する追跡車両について、直前のブレーキランプの状態が点灯終了状態1003である場合、状態識別部34は、ブレーキランプの最新の状態を、点灯開始状態1001、点灯終了状態1003及び定常状態1005のそれぞれについて、第2の識別器により得られた確信度のうち、最も高い状態として識別する。ただし、定常状態1005についての確信度が最も高い場合、状態識別部34は、ブレーキランプの最新の状態を、定常状態1005に含まれる二つの状態(点灯中状態1002及び消灯中状態1004)のうち、消灯中状態1004として識別する。
【0105】
そして消灯中状態1004からは、ブレーキランプの状態は、状態変化無し(すなわち、消灯中状態1004のまま)または点灯開始状態1001の何れかについてのみ遷移可能となっている。したがって、着目する追跡車両について、直前のブレーキランプの状態が消灯中状態1004である場合、状態識別部34は、ブレーキランプの最新の状態を、点灯開始状態1001及び定常状態1005のうち、第2の識別器により得られた確信度が高い方の状態として識別する。ただし、定常状態1005についての確信度が点灯開始状態1001の確信度よりも高い場合、状態識別部34は、ブレーキランプの最新の状態を、定常状態1005に含まれる二つの状態(点灯中状態1002及び消灯中状態1004)のうち、消灯中状態1004として識別する。
【0106】
この変形例によれば、第2の識別器にとって識別が困難となり得る二つの候補状態(点灯中状態及び消灯中状態)を一つの状態として第2の識別器を学習することができるので、第2の識別器は、ブレーキランプの取り得る個々の候補状態についての確信度をより正確に求めることができる。
【0107】
なお、この変形例においても、遷移可否情報として、ブレーキランプの取り得る個々の候補状態ごとに、他の候補状態のそれぞれへの遷移確率が設定されてもよい。そして状態識別部34は、ブレーキランプの取り得る個々の候補状態について、その候補状態の確信度に、直前のブレーキランプの状態からその候補状態への遷移確率を乗じることで確信度を補正する。そして状態識別部34は、ブレーキランプの取り得る個々の候補状態のうち、補正された確信度が最も高くなる候補状態を、ブレーキランプの最新の状態として識別してもよい。またこの場合も、状態識別部34は、各候補状態間の遷移確率を、車両10の周囲の状況、または、着目する追跡車両の周囲の状況に応じて動的に変更してもよい。さらに、状態識別部34は、上記の実施形態と同様に、着目する追跡車両について、直近の一定期間において、画像が得られる度に算出される、ブレーキランプの取り得る個々の候補状態の確信度と、ブレーキランプの取り得る個々の候補状態間の遷移確率とに基づいて、ブレーキランプの状態を最尤推定してもよい。
【0108】
また、一般に、車両において、ブレーキが掛けられた状態からブレーキが開放された後、直ぐにブレーキが再度掛けられる可能性は低い。すなわち、ブレーキランプが一旦消灯されてから直ちにブレーキランプが点灯する可能性は低い。そこで、上記の実施形態あるいは変形例において、着目する追跡車両についての直前のブレーキランプの状態が点灯終了状態である場合、状態識別部34は、ブレーキランプの状態を、消灯中状態及び点灯終了状態のうち、第2の識別器により得られた確信度が高い方の状態として識別してもよい。また、遷移可否情報として候補状態間の遷移確率が設定される場合には、点灯終了状態から点灯開始状態への遷移確率が、点灯終了状態から消灯中状態への遷移確率及び点灯終了状態が維持される遷移確率よりも低く設定されてもよい。
【0109】
上記の実施形態または変形例において、第2の識別器を学習する際、遷移可否情報が参照されてもよい。そしてその遷移可否情報において、直前の画像の取得時における、ブレーキランプについて取り得る個々の候補状態のうちで確信度が最大となる候補状態(以下、前候補状態と呼ぶ)から、最新の画像の取得時における、ブレーキランプについて取り得る個々の候補状態のうちで確信度が最大となる候補状態(以下、次候補状態と呼ぶ)への遷移が許容されるか否かに応じて、学習のコスト関数が調整されてもよい。例えば、前候補状態から次候補状態への遷移が許容されない場合のコスト関数の値が、前候補状態から次候補状態への遷移が許容される場合のコスト関数の値よりも大きくなるように、コスト関数は調整されてもよい。これにより、第2の識別器はブレーキランプの取り得る個々の状態についての確信度をより正確に算出できるよう構成される。
【0110】
また他の変形例によれば、確信度算出部33は、着目する追跡車両について、ハザードランプまたは警光灯(例えば、パトロールカー、消防車または救急車に搭載される、緊急状態の告知に利用される信号灯)の状態の確信度をさらに算出してもよい。この場合、第2の識別器は、ハザードランプが取り得る状態(点滅状態または消灯状態)についての確信度、または、警光灯(回転点灯状態または消灯状態)についての確信度をさらに出力するように予め学習されればよい。
【0111】
ハザードランプが点滅状態となっている場合、ターンシグナルと同様に、ハザードランプは、一定の周期で点滅を繰り返す。同様に、警光灯が回転点灯状態となっている場合、警光灯は、一定の回転周期で内蔵する発光素子を回転させる。そのため、状態識別部34は、ターンシグナルの状態の識別と同様に、ハザードランプ及び警光灯の状態を識別することができる。すなわち、状態識別部34は、着目する追跡車両について、ハザードランプの点滅状態の確信度が所定の閾値以上である場合、ハザードランプの状態は点滅状態であると識別し、一方、ハザードランプの点滅状態の確信度が所定の閾値未満である場合、ハザードランプの状態は消灯状態であると識別する。同様に、状態識別部34は、着目する追跡車両について、警光灯の回転点灯状態の確信度が所定の閾値以上である場合、警光灯の状態は回転点灯状態であると識別し、一方、警光灯の回転点灯状態の確信度が所定の閾値未満である場合、警光灯の状態は消灯状態であると識別する。
【0112】
さらに他の変形例によれば、物体検出部31は、DNN以外の識別器を利用して、画像から検出対象物体を検出してもよい。例えば、物体検出部31は、第1の識別器として、画像上に設定されるウィンドウから算出される特徴量(例えば、HOG)を入力として、そのウィンドウに検出対象となる物体が表される確信度を出力するように予め学習されたサポートベクトルマシン(SVM)を用いてもよい。物体検出部31は、画像上に設定するウィンドウの位置、サイズ及びアスペクト比を様々に変更しながら、そのウィンドウから特徴量を算出し、算出した特徴量をSVMへ入力することで、そのウィンドウについて確信度を求める。そして物体検出部31は、何れかの種類の検出対象物体について確信度が所定の確信度閾値以上となるウィンドウに、その検出対象物体が表されていると判定し、かつ、そのウィンドウを物体領域とすればよい。なお、SVMは、検出対象となる物体の種類ごとに用意されてもよい。この場合には、物体検出部31は、各ウィンドウについて、そのウィンドウから算出された特徴量をそれぞれのSVMへ入力することで、物体の種類ごとに確信度を算出すればよい。この場合、状態識別部34の第3の識別器に入力する物体領域の特徴は、検出対象物体が表されていると判定されたウィンドウ(すなわち、物体領域)から抽出され、SVMに入力されるHOGといった特徴量とすることができる。
【0113】
また、上記の実施形態または変形例による、信号灯状態識別装置のプロセッサ23の各部の機能を実現するコンピュータプログラムは、半導体メモリ、磁気記録媒体または光記録媒体といった、コンピュータ読取可能な可搬性の記録媒体に記録された形で提供されてもよい。
【0114】
以上のように、当業者は、本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。
【符号の説明】
【0115】
1 車両制御システム
2 カメラ
3 電子制御装置(信号灯状態識別装置)
4 車内ネットワーク
10 車両
21 通信インターフェース
22 メモリ
23 プロセッサ
31 物体検出部
32 追跡部
33 確信度算出部
34 状態識別部
35 運転計画部
36 車両制御部