999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TensorFlow及LSTM模型的室內(nèi)行為識(shí)別算法的研究與實(shí)現(xiàn)

2020-04-01 18:12:32董海山徐曉?shī)?/span>鄭春紅
現(xiàn)代計(jì)算機(jī) 2020年6期
關(guān)鍵詞:分類活動(dòng)模型

董海山,徐曉?shī)櫍嵈杭t

(青島職業(yè)技術(shù)學(xué)院信息學(xué)院,青島266555)

0 引言

近來(lái)像智能手機(jī)等移動(dòng)設(shè)備加入了越來(lái)越多各式各樣功能強(qiáng)大的傳感器,這些傳感器包括:GPS傳感器、視覺(jué)傳感器(如攝像頭)、聽覺(jué)傳感器(如耳機(jī))、光傳感器、溫度傳感器、方向傳感器(如指南針)和加速度傳感器(如加速計(jì))。這些移動(dòng)設(shè)備雖體積小,但計(jì)算能力強(qiáng),可以發(fā)送和接受大量數(shù)據(jù),因此被大量的在我們?nèi)粘I钪惺褂茫矠閿?shù)據(jù)挖掘的研究和應(yīng)用開辟了新的領(lǐng)域。本文的目的就是通過(guò)利用智能手機(jī)所產(chǎn)生的傳感器數(shù)據(jù)來(lái)研究和實(shí)現(xiàn)可以識(shí)別人體室內(nèi)行為的算法。

大部分Android智能手機(jī)及其他智能設(shè)備都配有加速度傳感器、重力傳感器和方向傳感器,這些傳感器不光具備測(cè)量立體空間的能力,還可以檢測(cè)方向(通過(guò)手機(jī)重力傳感器)。如果建立了通過(guò)傳感器數(shù)據(jù)識(shí)別人體室內(nèi)行為的模型,我們就可以創(chuàng)建一些應(yīng)用,例如自動(dòng)生成用戶每天、每周甚至每月的活動(dòng)報(bào)告,并自動(dòng)發(fā)給用戶,報(bào)告中可以根據(jù)檢測(cè)的運(yùn)動(dòng)量給用戶一些運(yùn)動(dòng)乃至營(yíng)養(yǎng)建議。同時(shí)行為信息還可以被用來(lái)匹配用戶行為,例如檢測(cè)到用戶在運(yùn)動(dòng)或睡覺(jué),可以把電話自動(dòng)轉(zhuǎn)到語(yǔ)音信箱,還可以有其他各種各樣的應(yīng)用場(chǎng)景。通過(guò)手機(jī)傳感器可以測(cè)量出一段隨時(shí)間變化的三向加速度數(shù)據(jù),而活動(dòng)也可以看成一個(gè)由時(shí)間和空間組合而成的一個(gè)序列,因此通過(guò)對(duì)傳感器數(shù)據(jù)的處理、判斷、分類,我們就可以有效的對(duì)室內(nèi)活動(dòng)進(jìn)行識(shí)別。

本文所提出的構(gòu)建基于LSTM模型的算法,對(duì)傳感器中獲取的數(shù)據(jù)進(jìn)行表征學(xué)習(xí),并對(duì)數(shù)據(jù)進(jìn)行處理、分類,最終實(shí)現(xiàn)對(duì)人體活動(dòng)的有效識(shí)別。實(shí)驗(yàn)表明,本文所使用的算法在識(shí)別人體活動(dòng)時(shí)具有較高的準(zhǔn)確率,表明實(shí)驗(yàn)方法的實(shí)際可行性。

1 深度學(xué)習(xí)簡(jiǎn)介

深度學(xué)習(xí)是機(jī)器學(xué)習(xí)中一種基于對(duì)數(shù)據(jù)進(jìn)行表征學(xué)習(xí)的方法[1]。它通過(guò)多層結(jié)構(gòu)讓機(jī)器自動(dòng)在數(shù)據(jù)里找到特征或者規(guī)律,從而對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè)和分類,減少了人為設(shè)計(jì)特征造成的不完備性。

神經(jīng)網(wǎng)絡(luò)[2]由大量的神經(jīng)元相互連接而成。每個(gè)神經(jīng)元在接受線性組合的輸入后,最開始只是簡(jiǎn)單的線性加權(quán),后來(lái)給每個(gè)神經(jīng)元加上了非線性的激活函數(shù),并進(jìn)行非線性變換后輸出,增強(qiáng)了神經(jīng)元的表征能力。每?jī)蓚€(gè)神經(jīng)元之間的連接代表加權(quán)值,稱之為權(quán)重(weight)。不同的權(quán)重和激活函數(shù),會(huì)導(dǎo)致神經(jīng)網(wǎng)絡(luò)不同的輸出。

