(58)【調査した分野】(Int.Cl.,DB名)
前記推定部は、前回推定した移動速度と、新たに推定した移動速度との差が所定の範囲内に収まる場合には、所定の期間内に推定された推定速度の平均値を推定結果として出力する
ことを特徴とする請求項1〜5のうちいずれか1つに記載の推定装置。
前記推定部は、前回推定した移動速度と、新たに推定した移動速度との差が所定の範囲内に収まらない場合には、過去に推定された移動速度の値に所定の値を加算した移動速度、または、過去に推定された移動速度の値から所定の値を減算した移動速度を推定結果として出力する
ことを特徴とする請求項1〜6のうちいずれか1つに記載の推定装置。
前記推定部は、移動速度を推定する移動体が移動している区間、当該移動体が移動している路面の状況、当該移動体の種別、当該移動体が移動している区間の天候、および当該移動体が使用しているタイヤの種別の少なくともいずれか1つに応じて、前記移動速度を推定する際に用いる学習器を変更する
ことを特徴とする請求項1〜10のうちいずれか1つに記載の推定装置。
所定の測定手段により移動速度を測定することができる場合には、前記検出部により検出された状態と、測定された移動速度との組を用いて、当該検出された状態が検出される速度帯を学習する学習器を学習する学習部
を有し、
前記推定部は、前記学習部により学習された学習器を用いて、前記移動速度を推定する
ことを特徴とする請求項1〜11のうちいずれか1つに記載の推定装置。
【発明を実施するための形態】
【0011】
以下に、本願に係る推定装置、推定方法および推定プログラムを実施するための形態(以下、「実施形態」と呼ぶ。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る推定装置、推定方法および推定プログラムが限定されるものではない。また、以下の各実施形態において同一の部位及び処理には同一の符号を付し、重複する説明は省略される。
【0012】
また、以下の説明では、推定装置が実行する処理として、利用者が乗車した車両を目的地まで案内するカーナビゲーションにおいて、車両の移動速度を推定する処理の一例について説明するが、実施形態は、これに限定されるものではない。例えば、推定装置は、利用者が歩行している場合や列車等、車両以外の交通手段を利用している場合にも、以下に説明する処理を実行し、利用者を目的地まで案内する処理を実行してもよい。すなわち、実施形態は、移動速度の推定対象となる物体(以下、「移動体」と記載する。)の移動速度を推定する処理であれば、任意の態様が適用可能である。
【0013】
〔1.移動状態の概要〕
まず、
図1を用いて、推定装置の一例である端末装置10が判定する移動態様の概念について説明する。
図1は、実施形態に係る端末装置が発揮する作用効果の一例を説明するための図である。例えば、端末装置10は、スマートフォン、タブレット端末やPDA(Personal Digital Assistant)等の移動端末、ノート型PC(Personal Computer)等の端末装置であり、移動通信網や無線LAN(Local Area Network)等のネットワークNを介して、任意のサーバと通信可能な端末装置である。
【0014】
また、端末装置10は、利用者が乗車した車両を目的地まで案内するカーナビゲーションの機能を有する。例えば、端末装置10は、利用者から目的地の入力を受付けると、利用者を目的地まで誘導するための経路情報を、図示を省略したサーバ等から取得する。例えば、経路情報には、車両が利用可能な目的地までの経路、経路に含まれる高速道路の情報、経路上の渋滞情報、案内の目印となる施設、画面上に表示する地図の情報、案内時に出力する音声や地図等の画像等のデータが含まれる。
【0015】
また、端末装置10は、GPS(Global Positioning System)等の衛星測位システムを用いて、端末装置10の位置(以下、「現在地」と記載する。)を所定の時間間隔で特定する測位機能を有する。そして、端末装置10は、経路情報に含まれる地図等の画像を液晶画面やエレクトロルミネッセンス、LED(Light Emitting Diode)画面等(以下、単に「画面」と記載する。)に表示すると共に、特定した現在地をその都度地図上に表示する。また、端末装置10は、特定した現在地に応じて、左折や右折、使用する車線の変更、目的地への到着予定時間等を表示、若しくは、端末装置10や車両のスピーカー等から音声により出力する。
【0016】
ここで、衛星測位システムでは、複数の衛星から発信された信号を受信し、受信した信号を用いて、端末装置10の現在地を特定する。このため、端末装置10は、トンネルの中やビル群に挟まれた場所等、衛星から発信された信号を適切に受信できない場合には、現在地を特定することができない。また、端末装置10に案内を実現させるアプリケーション等は、車両から速度や移動方向等の情報を取得する機能を有していない。このため、加速度を測定する加速度センサを端末装置10に設置し、加速度センサが測定した加速度に基づいて、端末装置10の現在位置を推定する手法が考えられる。例えば、加速度センサが測定した加速度に基づいて、端末装置10が移動しているか停止しているかを判定する停止判定を行う手法が考えられる。
【0017】
より具体的な例を説明する。例えば、端末装置10は、衛星から発信された信号を適切に受信できない場合には、車両がトンネル等に入ったと判定し、最後に特定した車速および進行方向でそのまま推定位置を進める。そして、端末装置10は、測定した加速度に基づいて、車両が停止しているか否かを判定し、車両が停止していると判定した場合には、推定位置の移動を停止させる。一方、端末装置10は、車両が停止していないと判定した場合には、測定した加速度を用いて、移動体である車両の移動速度を推定し、推定した移動速度で移動しているものとして、案内を継続する。
【0018】
〔1−1.速度推定技術の一例〕
ここで、車両の移動速度を推定する速度推定技術の一例について説明する。なお、ここで示す技術は、本発明の前段階となる技術の一例であるが、本来の従来技術に属するものではない。すなわち、ここで示す技術は、本出願人が開発、試験、研究等のために秘密裡に実施している技術であり、いわゆる公知、公用または文献公知など秘密を脱した技術ではない。
【0019】
例えば、端末装置10は、画面の短尺方向をx軸とし、画面の長尺方向をy軸とし、画面に対して垂直な方向をz軸として、各xyz軸方向の加速度を測定する。例えば、端末装置10は、画面を正面とした際に、正面側を+z軸方向、背面側を−z軸方向とし、端末装置10の利用時において画面上側を+x軸方向、画面下側を−x軸方向、画面左側を+y軸方向、画面右側を−y軸方向とする端末座標系における加速度を測定する。
【0020】
一方、利用者が使用する車両の移動方向や速度は、車両が進行する方向をZ軸とし、Z軸に対して垂直な平面上において、車両が進行する際に左折若しくは右折する方向をY軸方向とし、車両の上下方向をX軸方向とする車両座標系で表される。例えば、車両の移動方向や速度は、車両の上方向を+X軸方向、下方向(すなわち、地面側)を−X軸方向、左折する方向を+Y軸方向、右折する方向を−Y軸方向、車両の後ろ方向を+Z軸方向、前方向を−Z軸方向とする車両座標系で表される。ここで、車両座標系と、端末座標系とは、端末装置10の設置姿勢等に応じたずれを有することとなる。
【0021】
そこで、端末装置10は、例えば、端末座標系で測定した加速度を用いて、重力方向、すなわち、車両座標系の−X軸方向を推定し、車両が加減速する際や進行方向を変化させる際に生じた加速度の分散を用いて車両の進行方向を特定し、推定した基準方向と進行方向とに基づいて、端末座標系で測定した加速度を車両座標系に変換する回転行列を求める。そして、端末装置10は、回転行列を用いて、端末座標系の加速度を車両座標系の加速度に変換し、変換後の加速度を用いて、車両が停止しているか否かの停止判定や、車両の移動速度の推定を実行する。
【0022】
例えば、端末装置10は、変換後の加速度の各軸方向における振幅、振動数、平均値、標準偏差、最大値、最小値の合計18個の情報を特徴量として収集する。また、端末装置10は、車両の速度が所定の閾値以上である際に取得された特徴量については、走行中の特徴量として蓄積し、車両の速度が所定の閾値以下である際に取得された特徴量については、停止中の特徴量として蓄積する。そして、端末装置10は、蓄積した特徴量を用いて、車両が停止しているか否かを判定する停止判定モデル(例えば後述のサポートベクトルマシン(SVM:Support Vector Machine)等による)を学習し、学習した停止判定モデルを用いて、トンネル等の衛星測位システムが使用できない場合に、車両が停止しているか否か判定する。そして、端末装置10は、車両が停止していないと判定した場合には、車両座標系で取得された加速度のうち、進行方向を含む面上の加速度の値の積分値に基づいて、車両の移動速度を推定する。
【0023】
しかしながら、このような技術では、道路の傾斜や曲がり角等の要因により、車両座標系と端末座標系とを正確に揃えるのが困難であるため、測定された加速度から車両の移動速度を精度良く推定することが難しいという問題がある。
【0024】
また、利用者は、サービスエリア等で端末装置10を所持して下車する場合がある。この結果、端末装置10の姿勢が変化した場合は、回転行列が変化するため、改めて進行方向を特定し、特定した進行方向と基準方向とに基づいて回転行列を求め直す必要がある。しかしながら、このような処理を実行した場合にも、進行方向が特定されるまでは、車両の停止判定や、車両の移動速度を推定することができない。また、道路が傾斜している場合や、曲がり角等で進行方向が変化した場合等には、端末座標系と車両座標系とにずれが生じうるため、判定結果や車両の移動速度に誤差が生じやすい。
【0025】
〔2.実施形態に係る端末装置10が実行する推定処理について〕
そこで、端末装置10は、以下の推定処理を実行する。例えば、端末装置10は、車両が移動した際に生じる物理的な状態を検出する。そして、端末装置10は、物理的な状態が生じる速度帯を学習した学習器を用いて、検出された物理的な状態から、移動速度を推定する。
【0026】
以下、図を用いて、上述した推定処理を実現する端末装置10の機能構成及び作用効果の一例を説明する。
【0027】
〔2−1.機能構成の一例〕
図2は、実施形態に係る端末装置が有する機能構成の一例を説明する図である。
図2に示すように、端末装置10は、通信部11、記憶部12、複数の加速度センサ13a〜13c(以下、総称して「加速度センサ13」と記載する場合がある。)、GPS受信アンテナ14、出力部15、制御部16を有する。通信部11は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部11は、ネットワークNと有線または無線で接続され、端末装置10と、端末装置10から目的地を受信すると、目的地までの経路を示す経路情報を配信する配信サーバとの間で情報の送受信を行う。
【0028】
記憶部12は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部12は、案内を実行するために用いる各種のデータである案内情報データベース12a、学習データデータベース12b、推定速度データベース12c、およびモデルデータベース12dを有する。
【0029】
案内情報データベース12aは、端末装置10が案内を行う際に用いる各種のデータが登録される。例えば、案内情報データベース12aには、図示を省略したサーバ等から受信した目的地までの経路情報が格納される。また、案内情報データベース12aには、案内において出力される各種の画像や音声データ等が格納される。
【0030】
学習データデータベース12bには、停止判定モデルおよび速度推定モデルの学習に用いる学習データが登録される。具体的には、学習データデータベース12bには、端末装置10の移動速度を含む速度帯毎に、収集された特徴量とその特徴量を収集した際における移動速度とを対応付けた学習データが、所定の数ずつ登録される。
【0031】
例えば、
図3は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。
図3に示すように、学習データデータベース12bには、「状態」、「速度帯」、および「データ#1」〜「データ#10」といった項目を有する情報が登録される。ここで「状態」とは、対応付けられた学習データが走行状態を示すデータであるか、停止状態を示すデータであるかを示す情報である。また、「速度帯」とは、対応付けられた特徴量が取得された際における端末装置10の移動速度が属する速度帯を示す情報である。また、「データ#1」〜「データ#10」は、特徴量とその特徴量が収集された際における移動速度との組、すなわち学習データである。
【0032】
例えば、
図3に示す例では、学習データデータベース12bには、「停止状態」を示す学習データとして、端末装置10の移動速度が「0km/h(キロメートル毎時)〜5km/h」である際に収集された特徴量のデータ「特徴量#1−1」〜「特徴量#1−60」が登録されている。また、学習データデータベース12bには、「走行状態」を示す学習データとして、端末装置10の移動速度が「5km/h(キロメートル毎時)〜10km/h」である際に収集された特徴量のデータ「特徴量#2−1」〜「特徴量#2−10」が登録されている。
【0033】
また、学習データデータベース12bには、他にも、端末装置10の移動速度が「10km/h(キロメートル毎時)〜20km/h」、「20km/h〜30km/h」、「30km/h〜40km/h」、「40km/h〜50km/h」、「50km/h〜60km/h」、「60km/h以上」の各速度帯において収集された特徴量のデータが10個ずつ登録されている。
【0034】
すなわち、
図3に示す例では、学習データデータベース12bには、走行状態を示す70個の学習データと停止状態を示す60個の学習データとが登録されている。なお、
図3に示す例では、学習データとして「特徴量#1−1」といった概念的な値を記載したが、実施形態は、これに限定されるものではない。例えば、学習データデータベース12bには、各特徴量を収集した際における車両の移動速度が、各特徴量と対応付けて登録されているものとする。また、後述する説明で明らかとなるように、学習データデータベース12bには、基準方向の加速度の大きさと、基準方向に垂直な面上の加速度の大きさとの組の平均値、標準偏差、最大値および最小値の値が特徴量を示すデータとして、その特徴量が取得された際における移動速度と共に登録される。
【0035】
また、
図3に示す例では、5km/hまたは10km/h間隔の速度帯ごとに特徴量が登録される例について記載したが、実施形態は、これに限定されるものではなく、端末装置10は、速度帯の幅を任意の値に設定することができる。例えば、端末装置10は、速度帯の幅を1km/h単位に設定してもよく、各速度帯毎に異なる幅に設定してもよい。
【0036】
推定速度データベース12cには、後述する学習器を用いて、検出された加速度から推定された車両の移動速度(以下、「推定速度」と記載する。)が登録される。例えば、
図4は、実施形態に係る推定速度データベースに登録される情報の一例を示す図である。
図4に示すように、推定速度データベース12cには、「時刻」および「推定速度」といった項目を有する情報が登録される。ここで、
図4に示す「時刻」とは、推定速度を推定する際に用いた加速度を測定した時刻を示す情報である。なお、「時刻」は、対応付けられた推定速度を推定した時刻を示す情報であってもよく、または、新たに推定された推定速度を「t」番目に推定された推定速度として、各推定速度が推定された順番を示す情報であってもよい。また、「推定速度」とは、検出された加速度から推定された車両の移動速度を示す情報である。
【0037】
例えば、
図4に示す例では、推定速度データベース12cには、時刻「t−14」〜「t−1」における推定速度として「V
t−14」〜「V
t−1」が登録されている。なお、時刻「t−14」〜「t−1」は、現在時刻を「t」とした際に、過去において推定速度を算出した時刻や順番を示す概念的な値であるが、実施形態は、これに限定されるものではない。例えば、端末装置10が1秒おきに推定速度を推定する場合、推定速度データベース12cには、15秒前までに推定された推定速度が登録されることとなる。
【0038】
モデルデータベース12dは、検出された加速度から取得される特徴量が入力された際に端末装置10の移動状態を判定する複数の学習器、すなわち、モデルが登録される。より具体的には、モデルデータベース12dには、検出された加速度から取得された特徴量が入力されると、車両が停止しているか否かを判定するモデル(以下、「停止判定モデル」と記載する。)と、入力された特徴量が生じる移動速度を学習したモデル(以下、「速度推定モデル」と記載する。)とが登録されている。
【0039】
ここで、モデルデータベース12dに登録される停止判定モデルおよび速度推定モデルについて説明する。停止判定モデルおよび速度推定モデルは、端末装置10によって加速度が検出された際における車両の移動速度と、検出された加速度または加速度から取得された特徴量とを正解データとして用いることにより、車両の走行状態の学習が行われた学習器である。例えば、停止判定モデルや速度推定モデルは、入力されたデータを分類するSVM等の線形分類器や、ニューラルネットワーク、DNN(Deep Neural Network)等、任意の学習器やモデルが採用可能である。
【0040】
ここで、停止判定モデルは、特徴量が入力されると、その特徴量の取得元となる加速度が検出された際に、車両が停止していたか否かを判定するように学習が行われた学習器である。また、速度推定モデルは、特徴量が入力されると、その特徴量の取得元となる加速度が検出された際に、車両が所定の速度よりも遅い速度で走行していたか、車両が所定の速度よりも速い速度で走行していたかを判定するように学習が行われた学習器である。すなわち、速度推定モデルは、車両が所定の速度帯で走行する際に生じる加速度や特徴量が有する特徴を学習することで、入力された加速度や特徴量が生じる速度帯を学習する。そして、速度推定モデルは、移動速度を推定する場合は、取得された特徴量が有する特徴に基づいて、所定の速度よりも速い速度帯、または、所定の速度よりも遅い速度帯に、移動速度を分類する学習器である。より具体的な例を挙げると、速度推定モデルは、車両が所定の速度帯で走行する際に生じる振動等の特徴を学習することで、検出された加速度が示す振動等の特徴から、車両の移動速度を含む速度帯を推定する。
【0041】
例えば、
図5は、実施形態に係るモデルデータベースに登録される情報の一例を示す図である。
図5に示すように、モデルデータベース12dには、「モデルID(Identifier)」、「判定速度」、「モデルデータ」、「学習フラグ」、および「階層」といった項目を有する情報が登録される。ここで、「モデルID」は、モデルの識別子である。「判定速度」とは、対応付けられたモデルが判定の基準とする速度である。例えば、判定速度が「40km/h」であるモデルは、移動速度を推定する推定時において、特徴量の入力を受付けると、移動速度が「40km/h」未満の速度帯に含まれるか、「40km/h」以上の速度帯に含まれるかを判定する。すなわち、モデルデータベース12dに登録された速度推定モデルは、入力された特徴量を、移動速度が所定の判定速度未満の際に取得された特徴量であるか、移動速度が所定の判定速度以上の際に取得された特徴量であるかを判定するモデルである。
【0042】
また、「モデルデータ」は、学習された停止判定モデルや速度推定モデルのデータである。また、「学習フラグ」は、対応付けられたモデルの学習が完了しているか否かを示す情報である。例えば、後述する学習処理により学習が完了しているモデルには、学習フラグ「1」が対応付けて登録され、学習が完了していないモデルには、学習フラグ「0」が対応付けて登録される。また、「階層」とは、移動速度を推定する推定時において、対応付けられたモデルを使用する優先度を示す値であり、値が少ない程、優先度が高いモデルである旨を示す。なお、「階層」は、移動速度を推定する際にモデルを使用する優先度のみならず、後述する学習処理において、停止判定モデルや速度推定モデルを学習する際に、どのモデルから学習を行うかを示す値でもある。
【0043】
より具体的には、
図5に示す例では、モデルデータベース12dには、車両が移動する機会がより多い速度帯に判定速度が含まれている速度推定モデル程、使用される優先度や学習される優先度が高くなるように「階層」の値が設定されている例について記載した。すなわち、
図5に示す例では、モデルデータベース12dには、学習データが取得されやすい速度帯、または、推定対象となりやすい速度帯の速度推定モデル程、優先度が高くなるように「階層」の値が設定されているものとする。そして、端末装置10は、モデルデータベース12dに登録された各モデルを「階層」が示す優先度に従って段階的に使用することで、移動速度の推定を実行する。
【0044】
なお、
図5に示す例では、モデルID「モデル#S」、「モデル#0」〜「モデル#5」が示す7個のモデルのモデルデータが格納される例について記載したが、実施形態は、これに限定されるものではなく、任意の数のモデルのモデルデータが登録可能であるものとする。
【0045】
また、
図5に示す例では、推定対象となりやすい速度帯の速度推定モデル程、優先度が高くなるように「階層」の値が設定されているものとしたが、実施形態は、これに限定されるものではない。後述する推定処理においては、速度帯を段階的に分割することで、取得された特徴量が生じる速度帯を推定する。このため、後述する学習処理により推定処理に用いることができるモデルの数が増加するに従い、速度帯を分割する段階の数が増加することとなる。
【0046】
ここで、モデルデータベース12dに登録される「階層」の値とは、実際には、対応付けられた速度推定モデルが、速度帯を何段階目に分割するかを示す値である。しかしながら、各速度推定モデルのうち、移動する機会がより多い速度帯の学習を行ったモデル程(すなわち、使用される機会がより多いモデル程)優先的に使用したり、学習を行ったりする場合には、そのようなモデル程、より上位の階層(値が少ない階層)となるように、「階層」の値を設定すればよい。
【0047】
例えば、
図5に示す例では、モデルデータベース12dには、モデルID「モデル#S」、判定速度「停止判定」、モデルデータ「モデルデータ#S」、学習フラグ「1」、および階層「0」が対応付けて登録されている。このような情報は、「モデル#S」が示すモデルのデータとして「停止判定」を行う停止判定モデルである「モデルデータ#S」の学習が終了しており、判定時において最初に用いられるモデルである旨を示す。
【0048】
また、モデルデータベース12dには、モデルID「モデル#0」、判定速度「40km/h」、モデルデータ「モデルデータ#0」、学習フラグ「1」、および階層「1」が対応付けて登録されている。このような情報は、「モデル#0」が示すモデルのデータとして、移動速度が「40km/h」未満であるか、「40km/h」以上であるかを判定する速度推定モデルである「モデルデータ#0」の学習が終了している旨を示す。また、この情報は、「モデルデータ#0」が、判定時において、階層の値が「0」であるモデルの後に使用されるモデル、すなわち、モデルID「モデル#S」が示す停止判定モデルの後に使用されるモデルである旨を示す。
【0049】
また、例えば、モデルデータベース12dには、モデルID「モデル#2」、判定速度「60km/h」、モデルデータ「モデルデータ#2」、学習フラグ「0」、および階層「2」が対応付けて登録されている。このような情報は、「モデル#2」が示すモデルのデータとして、移動速度が「60km/h」未満であるか、「60km/h」以上であるかを判定する速度推定モデルである「モデルデータ#2」の学習が終了していない旨を示す。また、この情報は、「モデルデータ#2」が、判定時においてモデルID「モデル#0」が示す速度推定モデルの後に使用されるモデルである旨を示す。
【0050】
このように、モデルデータベース12dには、特徴量が入力されると、車両の移動速度をそれぞれ異なる速度帯に分類する複数の学習器が登録されている。なお、以下の説明では、モデルIDが「モデル#0」である速度推定モデルや、モデルIDが「モデル#1」である速度推定モデル等、モデルデータベース12dに登録された各速度推定モデルを、単にモデルIDの値で記載する場合がある。
【0051】
図2に戻り、説明を続ける。加速度センサ13は、所定の時間間隔(例えば、5ミリ秒)で、端末装置10に係る加速度の大きさと方向とを測定する。例えば、加速度センサ13aは、端末座標系におけるx軸方向の加速度を測定する。加速度センサ13bは、端末座標系におけるy軸方向の加速度を測定する。加速度センサ13cは、端末座標系におけるz軸方向の加速度を測定する。すなわち、端末装置10は、各加速度センサ13a〜13cが測定した加速度を端末座標系の各軸方向の加速度とすることで、端末装置10に対する加速度の向きと大きさとを示すベクトルを取得することができる。なお、このような加速度センサ13a〜13cが測定する加速度には、重力加速度のみならず、車両が移動している際に生じる振動等によって生じる加速度が含まれることとなる。
【0052】
GPS受信アンテナ14は、GPS等の衛星測位システムに用いられる信号を衛星から受信するためのアンテナである。また、出力部15は、案内を行う際に地図や現在地を表示するための画面や、音声を出力するためのスピーカーである。
【0053】
制御部16は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等によって、端末装置10内部の記憶装置に記憶されている推定プログラム等といった各種プログラムが、RAM等の記憶領域を作業領域として実行されることにより実現される。
図2に示す例では、制御部16は、案内実行部17、音声出力部18、画像出力部19、および移動状態推定部20(以下、総称して各処理部17〜20と記載する場合がある。)を有する。また、移動状態推定部20は、検出部21、設定部22、変換部23、取得部24、推定部25、収集部26、学習部27、および更新部28を有する。
【0054】
なお、制御部16が有する各処理部17〜20の接続関係は、
図2に示した接続関係に限られず、他の接続関係であってもよい。また、各処理部17〜20は、以下に説明するような案内処理の機能・作用(例えば
図1、
図6〜
図9等)を実現・実行するものであるが、これらは説明のために整理した機能単位であり、実際のハードウェア要素やソフトウェアモジュールとの一致は問わない。すなわち、以下の案内処理の機能・作用を実現・実行することができるのであれば、端末装置10は、任意の機能単位で案内処理を実現・実行して良い。
【0055】
〔2−2.案内処理における作用効果の一例〕
以下、
図6に示すフローチャートを用いて、各処理部17〜20が実行・実現する案内処理の内容について説明する。
図6は、実施形態に係る端末装置が実行する案内処理の流れの一例を説明するフローチャートである。
【0056】
まず、案内実行部17は、利用者から目的地が入力されたか否かを判定する(ステップS101)。そして、案内実行部17は、目的地が入力された場合は(ステップS101:Yes)、図示を省略した外部のサーバから経路情報を取得する(ステップS102)。ここで、案内実行部17は、GPSが使えるか否かを判定する(ステップS103)。
【0057】
例えば、案内実行部17は、GPS受信アンテナ14が衛星からの信号を受信できない場合や、信号を受信できた衛星の数が所定の閾値よりも少ない場合等には、GPSが使用できないと判定し(ステップS103:Yes)、移動状態推定部20により推定された車両の移動方向や速度から現在位置を取得する(ステップS104)。例えば、案内実行部17は、移動状態推定部20により推定された現在地を取得する。なお、移動状態推定部20が車両の現在地を推定する処理の具体的な内容については、後述する。
【0058】
一方、案内実行部17は、GPSが使えると判定した場合は(ステップS103:No)、GPSを用いて現在地を特定する(ステップS105)。そして、案内実行部17は、音声出力部18や画像出力部19を制御し、GPSを用いた現在地若しくは推定した現在地を用いて、案内を出力する(ステップS106)。例えば、音声出力部18は、案内実行部17からの制御に従って、現在地や車両が進むべき方向等を示す音声を出力部15から出力する。また、画像出力部19は、案内実行部17からの制御に従って、現在地と周辺の地図とを重ねた画像や、車両が進むべき方向等を示す画像を出力部15から出力する。
【0059】
続いて、案内実行部17は、現在地が目的地の周辺であるか否かを判定する(ステップS107)。そして、案内実行部17は、現在地が目的地の周辺であると判定した場合は(ステップS107:Yes)、音声出力部18や画像出力部19を制御して案内の終了を示す終了案内を出力し(ステップS108)、処理を終了する。一方、案内実行部17は、現在地が目的地の周辺ではないと判定した場合は(ステップS107:No)、ステップS103を実行する。なお、案内実行部17は、目的地が入力されていない場合は(ステップS101:No)、入力されるまで待機する。
【0060】
〔2−3.取得処理における作用効果の一例〕
次に、
図7に示すフローチャートを用いて、検出部21、設定部22、変換部23、および取得部24が実行・実現する取得処理の内容について説明する。
図7は、実施形態に係る端末装置が実行する取得処理の流れの一例を説明するフローチャートである。なお、検出部21、設定部22、変換部23、および取得部24は、
図7に示す取得処理を所定の期間(例えば、1秒)ごとに実行する。なお、
図7に示す各処理は、例えば、
図1中(A)〜(D)に示す処理に対応する。
【0061】
例えば、検出部21は、加速度センサ13から加速度を取得する(ステップS201)。具体的には、加速度センサ13が所定の時間間隔で、端末座標系の(x、y、z)軸方向ごとに測定した加速度の大きさを取得する。また、検出部21は、所定の期間の間に加速度センサ13が測定した加速度の大きさの平均値を、端末座標系の各軸方向ごとに算出する(ステップS202)。例えば、検出部21は、加速度センサ13が5ミリ秒ごとに検出した端末座標系の加速度を1秒分収集する。そして、検出部21は、収集した各加速度のx軸方向の値の平均値x
m、y軸方向の値の平均値y
m、z軸方向の値の平均値z
m、をそれぞれ算出し、算出した各軸方向の平均値からなるベクトル(x
m、y
m、z
m)を平均ベクトルGとする。
【0062】
続いて設定部22は、検出部21によって算出された加速度に基づいて、基準方向を特定する(ステップS203)。より具体的には、設定部22は、検出部21によって算出された加速度の平均値からなる平均ベクトルGの方向を、基準方向とする。そして、変換部23は、端末座標系の所定の軸方向を設定部22が設定した基準方向に一致させる回転行列を算出する(ステップS204)。そして、変換部23は、算出した回転行列を用いて、検出部21により端末座標系で取得された加速度の各成分を変換する(ステップS205)。すなわち、変換部23は、
図1中(A)に示すように、検出部21によって取得された加速度を、車両座標系ではなく、基準方向を基準とする座標系の加速度に変換する。
【0063】
例えば、
図1中(B)に示すように、設定部22は、加速度の平均ベクトルGの方向を基準方向として設定する。そして、変換部23は、
図1中(C)に示すように、端末座標系の−x軸方向と平均ベクトルGの方向とが一致するような回転行列を算出する。なお、変換部23は、端末座標系の−x軸方向と平均ベクトルGの方向とが一致するような回転行列であれば、任意の回転行列を採用してよい。すなわち、変換部23は、y軸方向やz軸方向を任意の方向へと回転させる回転行列を採用してよい。
【0064】
そして、変換部23は、算出した回転行列を用いて、端末座標系で測定された加速度を、加速度の平均値を基準とする座標系(以下、推定座標系と記載する。)へと変換する。なお、以下の説明では、推定座標系における平均ベクトルGの方向を−x軸方向とする。また、以下の説明では、推定座標系における−x軸方向を基準方向と記載する場合がある。
【0065】
続いて、取得部24は、平均ベクトルの方向に対して垂直な面上(以下、水平面と記載する。)、すなわち、推定座標系におけるyz平面上の加速度ベクトルの大きさを算出する(ステップS206)。そして、取得部24は、平均ベクトルの大きさと、水平面上の加速度ベクトルの大きさとの組から、特徴量を取得する(ステップS207)。
【0066】
例えば、取得部24は、
図1中(D)に示すように、変換部23によって座標変換がなされた加速度の各軸成分のうち、水平面上の加速度の大きさ「a_hor」と、平均ベクトルGの加速度の大きさ、すなわち、推定座標系における基準方向の加速度の大きさ「a_ver」との組を求める。より具体的には、推定座標系における加速度の成分を「a_x、a_y、a_z」と記載すると、取得部24は、成分「a_y」の二乗と、成分「a_z」の二乗との和の平方根の値を「a_hor」として算出する。
【0067】
そして、取得部24は、算出した「a_hor」と、「a_ver」との組、すなわち、加速度の水平面上の加速度の大きさと、基準方向の加速度の大きさとの組である「(a_ver、a_hor)」について、所定の期間内における平均値、最大値、最小値および標準偏差を特徴量として取得する。なお、取得部24は、「(a_ver、a_hor)」について、所定の期間内における平均値、最大値、最小値および標準偏差の少なくともいずれか1つを特徴量としてもよい。このように、取得部24は、基準方向を基準とする方向の加速度に基づいた特徴量を取得する。そして、推定部25は、取得部24によって取得された特徴量を用いて、端末装置10の移動状態を判定する。
【0068】
このように、端末装置10は、重力方向や車両の移動方向を算出せずに、平均ベクトルの方向を、停止判定や移動速度を推定する推定処理を行うための基準の方向とする。ここで、平均ベクトルは、車両が停止している場合や車両が等速度で移動している場合には、重力加速度の方向を示すと予測される。このため、車両が停止している場合や車両が等速度で移動している場合は、基準方向は、重力加速度の方向と一致する。一方、車両が加減速を行っている場合には、平均ベクトルGの方向は、重力加速度の方向からずれると予測される。
【0069】
しかしながら、端末装置10は、後述する説明で明らかになるように、加速度に基づく特徴量を用いて、車両が停止しているか否かを判定する停止判定モデルや、車両が移動する速度帯を推定する速度推定モデルを学習する。このような学習を行ったモデルは、重力方向や車両の移動方向とは関係なく、振動の発生により生じる加速度が有する特徴量や車両の動きにより生じる加速度が有する特徴量から車両の走行状態を推定することができる。この結果、端末装置10は、平均ベクトルGの方向と重力加速度の方向とに誤差が存在する場合にも、その誤差を吸収可能である。
【0070】
〔2−4.推定処理における作用効果の一例〕
次に、
図8に示すフローチャートを用いて、推定部25が実行・実現する推定処理の内容について説明する。
図8は、実施形態に係る端末装置が実行する推定処理の流れの一例を説明するフローチャートである。例えば、推定部25は、
図6のステップS103にて、GPSが使えないと判定された場合には、
図8に示す推定処理を実行する。なお、
図8に示す推定処理の結果は、移動状態推定部20により推定された現在地として案内実行部17に出力される。
【0071】
まず、推定部25は、GPSが使用できなくなった位置から、最終的に測定された速度、すなわち、GPSが使用できなくなった際に測定された速度で、GPSが使用できなくなった際に測定された進行方向に車両が進んだものとして、現在地を推定する(ステップS301)。例えば、推定部25は、車両がトンネルに入った場合には、車両がトンネルに入った際の速度および方向に車両が進み続けているものとして、現在地を推定する。なお、推定部25は、案内情報データベース12aから車両が移動している経路の情報を取得し、取得した経路に沿って車両が移動していると推定してもよい。
【0072】
続いて、推定部25は、モデルデータベース12dから停止判定モデルを読み出す(ステップS302)。すなわち、推定部25は、モデルデータベース12dに登録されたモデルのうち、階層の値が「0」であるモデル(優先度が最も高いモデル)、すなわち、停止判定モデルであるモデル#Sを読み出す。そして、推定部25は、読み出した停止判定モデルを用いて、車両が停止状態であるか否かを判定する(ステップS303)。
【0073】
具体的には、推定部25は、読み出したモデルに対し、取得部24が取得処理によって取得した特徴量を入力し、車両が停止状態であるか否かを判定する。すなわち、推定部25は、車両が停止している際に取得される特徴量や、車両が停止していない際に取得される特徴量が有する特徴を学習した停止判定モデルを用いて、端末装置10の移動状態を判定する。このように、推定部25は、取得部24により取得された特徴量を用いて、端末装置10の移動状態を判定する。
【0074】
そして、推定部25は、車両が停止状態であると判定された場合は(ステップS303:Yes)、推定される現在地の移動を停止させ(ステップS304)、その後、ステップS302を実行する。一方、推定部25は、車両が停止状態ではないと判定された場合は(ステップS303:No)、モデルデータベース12dに登録された複数の速度推定モデルを用いて、時刻「t」における車両の移動速度V
tを推定する(ステップS305)。すなわち、推定部25は、各速度帯において生じる加速度の特徴量を学習した学習器を用いて、検出された加速度から車両の移動速度を推定する。
【0075】
例えば、
図9は、実施形態に係る端末装置が移動速度を推定する処理の流れの一例を説明するフローチャートである。
図9に示すように、推定部25は、モデルデータベース12dに登録されたモデルを段階的に用いることで、検出された加速度から車両の移動速度を推定する。なお、
図9に示す処理は、
図8に示すステップS305に示す処理と対応する。また、以下では、時刻「t」において取得された特徴量から、時刻「t」における移動速度「V
t」を推定する処理の一例について説明する。
【0076】
まず、推定部25は、モデルデータベース12dに登録された速度推定モデルのうち、「階層」の値が最も少ないモデル、すなわち、優先度が最も高い速度推定モデルであるモデル#0を読み出す(ステップS401)。続いて、推定部25は、読み出したモデル#0と対応付けられた学習フラグの値を参照し、モデル#0が学習中であるか否かを判定する(ステップS402)。
【0077】
そして、推定部25は、モデル#0が学習中ではない場合(ステップS402:No)、すなわち、モデル#0と対応付けられた学習フラグの値が「1」である場合には、モデル#0を用いて、取得部24によって取得された特徴量が属する速度帯を特定する(ステップS403)。すなわち、推定部25は、車両の平均的な移動速度を判定速度とする速度推定モデルを最初に用いて、移動速度の推定を実行する。
【0078】
続いて、推定部25は、特徴量が属する速度帯を推定した場合には、推定された速度帯をさらに分類する速度推定モデルがモデルデータベース12dに登録されているか否かを判定する(ステップS404)。例えば、推定部25は、入力された特徴量が、モデル#0によって、移動速度が時刻「40km/h」以上の際に取得される特徴量であると判定された場合には、判定速度が「時速40km/h」以上の速度帯に含まれる速度推定モデルのうち、階層の値が最も小さい速度推定モデル(例えば、モデル#2)を特定する。
【0079】
そして、推定部25は、入力された特徴量が属する速度帯をさらに分類する速度推定モデルがモデルデータベース12dに登録されている場合は(ステップS404:Yes)、新たな速度推定モデルをモデルデータベース12dから読出し(ステップS405)、ステップS402を実行する。一方、推定部25は、入力された特徴量が属する速度帯をさらに分類する速度推定モデルがモデルデータベース12dに登録されていない場合は(ステップS404:No)、判定結果に基づいて、推定された移動速度である推定速度V
tを決定し(ステップS406)、処理を終了する。一方、推定部25は、読み出した速度推定モデルが学習中である場合(ステップS402:Yes)、すなわち、読み出した速度推定モデルの学習フラグの値が「0」である場合は、読み出した速度推定モデルと対応する判定速度を推定速度V
tとし(ステップS407)、処理を終了する。
【0080】
ここで、
図1中(E)に示す図を用いて、推定部25が実行する処理の一例について説明する。例えば、推定部25は、
図1中(E)に示すように、それぞれ異なる速度帯に特徴量のデータを分類する複数の速度推定モデルを、所定の速度帯への分類を行う速度推定モデルから順番に用いて、移動速度の推定を行う。より具体的な例を説明すると、推定部25は、特徴量のデータを停止判定モデルであるモデル#Sに入力する(ステップS1)。そして、推定部25は、モデル#Sにより、入力された特徴量が停止している際の特徴量であると判定された場合は(ステップS2)、車両の移動速度が時速「0km/h」であると判定する(ステップS3)。すなわち、推定部25は、車両が停止状態であると判定する。
【0081】
一方、推定部25は、モデル#Sにより、入力された特徴量が停止していない際の特徴量であると判定された場合は(ステップS4)、速度推定モデルのうち優先度が最も高いモデルであるモデル#0に特徴量を入力する。そして、推定部25は、モデル#0により、移動速度が時速「40km/h」以上であると判定した場合には(ステップS5)、判定速度が時速「60km/h」であるモデル#2に特徴量を入力する。
【0082】
このように、推定部25は、モデル#0が特徴量を分類した時速「40km/h」以上の速度帯を、時速「60km/h」未満の速度帯と時速「60km/h」以上の速度帯とに分けるモデル#2を用いて、特徴量が取得された際の移動速度が含まれる速度帯を推定する。すなわち、推定部25は、移動速度が第1速度帯であるか否かを判定する速度推定モデルによって、検出された加速度から車両の移動速度が第1速度帯に含まれていると判定された場合には、速度帯が第1速度帯に含まれる第2速度帯であるか否かを判定する速度推定モデルを用いて、検出された加速度から車両の移動速度を推定する。
【0083】
ここで、推定部25は、モデル#2により、移動速度が時速「60km/h」以上であると判定した場合には(ステップS6)、推定可能な速度帯を超えたと判定し、トンネル進入時の移動速度を推定された速度V
tとする。すなわち、推定部25は、検出された加速度が生じる速度帯が、所定の上限速度よりも速い速度帯であると推定された場合は、GPS等といった所定の測定手段により最後に測定された速度を推定速度とする。一方、推定部25は、モデル#2により、移動速度が時速「60km/h」未満であると判定した場合には(ステップS7)、判定速度が時速「50km/h」であるモデル#5に特徴量を入力する。
【0084】
ここで、推定部25は、モデル#5により、移動速度が時速「50km/h」未満であると判定された場合には、モデル#0、モデル#2、およびモデル#5を用いた判定により、移動速度が、時速「40km/h」以上「50km/h」未満であると推定できる。そこで、推定部25は、例えば、モデル#5により、移動速度が時速「50km/h」未満であると判定された場合には、時速「45km/h」を推定速度V
tとする(ステップS8)。
【0085】
同様に、推定部25は、例えば、モデル#5により、移動速度が時速「50km/h」以上であると判定された場合には、移動速度が、時速「50km/h」以上「60km/h」未満であると推定できる。そこで、推定部25は、モデル#5により、移動速度が時速「50km/h」以上であると判定された場合には、時速「55km/h」を推定速度V
tとする(ステップS9)。
【0086】
また、推定部25は、モデル#5の学習が完了していない場合には(ステップS10)、モデル#5の判定速度である時速「50km/h」を推定速度として出力する。なお、推定部25は、モデル#0が学習中である場合には、モデル#0の判定速度「40km/h」ではなく、例えば、最後に測定された速度(トンネル進入時の速度)を推定速度V
tとして出力する。
【0087】
また、推定部25は、モデル#0により、移動速度が時速「40km/h」未満であると判定した場合には、モデル#1、モデル#3、およびモデル#4を段階的に用いることで、推定速度V
tを推定する。このように、推定部25は、各速度推定モデルを段階的に用いて、移動速度が属する速度帯を段階的に限定することで、推定速度V
tを推定する。また、推定部25は、モデル#0など、一般的な移動速度を判定速度とするモデルから順番に各速度推定モデルを用いて、移動速度を推定するので、例えば、トンネル侵入時における移動速度の推定を実現することができる。
【0088】
続いて、推定部25は、
図1中(F)に示すように、推定速度の変化量に基づいて、誤推定の可能性が高い推定結果を補正し、補正された推定速度V
tを出力する。
図8を用いて、より具体的に説明する。例えば、推定部25は、推定速度V
tを推定した場合は、推定速度データベース12cを参照し、前回推定した推定速度V
t−1と推定速度V
tとの差分が「±5km/h」以内となるか否かを判定する(ステップS306)。そして、推定部25は、推定速度V
t−1と推定速度V
tとの差分が「±5km/h」を超える場合は(ステップS306:No)、推定速度V
t−1の値に「±5km/h」の値を加算した値を推定速度V
tとして現在位置を進め(ステップS307)、ステップS302を実行する。
【0089】
例えば、推定部25は、推定速度V
tから推定速度V
t−1を減算した値が「+5km/h」よりも大きい場合には、推定速度V
t−1に「5km/h」を加算した値を推定速度V
tとし、推定速度V
tから推定速度V
t−1を減算した値が「−5km/h」よりも小さい場合には、推定速度V
t−1から「5km/h」を減算した値を推定速度V
tとする。このように、推定部25は、現実にはありえない極端な加速や減速が行われたと推定されるような場合には、前回推定された推定速度V
t−1から所定の値を加減算した値を新たな推定速度とする。この結果、推定部25は、誤推定を防ぐことができる。なお、推定速度の現実にはあり得ない変化を防ぐのであれば、推定部25は、上述した処理以外にも、任意の処理を実行してもよい。
【0090】
一方、推定部25は、前回推定した速度V
t−1と推定速度V
tとの差分が「±5km/h」以内である場合は(ステップS306:Yes)、直近に推定された15個の推定速度の平均を算出する(ステップS308)。より具体的には、推定部25は、直近の15秒間の間に推定された推定速度V
t〜V
t−14の値の和を「15」で除算した値を推定速度V
tとする。そして、推定部25は、算出した推定速度V
tで現在位置を進めるとともに(ステップS309)、推定速度データベース12cの更新処理を行って、ステップS302を実行する。
【0091】
例えば、推定部25は、推定速度データベース12cの更新処理として、推定速度データベース12cに登録された推定速度V
t−14を削除し、時刻t−13〜t−1における推定速度V
t−13〜V
t−1を時刻t−14〜t−2における推定速度V
t−14〜V
t−2にする。そして、推定部25は、新たに算出した推定速度V
tをV
t−1として推定速度データベース12cに登録する。なお、推定部25は、30秒以内に推定した移動速度の平均を用いてもよく、過去に推定した移動速度の変化量に応じて、推定速度の補正を行ってもよい。
【0092】
〔2−5.学習処理における作用効果の一例〕
次に、
図10、
図11に示すフローチャートを用いて、収集部26、学習部27、更新部28が実行・実現する学習処理の内容について説明する。まず、
図10を用いて、収集部26が学習処理に用いる学習データを収集する処理の一例について説明する。
図10は、実施形態に係る端末装置が学習データを収集する処理の流れの一例を説明するフローチャートである。なお、収集部26は、
図10に示す処理を、所定の時間間隔で繰り返し実行するものとする。
【0093】
例えば、収集部26は、移動速度を測定することができる場合には、取得部24により取得された特徴量と、測定された移動速度とを収集する(ステップS501)。より具体的には、収集部26は、GPSを用いて、車両の移動速度を測定する。なお、収集部26は、OBD(On-Board diagnostics)端子等、車両が有する情報系や制御系の制御装置から情報を取得するための一般的な規格を介して、車両の移動速度を取得してもよい。また、収集部26は、ブルートゥース(登録商標)等の近距離無線通信技術を用いて、車両が有する情報系や制御系の制御装置から、車両の移動速度を取得してもよい。このように、車両が有する制御装置から移動速度を直接取得した場合、GPSを用いて移動速度を推定するよりも、速度推定モデルの学習制度を向上させることができる。
【0094】
そして、収集部26は、収集した特徴量と移動速度との組を学習データとして学習データデータベース12bに登録し(ステップS502)、処理を終了する。より具体的には、収集部26は、学習データを、学習データに含まれる移動速度を含む速度帯と対応付けて、学習データデータベース12bに登録する。なお、収集部26は、特定した移動速度を含む速度帯と対応付けれられた学習データの数が上限(例えば、走行状態である場合は「10」個、停止状態である場合は「60」個等)に達している場合、対応付けられた学習データのうち、最も古い学習データを新たに取得された特徴量に更新する。
【0095】
例えば、車両の移動速度には、車両の走行体様に応じた偏りが生じると考えられる。例えば、街を移動する機会が多い車両の移動速度の分布は、高速道路を移動する機会が多い車両の移動速度よりも遅い移動速度を中心とした分布になると予測される。このため、端末装置10が測定した移動速度と特徴量との組を学習データとした場合、収集される特徴量に偏りが生じるので、モデルの判定精度が悪化する恐れがある。
【0096】
例えば、端末装置10が時速「80km/h」以上の速さで移動している際に収集した特徴量が大半を占める学習データでモデルの学習を行った場合、他の速度帯で移動している際の判定精度が低下してしまう。そこで、収集部26は、各速度帯ごとに、新たに取得された特徴量から順に所定の数の特徴量を学習データとして収集する。この結果、収集部26は、走行状態の学習データの速度の偏りを防ぐ結果、学習データデータベース12b
に登録された学習データを用いて学習を行ったモデルによる判定精度を向上させることができる。
【0097】
次に、
図11を用いて、収集部26によって収集された学習データを用いて、学習部27および更新部28がモデルを学習する処理の一例について説明する。
図11は、実施形態に係る端末装置がモデルを学習する処理の流れの一例を説明するフローチャートである。
【0098】
図11に示すように、学習部27は、学習データデータベース12bに登録された学習データを用いて、特徴量が検出される速度帯を学習するモデルの学習を実行する。より具体的には、学習部27は、モデルが学習する速度帯に応じた順序、例えば、車両が移動する機会がより多い速度帯を学習するモデルから順に、各モデルの学習を行う。すなわち、学習部27は、推定処理において各モデルが速度帯を段階的に分割させる順番と同様の順番で(速度を推定する際に使用する順番と同様の順番で)、各モデルの学習を実行する。
【0099】
例えば、学習部27は、モデルデータベース12dを参照し、学習フラグが「0」である未学習のモデルのうち、階層の値が他のモデルよりも少ないモデルであって、判定速度が最も遅いモデルを選択する(ステップS601)。すなわち、学習部27は、推定処理においてより使用される可能性が高い順に、モデルの学習を行う。続いて、学習部27は、学習データデータベース12bに登録された学習データを用いて、入力された特徴量が取得される速度帯を選択したモデルに学習させる(ステップS602)。
【0100】
より具体的には、学習部27は、入力された特徴量が、判定速度未満で車両が移動している際に取得される特徴量であるか、判定速度以上で車両が移動している際に取得される特徴量であるかを分類するように、モデルの学習を実行する。すなわち、学習部27は、特徴量が生じる速度帯の切り分けを行う分類器であって、入力された特徴量が生じる速度帯が判定速度以上であるか未満であるかの切り分けを行う分類器を生成する。
【0101】
具体的な例を説明すると、
図1中(E)に示したように、学習部27は、移動時の学習データを用いてモデル#0の学習を行い、時速「40km/h」未満で取得された特徴量を用いて、モデル#1の学習を行い、時速「40km/h」以上で取得された特徴量を用いて、モデル#2の学習を行う。続いて、学習部27は、時速「20km/h」未満で取得された特徴量を用いて、モデル#3の学習を行い、時速「20km/h」以上で取得された特徴量を用いて、モデル#4の学習を行い、時速「60km/h」未満で取得された特徴量を用いて、モデル#5の学習を行う。すなわち、学習部27は、学習対象となる速度推定モデルが切り分けを行う速度帯の学習データを用いて、その速度推定モデルの学習を行う。そして、更新部28は、学習が行われたモデルをモデルデータベース12dに登録するとともに、登録したモデルの学習フラグを「1」に更新する(ステップS603)。
【0102】
なお、車両が停止している状態では、路面からの振動もないため、「a_ver」の値や基準方向の向きは、ほぼ重力加速度と一致し、「a_hor」の値は、ほぼ零になると考えられる。一方、車両が一定速度で走行している場合は、路面からのランダムな振動により、「a_ver」や「a_hor」の値の最大値、最小値、および標準偏差の値は、車両の移動速度に応じた特徴を有することとなる。また、車両が加減速している状態では、重力加速度に加えて車両の加減速にともなう加速度が追加されるため、「a_ver」の大きさは重力加速度よりも大きくなり、「a_hor」についても車両が停止している場合とは異なると推定される。
【0103】
このため、学習部27は、「(a_ver、a_hor)」の平均値、最小値、最大値、および標準偏差に基づいて、車両が停止しているか否かや、車両の移動速度を含む速度帯を精度良く判定するモデルを学習することができる。なお、学習部27は、学習データデータベース12bに登録された学習データを教師データとして利用するのであれば、任意のモデル学習手段により、上述した停止判定モデルや速度判定モデル以外にも、任意の態様で分類や判定を行うモデルを生成することができる。
【0104】
続いて、学習部27は、モデルデータベース12dを再度参照し、未学習のモデルがまだあるか否かを判定する(ステップS604)。そして、更新部28は、未学習のモデルが無い場合には(ステップS604:No)、そのまま処理を終了する。一方、更新部28は、未学習のモデルが存在する場合は(ステップS604:Yes)、ステップS601を実行する。
【0105】
ここで、モデルデータベース12dには、各モデルが学習する速度帯に応じた優先度を示す「階層」の値が設定されている。そして、推定部25は、優先度が高い順に学習済みのモデルを使用することで、移動速度の推定を行う。すなわち、端末装置10は、モデルデータベース12dに登録されたモデルを、各モデルが学習する速度帯に応じた順序で、段階的に使用することで、推定される移動速度が属する速度帯を徐々に狭める。
【0106】
このため、端末装置10は、例えば、モデル#0を用いて移動速度が時速「40km/h」以上であると判定した場合には、モデル#2が学習済みではない場合であっても、少なくとも移動速度が時速「40km/h」以上であると判定することができる。同様に、端末装置10は、モデル#1を用いて移動速度が時速「20km/h」以上であると判定した場合には、モデル#4が学習済みではない場合であっても、少なくとも移動速度が時速「20km/h」以上、時速「40km/h」未満であると判定することができる。
【0107】
そこで、学習部27は、「階層」の値に従って、優先度が高い順にモデルの学習を行う。すなわち、学習部27は、推定処理において段階的に用いられるモデルを、推定処理において用いられる順序と同じ順序で段階的に学習する。このため、端末装置10は、推定処理に用いる全てのモデルの学習が終わる前に、車両がトンネルに侵入した場合などであっても、各モデルを用いた推定処理を開始することができる。
【0108】
〔3.数式の一例〕
次に、数式を用いて、変換部23が端末座標系を推定座標系へと変換する回転行列を算出する処理の一例を説明する。なお、変換部23が実行する処理は、以下の数式が示す処理に限定されるものではない。例えば、変換部23は、一次変換を表現した数式を用いて、端末座標系から推定座標系への座標変換を行ってもよい。
【0109】
例えば、端末座標系の各軸をxyz軸とし、推定座標系の各軸をXYZ軸とする。係る場合、推定座標系を端末座標系へと変換する処理は、以下の式(1)で表される。なお、式(1)では、x軸を中心とした回転角度をα、y軸を中心とした回転角度をβ、z軸を中心した回転角度をγとし、x軸を中心とした回転による座標変換を行う回転行列をR
x(α)、y軸を中心とした回転による座標変換を行う回転行列をR
y(β)、z軸を中心とした回転による座標変換を行う回転行列をR
z(γ)とした。
【0111】
また、回転行列R
x(α)、回転行列R
y(β)、および回転行列R
z(γ)(以下、総括して「各回転行列」と記載する場合がある。)は、以下の式(2)〜(4)で表すことができる。なお、推定座標系は、−x軸方向が平均ベクトルGの方向と一致すればよいため、αの値は、任意の値が設定可能となる。
【0115】
ここで、平均ベクトルGの方向は、−X軸方向の加速度であるから、推定座標系では、以下の式(5)で表すことができる。
【0117】
一方、端末座標系で検出された各軸方向の平均ベクトルGを(a
x、a
y、a
z)と記載する。このような場合、a
x、a
y、a
zは、式(5)で示す平均ベクトルGを各回転行列で変換した値となるので、以下の式(6)が成り立つ。
【0119】
この結果、式(6)におけるz軸方向の値より、式(7)を得る。
【0121】
また、平均ベクトルGの大きさを考慮すると、式(8)が成り立つため、式(6)におけるx軸およびy軸方向の値から、式(9)を得る。この結果、端末装置10は、式(7)および式(9)から、y軸回りの回転角βを特定することができる。
【0124】
ここで、式(9)に示す値のうち、正の値を解として選択する。すると、式(6)におけるx軸およびy軸方向の値から、式(10)および式(11)を得る。この結果、端末装置10は、式(10)および式(11)からz軸まわりの回転角γを特定することができる。
【0127】
一方、端末座標系を推定座標系へと変換する処理は、式(1)に示す座標変換の逆変換であるため、以下の式(12)で表される。
【0129】
また、βとγの値は式(7)、(9)、(10)、(11)から算出できるので、端末座標系の加速度のサンプルa
x、a
y、a
zのうちy軸およびz軸のみを回転させ、推定座標系へと変換すると、式(13)となる。すなわち、端末装置10は、回転行列R
y(β)、および回転行列R
z(γ)を用いて、端末座標系を推定座標系へと変換する。
【0131】
〔4.変形例〕
上述した実施形態に係る端末装置10は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、上記の端末装置10の他の実施形態について説明する。
【0132】
〔4−1.モデルの階層のバリエーション〕
上述した処理では、端末装置10は、
図1に示すように、モデル#S、モデル#0、モデル#1またはモデル#2、モデル#3〜#5のいずれかの順に、推定処理または学習処理を実行した。しかしながら、実施形態は、これに限定されるものではない。例えば、端末装置10は、優先度を有さない全てのモデル#S、#0〜#5に対して特徴量を入力し、各モデル#S、#0〜#5による特徴量の分類結果に応じて、車両の推定速度を推定してもよい。例えば、端末装置10は、モデル#3が時速「10km/h」以上であると判定し、他のモデルが判定速度未満であると判定した場合には、時速「15km/h」を推定速度としてもよい。
【0133】
また、上述した処理では、端末装置10は、
図1に示すように、モデル#0〜モデル#5を用いて、時速「5km/h」から時速「60km/h」までの推定速度を、時速「5km/h」刻みで推定した。そして、端末装置10は、推定速度が「時速60km/h」以上である場合には、トンネル進入速度を推定速度とした。しかしながら、実施形態は、これに限定されるものではない。
【0134】
例えば、
図12は、実施形態に係る端末装置が使用するモデルのバリエーションを示す第1の図である。
図12に示す例では、端末装置10は、モデル#0〜モデル#5に加えて、判定速度を時速「70km/h」とするモデル#6を有する。端末装置10は、
図12中(A)に示すように、モデル#2によって、取得された特徴量が時速「60km/h」以上で移動する際に取得される特徴量であると判定された場合には、取得された特徴量をモデル#6に入力する。そして、端末装置10は、取得された特徴量が時速「70km/h」以上で移動する際に取得される特徴量であるか否かを判定する。
【0135】
ここで、端末装置10は、モデル#6によって、取得された特徴量が時速「70km/h」以上で移動する際に取得される特徴量であると判定された場合には、推定速度として時速「75km/h」を出力する。一方、端末装置10は、モデル#6によって、取得された特徴量が時速「70km/h」未満で移動する際に取得される特徴量であると判定された場合には、推定速度として時速「65km/h」を出力する。また、端末装置10は、モデル#6が学習中である場合には、モデル#6の判定速度である時速「70km/h」を出力する。
【0136】
なお、
図12に示すように、モデル#0〜モデル#6を用いて移動速度を推定した場合、
図12中(B)に示すように、推定可能な速度が時速「80km/h」未満の範囲に限定されてしまう。一般に、GPS等を用いない速度推定は、高速道路等に設置されたトンネル等において効果的であると考えられる。しかしながら、
図12に示すモデルのバリエーションでは、時速「80km/h」以上の移動速度を推定することができない。
【0137】
そこで、端末装置10は、
図13に示すように、高速な速度帯での分類を行う複数のモデルを用いてもよい。例えば、
図13は、実施形態に係る端末装置が使用するモデルのバリエーションを示す第2の図である。
図13に示す例では、端末装置10は、
図13中(A)に示すように、モデル#0〜モデル#5に加えて、判定速度を時速「70km/h」とするモデル#6、判定速度を時速「80km/h」とするモデル#7、判定速度を時速「90km/h」とするモデル#8、判定速度を時速「100km/h」とするモデル#9、および判定速度を時速「110km/h」とするモデル#10を有する。
【0138】
そして、端末装置10は、上述した推定処理と同様の処理を実行し、モデル#6〜モデル#10を順次用いることで、時速「5km/h」から時速「115km/h」までの推定速度を、時速「5km/h」刻みで推定することができる。しかしながら、一般的な車両の走行においては、高速域(例えば、時速「60km/h」以上)で走行する機会が少ないため、高速域における学習データが少なくなる。この結果、高速域の判定を行うモデルの精度が悪化する一方で、車両の移動速度が高速になる程、モデルによる判定機会が増大する結果、車両の推定速度が低速方向に推定されやすくなってしまう。また、GPSが使用できない状態で、車両の移動速度を推定するのは、主にトンネル内で発生した渋滞時等、車両が低速で走行する場合であると予測される。
【0139】
そこで、端末装置10は、
図1に示すように、取得された特徴量が所定の上限速度を超えた速度帯で生じる特徴量であると判定された場合には、GPSが使えなくなる直前に測定された移動速度(すなわち、トンネル進入速度)を、推定速度とする。この結果、端末装置10は、高速域で移動する際において、推定速度の精度が低下するのを防ぐことができる。
【0140】
なお、高速域における走行機会が比較的多く、高速域における学習データを十分に取得できるような状態においては、
図13に示すようなモデルを用いた場合であっても、高速域における推定速度を精度よく推定することができると予測される。そこで、端末装置10は、例えば、車両が速度制限がない道路(アウトバーン等)を走行するような場合には、
図13に示すように、高速域での分類を行うモデルを用いた推定処理を実行してもよい。
【0141】
〔4−2.推定速度の刻みについて〕
また、上述した処理では、端末装置10は、判定速度の幅を時速「10km/h」にすることで、時速「5km/h」から時速「60km/h」までの推定速度を、時速「5km/h」刻みで推定した。しかしながら、実施形態は、これに限定されるものではない。例えば、端末装置10は、各モデルの判定速度の幅を時速「20km/h」にすることで、推定速度を時速「10km/h」単位で推定してもよい。また、端末装置10は、各モデルの判定速度の幅を時速「2km/h」にすることで、推定速度を時速「1km/h」単位で推定してもよい。すなわち、端末装置10は、任意の速度幅単位で推定速度の推定を行ってよい。
【0142】
また、車両の走行時においては、学習データが取得可能であるものの、学習データが取得される速度帯に偏りが存在する場合もある。例えば、車両の移動速度は、比較的低速な領域に含まれることが多い。そこで、端末装置10は、学習データの取得量に応じて、推定速度の幅を速度帯ごとに変更してもよい。すなわち、端末装置10は、学習データを収集する際に、所定の第3速度帯に含まれる移動速度よりも所定の第4速度帯に含まれる移動速度の方が多く測定された場合は、第3速度帯に含まれる速度帯を学習するモデルによって分類される速度帯の幅を、第4速度帯に含まれる速度帯を学習するモデルによって分類される速度帯の幅よりも広くする。
【0143】
例えば、
図14は、実施形態に係る端末装置が使用するモデルのバリエーションを示す第3の図である。なお、
図14に示す例では、時速「40km/h」未満で取得された学習データの量が、時速「40km/h」以上で取得された学習データの量よりも多い例について記載した。このように、時速「40km/h」を境に学習データの量に偏りが存在する場合、端末装置10は、時速「40km/h」未満の速度域を細かく分類するようにモデルを学習したとしても、時速「40km/h」未満の速度域における移動速度の推定精度の悪化を防ぐことができる。しかしながら、時速「40km/h」以上の速度域を細かく分類するようなモデルを学習した場合には、時速「40km/h」以上の速度域における移動速度の推定精度を悪化させてしまう。
【0144】
そこで、端末装置10は、
図14に示すように、時速「40km/h」未満の速度域と時速「40km/h」以上の速度域とで、推定速度の幅を変更する。より具体的には、端末装置10は、時速「40km/h」未満の速度域においては、時速「5km/h」単位で分類を行えるようにモデル#1、モデル#3、およびモデル#4の学習を行う。一方、端末装置10は、時速「40km/h」以上の速度域においては、時速「10km/h」単位で分類を行うモデル#2の学習のみを行う。この結果、端末装置10は、時速「40km/h」以上の速度域における学習データの量が少ない場合であっても、推定速度の幅を広げることで、推定精度の悪化を防ぐことができる。
【0145】
なお、端末装置10は、モデルの学習時において、所定の時間内に収集された学習データの数を速度帯ごとに計数し、計数した数が所定の閾値よりも少ない速度帯については、推定速度の幅を所定の幅よりも広げるといった処理を実行してもよい。また、端末装置10は、モデルの学習時において、それまでに取得された全ての学習データの数を速度帯ごとに計数し、計数した数が所定の閾値よりも少ない速度帯については、推定速度の幅を所定の幅よりも広げるといった処理を実行してもよい。
【0146】
〔4−3.特徴量について〕
また、上述した説明では、端末装置10は、加速度センサ13によって検出された端末座標系の加速度を、推定座標系の加速度に変換し、変換後の加速度から特徴量を取得し、取得した特徴量を用いて、移動速度の推定やモデルの学習を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、端末装置10は、加速度センサ13によって検出された端末座標系の加速度から特徴量を取得し、取得した特徴量を各速度推定モデルの学習データとして使用し、各速度推定モデルに端末座標系の加速度から取得した特徴量を入力することで、移動速度の推定を行ってもよい。また、端末装置10は、速度推定モデルの学習や、速度推定モデルに入力するデータとして、推定座標系の加速度や、端末座標系の加速度をそのまま入力してもよい。
【0147】
ここで、各速度推定モデルは、車両の走行状態を示す情報であって、車両の移動速度に応じて変化する情報の特徴を学習することで、移動速度の推定を行うことができると考えられる。そこで、端末装置10は、車両の移動時に生じる物理的な状態を検出し、その物理的な状態が生じる速度帯を学習したモデルを用いることで、車両の移動速度を推定してもよい。例えば、端末装置10は、マイク等の集音装置を用いて、車両の中または車両の外で発生した音声(例えば、風切音)等を収集する。そして、端末装置10は、収集した音声や収集した音声の特徴量と、その音声や特徴量が取得された際における速度とを学習データとして用いることで、音声や音声の特徴量から速度帯を推定するモデルの学習を行うとともに、移動速度の推定を実行してもよい。また、端末装置10は、加速度や音以外にも、車両の走行状態を示す物理的な状態であれば、任意の状態を採用することができる。
【0148】
〔4−4.モデルの変更について〕
ここで、車両が走行する際に生じる振動等の加速度は、様々な要因に応じて変化すると考えられる。例えば、車両が走行する際に生じる加速度は、移動速度の推定対象となる車両の種類、スタッドレスタイヤであるかノーマルタイヤであるか等といったタイヤの種類、タイヤチェーンを着用しているか否か、タイヤチェーンが樹脂製であるか金属製であるか等、移動体の物理的な状態に応じて変化すると予測される。また、車両が走行する際に生じる加速度は、天候、降雨の有無、降雨の程度、アイスバーンであるか否か、走行している車道の舗装の古さや素材などといった補装具合等に応じても変化すると予測される。また、車道の補装具合は、車両が移動している車道や位置、車両が上り線と下り線とのどちらを走行しているか等、車両が移動している区間に応じて変化すると考えられる。
【0149】
そこで、端末装置10は、移動体の物理的な状態や、移動体が走行している車道の状態等に応じた複数のモデルをあらかじめ学習しておき、移動体の物理的な状態や、移動体が走行している車道の状態等に応じたモデルを使用することで、移動速度の推定精度を向上させてもよい。例えば、端末装置10は、車両が移動している区間、車両が移動している路面の状況、車両の種別、車両が移動している区間の天候、車両が使用しているタイヤの種別等の少なくともいずれか1つに応じて、使用するモデルを変更してもよい。
【0150】
例えば、端末装置10は、移動速度を推定するための複数の速度推定モデルを複数セット準備し、各セットごとに、車両の種別や天候などに応じた学習を行ってもよく、異なる学習係数を採用してもよい。そして、端末装置10は、例えば、ある区間における上り線を走行する場合には、その区間の上り線に対応する速度推定モデルのセットを用いて、移動速度を推定し、同一区間における下り線を走行する場合には、その区間の下り線に対応する速度推定モデルのセットを用いて、移動速度を推定してもよい。
【0151】
〔4−5.汎用モデルの使用〕
ここで、端末装置10は、上述した処理を実現するアプリケーションの初回起動時においても、停止判定を起動時から実施できるようにするため、汎用的なモデルを含むアプリケーションの起動を行ってもよい。例えば、このようなアプリケーションを実行した場合、端末装置10は、初回起動時においては、汎用的なモデルを用いて推定処理を実行するとともに、端末装置10ごとに学習されたモデルを用いて、推定処理を実行することとなる。そして、端末装置10は、車両の走行時に取得された学習データを用いて、汎用モデルの補正学習を行う。
【0152】
この結果、端末装置10は、使用開始時からある程度の精度で推定処理を実現することができるとともに、時間の経過と共に推定精度を向上させることができる。なお、端末装置10は、車両の種別や、車両が使用しているタイヤの種別ごとに学習された汎用的なモデルを用いて、推定処理を実行してもよい。また、端末装置10は、汎用的なモデルから学習した速度推定モデルを所定のサーバにアップロードし、他の端末装置によって使用可能な状態で再配布させてもよい。
【0153】
〔4−6.学習態様について〕
ここで、端末装置10は、学習データを収集する際、GPSを用いて速度を取得してもよく、OBDなどを介して、車両が有する制御装置から移動速度を取得してもよい。例えば、端末装置10は、OBDを介して移動速度を取得可能な車両に搭載されている際は、OBDを介して移動速度を取得するとともに、各モデルの学習を行う。そして、端末装置10は、レンタカーや利用者の友人の車両など、OBDを介して車両速度を取得できない車両に搭載された場合には、GPSが使用できなくなった際に、学習済みのモデルを用いて、移動速度を推定してもよい。すなわち、端末装置10は、OBD等を用いた学習データを用いて各モデルの構築を行い、OBDやGPS等を介して車両速度を取得できない場合には、構築されたモデルを用いた推定処理を実行してもよい。
【0154】
また、上述した説明では、端末装置10は、「階層」の値が少ない速度推定モデルから順番に、学習処理を実行した。すなわち、端末装置10は、推定処理において使用される可能性が高い順(優先度がより高く、かつ、判定速度が遅い順)に、速度推定モデルの学習を行った。この結果、端末装置10は、すべての速度推定モデルの学習が完了していない場合にも、ある程度の精度で、移動速度を推定することができる。しかしながら、実施形態は、これに限定されるものではない。例えば、端末装置10は、各速度推定モデルの学習を並行して実行してもよい。
【0155】
また、端末装置10は、速度帯ごとに学習データの収集を行い、学習データの数が所定の閾値を超えた速度帯が存在する場合は、その速度帯に判定速度が含まれる速度推定モデルの学習を開始してもよい。すなわち、端末装置10は、学習に使用する学習データが十分に取得された速度推定モデルから順に、学習を実行してもよい。このような学習処理を実行した場合、端末装置10は、学習データが十分に収集されている速度帯においては、速度推定モデルを用いて移動速度を推定し、学習データが十分に収集されていない速度帯においては、速度推定モデルを用いずに、移動速度の推定を行ってもよい。例えば、端末装置10は、それまでに推定された推定速度の履歴に基づいて、移動速度を推定してもよい。
【0156】
また、端末装置10は、学習データを所定の態様で収集してよい。例えば、端末装置10は、案内処理を提供するアプリケーションを解約したとしても、学習データを収集することができるのであれば、学習データの収集を行ってもよく、様々な利用者によって収集された学習データを用いてもよく、同乗者が使用している端末装置が収集した学習データを用いてもよい。また、例えば、端末装置10は、学習処理を実行するためのイニシャル期間を設け、かかるイニシャル期間の間に各モデルの学習を行うとともに、イニシャル期間の経過後においては、学習した各モデルを用いた推定処理を実行してもよい。
【0157】
また、端末装置10は、学習した各モデルを、自動運転のために用いるモデルとして使用可能に出力してもよい。また、自動運転が普及した場合には、車両の平均的な移動速度は、現在の平均的な移動速度よりも速くなると予測される。端末装置10は、
図13に示すように、所定の判定速度を中心として、非対称な態様で判定を行う複数の速度推定モデルを学習してもよい。より具体的には、端末装置10は、より高速な速度帯の学習を行った速度推定モデルをより多く用いてもよい。
【0158】
また、端末装置10は、例えば、入力された特徴量が、所定の速度帯に含まれるか否かを判定する速度推定モデルの学習や、そのような速度推定モデルを用いた推定速度の推定を行ってもよい。例えば、端末装置10は、検出された特徴量が生じうる速度帯が、時速「40km/h」から時速「50km/h」の速度帯に含まれるか否かを判定する速度推定モデルの学習を行う。そして、端末装置10は、取得された特徴量が生じうる速度帯が、この速度推定モデルによって、時速「40km/h」から時速「50km/h」の速度帯に含まれると判定された場合には、推定速度を時速「45km/h」としてもよい。
【0159】
〔4−7.モデルについて〕
上述した説明では、端末装置10は、停止判定モデルや速度推定モデルとしてSVMの学習を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、端末装置10は、ニューラルネットワークの学習や、所謂ディープラーニングと呼ばれる学習を用いてもよい。具体的な例を説明すると、端末装置10は、学習データを用いて、停止判定を行うDNN(Deep Neural Network)といったニューラルネットワークの学習を行ってもよい。
【0160】
〔4−8.処理間隔について〕
また、上述した端末装置10は、例えば、1秒間隔で、推定処理や学習処理を実行した。しかしながら、実施形態は、これに限定されるものではなく、任意のタイミングで推定処理や学習処理を実行してもよい。例えば、端末装置10は、GPSを用いて移動速度の測定を行うとともに、モデルを用いた移動速度の推定を常に実行し、正答率が所定の閾値よりも低くなった場合には、学習処理を実行してもよい。
【0161】
〔4−9.姿勢変化について〕
ここで、端末装置10は、端末装置10の姿勢を特定してもよい。例えば、一定期間内の加速度を平均した場合には、その平均ベクトルGの方向は、重力加速度の方向と一致する。そこで、端末装置10は、例えば、アプリケーションを起動してからそれまでに測定された全ての加速度の平均ベクトル方向と、直近1秒間の間に検出された加速度の平均ベクトルの方向とを比較し、角度で37度以上の開きがあった場合(すなわち、各平均ベクトルの間の角度のコサイン値が0.8より小さくなった場合)には、端末装置10の姿勢に変化があったと判定してもよい。
【0162】
このような姿勢変化があったと判定した場合、端末装置10は、学習データデータベース12bに登録された学習データや、モデルデータベース12dに登録された各モデルを消去し、新たな学習データの収集やモデルの学習を行う。この結果、端末装置10は、姿勢変化が生じた場合における判定精度の悪化を軽減することができる。
【0163】
〔4−10.他の実施形態〕
なお、上記実施形態は例示に過ぎず、本発明は、以下に例示するものやそれ以外の他の実施態様も含むものである。例えば、本出願における機能構成、データ構造、フローチャートに示す処理の順序や内容などは例示に過ぎず、各要素の有無、その配置や処理実行などの順序、具体的内容などは適宜変更可能である。例えば、上述した案内処理や推定処理は、上記実施形態で例示したように端末装置10が実現する以外にも、スマートフォンのアプリなどが実現する端末における装置、方法やプログラムとして実現することもできる。
【0164】
また、端末装置10を構成する各処理部17〜20を、さらにそれぞれ独立した装置で実現する構成も一般的である。また、移動状態推定部20を構成する各部21〜25をそれぞれ独立した装置で実現する構成であってもよい。同様に、外部のプラットフォーム等をAPI(アプリケーション・プログラム・インタフェース)やネットワークコンピューティング(いわゆるクラウドなど)で呼び出すことで、上記実施形態で示した各手段を実現するなど、本発明の構成は柔軟に変更できる。さらに、本発明に関する手段などの各要素は、コンピュータの演算制御部に限らず物理的な電子回路など他の情報処理機構で実現してもよい。
【0165】
例えば、端末装置10は、端末装置10と通信可能な配信サーバとが協調して上述した案内処理を実行してもよい。例えば、配信サーバは、収集部26、学習部27、更新部28を有し、端末装置10が検出した加速度から、特徴量を収集し、収集した特徴量を用いたモデルの学習を行い、学習したモデルを端末装置10へと配信してもよい。また、このような配信サーバは、学習データを収集した端末装置ごとに各モデルの学習を行ってもよく、学習データを収集した際に端末装置10が設置されていた車両の車種、タイヤの種別、路面や天気の状況などの状態ごとに、各モデルの学習を行ってもよい。このような学習を行った場合、配信サーバは、学習したモデルのうち、端末装置10が推定処理を実行する際の状況に応じたモデルを、端末装置10へと配信してもよい。
【0166】
また、配信サーバは、検出部21、設定部22、変換部23、取得部24、推定部25を有し、端末装置10が検出した加速度の値に基づいて、推定した移動速度を端末装置10に配信し、利用者の案内を実行させてもよい。また、配信サーバは、端末装置10に代わって上述した推定処理を実行し、実行結果を端末装置10に送信することで、端末装置10に案内処理を実行させてもよい。
【0167】
なお、配信サーバと協調して案内処理や推定処理を実行する端末装置が複数存在する場合、配信サーバは、端末装置ごとに異なるSVMを用いて、各端末装置が移動中であるか否かを判定してもよい。また、配信サーバは、各端末装置がGPSで取得した位置情報を収集し、収集した位置情報から各端末装置が移動中であるか否かを判定し、判定結果と、各端末装置から収集した加速度の値とを用いて、SVMの学習を実現してもよい。
【0168】
〔5.効果〕
上述したように、端末装置10は、移動時に生じる所定の物理的な状態を検出する。そして、端末装置10は、物理的な状態が生じる速度帯を学習した速度推定モデルなどの学習器を用いて、検出部により検出された状態から移動速度を推定する。このため、端末装置10は、例えば、走行時に生じる振動など、物理的な状態の特徴に基づいて、移動速度を推定することができる。この結果、端末装置10は、端末装置10の設置姿勢が不明であっても、移動速度を精度よく推定することができる。
【0169】
また、端末装置10は、学習器として、物理的な状態が生じる速度帯であって、それぞれ異なる速度帯を学習した複数の学習器を用いて、検出部により検出された状態から移動速度を推定する。このように、それぞれ異なる速度帯を複数のモデルに学習させた場合には、各モデルごとの判定精度を向上させることができる。このため、端末装置10は、移動速度の推定精度をさらに向上させることができる。
【0170】
また、端末装置10は、複数の学習器として、物理的な状態が生じる速度帯が所定の速度帯であるか否かを判定する複数の学習器を段階的に用いることで、検出された状態から移動速度を推定する。このため、端末装置10は、モデルを用いて速度帯を推定する回数を削減することができるので、推定処理における計算リソースを削減することができる。
【0171】
また、端末装置10は、物理的な状態が生じる速度帯が所定の第1速度帯であるか否かを判定する第1学習器によって、検出された状態が生じる速度帯が第1速度帯であると判定された場合は、物理的な状態が生じる速度帯が第1速度帯に含まれる第2速度帯であるか否かを判定する第2学習器を用いて、検出された状態が生じる速度帯を推定する。このように、端末装置10は、速度帯を段階的に限定するので、推定処理における計算リソースを削減することができるとともに、すべてのモデルの学習が完了していない場合にも、ある程度の精度で移動速度を推定することができる。
【0172】
また、端末装置10は、複数の学習器のうち、移動する機会が他の速度帯よりも多い速度帯であるか否かを判定する学習器を優先的に用いて、移動速度を推定する。このため、端末装置10は、一般的な走行状態における推定速度の精度を向上させることができる。
【0173】
また、端末装置10は、学習器として、物理的な状態が生じる速度帯が所定の速度よりも速い速度帯であるか、所定の速度よりも遅い速度帯であるかを判定する学習器を用いて、移動速度を推定する。また、端末装置10は、学習器を用いて、検出された状態が生じる速度帯を推定し、推定された速度帯に含まれる移動速度を推定結果として出力する。このため、端末装置10は、物理的な状態から移動速度を推定することができる。
【0174】
また、端末装置10は、学習器を用いて、検出された状態が生じる速度帯が所定の上限速度よりも速い速度帯であると推定された場合には、所定の測定手段により最後に測定された速度を移動速度として出力する。このため、端末装置10は、速度推定モデルを用いた判定回数の増大による推定精度の悪化を防ぎつつ、移動速度を推定することができる。
【0175】
また、端末装置10は、前回推定した移動速度と、新たに推定した移動速度との差が所定の範囲内に収まる場合には、所定の期間内に推定された推定速度の平均値を推定結果として出力する。一方、端末装置10は、前回推定した移動速度と、新たに推定した移動速度との差が所定の範囲内に収まらない場合には、前回推定した移動速度に所定の値を加算または減算した値を新たな推定速度として出力する。このため、端末装置10は、現実的にはあり得ない推定速度の変化を防ぐことができる。
【0176】
また、端末装置10は、検出された状態の特徴を示す特徴量を取得し、学習器として、特徴量が取得される速度帯を学習した学習器を用いて、検出された状態から移動速度を推定する。また、端末装置10は、特徴量として、検出部により検出された状態の平均値、最大値、最小値、および標準偏差の少なくともいずれか1つを取得する。このため、端末装置10は、学習機による推定速度の精度を向上させることができる。
【0177】
また、端末装置10は、移動時に生じる所定の物理的な状態として、検出された加速度、または、測定された音声を検出する。このため、端末装置10は、車両の振動や風切り音などに基づいて、移動速度を推定することができる。
【0178】
また、端末装置10は、移動速度を推定する移動体が移動している区間、移動体が移動している路面の状況、移動体の種別、移動体が移動している区間の天候、および移動体が使用しているタイヤの種別の少なくともいずれか1つに応じて、移動速度を推定する際に用いる学習器を変更する。このため、端末装置10は、速度推定モデルを用いた推定速度の精度を向上させることができる。
【0179】
また、端末装置10は、所定の測定手段により移動速度を測定することができる場合には、検出された状態と、測定された移動速度との組を用いて、検出された状態が検出される速度帯を学習する学習器を学習する。そして、端末装置10は、学習された学習器を用いて、移動速度を推定する。このため、端末装置10は、速度推定モデルの学習精度を向上させることができる。
【0180】
また、端末装置10は、学習する速度帯に応じた順序で、複数の学習器を順番に学習し、学習部が学習を行う順で、複数の学習器を段階的に用いて移動速度を推定する。また、端末装置10は、複数の学習器のうち、移動する機会がより多い速度帯を学習する学習器から優先的に学習する。より具体的には、端末装置10は、状態を検出する際に、第3速度帯に含まれる移動速度よりも第4速度帯に含まれる移動速度の方が多く測定された場合は、第3速度帯に含まれる速度帯を学習する学習器によって学習される速度帯の幅を、第4速度帯に含まれる速度帯を学習する学習器によって学習される速度帯の幅よりも広くする。このため、端末装置10は、学習データの不足による推定精度の悪化を防ぐことができる。
【0181】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0182】
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、移動状態推定部は、移動状態判定手段や移動状態判定回路に読み替えることができる。
【解決手段】本願に係る推定装置は、移動時に生じる所定の物理的な状態を検出する検出部と、前記物理的な状態が生じる速度帯を学習した学習器を用いて、前記検出部により検出された状態から移動速度を推定する推定部とを有することを特徴とする。このため、端末装置10は、例えば、走行時に生じる振動など、物理的な状態の特徴に基づいて、移動速度を推定することができる。この結果、端末装置10は、端末装置10の設置姿勢が不明であっても、移動速度を精度よく推定することができる。