(57)【特許請求の範囲】
【請求項１】
センサデータを用いてユーザの動作を判定する動作判定装置であって、
前記ユーザが動作しているときの前記センサデータの周期性の喪失を検知する周期性喪失検知手段と、
前記検知した前記センサデータの周期性の喪失に応じて動作判定に用いるデータ区間を設定し、設定した前記データ区間のセンサデータを基にユーザの動作を判定する判定処理手段と、
を有することを特徴とする動作判定装置。
【請求項２】
前記センサデータの周期性が、センサデータにおいて少なくとも極大値または極小値をとるデータ点であるピークの周期性であることを特徴とする請求項１に記載の動作判定装置。
【請求項３】
前記データ区間は、判定対象の動作の種類毎に所定の時間幅を有するように設定されることを特徴とする請求項１または２に記載の動作判定装置。
【請求項４】
判定対象の動作の種類毎の前記判定処理手段を備えることを特徴とする請求項１ないし３のいずれか１項に記載の動作判定装置。
【請求項５】
前記周期性喪失検知手段が、
前記センサデータから、少なくとも極大値または極小値をとるデータ点であるピークを検出するピーク検出部と、
前記検出した複数のピークの発生時刻からピーク間の時間間隔を算出するピーク間隔算出部と、
前記ピーク間隔算出部が算出したピーク間隔の値と、前記ピーク検出部が検出したピークの発生時刻を用いて、次のピークの、少なくとも発生時刻を含むピーク情報を予測するピーク予測部と、
前記ピーク予測部が予測したピークと、前記ピーク検出部がセンサデータから検出したピークとが一致するか否かを判定するピーク・マッチング判定部と、
を有することを特徴とする請求項１ないし４のいずれか１項に記載の動作判定装置。
【請求項６】
前記ピーク検出部が検出したピークの時刻情報と、前記ピーク間隔算出部が算出したピーク間隔を、過去一定時間分記憶するピーク間隔履歴記憶部を更に含み、
前記ピーク予測部が、前記ピーク間隔履歴記憶部に記憶されているピーク情報およびピーク間隔の履歴を用いて、次のピークの、少なくとも発生時刻を含むピーク情報を予測することを特徴とする請求項５に記載の動作判定装置。
【請求項７】
前記ピーク検出部が検出したピークの時刻情報と、前記ピーク間隔算出部が算出したピーク間隔を、過去一定時間分記憶するピーク間隔履歴記憶部と、
少なくとも実際に行われた動作の種類と、その動作が行われた時刻とを含む正解動作情報を入力する正解動作入力部と、
前記正解動作入力部が入力した時刻周辺のピークの時刻情報とピーク間隔との履歴を前記ピーク間隔履歴記憶部から取得し、ピーク間隔の傾向を学習し、学習結果に基づいて周期性検知方法を変更するピーク学習部と、
を更に有することを特徴とする請求項５に記載の動作判定装置。
【請求項８】
請求項１ないし７のいずれか１項に記載の動作判定装置と、
センサから出力されるセンサデータを取得し、一時的に記憶するセンサデータ取得・記憶部と、
前記判定処理部により行われた動作判定の結果を出力する判定結果出力部と、
を備えたことを特徴とする動作判定システム。
【請求項９】
センサデータを用いてユーザの動作を判定する動作判定方法であって、
前記ユーザが動作しているときの前記センサデータの周期性の喪失を検知するステップと、
前記検知した前記センサデータの周期性の喪失に応じて動作判定に用いるデータ区間を設定し、設定した前記データ区間のセンサデータを基にユーザの動作を判定するステップと、
を含むことを特徴とする動作判定方法。
【請求項１０】
センサデータを用いてユーザの動作を判定する動作判定プログラムであって、コンピュータに、
前記ユーザが動作しているときの前記センサデータの周期性の喪失を検知する機能と、
前記検知した前記センサデータの周期性の喪失に応じて動作判定に用いるデータ区間を設定し、設定した前記データ区間のセンサデータを基にユーザの動作を判定する機能と、
を実現させることを特徴とする動作判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動作判定装置、動作判定システムおよび動作判定方法に関する。
【背景技術】
【０００２】
近年、様々なセンサを用いて、ユーザの動作を判定する試みが盛んに行われている。センサを利用した一般的な動作判定処理の流れを図１（ａ）に示す。まず、連続するセンサデータから一定区間（以下、「時間窓」という）のデータを抽出する。次に抽出した時間窓データから、認識する動作の特徴を表す統計量など（以下、「特徴量」という）を算出する。そして、得られた特徴量について、例えばあらかじめ設定した閾値と比較して大小関係を調べたり、パターン認識手法を用いるなどして動作の種類等の判定を行う。以下では、データ抽出、特徴量の算出、動作判定の３つの処理を行うことを、まとめて「判定処理」と呼ぶこととする。【０００３】
図１（ｂ）は、例として「歩く」ときに加速度センサから得られるセンサデータＳＤを用いた場合の判定処理を示す。センサデータＳＤから、開始時刻ＳＴと終了時刻ＥＴとで指定される時間窓ＴＷのデータＷＤを抽出する。抽出データＷＤから、特徴量Ｆ１，Ｆ２，Ｆ３等を算出する。例示した動作判定では、算出した特徴量Ｆ１が閾値ａより大きければ、動作Ａと判定し、特徴量Ｆ１が閾値ａより小さければ、動作Ｂと判定している。このような判定処理を実現する動作判定システムの構成例を、図２に示す。【０００４】
図２において、センサデータ取得・記憶部１は、センサからデータを取得して一時的に記憶する。時間窓開始・終了時刻設定部２１は、データを抽出する区間である時間窓の開始時刻と終了時刻を設定する。時間窓データ抽出部２２は、設定された時間窓のセンサデータを抽出する。特徴量算出部２３は、抽出したセンサデータについて特徴量を算出する。動作判定部２４は、算出した特徴量を基に動作の判定を行う。【０００５】
このようにセンサを用いて動作判定を行う一例が、特許文献１に記載されている。特許文献１では、人間に装着した加速度センサを用いて、時間窓の設定、データの抽出、特徴量の算出、動作判定の順に判定処理を行う。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１２３８３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１などに記載の手法では、「立ち上がる」や「座る」などのような、１秒から５秒程度の短い時間で完結する動作を、検出漏れなく判定する場合、計算量が多くなるという課題があった。その理由を以下に説明する。【０００８】
まず、「歩行」のように繰り返し可能な動作の判定において、センサデータから時間窓データを抽出する様子を、図３に示す。図３（ａ）は「歩行」のセンサデータＳＤにおける一歩の動作の開始ＳＰから終了ＥＰまでの範囲、すなわち１周期分の範囲ＵＰを示す。一般に、抽出する時間窓データには、注目している動作の１周期分、または動作の開始から終了までのデータが含まれる必要がある。１歩が約１秒と見積もると、時間窓ＴＷは１秒以上の長さが必要となる。そこで、図３（ｂ）、（ｃ）、（ｄ）の例では、時間窓ＴＷの長さを３秒に設定した場合を示している。図３（ｂ）、（ｃ）、（ｄ）は、時間窓の開始時刻（タイミング）ＳＴを変えた３例（ＳＴ１，ＳＴ２，ＳＴ３）を示す。「歩行」などの繰り返し可能な動作は、１０数秒から１分以上の、比較的長時間継続する場合が多いため、図３（ｂ）、（ｃ）、（ｄ）に示す「タイミング１」、「タイミング２」、および「タイミング３」の、どの時間窓であっても、同様に正しく判定できる。即ち、１０数秒から１分以上の、一般的な動作継続時間以内であれば、隣り合う時間窓同士の繰返し間隔、すなわち隣り合う時間窓の開始時刻（ＳＴ１，ＳＴ２，ＳＴ３）の間隔を広く設定しても、検出漏れが生じる可能性は低く、正しい動作判定が可能である。【０００９】
従って、具体的な時間窓設定方法としては、得られた時系列データに時間窓ＴＷが設定されない空白区間を生じさせないように、例えば、ある時間窓の終了時刻ＥＴの直後に得られたデータ点を、次の時間窓の開始時刻ＳＴとする方法や、時間窓長さの半分のデータ区間が、隣り合う時間窓同士で重複するように時間窓の間隔を設定する、などの方法が一般的である。【００１０】
次に、「立ち上がる」や「座る」などのような、１秒から５秒程度の短い時間で完結する動作の判定において、センサデータＳＤから時間窓データを抽出する様子を、図４に示す。図４（ａ）は「座る」動作の開始ＳＰから終了ＥＰまでの範囲、すなわち１周期分の範囲ＵＰを示す。このような短い時間で完結する動作を、本明細書において「イベント動作」と呼ぶこととする。図４（ｂ）、（ｃ）、（ｄ）は、時間窓の開始時刻（タイミング）を変えた３例（ＳＴ１，ＳＴ２，ＳＴ３）を示す。「イベント動作」においても「歩行」動作などの繰り返し可能な動作と同様、図４（ｃ）に示す「タイミング２」のように、動作の開始ＳＰから終了ＥＰまでの区間ＵＰを時間窓ＴＷ内に収める必要がある。しかしながら、「イベント動作」は短時間で完結するため、隣り合う時間窓の時間間隔を広く設定すると、図４（ｂ）に示す「タイミング１」や図４（ｄ）に示す「タイミング３」のように、動作を１周期分以上含まないので正しく時間窓を設定できない。【００１１】
そこで、「イベント動作」判定において動作の開始から終了までを時間窓に収めるためには、図５に示すように、隣り合う時間窓同士の繰返し間隔を短く設定し、それぞれの時間窓においてデータ抽出、特徴量算出、動作判定の処理を繰り返し実行する必要がある。図５は、「座る」イベント動作を判定する例を示し、開始時刻ＳＴが少しずつ異なる複数の時間窓１，時間窓２，時間窓３，時間窓４・・・それぞれにおいて判定処理を繰り返し実行している。その結果、各時間窓における判定処理を頻繁に行うことになり、判定処理の回数が増加し、多くの計算量を要した。さらに、携帯電話などの限られた計算資源しか持たないデバイスを用いて判定処理を行う場合は、処理に時間がかかる、バッテリの電力消費が激しいなどの問題があった。【００１２】
したがって、本発明の目的は、上述した課題を解決し、「イベント動作」の判定を少ない計算量で実行可能な動作判定装置、動作判定システム、および動作判定方法を提供することである。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明の動作判定装置は、センサデータを用いてユーザの動作を判定する動作判定装置であり、前記ユーザが動作しているときの前記センサデータの周期性の喪失を検知する周期性喪失検知手段と、前記検知した前記センサデータの周期性の喪失に応じて動作判定に用いるデータ区間を設定し、設定した前記データ区間のセンサデータを基にユーザの動作を判定する判定処理手段とを備える。【００１４】
また、本発明の動作判定システムは、上記の動作判定装置と、センサから出力されるセンサデータを取得し、一時的に記憶するセンサデータ取得・記憶部と、前記判定処理部により行われた動作判定の結果を出力する判定結果出力部と、を備える。【００１５】
また、本発明の動作判定方法は、センサデータを用いてユーザの動作を判定する動作判定方法であり、前記ユーザが動作しているときの前記センサデータの周期性の喪失を検知するステップと、前記検知した前記センサデータの周期性の喪失に応じて動作判定に用いるデータ区間を設定し、設定した前記データ区間のセンサデータを基にユーザの動作を判定するステップと、を含む。
【発明の効果】
【００１６】
本発明の効果は、「イベント動作」の判定処理において、計算量を削減できる点にある。
【図面の簡単な説明】
【００１７】
【図１】一般的な動作判定処理の流れを示す図である。
【図２】図１の動作判定処理に用いられる動作判定システムの構成を示すブロック図である。
【図３】「歩行」などの繰り返し可能な動作判定における、時間窓開始・終了時刻と動作の開始・終了との関係を示す図である。
【図４】「イベント動作」判定における、時間窓開始・終了時刻と動作の開始・終了との関係を示す図である。
【図５】「イベント動作」判定処理において、時間窓開始時刻を少しずつずらしながら、判定処理を繰り返し行う場合の説明図である。
【図６】本発明の第１の実施形態の構成を示すブロック図である。
【図７】本発明の第１の実施形態の具体的な処理を示す図である。
【図８】直前のピーク情報を用いて、次に出現するピークを予測する方法の一例を示す図である。
【図９】予測したピークと、実際に得られたピークとの一致・不一致を説明する図である。
【図１０】本発明の第１の実施形態における処理内容を示す流れ図である。
【図１１】本発明の第２の実施形態の構成を示すブロック図である。
【図１２】本発明の第２の実施形態におけるピーク間隔履歴記憶部３５に記憶されているピーク間隔とピーク情報の例を示す図である。
【図１３】本発明の第２の実施形態における処理内容を示す流れ図である。
【図１４】本発明の第３の実施形態の構成を示すブロック図である。
【図１５】本発明の第３の実施形態の学習処理を説明する図である。
【図１６】本発明の第３の実施形態における処理内容を示す流れ図である。
【発明を実施するための形態】
【００１８】
次に、本発明の第１の実施形態について図６ないし１０を参照して詳細に説明する。
図６は、本発明の第１の実施形態の動作判定システム１０を示す。動作判定システム１０は、センサデータ取得・記憶部１と、判定処理部２と、イベント動作検出部３と、判定結果出力部４とを含む。判定処理部２は、時間窓開始・終了時刻設定部２１と、時間窓データ抽出部２２と、特徴量算出部２３と、動作判定部２４とを含む。イベント動作検出部３は、ピーク検出部３１と、ピーク間隔算出部３２と、ピーク予測部３３と、ピーク・マッチング判定部３４とを含む。判定処理部２とイベント動作検出部３とで動作判定装置８を構成してもよい。イベント動作検出部３は周期性喪失検知手段と呼ばれることもある。
【００１９】
センサデータ取得・記憶部１は、各種センサからユーザの動作を表すセンサデータを取得し、一時的に記憶する。ピーク検出部３１は、センサデータ取得・記憶部１が得たセンサデータ内のピーク形状の、少なくとも頂点の時刻（以下、ピーク時刻）を検出する。ピーク間隔算出部３２は、ピーク検出部３１が検出したピーク時刻同士の間隔を算出する。ピーク予測部３３は、ピーク間隔算出部３２が算出したピーク間隔の値と、得られている最新のピークの時刻から、次に出現するピーク時刻を予測する。ピーク・マッチング判定部３４は、ピーク検出部３１が検出したピーク時刻と、ピーク予測部３３が予測したピーク時刻とを比較して、両者の時刻の乖離があらかじめ決められた一定の時間幅内に存在するかどうかを判定する。
【００２０】
時間窓開始・終了時刻設定部２１は、イベント動作検出部３が「イベント動作」の発生を検出した場合のみ「イベント動作」が発生した時刻を時間窓内に収めるように時間窓の開始時刻および終了時刻を設定する。時間窓データ抽出部２２は、時間窓開始・終了時刻設定部２１が設定した時間窓の開始時刻および終了時刻から、あらかじめ決められた長さの時間窓のセンサデータを切り出す。特徴量算出部２３は、時間窓データ抽出部２２が切り出した時間窓データを用いて、判定対象の動作の特徴を表す特徴量を算出する。動作判定部２４は、特徴量算出部２３が算出した特徴量を用いて、推定対象の動作が行われているかどうかを判定する。
【００２１】
判定対象とする動作が複数種類ある場合、判定処理部２は、対象とする動作ごとに、それぞれ別に用意して用いる構成としてもよい。例えば、「歩行」動作と「座りこむ」動作の２種類の動作を判定する場合、「歩行」判定処理部および「座る」判定処理部の２つの判定処理部を備える構成としてもよい。
【００２２】
このようにして複数の動作を対象として動作判定を行う場合、各動作はそれぞれ「イベント動作」に属する動作か、そうでない動作かを、あらかじめ決めておき、それぞれの動作の判定処理部が記憶しておく。例えば、「歩行」、「走行」、「立ち上がる」、「座りこむ」の４種類の動作を判定する場合を考えると、「歩行」は「イベント動作」でない、「走行」は「イベント動作」でない、「立ち上がる」は「イベント動作」である、「座りこむ」は「イベント動作」である、などと決めて判定処理部２に記憶させる。
【００２３】
そして、イベント動作検出部３が「イベント動作」の発生を検出したときのみ、「イベント動作」の判定処理部が判定処理を実行する。一方、「イベント動作」でない動作の判定処理は、イベント動作検出部３を利用せず、図２に示したような、関連技術で用いられる判定処理を行ってもよい。
【００２４】
動作判定システム１０の物理的な構成として、限定するものではないが、例えば、ユーザが所有する携帯電話が例示できる。この場合、例えば、ユーザが加速度センサ搭載の携帯電話を所持しているとき、携帯電話内部の動作判定システム１０のセンサデータ取得・記憶部１が、加速度センサの発生するセンサデータを取得する。得られた加速度センサデータを用いて、イベント動作検出部３と、判定処理部２において各処理が実行し、判定処理部２の動作判定部２４が得た判定結果を、判定結果出力部４であるところの、携帯電話のディスプレイ装置に表示する。
【００２５】
以下、本発明の第１の実施形態について、具体例として、「イベント動作」ではない「歩行」動作と、「イベント動作」であるところの、「座る」動作のそれぞれについて、処理の流れに沿って各構成要素ごとに説明する。センサデータの例として加速度データをセンサデータ取得・記憶部１がリアルタイムに取得し、取得した加速度データを逐次的に処理する場合を考える。
【００２６】
まず、センサデータ取得・記憶部１は、ユーザが動作を行っているときにセンサが出力するセンサデータを取得する。また、短時間のセンサデータを、例えば数秒から数十秒程度といったあらかじめ決められた時間長さ分だけ、一時的に記憶する。センサデータ取得・記憶部１は、得られたセンサデータを、イベント動作検出部３のピーク検出部３１に入力する。例えば、センサデータ取得・記憶部１が、加速度センサを搭載した携帯電話端末に備えられている場合を考えると、ユーザが携帯電話を身につけることで、ユーザが動作を行っているときの加速度センサデータを得ることができる。
【００２７】
ピーク検出部３１は、センサデータ取得・記憶部１から得たセンサデータに存在するピークを検出する。ピークとは、センサデータの値を時系列順に見たとき、少なくとも極大値であるデータ点、または極小値であるデータ点を指す。ピーク検出部３１は、検出したピークのピーク時刻を含む「ピーク情報」を、ピーク間隔算出部３２、およびピーク・マッチング判定部３４に与える。
【００２８】
「ピーク情報」は、少なくともピークであるデータ点の時刻情報を含む。その他のピーク情報としては、例えばピークであるデータ点のデータの値や、ピークであるデータ点と、その前後のデータ点との間の傾きの値などが考えられる。
【００２９】
ピーク検出部３１におけるピーク検出処理は、あらかじめ決められた時間分のセンサデータを得るたびに繰り返し実行し、新しくピーク情報を得るたびにピーク間隔算出部３２およびピーク・マッチング判定部３４に与える。また、得られたセンサデータにピークが存在しない場合は、ピーク検出部３１はピーク間隔算出部３２およびピーク・マッチング判定部３４にピーク情報を与えない。
【００３０】
説明のため、図７（ａ）を参照する。図７（ａ）は、ユーザが身に付けた加速度センサから得られた、「歩行」動作のセンサデータを概略的に表している。図７（ａ）に示すように、或る時刻から時刻０秒までのセンサデータが得られている場合を考える。ピーク検出部３１は時刻−０．５秒においてピークＰ０を検出し、得られたピーク時刻の情報をピーク情報として、ピーク間隔算出部３２およびピーク・マッチング判定部３４に与える。また、時刻０秒までのセンサデータを得る以前に、時刻−１．５秒においてピークＰ−１を既に検出済であり、既にピーク間隔算出部３２にそのピーク情報を与えているものとする。
【００３１】
また、上の説明ではピークの例として極大値であるデータ点、または極小値であるデータ点としたが、検出するピークはこれに限らない。例えば、一定のデータ区間内で極大値かつ最大値である点や、極小値かつ特定の範囲の値である点などが考えられる。また、一定のデータ区間中に条件を満たすピークを多数検出した場合は、検出したピークのうち最も値の大きいものだけをピークとみなす、などのルールを用いて、動作の周期性を表すピークのみ検出できるようにしてもよい。
【００３２】
ピーク間隔算出部３２は、時刻的に最も新しいピークと、最も新しいピークよりも１つ古いピークとの間の時間間隔を算出し、算出したピーク間隔の値と、最新のピークのピーク情報をピーク予測部３３に与える。
【００３３】
図７（ａ）を例にとって説明すると、ピーク間隔算出部３２は最新のピークＰ０（時刻−０．５秒）および最新のピークよりも１つ古いピークＰ−１（時刻−１．５秒）の時間間隔ＰＩ０を算出し、（−０．５秒）−（−１．５秒）＝１秒という結果を得る。ピーク間隔算出部３２は、算出したピーク間隔１秒という値と、ピークＰ０のピーク情報であるところの−０．５秒という時刻情報を、ピーク予測部３３に与える。
【００３４】
ピーク予測部３３は、ピーク間隔算出部３２から得たピーク間隔と、時刻的に最も新しいピーク情報を用いて、次に出現するピークを予測する。次に、ピークを予測する方法の例を、図７および図８を用いて説明する。
【００３５】
図７（ａ）および図８は、上述したように、ユーザが身に付けた加速度センサから得られた、「歩行」動作のセンサデータを概略的に表している。「歩行」動作の場合、あるピークから、次のピークまでの区間が、「歩行」の１歩、即ち動作の１周期に対応する。「歩行」動作が一定のペースで周期的に継続している場合は、ピーク間隔が一定と考えられる。よって、図７（ａ）に示すように、最新ピークＰ０の出現から、その直前のピーク間隔ＰＩ０の経過後に予測ピークＰｅ１が現れると予測できる。
【００３６】
このピーク間隔ＰＩ０は、図８（ａ）にも示すように、ピークＰ０の時刻ｔ０とピークＰ−１の時刻ｔ−１との差であり、この場合、上述したように１秒である。したがって、図８（ｂ）に示すように、最新のピークＰ０の時刻ｔ０（−０．５秒）に、その直前のピーク間隔ＰＩ０の値（１秒）を足し合わせた時刻ｔｅ１（０．５秒）に、次のピークが現れると考えられる。ピーク予測部３３は、予測ピーク情報を、ピーク・マッチング判定部３４に与える。「予測ピーク情報」は、少なくとも予測されるピークの時刻ｔｅ１の値（０．５秒）を含む。
【００３７】
ピーク・マッチング判定部３４は、ピーク予測部３３から得た予測ピーク情報と、ピーク検出部３１がセンサデータから得たピーク情報とを比較し、２つのピーク情報が一致しているかどうか調べる。一致・不一致を調べるのは、この時点でピーク間隔算出部３２およびピーク予測部３３がピーク検出部３１から得たピークよりも、新しい時刻のピーク（以下、新ピーク）についてである。
【００３８】
ここで、ピークの一致不一致を判定する方法について、図９を用いて説明する。図９（ａ）は、最新のピークＰ０（時刻ｔ０）の次に来るべきピークＰｅ１（時刻ｔｅ１）を予測した様子を表す。図９（ｂ）は、予測ピークＰｅ１と新ピークＰ１とが一致した様子を表す。図９（ｃ）は、予測ピークと新ピークとが不一致の場合を表す。
【００３９】
例えば、ピーク情報としてピークの発生時刻のみ用いる場合を考えると、ピーク予測部３３から得られた予測ピークＰｅ１の発生時刻ｔｅ１と、ピーク検出部３１から得られた新ピークＰ１の発生時刻ｔ１の差が、あらかじめ決められた値より小さい場合（図９（ｂ））、予測ピークと新ピークが一致したとみなす。ピークが一致したとき、ピーク・マッチング判定部３４は、ピークが一致した、即ち周期的な動作が続いている、という判定結果と、予測ピーク情報、および新ピーク情報とを、時間窓開始・終了時刻設定部２１に与える。
【００４０】
また、予測ピークの時刻ｔｅ１に、実際にはピークが現れなかった場合（図９（ｃ））、具体的には、ピーク予測部３３から得られた予測ピークの発生時刻ｔｅ１と、ピーク検出部３１から得られた新ピークの発生時刻ｔ１の差が、あらかじめ決められた値より大きい場合、予測ピークと新ピークが不一致であるとみなす。
【００４１】
ピークが不一致であるとき、ピーク・マッチング判定部３４は、ピークが一致しなかった、即ち周期的な動作が途切れ、「イベント動作」が発生した、という判定結果と、予測ピーク情報、および新ピーク情報とを、時間窓開始・終了時刻設定部２１に与える。
【００４２】
また、ピーク検出部３１が、ピーク間隔算出部３２およびピーク予測部３３が用いたピークを検出した後、あらかじめ決められた時間長さ以上、新ピークを検出しなかった場合も、同様にピークが一致しなかったという判定結果と、予測ピーク情報とを、時間窓開始・終了時刻設定部２１に与えてもよい。
【００４３】
ピークが不一致の場合について、図７（ｂ）を参照して説明する。図７（ｂ）は、センサデータ取得・記憶部１が時刻１秒までの加速度データを得、ピーク検出部３１が時刻１秒までの加速度データを処理した結果、ピークを検出しなかった様子を示す。予測ピークＰｅ１の時刻０．５秒には、実際にはピークが存在しないため、予測ピークと新ピークは不一致とみなす。従って、「イベント動作」が発生した、という判定結果と、予測ピーク情報であるところの時刻情報０．５秒を時間窓開始・終了時刻設定部２１に与える。
【００４４】
時間窓開始・終了時刻設定部２１は、ピーク・マッチング判定部３４から与えられた判定結果に応じて、時間窓開始時刻および時間窓終了時刻を設定する。
【００４５】
具体的には、ピーク・マッチング判定部３４が「イベント動作」は発生していないと判定した場合は、時間窓開始・終了時刻設定部２１は、「イベント動作」判定に関する時間窓は設定せず、従って判定処理部２における以降の「イベント動作」判定処理も実行されない。
【００４６】
また、ピーク・マッチング判定部３４が、「イベント動作」が発生していると判定した場合は、「イベント動作」について、時間窓開始時刻および終了時刻を設定し、判定処理部２における以降の判定処理を実行する。
【００４７】
複数の動作を判定対象とする場合は、判定対象の動作ごとに、別々の判定処理部２を用意し、判定する構成としてもよい。このとき、各判定処理部２は、判定対象とする動作が「イベント動作」かそうでないかをあらかじめ記憶しておく。例えば、判定処理部２として「歩行」判定処理部２ａ、および「立ち上がる」判定処理部２ｂの２つを用いるとき、「歩行」判定処理部２ａは、あらかじめ、「イベント動作」でないことを記憶し、「立ち上がる」判定処理部２ｂは、あらかじめ、「イベント動作」であることを記憶しておき、ピーク・マッチング判定部３４の判定結果に応じて時間窓開始・終了時刻設定の処理を実行するかどうか決める。
【００４８】
ここで、時間窓の具体的な設定方法について説明する。まず、時間窓長さについては、判定対象の動作ごとに、あらかじめ設定しておく。一般に、時間窓長さは、動作の１周期分、または動作の開始から終了までのデータが、それぞれ時間窓内に含まれる必要がある。
【００４９】
一例として、「歩行」判定に用いる時間窓長さを決める場合を考える。この場合、例えば足を１歩踏み出す動作を「歩行」動作の１周期とみなすことができる。実験を行った結果などから、１歩の動作に要する時間が、最大で１秒間程度であると見積もられるので、時間窓長さを１秒間と決めることができる。
【００５０】
同様に、「イベント動作」の一例として「座る」動作の判定に用いる時間窓長さについて考えると、実験を行った結果などから、「座る」動作に要する時間は、最大で２秒間程度であると見積もられるので、時間窓長さを２秒間と決めることができる。
【００５１】
次に、「イベント動作」の時間窓開始・終了時刻の具体的な設定方法について説明する。「イベント動作」の時間窓開始時刻および終了時刻の設定方法としては、例えば、ピーク予測部３３が予測したピーク時刻を、時間窓の開始時刻とするように開始時刻と終了時刻を設定する方法や、ピーク予測部３３が予測したピーク時刻を、時間窓の中心時刻とするように開始時刻と終了時刻を設定する方法が考えられる。
【００５２】
他の方法としては、ピーク検出部３１が、ピーク予測部３３が予測したピーク時刻と異なる時刻に、新ピークを検出した場合、検出した新ピーク時刻を時間窓終了時刻とする方法が考えられる。新ピーク時刻を時間窓終了時刻とする場合、設定した時間窓終了時刻から、注目する動作ごとに予め決められた時間窓長さ分遡った時刻を時間窓開始時刻とする。
【００５３】
同様に、例えば、ピーク検出部３１が検出した新ピークの時刻を、「イベント動作」判定時間窓の開始時刻とする方法などが考えられる。
【００５４】
さらに、時間窓を複数設定する方法も考えられる。即ち、上に述べた方法で時間窓を設定した後、設定した時間窓の前後一定区間内に限り、図５に示すような短い時刻だけ開始・終了時刻をずらした複数の時間窓を設定し、時間窓ごとに判定処理を実行する方法も考えられる。このとき時間窓をずらす前後一定区間としては、例えば、設定した時間窓の中心時刻を基準として、前後３秒、計６秒間の区間とするなど、あらかじめ決められた時間の長さを用いる方法が考えられる。
【００５５】
他の時間窓をずらす区間の設定方法としては、判定する動作によって時間窓長さは異なるため、例えば時間窓長さをｗ秒間とすると、設定した時間窓の中心時刻を基準として、前後ｗ秒間、計２ｗ秒間の区間とする、などのように、動作ごとに時間窓をずらす区間を別々に設定する方法が考えられる。時間窓開始・終了時刻設定部２１は、動作ごとの時間窓の開始時刻と終了時刻の情報を、時間窓データ抽出部２２に与える。
【００５６】
次に、図７（ｃ）を参照して、「座る」動作を判定する場合を具体的に説明する。上述したように、「座る」時間窓長さを２秒間に設定し、ピーク予測部３３が予測したピーク時刻を、時間窓の開始時刻とするように開始時刻と終了時刻を設定する方法を用いる場合を考える。時間窓開始・終了時刻設定部２１は、ピーク・マッチング判定部３４から、予測ピーク情報として予測ピークＰｅ１の時刻０．５秒の情報を得た後、予測ピーク時刻０．５秒を時間窓開始点とする、長さ２秒の時間窓ＴＷを設定する。
【００５７】
時間窓データ抽出部２２は、センサデータ取得・記憶部１に一時的に記憶されているセンサデータから、時間窓開始・終了時刻設定部２１から得た動作ごとの時間窓開始時刻および終了時刻に従って、センサデータを切出す。時間窓データ抽出部２２は、切り出したセンサデータを、特徴量算出部２３に与える。
【００５８】
特徴量算出部２３は、時間窓データ抽出部２２から得たセンサデータを用いて、判定対象の動作ごとに、その動作を特徴付ける特徴量を算出する。特徴量としては例えば、時間窓におけるセンサデータの平均値や分散値といった各種統計量や、最大値や最小値などが考えられる。特徴量算出部２３は、得られた特徴量を動作判定部２４に与える。
【００５９】
動作判定部２４は、特徴量算出部２３から得た特徴量を用いて、時間窓を設定した時刻における動作を判定する。例えば、「歩行」動作を判定する特徴量として、時間窓内の分散値を用いる場合を考えると、分散値が４０００［ｍＧ２］未満のときは「歩行でない」、４０００［ｍＧ２］以上のときは「歩行」と判定する、などのルールを用いて動作判定を行う。以上の処理によって得た動作判定結果を、判定結果出力部４であるところの、例えば携帯電話のディスプレイ装置に表示などする。
【００６０】
以上に述べた時間窓データ抽出部２２、特徴量算出部２３、および動作判定部２４の処理は、関連技術の手法を用いることができ、「イベント動作」と「イベント動作以外」の動作とに共通して使用できる。
【００６１】
また、上記説明では、ピーク予測部３３はピークの時刻情報のみ用いて、次に出現するピークの時刻のみ予測を行う場合について示したが、ピーク情報としてピークであるデータ点の値の大きさや、ピークであるデータ点と、その前後のデータ点との間の傾きの値などを用いて、より正確なピークの予測を行う処理も考えられる。例えば、ピーク情報として、時刻の他に値の大きさを用いる場合、次に出現するピークの時刻を予測すると同時に、ピーク間隔算出部３２から得られたピークの値を、次に出現するピークの値の予測値として、ピーク・マッチング判定部３４に与える方法などが考えられる。
【００６２】
さらに、他のピーク予測の方法として、ピークが出現する時刻を一意に決めず、ある一定の時間幅を持たせた時刻を予測する方法も考えられる。具体的には、例えば、ピーク間隔算出部３２が算出したピーク間隔がＰＩ０（秒）であったとすると、予測ピークの発生時刻を中心とし、この時刻の前後にそれぞれＰＩ０／２（秒）ずつ幅を持たせた区間を、予測ピーク発生区間とする。ピーク・マッチング判定部３４は、ピーク検出部３１から得られた新ピークが、この予測ピーク発生区間内に存在するか否かによって、一致・不一致を判定する。このように、一定の時間幅を持たせた予測ピーク発生区間において、ピーク・マッチング判定部３４がピークの一致・不一致を判定する方法は、上記方法に限定されない。
【００６３】
例えば、他にも、予測ピーク発生区間にガウス分布を仮定し、ピーク検出部３１から得られた新ピークが、ガウス分布の中心を基準として、例えば分布全体の３０％以内などの、予め決められた範囲内に分布しているか否かによって一致・不一致を判定するなどの方法が考えられる。また、このようにある一定の幅を持たせた予測を行う方法は、時間幅についてだけでなく、ピークであるデータ点の値の大きさなどの、他のピーク情報を予測に用いる場合にも適用できる。
【００６４】
以上に加え、上記説明では、「イベント動作」の発生を検出したか否かによって、「イベント動作」判定処理を実行するか否かを決定する場合について述べたが、「イベント動作」以外の動作に関しても同様の方式を適用できる。即ち、イベント動作検出部３が「イベント動作」が発生していない、と判定した場合には「イベント動作」でない動作の判定処理を実行し、「イベント動作」が発生した、と判定した場合には「イベント動作」でない動作の判定処理は実行しない、などのルールを「イベント動作」でない動作判定処理部に対しても適用することができる。
【００６５】
ここで、本発明の第１の実施形態の物理的な構成を述べる。
【００６６】
上述した例では、ユーザが所有する加速度センサ搭載携帯電話が、動作判定システム１０全体を備えている、という構成を示したが、物理的な構成はこれに限らない。考えられる他の構成としては、例えば図６に示した構成のうち、センサデータ取得・記憶部１のみ携帯電話に備えられており、イベント動作検出部３および判定処理部２が、携帯電話と通信して動作判定を行う外部のサーバ装置やユーザが所有するパソコンなどである、という構成も考えられる。このとき、センサデータ取得・記憶部１は、センサデータを外部のサーバ装置に送信する通信機能を有する。このとき、センサデータをリアルタイムに送信し、動作判定処理を実行してもよいし、サーバ装置に記憶装置が備えられており、一定量のセンサデータを取得したときにまとめて判定処理を実行してもよい。
【００６７】
さらに、携帯電話側に記憶装置が備えられており、データ計測終了後にまとめてセンサデータをサーバ装置に送信するか、有線接続を通じてパソコン装置にデータを移動して用いる方法も考えられる。
【００６８】
また、センサは携帯電話に搭載された加速度センサに限らず、バンドなどを用いてユーザの身体に装着する専用の加速度センサ装置である場合も考えられる。
【００６９】
以上の物理的な構成は、以下に示す本発明の他の実施形態についても同様のことが言える。
【００７０】
次に、図６および図１０を参照して本発明の第１の実施形態の動作について詳細に説明する。
【００７１】
（ステップＳ１）センサデータ取得・記憶部１が、ユーザの動作のセンサデータを取得し、一時的に記憶する。
【００７２】
（ステップＳ２）ピーク検出部３１が、センサデータ取得・記憶部１から得たセンサデータに存在するピークの検出を行う。ピークが存在する場合（ステップＳ３の「Ｙ」）、ピーク情報をピーク間隔算出部３２およびピーク・マッチング判定部３４に与える。検出処理は一定時間分のセンサデータが得られるたびに繰り返し実行し、新しくピーク情報が得られるたびにピーク間隔算出部３２およびピーク・マッチング判定部３４に与える。また、得られたセンサデータにピークが存在しない場合（ステップＳ３の「Ｎ」）、ピーク検出部３１はピーク間隔算出部３２およびピーク・マッチング判定部３４にピーク情報を与えず、ステップＳ１に戻る。
【００７３】
（ステップＳ４）ピーク間隔算出部３２は、ピーク検出部３１がピーク情報を新しく得るたびに、ピーク検出部３１からピーク情報を受け取る。ピーク間隔算出部３２は、与えられたピーク情報を用いて、時刻的に最も新しいピークと、最も新しいピークよりも時刻的に１つ古いピークの間の時間間隔を算出し、算出したピーク間隔の値と、最も新しいピークの「ピーク情報」をピーク予測部３３に与える。
【００７４】
（ステップＳ５）ピーク予測部３３が、次に出現するピークを予測し、ピーク・マッチング判定部３４に「予測ピーク情報」を与える。
【００７５】
（ステップＳ６）ピーク・マッチング判定部３４は、ピーク予測部３３から得た予測ピーク情報と、ピーク検出部３１から得た新ピークのピーク情報を比較し、２つのピーク情報が一致しているかどうか調べる。また、ピーク・マッチング判定部３４は、ピーク予測部３３から「予測ピーク情報」を得たのち、ピーク検出部３１が新ピークを検出する、もしくは、ピーク検出部３１が、あらかじめ決められた時間長さ以上、新ピークを検出しない状態が続いた場合、ピーク情報の一致・不一致判定処理を行う。ピーク・マッチング判定部３４は、ピークの一致・不一致の判定結果と、予測ピーク情報、およびピーク検出部３１から得た最新のピーク情報とを、判定処理部２の時間窓開始・終了時刻設定部２１に与える。
【００７６】
（ステップＳ８）時間窓開始・終了時刻設定部２１は、ピーク・マッチング判定部３４から与えられた判定結果に応じて（ステップＳ７）、判定対象の動作ごとに、時間窓開始時刻および時間窓終了時刻を設定し、時間窓データ抽出部２２に設定した時刻情報を与える。
【００７７】
（ステップＳ９）時間窓データ抽出部２２は、センサデータ取得・記憶部１に一時的に記憶されているセンサデータから、判定動作ごとの時間窓開始時刻および終了時刻に従って、センサデータを切出す。時間窓データ抽出部２２は、抽出したセンサデータを、特徴量算出部２３に与える。
【００７８】
（ステップＳ１０）特徴量算出部２３は、時間窓データ抽出部２２から得たセンサデータを用いて、判定動作ごとに、その動作を特徴付ける特徴量を算出する。特徴量算出部２３は、得られた特徴量を動作判定部２４に与える。
【００７９】
（ステップＳ１１）動作判定部２４は、特徴量算出部２３から得た特徴量を用いて、設定した時間窓における動作を判定する。
【００８０】
（ステップＳ１２）判定結果出力部４がディスプレイ装置等に判定結果を出力する。
【００８１】
次に、本発明の第１の実施形態の効果について説明する。
【００８２】
本発明の第１の実施形態では、イベント動作の判定処理における計算量を削減できる効果を奏する。その理由は次の通りである。「イベント動作」発生時にセンサデータの周期性が失われる点に着目し、周期性が失われた場合のみ、「イベント動作」が発生したとみなして「イベント動作」の判定処理を行う。具体的には、予測したピーク出現時刻と、実際に出現したピーク時刻が乖離したときに、動作の周期性が失われた、即ち「イベント動作」が発生したとみなす。そして、「イベント動作」が発生した可能性が高い時刻の周辺についてのみ、時間窓を設定し、特徴量を計算するなどの判定処理を実行する。従って、時間窓を設定して判定処理を行ったのち、時間窓の開始時刻を短い時刻だけずらした新たな時間窓を設定し、再び判定処理を行う、というサイクルを、得られた全てのセンサデータに対して実行する必要がない。これにより、判定処理の実行回数を削減することができ、「イベント動作」の判定処理全体の計算量を削減できる。
【００８３】
次に、本発明の第２の実施形態について、図１１ないし１３を参照して詳細に説明する。
【００８４】
第１の実施態様の構成を示す図６と、図１１を参照すると、本発明の第２の実施形態は、第１の実施形態と比べて、ピーク間隔履歴記憶部３５が加わっている点で異なる。
【００８５】
第１の実施形態では、ピーク間隔算出部３２は、ピーク検出部３１から得た、最も新しい時刻のピーク情報と、２番目に新しい時刻のピーク情報を用いてピーク間隔を算出し、こうして得た最新のピーク間隔の値を用いて、ピーク予測部３３が次に出現するピークを予測していた。第２の実施形態では、ピーク間隔算出部３２が算出したピーク間隔の値と、最新のピークのピーク情報を、ピーク間隔履歴記憶部３５に与える。
【００８６】
ピーク間隔履歴記憶部３５は、ピーク間隔算出部３２から得たピーク間隔の値と、検出された過去のピーク情報を、例えば過去５分間分や、過去のピーク３００個分などの、予め決められた時間分または個数分記憶している。記憶しているピーク間隔の値、およびピーク情報を、ピーク予測部３３に与える。ピーク予測部３３に与える履歴情報は、過去５秒間分や、過去５個分など、予め決めておく。
【００８７】
ピーク間隔履歴記憶部３５が記憶しているピーク情報の例を、図１２に示す。図１２は、ピーク間隔履歴記憶部３５が、ピーク情報とピーク間隔の値を、過去３００個分記憶している様子を表す。ピーク間隔履歴記憶部３５は、ＰＩ０からＰＩ−４までの最新のピーク間隔の値５個分、およびＰ０からＰ−４までの最新のピーク情報５個分をピーク予測部３３に与える。
【００８８】
ピーク予測部３３は、ピーク間隔履歴記憶部３５から得た一定時間分のピーク間隔の値、およびピーク情報から、次に出現するピークを予測する。
【００８９】
ピークを予測する方法としては、例えば図８（ｂ）に示すように最新のピークＰ０の時刻ｔ０に、直前のピーク間隔であるＰＩ０の値を足し合わせるのではなく、最新のピークＰ０の時刻ｔ０に、ピーク間隔履歴記憶部３５に記憶されている過去のピーク間隔の平均値であるＰＩａｖｅの値を足し合わせた値を予測ピークの出現時刻とする方法などが考えられる。
【００９０】
具体例として、図１２に示したピーク履歴情報のうち、最新のピーク間隔の値５個分、および最新のピーク情報５個分を得た場合を考える。このとき、過去５個分のピーク間隔の値の平均値は１．０６秒となるので、これを最新のピークＰ０の時刻０．０秒に足し合わせた時刻１．０６秒が予測ピーク時刻となる。
【００９１】
他の方法としては、例えば、ピーク間隔履歴記憶部３５に記憶されているピーク間隔の値のうち、最大値と最小値を求め、最大値と最小値の間の区間を例えば１０分割した各区間に、記憶されているピーク間隔の値を割り振った結果、所属するピーク間隔の数が最も回数の多かった区間を、ピーク間隔として採用する方法が考えられる。
【００９２】
具体的には、ピーク間隔履歴記憶部３５に記憶されているピーク間隔を、時刻の古いものから順にＰＩ−ｎ，ＰＩ−（ｎ−１），・・・，ＰＩ−１，ＰＩ０とし、このうち最も値の小さいピーク間隔が０．７秒間、最も大きなピーク間隔が１．７秒間であったとする。ここで、０．７秒以上０．８秒未満の区間から、１．６秒以上１．７秒未満の区間まで、１０の区間を考え、ＰＩ−ｎ，ＰＩ−（ｎ−１），・・・，ＰＩ−１，ＰＩ０の各ピーク間隔を、それぞれ所属する区間に割り振る。その結果、例えば１．１秒以上１．２秒未満の区間に所属するピーク間隔の数が最も多かったとすると、ピークＰ０の時刻０秒にこの区間を足し合わせた、時刻１．１秒から時刻１．２秒の区間を、予測ピーク発生区間とする、などの方法が考えられる。
【００９３】
以降のイベント動作検出部３、および判定処理部２の動作は、本発明の第１の実施形態と同様のため、説明を省略する。
【００９４】
また、本発明の第１の実施形態の説明でも述べた通り、ピーク予測部３３はピークの時刻情報のみ用いるのでなく、ピーク情報としてピークであるデータ点の値の大きさや、ピークであるデータ点と、その前後のデータ点との間の傾きの値などを用いて、より正確なピークの予測を行う方法も考えられる。さらに、ピークが出現する時刻を一意に決めず、ある一定の時間幅を持たせた時刻を予測する方法も適用できる。また、ピーク情報の履歴とピーク間隔の履歴に、最小二乗法や曲線補完などの統計的な予測方法を適用することもできる。
【００９５】
次に、図１１および図１３を参照して、本発明の第２の実施形態の動作について詳細に説明する。
【００９６】
（ステップＳ１）センサデータ取得・記憶部１が、ユーザの動作のセンサデータを取得し、一時的に記憶する。
【００９７】
（ステップＳ２）ピーク検出部３１が、センサデータ取得・記憶部１から得たセンサデータに存在するピークの検出を行う。ピークが存在する場合（ステップＳ３の「Ｙ」）、ピーク情報をピーク間隔算出部３２およびピーク・マッチング判定部３４に与える。検出処理は一定時間分のセンサデータが得られるたびに繰り返し実行し、新しくピーク情報が得られるたびにピーク間隔算出部３２およびピーク・マッチング判定部３４に与える。また、得られたセンサデータにピークが存在しない場合（ステップＳ３の「Ｎ」）、ピーク検出部３１はピーク間隔算出部３２およびピーク・マッチング判定部３４にピーク情報を与えず、ステップＳ１に戻る。
【００９８】
（ステップＳ４）ピーク間隔算出部３２は、ピーク検出部３１がピーク情報を新しく得るたびに、ピーク検出部３１からピーク情報を受け取る。ピーク間隔算出部３２は、与えられたピーク情報を用いて、時刻的に最も新しいピークと、最も新しいピークよりも時刻的に１つ古いピークの間の時間間隔を算出し、算出したピーク間隔の値と、最も新しいピークの「ピーク情報」をピーク間隔履歴記憶部３５に与える。
【００９９】
（ステップＳ１３）ピーク間隔履歴記憶部３５は、ピーク間隔算出部３２から得たピーク間隔の値と、時刻的に最も新しいピークのピーク情報を記憶する。
【０１００】
（ステップＳ５）ピーク予測部３３は、ピーク間隔履歴記憶部３５から得た過去のピーク間隔の値の履歴と、過去のピーク情報を用いて、次に出現するピークを予測し、ピーク・マッチング判定部３４に「予測ピーク情報」を与える。
【０１０１】
（ステップＳ６）ピーク・マッチング判定部３４は、ピーク予測部３３から予測ピーク情報を得る。ピーク検出部３１が、ピーク間隔算出部３２およびピーク予測部３３が用いたピーク情報よりも、新しい時刻のピークを検出した場合、検出したピーク情報をピーク検出部３１から得る。こうしてピーク予測部３３から得た予測ピーク情報と、ピーク検出部３１から得た新ピーク情報を比較し、２つのピーク情報が一致しているかどうか調べる。
【０１０２】
ピーク・マッチング判定部３４は、ピーク予測部３３から予測ピーク情報を得たのち、ピーク検出部３１が新しい時刻のピークを検出する、もしくは、ピーク検出部３１が、あらかじめ決められた時間長さ以上、新たなピークを検出しない状態が続いた場合に、ピーク情報の一致・不一致判定処理を行う。ピーク・マッチング判定部３４は、ピークの一致・不一致の判定結果と、予測ピーク情報と、ピーク検出部３１から得た新ピーク情報とを、時間窓開始・終了時刻設定部２１に与える。
【０１０３】
（ステップＳ８）時間窓開始・終了時刻設定部２１は、ピーク・マッチング判定部３４から与えられた判定結果に応じて（ステップＳ７）、判定対象の動作ごとに、時間窓開始時刻および時間窓終了時刻を設定し、時間窓データ抽出部２２に設定した時刻情報を与える。
【０１０４】
（ステップＳ９）時間窓データ抽出部２２は、センサデータ取得・記憶部１に一時的に記憶されているセンサデータから、判定動作ごとの時間窓開始時刻および終了時刻に従って、センサデータを切出す。時間窓データ抽出部２２は、抽出したセンサデータを、特徴量算出部２３に与える。
【０１０５】
（ステップＳ１０）特徴量算出部２３は、時間窓データ抽出部２２から得たセンサデータを用いて、判定動作ごとに、その動作を特徴付ける特徴量を算出する。特徴量算出部２３は、得られた特徴量を動作判定部２４に与える。
【０１０６】
（ステップＳ１１）動作判定部２４は、特徴量算出部２３から得た特徴量を用いて、設定した時間窓における動作を判定する。
【０１０７】
（ステップＳ１２）判定結果出力部４がディスプレイ装置等に判定結果を出力する。
【０１０８】
次に、本発明の第２の実施形態の効果について説明する。
【０１０９】
本発明の第１の実施形態では、ピーク予測部３３は、最も新しいピークの発生時刻のピーク情報と、２番目に新しい時刻のピーク情報を用いて算出したピーク間隔の値を用いて、次に出現するピークを予測していた。一方、本発明の第２の実施形態では、ピーク予測部３３が、ピーク間隔履歴記憶部３５が記憶している過去一定時間分のピーク間隔の値とピーク情報を用いて、次に出現するピークを予測する。このように、過去一定時間の履歴を用いることによって、次に出現するピークを、より高精度に予測できる。よって、本発明の第１の実施形態と比較して、「イベント動作」判定処理の時間窓開始・終了時刻をより適切に設定できるので、高精度な「イベント動作」判定処理が可能である。
【０１１０】
次に、本発明の第３の実施形態について、図１４ないし１６を参照して詳細に説明する。
【０１１１】
図１４は、本発明の第３の実施形態の構成を示す。図６に示された本発明の第１の実施形態と比べて、ピーク間隔履歴記憶部５、ピーク学習部６、および正解動作入力部７が加わっている点で異なる。
【０１１２】
ピーク間隔履歴記憶部５は、ピーク間隔算出部３２から得たピーク間隔の値と、検出された過去のピーク情報を、例えば過去２４時間や過去１週間などの、あらかじめ決められた時間分記憶している。
【０１１３】
正解動作入力部７は、ユーザが実際に行った動作の種類を、ピーク学習部６に入力する。ピーク学習部６に入力する情報は、少なくとも、動作を行った時刻の情報と、動作の種類の情報とを含む。少なくとも、動作を行った時刻情報と、行った動作の種類の情報を含む情報を、本明細書では「正解動作情報」と呼ぶ。入力の方法としては、例えば、ユーザがコンピュータ装置などを通じて、過去のある時刻と、その時刻に自分自身が行った動作の種類との組を、コンピュータ装置や携帯電話などを通じて入力する方法が考えられる。
【０１１４】
ピーク学習部６は、ピーク間隔履歴記憶部５に記憶されている一定時間分のピーク間隔の値、およびピーク情報と、正解動作入力部７から得た「正解動作情報」を用いて、ピーク情報やピーク間隔を学習する。学習の結果、ピーク学習部６は、ピーク予測に用いるパラメータをピーク予測部３３に与える。与えるパラメータとしては、例えば、ピーク予測部３３が設定する、予測ピーク発生区間の値などが挙げられる。
【０１１５】
学習によりピーク予測方法を変更する様子を、図１５を用いて説明する。図１５（ａ）に示すように、過去のある時刻に、「イベント動作」であるところの「座る」動作が発生した、という正解動作情報を得た場合を考える。ここで、「座る」動作が発生した時刻を０秒とすると、ピーク学習部６は、ピーク間隔履歴記憶部５より、時刻０秒を含む、過去５分間などの、あらかじめ決められた区間におけるピーク間隔の値、およびピーク情報を得る。こうして、ピーク間隔とピーク情報を得た時刻０秒周辺の区間について、ピーク学習部６は、「イベント動作」が発生したか否かを判定する。
【０１１６】
「イベント動作」発生の判定方法は、ピーク予測部３３およびピーク・マッチング判定部３４と同じ処理を用い、ピーク情報はピーク間隔履歴記憶部５から得る。一例として、本発明の第１の実施形態の説明で示したように、幅を持った予測ピーク発生区間を用いてピークの一致・不一致を判定する場合を考える。
【０１１７】
例えば、最新のピークＰ０の時刻ｔ０秒を含まず、かつ時刻０秒の直前のピーク間隔ＰＩｉの大きさがＰＩｉ＝１秒間であったとし、予測ピークの発生時刻ｔｅをｔｅ＝０秒とすると、図１５（ｂ）に示すように、時刻ｔｅ＝０秒を中心とし、時刻ｔｅ＝０秒の前後にそれぞれＰＩｉ／２＝０．５秒間ずつ幅を持たせた区間が、予測ピーク発生区間となる。
【０１１８】
そして、ピーク間隔履歴記憶部５から得た新ピークが、この予測ピーク発生区間内に存在するか否かによって、一致・不一致を判定する。その結果、正解動作情報の通り、時刻ｔｅ＝０秒において「イベント動作」が発生したと判定した場合は、ピーク学習部６は学習を行わず、処理を終える。
【０１１９】
一方、正解動作情報と異なり、時刻ｔｅ＝０秒において、「イベント動作」は発生していないと判定した場合、即ち、予測したピーク発生区間に、実際にピークを検出した場合は、予測ピーク発生区間を必要以上に長く設定していると考えられる。その場合には、図１５（ｃ）に示すように、従来の予測ピーク発生区間である、前後ＰＩｉ／２＝０．５秒間よりも短い区間として、例えば前後ＰＩｉ／３＝０．３秒間ずつを予測ピーク発生区間とする。ピーク学習部６は、こうして得た新たなピーク予測に用いる発生区間長さの値を、ピーク予測部３３に与える。
【０１２０】
また、正解動作情報として、「歩行」などの「イベント動作」でない動作の情報を得たときも、同様の学習方法が考えられる。例えば、時刻ｔ＝０秒に「歩行」動作を行った、という正解動作情報を得たとき、上に述べた方法と同様に、時刻ｔ＝０秒周辺の区間において、「イベント動作」発生判定を行ったとする。その結果、時刻ｔ＝０秒周辺において、正解動作情報の通り、「イベント動作」が発生していない、と判定された場合は、ピーク学習部６は学習を行わず、処理を終える。
【０１２１】
一方、正解動作情報と異なり、「イベント動作」が発生したと判定した場合は、予測したピーク発生区間を、必要以上に短く設定していると考えられるので、従来の区間である、前後ＰＩｉ／２（秒）よりも長い区間として、例えば前後ＰＩｉ×（２／３）（秒）ずつを、予測ピーク発生区間とする。
【０１２２】
さらに、上記説明した方法に加えて、新たに設定したピーク予測方法が、正しく「イベント動作」の発生を判定できるかどうかを検証する方法も考えられる。即ち、時刻ｔにおける正解動作情報から、上記説明したのと同様の方法で学習を行い、新たなピーク予測のパラメータの値を得た後、再び同じ時刻ｔにおける正解動作情報から、得られた新たなピーク予測方法を用いて、学習を行う。このようにして、正解動作情報の通りの「イベント動作」発生判定を実行できるまで、学習処理を繰り返し行うことで、より高精度な予測ピーク発生区間を設定できる。
【０１２３】
また、繰り返し学習処理を行っても、正解動作情報の通りの「イベント動作」発生判定ができない場合も起こり得るため、学習処理の繰り返し回数に上限を設け、学習処理回数が上限に達したら学習処理を終了する、などのルールを別途設けることも考えられる。
【０１２４】
そして、学習によって予測ピーク発生区間を変更する以外に、例えば本発明の第１の実施形態の説明で述べたように、ピークの値やピーク前後の傾き情報などをピーク予測に用いる場合も、同様の方法で学習が可能である。
【０１２５】
加えて、上記説明では、正解動作情報として、ユーザが時刻ｔを指定する場合について述べたが、実際には「イベント動作」は発生時間が短いため、ユーザが記憶などを頼りに指定した正解動作の発生時刻と、実際に「イベント動作」が発生した時刻が必ずしも一致しない場合がある。従って、ピーク間隔履歴記憶部５は、指定された時刻ｔの前後５分ずつ、などの、あらかじめ決められた時間幅をもった区間のピーク間隔およびピーク情報を、ピーク学習部６に与え、この区間内で正解動作情報の通りの「イベント動作」発生判定が行えるか否かによって、学習処理を行ってもよい。
【０１２６】
ピーク予測部３３は、ピーク学習部６から得た、新たなピーク予測のパラメータを用いて、ピーク予測を行う。
【０１２７】
ここで、本発明の第３の実施形態の物理的な構成について述べる。考えられる構成としては、例えば正解動作入力部７がユーザの所有する携帯電話であって、ピーク間隔履歴記憶部５とピーク学習部６が、外部のサーバ装置である構成が考えられる。また、物理的な構成はこれに限らず、他にも例えば、正解動作入力部７、ピーク間隔履歴記憶部５、およびピーク学習部６が、外部のコンピュータ装置であって、ユーザがコンピュータ装置を通じて入力した正解動作情報を用いて、学習処理がコンピュータ装置内部で行われ、得られた新しいピーク予測方法が、コンピュータ装置を通じて携帯電話に送信され、携帯電話に搭載されたイベント動作検出部３のピーク予測部３３の予測方法を更新する、という構成も考えられる。
【０１２８】
次に、図１４および図１６を参照して、本発明の第３の実施形態の動作について詳細に説明する。
【０１２９】
図１６におけるＳ１−Ｓ１２で表されるステップは、本発明の第１の実施形態の動作の説明におけるＳ１−Ｓ１２と同様の動作のため、説明を割愛する。
【０１３０】
（ステップＳ１３）ピーク間隔履歴記憶部５が、ピーク間隔算出部３２から得たピーク間隔の値と、時刻的に最も新しいピークのピーク情報を記憶する。
【０１３１】
（ステップＳ１４）正解動作入力部７は、ユーザが実際に行った動作の種類とその動作の時刻情報とを含む正解動作情報をピーク学習部６に入力する。
【０１３２】
（ステップＳ１５）ピーク学習部６は、ピーク間隔履歴記憶部５に記憶されている一定時間分のピーク間隔の値、およびピーク情報と、正解動作入力部７から得た正解動作情報を用いて、ピーク間隔の傾向を学習する。学習によって得た新たなピーク予測方法をピーク予測部３３に与える。
【０１３３】
ステップＳ１５で表される学習処理は、ステップＳ１４で表される正解動作情報の入力をきっかけとして実行される。このとき、ステップＳ１４とステップＳ１５は、同時に実行される必要はなく、例えばステップＳ１４で表される正解動作情報の入力が行われた後、例えば１日に１回などの決められた時間にステップＳ１５で表される学習処理を実行し、得られたピーク予測方法をピーク予測部３３に与えるなどの方法が考えられる。
【０１３４】
次に、本発明の第３の実施形態の効果について説明する。
【０１３５】
本発明の第１の実施形態では、ピーク予測部３３は、あらかじめ定められたルールに基づいて次に出現するピークを予測していたのに対し、本発明の第３の実施形態では、ピーク学習部６が、正解動作情報を用いて学習を行い、ピーク予測およびピーク・マッチング方法を変更する。このように、正解動作情報を用いて、より高精度に「イベント動作」を検出する方法へ変更するため、本発明の第１の実施形態と比較して、高精度な「イベント動作」判定処理が可能である。
【０１３６】
また、本発明の第３の実施形態は、本発明の第２の実施形態と組み合わせて用いることで、双方の効果を実現することも可能である。
【０１３７】
また、本発明の第１−３の各実施形態における動作判定プログラムは、コンピュータに、図１０、図１３または図１６に示すステップのうち一部または全部を実行させるプログラムとして構成できる。このプログラムをコンピュータにインストールし、実行することによって、第１−３の各実施形態における動作判定装置および動作判定方法を実現することができる。コンピュータとしては、上述したようにサーバ装置、パーソナルコンピュータ、携帯電話等が挙げられる。
【０１３８】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
センサデータを用いてユーザの動作を判定する動作判定装置であって、
前記ユーザが動作しているときの前記センサデータの周期性の喪失を検知する周期性喪失検知手段と、
前記検知した前記センサデータの周期性の喪失に応じて動作判定に用いるデータ区間を設定し、設定した前記データ区間のセンサデータを基にユーザの動作を判定する判定処理手段と、
を有することを特徴とする動作判定装置。
【０１３９】
（付記２）
前記センサデータの周期性が、センサデータにおいて少なくとも極大値または極小値をとるデータ点であるピークの周期性であることを特徴とする付記１に記載の動作判定装置。
【０１４０】
（付記３）
前記データ区間は、判定対象の動作の種類毎に所定の時間幅を有するように設定されることを特徴とする付記１または２に記載の動作判定装置。
【０１４１】
（付記４）
判定対象の動作の種類毎の前記判定処理手段を備えることを特徴とする付記１ないし３のいずれか１に記載の動作判定装置。
【０１４２】
（付記５）
前記センサデータは、ユーザの動作に伴って動く加速度センサの出力データであることを特徴とする付記１ないし４のいずれか１に記載の動作判定装置。
【０１４３】
（付記６）
前記周期性喪失検知手段が、
前記センサデータから、少なくとも極大値または極小値をとるデータ点であるピークを検出するピーク検出部と、
前記検出した複数のピークの発生時刻からピーク間の時間間隔を算出するピーク間隔算出部と、
前記ピーク間隔算出部が算出したピーク間隔の値と、前記ピーク検出部が検出したピークの発生時刻を用いて、次のピークの、少なくとも発生時刻を含むピーク情報を予測するピーク予測部と、
前記ピーク予測部が予測したピークと、前記ピーク検出部がセンサデータから検出したピークとが一致するか否かを判定するピーク・マッチング判定部と、
を有することを特徴とする付記１ないし５のいずれか１に記載の動作判定装置。
【０１４４】
（付記７）
前記ピーク検出部が検出したピークの時刻情報と、前記ピーク間隔算出部が算出したピーク間隔を、過去一定時間分記憶するピーク間隔履歴記憶部を更に含み、
前記ピーク予測部が、前記ピーク間隔履歴記憶部に記憶されているピーク情報およびピーク間隔の履歴を用いて、次のピークの、少なくとも発生時刻を含むピーク情報を予測することを特徴とする付記６に記載の動作判定装置。
【０１４５】
（付記８）
前記ピーク検出部が検出したピークの時刻情報と、前記ピーク間隔算出部が算出したピーク間隔を、過去一定時間分記憶するピーク間隔履歴記憶部と、
少なくとも実際に行われた動作の種類と、その動作が行われた時刻とを含む正解動作情報を入力する正解動作入力部と、
前記正解動作入力部が入力した時刻周辺のピークの時刻情報とピーク間隔との履歴を前記ピーク間隔履歴記憶部から取得し、ピーク間隔の傾向を学習し、学習結果に基づいて周期性検知方法を変更するピーク学習部と、
を更に有することを特徴とする付記６に記載の動作判定装置。
【０１４６】
（付記９）
前記ピーク・マッチング判定部において、前記ピーク予測部が予測したピークと、前記ピーク検出部がセンサデータから検出したピークとの、発生時刻の差に基づいて一致を判定することを特徴とする付記６ないし８のいずれか１に記載の動作判定装置。
【０１４７】
（付記１０）
前記ピーク・マッチング判定部において、前記ピーク予測部が予測したピークと、前記ピーク検出部がセンサデータから検出したピークとの、発生時刻の差およびピーク値の差に基づいて一致を判定することを特徴とする付記６ないし８のいずれか１に記載の動作判定装置。
【０１４８】
（付記１１）
付記１ないし１０のいずれか１に記載の動作判定装置と、
センサから出力されるセンサデータを取得し、一時的に記憶するセンサデータ取得・記憶部と、
前記判定処理部により行われた動作判定の結果を出力する判定結果出力部と、
を備えたことを特徴とする動作判定システム。
【０１４９】
（付記１２）
センサデータを用いてユーザの動作を判定する動作判定方法であって、
前記ユーザが動作しているときの前記センサデータの周期性の喪失を検知するステップと、
前記検知した前記センサデータの周期性の喪失に応じて動作判定に用いるデータ区間を設定し、設定した前記データ区間のセンサデータを基にユーザの動作を判定するステップと、
を含むことを特徴とする動作判定方法。
【０１５０】
（付記１３）
前記周期性の喪失を検知するステップが、
前記センサデータから、少なくとも極大値または極小値をとるデータ点であるピークを検出するステップと、
検出した複数のピークの発生時刻からピーク間の時間間隔を算出するステップと、
前記算出したピーク間隔の値と、前記検出したピークの発生時刻を用いて、次のピークの、少なくとも発生時刻を含むピーク情報を予測するステップと、
前記予測したピークと、前記検出したピークとが一致するか否かを判定するステップと、
を含むことを特徴とする付記１２に記載の動作判定方法。
【０１５１】
（付記１４）
前記検出したピークの時刻情報と、前記算出したピーク間隔を、過去一定時間分記憶するステップ、
を更に含み、
前記予測するステップが、前記記憶されているピーク情報およびピーク間隔の履歴を用いて、次のピークの、少なくとも発生時刻を含むピーク情報を予測する、ことを含むことを特徴とする付記１３に記載の動作判定方法。
【０１５２】
（付記１５）
前記検出したピークの時刻情報と、前記算出したピーク間隔を、過去一定時間分記憶するステップと、
少なくとも実際に行われた動作の種類と、その動作が行われた時刻とを含む正解動作情報を入力するステップと、
前記入力した時刻周辺のピークの時刻情報とピーク間隔との履歴を前記過去一定時間分記憶された情報から取得し、ピーク間隔の傾向を学習することによって周期性検知方法を変更するステップと、
を更に含むことを特徴とする付記１３に記載の動作判定方法。
【０１５３】
（付記１６）
前記判定するステップにおいて、前記予測したピークと、前記センサデータから検出したピークとの、発生時刻の差に基づいて一致を判定することを特徴とする付記１３ないし１４のいずれか１に記載の動作判定方法。
【０１５４】
（付記１７）
前記判定するステップにおいて、前記予測したピークと、前記センサデータから検出したピークとの、発生時刻の差およびピーク値の差に基づいて一致を判定することを特徴とする付記１３ないし１５のいずれか１に記載の動作判定方法。
【０１５５】
（付記１８）
センサデータを用いてユーザの動作を判定する動作判定プログラムであって、コンピュータに、
前記ユーザが動作しているときの前記センサデータの周期性の喪失を検知する機能と、
前記検知した前記センサデータの周期性の喪失に応じて動作判定に用いるデータ区間を設定し、設定した前記データ区間のセンサデータを基にユーザの動作を判定する機能と、
を実現させることを特徴とする動作判定プログラム。
【０１５６】
（付記１９）
前記周期性の喪失を検知する機能が、
前記センサデータから、少なくとも極大値または極小値をとるデータ点であるピークを検出する機能と、
前記検出した複数のピークの発生時刻からピーク間の時間間隔を算出する機能と、
前記算出したピーク間隔の値と、前記検出したピークの発生時刻を用いて、次のピークの、少なくとも発生時刻を含むピーク情報を予測する機能と、
前記予測したピークと、前記検出したピークとが一致するか否かを判定する機能と、
を含むことを特徴とする付記１８に記載の動作判定プログラム。
【０１５７】
（付記２０）
更に、コンピュータに、
前記検出したピークの時刻情報と、前記算出したピーク間隔を、過去一定時間分記憶する機能、を実現させることを含み、
前記予測する機能が、前記記憶されているピーク情報およびピーク間隔の履歴を用いて、次のピークの、少なくとも発生時刻を含むピーク情報を予測する、ことを含むことを特徴とする付記１８に記載の動作判定プログラム。
【０１５８】
（付記２１）
更に、コンピュータに、
前記検出したピークの時刻情報と、前記算出したピーク間隔を、過去一定時間分記憶する機能と、
少なくとも実際に行われた動作の種類と、その動作が行われた時刻とを含む正解動作情報を入力する機能と、
前記入力した時刻周辺のピークの時刻情報とピーク間隔との履歴を前記過去一定時間分記憶された情報から取得し、ピーク間隔の傾向を学習することによって周期性検知方法を変更する機能と、
を実現させることを含むことを特徴とする付記１９に記載の動作判定プログラム。
【０１５９】
この出願は、２０１２年３月２日に出願された日本出願特願２０１２−０４６６１０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【０１６０】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【０１６１】
本発明によれば、例えば人の動作判定を行った結果を用いて、高精度な消費カロリー計算を行ったり、１日の動作判定結果を記録することで、ユーザが記録を閲覧したときに、自動的に生成された日記のように利用できる他、「転倒」などの危険動作の発生をリアルタイムに監視することで、幼児や高齢者の遠隔地からの見守りなどに応用できる。
【符号の説明】
【０１６２】
１    センサデータ取得・記憶部
２    判定処理部
２１  時間窓開始・終了時刻設定部
２２  時間窓データ抽出部
２３  特徴量算出部
２４  動作判定部
３    イベント動作検出部
３１  ピーク検出部
３２  ピーク間隔算出部
３３  ピーク予測部
３４  ピーク・マッチング判定部
３５  ピーク間隔履歴記憶部
４    判定結果出力部
５    ピーク間隔履歴記憶部
６    ピーク学習部
７    正解動作入力部
８    動作判定装置
１０  動作判定システム
【図１】
0006052278.tif 000002
【図２】
0006052278.tif 000003
【図３】
0006052278.tif 000004
【図４】
0006052278.tif 000005
【図５】
0006052278.tif 000006
【図６】
0006052278.tif 000007
【図７】
0006052278.tif 000008
【図８】
0006052278.tif 000009
【図９】
0006052278.tif 000010
【図１０】
0006052278.tif 000011
【図１１】
0006052278.tif 000012
【図１２】
0006052278.tif 000013
【図１３】
0006052278.tif 000014
【図１４】
0006052278.tif 000015
【図１５】
0006052278.tif 000016
【図１６】
0006052278.tif 000017