IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ トヨタ自動車株式会社の特許一覧 ▶ 株式会社デンソーの特許一覧

特許7359735物体状態識別装置、物体状態識別方法及び物体状態識別用コンピュータプログラムならびに制御装置
<>
  • 特許-物体状態識別装置、物体状態識別方法及び物体状態識別用コンピュータプログラムならびに制御装置 図1
  • 特許-物体状態識別装置、物体状態識別方法及び物体状態識別用コンピュータプログラムならびに制御装置 図2
  • 特許-物体状態識別装置、物体状態識別方法及び物体状態識別用コンピュータプログラムならびに制御装置 図3
  • 特許-物体状態識別装置、物体状態識別方法及び物体状態識別用コンピュータプログラムならびに制御装置 図4
  • 特許-物体状態識別装置、物体状態識別方法及び物体状態識別用コンピュータプログラムならびに制御装置 図5
  • 特許-物体状態識別装置、物体状態識別方法及び物体状態識別用コンピュータプログラムならびに制御装置 図6
  • 特許-物体状態識別装置、物体状態識別方法及び物体状態識別用コンピュータプログラムならびに制御装置 図7
  • 特許-物体状態識別装置、物体状態識別方法及び物体状態識別用コンピュータプログラムならびに制御装置 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-02
(45)【発行日】2023-10-11
(54)【発明の名称】物体状態識別装置、物体状態識別方法及び物体状態識別用コンピュータプログラムならびに制御装置
(51)【国際特許分類】
   G06T 7/00 20170101AFI20231003BHJP
   G08G 1/16 20060101ALI20231003BHJP
