臥位推定装置、臥位推定システム及び臥位推定方法
【課題】 従来の臥位推定手法は人毎の汎用性に欠ける事という課題がある。即ち、対象者自身の教師データで学習したモデルを用いて推定を行うと精度良く推定が行えるが、他人の学習モデルを用いると精度が下がってしまう。
【解決手段】 人間に装着されるセンサとネットワークを介して接続して用いられ、前記人間の睡眠時の姿勢を推定する臥位推定装置であって、前記センサが取得したセンシングデータを受信する受信部と、前記センシングデータから前記人間の体動期間を検出して、前記体動期間における体動の特徴ベクトルを算出する特徴量算出部と、前記検出された複数の体動期間の各々について、前記特徴量に基づいて、予め定めた複数の臥位の一から、前記複数の臥位の一への変化または無変化である遷移確率を算出する臥位遷移確率算出部と、前記体動期間の各々の遷移確率として定義されるマルコフモデルに基づいて最尤状態列を算出する臥位列算出部と、を備える事を特徴とする臥位推定装置。
【解決手段】 人間に装着されるセンサとネットワークを介して接続して用いられ、前記人間の睡眠時の姿勢を推定する臥位推定装置であって、前記センサが取得したセンシングデータを受信する受信部と、前記センシングデータから前記人間の体動期間を検出して、前記体動期間における体動の特徴ベクトルを算出する特徴量算出部と、前記検出された複数の体動期間の各々について、前記特徴量に基づいて、予め定めた複数の臥位の一から、前記複数の臥位の一への変化または無変化である遷移確率を算出する臥位遷移確率算出部と、前記体動期間の各々の遷移確率として定義されるマルコフモデルに基づいて最尤状態列を算出する臥位列算出部と、を備える事を特徴とする臥位推定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対象者の睡眠中の臥位を長期的に測定する測定方法、該対象者の睡眠中の臥位情報を出力する出力装置、出力装置の制御方法に関するものである。
【背景技術】
【0002】
睡眠疾患の診断と治療では、対象者の睡眠時における臥位(仰向けやうつ伏せ等、睡眠中の姿勢)を測定することのニーズがある。これは、例えば閉塞性睡眠時無呼吸症候群発症の因子として仰向け姿勢での睡眠が挙げられている(非特許文献1)ように、多くの睡眠疾患の発症や、回復度合いの評価に臥位の測定が有用だからである。
【0003】
また近年では超小型の省電力センサと大容量メモリ技術の発達により、装着者の負担少なく長期的に、睡眠の状態を測定することが可能となってきている。例えば非特許文献2では、腕に装着するリストバンド型3軸加速度センサの値を入力として、睡眠時の姿勢を6つの臥位のクラス(左向き、右向き、仰向け、右斜め上、左斜め上)の中から推定する技術が開示されている。ここでは、学習時には睡眠中の腕の向き(即ち、鉛直方向への重力加速度)と、その時の実際の臥位のクラスを教師データとして蓄積し、推定時にはこの教師データに対してk近傍法を適用することにより、腕の向きに対する最尤クラスを算出している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−59058号公報
【非特許文献】
【0005】
【非特許文献1】Stradling JR, Crosby JH, Predictors and prevalence of obstructive sleep apnoea and snoring in 1001 middle aged men. Thorax 1991; 46:85-90.
【非特許文献2】Laerhoven, K. et al., Characterizing Sleeping Trends from Postures, ISWC 2008
【非特許文献3】S.-W.Lee and K.Mase,「Recognition of Walking Behaviors for Pedestrian Navigation」, Proc. IEEE Conf. Control Applications (CCA01), IEEE Control Systems Soc., Piscataway, N.J., 2001, pp.1152-1155.
【非特許文献4】Cole RJ,Kripke DF, Gruen W, Mullaney DJ, Gillin JC. Automatic sleep/wake identification from wrist activity. Sleep 1992; 15: 491-469.
【非特許文献5】C.Cortes and V.Vapnik, Support-Vector Networks, Machine Learning, 1995; 20(3):273-297
【非特許文献6】Andrew J. Viterbi, Error Bounds for Convolutional Codes and an Asymptotically Optimum Decoding Algorithm, IEEE Transactions on Information Theory, vol.13, pp. 260-269, 1967.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記される手法は人毎の汎用性に欠ける事という課題がある。即ち、対象者自身の教師データで学習したモデルを用いて推定を行うと精度良く推定が行えるが、他人の学習モデルを用いると精度が下がってしまう。
【0007】
これは、特定の臥位に対応した静止時の腕の向きの分布には個人差がある事に由来する。図25(a)は、一人の116日分の睡眠の学習モデルを2軸のマップ状に表現したものである。
【0008】
3軸の加速度センサには絶えず重力加速度がかかるため、静止時の加速度値は、鉛直に対する腕の向きを表すピッチ角(θ)とロール角(φ)として表現する事が出来る。該図は、各腕の向き(θ,φ)に対して上記推定手法を用いることで、最尤臥位を4つのクラス(仰向け、右向き、うつ伏せ、左向き)の中から推定し、色づけを行っている。この臥位マップを参照することで、例えば腕が真っすぐ前に突き出しており、手の甲が空を向いている状態(θ=π/2、φ=0)では、仰向けでいる確率が一番高い事が分かる。
【0009】
一方、図25(b)は、11名の臥位マップを示したものである。これらを見比べると、腕の向きに対応した姿勢は個人差が大きく、個人の学習モデルは精度良く他人に適用できない事が分かる。実際、我々の実験によると、自分自身のモデルを用いた推定では平均精度53%程度が得られるところが、他人の学習モデルを用いると40%程度まで落ちてしまうことが確認された。このように、従来では教師データを用意できない対象者に対しては精度良く睡眠中の姿勢が推定できなかった。
【0010】
本発明は、上記に鑑みてなされたものであって、教師データの無い対象者に対しても精度良く睡眠中の臥位を推定することのできる、人毎の汎用性の高い臥位推定装置の提供を目的とする。
【0011】
本発明では、腕の向きを用いて推定を行うのではなく、体動期間中の動きに着目することで、人毎の汎用性の高い臥位推定を行う。
【0012】
睡眠中の加速度データでは、加速度値に殆ど変化の無い「静止期間」と、対象者の寝返り等の動きによって生じる「体動期間」が交互に出現する。図26では、3軸加速度が静止期間中は一定の値を保っており、体動期間中に変化を示し、再び静止期間に入る様子が示されている。
【0013】
本発明者は研究の結果、この体動期間の動きの量や方向等の特徴は、臥位間の遷移、つまりどの臥位からどの臥位へ遷移したかを、人毎の汎用性高く予測できる事を発見した(他人のモデルを用いた場合、従来技術:40%、本技術:48%)。これは、腕の向きが年齢、性別、寝具等の様々な環境に影響されるのに対し、寝返り中の動き方は万人に共通する特徴を持つからである。更なる効果として、他人のモデルではなく対象者自身のモデルを用いた場合には、上記手法よりも精度が向上する事を発見した。
【課題を解決するための手段】
【0014】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、「人間に装着されるセンサとネットワークを介して接続して用いられ、前記人間の睡眠時の姿勢を推定する臥位推定装置であって、前記センサが取得したセンシングデータを受信する受信部と、前記センシングデータから前記人間の体動期間を検出して、前記体動期間における体動の特徴ベクトルを算出する特徴量算出部と、前記検出された複数の体動期間の各々について、前記特徴量に基づいて、予め定めた複数の臥位の一から、前記複数の臥位の一への変化または無変化である遷移確率を算出する臥位遷移確率算出部と、前記体動期間の各々の遷移確率として定義されるマルコフモデルに基づいて最尤状態列を算出する臥位列算出部と、を備える事を特徴とする臥位推定装置」によって課題は解決される。
【発明の効果】
【0015】
本発明によれば、睡眠中の加速度データから臥位をより精度良く推定することができる。
【図面の簡単な説明】
【0016】
【図1】第1の実施形態のシステム全体の構成図の例である。
【図2】腕時計型センサノードの一例を示す図で、(a)は腕時計型センサノード1の正面から見た概略図、(b)は腕時計型センサノードを側面から見た断面図である。
【図3】腕時計型センサノードの基盤に取り付けられた電子回路のブロック図の例である。
【図4】睡眠臥位推定システムの構成要素を示すブロック図の例である。
【図5】睡眠臥位推定システムで行われるデータ処理の全体的な流れを示す図である。
【図6】データ集計プログラムの実行による処理の一例を示すフローチャートである。
【図7】加速度と時間の関係を示すグラフで、ゼロクロス回数の判定の一例である。
【図8】単位時間毎の運動頻度を時系列的にソートしたグラフの例である。
【図9】所定時間間隔毎の集計データフォーマットの一例である。
【図10】睡眠期間抽出プログラムの実行による処理の一例を示すフローチャートである。
【図11】睡眠期間データのフォーマットの一例である。
【図12】体動検出プログラムの実行による処理の一例を示すフローチャートである。
【図13】体動検出データのフォーマットの一例である。
【図14】臥位遷移確率算出プログラムの実行による処理の一例を示すフローチャートである。
【図15】臥位遷移確率データのフォーマットの一例である。
【図16】臥位列算出プログラムの実行による処理の一例を示すフローチャートである。
【図17】臥位列算出プログラムにおいて構築されるマルコフモデルの例を示す図である。
【図18】臥位列データのフォーマットの一例である。
【図19】睡眠臥位推定システムの睡眠表示画面の画面構成の一例である。
【図20】仰向けの割合平均と年齢の関係性を示すグラフである。
【図21】第1の実施形態における仰向けで寝ている人の例を示す図である。
【図22】第1の実施形態におけるうつ伏せで寝ている人の例を示す図である。
【図23】第1の実施形態における右向きで寝ている人の例を示す図である。
【図24】第1の実施形態における左向きで寝ている人の例を示す図である。
【図25】腕の向きに対する最尤臥位マップを、(a)一人の人について表示、(b)11人の人について表示した図である。
【図26】睡眠中の加速度データが静止期間と体動期間に分割されることを示す図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施の形態を、図面に基づき説明する。
【実施例1】
【0018】
本発明を適用する第1の実施例として、人(利用者)に装着したセンサによって加速度データを測定し、睡眠中の臥位を「仰向け」「右向き」「左向き」「うつ伏せ」の4種のうちから推定し、利用者に提示する睡眠臥位推定システムを示す。本実施形態の説明における、各臥位の名称の示す姿勢を図面にて説明する。仰向け(Supine)とは図21に示すように、体の背部が鉛直方向に対して45度以下の角度の状態と定義する。うつ伏せ(Prone)とは図22に示すように、体の腹部が鉛直方向に対して-45度以上、45度未満の角度の状態と定義する。右向き(Right Lateral)とは図23に示すように体の右側面が鉛直方向に対して45度未満の角度の状態と定義する。左向き(Left Lateral)とは図24に示すように体の左側面が鉛直方向に対して45度未満の角度の状態と定義する。
【0019】
図1は、本発明を適用する睡眠臥位推定システムの構成の一例を示す全体図である。本実施例の睡眠臥位推定システムは、当該システムの利用者の動作(または状態)を検出するセンサとして、加速度センサを備えた腕輪型センサノード1を用い、生体情報として腕の加速度を検出する例を示す。腕輪型センサノード1は、利用者(または参加者)の腕に装着されて加速度を検出し、所定の周期で検出した加速度データをセンシングデータとして、アンテナ101を介して基地局102へ無線送信し、クライアント計算機(PC)103へ送信する。また、有線通信が可能な場合はUSB接続などを介して直接PC103へ送信する。無線、有線を問わず、リアルタイムで送る方法のほか、センサノードに蓄積したデータを一定周期毎に送信する方法でもよい。
【0020】
図1において、PC103は複数の腕輪型センサノード1と通信を行い、各腕輪型センサノード1から利用者の動きに応じたセンシングデータを受信し、受信したセンシングデータを解析し、表示データを出力する。出力される表示データは利用者が操作するクライアント計算機(PC)103で閲覧することができる。
【0021】
図2は、本実施例の生活可視化システムを構成する腕輪型センサノード1の一例を示す図で、図2(a)は腕輪型センサノード1の正面から見た概略図で、図2(b)は腕輪型センサノード1を側方から見た断面図である。この腕輪型センサノード1は主に利用者の動きを測定する。
【0022】
腕輪型センサノード1は、センサや制御装置を格納するケース11と、ケース11を人体の腕に装着するバンド12を備える。
【0023】
ケース11の内部には、図2(b)のように図示しないマイクロコンピュータやセンサ6等を備えた基板10が格納される。そして、人体(生体)の動きを測定するセンサ6としては、図中X−Y−Zの3軸の加速度をそれぞれ測定する加速度センサを採用した例を示す。なお、腕輪型センサノード1には図示しない温度センサ、脈拍センサを備え、利用者の体温、脈拍を測定し、加速度とともにセンシングデータとして出力してもよい。また、腕輪型センサノード1が図示しない感圧センサや静電容量センサを備え、利用者が腕時計型センサノード1を装着しているか否かを装着状態として出力しても良い。
【0024】
図3は、腕輪型センサノード1の基板10に取り付けられた電子回路のブロック図を示す。図3において、基板10には、基地局102と通信を行うアンテナ5を備えた無線通信部(RF)2と、PC103と有線接続するUSB通信部39と、加速度センサであるセンサ6及び無線通信部2を制御するマイクロコンピュータ3と、マイクロコンピュータ3を間欠的に起動するためのタイマとして機能するリアルタイムクロック(RTC)4と、各部に電力を供給する電池7と、センサ6への電力の供給を制御するスイッチ8が配置される。また、スイッチ8とセンサ6の間には、バイパスコンデンサC1が接続されてノイズの除去や、充放電の速度を低減して無駄な電力消費を防ぐ。
【0025】
マイクロコンピュータ3は、演算処理を実行するCPU34と、CPU34で実行するプログラムなどを格納するROM33と、データなどを格納するRAM32と、RTC4からの信号(タイマ割り込み)に基づいてCPU34に割り込みをかける割り込み制御部35と、センサ6から出力されたアナログ信号をデジタル信号に変換するA/Dコンバータ31と、無線通信部2との間でシリアル信号にて信号の送受を行うシリアルコミュニケーションインターフェース(SCI)36と、無線通信部2及びUSB通信部39とスイッチ8を制御するパラレルインターフェース(PIO)37と、マイクロコンピュータ3内の上記各部へクロックを供給する発振部(OSC)30とを含んで構成される。そして、マイクロコンピュータ3内の上記各部はシステムバス38を介して接続される。RTC4は、マイクロコンピュータ3の割り込み制御部35に予め設定されている所定の周期で割り込み信号(タイマ割り込み)を出力し、また、SCI36へ基準クロックを出力する。PIO37はCPU34からの指令に応じてスイッチ8のON/OFFを制御し、センサ6への電力供給を制御する。
【0026】
腕輪型センサノード1は、所定の周期(例えば、1秒等)でマイクロコンピュータ3を起動して、センサ6からセンシングデータを取得し、取得したセンシングデータに腕輪型センサノード1を特定する識別子とタイムスタンプを付与して基地局102へ送信する。なお、腕輪型センサノード1の制御の詳細は、例えば、特許文献1等と同様にすることができる。
【0027】
図4は、図1に示した本発明を適用する睡眠臥位推定システムの各構成要素を示すブロック図である。腕輪型センサノード1が送信したセンシングデータは、基地局102を介してクライアント(PC)103の記録装置1100のセンシングデータテーブル1150に蓄積される。もしくは図示しない有線通信を介して直接PC103と通信してもよい。
PC103は、各種情報を表示する表示装置1031と利用者の操作によって様々な情報の入力を可能とする入力装置1032を具備する。
【0028】
表示装置1031は液晶ディスプレイやCRTディスプレイ等の表示端末のほか、プリンタや画像ファイル出力でも良い。入力装置1032はキーボード、マウス等の入力用機器である。また、表示装置1031と入力装置1032はタッチパネル式ディスプレイのような、両方の機能を備える単体の機器でも良い。またPC103は、プロセッサ107と、メモリ108及び記録装置1100を備える。記録装置1100は、後述する各種プログラム、各種データテーブルを記録するものであり、例えば、ハードディスクドライブやCDーROMドライブ、フラッシュメモリなどである。なお、複数の記録装置に各種プログラム、各種データテーブルを分割して記録するようにしてもよい。
【0029】
プロセッサ107は、記録装置1100に記録されている各種プログラムをメモリ108に読み出して実行することにより各種機能を実現する。具体的には、データ集計プログラム200を実行することにより、利用者の腕の加速度センサで測定されたセンシングデータを集計し、単位時間(例えば、1分間)毎の集計値を算出し、記録装置1100の集計データテーブル250に格納する。また、睡眠期間抽出プログラム300を実行することにより、算出した単位時間毎の集計値を解析し、全ての睡眠期間を検出し、記録装置1100の睡眠期間データテーブル350に格納する。また体動検出プログラム400を実行することにより、検出した睡眠期間から体動期間を検出し、更に該体動の特徴ベクトルを算出し、記録装置1100の体動データテーブル450に格納する。また、臥位遷移確率算出プログラム500を実行することにより、図示しない臥位遷移モデルを用いた認識処理を、前記検出した各体動期間に対して適用することにより、該体動が各臥位の一から各臥位の別の一への遷移であった確率、すなわち臥位遷移確率を算出し、記録装置1100の臥位遷移確率データテーブル550に格納する。また臥位列算出プログラム600では前記該遷移確率を遷移確率として構築したマルコフモデルの最尤状態列を算出することにより該睡眠の最尤臥位列を算出し、臥位列データテーブルに格納する。
【0030】
なお、以下では、PC103が、データ集計プログラム200と睡眠期間抽出プログラム300と体動検出プログラム400と臥位遷移確率算出プログラム500臥位列算出プログラム600を定期的な周期、もしくは腕時計型センサノード1との通信を起因として実行し、更に入力装置1032の操作、もしくはPC103の起動を起因として表示装置1031に表示データを提示する例を示す。
【0031】
図5は、本発明を適用する生活可視化システムで行われるデータ処理の全体的な流れを示すフローチャート図である。
【0032】
まず、ステップS1では、腕輪型センサノード1が送信したセンシングデータを基地局102がPC103へ転送し、PC103のセンシングデータテーブル1150にセンシングデータを蓄積する。また、センシングデータに付与されている、センサノードを特定するための識別子と当該センシングデータを取得した時刻を示す時刻情報もセンシングデータテーブルに蓄積する。さらに、入力装置1032の操作を起因としてPC103がデータ集計プログラム200を実行して、記録装置1100に蓄積されたセンシングデータから単位時間毎の運動頻度を算出し、記録装置1100の集計データテーブル250に格納する。なお、データ集計プログラム200を所定の周期(例えば、5分間)毎に実行しても良いし、腕輪型センサノード1との通信開始や終了を起因として実行しても良い。
【0033】
次に、ステップS2では、PC103は睡眠期間抽出プログラム300を実行して、集計データテーブル250に格納された集計データから利用者が睡眠状態にあると推定される領域を検出し、全ての睡眠領域の開始時刻と終了時刻を組みとして睡眠分析データテーブル350に格納する。また、一日の最大の睡眠期間である主睡眠を検出し、上記格納した睡眠領域のうち主睡眠であるものに対して主睡眠タグを付加して睡眠分析データテーブル350に格納する。なお睡眠期間抽出プログラム300を所定の周期(例えば、5分間)毎に実行しても良いし、データ集計プログラム200の終了を起因として実行しても良い。
【0034】
次に、ステップS3では、体動検出プログラム400を実行して、前ステップで検出した各睡眠期間から動きの量が閾値を超えた期間を体動期間として抽出し、これら各体動期間に対して継続時間や動きの量など、ステップS3の詳細説明にて後述する体動特徴量を算出し、体動データテーブル450に格納する。なお体動検出プログラム400を所定の周期(例えば、5分間)ごとに実行しても良いし、睡眠期間抽出プログラム300の終了を起因として実行しても良い。
【0035】
次に、ステップS4では、臥位遷移確率算出プログラム500を実行して、前ステップで算出した各体動期間の体動特徴ベクトルに対して、例えばサポートベクトルマシン(SVM)、k近傍法(KNN)等の認識方式の適用により構築した臥位遷移モデルを用いて、臥位遷移確率、すなわちこの体動が各臥位から各臥位への遷移であった確率を全ての臥位の組み合わせに関して(すなわち16個)算出し、臥位遷移確率データテーブル550に格納する。なお臥位遷移確率算出プログラム500を所定の周期(例えば、5分間)ごとに実行しても良いし、体動検出プログラム400の終了を起因としても良い。
【0036】
次に、ステップS5では、臥位列算出プログラム600を実行して、ステップS2で算出した各睡眠期間から、ステップS3で算出した各体動期間の取りえる各臥位を単一の内部状態として持ち、ステップS4で算出した各体動期間の臥位遷移確率を内部状態間の遷移確率として用いることで表わされるマルコフモデルを構築し、例えばViterbiアルゴリズムの適用により最尤状態列を算出し、これを該睡眠期間の最尤臥位列として臥位列データテーブル650に格納する。なお臥位列算出プログラム600を所定の周期(例えば、5分間)ごとに実行しても良いし、臥位遷移確率算出プログラム500の終了を起因としても良い。
【0037】
次に、ステップS6では、臥位列データテーブル650に格納された最尤臥位列をクライアント計算機103の表示部1031に提示する。
【0038】
図6は,PC103のデータ集計プログラム200で行われる処理の一例を示すフローチャートである。まず,利用者の識別子に対応するセンシングデータをセンシングデータテーブル1150から読み込む(ステップS11)。ここで利用者の識別子は、例えば基地局102と通信している腕時計型センサノード1から取得しても良いし、入力装置102で利用者により指定された識別子でもよいし、図示しない利用者識別子テーブルから選択した任意の識別子でも良い。ここで読み込むセンシングデータの量は,センシングデータの集計周期である所定の周期(例えば,5分間)、あるいは過去のデータ集計プログラム200の実行によって既に格納されている最後の集計時刻以降全て、等に設定すればよい。
【0039】
次に,読み込んだセンシングデータの加速度データについて所定の時間間隔(例えば、1分)毎の集計値を算出する。本実施形態では、所定の時間間隔内での腕輪型センサノード1の装着者(利用者)の運動の頻度を示すゼロクロス回数を集計値として用いる。
【0040】
腕輪型センサノード1が検出したセンシングデータにはX,Y、Z軸の加速度データが含まれているので、X、Y、Zの3軸の加速度のスカラー量=√(X^2+Y^2+Z^2)を算出し(ステップS12)、求めたスカラー量をフィルタ(バンドパスフィルタ)処理することで所定の周波数帯域(例えば、0.1Hz〜5Hz)のみを抽出しノイズ成分を除去する(ステップS13)。そして、図7に示すように求めたスカラー量が所定の閾値(例えば、0.05G)を通過する値をゼロクロス回数として算出し、ゼロクロス回数が所定時間間隔内に出現する頻度を算出し、この出現頻度を、所定の時間間隔(1分間)の運動頻度として出力する(ステップS14)。この運動頻度の算出結果は図8で示すように単位時間毎の運動頻度を時系列的にソートしたデータとなる。なお、運動頻度は、X、Y、Zの各方向の加速度の値が正と負に振動した回数(振動数)を各方向の所定時間内に数えて合計するなど他の方法でもよいが、本実施例では、計算を簡略化することができるため、ゼロクロス回数を算出する方法を採用している。
【0041】
また、所定の時間間隔内のX、Y、Z3軸加速度のスカラー値の積算値をゼロクロス回数とスカラー量から求めて、この積分値を運動強度とする(ステップS15)。またセンシングデータに含まれる温度についても所定の時間間隔内の平均温度を求める(ステップS16)。
【0042】
さらに、所定時間間隔内に出現する歩行のステップ数を歩行数として出力する(ステップS17)。ここで、歩行を検知する手法は,上下方向の加速度が周期的に変化する(一歩ごとの着地)、前後方向の加速度が上下方向の加速度と同期して規則的に前方向と後ろ方向を繰り返す(着地するごとの速度変化)、左右方向の加速度が上下方向の加速度に同期して規則的に繰り返す(一歩ごとの体の左右へのゆれ)、といった波形が観測でき、さらに腕の振りが重なった波形として観測できるので、これらにより、該当する時間間隔内に歩行状態であるか否かを判定できる。また、ゼロクロスの周期の逆数を歩数として検知することも可能である。これらの人体に装着した加速度センサから歩行状態を検知する手法、及びステップ数を算出する手法は、公知の手法を用いれば良く、例えば、「腕に装着した加速度・角速度センサを用いた人間の歩行・走行運動の解析」(非特許文献3)などが知られている。
【0043】
さらに、所定時間間隔内のデータの状態を表すフラグを算出する(ステップS18)。まず、所定時間間隔内に存在するデータのうち、有効なデータ(即ち、所定の範囲内のX,Y,Zの3軸のデータが欠損値以外の値として存在するもの)の割合が所定の閾値より少ない場合、該時間間隔を欠損データとして確定する。また腕時計型センサノード1が装着状態を出力する場合、該時間間隔が欠損でなく所定時間間隔内に存在するデータのうち装着中である割合が所定の閾値より少ない場合、該時間間隔を非装着データとして確定する。以上により、該時間間隔のデータの状態のフラグを「データ有り」「欠損値」「非装着」のうち一つに決定する。
【0044】
データ集計プログラム200の実行は、所定の時間間隔毎に、運動頻度、平均温度、運動強度、歩行数、欠損を求め、図9に示すように、所定の時間間隔毎の集計データを生成し、記録装置1100の集計データテーブル250へ蓄積する(ステップS19)。
【0045】
図9は、集計データテーブル250のフォーマットを示す説明図で、腕輪型センサノード1の装着者(生活パターン分類システムの利用者)の識別子を格納するユーザID251と、センシングデータに含まれる腕輪型センサノード1の識別子を格納するセンサデータID252と、所定の時間間隔の開始時刻(測定日時)を格納する測定日時253と、データ集計プログラム200の実行により演算した平均温度を格納する温度254と、データ集計プログラム200の実行により演算した運動頻度を格納する運動頻度255と、データ集計プログラム200の実行により求めた運動強度を格納する運動強度256と、データ集計プログラム200の実行により求めた歩行のステップ数を格納する歩行数257と、データ集計プログラム200の実行により求めたデータの状態フラグを格納するフラグ258からひとつのエントリを構成する。なお、利用者の識別子は、腕輪型センサノード1の識別子に基づいて予め設定した図示しないテーブルから参照すればよい。 図10は,PC103の睡眠期間抽出プログラム300で行われる処理の一例を示すフローチャートである。まず,データ集計プログラム200の実行により集計した単位時間集計データを集計データテーブル250から読み込む(ステップS21)。ここで,読み込む集計データの量は,例えば過去の睡眠分析プログラム300の実行によって既に格納されている最後の睡眠期間の終了時刻以降全て、等に設定すればよい。
【0046】
次に,ステップS22では,睡眠分析プログラム300の実行により読み込んだ集計データから睡眠状態であると推定される期間群を検出する。睡眠中の運動頻度は極めて低いが、睡眠中でも人体は寝返りなどの運動を行うため、運動頻度はゼロにはならない。睡眠を判定する手法はいくつか知られており、例えば、Cole法(非特許文献4)などを適用すればよい。このような手法により検出された各期間の開始時刻と終了時刻を睡眠期間の候補群として、図示しない一時ストレージ等に保持する。また、利用者がセンサノードを装着していない場合は運動頻度がゼロに近くなり、睡眠として判定されてしまう場合もあるが、例えば腕時計型センサノードが非装着判定手段を備えている場合は睡眠として判定せず、さらに単位時間集計データテーブル250を読み込む際にフラグ258が非装着を示すデータは運動頻度が高いデータと同等に扱うことによっても、これを防ぐことが可能である。
【0047】
次に、ステップS23では、睡眠期間の候補の中で近接するもの同士を結合する。睡眠検出の手法によっては、例えば目覚まし時計を止めるために一時的に起床し、再び睡眠に入った場合でも一時的に起きた時刻で睡眠期間候補が区切れてしまう。しかし、生理活動としての睡眠は確かにそこで区切れているが、生活行動としての睡眠を考える場合そこで区切れることは望ましくない。そのため、睡眠期間候補の終了後、所定時間(例えば30分)以内に次の睡眠領域候補が開始している場合、二つの睡眠期間候補を結合し、一つの大きな睡眠期間として扱う。このようにして睡眠期間候補群の中で結合できるものを探索し、結合する。
【0048】
次に、ステップS24では、睡眠期間の候補として不適合であるものを排除する。一例としてあげる方法においては、まず継続時間が所定時間(例えば10分)以下の睡眠期間は排除する。候補群の中の最後の睡眠期間候補の終了時刻がもし睡眠分析プログラム300の実行により読み込んだ集計データの最新測定時刻から所定時間(例えば30分)以内である場合、次回の睡眠分析プログラム300の実行で新しく候補に挙がる睡眠期間と結合される可能性があるため、これも排除する。以上のように処理した睡眠期間候補群を睡眠期間群として確定する。
【0049】
次に、ステップS25では、ステップS24で確定した睡眠期間群の中から、主睡眠を抽出し、睡眠の種類を「主睡眠」として確定し、それ以外の睡眠期間を「うたた寝」として確定する。まず各睡眠期間の所属するカレンダー日を算出する。これは、睡眠領域の終了時刻が所定時刻、例えば0時から20時までであるならば同日、20時から24時までであるならば次の日に所属するものとする。例えば7月23日の16時半に開始し20時半に終了する睡眠領域は、7月24日に属する。こうして算出したカレンダー日の最古のカレンダー日から最新のカレンダー日まで、各カレンダー日において最長の所属睡眠領域を導き、これらをそのカレンダー日の「主睡眠」として確定する。以上で算出して主睡眠以外の睡眠の種類を「うたた寝」として確定する。
【0050】
最後に、ステップS26では、確定した睡眠期間群を図11に示すように、記録装置1100の睡眠分析データテーブル350に蓄積する。この時、各睡眠期間に睡眠分析データテーブル350内で一意となるような識別子、睡眠IDを割り当てる。これは例えば最後に割り当てられた睡眠IDに1を足した値を利用する、等の選び方でよい。
【0051】
図11は、睡眠期間データテーブル350のフォーマットを示す説明図で、腕輪型センサノード1の装着者の識別子を格納するユーザID351と、睡眠の識別子を格納する睡眠ID352と、睡眠期間の開始時刻を格納する開始日時353と、睡眠期間の終了時刻を格納する終了時刻354と、睡眠の種類(主睡眠であるか、うたた寝であるか)を格納する睡眠の種類355からひとつのエントリを構成する。
【0052】
図12は,PC103の体動検出プログラム400で行われる処理の一例を示すフローチャートである。ここでは、睡眠期間抽出プログラム300で算出された睡眠期間のうち、未だ体動検出プログラムの実行の対象となっていない睡眠期間を全て、もしくは所定の数を選択し、各睡眠期間に対して順番にステップS31〜S35の処理を行う。
【0053】
ステップS31では処理対象となっている睡眠期間の生成の元となっているセンサIDの、開始時刻から終了時刻までの期間のセンサデータを取得し、図示しない一時ストレージ等に保存する。
【0054】
次に、ステップS32では該睡眠期間の中から体動が検出された期間を体動期間として抽出する。ここでは、各所定の単位時間毎の時刻(例えば50ミリ秒)において、過去所定の時間(例えば0.1秒)以内におけるxの値、yの値、zの値の標準偏差をそれぞれ算出し、それらのどれかが所定の閾値(例えば0.06G)以上であった場合に、該サンプル時刻は体動中と確定し、該単位時刻が睡眠期間の開始時刻であるか、過去所定の時間(例えば1秒)以内に体動として確定された時刻がなかった場合は、新たな体動期間の開始時刻として確定し、過去前記所定の時間以内に体動期間があった場合は、該体動期間の終了時刻を該時刻に更新する。このようにして生成された体動期間群を、この睡眠期間の体動期間群として図示しない一時ストレージ等に保持する。
【0055】
次に、ステップS33では前記生成した各体動期間に対して特徴量群を算出する。ここで算出する特徴量としては、体動の動き方に関する種々の量を用いる事が出来る。その一例は体動期間の動きの量に関する特徴量群である。例えば前述したゼロクロス値を該体動期間に対して算出し、この値を特徴量として用いる事が出来る。これらの特徴量は、この体動が寝返りか否か(つまり臥位の変化があったのか、腕が動いただけなのか)の区別のために有用であることを我々は実験の結果、発見した。
【0056】
別の一例では、体動期間の動きの強さに関する特徴量群を用いる。例えば、前述した運動強度を該体動期間に対して算出し、この値を特徴量として用いる事が出来る。これらの特徴量は、この体動が反転か否か(つまり、元々仰向けならば仰向けからうつ伏せに一気に寝返ったか否か)を判定するために有用であることを我々は発見した。
【0057】
別の一例では、体動の移動方向に関する特徴量群を用いる。例えば加速度センサには+の方向と-の方向があるが、各3軸の加速度センサの、+の方向への加速度の積算量と、-の方向への加速度の積算量を別々の特徴量として用いる事が出来る。これらの特徴量は、寝返りの方向(つまり、元々仰向けならば仰向けから右向きに寝返ったのか、左向きに寝返ったのか)を判定するために有用であることを我々は発見した。
【0058】
別の一例では、腕の向きに関する特徴量群を用いる。例えば体動開始時や終了時の腕の向きを表すピッチ角(θ)とロール角(φ)を特徴量として用いる事が出来る。これらの特徴量は、この体動の元々の臥位、体動後の臥位に関するヒントを得るために有用であること我々は発見した。これにより、体動開始前及び体動終了後の定常状態におけるセンサの状態を用いてより体動の推定確率を向上させることができる効果がある。
【0059】
以上の説明で挙げた特徴量群は例であり、例えば各特徴量を体動期間の継続時間で正規化した特徴量群や、体動開始後所定時間以内の範囲について算出することで算出する特徴量群等を用いることで、より精度が向上することを確認している。
【0060】
最後に、ステップS34では、算出した各体動期間群を図13に示すように、記録装置1100の体動データテーブル450に蓄積する。この時、各体動期間を識別するために、該体動期間の属する睡眠期間における体動期間の出現順を体動Noとして保管する。
【0061】
図13は、体動データテーブル450のフォーマットを示す説明図で、体動期間の属する睡眠期間の識別子を格納する睡眠ID451と、睡眠期間における体動期間の出現順を格納する体動No452と、体動期間の開始時刻を格納する開始日時453と、体動期間の終了時刻を格納する終了日時454と、体動の特徴量ベクトルを格納する特徴量ベクトル455からひとつのエントリを構成する。
【0062】
図14は,PC103の臥位遷移確率算出プログラム500で行われる処理の一例を示すフローチャートである。ここでは、体動検出プログラム400で算出された体動期間のうち、未だ臥位遷移確率算出プログラムの実行の対象となっていない体動期間を全て、もしくは所定の数を選択し、各体動期間に対して順番にステップS41〜S43の処理を行う。
【0063】
ステップS41では処理対象となっている体動期間に対して体動検出プログラム400により算出された体動特徴量ベクトルを取得する。
【0064】
次に、ステップS42では前ステップで取得した体動特徴量ベクトルから、臥位遷移モデルに基づいて、該体動の各臥位から各臥位への遷移確率を推定する。ここで推定する方法としては、例えばサポートベクトルマシン(SVM; Support Vector Machine)等の認識器を用いることができる。ここでは、図示しないテーブルに蓄積された学習データ群、すなわち体動特徴量ベクトルとその体動が表わす実際の臥位の遷移(例えば、「仰向け→右向き」など)を用いて、既知の手法(非特許文献5)を適用することで、体動特徴量ベクトルと臥位遷移の関係を表す臥位遷移モデルを構築し、該体動特徴量ベクトルに対して該臥位遷移モデルを適用することで、各臥位から各臥位への遷移確率(すなわち、4臥位×4臥位の計16個の確率)を臥位遷移確率ベクトルとして算出する。ここで、前述の学習データ群とは、例えば事前に体動特徴量ベクトルに対する実際の臥位遷移を人間の目によりタグ付けしたものを用いても良い。また腕の加速度データと同時に該対象者の腹部の鉛直に対する向きを図示しない別の加速度センサを用いて測定し、腹部の鉛直に対する向きから体動前後の臥位を導出したものを用いても良い。
【0065】
最後に、ステップS43では、前記算出した臥位遷移確率ベクトルを図15に示すように、記録装置1100の臥位遷移確率データテーブル550に蓄積する。
【0066】
図15は、臥位遷移確率データテーブル550のフォーマットを示す説明図で、体動期間の属する睡眠期間の識別子を格納する睡眠ID551と、睡眠期間における体動期間の出現順を格納する体動No552と、体動の臥位遷移確率ベクトルを格納する臥位遷移確率ベクトル554からひとつのエントリを構成する。
【0067】
図16は,PC103の臥位列算出プログラム600で行われる処理の一例を示すフローチャートである。ここでは、体動検出プログラム400で処理された睡眠期間のうち、未だ臥位列算出プログラム600の実行の対象となっていない睡眠期間を全て、もしくは所定の数を選択し、各睡眠期間に対して順番にステップS51〜S54の処理を行う。
【0068】
ステップS51では、該睡眠期間に含まれる全ての体動期間の臥位遷移確率ベクトルを臥位遷移確率データテーブル550から取得する。
【0069】
ステップS52では、前記取得した臥位遷移確率を遷移確率として持つ隠れマルコフモデル(HMM; Hidden Markov Model)を図示しない一時ストレージ上に構築する。
【0070】
図17は、上記一時ストレージ上に構築されるマルコフモデルの一例を示す説明図で、対象となる睡眠期間にT個の静止期間(0, …, T-1)があり、4種類の臥位、S(Supine;仰向け)、P(Prone;うつ伏せ)、R(Right;右向き)、L(Left;左向き)を推定する場合を示している。ここで構築されるモデルは、静止期間tにおいて臥位pである状態を表す(4*T)個の状態St,pと、体動期間tから算出した、状態St,pから状態St+1,qへの遷移確率P(St+1=q|St=p)で構成される一次マルコフモデルである。ここで遷移確率P(St+1=q|St=p)とは、ステップS42で算出した体動期間tの臥位遷移確率ベクトルの各項目である。
【0071】
ステップS53では、前記構築したマルコフモデルに対してViterbiアルゴリズムを適用することで、最尤状態列を算出することで、該睡眠期間の最尤臥位列を取得する。
【0072】
Viterbiアルゴリズムは、一次マルコフモデルにおける最尤状態列を効率よく算出手法であり、これの適用により状態列尤度P(S0,S1,.., ST-1)が最大化される状態列<s0,s1,..,sT-1>が算出される(非特許文献6)。
【0073】
また、Viterbiアルゴリズムの適用においては、最初の状態である状態S0の事前確率P(S0) (つまり、寝入りに各臥位で始まる確率)や、最後の状態ST-1の事前確率P(ST-1)(つまり、寝起き時に各臥位で終わる確率)を組み込むこともできるが、例えば学習データから寝入り時と寝起き時の各臥位の割合を算出してこの事前確率として用いても良いし、利用者は寝入り時、寝起き時の自分の姿勢だけは覚えている事が期待できるため、図示しないプログラムに対する入力装置1032の操作により、利用者が各睡眠に対して記憶している寝入り時、寝起き時の臥位の入力を受けて、ここで入力された臥位に対して所定の重みづけをおこなうことで、より精度を高めることができる。また各睡眠に対しての入力を受けずとも、図示しないプログラムを通じて「あなたは普段どの姿勢から寝ていますか?」「どの姿勢から起きていますか?」などの質問に対する応答を入力装置1032を通じて入力し、入力された臥位に対して所定の重みづけを行うことで生成した各臥位の寝入り時、寝起き時の事前確率を、図示しないテーブルに保管し、推定時にこれを用いても良い。
【0074】
上記のようにしてステップS53では、Viterbiアルゴリズムの結果として各静止期間tに対する最も尤度の高い臥位stが割り当てられた、最尤臥位列<s0,..,sT-1>が算出される。
【0075】
ステップS54では、前記取得した最尤臥位列を図18に示すように、記録装置1100の臥位列データテーブル650に蓄積する。
【0076】
図18は、臥位列データテーブル650のフォーマットを示す説明図で、静止期間の属する睡眠期間の識別子を格納する睡眠ID651と、睡眠期間における静止期間の出現順を格納する静止No652と、静止期間に対して割り当てられた最尤臥位を格納する臥位653からひとつのエントリを構成する。
【0077】
図19は、クライアント計算機であるPC103の表示部1031に表示される睡眠表示画面1200の画面イメージである。PC103は、入力装置1032を介した利用者からの表示要求を受け付けて、睡眠表示画面1200を表示させる。なお、PC103で稼動するアプリケーションとしては、ブラウザを採用しても良いし、単独で稼働するアプリケーションが直接睡眠表示画面1200を表示しても良い
睡眠表示画面1200はその日の主睡眠に関する情報を利用者に提示する画面の一例である。これは、その日の睡眠が各臥位で占められていた時間の割合を示す、臥位占有率グラフ1201と、その日の臥位の推移を示す臥位推移グラフ1202と、表示されている日付を操作する日付操作コントロール1203と、臥位の推移から算出した睡眠年齢指標1204と、臥位の特徴から利用者に対して健康上の注意を促す注意ボックス1205から構成される。
【0078】
臥位占有率グラフ1201は、その日の主睡眠において各臥位で占められていた時間の割合を示すグラフであり、この利用者の過去1週間平均との比較を示したり、他の全利用者の過去一週間平均を同時に示すことにより、今日の睡眠において各臥位が多かったのか少なかったのかを利用者にとって把握しやすくする効果がある。このような画面を見ることにより、例えば枕を新しくした利用者が、新しい寝具が自分の睡眠にどのような影響を及ぼしたか効果を確認する事が出来る。
【0079】
臥位推移グラフ1202は、推定された臥位を時系列に並べたものであり、臥位の違いを図示したように色の違いで示しても良いし、各臥位で寝ているアバター等を付記しても良い。
【0080】
日付操作コントロール1203は、現在画面上に表示されている日を示すためのコントロールであり、また左右のボタンへの押下により前後の日が選択されるようにしても良い。
【0081】
睡眠年齢指標1204は、臥位から算出した睡眠年齢指標を示すための領域である。我々は研究により、睡眠中の仰向けの割合と年齢には有意の相関があることを発見した。(図20)そのため、各睡眠の仰向け割合(睡眠中を仰向けが占める割合)を算出し、仰向け割合と年齢の関係式: 年齢=-111.64*青置向け割合+127.3 から、今日の睡眠が何歳相当の人の睡眠であったかを表す「睡眠年齢指標」を算出することができる。これを示すことにより、利用者は自分の睡眠の実態が年齢に適したものであるかどうかを知ることができる。
【0082】
注意ボックス1205は、臥位の特徴から類推できる健康上の注意事項を利用者に対して促す領域である。
【0083】
一つの例としては、睡眠とは歪んだ骨格を正常化する作用があるとされているが、片一方での臥位での睡眠が多いことは骨格形成上良くない事が容易に想像できる。そのため、睡眠中の右向きの割合と左向きの割合を比較し、どちらかの割合が高すぎるときは(例えば、右向きの割合をr、左向きの割合をlとして、2|r-l|/(r+l)が0.5以上の日が7日間以上続く、などの場合)、「左右バランスが悪いようです。寝具を見直してください」などのコメントを利用者に対して提示することにより、悪い睡眠の姿勢が健康状態の悪化を起こす事を未然に防ぐ事が出来る。
【0084】
また別の例としては、上記睡眠年齢指標は日々実年齢を中心に変動するものであるが、平均的な変動率から離れた変動が続いた時は(例えば、普段の変動の標準偏差を1σとして、3σ以上の変動が一週間続く、などの一般的な異常検知手法により)、「睡眠年齢が普段より高くなっています。生活パターンを見直してください」などのコメントを利用者に対して提示することにより、利用者の睡眠の異常を事前に検知することができる。
また別の例としては、喉の詰まりを原因とする睡眠時無呼吸(閉塞性睡眠時無呼吸症候群)は、仰向け寝が原因とされていることは前述したが、仰向け寝が極端短かったり(例えば、各仰向けの静止期間の継続時間の平均が、全利用者の中での継続時間平均より有意に少ない、など)、仰向けからの転身が健常者と比べて大きい(仰向けと推定された静止期間の後の体動期間中の活動両が、全利用者の中でのそれと比較して有意に大きい、など)の場合、「睡眠時無呼吸者の特徴があります。専門医に相談してください」などのコメントを表示することにより、睡眠時無呼吸の簡便なスクリーニングを行う事が出来る。
【0085】
なお、上記実施形態では、睡眠臥位推定システムとして利用者(人体)の静止・体動状態を検出するために、利用者の腕に装着される腕輪型センサノード1の加速度センサを用いた例を示したが、人体の運動状態を検知可能な生体情報であればよく、例えば、腕に装着した角速度センサでも良いし、また腕ではなく足に装着されたセンサでも良い。
【0086】
また、上記実施形態では、算出した臥位を睡眠表示画面1200で表示する例を示したが、例えば上記した注意ボックス1205に表示される内容を、利用者に対して図示しない手段で登録された専門医へ、図示しない経路で通知を行うこともできる。
【符号の説明】
【0087】
1 腕輪型センサノード
6 センサ
10 基板
11 ケース
12 バンド
101 アンテナ
103 クライアント計算機(PC)
250 集計データテーブル
350 睡眠期間データテーブル
450 体動データテーブル
550 臥位遷移確率データテーブル
650 臥位列データテーブル
1150 センシングデータテーブル
【技術分野】
【0001】
本発明は、対象者の睡眠中の臥位を長期的に測定する測定方法、該対象者の睡眠中の臥位情報を出力する出力装置、出力装置の制御方法に関するものである。
【背景技術】
【0002】
睡眠疾患の診断と治療では、対象者の睡眠時における臥位(仰向けやうつ伏せ等、睡眠中の姿勢)を測定することのニーズがある。これは、例えば閉塞性睡眠時無呼吸症候群発症の因子として仰向け姿勢での睡眠が挙げられている(非特許文献1)ように、多くの睡眠疾患の発症や、回復度合いの評価に臥位の測定が有用だからである。
【0003】
また近年では超小型の省電力センサと大容量メモリ技術の発達により、装着者の負担少なく長期的に、睡眠の状態を測定することが可能となってきている。例えば非特許文献2では、腕に装着するリストバンド型3軸加速度センサの値を入力として、睡眠時の姿勢を6つの臥位のクラス(左向き、右向き、仰向け、右斜め上、左斜め上)の中から推定する技術が開示されている。ここでは、学習時には睡眠中の腕の向き(即ち、鉛直方向への重力加速度)と、その時の実際の臥位のクラスを教師データとして蓄積し、推定時にはこの教師データに対してk近傍法を適用することにより、腕の向きに対する最尤クラスを算出している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−59058号公報
【非特許文献】
【0005】
【非特許文献1】Stradling JR, Crosby JH, Predictors and prevalence of obstructive sleep apnoea and snoring in 1001 middle aged men. Thorax 1991; 46:85-90.
【非特許文献2】Laerhoven, K. et al., Characterizing Sleeping Trends from Postures, ISWC 2008
【非特許文献3】S.-W.Lee and K.Mase,「Recognition of Walking Behaviors for Pedestrian Navigation」, Proc. IEEE Conf. Control Applications (CCA01), IEEE Control Systems Soc., Piscataway, N.J., 2001, pp.1152-1155.
【非特許文献4】Cole RJ,Kripke DF, Gruen W, Mullaney DJ, Gillin JC. Automatic sleep/wake identification from wrist activity. Sleep 1992; 15: 491-469.
【非特許文献5】C.Cortes and V.Vapnik, Support-Vector Networks, Machine Learning, 1995; 20(3):273-297
【非特許文献6】Andrew J. Viterbi, Error Bounds for Convolutional Codes and an Asymptotically Optimum Decoding Algorithm, IEEE Transactions on Information Theory, vol.13, pp. 260-269, 1967.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記される手法は人毎の汎用性に欠ける事という課題がある。即ち、対象者自身の教師データで学習したモデルを用いて推定を行うと精度良く推定が行えるが、他人の学習モデルを用いると精度が下がってしまう。
【0007】
これは、特定の臥位に対応した静止時の腕の向きの分布には個人差がある事に由来する。図25(a)は、一人の116日分の睡眠の学習モデルを2軸のマップ状に表現したものである。
【0008】
3軸の加速度センサには絶えず重力加速度がかかるため、静止時の加速度値は、鉛直に対する腕の向きを表すピッチ角(θ)とロール角(φ)として表現する事が出来る。該図は、各腕の向き(θ,φ)に対して上記推定手法を用いることで、最尤臥位を4つのクラス(仰向け、右向き、うつ伏せ、左向き)の中から推定し、色づけを行っている。この臥位マップを参照することで、例えば腕が真っすぐ前に突き出しており、手の甲が空を向いている状態(θ=π/2、φ=0)では、仰向けでいる確率が一番高い事が分かる。
【0009】
一方、図25(b)は、11名の臥位マップを示したものである。これらを見比べると、腕の向きに対応した姿勢は個人差が大きく、個人の学習モデルは精度良く他人に適用できない事が分かる。実際、我々の実験によると、自分自身のモデルを用いた推定では平均精度53%程度が得られるところが、他人の学習モデルを用いると40%程度まで落ちてしまうことが確認された。このように、従来では教師データを用意できない対象者に対しては精度良く睡眠中の姿勢が推定できなかった。
【0010】
本発明は、上記に鑑みてなされたものであって、教師データの無い対象者に対しても精度良く睡眠中の臥位を推定することのできる、人毎の汎用性の高い臥位推定装置の提供を目的とする。
【0011】
本発明では、腕の向きを用いて推定を行うのではなく、体動期間中の動きに着目することで、人毎の汎用性の高い臥位推定を行う。
【0012】
睡眠中の加速度データでは、加速度値に殆ど変化の無い「静止期間」と、対象者の寝返り等の動きによって生じる「体動期間」が交互に出現する。図26では、3軸加速度が静止期間中は一定の値を保っており、体動期間中に変化を示し、再び静止期間に入る様子が示されている。
【0013】
本発明者は研究の結果、この体動期間の動きの量や方向等の特徴は、臥位間の遷移、つまりどの臥位からどの臥位へ遷移したかを、人毎の汎用性高く予測できる事を発見した(他人のモデルを用いた場合、従来技術:40%、本技術:48%)。これは、腕の向きが年齢、性別、寝具等の様々な環境に影響されるのに対し、寝返り中の動き方は万人に共通する特徴を持つからである。更なる効果として、他人のモデルではなく対象者自身のモデルを用いた場合には、上記手法よりも精度が向上する事を発見した。
【課題を解決するための手段】
【0014】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、「人間に装着されるセンサとネットワークを介して接続して用いられ、前記人間の睡眠時の姿勢を推定する臥位推定装置であって、前記センサが取得したセンシングデータを受信する受信部と、前記センシングデータから前記人間の体動期間を検出して、前記体動期間における体動の特徴ベクトルを算出する特徴量算出部と、前記検出された複数の体動期間の各々について、前記特徴量に基づいて、予め定めた複数の臥位の一から、前記複数の臥位の一への変化または無変化である遷移確率を算出する臥位遷移確率算出部と、前記体動期間の各々の遷移確率として定義されるマルコフモデルに基づいて最尤状態列を算出する臥位列算出部と、を備える事を特徴とする臥位推定装置」によって課題は解決される。
【発明の効果】
【0015】
本発明によれば、睡眠中の加速度データから臥位をより精度良く推定することができる。
【図面の簡単な説明】
【0016】
【図1】第1の実施形態のシステム全体の構成図の例である。
【図2】腕時計型センサノードの一例を示す図で、(a)は腕時計型センサノード1の正面から見た概略図、(b)は腕時計型センサノードを側面から見た断面図である。
【図3】腕時計型センサノードの基盤に取り付けられた電子回路のブロック図の例である。
【図4】睡眠臥位推定システムの構成要素を示すブロック図の例である。
【図5】睡眠臥位推定システムで行われるデータ処理の全体的な流れを示す図である。
【図6】データ集計プログラムの実行による処理の一例を示すフローチャートである。
【図7】加速度と時間の関係を示すグラフで、ゼロクロス回数の判定の一例である。
【図8】単位時間毎の運動頻度を時系列的にソートしたグラフの例である。
【図9】所定時間間隔毎の集計データフォーマットの一例である。
【図10】睡眠期間抽出プログラムの実行による処理の一例を示すフローチャートである。
【図11】睡眠期間データのフォーマットの一例である。
【図12】体動検出プログラムの実行による処理の一例を示すフローチャートである。
【図13】体動検出データのフォーマットの一例である。
【図14】臥位遷移確率算出プログラムの実行による処理の一例を示すフローチャートである。
【図15】臥位遷移確率データのフォーマットの一例である。
【図16】臥位列算出プログラムの実行による処理の一例を示すフローチャートである。
【図17】臥位列算出プログラムにおいて構築されるマルコフモデルの例を示す図である。
【図18】臥位列データのフォーマットの一例である。
【図19】睡眠臥位推定システムの睡眠表示画面の画面構成の一例である。
【図20】仰向けの割合平均と年齢の関係性を示すグラフである。
【図21】第1の実施形態における仰向けで寝ている人の例を示す図である。
【図22】第1の実施形態におけるうつ伏せで寝ている人の例を示す図である。
【図23】第1の実施形態における右向きで寝ている人の例を示す図である。
【図24】第1の実施形態における左向きで寝ている人の例を示す図である。
【図25】腕の向きに対する最尤臥位マップを、(a)一人の人について表示、(b)11人の人について表示した図である。
【図26】睡眠中の加速度データが静止期間と体動期間に分割されることを示す図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施の形態を、図面に基づき説明する。
【実施例1】
【0018】
本発明を適用する第1の実施例として、人(利用者)に装着したセンサによって加速度データを測定し、睡眠中の臥位を「仰向け」「右向き」「左向き」「うつ伏せ」の4種のうちから推定し、利用者に提示する睡眠臥位推定システムを示す。本実施形態の説明における、各臥位の名称の示す姿勢を図面にて説明する。仰向け(Supine)とは図21に示すように、体の背部が鉛直方向に対して45度以下の角度の状態と定義する。うつ伏せ(Prone)とは図22に示すように、体の腹部が鉛直方向に対して-45度以上、45度未満の角度の状態と定義する。右向き(Right Lateral)とは図23に示すように体の右側面が鉛直方向に対して45度未満の角度の状態と定義する。左向き(Left Lateral)とは図24に示すように体の左側面が鉛直方向に対して45度未満の角度の状態と定義する。
【0019】
図1は、本発明を適用する睡眠臥位推定システムの構成の一例を示す全体図である。本実施例の睡眠臥位推定システムは、当該システムの利用者の動作(または状態)を検出するセンサとして、加速度センサを備えた腕輪型センサノード1を用い、生体情報として腕の加速度を検出する例を示す。腕輪型センサノード1は、利用者(または参加者)の腕に装着されて加速度を検出し、所定の周期で検出した加速度データをセンシングデータとして、アンテナ101を介して基地局102へ無線送信し、クライアント計算機(PC)103へ送信する。また、有線通信が可能な場合はUSB接続などを介して直接PC103へ送信する。無線、有線を問わず、リアルタイムで送る方法のほか、センサノードに蓄積したデータを一定周期毎に送信する方法でもよい。
【0020】
図1において、PC103は複数の腕輪型センサノード1と通信を行い、各腕輪型センサノード1から利用者の動きに応じたセンシングデータを受信し、受信したセンシングデータを解析し、表示データを出力する。出力される表示データは利用者が操作するクライアント計算機(PC)103で閲覧することができる。
【0021】
図2は、本実施例の生活可視化システムを構成する腕輪型センサノード1の一例を示す図で、図2(a)は腕輪型センサノード1の正面から見た概略図で、図2(b)は腕輪型センサノード1を側方から見た断面図である。この腕輪型センサノード1は主に利用者の動きを測定する。
【0022】
腕輪型センサノード1は、センサや制御装置を格納するケース11と、ケース11を人体の腕に装着するバンド12を備える。
【0023】
ケース11の内部には、図2(b)のように図示しないマイクロコンピュータやセンサ6等を備えた基板10が格納される。そして、人体(生体)の動きを測定するセンサ6としては、図中X−Y−Zの3軸の加速度をそれぞれ測定する加速度センサを採用した例を示す。なお、腕輪型センサノード1には図示しない温度センサ、脈拍センサを備え、利用者の体温、脈拍を測定し、加速度とともにセンシングデータとして出力してもよい。また、腕輪型センサノード1が図示しない感圧センサや静電容量センサを備え、利用者が腕時計型センサノード1を装着しているか否かを装着状態として出力しても良い。
【0024】
図3は、腕輪型センサノード1の基板10に取り付けられた電子回路のブロック図を示す。図3において、基板10には、基地局102と通信を行うアンテナ5を備えた無線通信部(RF)2と、PC103と有線接続するUSB通信部39と、加速度センサであるセンサ6及び無線通信部2を制御するマイクロコンピュータ3と、マイクロコンピュータ3を間欠的に起動するためのタイマとして機能するリアルタイムクロック(RTC)4と、各部に電力を供給する電池7と、センサ6への電力の供給を制御するスイッチ8が配置される。また、スイッチ8とセンサ6の間には、バイパスコンデンサC1が接続されてノイズの除去や、充放電の速度を低減して無駄な電力消費を防ぐ。
【0025】
マイクロコンピュータ3は、演算処理を実行するCPU34と、CPU34で実行するプログラムなどを格納するROM33と、データなどを格納するRAM32と、RTC4からの信号(タイマ割り込み)に基づいてCPU34に割り込みをかける割り込み制御部35と、センサ6から出力されたアナログ信号をデジタル信号に変換するA/Dコンバータ31と、無線通信部2との間でシリアル信号にて信号の送受を行うシリアルコミュニケーションインターフェース(SCI)36と、無線通信部2及びUSB通信部39とスイッチ8を制御するパラレルインターフェース(PIO)37と、マイクロコンピュータ3内の上記各部へクロックを供給する発振部(OSC)30とを含んで構成される。そして、マイクロコンピュータ3内の上記各部はシステムバス38を介して接続される。RTC4は、マイクロコンピュータ3の割り込み制御部35に予め設定されている所定の周期で割り込み信号(タイマ割り込み)を出力し、また、SCI36へ基準クロックを出力する。PIO37はCPU34からの指令に応じてスイッチ8のON/OFFを制御し、センサ6への電力供給を制御する。
【0026】
腕輪型センサノード1は、所定の周期(例えば、1秒等)でマイクロコンピュータ3を起動して、センサ6からセンシングデータを取得し、取得したセンシングデータに腕輪型センサノード1を特定する識別子とタイムスタンプを付与して基地局102へ送信する。なお、腕輪型センサノード1の制御の詳細は、例えば、特許文献1等と同様にすることができる。
【0027】
図4は、図1に示した本発明を適用する睡眠臥位推定システムの各構成要素を示すブロック図である。腕輪型センサノード1が送信したセンシングデータは、基地局102を介してクライアント(PC)103の記録装置1100のセンシングデータテーブル1150に蓄積される。もしくは図示しない有線通信を介して直接PC103と通信してもよい。
PC103は、各種情報を表示する表示装置1031と利用者の操作によって様々な情報の入力を可能とする入力装置1032を具備する。
【0028】
表示装置1031は液晶ディスプレイやCRTディスプレイ等の表示端末のほか、プリンタや画像ファイル出力でも良い。入力装置1032はキーボード、マウス等の入力用機器である。また、表示装置1031と入力装置1032はタッチパネル式ディスプレイのような、両方の機能を備える単体の機器でも良い。またPC103は、プロセッサ107と、メモリ108及び記録装置1100を備える。記録装置1100は、後述する各種プログラム、各種データテーブルを記録するものであり、例えば、ハードディスクドライブやCDーROMドライブ、フラッシュメモリなどである。なお、複数の記録装置に各種プログラム、各種データテーブルを分割して記録するようにしてもよい。
【0029】
プロセッサ107は、記録装置1100に記録されている各種プログラムをメモリ108に読み出して実行することにより各種機能を実現する。具体的には、データ集計プログラム200を実行することにより、利用者の腕の加速度センサで測定されたセンシングデータを集計し、単位時間(例えば、1分間)毎の集計値を算出し、記録装置1100の集計データテーブル250に格納する。また、睡眠期間抽出プログラム300を実行することにより、算出した単位時間毎の集計値を解析し、全ての睡眠期間を検出し、記録装置1100の睡眠期間データテーブル350に格納する。また体動検出プログラム400を実行することにより、検出した睡眠期間から体動期間を検出し、更に該体動の特徴ベクトルを算出し、記録装置1100の体動データテーブル450に格納する。また、臥位遷移確率算出プログラム500を実行することにより、図示しない臥位遷移モデルを用いた認識処理を、前記検出した各体動期間に対して適用することにより、該体動が各臥位の一から各臥位の別の一への遷移であった確率、すなわち臥位遷移確率を算出し、記録装置1100の臥位遷移確率データテーブル550に格納する。また臥位列算出プログラム600では前記該遷移確率を遷移確率として構築したマルコフモデルの最尤状態列を算出することにより該睡眠の最尤臥位列を算出し、臥位列データテーブルに格納する。
【0030】
なお、以下では、PC103が、データ集計プログラム200と睡眠期間抽出プログラム300と体動検出プログラム400と臥位遷移確率算出プログラム500臥位列算出プログラム600を定期的な周期、もしくは腕時計型センサノード1との通信を起因として実行し、更に入力装置1032の操作、もしくはPC103の起動を起因として表示装置1031に表示データを提示する例を示す。
【0031】
図5は、本発明を適用する生活可視化システムで行われるデータ処理の全体的な流れを示すフローチャート図である。
【0032】
まず、ステップS1では、腕輪型センサノード1が送信したセンシングデータを基地局102がPC103へ転送し、PC103のセンシングデータテーブル1150にセンシングデータを蓄積する。また、センシングデータに付与されている、センサノードを特定するための識別子と当該センシングデータを取得した時刻を示す時刻情報もセンシングデータテーブルに蓄積する。さらに、入力装置1032の操作を起因としてPC103がデータ集計プログラム200を実行して、記録装置1100に蓄積されたセンシングデータから単位時間毎の運動頻度を算出し、記録装置1100の集計データテーブル250に格納する。なお、データ集計プログラム200を所定の周期(例えば、5分間)毎に実行しても良いし、腕輪型センサノード1との通信開始や終了を起因として実行しても良い。
【0033】
次に、ステップS2では、PC103は睡眠期間抽出プログラム300を実行して、集計データテーブル250に格納された集計データから利用者が睡眠状態にあると推定される領域を検出し、全ての睡眠領域の開始時刻と終了時刻を組みとして睡眠分析データテーブル350に格納する。また、一日の最大の睡眠期間である主睡眠を検出し、上記格納した睡眠領域のうち主睡眠であるものに対して主睡眠タグを付加して睡眠分析データテーブル350に格納する。なお睡眠期間抽出プログラム300を所定の周期(例えば、5分間)毎に実行しても良いし、データ集計プログラム200の終了を起因として実行しても良い。
【0034】
次に、ステップS3では、体動検出プログラム400を実行して、前ステップで検出した各睡眠期間から動きの量が閾値を超えた期間を体動期間として抽出し、これら各体動期間に対して継続時間や動きの量など、ステップS3の詳細説明にて後述する体動特徴量を算出し、体動データテーブル450に格納する。なお体動検出プログラム400を所定の周期(例えば、5分間)ごとに実行しても良いし、睡眠期間抽出プログラム300の終了を起因として実行しても良い。
【0035】
次に、ステップS4では、臥位遷移確率算出プログラム500を実行して、前ステップで算出した各体動期間の体動特徴ベクトルに対して、例えばサポートベクトルマシン(SVM)、k近傍法(KNN)等の認識方式の適用により構築した臥位遷移モデルを用いて、臥位遷移確率、すなわちこの体動が各臥位から各臥位への遷移であった確率を全ての臥位の組み合わせに関して(すなわち16個)算出し、臥位遷移確率データテーブル550に格納する。なお臥位遷移確率算出プログラム500を所定の周期(例えば、5分間)ごとに実行しても良いし、体動検出プログラム400の終了を起因としても良い。
【0036】
次に、ステップS5では、臥位列算出プログラム600を実行して、ステップS2で算出した各睡眠期間から、ステップS3で算出した各体動期間の取りえる各臥位を単一の内部状態として持ち、ステップS4で算出した各体動期間の臥位遷移確率を内部状態間の遷移確率として用いることで表わされるマルコフモデルを構築し、例えばViterbiアルゴリズムの適用により最尤状態列を算出し、これを該睡眠期間の最尤臥位列として臥位列データテーブル650に格納する。なお臥位列算出プログラム600を所定の周期(例えば、5分間)ごとに実行しても良いし、臥位遷移確率算出プログラム500の終了を起因としても良い。
【0037】
次に、ステップS6では、臥位列データテーブル650に格納された最尤臥位列をクライアント計算機103の表示部1031に提示する。
【0038】
図6は,PC103のデータ集計プログラム200で行われる処理の一例を示すフローチャートである。まず,利用者の識別子に対応するセンシングデータをセンシングデータテーブル1150から読み込む(ステップS11)。ここで利用者の識別子は、例えば基地局102と通信している腕時計型センサノード1から取得しても良いし、入力装置102で利用者により指定された識別子でもよいし、図示しない利用者識別子テーブルから選択した任意の識別子でも良い。ここで読み込むセンシングデータの量は,センシングデータの集計周期である所定の周期(例えば,5分間)、あるいは過去のデータ集計プログラム200の実行によって既に格納されている最後の集計時刻以降全て、等に設定すればよい。
【0039】
次に,読み込んだセンシングデータの加速度データについて所定の時間間隔(例えば、1分)毎の集計値を算出する。本実施形態では、所定の時間間隔内での腕輪型センサノード1の装着者(利用者)の運動の頻度を示すゼロクロス回数を集計値として用いる。
【0040】
腕輪型センサノード1が検出したセンシングデータにはX,Y、Z軸の加速度データが含まれているので、X、Y、Zの3軸の加速度のスカラー量=√(X^2+Y^2+Z^2)を算出し(ステップS12)、求めたスカラー量をフィルタ(バンドパスフィルタ)処理することで所定の周波数帯域(例えば、0.1Hz〜5Hz)のみを抽出しノイズ成分を除去する(ステップS13)。そして、図7に示すように求めたスカラー量が所定の閾値(例えば、0.05G)を通過する値をゼロクロス回数として算出し、ゼロクロス回数が所定時間間隔内に出現する頻度を算出し、この出現頻度を、所定の時間間隔(1分間)の運動頻度として出力する(ステップS14)。この運動頻度の算出結果は図8で示すように単位時間毎の運動頻度を時系列的にソートしたデータとなる。なお、運動頻度は、X、Y、Zの各方向の加速度の値が正と負に振動した回数(振動数)を各方向の所定時間内に数えて合計するなど他の方法でもよいが、本実施例では、計算を簡略化することができるため、ゼロクロス回数を算出する方法を採用している。
【0041】
また、所定の時間間隔内のX、Y、Z3軸加速度のスカラー値の積算値をゼロクロス回数とスカラー量から求めて、この積分値を運動強度とする(ステップS15)。またセンシングデータに含まれる温度についても所定の時間間隔内の平均温度を求める(ステップS16)。
【0042】
さらに、所定時間間隔内に出現する歩行のステップ数を歩行数として出力する(ステップS17)。ここで、歩行を検知する手法は,上下方向の加速度が周期的に変化する(一歩ごとの着地)、前後方向の加速度が上下方向の加速度と同期して規則的に前方向と後ろ方向を繰り返す(着地するごとの速度変化)、左右方向の加速度が上下方向の加速度に同期して規則的に繰り返す(一歩ごとの体の左右へのゆれ)、といった波形が観測でき、さらに腕の振りが重なった波形として観測できるので、これらにより、該当する時間間隔内に歩行状態であるか否かを判定できる。また、ゼロクロスの周期の逆数を歩数として検知することも可能である。これらの人体に装着した加速度センサから歩行状態を検知する手法、及びステップ数を算出する手法は、公知の手法を用いれば良く、例えば、「腕に装着した加速度・角速度センサを用いた人間の歩行・走行運動の解析」(非特許文献3)などが知られている。
【0043】
さらに、所定時間間隔内のデータの状態を表すフラグを算出する(ステップS18)。まず、所定時間間隔内に存在するデータのうち、有効なデータ(即ち、所定の範囲内のX,Y,Zの3軸のデータが欠損値以外の値として存在するもの)の割合が所定の閾値より少ない場合、該時間間隔を欠損データとして確定する。また腕時計型センサノード1が装着状態を出力する場合、該時間間隔が欠損でなく所定時間間隔内に存在するデータのうち装着中である割合が所定の閾値より少ない場合、該時間間隔を非装着データとして確定する。以上により、該時間間隔のデータの状態のフラグを「データ有り」「欠損値」「非装着」のうち一つに決定する。
【0044】
データ集計プログラム200の実行は、所定の時間間隔毎に、運動頻度、平均温度、運動強度、歩行数、欠損を求め、図9に示すように、所定の時間間隔毎の集計データを生成し、記録装置1100の集計データテーブル250へ蓄積する(ステップS19)。
【0045】
図9は、集計データテーブル250のフォーマットを示す説明図で、腕輪型センサノード1の装着者(生活パターン分類システムの利用者)の識別子を格納するユーザID251と、センシングデータに含まれる腕輪型センサノード1の識別子を格納するセンサデータID252と、所定の時間間隔の開始時刻(測定日時)を格納する測定日時253と、データ集計プログラム200の実行により演算した平均温度を格納する温度254と、データ集計プログラム200の実行により演算した運動頻度を格納する運動頻度255と、データ集計プログラム200の実行により求めた運動強度を格納する運動強度256と、データ集計プログラム200の実行により求めた歩行のステップ数を格納する歩行数257と、データ集計プログラム200の実行により求めたデータの状態フラグを格納するフラグ258からひとつのエントリを構成する。なお、利用者の識別子は、腕輪型センサノード1の識別子に基づいて予め設定した図示しないテーブルから参照すればよい。 図10は,PC103の睡眠期間抽出プログラム300で行われる処理の一例を示すフローチャートである。まず,データ集計プログラム200の実行により集計した単位時間集計データを集計データテーブル250から読み込む(ステップS21)。ここで,読み込む集計データの量は,例えば過去の睡眠分析プログラム300の実行によって既に格納されている最後の睡眠期間の終了時刻以降全て、等に設定すればよい。
【0046】
次に,ステップS22では,睡眠分析プログラム300の実行により読み込んだ集計データから睡眠状態であると推定される期間群を検出する。睡眠中の運動頻度は極めて低いが、睡眠中でも人体は寝返りなどの運動を行うため、運動頻度はゼロにはならない。睡眠を判定する手法はいくつか知られており、例えば、Cole法(非特許文献4)などを適用すればよい。このような手法により検出された各期間の開始時刻と終了時刻を睡眠期間の候補群として、図示しない一時ストレージ等に保持する。また、利用者がセンサノードを装着していない場合は運動頻度がゼロに近くなり、睡眠として判定されてしまう場合もあるが、例えば腕時計型センサノードが非装着判定手段を備えている場合は睡眠として判定せず、さらに単位時間集計データテーブル250を読み込む際にフラグ258が非装着を示すデータは運動頻度が高いデータと同等に扱うことによっても、これを防ぐことが可能である。
【0047】
次に、ステップS23では、睡眠期間の候補の中で近接するもの同士を結合する。睡眠検出の手法によっては、例えば目覚まし時計を止めるために一時的に起床し、再び睡眠に入った場合でも一時的に起きた時刻で睡眠期間候補が区切れてしまう。しかし、生理活動としての睡眠は確かにそこで区切れているが、生活行動としての睡眠を考える場合そこで区切れることは望ましくない。そのため、睡眠期間候補の終了後、所定時間(例えば30分)以内に次の睡眠領域候補が開始している場合、二つの睡眠期間候補を結合し、一つの大きな睡眠期間として扱う。このようにして睡眠期間候補群の中で結合できるものを探索し、結合する。
【0048】
次に、ステップS24では、睡眠期間の候補として不適合であるものを排除する。一例としてあげる方法においては、まず継続時間が所定時間(例えば10分)以下の睡眠期間は排除する。候補群の中の最後の睡眠期間候補の終了時刻がもし睡眠分析プログラム300の実行により読み込んだ集計データの最新測定時刻から所定時間(例えば30分)以内である場合、次回の睡眠分析プログラム300の実行で新しく候補に挙がる睡眠期間と結合される可能性があるため、これも排除する。以上のように処理した睡眠期間候補群を睡眠期間群として確定する。
【0049】
次に、ステップS25では、ステップS24で確定した睡眠期間群の中から、主睡眠を抽出し、睡眠の種類を「主睡眠」として確定し、それ以外の睡眠期間を「うたた寝」として確定する。まず各睡眠期間の所属するカレンダー日を算出する。これは、睡眠領域の終了時刻が所定時刻、例えば0時から20時までであるならば同日、20時から24時までであるならば次の日に所属するものとする。例えば7月23日の16時半に開始し20時半に終了する睡眠領域は、7月24日に属する。こうして算出したカレンダー日の最古のカレンダー日から最新のカレンダー日まで、各カレンダー日において最長の所属睡眠領域を導き、これらをそのカレンダー日の「主睡眠」として確定する。以上で算出して主睡眠以外の睡眠の種類を「うたた寝」として確定する。
【0050】
最後に、ステップS26では、確定した睡眠期間群を図11に示すように、記録装置1100の睡眠分析データテーブル350に蓄積する。この時、各睡眠期間に睡眠分析データテーブル350内で一意となるような識別子、睡眠IDを割り当てる。これは例えば最後に割り当てられた睡眠IDに1を足した値を利用する、等の選び方でよい。
【0051】
図11は、睡眠期間データテーブル350のフォーマットを示す説明図で、腕輪型センサノード1の装着者の識別子を格納するユーザID351と、睡眠の識別子を格納する睡眠ID352と、睡眠期間の開始時刻を格納する開始日時353と、睡眠期間の終了時刻を格納する終了時刻354と、睡眠の種類(主睡眠であるか、うたた寝であるか)を格納する睡眠の種類355からひとつのエントリを構成する。
【0052】
図12は,PC103の体動検出プログラム400で行われる処理の一例を示すフローチャートである。ここでは、睡眠期間抽出プログラム300で算出された睡眠期間のうち、未だ体動検出プログラムの実行の対象となっていない睡眠期間を全て、もしくは所定の数を選択し、各睡眠期間に対して順番にステップS31〜S35の処理を行う。
【0053】
ステップS31では処理対象となっている睡眠期間の生成の元となっているセンサIDの、開始時刻から終了時刻までの期間のセンサデータを取得し、図示しない一時ストレージ等に保存する。
【0054】
次に、ステップS32では該睡眠期間の中から体動が検出された期間を体動期間として抽出する。ここでは、各所定の単位時間毎の時刻(例えば50ミリ秒)において、過去所定の時間(例えば0.1秒)以内におけるxの値、yの値、zの値の標準偏差をそれぞれ算出し、それらのどれかが所定の閾値(例えば0.06G)以上であった場合に、該サンプル時刻は体動中と確定し、該単位時刻が睡眠期間の開始時刻であるか、過去所定の時間(例えば1秒)以内に体動として確定された時刻がなかった場合は、新たな体動期間の開始時刻として確定し、過去前記所定の時間以内に体動期間があった場合は、該体動期間の終了時刻を該時刻に更新する。このようにして生成された体動期間群を、この睡眠期間の体動期間群として図示しない一時ストレージ等に保持する。
【0055】
次に、ステップS33では前記生成した各体動期間に対して特徴量群を算出する。ここで算出する特徴量としては、体動の動き方に関する種々の量を用いる事が出来る。その一例は体動期間の動きの量に関する特徴量群である。例えば前述したゼロクロス値を該体動期間に対して算出し、この値を特徴量として用いる事が出来る。これらの特徴量は、この体動が寝返りか否か(つまり臥位の変化があったのか、腕が動いただけなのか)の区別のために有用であることを我々は実験の結果、発見した。
【0056】
別の一例では、体動期間の動きの強さに関する特徴量群を用いる。例えば、前述した運動強度を該体動期間に対して算出し、この値を特徴量として用いる事が出来る。これらの特徴量は、この体動が反転か否か(つまり、元々仰向けならば仰向けからうつ伏せに一気に寝返ったか否か)を判定するために有用であることを我々は発見した。
【0057】
別の一例では、体動の移動方向に関する特徴量群を用いる。例えば加速度センサには+の方向と-の方向があるが、各3軸の加速度センサの、+の方向への加速度の積算量と、-の方向への加速度の積算量を別々の特徴量として用いる事が出来る。これらの特徴量は、寝返りの方向(つまり、元々仰向けならば仰向けから右向きに寝返ったのか、左向きに寝返ったのか)を判定するために有用であることを我々は発見した。
【0058】
別の一例では、腕の向きに関する特徴量群を用いる。例えば体動開始時や終了時の腕の向きを表すピッチ角(θ)とロール角(φ)を特徴量として用いる事が出来る。これらの特徴量は、この体動の元々の臥位、体動後の臥位に関するヒントを得るために有用であること我々は発見した。これにより、体動開始前及び体動終了後の定常状態におけるセンサの状態を用いてより体動の推定確率を向上させることができる効果がある。
【0059】
以上の説明で挙げた特徴量群は例であり、例えば各特徴量を体動期間の継続時間で正規化した特徴量群や、体動開始後所定時間以内の範囲について算出することで算出する特徴量群等を用いることで、より精度が向上することを確認している。
【0060】
最後に、ステップS34では、算出した各体動期間群を図13に示すように、記録装置1100の体動データテーブル450に蓄積する。この時、各体動期間を識別するために、該体動期間の属する睡眠期間における体動期間の出現順を体動Noとして保管する。
【0061】
図13は、体動データテーブル450のフォーマットを示す説明図で、体動期間の属する睡眠期間の識別子を格納する睡眠ID451と、睡眠期間における体動期間の出現順を格納する体動No452と、体動期間の開始時刻を格納する開始日時453と、体動期間の終了時刻を格納する終了日時454と、体動の特徴量ベクトルを格納する特徴量ベクトル455からひとつのエントリを構成する。
【0062】
図14は,PC103の臥位遷移確率算出プログラム500で行われる処理の一例を示すフローチャートである。ここでは、体動検出プログラム400で算出された体動期間のうち、未だ臥位遷移確率算出プログラムの実行の対象となっていない体動期間を全て、もしくは所定の数を選択し、各体動期間に対して順番にステップS41〜S43の処理を行う。
【0063】
ステップS41では処理対象となっている体動期間に対して体動検出プログラム400により算出された体動特徴量ベクトルを取得する。
【0064】
次に、ステップS42では前ステップで取得した体動特徴量ベクトルから、臥位遷移モデルに基づいて、該体動の各臥位から各臥位への遷移確率を推定する。ここで推定する方法としては、例えばサポートベクトルマシン(SVM; Support Vector Machine)等の認識器を用いることができる。ここでは、図示しないテーブルに蓄積された学習データ群、すなわち体動特徴量ベクトルとその体動が表わす実際の臥位の遷移(例えば、「仰向け→右向き」など)を用いて、既知の手法(非特許文献5)を適用することで、体動特徴量ベクトルと臥位遷移の関係を表す臥位遷移モデルを構築し、該体動特徴量ベクトルに対して該臥位遷移モデルを適用することで、各臥位から各臥位への遷移確率(すなわち、4臥位×4臥位の計16個の確率)を臥位遷移確率ベクトルとして算出する。ここで、前述の学習データ群とは、例えば事前に体動特徴量ベクトルに対する実際の臥位遷移を人間の目によりタグ付けしたものを用いても良い。また腕の加速度データと同時に該対象者の腹部の鉛直に対する向きを図示しない別の加速度センサを用いて測定し、腹部の鉛直に対する向きから体動前後の臥位を導出したものを用いても良い。
【0065】
最後に、ステップS43では、前記算出した臥位遷移確率ベクトルを図15に示すように、記録装置1100の臥位遷移確率データテーブル550に蓄積する。
【0066】
図15は、臥位遷移確率データテーブル550のフォーマットを示す説明図で、体動期間の属する睡眠期間の識別子を格納する睡眠ID551と、睡眠期間における体動期間の出現順を格納する体動No552と、体動の臥位遷移確率ベクトルを格納する臥位遷移確率ベクトル554からひとつのエントリを構成する。
【0067】
図16は,PC103の臥位列算出プログラム600で行われる処理の一例を示すフローチャートである。ここでは、体動検出プログラム400で処理された睡眠期間のうち、未だ臥位列算出プログラム600の実行の対象となっていない睡眠期間を全て、もしくは所定の数を選択し、各睡眠期間に対して順番にステップS51〜S54の処理を行う。
【0068】
ステップS51では、該睡眠期間に含まれる全ての体動期間の臥位遷移確率ベクトルを臥位遷移確率データテーブル550から取得する。
【0069】
ステップS52では、前記取得した臥位遷移確率を遷移確率として持つ隠れマルコフモデル(HMM; Hidden Markov Model)を図示しない一時ストレージ上に構築する。
【0070】
図17は、上記一時ストレージ上に構築されるマルコフモデルの一例を示す説明図で、対象となる睡眠期間にT個の静止期間(0, …, T-1)があり、4種類の臥位、S(Supine;仰向け)、P(Prone;うつ伏せ)、R(Right;右向き)、L(Left;左向き)を推定する場合を示している。ここで構築されるモデルは、静止期間tにおいて臥位pである状態を表す(4*T)個の状態St,pと、体動期間tから算出した、状態St,pから状態St+1,qへの遷移確率P(St+1=q|St=p)で構成される一次マルコフモデルである。ここで遷移確率P(St+1=q|St=p)とは、ステップS42で算出した体動期間tの臥位遷移確率ベクトルの各項目である。
【0071】
ステップS53では、前記構築したマルコフモデルに対してViterbiアルゴリズムを適用することで、最尤状態列を算出することで、該睡眠期間の最尤臥位列を取得する。
【0072】
Viterbiアルゴリズムは、一次マルコフモデルにおける最尤状態列を効率よく算出手法であり、これの適用により状態列尤度P(S0,S1,.., ST-1)が最大化される状態列<s0,s1,..,sT-1>が算出される(非特許文献6)。
【0073】
また、Viterbiアルゴリズムの適用においては、最初の状態である状態S0の事前確率P(S0) (つまり、寝入りに各臥位で始まる確率)や、最後の状態ST-1の事前確率P(ST-1)(つまり、寝起き時に各臥位で終わる確率)を組み込むこともできるが、例えば学習データから寝入り時と寝起き時の各臥位の割合を算出してこの事前確率として用いても良いし、利用者は寝入り時、寝起き時の自分の姿勢だけは覚えている事が期待できるため、図示しないプログラムに対する入力装置1032の操作により、利用者が各睡眠に対して記憶している寝入り時、寝起き時の臥位の入力を受けて、ここで入力された臥位に対して所定の重みづけをおこなうことで、より精度を高めることができる。また各睡眠に対しての入力を受けずとも、図示しないプログラムを通じて「あなたは普段どの姿勢から寝ていますか?」「どの姿勢から起きていますか?」などの質問に対する応答を入力装置1032を通じて入力し、入力された臥位に対して所定の重みづけを行うことで生成した各臥位の寝入り時、寝起き時の事前確率を、図示しないテーブルに保管し、推定時にこれを用いても良い。
【0074】
上記のようにしてステップS53では、Viterbiアルゴリズムの結果として各静止期間tに対する最も尤度の高い臥位stが割り当てられた、最尤臥位列<s0,..,sT-1>が算出される。
【0075】
ステップS54では、前記取得した最尤臥位列を図18に示すように、記録装置1100の臥位列データテーブル650に蓄積する。
【0076】
図18は、臥位列データテーブル650のフォーマットを示す説明図で、静止期間の属する睡眠期間の識別子を格納する睡眠ID651と、睡眠期間における静止期間の出現順を格納する静止No652と、静止期間に対して割り当てられた最尤臥位を格納する臥位653からひとつのエントリを構成する。
【0077】
図19は、クライアント計算機であるPC103の表示部1031に表示される睡眠表示画面1200の画面イメージである。PC103は、入力装置1032を介した利用者からの表示要求を受け付けて、睡眠表示画面1200を表示させる。なお、PC103で稼動するアプリケーションとしては、ブラウザを採用しても良いし、単独で稼働するアプリケーションが直接睡眠表示画面1200を表示しても良い
睡眠表示画面1200はその日の主睡眠に関する情報を利用者に提示する画面の一例である。これは、その日の睡眠が各臥位で占められていた時間の割合を示す、臥位占有率グラフ1201と、その日の臥位の推移を示す臥位推移グラフ1202と、表示されている日付を操作する日付操作コントロール1203と、臥位の推移から算出した睡眠年齢指標1204と、臥位の特徴から利用者に対して健康上の注意を促す注意ボックス1205から構成される。
【0078】
臥位占有率グラフ1201は、その日の主睡眠において各臥位で占められていた時間の割合を示すグラフであり、この利用者の過去1週間平均との比較を示したり、他の全利用者の過去一週間平均を同時に示すことにより、今日の睡眠において各臥位が多かったのか少なかったのかを利用者にとって把握しやすくする効果がある。このような画面を見ることにより、例えば枕を新しくした利用者が、新しい寝具が自分の睡眠にどのような影響を及ぼしたか効果を確認する事が出来る。
【0079】
臥位推移グラフ1202は、推定された臥位を時系列に並べたものであり、臥位の違いを図示したように色の違いで示しても良いし、各臥位で寝ているアバター等を付記しても良い。
【0080】
日付操作コントロール1203は、現在画面上に表示されている日を示すためのコントロールであり、また左右のボタンへの押下により前後の日が選択されるようにしても良い。
【0081】
睡眠年齢指標1204は、臥位から算出した睡眠年齢指標を示すための領域である。我々は研究により、睡眠中の仰向けの割合と年齢には有意の相関があることを発見した。(図20)そのため、各睡眠の仰向け割合(睡眠中を仰向けが占める割合)を算出し、仰向け割合と年齢の関係式: 年齢=-111.64*青置向け割合+127.3 から、今日の睡眠が何歳相当の人の睡眠であったかを表す「睡眠年齢指標」を算出することができる。これを示すことにより、利用者は自分の睡眠の実態が年齢に適したものであるかどうかを知ることができる。
【0082】
注意ボックス1205は、臥位の特徴から類推できる健康上の注意事項を利用者に対して促す領域である。
【0083】
一つの例としては、睡眠とは歪んだ骨格を正常化する作用があるとされているが、片一方での臥位での睡眠が多いことは骨格形成上良くない事が容易に想像できる。そのため、睡眠中の右向きの割合と左向きの割合を比較し、どちらかの割合が高すぎるときは(例えば、右向きの割合をr、左向きの割合をlとして、2|r-l|/(r+l)が0.5以上の日が7日間以上続く、などの場合)、「左右バランスが悪いようです。寝具を見直してください」などのコメントを利用者に対して提示することにより、悪い睡眠の姿勢が健康状態の悪化を起こす事を未然に防ぐ事が出来る。
【0084】
また別の例としては、上記睡眠年齢指標は日々実年齢を中心に変動するものであるが、平均的な変動率から離れた変動が続いた時は(例えば、普段の変動の標準偏差を1σとして、3σ以上の変動が一週間続く、などの一般的な異常検知手法により)、「睡眠年齢が普段より高くなっています。生活パターンを見直してください」などのコメントを利用者に対して提示することにより、利用者の睡眠の異常を事前に検知することができる。
また別の例としては、喉の詰まりを原因とする睡眠時無呼吸(閉塞性睡眠時無呼吸症候群)は、仰向け寝が原因とされていることは前述したが、仰向け寝が極端短かったり(例えば、各仰向けの静止期間の継続時間の平均が、全利用者の中での継続時間平均より有意に少ない、など)、仰向けからの転身が健常者と比べて大きい(仰向けと推定された静止期間の後の体動期間中の活動両が、全利用者の中でのそれと比較して有意に大きい、など)の場合、「睡眠時無呼吸者の特徴があります。専門医に相談してください」などのコメントを表示することにより、睡眠時無呼吸の簡便なスクリーニングを行う事が出来る。
【0085】
なお、上記実施形態では、睡眠臥位推定システムとして利用者(人体)の静止・体動状態を検出するために、利用者の腕に装着される腕輪型センサノード1の加速度センサを用いた例を示したが、人体の運動状態を検知可能な生体情報であればよく、例えば、腕に装着した角速度センサでも良いし、また腕ではなく足に装着されたセンサでも良い。
【0086】
また、上記実施形態では、算出した臥位を睡眠表示画面1200で表示する例を示したが、例えば上記した注意ボックス1205に表示される内容を、利用者に対して図示しない手段で登録された専門医へ、図示しない経路で通知を行うこともできる。
【符号の説明】
【0087】
1 腕輪型センサノード
6 センサ
10 基板
11 ケース
12 バンド
101 アンテナ
103 クライアント計算機(PC)
250 集計データテーブル
350 睡眠期間データテーブル
450 体動データテーブル
550 臥位遷移確率データテーブル
650 臥位列データテーブル
1150 センシングデータテーブル
【特許請求の範囲】
【請求項1】
人間に装着されるセンサとネットワークを介して接続して用いられ、前記人間の睡眠時の姿勢を推定する臥位推定装置であって、
前記センサが取得したセンシングデータを受信する受信部と、
前記センシングデータから前記人間の体動期間を検出して、前記体動期間における体動の特徴ベクトルを算出する特徴量算出部と、
前記検出された複数の体動期間の各々について、前記特徴量に基づいて、予め定めた複数の臥位の一から、前記複数の臥位の一への変化または無変化である遷移確率を算出する臥位遷移確率算出部と、
前記体動期間の各々の遷移確率として定義されるマルコフモデルに基づいて最尤状態列を算出する臥位列算出部と、
を備える事を特徴とする臥位推定装置。
【請求項2】
請求項1に記載の臥位推定装置であって、
前記特徴量算出部は、特徴ベクトルを算出しようとする体動の開始時および終了時における、前記センシングデータから得られる前記人間の体の向きも含んで体動の特徴ベクトルを算出することを特徴とする臥位推定装置。
【請求項3】
請求項1に記載の臥位推定装置であって、
前記センシングデータは、前記人間の腕もしくは脚に装着した加速度センサによって取得される三軸加速度データであることを特徴とする臥位推定装置。
【請求項4】
請求項1に記載の臥位推定装置であって、
前記予め定めた複数の臥位は、仰向け、右向き、左向き、うつぶせの4種類の臥位によって構成される事を特徴とする臥位推定装置。
【請求項5】
請求項1に記載の臥位推定装置であって、
前記臥位列算出部で算出された最尤状態列に基づく臥位変化に基づいて年齢を推定する年齢推定部と、
をさらに備える事を特徴とする臥位推定装置。
【請求項6】
人間に装着されるセンサと、前記人間の睡眠時の姿勢を推定する臥位推定装置からなる臥位推定システムであって、
前記センサは前記臥位推定装置とネットワークを介して接続され、
前記臥位推定装置は、
前記センサが取得したセンシングデータを受信する受信部と、
前記センシングデータから前記人間の体動期間を検出して、前記体動期間における体動の特徴ベクトルを算出する特徴量算出部と、
前記検出された複数の体動期間の各々について、前記特徴量に基づいて、予め定めた複数の臥位の一から、前記複数の臥位の一への変化または無変化である遷移確率を算出する臥位遷移確率算出部と、
前記体動期間の各々の遷移確率として定義されるマルコフモデルに基づいて最尤状態列を算出する臥位列算出部と、
を備える事を特徴とする臥位推定システム。
【請求項7】
請求項6に記載の臥位推定システムであって、
前記特徴量算出部は、特徴ベクトルを算出しようとする体動の開始時および終了時における、前記センシングデータから得られる前記人間の体の向きも含んで体動の特徴ベクトルを算出することを特徴とする臥位推定システム。
【請求項8】
人間に装着されるセンサによって取得したセンシングデータに基づいて、前記人間の睡眠時の姿勢を推定する臥位推定方法であって、
前記センシングデータから前記人間の体動期間を検出して、前記体動期間における体動の特徴ベクトルを算出する特徴量算出ステップと、
前記検出された複数の体動期間の各々について、前記特徴量に基づいて、予め定めた複数の臥位の一から、前記複数の臥位の一への変化または無変化である遷移確率を算出する臥位遷移確率算出ステップと、
前記体動期間の各々の遷移確率として定義されるマルコフモデルに基づいて最尤状態列を算出する臥位列算出ステップと、
を備える事を特徴とする臥位推定方法。
【請求項9】
請求項1に記載の臥位推定方法であって、
前記特徴量算出ステップは、特徴ベクトルを算出しようとする体動の開始時および終了時における、前記センシングデータから得られる前記人間の体の向きも含んで体動の特徴ベクトルを算出することを特徴とする臥位推定方法。
【請求項1】
人間に装着されるセンサとネットワークを介して接続して用いられ、前記人間の睡眠時の姿勢を推定する臥位推定装置であって、
前記センサが取得したセンシングデータを受信する受信部と、
前記センシングデータから前記人間の体動期間を検出して、前記体動期間における体動の特徴ベクトルを算出する特徴量算出部と、
前記検出された複数の体動期間の各々について、前記特徴量に基づいて、予め定めた複数の臥位の一から、前記複数の臥位の一への変化または無変化である遷移確率を算出する臥位遷移確率算出部と、
前記体動期間の各々の遷移確率として定義されるマルコフモデルに基づいて最尤状態列を算出する臥位列算出部と、
を備える事を特徴とする臥位推定装置。
【請求項2】
請求項1に記載の臥位推定装置であって、
前記特徴量算出部は、特徴ベクトルを算出しようとする体動の開始時および終了時における、前記センシングデータから得られる前記人間の体の向きも含んで体動の特徴ベクトルを算出することを特徴とする臥位推定装置。
【請求項3】
請求項1に記載の臥位推定装置であって、
前記センシングデータは、前記人間の腕もしくは脚に装着した加速度センサによって取得される三軸加速度データであることを特徴とする臥位推定装置。
【請求項4】
請求項1に記載の臥位推定装置であって、
前記予め定めた複数の臥位は、仰向け、右向き、左向き、うつぶせの4種類の臥位によって構成される事を特徴とする臥位推定装置。
【請求項5】
請求項1に記載の臥位推定装置であって、
前記臥位列算出部で算出された最尤状態列に基づく臥位変化に基づいて年齢を推定する年齢推定部と、
をさらに備える事を特徴とする臥位推定装置。
【請求項6】
人間に装着されるセンサと、前記人間の睡眠時の姿勢を推定する臥位推定装置からなる臥位推定システムであって、
前記センサは前記臥位推定装置とネットワークを介して接続され、
前記臥位推定装置は、
前記センサが取得したセンシングデータを受信する受信部と、
前記センシングデータから前記人間の体動期間を検出して、前記体動期間における体動の特徴ベクトルを算出する特徴量算出部と、
前記検出された複数の体動期間の各々について、前記特徴量に基づいて、予め定めた複数の臥位の一から、前記複数の臥位の一への変化または無変化である遷移確率を算出する臥位遷移確率算出部と、
前記体動期間の各々の遷移確率として定義されるマルコフモデルに基づいて最尤状態列を算出する臥位列算出部と、
を備える事を特徴とする臥位推定システム。
【請求項7】
請求項6に記載の臥位推定システムであって、
前記特徴量算出部は、特徴ベクトルを算出しようとする体動の開始時および終了時における、前記センシングデータから得られる前記人間の体の向きも含んで体動の特徴ベクトルを算出することを特徴とする臥位推定システム。
【請求項8】
人間に装着されるセンサによって取得したセンシングデータに基づいて、前記人間の睡眠時の姿勢を推定する臥位推定方法であって、
前記センシングデータから前記人間の体動期間を検出して、前記体動期間における体動の特徴ベクトルを算出する特徴量算出ステップと、
前記検出された複数の体動期間の各々について、前記特徴量に基づいて、予め定めた複数の臥位の一から、前記複数の臥位の一への変化または無変化である遷移確率を算出する臥位遷移確率算出ステップと、
前記体動期間の各々の遷移確率として定義されるマルコフモデルに基づいて最尤状態列を算出する臥位列算出ステップと、
を備える事を特徴とする臥位推定方法。
【請求項9】
請求項1に記載の臥位推定方法であって、
前記特徴量算出ステップは、特徴ベクトルを算出しようとする体動の開始時および終了時における、前記センシングデータから得られる前記人間の体の向きも含んで体動の特徴ベクトルを算出することを特徴とする臥位推定方法。
【図3】
【図4】
【図5】
【図6】
【図7】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図18】
【図21】
【図22】
【図23】
【図24】
【図1】
【図2】
【図8】
【図17】
【図19】
【図20】
【図25】
【図26】
【図4】
【図5】
【図6】
【図7】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図18】
【図21】
【図22】
【図23】
【図24】
【図1】
【図2】
【図8】
【図17】
【図19】
【図20】
【図25】
【図26】
【公開番号】特開2012−187162(P2012−187162A)
【公開日】平成24年10月4日(2012.10.4)
【国際特許分類】
【出願番号】特願2011−50974(P2011−50974)
【出願日】平成23年3月9日(2011.3.9)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成24年10月4日(2012.10.4)
【国際特許分類】
【出願日】平成23年3月9日(2011.3.9)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]