(58)【調査した分野】(Int.Cl.,DB名)
前記取得部は、前記検出部が加速度を検出する所定の軸方向を前記設定部により設定された基準方向に一致させる回転行列を用いて、前記検出部により検出された加速度を前記基準方向を基準とした方向の加速度に変換し、変換後の加速度に基づいた特徴量を取得する
ことを特徴とする請求項1〜7のうちいずれか1つに記載の判定装置。
前記判定部は、前記特徴量として、前記加速度の大きさの平均値、最大値、最小値、および標準偏差の少なくともいずれか1つに基づいて、前記端末装置の移動状態を判定する
ことを特徴とする請求項1〜10のうちいずれか1つに記載の判定装置。
【発明を実施するための形態】
【0011】
以下に、本願に係る判定装置、判定方法及び判定プログラムを実施するための形態(以下、「実施形態」と呼ぶ。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る判定装置、判定方法及び判定プログラムが限定されるものではない。また、以下の各実施形態において同一の部位及び処理には同一の符号を付し、重複する説明は省略される。
【0012】
また、以下の説明では、判定装置が実行する処理として、利用者が乗車した車両を目的地まで案内するカーナビゲーションの一例について説明するが、実施形態は、これに限定されるものではない。例えば、判定装置は、利用者が歩行している場合や列車等、車両以外の交通手段を利用している場合にも、以下に説明する処理を実行し、利用者を目的地まで案内する処理を実行してもよい。
【0013】
〔1.移動状態の概要〕
まず、
図1を用いて、判定装置の一例である端末装置10が判定する移動態様の概念について説明する。
図1は、実施形態に係る端末装置が発揮する作用効果の一例を説明するための図である。例えば、端末装置10は、スマートフォン、タブレット端末やPDA(Personal Digital Assistant)等の移動端末、ノート型PC(Personal Computer)等の端末装置であり、移動通信網や無線LAN(Local Area Network)等のネットワークNを介して、任意のサーバと通信可能な端末装置である。
【0014】
また、端末装置10は、利用者が乗車した車両C10を目的地まで案内するカーナビゲーションの機能を有する。例えば、端末装置10は、利用者から目的地の入力を受付けると、利用者を目的地まで誘導するための経路情報を、図示を省略したサーバ等から取得する。例えば、経路情報には、車両C10が利用可能な目的地までの経路、経路に含まれる高速道路の情報、経路上の渋滞情報、案内の目印となる施設、画面上に表示する地図の情報、案内時に出力する音声や地図等の画像等のデータが含まれる。
【0015】
また、端末装置10は、GPS(Global Positioning System)等の衛星測位システムを用いて、端末装置10の位置(以下、「現在地」と記載する。)を所定の時間間隔で特定する測位機能を有する。そして、端末装置10は、経路情報に含まれる地図等の画像を液晶画面やエレクトロルミネッセンス、LED(Light Emitting Diode)画面等(以下、単に「画面」と記載する。)に表示すると共に、特定した現在地をその都度地図上に表示する。また、端末装置10は、特定した現在地に応じて、左折や右折、使用する車線の変更、目的地への到着予定時間等を表示、若しくは、端末装置10や車両C10のスピーカー等から音声により出力する。
【0016】
ここで、衛星測位システムでは、複数の衛星から発信された信号を受信し、受信した信号を用いて、端末装置10の現在地を特定する。このため、端末装置10は、トンネルの中やビル群に挟まれた場所等、衛星から発信された信号を適切に受信できない場合には、現在地を特定することができない。また、端末装置10に案内を実現させるアプリケーション等は、車両C10から速度や移動方向等の情報を取得する機能を有していない。このため、加速度を測定する加速度センサを端末装置10に設置し、加速度センサが測定した加速度に基づいて、端末装置10の位置を推定する手法が考えられる。例えば、加速度センサが測定した加速度に基づいて、端末装置10が移動しているか停止しているかを判定する停止判定を行う手法が考えられる。
【0017】
より具体的な例を説明する。例えば、端末装置10は、衛星から発信された信号を適切に受信できない場合には、車両C10がトンネル等に入ったと判定し、最後に特定した車速および進行方向でそのまま推定位置を進める。そして、端末装置10は、測定した加速度に基づいて、車両C10が停止しているか否かを判定し、車両C10が停止していると判定した場合には、推定位置の移動を停止させる。
【0018】
〔1−1.停止判定技術の一例〕
ここで、車両C10が停止しているか否かを判定する停止判定技術の一例について説明する。なお、ここで示す技術は、本発明の前段階となる技術の一例であるが、本来の従来技術に属するものではない。すなわち、ここで示す技術は、本出願人が開発、試験、研究等のために秘密裡に実施している技術であり、いわゆる公知、公用または文献公知など秘密を脱した技術ではない。
【0019】
例えば、
図1の(A)に示すように、端末装置10は、画面の短尺方向をx軸とし、画面の長尺方向をy軸とし、画面に対して垂直な方向をz軸として、各xyz軸方向の加速度を測定する。例えば、端末装置10は、画面を正面とした際に、正面側を+z軸方向、背面側を−z軸方向とし、端末装置10の利用時において画面上側を+x軸方向、画面下側を−x軸方向、画面左側を+y軸方向、画面右側を−y軸方向とする端末座標系における加速度を測定する。
【0020】
一方、
図1の(B)に示すように、利用者が使用する車両C10の移動方向や速度は、車両C10が進行する方向をZ軸とし、Z軸に対して垂直な平面上において、車両C10が進行する際に左折若しくは右折する方向をY軸方向とし、車両C10の上下方向をX軸方向とする車両C10座標系で表される。例えば、車両C10の移動方向や速度は、車両C10の上方向を+X軸方向、下方向(すなわち、地面側)を−X軸方向、左折する方向を+Y軸方向、右折する方向を−Y軸方向、車両C10の後ろ方向を+Z軸方向、前方向を−Z軸方向とする車両座標系で表される。
【0021】
また、端末装置10は、端末座標系で測定した加速度を用いて重力方向、すなわち、車両座標系の−X軸方向を設定するとともに、車両C10が移動する際に生じた加速度を用いて車両C10の進行方向を特定し、推定した基準方向と進行方向とに基づいて、端末座標系で測定した加速度を車両座標系に変換する回転行列を求める。そして、端末装置10は、回転行列を用いて、端末座標系の加速度を車両座標系の加速度に変換し、変換後の加速度の各軸方向における振幅、振動数、平均値、標準偏差、最大値、最小値の合計18個を特徴量として取得する。
【0022】
また、端末装置10は、車両C10の速度が所定の閾値以上である際に取得された特徴量については、走行中の特徴量として蓄積し、車両C10の速度が所定の閾値以下である際に取得された特徴量については、停止中の特徴量として蓄積する。そして、端末装置10は、蓄積した特徴量を用いて、車両C10が停止しているか否かを判定する停止判定モデル(例えば後述のSVM(Support Vector Machine)等による)を学習し、学習した停止判定モデルを用いて、トンネル等の衛星測位システムが使用できない場合に、車両C10が停止しているか否か判定する。
【0023】
しかしながら、このような技術では、車両C10が移動する際に生じた加速度を用いて車両C10の進行方向を特定するので、回転行列を求めるために、一定期間の間車両C10を走行させなければならない。この結果、例えば、案内を開始してからすぐに車両C10がトンネルに入った場合は、回転行列を求めることができず、停止判定を開始できないという問題がある。
【0024】
また、利用者は、サービスエリア等で端末装置10を所持して下車する場合がある。この結果、端末装置10の姿勢が変化した場合は、回転行列が変化するため、改めて進行方向を特定し、特定した進行方向と基準方向とに基づいて回転行列を求め直す必要がある。しかしながら、このような処理を実行した場合にも、進行方向が特定されるまでは、停止判定を開始することができない。また、道路が傾斜している場合には、端末座標系と車両座標系とにずれが生じるため、誤差が生じやすい。
【0025】
なお、端末座標系で測定した加速度を座標変換せずに加速度の平均値を算出し、算出した平均値の特徴量から停止判定モデルを学習する手法も考えられる。しかしながら、このような手法においては、端末装置10の設置姿勢が不明であるため、案内を開始する度に停止判定モデルを必ず学習する必要がある。また、このような手法を用いた場合であっても、端末装置10の設置姿勢が変化すると、改めて停止判定モデルを学習する必要があり、また、道路が傾斜している場合には、誤差が生じやすい。
【0026】
特に、端末座標系で測定した加速度を座標変換した場合は、車両C10の進行方向に応じた回転行列を特定すれば、停止判定モデルが再利用可能である。一方、加速度を座標変換しない場合は、端末装置10の設置姿勢が変化した場合や、案内を開始する度に停止判定モデルを学習し直さなければならない。
【0027】
〔2.実施形態に係る端末装置10が実行する判定処理について〕
そこで、端末装置10は、以下の判定処理を実行する。例えば、端末装置10は、端末座標系で加速度を検出する。また、端末装置10は、検出された加速度に基づいて、基準方向を設定する。そして、端末装置10は、特定された基準方向を基準とする方向の加速度に基づいた特徴量を取得する。その後、端末装置10は、取得された特徴量を用いて、端末装置10の移動状態を判定する。
【0028】
以下、図を用いて、上述した判定処理を実現する端末装置10の機能構成及び作用効果の一例を説明する。
【0029】
〔2−1.機能構成の一例〕
図2は、実施形態に係る端末装置が有する機能構成の一例を説明する図である。
図2に示すように、端末装置10は、通信部11、記憶部12、複数の加速度センサ13a〜13c(以下、総称して「加速度センサ13」と記載する場合がある。)、GPS受信アンテナ14、出力部15、制御部16を有する。通信部11は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部11は、ネットワークNと有線または無線で接続され、端末装置10と、端末装置10から目的地を受信すると、目的地までの経路を示す経路情報を配信する配信サーバとの間で情報の送受信を行う。
【0030】
記憶部12は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部12は、案内を実行するために用いる各種のデータである案内情報データベース12a、学習データデータベース12b、テストデータデータベース12c、およびモデルデータベース12dを有する。
【0031】
案内情報データベース12aは、端末装置10が案内を行う際に用いる各種のデータが登録される。例えば、案内情報データベース12aには、図示を省略したサーバ等から受信した目的地までの経路情報が格納される。また、案内情報データベース12aには、案内において出力される各種の画像や音声データ等が格納される。
【0032】
学習データデータベース12bには、停止判定モデルの学習に用いる学習データが登録される。具体的には、学習データデータベース12bには、端末装置10の移動速度毎に所定の数ずつ収集された特徴量が登録される。
【0033】
例えば、
図3は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。
図3に示すように、学習データデータベース12bには、「状態」、「速度帯」、および「データ#1」〜「データ#10」といった項目を有する情報が登録される。ここで「状態」とは、対応付けられた学習データが走行状態を示すデータであるか、停止状態を示すデータであるかを示す情報である。また、「速度帯」とは、対応付けられた特徴量が収集された際における端末装置10の移動速度を示す情報である。また、「データ#1」〜「データ#10」は、特徴量のデータである。
【0034】
例えば、
図3に示す例では、学習データデータベース12bには、「停止状態」を示す学習データとして、端末装置10の移動速度が「0km/h(キロメートル毎時)〜5km/h」である際に収集された特徴量のデータ「特徴量#1−1」〜「特徴量#1−60」が登録されている。また、学習データデータベース12bには、「走行状態」を示す学習データとして、端末装置10の移動速度が「5km/h(キロメートル毎時)〜15km/h」である際に収集された特徴量のデータ「特徴量#2−1」〜「特徴量#2−10」が登録されている。
【0035】
また、学習データデータベース12bには、他にも、端末装置10の移動速度が「15km/h(キロメートル毎時)〜25km/h」、「25km/h〜35km/h」、「35km/h〜45km/h」、「45km/h〜55km/h」、「55km/h以上」の各速度帯において収集された特徴量のデータが10個ずつ登録されている。
【0036】
すなわち、
図3に示す例では、学習データデータベース12bには、走行状態を示す学習データと停止状態を示す学習データとが、60個ずつ登録されている。なお、
図3に示す例では、特徴量を示すデータとして「特徴量#1−1」といった概念的な値を記載したが、実施形態は、これに限定されるものではない。後述する説明で明らかとなるように、学習データデータベース12bには、基準方向の加速度の大きさと、基準方向に垂直な面上の加速度の大きさとの組の平均値、標準偏差、最大値および最小値の値が特徴量を示すデータとして登録される。
【0037】
テストデータデータベース12cには、端末装置10の移動状態を判定するモデル、すなわち、停止判定モデルをテストする際に用いられるテストデータとして、特徴量が登録される。例えば、
図4は、実施形態にかかるテストデータデータベースに登録される情報の一例を示す図である。
図4に示すように、テストデータデータベース12cには、「状態」および「テストデータ#1」、「テストデータ#2」といった項目を有する情報が登録される。ここで、
図4に示す「状態」とは、対応付けられたテストデータが走行状態を示すデータであるか、停止状態を示すデータであるかを示す情報である。また、「テストデータ#1」、「テストデータ#2」は、走行状態または停止状態を示す特徴量のデータである。
【0038】
例えば、
図4に示す例では、テストデータデータベース12cには、「停止状態」を示すテストデータとして「テストデータ#1−1」、「テストデータ#1−2」が登録され、「走行状態」を示すテストデータとして「テストデータ#2−1」、「テストデータ#2−2」が登録されている。なお、テストデータデータベース12cには、
図4に示すテストデータ以外にも、「停止状態」や「走行状態」を示す複数のテストデータ(例えば、60個ずつのテストデータ)が登録されているものとする。また、テストデータデータベース12cには、学習データデータベース12bよりも多くの特徴量がテストデータとして登録されているものとする。
【0039】
モデルデータベース12dは、加速度に基づく特徴量が入力された際に端末装置10の移動状態を判定する複数のモデルであって、それぞれパラメータが異なるモデル、すなわち、複数の停止判定モデルを保持する。ここで、停止判定モデルは、例えば、サポートベクトルマシン(SVM)により実現される。
【0040】
例えば、
図5は、実施形態に係るモデルデータベースに登録される情報の一例を示す図である。
図5に示すように、モデルデータベース12dには、「モデルID(Identifier)」、「モデルデータ」、「正答率(%)」、および「使用フラグ」といった項目を有する情報が登録される。ここで、「モデルID」は、モデルの識別子である。また、「モデルデータ」は、学習されたモデルのデータである。
【0041】
また、「正答率(%)」は、テストデータを用いてモデルをテストした際の正答率を百分率で示した値である。また、「使用フラグ」とは、モデルデータベース12dに登録されたモデルのうち、停止判定モデルとして端末装置10が使用するモデルを示す情報である。なお、
図5に示す例では、モデルID「モデル#1」〜「モデル#10」が示す10個のモデルのモデルデータが格納される例について記載したが、実施形態は、これに限定されるものではなく、任意の数のモデルのモデルデータが登録可能であるものとする。
【0042】
例えば、
図5に示す例では、モデルデータベース12dには、「モデル#1」が示すモデルのデータとして「モデルデータ#1」が登録されており、テストデータを用いた際に、「モデル#1」が示すモデルの正答率が「98」%である旨が登録されている。また、モデルデータベース12dには、「モデル#1」〜「モデル#10」が示すモデルのうち、「モデル#1」が示すモデルが使用されている旨の情報が登録されている。
【0043】
図2に戻り、説明を続ける。加速度センサ13は、所定の時間間隔(例えば、5ミリ秒)で、端末装置10に係る加速度の大きさと方向とを測定する。例えば、加速度センサ13aは、端末座標系におけるx軸方向の加速度を測定する。加速度センサ13bは、端末座標系におけるy軸方向の加速度を測定する。加速度センサ13cは、端末座標系におけるz軸方向の加速度を測定する。すなわち、端末装置10は、各加速度センサ13a〜13cが測定した加速度を端末座標系の各軸方向の加速度とすることで、端末装置10に対する加速度の向きと大きさとを示すベクトルを取得することができる。
【0044】
GPS受信アンテナ14は、GPS等の衛星測位システムに用いられる信号を衛星から受信するためのアンテナである。また、出力部15は、案内を行う際に地図や現在地を表示するための画面や、音声を出力するためのスピーカーである。
【0045】
制御部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を有する。
【0046】
なお、制御部16が有する各処理部17〜20の接続関係は、
図2に示した接続関係に限られず、他の接続関係であってもよい。また、各処理部17〜20は、以下に説明するような案内処理の機能・作用(例えば
図1)を実現・実行するものであるが、これらは説明のために整理した機能単位であり、実際のハードウェア要素やソフトウェアモジュールとの一致は問わない。すなわち、以下の案内処理の機能・作用を実現・実行することができるのであれば、端末装置10は、任意の機能単位で案内処理を実現・実行して良い。
【0047】
〔2−2.案内処理における作用効果の一例〕
以下、
図6に示すフローチャートを用いて、各処理部17〜20が実行・実現する案内処理の内容について説明する。
図6は、実施形態に係る端末装置が実行する案内処理の流れの一例を説明するフローチャートである。
【0048】
まず、案内実行部17は、利用者から目的地が入力されたか否かを判定する(ステップS101)。そして、案内実行部17は、目的地が入力された場合は(ステップS101:Yes)、図示を省略した外部のサーバから経路情報を取得する(ステップS102)。ここで、案内実行部17は、GPSが使えるか否かを判定する(ステップS103)。
【0049】
例えば、案内実行部17は、GPS受信アンテナ14が衛星からの信号を受信できない場合や、信号を受信できた衛星の数が所定の閾値よりも少ない場合等には、GPSが使用できないと判定し(ステップS103:Yes)、移動状態判定部20により推定された車両C10の移動方向や速度から現在地を取得する(ステップS104)。例えば、案内実行部17は、移動状態判定部20により推定された現在地を取得する。なお、移動状態判定部20が車両C10の現在地を推定する処理の具体的な内容については、後述する。
【0050】
一方、案内実行部17は、GPSが使えると判定した場合は(ステップS103:No)、GPSを用いて現在地を特定する(ステップS105)。そして、案内実行部17は、音声出力部18や画像出力部19を制御し、GPSを用いた現在地若しくは推定した現在地を用いて、案内を出力する(ステップS106)。例えば、音声出力部18は、案内実行部17からの制御に従って、現在地や車両C10が進むべき方向等を示す音声を出力部15から出力する。また、画像出力部19は、案内実行部17からの制御に従って、現在地と周辺の地図とを重ねた画像や、車両C10が進むべき方向等を示す画像を出力部15から出力する。
【0051】
続いて、案内実行部17は、現在地が目的地の周辺であるか否かを判定する(ステップS107)。そして、案内実行部17は、現在地が目的地の周辺であると判定した場合は(ステップS107:Yes)、音声出力部18や画像出力部19を制御して案内の終了を示す終了案内を出力し(ステップS108)、処理を終了する。一方、案内実行部17は、現在地が目的地の周辺ではないと判定した場合は(ステップS107:No)、ステップS103を実行する。なお、案内実行部17は、目的地が入力されていない場合は(ステップS107:No)、入力されるまで待機する。
【0052】
〔2−3.判定処理における作用効果の一例〕
次に、
図7に示すフローチャートを用いて、判定部25が実行・実現する判定処理の内容について説明する。
図7は、実施形態に係る端末装置が実行する判定処理の流れの一例を説明するフローチャートである。例えば、判定部25は、
図6のステップS103にて、GPSが使えないと判定された場合には、
図7に示す判定処理を実行する。なお、
図7に示す判定処理の結果は、移動状態判定部20により推定された現在地として案内実行部17に出力される。
【0053】
まず、判定部25は、GPSが使用できなくなった位置から、GPSが使用できなくなった際に測定された速度で、GPSが使用できなくなった際に測定された進行方向に車両C10が進んだものとして、現在地を推定する(ステップS201)。例えば、判定部25は、車両C10がトンネルに入った場合には、車両C10がトンネルに入った際の速度および方向に車両C10が進み続けているものとして、現在地を推定する。なお、判定部25は、案内情報データベース12aから車両C10が移動している経路の情報を取得し、取得した経路に沿って車両C10が移動していると推定してもよい。
【0054】
続いて、判定部25は、モデルデータベース12dから選択されたモデル、すなわち、使用フラグが「1」であるモデルを読み出す(ステップS202)。なお、判定部25が読み出すモデルは、後述する取得処理および学習処理によって学習および選択が行われるモデルである。
【0055】
そして、判定部25は、読み出したモデルを用いて、車両C10が停止状態であるか否かを判定する(ステップS203)。具体的には、判定部25は、読み出したモデルに対し、後述する取得部24によって取得された特徴量を入力し、車両C10が停止状態であるか否かを判定する。すなわち、判定部25は、特徴量が有する特徴を学習したモデルを用いて、端末装置10の移動状態を判定する。このように、判定部25は、取得部24により取得された特徴量を用いて、端末装置10の移動状態を判定する。
【0056】
そして、判定部25は、車両C10が停止状態であると判定された場合は(ステップS203:Yes)、推定される現在地の移動を停止する(ステップS204)。一方、判定部25は、車両C10が停止状態ではないと判定された場合は(ステップS203:No)、ステップS201を実行する。例えば、判定部25は、車両C10が停止状態であると判定した後で、車両C10が移動状態であると判定された場合は、車両C10がトンネルに入った際の速度および方向に車両C10が進み始めたものとして、現在地を推定する。
【0057】
〔2−4.取得処理における作用効果の一例〕
次に、
図8に示すフローチャートを用いて、検出部21、設定部22、変換部23、および取得部24が実行・実現する取得処理の内容について説明する。
図8は、実施形態に係る端末装置が実行する取得処理の流れの一例を説明するフローチャートである。なお、検出部21、設定部22、変換部23、および取得部24は、
図8に示す取得処理を所定の期間(例えば1秒ごと)に実行する。
【0058】
例えば、検出部21は、加速度センサ13から加速度を取得する(ステップS301)。具体的には、加速度センサ13が所定の時間間隔で、端末座標系の(x、y、z)軸方向ごとに測定した加速度の大きさを取得する。また、検出部21は、所定の期間の間に加速度センサ13が測定した加速度の大きさの平均値を、端末座標系の各軸方向ごとに算出する(ステップS302)。例えば、検出部21は、加速度センサ13が5ミリ秒ごとに検出した端末座標系の加速度を1秒分収集する。そして、検出部21は、収集した各加速度のx軸方向の値の平均値x
m、y軸方向の値の平均値y
m、z軸方向の値の平均値z
m、をそれぞれ算出し、算出した各軸方向の平均値からなるベクトル(x
m、y
m、z
m)を平均ベクトルGとする。
【0059】
続いて設定部22は、検出部21によって算出された加速度に基づいて、基準方向を設定する(ステップS303)。より具体的には、設定部22は、
図1中(C)に示すように、検出部21によって算出された加速度の平均値からなる平均ベクトルGの方向を、基準方向とする。
【0060】
続いて、変換部23は、端末座標系の所定の軸方向を設定部22が設定した基準方向に一致させる回転行列を算出する(ステップS304)。そして、変換部23は、算出した回転行列を用いて、検出部21により端末座標系で取得された加速度の各成分を変換する(ステップS305)。すなわち、変換部23は、検出部21によって取得された加速度を、車両座標系ではなく、基準方向を基準とする座標系の加速度に変換する。
【0061】
例えば、
図1中(D)に示すように、設定部22は、加速度の平均ベクトルGの方向を基準として設定する。そして、変換部23は、
図1中(E)に示すように、端末座標系の−x軸方向と平均ベクトルGの方向とが一致するような回転行列を算出する。なお、変換部23は、端末座標系の−x軸方向と平均ベクトルGの方向とが一致するような回転行列であれば、任意の回転行列を採用してよい。すなわち、変換部23は、y軸方向やz軸方向を任意の方向へと回転させる回転行列を採用してよい。
【0062】
そして、
図1中(F)に示すように、変換部23は、算出した回転行列を用いて、端末座標系で測定された加速度を、加速度の平均値を基準とする座標系(以下、推定座標系と記載する。)へと変換する。なお、以下の説明では、推定座標系における平均ベクトルGの方向を−x軸方向とする。また、以下の説明では、推定座標系における−x軸方向を基準方向と記載する場合がある。
【0063】
続いて、取得部24は、平均ベクトルの方向に対して垂直な面上(以下、水平面と記載する。)、すなわち、推定座標系におけるyz平面上の加速度ベクトルの大きさを算出する(ステップS306)。そして、取得部24は、平均ベクトルの大きさと、水平面上の加速度ベクトルの大きさとの組から、特徴量を取得する(ステップS307)。
【0064】
例えば、取得部24は、
図1中(G)に示すように、変換部23によって座標変換がなされた加速度の各軸成分のうち、水平面上の加速度の大きさ「a_hor」と、平均ベクトルGの加速度の大きさ、すなわち、推定座標系における基準方向の加速度の大きさ「a_ver」との組を求める。より具体的には、推定座標系における加速度の成分を「a_x、a_y、a_z」と記載すると、取得部24は、成分「a_y」の二乗と、成分「a_z」の二乗との和の平方根の値を「a_hor」として算出する。
【0065】
そして、取得部24は、
図1中(H)に示すように、算出した「a_hor」と、「a_ver」との組、すなわち、加速度の水平面上の加速度の大きさと、基準方向の加速度の大きさとの組である「(a_ver、a_hor)」について、所定の期間内における平均値、最大値、最小値および標準偏差を特徴量として取得する。なお、取得部24は、「(a_ver、a_hor)」について、所定の期間内における平均値、最大値、最小値および標準偏差の少なくともいずれか1つを特徴量としてもよい。このように、取得部24は、基準方向を基準とする方向の加速度に基づいた特徴量を取得する。そして、判定部25は、取得部24によって取得された特徴量を用いて、端末装置10の移動状態を判定する。
【0066】
このように、端末装置10は、重力方向や車両C10の移動方向を算出せずに、平均ベクトルの方向を、停止判定を行うための基準の方向とする。ここで、平均ベクトルは、車両C10が停止している場合や車両C10が等速度で移動している場合には、重力加速度の方向を示すと予測される。このため、車両C10が停止している場合や車両C10が等速度で移動している場合は、基準方向は、重力加速度の方向と一致する。一方、車両C10が加減速を行っている場合には、平均ベクトルGの方向は、重力加速度の方向からずれると予測される。
【0067】
しかしながら、端末装置10は、後述する説明で明らかになるように、加速度に基づく特徴量を用いて、停止判定を行うモデルを学習する。より具体的には、端末装置10は、車両C10が移動している際の加速度の特徴量と、車両C10が停止している際の加速度の特徴量とに基づいて停止判定を行うモデルを学習する。このような学習を行ったモデルは、重力方向や車両C10の移動方向とは関係なく、特徴量から車両C10が停止しているか否かを判定することができるので、平均ベクトルGの方向と重力加速度の方向とに誤差が存在する場合にも、その誤差を吸収可能である。
【0068】
〔2−5.学習処理における作用効果の一例〕
次に、
図9に示すフローチャートを用いて、収集部26、学習部27、更新部28が実行・実現する学習処理の内容について説明する。
図9は、実施形態に係る端末装置が実行する学習処理の流れの一例を説明するフローチャートである。なお、収集部26、学習部27、および更新部28は、
図9に示す処理を、例えば、取得部24により特徴量が取得される度に実行してもよく、所定の時間間隔で実行してもよい。また、
図9に示す処理は、案内を実現するアプリケーションの実行中、常時実行させることとなる。
【0069】
例えば、収集部26は、取得部24により取得された特徴量を、端末装置10の移動速度毎に所定の数ずつ収集する(ステップS401)。より具体的には、収集部26は、取得部24にbより取得された特徴量のうち新たに取得された特徴量から順に所定の数の特徴量を、端末装置10の移動速度毎に収集する。そして、収集部26は、収集した特徴量を学習データデータベース12bに登録する(ステップ402)。
【0070】
具体的な例を説明すると、収集部26は、取得部24が特徴量を取得した場合には、GPS等の測位システムを用いて、端末装置10の移動速度を特定する。そして、収集部26は、特定した移動速度を含む速度帯と対応付けて、取得された特徴量を学習データとして学習データデータベース12bに登録する。なお、収集部26は、特定した移動速度を含む速度帯と対応付けれられた学習データの数が上限(例えば、走行状態である場合は「10」個、停止状態である場合は「60」個等)に達している場合、対応付けられた学習データのうち、最も古い学習データを新たに取得された特徴量に更新する。
【0071】
すなわち、GPSを用いて特定された速度が所定の閾値以下である特徴量を停止状態を示す特徴量とし、他の特徴量を走行状態を示す特徴量とした場合、収集される特徴量に偏りが存在すると、モデルの判定精度が悪化してしまう。例えば、端末装置10が80km/h以上の速さで移動している際に収集した特徴量が大半を占める学習データでモデルの学習を行った場合、他の速度帯で移動している際の判定精度が低下してしまう。そこで、収集部26は、各速度帯ごとに、新たに取得された特徴量から順に所定の数の特徴量を学習データとして収集する。この結果、収集部26は、走行状態の学習データの速度の偏りを防ぐ結果、学習データデータベース12に登録された学習データを用いて学習を行ったモデルによる停止判定の精度を向上させることができる。
【0072】
また、単一のモデルを単純に学習した場合には、そのモデルが最適な判定を行うモデルであるか否かを判定することができない。また、端末装置10の姿勢や車両C10の特定、車両C10の移動特性等に応じて、停止判定を適切に行うことができるモデルのパラメータは、動的に変わると予測される。
【0073】
そこで、学習部27は、学習データデータベース12bに登録された学習データを用いて、新たなパラメータのモデルを学習する(ステップS403)。そして、学習部27は、学習したモデルをモデルデータベース12dに格納する。 なお、車両C10が停止している状態では、路面からの振動もないため、「a_ver」の値や基準方向の向きは、ほぼ重力加速度と一致し、「a_hor」の値は、ほぼ零になると考えられる。一方、車両C10が一定速度で走行している場合は、路面からのランダムな振動により、「a_ver」や「a_hor」の値の最大値、最小値、および標準偏差の値は、車両C10が停止している際とは異なると予測される。さらに、車両C10が加減速している状態では、重力加速度に加えて車両C10の加減速にともなく加速度が追加されるため、「a_ver」の大きさは重力加速度よりも大きくなり、「a_hor」についても車両C10が停止している場合とは異なると推定される。このため、学習部27は、「(a_ver、a_hor)」の平均値、最小値、最大値、および標準偏差に基づいて、車両C10が停止しているか否かを判定するモデルを学習することができる。
【0074】
さらに、端末装置10は、重力方向や車両C10の移動方向を算出せずに、平均ベクトルの方向を、停止判定を行うための基準の方向とする。この結果、平均ベクトルGの方向と重力加速度の方向とに誤差が生じる結果、車両C10が一定速度で走行している際や、車両C10が加減速している際に取得される特徴量と、車両C10が停止している際に取得される特徴量とに差異が生じる。このため、端末装置100は、より精度の高い停止判定を行うことができるモデルを学習することができる。
【0075】
続いて、学習部27は、テストデータデータベース12cに登録されたテストデータを用いて、各モデルの正答率を算出し(ステップS404)、算出した正答率をモデルデータベース12dに登録する。例えば、学習部27は、全ての学習データを各モデルに入力し、停止状態を示すテストデータを入力した際に停止状態であると判定した割合である停止正答率と、走行状態を示すテストデータを入力した際に走行状態であると判定した割合である走行正答率とを算出する。そして、学習部27は、停止正答率に所定の係数βを積算した値と、走行正答率に所定の係数αを積算した値との和を正答率として算出する。なお、係数αおよび係数βは、その和が「1」となるように設定される係数であり、停止判定と走行判定とのどちらに重みを置くかで調節される係数である。
【0076】
続いて、学習部27は、モデルデータベース12dに登録された各モデルのうち、正答率が最も高いモデルを選択し(ステップS405)、選択したモデルと対応付けられた使用フラグを「1」に設定する。
【0077】
このような学習処理の結果、判定部25は、端末装置10の移動速度ごとに所定の数ずつ収集された特徴量を用いて、端末装置10の移動状態を判定することができる。また、判定部25は、モデルデータベース12dに保持されたモデルのうち、正答率が最も高いモデルを用いて、端末装置10の移動状態を判定することができる。
【0078】
また、判定部25は、上述した各種の処理を実現するアプリケーションの起動時等に、モデルデータ12cに登録されたモデルのうち、使用フラグが「1」となるモデルを用いて停止判定を開始することとなる。すなわち、端末装置10は、アプリケーションの前回起動時において選択されていたモデルを示す情報を記憶し、判定再開時に、記憶した情報が示すモデルを用いて、停止判定を再開する。この結果、端末装置10は、停止判定ができなくなる時間帯を解消することができる。
【0079】
なお、学習部27は、収集部26による収集の結果、走行状態を示す学習データの数と停止状態を示す学習データの数とがそれぞれ所定の数となった場合には、上述した学習処理を実行してモデルを生成してもよい。その後、学習部27は、学習データデータベース12bに登録された全データを削除し、収集部26に新たな学習データを収集させ、再度学習データの数がそろった際に、モデルの再学習を行ってもよい。
【0080】
また、収集部26は、テストデータの収集を行ってもよい。例えば、収集部26は、端末装置10の移動速度が「0」である際に収集した特徴を停止状態を示すテストデータとしてテストデータデータベース12cに登録し、端末装置10の移動速度が所定の範囲内(例えば、5km/h以上等)である際に収集した特徴量を走行状態を示すテストデータとしてテストデータデータベース12cに登録してもよい。また、収集部26は、テストデータデータベース12cに登録されたテストデータのうち、最も古いテストデータを新たに収集した特徴量に置き換えてもよい。
【0081】
続いて、更新部28は、モデルデータベース12dに保持された複数のモデルのうち、正答率が最も低いモデルを新たに学習されたモデルに更新する(ステップS406)。例えば、更新部28は、モデルデータベース12dに保持された複数のモデルのうち、正答率が最も低いモデルを消去し、モデルデータベース12dに登録された各モデルとパラメータが異なる新たなモデルを生成する。そして、更新部28は、新たなモデルをモデルデータベース12に登録する。
【0082】
なお、新たに登録されたモデルは、学習回数が他のモデルと比較して少ないので、正答率が低いと予測される。そこで、更新部28は、モデルデータベース12dに保持された複数のモデルのうち、最後に登録されたモデルの正答率が最も低い場合は、モデルの更新を行わずともよい。このような処理を実行することで、端末装置10は、停止判定の精度が向上する可能性を担保することができる。
【0083】
なお、
図9に示す学習処理は、任意のタイミングおよび任意の粒度で実行してよい。例えば、端末装置10は、ステップS401、S402に示す処理を常時実行し、学習データの収集率が各速度帯において所定の閾値以上となった場合には、ステップS403以降の処理を実行してもよい。また、端末装置10は、ステップS403以降の処理を一定周期で繰り返し実行してもよい。
【0084】
〔3.判定開始までの時間の一例〕
次に、
図10を用いて、端末装置10が停止判定を開始するまでの時間の一例について説明する。
図10は、停止判定を開始するまでの時間の一例を示す図である。例えば、
図10中(A)に示すように、従来モデルを用いた方法では、
図10中(B)に示すように、起動時からしばらくの間は、車両C10の移動中に測定された加速度から車両C10の進行方向を特定し、進行方向が特定した後から、停止判定を開始する。このため、
図10中(C)に示すように、車両C10の進行方向を特定するまでは、停止判定を開始することができない。
【0085】
一方、
図10中(D)に示すように、今回の処理では、
図10中(E)に示すように、進行方向まで特定せずに、−x軸方向を平均ベクトルGの方向に一致させる変換式を周期的に求めるとともに、
図10中(F)に示すように、同程度の周期で特徴量(加速度の大きさの平均値、最小値、最大値、標準偏差)を算出する。そして、算出した特徴量を用いて、停止判定を実行する。このため、端末装置10は、迅速に停止判定を開始することができる。また、端末装置10は、前回使用したモデルを示す情報を記憶している場合は、
図10中(G)に示すように、前回使用していたモデルを用いて、起動時からすぐに停止判定を開始することができる。
【0086】
このように、端末装置10は、加速度の平均値に基づく基準方向を設定し、基準方向を基準とした方向の加速度に基づく特徴量を取得する。そして、端末装置10は、取得した特徴量を用いて、停止判定を行う。このため、端末装置10は、進行方向を特定して端末座標系を車両座標系に変換する回転行列を求めずとも、すぐに停止判定を実行することができる。
【0087】
また、端末装置10は、重力加速度の方向や車両C10の進行方向を求めずに、停止判定を行うことができる。例えば、端末装置10は、端末座標系を、測定された加速度の値のみに基づく推定座標系、すなわち、端末装置10の姿勢の変化によらない座標系へと変換する。この結果、端末装置10は、端末装置10の姿勢変化を吸収する座標変換を行うので、端末装置10の姿勢変化に依存しない停止判定を実現できる。特に、端末装置10は、周期的に回転行列を求めるので、重力加速度の方向や車両C10の進行方向に依存する特徴量、すなわち、取得や特定に時間を要する特徴量に基づいて停止判定を行うモデルの再学習を不要とすることができる。この結果、端末装置10は、起動後や姿勢変化後に短時間で停止判定可能となる。すなわち、端末装置10は、アプリケーションを利用する都度停止判定モデルを学習せずともよい。また、端末装置10は、前回起動時に使用したモデルを保持することで、判定再開時に保持したモデルを用いて、すぐに停止判定を再開できる。
【0088】
〔4.数式の一例〕
次に、数式を用いて、変換部23が端末座標系を推定座標系へと変換する回転行列を算出する処理の一例を説明する。なお、変換部23が実行する処理は、以下の数式が示す処理に限定されるものではない。例えば、変換部23は、一次変換を表現した数式を用いて、端末座標系から推定座標系への座標変換を行ってもよい。
【0089】
例えば、端末座標系の各軸をxyz軸とし、推定座標系の各軸をXYZ軸とする。係る場合、推定座標系を端末座標系へと変換する処理は、以下の式(1)で表される。なお、式(1)では、x軸を中心とした回転角度をα、y軸を中心とした回転角度をβ、z軸を中心した回転角度をγとし、x軸を中心とした回転による座標変換を行う回転行列をR
x(α)、y軸を中心とした回転による座標変換を行う回転行列をR
y(β)、z軸を中心とした回転による座標変換を行う回転行列をR
z(γ)とした。
【0091】
また、回転行列R
x(α)、回転行列R
y(β)、および回転行列R
z(γ)(以下、総括して「各回転行列」と記載する場合がある。)は、以下の式(2)〜(4)で表すことができる。なお、推定座標系は、−x軸方向が平均ベクトルGの方向と一致すればよいため、αの値は、任意の値が設定可能となる。
【0095】
ここで、平均ベクトルGの方向は、−X軸方向の加速度であるから、推定座標系では、以下の式(5)で表すことができる。
【0097】
一方、端末座標系で検出された各軸方向の平均ベクトルGを(a
x、a
y、a
z)と記載する。かかる場合、a
x、a
y、a
zは、式(5)で示す平均ベクトルGを各回転行列で変換した値となるので、以下の式(6)が成り立つ。
【0099】
この結果、式(6)におけるz軸方向の値より、式(7)を得る。
【0101】
また、平均ベクトルGの大きさを考慮すると、式(8)が成り立つため、式(6)におけるx軸およびy軸方向の値から、式(9)を得る。この結果、端末装置10は、式(7)および式(9)から、y軸回りの回転角βを特定することができる。
【0104】
ここで、式(9)に示す値のうち、正の値を解として選択する。すると、式(6)におけるx軸およびy軸方向の値から、式(10)および式(11)を得る。この結果、端末装置10は、式(10)および式(11)からz軸まわりの回転角γを特定することができる。
【0107】
一方、端末座標系を推定座標系へと変換する処理は、式(1)に示す座標変換の逆変換であるため、以下の式(12)で表される。
【0109】
また、βとγの値は式(7)、(9)、(10)、(11)から算出できるので、端末座標系の加速度のサンプルa
x、a
y、a
zのうちy軸およびz軸のみを回転させ、推定座標系へと変換すると、式(13)となる。すなわち、端末装置10は、回転行列R
y(β)、および回転行列R
z(γ)を用いて、端末座標系を推定座標系へと変換する。
【0111】
〔5.変形例〕
上述した実施形態に係る端末装置10は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、上記の端末装置10の他の実施形態について説明する。
【0112】
〔5−1.汎用モデルの使用〕
ここで、端末装置10は、上述した処理を実現するアプリケーションの初回起動時においても、停止判定を起動時から実施できるようにするため、汎用的なモデルを含むアプリケーションの起動を行ってもよい。このようなアプリケーションを実行した場合、端末装置10は、初回起動時においては、汎用的なモデルを用いて停止判定を開始し、その後、端末装置10ごとに学習されたモデルを用いて、停止判定を実行することとなる。
【0113】
〔5−2.学習モデルの使用〕
端末装置10は、停止判定を行うモデルの学習を行わずとも、基準方向に対して垂直な水平面上の加速度の大きさに基づいて、車両が停止しているか否かを判定してもよい。例えば、端末装置10は、車両が停止している際に加速度の平均ベクトルGを求めることで、基準方向を重力方向に変換し、水平面上の加速度の大きさが所定の閾値よりも小さい場合に、車両が停止していると判定してもよい。このように、端末装置10は、端末座標系で測定した加速度の平均ベクトルGを基準方向とし、基準方向に基づく方向の加速度に基づく特徴量を用いて車両C10の走行状態を判定するのであれば、モデルを用いずとも、任意の処理態様で判定を行ってよい。
【0114】
また、上述した端末装置10は、モデルの学習を行うための学習データを収集した。ここで、端末装置10は、モデルの判定精度を向上させるため、収集する学習データの限定を行ってもよい。例えば、端末装置10は、GPSを用いて特定された速度が1km/h〜3kmの範囲に含まれる際に取得された特徴量については、学習モデルとせずに破棄してもよい。
【0115】
また、端末装置10は、学習データを収集する速度帯に重みを持たせてもよい。例えば、端末装置10は、「停止状態」の際に収集した学習データの数を「走行状態」の際に収集した学習データの数よりも多くしてもよい。また、例えば、端末装置10は、「5km/h〜15km/h」の際に収集した学習データの数を「55km/h以上」の際に収集した学習データの数よりも多くすることで、停止状態と走行状態との切り分けの精度を高めてもよい。
【0116】
また、端末装置10は、各速度帯ごとに、学習データを収集する期間や使用する学習データを収集した期間の幅を設定してもよい。例えば、端末装置10は、「55km/h以上」の学習データについては、5分前までに収集した学習データを使用し、「25km/h〜35km/h」の学習データについては、12分前までに収集された学習データを用いてもよい。また、端末装置10は、速度帯に寄らず、収集されてから所定の時間が経過する前の学習データを使用してモデルの学習を行い、収集されてから所定の時間が経過した学習データを破棄してもよい。なお、収集するデータの数、速度帯の幅や数、収集または使用する学習データが取得された時間帯等は、学習対象となるモデルの種別により限定されるものではなく、任意の設定が可能である。また、端末装置10は、それぞれ異なる期間に収集された学習データを用いて学習された複数のモデルを保持してもよい。
【0117】
なお、上述した説明では、端末装置10は、停止判定を行うモデルとしてSVMの学習を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、端末装置10は、ニューラルネットワークの学習や、所謂ディープラーニングと呼ばれる学習を用いてもよい。具体的な例を説明すると、端末装置10は、学習データを用いて、停止判定を行うDNN(Deep Neural Network)といったニューラルネットワークの学習を行ってもよい。
【0118】
また、例えば、端末装置10は、学習データを用いて、車両C10の移動速度を推定するモデルの学習を行ってもよい。例えば、端末装置10は、収集した学習データを入力した際に、その学習データが収集された速度帯と対応する出力層のノードが反応するように、DNNの学習を行う。そして、端末装置10は、取得された特徴量を入力した際に反応した出力層のノードと対応する速度帯を、車両C10が移動する速度帯の推定結果として出力してもよい。なお、端末装置10は、取得された特徴量の時系列的な遷移に応じて、車両C10の移動速度を推定するDNNの学習等を行ってもよい。また、端末装置10は、特徴量を用いて、車両C10が所定の速度帯で移動しているかを判定する複数のSVMを学習し、学習したSVMを用いて、車両C10が移動する速度帯を推定してもよい。
【0119】
また、端末装置10は、任意のタイミングでモデルの学習を行ってもよい。例えば、端末装置10は、180個の学習データを保持可能とし、60個の学習データを収集した際、120個の学習データを収集した際、および180個の学習データを収集した際にモデルの再学習を行う。そして、端末装置10は、180個の学習データを用いてモデルの学習を行った際に、保持した学習データを全て破棄し、新たな学習データの収集を行ってもよい。なお、端末装置10は、安全のため、モデルの学習が行われていない場合には、車両C10が常に停止状態であると判定してもよい。
【0120】
また、端末装置10は、GPSが使用できなくなった場合には、GPSを用いて特定した最後の移動速度と、モデルの判定結果とを用いて、車両C10の移動速度を推定してもよい。例えば、端末装置10は、トンネル等に進入することでGPSが使用できなくなった場合等には、GPSを用いて再度に特定した速度、すなわち、トンネル進入時の速度であるトンネル進入速度を算出し、算出したトンネル進入速度を前回出力速度として現在位置を進める。
【0121】
例えば、端末装置10は、GPSが使用できなくなった場合には、それまでにGPSを用いて算出された速度を、新たに算出された順に10個選択する。そして、端末装置10は、選択した速度の値を小さい順にソートし、最も小さい速度から8番目の速度をトンネル進入速度として採用する。ここで、端末装置10は、トンネル進入速度の最大値を設定してもよい。
【0122】
ここで、端末装置10は、モデルによって車両が停止状態にあると判定された場合には、以下のいずれかの条件が満されているか判定する。具体的には、端末装置10は、前回出力速度が10km/h未満であるか否か、前回出力速度が20km/h未満であり、モデルによる前回の判定結果が停止状態であると判定されたか否か、又は、前回出力速度が30km/h未満であり、モデルによる前回および前々回の判定結果が停止状態であるか否かを判定する。そして、端末装置10は、いずれかの条件が満たされる場合は、車両が停止したと判定し、前回出力速度を0km/hに設定する。
【0123】
一方、端末装置10は、いずれの条件も満たさない場合は、前回と前々回の判定結果が停止状態であるか否かを判定し、停止状態であると判定されていた場合は、前回出力速度の値を1/2に設定する。また、端末装置10は、前回の判定結果が停止状態であった場合は、前回出力速度の値を2/3に設定する。その後、端末装置10は、前回出力速度で移動していると判定する。
【0124】
すなわち、端末装置10は、停止状態であると判定された場合には、トンネル進入速度が10km/h未満である場合にのみ、停止させ、それ以外の場合には、徐々に速度を減少させる。一方、端末装置10は、モデルによって走行状態であると判定された場合は、トンネル進入速度を上限として、トンネル進入速度の1/5を前回出力速度に加算する。
【0125】
〔5−3.特徴量について〕
上述した端末装置10は、平均ベクトルGの向きを基準とした向きの加速度の大きさの平均値、最小値、最大値、および標準偏差を特徴量とした。しかしながら、実施形態は、これに限定されるものではない。例えば、端末装置10は、単に加速度の大きさを特徴量としてもよい、また、例えば、端末装置10は、平均値、最小値、最大値、および標準偏差の少なくともいずれか1つを特徴量としてもよく、これらの任意の組み合わせを特徴量としてもよい。
【0126】
また、上述した端末装置10は、「a_ver」と「a_hor」とで使用する特徴量を変えてもよい。例えば、端末装置10は、「a_ver」の値の最小値を特徴量としてもよく、環境によっては「a_ver」の値の標準誤差を特徴量としてもよい。一方、端末装置10は、「a_hor」の値の平均値、最小値、最大値、および標準偏差の全てを特徴量としてもよい。また、端末装置10は、車両C10の移動環境に応じて、使用する特徴量を変更してもよい。すなわち、端末装置10は、車両C10が移動しているか否かを判定するために効果的な種類の特徴量を適宜選択してよい。
【0127】
〔5−4.処理間隔について〕
また、上述した端末装置10は、例えば、1秒間隔で、判定処理や学習処理を実行した。しかしながら、実施形態は、これに限定されるものではなく、任意のタイミングで判定処理や学習処理を実行してもよい。例えば、端末装置10は、GPSを用いた停止判定を行うとともに、モデルを用いた停止判定を常に実行し、正答率が所定の閾値よりも低くなった場合には、学習処理を実行してもよい。
【0128】
〔5−5.姿勢変化の管理について〕
ここで、端末装置10は、端末装置10の姿勢を特定してもよい。例えば、一定期間内の加速度を平均した場合には、その平均ベクトルGの方向は、重力加速度の方向と一致する。そこで、端末装置10は、例えば、アプリケーションを起動してからそれまでに測定された全ての加速度の平均ベクトル方向と、直近1秒間の間に検出された加速度の平均ベクトルの方向とを比較し、角度で37度以上の開きがあった場合(すなわち、各平均ベクトルの間の角度のコサイン値が0.8より小さくなった場合)には、端末装置10の姿勢に変化があったと判定してもよい。
【0129】
このような姿勢変化があったと判定した場合、端末装置10は、学習データデータベース12bに登録された学習データや、モデルデータベース12dに登録された各モデルを消去し、新たな学習データの収集やモデルの学習を行う。この結果、端末装置10は、姿勢変化が生じた場合における判定精度の悪化を軽減することができる。
【0130】
〔5−6.ストッパー機能について〕
ここで、上述した判定処理により車両C10の移動状態を判定した場合には、判定結果が実際の移動状態と乖離する場合、すなわち、案内の暴走状態となる場合がある。そこで、端末装置10は、案内の暴走状態を防ぐストッパー機能を実装してもよい。例えば、端末装置10は、移動状態の判定を開始してから所定の時間(例えば、案内を行っている場合は300秒、行っていない場合は120秒)が経過した時点で、推定される現在地の移動を強制停止させる経過時間ストッパー機能を実装してもよい。
【0131】
また、端末装置10は、トンネル内で経過時間ストッパーによる強制停止を防ぐため、特定の長いトンネルの進入時に経過時間ストッパーの機能を解除してもよい。例えば、端末装置10は、特定のトンネルの入り口に第1の領域を設定し、車両C10の現在位置が第1の領域と重なった場合には、経過時間ストッパーを解除する。また、端末装置10は、特定のトンネルの出口に第2の領域を設定し、車両C10の現在位置が第2の領域と重なった場合は、経過時間ストッパーを再度起動させてもよい。
【0132】
ここで、車両C10の速度を推定した場合、高速入口の料金所から直ぐにトンネルに入る場合には、トンネル進入速度がトンネルを通過する速度より低めに設定されてしまう傾向がある。そこで、端末装置10は、トンネルの位置口に設定した第1の領域に、そのトンネルを通過する際の速度を示す情報を設定し、車両C10の現在位置が第1の領域と重なった場合は、第1の領域に設定されていた情報が示す速度を車両C10の移動速度として設定してもよい。また、端末装置10は、第1の領域に経過時間ストッパーによる強制停止が行われるまでの時間を設定し、車両C10の現在位置が第1の領域と重なった場合は、第1の領域に設定されていた情報が示す時間が経過するまでの間、経過時間ストッパーによる強制停止を解除してもよい。
【0133】
また、端末装置10は、車両C10の現在位置が第1の領域と重なった後、所定の時間が経過するまでの間にGPSが使用不能とならなかった場合は、車両C10がトンネルに入らなかったと判定し、経過時間ストッパーの解除を行わずともよく、車両C10の移動速度の設定を行わずともよい。また、端末装置10は、トンネル内に速度設定領域を設定し、車両C10の現在位置が速度設定領域と重なった場合は、車両C10の移動速度を速度設定領域が示す速度に設定するとともに、経過時間ストッパーによる強制停止が行われるまでの時間を所定の時間までリセットしてもよい。また、端末装置10は、上述した第1の領域、第2の領域、および速度設定領域等と同様の領域を、交差点や一般的なトンネルに設定してもよい。
【0134】
〔5−7.他の実施形態〕
なお、上記実施形態は例示に過ぎず、本発明は、以下に例示するものやそれ以外の他の実施態様も含むものである。例えば、本出願における機能構成、データ構造、フローチャートに示す処理の順序や内容などは例示に過ぎず、各要素の有無、その配置や処理実行などの順序、具体的内容などは適宜変更可能である。例えば、上述した案内処理や判定処理は、上記実施形態で例示したように端末装置10が実現する以外にも、スマートフォンのアプリなどが実現する端末における装置、方法やプログラムとして実現することもできる。
【0135】
また、端末装置10を構成する各処理部17〜20を、さらにそれぞれ独立した装置で実現する構成も一般的である。また、移動状態判定部20を構成する各部21〜25をそれぞれ独立した装置で実現する構成であってもよい。同様に、外部のプラットフォーム等をAPI(アプリケーション・プログラム・インタフェース)やネットワークコンピューティング(いわゆるクラウドなど)で呼び出すことで、上記実施形態で示した各手段を実現するなど、本発明の構成は柔軟に変更できる。さらに、本発明に関する手段などの各要素は、コンピュータの演算制御部に限らず物理的な電子回路など他の情報処理機構で実現してもよい。
【0136】
例えば、端末装置10は、端末装置10と通信可能な配信サーバとが協調して上述した案内処理を実行してもよい。例えば、配信サーバは、収集部26、学習部27、更新部28を有し、端末装置10が検出した加速度から、特徴量を収集し、収集した特徴量を用いたモデルの学習を行い、学習したモデルを端末装置10へと配信してもよい。また、配信サーバは、検出部21、設定部22、変換部23、取得部24、判定部25を有し、端末装置10が検出した加速度の値に基づいて、推定した移動方向や移動速度を端末装置10に配信し、利用者の案内を実行させてもよい。また、配信サーバは、端末装置10に代わって上述した判定処理を実行し、実行結果を端末装置10に送信することで、端末装置10に案内処理を実行させてもよい。
【0137】
なお、配信サーバと協調して案内処理や判定処理を実行する端末装置が複数存在する場合、配信サーバは、端末装置ごとに異なるSVMを用いて、各端末装置が移動中であるか否かを判定してもよい。また、配信サーバは、各端末装置がGPSで取得した位置情報を収集し、収集した位置情報から各端末装置が移動中であるか否かを判定し、判定結果と、各端末装置から収集した加速度の値とを用いて、SVMの学習を実現してもよい。
【0138】
〔6.効果〕
上述したように、端末装置10は、加速度を検出し、検出された加速度に基づく基準方向を設定し、設定された基準方向を基準とした方向の加速度に基づいた特徴量を取得し、取得された特徴量を用いて、端末装置10の移動状態を判定する。このため、端末装置10は、端末装置10の設置姿勢によらず、容易に走行状態を判定することができる。すなわち、端末装置10は、車両C10の進行方向や重力方向を特定せずに、姿勢変化を吸収することができる座標変換を行うので、端末装置10の設置姿勢に寄らず、容易に走行状態を判定できる。
【0139】
また、端末装置10は、検出された加速度の平均値を用いて、基準方向を設定する。このため、端末装置10は、端末装置10の設置姿勢に寄らず、基準方向を設定し、容易に走行状態を判定できる。
【0140】
また、端末装置10は、加速度を検出する所定の軸方向を設定された基準方向に一致させる回転行列を用いて、検出された加速度を基準方向を基準とした方向の加速度に変換し、変換後の加速度に基づいた特徴量を取得する。このため、端末装置10は、端末装置10の設置姿勢や車両C10の移動方向等によらない汎用性のある特徴量に基づいて、車両C10の移動状態を判定することができる。
【0141】
また、端末装置10は、基準方向を基準とした方向の加速度の大きさに基づく特徴量を取得する。また、端末装置10は、基準方向に対して垂直な推定平面上の加速度に基づく特徴量を取得する。より具体的には、端末装置10は、基準方向の加速度の大きさと、基準方向を基準とした方向(例えば、水平面上)の加速度の大きさとの組に基づく特徴量を取得する。このため、端末装置100は、端末装置10の設置姿勢や車両C10の移動方向等によらない特徴量に基づいて、車両C10の移動状態を判定することができる。
【0142】
また、端末装置10は、加速度の大きさの平均値、最大値、最小値、および標準偏差の少なくともいずれか1つに基づいて、端末装置10の移動状態を判定する。このため、端末装置10は、車両が停止しているか、移動しているか、加減速しているかに係らず、容易に、車両C10の移動状態を判定することができる。
【0143】
また、端末装置10は、特徴量が有する特徴を学習したモデルを用いて、端末装置10の移動状態を判定する。すなわち、端末装置10は、端末装置10の姿勢変化に依存しないモデルを用いて、車両C10の移動状態を判定する。このため、端末装置10は、例えば、移動判定を開始するまでにかかる時間を削減することができる。
【0144】
また、端末装置10は、取得された特徴量を、端末装置10の移動速度毎に所定の数ずつ収集し、端末装置10の移動速度ごとに所定の数ずつ収集された特徴量を用いて、端末装置10の移動状態を判定する。このため、端末装置10は、移動速度の偏りにより生じる判定精度の悪化を防ぐことができる。
【0145】
また、端末装置10は、取得された特徴量のうち新たに取得された特徴量から順に所定の数の特徴量を、端末装置10の移動速度毎に収集する。このため、端末装置10は、各速度帯における判定精度を徐々に向上させることができる。
【0146】
また、端末装置10は、特徴量に基づいて学習された移動状態を判定する複数のモデルを保持する。そして、端末装置10は、保持されたモデルのうち、正答率が最も高いモデルを用いて、移動状態を判定する。また、端末装置10は、保持された複数のモデルのうち、正答率が最も低いモデルを新たに学習されたモデルに更新する。このため、端末装置10は、車両C10の移動状態を精度良く判定することができる。
【0147】
また、端末装置10は、端末装置10の移動状態の判定が停止される場合は、使用していたモデルを示すフラグを記憶する。そして、端末装置10は、端末装置10の移動状態の判定を再開する場合は、記憶されたフラグが示すモデルを用いて、端末装置10の移動状態を判定する。このため、端末装置10は、モデルの学習や車両C10の移動方向等を特定せずとも、移動状態の判定を行うアプリケーションを起動した際から、車両C10の移動状態の判定を開始することができる。
【0148】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0149】
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、移動状態判定部は、移動状態判定手段や移動状態判定回路に読み替えることができる。