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