徒鵬佳,李軍懷,2,王懷軍,2,姬文超,2,王 侃,2
1(西安理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,西安 710048)
2(陜西省網(wǎng)絡(luò)計(jì)算與安全重點(diǎn)實(shí)驗(yàn)室,西安 710048)
隨著社會(huì)老齡化的加速邁進(jìn),人們?cè)絹?lái)越關(guān)注老年人的健康生活,尤其是跌倒問(wèn)題.相關(guān)調(diào)查表明,老年人群體中因跌倒而導(dǎo)致傷殘及死亡的人數(shù)比例一直在增加,并且很多老年人因跌倒而死亡的原因并非跌倒本身,而是因?yàn)槠涞购鬀](méi)有得到及時(shí)救治,因此研究有效的跌倒檢測(cè)方法對(duì)于保障老年人的健康生活具有重要意義.
目前,研究開(kāi)發(fā)人體跌倒檢測(cè)系統(tǒng)方面的技術(shù)較多,比如Wang等[1]和沈秉乾等[2]學(xué)者均通過(guò)加速度傳感器對(duì)人體運(yùn)動(dòng)信號(hào)采集和分析判斷是否發(fā)生跌倒,其優(yōu)點(diǎn)是算法簡(jiǎn)單,但因其僅使用加速度進(jìn)行檢測(cè)導(dǎo)致精確度較低,且無(wú)法對(duì)一些特定的姿態(tài)進(jìn)行判定.Qu[3]通過(guò)對(duì)加速度與合差分加速度等特征設(shè)定閾值來(lái)判斷是否發(fā)生跌倒,但特征數(shù)據(jù)仍較單一.后來(lái)諸多學(xué)者對(duì)單一化的數(shù)據(jù)以及復(fù)雜計(jì)算問(wèn)題進(jìn)行了研究,如Mazurek等人[4]通過(guò)紅外深度傳感器獲取各方向上坐標(biāo)變化速率的均值、方差、標(biāo)準(zhǔn)差等特征,通過(guò)樸素貝葉斯算法完成決策,實(shí)現(xiàn)跌倒檢測(cè)方案.文獻(xiàn)[5]通過(guò)加速度數(shù)據(jù)提取對(duì)跌倒行為敏感的時(shí)域及頻域特征,利用奇異值分解方法降維特征和重構(gòu)跌倒特征,采用支持向量機(jī)分類器檢測(cè)跌倒行為,實(shí)驗(yàn)結(jié)果具有較高靈敏度和特異度.王榮等[6]引入姿態(tài)角這一數(shù)據(jù)作為輔助,通過(guò)加速度數(shù)據(jù)和姿態(tài)角數(shù)據(jù)共同對(duì)跌倒?fàn)顟B(tài)進(jìn)行判定,但由于姿態(tài)角需要通過(guò)計(jì)算加速度獲取,因此算法比較復(fù)雜且計(jì)算量較大,進(jìn)而也導(dǎo)致檢測(cè)系統(tǒng)的實(shí)用性難以保證.基于此,有學(xué)者對(duì)姿態(tài)角和加速度做進(jìn)一步處理分析以提高檢測(cè)精度,如He等[7]結(jié)合姿態(tài)角和加速度作為特征量,通過(guò)卡爾曼濾波對(duì)數(shù)據(jù)進(jìn)行去噪與融合,同時(shí)應(yīng)用滑動(dòng)窗口和貝葉斯網(wǎng)絡(luò)分類器實(shí)現(xiàn)穿戴式跌倒檢測(cè)系統(tǒng),該系統(tǒng)的跌倒檢測(cè)率較高,但只實(shí)現(xiàn)了前后向跌倒和側(cè)向跌倒.文獻(xiàn)[8]使用加速度傳感器獲取數(shù)據(jù)生成離散變量,同時(shí)采用Ameva算法實(shí)現(xiàn)對(duì)老年人日常活動(dòng)識(shí)別和跌倒檢測(cè)系統(tǒng).雖然上述研究方法均能實(shí)現(xiàn)跌倒檢測(cè),但對(duì)精準(zhǔn)的具體跌倒方位判定還沒(méi)有進(jìn)行深一步研究,全面的跌倒方位判定可更好地對(duì)可能受傷部位進(jìn)行快速預(yù)診斷以縮短救治時(shí)間.
鑒于此,本文致力于跌倒方位精確判定,提出了一種基于拉班空間的跌倒方位檢測(cè)方法.首先利用慣性傳感器對(duì)人體運(yùn)動(dòng)數(shù)據(jù)進(jìn)行采集,將原始數(shù)據(jù)轉(zhuǎn)換并以姿態(tài)角法表示; 然后引入滑動(dòng)平均濾波算法對(duì)其進(jìn)行降噪融合,確定動(dòng)作區(qū)分閾值; 同時(shí)結(jié)合拉班舞譜空間表示方法,建立基于閾值的跌倒檢測(cè)及方位判定模型,并進(jìn)行實(shí)驗(yàn)驗(yàn)證.
跌倒是指突發(fā)、不自主、非故意的體位改變,倒在地上或更低的平面上[9],跌倒包括兩種: (1) 從一個(gè)平面到另一個(gè)平面的跌倒; (2) 同一平面的跌倒.導(dǎo)致人體發(fā)生跌倒的原因通常不是單方面的,而是一個(gè)綜合因素的結(jié)果.自身原因和環(huán)境因素都會(huì)導(dǎo)致身體失去平衡發(fā)生跌倒,且大多數(shù)跌倒事件發(fā)生在站立狀態(tài).跌倒過(guò)程的持續(xù)時(shí)間一般在2 s左右,跌倒的發(fā)生伴隨著人體姿態(tài)的改變,人體姿態(tài)是指身體各個(gè)部位位置的相對(duì)關(guān)系,人體由于突發(fā)原因而無(wú)法繼續(xù)保持平衡,跌倒事件便可能發(fā)生,身體會(huì)向某個(gè)方向倒下,是一系列作用對(duì)身體的結(jié)果.
拉班舞譜作為廣泛記錄舞蹈的方法,具有同步記錄舞蹈動(dòng)作時(shí)間、空間和力效等特性,能夠客觀反映肢體角度變化、空間路線甚至能量流動(dòng)和動(dòng)作主旨,因此已被應(yīng)用于人類學(xué)、運(yùn)動(dòng)學(xué)、物理治療等多個(gè)領(lǐng)域[10].而結(jié)構(gòu)描述作為拉班舞譜中使用最為廣泛的形式,可以從身體、空間、時(shí)間、動(dòng)力等多個(gè)層面體現(xiàn)身體運(yùn)動(dòng),其表達(dá)形式主要是方向符號(hào),因此研究保存舞蹈的主要目的是生成以方向符號(hào)為代表的基本動(dòng)作的拉班舞譜.其本質(zhì)是將動(dòng)作還原到人體最本真的運(yùn)動(dòng)方式,這不僅是對(duì)位置的簡(jiǎn)單描述,更重要的是對(duì)動(dòng)作取向與動(dòng)態(tài)的描述,使得舞者對(duì)動(dòng)作與動(dòng)作之間的轉(zhuǎn)換關(guān)系更加了解.同樣,人體發(fā)生跌倒,需具體描述跌倒動(dòng)作與跌倒方位之間的關(guān)系,不同的跌倒動(dòng)作與跌倒方位對(duì)身體機(jī)理的反應(yīng)存在差異性.如果只是籠統(tǒng)地說(shuō)明跌倒方位是向前、向后、向左以及向右,這根本不能全面詳細(xì)說(shuō)明跌倒動(dòng)作與跌倒方位之間的關(guān)系.
現(xiàn)有的跌倒檢測(cè)方法大多考慮向前、向后、向左、向右四種跌倒方位,并未考慮較精準(zhǔn)的各種斜側(cè)跌倒情況.拉班舞譜對(duì)于空間的記錄方式,主要是通過(guò)將人體自身空間在豎直方向分為上中下三段,每一段以九個(gè)方位來(lái)分解水平方向,因此需要用27個(gè)方向符號(hào)指示空間方位.本文選取拉班空間中段作為跌倒檢測(cè)及方位判定依據(jù),如圖1所示,具體分布是以45度為間隔并加上位置原點(diǎn),將中段水平運(yùn)動(dòng)空間分為9個(gè)子空間,將跌倒分為向前趴下、向左前側(cè)跌、向左側(cè)跌、向左后側(cè)跌、向后躺下、向右前側(cè)跌、向右側(cè)跌、向右后側(cè)跌以及原位站立9種姿態(tài),其中將除去原位的另外8種方位作為本文的跌倒方位判斷依據(jù).
為了區(qū)分老年人跌倒和日?;顒?dòng)兩種動(dòng)作類型,并考慮到其跌倒主要發(fā)生在室內(nèi)環(huán)境中.本文先通過(guò)慣性傳感器獲取兩種不同類型活動(dòng)數(shù)據(jù),再將捕捉到的動(dòng)作數(shù)據(jù)使用歐拉角法表示為姿態(tài)角,然后引入舞蹈記錄方法拉班舞譜體現(xiàn)人體運(yùn)動(dòng)空間變化,并采用滑動(dòng)平均濾波算法對(duì)姿態(tài)角去噪,以及通過(guò)多次實(shí)驗(yàn)分析并確定姿態(tài)閾值,對(duì)比判斷是否發(fā)生跌倒,最后根據(jù)姿態(tài)角判定不同跌倒方位.
圖1 拉班空間
1.2.1 姿態(tài)角計(jì)算
本文通過(guò)慣性傳感器采集人體動(dòng)作數(shù)據(jù).慣性傳感器具有攜帶輕便、侵入性低等特點(diǎn),可精準(zhǔn)追蹤并捕捉身體動(dòng)作數(shù)據(jù),同時(shí)具有三維分析功能.在日常生活中人體行為隨機(jī)性比較大而且復(fù)雜,因此,選擇合適的采集部位對(duì)于增強(qiáng)數(shù)據(jù)的代表性具有重要意義.從運(yùn)動(dòng)生物力學(xué)方面來(lái)說(shuō),人體的各種動(dòng)作需要重心來(lái)支撐,男子的重心大約在身高的56%處,女子大約在身高的55%處,即腰部最靠近人體的重心位置.Kangas[11]等人的研究結(jié)果表明,人體的腰部或者頸部的加速度信息最能反映人體的軀干的運(yùn)動(dòng)狀態(tài).根據(jù)Zdemir等人[12]使用單個(gè)傳感器檢測(cè)不同動(dòng)作時(shí)的準(zhǔn)確率,當(dāng)傳感器佩戴在腰部時(shí),檢測(cè)準(zhǔn)確率可達(dá)98.42%,而在頭部及胸部的準(zhǔn)確率分別為96.61%和96.50%.從而可知當(dāng)使用單個(gè)傳感器進(jìn)行動(dòng)作檢測(cè),傳感器位于腰部時(shí),不僅能夠區(qū)分動(dòng)作類型且檢測(cè)準(zhǔn)確率更高.經(jīng)上述分析,同時(shí)考慮到穿戴舒適性,本文將腰部作為傳感器采集節(jié)點(diǎn),搭建傳感器動(dòng)作捕捉平臺(tái)獲取人體動(dòng)作行為數(shù)據(jù),最后根據(jù)傳感器放置位置方向采用世界坐標(biāo)對(duì)人體活動(dòng)建模.
本文直接獲取的是以人為載體的姿態(tài)坐標(biāo),而跌倒檢測(cè)需要的是世界坐標(biāo)表示的姿態(tài)角,因此需對(duì)其進(jìn)行轉(zhuǎn)換.在數(shù)學(xué)中,不同的坐標(biāo)系之間存在一定的位置關(guān)系,這種位置關(guān)系可用變換矩陣來(lái)表示,如圖2所示,姿態(tài)坐標(biāo)在世界坐標(biāo)下的空間姿態(tài)可看作是依次繞航向角、俯仰角和橫滾角作基本旋轉(zhuǎn)后復(fù)合的結(jié)果,因此可以通過(guò)變換矩陣來(lái)對(duì)姿態(tài)坐標(biāo)進(jìn)行轉(zhuǎn)換處理,其中所用的姿態(tài)描述方法為歐拉角法,該方法易于理解且操作簡(jiǎn)便.具體操作過(guò)程如下文.
圖2 坐標(biāo)轉(zhuǎn)換圖
首先,將初始姿態(tài)坐標(biāo)與世界坐標(biāo)重合,姿態(tài)坐標(biāo)分別繞世界坐標(biāo)的Z軸、X軸和Y軸旋轉(zhuǎn),依次得到旋轉(zhuǎn)矩陣為:
式中,R、P、Y分別是roll、pitch、yaw的旋轉(zhuǎn)矩陣,繞ZXY軸旋轉(zhuǎn),旋轉(zhuǎn)角為r、p、y.依據(jù)正交矩陣的性質(zhì),可得到如下的旋轉(zhuǎn)矩陣N.
求得姿態(tài)變換矩陣N后,為了求取人體的姿態(tài)角,需要對(duì)其進(jìn)行進(jìn)一步變換,其結(jié)果為:
1.2.2 動(dòng)作差異分析
為判斷跌倒事件的發(fā)生,首先獲取老年人日常行為活動(dòng)與跌倒動(dòng)作的姿態(tài)角,對(duì)老年人動(dòng)作行為進(jìn)行差異分析,以區(qū)分日常行為與跌倒動(dòng)作.通過(guò)隨機(jī)采集人體日?;顒?dòng)動(dòng)作和跌倒動(dòng)作的姿態(tài)角數(shù)據(jù),每種動(dòng)作循環(huán)30次,截取部分特定動(dòng)作序列并統(tǒng)計(jì)結(jié)果,以姿態(tài)角中的橫滾角(roll)為例,結(jié)果如圖3所示.
圖3 不同行為動(dòng)作角度分布
圖3展示了各種動(dòng)作姿態(tài)角的分布情況,其中橫軸0到60 s為日常行為動(dòng)作,而60至120 s是兩個(gè)連續(xù)跌倒動(dòng)作.由圖3可知,跌倒動(dòng)作與日常行為動(dòng)作的姿態(tài)角分布具有明顯差別.為了更好地描述兩類動(dòng)作間的差異性,本文通過(guò)建立姿態(tài)角閾值區(qū)間模型來(lái)對(duì)跌倒動(dòng)作進(jìn)行精確判斷,具體實(shí)現(xiàn)過(guò)程為: 將采集到的兩類動(dòng)作數(shù)據(jù)進(jìn)行對(duì)比分析,選取適當(dāng)閾值區(qū)間.其結(jié)果如圖3中橫向虛線所示.此外,為了驗(yàn)證閾值選取的合理性,并考慮到閾值對(duì)于其檢測(cè)性能的影響,本文選取日常行為活動(dòng)中姿態(tài)角的最大值和最小值為閾值區(qū)間[+20°,+48°],該閾值區(qū)間與跌倒動(dòng)作的角度分布均沒(méi)有重疊部分,既避免了因閾值區(qū)間過(guò)大而可能會(huì)出現(xiàn)將某種跌倒動(dòng)作誤判為某種日常行為動(dòng)作的情況,又避免了因閾值區(qū)間過(guò)小而可能會(huì)將某種日常行為動(dòng)作誤判為某種跌倒動(dòng)作,該區(qū)間也能夠全面地表征跌倒動(dòng)作姿態(tài)角的變化范圍.通過(guò)設(shè)定上述姿態(tài)角的區(qū)間閾值,實(shí)際模擬人體隨機(jī)跌倒過(guò)程,其結(jié)果如圖4所示.從圖4中可以看到實(shí)驗(yàn)者在第200到350 s之間時(shí),其橫滾角超出了閾值范圍,也說(shuō)明了該實(shí)驗(yàn)者已發(fā)生跌倒,而其與實(shí)際情況相一致.該結(jié)果進(jìn)一步說(shuō)明了本實(shí)驗(yàn)中閾值選取的合理性與可行性.
圖4 跌倒曲線圖
以上步驟完成了跌倒事件的檢測(cè),在此基礎(chǔ)上結(jié)合拉班空間確定具體跌倒方位,對(duì)比實(shí)驗(yàn)中各個(gè)跌倒方位姿態(tài)角變化范圍.如圖5所示,以橫滾角(roll)為例,曲線從平緩到發(fā)生明顯變化的跌倒瞬間,各個(gè)方位的跌倒動(dòng)作姿態(tài)角變化范圍有較大差異,故以姿態(tài)角變化范圍作為跌倒方位的判斷依據(jù).通過(guò)多次實(shí)驗(yàn)結(jié)果分析分別得到了8種不同跌倒方位的判定閾值.
圖5 不同跌倒方位roll角變化圖
1.2.3 跌倒檢測(cè)及方位判定算法
人體發(fā)生跌倒時(shí),三種姿態(tài)角都會(huì)在短時(shí)間內(nèi)發(fā)生不同程度的浮動(dòng)變化,通過(guò)對(duì)捕捉到的跌倒動(dòng)作數(shù)據(jù)進(jìn)行分析,分別選取了傾斜角(pitch)和橫滾角(roll)作為跌倒檢測(cè)以及方位判斷依據(jù),算法如下:
(1) 計(jì)算獲取三個(gè)姿態(tài)角,判斷pitch或roll是否超過(guò)閾值.
(2) 當(dāng)連續(xù)1 s時(shí)間內(nèi)pitch或roll超過(guò)閾值,認(rèn)為人體姿態(tài)出現(xiàn)疑似跌倒?fàn)顟B(tài),但還不能判定測(cè)試者已跌倒,先預(yù)報(bào)警.
(3) 延時(shí)采集2 s時(shí)間數(shù)據(jù),對(duì)姿態(tài)角進(jìn)行二次檢測(cè).該步驟的必要性在于判斷測(cè)試者是否處于異常姿態(tài)的終態(tài),即倒地.當(dāng)測(cè)試者一直倒地時(shí),人體相對(duì)地面靜止,姿態(tài)角將一直處于異常狀態(tài),這時(shí)就會(huì)判定測(cè)試者已跌倒,進(jìn)行報(bào)警.
(4) 記錄跌倒姿態(tài)角值,判定具體跌倒方位,最后依據(jù)跌倒方位預(yù)診可能受傷部位,達(dá)到及時(shí)精準(zhǔn)救治目的.
該算法流程如圖6所示.
圖6 算法流程圖
為了驗(yàn)證本文提出的基于拉班空間的跌倒方位檢測(cè)方法的合理性與有效性,測(cè)試分為兩組: 一組是日常正行為活動(dòng)實(shí)驗(yàn),包含行走、坐下和彎腰; 另一組是模擬意外跌倒實(shí)驗(yàn),測(cè)試者進(jìn)行多種跌倒測(cè)試,具體包括向前趴下、向左前側(cè)跌、向左側(cè)跌、向左后側(cè)跌、向后躺下、向右前側(cè)跌、向右側(cè)跌、向右后側(cè)跌等8種可能跌倒姿態(tài),每組實(shí)驗(yàn)30次.
圖7(a)為人體正常行走時(shí)姿態(tài)角變化情況,圖中三個(gè)姿態(tài)角的檢測(cè)結(jié)果由于受噪聲的影響不夠準(zhǔn)確.目前對(duì)于運(yùn)動(dòng)捕捉數(shù)據(jù)中噪聲的處理大多采用卡爾曼濾波算法,因此本文首先通過(guò)卡爾曼濾波對(duì)運(yùn)動(dòng)捕捉數(shù)據(jù)進(jìn)行去噪,濾波結(jié)果如圖7(b)所示,與圖7(a)中原本曲線趨勢(shì)偏差較大,無(wú)法正確表現(xiàn)原始運(yùn)動(dòng),因此該方法并不適用于本文數(shù)據(jù)集.還有學(xué)者采用滑動(dòng)平均卡爾曼濾波算法[13]處理動(dòng)作數(shù)據(jù),該算法是在卡爾曼濾波的基礎(chǔ)上進(jìn)一步對(duì)數(shù)據(jù)進(jìn)行滑動(dòng)平均處理,但本文在使用該方法處理后發(fā)現(xiàn)結(jié)果仍與原始數(shù)據(jù)偏差較大,如圖7(c)所示.本文以數(shù)據(jù)信號(hào)的特點(diǎn)作為切入點(diǎn),由于本文數(shù)據(jù)是連續(xù)且非線性的,而且數(shù)據(jù)曲線連續(xù)波峰波谷起伏時(shí)的幅度是基本一致的.考慮到滑動(dòng)平均濾波方法在濾波過(guò)程中,能夠有效處理小范圍連續(xù)起伏數(shù)據(jù),且算法簡(jiǎn)便,計(jì)算量小.因此本文采用滑動(dòng)平均濾波算法進(jìn)行數(shù)據(jù)降噪,處理結(jié)果見(jiàn)圖7(d),經(jīng)滑動(dòng)平均濾波處理后,頻繁隨機(jī)起伏的數(shù)據(jù)被濾除,圖形曲線更加平滑,特別對(duì)干擾數(shù)據(jù)具有較好的效果,可有效地降低信號(hào)的波動(dòng)幅度.因此,本文選用滑動(dòng)平均濾波處理后的結(jié)果分析日常行為和不同跌倒方位的姿態(tài)變化.
對(duì)每一種跌倒動(dòng)作進(jìn)行30次實(shí)驗(yàn)?zāi)M,使用滑動(dòng)平均濾波算法對(duì)數(shù)據(jù)處理和分析,可以得到如圖8所示的人體不同跌倒運(yùn)動(dòng)狀態(tài)的姿態(tài)角變化情況.
從圖8中不難發(fā)現(xiàn),人體在跌倒發(fā)生的瞬間,姿態(tài)角的變化趨勢(shì)、浮動(dòng)范圍以及穩(wěn)定后的狀態(tài)與日常動(dòng)作存在顯著差異,并且不同的跌倒方位姿態(tài)角的變化趨勢(shì)以及浮動(dòng)范圍也存在差異.說(shuō)明人體的姿態(tài)角變化范圍隨著不同的跌倒方位而不同,因此姿態(tài)角可用于區(qū)分不同跌倒活動(dòng)狀態(tài).以前側(cè)跌倒為例,從第130 s起測(cè)試者發(fā)生跌倒,185 s時(shí)橫滾角(roll)達(dá)到并超過(guò)+25°的閾值.第210 s時(shí)測(cè)試者處于臥倒終態(tài),此時(shí)橫滾角將始終處于+120°.從橫滾角開(kāi)始變化到保持終態(tài)時(shí)間超過(guò)了1 s,此時(shí)進(jìn)行預(yù)報(bào)警.算法對(duì)姿態(tài)角進(jìn)行二次檢測(cè)后,發(fā)現(xiàn)直到2 s后測(cè)試者還處于臥倒終態(tài),故此時(shí)確認(rèn)橫滾角處于異常值,立即進(jìn)行報(bào)警.
圖7 不同濾波處理前后對(duì)比圖
圖8 不同跌倒方位曲線圖
本文共對(duì)日常生活行為和不同跌倒?fàn)顟B(tài)進(jìn)行了330次測(cè)試,成功330次,檢測(cè)正確率達(dá)100%.如見(jiàn)表1所示,本文方法可準(zhǔn)確識(shí)別前、后、左、右、左前、左后、右前、右后8種跌倒方位,具有較好的識(shí)別率.
表1 實(shí)驗(yàn)結(jié)果
隨著社會(huì)老齡化的加速邁進(jìn),人們?cè)絹?lái)越關(guān)注老年人的健康生活,特別對(duì)于居家養(yǎng)老的老年人日?;顒?dòng)中跌倒的監(jiān)測(cè)與預(yù)警問(wèn)題的研究和應(yīng)用具有很好的實(shí)際意義.本文提出了一種基于拉班空間的跌倒方位檢測(cè)方法,用歐拉角法表示不同的跌倒數(shù)據(jù),同時(shí)引入滑動(dòng)平均濾波算法對(duì)數(shù)據(jù)降噪和融合,選取日常生活狀態(tài)的姿態(tài)角作為該系統(tǒng)的閾值,設(shè)計(jì)實(shí)現(xiàn)了以姿態(tài)角為判斷標(biāo)準(zhǔn)的檢測(cè)跌倒方法,并通過(guò)人體日?;顒?dòng)行為和8種不同跌倒方位進(jìn)行實(shí)驗(yàn)驗(yàn)證,表明該方法具有較好的實(shí)際應(yīng)用價(jià)值.