RNN(Recurrent Neuron Network)是一種特殊的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[3],它是根據(jù)“人的認(rèn)知是基于過(guò)往的經(jīng)驗(yàn)和記憶”這一觀點(diǎn)提出的。它與CNN(Convolutional Neural Network)不同的是:它不僅考慮前一時(shí)刻的輸入,而且賦予了網(wǎng)絡(luò)對(duì)前面的內(nèi)容的一種“記憶”功能.。RNN所以稱為循環(huán)神經(jīng)網(wǎng)路,即一個(gè)序列當(dāng)前的輸出與前面的輸出也有關(guān),具體的表現(xiàn)形式為網(wǎng)絡(luò)會(huì)對(duì)前面的信息進(jìn)行記憶并應(yīng)用于當(dāng)前輸出的計(jì)算中,即隱藏層之間的節(jié)點(diǎn)不再無(wú)連接而是有連接的,并且隱藏層的輸入不僅包括輸入層的輸出還包括上一時(shí)刻隱藏層的輸出。

2 LSTM神經(jīng)網(wǎng)絡(luò)

2.1 基本思想

LSTM(Long Short Term Memory networks)神經(jīng)網(wǎng)絡(luò)是一種特殊的RNN網(wǎng)絡(luò)[4],該網(wǎng)絡(luò)設(shè)計(jì)出來(lái)是為了解決長(zhǎng)依賴問(wèn)題。本文使用谷歌開源TensorFlow機(jī)器學(xué)習(xí)框架構(gòu)建LSTM模型,模型主要包括了輸入層、LSTM層、輸出層、loss、optimizer等部分的構(gòu)建。LSTM模型主要用于解決RNN模型中梯度消亡現(xiàn)象,如圖1所示,LSTM接受上一時(shí)刻的輸出結(jié)果,當(dāng)前時(shí)刻的系統(tǒng)狀態(tài)和當(dāng)前系統(tǒng)輸入,通過(guò)輸入門、遺忘門和輸出門更新系統(tǒng)狀態(tài)并將最終的結(jié)果進(jìn)行輸出。如下公式為核心算法,輸入門為It,遺忘門為ft,輸出門為ot,遺忘門來(lái)決定上一時(shí)刻的狀態(tài)信息中某部分?jǐn)?shù)據(jù)需要被遺忘,輸入門來(lái)決定當(dāng)前輸入中某部分?jǐn)?shù)據(jù)需要保留在狀態(tài)中,輸出門來(lái)決定由當(dāng)前時(shí)刻的系統(tǒng)輸入、前一時(shí)刻的輸入和狀態(tài)信息組合而成的信息中那些部分可以作為最終的輸出[5]。

圖1 LSTM模型

2.2 算法設(shè)計(jì)

活動(dòng)識(shí)別的算法流程框架如圖2所示。首先對(duì)從手機(jī)傳感器上采集到的數(shù)據(jù)進(jìn)行預(yù)處理,通過(guò)數(shù)據(jù)標(biāo)準(zhǔn)化使得訓(xùn)練時(shí)能更快地收斂,并且不被異常值所影響;然后通過(guò)LSTM模型方法對(duì)人體典型活動(dòng)進(jìn)行學(xué)習(xí),以實(shí)現(xiàn)不同活動(dòng)的特征提取;最后進(jìn)行活動(dòng)的分類。

圖2 算法流程

3 TensorFlow實(shí)現(xiàn)

3.1 數(shù)據(jù)預(yù)處理

生活中的活動(dòng)各種各樣,為了更好地、更精確地識(shí)別人體行為特征,我們對(duì)人體典型行為分六大類:上樓(Upstairs)、下樓(Downstairs)、坐(Sitting)、站(Stand?ing)、慢跑(Jogging)、走路(Walking)。為了得到更有利于特征提取的形式,在對(duì)數(shù)據(jù)進(jìn)行特征提取和識(shí)別之前,先要對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理:本文利用標(biāo)準(zhǔn)分?jǐn)?shù)進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化,同時(shí)對(duì)數(shù)據(jù)序列進(jìn)行固定切片,每個(gè)序列包含200個(gè)訓(xùn)練例子,如此可以保證這些特征都具有相近的尺度,幫助梯度下降算法更快地收斂,代碼如下:

N_TIME_STEPS=200

N_FEATURES=3

step=20

segments=[]

labels=[]

for Iin range(0,len(df)-N_TIME_STEPS,step):

xs=df[‘x-axis’].values[i:I+N_TIME_STEPS]

ys=df[‘y-axis’].values[i:I+N_TIME_STEPS]

zs=df[‘z-axis’].values[i:I+N_TIME_STEPS]

label=stats.mode(df[‘a(chǎn)ctivity’][i:I+N_TIME_STEPS])[0][0]

segments.append([xs,ys,zs])

labels.append(label)

3.2 模型建立

