---
# System prepended metadata

title: SC201 共筆 | 2023-July-A

---

# SC201 共筆 | 2023-July-A

本共筆： https://hackmd.io/@lip0nan/sc201-2023-july-a

## 09/08/2023 22:00

Poster dry-run

滑鼠指到組員在講的部分
可以稍微講解中文題目的梗
outlines掰掰
intro  大概1、2秒
Part改成標題

進而分析做的是不是正確的
一開始介紹用在很多場域
經過市面上調查已經有產品
強調我們使用Zenia的結果


Workflow
ROC和MLP不能比
Cosine similarity 和 MLP score

一頁提到cross validation
並不是簡單可以懂的概念
故需要有一頁介紹
怎麼介紹可以google
畫成表格
像2D矩陣  加顏色
10*10
1D 第幾次validation
2D 第幾個影片
3D 第幾個體位

中間這張圖背後其實是17個點
分析結果是17個座標軸
仔細說17個點是哪些

為什麼要做cosine similarity
是因為要比較
兩個火柴人比較相似度
是一個常見的方法
除以單位總長度
故高矮胖瘦都可以比較


cosine similarity是標準化分數-1~1
加分數很接近0的case
質疑  加絕對值解決  要想一下


ROC curve
每個pose跟sample比會得到分數
也許可以得到0.9分  但要到1分太難了
所以會是0
怎麼選分數很重要
需要討論的點是cosine similarity要決定一個分數，怎麼決定需要設計
修正：
加x limit 0-1、y limit 0-1
比例變正方形


局限性
對於很類似的姿勢過於吹毛求疵
相機放不同地方拍會有不同結果
負的分數是真的不好還是加個負數
人體理解能力很好
HPE結果
故希望藉由機器學習能力讓電腦學習，容許誤差，可以理解不同的攝影機角度，其實是同一個東西
所以我們使用MLP模型來彌補

1.隆重介紹，有介於剛剛cosine similarity的結果，有些缺點，故我們推出posenet，幫助評估做的姿勢是不是對的
2.輸出會比對，做的是不是資料顧忠其中一個體位，會告訴你做得多好
同樣輸入，都是輸出一個分數
cosine輸出0.1分
可以請觀眾看是不是0.1分(0.1低估)
posenet給多少分
10個體位各會有0-1的標準
最高分為最有可能的
現在做的姿勢出來最高的分數跟templete差不多就給過
精益求精100%
詮釋分數的方式

提一下MLP可以有一層或多層
一層一層加上去會發現
train acc都是1
淺的網路也可以overfit
加深度val會改善
到第五層val已降低，代表有可能死記，故採用四
每一層神經的filter太多
4096改1028   可改善overfit（之後再說）

video、frames

提醒cross-val的意義是什麼
雖然全部用的影片是一樣
但拿來測試的標的不一樣
有高有低，代表有些影片跟其他九部不一樣
沒有加在train裡面、放在val會變低

我們增加影片數量是希望學到更豐富內容
提醒聽眾cross val的好處
10個cross val看到不同結果
代表有些影片很重要
增加影片數才能涵蓋不同類型
cross val有起伏

conclusion不用放cosine
alphapose直接接posenet


## 09/05/2023 22:00


### 研究方法

#### 資料搜集
- 羅列五到十個靜態的瑜珈體位 
https://helloyogis.com/magazine/2022/06/27/all-asana/
- 每個體位各搜集十部示範影片，每部影片取10~20禎；不足的部分可以以網路圖片（如 Pinterest ）補齊，目標每個體位至少有 200 張圖片

#### Baseline
- 以上每一張圖片，都餵進 Alpha Pose 做 HPE 分析
- 針對每一個體位，選出一張最具代表性的圖片作為樣本
- 針對每一個體外，計算所有圖片相對於樣本的 cosine similarity 
-- 把胸部移到 (0, 0)
-- 假設本來是 `x.shape = (17, 3)`，第一步是 `x = x - x[None, 0, :]`，第二步是 `x = x / np.linalg.norm(x)`，第三步就可以計算 cosine similarity 了！
- 畫出 ROC 曲線
-- x 軸是判斷綠燈的標準(0.0~1.0)，y 軸是對應的通過率
- 使用情境：
-- 設定一個固定的 cosine similarity 分數，超過就算綠燈
-- 學員做一個動作，跟十張樣本個別比較，取分數最高的

#### MLP: Multi-layer perceptron 
- 設計一個 (Nx3)xM 的 Linear Layer，其中 `N` 為 human pose 點數， `M` 為體位的種類數量
- 使用 Softmax 以及 CrossEntropyLoss 訓練上述神經網路，觀察效果，並與 Baseline 比較
- 增加 MLP 深度至兩層、三層，觀察準確率是否有提升
- 用 SVC (SVM classifier, http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html) 訓練一個 classifier，與 Baseline、MLP 比較


### DEMO
https://colab.research.google.com/drive/1UVIBwKMHXVBYS6l9X5Z45QKHP4T0p2GZ?usp=sharing




## 08/31/2023 22:00

會議連結： https://appleinc.webex.com/appleinc/j.php?MTID=m734d50f1c1d00aba83a03842a768d55f

### Gradio

- https://www.gradio.app/guides/reactive-interfaces
- 目標：把 webcam 接起來
- 也可以先開始想想到時候實際 demo 介面的設計
- 降低畫面解析度

