九州地区

教育システム情報学会 2019年度学生研究発表会

加速度センサ及び機械学習を用いた疲労検知
Fatigue detection using acceleration sensor and machine learning
植山 彰太, 松前 進
Shota UEYAMA, Susumu MATSUMAE
佐賀大学 工学系研究科 知能情報システム学専攻
Department of Information Science, Graduate School of Science and Engineering, Saga University
Email: 18573004@edu.cc.saga-u.ac.jp
あらまし：ウェアラブル機器、特にスマートウォッチの発達により心拍、運動、睡眠状況等の人間の身体情報を詳細に取得することが容易になっている。しかし、身体情報を測定するためにはこれらの機器を装着する必要があり、装着できなければ身体情報を測定できない。本研究では、ウェアラブル機器がなくともスマートフォンのみで身体情報を取得できないかを考察する。一例として、加速度データから疲労を検知することが可能であるかどうかを検証する。加速度データの解析には機械学習を用いる。
キーワード：機械学習, 加速度センサ, 疲労検知, kNN 法, スマートフォン

1.

はじめにつの場合について測定する。
「疲労時」は日本疲労学(2)
会の考え方 を参考にし、測定者のその基準を明確にするために眠気がある状態とする。そして「通常時」は「疲労時」以外の状態を指す。
測定時の条件を揃えるために以下の条件を設ける。
・姿勢は椅子に着席し、肘は机に着けない・縦スクロールが主な操作となるのアプリケーショ
ンを操作

ウェアラブル機器の発達、特にスマートウォッチのように簡単に身体に装着可能なウェアラブル機器の発達により、心拍、血流、運動、睡眠状況等の人間の身体情報を詳細に取得することが容易になっている。
それにより装着者の健康状態を様々な観点から測定し、健康状態を良好に改善・維持が期待できる。
しかし、身体情報を測定し続けるためにはウェアラブル機器を装着し続ける必要があり、装着できなければそれを測定できない。そこで、筆者はウェアラブル機器がなくともスマートフォンのみで身体情報が取得できないかと考えた。
本研究では、その一例としてスマートフォンで取得できる情報のうち、加速度データを用いて身体的な疲労の測定が可能かを検証する。そのために、加速度センサのデータを機械学習させることで疲労検知に特化した判定機を作成する。

2.

4.

測定した加速度データを前処理することにより機械学習の解析の精度向上を目指す。x 軸、y 軸、z 軸に同様の処理を行うため、本稿では x 軸のみに注目してデータの前処理を以下に記述する。
1. 測定した加速度データの x 軸 に対して 0 秒を基準として 60 秒ごとに標準偏差 std_X を求める
2. 基準を 0.2 秒ずらし、その基準から 60 秒ごとに標準偏差 std_X を求める
3. 2 の処理を基準が 60 秒に到達するまで繰り返す
4. 3 までで計算した標準偏差データ std_X 全てのデータに対して、1 つ前、後のデータとの差
X_before、X_after を求める
5. 4 までで求めたデータのうち、標準偏差データ
std_X 標準偏差データの前後のデータの差である X_before、X_after を集計する
6. 集計したデータに対して、訓練データの測定時の身体の状態から「通常時」を 0 、「疲労時」を 1 として正解ラベル
ConNum（ConditionNumber の略）を全てのデータに追加する
7. ConNum 以外のそれぞれの特徴量毎に標準化を行う
以上のデータ処理を x 軸、y 軸、z 軸すべてに行った場合、特徴量は「std_X」「std_Y」「std_Z」「X_before」

kNN 法(1)

本研究で使用する機械学習の手法として kNN（k-Nearest Neighbor）法と呼ばれる教師あり分類アルゴリズムを採用する。これは、多次元のベクトル空間に入力されたデータ群（正解ラベル付き訓練データ群）について、そこに分類したいデータを入力し、そこから距離が最も近い順に k 個の値を取得する。その取得したデータのラベル値を集計し、最も多いラベル値を、入力したデータの分類値として採用するというものである。