對(duì)標(biāo)準(zhǔn)化的數(shù)據(jù)進(jìn)行兩次卷積操作,卷積使用Re?LU激活函數(shù),并且在后面帶有最大池化層。同時(shí)使用tf.reshape函數(shù)對(duì)第二個(gè)卷積層的輸出進(jìn)行變形,將其轉(zhuǎn)成一維向量,然后連接兩個(gè)全連層,隱含節(jié)點(diǎn)為100,并使用tanh激活函數(shù)。

為了減輕過(guò)擬合,增加一個(gè)Dropout層,通過(guò)placeholder傳入數(shù)值類控制。訓(xùn)練時(shí)會(huì)隨機(jī)丟棄一分類相似數(shù)據(jù)來(lái)減輕過(guò)擬合,預(yù)測(cè)試則保留全部數(shù)據(jù)追求更高的預(yù)測(cè)性能。全連接層的輸出連接一個(gè)Soft?max層,得到最后的概率輸出。

N_CLASSES=6

N_HIDDEN_UNITS=64

def create_LSTM_model(inputs):

W={

‘hidden’:tf.Variable(tf.random_normal([N_FEATURES,N_HIDDEN_UNITS])),

‘output’: tf.Variable(tf.random_normal([N_HID?DEN_UNITS,N_CLASSES]))

}

biases={

‘hidden’: tf.Variable (tf.random_normal([N_HID?DEN_UNITS],mean=1.0)),

‘output’:tf.Variable(tf.random_normal([N_CLASSES]))

}

X=tf.transpose(inputs,[1,0,2])

X=tf.reshape(X,[-1,N_FEATURES])

hidden=tf.nn.relu(tf.matmul(X,W[‘hidden’])+biases[‘hidden’])

hidden=tf.split(hidden,N_TIME_STEPS,0)

lstm_layers = [tf.contrib.rnn.BasicLSTMCell(N_HID?DEN_UNITS,forget_bias=1.0)for_in range(2)]

lstm_layers=tf.contrib.rnn.MultiRNNCell(lstm_layers)

outputs,_=tf.contrib.rnn.static_rnn(lstm_layers,hidden,dtype=tf.float32)

lstm_last_output=outputs[-1]

return tf.matmul(lstm_last_output,W[‘output’])+biases[‘output’]

下面開始訓(xùn)練過(guò)程。首先依然是初始化所有參數(shù)。共進(jìn)行50次訓(xùn)練迭代,參與訓(xùn)練的樣本數(shù)量總共54901。其中每次訓(xùn)練都分批次處理,同時(shí)我們會(huì)對(duì)準(zhǔn)確率進(jìn)行一次評(píng)測(cè),用以實(shí)時(shí)監(jiān)測(cè)模型的性能,通過(guò)圖3可以看到模型的準(zhǔn)確率大概在97%,損失值大約0.2。

saver=tf.train.Saver()

history=dict(train_loss=[],

train_acc=[],

test_loss=[],

test_acc=[])

sess=tf.InteractiveSession()

sess.run(tf.global_variables_initializer())

train_count=len(X_train)

for iin range(1,N_EPOCHS+1):

for start,end in zip(range(0,train_count,BATCH_SIZE),

range(BATCH_SIZE,train_count+1,BATCH_SIZE)):

sess.run(optimizer,feed_dict={X:X_train[start:end],

Y:y_train[start:end]})

_,acc_train,loss_train=sess.run([pred_softmax,accuracy,loss],feed_dict={

X:X_train,Y:y_train})

_,acc_test,loss_test=sess.run([pred_softmax,accuracy,loss],feed_dict={

X:X_test,Y:y_test})

history['train_loss'].append(loss_train)

history['train_acc'].append(acc_train)

history['test_loss'].append(loss_test)

history['test_acc'].append(acc_test)

ifi!=1andi%10!=0:

continue

print(f'epoch:{i}testaccuracy:{acc_test}loss:{loss_test}')

predictions,acc_final,loss_final=sess.run([pred_softmax,ac?

curacy,loss],feed_dict={X:X_test,Y:y_test})

print()

print(f'finalresults:accuracy:{acc_final}loss:{loss_final}')

圖3 訓(xùn)練過(guò)程

3.3 效果評(píng)估

深度學(xué)習(xí)結(jié)果的準(zhǔn)確性判定比較復(fù)雜,一般基于個(gè)人經(jīng)驗(yàn)的,沒(méi)有嚴(yán)格的數(shù)學(xué)和理論來(lái)支持和計(jì)算準(zhǔn)確度,絕大多數(shù)研究使用交叉驗(yàn)證和統(tǒng)計(jì)測(cè)試來(lái)比較分類器對(duì)特定數(shù)據(jù)集的性能,本文選取20%樣本數(shù)據(jù)作為測(cè)試集。針對(duì)具有n個(gè)類別的分類問(wèn)題,針對(duì)特定方法的分類結(jié)果可以被保存在混淆矩陣Mn×n中。混淆矩陣可以使得元素Mij的值等于實(shí)際分類為類j的來(lái)自類別i的實(shí)例的數(shù)量。

