劉善良王曉原王瀚卿劉亞奇
(1.青島科技大學機電工程學院 青島 266000)(2.青島科技大學智能綠色制造技術與裝備協同創新中心 青島 266000)
隨著社會和經濟的發展,人口預期壽命延長,老年人數量增加,人口老齡化成為必然的趨勢。老年人自身的安全防護意識不足,加之身體機能衰退,使得老年人成為跌倒行為的易發群體,跌倒是造成65歲以上老年人意外傷害和死亡的主要原因[1]。因此,跌倒的準確檢測,及時的報警并救治可挽回老年人生命,避免老年人因跌倒死亡。
跌倒是指突發的、不自主的、非故意的身體位置改變,身體倒在地上或更低的平面[2],如圖1所示。在人體跌倒檢測研究中,根據安裝在系統中的傳感器的類型,將跌倒檢測方法分為基于視覺的跌倒檢測方法[3~4]、基于環境的跌倒檢測方法[5~6]和基于穿戴設備的跌倒檢測方法[7~8]。基于穿戴設備的跌倒檢測方法依靠傳感器測量來區分跌倒和ADLs[9],最常用的傳感器有加速度計、陀螺儀、磁力儀和傾斜儀[10~11]。但目前已有的基于穿戴設備對跌倒行為辨識的確率不高。
本研究使用十軸姿態傳感器采集行人跌倒和ADLs的腰部數據,選擇加速度、角速度和高度作為特征參數,提出基于PSO-GRNN的跌倒檢測方法有效提升辨識的準確率。通過Matlab對模型進行了驗證,結果表明:基于PSO-GRNN的跌倒檢測方法辨識精度較高,穩定性好。
本文使用十軸姿態傳感器(JY901B)采集運動數據。將傳感器佩戴于被測者腰部,采集被測者跌倒和ADLs行為的姿態數據。
人體跌倒時,身體處于加速狀態,加速度、角度、角速度和高度變化明顯。本研究選擇三軸加速度、三軸角速度、高度作為特征參數。腰部是人體力量的中心,且腰部的加速度計的跌倒檢測精度更高[12]。因此,本研究以腰部為坐標原點,以正前方為Z軸正方向,根據右手法則,建立笛卡爾坐標系,如圖2所示。傳感器佩戴位置,如圖3所示。

圖3 實驗設備佩戴圖
將跌倒分為前側、左側、右側、后側跌倒;將ADLs分為類跌倒行為和正常行為,其中類跌倒行為包括跳躍、下蹲、上下樓梯等,這些行為在一定程度上影響跌倒檢測;正常行為包括行走、跑、坐-躺、站-坐,這些行為與跌倒差異較大。
使用傳感器采集行人跌倒和ADLs的三軸加速度(ax,ay,az)、三軸角速度(ωx,ωy,ωz)和高度(h)數據。招募40名大學生進行實驗,并給與一定報酬。其中女性10人,160cm及以下5人。在地面放置4張90cm*200cm*1.5cm的瑜伽墊,參與者佩戴護膝,防止受傷。每位被測者重復20組各類型跌倒,10組各類型的ADLs。
根據所采集的人體運動的三軸加速度、三軸角速度和高度,求解合加速度、合角速度和高度變化量,公式如下:
1)合加速度

2)合角速度

3)高度變化

在數據集中,4種跌倒和3種類跌倒行為各選擇20個連續的數據點;6種正常行為各選擇10個連續的數據點,組合形成人體不同動作數據特征圖,如圖4所示。

圖4 人體不同動作數據特征
圖4(a)為人體各運動的加速度變化圖,圖4(b)為人體各運動的角速度變化圖,圖4(c)為人體各運動的高度變化圖。
在實驗數據集中,選取200組特征數據點創建數據集。其中160組作為訓練數據集XA,40組作為測試數據集XB,同時建立對應的標簽數據YA、YB。訓練集和測試集中各行為類型對應的數據個數,如表1所示。

表1 各行為樣本數量表
GRNN[13]由輸入層、模式層、求和層和輸出層構成,如圖5所示。

圖5 GRNN網絡結構圖
1)輸入層
選擇合加速度ai、合角速度ωi和高度?i為特征參數,對應網絡輸入
2)模式層神經元傳遞函數

式中,σ為光滑因子。
3)求和層

式中:yij為第i個輸出Yi中的第j個元素。
4)輸出層

PSO算法[14]通過粒子調整自己的位置來搜索最優解。粒子的最優解記為pbest,粒子群的最優解記為gbest。粒子的速度為vi,粒子的位置為zi,每個粒子根據下式更新自己的速度和位置。

式中,vi(t+1)表示第i個粒子在t+1次迭代的速度,ω為慣性權重,c1和c2為加速度因子,r1和r2為[0,1]間的隨機數。
通過粒子群算法尋優,找到最優光滑因子,構建PSO-GRNN神經網絡模型[15]。導入XA、XB和標簽數據YA、YB,進行模型訓練和測試,步驟如圖6所示。

