(57)【要約】【課題】演算量を抑制しつつ、道路ミラーに映り込んでいる移動体を精度良く検出する。【解決手段】物体検出装置は、画像を低解像度化した画像データに基づいて、画像内の道路ミラーを含む物体の種類及び位置と、道路ミラーに映り込んだ移動可能物体の有無と、を検出する第１検出部３１と、道路ミラーに映り込んだ移動可能物体が有る場合に、画像から道路ミラーの部分を抽出した高解像度の部分画像データに基づいて、道路ミラー内の移動可能物体の種類と、道路ミラー内における移動可能物体の位置と、を検出する第２検出部３２と、を備える。【選択図】図４
2020052647.tif 000002
【特許請求の範囲】
【請求項１】
画像を低解像度化した画像データに基づいて、前記画像内の道路ミラーを含む物体の種類及び位置と、前記道路ミラーに映り込んだ移動可能物体の有無と、を検出する第１検出部と、
前記道路ミラーに映り込んだ前記移動可能物体が有る場合に、前記画像から前記道路ミラーの部分を抽出した高解像度の部分画像データに基づいて、前記道路ミラー内の前記移動可能物体の種類と、前記道路ミラー内における前記移動可能物体の位置と、を検出する第２検出部と、
を備える物体検出装置。
【請求項２】
前記第１検出部は、
第１の学習用画像と、前記第１の学習用画像内の物体の種類、位置及び前記道路ミラーに映り込んだ前記移動可能物体の有無と、が対応付けられた教師データを用いて学習させた学習済みの畳み込み層を有するニューラルネットワークに、前記画像データを入力することで、前記画像内の前記物体の種類及び位置と、前記道路ミラーに映り込んだ前記移動可能物体の有無と、を検出する、
請求項１に記載の物体検出装置。
【請求項３】
前記第２検出部は、
前記道路ミラーが含まれる第２の学習用画像と、前記第２の学習用画像内の前記道路ミラーに映り込んだ前記移動可能物体の種類及び位置と、が対応付けられた教師データを用いて学習させた学習済みの畳み込み層を有するニューラルネットワークに、前記部分画像データを入力することで、前記道路ミラー内の前記移動可能物体の種類と、前記道路ミラー内における前記移動可能物体の位置と、を検出する、
請求項１又は請求項２に記載の物体検出装置。
【請求項４】
前記画像を撮影するカメラを備えると共に、請求項１から請求項３までのいずれか１項に記載の前記物体検出装置が実装された車両制御システムであって、
前記画像内における前記物体の位置の時系列データと、前記道路ミラー内における前記移動可能物体の位置の時系列データと、に基づいて、車両の運転計画を作成する運転計画部と、
前記運転計画に従って、前記車両を操作する車両制御部と、
を備える車両制御システム。
【請求項５】
前記運転計画部は、
前記道路ミラーに映り込んだ前記移動可能物体の有無に基づいて前記運転計画を作成するようにさらに構成され、
前記第１検出部において前記道路ミラーに映り込んだ前記移動可能物体が有ると判断されたときは、前記車両を減速させる運転計画を作成する、
請求項４に記載の車両制御システム。
【請求項６】
前記運転計画部は、
前記道路ミラーに映り込んだ前記移動可能物体が有ると判断されている状態から無いと判断されている状態に遷移したときは、前記画像内における前記物体の中に、前記道路ミラーに映り込んでいた前記移動可能物体が存在しているか否かを判断した上で前記運転計画を作成するようにさらに構成される、
請求項４又は請求項５に記載の車両制御システム。
【請求項７】
画像を低解像度化した画像データに基づいて、前記画像内の道路ミラーを含む物体の種類及び位置と、前記道路ミラーに映り込んだ移動可能物体の有無と、を検出し、
前記道路ミラーに映り込んだ前記移動可能物体が有る場合に、前記画像から前記道路ミラーの部分を抽出した高解像度の部分画像データに基づいて、前記道路ミラー内の前記移動可能物体の種類と、前記道路ミラー内における前記移動可能物体の位置と、を検出する、
ことを含む物体検出方法。
【請求項８】
画像を低解像度化した画像データに基づいて、前記画像内の道路ミラーを含む物体の種類及び位置と、前記道路ミラーに映り込んだ移動可能物体の有無と、を検出し、
前記道路ミラーに映り込んだ前記移動可能物体が有る場合に、前記画像から前記道路ミラーの部分を抽出した高解像度の部分画像データに基づいて、前記道路ミラー内の前記移動可能物体の種類と、前記道路ミラー内における前記移動可能物体の位置と、を検出する、
ことをコンピュータに実行させる物体検出用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体検出装置、物体検出方法、物体検出用コンピュータプログラム及び車両制御システムに関する。
【背景技術】
【０００２】
非特許文献１には、車両等の既知の物体が写った画像を教師データとして用いて学習させたディープニューラルネットワーク（以下「ＤＮＮ」という。）によって、ＤＮＮに入力された画像に映っている物体の種類及び位置を検出する物体検出装置が開示されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｗｅｉ Ｌｉｕ他、「ＳＳＤ： Ｓｉｎｇｌｅ Ｓｈｏｔ ＭｕｌｔｉＢｏｘ Ｄｅｔｅｃｔｏｒ」、ＥＣＣＶ２０１６、２０１６年
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、このような物体検出装置を実装した自動運転車両の開発が進められている。自動運転車両の安全性の向上を図るためには、カメラ等で撮影された画像内の物体を検出する以外にも、カメラ等で撮影された画像内に道路ミラーが存在する場合には、道路ミラーに映り込んでいる例えば歩行者や車、バイク、自転車などの移動可能な物体（以下「移動体」という。）、すなわちカメラ等で撮影した画像の死角に存在する移動体を検出し、その死角に存在する移動体の挙動を考慮した車両の走行計画を作成することが望ましい。
【０００５】
しかしながら、前述した非特許文献１に記載のものは、道路ミラーに映り込んでいる移動体に着目してその移動体を検出するものではなかった。そのため、道路ミラーに映り込んでいる非常に小さい移動体にまで着目してその移動体を精度良く検出できるようにすると演算量が多くなり、物体の検出に利用可能な演算リソースが限られている場合や、リアルタイム性が要求される場合には、道路ミラーに映り込んでいる移動体を検出することが難しいという問題点があった。
【０００６】
本発明は、このような問題点に着目してなされたものであり、演算量を抑制しつつ、道路ミラーに映り込んでいる移動体を精度良く検出できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様による物体検出装置は、画像を低解像度化した画像データに基づいて、前記画像内の道路ミラーを含む物体の種類及び位置と、前記道路ミラーに映り込んだ映り込み物体の有無と、を検出する第１検出部と、映り込み物体が有る場合に、画像から道路ミラーの部分を抽出した高解像度の部分画像データに基づいて、道路ミラー内の移動可能物体と、道路ミラー内における移動可能物体の位置と、を検出する第２検出部と、を備える。
【０００８】
また本発明のある態様による物体検出方法は、画像を低解像度化した画像データに基づいて、前記画像内の道路ミラーを含む物体の種類及び位置と、前記道路ミラーに映り込んだ映り込み物体の有無と、を検出し、映り込み物体が有る場合に、画像から道路ミラーの部分を抽出した高解像度の部分画像データに基づいて、道路ミラー内の移動可能物体と、道路ミラー内における移動可能物体の位置と、を検出する、ことを含む。
【０００９】
また本発明のある態様による物体検出用コンピュータプログラムは、画像を低解像度化した画像データに基づいて、前記画像内の道路ミラーを含む物体の種類及び位置と、前記道路ミラーに映り込んだ映り込み物体の有無と、を検出し、映り込み物体が有る場合に、画像から道路ミラーの部分を抽出した高解像度の部分画像データに基づいて、道路ミラー内の移動可能物体と、道路ミラー内における移動可能物体の位置と、を検出する、ことをコンピュータに実行させるための命令を含む。
【発明の効果】
【００１０】
本発明のこれらの態様による物体検出装置、物体検出方法及び物体検出用コンピュータプログラムによれば、演算量を抑制しつつ、道路ミラーに映り込んでいる移動体を精度良く検出することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、物体検出装置が実装される車両制御システムの概略構成図である。
【図２】図２は、物体検出装置の１つの実施形態である電子制御装置のハードウェア構成図である。
【図３】図３は、カメラによって撮影された画像の一例を示す図である。
【図４】図４は、物体検出処理を含む車両制御処理に関する、電子制御装置のプロセッサの機能ブロック図である。
【図５】図５は、第１検出部の識別器として利用されるＤＮＮの構成の一例を示す図である。
【図６】図６は、第２検出部の識別器として利用されるＤＮＮの構成の一例を示す図である。
【図７】図７は、物体検出処理を含む車両制御処理の動作フローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下の説明では、同様な構成要素には同一の参照番号を付す。
【００１３】
図１は、物体検出装置が実装される車両制御システムの概略構成図である。図２は、物体検出装置の一つの実施形態である電子制御装置のハードウェア構成図である。
【００１４】
本実施形態では、車両１０に搭載され、かつ、車両１０を制御する車両制御システム１は、車両１０の周囲を撮影するためのカメラ２と、物体検出装置及び車両制御装置として機能する電子制御装置（ＥＣＵ）３とを有する。カメラ２とＥＣＵ３とは、コントローラエリアネットワークといった規格に準拠した車内ネットワーク４を介して通信可能に接続される。
【００１５】
カメラ２は、撮像部の一例であり、ＣＣＤあるいはＣ−ＭＯＳなど、可視光に感度を有する光電変換素子のアレイで構成された２次元検出器と、その２次元検出器上に撮影対象となる領域の像を結像する結像光学系を有する。カメラ２は、車両１０の前方を向くように、例えば、車両１０の車室内に取り付けられる。そしてカメラ２は、所定の撮影周期（例えば１/３０秒〜１/１０秒）ごとに車両１０の前方領域を撮影し、その前方領域が写った画像を生成する。カメラ２により得られた画像は、カラー画像であってもよく、あるいは、グレー画像であってもよい。
【００１６】
カメラ２は、画像を生成する度に、その生成した画像を、車内ネットワーク４を介してＥＣＵ３へ出力する。
【００１７】
ＥＣＵ３は、車両１０を制御する。本実施形態では、ＥＣＵ３は、カメラ２によって撮影された一連の画像の画像データから、その画像に写っている各種の物体（例えば、車、歩行者、道路ミラー、動物、道路標識、道路標示、落下物、道路上のその他の物体など）を検出し、検出した物体に基づいて加速、操舵、及び制動に関する運転操作が自動的に行われるように、車両１０を制御する。そのために、ＥＣＵ３は、通信インターフェース２１と、メモリ２２と、プロセッサ２３とを有する。
【００１８】
通信インターフェース２１は、通信部の一例であり、ＥＣＵ３を車内ネットワーク４に接続するためのインターフェース回路を有する。すなわち、通信インターフェース２１は、車内ネットワーク４を介して、カメラ２と接続される。そして通信インターフェース２１は、カメラ２から画像を受信する度に、受信した画像をプロセッサ２３へわたす。
【００１９】
メモリ２２は、記憶部の一例であり、例えば、揮発性の半導体メモリ及び不揮発性の半導体メモリを有する。そしてメモリ２２は、ＥＣＵ３のプロセッサ２３により実行される物体検出処理において使用される各種のデータ、例えば、カメラ２から受信した画像や物体検出処理で利用される識別器を特定するための各種パラメータ、物体検出処理で利用される各種閾値などを記憶する。さらに、メモリ２２は、地図情報などを記憶してもよい。
【００２０】
プロセッサ２３は、制御部の一例であり、１個または複数個のＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）及びその周辺回路を有する。プロセッサ２３は、論理演算ユニット、数値演算ユニットあるいはグラフィック処理ユニットといった他の演算回路をさらに有していてもよい。そしてプロセッサ２３は、車両１０が走行している間、カメラ２から画像を受信する度に、受信した画像に対して物体検出処理を含む車両制御処理を実行する。具体的にはプロセッサ２３は、検出された車両１０の周囲の物体に基づいて運転計画を作成し、その運転計画に従って加速、操舵、及び制動に関する運転操作を自動的に行う自動運転を実施する。
【００２１】
図３は、カメラ２によって撮影された画像の一例を示す図である。
【００２２】
本実施形態のように自動運転を実施する車両１０の安全性の向上を図るためには、カメラ２等で撮影された画像３０１内の物体を検出する以外にも、カメラ等で撮影された画像３０１内に道路ミラー３０２が存在する場合には、道路ミラー３０２に映り込んでいる移動体（映り込み物体）、すなわち、カメラ２等で撮影した画像３０１の死角領域３０３に存在する移動体を検出し、その死角領域３０３に存在する移動体の挙動を考慮した車両１０の運転計画を作成することが望ましい。
【００２３】
しかしながら、道路ミラーに映り込んでいるサイズの小さな移動体を検出できるようにするために、例えば高解像度の画像データを用いて各種の物体検出を行うようにすると、ＥＣＵ３の演算量（処理負荷）が大きくなって物体検出までに時間がかかり、リアルタイムに物体を検出できなくなるおそれがある。そして、リアルタイムに物体を検出できなくなると、物体との相対速度が大きくなった場合に、当該物体を回避することが困難になるおそれがある。
【００２４】
そこで本実施形態では、演算量を抑制しつつ、道路ミラーに映り込んでいる移動体を検出できるように物体検出装置を構成し、カメラ２等で撮影した画像の死角に存在する移動体の挙動を考慮した車両１０の運転計画を作成できるようした。以下、本実施形態によるＥＣＵ３において実行される物体検出処理を含む車両制御処理の詳細について説明する。
【００２５】
図４は、物体検出処理を含む車両制御処理に関する、ＥＣＵ３のプロセッサ２３の機能ブロック図である。
【００２６】
プロセッサ２３は、第１検出部３１と、第２検出部３２と、運転計画部３３と、車両制御部３４と、を有する。プロセッサ２３が有するこれらの各部は、例えば、プロセッサ２３上で動作するコンピュータプログラムにより実現される機能モジュールである。あるいは、プロセッサ２３が有するこれらの各部は、プロセッサ２３に設けられる専用の演算回路であってもよい。プロセッサ２３が有するこれらの各部のうち、第１検出部３１及び第２検出部３２が、物体検出処理を実行する。
【００２７】
第１検出部３１は、カメラ２から受信した画像に対して解像度変換処理を施して低解像度化した低解像度の画像データを識別器に入力することで、その画像上の複数の領域のそれぞれについて、その領域に検出対象となる物体（例えば、車、歩行者、道路ミラー、動物、道路標識、道路標示、落下物、道路上のその他の物体など）が写っている確からしさを表す確信度を求める。そして第１検出部３１は、確信度が所定の確信度閾値以上となる領域の画像上での位置及び範囲と、その領域に表された物体の種類とを、検出対象となる物体のリスト（以下「検出物体リスト」という。）に登録して、検出物体リストを運転計画部３３に出力する。
【００２８】
さらに第１検出部３１は、確信度が所定の確信度閾値以上となる領域に表された物体の種類が道路ミラーである場合には、その領域内に移動体が存在しているか否か、すなわち道路ミラーに移動体が映り込んでいるか否かを判断する。そして第１検出部３１は、道路ミラーに移動体が映り込んでいるか否かの判断結果を運転計画部３３に出力すると共に、道路ミラーに移動体が映り込んでいると判断したときは、道路ミラーが表された領域の画像上の位置及び範囲を第２検出部３２に出力する。
【００２９】
本実施形態では、第１検出部３１は、識別器として、第２検出部３２及び運転計画部３３に対して上記の出力が得られるように予め学習されたＤＮＮを利用する。
【００３０】
図４は、第１検出部３１において識別器として利用されるＤＮＮ４００の構成の一例を示す図である。
【００３１】
ＤＮＮ４００は、低解像度の画像データが入力される入力側に設けられる主幹部４０１と、主幹部４０１よりも出力側に設けられる位置検出部４０２、種類推定部４０３及び映り込み検出部４０４と、を有する。なお、位置検出部４０２、種類推定部４０３及び映り込み検出部４０４のうちの２つ以上が一体的に形成されてもよい。
【００３２】
位置検出部４０２は、主幹部４０１からの出力に基づいて、画像上で検出対象となる物体が表された領域の位置及び範囲を出力する。
【００３３】
種類推定部４０３は、主幹部４０１からの出力に基づいて、位置検出部４０２で検出された領域に表された物体の種類を推定して出力する。
【００３４】
映り込み検出部４０４は、主幹部４０１からの出力に基づいて、種類推定部４０３で推定された物体が道路ミラーであった場合に、当該道路ミラーに移動体が映り込んでいるか否かを判断してその判断結果を出力する。
【００３５】
主幹部４０１は、例えば、入力側から出力側へ向けて直列に接続される複数の層を有するコンボリューションニューラルネットワーク（ＣＮＮ）とすることができる。その複数の層には２以上の畳み込み層が含まれる。さらに、主幹部４０１が有する複数の層には、１または複数の畳み込み層ごとに設けられるプーリング層が含まれてもよい。さらにまた、主幹部４０１が有する複数の層には、１以上の全結合層が含まれてもよい。
【００３６】
例えば、主幹部４０１は、非特許文献１に記載されたＳｉｎｇｌｅ Ｓｈｏｔ ＭｕｌｔｉＢｏｘ Ｄｅｔｅｃｔｏｒ（ＳＳＤ）のベースレイヤーと同様の構成とすることができる。この場合、主幹部４０１は、ＶＧＧ−１６と同様に、入力側から順に、２層の畳み込み層→ＭａｘＰｏｏｌｉｎｇを行う（すなわち、ｎ×ｎ個の入力のうちの最大値を出力する）プーリング層（以下「プーリング層」という。）→２層の畳み込み層→プーリング層→３層の畳み込み層→プーリング層→３層の畳み込み層→プーリング層→３層の畳み込み層→プーリング層→３層の全結合層で構成されてもよい。あるいは、主幹部４０１は、ＶＧＧ−１９、ＡｌｅｘＮｅｔあるいはＮｅｔｗｏｒｋ−Ｉｎ−Ｎｅｔｗｏｒｋといった他のＣＮＮアーキテクチャに従って構成されてもよい。
【００３７】
主幹部４０１は、画像データが入力されると、その画像データに対して各層での演算を実行することで、その画像データから算出した特徴マップを出力する。
【００３８】
位置検出部４０２、種類推定部４０３及び映り込み検出部４０４には、それぞれ、主幹部４０１から出力された特徴マップが入力される。そして位置検出部４０２、種類推定部４０３及び映り込み検出部４０４は、それぞれ、例えば、入力側から出力側へ向けて直列に接続される複数の層を有するＣＮＮとすることができる。位置検出部４０２、種類推定部４０３及び映り込み検出部４０４のそれぞれについて、ＣＮＮが有する複数の層には２以上の畳み込み層が含まれる。
【００３９】
また、位置検出部４０２、種類推定部４０３及び映り込み検出部４０４のそれぞれについて、ＣＮＮが有する複数の層には、１または複数の畳み込み層ごとに設けられるプーリング層が含まれてもよい。なお、ＣＮＮが有する畳み込み層及びプーリング層は、位置検出部４０２、種類推定部４０３及び映り込み検出部４０４のうちの２つ以上について共通化されてもよい。さらに、位置検出部４０２、種類推定部４０３及び映り込み検出部４０４のそれぞれについて、複数の層には、１以上の全結合層が含まれてもよい。この場合、全結合層は、各畳み込み層よりも出力側に設けられることが好ましい。また全結合層には、各畳み込み層からの出力が直接入力されてもよい。
【００４０】
ＤＮＮ４００の学習に利用される教師データに含まれる画像（教師画像）には、検出対象となる物体の種類と、検出対象となる物体が表された領域を表す、その物体の外接矩形とがタグ付けされる。また本実施形態においては、教師画像において、道路ミラーを囲う外接矩形に対する属性情報として、中に移動体が映りこんでいるかどうかの情報をタグ付けする。さらに、教師画像において、外接矩形で囲まれた道路ミラーが表された領域に含まれる画素のうち、移動体の各画素には、道路ミラーに映り込んだ移動体であることがタグ付けされてもよい。
【００４１】
ＤＮＮ４００は、このような多数の教師画像を用いて、例えば、誤差逆伝搬法といった学習手法に従って学習される。第１検出部３１は、このように学習されたＤＮＮ４００を識別器として利用することで、画像データから検出対象となる物体、特に、多数の教師画像を用意できる物体を精度良く検出できると共に、道路ミラーに移動体が映り込んでいるか否かを精度良く判断できる。本実施形態においては、道路ミラーを囲う外接矩形に対する属性情報として、ミラーの中に移動体が映りこんでいるかどうかのタグ情報を映り込み検出部４０４に学習させることで、映り込み検出部４０４がミラーの中に移動体が映りこんでいるかどうかの２クラス分類問題を推定可能になる。
【００４２】
第２検出部３２は、第１検出部３１から出力されてきた、道路ミラーが表された領域の画像上の位置及び範囲に基づいて、解像度変換処理を施す前のカメラ２から受信した画像（すなわち高解像度の画像データ）に対して、道路ミラーとして表された領域を関心領域（ＲＯＩ）として部分的に抽出する画像抽出処理を施すことにより高解像度の部分画像データを生成する。そして第２検出部３２は、この高解像度の部分画像データを識別器に入力することで、その部分画像上の複数の領域のそれぞれについて、その領域に検出対象となる移動体が写っている確からしさを表す確信度を求める。そして第２検出部３２は、確信度が所定の確信度閾値以上となる領域の部分画像上での位置及び範囲と、その領域に表された移動体の種類とを、道路ミラーに映り込んだ移動体のリスト（以下「ミラー内移動体リスト」という。）に登録して、ミラー内移動体リストを運転計画部３３に出力する。
【００４３】
本実施形態では、第２検出部３２は、識別器として、運転計画部３３に対して上記の出力が得られるように予め学習されたＤＮＮを利用する。
【００４４】
図５は、第２検出部３２において識別器として利用されるＤＮＮ５００の構成の一例を示す図である。
【００４５】
ＤＮＮ５００は、高解像度の画像データが入力される入力側に設けられる主幹部５０１と、主幹部５０１よりも出力側に設けられるミラー内位置検出部５０２及びミラー内種類推定部５０３を有する。なお、ミラー内位置検出部５０２及びミラー内種類推定部５０３は、一体的に形成されてもよい。
【００４６】
ミラー内位置検出部５０２は、主幹部５０１からの出力に基づいて、画像上で検出対象となる物体が表された領域の外接矩形を出力する。
【００４７】
ミラー内種類推定部５０３は、主幹部５０１からの出力に基づいて、ミラー内位置検出部５０２で検出された領域に表された物体の種類を推定する。
【００４８】
主幹部５０１は、図４を参照して説明した第１検出部３１において識別器として利用されるＤＮＮ４００の主幹部４０１と同様の構成とすることができ、画像データが入力されると、その画像データに対して各層での演算を実行することで、その画像データから算出した特徴マップを出力する。
【００４９】
ミラー内位置検出部５０２及びミラー内種類推定部５０３には、それぞれ、主幹部５０１から出力された特徴マップが入力される。そしてミラー内位置検出部５０２及びミラー内種類推定部５０３も、図４を参照して説明した第１検出部３１において識別器として利用されるＤＮＮ４００の位置検出部４０２及び種類推定部４０３と同様の構成とすることができる。
【００５０】
ＤＮＮ５００の学習に利用される教師データに含まれる画像（教師画像）には、検出対象となる道路ミラーに映り込んだ移動体の種類と、検出対象となる移動体が表された領域を表す、その物体の外接矩形とがタグ付けされる。
【００５１】
ＤＮＮ５００は、このような多数の教師画像を用いて、例えば、誤差逆伝搬法といった学習手法に従って学習される。第２検出部３２は、このように学習されたＤＮＮ５００を識別器として利用することで、部分画像データから検出対象となる移動体、特に、多数の教師画像を用意できる移動体を精度良く検出できる。
【００５２】
このように、本実施形態による物体検出処理では、まず第１検出部３１によって、低解像度の画像を使用して画像内の物体の位置及び範囲と、その物体の種類を検出しているので、カメラ２で撮影された高解像度の画像をそのまま使用する場合と比較して、画像内の物体を検出するための演算量を抑制することができる。
【００５３】
そしてさらに、第１検出部３１は、道路ミラーに移動体が映り込んでいると判断したときに、道路ミラーが表された領域の画像上の位置及び範囲を第２検出部３２に出力するようになっている。すなわち第１検出部３１は、道路ミラーに移動体が映り込んでいると判断したときに限り、道路ミラーが表された領域の画像上の位置及び範囲を第２検出部３２に出力するようになっている。
【００５４】
したがって換言すれば、第２検出部３２は、第１検出部３１において道路ミラーに移動体が映り込んでいると判断された場合に限り、カメラ２で撮影された高解像度の画像から道路ミラーの部分を抽出した高解像度の部分画像を使用して、道路ミラーに映り込んだ移動体の詳細な検出を行うことになる。
【００５５】
そのため、カメラ２で撮影された高解像度の画像をそのまま使用して、常に道路ミラーに映り込んだ移動体の詳細な検出を行うようにした場合と比較して、道路ミラー内の移動体を検出するための演算量を抑制することができる。そして、道路ミラーに映り込んだ移動体の詳細な検出を行うときは、高解像度の部分画像を使用するため、道路ミラーに映り込んだ移動体を精度良く検出することができる。
【００５６】
運転計画部３３は、検出物体リスト内の各物体の位置、すなわちカメラ２で撮影された画像上に映っている各物体の位置に基づいて、各物体の動きを追跡する。すなわち運転計画部３３は、検出物体リスト内の各物体の位置の時系列的な変化に基づいて、各物体の挙動（例えば、進行方向や停止状態であるかなど）を検出する。
【００５７】
また、運転計画部３３は、道路ミラーに移動体が映り込んでいると判断されている場合には、さらにミラー内移動体リスト内の各移動体の位置、すなわちカメラ２で撮影された画像上の道路ミラー内に映り込んでいる各移動体の位置に基づいて、各移動体の動きを追跡する。すなわち運転計画部３３は、道路ミラーに移動体が映り込んでいると判断されている場合には、さらにミラー内移動体リスト内の各移動体の位置の時系列的な変化に基づいて、各移動体の挙動を検出する。
【００５８】
そして運転計画部３３は、道路ミラーに移動体が映り込んでいないと判断されている場合には、道路ミラーに移動体が映り込んでいると判断されていたときの当該移動体の挙動を考慮しつつ、検出物体リスト内の各物体の挙動（追跡結果）に基づいて、車両１０がこれらの物体と衝突しないように、車両１０の運転計画を作成し、作成した運転計画を車両制御部３４に通知する。この際、運転計画部３３は、例えば、車両１０に搭載されたＧＰＳ受信機（図示せず）から得た車両１０の現在位置情報と、メモリ２２に記憶されている地図情報とを参照して、車両１０の運転計画を作成するようにしてもよい。
【００５９】
この場合、例えば運転計画部３３は、道路ミラーに移動体が映り込んでいると判断されていたときの当該移動体の進行方向が自車両に向かう方向であれば、道路ミラーから当該移動体が消えてから（すなわち道路ミラーに移動体が映り込んでいないと判断されてから）所定時間（例えば数秒）が経過したか、また、検出物体リスト内の各物体の中に、所定時間以内に自車両と衝突する可能性のある物体が存在していないか等の他車両との衝突の可能性の有無を判断し、車両１０の運転計画を作成している。
【００６０】
一方で運転計画部３３は、道路ミラーに移動体が映り込んでいると判断されている場合には、道路ミラーにその他の移動体が映り込んでいると判断されていたときの当該その他の移動体の挙動（追跡結果）を考慮しつつ、検出物体リスト内の各物体の挙動（追跡結果）と、さらにミラー内移動体リスト内の各移動体の挙動（追跡結果）と、に基づいて、車両１０がこれらの物体及び移動体と衝突しないように、車両１０の運転計画を作成し、作成した運転計画を車両制御部３４に通知する。
【００６１】
この場合、例えば運転計画部３３は、道路ミラーにその他の移動体が映り込んでいると判断されていたときの当該その他の移動体の進行方向が自車両に向かう方向であれば、道路ミラーから当該その他の移動体が消えてから所定時間が経過したか、また、検出物体リスト内の各物体の中に、所定時間以内に自車両と衝突する可能性のある物体が存在していないか、道路ミラー移動体が映っているが、当該移動体は所定時間以上停止しているか等の他車両との衝突の可能性の有無を判断し、車両１０の運転計画を作成している。
【００６２】
なお運転計画は、例えば、現時刻から所定時間先までの各時刻における、車両１０の目標位置の集合として表される。
【００６３】
このように本実施形態によれば、カメラ２で撮影した画像内の物体の挙動と、その画像内の道路ミラーに映り込んだ死角に存在する移動体の挙動と、に基づいた運転計画を作成することができるので、自動運転の安全性を向上させることができる。
【００６４】
なお本実施形態では、運転計画部３３は、道路ミラーに移動体が映り込んでいると判断した時点、すなわち第１検出部３１から道路ミラーに移動体が映り込んでいるという判断結果が出力されてきた時点で、一旦、安全を確保するために車両１０を減速させる運転計画を作成するようにしている。
【００６５】
これにより、第１検出部３１において道路ミラーに何らかの物体の映り込みが検出された時点で車両１０を減速させることができるので、自動運転の安全性を一層向上させることができる。また車両１０を減速することにより、結果として第２検出部３２によって道路ミラーに映り込んだ移動体の挙動を検出するための処理時間を確保することができる。
【００６６】
また本実施形態の変形例として、運転計画を作成するにあたって、道路ミラーに移動体が映り込んでいる状態から映り込んでいない状態に遷移した場合に、道路ミラーに映り込んでいた移動体の進行方向が自車両に向かう方向（以下「自車両方向」という。）であったときは、映り込んでいない状態に遷移したときの画像（カメラ２で撮影された画像、又は当該画像を低解像度化した画像）に対して、道路ミラーに映り込んでいた移動体の画像をテンプレート画像とするテンプレートマッチングを行ってもよい。そして、このテンプレートマッチングによって、道路ミラーに移動体が映り込んでいない状態に遷移したときの画像内に映っている物体（すなわち検出物体リスト内の物体）の中に、道路ミラーに映り込んでいた移動体（すなわちミラー内移動体リスト内の移動体）が存在するか否かを判断するようにしてもよい。
【００６７】
これにより、テンプレートマッチングの結果、検出物体リスト内の物体の中に道路ミラーに映り込んでいた移動体が存在しないと判断されたときは、道路ミラーにもカメラ２で撮影された画像にも映らない死角領域に潜んでいて、自車両方向に向かう移動体が存在する可能性があることを把握することができる。そのため、このような移動体と衝突しないような運転計画を作成することができるため、自動運転の安全性を一層向上させることができる。
【００６８】
また本実施形態の変形例として、第２検出部３２は、第１検出部３１から出力されてきた、道路ミラーが表された領域の画像上の位置及び範囲に基づいて、解像度変換処理を施す前のカメラ２から受信した画像（すなわち高解像度の画像データ）に対して、道路ミラーとして表された領域を関心領域（ＲＯＩ）として部分的に抽出する画像抽出処理を施して高解像度の部分画像データを生成するとともに、前記部分画像の時系列データを用いてオプティカルフローを計算する。そして第２検出部３２は、この高解像度の部分画像データに加えて、追加チャネルとしてオプティカルフローも識別器に入力することで、その部分画像上の複数の領域のそれぞれについて、その領域に検出対象となる移動体が写っている確からしさをより高精度に求めることができる。
【００６９】
たとえば、入力画像がＲＧＢの３チャネルの場合、第２検出部３２はその画像に対するオプティカルフローの水平成分と垂直成分との合計２チャネルからなるオプティカルフローを計算し、前記３チャネルの画像入力と２チャネルのオプティカルフローを合体した５チャネルの入力を前記ＤＮＮ５００に入力する。この場合、ＤＮＮ５００は画像情報に加えてオプティカルフローを含む５チャネルの入力からなる教師データを用いて学習される。オプティカルフローは画素に物体の移動に関する情報が含まれるため、ＤＮＮ５００はより高精度に移動物体を検出することができる。オプティカルフローの計算には計算負荷がかかるが、当該実施例ではオプティカルフローの計算は、移動物体が映りこんでいるミラーの外接矩形にたいしてのみ行われるため、移動物体の高精度な検出を実現しながらも、計算量を可及的に低減することができる。
【００７０】
車両制御部３４は、通知された運転計画に従って、加速、操舵、及び制動に関する運転操作を行うために必要な各種の制御部品を制御し、車両１０の運転操作を自動的に実施する。車両制御部３４には、必要に応じてこのような自動運転を実施するために必要な各種のパラメータ（例えば車速センサ（図示せず）によって検出された車速等）が入力される。
【００７１】
図６は、プロセッサ２３により実行される、物体検出処理を含む車両制御処理の動作フローチャートである。プロセッサ２３は、カメラ２から画像を受信する度に、図６に示される動作フローチャートに従って車両制御処理を実行する。なお、以下に示される動作フローチャートにおいて、ステップＳ１〜Ｓ６の処理が物体検出処理に対応する。
【００７２】
ステップＳ１において、プロセッサ２３は、カメラ２から受信した画像に対して解像度変換処理を施して低解像度化した低解像度の画像データを第１検出部３１の識別器に入力することで、画像内の物体の位置及び範囲と、当該物体の種類と、をそれぞれ検出し、それらを検出物体リストに登録する。
【００７３】
ステップＳ２において、プロセッサ２３は、画像内の物体の中に道路ミラーが存在していて、当該道路ミラーに移動体が映り込んでいるか否かを判断する。プロセッサ２３は、画像内の物体の中に道路ミラーが存在していて、当該道路ミラーに移動体が映り込んでいる場合は、ステップＳ３の処理に進む。一方でプロセッサ２３は、画像内の物体の中に道路ミラーが存在していない場合、又は道路ミラーが存在していても移動体が映り込んでいない場合は、ステップＳ４の処理に進む。
【００７４】
ステップＳ３において、プロセッサ２３は、映り込みフラグＦを１に設定する。映り込みフラグＦは、画像内の物体の中に道路ミラーが存在していて、当該道路ミラーに移動体が映り込んでいると判断された場合に１に設定されるフラグであって、初期値は０に設定される。
【００７５】
ステップＳ４において、プロセッサ２３は、映り込みフラグＦを０に設定する。
【００７６】
ステップＳ５において、プロセッサ２３は、道路ミラーの位置及び範囲に基づいて、解像度変換処理を施す前のカメラ２から受信した画像（すなわち高解像度の画像データ）に対して、道路ミラーとして表された領域を関心領域（ＲＯＩ）として部分的に抽出する画像抽出処理を施すことにより高解像度の部分画像データを生成する。
【００７７】
ステップＳ６において、プロセッサ２３は、高解像度の部分画像データを第２検出部３２の識別器に入力することで、道路ミラー内の移動体の位置及び範囲と、当該移動体の種類と、をそれぞれ検出し、それらをミラー内移動体リストに登録する。
【００７８】
ステップＳ７において、プロセッサ２３は、映り込みフラグＦが０に設定されているか否かを判定する。プロセッサ２３は、映り込みフラグＦが０に設定されていれば、ステップＳ８の処理に進む。一方でプロセッサ２３は、映り込みフラグＦが１に設定されていれば、ステップＳ９の処理に進む。
【００７９】
ステップＳ８においてプロセッサ２３は、映り込みフラグＦが０であり、道路ミラーに移動体が映り込んでいないと判断されているときであるため、前述したように、道路ミラーに移動体が映り込んでいると判断されていたときの当該移動体の挙動を考慮しつつ、検出物体リスト内の各物体の挙動（追跡結果）に基づいて、車両１０がこれらの物体と衝突しないように、車両１０の運転計画を作成する。
【００８０】
ステップＳ９において、プロセッサ２３は、前回処理時において、映り込みフラグＦが０に設定されていたか否かを判定する。プロセッサ２３は、前回処理時において、映り込みフラグＦが０に設定されていた場合は、ステップＳ１０の処理に進む。一方でプロセッサ２３は、前回処理時において、映り込みフラグＦが１に設定されていた場合は、ステップＳ１１の処理に進む。
【００８１】
ステップＳ１０において、プロセッサ２３は、映り込みフラグＦが０から１に変化したとき、すなわち、道路ミラーに何らかの移動体の映り込みが検出されたときであるので、一旦、安全を確保するために車両１０を減速させる運転計画を作成する。
【００８２】
ステップＳ１１において、プロセッサ２３は、映り込みフラグＦが１であり、道路ミラーに移動体が映り込んでいると判断されているときであるため、前述したように、道路ミラーにその他の移動体が映り込んでいると判断されていたときの当該その他の移動体の挙動（追跡結果）を考慮しつつ、検出物体リスト内の各物体の挙動（追跡結果）と、さらにミラー内移動体リスト内の各移動体の挙動（追跡結果）と、に基づいて、車両１０がこれらの物体及び移動体と衝突しないように、車両１０の運転計画を作成する。
【００８３】
ステップＳ１２において、プロセッサ２３は、作成された運転計画に従って、加速、操舵、及び制動に関する運転操作を行うために必要な各種の制御部品を制御し、車両１０の運転操作を自動的に実施する。
【００８４】
以上説明した本実施形態による物体検出装置は、画像を低解像度化した画像データに基づいて、画像内の道路ミラーを含む物体の種類及び位置と、道路ミラーに映り込んだ移動体（移動可能物体）の有無と、を検出する第１検出部３１と、道路ミラーに映り込んだ移動体が有る場合に、画像から道路ミラーの部分を抽出した高解像度の部分画像データに基づいて、道路ミラー内の移動体（移動可能物体）の種類と、道路ミラー内における移動体の位置と、を検出する第２検出部３２と、を備える。
【００８５】
この本実施形態による物体検出装置によれば、まず第１検出部３１によって、低解像度の画像を使用して画像内の道路ミラーを含む各物体の種類や位置を検出しているので、カメラ２で撮影された高解像度の画像をそのまま使用する場合と比較して、画像内の各物体の種類や位置を検出するための演算量を抑制することができる。
【００８６】
そして第２検出部３２は、第１検出部３１において道路ミラーに映り込み物体が有ると判断された場合に限り、カメラ２で撮影された高解像度の画像から道路ミラーの部分を抽出した高解像度の部分画像を使用して、道路ミラー内の移動体の種類や位置を検出するようになっている。そのため、カメラ２で撮影された高解像度の画像をそのまま使用して、常に道路ミラーに映り込んだ移動体の種類や位置の検出を行うようにした場合と比較して、道路ミラーに映り込んだ移動体の種類や位置を検出するための演算量を抑制することができる。そして、道路ミラーに映り込んだ移動体の種類や位置の検出を行うときは、高解像度の部分画像を使用するため、道路ミラーに映り込んだ死角に存在する移動体の種類や位置を精度良く検出することができる。
【００８７】
また、第１検出部３１では、カメラ２で撮影された画像上で物体の位置を検出し、一方で第２検出部３２では、道路ミラー内における移動体の位置を検出しており、本実施形態による物体検出装置ではこれらを独立に検出している。
【００８８】
ここで道路ミラー内における座標系は、車両１０に対する道路ミラーの光学的な配置（例えば車両１０に対して道路ミラーが互いに向き合うように配置された状態からどの程度傾いているかなど）に応じて、道路ミラー外のカメラ２で撮影された画像上における座標系とは異なるものとなる。したがって、仮にカメラ２で撮影された画像上で道路ミラー内の移動体の位置を検出し、当該移動体の動きを追跡したとしても、当該移動体は、カメラ２で撮影された画像上における座標系とは異なる座標系で動いているものであるため、実際にその移動体がどの方向に向かって動いているのかを把握することは難しい。
【００８９】
これに対し、本実施形態では、第２検出部３２において、道路ミラー内における移動体の位置を独立して検出しているため、道路ミラー内における座標系に応じて移動体の挙動を検出することができる。したがって、道路ミラーに映った移動体の挙動を精度良く予測することができる。
【００９０】
また本実施形態によれば、第１検出部３１は、第１の学習用画像と、第１の学習用画像内の物体の種類、位置及び道路ミラーに映り込んだ移動体の有無と、が対応付けられた教師データを用いて学習させた学習済みの畳み込み層を有するニューラルネットワーク（ＤＮＮ４００）に、画像データを入力することで、画像内の物体の種類及び位置と、道路ミラーに映り込んだ移動体の有無と、を検出するように構成されている。第２検出部３２は、道路ミラーが含まれる第２の学習用画像と、第２の学習用画像内の道路ミラーに映り込んだ移動体の種類及び位置と、が対応付けられた教師データを用いて学習させた学習済みの畳み込み層を有するニューラルネットワーク（ＤＮＮ５００）に、部分画像データを入力することで、道路ミラー内の移動体の種類と、道路ミラー内における移動体の位置と、を検出するように構成されている。
【００９１】
これにより、多数の教師画像を用いて学習されたＤＮＮ４００、５００によって、画像内の物体の種類及び位置等を精度良く検出することができる。
【００９２】
また本実施形態による車両制御システムは、画像を撮影するカメラ２を備えると共に、物体検出装置が実装されており、画像内における物体の位置の時系列データと、道路ミラー内における移動体の位置の時系列データと、に基づいて、車両１０の運転計画を作成する運転計画部３３と、運転計画に従って車両１０を操作する車両制御部３４と、を備える。
【００９３】
このように、カメラ２で撮影した画像内の物体の挙動と、その画像内の道路ミラーに映り込んだ死角に存在する移動体の挙動と、に基づいた運転計画を作成し、運転計画に従って車両１０を操作することで、自動運転の安全性を向上させることができる。
【００９４】
また本実施形態による運転計画部３３は、道路ミラーに映り込んだ移動体の有無に基づいて運転計画を作成するようにさらに構成され、第１検出部３１において道路ミラーに映り込んだ移動体が有ると検出されたときは、車両１０を減速させる運転計画を作成するようになっている。
【００９５】
これにより、第１検出部３１において道路ミラーに何らかの物体の映り込みが検出された時点で車両１０を減速させることができるので、自動運転の安全性を一層向上させることができる。また車両１０を減速することにより、結果として第２検出部３２によって道路ミラーに映り込んだ移動体の種類及び位置を検出するための処理時間を確保することができる。
【００９６】
また本実施形態の変形例によれば、運転計画部３３は、道路ミラーに映り込んだ移動体が有ると判断されている状態から無いと判断されている状態に遷移したときは、画像内における物体の中に、道路ミラーに映り込んでいた移動体が有るか否かを判断した上で運転計画を作成するようになっている。
【００９７】
このような判断を行うことで、道路ミラーにもカメラ２で撮影された画像にも映らない死角領域に潜んでいて、自車両方向に向かう移動体が存在する可能性があることを把握することができる。そのため、このような移動体と衝突しないような運転計画を作成することができるため、自動運転の安全性を一層向上させることができる。
【００９８】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。
【００９９】
例えば車両１０には、複数のカメラ２が設けられてもよい。この場合には、プロセッサ２３は、カメラ２ごとに、そのカメラ２から得られた画像に対して第１検出部３１及び第２検出部３２による物体検出処理を実行すればよい。そしてプロセッサ２３は、各カメラにより得られた画像から検出された物体に基づいて、運転計画部３３及び車両制御部３４による処理を実行すればよい。
【０１００】
また第１検出部３１及び第２検出部３２において、ＤＮＮ以外の識別器を利用するようにしてもよい。
【０１０１】
また第２検出部３２において、ミラー内移動体リストに登録された各移動体の動きを追跡し、各移動体の挙動を検出するようにしてもよい。
【０１０２】
また物体検出装置のプロセッサ２３の各部の機能を実現するコンピュータプログラムは、半導体メモリ、磁気記録媒体または光記録媒体といった、コンピュータ読取可能な可搬性の記録媒体に記録された形で提供されてもよい。
【符号の説明】
【０１０３】
１    車両制御システム
２    カメラ
３    電子制御装置（物体検出装置）
４    車内ネットワーク
２１    通信インターフェース
２２    メモリ
２３    プロセッサ
３１    第１検出部
３２    第２検出部
３３    運転計画部
３４    車両制御部
【図１】
2020052647.tif 000003
【図２】
2020052647.tif 000004
【図３】
2020052647.tif 000005
【図４】
2020052647.tif 000006
【図５】
2020052647.tif 000007
【図６】
2020052647.tif 000008
【図７】
2020052647.tif 000009