趙 舉,鄭建立
(上海理工大學 健康科學與工程學院,上海 200093)
根據中國第七次全國人口普查結果顯示:全國人口共14億人,其中60歲及以上人口為2.6億,同時國內人戶分離人口為4.9億人,年輕人外出務工,老年人無人監護的問題日益凸顯。老年人由于平衡能力變差、身體各項機能衰退,在日常生活中較易發生跌倒。另有調查數據顯示,老年人摔倒發生時間主要集中在早上7點到晚上9點之間,對于大量老人來說處于無人照顧的空窗期,一旦發生意外摔倒將無人知曉,因此,一款能個性化適配的老年人跌倒檢測與告警系統具有重要的現實意義。
從不同的實現方法來看,人體跌倒檢測系統可分為三大類。一類是基于環境傳感器的跌倒檢測方案,另一類是基于機器視覺的跌倒檢測方案,還有一類是基于可穿戴式設備的跌倒檢測方案。
基于環境式的跌倒檢測技術一般部署于老年人的活動區域內,通過音頻分析、超聲波、紅外感應以及WiFi、雷達檢測等技術,對探測范圍內的人體活動進行分析判斷,識別跌倒行為并觸發報警。該類技術方案可以直接獲取目標動作,而且不會侵犯用戶隱私,但這種技術無法做到老年人活動區域的無死角覆蓋,只能在室內使用,容易受到環境干擾,易出現誤報,且部署成本較高。
基于機器視覺主要是通過安裝在用戶生活環境中的圖像或視頻采集設備來對人體的運動行為進行數據采集,然后通過圖像或視頻處理來進行人體行為識別,從而判斷是否發生了跌倒事件。該方案的優點是設備安裝簡單,視覺直觀,但視頻監控設備僅能在室內使用而且還存在一定的監控死角,除此之外存在泄露個人隱私的風險。
基于可穿戴設備的方法是將采集人體運動學數據所需的傳感器設備穿戴在使用者身體的某部位上,通過對采集到的人體數據進行分析處理來判斷是否發生了跌倒??纱┐魇降箼z測設備對比其它2類中具有明顯優勢,且不受環境因素的制約,既小巧方便,又保護了個人隱私。目前可穿戴式跌倒檢測的各項研究中,數據來源方面主要有足底壓力傳感器、智能手表的加速度和心率傳感器,單獨的加速度和角速度傳感器。而可穿戴式的跌倒檢測以檢測算法進行區分,可分為如下2種:
(1)基于閾值法的檢測。該方法簡單,運行速度快,但是對閾值特征的選取目前沒有統一的標準,且不同的佩戴位置需要適配不同的閾值,此外未曾考慮根據不同用戶的跌倒風險程度進行個性化適配。
(2)基于機器學習、深度學習的檢測。該方法通常準確率高,但對數據量的要求也較高,且算法較為復雜,容易造成檢測時間長和過擬合等問題。
為解決上述問題,提高跌倒檢測算法的精確度和實時性,解除場景和地點限制,提高用戶的舒適性和適配性,本文提出一種兩步走的方式,第一階段佩戴本文設計的可穿戴設備,佩戴前用戶通過云端跌倒風險評估系統進行評估打分,根據得分情況進行個性化閾值設置;第二階段通過滑動時間窗截取時間序列傳感器信息,對采集到的傳感器數據進行滑動平均濾波以去除噪聲,然后分析不同行為活動下加速度、角速度、姿態角和高度的變化,對數據進行歸一化等預處理,最終形成特征數據集輸入到Bi-LSTM神經網絡進行個體跌倒模型的訓練與構建。
整個系統設計結構如圖1所示,包括可穿戴設備和云端兩部分。利用穿戴在用戶身上的多傳感器可以有效捕捉跌倒的失重和撞擊的2個狀態??纱┐髟O備佩戴于腰間,運行時負責采集人體的加速度、角速度、高度變化等信息,通過藍牙傳輸協議傳輸到手機或者通過通信模塊傳輸到云端,以便對用戶的數據進行持久化留存與數據分析,在云端對數據進行預處理后,輸入到Bi-LSTM訓練模型,構建個體的跌倒判別模型。