【FI】
G06T7/00 650Z
G06T7/00 350C
G08G1/16 C
【請求項の数】 8
(21)【出願番号】P 2020068674
(22)【出願日】2020-04-06
(65)【公開番号】P2021165914
(43)【公開日】2021-10-14
【審査請求日】2022-07-29
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100147555
【弁理士】
【氏名又は名称】伊藤 公一
(74)【代理人】
【識別番号】100123593
【弁理士】
【氏名又は名称】関根 宣夫
(74)【代理人】
【識別番号】100133835
【弁理士】
【氏名又は名称】河野 努
(72)【発明者】
【氏名】橋本 大輔
(72)【発明者】
【氏名】黒田 龍介
【審査官】合田 幸裕
(56)【参考文献】
【文献】特開2010-231254(JP,A)
【文献】国際公開第2017/130639(WO,A1)
【文献】米国特許出願公開第2015/0279021(US,A1)
【文献】米国特許出願公開第2019/0258878(US,A1)
【文献】米国特許出願公開第2018/0336424(US,A1)
【文献】米国特許出願公開第2019/0354786(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G08G 1/16
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
撮像部から画像を取得する度に、前記画像を第1の識別器に入力することで、前記画像に表された少なくとも一つの所定の物体のそれぞれについて、前記画像上で当該物体を含む物体領域を検出する物体検出部と、
前記少なくとも一つの所定の物体のそれぞれについて、前記画像の次に前記撮像部から得られる次画像における当該物体の位置を予測可能か否か判定し、当該物体の位置を予測可能な場合、前記次画像上の予測される当該物体の位置を含む予測物体領域を設定する予測部と、
前記少なくとも一つの所定の物体のうち、前記次画像について前記予測物体領域が設定されている物体について、前記次画像から前記物体領域が検出されるよりも前に、前記次画像上の前記予測物体領域内の画素値から求められる特徴を、再帰構造を有し、または時間軸方向における畳み込み演算を実行する第2の識別器に入力することで、時系列の外観変化を伴う当該物体の状態を識別し、一方、前記少なくとも一つの所定の物体のうち、前記次画像について前記予測物体領域が設定されていない物体について、前記次画像から検出された前記物体領域内の画素値から求められる特徴を前記第2の識別器に入力することで時系列の外観変化を伴う当該物体の状態を識別する状態識別部と、
を有する物体状態識別装置。
【請求項2】
前記第1の識別器よる前記物体領域の検出と、前記第2の識別器による前記少なくとも一つの所定の物体のそれぞれの状態の識別とは、互いに異なる演算回路により実行される、請求項1に記載の物体状態識別装置。
【請求項3】
前記少なくとも一つの所定の物体のうち、前記次画像について前記予測物体領域が設定されている物体についての前記第2の識別器による状態の識別は、前記第1の識別器による前記次画像からの前記物体領域の検出と並列に実行される、請求項2に記載の物体状態識別装置。
【請求項4】
前記予測部は、前記少なくとも一つの所定の物体のうち、前記画像上の前記物体領域の少なくとも一端が前記画像の何れか一端と接している物体について、前記次画像における当該物体の位置を予測不能と判定し、当該物体について前記次画像における前記予測物体領域を設定しない、請求項1~3の何れか一項に記載の物体状態識別装置。
【請求項5】
前記撮像部は、車両に搭載され、
前記予測部は、前記少なくとも一つの所定の物体のそれぞれについて、前記車両が走行中の車線と隣接する車線を走行しているか否か判定し、かつ、前記車両からの距離を求め、前記少なくとも一つの所定の物体のうち、前記隣接する車線を走行しており、かつ、前記車両からの距離が所定距離以下となる物体について、前記次画像における当該物体の位置を予測不能と判定し、当該物体について前記次画像における前記予測物体領域を設定しない、請求項1~3の何れか一項に記載の物体状態識別装置。
【請求項6】
車両の走行を制御する制御装置であって、
前記車両に搭載された撮像部から画像を取得する度に、前記画像を第1の識別器に入力することで、前記画像に表された前記車両周囲の少なくとも一つの所定の物体のそれぞれについて、前記画像上で当該物体を含む物体領域を検出する物体検出部と、
前記少なくとも一つの所定の物体のそれぞれについて、前記画像の次に前記撮像部から得られる次画像における当該物体の位置を予測可能か否か判定し、当該物体の位置を予測可能な場合、前記次画像上の予測される当該物体の位置を含む予測物体領域を設定する予測部と、
前記少なくとも一つの所定の物体のうち、前記次画像について前記予測物体領域が設定されている物体について、前記次画像から前記物体領域が検出されるよりも前に、前記次画像上の前記予測物体領域内の画素値から求められる特徴を、再帰構造を有し、または時間軸方向における畳み込み演算を実行する第2の識別器に入力することで、時系列の外観変化を伴う当該物体の状態を識別し、一方、前記少なくとも一つの所定の物体のうち、前記次画像について前記予測物体領域が設定されていない物体について、前記次画像から検出された前記物体領域内の画素値から求められる特徴を前記第2の識別器に入力することで、時系列の外観変化を伴う当該物体の状態を識別する状態識別部と、
前記少なくとも一つの所定の物体のそれぞれについて、当該物体の状態に基づいて、当該物体が移動する軌跡を予測し、予測した前記軌跡に基づいて、前記車両が前記少なくとも一つの所定の物体の何れとも所定距離以上離れるように前記車両の走行予定経路を設定する運転計画部と、
前記走行予定経路に沿って前記車両が走行するように前記車両を制御する車両制御部と、
を有する制御装置。
【請求項7】
撮像部から画像を取得する度に、前記画像を第1の識別器に入力することで、前記画像に表された少なくとも一つの所定の物体のそれぞれについて、前記画像上で当該物体を含む物体領域を検出し、
前記少なくとも一つの所定の物体のそれぞれについて、前記画像の次に前記撮像部から得られる次画像における当該物体の位置を予測可能か否か判定し、当該物体の位置を予測可能な場合、前記次画像上の予測される当該物体の位置を含む予測物体領域を設定し、
前記少なくとも一つの所定の物体のうち、前記次画像について前記予測物体領域が設定されている物体について、前記次画像から前記物体領域が検出されるよりも前に、前記次画像上の前記予測物体領域内の画素値から求められる特徴を、再帰構造を有し、または時間軸方向における畳み込み演算を実行する第2の識別器に入力することで時系列の外観変化を伴う当該物体の状態を識別し、
前記少なくとも一つの所定の物体のうち、前記次画像について前記予測物体領域が設定されていない物体について、前記次画像から検出された前記物体領域内の画素値から求められる特徴を前記第2の識別器に入力することで時系列の外観変化を伴う当該物体の状態を識別する、
ことを含む物体状態識別方法。
【請求項8】
撮像部から画像を取得する度に、前記画像を第1の識別器に入力することで、前記画像に表された少なくとも一つの所定の物体のそれぞれについて、当該物体を含む物体領域を検出し、
前記少なくとも一つの所定の物体のそれぞれについて、前記画像の次に前記撮像部から得られる次画像における当該物体の位置を予測可能か否か判定し、当該物体の位置を予測可能な場合、前記次画像上の予測される当該物体の位置を含む予測物体領域を設定し、
前記少なくとも一つの所定の物体のうち、前記次画像について前記予測物体領域が設定されている物体について、前記次画像から前記物体領域が検出されるよりも前に、前記次画像上の前記予測物体領域内の画素値から求められる特徴を、再帰構造を有し、または時間軸方向における畳み込み演算を実行する第2の識別器に入力することで時系列の外観変化を伴う当該物体の状態を識別し、
前記少なくとも一つの所定の物体のうち、前記次画像について前記予測物体領域が設定されていない物体について、前記次画像から検出された前記物体領域内の画素値から求められる特徴を前記第2の識別器に入力することで時系列の外観変化を伴う当該物体の状態を識別する、
ことをコンピュータに実行させる物体状態識別用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像に表された物体の状態を識別する物体状態識別装置、物体状態識別方法及び物体状態識別用コンピュータプログラム、ならびに、そのような物体状態識別装置を利用した、車両の走行を制御する制御装置に関する。
【背景技術】
【0002】
車両を自動運転するよう、車両を制御する技術が研究されている。車両を自動運転するためには、車両の周囲に存在する他の物体と車両とが衝突しないように、他の物体の挙動を予測した上で、車両の走行予定経路を設定することが求められる。そのために、車両の周囲に存在する他の物体の挙動を予測する技術が提案されている(例えば、特許文献1を参照)。
【0003】
例えば、特許文献1に開示された移動体挙動予測装置は、車両から認識可能な移動体の挙動の予測結果と、予測時間経過後の移動体の挙動の認識結果に基づいて、移動体の第一予測挙動を出力するとともに、車両の挙動に基づいて、車両から認識可能な移動体の第二予測挙動を出力する。そしてこの移動体挙動予測装置は、移動体の挙動の予測結果と、予測時間経過後の移動体の挙動の認識結果との誤差を最小化するように第一予測挙動を学習し、自車両が不安全な運転を行わないように自車両の周辺の移動体の将来の第二予測挙動を学習する。さらに、この移動体挙動予測装置は、教師有り学習に基づいて第一予測挙動を出力する第一ニューラルネットワークと、強化学習に基づいて第二予測挙動を出力する第二ニューラルネットワークとを有する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2019-109691号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記の技術のように、他の物体の挙動を予測する処理を、ニューラルネットワークを用いて実行する場合、演算量が非常に多くなることがある。そのため、他の物体の挙動を予測する処理を実行するハードウェアに対する要求が過大となり、あるいは、他の物体の挙動を予測する処理が所望の時間までに終了しないことがある。
【0006】
そこで、本発明は、処理負荷を時間的に分散させることが可能な物体状態識別装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
一つの実施形態によれば、物体状態識別装置が提供される。この物体状態識別装置は、撮像部から画像を取得する度に、画像を第1の識別器に入力することで、画像に表された少なくとも一つの所定の物体のそれぞれについて、画像上でその物体を含む物体領域を検出する物体検出部と、少なくとも一つの所定の物体のそれぞれについて、撮像部から取得された画像の次に撮像部から得られる次画像におけるその物体の位置を予測可能か否か判定し、その物体の位置を予測可能な場合、次画像上の予測されるその物体の位置を含む予測物体領域を設定する予測部と、少なくとも一つの所定の物体のうち、次画像について予測物体領域が設定されている物体について、次画像から物体領域が検出されるよりも前に、次画像上の予測物体領域内の画素値から求められる特徴を、再帰構造を有し、または時間軸方向における畳み込み演算を実行する第2の識別器に入力することで、時系列の外観変化を伴うその物体の状態を識別し、一方、少なくとも一つの所定の物体のうち、次画像について予測物体領域が設定されていない物体について、次画像から検出された物体領域内の画素値から求められる特徴を第2の識別器に入力することで、時系列の外観変化を伴うその物体の状態を識別する状態識別部とを有する。
【0008】
この物体状態識別装置において、第1の識別器よる物体領域の検出と、第2の識別器による少なくとも一つの所定の物体のそれぞれの状態の識別とは互いに異なる演算回路により実行されることが好ましい。
【0009】
この場合において、少なくとも一つの所定の物体のうち、次画像について予測物体領域が設定されている物体についての第2の識別器による状態の識別は、第1の識別器による次画像からの物体領域の検出と並列に実行されることが好ましい。
【0010】
また、この物体状態識別装置において、予測部は、少なくとも一つの所定の物体のうち、画像上の物体領域の少なくとも一端が画像の何れか一端と接している物体について、次画像におけるその物体の位置を予測不能と判定し、その物体について次画像における予測物体領域を設定しないことが好ましい。
【0011】
あるいはまた、この物体状態識別装置において、撮像部は、車両に搭載され、予測部は、少なくとも一つの所定の物体のそれぞれについて、車両が走行中の車線と隣接する車線を走行しているか否か判定し、かつ、車両からの距離を求め、少なくとも一つの所定の物体のうち、隣接する車線を走行しており、かつ、車両からの距離が所定距離以下となる物体について、次画像におけるその物体の位置を予測不能と判定し、その物体について次画像における予測物体領域を設定しないことが好ましい。
【0012】
本発明の他の形態によれば、車両の走行を制御する制御装置が提供される。この制御装置は、車両に搭載された撮像部から画像を取得する度に、画像を第1の識別器に入力することで、画像に表された車両周囲の少なくとも一つの所定の物体のそれぞれについて、画像上でその物体を含む物体領域を検出する物体検出部と、少なくとも一つの所定の物体のそれぞれについて、撮像部から取得された画像の次に撮像部から得られる次画像におけるその物体の位置を予測可能か否か判定し、その物体の位置を予測可能な場合、次画像上の予測されるその物体の位置を含む予測物体領域を設定する予測部と、少なくとも一つの所定の物体のうち、次画像について予測物体領域が設定されている物体について、次画像から物体領域が検出されるよりも前に、次画像上の予測物体領域内の画素値から求められる特徴を、再帰構造を有し、または時間軸方向における畳み込み演算を実行する第2の識別器に入力することで、時系列の外観変化を伴うその物体の状態を識別し、一方、少なくとも一つの所定の物体のうち、次画像について予測物体領域が設定されていない物体について、次画像から検出された物体領域内の画素値から求められる特徴を第2の識別器に入力することで、時系列の外観変化を伴うその物体の状態を識別する状態識別部と、少なくとも一つの所定の物体のそれぞれについて、その物体の状態に基づいて、その物体が移動する軌跡を予測し、予測した軌跡に基づいて、車両が少なくとも一つの所定の物体の何れとも所定距離以上離れるように車両の走行予定経路を設定する運転計画部と、走行予定経路に沿って車両が走行するように車両を制御する車両制御部とを有する、
【0013】
本発明のさらに他の形態によれば、物体状態識別方法が提供される。この物体状態識別方法は、撮像部から画像を取得する度に、画像を第1の識別器に入力することで、画像に表された少なくとも一つの所定の物体のそれぞれについて、画像上でその物体を含む物体領域を検出し、少なくとも一つの所定の物体のそれぞれについて、撮像部から取得された画像の次に撮像部から得られる次画像におけるその物体の位置を予測可能か否か判定し、その物体の位置を予測可能な場合、次画像上の予測されるその物体の位置を含む予測物体領域を設定し、少なくとも一つの所定の物体のうち、次画像について予測物体領域が設定されている物体について、次画像から物体領域が検出されるよりも前に、次画像上の予測物体領域内の画素値から求められる特徴を、再帰構造を有し、または時間軸方向における畳み込み演算を実行する第2の識別器に入力することで、時系列の外観変化を伴うその物体の状態を識別し、少なくとも一つの所定の物体のうち、次画像について予測物体領域が設定されていない物体について、次画像から検出された物体領域内の画素値から求められる特徴を第2の識別器に入力することで時系列の外観変化を伴うその物体の状態を識別する、ことを含む。
【0014】
本発明のさらに他の形態によれば、物体状態識別用コンピュータプログラムが提供される。この物体状態識別用コンピュータプログラムは、撮像部から画像を取得する度に、画像を第1の識別器に入力することで、画像に表された少なくとも一つの所定の物体のそれぞれについて、画像上でその物体を含む物体領域を検出し、少なくとも一つの所定の物体のそれぞれについて、撮像部から取得された画像の次に撮像部から得られる次画像におけるその物体の位置を予測可能か否か判定し、その物体の位置を予測可能な場合、次画像上の予測されるその物体の位置を含む予測物体領域を設定し、少なくとも一つの所定の物体のうち、次画像について予測物体領域が設定されている物体について、次画像から物体領域が検出されるよりも前に、次画像上の予測物体領域内の画素値から求められる特徴を、再帰構造を有し、または時間軸方向における畳み込み演算を実行する第2の識別器に入力することで、時系列の外観変化を伴うその物体の状態を識別し、少なくとも一つの所定の物体のうち、次画像について予測物体領域が設定されていない物体について、次画像から検出された物体領域内の画素値から求められる特徴を第2の識別器に入力することで時系列の外観変化を伴うその物体の状態を識別することをコンピュータに実行させるための命令を含む。
【発明の効果】
【0015】
本発明に係る物体状態識別装置は、処理負荷を時間的に分散させることができるという効果を奏する。
【図面の簡単な説明】
【0016】
図1】物体状態識別装置が実装される車両制御システムの概略構成図である。
図2】物体状態識別装置の一実施形態である電子制御装置のハードウェア構成図である。
図3】物体状態識別処理を含む車両制御処理に関する、電子制御装置のプロセッサの機能ブロック図である。
図4】第1の識別器として利用されるDNNの構成の一例を示す図である。
図5】次画像上での位置が予測可能な検出対象物体と次画像上での位置が予測不能な検出対象物体の一例を示す図である。
図6】状態識別処理に関連する各部の処理のタイミングチャートである。
図7】検出物体リストの一例を示す図である。
図8】物体状態識別処理を含む車両制御処理の動作フローチャートである。
【発明を実施するための形態】
【0017】
以下、図を参照しつつ、物体状態識別装置、及び、物体状態識別装置において実行される物体状態識別方法ならびに物体状態識別用コンピュータプログラムについて説明する。この物体状態識別装置は、例えば、車両に搭載され、車両周囲の他の車両といった、検出対象となる物体(以下、検出対象物体と呼ぶことがある)に関して、時系列の外観変化を伴う状態を識別する。そのために、この物体状態識別装置は、車両に搭載されたカメラにより画像が得られる度に、その画像を、検出対象物体を検出するように予め学習された第1の識別器に入力することで、その画像上で検出対象物体を含む領域(以下、物体領域と呼ぶことがある)を検出する。また、この物体状態識別装置は、検出された検出対象物体を追跡することで、各画像において同じ検出対象物体が表された物体領域同士を対応付ける。一方、この物体状態識別装置は、追跡中の検出対象物体を含む物体領域の位置などに基づいて、次に得られる画像におけるその検出対象物体の位置を予測可能か否か判定し、その位置を予測可能な場合には、その検出対象物体の予測位置を含む予測物体領域を求める。そしてこの物体状態識別装置は、次に画像が得られたときに、検出対象物体の位置が予測可能と判定されている場合には、次の画像から第1の識別器により物体領域が検出されるよりも前に、予測物体領域内の画素値から求められる特徴を、再帰構造を有し、または時間軸方向における畳み込み演算を実行する第2の識別器に入力することで検出対象物体の状態を識別する。一方、次に画像が得られたときに、検出対象物体の位置が予測不能と判定されている場合には、この物体状態識別装置は、次の画像に対して第1の識別器により検出された物体領域内の画素値から求められる特徴を第2の識別器に入力することで検出対象物体の状態を識別する。これにより、同時に追跡中の複数の検出対象物体が存在しても、この物体状態識別装置は、第2の識別器による処理が実行されるタイミングを、検出対象物体ごとに異ならせることができる。そのため、この物体状態識別装置は、処理負荷を時間的に分散させることができる。さらに、この物体状態識別装置が複数の演算回路を有している場合、その複数の演算回路のうち、第2の識別器による処理を実行する演算回路の待ち時間が減少し、その結果として物体状態識別処理全体のスループットが向上する。
【0018】
例えば、検出対象物体が車両であるとする。車両は、左折または右折する場合、ターンシグナルを点滅させる。また、車両は、減速する際にブレーキランプを点灯させ、停車する際などにハザードランプを点滅させる。これらターンシグナルまたはブレーキランプといった、車両の信号灯の点灯または点滅は、時系列の車両の外観の変化を伴うものであり、かつ、車両の挙動に関する状態を表している。しかし、ターンシグナル、ブレーキランプまたはハザードランプが表された個々の画像では、それらのランプの明滅の時系列変化が分からないため、ターンシグナルまたはハザードランプが点滅しているか否か、ブレーキランプが点灯しているか消灯しているかを、ターンシグナル、ブレーキランプまたはハザードランプが表された個々の画像から精度良く識別することは困難である。そこで、この物体状態識別装置は、上記のように、時系列の一連の画像のそれぞれの物体領域内の画素値から求められる特徴を、再帰構造を持つ第2の識別器に入力することで、ターンシグナルまたはハザードランプの点滅の有無、ブレーキランプの点灯及び消灯を精度良く識別することができる。
【0019】
以下では、物体状態識別装置を、車両制御システムに適用した例について説明する。この例では、物体状態識別装置は、車両に搭載されたカメラにより得られた時系列の一連の画像に対して物体状態識別処理を実行することで、検出対象物体として、車両の周囲に存在する他の車両を検出する。そしてこの物体状態識別装置は、検出した他の車両の、外観変化を伴う状態として、左右何れかのターンシグナルまたはハザードランプの点滅状態か否か、ブレーキランプが点灯している状態あるいは消灯している状態かを識別する。
【0020】
図1は、物体状態識別装置が実装される車両制御システムの概略構成図である。また図2は、物体状態識別装置の一つの実施形態である電子制御装置のハードウェア構成図である。本実施形態では、車両10に搭載され、かつ、車両10を制御する車両制御システム1は、車両10の周囲を撮影するためのカメラ2と、物体状態識別装置の一例である電子制御装置(ECU)3とを有する。カメラ2とECU3とは、コントローラエリアネットワークといった規格に準拠した車内ネットワーク4を介して通信可能に接続される。なお、車両制御システム1は、車両10の自動運転制御に用いられる地図を記憶するストレージ装置をさらに有していてもよい。さらに、車両制御システム1は、LiDARあるいはレーダといった測距センサ、GPS受信機といった、衛星測位システムに準拠して車両10の自己位置を測位するための受信機、他の機器と無線通信するための無線端末、及び、車両10の走行予定ルートを探索するためのナビゲーション装置などを有していてもよい。
【0021】
カメラ2は、所定の検知範囲内に存在する物体を検出するためのセンサである撮像部の一例であり、CCDあるいはC-MOSなど、可視光に感度を有する光電変換素子のアレイで構成された2次元検出器と、その2次元検出器上に撮影対象となる領域の像を結像する結像光学系を有する。そしてカメラ2は、車両10の前方を向くように、例えば、車両10の車室内に取り付けられる。そしてカメラ2は、所定の撮影周期(例えば1/30秒~1/10秒)ごとに車両10の前方領域を撮影し、その前方領域が写った画像を生成する。カメラ2により得られた画像は、カラー画像であることが好ましい。なお、車両10には、撮影方向または焦点距離が異なる複数のカメラが設けられてもよい。
【0022】
カメラ2は、画像を生成する度に、その生成した画像を、車内ネットワーク4を介してECU3へ出力する。
【0023】
ECU3は、車両10を制御する。本実施形態では、ECU3は、カメラ2により得られた時系列の一連の画像から検出された物体に基づいて車両10を自動運転するよう、車両10を制御する。そのために、ECU3は、通信インターフェース21と、メモリ22と、プロセッサ23とを有する。
【0024】
通信インターフェース21は、通信部の一例であり、ECU3を車内ネットワーク4に接続するためのインターフェース回路を有する。すなわち、通信インターフェース21は、車内ネットワーク4を介して、カメラ2と接続される。そして通信インターフェース21は、カメラ2から画像を受信する度に、受信した画像をプロセッサ23へわたす。
【0025】
メモリ22は、記憶部の一例であり、例えば、揮発性の半導体メモリ及び不揮発性の半導体メモリを有する。なお、メモリ22は、後述するようにプロセッサ23が複数の演算ユニットを有する場合に、演算ユニットごとに専用のメモリ回路を有していてもよい。そしてメモリ22は、ECU3のプロセッサ23により実行される物体状態識別処理において使用される各種のデータ及びパラメータ、例えば、カメラ2から受信した画像、物体状態識別処理で利用される各識別器を特定するための各種パラメータ、及び、物体の種類ごとの確信度閾値などを記憶する。さらに、メモリ22は、検出された物体に関する情報を表す検出物体リストといった、物体状態識別処理の途中で生成される各種のデータを一定期間記憶する。さらにまた、メモリ22は、地図情報といった車両10の走行制御に利用される情報を記憶してもよい。
【0026】
プロセッサ23は、制御部の一例である。本実施形態では、プロセッサ23は、第1演算回路231と、第2演算回路232と、第3演算回路233とを有する。第1演算回路231は、例えば、1個または複数個のCPU(Central Processing Unit)及びその周辺回路を有する。また、第2演算回路232は、1個または複数個のグラフィック処理ユニット(Graphics Processing Unit, GPU)を有する。さらに、第3演算回路233は、いわゆるニューラルネットワークアクセラレータといった、第2の識別器で実行される所定の演算(例えば、畳み込み演算)に特化した1個または複数個の数値演算回路を有する。第1演算回路231と、第2演算回路232と、第3演算回路233とは、例えば、互いに参照可能な共有メモリ(図示せず)などを介して協働して所定の演算処理を実行することが可能となっている。また、第1演算回路231、第2演算回路232及び第3演算回路233のうち、第1演算回路231の汎用性が最も高いものの、第1演算回路231の演算速度は、第2演算回路232及び第3演算回路233の演算速度よりも遅い。これに対して、第2演算回路232が実行可能な演算の種類は、第1演算回路231が実行可能な演算の種類よりも制限されるものの、第2演算回路232の演算速度は第1演算回路231の演算速度よりも速い。そして第3演算回路233が実行可能な演算の種類は、第2演算回路232が実行可能な演算の種類よりもさらに制限されるものの、第3演算回路233の演算速度は、第1演算回路231の演算速度及び第2演算回路232の演算速度よりもさらに速い。なお、変形例によれば、第3演算回路233も、第2演算回路232が有するGPUと同じGPUを有してもよい。
【0027】
プロセッサ23は、車両10が走行している間、カメラ2から画像を受信する度に、受信した画像に対して物体状態識別処理を含む車両制御処理を実行する。そしてプロセッサ23は、検出された車両10の周囲の物体に基づいて、車両10を自動運転するよう、車両10を制御する。
【0028】
図3は、物体状態識別処理を含む車両制御処理に関する、ECU3のプロセッサ23の機能ブロック図である。プロセッサ23は、物体検出部31と、追跡部32と、予測部33と、状態識別部34と、運転計画部35と、車両制御部36とを有する。プロセッサ23が有するこれらの各部は、例えば、プロセッサ23上で動作するコンピュータプログラムにより実現される機能モジュールである。また、プロセッサ23が有するこれらの各部のうち、物体検出部31、追跡部32、予測部33及び状態識別部34が、物体状態識別処理を実行する。なお、車両10に複数のカメラが設けられる場合には、プロセッサ23は、カメラごとに、そのカメラにより得られた画像に基づいて物体状態識別処理を実行してもよい。
【0029】
物体検出部31は、カメラ2から画像を受信する度に、受信した最新の画像を物体検出用の第1の識別器に入力することで、その画像に表されている検出対象物体を含む物体領域を検出するとともに、その検出対象物体の種類を特定する。なお、物体検出部31による物体検出処理のうち、第1の識別器による演算処理は、例えば、第2演算回路232により実行され、それ以外の処理は、例えば、第1演算回路231により実行される。
【0030】
本実施形態では、物体検出部31は、第1の識別器として、画像に表された検出対象物体を含む物体領域を検出し、かつ、検出対象物体の種類を識別するように予め学習されたDNNを利用する。物体検出部31が利用するDNNは、例えば、Single Shot MultiBox Detector(SSD)、または、Faster R-CNNといった、コンボリューショナルニューラルネットワーク(以下、単にCNNと呼ぶ)型のアーキテクチャを持つ、いわゆるディープニューラルネットワーク(以下、単にDNNと呼ぶ)とすることができる。
【0031】
図4は、第1の識別器として利用されるDNNの構成の一例を示す図である。DNN400は、画像が入力される入力側に設けられる主幹部401と、主幹部401よりも出力側に設けられる位置検出部402及び種類推定部403とを有する。位置検出部402は、主幹部401からの出力に基づいて、画像上に表された検出対象物体の外接矩形を物体領域として出力する。種類推定部403は、主幹部401からの出力に基づいて、位置検出部402で検出された物体領域に表された検出対象物体の種類ごとの確信度を算出する。なお、位置検出部402及び種類推定部403は一体的に形成されてもよい。
【0032】
主幹部401は、例えば、入力側から出力側へ向けて直列に接続される複数の層を有するCNNとすることができる。その複数の層には2以上の畳み込み層が含まれる。さらに、主幹部401が有する複数の層には、1または複数の畳み込み層ごとに設けられるプーリング層が含まれてもよい。さらにまた、主幹部401が有する複数の層には、1以上の全結合層が含まれてもよい。例えば、主幹部401は、SSDのベースレイヤーと同様の構成とすることができる。あるいは、主幹部401は、VGG-19、AlexNetあるいはNetwork-In-Networkといった他のCNNアーキテクチャに従って構成されてもよい。
【0033】
主幹部401は、画像が入力されると、その画像に対して各層での演算を実行することで、その画像から算出したfeature mapを出力する。なお、主幹部401は、解像度の異なる複数のfeature mapを出力してもよい。例えば、主幹部401は、入力された画像の解像度と同じ解像度を持つfeature mapと、入力された画像の解像度よりも低い解像度の1以上のfeature mapを出力してもよい。
【0034】
位置検出部402及び種類推定部403には、それぞれ、主幹部401から出力されたfeature mapが入力される。そして位置検出部402及び種類推定部403は、それぞれ、例えば、入力側から出力側へ向けて直列に接続される複数の層を有するCNNとすることができる。位置検出部402及び種類推定部403のそれぞれについて、CNNが有する複数の層には2以上の畳み込み層が含まれる。また、位置検出部402及び種類推定部403のそれぞれについて、CNNが有する複数の層には、1または複数の畳み込み層ごとに設けられるプーリング層が含まれてもよい。なお、CNNが有する畳み込み層及びプーリング層は、位置検出部402及び種類推定部403について共通化されてもよい。さらに、位置検出部402及び種類推定部403のそれぞれについて、複数の層には、1以上の全結合層が含まれてもよい。この場合、全結合層は、各畳み込み層よりも出力側に設けられることが好ましい。また全結合層には、各畳み込み層からの出力が直接入力されてもよい。また、種類推定部403の出力層は、ソフトマックス関数に従って検出対象物体の種類のそれぞれの確信度を算出するソフトマックス層としてもよいし、シグモイド関数に従って検出対象物体の種類のそれぞれの確信度を算出するシグモイド層としてもよい。
【0035】
位置検出部402及び種類推定部403は、例えば、画像上の様々な位置、様々なサイズ及び様々なアスペクト比の領域ごとに、検出対象物体の種類のそれぞれの確信度を出力するように学習される。したがって、識別器400は、画像が入力されることで、画像上の様々な位置、様々なサイズ及び様々なアスペクト比の領域ごとに、検出対象物体の種類のそれぞれの確信度を出力する。そして位置検出部402及び種類推定部403は、何れかの種類の検出対象物体についての確信度が所定の確信度閾値以上となる領域を、その種類の検出対象物体が表された物体領域として検出する。
【0036】
識別器400の学習に利用される教師データに含まれる画像(教師画像)には、例えば、検出対象物体の種類(例えば、普通乗用車、バス、トラック、二輪車など)と、検出対象物体が表された物体領域である、その検出対象物体の外接矩形とがタグ付けされる。
【0037】
識別器400は、上記のような多数の教師画像を用いて、例えば、誤差逆伝搬法といった学習手法に従って学習される。プロセッサ23は、このように学習された識別器400を利用することで、画像から検出対象となる物体を精度良く検出できる。
【0038】
なお、物体検出部31は、車両10の周囲の他の車両以外の、車両10の走行制御に影響する物体を検出してもよい。そのような物体には、例えば、人、道路標識、信号機、車線区画線などの道路標示、及び、道路上のその他の物体などが含まれる。この場合、第1の識別器は、これらの物体も検出するように予め学習されればよい。そして物体検出部31は、画像をその第1の識別器に入力することで、これらの物体も検出することができる。
【0039】
物体検出部31は、さらに、Non-maximum suppression(NMS)処理を実行することで、少なくとも部分的に重複する2以上の物体領域のうち、同一の物体が表されていると推定される物体領域から一つを選択してもよい。
【0040】
物体検出部31は、各物体領域の画像上での位置及び範囲と、その物体領域に含まれる物体の種類とを、検出物体リストに登録する。そして物体検出部31は、検出物体リストをメモリ22に記憶する。
【0041】
追跡部32は、最新の画像から検出された物体領域のそれぞれについて、その物体領域に表された検出対象物体を、検出物体リストを参照して過去の画像から検出された検出対象物体と対応付けることで、その物体領域に表された検出対象物体を追跡する。なお、追跡部32による追跡処理は、例えば、第1演算回路231により実行される。
【0042】
追跡部32は、例えば、Lucas-Kanade法といった、オプティカルフローに基づく追跡処理を、最新の画像における、着目する物体領域及び過去の画像における物体領域に対して適用することで、その物体領域に表された検出対象物体を追跡する。そのため、追跡部32は、例えば、着目する物体領域に対してSIFTあるいはHarrisオペレータといった特徴点抽出用のフィルタを適用することで、その物体領域から複数の特徴点を抽出する。そして追跡部32は、複数の特徴点のそれぞれについて、過去の画像における物体領域における対応する点を、適用される追跡手法に従って特定することで、オプティカルフローを算出すればよい。あるいは、追跡部32は、画像から検出された移動物体の追跡に適用される他の追跡手法を、最新の画像における、着目する物体領域及び過去の画像における物体領域に対して適用することで、その物体領域に表された検出対象物体を追跡してもよい。
【0043】
追跡部32は、最新の画像から検出された検出対象物体のうち、過去の画像に表された検出対象物体と対応付けられなかった検出対象物体に対して、新たな追跡対象として、他の追跡中の検出対象物体と異なる識別番号を割り当て、その割り当てた識別番号を検出物体リストに登録する。一方、追跡部32は、最新の画像から検出された検出対象物体のうち、過去の画像に表された検出対象物体と対応付けられた検出対象物体、すなわち、追跡中の検出対象物体について、その追跡中の検出対象物体に割り当てられた識別番号と同じ識別番号を対応付ける。
【0044】
なお、追跡部32は、追跡中の検出対象物体が所定数よりも多く存在する場合、追跡中の検出対象物体の中から、所定数の検出対象物体を状態識別の対象となる物体として選択してもよい。例えば、車両10に近い検出対象物体ほど、車両10の運転制御に対する影響が大きいので、追跡部32は、追跡中の検出対象物体のうち、車両10に近い方から順に所定数の検出対象物体を選択してもよい。例えば、画像上で検出対象物体が表された物体領域が大きいほど、車両10からその検出対象物体までの距離が近いと推定される。そこで、追跡部32は、例えば、最新の画像上での物体領域のサイズが大きい方から順に所定数の検出対象物体を選択してもよい。あるいは、車両制御システム1がLiDARあるいはレーダといった測距センサ(図示せず)を有している場合、その測距センサにより、追跡中の各検出対象物体までの距離が測定されてもよい。この場合、例えば、画像上での検出対象物体が表された物体領域の重心に対応する、カメラ2からの方位に相当する測距センサからの方位における距離が、車両10からその検出対象物体までの距離として測定される。そして追跡部32は、推定または測定された車両10からの距離が近い方から順に、所定数の検出対象物体を選択すればよい。あるいはまた、追跡部32は、追跡中の検出対象物体のなかから、車線ごとに決められた数の検出対象物体を選択してもよい。
【0045】
予測部33は、カメラ2から得られた最新の画像(以下、現画像と呼ぶことがある)から物体検出部31が検出対象物体を検出し、かつ、追跡部32により追跡処理が行われると、追跡中の検出対象物体のそれぞれについて、次に得られる画像(以下、単に次画像と呼ぶことがある)上でのその検出対象物体の位置を予測可能か否か判定する。そして予測部33は、次画像上での位置を予測可能な検出対象物体について、その予測位置を含む、予測物体領域を設定する。なお、予測部33による予測処理は、例えば、第1演算回路231により実行される。
【0046】
例えば、予測部33は、物体領域の少なくとも一端が現画像の何れか一端と接している場合、その物体領域に含まれる検出対象物体について、次画像上での位置を予測不能と判定する。これは、その検出対象物体全体が現画像上に表されておらず、現画像の取得時と次画像の取得時との間の車両10とその検出対象物体間の相対的な位置関係の変化を正確に予測できない可能性が有るためである。
【0047】
図5は、次画像上での位置が予測可能な検出対象物体と次画像上での位置が予測不能な検出対象物体の一例を示す図である。図5に示される画像500において、車両10が走行する車線と同じ車線を走行する車両501を含む物体領域511は、画像500の何れの端部とも接していない。そのため、車両501については、次画像上の位置は予測可能と判定される。一方、車両10が走行する車線に隣接する車線を走行する車両502を含む物体領域512の右端は、画像500の右端と接している。そのため、車両502については、次画像上の位置は予測不能と判定される。
【0048】
あるいは、予測部33は、現画像において、着目する検出対象物体が、車両10が走行中の車線と隣接する車線を走行しており、かつ、その検出対象物体と車両10間の距離が所定距離以下またはその検出対象物体を含む物体領域のサイズが所定サイズ以上である場合、その検出対象物体について、次画像上での位置を予測不能と判定する。これは、その検出対象物体が、車両10が走行中の車線へ進入し、車両10を追い越し、あるいは車両10に追い越されるなどにより、現画像でのその検出対象物体の位置に対して次画像でのその検出対象物体の位置が大きく移動する可能性が有るためである。
【0049】
例えば、物体検出部31が現画像から車線区画線を検出している場合、あるいは、ローカライズ処理部(図示せず)が、現画像から車線区画線を検出している場合には、予測部33は、車線区画線と物体領域との位置関係に基づいて、各検出対象物体が走行中の車線を特定すればよい。例えば、予測部33は、着目する検出対象物体について、その検出対象物体を含む物体領域の下端の両側に位置する二つの車線区画線で挟まれた車線上にその検出対象物体が位置していると判定すればよい。これにより、予測部33は、着目する検出対象物体が、車両10が走行中の車線と隣接する車線を走行しているか否かを判定できる。
【0050】
また、車両10が走行中の道路と同じ道路を着目する検出対象物体が走行している場合、画像上でのその検出対象物体を含む物体領域の下端の位置は、その検出対象物体の路面上の位置を表していると推定される。また、画像上での各画素の位置は、カメラ2からその画素に相当する方位と1対1に対応している。したがって、予測部33は、画像上での着目する検出対象物体を含む物体領域の下端の位置に基づいて、カメラ2からその検出対象物体の路面上の位置への方位を特定することができる。したがって、予測部33は、メモリ22に記憶されているカメラ2の取り付け位置(路面からの高さを含む)と、カメラ2からその検出対象物体の路面上の位置への位置までの特定された方位とに基づいて、車両10からその検出対象物体までの距離を推定できる。
【0051】
あるいは、予測部33は、着目する検出対象物体について、その検出対象物体が表された物体領域のサイズ(例えば、横幅)と、その検出対象物体と同一種類の基準物体が車両10から所定距離に位置していると仮定した場合の基準サイズとの比に基づいて、車両10からその検出対象物体までの距離を推定してもよい。あるいはまた、車両制御システム1がLiDARあるいはレーダといった測距センサ(図示せず)を有している場合、その測距センサにより、着目する検出対象物体までの距離が測定されてもよい。この場合、例えば、画像上での着目する検出対象物体が表された物体領域の重心に対応する、カメラ2からの方位に相当する測距センサからの方位における距離が、車両10からその検出対象物体までの距離として測定される。予測部33は、上記のようにして推定された車両10から着目する検出対象物体までの距離を上記の所定距離と比較して、その検出対象物体について、次画像上での位置を予測可能か否か判定すればよい。
【0052】
あるいはまた、予測部33は、着目する検出対象物体よりも先行する他の検出対象物体の挙動に基づいて、着目する検出対象物体について、次画像上での位置を予測可能か否か判定してもよい。例えば、予測部33は、所定時間前の第1の時点において、着目する検出対象物体が走行する車線と同じ車線を走行していた、先行する他の検出対象物体が、その第1の時点以降に車線変更した場合、着目する検出対象物体について、次画像上での位置を予測不能と判定してもよい。これは、例えば、何らかの障害物、例えば、駐車車両などがその先行する他の検出対象物体よりも前に存在するために、後続する着目する検出対象物体も車線変更する可能性が有るためである。なお、予測部33は、各検出対象物体について、画像ごとに、上記の方法と同様に走行する車線を特定することで、その検出対象物体が車線変更したか否かを判定できる。
【0053】
予測部33は、次画像上での位置を予測可能と判定した検出対象物体について、次画像上での予測位置を含む予測物体領域を求める。一般に、車両10と、次画像上での位置を予測可能な、車両周囲の検出対象物体との相対的な位置関係は急激に変化しない。そこで、予測部33は、現画像上での検出対象物体の位置と次画像上での検出対象物体の予測位置は同じと推定することができる。そこで、予測部33は、現画像上での検出対象物体を含む物体領域と同一の次画像上の領域を、予測物体領域として設定する。
【0054】
あるいは、予測部33は、直近の所定期間に含まれる一連の画像のそれぞれにおける物体領域の重心位置の時系列順の並びを直線または多項式にて近似することで得られる、次画像上での物体領域の重心の予測位置を、検出対象物体の予測位置としてもよい。同様に、予測部33は、直近の所定期間に含まれる一連の画像のそれぞれにおける物体領域のサイズ(幅及び高さを含む)の時系列順の並びを直線または多項式にて近似することで得られる、次画像上での物体領域の予測サイズを、予測物体領域のサイズとしてもよい。そして予測部33は、次画像上での検出対象物体の予測位置を重心位置とし、かつ、予測されたサイズの領域を、予測物体領域として設定する。
【0055】
予測部33は、次画像上での位置を予測不能と判定した検出対象物体について、検出物体リストに含まれる、次画像上での位置が予測可能か否かを表すフラグの値を、次画像上での位置が予測不能であることを表す値に更新する。さらに、予測部33は、次画像上での位置を予測不能と判定した検出対象物体について、次画像上での予測物体領域の位置及び範囲を示す情報(例えば、予測物体領域の左上端及び右下端の座標)を、検出物体リストに登録する。
【0056】
なお、変形例によれば、予測部33は、物体検出部31による物体検出処理の後に、現画像に対して上記の処理を行う代わりに、物体検出部31による物体検出処理の前、あるいは、物体検出処理と並列に上記の処理を実行してもよい。この場合には、予測部33は、現画像における検出対象物体の位置またはその検出対象物体を含む物体領域の位置の代わりに、直前の画像におけるその検出対象物体の位置またはその検出対象物体を含む物体領域の位置に対して上記の実施形態と同様の処理を実行することで、現画像上での位置を予測可能か否か判定すればよい。また、この変形例によれば、予測部33は、直前の画像と現画像との比較に基づいて、検出対象物体の現画像上での位置を予測可能か否か判定してもよい。例えば、予測部33は、直前の画像における各画素の輝度値の統計的代表値(例えば、平均値、中央値または最頻値)と、現画像における各画素の輝度値の統計的代表値の差の絶対値が所定の輝度閾値以上である場合、検出対象物体の現画像上での位置を予測不能と判定してもよい。これにより、例えば、車両10がトンネル内に進入する前後、あるいはトンネルから出る前後といった、車両10の周囲の明るさが急激に変化する場合において、予測部33は、検出対象物体の現画像上での位置を予測不能と判定することができる。その結果として、物体検出部31が現画像から実際に検出した物体領域の情報が、検出対象物体の状態の識別に利用されることとなる。なお、車両10の周囲の明るさが急激に変化する場合には、変化前、すなわち直前の画像における検出対象物体の位置から予測した、変化後、すなわち現画像における検出対象物体の位置の方が、物体検出部31が現画像から実際に検出した検出対象物体の位置よりも正確なことがある。そこで、上記の例とは逆に、予測部33は、直前の画像における各画素の輝度値の統計的代表値と、現画像における各画素の輝度値の統計的代表値の差の絶対値が所定の閾値以上である場合、直前の画像におけるその検出対象物体の位置及びその検出対象物体を含む物体領域の位置によらずに、検出対象物体の現画像上での位置を予測可能と判定してもよい。
【0057】
また、予測部33は、直前の画像に基づいて、次画像上での位置が予測不能と判定された検出対象物体について、物体検出部31による物体検出処理の前、あるいは、物体検出処理と並列に、予測物体領域を設定してもよい。なお、直前の画像を基準としたときの次画像は、現画像となるので、予測部33は、現画像に対して予測物体領域を設定すればよい。この場合、予測部33は、上記の予測物体領域の設定処理と同様の処理を、直前の画像またはそれ以前の画像における物体領域に対して実行することで、現画像上に予測物体領域を設定すればよい。
【0058】
あるいは、予測部33は、Kanade-Lucas-Tomasi法といった、オプティカルフローに基づく追跡処理を、直前の画像上の物体領域と現画像に対して適用することで、現画像上に予測物体領域を設定してもよい。この場合、予測部33は、例えば、直前の画像上の物体領域に対してSIFTあるいはHarrisオペレータといった特徴点抽出用のフィルタを適用することで、その物体領域から複数の特徴点を抽出する。予測部33は、複数の特徴点のそれぞれについて、現画像における対応する点を、適用される追跡手法に従って特定することで、オプティカルフローを算出すればよい。そして予測部33は、求めたオプティカルフロー及び直前の画像上の物体領域に基づいて、現画像上でその物体領域に対応する領域を推定し、推定した領域を予測物体領域として設定すればよい。
【0059】
状態識別部34は、カメラ2から画像が得られる度に、すなわち、カメラ2により得られる時系列の一連の画像のそれぞれについて、追跡中の検出対象物体の状態を識別する。
【0060】
本実施形態では、状態識別部34は、検出物体リストを参照して、追跡中の検出対象物体のうち、直前に得られた画像において予測部33により予測物体領域が設定されている検出対象物体を特定する。そして状態識別部34は、予測物体領域が設定されている検出対象物体については、物体検出部31による物体検出処理の結果を待たず、すなわち、第1の識別器による現画像上での物体領域の検出よりも前に、現画像上の予測物体領域内の画素値から求められる特徴を第2の識別器に入力することで、時系列の外観変化を伴う、その検出対象物体の状態を識別する。一方、予測物体領域が設定されていない検出対象物体については、状態識別部34は、物体検出部31により検出された物体検出領域内の画素値から求められる特徴を、第2の識別器に入力することで、時系列の外観変化を伴う、その検出対象物体の状態を識別する。なお、状態識別部34による状態識別処理のうち、第2の識別器による演算処理は、例えば、第3演算回路233により実行され、その他の処理は、例えば、第1演算回路231または第2演算回路232により実行される。
【0061】
状態識別部34は、予測物体領域または物体領域内の画素値から求められる特徴を、例えば、その予測物体領域または物体領域内の各画素の値そのものとする。あるいは、状態識別部34は、予測物体領域または物体領域内の画素値から求められる特徴を、その予測物体領域または物体領域内の各画素に対して、畳み込み演算といった所定のフィルタ処理を行って得られた値としてもよい。
【0062】
状態識別部34は、各予測物体領域または各物体領域について、抽出した特徴をダウンサンプリング、アップサンプリング、bi-linear補間またはbi-cubic補間などのサイズ変換処理を実行することで所定のサイズ(例えば、32×32)にリサイズする。これにより、検出対象物体の追跡の途中で車両10と検出対象物体間の相対距離が変化して、画像上での検出対象物体のサイズが変化しても、第2の識別器は、入力される特徴を一定のサイズとして扱えるので、第2の識別器の構成が簡単化される。
【0063】
状態識別部34は、第2の識別器として、例えば、Recurrent Neural Network(RNN)、Long Short Term Memory(LSTM)またはGated Recurrent Unit(GRU)といった、再帰的な構造を持つニューラルネットワークを用いることができる。第2の識別器は、物体領域または予測物体領域に含まれる特徴を処理すればよいため、第1の識別器と比較して、入力層及び中間層のサイズが小さくて済み、かつ、重み係数といった第2の識別器を規定するためのパラメータ数が少なくて済む。そのため、第2の識別器は、第1の識別器と比較して演算量が少なく、プロセッサ23に対する演算負荷を小さくすることができる。さらに、第2の識別器の学習に要する演算量も削減される。なお、第1の識別器及び第2の識別器がそれぞれニューラルネットワークとして構成されている場合、共通の教師データを用いて、誤差逆伝搬法によりそれらニューラルネットワークが一体的に学習されてもよい。
【0064】
第2の識別器は、再帰構造を有しているため、時系列に順次特徴が入力される度に、内部で再帰的に利用される内部状態(中間状態または隠れ状態とも呼ばれる)を更新する。これにより、第2の識別器は、着目する追跡中の検出対象物体の外観の時系列の変化に基づいて、その検出対象物体の状態を識別することができる。この内部状態は、メモリ22に記憶される。そして第2の識別器は、着目する追跡中の検出対象物体についての特徴が入力される度に、メモリ22から、その検出対象物体に関する最新の内部状態を読み込んで第2の識別器の演算に適用する。
【0065】
本実施形態では、状態識別部34は、上記のように、検出対象物体(すなわち、車両10の周囲の他の車両)の状態として、左右何れかのターンシグナルまたはハザードランプの点滅状態か否か、ブレーキランプが点灯している状態あるいは消灯している状態かを識別する。そのために、第2の識別器の出力層の活性化関数として、例えば、シグモイド関数が用いられる。これにより、第2の識別器は、各状態の確信度を出力することができる。そして状態識別部34は、各状態の確信度を対応する閾値と比較し、検出対象物体の状態は、確信度が対応する閾値以上となる状態であると判定する。例えば、検出対象物体の左のターンシグナルが点滅している状態についての確信度が0.8であり、一方、左のターンシグナルが点滅していない状態についての確信度が0.2であるとする。そして閾値が0.5であるとすると、状態識別部34は、検出対象物体の状態は、左のターンシグナルが点滅している状態であると判定する。
【0066】
あるいは、第2の識別器の出力層の活性化関数として、ソフトマックス関数が用いられてもよい。この場合には、第2の識別器は、検出対象物体の状態として、左のターンシグナルが点滅、右のターンシグナルが点滅、ハザードランプが点滅、ブレーキランプが点灯、あるいはその何れでもないとの判定結果を出力する。したがって、状態識別部34は、第2の識別器から出力された判定結果で表される状態を、検出対象物体の状態とすればよい。
【0067】
変形例によれば、状態識別部34は、第2の識別器として、時間軸方向の畳み込み演算を実行する、CNN型のアーキテクチャを有するニューラルネットワークを用いてもよい。この場合、第2の識別器は、例えば、直前の層から出力されたfeature mapに対して、時間軸方向に沿って畳み込み演算を実行する畳み込み層(以下、時間特徴畳み込み層と呼ぶ)を一つ以上有する。個々の時間特徴畳み込み層の時間軸方向のカーネルサイズは、例えば、全ての時間特徴畳み込み層を経由することで、一度に入力される複数の特徴が含まれる期間全体にわたって畳み込み演算が行われるように設定される。時間特徴畳み込み層は、例えば、時間軸方向及び空間方向の何れについても畳み込み演算(以下、3次元畳み込み演算と呼ぶ)を実行してもよく、あるいは、時間軸方向についてのみの畳み込み演算(以下、時間次元畳み込み演算と呼ぶ)を実行してもよい。さらに、時間特徴畳み込み層は、チャネル方向に関しても畳み込み演算または全結合演算を実行してもよい。また、第2の識別器が複数の時間特徴畳み込み層を有する場合には、その複数の時間特徴畳み込み層の何れかの層が3次元畳み込み演算を実行し、その複数の時間特徴畳み込み層の他の層が時間次元畳み込み演算を実行してもよい。さらに、第2の識別器は、時間軸方向には畳み込み演算を実行せず、空間方向について畳み込み演算を実行する畳み込み層(以下、空間特徴畳み込み層と呼ぶ)を一つ以上有してもよい。この空間特徴畳み込み層も、チャネル方向に関して畳み込み演算または全結合演算を実行してもよい。第2の識別器が1以上の空間特徴畳み込み層を有する場合、空間特徴畳み込み層と時間特徴畳み込み層の順序はどのような順序でもよい。例えば、入力側から出力側へ順に、空間特徴畳み込み層、時間特徴畳み込み層の順に各畳み込み層が設けられてもよく、あるいはその逆の順序であってもよい。さらに、空間特徴畳み込み層と時間特徴畳み込み層とが交互に設けられてもよい。さらに、第2の識別器は、1以上のプーリング層を有してもよい。さらにまた、第2の識別器は、1以上の活性化層及び1以上の全結合層を有してもよい。第2の識別器の出力層は、例えば、活性化関数としてシグモイド関数またはソフトマックス関数を使用する。
【0068】
状態識別部34は、状態識別の対象となる検出対象物体のそれぞれについて、第2の識別器による状態識別結果及び更新された内部状態をメモリ22に書き込んで、メモリ22に記憶されている、状態識別結果及び内部状態を更新するとともに、状態識別結果を運転計画部35へ通知する。
【0069】
図6は、状態識別処理に関連する各部の処理のタイミングチャートである。プロセッサ23の各部の処理は、例えば、プロセッサ23の第1演算回路231上で動作するスケジューラ(図示せず)により管理され、図6に示されるタイミングチャートに従って実行される。図6において、横軸は時間を表す。また、図6において、個々のブロックは、そのブロック内に示された処理が実行されることを表し、個々の矢印は、各処理間でのデータ(画像、特徴等)の受け渡しを表す。例えば、時刻t1にてECU3がカメラ2から現画像を受け取ると、プロセッサ23が有する第2演算回路232にて、その現画像に対する、物体検出部31の第1の識別器による検出対象物体の物体検出処理が実行される。なお、物体検出処理が行われる前に、現画像に対してコントラスト補正または色変換といった前処理が行われてもよい。
【0070】
物体検出処理が行われると、プロセッサ23が有する第1演算回路231にて、検出された物体の種類及び物体領域の検出物体リストへの登録などの物体検出の後処理が行われ、その後に、追跡部32による追跡処理が実行される。そして、追跡処理の後に、追跡中の各検出対象物体について、次画像における位置の予測が可能か否かの判定、及び、次画像上での予測物体領域の設定を含む予測処理が実行される。なお、上記のように、予測処理は、第1の識別器による物体検出処理の前、あるいは、その物体検出処理の実行中に予測処理が実行されてもよい。この場合には、予測部33は、時刻t1にて取得された画像の直前に取得された画像に対する物体検出処理の結果に基づいて予測処理を実行することで、時刻t1にて取得された画像に対して予測物体領域を設定すればよい。
【0071】
また、追跡処理の後に、第2演算回路232にて、直前の画像に基づいて現画像上に予測物体領域が設定されなかった検出対象物体について、現画像から検出された物体領域からの特徴の抽出、抽出した特徴のリサイズが行われる。そして第3演算回路233にて、第2の識別器を用いた状態識別処理が実行される。なお、プロセッサ23のスループットを向上するために、第3演算回路233による、各検出対象物体に対する状態識別処理はバッチ処理としてまとめて実行されることが好ましい。
【0072】
一方、直前の画像に基づいて現画像上に予測物体領域が設定された検出対象物体について、第2演算回路232による現画像に対する物体検出処理と並列に、第1演算回路231による、現画像上の予測物体領域からの特徴の抽出及び抽出した特徴のリサイズが行われ、第3演算回路233にて、第2の識別器を用いた状態識別処理が実行される。得られた検出対象物体の状態識別の結果は、運転計画部35及び車両制御部36の処理に利用される。なお、プロセッサ23のスループットを向上するために、第3演算回路233による、各検出対象物体に対する状態識別処理はバッチ処理としてまとめて実行されることが好ましい。
【0073】
このように、同じ画像に表された複数の検出対象物体のうちの何れかについては、第3演算回路233による状態識別処理と第2演算回路232による物体検出処理とが並列に実行される。また、その複数の検出対象物体のうちのそれ以外のものについては、第2演算回路232による物体検出処理が終了した後に、第3演算回路233による状態識別処理が実行される。特に、次画像上での位置の予測が不能と判定される条件を満たすような、車両10と検出対象物体の相対的な位置関係は限られる。そのため、次画像上での位置の予測が不能と判定される、すなわち、物体検出処理の終了後に状態識別処理が実行される検出対象物体の数は、物体検出処理の実行中に状態識別処理が実行される検出対象物体の数よりも少なくなることが想定される。そのため、車両制御処理全体のスループットが向上する。
【0074】
図7は、検出物体リストの一例を示す図である。検出物体リスト700には、追跡中の検出対象物体のそれぞれについて、その物体が状態識別対象か否かを表すインデックス、その物体に割り当てられた識別番号、その物体に関する情報が記憶されているメモリ22のアドレスを表すポインタ及び状態識別部34により状態識別された回数(すなわち、第2の識別器に、対応する物体領域から求められた特徴が入力された回数)が格納される。さらに、検出物体リスト700には、追跡中の検出対象物体のそれぞれについて、物体領域の位置及び範囲を表す情報(図示せず)及び検出対象物体の種類を表す情報(図示せず)などが格納される。さらにまた、検出物体リスト700には、追跡中の検出対象物体のそれぞれについて、次画像上の位置について予測可能か否かを表すフラグ(図示せず)、及び、次画像上での予測物体領域の位置及び範囲を表す情報(図示せず)が格納される。また、各検出対象物体についてのポインタで示されるメモリ22上の格納領域701には、最新の画像における、第2の識別器に入力される特徴、最後に更新された第2の識別器の内部状態、及び、最後に更新された第2の識別器からの出力結果などが記憶される。
【0075】
運転計画部35は、検出物体リストを参照して、車両10の周囲に存在する物体と車両10とが衝突しないように車両10の走行予定経路(トラジェクトリ)を1以上生成する。走行予定経路は、例えば、現時刻から所定時間先までの各時刻における、車両10の目標位置の集合として表される。例えば、運転計画部35は、検出物体リストを参照して、カメラ2についての車両10への取り付け位置などの情報を用いて視点変換処理を実行することで、検出物体リストにおける物体の画像内座標を鳥瞰画像上の座標(鳥瞰座標)に変換する。そして運転計画部35は、一連の鳥瞰座標に対してKalman FilterまたはParticle filterなどを用いたトラッキング処理を実行することで、検出物体リストに登録されている物体を追跡し、その追跡結果により得られた軌跡から、物体のそれぞれの所定時間先までの予測軌跡を推定する。その際、運転計画部35は、検出対象物体の状態識別結果を予測軌跡の推定に利用する。例えば、着目する検出対象物体の状態が、左のターンシグナルが点滅している状態である場合、その検出対象物体は左側へ車線変更し、あるいは、左折する可能性が高い。そこで、運転計画部35は、その検出対象物体について、左側へ車線変更し、あるいは、左折する予測軌跡を推定する。また、着目する検出対象物体の状態が、ブレーキランプが点灯している状態である場合、あるいは、ハザードランプが点滅している状態である場合、その検出対象物体は減速する可能性が高い。そこで、運転計画部35は、その検出対象物体について、現時点よりも減速するような予測軌跡を推定する。さらに、着目する検出対象物体の状態が、左右のターンシグナル及びハザードランプの何れも点滅しておらず、かつ、ブレーキランプが消灯している状態である場合、その検出対象物体は減速せずに直進する可能性が高い。そこで、運転計画部35は、その検出対象物体について、減速せずに直進するような予測軌跡を推定する。
【0076】
運転計画部35は、追跡中の各物体の予測軌跡と、車両10の位置、速度及び姿勢に基づいて、何れの物体についても所定時間先までの追跡中の物体のそれぞれと車両10間の距離の予測値が所定距離以上となるように、車両10の走行予定経路を生成する。なお、運転計画部35は、車両10の位置、速度及び姿勢を、例えば、車両10に搭載されたGPS受信機(図示せず)から得た車両10の現在位置を表す現在位置情報に基づいて推定できる。あるいは、ローカライズ処理部(図示せず)が、カメラ2により画像が得られる度に、その画像から車両10の左右の車線区画線を検出し、検出された車線区画線とメモリ22に記憶されている地図情報とをマッチングすることで、車両10の位置、速度及び姿勢が推定されてもよい。さらに、運転計画部35は、例えば、車両10の現在位置情報と、メモリ22に記憶されている地図情報とを参照して、車両10が走行可能な車線の数を確認してもよい。そして運転計画部35は、車両10が走行可能な車線が複数存在する場合には、車両10が走行する車線を変更するように走行予定経路を生成してもよい。
なお、運転計画部35は、複数の走行予定経路を生成してもよい。この場合、運転計画部35は、複数の走行予定経路のうち、車両10の加速度の絶対値の総和が最小となる経路を選択してもよい。
【0077】
運転計画部35は、生成した走行予定経路を車両制御部36へ通知する。
【0078】
車両制御部36は、車両10が通知された走行予定経路に沿って走行するように車両10の各部を制御する。例えば、車両制御部36は、通知された走行予定経路、及び、車速センサ(図示せず)により測定された車両10の現在の車速に従って、車両10の加速度を求め、その加速度となるようにアクセル開度またはブレーキ量を設定する。そして車両制御部36は、設定されたアクセル開度に従って燃料噴射量を求め、その燃料噴射量に応じた制御信号を車両10のエンジンの燃料噴射装置へ出力する。あるいは、車両制御部36は、設定されたブレーキ量に応じた制御信号を車両10のブレーキへ出力する。
【0079】
さらに、車両制御部36は、車両10が走行予定経路に沿って走行するために車両10の進路を変更する場合には、その走行予定経路に従って車両10の操舵角を求め、その操舵角に応じた制御信号を、車両10の操舵輪を制御するアクチュエータ(図示せず)へ出力する。
【0080】
図8は、プロセッサ23により実行される、物体状態識別処理を含む車両制御処理の動作フローチャートである。プロセッサ23は、カメラ2から画像を受信する度に、図8に示される動作フローチャートに従って車両制御処理を実行する。なお、以下に示される動作フローチャートにおいて、ステップS101~S108の処理が物体状態識別処理に対応する。
【0081】
プロセッサ23の物体検出部31は、カメラ2から得られた最新の画像(すなわち、現画像)を第1の識別器に入力して、現画像に表された1以上の検出対象物体を検出する。すなわち、物体検出部31は、現画像上で検出対象物体を含む1以上の物体領域を検出する(ステップS101)。さらに、物体検出部31は、検出された検出対象物体ごとに、その検出対象物体の種類を識別する。そして物体検出部31は、検出された検出対象物体を検出物体リストに登録する。
【0082】
プロセッサ23の追跡部32は、現画像における、検出対象物体を含む物体領域のそれぞれについて、その物体領域と、過去の画像における物体領域とに基づいて、現画像における、その物体領域に表されている検出対象物体を追跡する(ステップS102)。
【0083】
また、プロセッサ23の状態識別部34は、ステップS101の処理の実行と平行して、追跡中の検出対象物体のうち、現画像上の位置が予測可能と判定されている検出対象物体について、現画像上の予測物体領域内の画素値から求められる特徴を抽出する(ステップS103)。そして状態識別部34は、抽出した特徴を、再帰構造を持つ第2の識別器に入力することで、その検出対象物体の状態を識別する(ステップS104)。
【0084】
一方、状態識別部34は、追跡中の検出対象物体のうち、現画像上の位置が予測不能と判定されている検出対象物体について、ステップS101の処理によって検出された物体領域内の画素値から求められる特徴を抽出する(ステップS105)。そして状態識別部34は、抽出した特徴を、再帰構造を持つ第2の識別器に入力することで、その検出対象物体の状態を識別する(ステップS106)。
【0085】
また、プロセッサ23の予測部33は、追跡中の各検出対象物体について、次画像上での位置を予測可能か否か判定する(ステップS107)。そして予測部33は、次画像上での位置を予測可能な検出対象物体について、次画像上の予測物体領域を設定する(ステップS108)。
【0086】
プロセッサ23の運転計画部35は、検出物体リストを参照して、検出物体リストに登録されている各検出対象物体について、状態識別結果を参照して推定されるその物体の予測軌跡と所定の距離以上となるように、車両10の走行予定経路を生成する(ステップS109)。そしてプロセッサ23の車両制御部36は、走行予定経路に沿って車両10が走行するように車両10を制御する(ステップS110)。そしてプロセッサ23は、車両制御処理を終了する。
【0087】
以上に説明してきたように、この物体状態識別装置は、車両に搭載されたカメラにより画像が得られる度に、その画像を、検出対象物体を検出するように予め学習された第1の識別器に入力することで、その画像上で検出対象物体を含む物体領域を検出する。また、この物体状態識別装置は、検出された検出対象物体を追跡することで、各画像において同じ検出対象物体が表された物体領域同士を対応付ける。一方、この物体状態識別装置は、直前の画像における、追跡中の検出対象物体を含む物体領域の位置などに基づいて、次に得られる画像におけるその検出対象物体の位置を予測可能か否か判定し、その位置を予測可能な場合には、その検出対象物体の予測位置を含む予測物体領域を設定する。そしてこの物体状態識別装置は、次に画像が得られたときに、検出対象物体の位置が予測可能と判定されている場合には、予測物体領域内の画素値から求められる特徴を、再帰構造を有し、または時間軸方向における畳み込み演算を実行する第2の識別器に入力することで検出対象物体の状態を識別する。一方、次に画像が得られたときに、検出対象物体の位置が予測不能と判定されている場合には、この状態識別装置は、その画像に対して第1の識別器により検出された物体領域内の画素値から求められる特徴を第2の識別器に入力することで検出対象物体の状態を識別する。これにより、同時に追跡中の複数の検出対象物体が存在しても、この物体状態識別装置は、第2の識別器による処理が実行されるタイミングを、検出対象物体ごとに異ならせることができる。そのため、この物体状態識別装置は、処理負荷を時間的に分散させることができ、その結果として、物体状態識別処理全体のスループットを向上させることができる。特に、この物体状態識別装置は、検出対象物体の位置が予測可能と判定されている検出対象物体に対する、第2の識別器による状態識別処理を、第1の識別器による物体検出処理と平行して実行することで、物体状態識別処理全体のスループットをさらに向上させることができる。さらに、この物体状態識別装置は、個々の画像から物体を検出する第1の識別器を利用して、時系列の一連の画像のそれぞれから、第2の識別器に入力する特徴を抽出するので、画像全体を、再帰構造を持つ識別器に入力して物体の状態を識別するよりも、全体として演算量を削減することができる。また、第1の識別器の学習に用いられる画像は静止画像であればよく、一方、第2の識別器の学習には、動画像が必要となるものの、その動画像に含まれる個々の画像のサイズは、第1の識別器の学習に利用される画像のサイズよりも小さくてよい。そのため、この物体状態識別装置は、各識別器の学習に必要なコスト(例えば、教師画像のアノテーションに要するコスト、教師画像の収集に要するコストなど)を削減するとともに、各識別器の学習に要する演算量及び演算時間を削減することができる。
【0088】
変形例によれば、時系列の外観変化を伴う状態の識別の対象となる検出対象物体は車両に限られず、例えば、車両10の周囲に位置する人(または子供)であってもよい。この場合、状態識別部34は、追跡中の人を含む時系列の一連の画像のそれぞれから検出され、または設定される物体領域または予測物体領域からの特徴を第2の識別器に時系列順に入力することで、その人の状態(例えば、その人が歩行している歩行状態か、その人が走っている走行状態か、あるいは、その人が走り出そうとしている走行開始状態か)を識別してもよい。この場合、予測部33は、第1の識別器により、人であると推定された検出対象物体については、次画像における位置を予測不能と判定し、予測物体領域を設定しないようにしてもよい。これにより、物体状態識別装置は、検出対象物体である人が道路に急に飛び出してくることで、車両10との相対的な位置関係が急激に変化する場合でも、検出対象物体である人が表された領域の特徴をその人の状態識別に利用することができるので、その人の状態を精度良く識別することができる。
【0089】
他の変形例によれば、物体検出部31は、DNN以外の識別器を利用して、画像から検出対象物体を検出してもよい。例えば、物体検出部31は、第1の識別器として、画像上に設定されるウィンドウから算出される特徴量(例えば、HOG)を入力として、そのウィンドウに検出対象となる物体が表される確信度を出力するように予め学習されたサポートベクトルマシン(SVM)を用いてもよい。物体検出部31は、画像上に設定するウィンドウの位置、サイズ及びアスペクト比を様々に変更しながら、そのウィンドウから特徴量を算出し、算出した特徴量をSVMへ入力することで、そのウィンドウについて確信度を求める。そして物体検出部31は、何れかの種類の検出対象物体について確信度が所定の確信度閾値以上となるウィンドウに、その検出対象物体が表されていると判定し、かつ、そのウィンドウを物体領域とすればよい。なお、SVMは、検出対象となる物体の種類ごとに用意されてもよい。この場合には、物体検出部31は、各ウィンドウについて、そのウィンドウから算出された特徴量をそれぞれのSVMへ入力することで、物体の種類ごとに確信度を算出すればよい。
【0090】
また、上記の実施形態または変形例による、物体状態識別装置のプロセッサ23の各部の機能を実現するコンピュータプログラムは、半導体メモリ、磁気記録媒体または光記録媒体といった、コンピュータ読取可能な可搬性の記録媒体に記録された形で提供されてもよい。
【0091】
以上のように、当業者は、本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。
【符号の説明】
【0092】
1 車両制御システム
2 カメラ
3 電子制御装置(物体状態識別装置)
4 車内ネットワーク
21 通信インターフェース
22 メモリ
23 プロセッサ
31 物体検出部
32 追跡部
33 予測部
34 状態識別部
35 運転計画部
36 車両制御部
図1
図2
図3
図4
図5
図6
図7
図8