(57)【要約】【課題】車両に適した挙動を推定することができる情報処理システムを提供する。【解決手段】この情報処理システム１は、Ａ車種に属する車両から第１の走行履歴を取得し、その第１の走行履歴に基づく学習によって、第１の車種に属する車両の走行状況と挙動との関係を示す第１のドライバモデルを構築し、Ａ車種と異なるＸ車種に属する車両から、第２の走行履歴を取得し、第１のドライバモデルに対する第２の走行履歴を用いた転移学習によって、Ｘ車種に属する車両の走行状況と挙動との関係を示す第２のドライバモデルを構築する。【選択図】図１
2018118672.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサを備える情報処理システムであって、
前記少なくとも１つのプロセッサは、
第１の車種に属するｎ（ｎは２以上の整数）台の車両のそれぞれから、第１の走行履歴を取得し、
前記第１の走行履歴に基づく学習によって、前記第１の車種に属する車両の走行状況と挙動との関係を示す第１のドライバモデルを構築し、
前記第１の車種と異なる第２の車種に属するｍ（ｍはｎ未満の整数）台の車両のそれぞれから、第２の走行履歴を取得し、
前記第１のドライバモデルに対する前記第２の走行履歴を用いた転移学習によって、前記第２の車種に属する車両の走行状況と挙動との関係を示す第２のドライバモデルを構築する
情報処理システム。
【請求項２】
前記情報処理システムは、さらに、
前記第１の車種に属する車両の周囲の状況を検出する第１の検出部と、
前記第２の車種に属する車両の周囲の状況を検出する第２の検出部とを備え、
前記少なくとも１つのプロセッサは、さらに、
前記第１の検出部によって検出される周囲の状況を、前記第１の車種に属する車両の走行状況として含む前記第１の走行履歴を生成し、
前記第２の検出部によって検出される周囲の状況を、前記第２の車種に属する車両の走行状況として含む前記第２の走行履歴を生成する
請求項１に記載の情報処理システム。
【請求項３】
前記少なくとも１つのプロセッサは、
前記第１の検出部によって検出される周囲の状況を示すパラメータと、前記第２の検出部によって検出される周囲の状況を示すパラメータとのフォーマットが異なる場合、
前記第１の検出部および前記第２の検出部のうちの少なくとも一方のパラメータのフォーマットを変換することによって、それぞれ統一されたフォーマットによって示される走行状況を含む前記第１の走行履歴および前記第２の走行履歴を生成する
請求項２に記載の情報処理システム。
【請求項４】
前記少なくとも１つのプロセッサは、
前記第１および第２の検出部のそれぞれのパラメータのフォーマットを、予め定められたフォーマットに変換する
請求項３に記載の情報処理システム。
【請求項５】
前記少なくとも１つのプロセッサは、
前記第２のドライバモデルにおいて、前記第２の検出部によって検出された周囲の状況を示すパラメータに関係付けられている挙動を、前記第２の車種に属する車両の挙動として推定する
請求項２〜４の何れか１項に記載の情報処理システム。
【請求項６】
前記少なくとも１つのプロセッサは、
前記第１の車種に属する車両に備えられた第１のプロセッサと、
前記第２の車種に属する車両に備えられた第２のプロセッサと、
サーバに備えられた第３のプロセッサとを含み、
前記第１のプロセッサは、
前記第１の車種に属する車両の走行によって生成された前記第１の走行履歴を前記サーバに送信し、
前記第２のプロセッサは、
前記第２の車種に属する車両の走行によって生成された前記第２の走行履歴を前記サーバに送信し、
前記第３のプロセッサは、
前記第１の車種に属する車両から前記第１の走行履歴を取得し、前記第２の車種に属する車両から前記第２の走行履歴を取得する
請求項１〜５の何れか１項に記載の情報処理システム。
【請求項７】
前記第３のプロセッサは、
構築された前記第２のドライバモデルを前記第２のプロセッサに送信する
請求項６に記載の情報処理システム。
【請求項８】
前記少なくとも１つのプロセッサは、さらに、
第３の車種に属するｋ（ｋはｍより大きい整数）台の車両のそれぞれから、第３の走行履歴を取得し、
前記第３の走行履歴に基づく学習によって、前記第３の車種に属する車両の走行状況と挙動との関係を示す第３のドライバモデルを構築し、
前記第１のドライバモデルおよび前記第３のドライバモデルのうちの前記第３のドライバモデルの指定を受け付けた場合には、
前記第３のドライバモデルに対する前記第２の走行履歴を用いた転移学習によって、前記第２のドライバモデルを構築する
請求項１〜７の何れか１項に記載の情報処理システム。
【請求項９】
前記少なくとも１つのプロセッサは、
転移学習に利用可能な予め定められた複数の車種に、前記第１の車種および前記第３の車種が含まれるか否かを判定し、
前記第１の車種および前記第３の車種が含まれると判定した場合に、前記第１のドライバモデルおよび前記第３のドライバモデルを構築する
請求項８に記載の情報処理システム。
【請求項１０】
第１の車種に属するｎ（ｎは２以上の整数）台の車両のそれぞれから、第１の走行履歴を取得し、
前記第１の走行履歴に基づく学習によって、前記第１の車種に属する車両の走行状況と挙動との関係を示す第１のドライバモデルを構築し、
前記第１の車種と異なる第２の車種に属するｍ（ｍはｎ未満の整数）台の車両のそれぞれから、第２の走行履歴を取得し、
前記第１のドライバモデルに対する前記第２の走行履歴を用いた転移学習によって、前記第２の車種に属する車両の走行状況と挙動との関係を示す第２のドライバモデルを構築する
情報処理方法。
【請求項１１】
第１の車種に属するｎ（ｎは２以上の整数）台の車両のそれぞれから、第１の走行履歴を取得し、
前記第１の走行履歴に基づく学習によって、前記第１の車種に属する車両の走行状況と挙動との関係を示す第１のドライバモデルを構築し、
前記第１の車種と異なる第２の車種に属するｍ（ｍはｎ未満の整数）台の車両のそれぞれから、第２の走行履歴を取得し、
前記第１のドライバモデルに対する前記第２の走行履歴を用いた転移学習によって、前記第２の車種に属する車両の走行状況と挙動との関係を示す第２のドライバモデルを構築する
ことをコンピュータに実行させるプログラム。
【請求項１２】
請求項１〜９のいずれか１項に記載の情報処理システムを備える
車両。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に関する情報を処理する情報処理システム、情報処理方法、プログラムおよび車両に関する。
【背景技術】
【０００２】
近年、自動運転に関する様々な技術が提案されている。つまり、車両の周囲の状況、または車両の走行状態に基づいて、運転者が自ら運転操作を行う手動運転と、一部若しくはすべての運転操作を自動で行う自動運転とによる走行が可能な車両が提案されている。上述の周囲の状況または走行状態は、例えば、自車両の速度、操舵、アクセル、ブレーキ、方向指示器、またはアクチュエータなどの状態である。また、完全自動運転可能な車両に関する技術も提案され、実用化されている。
【０００３】
例えば、特許文献１には、車両が自動操舵制御または自動加減速制御される場合に、自動操舵制御または自動加減速制御の作動状態を視覚的にドライバに認識させる走行制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−６７４８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１の走行制御装置（すなわち情報処理システム）では、車両に適した挙動（運転動作、運転行動または運転操作ともいう）を推定することが困難な場合があるという問題がある。
【０００６】
そこで、本発明は、車両に適した挙動を推定することができる情報処理システムなどを提供する。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る情報処理システムは、少なくとも１つのプロセッサを備える情報処理システムであって、前記少なくとも１つのプロセッサは、第１の車種に属するｎ（ｎは２以上の整数）台の車両のそれぞれから、第１の走行履歴を取得し、前記第１の走行履歴に基づく学習によって、前記第１の車種に属する車両の走行状況と挙動との関係を示す第１のドライバモデルを構築し、前記第１の車種と異なる第２の車種に属するｍ（ｍはｎ未満の整数）台の車両のそれぞれから、第２の走行履歴を取得し、前記第１のドライバモデルに対する前記第２の走行履歴を用いた転移学習によって、前記第２の車種に属する車両の走行状況と挙動との関係を示す第２のドライバモデルを構築する。例えば、第１の車種に属する車両は普及車であって、第２の車種に属する車両は高級車である。
【０００８】
これにより、例えば台数が少ない高級車などの第２の車種に属する車両から得られる走行履歴が少なくても、第２の車種に適したドライバモデルを構築することができる。つまり、台数が多い普及車などの第１の車種に属する車両から得られる大量の走行履歴を用いて構築された第１のドライバモデルに対する転移学習によって、第２の車種のドライバモデルが第２のドライバモデルとして構築される。したがって、第２の車種に属する車両の台数が少なくても、第２の車種のドライバモデルを適切に構築することができる。その結果、この第２のドライバモデルを用いれば、その第２の車種に属する車両に適した挙動を推定することができる。
【０００９】
また、前記情報処理システムは、さらに、前記第１の車種に属する車両の周囲の状況を検出する第１の検出部と、前記第２の車種に属する車両の周囲の状況を検出する第２の検出部とを備え、前記少なくとも１つのプロセッサは、さらに、前記第１の検出部によって検出される周囲の状況を、前記第１の車種に属する車両の走行状況として含む前記第１の走行履歴を生成し、前記第２の検出部によって検出される周囲の状況を、前記第２の車種に属する車両の走行状況として含む前記第２の走行履歴を生成してもよい。
【００１０】
これにより、例えば車両の周囲の物体、またはその周囲を走行している他車両に関する状況を走行状況として含む第１の走行履歴と第２の走行履歴とが生成される。周囲の物体は、例えば道路の白線または障害物などであり、他車両は、例えば先行車などである。したがって、その車両の周囲の状況が反映された第１のドライバモデルおよび第２のドライバモデルを構築することができる。
【００１１】
また、前記少なくとも１つのプロセッサは、前記第１の検出部によって検出される周囲の状況を示すパラメータと、前記第２の検出部によって検出される周囲の状況を示すパラメータとのフォーマットが異なる場合、前記第１の検出部および前記第２の検出部のうちの少なくとも一方のパラメータのフォーマットを変換することによって、それぞれ統一されたフォーマットによって示される走行状況を含む前記第１の走行履歴および前記第２の走行履歴を生成してもよい。例えば、前記少なくとも１つのプロセッサは、前記第１および第２の検出部のそれぞれのパラメータのフォーマットを、予め定められたフォーマットに変換してもよい。
【００１２】
これにより、第１の車種に属する車両で検出される周囲の状況を示すパラメータと、第２の車種に属する車両で検出される周囲の状況を示すパラメータとのフォーマットが異なる場合であっても、第１の走行履歴と第２の走行履歴のフォーマットが統一される。したがって、このような統一されたフォーマットの第１の走行履歴と第２の走行履歴とを用いれば、第１のドライバモデルから第２のドライバモデルへの転移学習を容易に行うことができる。
【００１３】
また、前記少なくとも１つのプロセッサは、前記第２のドライバモデルにおいて、前記第２の検出部によって検出された周囲の状況を示すパラメータに関係付けられている挙動を、前記第２の車種に属する車両の挙動として推定してもよい。
【００１４】
これにより、高級車などの第２の車種に属する車両の適切な挙動を推定することができる。
【００１５】
また、前記少なくとも１つのプロセッサは、前記第１の車種に属する車両に備えられた第１のプロセッサと、前記第２の車種に属する車両に備えられた第２のプロセッサと、
サーバに備えられた第３のプロセッサとを含み、前記第１のプロセッサは、前記第１の車種に属する車両の走行によって生成された前記第１の走行履歴を前記サーバに送信し、前記第２のプロセッサは、前記第２の車種に属する車両の走行によって生成された前記第２の走行履歴を前記サーバに送信し、前記第３のプロセッサは、前記第１の車種に属する車両から前記第１の走行履歴を取得し、前記第２の車種に属する車両から前記第２の走行履歴を取得してもよい。また、前記第３のプロセッサは、構築された前記第２のドライバモデルを前記第２のプロセッサに送信してもよい。
【００１６】
これにより、処理負担が比較的重い学習および転移学習がサーバにおいて行われるため、第１の車両および第２の車両における処理負担を軽くすることができる。
【００１７】
また、前記少なくとも１つのプロセッサは、さらに、第３の車種に属するｋ（ｋはｍより大きい整数）台の車両のそれぞれから、第３の走行履歴を取得し、前記第３の走行履歴に基づく学習によって、前記第３の車種に属する車両の走行状況と挙動との関係を示す第３のドライバモデルを構築し、前記第１のドライバモデルおよび前記第３のドライバモデルのうちの前記第３のドライバモデルの指定を受け付けた場合には、前記第３のドライバモデルに対する前記第２の走行履歴を用いた転移学習によって、前記第２のドライバモデルを構築してもよい。
【００１８】
これにより、第３のドライバモデルに基づく第２のドライバモデルと、第１のドライバモデルに基づく第２のドライバモデルとを、指定によって選択的に構築することができる。その結果、第３のドライバモデルに基づく第２のドライバモデルは、第３の車種に近い走行特性を示すため、その第２のドライバモデルを用いれば、第３の車種に近い走行特性にしたがった挙動を推定することができる。また、第１のドライバモデルに基づく第２のドライバモデルは、第１の車種に近い走行特性を示すため、その第２のドライバモデルを用いれば、第１の車種に近い走行特性にしたがった挙動を推定することができる。
【００１９】
また、前記少なくとも１つのプロセッサは、転移学習に利用可能な予め定められた複数の車種に、前記第１の車種および前記第３の車種が含まれるか否かを判定し、前記第１の車種および前記第３の車種が含まれると判定した場合に、前記第１のドライバモデルおよび前記第３のドライバモデルを構築してもよい。
【００２０】
これにより、転移学習に利用できない車種のドライバモデルを構築する無駄を省くことができる。
【００２１】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００２２】
本発明の情報処理システムは、車両に適した挙動を推定することができる。
【図面の簡単な説明】
【００２３】
【図１】図１は、実施の形態における情報処理システムの全体構成を示す図である。
【図２】図２は、実施の形態におけるサーバの機能構成を示すブロック図である。
【図３】図３は、実施の形態における車両の機能構成を示すブロック図である。
【図４】図４は、実施の形態における、走行状況と、それに対するインターフェース部の表示および操作とについて説明するための図である。
【図５】図５は、実施の形態における推定部による挙動の推定の一例を示す図である。
【図６】図６は、実施の形態における学習部による学習の一例を説明するための図である。
【図７Ａ】図７Ａは、実施の形態におけるニューラルネットワークの学習の一例を示す図である。
【図７Ｂ】図７Ｂは、実施の形態におけるＡ車種用のニューラルネットワークを用いた挙動の推定の一例を示す図である。
【図８】図８は、実施の形態における転移学習部による転移学習の一例を説明するための図である。
【図９】図９は、実施の形態におけるＡ車種用のニューラルネットワークを用いた仮挙動の推定の一例を示す図である。
【図１０】図１０は、実施の形態におけるＸ車種用のニューラルネットワークの構築方法の一例を示す図である。
【図１１】図１１は、実施の形態における走行履歴の一例を示す図である。
【図１２】図１２は、実施の形態におけるフォーマット処理部の処理の一例を説明するための図である。
【図１３】図１３は、実施の形態におけるフォーマット処理部の処理の他の例を説明するための図である。
【図１４】図１４は、実施の形態における情報処理システムの処理動作を示すシーケンス図である。
【図１５】図１５は、実施の形態の変形例に係るサーバの機能構成を示すブロック図である。
【図１６】図１６は、実施の形態の変形例に係る車両の機能構成を示すブロック図である。
【図１７】図１７は、実施の形態の変形例に係るインターフェース部によって表示されるモデル種別選択画面の一例を示す図である。
【発明を実施するための形態】
【００２４】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【００２５】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００２６】
また、各図は、模式図であり、必ずしも厳密に図示されたものではない。また、各図において、同じ構成部材については同じ符号を付している。
【００２７】
（実施の形態）
図１は、本実施の形態における情報処理システムの全体構成を示す図である。
【００２８】
情報処理システム１０００は、サーバ１１００と、Ａ車種に属する複数の車両１２００ａと、Ｘ車種に属する複数の車両１２００ｘとを備える。Ａ車種の複数の車両１２００ａと、Ｘ車種の複数の車両１２００ｘとは、例えばインターネットなどの通信ネットワークを介してサーバ１１００に接続されている。
【００２９】
ここで、Ａ車種の複数の車両１２００ａは、Ｘ車種の複数の車両１２００ｘよりも多い。例えば、Ａ車種の複数の車両１２００ａは、普及車であって、Ｘ車種の複数の車両１２００ｘは、高級車である。なお、本実施の形態では、Ａ車種の複数の車両１２００ａと、Ｘ車種の複数の車両１２００ｘとはそれぞれ同一の構成を有し、Ａ車種の車両１２００ａとＸ車種の車両１２００ｘとを総称して、車両１２００という。
【００３０】
車両１２００は、走行履歴を生成し、サーバ１１００に送信する。走行履歴は、車両１２００の走行状況と、その走行状況が生じたときから所定時間経過後に車両１２００によって選択された挙動との組を複数含む。走行状況は、車両１２００の状況および車両１２００の周囲の状況のうちの少なくとも１つの状況である。なお、走行状況は走行環境ともいう。さらに、車両１２００は、自らが取り扱い可能なドライバモデルの構成を示すモデル構成情報を、サーバ１１００に送信する。ドライバモデルは、車両１２００の走行環境と挙動との関係を示すモデルである。本実施の形態では、ドライバモデルはニューラルネットワークである。なお、ニューラルネットワークは、ドライバモデルの一例であって、他のモデルであってもよい。ドライバモデルがニューラルネットワークである場合、モデル構成情報は、ニューラルネットワークを構成する層の数と、各層のノード数と、そのニューラルネットワークの全体または各層の種別とを示す。層の数は、例えば３である。そして、３層のうちの入力層のノード数は、例えば１００であり、中間層のノード数は、例えば１００であり、出力層のノード数は、例えば５である。さらに、１層目と２層目とを含む範囲の種別は、例えばＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）とＭａｘプーリングとのコンビネーションであり、１層目と２層目とを含む範囲の種別は、例えば全結合とＭａｘプーリングとのコンビネーションである。
【００３１】
また、車両１２００は、そのモデル構成情報によって示される構成を有するドライバモデルをサーバ１１００から取得し、そのドライバモデルを用いて挙動を推定する。なお、ドライバモデルがニューラルネットワークである場合には、車両１２００は、ニューラルネットワークの各ノードの重みパラメータを、ドライバモデルとして取得する。つまり、車両１２００は、ニューラルネットワークの各ノードの重みパラメータをサーバ１１００から取得して、その各ノードの重みパラメータと上述のモデル構成情報とを用いて、ニューラルネットワークであるドライバモデルを組み立てる。これによって、ドライバモデルが取得される。
【００３２】
サーバ１１００は、車両１２００から送信される走行履歴およびモデル構成情報に基づいてドライバモデルを構築する。構築されるドライバモデルには、Ａ車種用のドライバモデルと、Ｘ車種用のドライバモデルとがある。そして、サーバ１１００は、その構築されたＡ車種用のドライバモデルをＡ車種の車両１２００ａに送信する。さらに、サーバ１１００は、生成されたＸ車種用のドライバモデルをＸ車種の車両１２００ｘに送信する。
【００３３】
図２は、サーバ１１００の機能構成を示すブロック図である。
【００３４】
サーバ１１００は、情報取得部１１０１と、Ａ車種履歴格納部１１０２と、Ｘ車種履歴格納部１１０３と、学習部１１０４と、転移学習部１１０５と、モデル格納部１１０６と、モデル送信部１１０７とを備える。
【００３５】
情報取得部１１０１は、車両１２００から走行履歴とモデル構成情報とを取得する。情報取得部１１０１は、その車両１２００の車種がＡ車種である場合には、その走行履歴とモデル構成情報とをＡ車種履歴格納部１１０２に格納する。また、情報取得部１１０１は、その車両１２００の車種がＸ車種である場合には、その走行履歴とモデル構成情報とをＸ車種履歴格納部１１０３に格納する。
【００３６】
Ａ車種履歴格納部１１０２およびＸ車種履歴格納部１１０３は、走行履歴とモデル構成情報とを格納するための記録媒体である。この記録媒体は、例えば、ハードディスク装置、メモリ、ＲＡＭ（Ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、またはＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）からなる。Ａ車種履歴格納部１１０２には、Ａ車種の複数の車両１２００ａのそれぞれから送信された走行履歴とモデル構成情報が格納される。Ｘ車種履歴格納部１１０３には、Ｘ車種の複数の車両１２００ｘのそれぞれから送信された走行履歴とモデル構成情報が格納される。
【００３７】
学習部１１０４は、Ａ車種履歴格納部１１０２に格納されているモデル構成情報を参照し、そのモデル構成情報によって示される構成を有するドライバモデルを構築する。このとき、学習部１１０４は、そのＡ車種履歴格納部１１０２に格納されている、Ａ車種の複数の車両１２００ａのそれぞれの走行履歴を用いた学習を行うことによって、Ａ車種用のドライバモデルを構築する。なお、Ａ車種履歴格納部１１０２に格納されている、Ａ車種の複数の車両１２００ａのそれぞれの走行履歴を含むセットが、学習部１１０４による学習に用いられる。以下、説明を簡単にするために、そのセットを単に走行履歴ともいう。
【００３８】
さらに、学習部１１０４は、構築されたＡ車種用のドライバモデルを、転移学習部１１０５に出力するとともに、モデル格納部１１０６に格納する。
【００３９】
転移学習部１１０５は、Ａ車種用のドライバモデルを学習部１１０４から取得する。さらに、転移学習部１１０５は、Ｘ車種履歴格納部１１０３に格納されている、Ｘ車種の複数の車両１２００ｘのそれぞれの走行履歴およびモデル構成情報を読み出す。なお、Ｘ車種履歴格納部１１０３に格納されている、Ｘ車種の複数の車両１２００ｘのそれぞれの走行履歴を含むセットが、転移学習部１１０５によって読み出される。以下、説明を簡単にするために、そのセットを単に走行履歴ともいう。
【００４０】
ここで、転移学習部１１０５は、Ｘ車種履歴格納部１１０３から読み出されたモデル構成情報によって示される構成と、学習部１１０４から取得されたＡ車種用のドライバモデルの構成とが一致しているか否かを判定する。そして、転移学習部１１０５は、一致していると判定すると、Ａ車種用のドライバモデルに対する、Ｘ車種履歴格納部１１０３の走行履歴を用いた転移学習を行う。この転移学習によって、転移学習部１１０５は、Ｘ車種の車両１２００ｘの走行状況と挙動との関係を示すＸ車種用のドライバモデルを構築する。転移学習部１１０５は、転移学習によって構築されたＸ車種用のドライバモデルを、モデル格納部１１０６に格納する。
【００４１】
モデル格納部１１０６は、Ａ車種用のドライバモデルおよびＸ車種用のドライバモデルを格納するための記録媒体である。
【００４２】
モデル送信部１１０７は、モデル格納部１１０６からＡ車種用のドライバモデルを読み出し、そのドライバモデルをＡ車種の各車両１２００ａに送信する。さらに、モデル送信部１１０７は、モデル格納部１１０６からＸ車種用のドライバモデルを読み出し、そのドライバモデルをＸ車種の各車両１２００ｘに送信する。
【００４３】
本実施の形態では、サーバ１１００におけるＡ車種履歴格納部１１０２、Ｘ車種履歴格納部１１０３およびモデル格納部１１０６などの記録媒体以外の構成要素は、例えばプロセッサなどによって実現される。つまり、サーバ１１００は、少なくとも１つのプロセッサを備える。そして、そのプロセッサは、Ａ車種（すなわち第１の車種）に属するｎ（ｎは２以上の整数）台の車両１２００ａのそれぞれから、第１の走行履歴を取得する。さらに、プロセッサは、第１の走行履歴に基づく学習によって、Ａ車種に属する車両１２００ａの走行状況と挙動との関係を示す第１のドライバモデルを構築する。さらに、プロセッサは、Ａ車種と異なるＸ車種（すなわち第２の車種）に属するｍ（ｍはｎ未満の整数）台の車両１２００ｘのそれぞれから、第２の走行履歴を取得する。そして、プロセッサは、第１のドライバモデルに対する第２の走行履歴を用いた転移学習によって、そのＸ車種に属する車両１２００ｘの走行状況と挙動との関係を示す第２のドライバモデルを構築する。なお、第１のドライバモデルは、Ａ車種用のドライバモデルであり、第２のドライバモデルは、Ｘ車種用のドライバモデルである。
【００４４】
これにより、例えば台数が少ない高級車などのＸ車種に属する車両１２００ｘから得られる走行履歴が少なくても、Ｘ車種に適したドライバモデルを構築することができる。つまり、台数が多い普及車などのＡ車種に属する車両１２００ａから得られる大量の走行履歴を用いて構築されたＡ車種用のドライバモデルに対する転移学習によって、Ｘ車種用のドライバモデルが構築される。したがって、Ｘ車種に属する車両１２００ｘの台数が少なくても、Ｘ車種用のドライバモデルを適切にかつ簡単に構築することができる。
【００４５】
図３は、車両１２００の機能構成を示すブロック図である。
【００４６】
車両１２００は、走行状況検出部１２０１と、フォーマット処理部１２０２と、履歴送信部１２０３と、履歴生成部１２０４と、モデル取得部１２０５と、モデル格納部１２０６と、推定部１２０７と、インターフェース部１２０９と、車両制御部１２１０とを備える。
【００４７】
走行状況検出部１２０１は、車両１２００における走行状況を検出し、その走行状況を示すパラメータをフォーマット処理部１２０２に出力する。具体的には、走行状況検出部１２０１は、車両１２００の状況として、車両１２００の現在位置、速度、加速度、走行方向、アクセルペダルおよびブレーキペダルの踏み込み量、その踏み込み量の変化量、ハンドルの舵角、その舵角の変化量、車両１２００に乗車している人の人数、または、運転者の状態などを検出してもよい。なお、車両１２００の現在位置は、走行状況検出部１２０１によるＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）測位などによって検出される。また、走行状況検出部１２０１は、車両１２００の周囲の状況として、車両１２００の周囲の障害物、道路の白線、他車両の位置、他車両の相対速度、または衝突予測時間（ＴＴＣ：Ｔｉｍｅ  Ｔｏ  Ｃｏｌｌｉｓｉｏｎ）などを検出してもよい。これは、走行状況検出部１２０１が有する例えば複眼カメラ、ミリ波レーダ、またはレーザレーダなどによって検出される。
【００４８】
また、Ａ車種の走行状況検出部１２０１と、Ｘ車種の走行状況検出部１２０１とでは、検出精度が異なっていてもよく、検出される走行状況を示すパラメータのフォーマットが異なっていてもよい。例えば、Ａ車種の走行状況検出部１２０１の検出精度は、Ｘ車種の走行状況検出部１２０１の検出精度よりも低い。
【００４９】
フォーマット処理部１２０２は、走行状況検出部１２０１によって検出された走行状況を示すパラメータのフォーマットを必要に応じて変換する。つまり、Ａ車種の走行状況検出部１２０１によって検出される走行状況を示すパラメータと、Ｘ車種の走行状況検出部１２０１によって検出される走行状況を示すパラメータとで、フォーマットが異なる場合がある。このような場合、フォーマット処理部１２０２は、Ａ車種の走行状況検出部１２０１（すなわち第１の検出部）およびＸ車種の走行状況検出部１２０１（すなわち第２の検出部）のうちの少なくとも一方のパラメータのフォーマットを変換する。これにより、Ａ車種の走行状況検出部１２０１およびＸ車種の走行状況検出部１２０１のそれぞれによって検出される走行状況を示すパラメータのフォーマットは、統一される。
【００５０】
履歴生成部１２０４は、フォーマット処理部１２０２から、必要に応じてフォーマット変換された走行状況を取得し、さらに、車両制御部１２１０から、その走行状況が検出された後に選択された挙動を取得する。そして、履歴生成部１２０４は、その走行状況と挙動とを関係付けて示す走行履歴を生成して履歴送信部１２０３に出力する。ここで、上述のように、Ａ車種の走行状況検出部１２０１およびＸ車種の走行状況検出部１２０１のそれぞれによって検出される走行状況を示すパラメータのフォーマットは、統一される。したがって、Ａ車種およびＸ車種のそれぞれの履歴生成部１２０４は、それぞれ統一されたフォーマットによって示される走行状況を含む第１の走行履歴および第２の走行履歴を生成する。
【００５１】
履歴送信部１２０３は、その走行履歴をサーバ１１００に送信する。このとき、履歴送信部１２０３は、車両１２００によって取り扱い可能なドライバモデルの構成を示すモデル構成情報もサーバ１１００に送信する。
【００５２】
モデル取得部１２０５は、サーバ１１００から、その車両１２００の車種に応じたドライバモデルを取得し、そのドライバモデルをモデル格納部１２０６に格納する。
【００５３】
モデル格納部１１０６は、ドライバモデルを格納するための記録媒体である。
【００５４】
推定部１２０７は、モデル格納部１１０６からドライバモデルを読み出し、さらに、走行状況検出部１２０１からフォーマット処理部１２０２を介して、現在の走行状況を取得する。そして、推定部１２０７は、その走行状況をドライバモデルに入力することによって、ドライバモデルにおいてその走行状況に関係付けられた挙動を、その車両１２００の挙動として推定する。
【００５５】
インターフェース部１２０９は、例えば、画像を表示するディスプレイと、運転者による操作を受け付ける操作部とを備え、車両１２００のシステムと運転者との間のインターフェースを図る。インターフェース部１２０９は、推定部１２０７によって推定された挙動と、他の挙動とをディスプレイに表示する。そして、インターフェース部１２０９は、運転者からの操作を受けない場合には、その推定された挙動を車両１２００が行うように車両制御部１２１０に指示する。一方、インターフェース部１２０９は、推定された挙動以外の他の挙動を運転者からの操作によって受けた場合には、その挙動を車両１２００が実行するように車両制御部１２１０に指示する。
【００５６】
車両制御部１２１０は、推定部１２０７によって推定された挙動、または、運転者からの操作によって受け付けられた挙動を車両１２００が実行するように、車両１２００を制御する。そして、車両制御部１２１０は、車両１２００によって実行された挙動を履歴生成部１２０４に出力する。この履歴生成部１２０４に出力される挙動は、運転者の操作によって選択された挙動であってよく、手動運転によって選択された挙動であってもよい。
【００５７】
このように、本実施の形態における情報処理システム１０００は、Ａ車種（すなわち第１の車種）に属する車両１２００ａの周囲の状況を検出する走行状況検出部１２０１（すなわち第１の車種の検出部）と、Ｘ車種（すなわち第２の車種）に属する車両１２００ｘの周囲の状況を検出する走行状況検出部１２０１（すなわち第２の車種の検出部）とを備える。そして、車両１２００に備えられている上記各構成要素のうち、走行状況検出部１２０１、モデル格納部１２０６、およびインターフェース部１２０９以外の構成要素は、例えばプロセッサなどによって実現される。つまり、車両１２００は、少なくとも１つのプロセッサを備える。このＡ車種の車両１２００ａのプロセッサは、走行状況検出部１２０１によって検出される周囲の状況を、Ａ車種に属する車両１２００ａの走行状況として含む上述の第１の走行履歴を生成する。Ｘ車種の車両１２００ｘのプロセッサは、走行状況検出部１２０１によって検出される周囲の状況を、Ｘ車種に属する車両１２００ｘの走行状況として含む上述の第２の走行履歴を生成する。
【００５８】
これにより、例えば車両１２００の周囲の物体、またはその周囲を走行している他車両に関する状況を走行状況として含む第１の走行履歴と第２の走行履歴とが生成される。周囲の物体は、例えば道路の白線または障害物などであり、他車両は、例えば先行車などである。したがって、その車両１２００の周囲の状況が反映されたドライバモデル、すなわちＡ車種用のドライバモデルおよびＸ車種用のドライバモデルを構築することができる。
【００５９】
また、Ａ車種の走行状況検出部１２０１によって検出される周囲の状況を示すパラメータと、Ｘ車種の走行状況検出部１２０１によって検出される周囲の状況を示すパラメータとのフォーマットが異なる場合がある。このような場合、Ａ車種の車両１２００ａおよびＸ車種の車両１２００ｘのそれぞれのプロセッサは、Ａ車種およびＸ車種のうちの少なくとも一方のパラメータのフォーマットを変換することによって、それぞれ統一されたフォーマットによって示される走行状況を含む第１の走行履歴および第２の走行履歴を生成する。
【００６０】
これにより、Ａ車種に属する車両１２００ａで検出される周囲の状況を示すパラメータと、Ｘ車種に属する車両１２００ｘで検出される周囲の状況を示すパラメータとのフォーマットが異なる場合であっても、第１の走行履歴と第２の走行履歴のフォーマットが統一される。したがって、このような統一されたフォーマットの第１の走行履歴と第２の走行履歴とを用いれば、Ａ車種用のドライバモデルからＸ車種用のドライバモデルへの転移学習を容易に行うことができる。
【００６１】
また、Ｘ車種の推定部１２０７は、Ｘ車種用のドライバモデルにおいて、Ｘ車種の走行状況検出部１２０１によって検出された周囲の状況を示すパラメータに関係付けられている挙動を、Ｘ車種に属する車両１２００ｘの挙動として推定する。
【００６２】
これにより、高級車などのＸ車種に属する車両１２００ｘの適切な挙動を推定することができる。
【００６３】
図４は、走行状況と、それに対するインターフェース部１２０９の表示および操作とについて説明するための図である。
【００６４】
例えば、車両１２００は、図４の（ａ）に示す走行状況において走行している。具体的には、図４の（ａ）に示す走行状況では、車両１２００が走行する車線の前方に合流路があり、車線の左方から合流する車両が存在し、かつ、車両１２００が走行する車線の右方への車線変更が可能である。
【００６５】
走行状況検出部１２０１は、図４の（ａ）に示すような走行状況を検出する。なお、この走行状況は複数のパラメータによって表される。
【００６６】
インターフェース部１２０９は、図４の（ａ）に示す走行状況において、図４の（ｂ）に示すように、推定された挙動を示すアイコンａ２と、他の挙動を示すアイコンａ１およびａ３と、手動運転に切り替えるためのアイコンａ８とをディスプレイに表示する。
【００６７】
推定された挙動は、アイコンａ１〜ａ３およびａ８のうち、強調されているアイコンａ２に示されている「車線変更」である。他の挙動は、アイコンａ１およびａ３のそれぞれに示されている「加速」および「減速」である。また、アイコンａ８には、手動運転に切替えることを示す「自動運転終了」が表示されている。
【００６８】
インターフェース部１２０９は、図４の（ｃ）に示すように、ハンドル５に設けられた複数の操作ボタンｂ１〜ｂ８を操作部として備えている。なお、ハンドル５に設けられる操作部の数または形状等はこれらに限定されない。
【００６９】
本実施の形態では、図４の（ｂ）に示すアイコンａ１〜ａ３と、図４の（ｃ）に示す操作ボタンｂ１〜ｂ３がそれぞれ対応し、図４の（ｂ）に示すアイコンａ８と、図４の（ｃ）に示す操作ボタンｂ８とが対応する。
【００７０】
この構成において、運転者は、推定された挙動が実行されることを認める場合には、操作ボタンｂ１〜ｂ８のいずれも押下しない。この場合、車両制御部１２１０は、その推定された挙動が車両１２００によって実行されるようにその車両１２００を制御する。一方、運転者は、推定された挙動が実行されることを認めない場合には、アイコンａ１およびａ３に示される各挙動のうち、運転者が望む挙動を示すアイコンに対応する操作ボタンを押下する。例えば、運転者は、「加速」を望む場合、アイコンａ１に対応する操作ボタンｂ１を押下する。これにより、車両制御部１２１０は、その押下された操作ボタンに対応するアイコンに示される挙動が車両１２００によって実行されるようにその車両１２００を制御する。上述の例の場合、車両制御部１２１０は、「加速」が車両１２００によって実行されるようにその車両１２００を制御する。
【００７１】
なお、図４の（ｂ）には、各アイコンａ１〜ａ３およびａ８に、文字のみが表示されているが、車両１２００の駆動に関する記号などが表示されていてもよい。
【００７２】
ここで、学習部１１０４、転移学習部１１０５および推定部１２０７の処理動作について詳細に説明する。
【００７３】
本実施の形態では、ニューラルネットワーク（ＮＮ）をドライバモデルとして用いる場合について説明する。
【００７４】
図５は、本実施の形態における推定部１２０７による挙動の推定の一例を示す図である。
【００７５】
Ａ車種の推定部１２０７は、モデル格納部１２０６に格納されているニューラルネットワークを読み出す。そして、推定部１２０７は、そのニューラルネットワークに、Ａ車種の走行状況検出部１２０１によって検出された現在の走行状況をテストデータとして入力することによって、その走行状況に対応する挙動を挙動推定結果として出力する。なお、図５に示す例では、走行状況は、パラメータｐａ、ｐｂ、ｐｃ、ｐｄおよびｐｅなどからなる。これにより、現在から所定時間経過後にＡ車種の車両１２００ａにおいて選択される挙動が、推定される。
【００７６】
図６は、学習部１１０４による学習の一例を説明するための図である。
【００７７】
学習部１１０４は、Ａ車種履歴格納部１１０２に格納されているＡ車種の走行履歴に含まれる走行状況を入力パラメータとして取得する。なお、図６に示す例では、走行状況は、パラメータｐａ、ｐｂ、ｐｃ、ｐｄおよびｐｅなどからなる。さらに、学習部１１０４は、走行履歴に含まれるその走行状況に関係付けられている挙動を教師付けデータとして取得する。そして、学習部１１０４は、その入力パラメータと教師付けデータとに基づいて、ニューラルネットワークを調整する。つまり、学習部１１０４は、入力パラメータをニューラルネットワークに入力することによって、教師付けデータが出力として得られるように、ニューラルネットワークの重みパラメータなどを調整する。このような調整によって、学習部１１０４は、入力パラメータと教師付けデータとの関係を、ニューラルネットワークに学習させる。その結果、Ａ車種用のニューラルネットワーク（すなわちドライバモデル）が構築される。
【００７８】
図７Ａは、ニューラルネットワークの学習の一例を示す図である。
【００７９】
学習部１１０４は、Ａ車種の走行履歴において走行状況として示されるパラメータｐａおよびｐｂなどを含む複数の入力パラメータを、ニューラルネットワークに入力する。そして、学習部１１０４は、そのニューラルネットワークからの出力が、走行履歴においてその入力パラメータに関係付けられた教師付けデータに一致するように、ニューラルネットワークの重みパラメータを最適化する。これにより、Ａ車種用のニューラルネットワークが構築される。
【００８０】
図７Ｂは、Ａ車種用のニューラルネットワークを用いた挙動の推定の一例を示す図である。
【００８１】
Ａ車種の推定部１２０７は、Ａ車種の走行状況検出部１２０１によって検出された走行状況をテストデータとして取得して、そのテストデータをＡ車種用のニューラルネットワークに入力する。なお、このテストデータに含まれるパラメータｐａおよびｐｂなどは、例えば車両１２００ａの周囲に走行している他車両の相対速度および距離などであって、上述の入力パラメータとして用いられた、走行履歴に含まれる走行状況を示すパラメータと対応している。これにより、Ａ車種の推定部１２０７は、Ａ車種用のニューラルネットワークから出力される、例えば車線変更などを示す挙動を挙動推定結果として取得する。
【００８２】
図８は、転移学習部１１０５による転移学習の一例を説明するための図である。
【００８３】
まず、上述のように、Ａ車種用のニューラルネットワークが、学習部１１０４によって構築される。次に、転移学習部１１０５は、Ｘ車種履歴格納部１１０３に格納されているＸ車種の走行履歴を用いて、そのＡ車種用のニューラルネットワークに再学習させる転移学習によって、Ｘ車種用のニューラルネットワークを構築する。
【００８４】
転移学習部１１０５は、仮推定部１１２１と、ヒストグラム生成部１１２２と、学習処理部１１２３とを備える。
【００８５】
仮推定部１１２１は、Ｘ車種履歴格納部１１０３に格納されているＸ車種の走行履歴に含まれる挙動を、教師付けデータとして取得する。さらに、仮推定部１１２１は、そのＸ車種の走行履歴に含まれる、その挙動に関係付けられている走行状況を入力パラメータとして取得する。仮推定部１１２１は、Ａ車種用のニューラルネットワークに入力パラメータを入力し、そのＡ車種用のニューラルネットワークから出力される仮挙動を、仮挙動推定結果としてヒストグラム生成部１１２２に出力する。また、仮推定部１１２１は、その教師付けデータもヒストグラム生成部１１２２に出力する。
【００８６】
ヒストグラム生成部１１２２は、教師付けデータの挙動と、その挙動に対応する仮挙動推定結果とを取得し、その教師付けデータの挙動に対する仮挙動推定結果の累積値を示す仮挙動ヒストグラムを生成する。
【００８７】
学習処理部１１２３は、その仮挙動ヒストグラムに基づいて、Ａ車種用のニューラルネットワークの出力と教師付けデータとの一致度を高めるように、Ａ車種用のニューラルネットワークの重みパラメータを再学習する。つまり、Ａ車種用のニューラルネットワークの重みパラメータを調整し直す。これにより、Ｘ車種用のニューラルネットワークが構築される。
【００８８】
Ｘ車種の推定部１２０７は、このＸ車種用のニューラルネットワークを用いて、Ｘ車種の車両１２００ｘの挙動を推定する。つまり、Ｘ車種の推定部１２０７は、Ａ車種の推定部１２０７と同様、Ｘ車種の走行状況検出部１２０１によって検出された走行状況をテストデータとして取得して、そのテストデータをＸ車種用のニューラルネットワークに入力する。その結果、Ｘ車種の推定部１２０７は、Ｘ車種用のニューラルネットワークから出力される挙動を挙動推定結果として取得する。そして、推定部１２０７は、その挙動推定結果を出力する。これにより、Ｘ車種の車両１２００ｘの挙動が推定される。
【００８９】
図９は、Ａ車種用のニューラルネットワークを用いた仮挙動の推定の一例を示す図である。
【００９０】
仮推定部１１２１は、学習部１１０４によって構築されたＡ車種用のニューラルネットワークを用いて仮挙動を推定する。つまり、仮推定部１１２１は、Ｘ車種履歴格納部１１０３に格納されているＸ車種の走行履歴に含まれる特定の挙動（例えば車線変更）を教師付けデータとして取得する。さらに、仮推定部１１２１は、Ｘ車種の走行履歴においてその挙動に関係付けられている走行状況を入力パラメータとして取得する。ここで、Ｘ車種の走行履歴において、その特定の挙動に関係付けられている走行状況が複数あれば、仮推定部１１２１は、それらの複数の走行状況のそれぞれを入力パラメータとして取得する。
【００９１】
そして、仮推定部１１２１は、それらの入力パラメータをＡ車種用のニューラルネットワークに入力する。これにより、仮推定部１１２１は、特定の挙動である教師付けデータ（例えば車線変更）に対して、車線変更だけでなく例えば追い越しも含む、互いに異なる推定結果を仮挙動（または仮挙動推定結果）として取得する。
【００９２】
ヒストグラム生成部１１２２は、特定の挙動である教師付けデータ（例えば車線変更）に対する仮挙動推定結果のヒストグラム（すなわち仮挙動ヒストグラム）を生成する。この仮挙動ヒストグラムは、Ａ車種用のニューラルネットワークの出力として得られる仮挙動推定結果の累積値を示す。
【００９３】
図１０は、Ｘ車種用のニューラルネットワークの構築方法の一例を示す図である。
【００９４】
学習処理部１１２３は、図１０の（ａ）に示す仮挙動ヒストグラムが生成されると、Ａ車種用のニューラルネットワークの出力と教師付けデータ（この例では車線変更）との一致度を高めるように、そのニューラルネットワークの重みパラメータを再学習する。これにより、学習処理部１１２３は、図１０の（ｂ）に示すように、教師付けデータの挙動（例えば車線変更）のみが推定結果として出力されるＸ車種用のニューラルネットワークを構築する。このような再学習は、１つの教師付けデータに対してだけでなく、他の複数の教師付けデータのそれぞれに対しても行われる。つまり、学習処理部１１２３は、転移学習によって、Ｘ車種用のニューラルネットワークを構築する。
【００９５】
図１１は、走行履歴の一例を示す図である。
【００９６】
上述の例では、走行履歴は、走行状況を示す複数のパラメータｐａ、ｐｂ、およびｂｃなどを含んでいるが、これらのパラメータｐａ、ｐｂ、およびｂｃなどは、具体的には、図１１に示すパラメータであってもよい。つまり、走行状況を示す複数のパラメータは、自車両の状況を示すパラメータ、前方車両の状況を示すパラメータ、側方車両の状況を示すパラメータ、合流車線の状況を示すパラメータ、および、自車両の位置に関する状況を示すパラメータを含んでいてもよい。
【００９７】
自車両の状況を示すパラメータは、自車両の速度Ｖａである。前方車両の状況を示すパラメータは、自車両に対する前方車両の相対速度Ｖｂａと、前方車両と自車両との車間距離ＤＲｂａと、変化率ＲＳｂとを含む。なお、変化率ＲＳｂは、ＲＳｂ＝−Ｖｂａ／ＤＲｂａによって算出される。
【００９８】
側方車両の状況を示すパラメータは、側後方車両に関する相対速度Ｖｃａ、車頭間距離Ｄｃａ、および変化率Ｒｃａと、側前方車両に関する相対速度Ｖｄａ、車頭間距離Ｄｄａ、および変化率Ｒｄａと、残存側方車線長ＤＲｄａとを含む。変化率Ｒｃａは、Ｖｃａ／Ｄｃａによって算出される。変化率Ｒｄａは、Ｖｄａ／Ｄｄａによって算出される。残存側方車線長ＤＲｄａは、側方車線への車線変更の可能性の高さを示すパラメータである。
【００９９】
合流車線の状況を示すパラメータは、自車両に対する合流車両の相対速度Ｖｍａ、合流車両と自車両との車頭間距離Ｄｍａ、および車頭間距離の変化率Ｒｍａを含む。ここで、合流車両と自車両との車頭間距離Ｄｍａは、自車両（および合流車両）の進行方向に沿った方向において測定される自車両の先端部（車頭）と合流車両の先端部（車頭）との間の距離である。車頭間距離の変化率Ｒｍａは、Ｒｍａ＝Ｖｍａ／Ｄｍａによって算出される。
【０１００】
自車両の位置に関する状況を示すパラメータは、自車両の走行車線を示すパラメータと、自車両から合流地点までの距離を示すパラメータとを含む。
【０１０１】
なお、図１１に示す走行履歴は、一例であって、これに限るものではない。
【０１０２】
図１２は、フォーマット処理部１２０２の処理の一例を説明するための図である。
【０１０３】
例えば、Ｘ車種の車両１２００ｘの走行状況検出部１２０１は、車両１２００ｘの前方、後方および側方のそれぞれのセンシングを行う。また、そのセンシングでは、車両１２００ｘの走行状況検出部１２０１は、ＬｉＤＡＲ（Ｌｉｇｈｔ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｒａｎｇｉｎｇ）を用いたセンシングを行う。したがって、車両１２００ｘの走行状況検出部１２０１は、高精度に周囲の状況を検出することができる。例えば、図１２の（ａ）に示すように、走行状況検出部１２０１は、車両１２００ｘの周囲３６０°の範囲において隙間なく、走行状況（すなわち道路状況）を検出することができる。また、図１２の（ａ）に示すように、車両１２００ｘの左側方および右前方のそれぞれに他車両が走行している場合、走行状況検出部１２０１は、図１２の（ｂ）に示すように、それらの他車両の位置を高精度に検出することができる。つまり、この場合、走行状況検出部１２０１は、上述の他車両（物体Ａおよび物体Ｂのそれぞれ）の複数の特徴点の座標をパラメータとして示す走行状況Ｄｘを検出する。この複数の特徴点は、例えば物体Ａまたは物体Ｂの頂点である。また、複数の特徴点のそれぞれの座標は、自車両である車両１２００ｘの位置を原点とする座標系によって表現されている。
【０１０４】
一方、Ａ車種の車両１２００ａの走行状況検出部１２０１も、Ｘ車種と同様、車両１２００ａの前方、後方および側方のそれぞれのセンシングを行う。ここで、そのセンシングでは、車両１２００ａの走行状況検出部１２０１は、例えば複眼レンズを備えたカメラによるセンシングを行う。したがって、車両１２００ａの走行状況検出部１２０１は、Ｘ車種の走行状況検出部１２０１よりも、低精度に周囲の状況を検出する。例えば、図１２の（ｃ）に示すように、Ａ車種の走行状況検出部１２０１は、車両１２００ａの周囲３６０°の範囲において間欠的に、走行状況（すなわち道路状況）を検出する。また、図１２の（ｃ）に示すように、車両１２００ａの左側方および右前方のそれぞれに他車両が走行している場合、走行状況検出部１２０１は、図１２の（ｄ）に示すように、それらの他車両の位置を検出することができる。つまり、この場合、走行状況検出部１２０１は、左側方に他車両が検出されたこと、およびその他車両までの距離を示すパラメータと、右前方に他車両が検出されたこと、およびその他車両までの距離を示すパラメータとを含む情報を、走行状況Ｄａとして検出する。
【０１０５】
このように、Ｘ車種の走行状況検出部１２０１によって検出された走行状況Ｄｘを示すパラメータと、Ａ車種の走行状況検出部１２０１によって検出された走行状況Ｄａを示すパラメータとは、フォーマットが異なる場合がある。
【０１０６】
そこで、本実施の形態におけるフォーマット処理部１２０２は、そのフォーマットを統一する。例えば、Ａ車種のフォーマット処理部１２０２は、Ａ車種の走行状況検出部１２０１によって検出された走行状況のフォーマットを、Ｘ車種のフォーマットに変換する。具体的には、Ａ車種のフォーマット処理部１２０２は、走行状況Ｄａによって示される左側方にある他車両までの距離を用いて、その他車両の特徴点の座標を生成する。さらに、Ａ車種のフォーマット処理部１２０２は、走行状況Ｄａによって示される右前方にある他車両までの距離を用いて、その他車両の特徴点の座標を生成する。例えば、フォーマット処理部１２０２は、走行状況Ｄａによって示される車両１２００ａから他車両までの距離および方角と、予め定められた他車両のサイズおよび形状とに基づいて、他車両の特徴点の座標を生成する。フォーマット処理部１２０２は、走行状況Ｄａのパラメータを、このように生成された特徴点の座標に変換することによって、走行状況Ｄａのフォーマットを、走行状況Ｄｘのフォーマットに一致させる。
【０１０７】
図１３は、フォーマット処理部１２０２の処理の他の例を説明するための図である。
【０１０８】
図１２に示す例と同様、Ｘ車種の走行状況検出部１２０１によって検出された走行状況を示すパラメータと、Ａ車種の走行状況検出部１２０１によって検出された走行状況を示すパラメータとは、フォーマットが異なる場合がある。
【０１０９】
そこで、Ａ車種およびＸ車種のそれぞれのフォーマット処理部１２０２は、走行状況検出部１２０１によって検出された走行状況のフォーマットを、予め定められたフォーマットに変換してもよい。言い換えれば、Ａ車種のプロセッサとＸ車種のプロセッサは、Ａ車種の走行状況検出部１２０１（第１の検出部）およびＸ車種の走行状況検出部１２０１（第２の検出部）のそれぞれのパラメータのフォーマットを、予め定められたフォーマットに変換する。つまり、Ａ車種のフォーマット処理部１２０２は、図１３に示すように、Ａ車種の走行状況検出部１２０１によって検出された走行状況Ｄａのフォーマットを、予め定められた統一フォーマットに変換する。同様に、Ｘ車種のフォーマット処理部１２０２は、図１３に示すように、Ｘ車種の走行状況検出部１２０１によって検出された走行状況Ｄｘのフォーマットを、予め定められた統一フォーマットに変換する。
【０１１０】
統一フォーマットの走行状況は、例えば周囲にある車両の車間距離と相対速度とをパラメータとして示す。車間距離は、例えば、走行状況Ｄｘによって示される物体の複数の特徴点における重心と、自車両との間の距離である。また、相対速度は、走行状況Ｄｘによって示される物体の複数の特徴点における重心位置と、自車両の位置との間の距離の時間変化によって算出される。あるいは、相対速度は、走行状況Ｄａによって示される距離の時間変化によって算出される。
【０１１１】
このように、本実施の形態では、Ａ車種に属する車両１２００ａで検出される周囲の状況を示すパラメータと、Ｘ車種に属する車両１２００ｘで検出される周囲の状況を示すパラメータとのフォーマットが異なる場合であっても、Ａ車種の走行履歴（第１の走行履歴）とＸ車種の走行履歴（第２の走行履歴）のフォーマットが統一される。したがって、このような統一されたフォーマットのＡ車種の走行履歴とＸ車種の走行履歴とを用いれば、Ａ車種用のドライバモデルからＸ車種用のドライバモデルへの転移学習を容易に行うことができる。
【０１１２】
図１４は、本実施の形態における情報処理システム１０００の処理動作を示すシーケンス図である。
【０１１３】
まず、Ａ車種の車両１２００ａおよびＸ車種の車両１２００ｘはそれぞれ、走行履歴をサーバ１１００に送信する（ステップＳ１０１，Ｓ１０２）。
【０１１４】
サーバ１１００は、そのＡ車種の走行履歴に基づいてＡ車種用のドライバモデルを構築する（ステップＳ１０３）。そして、サーバ１１００は、Ｘ車種の走行履歴を用いた転移学習によって、Ａ車種用のドライバモデルからＸ車種用のドライバモデルを構築する（ステップＳ１０４）。さらに、サーバ１１００は、Ａ車種用のドライバモデルをＡ車種の車両１２００ａに送信し（ステップＳ１０５）、Ｘ車種用のドライバモデルをＸ車種の車両１２００ｘに送信する（ステップＳ１０６）。
【０１１５】
Ａ車種の車両１２００ａは、走行状況を検出する（ステップＳ１０７）。次に、Ａ車種の車両１２００ａは、サーバ１１００から送信されたＡ車種用のドライバモデルにおいて、その走行状況に関係付けられている挙動を、Ａ車種の車両１２００ａの挙動として推定する（ステップＳ１０８）。そして、Ａ車種の車両１２００ａは、その推定された挙動を運転者に提示する、または実行する（ステップＳ１０９）。
【０１１６】
同様に、Ｘ車種の車両１２００ｘは、走行状況を検出する（ステップＳ１１１）。次に、Ｘ車種の車両１２００ｘは、サーバ１１００から送信されたＸ車種用のドライバモデルにおいて、その走行状況に関係付けられている挙動を、Ｘ車種の車両１２００ｘの挙動として推定する（ステップＳ１１２）。そして、Ｘ車種の車両１２００ｘは、その推定された挙動を運転者に提示する、または実行する（ステップＳ１１３）。
【０１１７】
例えば、上述のＡ車種の車両１２００ａの各ステップは、その車両１２００ａに備えられたプロセッサによって実行される。同様に、上述のＸ車種の車両１２００ｘの各ステップは、その車両１２００ｘに備えられたプロセッサによって実行される。同様に、上述のサーバ１１００の各ステップは、サーバ１１００に備えられたプロセッサによって実行される。
【０１１８】
このように、本実施の形態における情報処理システム１０００では、Ａ車種に属する車両１２００ａに備えられた第１のプロセッサと、Ｘ車種に属する車両１２００ｘに備えられた第２のプロセッサと、サーバ１１００に備えられた第３のプロセッサとを備える。そして、第１のプロセッサは、Ａ車種に属する車両１２００ａの走行によって生成された第１の走行履歴をサーバ１１００に送信する。さらに、第２のプロセッサは、Ｘ車種に属する車両１２００ｘの走行によって生成された第２の走行履歴をサーバ１１００に送信する。第３のプロセッサは、Ａ車種に属する車両１２００ａから第１の走行履歴を取得し、Ｘ車種に属する車両１２００ｘから第２の走行履歴を取得する。次に、第３のプロセッサは、構築されたＸ車種用のドライバモデルを第２のプロセッサに送信する。
【０１１９】
これにより、処理負担が比較的重い学習および転移学習がサーバ１１００において行われるため、車両１２００ａおよび車両１２００ｘにおける処理負担を軽くすることができる。
【０１２０】
（効果）
本実施の形態では、上述のように、例えば台数が少ない高級車などのＸ車種に属する車両１２００ｘから得られる走行履歴が少なくても、Ｘ車種に適したドライバモデルを構築することができる。つまり、台数が多い普及車などのＡ車種に属する車両１２００ａから得られる大量の走行履歴を用いて構築されたＡ車種用のドライバモデルに対する転移学習によって、Ｘ車種用のドライバモデルが構築される。したがって、Ｘ車種に属する車両１２００ｘの台数が少なくても、Ｘ車種用のドライバモデルを適切にかつ簡単に構築することができる。その結果、このＸ車種用のドライバモデルを用いれば、そのＸ車種に属する車両１２００ｘに適した挙動を推定することができる。
【０１２１】
（変形例）
上記実施の形態では、転移学習に用いられる元のドライバモデルは、Ａ車種用のドライバモデルのみであったが、複数のドライバモデルから運転者によって任意に選択されるドライバモデルであってもよい。
【０１２２】
図１５は、本変形例に係るサーバ１１００の機能構成を示すブロック図である。
【０１２３】
本変形例に係るサーバ１１００は、上記実施の形態と同様に、Ｘ車種履歴格納部１１０３と、学習部１１０４と、転移学習部１１０５と、モデル格納部１１０６と、モデル送信部１１０７とを備える。また、本変形例に係るサーバ１１００は、さらに、Ａ車種履歴格納部１１０２ａと、Ｂ車種履歴格納部１１０２ｂと、Ｃ車種履歴格納部１１０２ｃと、Ｄ車種履歴格納部１１０２ｄとを備える。なお、Ａ車種履歴格納部１１０２ａは、上記実施の形態のＡ車種履歴格納部１１０２と同一である。
【０１２４】
情報取得部１１０１は、車両１２００から走行履歴とモデル構成情報とを取得する。情報取得部１１０１は、その車両１２００がＡ車種である場合には、その走行履歴およびモデル構成情報をＡ車種履歴格納部１１０２ａに格納する。同様に、情報取得部１１０１は、Ｂ車種〜Ｄ車種のそれぞれの車両１２００の走行履歴およびモデル構成情報を、Ｂ車種履歴格納部１１０２ｂ、Ｃ車種履歴格納部１１０２ｃ、およびＤ車種履歴格納部１１０２ｄに格納する。
【０１２５】
学習部１１０４は、Ａ車種履歴格納部１１０２ａに格納されているモデル構成情報を参照し、そのモデル構成情報によって示される構成を有するドライバモデルを構築する。このとき、学習部１１０４は、そのＡ車種履歴格納部１１０２ａに格納されているＡ車種の走行履歴を用いた学習を行うことによって、Ａ車種用のドライバモデルをニューラルネットワークとして構築する。さらに、学習部１１０４は、構築されたＡ車種用のドライバモデルをモデル格納部１１０６に格納する。
【０１２６】
同様に、学習部１１０４は、Ｂ車種履歴格納部１１０２ｂ〜Ｄ車種履歴格納部１１０２ｄのそれぞれで、格納部に格納されている走行履歴を用いた学習を行う。これによって、学習部１１０４は、Ｂ車種用のドライバモデル、Ｃ車種用のドライバモデル、およびＤ車種用のドライバモデルをそれぞれニューラルネットワークとして構築する。さらに、学習部１１０４は、構築されたＢ車種用のドライバモデル、Ｃ車種用のドライバモデル、およびＤ車種用のドライバモデルのそれぞれをモデル格納部１１０６に格納する。
【０１２７】
転移学習部１１０５は、Ａ車種用のドライバモデルを学習部１１０４から取得し、上記実施の形態と同様に、Ａ車種用のドライバモデルに対する、Ｘ車種履歴格納部１１０３の走行履歴を用いた転移学習を行う。この転移学習によって、転移学習部１１０５は、Ｘ車種の車両１２００ｘの走行履歴と挙動との関係を示すＸ車種用のドライバモデルを構築する。そして、転移学習部１１０５は、Ａ車種用のドライバモデルから構築されたそのＸ車種用のドライバモデルを、Ａ車種ベースのＸ車種用のドライバモデルとしてモデル格納部１１０６に格納する。同様に、転移学習部１１０５は、Ｂ車種用のドライバモデルに対する転移学習を行ことによってＸ車種用のドライバモデルを構築し、その構築されたドライバモデルを、Ｂ車種ベースのＸ車種用のドライバモデルとしてモデル格納部１１０６に格納する。同様に、転移学習部１１０５は、Ｃ車種用のドライバモデルに対する転移学習を行ことによってＸ車種用のドライバモデルを構築し、その構築されたドライバモデルを、Ｃ車種ベースのＸ車種用のドライバモデルとしてモデル格納部１１０６に格納する。同様に、転移学習部１１０５は、Ｄ車種用のドライバモデルに対する転移学習を行ことによってＸ車種用のドライバモデルを構築し、その構築されたドライバモデルを、Ｄ車種ベースのＸ車種用のドライバモデルとしてモデル格納部１１０６に格納する。
【０１２８】
ここで、転移学習部１１０５は、車両１２００からの指定を受け付けた場合に、その指定に応じた種別のＸ車種用のドライバモデルを構築してもよい。例えば、Ｂ車種ベースがその種別として指定された場合、転移学習部１１０５は、Ｂ車種ベースのＸ車種用のドライバモデルを構築する。
【０１２９】
モデル送信部１１０７は、モデル格納部１１０６に格納されているＡ車種用のドライバモデルをＡ車種の車両１２００ａに送信する。さらに、モデル送信部１１０７は、Ａ車種ベース、Ｂ車種ベース、Ｃ車種ベースまたはＤ車種ベースのＸ車種用のドライバモデルをモデル格納部１１０６から読み出し、そのドライバモデルをＸ車種の車両１２００ｘに送信する。
【０１３０】
図１６は、本変形例に係る車両１２００の機能構成を示すブロック図である。
【０１３１】
本変形例に係る車両１２００は、上記実施の形態と同様に、走行状況検出部１２０１と、フォーマット処理部１２０２と、履歴送信部１２０３と、履歴生成部１２０４と、モデル取得部１２０５と、モデル格納部１２０６と、推定部１２０７と、インターフェース部１２０９と、車両制御部１２１０とを備える。また、本変形例に係る車両１２００は、さらに、モデル指定部１２０８を備える。
【０１３２】
Ｘ車種の車両１２００ｘに備えられているインターフェース部１２０９は、Ｘ車種用のドライバモデルの種別を選択するための画面を、モデル種別選択画面として表示する。具体的には、このモデル種別選択画面は、Ｘ車種用のドライバモデルの複数の種別、つまり、上述のＡ車種ベース、Ｂ車種ベース、Ｃ車種ベースおよびＤ車種ベースから、何れかの種別を選択するための画面である。
【０１３３】
ここで、インターフェース部１２０９は、運転者の操作に応じて何れかの種別を受け付けると、その種別をモデル指定部１２０８に通知する。
【０１３４】
モデル指定部１２０８は、インターフェース部１２０９からＸ車種用のドライバモデルの種別の通知を受けると、その種別をモデル取得部１２０５に指定する。モデル取得部１２０５は、モデル指定部１２０８からの種別の指定を受け付けると、その種別のＸ車種用のドライバモデルをサーバ１１００から取得する。
【０１３５】
図１７は、インターフェース部１２０９によって表示されるモデル種別選択画面の一例を示す図である。
【０１３６】
例えば、インターフェース部１２０９は、図１６に示すモデル種別選択画面を表示する。このモデル種別選択画面は、Ａ車種ベースのＸ車種用のドライバモデルを示すアイコンｇ１と、Ｂ車種ベースのＸ車種用のドライバモデルを示すアイコンｇ２と、Ｃ車種ベースのＸ車種用のドライバモデルを示すアイコンｇ３と、Ｄ車種ベースのＸ車種用のドライバモデルを示すアイコンｇ４とを含む。
【０１３７】
ここで、例えば図４の（ｃ）に示すインターフェース部１２０９の複数の操作ボタンｂ１〜ｂ８のうちの何れか１つが運転者によって操作される。このとき、インターフェース部１２０９は、選択画面のアイコンｇ１〜ｇ４のうち、その操作された操作ボタンに対応するアイコンを強調表示する。そして、インターフェース部１２０９は、そのアイコンによって示されるＸ車種用のドライバモデルの種別をモデル指定部１２０８に通知する。
【０１３８】
このように、本変形例に係るサーバ１１００のプロセッサは、さらに、Ｂ車種（すなわち第３の車種）に属するｋ（ｋはｍより大きい整数）台の車両のそれぞれから、第３の走行履歴を取得する。そして、プロセッサは、第３の走行履歴に基づく学習によって、Ｂ車種に属する車両の走行状況と挙動との関係を示すＢ車種用のドライバモデル（すなわち第３のドライバモデル）を構築する。ここで、そのプロセッサは、Ａ車種用のドライバモデルおよびＢ車種用のドライバモデルのうちのＢ車種用のドライバモデルの指定を受け付ける。この場合には、プロセッサは、Ｂ車種用のドライバモデルに対する第２の走行履歴を用いた転移学習によって、Ｘ車種用のドライバモデルを構築する。
【０１３９】
これにより、Ｂ車種用のドライバモデルに基づくＸ車種用のドライバモデルと、Ａ車種用のドライバモデルに基づくＸ車種用のドライバモデルとを、指定によって選択的に構築することができる。その結果、Ｂ車種用のドライバモデルに基づくＸ車種用のドライバモデルは、Ｂ車種に近い走行特性を示すため、そのＸ車種用のドライバモデルを用いれば、Ｂ車種に近い走行特性にしたがった挙動を推定することができる。また、Ａ車種用のドライバモデルに基づくＸ車種用のドライバモデルは、Ａ車種に近い走行特性を示すため、そのＸ車種用のドライバモデルを用いれば、Ａ車種に近い走行特性にしたがった挙動を推定することができる。
【０１４０】
また、本変形例に係るサーバ１１００のプロセッサは、転移学習に利用可能な予め定められた複数の車種に、Ａ車種およびＢ車種が含まれるか否かを判定してもよい。この場合、そのプロセッサは、Ａ車種およびＢ車種が含まれると判定した場合に、Ａ車種用のドライバモデルおよびＢ車種用のドライバモデルを構築する。
【０１４１】
これにより、転移学習に利用できない車種のドライバモデルを構築する無駄を省くことができる。
【０１４２】
（その他の実施の形態）
なお、上記実施の形態およびその変形例において、推定する挙動を「車間距離など」としたが、それ以外にもｓ秒後の車速、車間距離、蛇角としてもよい。その場合、走行履歴の挙動には各々に対応する数値が格納される。これらをニューラルネットワークにより学習することで、任意の走行状況における挙動（ｓ秒後の車速、車間距離、蛇角）を推定することができる。
【０１４３】
なお、上記実施の形態およびその変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記実施の形態およびその変形例の情報処理システムなどを実現するソフトウェアは、図１４に示すステップをコンピュータに実行させるプログラムである。
【０１４４】
なお、上記実施の形態およびその変形例では、Ａ車種の車両１２００ａと、Ｘ車種の車両１２００ｘとは、同一の構成を有するが、それぞれ異なる構成を有していてもよい。例えば、Ａ車種の車両１２００ａのみがフォーマット処理部１２０２を備え、Ｘ車種の車両１２００ｘは、フォーマット処理部１２０２を備えていなくてもよい。この場合、Ａ車種のフォーマット処理部１２０２は、検出された走行状況を示すパラメータのフォーマットを変換し、変換後のフォーマットをＸ車種のフォーマットに一致させる。
【０１４５】
また、上記実施の形態およびその変形例では、転移学習にヒストグラム（具体的には、仮挙動ヒストグラム）を使ったが、このようなヒストグラムを使わなくてもよく、どのような転移学習を行ってもよい。また、上記実施の形態およびその変形例では、ドライバモデルとしてニューラルネットワークを構築したが、ニューラルネットワーク以外のドライバモデルを構築してもよい。
【０１４６】
また、上記実施の形態およびその変形例では、Ａ車種の車両１２００ａに、Ａ車種用のドライバモデルを送信したが、Ｘ車種用のドライバモデルを送信してもよい。例えば、Ａ車種の車両１２００ａと、Ｘ車種の車両１２００ｘとが、車体および走行性能などにおいて実質的に同一である場合、Ａ車種の車両１２００ａに、Ｘ車種用のドライバモデルを送信してもよい。ここで、Ｘ車種の走行状況検出部１２０１の検出性能および信頼度は、Ａ車種の走行状況検出部１２０１の検出性能および信頼度よりも高い。例えば、Ａ車種の走行状況検出部１２０１は、車間距離を５ｍまたは１０ｍ単位で検出するが、Ｘ車種の走行状況検出部１２０１は、車間距離を１ｍ単位で検出する。したがって、Ａ車種用のドライバモデルに対する転移学習によって構築されたＸ車種用のドライバモデルは、そのＡ車種用のドライバモデルよりも信頼性が高い。したがって、Ａ車種の推定部１２０７は、そのＸ車種用のドライバモデルを用いて挙動の推定を行うことによって、挙動の推定精度および信頼性を向上することができる。
【０１４７】
また、上記実施の形態およびその変形例では、Ａ車種の車両１２００ａが普及車であり、Ｘ車種の車両１２００ｘが高級車であったが、Ａ車種の車両１２００ａがセダンの車両であって、Ｘ車種の車両１２００ｘがワンボックスカーであってもよい。
【０１４８】
以上、本発明の一つまたは複数の態様に係る情報処理システムについて、実施の形態およびその変形例に基づいて説明したが、本発明は、この実施の形態およびその変形例に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を上記実施の形態またはその変形例に施したものや、実施の形態およびその変形例における構成要素を組み合わせて構築される形態も、発明の範囲内に含まれてもよい。
【産業上の利用可能性】
【０１４９】
本発明は、車両に適した挙動を推定することができるという効果を奏し、例えば自動運転を行うための情報処理システムに利用可能である。
【符号の説明】
【０１５０】
１０００    情報処理システム
１１００    サーバ
１１０１    情報取得部
１１０２、１１０２ａ    Ａ車種履歴格納部
１１０２ｂ    Ｂ車種履歴格納部
１１０２ｃ    Ｂ車種履歴格納部
１１０２ｄ    Ｂ車種履歴格納部
１１０３    Ｘ車種履歴格納部
１１０４    学習部
１１０５    転移学習部
１１２１    仮推定部
１１２２    ヒストグラム生成部
１１２３    学習処理部
１１０６    モデル格納部
１１０７    モデル送信部
１２００、１２００ａ、１２００ｘ    車両
１２０１    走行状況検出部
１２０２    フォーマット処理部
１２０３    履歴送信部
１２０４    履歴生成部
１２０５    モデル取得部
１２０６    モデル格納部
１２０７    推定部
１２０８    モデル指定部
１２０９    インターフェース部
１２１０    車両制御部
【図１】
2018118672.tif 000003
【図２】
2018118672.tif 000004
【図３】
2018118672.tif 000005
【図４】
2018118672.tif 000006
【図５】
2018118672.tif 000007
【図６】
2018118672.tif 000008
【図７Ａ】
2018118672.tif 000009
【図７Ｂ】
2018118672.tif 000010
【図８】
2018118672.tif 000011
【図９】
2018118672.tif 000012
【図１０】
2018118672.tif 000013
【図１１】
2018118672.tif 000014
【図１２】
2018118672.tif 000015
【図１３】
2018118672.tif 000016
【図１４】
2018118672.tif 000017
【図１５】
2018118672.tif 000018
【図１６】
2018118672.tif 000019
【図１７】
2018118672.tif 000020