圖1 系統結構Fig.1 The block diagram of the proposed fall detection system
系統硬件包括:主控芯片Nordic52832、9軸姿態傳感器mpu9250、氣壓高度傳感器SPL06-001、NBIOT與GNSS模組、電源管理與電池模塊。其中,nRF52832作為主控芯片可提供良好的算力,同時支持藍牙5.2協議,為后續通過藍牙AOA技術進行室內定位功能預留拓展空間;mpu9250 9軸傳感器和SPL06氣壓高度傳感器,可以實時捕捉人體的動作變化,經過卡爾曼濾波處理后,輸入到實時跌倒檢測算法,進行實時的動作識別與判斷是否跌倒。BC20模組是一款支持GNSS定位功能的高性能NB-IoT模塊,通過NB-IoT無線電通信協議(3GPPRel.13),可穿戴設備可通過運營商的基站與云端建立通信,而GNSS接收模塊集成了BeiDou、GPS、GLONASS定位和導航系統,可多系統聯合定位,在獲取定位的經緯度信息后,經過相應的坐標轉換算法,轉換為火星坐標系實現精準定位,定位的水平位置精度要小于2.5 m CEP@-130 dB。
由于老年人的跌倒并不完全是意外,而多是由一些潛在的風險引起,由內外多重因素交互影響作用的。其中,內在因素包括步態穩定性的下降和平衡功能的受損、視聽覺等感覺系統的削弱、骨骼肌肉系統的退化等生理因素,卒中、帕金森、白內障、青光眼和認知障礙等病理因素,服用抗抑郁藥、催眠藥、降糖藥、利尿劑等藥物因素,抑郁、焦慮和害怕跌倒等心理因素;外在因素主要指一些意外情況的發生。科學的跌倒風險評估有利于及時發現可能引起老年人跌倒的潛在危險因素,不僅有助于預防老年人跌倒的發生,而且可以通過更改通用跌倒檢測模型相關參數進行個性化模型的構建,提高個體跌倒行為識別的準確率。
可穿戴端實時跌倒檢測算法流程如圖2所示,用戶佩戴前需進行云端的Morse跌倒風險評估,其中得分越高說明跌倒的風險越大,完成各項評估后,會生成相應的得分與風險評估報告,根據得分情況對應修改算法中的閾值,進行跌倒判別模型適配。

圖2 個體適配的實時跌倒檢測算法Fig.2 Personalized real-time fall detection algorithm
人的活動是多樣性的,且產生的行為數據與時序相關,為了將跌倒從各種ADL中更準確地區別出來,使用Bi-LSTM(Bi-directional Long Short-Term Memory)神經網絡作為跌倒的分類器。算法首先利用滑動時間窗獲取傳感器數據,原始數據經過預處理后作為模型的輸入。Bi-LSTM神經網絡通過對訓練數據集迭代學習自動尋找出合適的數據特征,并最終輸出對輸入數據類別的判斷(跌倒或非跌倒),實現端到端的處理。
長短期記憶網絡(Long Short-Term Memory,LSTM)是一種時間循環神經網絡,是RNN一個出色的優化版本,解決了原始RNN所帶來的梯度爆炸和梯度消失問題。在這個模型中,每一個LSTM單元包含存儲單元,存儲著前期時刻的所有信息,并以此解決了RNN中的長期依賴問題。各儲存單元的入口被一些特殊的門控制,被控制的功能包括保存、寫入和讀取操作。這些操作由3個門控單元接管:遺忘門決定需要從細胞狀態中丟棄的信息;輸入門確定添加到細胞中的新信息;輸出門確定最終的輸出。模型具體結構如圖3所示。

