孫小華
摘 ? 要:文章提出一種基于長(zhǎng)短期記憶網(wǎng)絡(luò)的人體運(yùn)動(dòng)狀態(tài)識(shí)別方法。通過(guò)手機(jī)內(nèi)置的加速度傳感器采集相關(guān)數(shù)據(jù),對(duì)采集的數(shù)據(jù)進(jìn)行預(yù)處理,采用LSTM算法對(duì)人體運(yùn)動(dòng)狀態(tài)進(jìn)行分類(lèi)。此算法不需要人工進(jìn)行特征提取,在TensorFlow環(huán)境下的實(shí)驗(yàn)結(jié)果顯示,此算法分類(lèi)精度較高,對(duì)靜止、走路、慢跑、上樓梯、騎車(chē)5種運(yùn)動(dòng)狀態(tài)的識(shí)別率超過(guò)90%。
關(guān)鍵詞:長(zhǎng)短期記憶網(wǎng)絡(luò);人體行為識(shí)別;加速度傳感器
人體運(yùn)動(dòng)狀態(tài)識(shí)別系統(tǒng)根據(jù)輸入的信息對(duì)人體的運(yùn)動(dòng)狀態(tài)進(jìn)行分類(lèi),可以用于老人或病人的監(jiān)護(hù)、智能家居、安全監(jiān)控、運(yùn)動(dòng)追蹤等系統(tǒng)。隨著現(xiàn)代生活方式的轉(zhuǎn)變,人們的日常運(yùn)動(dòng)量變得越來(lái)越少。日常的運(yùn)動(dòng)情況不僅能夠?yàn)獒t(yī)生診斷和治療疾病提供豐富的參考信息,而且可靠的運(yùn)動(dòng)監(jiān)測(cè)技術(shù)還能夠更智能地提醒人們保持健康的生活方式,如子女可以隨時(shí)獲得家中老人的運(yùn)動(dòng)狀態(tài),當(dāng)老人出現(xiàn)跌倒、昏迷等意外情況時(shí),系統(tǒng)自動(dòng)發(fā)出報(bào)警信息,這對(duì)老年人的健康安全和及時(shí)救助具有十分重要的意義。
傳統(tǒng)人體運(yùn)動(dòng)狀態(tài)的識(shí)別主要通過(guò)可穿戴式設(shè)備采集相關(guān)的數(shù)據(jù)進(jìn)行分析,但穿戴這些設(shè)備會(huì)導(dǎo)致人體運(yùn)動(dòng)不便。近年來(lái),隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)及傳感器技術(shù)的發(fā)展,智能手機(jī)內(nèi)置了加速度、陀螺儀、光、磁場(chǎng)、氣壓等傳感器,可以采集手機(jī)的狀態(tài)數(shù)據(jù),通過(guò)對(duì)采集的手機(jī)各類(lèi)傳感器數(shù)據(jù)進(jìn)行算法分析,對(duì)運(yùn)動(dòng)狀態(tài)進(jìn)行分類(lèi)識(shí)別,從而判斷出人體當(dāng)前的運(yùn)動(dòng)狀態(tài)。與傳統(tǒng)的可穿戴式設(shè)備相比,采用智能手機(jī)進(jìn)行人體運(yùn)動(dòng)狀態(tài)識(shí)別具有便捷性的優(yōu)點(diǎn)。
常用的人體運(yùn)動(dòng)狀態(tài)識(shí)別分類(lèi)算法有貝葉斯網(wǎng)絡(luò)、支持向量機(jī)(Support Vector Machine,SVM)、K-means聚類(lèi)、BP神經(jīng)網(wǎng)絡(luò)、隱馬爾可夫模型(Hidden Markov Model,HMM)、決策樹(shù)等,但這些方法的效果都與選擇的特征相關(guān),如加速度的最大值、最小值、方差等,如果特征選擇的不合適,識(shí)別的精度將受到影響。本文基于深度學(xué)習(xí)算法對(duì)人體運(yùn)動(dòng)狀態(tài)進(jìn)行識(shí)別,根據(jù)智能手機(jī)內(nèi)置傳感器監(jiān)測(cè)到的數(shù)據(jù)判斷人體處于何種運(yùn)動(dòng)狀態(tài),是靜止、慢步還是上樓梯等,處理過(guò)程中不需要對(duì)原始數(shù)據(jù)進(jìn)行人工特征提取及選擇[1-3]。
1 ? ?長(zhǎng)短期記憶網(wǎng)絡(luò)
長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)是一種時(shí)間循環(huán)神經(jīng)網(wǎng)絡(luò),由Schmidhuber教授于1997年為解決傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的長(zhǎng)程依賴問(wèn)題而提出。LSTM不需要特別復(fù)雜地調(diào)試超參數(shù),默認(rèn)就可以記住長(zhǎng)期的信息,近年來(lái),在文本分類(lèi)、語(yǔ)音識(shí)別、圖像識(shí)別、自動(dòng)標(biāo)注、自動(dòng)對(duì)話等領(lǐng)域取得了廣泛的應(yīng)用。
在某一時(shí)刻t,LSTM單元的輸入有3個(gè):當(dāng)前時(shí)刻網(wǎng)絡(luò)的輸入值xt,上一時(shí)刻LSTM的輸出值ht-1以及上一時(shí)刻的單元狀態(tài)Ct-1。LSTM單元的輸出有2個(gè):當(dāng)前時(shí)刻LSTM輸出值h和當(dāng)前時(shí)刻的單元狀態(tài)Ct。LSTM通過(guò)3個(gè)門(mén)結(jié)構(gòu)來(lái)維護(hù)和控制單元的狀態(tài)信息,把LSTM關(guān)于當(dāng)前的記憶和長(zhǎng)期的記憶組合在一起,形成了新的單元狀態(tài)。遺忘門(mén)負(fù)責(zé)控制繼續(xù)保存長(zhǎng)期狀態(tài);輸入門(mén)負(fù)責(zé)控制把即時(shí)狀態(tài)輸入到長(zhǎng)期狀態(tài);輸出門(mén)負(fù)責(zé)控制是否把長(zhǎng)期狀態(tài)作為當(dāng)前的LSTM的輸出。
2 ? ?處理流程
2.1 ?原始數(shù)據(jù)集
本文研究人體靜止、走路、跑步、上樓梯、騎自行車(chē)等狀態(tài)的識(shí)別,實(shí)驗(yàn)選取5名實(shí)驗(yàn)者進(jìn)行,實(shí)驗(yàn)手機(jī)為華為Mate9型號(hào),采集手機(jī)的加速度傳感器數(shù)據(jù)。原始數(shù)據(jù)為人體各種運(yùn)動(dòng)狀態(tài)下Android智能手機(jī)加速度傳感器采集的數(shù)據(jù),對(duì)采集的數(shù)據(jù)人工進(jìn)行類(lèi)別標(biāo)注,如靜止設(shè)為0,走路設(shè)為1,跑步設(shè)為2等。將數(shù)據(jù)的采樣頻率設(shè)為50 Hz,原始數(shù)據(jù)為手機(jī)傳感器在0.02 s內(nèi)采集到的x,y,z 3個(gè)方向的加速度信息,即原始數(shù)據(jù)為具有三維特征的數(shù)據(jù)集,每條數(shù)據(jù)對(duì)應(yīng)一種人體運(yùn)動(dòng)狀態(tài)(即類(lèi)別),如靜止、走路、跑步等運(yùn)動(dòng)狀態(tài),用one-hot編碼表示。
走路時(shí)采集的加速度傳感器在3軸方向上的原始數(shù)據(jù)波形如圖1所示,跑步時(shí)采集的加速度傳感器在3軸方向上的原始數(shù)據(jù)波形如圖2所示??梢钥闯?,雖然加速度數(shù)據(jù)比較混亂,但3個(gè)維度的數(shù)據(jù)變化還是大致呈現(xiàn)規(guī)律性的周期變化[4-5]。
2.2 ?數(shù)據(jù)預(yù)處理
為充分挖掘運(yùn)動(dòng)狀態(tài)信息,通過(guò)滑動(dòng)窗口技術(shù)進(jìn)行特征提取,將每秒采集的數(shù)據(jù)作為一個(gè)樣本,即滑動(dòng)窗口的長(zhǎng)度為1 s。因?yàn)椴蓸宇l率設(shè)為50 Hz,因此,每秒采集的數(shù)據(jù)有50條,維數(shù)為3×50=150維;同時(shí),為了獲取人體運(yùn)動(dòng)狀態(tài)的變化信息,將采集到的加速度數(shù)據(jù)進(jìn)行增量計(jì)算,計(jì)算每次采集到的加速度數(shù)據(jù)與上一次采集到的加速度數(shù)據(jù)的差值,并將差值放大10倍。類(lèi)似,每秒獲得的增量數(shù)據(jù)有50條,維數(shù)為3×50=150維,因此通過(guò)預(yù)處理之后得到的數(shù)據(jù)維數(shù)為300,另外自動(dòng)增加24維全為0的數(shù)據(jù),使數(shù)據(jù)的總維數(shù)剛好為18×18=324維。
2.3 ?LSTM參數(shù)設(shè)置及運(yùn)行流程
將經(jīng)過(guò)預(yù)處理的數(shù)據(jù)導(dǎo)入TensorFlow深度學(xué)習(xí)框架進(jìn)行處理。使用tf.nn.rnn_cell.BasicLSTMCell設(shè)置默認(rèn)的LSTM單元。采用單層LSTM結(jié)構(gòu),添加一個(gè)softmax層用于分類(lèi)。初始化模型中的隱藏層神經(jīng)元數(shù)目為128,迭代次數(shù)為500次,模型的學(xué)習(xí)速率設(shè)置為0.001,優(yōu)化器采用Adam。
為了訓(xùn)練模型,需要定義一個(gè)損失函數(shù)來(lái)描述模型對(duì)人體行為狀態(tài)分類(lèi)的精度,在此采用交叉熵作為損失函數(shù)。接下來(lái)采用隨機(jī)梯度下降方法進(jìn)行訓(xùn)練,優(yōu)化目標(biāo)設(shè)為交叉熵cross_entropy。迭代執(zhí)行訓(xùn)練操作,每次只使用一小部分?jǐn)?shù)據(jù)進(jìn)行隨機(jī)梯度下降,隨機(jī)從訓(xùn)練集中抽取200條作為一個(gè)mini-batch,即批大小batch_size設(shè)為200,這種方法比采用全樣本進(jìn)行訓(xùn)練的收斂速度要快。
完成訓(xùn)練后就可以對(duì)模型的準(zhǔn)確率進(jìn)行驗(yàn)證,求出各種預(yù)測(cè)的人體行為狀態(tài)中概率最大的那一個(gè),然后與實(shí)際的人體行為狀態(tài)標(biāo)簽相比較,如果一致則判別正確,否則判別錯(cuò)誤。將測(cè)試數(shù)據(jù)的特征和標(biāo)簽輸入評(píng)測(cè)流程accuracy,計(jì)算模型中在測(cè)試數(shù)據(jù)集上的準(zhǔn)確率。
3 ? ?實(shí)驗(yàn)結(jié)果及分析
3.1 ?實(shí)驗(yàn)數(shù)據(jù)集
實(shí)驗(yàn)數(shù)據(jù)由5名用戶使用華為Mate9的Android手機(jī)采集的三軸加速度傳感器數(shù)據(jù)組成。數(shù)據(jù)的采樣頻率為50 Hz,采集的數(shù)據(jù)分為靜止、行走、慢跑、上樓梯、騎自行車(chē)等5個(gè)日常行為動(dòng)作。采集的數(shù)據(jù)一共有49 200條,其中42 150條作為訓(xùn)練數(shù)據(jù),7 050條作為測(cè)試數(shù)據(jù)。
3.2 ?實(shí)驗(yàn)結(jié)果
訓(xùn)練集上的精確度變化過(guò)程如圖3所示,可以看出,隨著迭代次數(shù)的增加,精確度迅速上升,并穩(wěn)定保持在0.95以上。
通過(guò)對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練生成模型,在測(cè)試數(shù)據(jù)集上用生成的模型進(jìn)行測(cè)試,得到靜止、走路、跑步、上樓梯和騎自行車(chē)5種人體行為狀態(tài)的綜合分類(lèi)精度為91.5%。與常用的人體運(yùn)動(dòng)狀態(tài)識(shí)別分類(lèi)算法相比,此方法不需要對(duì)原始數(shù)據(jù)進(jìn)行人工特征提取,分類(lèi)精度較高[6-8]。
4 ? ?結(jié)語(yǔ)
本文提出了采用基于長(zhǎng)短期記憶網(wǎng)絡(luò)的分類(lèi)算法對(duì)人體運(yùn)動(dòng)狀態(tài)進(jìn)行識(shí)別,可實(shí)現(xiàn)對(duì)靜止、走路、跑步、上樓梯和騎自行車(chē)等狀態(tài)的識(shí)別。實(shí)驗(yàn)結(jié)果可以看出,分類(lèi)算法判別效果良好,分類(lèi)精度超過(guò)90%,后續(xù)仍可以增加陀螺儀、磁力計(jì)等傳感器獲取更多的原始數(shù)據(jù),以獲得更高的分類(lèi)準(zhǔn)確度。
[參考文獻(xiàn)]
[1]匡曉華,何軍,胡昭華,等.面向人體行為識(shí)別的深度特征學(xué)習(xí)方法比較[J].計(jì)算機(jī)應(yīng)用研究,2018(9):261-261,268.
[2]宿通通,孫華志,馬春梅,等.基于循環(huán)神經(jīng)網(wǎng)絡(luò)的人體行為識(shí)別[J].天津師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2018(6):61-65,79.
[3]陳波,余秋婷,陳鐵明.基于傳感器人體行為識(shí)別深度學(xué)習(xí)模型的研究[J].浙江工業(yè)大學(xué)學(xué)報(bào),2018(4):25-31.
[4]吳軍,肖克聰.基于深度卷積神經(jīng)網(wǎng)絡(luò)的人體動(dòng)作識(shí)別[J].華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2016(S1):190-194.
[5]李鋒,潘敬奎.基于三軸加速度傳感器的人體運(yùn)動(dòng)識(shí)別[J].計(jì)算機(jī)研究與發(fā)展,2016(3):621-631.
[6]RODOLFO B.TensorFlow機(jī)器學(xué)習(xí)項(xiàng)目實(shí)戰(zhàn)[M].北京:人民郵電出版社,2017.
[7]王忠民,張琮,衡霞.CNN與決策樹(shù)結(jié)合的新型人體行為識(shí)別方法研究[J].計(jì)算機(jī)應(yīng)用研究,2017(12):3569-3572.
[8]黃文堅(jiān),唐源.TensorFlow實(shí)戰(zhàn)[M].北京:電子工業(yè)出版社,2017.