# 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)