慣性センサーログの効果的な可視化と分類について

>100 Views

October 20, 24

スライド概要

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

慣性センサログの効果的な 可視化と分類手法について 令和6年5月24日(金) (ミワダ マサト) 三和田 将人

2.

成果物について • 慣性センサから得られた561種類×5618件のログデータから人の 動作予測をするモデル。 • 正答率(Cross Validation:CV)= 98.3%、LB(Leader Board)= 98.3% 成果物種類 ツール 利用するコンペ 行動 工程 細目 04/22 04/23 04/24 04/25 04/26 04/27 04/28 04/29 04/30 05/01 05/02 05/03 05/04 05/05 05/06 05/07 05/08 05/09 05/10 05/11 05/12 05/13 05/14 05/15 05/16 05/17 05/18 05/19 05/20 05/21 05/22 05/23 05/24 月 火 水 木 金 土 日 月 火 水 木 金 土 日 月 火 水 木 金 土 日 月 火 水 木 金 土 日 出典元の文献を調べる 課題の調査 類似問題について調べる 与データの構造を確認する 欠損値の割合を調べる EDA 特徴量の影響を調べる t-SNEで調査する テーブルデータ分類 Scikit-learn 活動センサーログからの LightGBM 成果物の作成 動作予測 TensorFlow モデル作成 SVCモデルを作成・評価 する SVCモデルをチューニン グする GBMモデルを作成・評価 する GBMモデルをチューニン グする DNNモデルを作成・評価 する DNNモデルをチューニン グする コードの整理 文書作成 勉強会スライド作成 (t-SNEについて) ポートフォリオ作成 発表会スライド作成 • 事前調査:4日(12時間) • 試作品(精度が出るまで):3日(8時間) • データ構造の調査や考察:3日(8時間) • 文書作成:12日(32時間) 月 火 水 木 金

3.

発表の流れについて 1. 背景 2. 学習に用いたデータについて 3. 結果(各モデル手法の精度及び次の施策まで) 4. 作成スケジュール 5. 開発環境 6. 苦労、実践したこと 7. 最後に

4.

1. 背景(慣性センサログとモデルの重要性) • 近年、より小型な慣性センサの製造が可能になり、様々な場面で の人や物の動きについての記録の取得が容易となっている。 • 記録データ活用(動作予測)は、ますます社会で重要となってくる。 (例) 1. 産業用ロボット、工作機械の動作予測 → 運動・姿勢の維持、異常検知 2. ウェアラブル端末による、人の動作予測 → 医療分野への活用 3. インフラ構造物(鉄橋、高速道路)の維持管理 → 車両走行時の振動数や変位等 加速度センサIC(Kionix Technology):ローム株式会社 https://www.rohm.co.jp/products/sensorsmems/accelerometer-ics

5.

1. 背景(動作予測モデルにおける課題点) • 結果に対して、高い精度が求められる。 (例) 1. 製造:機械の異常をすぐに検知し、該当箇所の同定に貢献 2. 医療:装着者の重篤な状況を見逃さない • 一方で、誤検知も防ぐ必要がある。 (例) 1. 製造:現場における製造の流れを止めない 2. 医療:誤検知による医療現場への負担を高めない

6.

1. 背景(動作予測モデルにおける課題点) • 結果に対して、高い精度が求められる。 (例) 1. 製造:機械の異常をすぐに検知し、該当箇所の同定に貢献 動作予測をする学習モデルには、 2. 医療:装着者の重篤な状況を見逃さない 高い検出力 • 一方で、誤検知も防ぐ必要がある。 高い精度が要求される 誤りが少ない (例) 1. 製造:現場における製造の流れを止めない 2. 医療:誤検知による医療現場への負担を高めない

7.

2. 学習に用いたデータと題材について スマートフォンの慣性センサログから人間の動作予測をする • データソース https://archive.ics.uci.edu/ml/datasets/Human+Activity+Recognition+Using+Smartphones • 学習モデルの試験に利用したデータコンペ Signate, 【練習問題】活動センサーログからの動作予測, https://signate.jp/competitions/116#Other • データセットの説明 慣性センサログから得られたデータに信号処理などを施して用意された 561の特徴量から、6つの行動パターンを分類する。(n=5149) 特徴量の大まかな分類 • 身体加速度計(xyz軸ごと) • 重力加速度計(xyz軸ごと) • 加加速度(加速度の時間微分値)データ(3軸) • 角運動量データ(3軸) 上記のそれぞれに対する周波数データ× 各種統計量(平均、絶対値、信号エントロピー等) 目的変数 LAYING STANDING SITTING WALKING WALKING_UPSTAIRS WALKING_DOWNSTAIRS precision 1 0.96 0.96 0.99 0.99 1 recall 1 0.96 0.96 1 0.99 0.99 f1

8.