4 程序運(yùn)行界面效果

該程序運(yùn)行的效果如圖5所示,主界面顯示六大類活動(dòng)的名稱及概率值,最高概率的即為模型所預(yù)測(cè)的活動(dòng),非常直觀。

5 結(jié)語(yǔ)

本文首先介紹了深度學(xué)習(xí)和RNN神經(jīng)網(wǎng)絡(luò)的基本概念,其次給出了LSTM模型的思想和算法設(shè)計(jì),然后介紹使用TensorFlow標(biāo)準(zhǔn)化數(shù)據(jù)、創(chuàng)建訓(xùn)練LSTM模型并評(píng)估效果,最后實(shí)現(xiàn)了一個(gè)簡(jiǎn)單應(yīng)用:根據(jù)手機(jī)持有人的活動(dòng)預(yù)測(cè)其行為。與傳統(tǒng)的識(shí)別方法相比,本方法無(wú)需人為地優(yōu)選特征即可有效識(shí)別相似動(dòng)作,如走、上樓、下樓、慢跑、站和坐,能明顯提高人體行為的識(shí)別率,可在實(shí)際應(yīng)用中實(shí)時(shí)使用,是一種理想的分類模型。

圖4 混淆矩陣

圖5應(yīng)用界面

猜你喜歡
分類活動(dòng)模型
一半模型
“六小”活動(dòng)
“活動(dòng)隨手拍”
行動(dòng)不便者,也要多活動(dòng)
中老年保健(2021年2期)2021-08-22 07:31:10
分類算一算
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
分類討論求坐標(biāo)
數(shù)據(jù)分析中的分類討論
三八節(jié),省婦聯(lián)推出十大系列活動(dòng)
海峽姐妹(2018年3期)2018-05-09 08:20:40
主站蜘蛛池模板: 国产成人禁片在线观看| 情侣午夜国产在线一区无码| 91国内在线观看| 性视频久久| 免费无码一区二区| 欧美午夜在线播放| 日韩欧美中文在线| 国产激情影院| 国产剧情国内精品原创| 国产在线专区| 国产日韩久久久久无码精品| 亚洲国产精品一区二区第一页免| 2020国产在线视精品在| 久久香蕉国产线| 中文字幕天无码久久精品视频免费 | 在线人成精品免费视频| 欧洲免费精品视频在线| 国产成人高清精品免费| 韩日免费小视频| 色首页AV在线| 亚洲精品老司机| 日韩福利视频导航| 99色亚洲国产精品11p| 一本色道久久88综合日韩精品| 久久久精品无码一二三区| 欧洲精品视频在线观看| 久热中文字幕在线观看| 国产精品妖精视频| 女人一级毛片| 日韩国产黄色网站| 国产精品亚洲欧美日韩久久| 九九视频免费看| 激情六月丁香婷婷四房播| 综合色天天| 国产拍揄自揄精品视频网站| 久久国产精品麻豆系列| 18禁色诱爆乳网站| 欧美高清国产| 久久人妻系列无码一区| 日韩a在线观看免费观看| 91美女在线| 国产成人无码综合亚洲日韩不卡| 国产女人在线观看| 亚洲国产欧美目韩成人综合| 久草国产在线观看| 免费99精品国产自在现线| 97超爽成人免费视频在线播放| 精品久久香蕉国产线看观看gif| 午夜色综合| 亚洲啪啪网| 伊人久久大香线蕉aⅴ色| 久久久亚洲国产美女国产盗摄| 亚洲三级片在线看| 成人福利在线视频免费观看| 国产凹凸一区在线观看视频| 亚洲欧美成人在线视频| 国产偷国产偷在线高清| 亚洲免费福利视频| 日本日韩欧美| 亚洲无码视频喷水| 亚洲一区二区视频在线观看| 8090成人午夜精品| 国产在线一区二区视频| аv天堂最新中文在线| 五月天天天色| 特黄日韩免费一区二区三区| …亚洲 欧洲 另类 春色| 亚洲三级视频在线观看| 色婷婷成人| 毛片在线看网站| 1769国产精品视频免费观看| 久久国产精品电影| 国产美女无遮挡免费视频网站| 中文国产成人精品久久一| 91麻豆精品国产91久久久久| 中文天堂在线视频| 国产欧美高清| 久热这里只有精品6| 熟妇人妻无乱码中文字幕真矢织江| 久久久久青草线综合超碰| 日韩精品亚洲人旧成在线| 亚洲人成日本在线观看|