何 堅(jiān) ,張子浩,王偉東
(1. 北京工業(yè)大學(xué)信息學(xué)部,北京 100124;2. 北京市物聯(lián)網(wǎng)軟件與系統(tǒng)工程技術(shù)研究中心,北京 100124)
跌倒傷害是導(dǎo)致全球老年人因傷就診和死亡的首要因素.美國(guó)疾病預(yù)防控制中心(center for disease control,CDC)數(shù)據(jù)顯示,美國(guó) 65歲以上老年人每年逾 30%至少跌倒一次,美國(guó)老年人每年因跌倒產(chǎn)生的醫(yī)療費(fèi)用超 300億美元[1].我國(guó)已步入老齡化社會(huì),每年有約4000多萬(wàn)60歲以上老年人發(fā)生跌倒,跌倒傷害不僅給老年人生理上(如頭部、臀部的受傷)造成傷害,同時(shí)也會(huì)給他們的心理帶來(lái)負(fù)面影響,進(jìn)而影響老人的生活質(zhì)量[2].為了克服跌倒傷害對(duì)老年人健康的威脅,國(guó)內(nèi)外研究人員研發(fā)了不同的跌倒檢測(cè)技術(shù).
已有跌倒檢測(cè)技術(shù)根據(jù)其所采用傳感器技術(shù)的不同,可總體上劃分為以下 3大類[3]:可穿戴感知技術(shù)(wearable sensors)[4]、情景感知技術(shù)(ambient sensors)[5-6]和視覺(jué)感知技術(shù)(vision-based sensors)[7].由于情景感知和視覺(jué)感知的跌倒檢測(cè)系統(tǒng)均需在特定環(huán)境中部署傳感器,通??蓪⑵錃w納為基于情境感知的跌倒檢測(cè)技術(shù).文獻(xiàn)[8-9]都是基于情境感知的跌倒檢測(cè)系統(tǒng),雖然這些系統(tǒng)具有準(zhǔn)確率高、動(dòng)作捕捉直觀等特點(diǎn),但傳感器部署及檢測(cè)算法復(fù)雜,且監(jiān)控范圍有限,甚至容易暴露用戶隱私.隨著 MEMS(microelectromechanical systems)技術(shù)的發(fā)展,研究人員將慣性傳感器集成到小型可穿戴設(shè)備中來(lái)實(shí)現(xiàn)跌倒檢測(cè).基于 MEMS的跌倒檢測(cè)方法具有部署成本低、受環(huán)境影響小、對(duì)用戶的隱私干擾較少等優(yōu)點(diǎn),成為跌倒檢測(cè)技術(shù)研究的熱點(diǎn)[10].例如Gjoreski等[11]開(kāi)發(fā)的RAReFall系統(tǒng)將集成了加速度計(jì)的模塊分別放在被試的腹部和右大腿上,通過(guò)藍(lán)牙將采集的三軸加速度數(shù)據(jù)傳輸?shù)焦P記本,并通過(guò)判斷滑動(dòng)窗口內(nèi)加速度最大值與最小值之差是否大于閾值來(lái)判斷是否跌倒.Benocci等[12]構(gòu)造了基于 ZigBee的三軸加速度感知模塊,并將加速度流數(shù)據(jù)通過(guò) ZigBee傳輸?shù)街鳈C(jī)端處理.此外,研究人員也將機(jī)器學(xué)習(xí)技術(shù)應(yīng)用于跌倒監(jiān)測(cè).例如,Shi等[13]采用 SVM(support vector machine)確定跌倒的加速度和角速度的閾值,并采用三軸加速度計(jì)、陀螺儀和安全氣囊設(shè)計(jì)了可檢測(cè)并預(yù)防跌倒的系統(tǒng).Wang等[14]采用3軸加速度計(jì)和氣壓計(jì)設(shè)計(jì)實(shí)現(xiàn)了吊墜形跌倒檢測(cè)設(shè)備.此外,研究人員針對(duì)低功耗跌倒檢測(cè)也開(kāi)展了研究.例如 Yuan等[15]結(jié)合中斷和閾值方法設(shè)計(jì)了中斷驅(qū)動(dòng)的跌倒檢測(cè)模塊,并通過(guò)藍(lán)牙將活動(dòng)數(shù)據(jù)發(fā)送到計(jì)算機(jī)端通過(guò)決策樹(shù)算法分類跌倒和日常活動(dòng).
盡管基于 MEMS的跌倒檢測(cè)方法具有成本低、簡(jiǎn)單易用等特點(diǎn),但 MEMS陀螺儀存在信號(hào)漂移誤差、三軸加速度計(jì)在運(yùn)動(dòng)狀態(tài)下會(huì)產(chǎn)生電壓波動(dòng),這些因素會(huì)影響跌倒檢測(cè)算法精度和有效性[16].此外,實(shí)時(shí)采集并傳輸三軸加速度、角速度的方法導(dǎo)致系統(tǒng)功耗較大.例如,文獻(xiàn)[16]中一節(jié) 600mAh的鋰電池僅能工作 6h.針對(duì)上述問(wèn)題,本文采用低功耗ZigBee和MPU6050傳感器設(shè)計(jì)構(gòu)造運(yùn)動(dòng)感知模塊,設(shè)計(jì)了中斷驅(qū)動(dòng)的低功耗運(yùn)動(dòng)數(shù)據(jù)采集傳輸算法;其次,在數(shù)據(jù)接收端通過(guò)滑動(dòng)窗口實(shí)時(shí)接收三軸加速度、角速度運(yùn)動(dòng)數(shù)據(jù),將其進(jìn)行量程規(guī)范映射成對(duì)應(yīng)的 RGB三通道像素?cái)?shù)據(jù),實(shí)現(xiàn)活動(dòng)數(shù)據(jù)的圖像化表示;最后,在分析比較日?;顒?dòng)與跌倒圖像差異基礎(chǔ)上,設(shè)計(jì)了面向跌倒監(jiān)測(cè)卷積神經(jīng)網(wǎng)絡(luò)(fall detection convolutional neural networks,F(xiàn)D-CNN),并結(jié)合互聯(lián)網(wǎng)上公開(kāi)的日常活動(dòng)和跌倒數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)的訓(xùn)練和測(cè)試.
本文各章節(jié)主要內(nèi)容如下:第1節(jié)在建立人體活動(dòng)模型基礎(chǔ)上,設(shè)計(jì)基于 ZigBee和 MPU6050的運(yùn)動(dòng)數(shù)據(jù)采集模塊,并設(shè)計(jì)了中斷驅(qū)動(dòng)的低功耗運(yùn)動(dòng)數(shù)據(jù)采集傳送算法;第 2節(jié)在對(duì)三軸加速度、角速度數(shù)據(jù)進(jìn)行量程規(guī)范化的基礎(chǔ)上進(jìn)行圖像化表示,并分析比較日?;顒?dòng)與跌倒圖像差異;第3節(jié)設(shè)計(jì)了面向跌倒檢測(cè)的卷積神經(jīng)網(wǎng)絡(luò)FD-CNN;第4節(jié)結(jié)合互聯(lián)網(wǎng)公開(kāi)數(shù)據(jù)集進(jìn)行了系統(tǒng)實(shí)驗(yàn),并將 FD-CNN算法與傳統(tǒng)其他分類算法進(jìn)行了對(duì)比分析.
本節(jié)建立了基于笛卡爾坐標(biāo)的人體活動(dòng)模型,設(shè)計(jì)了基于 ZigBee和 MPU6050的運(yùn)動(dòng)數(shù)據(jù)采集模塊,并設(shè)計(jì)了中斷驅(qū)動(dòng)的低功耗運(yùn)動(dòng)數(shù)據(jù)采集傳送算法.
人體在運(yùn)動(dòng)過(guò)程中,加速度和角速度會(huì)實(shí)時(shí)變化.Erdogan等[17]研究表明人體的上軀干(即腰部以上、脖頸以下部分)是采集加速度數(shù)據(jù)并識(shí)別跌倒與其他日常動(dòng)作的最佳部位.本文從穿戴設(shè)備舒適性以及系統(tǒng)可靠性出發(fā),將運(yùn)動(dòng)感知模塊放置在定制背心的腰部,進(jìn)而建立基于笛卡爾坐標(biāo)系的人體活動(dòng)模型.圖 1所示為基于笛卡爾坐標(biāo)系的人體活動(dòng)模型,其中ax、ay、az分別代表人體活動(dòng)沿 x軸、y軸和 z軸的加速度;ωx、ωy、ωz為分別代表人體軀干繞 x軸、y軸和z軸的角速度.可以設(shè)置 FIFO緩存的數(shù)據(jù)容量值,當(dāng) FIFO中緩存數(shù)據(jù)個(gè)數(shù)大于該值時(shí)產(chǎn)生FIFO溢出中斷.
通過(guò)設(shè)置自由落體、靜止和 FIFO溢出中斷的合理閾值,運(yùn)動(dòng)感知模塊在檢測(cè)到自由落體或活動(dòng)狀態(tài)時(shí),由 CC3250實(shí)時(shí)采集用并發(fā)送用戶的活動(dòng)數(shù)據(jù);當(dāng)檢測(cè)到靜止中斷時(shí),CC3250和 MPU6050都處于休眠狀態(tài),由 DMP負(fù)責(zé)采集三軸加速度和角速度數(shù)據(jù)并存至 FIFO緩存中,此時(shí)無(wú)需訪問(wèn) MPU6050和ZigBee射頻進(jìn)而降低運(yùn)動(dòng)感知模塊的功耗.
圖1 人體活動(dòng)模型Fig.1 Model representing human activity
參考上述人體活動(dòng)模型,課題組設(shè)計(jì)了運(yùn)動(dòng)感知模塊,圖 2(a)為模塊原理.模塊尺寸為 30mm×30mm×9mm.主要由 CC2530微控制器、MPU6050傳感器、ZigBee射頻和電源管理模塊等組成,其大小適合放置于腰間口袋的位置,可以實(shí)時(shí)感知用戶的運(yùn)動(dòng)數(shù)據(jù).其中,ZigBee模塊的傳輸速率為115200bit/s,傳輸最大距離為100m.MPU6050集成了三軸 MEMS陀螺儀、加速度計(jì)和一個(gè)可擴(kuò)展的數(shù)字運(yùn)動(dòng)處理器(digital motion processor,DMP).陀螺儀測(cè)量范圍最大可達(dá)到±2000°/s,加速度計(jì)測(cè)量范圍最大可達(dá)±16g.運(yùn)動(dòng)感知模塊的采樣頻率為100Hz.圖2(b)所示為活動(dòng)感知模塊正面照.
MPU6050包含一個(gè)1kB的FIFO寄存器用于緩存數(shù)據(jù).同時(shí),MPU6050集成的DMP可以在休眠狀態(tài)從陀螺儀、加速度計(jì)讀取數(shù)據(jù)并存放于 FIFO緩存中,由于此時(shí)無(wú)需訪問(wèn)微控制器和 ZigBee射頻,因此模塊處于低功耗模式.此外,MPU6050有一個(gè)可編程的中斷系統(tǒng),提供了自由落體(free fall)、靜止(zero motion)、FIFO溢出(FIFO overflow)等中斷[18].其中,MPU6050的 FF_THR寄存器用于設(shè)置自由落體的閾值,F(xiàn)F_DUR寄存器用于設(shè)置自由落體持續(xù)時(shí)間,MPU6050通過(guò)檢測(cè)三軸上的加速度測(cè)量值是否在規(guī)定閾值內(nèi)來(lái)判斷自由落體運(yùn)動(dòng),一旦達(dá)到閾值,就觸發(fā)自由落體中斷,并產(chǎn)生標(biāo)志位.MPU6050的ZRMOT_THR寄存器用于設(shè)置靜止的閾值,ZRMOT_DUR寄存器用以設(shè)置靜止中斷持續(xù)時(shí)間,MPU6050當(dāng)?shù)谝淮螜z測(cè)到靜止且不再檢測(cè)到時(shí),靜止中斷都會(huì)被觸發(fā).MPU6050的FIFO_CNT寄存器
圖2 活動(dòng)感知模塊與感知模塊原理Fig.2 Sensor board and its schematic diagram
由于人體跌倒的時(shí)間通常小于 2s,依據(jù)參考文獻(xiàn)[15],課題組設(shè)置 FF_THR 為 0.5625g,當(dāng)系統(tǒng)檢測(cè)到自由落體中斷,則系統(tǒng)會(huì)通過(guò) ZigBee立即將FIFO中的緩存數(shù)據(jù)發(fā)送給接收端,以便接收端采用跌倒檢測(cè)算法做出判斷.由于人體日常活動(dòng)的加速度值通常大于 0.5g,因此本文設(shè)置 ZRMOT_THR為0.5g,ZRMOT_DUR 為 1000ms,即當(dāng)加速度計(jì)的值小于 0.5g且時(shí)延超過(guò) 1s,系統(tǒng)產(chǎn)生靜止中斷,在靜止中斷處理中設(shè)置模塊處于休眠模式.此時(shí)MPU6050以低功耗模式采集加速度、陀螺儀數(shù)據(jù)并存儲(chǔ)于FIFO緩存中.
基于上述閾值設(shè)置,本文設(shè)計(jì)了中斷驅(qū)動(dòng)的人體運(yùn)動(dòng)數(shù)據(jù)感知傳輸算法.圖 3為與算法對(duì)應(yīng)、采用有窮狀態(tài)機(jī)描述的人體運(yùn)動(dòng)數(shù)據(jù)采集傳輸流程圖.圖中每個(gè)狀態(tài)說(shuō)明如下.
F0:初始化狀態(tài).初始化 FIFO 緩存并設(shè)置數(shù)據(jù)采樣率為 50Hz,設(shè)置自由落體中斷、靜止中斷和FIFO溢出中斷為使能狀態(tài);系統(tǒng)進(jìn)入低功耗模式,即進(jìn)入F1.
圖3 中斷驅(qū)動(dòng)的活動(dòng)數(shù)據(jù)采集傳輸流程Fig.3 Flow chart of the algorithm for data collection and transmission
F1:靜止?fàn)顟B(tài).通過(guò) DMP采集三軸加速度、角速度數(shù)據(jù)并緩存至 FIFO中;如果靜止中斷持續(xù)時(shí)間超過(guò) 1s,更新 FIFO緩存并清除靜止中斷標(biāo)志位,繼續(xù)低功耗模式.在靜止?fàn)顟B(tài),若發(fā)生FIFO溢出中斷,則 DMP按照先進(jìn)先出的原則更新 FIFO中的數(shù)據(jù);當(dāng)讀取的加速度值大于 0.5g時(shí),若此時(shí)沒(méi)有發(fā)生自由落體中斷和 FIFO溢出中斷,則 DMP繼續(xù)讀取數(shù)據(jù)并緩存至FIFO;否則通過(guò)ZigBee將FIFO緩存中的數(shù)據(jù)發(fā)送至接收端.
F2:活動(dòng)狀態(tài).如果產(chǎn)生自由落體中斷,且中斷持續(xù)時(shí)間超過(guò) 40ms,則模塊通過(guò) ZigBee向接收端發(fā)送FIFO緩存數(shù)據(jù).若自由落體中斷持續(xù)時(shí)間小于40ms且產(chǎn)生了 FIFO溢出中斷,則模塊通過(guò) ZigBee向接收端發(fā)送 FIFO 緩存數(shù)據(jù)并返回 F1;否則,向FIFO緩存添加數(shù)據(jù),并返回F1.
由于人體跌倒的時(shí)間通常小于 2s,因此在服務(wù)器端設(shè)計(jì)了2s的滑動(dòng)窗口以緩存活動(dòng)感知模塊傳來(lái)的三軸加速度、角速度數(shù)據(jù).本節(jié)對(duì)這些數(shù)據(jù)進(jìn)行量程規(guī)范化,將規(guī)范化的數(shù)據(jù)轉(zhuǎn)化為對(duì)應(yīng)像素?cái)?shù)據(jù),并分析日?;顒?dòng)與跌倒的差異.
由于感知模塊的采樣頻率為 100 Hz,MPU6050加速度、角速度值采用2bytes表示,因此滑動(dòng)窗口的大小為 2 400 kB,即服務(wù)器端實(shí)時(shí)存放了三軸加速度、角速度數(shù)據(jù)各 200份.若將 x、y、z軸的加速度、角速度值分別對(duì)應(yīng)于三通道圖像中 R、G、B通道的數(shù)值,這就可以將每份三軸數(shù)據(jù)轉(zhuǎn)換成一個(gè) RGB像素點(diǎn).那么滑動(dòng)窗口中的緩存三軸加速度、角速度數(shù)據(jù)就可以看成為尺寸為20×20×3的圖像(如圖4所示).圖 4中,每個(gè)通道的前 200份數(shù)據(jù)為三軸加速度值,后 200份為三軸角速度數(shù)據(jù).即圖 2中從(0,0)到(9,19)為三軸加速度數(shù)據(jù),從(10,0)到(19,19)為三軸角速度數(shù)據(jù).
圖4 將滑動(dòng)窗口中三軸加速度、角速度數(shù)據(jù)映射為像素的示意Fig.4 Schematic illustration of mapping three-trial data into RGB bitmap
由于圖像數(shù)據(jù)的量程范圍為 0~255的整型數(shù)據(jù),而加速度計(jì)和陀螺儀的數(shù)據(jù)量程不盡相同,為此本文采用式(1)對(duì)加速度計(jì)和陀螺儀傳感器數(shù)據(jù)的量程進(jìn)行規(guī)范化,將兩者傳感器數(shù)據(jù)規(guī)范到 0~255范圍內(nèi).
式中:range為加速度計(jì)或陀螺儀傳感器的量程;value為實(shí)測(cè)數(shù)值.計(jì)算結(jié)果result后為浮點(diǎn)型,為了表示方便本文通過(guò)四舍五入將result轉(zhuǎn)化為整型數(shù)據(jù).例如:一份加速度數(shù)據(jù)為 value=(8.302,-9.532,0.962),傳感器的量程為±16g,其對(duì)應(yīng)規(guī)范量程后的數(shù)據(jù)為
圖5所示為2s跳躍活動(dòng)的三軸加速度、角速度量程規(guī)范化表示前后的數(shù)據(jù)變化趨勢(shì)圖.圖 5(c)、(d)為原始的加速度、陀螺儀數(shù)據(jù),(a)、(b)為量程規(guī)范后的加速度、陀螺儀數(shù)據(jù).可以看到量程規(guī)范只是在縱軸上放大了原始數(shù)據(jù),但保持了原始數(shù)據(jù)的波形和變化規(guī)律.
圖5 跳的加速度和角速度量程規(guī)范化前后對(duì)比Fig.5 Comparison of the raw and normalized data of jump
在數(shù)據(jù)量程規(guī)范基礎(chǔ)上,課題組對(duì)7類日?;顒?dòng)(走路、慢跑、上樓、下樓、跳躍、起立、坐下)和跌倒數(shù)據(jù)進(jìn)行了對(duì)比分析.圖6和圖7所示為時(shí)長(zhǎng)為 2s的跌倒和7類日?;顒?dòng)的加速度、角速度數(shù)據(jù)變化折線圖.從圖6(a)可以發(fā)現(xiàn),跌倒時(shí)x軸加速度呈快速下降隨后快速上升的趨勢(shì),說(shuō)明在跌倒時(shí),在垂直方向上產(chǎn)生了劇烈的變化;行走、慢跑、連續(xù)跳等行為的三軸加速度、角速度表現(xiàn)出周期性變化規(guī)律,但變化規(guī)律卻不盡相同,慢跑和連續(xù)跳躍在加速度數(shù)據(jù)上看較為類似,但是對(duì)比角速度變化趨勢(shì)卻很明顯;上下樓時(shí)三軸加速度、角速度都表現(xiàn)出周期性特征,但兩者在z軸的變化不同,可以看出上樓時(shí)加速度z軸含有波峰,而在下樓時(shí)加速度 z軸含有波谷;坐下和起立的動(dòng)作通過(guò)三軸加速度、角速度表現(xiàn)可以看出,兩者對(duì)x軸數(shù)據(jù)的變化趨勢(shì)較為明顯,坐下時(shí)加速度的x軸呈現(xiàn)上升趨勢(shì)、起立時(shí)加速度的x軸呈現(xiàn)下降趨勢(shì).圖 8表明在人體活動(dòng)過(guò)程中跌倒與其他日?;顒?dòng)加速度和角速度的取值及其方向向量不盡相同,相應(yīng)日常活動(dòng)與跌倒的位圖不盡相同.若選取合適的分類算法可將跌倒與其他日?;顒?dòng)區(qū)別開(kāi)來(lái).
圖6 量程規(guī)范后日?;顒?dòng)與跌倒加速度變化趨勢(shì)Fig.6 Accelerate velocity line charts of ADLs and fall
圖7 量程規(guī)范后日?;顒?dòng)與跌倒角速度變化趨勢(shì)Fig.7 Angular velocity line charts of ADLs and fall
圖8 日?;顒?dòng)和跌倒的像素Fig.8 Bitmaps of ADLs and falls
課題組參考LeNet 5架構(gòu)[19]設(shè)計(jì)了基于CNN的跌倒監(jiān)測(cè)的算法FD-CNN.
FD-CNN架構(gòu)如圖9所示,其輸入為20×20像素的 3通道 RGB圖像,共有 6個(gè)網(wǎng)絡(luò)層(不包含輸入層).其中,網(wǎng)絡(luò)的卷積層標(biāo)注為Cx,下采樣層標(biāo)準(zhǔn)為Sx,全連接層標(biāo)注為Fx,x為網(wǎng)絡(luò)的層號(hào).在進(jìn)入網(wǎng)絡(luò)的C1層前,系統(tǒng)按照式(2)對(duì)數(shù)據(jù)進(jìn)行規(guī)范化,即將圖像數(shù)據(jù)取值范圍為0~255歸一化為-1~1.這不僅可以加快訓(xùn)練速度,而且可以提高網(wǎng)絡(luò)的精度.
圖9 FD-CNN結(jié)構(gòu)Fig.9 FD-CNN architecture
C1為卷積層.在卷積前,系統(tǒng)對(duì)輸入層數(shù)據(jù)進(jìn)行了邊緣擴(kuò)充,擴(kuò)充后的圖像大小為 22×22,擴(kuò)充邊緣的像素值為 0.邊緣擴(kuò)充在卷積時(shí)可避免輸入層邊緣數(shù)據(jù)特征丟失.卷積核大小是 5×5×3,每個(gè)特征圖內(nèi)只使用一個(gè)共同卷積核.每個(gè)卷積核有 5×5×3個(gè)連接參數(shù)以及1個(gè)偏置共76個(gè)參數(shù).卷積核每次滑動(dòng)一個(gè)像素,因此卷積層形成的每個(gè)特征圖大小是18×18.卷積過(guò)后,系統(tǒng)通過(guò) relu函數(shù)進(jìn)行網(wǎng)絡(luò)層激活.C1層共有32個(gè)卷積核,所以該層輸出為32張大小為18×18的特征圖.
S2為最大池化層(max pooling).在池化前,系統(tǒng)對(duì)C1層輸出的數(shù)據(jù)進(jìn)行了邊緣擴(kuò)充(擴(kuò)充邊緣的像素值為 0),擴(kuò)充后的圖像大小為 20×20.系統(tǒng)采用2×2的核以步長(zhǎng)為2進(jìn)行最大池化下采樣得到32張10×10的特征圖.
C3為卷積層.在卷積前,參考C1層也對(duì)S2的輸出進(jìn)行了邊緣擴(kuò)充,擴(kuò)充后的圖像大小為 12×12.卷積核大小是5×5×32,卷積核每次滑動(dòng)一個(gè)像素,卷積后形成的每個(gè)特征圖大小是 8×8.卷積過(guò)后,系統(tǒng)通過(guò) relu函數(shù)進(jìn)行網(wǎng)絡(luò)層激活.C3層共有 64個(gè)卷積核,所以該層輸出為64張大小為8×8的特征圖.
S4為最大池化層.參考C1層也對(duì)C3的輸出進(jìn)行了邊緣擴(kuò)充,擴(kuò)充后的圖像大小為 10×10.系統(tǒng)采用2×2的核以步長(zhǎng)為 2進(jìn)行最大池化,下采樣得到 64張5×5的特征圖.
F5為全連接層,其含有512個(gè)神經(jīng)單元.為了防止網(wǎng)絡(luò)過(guò)擬合,在訓(xùn)練時(shí)加入了 dropout.這一層神經(jīng)元在全連接后使用relu函數(shù)進(jìn)行網(wǎng)絡(luò)激活.
最后一層是全連接網(wǎng)絡(luò)輸出層.該層有 8個(gè)神經(jīng)單元.在計(jì)算網(wǎng)絡(luò)結(jié)果時(shí),將最后一層的輸出加到softmax中,得到每個(gè)類的預(yù)測(cè)概率,其中概率最大項(xiàng)為網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果.
課題組參考圖 1的坐標(biāo)系,首先對(duì) SisFall[20]和MobiFall[21]公開(kāi)的數(shù)據(jù)集進(jìn)行坐標(biāo)轉(zhuǎn)換,保證這些數(shù)據(jù)均符合圖1所示的坐標(biāo)系,并對(duì)坐標(biāo)轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行量程規(guī)范和可視化表示;其次,從MobiFall數(shù)據(jù)集中提取了走路、跳躍、慢跑、上樓、下樓數(shù)據(jù)各1000組,跌倒數(shù)據(jù) 500組;從 SisFall數(shù)據(jù)集中提取坐下和起立數(shù)據(jù)各 1000組,跌倒數(shù)據(jù) 500組;它們共同構(gòu)成了課題組用的公開(kāi)數(shù)據(jù)集.由于跌倒樣本量較少,課題組在提取數(shù)據(jù)時(shí),不再區(qū)分前/后向跌倒、左/右側(cè)跌倒,而將它們統(tǒng)一歸類為跌倒.
此外,課題組采用圖9所示的實(shí)驗(yàn)環(huán)境,通過(guò)20名被試實(shí)驗(yàn)獲得了 7類日?;顒?dòng)和跌倒各 200組數(shù)據(jù),構(gòu)成了實(shí)驗(yàn)數(shù)據(jù)集.課題組隨機(jī)選取公開(kāi)數(shù)據(jù)集和實(shí)驗(yàn)數(shù)據(jù)集中各 90%的數(shù)據(jù)作為訓(xùn)練樣本,其余作為測(cè)試樣本.訓(xùn)練樣本和測(cè)試樣本集如表 1所示.其中,每類日常活動(dòng)和跌倒各有 1080組訓(xùn)練樣本,共計(jì) 8640組訓(xùn)練樣本;每類活動(dòng)含 120組測(cè)試樣本,共計(jì)960組測(cè)試數(shù)據(jù).
表1 訓(xùn)練樣本和測(cè)試樣本集Tab.1 Training data and test data
課題組采用 8640組訓(xùn)練樣本對(duì) FD-CNN網(wǎng)絡(luò)進(jìn)行了訓(xùn)練.并按照 9∶1比例將訓(xùn)練樣本劃分為訓(xùn)練集和驗(yàn)證集.訓(xùn)練中 batch size設(shè)值為 64.使用Adam算法進(jìn)行網(wǎng)絡(luò)的優(yōu)化,其中學(xué)習(xí)率為0.001.此外,在網(wǎng)絡(luò)最后全連接層后加上了 softmax層(如式(3)所示)以計(jì)算輸出結(jié)果的概率.最后,和真實(shí)值y做一次交叉熵,求其平均值,得出 loss(見(jiàn)式(4)),并依據(jù)loss值進(jìn)一步訓(xùn)練.網(wǎng)絡(luò)訓(xùn)練迭代8個(gè)epoch時(shí)候,驗(yàn)證集準(zhǔn)確率維持在 99.8%左右,后續(xù)訓(xùn)練準(zhǔn)確率維持穩(wěn)定不再上升;此時(shí)網(wǎng)絡(luò)訓(xùn)練結(jié)束,并保存網(wǎng)絡(luò)模型.最終實(shí)驗(yàn)驗(yàn)證集準(zhǔn)確率為 99.8%,基于驗(yàn)證集的網(wǎng)絡(luò)模型性能見(jiàn)表2.
表2 FD-CNN驗(yàn)證集測(cè)試結(jié)果Tab.2 Result of FD-CNN validation data
課題組開(kāi)發(fā)了集成運(yùn)動(dòng)感知模塊的可穿戴背心,搭建了實(shí)驗(yàn)環(huán)境,如圖10所示.
圖10 跌倒監(jiān)測(cè)實(shí)驗(yàn)環(huán)境Fig.10 Architecture of the fall detection system
課題組將集成了MPU6050和ZigBee的運(yùn)動(dòng)感知模塊放置在可穿戴背心的腰部,以實(shí)時(shí)采集人體活動(dòng)產(chǎn)生的三軸加速度、角速度數(shù)據(jù),并按照第 3.2節(jié)的算法將采集的數(shù)據(jù)通過(guò) ZigBee發(fā)送給集成了ZigBee匯聚節(jié)點(diǎn)的服務(wù)器.服務(wù)器將收到的數(shù)據(jù)緩存到滑動(dòng)窗口,同時(shí)將滑動(dòng)窗口中的數(shù)據(jù)量程規(guī)范并轉(zhuǎn)換為20×20×3的像素圖,服務(wù)器上運(yùn)行FD-CNN算法實(shí)時(shí)對(duì)滑動(dòng)窗口中的像素?cái)?shù)據(jù)分析歸類.當(dāng)判斷人員發(fā)生跌倒時(shí),系統(tǒng)自動(dòng)通過(guò)撥打電話或發(fā)送帶有GPS位置的短信向監(jiān)護(hù)人員報(bào)警.
課題組按照?qǐng)D 10所示結(jié)構(gòu)搭建了實(shí)驗(yàn)環(huán)境,20名被試(包括 18名男性與 2位女性,年齡在 24~48歲之間)分別完成了行走、慢跑、坐下、起立、上樓、下樓、跳躍和跌倒8類活動(dòng),每類活動(dòng)各10次.課題組提取8類活動(dòng)中的100組有效數(shù)據(jù)構(gòu)成實(shí)驗(yàn)數(shù)據(jù)集,并按照表 1所示構(gòu)造了訓(xùn)練樣本和測(cè)試樣本.出于安全考慮,本次實(shí)驗(yàn)并未邀請(qǐng)50歲以上人員參與.
課題組選擇了一臺(tái) ThinkCenter m6200t臺(tái)式機(jī)(i5CPU,8G 內(nèi)存,GTX-970圖形加速卡)作為服務(wù)器,在完成FD-CNN訓(xùn)練后,將表1中的測(cè)試集數(shù)據(jù)導(dǎo)入訓(xùn)練好的網(wǎng)絡(luò)模型中進(jìn)行測(cè)試,測(cè)試結(jié)果如表 3所示.
表3 FD-CNN測(cè)試結(jié)果Tab.3 Result of FD-CNN test
從表 3可以看出網(wǎng)絡(luò)模型系統(tǒng)的準(zhǔn)確率達(dá)到了98.6%,敏感度和特異性分別達(dá)到 98.6%和 99.8%. 其中,系統(tǒng)對(duì)跌倒檢測(cè)的敏感度和特異性均到達(dá)了100%,表明系統(tǒng)對(duì)跌倒的識(shí)別有很好的效果.
課題組將 FD-CNN測(cè)試所用量程規(guī)范后的訓(xùn)練樣本和測(cè)試樣本應(yīng)用于 Weka,進(jìn)而將 FD-CNN與Weka中集成的常見(jiàn)分類算法進(jìn)行對(duì)比分析.
表4所示為Weka中的分類算法與FD-CNN算法的性能對(duì)比.表 4表明 FD-CNN網(wǎng)絡(luò)算法在多方面均具有明顯優(yōu)勢(shì).首先,F(xiàn)D-CNN網(wǎng)絡(luò)的準(zhǔn)確率、平均敏感度和特異性均為最高,比識(shí)別效果最接近的Random Forest算法的準(zhǔn)確率、敏感性、特異性分別高出 2.7%、2.7%和 0.4%,比識(shí)別效果最不理想的 SMO算法分別高出 19.0%、17.5%和 3.7%.可見(jiàn) FD-CNN算法對(duì)跌倒檢測(cè)具有很高的準(zhǔn)確率.同時(shí),F(xiàn)D-CNN算法運(yùn)行在所用 PC機(jī)上的運(yùn)算時(shí)間僅有 0.13s,可以完全滿足實(shí)時(shí)跌倒檢測(cè)的需要.
此外,課題組選擇男、女各 1名被試穿上可穿戴背心進(jìn)行系統(tǒng)功耗測(cè)試.測(cè)試表明,運(yùn)動(dòng)感知模塊在集成 600 mAh的電池時(shí),集成該模塊可穿戴背心可連續(xù)工作 30 h上.這樣護(hù)理人員可以在老年人休息時(shí)通過(guò)替換電池或充電,實(shí)現(xiàn)老年人每天 24 h實(shí)時(shí)跌倒檢測(cè).實(shí)驗(yàn)表明中斷驅(qū)動(dòng)、基于 ZigBee的活動(dòng)感知模塊是一種低功耗的活動(dòng)感知模塊,適合于社區(qū)老年人的活動(dòng)感知與跌倒監(jiān)測(cè).實(shí)驗(yàn)結(jié)果表明,本文提出的跌倒檢測(cè)技術(shù)具有以下兩方面的優(yōu)點(diǎn).
表4 FD-CNN與其他分類算法測(cè)試結(jié)果對(duì)比Tab.4 Comparison of different algorithms with FD-CNN
(1) 低功耗.與傳統(tǒng)傳輸模塊(例如藍(lán)牙)相比,ZigBee在大規(guī)模組網(wǎng)和傳輸功耗方面均具有較大優(yōu)勢(shì).同時(shí),本文使用中斷技術(shù)避免了數(shù)據(jù)實(shí)時(shí)傳輸導(dǎo)致的電能浪費(fèi),有效降低了設(shè)備使用功耗.
(2) FD-CNN算法具有更高的準(zhǔn)確率.本文創(chuàng)新性地將三軸加速度、角速度數(shù)據(jù)轉(zhuǎn)為 RGB像素,并引入滑動(dòng)窗口構(gòu)造能同時(shí)反映老年人活動(dòng)過(guò)程中三軸加速度、角速度變化特征的像素圖,進(jìn)而設(shè)計(jì)FD-CNN網(wǎng)絡(luò)實(shí)現(xiàn)老年人跌倒的準(zhǔn)確監(jiān)測(cè).表 4說(shuō)明 FD-CNN算法在相同訓(xùn)練樣本和測(cè)試集上較Weka中集成的機(jī)器學(xué)習(xí)算法無(wú)論是系統(tǒng)的準(zhǔn)確率、敏感度和特異性指標(biāo)都有明顯提升.此外,基于非公開(kāi)數(shù)據(jù)集的跌倒監(jiān)測(cè)系統(tǒng)中,RAReFall[11]系統(tǒng)跌倒檢測(cè)的召回率和準(zhǔn)確率分別為 93.3%和 66.7%,F(xiàn)DCNN比其高出5.3%和31.9%;LPFD[14]系統(tǒng)跌倒檢測(cè)的敏感度和特異性分別為93%和 87.3%,F(xiàn)D-CNN比其分別高出其算法指標(biāo)的5.0%和12.5%.本文算法的優(yōu)勢(shì)也是比較明顯的.
本文設(shè)計(jì)了一種中斷驅(qū)動(dòng)、基于 ZigBee的低功耗運(yùn)動(dòng)感知模塊,實(shí)現(xiàn)人體運(yùn)動(dòng)數(shù)據(jù)的低功耗采集傳輸;在數(shù)據(jù)接收端將人體活動(dòng)的三軸加速度、角速度數(shù)據(jù)轉(zhuǎn)換成 RGB位圖,設(shè)計(jì)實(shí)現(xiàn)了基于 CNN的跌倒檢測(cè)算法,開(kāi)發(fā)了系統(tǒng)原型并開(kāi)展實(shí)驗(yàn).實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)可以有效區(qū)分跌倒和其他日常生活動(dòng)作.同時(shí),運(yùn)動(dòng)感知模塊配備600mAh鋰電池可持續(xù)工作 30h以上,將其集成到可穿戴背心上可以在不影響老年人日常生活的情況下,全天候檢測(cè)老年人跌倒.同時(shí),系統(tǒng)具有成本低、方便攜帶等特點(diǎn).將來(lái)課題組將研究使用 NB-iot等技術(shù)設(shè)計(jì)構(gòu)造基于低功耗物聯(lián)網(wǎng)技術(shù)的運(yùn)動(dòng)感知模塊,同時(shí)結(jié)合其他算法研究更高效的日?;顒?dòng)與跌倒準(zhǔn)確分類技術(shù).