3.

データの前処理

加速度データの測定

加速度データは機械学習に使用する訓練データ及び、判定機の性能を検証するテストデータを測定する。前者は筆者 1 人のみで 30 分程度、後者は筆者と実験協力者 4 人で 5～10 分程度の測定を行う。それ
ぞれの加速度データは「通常時」と「疲労時」の 2

248

九州地区

教育システム情報学会 2019年度学生研究発表会「Y_before」「Z_before」「X_after」「Y_after」「Z_after」「ConNum」の 10 個となる。

5.

検証実験

初めに本研究で使用した加速度データの測定回数の内訳を記述する。
表 1 使用した加速度データの測定回数の内訳
訓練データ
テストデータ

通常時

疲労時

筆者

12 回

9回

筆者

4回

4回

実験協力者

3回

3回

その中に疲労判定が 4 回出現すればその値のフラグ（②）を立てる③ 判定結果のうち通常判定が 9 連続出現すればその値のフラグ（③）を立てる④ 判定結果のうち疲労判定が 7 連続出現すればその値のフラグ（④）を立てる
以上のフラグを活用し、①かつ③であればテストデータを通常時と分類し、②かつ④であればテストデータを疲労時と分類する。以上の分類条件を適用し、筆者と実験協力者のテストデータを分類した結果表 2 の結果となった。
表 2 テストデータ分類精度

5.1 kNN 法の k 値の設定
機械学習の際に使用する kNN 法について、その k値を設定する必要がある。その値を調べるために k値を 1 から 1000 まで変化させながら訓練データを機械学習させて解析を行う。それぞれの k 値での解析結果を筆者のテストデータで評価し、その値を設定する。

データの種類

データ数

精度

筆者

通常時

4100%

筆者

疲労時

4100%

実験協力者

通常時

333%

実験協力者

疲労時

333%

この結果より、筆者のテストデータは 100%と正しく分類できたが、実験協力者のデータは 33%と精度が低いものとなった。これは、筆者の加速度のみを用いた訓練データで作成した判定機は筆者の状態分類に特化してしまった可能性があるためだと考える。

6.

図 1 k 値毎の解析結果の精度
図 1 からは、k=500 付近で精度が収束しているデータが多い。これにより k=500 付近が k 値として適しており、その前後のデータから k=515 を採用した。
しかし、k=515 で kNN 法を解析し実行したとしても、図 1 から精度に差が出ている。これは、判定機を適用したテストデータの結果にノイズが多く含まれているからだ。しかし、精度は他の高い精度のデータと比較しても低すぎる精度とは言えない。
5.2 分類条件について
5.1 の結果を受け、判定結果の精度が低くても正確に状態を分類できるように以下の条件を加えた。
① テストデータの判定結果を５間隔毎に区切り、その中に通常判定が 4 回出現すればその値のフラグ（①）を立てる② テストデータの判定結果を５間隔毎に区切り、249

まとめ・今後の課題

本研究では、加速度データを用いて疲労検知ができるかを検証した。そのための判定機作成には機械学習を使用した。
結果、訓練データの提供者である筆者の状態分類は 100%の精度で分類できた。しかしながら、訓練データを提供していない実験協力者の状態分類は33%の精度となった。今後の課題としては訓練デー
タを筆者以外の１人分の訓練データに置き換えてもその人のテストデータが 100%に近い値で正確に分類できるかどうかの検証である。そして、訓練デー
タに筆者以外の加速度データを訓練データに追加した場合、判定機が万人向けとして機能するかの検証が挙げられる。
参考文献(1) 荒木雅弘:“フリーソフトではじめる機械学習入門（第2 版）”, 森北出版(2018）, p.27
(2) “疲労とは？疲労の原因と回復方法 | 健康長寿ネット” , 2019 年 8 月 5 日更新, 2019/12/23 アクセス,
https://www.tyojyu.or.jp/net/kenkou-tyoju/undou-shougai/
hirou-busshitsu.html