[A Skeleton-Based Rehabilitation Exercise Assessment System With Rotation Invariance](https://ieeexplore.ieee.org/document/10144079/citations#citations) * 2023,有code * [github](https://github.com/Kelly510/RehabExerAssess?tab=readme-ov-file) * 只輸出正確或錯誤(非連續函數的打分) * 時空圖卷積網路框架(ST-GCN) ### 目前自動化康復運動質量評估的方法主要利用三種類型的數據: 1. 可穿戴感測器的加速度數據 2. RGB 或深度相機的視頻數據 3. Kinect 等感測器獲得或使用電腦視覺技術從 RGB 影片中提取的身體關節數據 ### 貢獻 1. 為了提高系統的穩健性,我們提出了一種新的「旋轉不變」描述符,即「人體骨架的點積矩陣」,並將其用作評估模型的輸入。使用這個描述符,受試者與攝像設備之間的相對位置可以是任意的。 2. 為了提供更多反饋,我們開發了一種基於Grad-CAM的可視化方法,該方法將與錯誤動作相關的人體關節標記為紅色,並提出了一個定量指標OvR來反映可視化的質量。 ### 資料集 1. Push-Up 2. [IRDS](https://zenodo.org/records/4610859) 3. [UI-PRMD](https://webpages.uidaho.edu/ui-prmd/) ![image](https://hackmd.io/_uploads/r1ZYvsbCA.png) ### 架構 ![image](https://hackmd.io/_uploads/r14qKcWAC.png) * 旋轉不變描述符(dot product matrix):為了讓系統對骨架方向不敏感,骨架數據會被轉換為「點積矩陣」,這是一個「旋轉不變」的特徵描述符,從而保證即使受試者的方向變換,系統也能準確地處理。 * BatchNorm(批標準化):在進入ST-GCN之前,會對數據進行批標準化,以提高模型訓練的穩定性。 * 模型結構:該系統由三個ST-GCN模塊堆疊而成,每個模塊的輸出通過下一個模塊進行處理,以逐步提取更深層次的特徵。具體來說,第一個模塊輸出的通道數是64,第二個模塊是128,第三個模塊是256。 * 平均池化(Average Pool):最終從第三層ST-GCN模塊輸出的特徵圖進行空間和時間的平均池化,轉換為一個低維特徵向量。 * 線性層:平均池化後的特徵向量會經過線性層,轉化為二元分類結果,輸出運動是否正確的標籤(「正確」或「不正確」)。 Grad-CAM * 核心是通過將正向的分類結果分數反向傳播到最後一層ST-GCN模塊的特徵圖,標記出對判斷結果貢獻最大的關節。 * 根據Grad-CAM的結果,與錯誤動作相關的關節會被標記為紅色,這樣用戶可以直觀地看到自己的哪個關節存在問題,有助於他們進行糾正。 ### 我們的論文目前架構 ![image](https://hackmd.io/_uploads/HJuts2M00.png) ### 其他需要的論文 從RGB影片中提取身體關節數據 [Learnable Triangulation of Human Pose](https://arxiv.org/abs/1905.05754#:~:text=Karim%20Iskakov,%20Egor%20Burkov,%20Victor) LSTM [Graph Convolutional Networks for Assessment of Physical Rehabilitation Exercises](https://ieeexplore.ieee.org/document/9709340) ![image](https://hackmd.io/_uploads/Bk9nfeO60.png) --- ### 補充 以下是 **FC(全連接層)**、**Flatten(展平層)**、**Pooling(池化層)** 和 **LSTM(長短期記憶網絡)** 的簡單描述: 1. **FC(Fully Connected Layer,全連接層)** - **作用**:全連接層中的每個神經元與前一層的所有神經元都有連接。它進行線性加權,並應用激活函數來學習輸入與輸出之間的複雜關聯。 - **應用場景**:通常用於神經網絡的最後幾層,用來進行分類或回歸任務。 - **特點**:適合學習全局特徵和輸出最終預測結果。 2. **Flatten(展平層)** - **作用**:將多維數據(如卷積或池化層的輸出)展平成一維向量,這樣數據可以被輸入到全連接層。 - **應用場景**:卷積神經網絡(CNN)中,通常在卷積層和池化層之後使用。 - **特點**:不改變數據的值,只改變數據的形狀,將高維特徵壓平成一維向量。 3. **Pooling(池化層)** - **作用**:對卷積層輸出的特徵圖進行下採樣,減少特徵圖的空間維度,保留最重要的特徵,從而減少模型的計算量和防止過擬合。 - **應用場景**:常見於卷積神經網絡(CNN)中,用於處理圖像數據。常見的池化操作有最大池化(Max Pooling)和平均池化(Average Pooling)。 - **特點**:縮小特徵圖尺寸,保持關鍵信息,增強模型的空間不變性。 4. **LSTM(Long Short-Term Memory,長短期記憶網絡)** - **作用**:LSTM 是一種特殊的循環神經網絡(RNN),用來學習和記憶長期的時間序列依賴。它通過「遺忘門」、「輸入門」和「輸出門」來控制信息的流動。 - **應用場景**:廣泛應用於需要時間序列處理的任務,如語音識別、自然語言處理、時間序列預測等。 - **特點**:能夠捕捉長期依賴,解決傳統 RNN 的梯度消失問題。 #### 總結 - **FC**:學習全局特徵,用於分類/回歸。 - **Flatten**:將多維數據展平為一維,用於全連接層的輸入。 - **Pooling**:降低空間維度,保留重要特徵。 - **LSTM**:學習時間序列數據的長期依賴。