1
チームメンバー
海老原 祐輔
東京大学工学部 4年
三田研究室
懸垂バー買ったけど�やってない
山本 恒輔
東京大学工学部 4年
川原研究室
アプリ開発してるはずが
気づくと筋肉痛です
下島 銀士
東京大学工学部 4年
矢谷研究室
これきっかけで筋トレ
腹筋ローラーやばい
2
プロジェクト概要
1
背景
筋トレを始めると、細かい不便がたくさんある
・何をやればいいかわからない
・やった記録が残らない、成果が見えない
→楽しくない、継続しない
4
インストールは
こちらから →
背景
それ、記録をつけることで解決します!
5
インストールは
こちらから →
背景
Q. 何をやればいいかわからない
A. 最初は、検索・動画・アプリの提案
それ以降は、前回の記録を参考に、
自分に合う筋トレを考えていける
6
インストールは
こちらから →
背景
Q. やった記録が残らない、成果が見えない
A. 例えば、ダイエットの時は体重を測る
筋トレの記録をつけることで、
成長が数値で確認できる
7
インストールは
こちらから →
筋トレ友達10人に聞いてみた
Q. 筋トレの記録は大事?
8
No
1人
Yes
9人
インストールは
こちらから →
筋トレ友達10人に聞いてみた
Q. 実際に記録をつけている?
9
No
8人
Yes
2人
インストールは
こちらから →
なぜ記録をつけない?
筋トレ毎に記録は手間
10
参考:最強の筋トレ管理アプリ
-筋トレMemo
参考:筋トレ カレンダー
筋トレ記録アプリ
1
筋トレが終わったときには、
回数は忘れている
内容を覚えていても、
アプリへの入力が煩雑
3
2
インストールは
こちらから →
これが欲しい!!!
ユーザーがストレスフリーで
自動で記録をつけるアプリが欲しい
11
インストールは
こちらから →
プロジェクト概要
12
全自動筋トレ記録システム
インストールは
こちらから →
13
アプリ紹介
2
アプリのコンセプト
筋トレ以外に
頭を使わない
15
インストールは
こちらから →
1
16
ッ
プ
タ
アプリの使い方
17
1タップして運動するだけ
1
自動記録
種別・回数の記録はアプリにお任せ
心置きなく筋トレだけに集中できる
インストールは
こちらから →
アプリの使い方
18
RAW
集めたデータは自動で分析
2
自動分析
記録の処理もアプリにお任せ
筋トレ結果の煩わしい分析は不要
インストールは
こちらから →
アプリ機能紹介
ホーム画面
19
ステータス
筋肉痛の目安を表示
最近鍛えていない部位が一目でわかる
最近の履歴
直近の履歴を表示
すぐ振り返りができる
インストールは
こちらから →
アプリ機能紹介
自動判別画面
20
記録済の運動
すでにアプリで
自動記録された運動
記録中でも簡単に
振り返りができる
判別中の運動
特に大きく表示
記録中でも見やすく
※ バックグラウンドで動作
画面を閉じていてもOK
インストールは
こちらから →
アプリ機能紹介
記録修正画面
21
記録の修正
自動記録内容の
修正が可能
記録
停止
自動判別画面
インストールは
こちらから →
アプリ機能紹介
履歴画面
22
カレンダー
月毎の運動時間が
わかりやすい
時系列に沿った詳細な記録が見られる
筋トレごと
これまでの記録の
統計がわかる
リスト
・運動日数
・最高回数
・運動頻度
などなど
インストールは
こちらから →
アプリ機能紹介
修正・手動追加画面
23
ユーザーによる入力
自動判別結果の修正や
記録の手動入力が可能
これらの結果も記録統計に反映
インストールは
こちらから →
アプリリリース
App Storeにて配信中
インストールはこちら↓
24
インストールは
こちらから →
システム説明
3
システム概要
26
収集データ
機械学習などの
アルゴリズム
判別結果
インストールは
こちらから →
データの収集
カメラによるデータ収集
データの解析が容易
姿が収まるようアングル調整が必要
プライバシーの心配
モーションセンサ(加速度など)によるデータ収集
設置の手間がかからない
データの解析が困難
27
→使い勝手を優先し、モーションセンサを採用
カメラを用いた例
参考:家トレ-AI筋トレカウンター
インストールは
こちらから →
データの収集
9軸データ(加速度・角速度・磁気)を�iPhone・Apple Watchのモーションセンサから取得
28
ポケットに
iPhone
腕に
Apple Watch
9軸データ
インストールは
こちらから →
機械学習による判別
Appleの機械学習フレームワーク「CoreML」を利用し、iPhone内部で判定処理を行う
→オフラインでも判定が可能
種類判別・回数認識でそれぞれ�アルゴリズムを作成
29
CoreML
インストールは
こちらから →
筋トレの種類判別
筋トレ判別にはCNNを用いた
30
腹筋
3秒分の9軸データ(50Hz)
CNNモデル
腕立て
スクワット
筋トレ種別
インストールは
こちらから →
筋トレの回数認識
筋トレ種別ごとにアルゴリズムを選択し、回数を認識
31
腹筋
腕立て
スクワット
:
筋トレ種別
特徴軸を選択
CNN / ルールベース
アルゴリズム
回数
1回
2回
3回
:
9軸データ
phone.gravity.x
phone.gravity.y
phone.gravity.y
:
インストールは
こちらから →
機械学習のためのデータ作成
学習データとして、「9軸データ」と「運動名」の組み合わせが必要
→自分たちで筋トレをしてデータ収集
32
スクワット
腕立て伏せ
腹筋
インストールは
こちらから →
機械学習のためのデータ作成
手動でラベリングを行ったデータ
※デバッグのための総筋トレ回数 � 約5000回(体感)(+150回の予定)
33
総筋トレ回数
1684回
インストールは
こちらから →
機械学習のためのデータ作成
精度向上のためにはさらに学習データが必要
ユーザーが訂正したデータを学習に活用�以後の判別精度向上に活用
34
インストールは
こちらから →
機械学習モデルの改善
35
アプリへダウンロード
学習したモデルを
アップロード
学習用PC
サーバー
インストールは
こちらから →
機械学習モデルの改善
継続的なモデル改善が可能
36
筋トレの
自動判別
ユーザーによる
訂正
機械学習による
モデル改善
インストールは
こちらから →
プロジェクトのまとめ
44
今後の展望
アプリの改善
38
インストールは
こちらから →
今後の展望
ジムのマシンとの連携
39
インストールは
こちらから →
まとめ
40
全自動筋トレ記録システム
41
[補足] 対応筋トレ
42
スクワット
腹筋
背筋
腕立て伏せ
腹筋ローラー
インストールは
こちらから →
[補足] 筋トレ判別CNN
判別種別:8種類(休憩含む)
精度:0.9017857142857143
43
インストールは
こちらから →
[補足] 筋トレの回数認識
腕立て伏せの重力の波形
上がポケットのスマホ
下がApple Watch
上の青の部分がずれている
疲れて腰が下がるのが遅い
波形のずれから疲れを検知したい
44
インストールは
こちらから →
[補足] 何を基準に自動判別?
筋トレは微妙な周期波形
・人によってペースが異なる
・筋トレ中にもペースが変わる(遅くなる)
・筋トレの勢いなどで振れ幅の変化や、ドリフトも
・波形が M から ^(単純な山)になることもしばしば
45
インストールは
こちらから →
[補足] 回数CNN判定の詳細
46
standing,
sitting,
push-up,
push-up,
...
筋トレ判別CNN
入力:データ最新3秒分
出力:筋トレ種別
9軸データ
50Hzで補間
筋トレ別回数判定CNN
入力:データ最新2秒分
出力:筋トレ開始フラグ
推定履歴+冗長化
→判別推定結果
推定履歴+冗長化
→回数判定
モデル自動切替
※判別種目数だけCNNが存在する
0100110...
インストールは
こちらから →
[補足] 筋トレの回数認識
47
インストールは
こちらから →
[補足] メニュー機能
メニュー画面
48
次の筋トレ
次に予定されている
筋トレを表示
次の筋トレをスムーズに開始
目標回数
目標回数を表示
達成度がすぐわかる
※本機能は現在開発中です。
インストールは
こちらから →
[補足] 筋トレの回数認識
1回分ごとにデータを「前半」「後半」「平坦」に分割
平らな休憩部分を検出することで、
正確な運動周期が測定出来そう
49
インストールは
こちらから →