---
# System prepended metadata

title: 一些模型的測試

---

# 一些模型的測試
[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)
