(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023180394
(43)【公開日】2023-12-21
(54)【発明の名称】走行データ分類装置
(51)【国際特許分類】
G08G 1/00 20060101AFI20231214BHJP
G07C 5/00 20060101ALI20231214BHJP
【FI】
G08G1/00 D
G07C5/00 Z
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022093669
(22)【出願日】2022-06-09
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】牛山 慧介
(72)【発明者】
【氏名】竹内 伸一
(72)【発明者】
【氏名】山村 周玄
(72)【発明者】
【氏名】成瀬 正秋
(72)【発明者】
【氏名】山口 龍一
(72)【発明者】
【氏名】則竹 真吾
(72)【発明者】
【氏名】村上 亮
(72)【発明者】
【氏名】柳川 涼
【テーマコード(参考)】
3E138
5H181
【Fターム(参考)】
3E138AA07
3E138BA09
3E138MA01
3E138MB02
3E138MB13
3E138MD03
5H181AA01
5H181CC27
5H181FF10
(57)【要約】
【課題】人手によらずに自動的に走行データを分類することができる走行データ分類装置を提供する。
【解決手段】走行データ分類装置10は、車両の原動機のアウトプットトルクを含む説明変数の時系列データである走行データを用いて、当該走行データを収集しているときに車両が走行していた地点に対応する走行路名を推定する学習済みモデルが記憶されているストレージ12を備えている。この学習済みモデルは、走行データと、当該走行データを収集しているときに車両が走行していた地点に対応する走行路名を示す正解データと、を含む訓練データを用いて教師有り学習されている。また、走行データ分類装置10は、ストレージ12に記憶されている学習済みモデルを用いて、走行データから走行路名に対応する推定値を出力する推定処理及びその推定値に基づいて走行データを走行路名に当てはめて分類する分類処理を実行するプロセッサ11を備えている。
【選択図】
図1
【特許請求の範囲】
【請求項1】
センサを搭載した車両を走行させながら前記センサで収集した走行データを、予め設定した複数の走行路名に当てはめて分類する走行データ分類装置であり、
前記車両の原動機のアウトプットトルクを含む説明変数の時系列データである前記走行データを用いて、当該走行データを収集しているときに前記車両が走行していた地点に対応する前記走行路名を推定する学習済みモデルであって、前記走行データと、当該走行データを収集しているときに前記車両が走行していた地点に対応する前記走行路名を示す正解データと、を含む訓練データを用いて教師有り学習された前記学習済みモデルが記憶されている記憶装置と、
前記記憶装置に記憶されている前記学習済みモデルを用いて、前記走行データから前記走行路名に対応する推定値を出力する推定処理及び前記推定値に基づいて前記走行データを前記走行路名に当てはめて分類する分類処理を実行する処理回路と、を備えている
走行データ分類装置。
【請求項2】
前記説明変数は、操舵角の情報を含んでいる
請求項1に記載の走行データ分類装置。
【請求項3】
前記説明変数は、アクセル開度の情報を含んでいる
請求項1に記載の走行データ分類装置。
【請求項4】
前記説明変数は、車速の情報を含んでいる
請求項1に記載の走行データ分類装置。
【請求項5】
前記走行路名は、走行地域名を含んでいる
請求項1に記載の走行データ分類装置。
【請求項6】
前記処理回路は、前記走行データに対して前処理を施した入力データを前記推定処理において前記学習済みモデルに入力する
請求項1に記載の走行データ分類装置。
【請求項7】
前記前処理は、前記走行データから切り出し開始時刻を変更しながら既定時間分のデータを繰り返し切り出して複数の部分時系列データを取得する処理を含み、
前記入力データは、前記部分時系列データである
請求項6に記載の走行データ分類装置。
【請求項8】
前記前処理は、前記部分時系列データにおける前記説明変数の近似直線の傾き及び切片を算出する処理を含み、
前記入力データが、前記傾き及び前記切片である
請求項7に記載の走行データ分類装置。
【請求項9】
前記分類処理は、前記推定値の時系列データを既定時間分に区切り、区切られた各区間における最頻値を前記区間における前記推定値とする後処理を施した前記推定値に対して、当該推定値に対応した前記走行路名を出力する処理である
請求項1~8の何れか一項に記載の走行データ分類装置。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は車両を走行させながら収集した走行データを分類する走行データ分類装置に関するものである。
【背景技術】
【0002】
車両を走行させながら車両に搭載したセンサでデータを収集することがある。特許文献1には、テストコースを走行する試験車両が開示されている。また、特許文献1には、複数の試験車両が走行しているテストコースの縮小図に、各試験車両を表す像を表示する管理システムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、車両を走行させながら収集した走行データを解析する際には、収集した走行データを走行路の種類毎に分類することがある。収集した走行データの内容を目視で確認して分類を行うと、時間と、人手がかかる。
【課題を解決するための手段】
【0005】
以下、上記課題を解決するための手段及びその作用効果について記載する。
上記課題を解決するための走行データ分類装置は、センサを搭載した車両を走行させながら前記センサで収集した走行データを、予め設定した複数の走行路名に当てはめて分類する。この走行データ分類装置は、前記車両の原動機のアウトプットトルクを含む説明変数の時系列データである前記走行データを用いて、当該走行データを収集しているときに前記車両が走行していた地点に対応する前記走行路名を推定する学習済みモデルであって、前記走行データと、当該走行データを収集しているときに前記車両が走行していた地点に対応する前記走行路名を示す正解データと、を含む訓練データを用いて教師有り学習された前記学習済みモデルが記憶されている記憶装置と、前記記憶装置に記憶されている前記学習済みモデルを用いて、前記走行データから前記走行路名に対応する推定値を出力する推定処理及び前記推定値に基づいて前記走行データを前記走行路名に当てはめて分類する分類処理を実行する処理回路と、を備えている。
【0006】
走行中に収集されるアウトプットトルクには、車両が走行している路面の状態に応じた変化が生じる。すなわち、アウトプットトルクの時系列データは、車両が走行している走行路名を推定するのに資する情報である。走行データは、アウトプットトルクを含む説明変数の時系列データである。上記の走行データ分類装置は、教師有り学習によって学習した学習済みモデルを用いて走行データから走行路名を推定する。そのため、上記の走行データ分類装置によれば、学習済みモデルを用いて、人手によらずに自動的に走行データを分類することができる。
【図面の簡単な説明】
【0007】
【
図1】
図1は、走行データ分類装置の構成を示す模式図である。
【
図2】
図2は、アウトプットトルクを説明する説明図である。
【
図3】
図3は、訓練データの取得の仕方の一例を説明するグラフである。
【
図4】
図4は、整形したデータの一例を示す説明図である。
【
図5】
図5は、学習処理の流れを示すフローチャートである。
【
図6】
図6は、推定処理及び分類処理にかかる処理の流れを示すフローチャートである。
【
図7】
図7は、後処理を施す前の推定値を示すグラフである。
【
図8】
図8は、後処理を施した後の推定値を示すグラフである。
【発明を実施するための形態】
【0008】
以下、走行データ分類装置の一実施形態について、
図1~
図8を参照して説明する。
<走行データ分類装置10の構成>
図1は走行データ分類装置10の構成を示している。走行データ分類装置10は、コンピュータである。走行データ分類装置10は、処理回路であるプロセッサ11と、記憶装置であるストレージ12と、補助記憶装置であるメモリ13と、を備えている。また、走行データ分類装置10は、入力装置14と、表示装置15と、入出力インターフェース16と、通信装置17も備えている。入力装置14は、例えば、キーボードである。入力装置14はタッチパネルであってもよい。これらプロセッサ11、ストレージ12、メモリ13、入力装置14、表示装置15、入出力インターフェース16、及び通信装置17のそれぞれは、バス18を介して接続されている。
【0009】
ストレージ12にはプログラムが記憶されている。プロセッサ11はストレージ12に記憶されているプログラムを実行して各種の処理を実行する。走行データ分類装置10は、走行データを分類する。走行データは、センサを搭載した車両を走行させながらセンサで収集したデータである。具体的には、走行データは、車両に搭載されたトルクセンサ30によって検出したアウトプットトルクの時系列データを含んでいる。走行データ分類装置10は、この走行データを、予め設定した複数の走行路名に当てはめて分類する。要するに、走行データ分類装置10は、走行データが、どの走行路を走行しているときに取得した走行データであるのかを推定する。そして、その推定結果に従って走行データを走行路名に当てはめて分類する。
【0010】
<トルクセンサ30について>
図2に示すように、トルクセンサ30は、ドライブシャフト21に接続されている。ドライブシャフト21は、車両の原動機20の出力軸である。例えば、原動機20は、エンジンである。なお、原動機20は、モータであってもよい。また、原動機20は、エンジンとモータとを組み合わせたハイブリッドシステムであってもよい。
【0011】
ドライブシャフト21は、駆動輪25に接続されている。トルクセンサ30は、ドライブシャフト21のトルクを検出する。原動機20から出力されるトルクであるこのトルクを、ここではアウトプットトルクと称する。車両が走行しているときには、原動機20の出力が一定であっても走行路の状態によってアウトプットトルクが変化する。例えば、車両の開発においては、こうしたアウトプットトルクを含む走行データを収集し、その時系列データを解析することがある。
【0012】
<走行データの分類について>
走行データを解析する際には、収集した走行データを走行路の種類毎に分類することがある。例えば、急なカーブやストレート、登坂路など複数のセクションを含むテストコースを走行して走行データを収集した場合、走行データをセクション毎に分類することがある。また、山道や高速道路、郊外の一般道などを含む長距離の走行を通じて走行データを収集した場合、走行データを「山道」、「未舗装路」、「高速道路」、「一般道」など、走行路の種類毎に分類することがある。また、走行路名には、走行地域名を含んでいてもよい。例えば、「長野県治部坂」、「静岡県箱根」、「兵庫県六甲山」、「滋賀県伊吹山」など、走行データを収集した地域毎に走行データを分類してもよい。
【0013】
従来、こうした走行データの分類は、走行データの内容を表示装置に、グラフなどのかたちで表示して、目視で確認しながら人手で行われる。
図3は、アウトプットトルクの時系列データのグラフである。例えば、人手で分類を行う場合には、分類作業者が、グラフの形状や値の大きさから時刻t0~時刻t2までの走行データはストレートを走行しているときの走行データであると判断して走行路名「ストレート」を示す「1」に分類する。そして、分類作業者は、グラフの形状や値の大きさから時刻t3~時刻t8までの走行データは登坂路を走行しているときの走行データであると判断して走行路名「登坂路」を示す「2」に分類する。
【0014】
このように、走行データの内容を目視で確認して分類行うと、時間と、人手がかかる。特に、未分類の走行データが大量に蓄積されていると、分類にかかる労力も膨大になってしまう。
【0015】
<学習済みモデルについて>
走行データ分類装置10のストレージ12には、走行データに基づいて、当該走行データを収集しているときに車両が走行していた地点に対応する走行路名を推定する学習済みモデルが記憶されている。走行データ分類装置10は、未分類の走行データを、この機械学習済みモデルを用いて自動的に分類する。走行データ分類装置10のストレージ12には、分類する対象であるたくさんの未分類の走行データが蓄積されている。こうした未分類の走行データは、記録媒体を介して走行データ分類装置10のストレージ12に移動させることができる。また、通信装置17を介して車両から走行データ分類装置10に送信してもよい。
【0016】
学習済みモデルは、走行データと、当該走行データを収集しているときに車両が走行していた地点に対応する走行路名を示す正解データと、を含む訓練データを用いて教師有り学習されている。訓練データは、
図3を参照して例示したように、従来と同様に、人が確認して走行データに対して正解データを付与することによって作成することができる。
【0017】
学習済みモデルを取得するアルゴリズムは、様々なアルゴリズムから適宜選択して適用することができる。例えば、走行データがテストコース内を走行して収集した走行データであるのかテストコース外を走行して収集した走行データであるのかを分類する2クラス分類の場合、SVMを用いることができる。SVMは、サポートベクターマシーンである。SVMは、訓練データを適切に分類することのできる超平面を学習するアルゴリズムである。また、最近傍法を用いて、走行データが何れのクラスに分類されるかを決定することもできる。また、ニューラルネットワークを用いて走行データから走行路面名に対応する推定値を出力するようにすることもできる。決定木アルゴリズムを用いて走行データから走行路面名に対応する推定値を出力できるように、訓練データを用いて決定木の分岐条件及び閾値を学習値して学習済みモデルを取得してもよい。
【0018】
なお、教師有り学習に用いる訓練データは、必要に応じて標準化や正規化などの前処理を行うとよい。また、前処理として、走行データから切り出し開始時刻を変更しながら既定時間分のデータを繰り返し切り出して複数の部分時系列データを取得する処理を行ってもよい。
【0019】
例えば、
図3に示すように、一点鎖線で示すウィンドウの範囲内のデータを切り出す。そして、
図4に示すように、切り出した部分時系列のデータを、訓練データにおける説明変数にする。また、このとき部分時系列データの先頭のデータについての正解データをこの訓練データにおける目的変数にする。
【0020】
例えば、
図4に示すウィンドウW1における切り出し開始時刻は時刻t0である。このウィンドウW1の時間幅が既定時間である。ウィンドウW1の範囲に含まれるデータが切り出されて
図4に示すウィンドウW1に対応する説明変数としてリストに格納される。また、
図3に示すようにウィンドウW1内における先頭のデータ「5」に対応する正解データ「1」が、ウィンドウW1に対応する目的変数として説明変数とともにリストに格納される。こうして説明変数と目的変数とをセットにして1つのリストに格納する。
【0021】
前処理では、
図3に示すように、ウィンドウをストライドstずつずらしながら部分時系列データの切り出しを繰り返して、訓練データを
図4に示すような、行列状の訓練データに整形する。このデータでは、行方向に1つの部分時系列データにおける説明変数と、それに対応する目的変数とが格納されている。そして、このデータでは、こうした説明変数と目的変数とのセットが、時系列に沿って列方向に並んでいる。
【0022】
図4に示す例においては、
図3におけるウィンドウW1に含まれる説明変数である「5」、「7」、「10」、「24」、「23」と、ウィンドウW1の切り出し開始時刻における走行路名に対応する正解データである「1」と、が1行目に並んでいる。そして、2行目には、ウィンドウW1からウィンドウをストライドstの分ずらしたウィンドウW2に対応するデータが並んでいる。具体的には、ウィンドウW2に含まれる説明変数である「10」、「24」、「23」、「27」、「25」と、ウィンドウW2の切り出し開始時刻における走行路名に対応する正解データである「1」と、が2行目に並んでいる。さらに、3行目には、ウィンドウW2からウィンドウをストライドstの分ずらしたウィンドウW3に対応するデータが並んでいる。具体的には、ウィンドウW3に含まれる説明変数である「23」、「27」、「25」、「22」、「23」と、ウィンドウW3の切り出し開始時刻における走行路名に対応する正解データである「2」と、が3行目に並んでいる。
【0023】
なお、ウィンドウの時間幅すなわち既定時間の長さ、そしてストライドstの大きさは、適切な分類が行えるように、学習済みモデルのアルゴリズムの特性や、分類する走行路名の種類などに応じて設定すればよい。
【0024】
また、上記のように、部分時系列データを取得する前処理を行う場合に、訓練データに含まれる部分時系列データのそれぞれを、その代表値に集約する前処理をさらに行うようにしてもよい。例えば、この前処理では、分時系列データにおける説明変数の近似直線の傾き及び切片を算出する。そして、算出した傾き及び切片の値をこの部分時系列データの情報を集約したデータとして、この部分時系列データにおける説明変数としてリストに格納する。こうして代表値に集約することにより、時系列データに含まれる情報を抽出して訓練データのデータ量を削減することができる。
【0025】
走行データの例としてアウトプットトルクを例示しているが、走行データは、アウトプットトルク以外のデータを説明変数として含んでいてもよい。また、説明変数として、各駆動輪に接続されたそれぞれのドライブシャフトにおけるアウトプットトルクを含んでいてもよい。すなわち、説明変数は、複数のアウトプットトルクを含んでいてもよい。
【0026】
アウトプットトルク以外の説明変数としては、例えば、操舵角の情報、アクセル開度の情報、車速の情報などを含めてもよい。これらの全てを説明変数に含めてもよいし、これらの中からいくつか若しくは、1つを説明変数に含めてもよい。またこれら以外の情報を説明変数に含めてもよい。
【0027】
<学習処理について>
次に、学習済みモデルを得るための学習処理について説明する。モデルの学習は、正解データを含む訓練データを用いた教師有り学習によって行う。学習処理は、走行データ分類装置10と同様に、処理回路と記憶装置とを備えているコンピュータによって行われる。コンピュータの記憶装置には、学習を完了させて学習済みモデルを得るために十分な量の訓練データが記憶されている。なお、走行データ分類装置10のストレージ12に訓練データを記憶させて走行データ分類装置10そのものによって学習処理を行ってもよい。
【0028】
図5に示すように、学習処理を開始すると、コンピュータはまず、ステップS100の処理において、記憶装置に記憶されている訓練データを読み込む。ここで読み込むのは記憶装置に記憶されている訓練データの一部である。例えば、
図4を参照して説明したように、訓練データが部分時系列データの集合による行列になっている場合には、この訓練データから時系列に並んだ複数行のデータを読み込む。こうしてデータを読み込むと、コンピュータは処理をステップS110に処理を進める。
【0029】
ステップS110の処理において、コンピュータは、教師有り学習により学習を行うモデルに、読み込んだデータを入力して走行路名を示す推定値を算出する。学習処理を開始したときには、モデルのパラメータは初期状態になっている。読み込んだ各データを用いて各データから推定値をそれぞれ算出すると、コンピュータは処理をステップS120へと進める。
【0030】
ステップS120の処理において、コンピュータは、学習を実行する。具体的には、コンピュータは、読み込んだデータに含まれる目的変数と、ステップS110の処理を通じて算出した推定値とのずれを誤差関数として算出する。そして、コンピュータは、誤差関数が小さくなるように、モデルのパラメータを調整することによって学習を行う。モデルのパラメータを更新すると、コンピュータは処理をステップS130へと進める。
【0031】
ステップS130の処理において、コンピュータは、学習が完了したか否かを判定する。学習が完了したと判定する条件は、学習の実行回数や、誤差関数の大きさなどに基づいて適宜設定すればよい。例えば、誤差関数が十分に小さくなったことに基づいて学習が完了したと判定するようにしてもよい。また、十分な推定精度のモデルを得るのに必要な実行回数が分かっているのであれば、実行回数がその回数に達したことに基づいて学習が完了したと判定するようにしてもよい。
【0032】
ステップS130の処理において、学習が完了していないと判定した場合(ステップS130:NO)には、コンピュータは、処理をステップS100に戻す。そして、コンピュータは、ステップS100~ステップS130の処理を繰り返す。すなわち、コンピュータは、学習が完了したと判定するまで、データを少しずつ読み込んで徐々にモデルのパラメータを更新する学習を繰り返す。そして、ステップS130の処理において、学習が完了したと判定した場合(ステップS130:YES)には、コンピュータは、処理をステップS140へと進める。
【0033】
ステップS140の処理において、コンピュータは学習が完了したモデルのパラメータを記憶装置に記録する。そして、コンピュータは、この一連の学習処理を終了させる。こうして学習処理を通じて学習済みモデルのデータが得られる。走行データ分類装置10のストレージ12には、こうして学習処理を通じて学習された学習済みモデルのデータが記憶されている。
【0034】
<推定処理及び分類処理について>
次に、走行データ分類装置10を用いて未分類の走行データを分類する場合の推定処理及び分類処理について説明する。
【0035】
走行データ分類装置10のストレージ12には、上述したように未分類の走行データが記憶されている。走行データ分類装置10は、この未分類の走行データを入力データとして学習済みモデルに入力して走行データを走行路名に当てはめて分類する。
【0036】
ストレージ12に記憶されている未分類の走行データは、訓練データとは異なり、正解データが与えられていない。走行データ分類装置10は、この正解データが与えられていない走行データに対して、訓練データに対して実施した前処理と同様の処理を施す。この前処理は、プロセッサ11がプログラムを実行することによって実現される。
【0037】
そして、前処理が完了すると、走行データ分類装置10は、
図6に示す一連の処理を実行する。この一連の処理は、プロセッサ11によって実行される。
図6に示すように、プロセッサ11は、まずステップS200の処理において、データの読み込み処理を行う。これにより、ストレージ12に記憶されている前処理済みのデータが読み込まれる。上述した学習処理と同様に、ここで読み込むのはストレージ12に記憶されている前処理済みのデータの一部である。こうしてデータを読み込むと、プロセッサ11は処理をステップS210に処理を進める。
【0038】
ステップS210の処理において、プロセッサ11は、学習済みモデルに、読み込んだデータを入力データとして入力して走行路名を示す推定値を算出する。そして、各入力データを用いて各入力データから推定値をそれぞれ算出すると、コンピュータは処理をステップS220へと進める。ステップS220の処理において、プロセッサ11は、算出した推定値を、算出に用いた走行データと紐付けてストレージ12に記録する。
【0039】
次に、プロセッサ11は、ステップS230の処理において、ストレージ12に記憶されている前処理済みの走行データを全て処理したか否かを判定する。すなわち、ストレージ12に記憶されている全ての前処理済みの走行データに対して推定値の算出が完了したかを判定する。ステップS230の処理において全ての走行データを処理していないと判定した場合(ステップS230:NO)には、プロセッサ11は、処理をステップS200へと戻す。そして、プロセッサ11は、推定値の算出を行っていない残りの走行データの一部を読み込んでステップS210以降の処理を実行する。こうしてプロセッサ11は、ストレージ12に記憶されている未分類の全ての走行データに対して推定値の算出を行うまで、ステップS200~ステップS230の処理を繰り返す。
【0040】
そして、ステップS230の処理において、全てのデータを処理したと判定した場合(ステップS230:YES)には、プロセッサ11は、処理をステップS240へと進める。
【0041】
この走行データ分類装置10では、上記のステップS200~ステップS230までの一連の処理が、ストレージ12に記憶されている学習済みモデルを用いて、走行データから走行路名に対応する推定値を出力する推定処理に相当する。
【0042】
ステップS240の処理において、プロセッサ11は、ストレージ12に記録されている推定値のデータに後処理を施す。
図7は、後処理を施す前の推定値のデータを示している。走行データと紐付けられている推定値のデータは、走行データの収集時刻において車両が走行していた地点の走行路名を示す情報になっている。しかし、アウトプットトルクの瞬間的な変動などの影響により、推定値は、
図7に示すように所々で大きく変動して揺らいでいる。こうした揺らぎを含む推定値に基づいて走行路名を判定して走行データを分類すると、走行データが細切れになってしまい、正しく解析を行うことができないおそれがある。
【0043】
そこで、この走行データ分類装置10では、推定値のデータに後処理を施し、推定値のデータの揺らぎを抑制している。具体的には、プロセッサ11は、
図7に示すように、ウィンドウWに含まれる推定値を抜き出して最頻値を算出する。そして、算出した最頻値をそのウィンドウWの範囲の代表値として採用し、抜き出した推定値の値を最頻値の値と等しい値に更新する。こうした処理を一定のストライドで移動させながら全ての推定値に対して後処理を施す。こうした後処理を施すことにより、推定値のデータは、
図8に示すように揺らぎが抑えられたデータになる。
【0044】
ステップS240の後処理が完了すると、プロセッサ11は処理をステップS250へと進める。そして、ステップS250の処理において、走行データと紐付けられた推定値の値に基づいて、走行路名を判定する。具体的には、プロセッサ11は、走行データに紐付けられている推定値の値に対応する走行路名の情報を、走行データに付与する。これにより、走行データ分類装置10は、走行データを予め用意した複数の走行路名に当てはめて走行路名毎に分類する。全ての走行データの分類が完了すると、プロセッサ11は、処理をステップS260へと進める。
【0045】
この走行データ分類装置10では、上記のステップS250及びステップS260の処理が、推定値に基づいて走行データを走行路名に当てはめて分類する分類処理に相当する。
【0046】
ステップS260の処理において、プロセッサ11は、走行路名の情報が付与されて分類が完了した分類済みの走行データをストレージ12に記録する。そして、プロセッサ11は、この一連の処理を終了させる。
【0047】
<本実施形態の作用>
走行中に収集されるアウトプットトルクには、車両が走行している路面の状態に応じた変化が生じる。すなわち、アウトプットトルクの時系列データは、車両が走行している走行路名を推定するのに資する情報である。走行データは、アウトプットトルクを含む説明変数の時系列データである。走行データ分類装置10は、教師有り学習によって学習した学習済みモデルを用いて走行データから自動的に走行路名を推定する。
【0048】
<本実施形態の効果>
(1)走行データ分類装置10によれば、学習済みモデルを用いて、人手によらずに自動的に走行データを分類することができる。
【0049】
(2)前処理の一例として、走行データから切り出し開始時刻を変更しながら既定時間分のデータを繰り返し切り出して複数の部分時系列データを取得して、この部分時系列データを入力データにする例を示した。こうした前処理を施して部分時系列データ毎に推定値を算出する場合、部分時系列データに含まれるデータの時系列的な推移の情報を用いて推定値を算出することができる。すなわち、走行データを一定の長さに区切って分解能を高めつつも、時系列情報を維持して推定値を算出することができる。
【0050】
(3)部分時系列データにおける説明変数の近似直線の傾き及び切片を算出して傾き及び切片を入力データにする例を示した。こうした前処理を採用した場合には、部分時系列データに含まれる説明変数の情報を、傾きと切片とに圧縮することができる。したがって、学習済みモデルで扱うデータの量を少なくして、推定処理による負荷を軽減することができる。
【0051】
(4)推定値の時系列データを既定時間分に区切り、区切られた各区間における最頻値をその区間における推定値とする後処理を施す例を示した。そして、走行データ分類装置10は、こうした後処理を施した推定値に対して、当該推定値に対応した走行路名を出力する分類処理を実行している。上述したように、トルクセンサ30で取得したアウトプットトルクの値の揺らぎの影響を受けて推定値が一時的に変動することがある。上記のような後処理を施せば、こうした一時的な変動が分類結果に影響を及ぼすことを抑制できる。
【0052】
(5)説明変数に、操舵角の情報を含めることを例示した。走行路がカーブしている場合、車両がカーブに差し掛かれば操舵角が変化する。そのため、操舵角の時系列データは、車両が走行している走行路名を推定するのに資する情報である。操舵角の時系列データを含む走行データを用いれば、より多くの情報に基づいて走行路名を推定することになる。そのため、より高い精度の分類を行うことができる。
【0053】
(6)説明変数に、アクセル開度の情報を含めることを例示した。アクセル開度が変更されるとアウトプットトルクが変化する。アクセル開度とアウトプットトルクとを含む走行データを用いれば、アクセル開度の変更による影響も反映させた推定処理を実行できる。したがって、より高い精度の分類を行うことができる。
【0054】
(7)説明変数に、車速の情報を含めることを例示した。アウトプットトルクが同一であっても路面の状態に応じて車速は変化する。そのため、車速も走行路名を推定するのに資する情報である。車速の時系列データを含む走行データを用いれば、より多くの情報に基づいて走行路名を推定することになる。そのため、より高い精度の分類を行うことができる。
【0055】
(8)走行路名に、走行地域名を含めることを例示した。この場合、走行データに基づいて走行路名を分類することができる。すなわち、GPSを搭載していない車両でも、走行データを走行地域名に当てはめて自動的に分類することができる。
【0056】
<変更例>
本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【0057】
・推定処理として、ステップS200~ステップS230の処理において、複数のデータを読み込んで、各入力データから推定値をそれぞれ算出する例を示した。これに対して、ステップS200~ステップS230の処理は、データを1つずつ読み込んで、入力データから推定値を1つずつ算出する処理であってもよい。
【0058】
・後処理の具体的な方法は、上記の実施形態において例示した方法に限らない。例えば、最大値を代表値とする後処理や、最小値を代表値とする後処理を採用してもよい。また、中央値や平均値を代表値とする後処理を採用してもよい。中央値や平均値を代表値とする場合には、後処理を施した推定値と最も近い走行路名に当てはめるようにすればよい。
【0059】
・前処理において、部分時系列データの傾きと切片を算出して代表値にする例を示したが、部分時系列データの要約統計量を代表値にしてもよい。例えば、最頻値や中央値などを代表値にしてもよい。
【0060】
・上記実施形態では、走行データ分類装置10は、処理回路であるプロセッサ11と記憶装置であるストレージ12とを備えて、ソフトウェア処理を実行する。しかしながら、これは例示に過ぎない。例えば、走行データ分類装置10は、上記実施形態において実行されるソフトウェア処理の少なくとも一部を処理する専用のハードウェア回路(例えばASICなど)を備えてもよい。すなわち、走行データ分類装置10は、以下の(A)~(C)のいずれかの構成であればよい。(A)走行データ分類装置10は、プログラムに従って全ての処理を実行する実行装置と、プログラムを記憶する記憶装置とを備える。すなわち、走行データ分類装置10は、ソフトウェア実行装置を備える。(B)走行データ分類装置10は、プログラムに従って処理の一部を実行する実行装置と、記憶装置とを備える。さらに、走行データ分類装置10は、残りの処理を実行する専用のハードウェア回路を備える。(c)走行データ分類装置10は、全ての処理を実行する専用のハードウェア回路を備える。ここで、ソフトウェア実行装置、及び/又は、専用のハードウェア回路は複数であってもよい。すなわち、上記処理は、1つ又は複数のソフトウェア実行装置および1つ又は複数の専用のハードウェア回路の少なくとも一方を備えた処理回路(processing circuitry)によって実行され得る。プログラムを格納する記憶装置すなわちコンピュータ可読媒体は、汎用または専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。
【0061】
上記実施形態及び変更例は、以下の付記に記載する構成を含む。
[付記1]センサを搭載した車両を走行させながら前記センサで収集した走行データを、予め設定した複数の走行路名に当てはめて分類する走行データ分類装置であり、前記車両の原動機のアウトプットトルクを含む説明変数の時系列データである前記走行データを用いて、当該走行データを収集しているときに前記車両が走行していた地点に対応する前記走行路名を推定する学習済みモデルであって、前記走行データと、当該走行データを収集しているときに前記車両が走行していた地点に対応する前記走行路名を示す正解データと、を含む訓練データを用いて教師有り学習された前記学習済みモデルが記憶されている記憶装置と、前記記憶装置に記憶されている前記学習済みモデルを用いて、前記走行データから前記走行路名に対応する推定値を出力する推定処理及び前記推定値に基づいて前記走行データを前記走行路名に当てはめて分類する分類処理を実行する処理回路と、を備えている走行データ分類装置。
【0062】
[付記2]前記説明変数は、操舵角の情報を含んでいる[付記1]に記載の走行データ分類装置。
[付記3]前記説明変数は、アクセル開度の情報を含んでいる[付記1]又は[付記2]に記載の走行データ分類装置。
【0063】
[付記4]前記説明変数は、車速の情報を含んでいる[付記1]~[付記3]の何れか一つに記載の走行データ分類装置。
[付記5]前記走行路名は、走行地域名を含んでいる[付記1]~[付記4]の何れか一つに記載の走行データ分類装置。
【0064】
[付記6]前記処理回路は、前記走行データに対して前処理を施した入力データを前記推定処理において前記学習済みモデルに入力する[付記1]~[付記5]の何れか一つに記載の走行データ分類装置。
【0065】
[付記7]前記前処理は、前記走行データから切り出し開始時刻を変更しながら既定時間分のデータを繰り返し切り出して複数の部分時系列データを取得する処理を含み、前記入力データは、前記部分時系列データである[付記6]に記載の走行データ分類装置。
【0066】
[付記8]前記前処理は、前記部分時系列データにおける前記説明変数の近似直線の傾き及び切片を算出する処理を含み、前記入力データが、前記傾き及び前記切片である[付記7]に記載の走行データ分類装置。
【0067】
[付記9]前記分類処理は、前記推定値の時系列データを既定時間分に区切り、区切られた各区間における最頻値を前記区間における前記推定値とする後処理を施した前記推定値に対して、当該推定値に対応した前記走行路名を出力する処理である[付記1]~[付記8]の何れか一つに記載の走行データ分類装置。
【符号の説明】
【0068】
10…走行データ分類装置
11…プロセッサ
12…ストレージ
13…メモリ
14…入力装置
15…表示装置
16…入出力インターフェース
17…通信装置
18…バス
20…原動機
21…ドライブシャフト
25…駆動輪
30…トルクセンサ