(57)【要約】【課題】所定の条件が満たされない場合における、物体の検出精度の低下を抑制しつつ、その所定の条件が満たされる場合における、物体の検出精度を向上できる物体検出装置を提供する。【解決手段】物体検出装置は、センサ２からのセンサ信号をニューラルネットワーク（ＮＮ）に入力することで車両１０の周囲に存在する物体を検出し、ＮＮの少なくとも一つの層が有する複数の部分ネットワークのうちの第１の部分ネットワークは、車両１０に関する所定の条件が満たされる場合に物体を検出するよう予め学習され、かつ、他の部分ネットワークは、その所定の条件が満たされない場合にも物体を検出するよう予め学習される検出部３３と、その所定の条件が満たされる場合、物体の検出に第１の部分ネットワークを用い、一方、その所定の条件が満たされない場合、物体の検出に第１の部分ネットワークを用いないよう、ＮＮを制御するネットワーク制御部３２とを有する。【選択図】図３
2020050047.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載されたセンサから得られるセンサ信号をニューラルネットワークに入力することで前記車両の周囲に存在する物体を検出し、前記ニューラルネットワークは、前記センサ信号が入力される入力層と、前記物体の検出結果を出力する出力層と、前記入力層と前記出力層との間に接続される複数の層とを有し、前記複数の層のうちの少なくとも一つの層は、同一の構造を持ち、かつ、当該層に入力される信号に対して互いに並列に演算する複数の部分ネットワークを有し、前記複数の部分ネットワークのうちの第１の部分ネットワークは、前記車両に関する所定の条件が満たされる場合において前記物体を検出するよう予め学習され、かつ、前記複数の部分ネットワークのうちの前記第１の部分ネットワーク以外の部分ネットワークは、前記所定の条件が満たされない場合にも前記物体を検出するよう予め学習される検出部と、
前記車両に関する前記所定の条件が満たされる場合、前記物体の検出に前記第１の部分ネットワークを用い、一方、前記車両に関する前記所定の条件が満たされない場合、前記物体の検出に前記第１の部分ネットワークを用いないよう、前記ニューラルネットワークを制御するネットワーク制御部と、
を有する物体検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体を検出する物体検出装置に関する。
【背景技術】
【０００２】
画像に表された物体を検出する技術が研究されている。近年では、物体を検出するために、いわゆるディープニューラルネットワーク（以下、単にＤＮＮと呼ぶ）を用いることで、検出精度を向上する技術が提案されている（例えば、非特許文献１及び２を参照）。
【０００３】
このような技術では、既知の物体が表された多数の画像を教師データとして用いてＤＮＮを学習することで、ＤＮＮが入力された画像上に表されたその既知の物体を高精度に検出できるようになる。しかし、教師データとして利用可能な画像の数が少ない物体が検出対象となることがある。そこで、予め学習されたＤＮＮの学習済みのパラメータセットを初期値として、比較的数が少ない特定の物体が表された教師データに対してＤＮＮを再学習することで、その特定の物体に対するＤＮＮの検出精度を向上する技術が提案されている（例えば、非特許文献３を参照）。このような技術は、fine-tuningとも呼ばれる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Wei Liu他、「SSD: Single Shot MultiBox Detector」、ECCV2016、2016年
【非特許文献２】Shaoqing Ren他、「Faster R-CNN: Towards Real-Time ObjectDetection with Region Proposal Networks」、NIPS、2015年
【非特許文献３】Filip Radenovic他、「CNN Image Retrieval Learns from BoW: Unsupervised Fine-Tuning with Hard Examples」、ECCV2016、2016年
【発明の概要】
【発明が解決しようとする課題】
【０００５】
Fine-tuningでは、ＤＮＮが有する複数の層のうちの特定の層全体が再学習されることがある。しかしながら、特定の層全体が再学習されると、ＤＮＮを再学習する際に用いられた教師データに対してＤＮＮがover-fittingしてしまい、事前に学習された教師データにおいて表された物体に対しては検出精度が低下してしまうことがあった。
【０００６】
そこで、本発明は、所定の条件が満たされない場合における、物体の検出精度の低下を抑制しつつ、その所定の条件が満たされる場合における、物体の検出精度を向上できる物体検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの実施形態によれば、物体検出装置が提供される。この物体検出装置は、車両に搭載されたセンサから得られるセンサ信号をニューラルネットワークに入力することで車両の周囲に存在する物体を検出し、ニューラルネットワークは、センサ信号が入力される入力層と、物体の検出結果を出力する出力層と、入力層と出力層との間に接続される複数の層とを有し、複数の層のうちの少なくとも一つの層は、同一の構造を持ち、かつ、その層に入力される信号に対して互いに並列に演算する複数の部分ネットワークを有し、複数の部分ネットワークのうちの第１の部分ネットワークは、車両に関する所定の条件が満たされる場合において物体を検出するよう予め学習され、かつ、複数の部分ネットワークのうちの第１の部分ネットワーク以外の部分ネットワークは、所定の条件が満たされない場合にも物体を検出するよう予め学習される検出部と、車両に関する所定の条件が満たされる場合、物体の検出に第１の部分ネットワークを用い、一方、車両に関する所定の条件が満たされない場合、物体の検出に第１の部分ネットワークを用いないよう、ニューラルネットワークを制御するネットワーク制御部とを有する。
【発明の効果】
【０００８】
本発明に係る物体検出装置は、所定の条件が満たされない場合における、物体の検出精度の低下を抑制しつつ、その所定の条件が満たされる場合における、物体の検出精度を向上できるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】物体検出装置が実装される車両制御システムの概略構成図である。
【図２】物体検出装置の一つの実施形態である電子制御装置のハードウェア構成図である。
【図３】物体検出処理を含む車両制御処理に関する、電子制御装置のプロセッサの機能ブロック図である。
【図４】識別器として利用されるＤＮＮが有する可変層の概略構成図である。
【図５】識別器制御部により実行される識別器制御処理の動作フローチャートである。
【図６】物体検出処理を含む車両制御処理の動作フローチャートである。
【発明を実施するための形態】
【００１０】
以下、図を参照しつつ、物体検出装置について説明する。この物体検出装置は、車両に搭載されたカメラにより得られた画像から、車両の周囲に存在する物体を検出するための識別器としてＤＮＮを利用する。物体検出装置が利用するＤＮＮは、画像が入力される入力層と、物体の検出結果を出力する出力層と、入力層と出力層との間に接続される複数の隠れ層とを有し、複数の隠れ層のうちの少なくとも一つの層は、同一の構造を持ち、かつ、その隠れ層に入力される信号に対して互いに並列に演算する複数の部分ネットワークを有する。そして複数の部分ネットワークのうちの第１の部分ネットワークは、車両に関する所定の条件が満たされる場合において物体を検出するよう予め学習され、かつ、複数の部分ネットワークのうちの第１の部分ネットワーク以外の部分ネットワークは、所定の条件が満たされない場合にも物体を検出するよう予め学習される。そしてこの物体検出装置は、所定の条件が満たされる場合には、第１の部分ネットワークを他の部分ネットワークとともに利用することで、その所定の条件が満たされる場合における物体の検出精度を向上し、一方、所定の条件が満たされない場合には、第１の部分ネットワークを用いないことで、物体の検出精度の低下を抑制する。
【００１１】
以下では、物体検出装置を、車両制御システムに適用した例について説明する。この例では、物体検出装置は、車両に搭載されたカメラにより得られた画像に対して物体検出処理を実行することで、車両の周囲に存在する各種の物体、例えば、他の車両、人、道路標識または道路標示などを検出し、その検出結果に基づいて車両を自動運転制御する。また、この例では、所定の条件は、車両自身の走行回数が所定数以上となる地域に車両の現在位置が含まれることである。
【００１２】
図１は、物体検出装置が実装される車両制御システムの概略構成図である。また図２は、物体検出装置の一つの実施形態である電子制御装置のハードウェア構成図である。本実施形態では、車両１０に搭載され、かつ、車両１０を制御する車両制御システム１は、車両１０の周囲を撮影するためのカメラ２と、測位情報受信機３と、物体検出装置の一例である電子制御装置（ＥＣＵ）４とを有する。カメラ２と、測位情報受信機３と、ＥＣＵ４とは、コントローラエリアネットワークといった規格に準拠した車内ネットワーク５を介して通信可能に接続される。
【００１３】
カメラ２は、所定の検知範囲内に存在する物体を検出するためのセンサである撮像部の一例であり、CCDあるいはC-MOSなど、可視光に感度を有する光電変換素子のアレイで構成された２次元検出器と、その２次元検出器上に撮影対象となる領域の像を結像する結像光学系を有する。そしてカメラ２は、車両１０の前方を向くように、例えば、車両１０の車室内に取り付けられる。そしてカメラ２は、所定の撮影周期（例えば1/30秒〜1/10秒）ごとに車両１０の前方領域を撮影し、その前方領域が写った画像を生成する。カメラ２により得られた画像は、カラー画像であってもよく、あるいは、グレー画像であってもよい。なお、カメラ２により生成された画像は、センサ信号の一例である。
【００１４】
カメラ２は、画像を生成する度に、その生成した画像を、車内ネットワーク５を介してＥＣＵ４へ出力する。
【００１５】
測位情報受信機３は、測位部の一例であり、車両１０の現在位置を表す測位情報を所定の周期ごとに取得する。例えば、測位情報受信機３は、ＧＰＳ受信機とすることができる。そして測位情報受信機３は、測位情報を取得する度に、取得した測位情報を、車内ネットワーク５を介してＥＣＵ４へ出力する。
【００１６】
ＥＣＵ４は、車両１０を制御する。本実施形態では、ＥＣＵ４は、カメラ２により得られた時系列の一連の画像から検出された物体に基づいて車両１０を自動運転するよう、車両１０を制御する。そのために、ＥＣＵ４は、通信インターフェース２１と、メモリ２２と、プロセッサ２３とを有する。
【００１７】
通信インターフェース２１は、通信部の一例であり、ＥＣＵ４を車内ネットワーク５に接続するためのインターフェース回路を有する。すなわち、通信インターフェース２１は、車内ネットワーク５を介して、カメラ２と接続される。そして通信インターフェース２１は、カメラ２から画像を受信する度に、受信した画像をプロセッサ２３へわたす。
【００１８】
メモリ２２は、記憶部の一例であり、例えば、揮発性の半導体メモリ及び不揮発性の半導体メモリを有する。そしてメモリ２２は、ＥＣＵ４のプロセッサ２３により実行される物体検出処理において使用される各種のデータ、例えば、カメラ２から受信した画像、物体検出処理で利用される識別器を特定するための各種パラメータ、及び、地域ごとの走行回数などを記憶する。さらに、メモリ２２は、地図情報を記憶する。地図情報には、複数の地域のそれぞれの範囲を特定するための情報が含まれる。なお、本実施形態において、走行回数を調べる単位となる地域は、例えば、北海道地方、東京都または大阪市といった、行政区画により区分されるもの、あるいは、平野部または山間部といった、地理的に区分されるもの、あるいはまた、高速道路または幹線道路といった、道路の種類ごとに区分されるものとすることができる。さらに、走行回数を調べる単位となる地域は、それらの組み合わせにより区分されるものであってもよい。
【００１９】
プロセッサ２３は、制御部の一例であり、１個または複数個のＣＰＵ(Central Processing Unit)及びその周辺回路を有する。プロセッサ２３は、論理演算ユニット、数値演算ユニットあるいはグラフィック処理ユニットといった他の演算回路をさらに有していてもよい。そしてプロセッサ２３は、車両１０が走行している間、カメラ２から画像を受信する度に、受信した画像に対して物体検出処理を含む車両制御処理を実行する。そしてプロセッサ２３は、検出された車両１０の周囲の物体に基づいて、車両１０を自動運転するよう、車両１０を制御する。
【００２０】
図３は、物体検出処理を含む車両制御処理に関する、ＥＣＵ４のプロセッサ２３の機能ブロック図である。プロセッサ２３は、走行回数更新部３１と、識別器制御部３２と、物体検出部３３と、運転計画部３４と、車両制御部３５とを有する。プロセッサ２３が有するこれらの各部は、例えば、プロセッサ２３上で動作するコンピュータプログラムにより実現される機能モジュールである。あるいは、プロセッサ２３が有するこれらの各部は、プロセッサ２３に設けられる、専用の演算回路であってもよい。また、プロセッサ２３が有するこれらの各部のうち、走行回数更新部３１、識別器制御部３２及び物体検出部３３が、物体検出処理を実行する。
【００２１】
走行回数更新部３１は、車両１０の現在位置に基づいて、地図情報で表された地域ごとの車両１０の走行回数を更新する。例えば、走行回数更新部３１は、メモリ２２に記憶された地図情報に表された複数の地域のうち、測位情報受信機３から受け取った最新の測位情報により表される車両１０の現在位置が含まれる地域を特定する。そして走行回数更新部３１は、車両１０の現在位置が含まれる地域の走行回数を１インクリメントする。
【００２２】
なお、走行回数更新部３１は、車両１０の１回の走行において一つの地域の走行回数が複数回増加することを抑制するために、走行回数が一旦インクリメントされた地域については、そのインクリメントから所定期間（例えば、6時間、1日あるいは1週間）経過するまで、車両１０がその地域に含まれていても、走行回数のインクリメントを行わないようにしてもよい。
【００２３】
識別器制御部３２は、ネットワーク制御部の一例であり、車両１０に関する所定の条件が満たされるか否か判定し、所定の条件が満たされる場合に、物体検出部３３により物体の検出に利用される識別器として用いられるＤＮＮが有する複数の部分ネットワークのうちのその所定の条件に対応する部分ネットワークを物体検出に利用するように制御する。なお、識別器として利用されるＤＮＮは、プロセッサ２３上で動作する物体検出処理用のコンピュータプログラムによりソフトウェア的に実装される。しかし、識別器として利用されるＤＮＮは、プロセッサ２３が有する専用の演算回路として実装されてもよい。
【００２４】
本実施形態では、識別器として利用されるＤＮＮは、例えば、Single Shot MultiBox Detector、Faster R-CNN、VGG-19またはAlexNetといった、コンボリューションニューラルネットワーク（ＣＮＮ）型のアーキテクチャを持つＤＮＮとすることができる。あるいは、識別器として利用されるＤＮＮは、Fully Convolutional Networkといった、入力された画像から、その画像の各画素について、その画素に表される可能性の有る物体を識別するセグメンテーション用のＣＮＮアーキテクチャを持つＤＮＮであってもよい。
【００２５】
すなわち、本実施形態で識別器として利用されるＤＮＮは、画像が入力される入力層と、物体検出の結果を出力する出力層と、入力層と出力層との間に接続される複数の隠れ層とを有する。そして複数の隠れ層には、畳み込み層及びプーリング層が含まれる。さらに、複数の隠れ層には、全結合層が含まれてもよい。
【００２６】
さらに、本実施形態では、ＤＮＮが有する入力層または複数の隠れ層のうちの何れか一つ以上の層において、同一の構造を持ち、かつ、その層に入力される信号に対して互いに並列に演算する複数の部分ネットワークが設けられる。なお、複数の部分ネットワークを有する層を、以下では、説明の便宜上、可変層と呼ぶ。また、複数の部分ネットワークが同一の構造を持つとは、その複数の部分ネットワークのそれぞれに入力されるデータが同一であり、かつ、入力されるデータに対して同じ種類の演算（例えば、畳み込み、プーリングなど）を実行することをいう。
【００２７】
図４は、識別器として利用されるＤＮＮが有する複数の層のうちの可変層の概略構成図である。この例では、ＤＮＮの入力側から順にi番目(iは1以上の整数)の可変層４００に、互いに並列に、可変層４００の上流側の層により得られたfeature map xiに対して畳み込み演算を行う複数の畳み込みモジュールTf1(x)〜Tfn(x)及びTc1(x)〜TcN(x)(n, Nは、それぞれ、1以上の整数)が設けられる。これらの畳み込みモジュールは、複数の部分ネットワークの一例である。このうち、畳み込みモジュールTc1(x)〜TcN(x)は、それぞれ、識別器制御部３２の判定結果によらず、常時接続される。すなわち、畳み込みモジュールTc1(x)〜TcN(x)は、車両１０に関する所定の条件が満たされない場合の多数の画像を含む教師データ（本実施形態では、様々な地域について得られた多数の画像を含む教師データ）に基づいて、誤差逆伝搬法といった学習手法に従って予め学習され、車両１０が走行中の地域によらずに物体検出に利用される。
【００２８】
一方、畳み込みモジュールTf1(x)〜Tfn(x)のそれぞれは、第１の部分ネットワークの一例であり、畳み込みモジュールTc1(x)〜TcN(x)と同一の構造を持ち、かつ、互いに異なる、車両１０に関する条件（本実施形態では、地図情報に表された複数の地域のうちの互いに異なる地域）に対応する。そして畳み込みモジュールTf1(x)〜Tfn(x)のそれぞれは、スイッチS1〜Snを介して可変層４００の上流側の層と下流側の層との間に接続される。畳み込みモジュールTf1(x)〜Tfn(x)は、それぞれ、対応する所定の条件下で得られた複数の画像を含む教師データ（本実施形態では、対応する地域について得られた複数の画像を含む教師データ）に基づいて、誤差逆伝搬法といった学習手法に従って予め学習される。例えば、着目する地域の教師データを用いてＤＮＮが学習される際に、スイッチS1〜Snのうちの着目する地域に対応するスイッチのみがオンにされ、畳み込みモジュールTf1(x)〜Tfn(x)のうちの着目する地域に対応する畳み込みモジュールのみがＤＮＮに接続される。その上で、着目する地域の教師データを用いてＤＮＮが学習される。これにより、畳み込みモジュールTf1(x)〜Tfn(x)は、対応する地域について特化される。そのため、畳み込みモジュールTf1(x)〜Tfn(x)のうちの車両１０が走行する地域に対応する畳み込みモジュールがＤＮＮに接続されることで、車両１０がその地域を走行する際の物体の検出精度が向上する。
【００２９】
可変層４００では、畳み込みモジュールTc1(x)〜TcN(x)のそれぞれの出力と、畳み込みモジュールTf1(x)〜Tfn(x)のうち、対応するスイッチがオンとなる畳み込みモジュールの出力との和が計算される。そしてその和に対して、畳み込み演算を実施した畳み込みモジュールの数に対する可変層４００が有する畳み込みモジュールの総数の比((N+n)/(N+ΣSbk)、ただし、Sbk(k=1,...,n)は、スイッチSkがオンの時に1となり、スイッチSkがオフの時に0となるbool変数である)が乗じられることで得られる値とxiとの和が、feature map xi+iとして出力される。そしてfeature map xi+iが、次の層に入力される。
【００３０】
なお、識別器として利用されるＤＮＮは、図４に示されるような可変層を２以上有していてもよい。この場合、２以上の可変層は、互いに連続するように設けられてもよく、あるいは、２以上の可変層の間に、プーリング層といった他の層が設けられてもよい。また、２以上の畳み込みモジュールが、一つの所定の条件に対応してもよい。この場合、識別器制御部３２は、所定の条件が満たされた場合、その所定の条件に対応する二つ以上の畳み込みモジュールのそれぞれと接続されるスイッチをオンにすればよい。さらに、識別器として利用されるＤＮＮが１以上の全結合層を有する場合、全結合層のうちの一つが可変層として形成されてもよい。この場合、複数の部分ネットワークのそれぞれは、上流側の層が有する複数のニューロンの全ての出力値を入力として一つの出力値を演算するように構成されてもよい。さらに、個々の部分ネットワークは、複数の層を含んでもよい。この場合、個々の部分ネットワークには、例えば、畳み込み層、プーリング層及び全結合層のうちの２種類以上が含まれてもよく、あるいは、畳み込み層、プーリング層及び全結合層の何れかが２層以上含まれてもよい。
【００３１】
識別器制御部３２は、スイッチS1〜Snのうち、車両１０に関する所定の条件が満たされる場合に、その所定の条件に対応するスイッチをオンにし、他のスイッチをオフにする。上記のように、本実施形態では、所定の条件は、車両１０自身の走行回数が所定数以上となる地域に車両１０の現在位置が含まれることである。したがって、識別器制御部３２は、車両の現在位置が含まれる地域について、車両１０自身の走行回数が所定数以上となる場合、車両の現在位置が含まれる地域に対応するスイッチをオンにする。例えば、畳み込みモジュールTf1(x)が北海道地方に対応し、畳み込みモジュールTf2(x)が九州地方に対応する場合において、車両１０の現在位置が北海道地方に位置し、かつ、車両１０自身が北海道地方を走行した回数が所定数以上となる場合、識別器制御部３２は、畳み込みモジュールTf1(x)に対応するスイッチS1をオンにし、畳み込みモジュールTf2(x)に対応するスイッチS2をオフにする。これにより、畳み込みモジュールTf1(x)〜Tfn(x)のうち、車両１０が現在走行中の地域について、車両１０の走行回数が所定の回数閾値以上となる場合に、その地域に対応する畳み込みモジュールが物体検出に利用されることになる。
【００３２】
図５は、識別器制御部３２により実行される識別器制御処理の動作フローチャートである。識別器制御部３２は、所定の周期（例えば、1分、10分、1時間など）あるいは所定のタイミングごと（例えば、車両１０が所定距離（例えば、10km〜50km）だけ走行する度、あるいは、車両１０が異なる地域へ移動する度）に、図５に示される動作フローチャートに従って、識別器制御処理を実行する。
【００３３】
プロセッサ２３の識別器制御部３２は、プロセッサ２３が測位情報受信機３から受け取った最新の測位情報で表される車両１０の現在位置と、メモリ２２に記憶されている地図情報とを比較して、地図情報に表される複数の地域のうち、車両１０の現在位置が含まれる地域（以下、現在地域と呼ぶ）を特定する（ステップＳ１０１）。識別器制御部３２は、特定された現在地域における車両１０の走行回数をメモリ２２から読み込んで、その走行回数が、所定の回数閾値Th以上か否か判定する（ステップＳ１０２）。なお、所定の回数閾値Thは、例えば、10〜100に設定される。
【００３４】
現在地域における車両１０の走行回数が回数閾値Th以上となる場合（ステップＳ１０２−Ｙｅｓ）、識別器制御部３２は、物体検出部３３にて物体検出に使用される識別器のＤＮＮが有する複数の部分ネットワークのうち、現在地域に対応する部分ネットワークを使用するよう識別器を制御する（ステップＳ１０３）。一方、現在地域における車両１０の走行回数が回数閾値Th未満となる場合（ステップＳ１０２−Ｎｏ）、識別器制御部３２は、現在地域に対応する部分ネットワークを使用しないよう識別器を制御する（ステップＳ１０４）。
ステップＳ１０３またはＳ１０４の後、識別器制御部３２は、識別器制御処理を終了する。
【００３５】
物体検出部３３は、検出部の一例であり、カメラ２から画像が得られる度に、その画像を識別器として利用されるＤＮＮに入力することで、その画像に表された、車両１０の周囲に存在する検出対象となる物体を検出する。その際、ＤＮＮが有する複数の部分ネットワークのうち、識別器制御部３２により使用するよう制御された部分ネットワークが物体の検出に利用される。なお、検出対象となる物体には、例えば、車または人といった移動物体が含まれる。また、検出対象となる物体には、車線区画線といった道路標示または道路標識、及び信号機といった静止物体がさらに含まれてもよい。
物体検出部３３は、検出された物体の種類及び画像上での位置を表す情報を運転計画部３４へ出力する。
【００３６】
運転計画部３４は、各画像から検出された物体に基づいて、車両１０の周囲に存在する物体と車両１０とが衝突しないように車両１０の走行予定経路を１以上生成する。走行予定経路は、例えば、現時刻から所定時間先までの各時刻における、車両１０の目標位置の集合として表される。例えば、運転計画部３４は、カメラ２から画像を受信する度に、カメラ２についての車両１０への取り付け位置などの情報を用いて視点変換処理を実行することで、受信した画像を鳥瞰画像に変換する。そして運転計画部３４は、一連の鳥瞰画像に対してKalman Filterなどを用いたトラッキング処理を実行することで、各画像についての検出されている物体を追跡し、その追跡結果により得られた軌跡から、物体のそれぞれの所定時間先までの予測軌跡を推定する。運転計画部３４は、追跡中の各物体の予測軌跡に基づいて、何れの物体についても所定時間先までの追跡中の物体のそれぞれと車両１０間の距離の予測値が所定距離以上となるように、車両１０の走行予定経路を生成する。その際、運転計画部３４は、例えば、測位情報受信機３から得た測位情報に表される車両１０の現在位置と、メモリ２２に記憶されている地図情報とを参照して、車両１０が走行可能な車線の数を確認してもよい。そして運転計画部３４は、車両１０が走行可能な車線が複数存在する場合には、車両１０が走行する車線を変更するように走行予定経路を生成してもよい。その際、運転計画部３４は、画像から検出された車線区画線の位置を参照して、車両１０が走行中の車線、あるいは変更先の車線と車両１０との位置関係を判定してもよい。さらに、運転計画部３４は、画像から検出された信号機が一時停止を示している場合には、車両１０をその信号機に対応する停止線にて停止させるように走行予定経路を設定してもよい。
なお、運転計画部３４は、複数の走行予定経路を生成してもよい。この場合、運転計画部３４は、複数の走行予定経路のうち、車両１０の加速度の絶対値の総和が最小となる経路を選択してもよい。
【００３７】
運転計画部３４は、生成した走行予定経路を車両制御部３５へ通知する。
【００３８】
車両制御部３５は、車両１０が通知された走行予定経路に沿って走行するように車両１０の各部を制御する。例えば、車両制御部３５は、通知された走行予定経路、及び、車速センサ（図示せず）により測定された車両１０の現在の車速に従って、車両１０の加速度を求め、その加速度となるようにアクセル開度またはブレーキ量を設定する。そして車両制御部３５は、設定されたアクセル開度に従って燃料噴射量を求め、その燃料噴射量に応じた制御信号を車両１０のエンジンの燃料噴射装置へ出力する。あるいは、車両制御部３５は、設定されたブレーキ量に応じた制御信号を車両１０のブレーキへ出力する。
【００３９】
さらに、車両制御部３５は、車両１０が走行予定経路に沿って走行するために車両１０の進路を変更する場合には、その走行予定経路に従って車両１０の操舵角を求め、その操舵角に応じた制御信号を、車両１０の操舵輪を制御するアクチュエータ（図示せず）へ出力する。
【００４０】
図６は、プロセッサ２３により実行される、物体検出処理を含む車両制御処理の動作フローチャートである。プロセッサ２３は、カメラ２から画像が受信する度に、図６に示される動作フローチャートに従って車両制御処理を実行する。なお、以下に示される動作フローチャートにおいて、ステップＳ２０１〜Ｓ２０２の処理が物体検出処理に対応する。
【００４１】
プロセッサ２３の識別器制御部３２は、車両１０に関する所定の条件が満たされる場合に、識別器として利用するＤＮＮの可変層に含まれる複数の部分ネットワークのうち、その所定の条件に対応する部分ネットワークをオンにする（ステップＳ２０１）。すなわち、図４に示されるように、識別器制御部３２は、所定の条件に対応する部分ネットワークに対応するスイッチをオンにして、その部分ネットワークが物体の検出に利用されるようにする。そしてプロセッサ２３の物体検出部３３は、カメラ２から得られた画像を識別器に入力して、画像に表された車両１０の周囲の物体を検出する（ステップＳ２０２）。
【００４２】
プロセッサ２３の運転計画部３４は、検出されている物体を追跡し、その追跡結果に基づいて推定されるその物体の予測軌跡と所定の距離以上となるように、車両１０の走行予定経路を生成する（ステップＳ２０３）。そしてプロセッサ２３の車両制御部３５は、走行予定経路に沿って車両１０が走行するように車両１０を制御する（ステップＳ２０４）。そしてプロセッサ２３は、車両制御処理を終了する。
【００４３】
以上に説明してきたように、この物体検出装置は、車両に関する所定の条件が満たされた時に、識別器として用いられるニューラルネットワークの可変層に含まれる複数の部分ネットワークのうち、その所定の条件に対応するよう予め学習された部分ネットワークを利用するように識別器を制御する。これにより、この物体検出装置は、その所定の条件が満たされる場合における物体の検出精度を向上できる。一方、この物体検出装置は、所定の条件が満たされない場合には、その所定の条件に対応するよう予め学習された部分ネットワークを利用しないように識別器を制御する。これにより、この物体検出装置は、その所定の条件が満たされない場合における物体の検出精度の低下を抑制できる。
【００４４】
変形例によれば、識別器制御部３２は、車両１０の走行回数の代わりに走行頻度に基づいて識別器を制御してもよい。この場合には、走行回数更新部３１が、車両１０が走行中の地域について、その地域を識別するための識別情報と対応付けて、車両１０が走行した日時（以下、単に走行日時と呼ぶ）をメモリ２２に記憶する。識別器制御部３２は、車両１０が走行中の地域について、直近の所定の期間（例えば、1週間、1カ月間など）に含まれる、その地域の識別情報と対応付けて記憶されている走行日時の数を走行頻度として求めればよい。そして識別器制御部３２は、車両１０が現在走行している地域についての走行頻度が所定の回数閾値以上であるときに、その地域と対応する部分ネットワークを物体の検出に利用するよう識別器を制御すればよい。
【００４５】
他の変形例によれば、走行回数または走行頻度を求める単位となる地域は、地図情報を利用せずに設定されてもよい。この場合には、実空間の所定サイズ（例えば、10km四方〜50km四方）の区画ごとに走行回数または走行日時が記憶される。例えば、走行回数更新部３１は、車両１０の現在位置を中心とする所定サイズの領域（区画よりも大きく、例えば、100km四方〜500km四方）に含まれる複数の区画のそれぞれについて、走行回数を１インクリメントするか、走行日時を記憶すればよい。また、識別器の可変層が有する複数の部分ネットワークは、それぞれ、互いに異なる代表地点と対応付けられ、その対応する代表地点を中心とする領域内から得られた教師データを用いて予め学習される。そして識別器制御部３２は、車両１０の現在位置を中心とする所定サイズの領域に含まれる各区画の走行回数の和、あるいは、直近の所定期間内の走行日時の数が所定の回数閾値以上である場合、各代表地点のうち、車両１０の現在位置に最も近い代表地点と対応付けられた部分ネットワークを利用するよう識別器を制御する。
【００４６】
また他の変形例によれば、識別器制御部３２は、走行回数または走行頻度ではなく、車両１０の現在位置に基づいて識別器を制御してもよい。この場合には、識別器制御部３２は、例えば、地図情報を参照して、測位情報受信機３から受け取った測位情報で表される車両１０の現在位置が含まれる地域を特定し、特定された地域に対応する部分ネットワークを物体の検出に利用するよう、識別器を制御すればよい。この場合、走行回数更新部３１は省略されてもよい。
【００４７】
さらに他の変形例によれば、識別器制御部３２は、車両１０の位置以外の条件に基づいて、物体の検出に用いられる識別器を制御してもよい。例えば、識別器制御部３２は、現在時刻が夜間の時間帯に含まれる場合に所定の条件が満たされると判定してもよい。この場合には、物体の検出に利用される識別器の可変層に含まれる複数の部分ネットワークのうちの一つは、夜間に得られた画像を教師データとして予め学習される。そして識別器制御部３２は、車両１０に搭載された時計（図示せず）、あるいは、時間を報知する無線信号を受信する、車両１０に搭載された無線通信モジュール（図示せず）からプロセッサ２３が受信した現在時刻が夜間の時間帯に含まれるか否か判定する。そして識別器制御部３２は、現在時刻が夜間の時間帯に含まれる場合に、その夜間の時間帯用に予め学習された部分ネットワークを物体の検出に利用するよう識別器を制御すればよい。これにより、物体検出装置は、昼間における物体の検出精度の低下を防ぎつつ、夜間における物体の検出精度を向上できる。なお、この場合も、走行回数更新部３１は省略されてもよい。
【００４８】
また、物体検出部３３による物体検出の結果が運転支援に利用される場合には、識別器の可変層の複数の部分ネットワークのそれぞれは、互いに異なるドライバと対応付けられてもよい。この場合には、各部分ネットワークは、対応するドライバが車両１０を運転する際にカメラ２により得られた画像を教師データとして予め学習される。そして識別器制御部３２は、車両１０の車室内に、車両１０のドライバの顔を撮影するように取り付けられた車内カメラ（図示せず）により得られた車内画像に基づいて、車両１０を運転しているドライバを識別する。なお、識別器制御部３２は、例えば、メモリ２２に予め記憶されたドライバごとのテンプレートを用いたテンプレートマッチング、あるいは、画像に表された顔を認識するための他の顔認識手法に従ってドライバを識別すればよい。そして識別器制御部３２は、識別されたドライバに対応する部分ネットワークを物体の検出に利用するよう識別器を制御すればよい。これにより、例えば、ドライバに応じて車両１０が通る経路または走行する時間帯に差異があるといった理由により、ドライバによって画像上での物体の写り方に差異が生じる場合でも、物体検出装置は、物体の検出精度を向上できる。
【００４９】
また、識別器の可変層に含まれる、所定の条件と対応付けられた部分ネットワークを規定するためのパラメータセット（重み係数など）は、車両１０と無線基地局及び通信ネットワークを介して通信可能なサーバに記憶されていてもよい。この場合には、識別器制御部３２は、所定の条件が満たされると判定した場合に、車両１０に搭載された無線通信モジュール（図示せず）を介して、サーバへ、車両１０の識別情報と、その所定の条件を表す識別情報と、部分ネットワークのパラメータセットを要求することを表す信号とを含む要求信号を送信する。そしてサーバは、無線基地局及び通信ネットワークを介して要求信号を受信すると、所定の条件に対応するパラメータセットを含む応答信号を、通信ネットワーク及び無線基地局を介して車両１０へ返送する。識別器制御部３２は、無線通信モジュールを介して受信した応答信号からパラメータセットを取り出して部分ネットワークに適用することで、その部分ネットワークは、所定の条件に対応するものとなる。
この変形例によれば、物体検出装置は、識別器が有する部分ネットワークの数を少なくすることができるので、メモリ２２に対して要求されるメモリ容量を削減できる。さらに、所定の条件に対応する部分ネットワークのパラメータセットを更新することが容易となる。
【００５０】
上記の実施形態または変形例による物体検出装置は、カメラ２以外の車両１０の周囲に存在する物体を検知するためのセンサにより取得されたセンサ信号に対して適用されてもよい。そのような、所定の検知範囲内に存在する物体を検出するためのセンサとして、例えば、車両１０に搭載されたLIDARセンサあるいはレーザセンサが用いられてもよい。この場合、物体検出部３３が識別器として用いるＤＮＮは、車両１０に搭載されたセンサにより取得されたセンサ信号から、物体を検出するように予め学習されればよい。この場合も、識別器は、上記の実施形態または変形例と同様に、複数の部分ネットワークを含む可変層を１以上有し、複数の部分ネットワークは、対応する条件下での教師データを用いて予め学習されればよい。
【００５１】
また、上記の実施形態または変形例による、物体検出装置のプロセッサ２３の各部の機能を実現するコンピュータプログラムは、半導体メモリ、磁気記録媒体または光記録媒体といった、コンピュータ読取可能な可搬性の記録媒体に記録された形で提供されてもよい。
【００５２】
以上のように、当業者は、本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。
【符号の説明】
【００５３】
１    車両制御システム
２    カメラ
３    測位情報受信機
４    電子制御装置（物体検出装置）
５    車内ネットワーク
２１    通信インターフェース
２２    メモリ
２３    プロセッサ
３１    走行回数更新部
３２    識別器制御部
３３    物体検出部
３４    運転計画部
３５    車両制御部
【図１】
2020050047.tif 000003
【図２】
2020050047.tif 000004
【図３】
2020050047.tif 000005
【図４】
2020050047.tif 000006
【図５】
2020050047.tif 000007
【図６】
2020050047.tif 000008