段美玲,潘巨龍
(中國(guó)計(jì)量大學(xué) 信息工程學(xué)院,浙江 杭州 310018)
據(jù)世界衛(wèi)生組織報(bào)道,近幾十年來(lái),全球60歲以上的人口增長(zhǎng)迅速,預(yù)計(jì)到2050年將達(dá)到21億[1-2],占世界人口的22%[3]。老齡化成為全球范圍內(nèi)的主要挑戰(zhàn),跌倒是威脅老年人健康的最危險(xiǎn)意外事故之一[4],跌倒會(huì)導(dǎo)致老年人非致命損傷和致命性傷害。老年人跌倒除了會(huì)導(dǎo)致扭傷、擦傷等輕傷,還可能導(dǎo)致嚴(yán)重的并發(fā)癥,例如骨折、腦出血等,進(jìn)而增加家庭的經(jīng)濟(jì)負(fù)擔(dān),影響老年人的生存質(zhì)量。為了減輕跌倒對(duì)老年人造成的傷害與帶來(lái)的嚴(yán)重后果,檢測(cè)老年人跌倒并及時(shí)救治跌倒老人是非常必要的。因此,老人跌倒算法研究具有顯著的社會(huì)意義和現(xiàn)實(shí)意義。
跌倒檢測(cè)目前可大致分為三個(gè)方向:基于環(huán)境傳感器的方法、基于視頻圖像的方法和基于慣性傳感器(加速度、陀螺儀)數(shù)據(jù)的方法?;诃h(huán)境傳感器的方法主要在室內(nèi)多個(gè)位置安裝設(shè)備記錄老年人的活動(dòng),再通過(guò)融合諸如聲音傳感器、壓力傳感器等儀器得到的信息,對(duì)跌倒行為進(jìn)行檢測(cè)。但是該方法易受環(huán)境影響,只能在室內(nèi)等固定區(qū)域檢測(cè)?;谝曨l圖像的方法主要采用計(jì)算機(jī)視覺(jué)檢測(cè),但因泄露用戶(hù)的個(gè)人隱私而不適用于日常生活場(chǎng)景?;趹T性傳感器數(shù)據(jù)的方法因其不侵犯隱私、檢測(cè)范圍廣且能夠長(zhǎng)期檢測(cè)等優(yōu)點(diǎn)而受到學(xué)者和工業(yè)界的廣泛關(guān)注。
隨著微電子技術(shù)的發(fā)展,慣性傳感器因其小巧、成本低廉而被廣泛應(yīng)用于可穿戴設(shè)備中,用來(lái)采集真實(shí)環(huán)境下人體運(yùn)動(dòng)數(shù)據(jù)。通過(guò)分析傳感器數(shù)據(jù)的變化,判斷用戶(hù)是否跌倒,跌倒檢測(cè)算法可大致分為閾值法、機(jī)器學(xué)習(xí)法和深度學(xué)習(xí)法。閾值法是將預(yù)處理或者簡(jiǎn)單提取特征之后的數(shù)據(jù)值與設(shè)定的閾值相比較,進(jìn)而判斷跌倒,如Andò等[5]使用閾值法處理加速度計(jì)和陀螺儀提取的特征,來(lái)判斷人體是否跌倒。機(jī)器學(xué)習(xí)法是將提取的特征作為機(jī)器學(xué)習(xí)算法的輸入,進(jìn)而判斷是否跌倒,常見(jiàn)的機(jī)器學(xué)習(xí)算法包括:支持向量機(jī)[6]、k近鄰[7]、隨機(jī)森林[8]等。如Hua等[8]從加速度提取的信號(hào)特征和步態(tài),通過(guò)隨機(jī)森林來(lái)預(yù)測(cè)老年女性的跌倒風(fēng)險(xiǎn);Hnoohom等[9]從加速度計(jì)和陀螺儀提取特征,采用集成學(xué)習(xí)來(lái)檢測(cè)跌倒行為。深度學(xué)習(xí)法是從數(shù)據(jù)的輸入到判斷的輸出,是端到端的處理。常見(jiàn)的深度學(xué)習(xí)算法包括:卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Networks,CNN)[10]、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN)[11]、長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(Long short-term Memory Neural Networks,LSTM)[12-13]等。如何堅(jiān)等[10]將傳感器數(shù)據(jù)經(jīng)過(guò)預(yù)處理轉(zhuǎn)換為矩陣,使用卷積神經(jīng)網(wǎng)絡(luò)自動(dòng)提取特征,并用softmax分類(lèi)器區(qū)分跌倒和非跌倒行為。
閾值法和機(jī)器學(xué)習(xí)法都基于提取的特征來(lái)執(zhí)行分類(lèi)任務(wù),如何選擇特征向量,各個(gè)特征重要性不一樣,選擇出重要的特征子集,有助于提高分類(lèi)精度,提高模型的泛化性,同時(shí)也能保證模型分類(lèi)的效率。
本文對(duì)跌倒數(shù)據(jù)集進(jìn)行預(yù)處理操作(去除噪音和軸合成處理),提取時(shí)域特征,使用融合Lasso回歸與輕量級(jí)梯度提升機(jī)LightGBM(簡(jiǎn)稱(chēng)Lasso-LGB)算法得到最后的分類(lèi)結(jié)果。用跌倒數(shù)據(jù)集SisFall[14]和MobiAct[15]驗(yàn)證算法效果,結(jié)果表明本文算法有較高的分類(lèi)精度和較好的實(shí)時(shí)性。
Lasso方法是普通線性模型中增加L1懲罰項(xiàng),有助于降低過(guò)擬合風(fēng)險(xiǎn)。添加L1正則化的損失函數(shù)如式(1):
(1)
w=(XTX+λwTw)-1XTy。
(2)
式(2)中,XT是X的轉(zhuǎn)置矩陣,X-1是X的逆矩陣。
Lasso回歸可以使得一些特征系數(shù)變小,選擇出主要的特征,從而增加模型的泛化能力。另外,在跌倒檢測(cè)中,特征向量的提取也是耗時(shí)的,使用Lasso回歸選擇主要的跌倒數(shù)據(jù)特征,該算法適合在實(shí)時(shí)檢測(cè)系統(tǒng)中使用。
AdaBoost是基于Boosting策略的集成算法,基分類(lèi)器為決策樹(shù)。AdaBoost最終的結(jié)果是采取多數(shù)表決的方法,其中基分類(lèi)器權(quán)重的設(shè)置尤為重要。梯度提升樹(shù)(Gradient Boosting Decision Tree,GBDT)與AdaBoost類(lèi)似但有所不同,類(lèi)似之處是將表現(xiàn)一般的數(shù)個(gè)模型組合在一起集成一個(gè)表現(xiàn)較好的模型,不同之處,AdaBoost是通過(guò)提升錯(cuò)誤分類(lèi)數(shù)據(jù)點(diǎn)的權(quán)重來(lái)提升模型性能,而GBDT是通過(guò)計(jì)算負(fù)梯度來(lái)改進(jìn)模型。極限梯度提升樹(shù)(Extreme Gradient Boosting,XGBoost)是基于GBDT的改進(jìn)算法,主要改進(jìn)是將代價(jià)函數(shù)進(jìn)行二階泰勒展開(kāi),使用了一階和二階導(dǎo)數(shù)。GBDT和XGBoost存在空間消耗大及計(jì)算開(kāi)銷(xiāo)大的問(wèn)題。
LightGBM是基于GBDT上的改進(jìn)算法,是采用boosting策略的集成學(xué)習(xí)算法[16]。該算法利用Leaf-wise尋找分裂增益最大的葉子進(jìn)行分裂,如此循環(huán),解決了Leaf-wise可能會(huì)長(zhǎng)出較深的決策樹(shù)而造成過(guò)擬合現(xiàn)象。因此,LightGBM采用帶深度限制的Leaf-wise的葉子生長(zhǎng)策略。然后利用直方圖算法來(lái)提升運(yùn)行效率。最后,LightGBM直接支持類(lèi)別特征,減少了時(shí)間和空間的浪費(fèi),提高運(yùn)行效率。
特征維度較高和樣本較多的情況下,LightGBM具有更快的訓(xùn)練效率、更好的準(zhǔn)確率、可處理大規(guī)模數(shù)據(jù)等優(yōu)勢(shì)。因此LightGBM可以在訓(xùn)練速度和準(zhǔn)確率之間達(dá)到平衡,適合老人跌倒終端的實(shí)時(shí)檢測(cè)需求。
跌倒行為經(jīng)常發(fā)生在老人的日常生活中,跌倒對(duì)老人的傷害是跌倒發(fā)生后不能得到及時(shí)救治所造成的,所以,準(zhǔn)確地判別跌倒和及時(shí)的救助顯得尤為重要。跌倒檢測(cè)算法是指通過(guò)可穿戴設(shè)備采集數(shù)據(jù)進(jìn)行智能計(jì)算后判斷人體是否跌倒的過(guò)程。
將機(jī)器學(xué)習(xí)運(yùn)用于跌倒檢測(cè)中,即把跌倒檢測(cè)轉(zhuǎn)化為分類(lèi)問(wèn)題,機(jī)器學(xué)習(xí)算法通過(guò)提取預(yù)處理后數(shù)據(jù)(采集的大量歷史數(shù)據(jù))的特征進(jìn)行跌倒檢測(cè)。為了提高基于機(jī)器學(xué)習(xí)的跌倒檢測(cè)算法,如何選取跌倒數(shù)據(jù)特征和選擇合適的分類(lèi)器變得尤為重要。因此本文采用Lasso-LGB算法來(lái)執(zhí)行跌倒檢測(cè)分類(lèi)任務(wù),對(duì)于提取的時(shí)域特征,采用Lasso回歸選取跌倒數(shù)據(jù)主要特征,之后采用LightGBM執(zhí)行跌倒檢測(cè)分類(lèi)任務(wù)。該算法一方面可以減少跌倒數(shù)據(jù)的特征數(shù)量,防止過(guò)擬合,減少特征提取開(kāi)銷(xiāo);另一方面又可以提高跌倒模型檢測(cè)的實(shí)時(shí)性和準(zhǔn)確性。本文跌倒檢測(cè)模型示意圖如圖1。
圖1 基于Lasso-LGB的跌倒檢測(cè)示意圖Figure 1 Flowchart of fall detection based on Lasso-LGB
圖1展示了基于Lasso-LGB的跌倒檢測(cè)算法示意圖,具體步驟如下。
1)輸入:原始跌倒數(shù)據(jù)集傳感器的數(shù)值。
2)數(shù)據(jù)預(yù)處理:對(duì)原始數(shù)據(jù)進(jìn)行濾波操作移除傳感器信號(hào)噪聲;使用單軸數(shù)據(jù)可能不能很好地判斷跌倒行為,對(duì)加速度等慣性傳感器三軸數(shù)據(jù)進(jìn)行軸合成處理。
3)特征提取:對(duì)傳感器單軸和軸合成數(shù)據(jù)進(jìn)行特征提取,提取其時(shí)域特征。
4)Lasso-LGB:使用Lasso回歸選擇特征向量中的主要特征,使用LightGBM構(gòu)造跌倒分類(lèi)器。
5)輸出:根據(jù)分類(lèi)器區(qū)分跌倒行為與非跌倒行為,得到跌倒模型的評(píng)價(jià)指標(biāo)。
為了驗(yàn)證Lasso-LGB的有效性,本文選擇了SisFall[14]和MobiAct[15]作為跌倒檢測(cè)研究的數(shù)據(jù)集來(lái)進(jìn)行實(shí)驗(yàn)。此次實(shí)驗(yàn)在64位Windows 10操作系統(tǒng)完成,代碼運(yùn)行環(huán)境為Python 3.7,計(jì)算機(jī)處理器為i5-5200U@2.2GHz,內(nèi)存為12 GB。
SisFall數(shù)據(jù)集的采集設(shè)備由兩個(gè)加速度計(jì)和一個(gè)陀螺儀組成,設(shè)備的采樣頻率為200 Hz,38個(gè)志愿者分為兩組:23名青年人和一名60歲的柔道運(yùn)動(dòng)員在腰上佩戴設(shè)備采集15種跌倒活動(dòng)和19種日常生活活動(dòng);其余14名老年人只采集19種日常生活活動(dòng)。該數(shù)據(jù)集共有4 500個(gè)樣本,包括1 798個(gè)跌倒樣本和2 702個(gè)日常生活樣本。
MobiAct數(shù)據(jù)集使用手機(jī)中的加速度計(jì)、陀螺儀和方向計(jì)來(lái)采集人體行為數(shù)據(jù),采樣頻率為200 Hz,57個(gè)志愿者將手機(jī)放置在褲子口袋中采集4種跌倒行為和9種非跌倒行為。該數(shù)據(jù)集共有3 199個(gè)樣本,包括767個(gè)跌倒樣本和2 432個(gè)非跌倒樣本。
在數(shù)據(jù)采集的過(guò)程中,可能會(huì)產(chǎn)生信號(hào)噪聲,這些噪聲對(duì)構(gòu)建跌倒檢測(cè)模型有很大影響。通過(guò)濾波算法能夠從獲得的信號(hào)數(shù)據(jù)中移除噪聲。本文采用截止頻率為5 Hz的四階無(wú)限脈沖響應(yīng)Butterworth低通濾波器,來(lái)處理信號(hào)噪聲。
跌倒行為發(fā)生時(shí),我們不能判斷向哪個(gè)方向跌倒,當(dāng)使用單一軸的加速度、角速度來(lái)判斷跌倒行為,效果不是很好。因此,我們引入了另外3個(gè)特征如式(3)~(5)。
1)信號(hào)幅度矢量定義為
(3)
2)信號(hào)y軸和z軸的幅度矢量定義為
(4)
3)信號(hào)x軸和z軸的幅度矢量定義為
(5)
式(3)~(5)中,ax,ay,az為加速度等慣性傳感器信號(hào)的三軸數(shù)據(jù)。利用滑動(dòng)窗口機(jī)制得到傳感器4 s的窗口數(shù)據(jù),窗口數(shù)據(jù)按照表1提取特征,得到特征向量。之后對(duì)提取的特征向量進(jìn)行歸一化處理,計(jì)算式如式(6):
表1 本文提取的時(shí)域統(tǒng)計(jì)特征
(6)
式(6)中,μ是所有樣本數(shù)據(jù)均值,σ是所有樣本數(shù)據(jù)的標(biāo)準(zhǔn)差。
由于數(shù)據(jù)集中跌倒樣本和非跌倒樣本不均衡,特別是MobiAct數(shù)據(jù)集,為了對(duì)跌倒檢測(cè)更加準(zhǔn)確,本文采用合成少數(shù)類(lèi)過(guò)采樣技術(shù)(Synthetic Minority Over-sampling Technique,SMOTE)對(duì)跌倒的樣本數(shù)據(jù)進(jìn)行上采樣操作,對(duì)非跌倒數(shù)據(jù)進(jìn)行下采樣操作,使得跌倒樣本與非跌倒樣本的比例為1∶1。采樣前、后的樣本分布詳見(jiàn)表2。
表2 采樣前、后的樣本數(shù)量分布
跌倒檢測(cè)屬于二分類(lèi)問(wèn)題,二分類(lèi)模型判斷結(jié)果存在以下情況[17]:TP是模型預(yù)測(cè)為跌倒,真實(shí)類(lèi)別也是跌倒的樣本數(shù);TN是模型預(yù)測(cè)為日常生活行為,真實(shí)類(lèi)別也是日常生活行為的樣本數(shù);FP是模型預(yù)測(cè)為跌倒,但真實(shí)類(lèi)別是日常生活行為的樣本數(shù),屬于誤判;FN是模型預(yù)測(cè)為日常生活行為,但真實(shí)類(lèi)別卻是跌倒的樣本數(shù),屬于漏判。根據(jù)以上四種情況可以得到敏感度(sensitivity,SE)、特異度(specificity,SP)和準(zhǔn)確率(accuracy,A)3種模型評(píng)估指標(biāo):
(7)
(8)
(9)
其中SE反映模型識(shí)別跌倒行為的能力,SP反映模型識(shí)別日常生活行為的能力,A反映模型總體的精確度。較高的敏感度反映了較低的漏報(bào)率,較高的特異度反映了較低的誤報(bào)率。此外,算法的時(shí)延也是老人跌倒檢測(cè)的一個(gè)重要評(píng)價(jià)指標(biāo)。
SisFall數(shù)據(jù)集提供了兩個(gè)加速度計(jì)(acc1,acc2)和一個(gè)陀螺儀(gyro)的數(shù)據(jù),MobiAct數(shù)據(jù)集提供了加速度計(jì)(acc)、陀螺儀(gyro)和方向計(jì)(ori)。圖2和圖3分別展示了在兩個(gè)數(shù)據(jù)集上傳感器組合的分類(lèi)效果,其中縱軸是分類(lèi)指標(biāo)值/%,橫軸是三個(gè)評(píng)估指標(biāo)。
圖2 SisFall數(shù)據(jù)集上傳感器組合性能對(duì)比Figure 2 Comparison of sensor combination performance on SisFall dataset
圖3 MobiAct數(shù)據(jù)集上傳感器組合性能對(duì)比Figure 3 Comparison of sensor combination performance on MobiAct dataset
從圖2和圖3可以看出,在SisFall數(shù)據(jù)集上,加速度計(jì)和陀螺儀的組合性能最優(yōu),因此本文選用SisFall數(shù)據(jù)集上加速度計(jì)和陀螺儀的數(shù)據(jù)進(jìn)行跌倒檢測(cè)。在MobiAct數(shù)據(jù)集上,三個(gè)傳感器組合的性能最優(yōu),故本文選用MobiAct數(shù)據(jù)集上所有數(shù)據(jù)進(jìn)行跌倒算法的訓(xùn)練與檢測(cè)。
為了準(zhǔn)確評(píng)估算法的性能,我們將預(yù)處理后的SisFall和MobiAct數(shù)據(jù)集按照9∶1劃分了訓(xùn)練集和測(cè)試集,又從訓(xùn)練集中拿出2/9作為驗(yàn)證集。每次實(shí)驗(yàn)都會(huì)隨機(jī)打亂數(shù)據(jù)集順序,隨機(jī)得到訓(xùn)練集、驗(yàn)證集和測(cè)試集,使用訓(xùn)練集來(lái)訓(xùn)練模型,使用驗(yàn)證集和測(cè)試集來(lái)評(píng)估模型性能,以10次實(shí)驗(yàn)結(jié)果的平均值作為最終的結(jié)果。
為了更好的評(píng)估Lasso-LGB的性能,本文與如下算法進(jìn)行了對(duì)比實(shí)驗(yàn),包括AdaBoost、GBDT、XGBoost及LightGBM算法。表3展示了2個(gè)數(shù)據(jù)集在5種算法下的實(shí)驗(yàn)結(jié)果。
從表3可以看到,本文提出的Lasso-LGB算法在SisFall和MobiAct兩個(gè)數(shù)據(jù)集上均有優(yōu)異表現(xiàn)。比較表3的第4、5兩行可知,經(jīng)過(guò)Lasso操作的LightGBM在兩個(gè)數(shù)據(jù)集上的敏感度、特異度和準(zhǔn)確率有了明顯提升,檢測(cè)時(shí)間明顯減少,側(cè)面也說(shuō)明了Lasso操作能夠很好地選擇跌倒數(shù)據(jù)的主要特征。在SisFall數(shù)據(jù)集上,除了AdaBoost算法,本文算法在四個(gè)指標(biāo)上都優(yōu)于其他3個(gè)算法。與AdaBoost算法相比,Lasso-LGB算法在敏感度、準(zhǔn)確率和檢測(cè)時(shí)間的表現(xiàn)較為優(yōu)異,敏感度和準(zhǔn)確率分別提升了3.23%、1.11%,檢測(cè)時(shí)間減少了1.68 s;在特異度這個(gè)指標(biāo)上,AdaBoost算法比本文算法高出0.34%,相差不大。在MobiAct數(shù)據(jù)集上,本文算法在四個(gè)指標(biāo)上都優(yōu)于其他四個(gè)對(duì)比算法。
表3 Lasso-LGB與對(duì)比算法在驗(yàn)證集上的評(píng)估指標(biāo)
另外,本文與其他文獻(xiàn)進(jìn)行對(duì)比實(shí)驗(yàn),圖4展示了在SisFall數(shù)據(jù)集上,支持向量機(jī)[18]、梯度提升樹(shù)[19]、隨機(jī)森林[20]和本文算法的性能(敏感度、特異度和準(zhǔn)確率)對(duì)比。圖5展示了在MobiAct數(shù)據(jù)集上,CNN[21]、CNN-LSTM[22]和本文算法的性能(敏感度、特異度和準(zhǔn)確率)對(duì)比。
圖4 Lasso-LGB與其他文獻(xiàn)在SisFall數(shù)據(jù)集上的性能對(duì)比Figure 4 Performance comparison between Lasso-LGB and other articles on the SisFall dataset
圖5 Lasso-LGB與其他文獻(xiàn)在MobiAct數(shù)據(jù)集上的性能對(duì)比Figure 5 Performance comparison between Lasso-LGB and other articles on the MobiAct dataset
從圖4可以得出,與支持向量機(jī)和梯度提升樹(shù)相比,Lasso-LGB算法在敏感度、特異度和準(zhǔn)確率都有所提高。Lasso-LGB比支持向量機(jī)在三個(gè)指標(biāo)上分別提高了1.14%、3.06%和1.74%,比梯度提升樹(shù)在敏感度、特異度和準(zhǔn)確率上分別提高了1.38%、0.05%和0.64%。與隨機(jī)森林相比,隨機(jī)森林的特異度優(yōu)于Lasso-LGB算法,但是Lasso-LGB算法的敏感度比隨機(jī)森林提高了4.84%。
圖5是在MobiAct數(shù)據(jù)集上,Lasso-LGB算法與CNN和CNN-LSTM在敏感度、特異度和準(zhǔn)確率指標(biāo)的對(duì)比。在敏感度指標(biāo)上,Lasso-LGB算法比CNN和CNN-LSTM分別提高了5.48%和2%,Lasso-LGB算法比CNN在特異度和準(zhǔn)確率上分別提高了1.77%和3.6%,Lasso-LGB算法比CNN-LSTM在特異度和準(zhǔn)確率上分別提高了2.29%和2.4%。從圖4和圖5可以看出,本文的Lasso-LGB算法性能比其他文獻(xiàn)的算法優(yōu)異。
本文將Lasso回歸算法與LightGBM融合模型應(yīng)用到跌倒檢測(cè)領(lǐng)域,首先對(duì)原始跌倒數(shù)據(jù)集數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理操作,提取數(shù)據(jù)的時(shí)域特征,通過(guò)Lasso回歸選擇特征集中的主要特征,將主要特征導(dǎo)入到LightGBM模型中去預(yù)測(cè)最終的分類(lèi)結(jié)果(跌倒或非跌倒)。使用公開(kāi)數(shù)據(jù)集SisFall和MobiAct來(lái)驗(yàn)證Lasso-LGB算法的性能,并與機(jī)器學(xué)習(xí)中其他模型進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果表明,本文提出的Lasso-LGB算法在分類(lèi)精度指標(biāo)上優(yōu)于其他模型,在實(shí)時(shí)性上也有優(yōu)異的表現(xiàn)。為了更好地評(píng)估本文算法性能,本文還與其他文獻(xiàn)的跌倒檢測(cè)算法進(jìn)行橫向比較,通過(guò)比較,Lasso-LGB算法可以準(zhǔn)確地檢測(cè)跌倒行為,同時(shí)也能滿(mǎn)足跌倒終端的準(zhǔn)實(shí)時(shí)要求。下一步我們將重點(diǎn)放在將算法移植到嵌入式設(shè)備中,探究Lasso-LGB算法能否很好地在嵌入式設(shè)備上運(yùn)行;再者,本文算法運(yùn)行環(huán)境是離線訓(xùn)練,今后應(yīng)該進(jìn)行在線訓(xùn)練和個(gè)性化高精度的跌倒檢測(cè)模型研究。