趙 舉,鄭建立
(上海理工大學(xué) 健康科學(xué)與工程學(xué)院,上海 200093)
根據(jù)中國(guó)第七次全國(guó)人口普查結(jié)果顯示:全國(guó)人口共14億人,其中60歲及以上人口為2.6億,同時(shí)國(guó)內(nèi)人戶(hù)分離人口為4.9億人,年輕人外出務(wù)工,老年人無(wú)人監(jiān)護(hù)的問(wèn)題日益凸顯。老年人由于平衡能力變差、身體各項(xiàng)機(jī)能衰退,在日常生活中較易發(fā)生跌倒。另有調(diào)查數(shù)據(jù)顯示,老年人摔倒發(fā)生時(shí)間主要集中在早上7點(diǎn)到晚上9點(diǎn)之間,對(duì)于大量老人來(lái)說(shuō)處于無(wú)人照顧的空窗期,一旦發(fā)生意外摔倒將無(wú)人知曉,因此,一款能個(gè)性化適配的老年人跌倒檢測(cè)與告警系統(tǒng)具有重要的現(xiàn)實(shí)意義。
從不同的實(shí)現(xiàn)方法來(lái)看,人體跌倒檢測(cè)系統(tǒng)可分為三大類(lèi)。一類(lèi)是基于環(huán)境傳感器的跌倒檢測(cè)方案,另一類(lèi)是基于機(jī)器視覺(jué)的跌倒檢測(cè)方案,還有一類(lèi)是基于可穿戴式設(shè)備的跌倒檢測(cè)方案。
基于環(huán)境式的跌倒檢測(cè)技術(shù)一般部署于老年人的活動(dòng)區(qū)域內(nèi),通過(guò)音頻分析、超聲波、紅外感應(yīng)以及WiFi、雷達(dá)檢測(cè)等技術(shù),對(duì)探測(cè)范圍內(nèi)的人體活動(dòng)進(jìn)行分析判斷,識(shí)別跌倒行為并觸發(fā)報(bào)警。該類(lèi)技術(shù)方案可以直接獲取目標(biāo)動(dòng)作,而且不會(huì)侵犯用戶(hù)隱私,但這種技術(shù)無(wú)法做到老年人活動(dòng)區(qū)域的無(wú)死角覆蓋,只能在室內(nèi)使用,容易受到環(huán)境干擾,易出現(xiàn)誤報(bào),且部署成本較高。
基于機(jī)器視覺(jué)主要是通過(guò)安裝在用戶(hù)生活環(huán)境中的圖像或視頻采集設(shè)備來(lái)對(duì)人體的運(yùn)動(dòng)行為進(jìn)行數(shù)據(jù)采集,然后通過(guò)圖像或視頻處理來(lái)進(jìn)行人體行為識(shí)別,從而判斷是否發(fā)生了跌倒事件。該方案的優(yōu)點(diǎn)是設(shè)備安裝簡(jiǎn)單,視覺(jué)直觀,但視頻監(jiān)控設(shè)備僅能在室內(nèi)使用而且還存在一定的監(jiān)控死角,除此之外存在泄露個(gè)人隱私的風(fēng)險(xiǎn)。
基于可穿戴設(shè)備的方法是將采集人體運(yùn)動(dòng)學(xué)數(shù)據(jù)所需的傳感器設(shè)備穿戴在使用者身體的某部位上,通過(guò)對(duì)采集到的人體數(shù)據(jù)進(jìn)行分析處理來(lái)判斷是否發(fā)生了跌倒??纱┐魇降箼z測(cè)設(shè)備對(duì)比其它2類(lèi)中具有明顯優(yōu)勢(shì),且不受環(huán)境因素的制約,既小巧方便,又保護(hù)了個(gè)人隱私。目前可穿戴式跌倒檢測(cè)的各項(xiàng)研究中,數(shù)據(jù)來(lái)源方面主要有足底壓力傳感器、智能手表的加速度和心率傳感器,單獨(dú)的加速度和角速度傳感器。而可穿戴式的跌倒檢測(cè)以檢測(cè)算法進(jìn)行區(qū)分,可分為如下2種:
(1)基于閾值法的檢測(cè)。該方法簡(jiǎn)單,運(yùn)行速度快,但是對(duì)閾值特征的選取目前沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),且不同的佩戴位置需要適配不同的閾值,此外未曾考慮根據(jù)不同用戶(hù)的跌倒風(fēng)險(xiǎn)程度進(jìn)行個(gè)性化適配。
(2)基于機(jī)器學(xué)習(xí)、深度學(xué)習(xí)的檢測(cè)。該方法通常準(zhǔn)確率高,但對(duì)數(shù)據(jù)量的要求也較高,且算法較為復(fù)雜,容易造成檢測(cè)時(shí)間長(zhǎng)和過(guò)擬合等問(wèn)題。
為解決上述問(wèn)題,提高跌倒檢測(cè)算法的精確度和實(shí)時(shí)性,解除場(chǎng)景和地點(diǎn)限制,提高用戶(hù)的舒適性和適配性,本文提出一種兩步走的方式,第一階段佩戴本文設(shè)計(jì)的可穿戴設(shè)備,佩戴前用戶(hù)通過(guò)云端跌倒風(fēng)險(xiǎn)評(píng)估系統(tǒng)進(jìn)行評(píng)估打分,根據(jù)得分情況進(jìn)行個(gè)性化閾值設(shè)置;第二階段通過(guò)滑動(dòng)時(shí)間窗截取時(shí)間序列傳感器信息,對(duì)采集到的傳感器數(shù)據(jù)進(jìn)行滑動(dòng)平均濾波以去除噪聲,然后分析不同行為活動(dòng)下加速度、角速度、姿態(tài)角和高度的變化,對(duì)數(shù)據(jù)進(jìn)行歸一化等預(yù)處理,最終形成特征數(shù)據(jù)集輸入到Bi-LSTM神經(jīng)網(wǎng)絡(luò)進(jìn)行個(gè)體跌倒模型的訓(xùn)練與構(gòu)建。
整個(gè)系統(tǒng)設(shè)計(jì)結(jié)構(gòu)如圖1所示,包括可穿戴設(shè)備和云端兩部分。利用穿戴在用戶(hù)身上的多傳感器可以有效捕捉跌倒的失重和撞擊的2個(gè)狀態(tài)??纱┐髟O(shè)備佩戴于腰間,運(yùn)行時(shí)負(fù)責(zé)采集人體的加速度、角速度、高度變化等信息,通過(guò)藍(lán)牙傳輸協(xié)議傳輸?shù)绞謾C(jī)或者通過(guò)通信模塊傳輸?shù)皆贫?,以便?duì)用戶(hù)的數(shù)據(jù)進(jìn)行持久化留存與數(shù)據(jù)分析,在云端對(duì)數(shù)據(jù)進(jìn)行預(yù)處理后,輸入到Bi-LSTM訓(xùn)練模型,構(gòu)建個(gè)體的跌倒判別模型。
圖1 系統(tǒng)結(jié)構(gòu)Fig.1 The block diagram of the proposed fall detection system
系統(tǒng)硬件包括:主控芯片Nordic52832、9軸姿態(tài)傳感器mpu9250、氣壓高度傳感器SPL06-001、NBIOT與GNSS模組、電源管理與電池模塊。其中,nRF52832作為主控芯片可提供良好的算力,同時(shí)支持藍(lán)牙5.2協(xié)議,為后續(xù)通過(guò)藍(lán)牙AOA技術(shù)進(jìn)行室內(nèi)定位功能預(yù)留拓展空間;mpu9250 9軸傳感器和SPL06氣壓高度傳感器,可以實(shí)時(shí)捕捉人體的動(dòng)作變化,經(jīng)過(guò)卡爾曼濾波處理后,輸入到實(shí)時(shí)跌倒檢測(cè)算法,進(jìn)行實(shí)時(shí)的動(dòng)作識(shí)別與判斷是否跌倒。BC20模組是一款支持GNSS定位功能的高性能NB-IoT模塊,通過(guò)NB-IoT無(wú)線電通信協(xié)議(3GPPRel.13),可穿戴設(shè)備可通過(guò)運(yùn)營(yíng)商的基站與云端建立通信,而GNSS接收模塊集成了BeiDou、GPS、GLONASS定位和導(dǎo)航系統(tǒng),可多系統(tǒng)聯(lián)合定位,在獲取定位的經(jīng)緯度信息后,經(jīng)過(guò)相應(yīng)的坐標(biāo)轉(zhuǎn)換算法,轉(zhuǎn)換為火星坐標(biāo)系實(shí)現(xiàn)精準(zhǔn)定位,定位的水平位置精度要小于2.5 m CEP@-130 dB。
由于老年人的跌倒并不完全是意外,而多是由一些潛在的風(fēng)險(xiǎn)引起,由內(nèi)外多重因素交互影響作用的。其中,內(nèi)在因素包括步態(tài)穩(wěn)定性的下降和平衡功能的受損、視聽(tīng)覺(jué)等感覺(jué)系統(tǒng)的削弱、骨骼肌肉系統(tǒng)的退化等生理因素,卒中、帕金森、白內(nèi)障、青光眼和認(rèn)知障礙等病理因素,服用抗抑郁藥、催眠藥、降糖藥、利尿劑等藥物因素,抑郁、焦慮和害怕跌倒等心理因素;外在因素主要指一些意外情況的發(fā)生??茖W(xué)的跌倒風(fēng)險(xiǎn)評(píng)估有利于及時(shí)發(fā)現(xiàn)可能引起老年人跌倒的潛在危險(xiǎn)因素,不僅有助于預(yù)防老年人跌倒的發(fā)生,而且可以通過(guò)更改通用跌倒檢測(cè)模型相關(guān)參數(shù)進(jìn)行個(gè)性化模型的構(gòu)建,提高個(gè)體跌倒行為識(shí)別的準(zhǔn)確率。
可穿戴端實(shí)時(shí)跌倒檢測(cè)算法流程如圖2所示,用戶(hù)佩戴前需進(jìn)行云端的Morse跌倒風(fēng)險(xiǎn)評(píng)估,其中得分越高說(shuō)明跌倒的風(fēng)險(xiǎn)越大,完成各項(xiàng)評(píng)估后,會(huì)生成相應(yīng)的得分與風(fēng)險(xiǎn)評(píng)估報(bào)告,根據(jù)得分情況對(duì)應(yīng)修改算法中的閾值,進(jìn)行跌倒判別模型適配。
圖2 個(gè)體適配的實(shí)時(shí)跌倒檢測(cè)算法Fig.2 Personalized real-time fall detection algorithm
人的活動(dòng)是多樣性的,且產(chǎn)生的行為數(shù)據(jù)與時(shí)序相關(guān),為了將跌倒從各種ADL中更準(zhǔn)確地區(qū)別出來(lái),使用Bi-LSTM(Bi-directional Long Short-Term Memory)神經(jīng)網(wǎng)絡(luò)作為跌倒的分類(lèi)器。算法首先利用滑動(dòng)時(shí)間窗獲取傳感器數(shù)據(jù),原始數(shù)據(jù)經(jīng)過(guò)預(yù)處理后作為模型的輸入。Bi-LSTM神經(jīng)網(wǎng)絡(luò)通過(guò)對(duì)訓(xùn)練數(shù)據(jù)集迭代學(xué)習(xí)自動(dòng)尋找出合適的數(shù)據(jù)特征,并最終輸出對(duì)輸入數(shù)據(jù)類(lèi)別的判斷(跌倒或非跌倒),實(shí)現(xiàn)端到端的處理。
長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)是一種時(shí)間循環(huán)神經(jīng)網(wǎng)絡(luò),是RNN一個(gè)出色的優(yōu)化版本,解決了原始RNN所帶來(lái)的梯度爆炸和梯度消失問(wèn)題。在這個(gè)模型中,每一個(gè)LSTM單元包含存儲(chǔ)單元,存儲(chǔ)著前期時(shí)刻的所有信息,并以此解決了RNN中的長(zhǎng)期依賴(lài)問(wèn)題。各儲(chǔ)存單元的入口被一些特殊的門(mén)控制,被控制的功能包括保存、寫(xiě)入和讀取操作。這些操作由3個(gè)門(mén)控單元接管:遺忘門(mén)決定需要從細(xì)胞狀態(tài)中丟棄的信息;輸入門(mén)確定添加到細(xì)胞中的新信息;輸出門(mén)確定最終的輸出。模型具體結(jié)構(gòu)如圖3所示。
圖3 LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 The structure diagram of LSTM neural network
雙向長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(Bi-LSTM)結(jié)構(gòu)模型分為2個(gè)獨(dú)立的LSTM,輸入序列分別以正序和逆序輸入至2個(gè)LSTM神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取,將2個(gè)輸出向量(即提取后的特征向量)進(jìn)行拼接后作為最終特征表達(dá)。Bi-LSTM結(jié)構(gòu)見(jiàn)圖4。
圖4 Bi-LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.4 The structure diagram of Bi-LSTM neural network
圖4中,自前向后循環(huán)神經(jīng)網(wǎng)絡(luò)層的前向傳播公式為:
自后向前循環(huán)神經(jīng)網(wǎng)絡(luò)層的前向傳播公式為:
2層循環(huán)神經(jīng)網(wǎng)絡(luò)層疊加后輸入隱藏層:
其中,是激活函數(shù)tanh;是參數(shù)矩陣;是偏置;“→”表示傳播方向。
穿戴式的跌倒檢測(cè)設(shè)備,可以穿戴在人體的多個(gè)位置,如腰部、腕部、胸部、背部、頸部,而不同的穿戴位置和朝向又需要對(duì)應(yīng)設(shè)計(jì)合適的跌倒檢測(cè)模型。Zhang等人在分析了胸部、腰部、大腿部、小腿部4個(gè)位置的數(shù)據(jù)后,發(fā)現(xiàn)腰部是衡量不同行為特性的最佳位置;Shi等人將設(shè)備同時(shí)安裝在用戶(hù)的14個(gè)部位,也發(fā)現(xiàn)單一位置中腰部的效果最好??紤]到未來(lái)設(shè)備由于需要長(zhǎng)時(shí)間佩戴,一方面要盡可能地減少對(duì)用戶(hù)的侵?jǐn)_,還要利用好氣壓高度傳感器的性能,同時(shí)提高跌倒與非跌倒判別的準(zhǔn)確度,本設(shè)計(jì)最終選擇的佩戴位置為腰中后部,后續(xù)實(shí)驗(yàn)也全部是佩戴在此位置采集數(shù)據(jù),跌倒模型也是針對(duì)該佩戴位置構(gòu)建。
為了構(gòu)建模型訓(xùn)練集,本文將人類(lèi)的行為活動(dòng)分成了兩大類(lèi):跌倒和日?;顒?dòng)(ADL)。其中,跌倒包括向前跌倒、向左跌倒、向右跌倒和向后跌倒,同時(shí)ADL包括行走、坐下、彎腰拾物、下蹲和起立。
實(shí)驗(yàn)邀請(qǐng)5名志愿者,其中2男3女,平均年齡26歲,男性平均身高175 cm、平均體重65 kg,女性平均身高163 cm、平均體重52 kg。實(shí)驗(yàn)時(shí)讓志愿者按照上述要求將穿戴設(shè)備佩戴于腰部,逐步進(jìn)行上述ADL和跌倒活動(dòng),每次活動(dòng)控制在10 s以?xún)?nèi),所有測(cè)試者都被要求按照個(gè)人習(xí)慣自由地完成上述任務(wù)。在進(jìn)行跌倒的過(guò)程中,使用加厚瑜伽墊減緩沖擊保護(hù)受試者。最終每組動(dòng)作采集了220個(gè),每人共計(jì)1 320個(gè)動(dòng)作。系統(tǒng)采集到原始數(shù)據(jù)可表示為:
其中,表示3軸的加速度值;表示3軸的角速度值;表示高度值。
采集到的數(shù)據(jù)并不能直接輸入模型使用,為了提高模型訓(xùn)練的效果和效率,先對(duì)其進(jìn)行歸一化處理,即每一個(gè)數(shù)據(jù)都會(huì)除以其傳感器量程。歸一化處理完成后,還要對(duì)其進(jìn)行時(shí)間片切分,切分成統(tǒng)一的10 s一組的數(shù)據(jù)。隨后要對(duì)跌倒和ADL進(jìn)行標(biāo)注,這對(duì)跌倒檢測(cè)算法的性能有著很大的影響。本文通過(guò)觀察高度變化,確定跌倒的臨界位置,其中4名志愿者連續(xù)做一套動(dòng)作的高度的變化情況如圖5所示。圖5中,是行走動(dòng)作,是坐下和起立動(dòng)作,是彎腰動(dòng)作,是下蹲和站起動(dòng)作,是跌倒動(dòng)作。
圖5 不同受試者一套動(dòng)作高度變化Fig.5 Height change of a set of movements of different subjects
實(shí)驗(yàn)采集到的ADL數(shù)據(jù)和跌倒的數(shù)據(jù)比例是5:1,為了保證模型準(zhǔn)確率和訓(xùn)練效果,即統(tǒng)計(jì)學(xué)中跌倒和非跌倒的數(shù)據(jù)比例達(dá)到1∶1,從每個(gè)人ADL的每種動(dòng)作中隨機(jī)挑選44個(gè)與跌倒動(dòng)作組成每個(gè)人的數(shù)據(jù)集。
同時(shí)本實(shí)驗(yàn)采用2種方式進(jìn)行對(duì)比實(shí)驗(yàn)。第一種是模擬用戶(hù)使用前期自身數(shù)據(jù)量不足時(shí)采用公共數(shù)據(jù)訓(xùn)練跌倒判別模型,第二種是模擬用戶(hù)佩戴后收集到大量的個(gè)體數(shù)據(jù)生成個(gè)性化跌倒判別模型。第一種方式中,采用的是選取志愿者中任意4人的數(shù)據(jù)集作為公共數(shù)據(jù)集進(jìn)行模型訓(xùn)練,其中公共數(shù)據(jù)集中的80%數(shù)據(jù)作為訓(xùn)練集,其余20%的數(shù)據(jù)作為驗(yàn)證集,另一人的數(shù)據(jù)進(jìn)行測(cè)試。第二種方式是用每個(gè)志愿者自己的數(shù)據(jù)集,其中64%為訓(xùn)練集、16%為驗(yàn)證集、20%為測(cè)試集。
本實(shí)驗(yàn)使用TensorFlow深度學(xué)習(xí)框架搭建了跌倒檢測(cè)神經(jīng)網(wǎng)絡(luò)模型,并使用實(shí)驗(yàn)數(shù)據(jù)集檢驗(yàn)?zāi)P偷木_度。實(shí)驗(yàn)在個(gè)人電腦上完成,處理器型號(hào)為Intel core i5。
跌倒檢測(cè)屬于二分類(lèi)問(wèn)題,模型只需分辨跌倒和非跌倒動(dòng)作兩種類(lèi)別,判斷結(jié)果可能存在以下4種情況:
(1)(True Positive):跌倒發(fā)生且系統(tǒng)成功判別,屬于正確判斷。
(2)(True Negative):未發(fā)生跌倒且系統(tǒng)判別為未跌倒,屬于正確判斷。
(3)(False Positive):未發(fā)生跌倒但系統(tǒng)判別為跌倒,屬于誤判。
(4)(False Negative):發(fā)生跌倒但系統(tǒng)未檢測(cè)到,屬于漏判。
驗(yàn)證一個(gè)模型的分類(lèi)性能有4個(gè)指標(biāo),分別是:準(zhǔn)確率(accuracy)反映了模型的總體精確度、(Area Under Curve)反映了跌倒預(yù)測(cè)模型的優(yōu)劣、敏感性(sensitivity)反映了模型識(shí)別跌倒的能力、特異性(specificity)反映了模型對(duì)跌倒和非跌倒的區(qū)分程度。各指標(biāo)的數(shù)學(xué)定義公式具體如下:
2種方式生成的預(yù)測(cè)模型效果如圖6所示。圖6顯示的是多人預(yù)測(cè)模型的平均值,其中common表示第一種方式,personal表示第二種方式。從圖6中可以直觀發(fā)現(xiàn),由于個(gè)體的差異性(身高、體重、跌倒風(fēng)險(xiǎn)等),當(dāng)個(gè)體數(shù)據(jù)不足時(shí),使用公共數(shù)據(jù)訓(xùn)練出的模型相對(duì)準(zhǔn)確(平均為84%),但未能很好地適配,而隨著用戶(hù)的佩戴,收集到大量的個(gè)體數(shù)據(jù)后訓(xùn)練生成的跌倒判別模型能達(dá)到很好效果,平均準(zhǔn)確度為97.6%,為985,敏感性和特異性分別為971和966。
圖6 公共和個(gè)體模型效果對(duì)比Fig.6 The comparison chart of the effect of public model and individual model
本文提出一種基于多傳感器和Bi-LSTM的個(gè)性化跌倒檢方案。該方案分為2個(gè)階段,第一階段先對(duì)用戶(hù)進(jìn)行跌倒風(fēng)險(xiǎn)評(píng)估,生成個(gè)性化的穿戴端實(shí)時(shí)跌倒檢測(cè)算法;第二階段通過(guò)滑動(dòng)時(shí)間窗截取時(shí)間序列傳感器信息(包括加速度、角速度、氣壓高度等信息)上傳到云端,在云端對(duì)原始數(shù)據(jù)進(jìn)行歸一化等預(yù)處理便可作為模型的輸入。Bi-LSTM神經(jīng)網(wǎng)絡(luò)通過(guò)訓(xùn)練自動(dòng)學(xué)習(xí)并提取數(shù)據(jù)內(nèi)部的特征,再利用分類(lèi)器判斷是否為跌倒數(shù)據(jù)。該方案充分結(jié)合了閾值法與深度學(xué)習(xí)方法的優(yōu)勢(shì)并解決了不同個(gè)體適配性的問(wèn)題,閾值法由于人工提取特征的不準(zhǔn)確,導(dǎo)致誤報(bào)率相對(duì)較高,而B(niǎo)i-LSTM是一種專(zhuān)門(mén)針對(duì)時(shí)序序列相關(guān)的神經(jīng)網(wǎng)絡(luò)模型,省去了人工的特征提取過(guò)程,實(shí)現(xiàn)了從原始數(shù)據(jù)到判斷結(jié)果的端到端處理,同時(shí)實(shí)驗(yàn)也證明了生成的個(gè)性化模型可以達(dá)到較高的精確度。
本實(shí)驗(yàn)由于具有一定的危險(xiǎn)性,因此參與的個(gè)體不足。同時(shí)本實(shí)驗(yàn)主要通過(guò)中青年來(lái)近似模擬老年人產(chǎn)生相關(guān)數(shù)據(jù),實(shí)驗(yàn)結(jié)果驗(yàn)證了本文提出算法的可行性,但要得到一個(gè)真正適用于老年人跌倒檢測(cè)的模型,還需要采集足夠多的老年人的跌倒數(shù)據(jù)來(lái)進(jìn)一步訓(xùn)練優(yōu)化模型,使得模型能夠提取出更適應(yīng)老年人的數(shù)據(jù)特征。
受限于可穿戴設(shè)備的計(jì)算能力和能耗問(wèn)題,本文提出的是一種端+云的結(jié)合方案,還不是最終最優(yōu)的方式,但是隨著深度學(xué)習(xí)在基于可穿戴傳感器的跌倒檢測(cè)問(wèn)題的應(yīng)用得到廣泛的研究,及嵌入式神經(jīng)網(wǎng)絡(luò)處理單元(NPU)和針對(duì)嵌入式設(shè)備的輕量級(jí)深度學(xué)習(xí)框架的發(fā)展使得在可穿戴設(shè)備上運(yùn)行神經(jīng)網(wǎng)絡(luò)成為可能。算法的能耗也是一個(gè)應(yīng)當(dāng)考慮的因素,需要制定一個(gè)低功耗的實(shí)時(shí)運(yùn)行框架,以保證系統(tǒng)的正常使用。