2025年4月27日 星期日

IMU HAR 簡報大綱


 1#IMU 功能和應用介紹

2#HAR 資料分析

3#IMU 測試工具建立

4#流程概述:IMU 姿勢分類(RNN-LSTM)

5#Pytorch ML 訓練操作

6#模型驗證圖表

7#問題與討論   



1️⃣ IMU 功能和應用介紹


什麼是 IMU(Inertial Measurement Unit)?

  • 加速度計(Accelerometer):測量線性加速度

  • 陀螺儀(Gyroscope):測量角速度

  • 磁力計(Magnetometer,選配):測量地磁方向

常見應用領域

  • 自駕車與機器人導航

  • 穿戴式裝置(智慧手錶、健康監測)

  • 運動科學與復健追蹤

  • 遊戲控制器與 VR 設備


2️⃣ HAR 資料分析(Human Activity Recognition)


Human Activity Recognition(人體活動辨識)簡介

  • 利用 IMU 資料分析使用者的活動狀態

  • 常見活動類別:靜止、行走、跑步、上下樓梯、騎車

HAR 資料分析流程

  • IMU 原始數據(6軸/9軸)蒐集

  • 訊號處理(濾波、標準化)

  • 資料標註(Activity Labels)

  • 特徵提取(Raw Data or Features)

  • 建立分類模型


3️⃣ IMU 測試工具建立


開發 IMU 測試平台

  • 目標:即時收集與顯示 IMU 資料

  • 技術堆疊:Flask + PyQt5 + pyqtgraph

功能需求

  • Wi-Fi 透過 API 接收即時資料

  • 資料緩衝與流暢播放(100Hz)

  • 支援 CSV 載入 / API 即時讀取

  • 支援資料組選擇、分類疊加顯示


4️⃣ 流程概述:IMU 姿勢分類(RNN-LSTM)


IMU 姿勢分類整體流程

  1. 收集 IMU 連續時間序列資料

  2. 資料標準化與滑動視窗切割

  3. 訓練 Recurrent Neural Network (RNN)

  4. 使用 LSTM(Long Short-Term Memory)擷取時間特徵

  5. 分類輸出:靜止 / 站立 / 行走 / 坐下

資料處理重點

  • 每 0.01 秒一筆資料

  • 滑動窗格:100筆(1秒)、200筆(2秒)

  • 標籤依活動切分


5️⃣ PyTorch ML 訓練操作


PyTorch 訓練主要步驟

  • 定義 LSTM 類別模型

  • 建立訓練與驗證集

  • 設置 Loss function (CrossEntropyLoss)

  • 設置 Optimizer (Adam)

  • 訓練迴圈(Epochs)

  • 儲存最佳化模型 (model.pth)

範例超參數

  • Hidden units:64

  • Layers:2

  • Batch size:64

  • Learning rate:0.001

  • 訓練次數:20 epochs


6️⃣ 模型驗證圖表


訓練結果驗證

  • Loss 曲線(Training loss vs Validation loss)

  • Accuracy 曲線(Training accuracy vs Validation accuracy)

  • 混淆矩陣(Confusion Matrix)

    • 靜止、站立、行走、坐下辨識率

  • Precision / Recall / F1-Score

典型圖表類型

  • Line Chart:損失與正確率

  • Heatmap:混淆矩陣


7️⃣ 問題與討論


潛在問題

  • 資料不均(靜止樣本數遠大於行走)

  • 感測器雜訊影響分類精度

  • 延遲與時間同步問題

  • 小樣本訓練過擬合

未來改進方向

  • 引入更多傳感器數據(如心率)

  • 增加資料增強(Data Augmentation)

  • 測試不同神經網絡架構(GRU, Transformer)




沒有留言:

張貼留言