圖3 LSTM神經網絡結構圖Fig.3 The structure diagram of LSTM neural network
雙向長短期記憶神經網絡(Bi-LSTM)結構模型分為2個獨立的LSTM,輸入序列分別以正序和逆序輸入至2個LSTM神經網絡進行特征提取,將2個輸出向量(即提取后的特征向量)進行拼接后作為最終特征表達。Bi-LSTM結構見圖4。

圖4 Bi-LSTM神經網絡結構圖Fig.4 The structure diagram of Bi-LSTM neural network
圖4中,自前向后循環神經網絡層的前向傳播公式為:

自后向前循環神經網絡層的前向傳播公式為:

2層循環神經網絡層疊加后輸入隱藏層:

其中,是激活函數tanh;是參數矩陣;是偏置;“→”表示傳播方向。
穿戴式的跌倒檢測設備,可以穿戴在人體的多個位置,如腰部、腕部、胸部、背部、頸部,而不同的穿戴位置和朝向又需要對應設計合適的跌倒檢測模型。Zhang等人在分析了胸部、腰部、大腿部、小腿部4個位置的數據后,發現腰部是衡量不同行為特性的最佳位置;Shi等人將設備同時安裝在用戶的14個部位,也發現單一位置中腰部的效果最好??紤]到未來設備由于需要長時間佩戴,一方面要盡可能地減少對用戶的侵擾,還要利用好氣壓高度傳感器的性能,同時提高跌倒與非跌倒判別的準確度,本設計最終選擇的佩戴位置為腰中后部,后續實驗也全部是佩戴在此位置采集數據,跌倒模型也是針對該佩戴位置構建。
為了構建模型訓練集,本文將人類的行為活動分成了兩大類:跌倒和日常活動(ADL)。其中,跌倒包括向前跌倒、向左跌倒、向右跌倒和向后跌倒,同時ADL包括行走、坐下、彎腰拾物、下蹲和起立。
實驗邀請5名志愿者,其中2男3女,平均年齡26歲,男性平均身高175 cm、平均體重65 kg,女性平均身高163 cm、平均體重52 kg。實驗時讓志愿者按照上述要求將穿戴設備佩戴于腰部,逐步進行上述ADL和跌倒活動,每次活動控制在10 s以內,所有測試者都被要求按照個人習慣自由地完成上述任務。在進行跌倒的過程中,使用加厚瑜伽墊減緩沖擊保護受試者。最終每組動作采集了220個,每人共計1 320個動作。系統采集到原始數據可表示為:

其中,表示3軸的加速度值;表示3軸的角速度值;表示高度值。
采集到的數據并不能直接輸入模型使用,為了提高模型訓練的效果和效率,先對其進行歸一化處理,即每一個數據都會除以其傳感器量程。歸一化處理完成后,還要對其進行時間片切分,切分成統一的10 s一組的數據。隨后要對跌倒和ADL進行標注,這對跌倒檢測算法的性能有著很大的影響。本文通過觀察高度變化,確定跌倒的臨界位置,其中4名志愿者連續做一套動作的高度的變化情況如圖5所示。圖5中,是行走動作,是坐下和起立動作,是彎腰動作,是下蹲和站起動作,是跌倒動作。

