劉善良王曉原王瀚卿劉亞奇
(1.青島科技大學機電工程學院 青島 266000)(2.青島科技大學智能綠色制造技術(shù)與裝備協(xié)同創(chuàng)新中心 青島 266000)
隨著社會和經(jīng)濟的發(fā)展,人口預(yù)期壽命延長,老年人數(shù)量增加,人口老齡化成為必然的趨勢。老年人自身的安全防護意識不足,加之身體機能衰退,使得老年人成為跌倒行為的易發(fā)群體,跌倒是造成65歲以上老年人意外傷害和死亡的主要原因[1]。因此,跌倒的準確檢測,及時的報警并救治可挽回老年人生命,避免老年人因跌倒死亡。
跌倒是指突發(fā)的、不自主的、非故意的身體位置改變,身體倒在地上或更低的平面[2],如圖1所示。在人體跌倒檢測研究中,根據(jù)安裝在系統(tǒng)中的傳感器的類型,將跌倒檢測方法分為基于視覺的跌倒檢測方法[3~4]、基于環(huán)境的跌倒檢測方法[5~6]和基于穿戴設(shè)備的跌倒檢測方法[7~8]?;诖┐髟O(shè)備的跌倒檢測方法依靠傳感器測量來區(qū)分跌倒和ADLs[9],最常用的傳感器有加速度計、陀螺儀、磁力儀和傾斜儀[10~11]。但目前已有的基于穿戴設(shè)備對跌倒行為辨識的確率不高。
本研究使用十軸姿態(tài)傳感器采集行人跌倒和ADLs的腰部數(shù)據(jù),選擇加速度、角速度和高度作為特征參數(shù),提出基于PSO-GRNN的跌倒檢測方法有效提升辨識的準確率。通過Matlab對模型進行了驗證,結(jié)果表明:基于PSO-GRNN的跌倒檢測方法辨識精度較高,穩(wěn)定性好。
本文使用十軸姿態(tài)傳感器(JY901B)采集運動數(shù)據(jù)。將傳感器佩戴于被測者腰部,采集被測者跌倒和ADLs行為的姿態(tài)數(shù)據(jù)。
人體跌倒時,身體處于加速狀態(tài),加速度、角度、角速度和高度變化明顯。本研究選擇三軸加速度、三軸角速度、高度作為特征參數(shù)。腰部是人體力量的中心,且腰部的加速度計的跌倒檢測精度更高[12]。因此,本研究以腰部為坐標原點,以正前方為Z軸正方向,根據(jù)右手法則,建立笛卡爾坐標系,如圖2所示。傳感器佩戴位置,如圖3所示。
圖3 實驗設(shè)備佩戴圖
將跌倒分為前側(cè)、左側(cè)、右側(cè)、后側(cè)跌倒;將ADLs分為類跌倒行為和正常行為,其中類跌倒行為包括跳躍、下蹲、上下樓梯等,這些行為在一定程度上影響跌倒檢測;正常行為包括行走、跑、坐-躺、站-坐,這些行為與跌倒差異較大。
使用傳感器采集行人跌倒和ADLs的三軸加速度(ax,ay,az)、三軸角速度(ωx,ωy,ωz)和高度(h)數(shù)據(jù)。招募40名大學生進行實驗,并給與一定報酬。其中女性10人,160cm及以下5人。在地面放置4張90cm*200cm*1.5cm的瑜伽墊,參與者佩戴護膝,防止受傷。每位被測者重復20組各類型跌倒,10組各類型的ADLs。
根據(jù)所采集的人體運動的三軸加速度、三軸角速度和高度,求解合加速度、合角速度和高度變化量,公式如下:
1)合加速度
2)合角速度
3)高度變化
在數(shù)據(jù)集中,4種跌倒和3種類跌倒行為各選擇20個連續(xù)的數(shù)據(jù)點;6種正常行為各選擇10個連續(xù)的數(shù)據(jù)點,組合形成人體不同動作數(shù)據(jù)特征圖,如圖4所示。
圖4 人體不同動作數(shù)據(jù)特征
圖4(a)為人體各運動的加速度變化圖,圖4(b)為人體各運動的角速度變化圖,圖4(c)為人體各運動的高度變化圖。
在實驗數(shù)據(jù)集中,選取200組特征數(shù)據(jù)點創(chuàng)建數(shù)據(jù)集。其中160組作為訓練數(shù)據(jù)集XA,40組作為測試數(shù)據(jù)集XB,同時建立對應(yīng)的標簽數(shù)據(jù)YA、YB。訓練集和測試集中各行為類型對應(yīng)的數(shù)據(jù)個數(shù),如表1所示。
表1 各行為樣本數(shù)量表
GRNN[13]由輸入層、模式層、求和層和輸出層構(gòu)成,如圖5所示。
圖5 GRNN網(wǎng)絡(luò)結(jié)構(gòu)圖
1)輸入層
選擇合加速度ai、合角速度ωi和高度?i為特征參數(shù),對應(yīng)網(wǎng)絡(luò)輸入
2)模式層神經(jīng)元傳遞函數(shù)
式中,σ為光滑因子。
3)求和層
式中:yij為第i個輸出Yi中的第j個元素。
4)輸出層
PSO算法[14]通過粒子調(diào)整自己的位置來搜索最優(yōu)解。粒子的最優(yōu)解記為pbest,粒子群的最優(yōu)解記為gbest。粒子的速度為vi,粒子的位置為zi,每個粒子根據(jù)下式更新自己的速度和位置。
式中,vi(t+1)表示第i個粒子在t+1次迭代的速度,ω為慣性權(quán)重,c1和c2為加速度因子,r1和r2為[0,1]間的隨機數(shù)。
通過粒子群算法尋優(yōu),找到最優(yōu)光滑因子,構(gòu)建PSO-GRNN神經(jīng)網(wǎng)絡(luò)模型[15]。導入XA、XB和標簽數(shù)據(jù)YA、YB,進行模型訓練和測試,步驟如圖6所示。
圖6 PSO優(yōu)化GRNN網(wǎng)絡(luò)的基本框架圖
1)初始化種群及粒子的速度和位置,設(shè)置粒子群算法的基本參數(shù)。
2)將粒子位置映射到GRNN網(wǎng)絡(luò)中:以gbest為光滑因子spread,構(gòu)建GRNN網(wǎng)絡(luò)模型:net=newgrnn(P,T,spread)。P為神經(jīng)網(wǎng)絡(luò)的輸入,T為神經(jīng)網(wǎng)絡(luò)的輸出。
3)訓練GRNN,并計算粒子所在位置的適應(yīng)度值。適應(yīng)度表示為輸出值和實際值的均方根誤差,計算公式如下:
式中:為中的第i組數(shù)據(jù)對應(yīng)的標簽,yA為網(wǎng)絡(luò)實際輸出。
4)更新pbest、gbest,若適應(yīng)度優(yōu)于之前的最優(yōu)適應(yīng)度,則更新pbest、gbest。
5)根據(jù)式(9)和式(10)對粒子的當前位置和速度進行更新和調(diào)整。
6)判斷是否達到最大迭代次數(shù),如果達到則保存最優(yōu)GRNN模型,并進行模型的測試,如沒有則返回2)。
本研究使用Matlab對構(gòu)建的PSO-GRNN跌倒檢測模型進行訓練和驗證。最后,選擇支持向量機模型和BP神經(jīng)網(wǎng)絡(luò)模型進行對比實驗。
1)模型的訓練
(1)設(shè)置PSO算法基本參數(shù),如圖7所示。將粒子位置映射到網(wǎng)絡(luò),并將XA及YA導入網(wǎng)絡(luò)。為防止盲目搜索,將粒子位置和速度限制在
圖7 模型參數(shù)設(shè)置圖
(2)通過訓練,在迭代至第121次時達到最優(yōu)位置92.948;在迭代至第146次時達到最優(yōu)適應(yīng)度值0.0038。如圖8所示。
圖8 模型訓練結(jié)果圖
2)模型的測試
(1)將XB和YB導入網(wǎng)絡(luò),進行網(wǎng)絡(luò)測試。重復20次測試,其中一組測試結(jié)果如圖9所示,其中輸出值為1表示行人跌倒;輸出值為0表示行人未跌倒。圖9中,第1和10組數(shù)據(jù)測試值與實際值差異較大,可確定為辨識錯誤;第25和36組數(shù)據(jù)的測試值與實際值存在可接受誤差,故不屬于辨識錯誤。
圖9 訓練結(jié)果圖
經(jīng)過測試,目標精度為0.005的情況下,平均正確率為0.95。
(2)為了驗證粒子群參數(shù)對PSO-GRNN網(wǎng)絡(luò)預(yù)測結(jié)果的影響,更改粒子Vmax、Vmin,c1、c2對跌倒行為進行預(yù)測,平均預(yù)測結(jié)果如表2所示。由表2可知,在PSO-GRNN跌倒檢測的模型中,當粒子速度在[- 20,20]時,c1=c2=0.75時,跌倒檢測的平均正確率最高,效果最好,誤差最低。
表2 不同粒子群參數(shù)下的預(yù)測結(jié)果
(3)在除XA和XB外的實驗數(shù)據(jù)中,提取前側(cè)、右側(cè)、左側(cè)、后側(cè)跌倒數(shù)據(jù)各50組,構(gòu)建新測試數(shù)據(jù)集,導入訓練好的模型中測試,結(jié)果如圖10所示。
圖10 各類型跌倒辨識的正確率
由圖10可得,PSO-GRNN模型對各類跌倒的辨識正確率分別為前側(cè)96%;右側(cè)98%;后側(cè)98%;左側(cè)僅為92%。初步分析出現(xiàn)這種現(xiàn)象可能是,實驗時率先進行的左側(cè)跌倒,被測者在跌倒時可能有一些防備,導致跌倒的數(shù)據(jù)出現(xiàn)偏差。
為驗證PSO-GRNN的優(yōu)越性,將XA、YA、XB、YB導入支持向量機(SVM)[16]和BP神經(jīng)網(wǎng)絡(luò)(BPNN)檢測模型進行對比。
1)SVM跌倒檢測模型
選擇徑向基函數(shù)作為核函數(shù),經(jīng)過多次訓練和測試,結(jié)果如圖11所示。由圖可知,出現(xiàn)3組辨識錯誤,最終得到SVM對跌倒行為的檢測正確率為92.5%。
圖11 SVM模型跌倒測試結(jié)果
2)BPNN跌倒檢測模型
選擇擬牛頓法訓練BPNN,最大訓練次數(shù)為1000次,訓練精度(goal)分別為10-1、10-2、10-3、10-4、10-5,學習率(lr)選擇0.1、0.2,跌倒行為預(yù)測的正確率(RBP),如表3所示。
表3 BP神經(jīng)網(wǎng)絡(luò)預(yù)測效果
由表3可知,經(jīng)過參數(shù)的調(diào)整優(yōu)化,BPNN模型檢測的準確率為92.25%,但學習速度慢,容易陷入局部極小值。
通過上述對比實驗,相比于SVM和BPNN模型,PSO-GRNN模型尋優(yōu)過程簡單,精確率高,穩(wěn)定性好。
本文提出一種基于粒子群優(yōu)化廣義神經(jīng)網(wǎng)絡(luò)的跌倒檢測方法。通過采集人體腰部的三軸加速度、三軸角速度和高度數(shù)據(jù),分析行人跌倒的特征。構(gòu)建PSO-GRNN跌倒檢測模型,通過Matlab對模型進行訓練和測試。結(jié)果表明:該模型能有效地識別出行人跌倒行為。在目標精度為0.005情況下,平均準確率能夠達到了95%。未來工作可以對行人類型進行細致的劃分,通過對不同類型的行人跌倒行為進行分析,可以更加深入研究行人跌倒的規(guī)律,進一步優(yōu)化檢測模型。