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 姿勢分類整體流程
-
收集 IMU 連續時間序列資料
-
資料標準化與滑動視窗切割
-
訓練 Recurrent Neural Network (RNN)
-
使用 LSTM(Long Short-Term Memory)擷取時間特徵
-
分類輸出:靜止 / 站立 / 行走 / 坐下
資料處理重點
-
每 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)
沒有留言:
張貼留言