(57)【要約】【課題】大掛かりな設備を必要とせず、かつ、ランナーの所望する場所で、ランナーに走行についての判定を与えることを可能にする技術を提供すること。【解決手段】被験者９００は、腕に端末１００を装着した状態で走行する。端末１００は、慣性センサ（たとえば、加速度センサ、ジャイロセンサ）を内蔵する。当該慣性センサは、被験者の走行中の腕の挙動を検出する。端末１００は、当該検出結果を用いて走行における腕振りパターンを判定する。【選択図】図１
2019170631.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実行される判定プログラムであって、
前記コンピュータに、
被験者の腕に装着されたセンサからの検出出力を取得するステップと、
前記検出出力を用いて前記被験者の腕振りパターンを判定するステップと、
判定された前記腕振りパターンを出力するステップとを実行させる、判定プログラム。
【請求項２】
前記センサからの検出出力は、被験者の腕の挙動を表わす複数種類の検出出力を含み、
前記被験者の腕振りパターンを判定するステップでは、前記複数種類の検出出力のうち前記腕振りパターンに関連付けられた種類の検出出力が用いられる、請求項１に記載の判定プログラム。
【請求項３】
前記腕振りパターンを判定するステップは、被験者の手首の幅方向に沿う軸周りの角速度または被験者の手首を貫く方向に沿う軸方向の加速度を用いて、前記被験者の腕振りパターンが第１腕振りパターンであるか否かを判定することを含む、請求項１または２に記載の判定プログラム。
【請求項４】
前記腕振りパターンを判定するステップは、被験者の腕の長手方向の加速度を用いて、前記被験者の腕振りパターンが第２腕振りパターンであるか否かを判定することを含む、請求項１〜３のいずれか１項に記載の判定プログラム。
【請求項５】
前記腕振りパターンを判定するステップは、被験者の腕の長手方向に交わりかつ被験者の手の平を貫く方向に沿う軸周りの角速度または被験者の手首の幅方向に沿う軸方向の加速度を用いて、前記被験者の腕振りパターンが第３腕振りパターンであるかまたは第４腕振りパターンであるかを判定することを含む、請求項１〜４のいずれか１項に記載の判定プログラム。
【請求項６】
前記判定プログラムは、前記コンピュータに、
所与の腕振りパターンに関連付けられた、前記センサからの複数種類の検出出力に基づいて、前記複数種類の検出出力の中から前記所与の腕振りパターンに寄与する検出出力の種類を特定するとともに、特定された前記種類の検出出力に対する前記所与の腕振りパターンについての閾値を生成するステップと、
前記生成された閾値を記憶装置に格納するステップと、を実行させ、
前記検出出力を用いて前記被験者の腕振りパターンを判定するステップは、特定された前記種類の検出出力について、前記記憶装置に格納された前記閾値を用いて、前記被験者の腕振りパターンが前記所与の腕振りパターンに該当するか否かを判断することを含む、請求項１〜５のいずれか１項に記載の判定プログラム。
【請求項７】
請求項１〜６のいずれか１項に記載の判定プログラムを格納したメモリーと、前記コンピュータと、前記センサとを備える、判定装置。
【請求項８】
被験者の腕振りパターン判定用のアルゴリズム生成装置であって、
所与の腕振りパターンに関連付けられた、センサからの複数種類の検出出力に基づいて、前記複数種類の検出出力の中から前記所与の腕振りパターンに寄与する種類の検出出力を特定するとともに、特定された前記種類の検出出力に対する前記所与の腕振りパターンについての閾値を生成する、アルゴリズム生成装置。
【請求項９】
前記所与の腕振りパターンに関連付けられた検出出力に基づいて、前記所与の腕振りパターンに寄与する検出出力に対する前記閾値を更新する、請求項８に記載のアルゴリズム生成装置。
【請求項１０】
通信端末に、前記閾値を、前記所与の腕振りパターンに関連付けて送信する通信インターフェースをさらに備える、請求項８または請求項９に記載のアルゴリズム生成装置。
【請求項１１】
請求項８〜請求項１０のいずれか１項に記載のアルゴリズム生成装置と通信端末とを備えた判定システムであって、
前記通信端末は、
被験者の腕に装着されたセンサからの検出出力を用いて、特定された前記種類の検出出力について、生成された前記閾値を用いて、前記被験者の腕振りパターンが前記所与の腕振りパターンに該当するか否かを判断するプロセッサを含む、判定システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、走行中の被験者の腕振りパターンの判定に関する。
【背景技術】
【０００２】
従来、ランナーの走行に関するパターンを自動的に判定する技術が種々提案されている。たとえば、特許第５３１４２２４号公報（特許文献１）は、トレッドミル上を走行する被験者についての身体動作情報を取得し、取得した身体動作情報から特徴を抽出し、抽出された特徴を所与の演算式に適用することにより当該被験者のランニングフォーム得点を算出する、ランニングフォーム診断システムを提案する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５３１４２２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記システムは、トレッドミルを利用するため、判定に大掛かりな施設を要し、また、被験者が判定のために特定の場所（トレッドミルが設置された場所）で走行することを要する。ランナーの中には、所望の場所を走行しているときの走行について判定を望む者もいる。
【０００５】
本開示は、かかる実情に鑑み考え出されたものであり、その目的は、大掛かりな設備を必要とせず、かつ、ランナーの所望する場所で、ランナーに走行についての判定を与えることを可能にする技術を提供することである。
【課題を解決するための手段】
【０００６】
本開示のある局面に従うと、コンピュータによって実行される判定プログラムが提供される。判定プログラムは、コンピュータに、被験者の腕に装着されたセンサからの検出出力を取得するステップと、検出出力を用いて被験者の腕振りパターンを判定するステップと、判定された腕振りパターンを出力するステップとを実行させる。
【０００７】
センサからの検出出力は、被験者の腕の挙動を表わす複数種類の検出出力を含んでいてもよい。被験者の腕振りパターンを判定するステップでは、複数種類の検出出力のうち腕振りパターンに関連付けられた種類の検出出力が用いられてもよい。
【０００８】
腕振りパターンを判定するステップは、被験者の手首の幅方向に沿う軸周りの角速度または被験者の手首を貫く方向に沿う軸方向の加速度を用いて、被験者の腕振りパターンが第１腕振りパターンであるか否かを判定することを含んでいてもよい。
【０００９】
腕振りパターンを判定するステップは、被験者の腕の長手方向の加速度を用いて、被験者の腕振りパターンが第２腕振りパターンであるか否かを判定することを含んでいてもよい。
【００１０】
腕振りパターンを判定するステップは、被験者の腕の長手方向に交わりかつ被験者の手の平を貫く方向に沿う軸周りの角速度または被験者の手首の幅方向に沿う軸方向の加速度を用いて、被験者の腕振りパターンが第３腕振りパターンであるかまたは第４腕振りパターンであるかを判定することを含んでいてもよい。
【００１１】
判定プログラムは、コンピュータに、所与の腕振りパターンに関連付けられた、センサからの複数種類の検出出力に基づいて、複数種類の検出出力の中から所与の腕振りパターンに寄与する検出出力の種類を特定するとともに、特定された種類の検出出力に対する所与の腕振りパターンについての閾値を生成するステップと、生成された閾値を記憶装置に格納するステップとを実行させてもよい。検出出力を用いて被験者の腕振りパターンを判定するステップは、特定された種類の検出出力について、記憶装置に格納された閾値を用いて、被験者の腕振りパターンが所与の腕振りパターンに該当するか否かを判断することを含んでいてもよい。
【００１２】
本開示の他の局面に従うと、判定装置は、上記判定プログラムを格納したメモリーと、コンピュータと、センサとを備える。
【００１３】
本開示のさらに他の局面に従うと、被験者の腕振りパターン判定用のアルゴリズム生成装置であって、所与の腕振りパターンに関連付けられた、センサからの複数種類の検出出力に基づいて、複数種類の検出出力の中から所与の腕振りパターンに寄与する種類の検出出力を特定するとともに、特定された種類の検出出力に対する所与の腕振りパターンについての閾値を生成する、アルゴリズム生成装置が提供される。
【００１４】
アルゴリズム生成装置は、所与の腕振りパターンに関連付けられた検出出力に基づいて、所与の腕振りパターンに寄与する検出出力に対する閾値を更新してもよい。
アルゴリズム生成装置は、通信端末に、閾値を、所与の腕振りパターンに関連付けて送信する通信インターフェースをさらに備えていてもよい。
【００１５】
本開示のさらに他の局面に従うと、上記のアルゴリズム生成装置と通信端末とを備えた判定システムが提供される。通信端末は、被験者の腕に装着されたセンサからの検出出力を用いて、特定された種類の検出出力について、生成された閾値を用いて、被験者の腕振りパターンが所与の腕振りパターンに該当するか否かを判断するプロセッサを含む。
【発明の効果】
【００１６】
被験者の腕に装着されたセンサからの検出出力を用いて、被験者の腕振りパターンが判定される。これにより、トレッドミルのような大掛かりな設備を必要とせず、かつ、ランナーの所望する場所で、ランナーに走行についての判定を与えることが可能になる。
【図面の簡単な説明】
【００１７】
【図１】腕振りパターン判定のために被験者が走行している状態を模式的に示す図である。
【図２】端末１００のハードウェア構成を表わす図である。
【図３】端末１００が被験者の腕に装着されているときの検出方向の定義の一例を説明するための図である。
【図４】腕振りパターン判定システムの機能的な構成の一例を示す図である。
【図５】パターン「普通」と判定される腕振りのパターンの一例を説明するための図である。
【図６】パターン「前腕が外に開く」と判定される腕振りのパターンの一例を説明するための図である。
【図７】パターン「常に肘が伸びる」と判定される腕振りのパターンを説明するための図である。
【図８】パターン「後ろで肘が伸びる」と判定される腕振りのパターンを説明するための図である。
【図９】腕振りパターンの判定のために実行される処理のフローチャートである。
【図１０】ステップＳ４０のサブルーチンのフローチャートである。
【図１１】腕振りパターンの判定結果の出力画面の例を示す図である。
【図１２】腕振りパターンの判定結果の出力画面の他の例を示す図である。
【図１３】機械学習による判定アルゴリズムの生成を説明するための図である。
【図１４】判定アルゴリズムを生成するための変数群として想定される変数の種類を説明するための図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照しつつ、腕振りパターンの判定に関する実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
【００１９】
［１．腕振りパターン判定の概要］
図１を参照して、本開示における腕振りパターン判定の概要を説明する。図１は、腕振りパターン判定のために被験者が走行している状態を模式的に示す図である。
【００２０】
図１に示されるように、被験者９００は、腕に端末１００を装着した状態で走行する。端末１００は、慣性センサ（たとえば、加速度センサ、ジャイロセンサ、等）を内蔵する。当該慣性センサは、被験者の走行中の腕の挙動を検出する。端末１００は、当該検出結果を用いて走行における腕振りパターンを判定する。
【００２１】
［２．端末のハードウェア構成］
図２は、端末１００のハードウェア構成を表わす図である。図２を参照して、端末１００の構成の一例について説明する。
【００２２】
端末１００は、たとえばスマートフォン等の汎用的な情報処理装置であってもよいし、腕振りパターンの専用機器であってもよい。端末１００は、ＣＰＵ（Central  Processing  Unit）２０と、アンテナ２３と、通信装置２４と、入力スイッチ２５と、フラッシュメモリ２７と、ＲＡＭ（Random  Access  Memory）２８と、ＲＯＭ（Read-Only  Memory）２９と、メモリカード駆動装置３０と、マイク３２と、スピーカ３３と、音声信号処理回路３４と、モニタ３５と、ＬＥＤ（Light  Emitting  Diode）３６と、通信インターフェイス３７と、バイブレータ３８と、ＧＰＳ（Global  Positioning  System）アンテナ３９と、ＧＰＳモジュール４０と、加速度センサ４１と、ジャイロセンサ４２とを備える。メモリカード駆動装置３０には、メモリカード３１が装着され得る。
【００２３】
ＣＰＵ２０は、端末１００に対して与えられる命令に基づいて端末１００の動作を制御するための処理を実行する。アンテナ２３によって受信された信号は、通信装置２４によってフロントエンド処理が行なわれ、処理後の信号は、ＣＰＵ２０に送られる。
【００２４】
入力スイッチ２５は、たとえばタッチセンサまたはハードウェアボタン等であり、端末１００に対する命令の入力を受け付ける。入力された当該命令に応じた信号は、ＣＰＵ２０に入力される。
【００２５】
音声信号処理回路３４は、マイク３２に入力された音声を、予め定められた処理を施した後、ＣＰＵ２０に入力する。音声信号処理回路３４は、また、ＣＰＵ２０からの命令に従って、スピーカ３３から音声を出力する。
【００２６】
フラッシュメモリ２７は、ＣＰＵ２０から送られるデータを格納する。ＣＰＵ２０は、フラッシュメモリ２７等の記憶装置に格納されたプログラムを実行する。
【００２７】
ＲＡＭ２８は、ＣＰＵ２０によって生成されるデータ等を一時的に保持する。ＲＯＭ２９は、端末１００に予め定められた動作を実行させるためのプログラムあるいはデータを格納する。ＣＰＵ２０は、ＲＯＭ２９から当該プログラムまたはデータを読み出し、端末１００の動作を制御する。
【００２８】
メモリカード駆動装置３０は、メモリカード３１に格納されているデータを読み出し、ＣＰＵ２０に送出する。ＣＰＵ２０は、メモリカード３１に格納されたプログラムを実行してもよい。メモリカード駆動装置３０は、ＣＰＵ２０によって出力されるデータを、メモリカード３１の記憶領域に書き込む。
【００２９】
モニタ３５は、タッチ操作式のモニタである。モニタ３５は、ＣＰＵ２０から取得されるデータに基づいて、当該データによって規定される画像を表示する。
【００３０】
ＬＥＤ３６は、ＣＰＵ２０から出力される信号に基づいて発光する。ある局面において、通信インターフェイス３７は、ＷｉＦｉ（Wireless  Fidelity）、Bluetooth（登録商標）、ＮＦＣ（Near  Field  Communication）等の規格に従って外部の機器と通信する。別の局面において、通信インターフェイス３７は、データ通信用のケーブルの装着を受け付ける。通信インターフェイス３７は、ＣＰＵ２０から出力される信号を発信する。あるいは、通信インターフェイス３７は、端末１００の外部から受信した信号に含まれるデータを、ＣＰＵ２０に対して送信する。
【００３１】
バイブレータ３８は、ＣＰＵ２０から出力される信号に基づいて、予め定められた周波数で発振動作を実行する。
【００３２】
ＧＰＳアンテナ３９は、たとえば４つ以上の衛星からそれぞれ送信されるＧＰＳ信号を受信する。受信された各ＧＰＳ信号は、ＧＰＳモジュール４０に入力される。ＧＰＳモジュール４０は、各ＧＰＳ信号と公知の技術とを用いて測位処理を実行し、端末１００の位置情報を取得する。
【００３３】
加速度センサ４１は、端末１００に作用する加速度を検出する。ある局面において、加速度センサ４１は、３軸加速度センサとして実現される。ジャイロセンサ４２は、端末１００に作用する角速度を検出する。加速度センサ４１およびジャイロセンサ４２のそれぞれによって検出された加速度，角速度は、ＣＰＵ２０に入力される。
【００３４】
［３．センサによる検出における方向の定義］
【００３５】
本明細書では、特記する場合を除いて、加速度センサ４１によって検出される加速度およびジャイロセンサ４２によって検出される角速度についての方向を、一貫して同じ記号を用いて参照する。図３は、端末１００が被験者の腕に装着されているときの検出方向の定義の一例を説明するための図である。
【００３６】
被験者の腕ＡＲに端末１００が装着されている。図３に示された状態では、端末１００に設けられたモニタ３５は、被験者による視認が可能な位置に配置されている。
【００３７】
図３中の３軸（Ｘ軸，Ｙ軸，Ｚ軸）は、端末１００に内蔵されている加速度センサ４１およびジャイロセンサ４２に対して定義されている３軸を表わす。Ｘ軸は、腕ＡＲの長手方向に沿った方向を表す。Ｙ軸は、被験者の手首の幅方向を表す。Ｚ軸は、被験者の手の平を貫く方向を表す。
【００３８】
加速度センサ４１は、Ｘ軸、Ｙ軸、およびＺ軸のそれぞれに沿った方向における加速度を検出する。「Ａｘ」「Ａｙ」「Ａｚ」のそれぞれは、Ｘ軸、Ｙ軸、およびＺ軸のそれぞれに沿った方向における加速度の検出出力に利用される。
【００３９】
ジャイロセンサ４２は、Ｘ軸、Ｙ軸、およびＺ軸のそれぞれの周りの回転方向における角速度を検出する。「Ｇｘ」「Ｇｙ」「Ｇｚ」のそれぞれは、Ｘ軸、Ｙ軸、およびＺ軸のそれぞれの軸にの周りの回転方向における角速度の検出出力に利用される。
【００４０】
［４．機能構成］
図４は、本実施の形態の腕振りパターン判定システムの機能的な構成の一例を示す図である。図４に示されるように、腕振りパターン判定システム４００は、センサ部４１０と、判定部４２０と、アルゴリズム生成部４３０と、判定アルゴリズム４４０と、出力部４５０とを含む。
【００４１】
センサ部４１０は、たとえば慣性センサによって実現され、被験者の腕の挙動を検出する。判定部４２０は、センサ部４１０の検出出力を判定アルゴリズム４４０に適合することにより、被験者の腕振りパターンを判定する。判定アルゴリズム４４０は、たとえば、検出出力の種類と当該検出出力についての判定に利用するための閾値とを含み、記憶装置に格納される。アルゴリズム生成部４３０は、判定アルゴリズム４４０を生成する。
【００４２】
一例では、センサ部４１０は、加速度センサ４１およびジャイロセンサ４２によって構成される。判定部４２０は、所与のプログラム（「判定プログラム」と呼ぶ）を実行するＣＰＵ２０によって実現される。アルゴリズム生成部４３０は、情報処理機能を有する装置（たとえば、後述する図１３のコンピュータ１３００）によって実現される。判定アルゴリズム４４０は、フラッシュメモリ２７に格納される、判定プログラムおよび判定プログラムに利用されるデータによって構成される。出力部４５０は、スピーカ３３、モニタ３５、および／またはＬＥＤ３６によって構成される。
【００４３】
ただし、上記の構成の分配は単なる一例である。各機能がどの装置によって実現されるかについては、種々の態様が可能である。
【００４４】
他の例では、腕振りパターン判定システムは、スマートフォンと、スマートフォンとは別体のセンサユニットと、サーバーとを含む。センサユニットは、被験者の腕に装着される。センサ部４１０は、センサユニットによって実現される。判定部４２０および出力部４５０は、スマートフォンによって実現される。アルゴリズム生成部４３０は、サーバによって実現される。判定アルゴリズム４４０は、サーバに格納され、スマートフォンは、判定の際にはサーバと通信し、当該判定アルゴリズム４４０を読み出しながら、判定を実行する。なお、判定アルゴリズム４４０のスマートフォンへの入力は、判定アルゴリズム４４０を格納している記録媒体（ＵＳＢメモリ等）をスマートフォンに装着するなど、通信回線を利用することなく、直接的に実現されてもよい。
【００４５】
さらに他の例では、腕振りパターン判定システムは、スマートフォンのみによって実現される。すなわち、センサ部４１０、判定部４２０、アルゴリズム生成部４３０、および出力部４５０は、スマートフォンによって実現され、判定アルゴリズム４４０はスマートフォンに設けられた記憶装置に格納される。
【００４６】
さらに他の例では、腕振りパターン判定システムは、スマートフォンと、判定結果を出力するコンピュータとによって実現される。センサ部４１０、判定部４２０、およびアルゴリズム生成部４３０は、スマートフォンによって実現され、判定アルゴリズム４４０はスマートフォンに設けられた記憶装置に格納される。出力部４５０は、コンピュータによって実現される。スマートフォンは、腕振りパターンの判定結果をコンピュータに出力する。コンピュータは、スマートフォンからの出力に従った情報（たとえば、後述する図１１の画面１１００等）を出力する。
【００４７】
［５．腕振りパターン］
本明細書では、ＣＰＵ２０は、被験者の走行中の腕の振りが４つの腕振りパターンのうちのいずれかであるかを判定する。以下、４つの腕振りパターンについて説明する。なお、このような判定態様は単なる一例である。ＣＰＵ２０は、被験者の走行中の腕の振りが、５以上のパターンまたは３以下のパターンのいずれかに該当すると判定してもよいし、１つ以上の予め定められたパターンのいずれにも該当しないと判定してもよい。
【００４８】
（１）パターン「普通」
図５は、パターン「普通」と判定される腕振りのパターンの一例を説明するための図である。図５は、ランナーの左腕の３つの状態ＳＴ１１〜ＳＴ１３を示す。
【００４９】
ランナーの左腕は、たとえば、状態ＳＴ１１と状態ＳＴ１３との間で交互に変化する。状態ＳＴ１２は、状態ＳＴ１１と状態ＳＴ１３の中間の状態を表す。図５に示されたパターンでは、ランナーは、常に肘を適度に曲げ、比較的大きな振幅で前後に腕を振っている。
【００５０】
（２）パターン「前腕が外に開く」
図６は、パターン「前腕が外に開く」と判定される腕振りのパターンの一例を説明するための図である。図６では、ランナーの正面についての２つの状態ＳＴ２１〜ＳＴ２２が示されている。
【００５１】
ランナーは、状態ＳＴ２１と状態ＳＴ２２とを交互に繰り返す。状態ＳＴ２１は、ランナーが、右腕ＡＲＲを後方に位置させた際に正面から見て右腕が開いている状態を表す。状態ＳＴ２２は、ランナーが、左腕ＡＲＬを後方に位置させた際に正面から見て左腕が開いている状態を表す。図６に示されたパターンでは、ランナーは、左右方向に腕を開いている。
【００５２】
（３）パターン「常に肘が伸びる」
図７は、パターン「常に肘が伸びる」と判定される腕振りのパターンを説明するための図である。図７では、ランナーの左腕の３つの状態ＳＴ１１〜ＳＴ１３が示されている。
【００５３】
ランナーの左腕は、たとえば、状態ＳＴ３１と状態ＳＴ３３との間で交互に変化する。状態ＳＴ３２は、状態ＳＴ３１と状態ＳＴ３３の中間の状態を表す。図７に示されたパターンでは、パターン「普通」に対して、全体的に肘の曲げが足りない。
【００５４】
（４）パターン「後ろで肘が伸びる」
図８は、パターン「後ろで肘が伸びる」と判定される腕振りのパターンを説明するための図である。図８では、ランナーの左腕の３つの状態ＳＴ４１〜ＳＴ４３が示されている。
【００５５】
ランナーの左腕は、たとえば、状態ＳＴ４１と状態ＳＴ４３との間で交互に変化する。状態ＳＴ４２は、状態ＳＴ４１と状態ＳＴ４３の中間の状態を表す。図８に示されたパターンでは、パターン「普通」に対して、ランナーの前方では十分に肘が曲げられているが、ランナーの後方では肘の曲げが足りない。
【００５６】
［６．処理の流れ］
図９は、ＣＰＵ２０が腕振りパターンの判定のために実行する処理のフローチャートである。ＣＰＵ２０は、たとえば、端末１００にインストールされた腕振りパターン判定アプリケーション（以下、「判定アプリ」という）の処理として、図９の処理を実行する。ＣＰＵ２０は、判定アプリにおいて判定開始の条件が満たされたことに応じて、図９の処理を実行する。
【００５７】
判定開始条件の一例は、入力スイッチ２５に対して操作がなされたことである。端末１００を装着した被験者は、入力スイッチ２５を操作した後、走行を開始する。これにより、当該走行に対する判定のための処理が開始される。
【００５８】
判定開始条件の他の例は、開始用のタイミングが到来したことである。たとえば、ＣＰＵ２０は、カメラのセルフタイマーのように、被験者が入力スイッチ２５を操作してから１０秒後に、図９の処理を開始する。ＣＰＵ２０は、スピーカ３３からカウントダウン用の音声を出力することによって、図９の処理の開始のタイミングを被験者に報知してもよい。
【００５９】
図９を参照して、ステップＳ１０にて、ＣＰＵ２０は、被験者の走行中に加速度センサ４１およびジャイロセンサ４２が検出したデータを取得する。ステップＳ２０にて、ＣＰＵ２０は、判定終了の条件が満たされたか否かを判断する。判定終了の条件の一例は、判定開始から一定時間（たとえば、１０秒間）が経過したことである。他の例は、入力スイッチ２５に対して終了のための操作がなされたことである。さらに他の例は、加速度センサ４１において検出される加速度が、所与の時間以上継続して、全ての方向について所与の値を下回ったことである。
【００６０】
ＣＰＵ２０は、判定終了の条件が満たされたと判断すると（ステップＳ２０にてＹＥＳ）、ステップＳ３０へ制御を進め、そうでなければ（ステップＳ２０にてＮＯ）、ステップＳ１０へ制御を戻す。
【００６１】
ステップＳ３０にて、ＣＰＵ２０は、ステップＳ１０にて取得されたデータを用いて、腕振りパターンの判定に必要な変数を算出する。一例では、ステップＳ１０のデータの取得は一定時間（たとえば、１秒間）ごとに実施され、取得されたデータは蓄積される。上記変数の算出には、蓄積されたデータの全てまたは平均値が利用され得る。
【００６２】
図９の処理において利用される変数について説明する。
【００６３】
図９の処理において、ＣＰＵ２０は、以下の３つの変数を利用する。
・ＧｙＩ／ＧｚＩ
・ＡｘＭｉｎ／ＡｙＭｉｎ
・ＧｚＭａｘ
【００６４】
ここで、本明細書における検出出力および変数に用いる記号について説明する。
本明細書では、以下の規則に従って、記号を使用する。
【００６５】
Ａ：加速度センサ４１の検出出力
Ｇ：ジャイロセンサ４２の検出出力
ｘ：図３のＸ軸
ｙ：図３のＹ軸
ｚ：図３のＺ軸
Ｉ：所与の時間内（例えば、１０秒間、又は判定開始から判定終了まで）の積分値
Ｍａｘ：所与の時間内（例えば、１０秒間、又は判定開始から判定終了まで）の最大値
Ｍｉｎ：所与の時間内（例えば、１０秒間、又は判定開始から判定終了まで）の最小値
【００６６】
上記規則に従うと、図９において利用される３つの変数のうち、「ＧｙＩ／ＧｚＩ」は、「ＧｚＩ」に対する「ＧｙＩ」の比を表わす。「ＧｚＩ」は、Ｚ軸周りの角速度の積算値を表わす。「ＧｙＩ」は、Ｙ軸周りの角速度の積算値を表わす。
【００６７】
「ＡｘＭｉｎ／ＡｙＭｉｎ」は、「ＡｙＭｉｎ」に対する「ＡｘＭｉｎ」の比を表わす。「ＡｙＭｉｎ」は、Ｙ軸方向の加速度の最小値を表わす。「ＡｘＭｉｎ」は、Ｘ軸方向の加速度の最小値を表わす。
【００６８】
「ＧｚＭａｘ」は、Ｚ軸周りの角速度の最大値を表わす。
【００６９】
ステップＳ４０にて、ＣＰＵ２０は、ステップＳ３０にて算出された変数を用いて、被験者の走行における腕振りパターンを判定する。図１０は、ステップＳ４０のサブルーチンのフローチャートである。図１０を参照して、ステップＳ４０のサブルーチンの内容を説明する。
【００７０】
ステップＳ４００にて、ＣＰＵ２０は、ステップＳ３０にて算出された「ＧｙＩ／ＧｚＩ」の値が、第１の閾値（Ｔｈ１）以上であるか否かを判断する。ＣＰＵ２０は、「ＧｙＩ／ＧｚＩ」がＴｈ１以上であると判断すると（ステップＳ４００にてＹＥＳ）、ステップＳ４０２へ制御を進め、そうでなければ（ステップＳ４００にてＮＯ）、ステップＳ４０４へ制御を進める。
【００７１】
ステップＳ４０２にて、ＣＰＵ２０は、被験者の腕振りパターンをパターン「前腕が外に開く」（図６）と判定し、図９へ制御を戻す。
【００７２】
ステップＳ４０４にて、ＣＰＵ２０は、ステップＳ３０にて算出された「ＡｘＭｉｎ／ＡｙＭｉｎ」の値が、第２の閾値（Ｔｈ２）以上であるか否かを判断する。ＣＰＵ２０は、「ＡｘＭｉｎ／ＡｙＭｉｎ」がＴｈ２以上であると判断すると（ステップＳ４０４にてＹＥＳ）、ステップＳ４０６へ制御を進め、そうでなければ（ステップＳ４０４にてＮＯ）、ステップＳ４０８へ制御を進める。
【００７３】
ステップＳ４０６にて、ＣＰＵ２０は、被験者の腕振りパターンをパターン「普通」（図５）と判定し、図９へ制御を戻す。
【００７４】
ステップＳ４０８にて、ＣＰＵ２０は、ステップＳ３０にて算出された「ＧｚＭａｘ」の値が、第３の閾値（Ｔｈ３）以上であるか否かを判断する。ＣＰＵ２０は、「ＧｚＭａｘ」がＴｈ３以上であると判断すると（ステップＳ４０８にてＹＥＳ）、ステップＳ４１０へ制御を進め、そうでなければ（ステップＳ４０８にてＮＯ）、ステップＳ４１２へ制御を進める。
【００７５】
ステップＳ４１０にて、ＣＰＵ２０は、被験者の腕振りパターンをパターン「後ろで肘が伸びる」（図８）と判定し、図９へ制御を戻す。ステップＳ４１２にて、ＣＰＵ２０は、被験者の腕振りパターンをパターン「常に肘が伸びる」（図７）と判定し、図９へ制御を戻す。
【００７６】
図９に戻って、ＣＰＵ２０は、ステップＳ４０にて腕振りパターンを判定した後、ステップＳ５０にて、判定結果を出力する。判定結果の出力は、音声であってもよいし、振動であってもよいし、表示であってもよいし、これらの組合せであってもよい。
【００７７】
図９および図１０を参照して説明された処理では、加速度センサ４１およびジャイロセンサ４２によって検出された種々の検出出力のうち、図５〜図８を参照して説明された各パターンに対応する検出出力を用いて、被験者の腕振りパターンがそれぞれのパターンに該当するか否か判断される。
【００７８】
（パターン「前腕が外に開く」）
たとえば、ステップＳ４００にて「ＧｙＩ／ＧｚＩ」の値が第１の閾値（Ｔｈ１）以上であると判断されると、ステップＳ４０２にて、被験者の腕振りパターンがパターン「前腕が外に開く」であると判定される。「ＧｙＩ」は、Ｙ軸回りの角速度の積分値である。Ｙ軸は、被験者の手首の幅方向を表す。したがって、被験者の手首の幅方向に沿う軸周りの角速度を用いて、被験者の腕振りパターンがパターン「前腕が外に開く」（第１腕振りパターン）であるか否かが判定される。なお、被験者の腕振りパターンがパターン「前腕が外に開く」がであるとの判定には、Ｙ軸周りの角速度の代わりに、または、Ｙ軸周りの角速度と合わせて、Ｚ軸方向の加速度が用いられてもよい。
【００７９】
（パターン「普通」）
ステップＳ４０４にて「ＡｘＭｉｎ／ＡｙＭｉｎ」の値が第２の閾値（Ｔｈ２）以上であると判断されると、ステップＳ４０６にて、被験者の腕振りパターンがパターン「普通」であると判定される。「ＡｘＭｉｎ」は、Ｘ軸方向の加速度の最小値である。Ｘ軸は、被験者の腕の長手方向を表す。したがって、被験者の腕の長手方向の加速度を用いて、被験者の腕振りパターンがパターン「普通」（第２腕振りパターン）であるか否かが判定される。
【００８０】
（パターン「後ろで肘が伸びる」「常に肘が伸びる」）
ステップＳ４０８にて「ＧｚＭａｘ」の値が第３の閾値（Ｔｈ３）以上であると判断されると、ステップＳ４１０にて、被験者の腕振りパターンがパターン「後ろで肘が伸びる」であると判定される。
ステップＳ４０８にて「ＧｚＭａｘ」の値が第３の閾値（Ｔｈ３）未満であると判断されると、ステップＳ４１２にて、被験者の腕振りパターンがパターン「常に肘が伸びる」であると判定される。
Ｚ軸は、被験者の腕の長手方向に交わりかつ被験者の手の平を貫く方向に沿う軸を表わす。したがって、被験者の腕の長手方向に交わりかつ被験者の手の平を貫く方向に沿う軸周りの角速度を用いて、被験者の腕振りパターンがパターン「後ろで肘が伸びる」またはパターン「常に肘が伸びる」であるかが判定される。この意味において、パターン「後ろで肘が伸びる」は、第３腕振りパターンの一例であり、また、パターン「常に肘が伸びる」が第４腕振りパターンの一例である。なお、被験者の腕振りパターンがパターン「後ろで肘が伸びる」またはパターン「常に肘が伸びる」であるかの判定には、Ｚ軸周りの角速度の代わりに、または、Ｚ軸周りの角速度と合わせて、Ｙ軸方向に沿う加速度の加速度が用いられてもよい。
【００８１】
［７．出力例］
図１１は、ある走行についての、腕振りパターンの判定結果の出力画面の例を示す図である。図１２は、図１１とは別の走行についての、腕振りパターンの判定結果の出力画面の例を示す図である。ＣＰＵ２０は、たとえばステップＳ５０（図９）において、端末１００のモニタ３５に、図１１または図１２の画面を表示してもよい。
【００８２】
図１１に示された画面１１００において、欄１１０１は、腕振りパターンの判定結果を表示する。図１１の「女の子走りです」は、パターン「前腕が外に開く」を意味する。図１２に示された画面１２００において、欄１２０１は、腕振りパターンの判定結果を表示する。図１２の「いい腕振りです」は、パターン「普通」を意味する。
【００８３】
画面１１００において、欄１１０２は、判定のために算出された３種類の変数（「ＧｙＩ／ＧｚＩ」「ＡｘＭｉｎ／ＡｙＭｉｎ」「ＧｚＭａｘ」）のそれぞれの数値を表示する。
【００８４】
画面１２００の欄１２０２は、画面１１００の欄１１０２に相当する情報を表示する。
【００８５】
ＣＰＵ２０は、スピーカ３３から音声を出力することによって、判定結果を出力してもよい。端末１００は、被験者の走行中に複数回腕振りパターンを判定してもよい。たとえば、被験者が３０分間継続して走行する場合に、ＣＰＵ２０は、当該被験者の１分ごとの走行に対して腕振りパターンを判定し、音声および／または表示で判定結果を出力してもよい。これにより、被験者は、走行しながら、判定結果を取得できるため、判定結果に応じて腕振りパターンを修正することができる。
【００８６】
［８．判定アルゴリズムの生成・更新］
判定アルゴリズムは、専門家の見識に基づいて生成されてもよいし、機械学習によって生成されてもよい。図１３は、機械学習による判定アルゴリズムの生成を説明するための図である。
【００８７】
図１３において、コンピュータ１３００は、機械学習によって判定アルゴリズムを生成する情報処理装置（アルゴリズム生成装置）の一例である。コンピュータ１３００は、たとえば、判定アルゴリズム生成用のプログラムを記憶する記憶装置と、当該判定アルゴリズム生成用のプログラムを実行するためのプロセッサとを含む。
【００８８】
判定アルゴリズムを生成するための教師データとして、所与の腕振りパターンに関連付けられて取得された変数群が準備される。図１４は、判定アルゴリズムを生成するための変数群として想定される変数の種類を説明するための図である。
【００８９】
図１４には、「各軸方向の活動の大きさ（３５変数）」と「各軸方向への活動比率（８１変数）」からなる、１１６種類の変数が示されている。
【００９０】
「各軸方向の活動の大きさ（３５変数）」として、７種類の検出出力と、それらについての５つの項目が挙げられている。７種類の検出出力は、Ｘ軸，Ｙ軸，Ｚ軸のそれぞれの加速度（Ａｘ，Ａｙ，Ａｚ）と、３種類の加速度の合成加速度（Ａｒｅ）と、Ｘ軸，Ｙ軸，Ｚ軸のそれぞれの軸周りの角速度（Ｇｘ，Ｇｙ，Ｇｚ）とを含む。５つの項目は、絶対値の積分値（Ｉ）、最大値（Ｍａｘ）、最小値（Ｍｉｎ）、微分値の最大値（ＭａｘＤｉｆ）、および、微分値の最小値（ＭｉｎＤｉｆ）を含む。７種類の検出出力のそれぞれについて５つの項目が準備されることにより、３５種類の変数が得られる。
【００９１】
「各軸方向への活動比率（８１変数）」として、積分値の比率（９変数）と、最大値・最小値の比率（７２変数）とが示される。積分値の比率（９種類）は、２種類の加速度の比（６種類）と、２種類の角速度の比（３種類）とを含む。
【００９２】
最大値・最小値の比率（７２変数）は、「加速度最大・最小：２１変数」と、「ジャイロ最大・最小：１５変数」と、「加速度変化最大・最小：２１変数」と、「ジャイロ変化最大・最小：１５変数」とを含む。
【００９３】
「加速度最大・最小：２１変数」に含まれる２１の変数のそれぞれは、加速度の最大値および最小値からなる群から選択された２種類の値の比である。「ジャイロ最大・最小：１５変数」に含まれる１５の変数のそれぞれは、角速度の最大値および最小値からなる群から選択された２種類の値の比である。「加速度変化最大・最小：２１変数」に含まれる２１の変数のそれぞれは、加速度の微分値の最大値および最小値からなる群から選択された２種類の値の比である。「ジャイロ変化最大・最小：１５変数」に含まれる１５の変数のそれぞれは、角速度の微分値の最大値および最小値からなる群から選択された２種類の値の比である。
【００９４】
判定アルゴリズムの生成では、複数の走行のそれぞれについて、教師データとして、腕振りパターンの名称と、図１４の１１６種類の変数とが、セットで供給される。判定アルゴリズム生成用プログラムは、この教師データを利用して、所与の腕振りパターンに寄与する変数の種類を特定するとともに、当該所与の腕振りパターンであると判定するための特定された種類の変数についての閾値を決定する。ＣＰＵ２０は、上記判定アルゴリズム生成用プログラムの実行中に決定した閾値を、腕振りパターンに関連付けて、判定アルゴリズムの一部としてフラッシュメモリ２７に格納する。これにより、生成された判定アルゴリズムは、特定された変数の種類と、決定された閾値とを含む。
【００９５】
本実施の形態では、ＣＰＵ２０が、判定アルゴリズムを生成し、生成された判定アルゴリズムを「判定アプリ」に組み込むことにより、図９および図１０に示された処理を実行してもよい。すなわち、コンピュータ１３００は、端末１００によって実現されてもよい。
【００９６】
サーバが、判定アルゴリズムを生成し、生成された判定アルゴリズムを端末１００に供給してもよい。すなわち、コンピュータ１３００は、サーバによって実現されてもよい。サーバは、定期的に、または、作業者の指示に応じて、機械学習により判定アルゴリズムを更新し、更新後の判定アルゴリズムを端末１００に共有してもよい。判定アルゴリズムの更新の一例は、所与の腕振りパターン（および他の腕振りパターン）に関連付けられた検出出力を用いて、当該所与の腕振りパターンの判定に寄与する検出出力の閾値を更新することである。サーバは、通信インタフェースを備えていてもよい。端末１００には、当該通信インタフェースを介して通信によって、判定アルゴリズムが供給されてもよい。
【００９７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００９８】
２０  ＣＰＵ、２４  通信装置、２５  入力スイッチ、２７  フラッシュメモリ、２８  ＲＡＭ、２９  ＲＯＭ、３０  メモリカード駆動装置、３１  メモリカード、３２  マイク、３３  スピーカ、３４  音声信号処理回路、３５  モニタ、３７  通信インターフェイス、３８  バイブレータ、４０  モジュール、４１  加速度センサ、４２  ジャイロセンサ、１００  端末、４００  腕振りパターン判定システム、４１０  センサ部、４２０  判定部、４３０  アルゴリズム生成部、４４０  判定アルゴリズム、４５０  出力部、９００  被験者、１１００，１２００  画面、１３００  コンピュータ。
【図１】
2019170631.tif 000003
【図２】
2019170631.tif 000004
【図３】
2019170631.tif 000005
【図４】
2019170631.tif 000006
【図５】
2019170631.tif 000007
【図６】
2019170631.tif 000008
【図７】
2019170631.tif 000009
【図８】
2019170631.tif 000010
【図９】
2019170631.tif 000011
【図１０】
2019170631.tif 000012
【図１１】
2019170631.tif 000013
【図１２】
2019170631.tif 000014
【図１３】
2019170631.tif 000015
【図１４】
2019170631.tif 000016