圖5 不同受試者一套動作高度變化Fig.5 Height change of a set of movements of different subjects
實驗采集到的ADL數據和跌倒的數據比例是5:1,為了保證模型準確率和訓練效果,即統計學中跌倒和非跌倒的數據比例達到1∶1,從每個人ADL的每種動作中隨機挑選44個與跌倒動作組成每個人的數據集。
同時本實驗采用2種方式進行對比實驗。第一種是模擬用戶使用前期自身數據量不足時采用公共數據訓練跌倒判別模型,第二種是模擬用戶佩戴后收集到大量的個體數據生成個性化跌倒判別模型。第一種方式中,采用的是選取志愿者中任意4人的數據集作為公共數據集進行模型訓練,其中公共數據集中的80%數據作為訓練集,其余20%的數據作為驗證集,另一人的數據進行測試。第二種方式是用每個志愿者自己的數據集,其中64%為訓練集、16%為驗證集、20%為測試集。
本實驗使用TensorFlow深度學習框架搭建了跌倒檢測神經網絡模型,并使用實驗數據集檢驗模型的精確度。實驗在個人電腦上完成,處理器型號為Intel core i5。
跌倒檢測屬于二分類問題,模型只需分辨跌倒和非跌倒動作兩種類別,判斷結果可能存在以下4種情況:
(1)(True Positive):跌倒發生且系統成功判別,屬于正確判斷。
(2)(True Negative):未發生跌倒且系統判別為未跌倒,屬于正確判斷。
(3)(False Positive):未發生跌倒但系統判別為跌倒,屬于誤判。
(4)(False Negative):發生跌倒但系統未檢測到,屬于漏判。
驗證一個模型的分類性能有4個指標,分別是:準確率(accuracy)反映了模型的總體精確度、(Area Under Curve)反映了跌倒預測模型的優劣、敏感性(sensitivity)反映了模型識別跌倒的能力、特異性(specificity)反映了模型對跌倒和非跌倒的區分程度。各指標的數學定義公式具體如下:

2種方式生成的預測模型效果如圖6所示。圖6顯示的是多人預測模型的平均值,其中common表示第一種方式,personal表示第二種方式。從圖6中可以直觀發現,由于個體的差異性(身高、體重、跌倒風險等),當個體數據不足時,使用公共數據訓練出的模型相對準確(平均為84%),但未能很好地適配,而隨著用戶的佩戴,收集到大量的個體數據后訓練生成的跌倒判別模型能達到很好效果,平均準確度為97.6%,為985,敏感性和特異性分別為971和966。

圖6 公共和個體模型效果對比Fig.6 The comparison chart of the effect of public model and individual model
本文提出一種基于多傳感器和Bi-LSTM的個性化跌倒檢方案。該方案分為2個階段,第一階段先對用戶進行跌倒風險評估,生成個性化的穿戴端實時跌倒檢測算法;第二階段通過滑動時間窗截取時間序列傳感器信息(包括加速度、角速度、氣壓高度等信息)上傳到云端,在云端對原始數據進行歸一化等預處理便可作為模型的輸入。Bi-LSTM神經網絡通過訓練自動學習并提取數據內部的特征,再利用分類器判斷是否為跌倒數據。該方案充分結合了閾值法與深度學習方法的優勢并解決了不同個體適配性的問題,閾值法由于人工提取特征的不準確,導致誤報率相對較高,而Bi-LSTM是一種專門針對時序序列相關的神經網絡模型,省去了人工的特征提取過程,實現了從原始數據到判斷結果的端到端處理,同時實驗也證明了生成的個性化模型可以達到較高的精確度。
本實驗由于具有一定的危險性,因此參與的個體不足。同時本實驗主要通過中青年來近似模擬老年人產生相關數據,實驗結果驗證了本文提出算法的可行性,但要得到一個真正適用于老年人跌倒檢測的模型,還需要采集足夠多的老年人的跌倒數據來進一步訓練優化模型,使得模型能夠提取出更適應老年人的數據特征。
受限于可穿戴設備的計算能力和能耗問題,本文提出的是一種端+云的結合方案,還不是最終最優的方式,但是隨著深度學習在基于可穿戴傳感器的跌倒檢測問題的應用得到廣泛的研究,及嵌入式神經網絡處理單元(NPU)和針對嵌入式設備的輕量級深度學習框架的發展使得在可穿戴設備上運行神經網絡成為可能。算法的能耗也是一個應當考慮的因素,需要制定一個低功耗的實時運行框架,以保證系統的正常使用。