以 CNN 為基礎,如何對可穿戴傳感器數據分類?

與非網 發佈 2020-01-14T14:33:25+00:00

該裝置緊緊地綁在上臂上,分別用內置加速度計和陀螺儀測量加速度和方向,因此,時間序列數據具有9 個特徵 in the local frame, in the world frame and in the world frame,數據採集的頻率為 200HZ。

本文使用 CNN來對可穿戴傳感器收集的大規模運動數據進行分類,同時對傳感器數據轉換為不同的圖像格式輸入做出了比較。最佳性能配置以 92.1%的準確率將 50 種健身房運動分類。

作者在這裡使用的是 CNN 而不是 RNN(常用來處理時序數據),是因為每次的重複運動練習(如舉啞鈴)是花費的時間是非常短的少於 4 秒,訓練時不需要長時間的記憶。

數據集使用的是從 PUSH(一種戴在前臂上的可穿戴設備,用於測量運動員的運動)收集的,該數據是由 1441 名男運動員和 307 名女運動員的 449260 個重複運動練習組成的 49194 個集合組成。

因為 CNN 的輸入長度是固定的,所以將每條序列的長度固定為 784。擁有超過 784 個樣本的代表被簡單地裁剪出來 784 個樣本,不足的採用 zero-paded。

該裝置緊緊地綁在上臂上,分別用內置加速度計和陀螺儀測量加速度和方向,因此,時間序列數據具有 9 個特徵(Acc x, Acc y,Acc z) in the local frame, (Acc x, Acc y, Acc z) in the world frame and (EulerAngle x,EulerAngle y, EulerAngle z) in the world frame,數據採集的頻率為 200HZ。

將傳感器數據轉換成 2D 形式的輸入有 3 種方法。不同的圖像格式選擇會導致不同的卷積與不同的相鄰元素,其中可能包括不相關元素之間的卷積。

把 9×784 的時間序列數據作為一個矩形二維圖像。

將三個不同的特徵組(local accelerations,world acceleraTIons,and Euler angles)類比為圖像中的 RGB通道,並創建一個 3×784×3 的張量。

將 9×784 的時間序列數據重新塑造為 84×84 的方陣如下圖所示。

不同各式的 2D 輸入對於卷積的影響

對於 9*784 形式的輸入來說,如果進行步長為 1 的卷積操作(作者稱為 9*784 full),Acc_x_local 位於圖像的最上面一行,直到最後一層才與位於最下面一行的 Euler_Angle_z 進行卷積,然而 Acc_z_world 位於圖像的第 6 行,它與位於第 7 行的 Euler_Angle_x 有很多卷積的機會,因為它們是相鄰的。

對於 3*784*3 形式的輸入來說,由於卷積分別在 3 個通道上分別進行,這樣不同的組之間就不會發生卷積。

為了避免 9*784 形式的輸入在一層中不同組之間的卷積,可以使用卷積步長來避免這種影響(作者稱為 9*789 disjointed)。如下圖所示。

左圖中沿著 y 軸移動步長為 1 這樣不同的組之間就會發生卷積。右圖中沿著 y 軸移動而步長為 3,可以避免不同組之間進行卷積。

實驗結果表明,將不同的特徵組(local acceleraTIon,world acceleraTIon, Euler angle)作為不同的圖像通道(3*784*3)處理比二維正方形(84*84)圖像或矩形(9*783)圖像效果更好。

關鍵字: