音量計測による睡眠時間自動 記録Androidアプリの開発 石川工業高等専門学校 専攻科 1年 発表者 中村竜規 指導教員 越野亮 自動記録 ライフログ ライフログ ... 記録方法 • 定期的にAndroidに搭載されたマイクから 音量を取得 • 取得した音量データから睡眠時間を推定 し、記録 推定方法 • 音量がある閾値を長時間下回ったところ を睡眠時間と推定 緑帯は睡眠中 青線は音量 赤線は閾値 を表す • 横軸:時間[hour] • 縦軸:音量[dB] ヒストグラム 60 データ数 ベース音量VB 40 20 0 -45 -40 -35 音量[dB] -30 -25 -20 • 閾値V はベース音量に余裕値M を加えることで求める • M はマイクの感度で異なる • 複数の端末で動作させた V VB M 20 y = 0.1585e0.0713x 余裕値M [dB] 15 R² = 0.9998 DROID 10 Xperia SO-01B 5 HTC Desire 0 0 10 20 30 40 50 最大音量とベース音量の差VM-VB [dB] 60 70 • 閾値V はベース音量に余裕値M を加えることで求める • M はマイクの感度で異なる • 複数の端末で動作させた M = 0.1585 exp {0.0713(VM-VB)} M:余裕値 VM:最大音量 VB:ベース音量 V VB M • 最終的に閾値V は以下の式とな る V= VB +M 閾値の変化 • 閾値は年中一定とは限らない(環境音) – 夏場に窓を開けたまま睡眠する – 冬場に窓を開けないで睡眠する • 閾値もそれに合わせて変化する必要がある • 異常な閾値が計算される場合がある – 台風など長期間は続かない雑音 現在の閾値と計算値の平均をとって 更新していくことで緩やかに対応 改良 • 音量が閾値を長時間下回ったところを睡 眠と推定 • 睡眠時間はユーザによって異なる • 具体的に何時間以上、閾値を下回ったと ころを睡眠とするか • 最小の睡眠時間を求める必要がある 最小睡眠時間 T T TA TS • 最小睡眠時間T には以下の関係が必要 TS >T >TA • 上記の関係を満足させるため、T は以下の式で求める T=(TS+TA)/2 TSとTAを求める必要がある TS TA • 最終的に睡眠時間を求めようとしているので睡眠時間である TS を求めることは不可能 • TS は最も長時間閾値を下回っていた時間と仮定し、 TA はTS の次に最も長時間閾値を下回っていた時間として最小睡眠時 間を求める 最小睡眠時間の変化 • 閾値同様、最小睡眠時間も年中一定とは限ら ない • 異常な最小睡眠時間が計算される場合がある 閾値同様、現在の値と計算値の平均をとって 更新していくことで緩やかに対応 アプリ紹介 ホーム • 睡眠時間の自動記録を 開始、停止できる • 今日の睡眠時間を確認 できる 一覧表示 • • • • 就寝時刻:Sleep 起床時刻:Wake 睡眠時間:Length などのデータを数値で 確認できる • 表示する日にちの範囲 を指定することができ る 日別表示 • 横軸:時間[hour] • 縦軸:音量[dB] • 1日の音量の変化、睡眠 時間などを確認できる 月別表示 • 横軸:日にち[day] • 縦軸:睡眠時間[hour] • 1月ごとに日々の睡眠時 間を棒グラフで確認で きる マーケットに公開 • 開発したアプリを今年 の1月13日、国内向け にマーケットに公開 • 現在、18000件を超え るダウンロード • 42人の方に評価、5段 階評価で平均評価2.5 レビュー • 評価して頂いた42人の内17人のレビュー • 「記録できません」が多数 • 原因:機種の違いによるマイクの仕様の 違い • 他にも、風の音が記録に影響を及ぼす • 以上は昨年度の研究 • 現在は異なる研究 • 現在の研究は発表可能な状態に出来るか 不明だったため申込の段階で発表を断念 • 現在は発表可能な状態 服薬状況確認システム きっかけ • ある病院の先生から、「患者の服薬状況 を記録するシステムを作ってほしい」と 依頼 • 当初はアルバイトとして依頼 • 学校の研究内容として魅力的 • 学校の研究として開始 病院からの要望 • 患者はAndroidを携帯する • 1日に10回ほど服薬時刻を設定でき、時間 になったら、アラームを鳴らし、患者は 服薬したら、確認のボタンを押す • 服薬状況を1日1回、医療機関側のサーバ に送る • 医療機関側では、各患者の服薬状況を個 別に監視できる サーバ側の開発方法 • サーバには無料で使えるクラウドアプリ 開発環境Google App Engine (GAE) を使 用し、データの管理などを行う 服薬状況の管理 服薬状況の送信 服薬状況の閲覧 服薬日程の更新 服薬日程の更新 服薬状況のお知らせ Android 病院 患者 服薬状況の入力 服薬時刻のお知らせ 動作説明 (デモ画面) Android(クライアント)側 Android(クライアント)側 GAE(サーバ)側 GAE(サーバ)側 GAE(サーバ)側 現状と今後 • 現在、テスト版が完成し、試用段階 • 今後、試用に伴い発生した問題の改善
© Copyright 2024 ExpyDoc