2. 学習に用いたデータと題材について スマートフォンの慣性センサログから人間の動作予測をする • データソース https://archive.ics.uci.edu/ml/datasets/Human+Activity+Recognition+Using+Smartphones • 学習モデルの試験に利用したデータコンペ Signate, 【練習問題】活動センサーログからの動作予測, https://signate.jp/competitions/116#Other • データセットの説明 慣性センサログから得られたデータに信号処理などを施して用意された 561の特徴量から、6つの行動パターンを分類する。(n=5149) 目的変数 LAYING STANDING SITTING WALKING WALKING_UPSTAIRS WALKING_DOWNSTAIRS precision 1 0.96 0.96 0.99 0.99 1 recall 1 0.96 0.96 1 0.99 0.99 f1

9.

3. 結果(各モデル手法の精度) 学習モデルを • Support Vector Machine Classification(SVC) • Deep Neural Network(DNN) • Gradient Boosting Method(GBM) の3種類で作製し、比較したところSVCが最も精度が高かった。 (なお、それぞれのモデルにはチューニングを施している) CV:Cross Validation 検証データでの正解率(Accuracy) LB : Leader Board コンペでの正解率(Accuracy) CV LB SVC 0.983 0.983 DNN 0.963 0.976 GBM 0.959 0.971

10.

3. 結果(SVCモデルについて 1/2) • 全体として98%以上と高い正答率を保ちながら、誤検知も少ない動 作予測ができている(f1-scoreを参照) • 一方で「STANDING」と「SITTNG」の精度が相対的に悪い LAYING STANDING SITTING WALKING WALKING_UPSTAIRS WALKING_DOWNSTAIRS accuracy macro avg weighted avg precision 1 0.96 0.96 0.99 0.99 1 0.98 0.98 recall f1-score support 1 1 1016 0.96 0.96 895 0.96 0.96 926 1 0.99 853 0.99 0.99 682 0.99 0.99 777 0.98 5149 0.98 0.98 5149 0.98 0.98 5149

11.

3. 結果(SVCモデルについて 2/2) • t-SNE(高次元データの可視化手法)で学習データの構造を可視化し たところ、「STANDING」と「SITTING」で点群の重なりが多く見られ、この 2つはデータ構造的に近いことがわかった。

12.

3. 結果(モデルを活用するための施策) (案の1) まず、「STANDING」と「SITTING」のセットとそれ以外に分離しする。そ して、上記二つのみを正確に動作予測できるモデルを作成し、2種 類のモデルからの予測結果を組み合わせる。 (案の2) 音などの別種類のデータを学習に取り入れる。 • End-to-End(一つのモデルでの検出精度を高める) • 複数のモデルを組合せる。

13.

4. 作成スケジュール 成果物種類 ツール 利用するコンペ 行動 工程 細目 04/22 04/23 04/24 04/25 04/26 04/27 04/28 04/29 04/30 05/01 05/02 05/03 05/04 05/05 05/06 05/07 05/08 05/09 05/10 05/11 05/12 05/13 05/14 05/15 05/16 05/17 05/18 05/19 05/20 05/21 05/22 05/23 05/24 月 火 水 木 金 土 日 月 火 水 木 金 土 日 月 火 水 木 金 土 日 月 火 水 木 金 土 日 月 火 水 木 金 出典元の文献を調べる 課題の調査 類似問題について調べる 与データの構造を確認する 欠損値の割合を調べる EDA 特徴量の影響を調べる t-SNEで調査する テーブルデータ分類 Scikit-learn 活動センサーログからの LightGBM 成果物の作成 動作予測 TensorFlow モデル作成 SVCモデルを作成・評価 する SVCモデルをチューニン グする GBMモデルを作成・評価 する GBMモデルをチューニン グする DNNモデルを作成・評価 する DNNモデルをチューニン グする コードの整理 文書作成 勉強会スライド作成 (t-SNEについて) ポートフォリオ作成 発表会スライド作成 • 事前調査:4日(12時間) • 試作品(精度が出るまで):3日(8時間) • データ構造の調査や考察:3日(8時間) • 文書作成:12日(32時間)

14.

5. 開発環境 ハードウェア Lenovo 「IdeaPad Flex 5 14ALC7 (2022年製)」 (Windows11 HOME) 演算装置:AMD Ryzen 7 5700U with Radeon Graphics 1.80 GHz ➢Frequency ( Base:1.8GHz, Max 4.3GHz ) ➢Cores : 8, Threads : 16, Cache : 4MB L2 / 8MB L3 ソフトウェア • Anaconda3 ➢Python ✓ matplot lib ✓ numpy ✓ Pandas ✓ Scikit-learn ✓ Optuna ✓ LightGBM • 仮想環境(tqdml) ➢ Python 3.11 3.5 1.21 2.0 1.4 3.6 3.3 3.9 ✓ Tensorflow(-directml) 2.16 ✓ Keras-tuner 1.4