圖6 PSO優化GRNN網絡的基本框架圖
1)初始化種群及粒子的速度和位置,設置粒子群算法的基本參數。
2)將粒子位置映射到GRNN網絡中:以gbest為光滑因子spread,構建GRNN網絡模型:net=newgrnn(P,T,spread)。P為神經網絡的輸入,T為神經網絡的輸出。
3)訓練GRNN,并計算粒子所在位置的適應度值。適應度表示為輸出值和實際值的均方根誤差,計算公式如下:

式中:為中的第i組數據對應的標簽,yA為網絡實際輸出。

4)更新pbest、gbest,若適應度優于之前的最優適應度,則更新pbest、gbest。
5)根據式(9)和式(10)對粒子的當前位置和速度進行更新和調整。
6)判斷是否達到最大迭代次數,如果達到則保存最優GRNN模型,并進行模型的測試,如沒有則返回2)。
本研究使用Matlab對構建的PSO-GRNN跌倒檢測模型進行訓練和驗證。最后,選擇支持向量機模型和BP神經網絡模型進行對比實驗。
1)模型的訓練
(1)設置PSO算法基本參數,如圖7所示。將粒子位置映射到網絡,并將XA及YA導入網絡。為防止盲目搜索,將粒子位置和速度限制在

圖7 模型參數設置圖
(2)通過訓練,在迭代至第121次時達到最優位置92.948;在迭代至第146次時達到最優適應度值0.0038。如圖8所示。

圖8 模型訓練結果圖
2)模型的測試
(1)將XB和YB導入網絡,進行網絡測試。重復20次測試,其中一組測試結果如圖9所示,其中輸出值為1表示行人跌倒;輸出值為0表示行人未跌倒。圖9中,第1和10組數據測試值與實際值差異較大,可確定為辨識錯誤;第25和36組數據的測試值與實際值存在可接受誤差,故不屬于辨識錯誤。

圖9 訓練結果圖
經過測試,目標精度為0.005的情況下,平均正確率為0.95。
(2)為了驗證粒子群參數對PSO-GRNN網絡預測結果的影響,更改粒子Vmax、Vmin,c1、c2對跌倒行為進行預測,平均預測結果如表2所示。由表2可知,在PSO-GRNN跌倒檢測的模型中,當粒子速度在[- 20,20]時,c1=c2=0.75時,跌倒檢測的平均正確率最高,效果最好,誤差最低。

表2 不同粒子群參數下的預測結果
(3)在除XA和XB外的實驗數據中,提取前側、右側、左側、后側跌倒數據各50組,構建新測試數據集,導入訓練好的模型中測試,結果如圖10所示。


圖10 各類型跌倒辨識的正確率
由圖10可得,PSO-GRNN模型對各類跌倒的辨識正確率分別為前側96%;右側98%;后側98%;左側僅為92%。初步分析出現這種現象可能是,實驗時率先進行的左側跌倒,被測者在跌倒時可能有一些防備,導致跌倒的數據出現偏差。
為驗證PSO-GRNN的優越性,將XA、YA、XB、YB導入支持向量機(SVM)[16]和BP神經網絡(BPNN)檢測模型進行對比。
1)SVM跌倒檢測模型
選擇徑向基函數作為核函數,經過多次訓練和測試,結果如圖11所示。由圖可知,出現3組辨識錯誤,最終得到SVM對跌倒行為的檢測正確率為92.5%。

圖11 SVM模型跌倒測試結果
2)BPNN跌倒檢測模型
選擇擬牛頓法訓練BPNN,最大訓練次數為1000次,訓練精度(goal)分別為10-1、10-2、10-3、10-4、10-5,學習率(lr)選擇0.1、0.2,跌倒行為預測的正確率(RBP),如表3所示。

表3 BP神經網絡預測效果
由表3可知,經過參數的調整優化,BPNN模型檢測的準確率為92.25%,但學習速度慢,容易陷入局部極小值。
通過上述對比實驗,相比于SVM和BPNN模型,PSO-GRNN模型尋優過程簡單,精確率高,穩定性好。
本文提出一種基于粒子群優化廣義神經網絡的跌倒檢測方法。通過采集人體腰部的三軸加速度、三軸角速度和高度數據,分析行人跌倒的特征。構建PSO-GRNN跌倒檢測模型,通過Matlab對模型進行訓練和測試。結果表明:該模型能有效地識別出行人跌倒行為。在目標精度為0.005情況下,平均準確率能夠達到了95%。未來工作可以對行人類型進行細致的劃分,通過對不同類型的行人跌倒行為進行分析,可以更加深入研究行人跌倒的規律,進一步優化檢測模型。