### 實作

- 選一個（或數個，當然是越多越好）靜止的體式，需要一個樣本（可能是網路上的圖片、或者是影片中的截圖）
-- 把這個靜止的影格放入 Alpha Pose，取得一個火柴人
-- 受測者：也做一樣的事情：放進一張進行中的圖片影格，取得一個火柴人
-- 理想上一個體式有越多測試圖片越好，不同角度尤佳
- 樹式、下犬式、上犬式
- 收集錯誤綠燈、錯誤紅燈的案例（螢幕錄影）

### Alpha Pose
- 每個人都試著在自己的電腦上測試
- Colab 帳號升級
- ~~Fine-tuning~~

### Human pose similarity
- https://medium.com/@cavaldovinos/human-pose-estimation-pose-similarity-dc8bf9f78556
- https://medium.com/analytics-vidhya/human-pose-comparison-and-action-scoring-using-deep-learning-opencv-python-c2bdf0ddecba
- https://ai.googleblog.com/2021/01/recognizing-pose-similarity-in-images.html

### Milestone


## 08/26/2023 22:00

會議連結： https://appleinc.webex.com/appleinc/j.php?MTID=m77c4d1c0d8aca8691a72be56cf818333

### 架構的評估
- AlphaPose：有在 colab 上成功
- OpenPose：裝不起來
- 預期目標：
    - 下載下來
    - 跑 webcam demo （目前尚未成功）
    - 跑單一圖片 demo

### 整理測試資料 
儷竹
- 把 Youtube 的影片砍成圖片測試 
- 流程：
    - 先把影片下載下來（mp4、flv）
    - 把影片轉成逐格的圖片(約1~10秒一張)
    - 轉成適當的解析度與長寬比
        - 方法一： pre-processing
        - 方法二： on-the-fly
五部瑜珈、五部徒手重訓

### Zenia、THTC

楊朵

## 08/21/2023 22:30

會議連結：https://appleinc.webex.com/appleinc/j.php?MTID=m8cbc7962305bb2758ca29b91410a9b21

- 現有的資料集（火柴人）
    - 幾點？
    - 是否有額外的手部、臉部標記
- 可用的 Youtube 影片（重訓、瑜伽）
- 相關的 paper （HPE）
    - 單人 vs 多人
    - top-down vs bottom-up
    - 2D vs 3D
    - 執行時間（目標是 33 ms）
    - 經典 paper： DeepPose、OpenPose、Alpha-Pose、Mask R-CNN
- 應用
    - 瑜珈： https://zenia.app
    - 重訓

### 資料彙整



https://docs.google.com/spreadsheets/d/1aXjus9_LPDJvj52IAjX7ltfoktvZoCbL71BaQMBrKM8/edit?usp=sharing

### 8/23 交主題


## 08/19/2023 22:00
會議連結： https://appleinc.webex.com/appleinc/j.php?MTID=m52a340b66b13b94d6288b6892d383fb5

### 自我介紹
背景、使用的電腦環境、平常比較有空的時間

- 柏南：加州的時間較台北時間慢，計算方式是台北時間減三小時日夜顛倒，通常上線的時間是台灣時間晚上十點到下午三點間。主要使用 mac。
- 育辰：DNA/RNA 研究。平常用 Windows，但是也蠻熟悉 Linux。除了禮拜六、禮拜天上課之外基本上都可以。一到五，回到家七、八點。
- 挺彰：主要把紙本的問卷轉成網路的問卷格式讓受訪者去填，研究所念商業分析，之前有用過 python，本身 Mac 和 Windows 都有用過，目前用 Mac。一到五要上班，六日上課之外的時間都可以。八點半後比較保險。
- 儷竹：國際企業系，學貿易，前一份工作在一間建築資訊整合模型的公司上班，作建築的渲染動畫、出圖，建築的物理環境評估、動畫分析，坐向、風場如何冬暖夏涼。下午三點到凌晨四點都是可以的時間。習慣用 Windows。
- 楊朵：學動物科學與畜產，目前在中央畜產會，主要與養豬相關的計畫比較多，農業部下面的執行單位，目前電腦用 Mac，剛換，還在習慣當中。平日七點後比較方便。


### 題目討論

- 育辰：~~聲音置換~~，把自己的聲音換成歌手；圖文生成；人臉變老或變年輕；看到一幅畫寫出詩句
- 挺彰：~~柯南的變聲器~~；文字生成圖片
- 儷竹：Pose estimation（協助教練遠距監控學員的姿勢）關節的位置會不會受傷；把平面圖生成 3D 模型
- 楊朵：列入乳牛平常的資訊、產出適合這隻牛的飼養；基因相關；找到適合自己的 Soul mate （HIMYM）

#### 兩強
- **A** 乳牛：有乳牛活動的資料，想要預測適合的飼養方式
- **B** Pose estimation：以靜態的動作為例，以教練的姿勢為黃金標準

#### 冠軍： Pose estimation 


### 重要日程

- 訂出主題 (08/23. Wed 23:59 截止)	
- Milestone (09/03 Sun. 23:59 截止)
- Pre-Poster Session (09/09 Sat. 09:30 - 12:30 @ Google Meet)
- Final Poster Session (09/24 Sun. 10:30 - 12:30 @ Google Meet)

