麻文剛,王小鵬,吳作鵬
(蘭州交通大學電子與信息工程學院,蘭州 730070)
項目來源:國家自然科學基金項目(61261029,61761027)
2017-04-21修改日期2017-06-07
基于人體姿態(tài)的PSO-SVM特征向量跌倒檢測方法*
麻文剛,王小鵬*,吳作鵬
(蘭州交通大學電子與信息工程學院,蘭州 730070)
在可穿戴設備檢測人體跌倒情況時,單一采用加速度閾值判別方法不能完整表征人體跌倒行為變化的信息,導致對跌倒信息誤判。為此,提出了一種基于人體姿態(tài)的PSO-SVM特征向量跌倒檢測算法。首先通過MEMS加速度傳感器節(jié)點采集人體姿態(tài)數據,并利用共軛梯度法對采集的數據進行優(yōu)化處理,降低非線性誤差;然后,利用支持向量機SVM(Support Vector Machine)分類器檢測跌倒行為,并通過粒子群PSO(Particle Swarm Optimization)算法對 SVM 參數進行優(yōu)化,獲得最佳分類模型,根據SVM分類模型對采集的姿態(tài)數據進行分析,判斷是否跌倒;最后根據人體姿態(tài)角,構建融合人體姿態(tài)角的PSO-SVM特征向量,檢測跌倒過程的具體信息。實驗結果表明:該檢測方法取得95.5%的識別率,能夠較好地區(qū)分其他非跌倒性動作,檢測精度較其他方法較高,均方根誤差較小,有較好的魯棒性。
跌倒檢測;人體姿態(tài);傳感器節(jié)點;特征向量;支持向量機;粒子群
跌倒作為人體活動的一部分,對病人與老人而言,各種跌倒檢測至關重要。目前針對人體姿態(tài)變化情況進行檢測跌倒,然后設定閾值進行定量檢測。大致可分為三類:第1類為在各個地點定點定時地安裝監(jiān)控攝像頭,采用視頻與圖像處理方式來檢測人體跌倒,該檢測方式要求額外安裝電力設備且容易泄露使用者的隱私;第2類為安裝聲學設備,通過聲音回波震動來檢測跌倒行為,準確性較低,且設備昂貴,主要作為輔助手段運用到別的跌倒檢測方式中;第3類通過為目前較為流行的可穿戴設備[1-3],利用加速度傳感器采集人體加速度數據,進行跌倒檢測。文獻[1]提出通過采集人體的加速度數據,設定復合加速度閾值來檢測跌到行為;文獻[2]提出利用基于支持向量機的SVM設定加速度閾值,并且將SVM進行差分平滑處理,來提高檢測精度;文獻[3]提出基于三軸線性加速度數據的固定閾值SVM滑動平均與差分信號幅度域相結合的方法,只能區(qū)分快跑與摔倒,對其他干擾無法區(qū)分;文獻[4]提出基于統計學判決分析的檢測算法,特征值為基于三軸線性加速度的運動能量消耗;文獻[5]提出利用壓力式傳感器采集人體姿態(tài)行為進行跌到檢測,但是沒有區(qū)分人體快跑與跌倒過程的加速度變化,容易漏判。跌倒屬于一種短暫性的劇烈活動,在此過程中人體的各項姿態(tài)數據都會發(fā)生較大的變化,因此不能單一利用加速度閾值去檢測人體跌到行為,上述方法利用人體加速度數據,并設定相應閾值來檢測跌倒,一定情況下,容易導致漏判。
為提高人體跌倒檢測的精度,提出了一種融合人體姿態(tài)角的跌倒檢測方法對跌倒進行識別,首先設定加速度閾值進行判別,當加速度閾值達到后,構建融合人體姿態(tài)角的PSO-SVM特征向量進行二級判別,對于某些特殊情況,如快速跑步被預判為摔倒,則使用人體姿態(tài)角區(qū)分判別。該方法不僅適用于普通的跌倒檢測,還適用于快速跑步、快速跑步時摔倒等特殊情況下的跌倒檢測,對于自由生活環(huán)境下的人體跌倒檢測,有較高的可信度。
加速度采集需要設計傳感器節(jié)點[4-6],該節(jié)點能夠實時采集人體運動時的三軸加速度與運動時刻的姿態(tài)變化情況。本文選用基于MEMS的三軸加速度傳感器MMA7361L設計傳感器節(jié)點,將傳感器采集單元安放于人體的腰部,輸出加速度與角速度信號,具體為加速度的X軸、Y軸、Z軸。設利用加速度傳感器采集的人體姿態(tài)加速度數據依次記為ax(t),ay(t)與az(t),通過陀螺儀獲得的三維數據為mx(t)、my(t)、mz(t)。每次行為采集的原始數據序列可表示為如式(1)所示:
(1)
由于傳感器采集的數據是非平穩(wěn)、非線性的,且含有系統本身的噪聲、人體抖動產生的噪聲及設備松動產生的噪聲干擾。因此在對采集的數據進行分析之前,需選擇有效的方法去噪,以提高跌倒檢測精度。本文通過共軛梯度法[7-9]對獲得的原始加速度數據進行優(yōu)化處理,具體過程為:共軛梯度法通過定義誤差函數迭代優(yōu)化加速度數據,加速度計與磁強計分別沿著載體坐標系以X,Y,Z三軸方向進行解算,磁強計在載體坐標系三軸上的對應分量分別為mx,my,mz,加速度計在載體坐標系三軸上對應分量分別為ax,ay,az。
①定義誤差函數為:
(2)
則加速度優(yōu)化問題可轉換為誤差函數:f(q)=E(q)TE(q)求最小值的問題。
②以共軛梯度法進行優(yōu)化,可按照式(3)更新載體加速度數據,如下:
Qm(n+1)=Qm(n)+γndn
(3)
式中:γn為最優(yōu)步長,dn為搜索方向,Qm(n)為載體更新四元數,Qm(n)=q0-q1i-q2j-q3k。
③根據共軛梯度法,迭代計算如下:
f=JT(q)·E(q)
(4)
式中:JT(q)為E(q)的雅可比矩陣。
gn-1=fn-1,gn=fn,d1=-g1
(5)
(6)
(7)
2.1PSO優(yōu)化SVM參數
SVM采用二次回歸為手段的統計學習方法,其最終目的為找到一個最優(yōu)分類超平面,使得兩類之間的距離最大化。SVM應用最廣的核函數[9]有多項式、徑向基以及神經網絡等幾種核函數,徑向基核函數相對于其他核函數具有以下兩點優(yōu)勢:一是可將非線性輸入向量映射到更高維度的特征空間,能夠更好地解決類別與特征間的非線性關系;二是其參數比多項式以及神經網絡核函數要少,降低了模型復雜度。因此本文采用徑向基核函數作為SVM的核函數,該核函數如下式:
F(xi,xj)=e-‖xi-xj‖2iσ2
(8)
式中:e為常數,σ為函數的寬度參數,控制了函數的徑向作用范圍。
圖1 PSO優(yōu)化SVM參數的更新粒子位置過程
根據人體運動幅度、傾斜程度及旋轉程度特征構建支持向量機分類器的特征向量,從而構建支持向量機分類模型[10-11],采用粒子群優(yōu)化SVM參數;根據建立的分類模型檢測人體運動狀態(tài),傳統的參數尋優(yōu)方法易得到局部最優(yōu)值,尋優(yōu)速度較慢,而PSO[12-15]則具有可處理連續(xù)優(yōu)化問題、收斂速度快的優(yōu)點。因此,本文采用PSO算法對SVM的參數進行優(yōu)化,PSO算法將粒子群中的個體作為隨機粒子,利用粒子間合作與競爭產生的智能群體指導優(yōu)化搜索,是基于群體智能的一種方法,粒子在空間中的飛行速度、位置更新過程如式(9)與(10):
Vk(n+1)=?Vk(n)+Q1rand()[Pk-Rk(n+1)]+Q2()[(Pα-Rk(n)]
(9)
Rk(n+1)=Rk(n)+Vk(n)
(10)
式中:n為迭代次數,Vk(n)是第k個粒子的速度,Rk(n)是第k個粒子的位置,Pk為粒子的歷史最優(yōu)位置,Pα為粒子群的最優(yōu)位置。Q1、Q2為學習因子,?為慣性權重,rand()為在(0,1)之間的一個隨機數。優(yōu)化 SVM 時,需要優(yōu)化的 SVM 參數C相當于PSO算法中的粒子位置Rk(n),SVM分類所得準確率的高低相當于每個粒子的適應度值,用來衡量粒子位置的優(yōu)劣。
尋找最優(yōu)參數過程為:首先初始化搜索點位置Rk(n)與速度Vk(n),設定閾值ψ以及最大迭代次數;其次計算粒子的適應度值fi以及平均適應度值f,根據適應度值尋找粒子的歷史最優(yōu)位置Pk與粒子群的歷史最優(yōu)位置Pα;其后根據式(9)和(10)更新粒子的速度與位置;最后判斷是否符合終止條件。
(11)
若滿足式(11),即達到最小錯誤要求或達到最大迭代次數,當前Pα為搜索到的最優(yōu)解,SVM最優(yōu)參數為當前粒子位置,否則進行下一次迭代,如圖1為PSO自適應尋找粒子最優(yōu)位置的過程,設置PSO優(yōu)化參數的學習因子c1=1.5,社會學習因子c2=1.7,種群數最大為40,實驗中利用對粒子的8維運動軌跡進行分析,從而確定粒子運動的最優(yōu)位置,此時粒子群迭代的平均適應度能達到96%~99%,經過粒子群算法優(yōu)化的SVM參數,更加具有可信度,設置的SVM閾值能準確表征其人體摔倒及日?;顒有袨榈倪^程。
2.2 融合姿態(tài)角的PSO-SVM特征向量跌倒檢測算法
人體摔倒屬于一種短暫性的劇烈活動,身體加速度SVM峰值會變得比較大,一般會超過1.8gn,因而選擇1.8gn作為人體摔倒的加速度判別閾值,然而人體摔倒時,身體做近似自由落體運動,在身體下落至撞擊地面時,SVM迅速增大,而之后的短時間內(1 s~3 s),身體幾乎無動作,SVM則會迅速下降,如圖2所示。而當人體跑步時,SVM會近似正弦性的上下波動,達到的加速度最大值為跑步加速的過程,后續(xù)加速度變小為減速的過程,其SVM的峰值有時也會超過1.8gn,圖3表明單一使用人體加速度數據去判別跌倒行為,容易將快跑過程判斷為跌倒,導致漏判,為此提出了融合人體姿態(tài)角的多級判別方法。
圖2 人體摔倒加速度SVM數據變化
圖3 人體跑步加速度SVM數據變化
人體的姿態(tài)由俯仰角ψ來描述。各傳感器測得的數據都是基于載體坐標系,因此在姿態(tài)解算時,需要將載體坐標系的數據轉換到導航坐標系下,旋轉矩T可表示這一過程:
(12)
將傳感器采集到的姿態(tài)數據轉化為四元數。規(guī)定Q為一個四元數向量,即:
Q=q0+q1i+q2ij+q3ki
(13)
式中:q0為四元數的標量部分,q=[q1q2q3]T為四元數的矢量部分。對于人體姿態(tài)角來說,每個濾波周期都需將四元數向量進行規(guī)范化,處理過程如式(14)所示:
(14)
結合四元數,可得b系到n系的坐標變換矩陣T,最后計算出人體姿態(tài)的俯仰角,則有:
(15)
則姿態(tài)角可表示為:
ψ=arctan[2(q1q2-q0q3)/(q0+q1-q2-q3)]
(16)
圖4是正常行走、慢跑、快跑及摔倒時的俯仰角姿態(tài)曲線圖,可以看出,當人體處于站立姿態(tài)時,傾角在0~60°之間;處于慢跑狀態(tài)時,傾角處于20°~60°范圍內,其變化范圍不大,是因為慢跑狀態(tài)與站立狀態(tài)姿態(tài)較為相似;快跑時,傾角則在40°~60°之間。人體從站立到撞擊地面這一階段內,傾角處于增加趨勢,由于手臂運動的靈活性,在運動過程中會引起傾角的較大波動,當人體接觸到地面后,傾角維持在80°上下,處于平穩(wěn)階段,因此設定人體姿態(tài)角為80°作為二級檢測閾值,進一步提高了檢測的精度。
現設合角速度為陀螺儀三軸角速度平方和的平方根:如下式:
(17)
根據式(7)、(16)與(17)求取人體的運動幅度特征、傾斜程度特征以及旋轉程度特征。每次數據采集周期T的特征序列為如式(18)所示:
(18)
在每次數據采集周期T內,有N個特征序列點,設合加速度的最大值為Max(G),合加速度的最小值為Min(G),同理可分別得到ψ、M的最大值、最小值。采用合加速度差值G、傾角差值ψ以及合角速度差值M構建PSO-SVM的特征向量,計算如式(19)所示:
(19)
檢測跌倒的發(fā)生是一個非線性的二分類問題,將運動分為跌倒以及日?;顒觾深?用PSO-SVM進行分類時,樣本集T={(a1,b1) (a2,b2) … (ai,bi)(aN,bN)},其中的ai表示第i組數據的人體特征向量,其中ai=[Gi,ψi,Mi],bi=[+1,-1] 表示第i組數據是否是跌倒行為的標簽,N為所取的人體運動周期數,每個周期有M個特征序列點。
圖4 人體姿態(tài)俯仰角數據
圖5 PSO-SVM分類檢測跌倒流程
采用MEMS加速度傳感器以及陀螺儀采集人體運動的三軸加速度數據ax(t),ay(t)與az(t)以及三軸角速度數據mx(t)、my(t)、mz(t);對優(yōu)化后的數據進行特征提取,獲得運動幅度、傾斜程度以及旋轉程度3個特征序列,并分別求取合加速度差值G、傾角差值ψ以及合角速度差值M構成PSO-SVM的特征向量;最終利用已經訓練好的PSO優(yōu)化SVM參數分類器對人體的姿態(tài)行為進行分類,若分類結果是跌倒行為,則進行報警,具體流程如圖5所示。
3.1 人體日常行為活動測試與分析
為了驗證提出方法的有效性,實驗選擇了男女兩位志愿者分別進行實驗。其中男性身高170 cm,體重65 kg,年齡26 周歲,身體健康;女性身高155 cm,體重48 kg,年齡23 周歲,身體健康。將加速度傳感器采集模塊佩戴在腰間,并通過在該傳感器上集成的無線傳輸模塊DL-21將采集到的數據傳送到PC機對數據進行優(yōu)化平滑處理,并設定相應閾值。采集日常生活活動數據180次:靜坐、站立、慢跑、快跑、蹦跳、彎腰、平躺、側臥及前趴各20次,構造 PSO優(yōu)化SVM與融合人體姿態(tài)角的分類器。如圖6所示,顯示摔倒未通過次數、摔倒通過次數及虛警次數,PSO-SVM 分類器對日常活動站立檢測的精度可達98%,虛警率為2%,這是由于站立的運動較為緩慢,且為周期性運動,與跌倒行為相似性較低;對日?;顒又锌炫芗氨奶臋z測精度較低,為 92%,這是由于快跑與蹦跳運動過程中手臂的旋轉程度、傾斜程度也較為明顯,與跌倒行為有較大的相似性;對其他日常行為的檢測精度平均達到了95.8%,虛警率為4.8%,這是因為系統檢測準確率依賴于閾值的設置,對一些符合本文跌倒判定條件的非跌倒動作,易造成誤判。
圖6 人體日常活動行為檢測
3.2 人體跌倒行為測試與分析
對男女志愿者分別進行不同情況的跌到檢測實驗,各自采集不同跌倒情況的26項實驗,每個實驗項目中,實驗者根據房間內部條件各做25次跌倒實驗。其26項實驗分別為1.向側后倒走;2.向前撿拾物品;3.向后躺在床上;4.向左彎曲躺在地上;5.向前快跑;6.快速跑過+撿拾物品;7.快速跑過+穿鞋;8.上跳;9.下跳;10.跌倒;11.向后快坐沙發(fā);12.向前快速坐床13.穿衣失去平衡;14.向后崴腳側倒;15.向前撲倒;16.向后坐空跌倒;17.躺入床+起身向前跌倒;18.坐入沙發(fā)+起身側倒;19.向左起身摔向飯桌;20.坐凳子+起身向前撲倒;21.向右癱倒;22.向后起身滑到地面;23.向前慢跑跌倒;24.向后慢跑跌倒;25.向左慢跑跌倒;26.向右慢跑跌倒;實驗測得的數據如圖7~圖10所示。
如圖7與圖8,在向前與向后跌倒檢測實驗中,可以較好區(qū)分人體加速度SVM及姿態(tài)角SVM,實現了96%的平均檢測精度,漏報率為5%,誤報率為3.5%,誤報與漏報的原因是實驗中人員SVM的幅度沒有超過1.8 g,即所進行的摔倒過于輕微緩慢,不好區(qū)分人體姿態(tài)角變化情況及實驗人員所做的姿態(tài)行為存在一定的差異。如圖9和圖10,在向左與向右跌倒檢測實驗中,由于加速度SVM與人體快跑轉彎時的加速度SVM極為接近,且不好區(qū)分人體姿態(tài)角數據,實現了95%的平均檢測精度,漏報率為5%,誤報率為3.5%。總體而言,提出的檢測跌倒方法檢測精度平均約為95.5%,滿足人體在運動過程的跌倒檢測要求。
圖7 總體向前跌倒檢測
圖8 總體向后跌倒檢測
圖9 總體向左跌倒檢測
圖10 總體向右跌倒檢測
3.3 各類檢測方法參數對比與分析
在人體快跑加速度SVM與跌倒時的加速度SVM相近時,將提出方法與基于支持向量機的跌倒檢測方法及文獻[4]方法進行人體運動行為的虛警率、識別率及檢測均方誤差的比較。如表1所示,提出方法均方根誤差均低于其他兩種方法,識別率高于基于支持向量機的識別率,略低于文獻[4],但虛警率低于文獻[4],且本文方法可以區(qū)分快速跑步等劇烈活動對摔倒的影響,有較好的魯棒性。
表1 各檢測方法參數對比
針對人體活動中的跌倒行為,利用三軸MEMS加速度傳感器節(jié)點采集人體加速度姿態(tài)數據,并根據SVM分類模型對采集的姿態(tài)數據進行分析,利用粒子群進行優(yōu)化參數,提出了融合人體姿態(tài)角的PSO-SVM特征向量檢測方法。通過采集不同人員的日?;顒訑祿M行參照,分析其提出方法的檢測精度與漏判原因,并區(qū)分了快速跑步等劇烈活動對摔倒檢測的影響。分別對向前、向后、向左及向右4種跌倒行為做了26項實驗,分析了檢測過程中的漏報與誤報原因。實驗表明:提出的的檢測方法精度可達95.5%,相比其他檢測方法,虛警率較小,魯棒性較強,可用于復雜環(huán)境下的不同人群跌倒檢測,精確度較高。
[1] Noury N,Fleury A,Rumeau P,et al. Fall Detection-Principlesand Methods[C]//29th Annual International Conference of the IEEE on Engineering in Medicine and Biology Society,Lyon,France,2007:1663-1666.
[2] 劉鵬,盧譚成,呂愿愿,等. 基于MEMS 三軸加速度傳感器的摔倒檢測[J]. 傳感技術學報,2014,27(4):570-574.
[3] 曹玉珍,蔡偉超,程旸. 基于MEMS 加速度傳感器的人體姿態(tài)檢測技術[J]. 納米技術與精密工程,2010,8(1):37-41.
[4] 羅堅,唐琎,毛芳,等. 基于云計算的可穿戴式老齡人異常行為檢測系統研究[J]. 傳感技術學報,2015,28(8):1108-1114.
[5] 石欣,熊慶宇,雷璐寧,等. 基于壓力傳感的跌倒檢測系統研究[J]. 儀器儀表學報,2010,31(3):715-720.
[6] Lee C K,Lee V Y. Fall Detection System Based on Kinect Sensor Using Novel Detection and Posture Recognition Algorithm[C]//11th International Conference on Smart Homes and Health Tele-matics(ICOST 2013),Singapore,2013:238-244.
[7] Jantaraprim P,Phukpattaranont P,Limsakul C,et al. Improving the Accuracy of a Fall Detection Algorithm Using Free Fall Characteristics[C]//IEEE International Conference on Electrical Engineering/Electronics Computer Telecommunications and Information Technology. Chiang Mai,Thailand,2010:501-504.
[8] 劉蓉,黃璐,李少偉,等. 基于步態(tài)加速度的步態(tài)分析研究[J]. 傳感技術學報,2009,22(6):893-896.
[9] 李月香,劉燕,袁濤,等. 基于加速度信號的走路模式多級分類算法[J]. 電子學報,2013,37(8):1794-1798.
[10] 陳國棟,李建微,潘林,等. 基于人體特征三維人體模型的骨架提取算法[J]. 計算機科學,2012,36(7):295-297.
[11] Huang B,Tian G,Li X. A Method for Fast Fall Detection[C]//Intelligent Control and Automation,2008.WCICA 2008. 7thWorld Congress on IEEE,2008:3619-3623.
[12] 王榮,章韻,陳建新. 基于三軸加速度傳感器的人體跌倒檢測系統設計與實現[J]. 計算機應用,2012,32(5):1450-1452.
[13] 朱國忠,韋彩虹,潘敏. 基于三維加速度傳感器的人體運動能耗檢測算法的研究[J]. 傳感技術學報,2011,24(8):1217-1221.
[14] 劉欣榮,陽光. 一種改進的基于加權模型的概念相似度計算方法[J]. 微電子學與計算機,2012,29(2):13-17.
[15] Vaidehi V,Ganapathy K,Mohan K,et al. Video Basedautomatic Fall Detection in Indoor Environment[C]//RecentTrends in Information Technology(ICRTIT),2011.
PSO-SVMFeatureVectorFallDetectionAlgorithmBasedonHumanPostures*
MAWengang,WANGXiaopeng*,WUZuopeng
(School of Electronic and Information Engineering,Lanzhou Jiaotong University,Lanzhou 730070,China)
Adopting the method of accelerating threshold can not demonstrate the variation of falling message. It will lead to the misjudgement of tumble,when using a wearable device to detect falling situation. In this paper,a PSO-SVM eigenvector fall detection algorithm based on human posture is proposed. Firstly,it collected the data of human body through the MEMS acceleration sensor node,and optimized the collected data by the conjugate gradient methods to reduce the nonlinear error. Secondly,the support vector machine(SVM)is used to detect and classify the fall behavior,and the SVM parameters are optimized by Particle Swarm Optimization(PSO)algorithm to obtain the optimal classification model. According to analyze the collected data by SVM classification model,it can judge whether to fall;Finally,it can constructed the PSO-SVM eigenvector which fusing human posture angle to detect the specific information of fall process. The experimental results show that the proposed method attains a recognition rate of 95.5%,which can distinguish the other non-falls. The detection accuracy is higher than other methods,the root-mean-square error is smaller and the robustness is better.
fall detection;human posture;sensor node;feature vector;support vector machine;particle swarm optimization
TN991.7
A
1004-1699(2017)10-1504-08
10.3969/j.issn.1004-1699.2017.10.009
麻文剛(1993-),男,甘肅天水人,漢族,蘭州交通大學在讀碩士研究生,主要研究方向為傳感器應用與數字信號處理,1248564936@qq.com;
王小鵬(1969-),男,甘肅正寧人,漢族,教授,博士生導師,主要研究方向為無線傳感器網絡與信號與信息處理,wangxp1969@sina.com;
吳作鵬(1993-),男,甘肅白銀人,漢族,蘭州交通大學在讀碩士研究生,主要研究方向為無線傳感器與數字信號處理,852119655@qq.com。