15.

6. 苦労、実践したこと(1/2) 1. 目的変数の確認 慣性センサログの活用に関する文献を参考にして、動的・静的な動きと強く 影響する指標(今回であれば、身体加速度におけるベクトル絶対値の平均) から分布図を作成して可視化した。

16.

6. 苦労、実践したこと(2/2) 2. 出力結果の考察と高次元データ(特徴量)の可視化 高次元の特徴量を持つ学習データの構造を理解するために、主成分分析 や多次元尺度更生法を試したが、それらの手法ではデータの構造がうまく表 現できなかった。 t-SNEを用いることで、データのクラスターがうまく形成され、構造的に近い データを見つけることができ、分類モデルの作成に向けた重要な洞察を得る ことができた。

17.

7. 最後に(売込みポイント) • 新しい技術や概念を習得できる能力 大学院で培われた、技術開発の経験 • とにかく、早く、試作品を作成できる能力 公務員時代に培われた、手堅く進めて個々を積み上げる手法 (古い意味でのハック:Hack) • ざっくりと大枠を理解し、説明できる能力 学生時代からの心掛け • 仮説と検証を積み重ねる能力 これまでの人生で培ってきたもの

18.

現在作成中のもの • 物体検出で部品の異常を検出するモデル(以下のモデルではYolov8を使用) • 他手法(Mask R-CNN等)との違い( = 精度と出力までの時間)の精査中 open_circuit spurious_copper spur short missing hole mouse_bite

19.

ご清聴ありがとうございました

20.

参考文献等の一覧(1/3) 公式情報 • Tensorflow公式リファレンス(日、英) • Scikit-learn公式ドキュメント(英) • Optuna • Keras-tuner ・・・ ・・・ ・・・ ・・・ https://www.tensorflow.org/ https://scikit-learn.org/stable/user_guide.html https://optuna.org/ https://keras.io/keras_tuner/ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ https://qiita.com/ https://teratail.com/ https://stackoverflow.com/ https://www.kaggle.com/ https://www.analyticsvidhya.com/blog/ https://medium.com/ https://github.com ブログなど • Qiita(日) • teratail(日) • Stack Overflow(日、英) • Kaggle(英) • Analytics Vidhya(英) • Medium(英) • GitHub(日、英)

21.

参考文献一覧(2/3) 1. Laurens van der Maaten , Geoffrey Hinton , "Visualizing Data using t-SNE", Journal of Machine Learning Research, https://lvdmaaten.github.io/publications/papers/JMLR_2008.pdf, 2008.11 2. @g-k氏, Qiita, "t-SNEを理解して可視化力を高める”, https://qiita.com/gk/items/120f1cf85ff2ceae4aba , 2021.10.08(最終アクセス2024.05.15) 3. @sakami氏, Qiita, "t-SNE解説", https://qiita.com/sakami/items/bb466161489771f7d2e9 , 2020.08, (最終アクセス2024.05.15) 4. @hkharmfulbear氏, Qiita, "次元圧縮を片っ端から試してみた(t-SNE, PCA, MDS, UMAP)", https://qiita.com/hkharmfulbear/items/a19dff8f3c637fa3bc12, 2022.03, (最終アクセス2024.05.15) 5. @kenmatsu4(まつけん)氏, Qiita, "Variational Autoencoder徹底解説", https://qiita.com/kenmatsu4/items/b029d697e9995d93aa24, 2017.06,(最終アクセス2024.05.15) 6. データ化学工学研究室(金子研究室)@明治大学 理工学部 応用化学科, "t-distributed Stochastic Neighbor Embedding (t-SNE) ~データの可視化に特化した手法~", https://datachemeng.com/tsne/ , (最終アクセス2024.05.15)

22.

参考文献一覧(3/3) 7. 室田 一雄, 東京大学計数工学科及び数理情報学専攻 - 俯瞰講義 (数理の世界 第 7回) , "最適化の 数理—応用数理の視点", https://ocw.u-tokyo.ac.jp/lecture_files/gf_06/7/notes/ja/07murota.pdf, 2007.06 8. Leland McInnes, John Healy, James Melville, "UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction", https://arxiv.org/abs/1802.03426, 2018. 9. Narayan, A., Berger, B. & Cho, H. "Assessing single-cell transcriptomic variability through densitypreserving data visualization." Nature Biotechnology, https://www.nature.com/articles/s41587-02000801-7 , 2021 • データソース https://archive.ics.uci.edu/ml/datasets/Human+Activity+Recognition+Using+Smartphones • 引用元 Davide Anguita, Alessandro Ghio, Luca Oneto, Xavier Parra and Jorge L. Reyes-Ortiz. "A Public Domain Dataset for Human Activity Recognition Using Smartphones". 21th European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning, ESANN 2013. Bruges, Belgium 2426 April 2013.