---
# System prepended metadata

title: 1113(教授)

---

https://www.canva.com/design/DAGWR3439XA/DMSPuIPTBqWrSIR20A0aog/edit?utm_content=DAGWR3439XA&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton
有改
1. 資料集
2. 實現方法技術
3. 可能遇到的困難

待改
1. 甘特圖-王去弄
2. 實現方法技術的細節
    * 3D骨架辨識-黃去改
    * 評分-廖改
    * 文字輸出-楊

誰報告
1. 專題簡介目標-楊
2. 動機-楊
3. 資料集-楊
4. 實現方法技術
    * 3D骨架辨識-廖
    * 評分-廖
    * 文字輸出-楊
5. 可能遇到的困難-王?
6. 疑慮解釋-王?
7. 甘特圖/分工-王

前面開頭可以我帶過就好反正也沒改
改了再說
後面可以給王七七報告
給她上去玩玩(?

ppt用canva打
這樣大家都可以改
也不會要改ppt找不到人

要改東西的可以上hack改了


# 專題簡介/目標
### 題目: 基於骨架辨識之瑜珈動作準確度辨識系統


本專題旨在開發一套基於骨架辨識的瑜珈動作準確度辨識系統，讓用戶能夠即時瞭解自己在進行瑜珈動作時的準確度。通過架設網站，使用者可上傳或即時錄製瑜珈影片，系統將自動評分並顯示當前動作的準確度分數、正在進行的動作名稱及每個動作的次數。

為了實現這一目標，系統將使用事先訓練過的模型來識別特定的瑜珈動作，並根據其標準動作進行評分。評分的範圍計劃為1至100分，若系統難以精確區分100個級別，將改為使用5或7個等級的輸出。用戶可通過系統瞭解自己動作的準確性，從而提高瑜珈練習的效果。

系統的核心功能包括：  
- **即時動作辨識與評分：** 對使用者進行的瑜珈動作進行實時分析與評分，並提供動作次數統計。  
- **指定動作表的應用：** 系統將依據特定的瑜珈動作列表進行評分和次數記錄，僅當用戶進行列表中的動作時系統才會做出判斷與反饋。  
- **使用簡單：** 使用者可通過網站即時錄影或上傳瑜珈影片，並即時收到動作準確度的反饋。

目標是通過這一系統，使普通瑜珈用戶能夠在居家練習中得到專業的動作準確度反饋，從而提升練習的正確性與效果。希望架設一個網站，讓使用者可以錄影並立即知道自己的動作標不標準，畫面內容會有目前動作的分數、正在做甚麼動作及每個動作做了幾次，會有一個預期動作表，只有做那些動作時才會有評分及記數，因此要有訓練過的動作才能評分，目前希望評分範圍是1-100(如果不行將會改成5或7個等級的輸出)


# 動機
現有的動作準確度辨識系統多針對運動康復或專業運動員，對於一般居家瑜珈愛好者並沒有太多針對性的輔助工具。
我們希望能夠開發一個針對居家瑜珈練習者的動作準確度辨識系統，讓普通瑜珈用戶可以通過簡單的錄影方式，快速瞭解自己動作的準確性，從而在家就能進行自我糾正與改善。這樣的系統不僅可以提升用戶的自我學習效率，還可以減少不正確動作可能帶來的傷害風險，幫助他們更安全、有效地進行瑜珈鍛煉。

# 資料集

[3D-Yoga: A 3D Yoga Dataset for Hierarchical Sports Action Analysis](https://openaccess.thecvf.com/content/ACCV2022/papers/Li_3D-Yoga_A_3D_Yoga_Dataset_for_Visual-based_Hierarchical_Sports_Action_ACCV_2022_paper.pdf)

https://hackmd.io/@HannahYang/rypNtYVb1e

* 2022
* RGB-D 照片
* 3D
* skeleton
* 設備-Mocap(Kinects)
* Cascade 2S-AGCN

### 攝影機位置以及背景
![image](https://hackmd.io/_uploads/ByiLOgBbJl.png)


### 資料集概述


* 3D-Yoga 資料集包含 117 種不同的瑜伽姿勢，由 22 名不同性別、年齡和瑜伽技能水準的參與者執行，共計 3,792 個動作樣本和 16,668 個 RGB-D 圖像的關鍵幀。
* 每個樣本均提供 RGB-D 圖像、人體骨架數據、姿勢標籤和質量分數。
* 該資料集解決了瑜伽動作中的自我遮擋問題，並進行了動作的多層次分類（十個大類和相應的次分類）和質量評估。

![image](https://hackmd.io/_uploads/HyEZcQC-kx.png)


### 框架概述
![image](https://hackmd.io/_uploads/HyMqdgHZyx.png)

>Cascade 2S-AGCN 是一種基於圖卷積的神經網絡，用於多層次瑜伽動作分析，包括動作識別與質量評估。其架構包含三個主要階段：
> 1. 階段一：粗粒度分類，例如將動作分類為「動態」、「坐姿」、「站立」等。
>2. 階段二：細粒度識別，將每個大類進一步分為具體的姿勢（例如「坐姿前彎」、「坐姿旋轉」等）。
>3. 階段三：姿勢質量評估，為每個姿勢生成質量分數。

>Cascade 2S-AGCN 使用雙流架構（Two-Stream）來處理不同特徵：
>1. J-Stream：處理人體關節的時空信息，以捕捉不同關節之間的依賴關係。
>2. B-Stream：處理骨骼的長度和方向，能夠辨別不同動作之間的細微差異。

### 評分

* 評分基準：三位擁有教練證書的瑜伽教練，並且在瑜伽指導方面有豐富的經驗。
* 評估指標：每個瑜伽姿勢的評估基於兩個主要指標
    1. 難度係數$\ P_{\text{level}}$：這是根據已經確定的標準來評估姿勢的難易程度。
    2. 完成分數$\ C_{\text{pose}}$：由教練制定，分為0到3的四個級別，反映姿勢的完成情況。
        * 力量(S)
        * 平衡(B)
        * 柔韌性和堅韌性(P&T)

每個樣本的最終評分公式為：

$$
\text{Score}_{\text{level pose}} = P_{\text{level}} \times C_{\text{pose}}
$$

其中 $\ P_{\text{level}}$ 代表難度係數，$\ C_{\text{pose}}$ 代表完成分數。
* 評分的一致性：計算這些評分的平均值，以獲得更客觀的完成分數。
* 最終評分公式：最終的評分是將難度係數與完成分數相乘，這樣可以更全面地反映每個樣本的質量。

總體來看，這段文字提供了一個系統化的框架，用於評估瑜伽姿勢的質量，結合了專業知識和具體的評估指標。

![image](https://hackmd.io/_uploads/Sk4RKXAbkg.png)


每個樣本的最終評分公式為：

$$
\text{Score}_{\text{level pose}} = P_{\text{level}} \times C_{\text{pose}}
$$

其中 $\ P_{\text{level}}$ 代表難度係數，$\ C_{\text{pose}}$ 代表完成分數。



# 實現方法技術


## [3D Graph Convolutional Feature Selection and Dense Pre-Estimation for Skeleton Action Recognition](https://ieeexplore.ieee.org/document/10398170)(2024)

https://hackmd.io/@noteeeeee/SkCkff3AA

* [github](https://github.com/wizardbo/3D-GSD)
* 3D圖卷積特徵選擇和密集預測(3D-GSD)，分析和識別人體骨骼的運動軌跡
* 技術
    * 3DSKNet
    3D卷積神經網路的注意力機制，可以自適應地學習骨架序列中的重要特徵，更好地專注於關鍵骨架部分和動作序列，而忽略一些乾擾以及一些不相關的關節等不重要部分，這有助於提高骨架識別的準確性和穩健性。主要包括三個階段，分別是分割階段、融合階段和選擇階段。
    * DensePose
    使用DensePose估計輸入影像上的人體姿態可以更全面地分析人體姿態，主要分為三個階段：特徵提取、特徵與骨架特徵融合、姿態估計。

## Graph Convolutional Networks for Assessment of Physical Rehabilitation Exercises[IEEE 2022]

https://hackmd.io/@tk28QYFKR1W1XJ09QCd72A/BJkrKkIkJx

* 輸出[0,1]的連續分數
* 3D數據表示
* 主要目標是利用RGB-D攝影機捕捉患者的身體動作，並對這些動作進行質量評分
* 貢獻:
    * STGCN的擴展：該論文對現有的時空圖卷積網路（Spatio-Temporal Graph Convolutional Networks, STGCNs）進行了擴展，將其應用於物理復健運動的評估。與先前的分類方法不同，這篇論文的模型能夠對復健運動的質量進行連續評分，而非僅僅是判斷動作正確與否。
    * 可變長度輸入的處理：模型可以處理可變長度的輸入，這意味著用戶可以根據需要進行不同次數的動作重複，且模型可以自動評估運動的質量，無需固定輸入長度。
    * 自注意力機制的引入：論文引入了一種自注意力機制，該機制能夠分析人體關節的重要性，並根據不同關節在預測中的貢獻進行權重分配。這不僅提升了評估的精確度，還能為用戶提供具體的指導，幫助他們改善運動質量。
    * 對比實驗的性能優越：該模型在兩個知名的復健數據集（KIMORE和UI-PRMD）上進行了測試，並且在多項評估指標（如MAD、RMSE、MAPE）上超越了現有的評估方法，展示了其在運動評估任務中的卓越性能。
    * 實驗分析與可視化：論文通過可視化技術展示了關節自注意力機制的效果，具體說明了在不同運動中，哪些關節對於評估結果的重要性更高，這些結果與醫療專業人員的觀察相符。


![image](https://hackmd.io/_uploads/rya3fDAkJl.png)
![image](https://hackmd.io/_uploads/HJL6GDAyJe.png)
![image](https://hackmd.io/_uploads/SJudCxvk1e.png)

## [Yoga Pose Classification and Correction using PoseNet ](https://ieeexplore.ieee.org/document/10503105/keywords#keywords)


https://hackmd.io/@noteeeeee/rJyMBdebye

* 2024
* skeleton
* 2D

![image](https://hackmd.io/_uploads/Hk0itOy-Jl.png)

### 架構
1. PoseNet：PoseNet模型負責從影像中偵測使用者的17個關鍵點，包含鼻子、眼睛、肩膀、肘部、臀部、膝蓋等，生成人體的骨架結構。
2. KNN分類器：透過PoseNet輸出的關鍵點，K-Nearest Neighbours（KNN）分類器被用於將姿勢分類為特定的瑜伽動作（如山式、女神式等）。
3. 姿勢矯正模組：該模組根據每個關鍵點的角度計算誤差，並透過語音或文字提示用戶調整姿勢，例如抬高手臂或調整腿部位置。
4. 即時反饋系統：用戶透過網頁應用介面進行互動，系統在偵測到不正確姿勢時，會即時顯示或播放矯正建議，提供動態的練習反饋。
![image](https://hackmd.io/_uploads/HyVNI1WM1x.png)


### Yoga Pose Correction
1. 角度計算：acos() 函數是用於計算兩向量之間的角度（弧度），該角度反映了兩個向量之間的空間方向。通過使用 acos() 將計算出的角度轉換為一個可以比較的角度範圍，用戶可以確保姿勢的正確性。
2. 角度範圍判斷：系統依據關節角度的不同範圍，向用戶提供反饋。範圍內的值不需調整；小於範圍的值提示增加角度，大於範圍的值則提示減小角度。
![image](https://hackmd.io/_uploads/SyOB2jZzyg.png)

![image](https://hackmd.io/_uploads/Bk0N2oWMkl.png)


在該瑜伽動作的每個關節處都設定了指定的角度範圍。根據以下規則判斷角度的正確性：
* 如果角度低於指定範圍，函數返回1
* 如果角度在指定範圍內，則返回0
* 如果角度超出指定範圍，則返回-1


# 可能遇到的困難
我改到一半但我後悔了，我根本不知道改什麼
>* 文字輸出的那篇論文是2D，要改成3D
>* 姿勢正確度是用角度計算，所以換成3D的時候可能要重新找方法計算準確度(或者

# 疑慮解釋
# 甘特圖/分工


這並不是甘特圖
看誰去畫一下甘特圖
然後我們先不要分工因為我也不會分


### 需要做的事：

1. **需求分析與系統設計（10月-11月）**
   - 了解使用者需求，定義系統功能。
   - 制定數據集和模型的選擇方案。
   - 規劃網站架構與前後端的功能需求。

2. **資料集準備與標註（10月-12月）**
   - 收集瑜珈相關資料集（KIMORE, UI-PRMD, 自建瑜珈數據集）。
   - 整理並標註資料，特別是關鍵骨架點的標註。
   - 數據增強，擴充資料集以增加多樣性。

3. **骨架提取技術選擇（11月-12月）**
   - 決定使用OpenPose或MediaPipe等工具來進行骨架提取。
   - 測試骨架提取工具的準確性和效率，確定最適合的方案。

4. **模型訓練與調整（12月-3月）**
   - 訓練ST-GCN或DSTA模型，並進行多次測試與調整。
   - 調整參數，優化模型的準確性與效能。
   - 進行模型評分機制的設計與實驗（score function）。
 
5. **網站開發與整合（2月-4月）**
   - 開發網站的前端和後端功能。
   - 整合骨架辨識模型到後端，確保可以即時進行動作分析與評分。
   - 在網站上顯示動作名稱、分數和次數等訊息。

6. **系統測試與優化（4月）**
   - 系統整合測試，確保網站能穩定運行。
   - 根據用戶測試的反饋進行調整和優化。
   - 測試系統的實時性能，進行最終的優化。

7. **專題報告與準備發表（4月-5月）**
   - 撰寫完整的專題報告。
   - 準備演示文稿與成果展示。
   - 進行專題發表的模擬練習。

---

### 甘特圖：

- **需求分析與系統設計：** 10月 - 11月
- **資料集準備與標註：** 10月 - 12月
- **骨架提取技術選擇：** 11月 - 12月
- **模型訓練與調整：** 12月 - 3月
- **網站開發與整合：** 2月 - 4月
- **系統測試與優化：** 4月
- **專題報告與準備發表：** 4月 - 5月

