# 一些模型的測試 [TOC] ## 動作 ### 1. 單純1D CNN (C64-C64-M3-C128-C128-M2-D5) 效果: 不錯 action_name = ["down","up","walk","run","raise"] :::spoiler the output of nonseperate data(offset) ![](https://i.imgur.com/fuMSq5o.png) ![](https://i.imgur.com/l1NmJhZ.png) ::: :::spoiler the output of seperate data |Name |offset| |-----|--------| |bear|![](https://i.imgur.com/MU56pX9.png)| |haha|![](https://i.imgur.com/ealPAnA.png)| |rabbit |![](https://i.imgur.com/ZW9ZHNM.png)| |senior |![](https://i.imgur.com/0w02hAQ.png)| ::: #### 結果: **有無加offest差別:** 穩定度,加了比較穩定,像是我跑了seperate_senior那個測資,我跑了6次,有3出來test_acc都是一樣的(0.9180327653884888),最高有到0.983;但是若沒加offest,跑8次出來結果有過0.55, 0.54, 0.90, 0.91, 0.86, 0.81, 0.90, 0.86 而且從 |offset|no offest| |------|---------| |![](https://i.imgur.com/7RD1uI9.png)|![](https://i.imgur.com/yafoAAG.png)| 就看的出來 (上述兩張圖不是我故意抓兩張對比較誇張的圖來的,是真的每次跑出來都差不多這樣的,我大概用seperate_senoir那筆測資各跑5-10次左右得出來的結論) **accel和velocity:** 加了accel,7次下來平均0.9250585436820984 :::spoiler 圖 ![](https://i.imgur.com/tm0EnZw.png) ::: 加了velocity,7次下來平均0.9578454409326826 :::spoiler 圖 ![](https://i.imgur.com/IgBlqwF.png) ::: ### 2. 單純lstm (L50-L50-D5) (棄用) 效果: ### 3. 1D CNN + LSTM (暫時封印) 作法0: 直接 CNN + LSTM 一起train 疑惑: CNN + LSTM 真的有意義嗎? 如果用CNN是想要擷取出一個時間點的25個node之間的關聯性的話,是不是用dense的效果其實會比較好。 如果kernel_size = 1的話,那為麼不直接用dense就好。 如果kernel_size > 1的話,其實就已經有取時序性的性質了那是否會跟LSTM重疊,當CNN kernel_size是5,相當於說是取5個frame之間的關聯 --------------------------------- ### 4. 拆成3個部分 細節: 將25個關節手動分成3部分,上半身、下半身、整體,此3部分分別用不同的1DCNN 先去抓到一些細節,再接者可用1,2,3之方法處理 4_1效果: 4_2效果: 4_3效果: 巧恩有做 ### 5. 將X, Y分開來訓練 (棄用) 細節: 將X, Y 兩channel 分開來使用CNN 這樣就不是50,而是25+25 接者再融合1,2,3,4的方法訓練 ## 額外的想法 ### 多加一些feature 如: 速度、加速度、關節之間角度(膝蓋彎曲角度、 手軸彎曲角度) ## 身分判別 ### 訓練資料: 0425 gym dataset: member(bear, rabbit, haha), action(walk,run) 所以,又分 1. non_seperate: walk 和 run 混在一起訓練,混在一起測試。 origin_data.shape(9809,50,50), frame=50, shift=50 | none | displacement | a | v | dis+v | | -------- | -------- | -------- | -------- | -------- | | 0.669897246 | 0.876249409 | 0.824661372 | 0.88278842 | 0.88797291 | | dis+a | v+a | dis+a+v | none+v | none+a | | ------- | ------- | ------- | ------- | ------- | | 0.837459131 | 0.82503503 | 0.855768333 | 0.81849603 | 0.844056516 | * preprocess-accel結果: epoch=30, 8次平均下來0.84 * preprocess-accel+offset(data.shape=(9809,50,100))結果: epoch=30, 8次平均下來0.86 * preprocess-offset結果: epoch=30, 8次平均下來0.97 ![](https://i.imgur.com/aqqsjtG.png) * 測試拿掉某點 1,8 :0.967 17,18: 0.896 2,3,4: 0.958 5,6,7: 0.890 2,3,4,5,6,7: 0.865 1,8,2,3,4,5,6,7: 0.802 9,10,11,22: 0906 12,13,14,19: 0.916 12,13,14,19,9,10,11,22: 0.675 23,24,20,21: 0.872 1,8,12,13,14,19: 0.844 1,8,9,10,11,22: 0.833 2. seperate: walk, run 分開來訓練,也分開來測試。 #### run * preprocess-accel結果: epoch=30, 8次平均下來0.9587 #### walk * preprocess-accle結果: epoch=30, 8次平均下來0.8093 # new model ![](https://i.imgur.com/AxrVuSC.png)