隨機智能手機的普及,在日常生活中,大多數人在做任何事情的時候,都會隨身攜帶手機。如果開啟手機中的傳感器,當用戶運動時,就可以采集大量的用戶信息,根據這些信息,就可以判斷當前用戶的運動模式,如行走、上樓梯、下樓梯、坐、站立、躺下等等。基于這些運動模式,設計不同的場景,為健身類或運動類應用(APP)增加一些有趣功能。
在智能手機中,常見的位置信息傳感器就是 加速度傳感器(Accelerometer)和陀螺儀(Gyroscope)。
加速度傳感器:用于測量手機移動速度的變化和位置的變化;
陀螺儀:用于測試手機移動方向的變化和旋轉速度的變化;
傳感器
本文主要根據手機的傳感器數據,訓練深度學習模型,用于預測用戶的運動模式。
數據
本例的數據來源于UCI(即UC Irvine,加州大學歐文分校)。數據由年齡在19-48歲之間的30位志愿者,智能手機固定于他們的腰部,執行六項動作,即行走、上樓梯、下樓梯、坐、站立、躺下,同時在手機中存儲傳感器(加速度傳感器和陀螺儀)的三維(XYZ軸)數據。傳感器的頻率被設置為50HZ(即每秒50次記錄)。對于所輸出傳感器的維度數據,進行噪聲過濾(Noise Filter),以2.56秒的固定窗口滑動,同時窗口之間包含50%的重疊,即每個窗口的數據維度是128(2.56*50)維,根據不同的運動類別,將數據進行標注。傳感器含有三類:身體(Body)的加速度傳感器、整體(Total)的加速度傳感器、陀螺儀。
以下是根據數據繪制的運動曲線,站立(紅色)、坐(綠色)、躺下(橙色)的振幅較小,而行走(藍色)、上樓梯(紫色)、下樓梯(黑色)的振幅較大。
運動曲線
以下是在行走(Walking)中,三類傳感器的三個軸,共9維數據的運動曲線:
傳感器 - 行走
以下是在坐(Sitting)中的運動曲線:
傳感器 - 坐
通過觀察可知,不同運動模式的傳感器數據曲線擁有一定的差異性,但是有些運動模式的差異性并不明顯,如行走、上樓梯、下樓梯之間;相同運動模式的傳感器數據曲線也各不相同。
在數據源中,70%的數據作為訓練數據,30%的數據作為測試數據,生成訓練數據的志愿者與生成測試數據的不同,以保證數據的嚴謹性,符合在實際應用中預測未知用戶動作的準則。
UCI數據源
模型
模型是基于深度學習的DeepConvLSTM算法,算法融合了卷積(Convolution)和LSTM操作,既可以學習樣本的空間屬性,也可以學習時間屬性。在卷積操作中,通過將信號與卷積核相乘,過濾波形信號,保留高層信息。在LSTM操作中,通過記憶或遺忘前序信息,發現信號之間的時序關系。
DeepConvLSTM算法的框架,如下:
DeepConvLSTM
將每類傳感器(身體加速度、整體加速度、陀螺儀)的3個坐標軸(XYZ)數據,合并成一個數據矩陣,即 (128, 3)維,作為輸入數據,每類傳感器均創建1個DeepConvLSTM模型,共3個模型。通過3次卷積操作和3次LSTM操作,將數據抽象為128維的LSTM輸出向量。
在CNN的卷積單元中,通過卷積(1x1卷積核)、BN、MaxPooling(2維chihua)、Dropout的組合操作,連續3組,最后一組執行Dropout。通過MaxPooling的降維操作( 2^3=8),將128維的數據轉為為16維的高層特征。
CNN
在RNN的時序單元中,通過LSTM操作,隱含層神經元數設置為128個,連續三次,將16維的卷積特征轉換為128維的時序特征,再執行Dropout操作。
LSTM
最后,將3個傳感器的3個模型輸出,合并(Merge)為一個輸入,即 128*3=384,再執行Dropout、全連接(Dense)、BN等操作,最后使用Softmax激活函數,輸出6個類別的概率。
Merged
選擇概率較大的類別,作為最終預測的運動模式。
效果
在第48層中,即Concatenate層,將3個傳感器的LSTM輸出合并(Merge)成1個輸入,不同類別的特征,效果也不同,如:
Merged Layer
訓練參數:
epochs = 100batch_size = 256kernel_size = 3pool_size = 2dropout_rate = 0.15n_classes = 6
最終效果,在測試集中,準確率約為95%左右:
loss: 0.0131 - acc: 0.9962 - val_loss: 0.1332 - val_acc: 0.9535val_f1: 0.953794 — val_precision: 0.958533 — val_recall 0.949101
如果繼續調整參數,還可以提升準確率。
通過深度學習算法訓練的用戶動作識別模型,可以應用于移動端進行場景檢測,包含行走、上樓梯、下樓梯、坐、站立、躺下等六種動作。同時,95%的準確率已經滿足大多數產品的需求。
-
傳感器
+關注
關注
2552文章
51237瀏覽量
754753 -
數據
+關注
關注
8文章
7085瀏覽量
89203
發布評論請先 登錄
相關推薦
評論