牛德姣,劉亞文,蔡濤,彭長(zhǎng)生,詹永照,梁軍
(江蘇大學(xué) 計(jì)算機(jī)科學(xué)與通信工程學(xué)院, 江蘇 鎮(zhèn)江 212013)
跌倒行為會(huì)對(duì)人體造成傷害,特別是對(duì)老人、小孩和病人等群體造成的傷害尤其嚴(yán)重。如何對(duì)可能出現(xiàn)的跌倒行為進(jìn)行及時(shí)的預(yù)警,從而減少和避免其帶來(lái)的傷害就顯得非常重要。當(dāng)前國(guó)內(nèi)外相關(guān)的研究主要包括用戶(hù)自主啟動(dòng)型報(bào)警設(shè)備[1]、基于視覺(jué)的跌倒檢測(cè)系統(tǒng)[2]和基于可穿戴設(shè)備的跌倒檢測(cè)系統(tǒng)[3]等類(lèi)型。用戶(hù)自主啟動(dòng)型報(bào)警設(shè)備對(duì)使用者和使用條件有很多限制,基于視覺(jué)的跌倒檢測(cè)則涉及用戶(hù)隱私等問(wèn)題,而基于可穿戴設(shè)備的跌倒檢測(cè)系統(tǒng)具有使用方便、個(gè)人隱私性好等優(yōu)勢(shì),成為當(dāng)前跌倒檢測(cè)研究和開(kāi)發(fā)中的熱點(diǎn)。
閾值法[4]是最常用的跌倒檢測(cè)算法,設(shè)定一個(gè)或多個(gè)閾值,通過(guò)可穿戴設(shè)備傳感器獲取加速度和角速度等信息進(jìn)行分類(lèi);較低的時(shí)間與空間復(fù)雜度是其最重要的優(yōu)點(diǎn),但如何確定閾值非常困難,同時(shí)在應(yīng)用于差異較大的不同個(gè)體時(shí)存在準(zhǔn)確度差等問(wèn)題。近年來(lái)研究者開(kāi)始將隱馬爾可夫鏈[5-6]、動(dòng)態(tài)樸素貝葉斯網(wǎng)絡(luò)[7]、支持向量機(jī)[8]、隨機(jī)森林[9]和K最近鄰[10]等方法應(yīng)用到跌倒檢測(cè)中,這些方法對(duì)傳感器采集的數(shù)據(jù)進(jìn)行抽象后建模用于跌倒行為的分類(lèi),具有較強(qiáng)的適應(yīng)能力。但由于只是使用了傳感器數(shù)據(jù)的某個(gè)或某些特性用于檢測(cè),仍存在檢測(cè)精度不足等問(wèn)題。此外,為了提高準(zhǔn)確率,大部分跌倒檢測(cè)系統(tǒng)只是簡(jiǎn)單地判斷未跌倒和跌倒兩種狀態(tài),未區(qū)分實(shí)用價(jià)值很高的接近跌倒?fàn)顟B(tài)[11]。
與傳統(tǒng)建?;蛏倭繑?shù)據(jù)的訓(xùn)練不同,借助大數(shù)據(jù)技術(shù),通過(guò)大量數(shù)據(jù)的訓(xùn)練,神經(jīng)網(wǎng)絡(luò)模型能挖掘和學(xué)習(xí)數(shù)據(jù)內(nèi)部的復(fù)雜結(jié)構(gòu),從而極大提高分類(lèi)系統(tǒng)的適應(yīng)能力和精度,因此基于大數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)已迅速成為當(dāng)前研究與開(kāi)發(fā)的熱點(diǎn)。與CNN通過(guò)滑動(dòng)窗口保留部分歷史輸入不同,遞歸神經(jīng)網(wǎng)絡(luò)(RNN)能保留所有的歷史輸入,通過(guò)抽象歷史輸入之間的關(guān)聯(lián),具有很高的分類(lèi)準(zhǔn)確性,已被成功應(yīng)用于自然語(yǔ)言處理領(lǐng)域中,取得了良好的效果。跌倒檢測(cè)與自然語(yǔ)言處理具有很多相似之處,利用多個(gè)傳感器的關(guān)聯(lián)關(guān)系進(jìn)行跌倒檢測(cè)能有效提高檢測(cè)的準(zhǔn)確性,減少個(gè)體差異的影響;本文將RNN引入到跌倒檢測(cè)系統(tǒng)中,主要完成以下幾個(gè)方面的工作。
1) 根據(jù)RNN的特性,對(duì)可穿戴設(shè)備傳感器獲取的數(shù)據(jù)進(jìn)行重組,轉(zhuǎn)變?yōu)檫m合RNN的輸入序列。
2) 借助RNN能夠保存歷史信息的特性,利用其發(fā)現(xiàn)和抽象序列內(nèi)在關(guān)系的能力,充分發(fā)掘位置傳感器數(shù)據(jù)之間的內(nèi)在聯(lián)系,設(shè)計(jì)了基于RNN的迭代算法,提高了跌倒檢測(cè)的效果。
3) 在Spark平臺(tái)上,利用基于RNN的迭代算法,實(shí)現(xiàn)了基于RNN的跌倒檢測(cè)系統(tǒng),除了與現(xiàn)有跌倒檢測(cè)系統(tǒng)一樣能區(qū)分正常和跌倒行為之外,還能準(zhǔn)確識(shí)別出更具危險(xiǎn)性的接近跌倒行為。
4)使用Fall_adl_data[12]作為測(cè)試數(shù)據(jù)集進(jìn)行驗(yàn)證,相比在同一數(shù)據(jù)集上的其他算法[13-14],基于RNN的跌倒檢測(cè)系統(tǒng)的F值分別提高了12%與8%,并能正確檢測(cè)出接近跌倒行為,從而更好地提供預(yù)警信息。
Vaidehi等[15]提出了基于人體靜態(tài)特征的視頻檢測(cè)方法,通過(guò)閾值法判斷是否跌倒; Bosch等[16]通過(guò)廣角攝像頭進(jìn)行跌倒檢測(cè),采集人體傾斜角度的變化速度等信息作為特征,通過(guò)支持向量機(jī)的方法進(jìn)行跌倒判斷,識(shí)別率達(dá)到97%;佟麗娜等[17]利用加速度信息作為時(shí)間序列,然后使用該時(shí)間序列作為訓(xùn)練樣本訓(xùn)練隱馬爾可夫模型,通過(guò)分析當(dāng)前的輸入序列與模型的匹配程度進(jìn)行跌倒預(yù)測(cè)并取得良好的預(yù)測(cè)效果;R. M. Gibson等[18]比較了小波閾值下降強(qiáng)度檢測(cè)法與PCA決策樹(shù)兩種不同的算法,得出PCA決策樹(shù)算法具有更好的準(zhǔn)確性和魯棒性;L.Chen等[7]利用貝葉斯網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)人體姿態(tài)預(yù)測(cè),通過(guò)姿態(tài)預(yù)測(cè)結(jié)合識(shí)別算法來(lái)提高預(yù)測(cè)時(shí)間,之后又通過(guò)支持向量機(jī)的方法進(jìn)行摔倒識(shí)別,召回率與準(zhǔn)確率分別達(dá)到96.2%與87.3%;D. Luo等[19]提出了基于隨機(jī)森林的跌倒檢測(cè)算法,最終獲得95.2%的準(zhǔn)確率、90.6%的敏感度和93.5%的特異性,并對(duì)比得出優(yōu)于SVM和反向傳播(BP)神經(jīng)網(wǎng)絡(luò)檢測(cè)算法的結(jié)論;S. Z. Erdogan等[10]利用數(shù)據(jù)挖掘中的K近鄰的方法進(jìn)行跌倒檢測(cè),也取得了不錯(cuò)的識(shí)別效果。
遞歸神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)領(lǐng)域研究熱點(diǎn)之一,近年來(lái),它在語(yǔ)音識(shí)別、機(jī)器翻譯、文本語(yǔ)言處理等領(lǐng)域表現(xiàn)出了巨大的成功[20-22]。它主要解決了如何處理時(shí)間序列上的變化的問(wèn)題。遞歸神經(jīng)網(wǎng)絡(luò)的應(yīng)用主要有3個(gè)方面:1)自然語(yǔ)言處理,包括語(yǔ)言模型[23]、機(jī)器翻譯[24]、語(yǔ)音識(shí)別[25]、會(huì)話(huà)模型[26]等;2)計(jì)算機(jī)視覺(jué)方面,包括物體識(shí)別[27]、視頻跟蹤[28]、視頻分析[29]等;3)自然語(yǔ)言處理與計(jì)算機(jī)視覺(jué)相結(jié)合,包括圖片字幕[30]、視頻字幕[31]、視覺(jué)問(wèn)題回答[32]、機(jī)器人技術(shù)[33]等。
與RNN使用效果較好的自然語(yǔ)言處理領(lǐng)域類(lèi)似,個(gè)體的差異使得單個(gè)傳感器數(shù)據(jù)對(duì)跌倒行為檢測(cè)非常有限,甚至?xí)a(chǎn)生負(fù)面影響;由多個(gè)傳感器獲取不同數(shù)據(jù)序列之間的關(guān)聯(lián)性是檢測(cè)跌倒行為的關(guān)鍵,本文引入RNN來(lái)學(xué)習(xí)和表示這類(lèi)內(nèi)在關(guān)聯(lián)關(guān)系,設(shè)計(jì)新型的跌倒檢測(cè)算法,主要包括傳感器數(shù)據(jù)序列化、RNN跌倒檢測(cè)訓(xùn)練算法等部分。
在設(shè)計(jì)RNN實(shí)現(xiàn)跌倒檢測(cè)算法時(shí),如何發(fā)揮RNN在處理序列信息方面的優(yōu)勢(shì)是一個(gè)關(guān)鍵問(wèn)題。在跌倒檢測(cè)中所使用的均是位置傳感器,本文定義位置傳感器數(shù)據(jù)序列SS,包含XS、YS和ZS 3個(gè)傳感器值,其中XS表示該位置傳感器在空間中X軸的坐標(biāo)值,YS表示該位置傳感器在空間中Y軸的坐標(biāo)值,ZS表示該位置傳感器在空間中Z軸的坐標(biāo)值;由此將位置傳感器所采集的空間位置信息轉(zhuǎn)為了一個(gè)由3個(gè)坐標(biāo)值構(gòu)成的數(shù)據(jù)序列。
圖1 位置傳感器序列產(chǎn)生行為訓(xùn)練序列組AS示意圖Fig. 1 AS schematic of the position sensor sequence generates the behavior training sequence group
再定義行為訓(xùn)練序列組 A S(SS1,···,SSn,action),其中 S S1,···,SSn是n個(gè)位置傳感器數(shù)據(jù)序列組,每個(gè)SS包含3個(gè)傳感器值;action表示當(dāng)前行為的類(lèi)型,0表示非跌倒,1表示跌倒,2表示接近跌倒。圖1給出了個(gè)體包含兩個(gè)位置傳感器時(shí),分別處于非跌倒和跌倒?fàn)顟B(tài)時(shí)所對(duì)應(yīng)行為訓(xùn)練序列組的示意圖,其中 A S1對(duì) 應(yīng)非跌倒?fàn)顟B(tài), A S2對(duì)應(yīng)跌倒?fàn)顟B(tài)。
由此,由同一時(shí)刻的所有位置傳感器所采集數(shù)據(jù)和當(dāng)前的行為類(lèi)型構(gòu)建了行為訓(xùn)練序列組,作為RNN的輸入,利用RNN能發(fā)現(xiàn)和抽象輸入序列中各單元關(guān)聯(lián)關(guān)系的優(yōu)勢(shì),獲取多個(gè)位置傳感器之間關(guān)聯(lián)關(guān)系的抽象,為提高跌倒檢測(cè)的準(zhǔn)確率和適應(yīng)能力提供基礎(chǔ)。
本文以AS為單位,將AS包含的每個(gè)SS中的3個(gè)傳感器數(shù)值以及action作為獨(dú)立輸入單元,然后將該獨(dú)立輸入單元作為輸入層的輸入用于跌倒檢測(cè)的RNN的訓(xùn)練,輸出層計(jì)算行為訓(xùn)練序列組當(dāng)前的概率pt,并統(tǒng)計(jì)每個(gè)AS的總概率P作為訓(xùn)練和檢測(cè)的依據(jù)。
用于跌倒檢測(cè)的RNN如圖2所示,其中xt表示所有行為訓(xùn)練序列組AS中第t個(gè)輸入項(xiàng),yt表示第t個(gè)輸入所對(duì)應(yīng)輸出向量,U表示輸入層與隱藏層之間的權(quán)值矩陣,V表示隱藏層與輸出層之間的權(quán)值矩陣,W表示隱藏層與上一次隱藏層之間的權(quán)值矩陣,P表示AS所對(duì)應(yīng)的概率[34]。
圖2 用于跌倒檢測(cè)的RNN示意圖Fig. 2 RNN schematic for fall detection
訓(xùn)練用于跌倒檢測(cè)RNN之前,將t的值初始化為0,然后將yt的值也初始化為0,同時(shí)隨機(jī)初始化U、V和W。
對(duì)行為訓(xùn)練序列組AS中每個(gè)輸入單元xt,使用式(1)更新隱藏層,其中f是sigmoid函數(shù),計(jì)算方式如式(2);sigmoid函數(shù)的作用是引入隨機(jī)性,同時(shí)將結(jié)果的值映射到(0, 1)。
然后使用式(3)更新輸出層,其中g(shù)是softmax函數(shù),計(jì)算方式如式(4);softmax函數(shù)能使輸出值在(0,1),且所有輸出值的和為1,同時(shí)使得輸出值向1或0靠近,從而為分類(lèi)提供方便。
用eo表示輸出層的誤差,對(duì)AS中的每個(gè)單元使用式(5)進(jìn)行計(jì)算,其中dt是AS對(duì)應(yīng)的目標(biāo)輸出向量,yt是當(dāng)前用于跌倒檢測(cè)RNN實(shí)際輸出向量。
接著使用式(6)計(jì)算隱藏層的誤差eh,其中dh使用式(7)進(jìn)行計(jì)算。
在RNN的訓(xùn)練過(guò)程中,需要將隱藏層的誤差進(jìn)行遞歸傳遞。在每個(gè)AS訓(xùn)練結(jié)束后,使用式(8)遞歸反向傳播誤差,傳播的長(zhǎng)度與AS包含的單元個(gè)數(shù)相等。
此外,針對(duì)AS中的每個(gè)輸入單元,使用式(9)更新隱藏層與輸出層之間的權(quán)重矩陣,使用式(10)更新輸入層與隱藏層之間的權(quán)重矩陣,使用式(11)更新上一次隱藏層與當(dāng)前隱藏層之間的權(quán)重矩陣。
式中:β是正規(guī)化參數(shù),α是學(xué)習(xí)率,T是反向傳播的步數(shù)。當(dāng)所有的AS組成的訓(xùn)練集被用于跌倒檢測(cè)RNN訓(xùn)練后,調(diào)整學(xué)習(xí)率α,若當(dāng)前訓(xùn)練誤差小于給定閾值,則繼續(xù)使用相同的α值進(jìn)行訓(xùn)練;反之則減小α的值進(jìn)行訓(xùn)練。困惑度(PPL)是用于衡量跌倒檢測(cè)RNN有效性的重要指標(biāo),在每完成一次所有AS的訓(xùn)練后使用式(12)進(jìn)行PPL的計(jì)算,PPL值越小,說(shuō)明跌倒檢測(cè)RNN的表現(xiàn)越好;當(dāng)PPL值達(dá)到系統(tǒng)設(shè)置閾值時(shí),結(jié)束跌倒檢測(cè)RNN的訓(xùn)練。
在以上的訓(xùn)練算法中,所有的歷史數(shù)據(jù)通過(guò)隱藏層都得到了保存,因此可以全面利用每一條數(shù)據(jù)信息,進(jìn)而為充分發(fā)掘位置傳感器數(shù)據(jù)之間的內(nèi)在聯(lián)系奠定了基礎(chǔ),從而在一定程度上提高了跌倒檢測(cè)的效果。
在使用用于跌倒檢測(cè)RNN判斷用戶(hù)行為時(shí),本文把跌倒檢測(cè)轉(zhuǎn)化為一個(gè)分類(lèi)問(wèn)題,通過(guò)比較用戶(hù)行為為非跌倒、跌倒、接近跌倒這3種狀態(tài)的概率,判斷用戶(hù)行為的類(lèi)型。
定義行為判斷序列組 D S(SS1,···,SSn,type),其中SS1,···,SSn是n個(gè)位置傳感器數(shù)據(jù)序列組,每個(gè)SS包含3個(gè)傳感器值;type表示預(yù)測(cè)行為的類(lèi)型,0表示非跌倒,1表示跌倒,2表示接近跌倒。
在使用用于跌倒檢測(cè)RNN進(jìn)行檢測(cè)之前,首先使用某一時(shí)刻的個(gè)體所有位置傳感器數(shù)據(jù)序列組的數(shù)據(jù),分別將type值設(shè)置為0、1和2,構(gòu)建3個(gè)對(duì)應(yīng)的行為判斷序列組。圖3給出了個(gè)體包含兩個(gè)位置傳感器時(shí),從一組位置傳感器數(shù)據(jù)序列 S S1和SS2所 產(chǎn)生的3個(gè)行為判斷序列組D S1、 D S2和 D S3,其中 D S1對(duì) 應(yīng)非跌倒?fàn)顟B(tài), D S2對(duì) 應(yīng)跌倒?fàn)顟B(tài), D S3對(duì)應(yīng)接近跌倒?fàn)顟B(tài)。由此構(gòu)建了包含所有位置傳感器所采集數(shù)據(jù)和預(yù)測(cè)行為類(lèi)型的行為判斷序列組,作為用于跌倒檢測(cè)RNN判斷行為類(lèi)型的輸入,利用RNN能抽象和保存序列中各輸入單元之間的關(guān)聯(lián)關(guān)系,通過(guò)判斷多個(gè)位置傳感器之間的關(guān)聯(lián)關(guān)系,提高跌倒檢測(cè)的準(zhǔn)確率和適應(yīng)能力。
圖3 位置傳感器序列產(chǎn)生行為檢測(cè)序列組DS示意圖Fig. 3 DS schematic of the position sensor sequence generates the behavior detection sequence group
接著將所產(chǎn)生的 D S1、 D S2和 D S3作為輸入,送入用于跌倒檢測(cè)RNN,分別計(jì)算 D S1、 D S2和 D S3所對(duì)應(yīng)的概率值,并進(jìn)行比較,選取概率值最大的一個(gè)DS,根據(jù)其中type的值判斷該狀態(tài)下用戶(hù)行為的類(lèi)型。本文在圖4中以 D S2為例,給出使用跌倒檢測(cè)RNN進(jìn)行檢測(cè)的示意,P7是 D S2整體的概率值。
圖4 對(duì)行為訓(xùn)練序列組進(jìn)行訓(xùn)練的示意圖Fig. 4 Schematic diagram of a training sequence of behavior training sequences
行為訓(xùn)練序列組當(dāng)前的概率P使用式(13)進(jìn)行計(jì)算,其中m表示該行為訓(xùn)練序列組中的第m個(gè)單元,每個(gè)DS的訓(xùn)練相互獨(dú)立,處理完DS中的type之后得到該DS整體概率。
在基于RNN跌倒檢測(cè)算法的基礎(chǔ)上,本文實(shí)現(xiàn)了基于RNN的跌倒檢測(cè)系統(tǒng)(RNNFD),并構(gòu)建了測(cè)試平臺(tái),使用跌倒檢測(cè)的標(biāo)準(zhǔn)數(shù)據(jù)集進(jìn)行了測(cè)試,依據(jù)通用評(píng)價(jià)指標(biāo)進(jìn)行分析。
RNN的訓(xùn)練時(shí)間開(kāi)銷(xiāo)非常大,本文利用之前所實(shí)現(xiàn)的基于分布式神經(jīng)元的大規(guī)模RNN系統(tǒng)[22],在Spark平臺(tái)上實(shí)現(xiàn)基于RNN的跌倒檢測(cè)系統(tǒng)(RNNFD),通過(guò)分布式內(nèi)存計(jì)算平臺(tái)減少RNNFD的訓(xùn)練時(shí)間開(kāi)銷(xiāo)。
RNNFD的隱藏層中神經(jīng)元數(shù)量是決定跌倒檢測(cè)準(zhǔn)確率的關(guān)鍵因素,同樣也是帶來(lái)大量訓(xùn)練時(shí)間開(kāi)銷(xiāo)的重要因素,本文將神經(jīng)元的數(shù)量設(shè)置為200,正規(guī)化參數(shù)β設(shè)置為10-6,學(xué)習(xí)率α的初始值設(shè)置為0.1。
RNNFD的示意圖如圖5所示。
圖5 RNNFD的示意圖Fig. 5 Schematic diagram of RNNFD
在訓(xùn)練時(shí),RNNFD首先將訓(xùn)練集中的位置傳感器數(shù)據(jù)轉(zhuǎn)化為行為訓(xùn)練序列組,輸入后進(jìn)行訓(xùn)練;訓(xùn)練完全部行為訓(xùn)練序列組后,使用驗(yàn)證集中的數(shù)據(jù)進(jìn)行驗(yàn)證,決定是否需要繼續(xù)訓(xùn)練。
RNNFD訓(xùn)練完成后,可以使用測(cè)試集中的位置傳感器,轉(zhuǎn)換為行為測(cè)試序列組后,輸入RNNFD后選擇概率最高的行為測(cè)試序列組,根據(jù)其中的type值,獲得判斷的行為類(lèi)型。
3.2.1 測(cè)試環(huán)境
本文使用3臺(tái)服務(wù)器搭建了RNNFD的測(cè)試環(huán)境,服務(wù)器的配置如表1所示。
表1 RNNFD的測(cè)試環(huán)境配置Table 1 RNNFD test environment configuration
使用Fall_adl_data數(shù)據(jù)集進(jìn)行測(cè)試與分析,該數(shù)據(jù)集采集了18~51歲6名女性與36名男性的42個(gè)樣本,他們的年齡、身高及體重的均值與方差分別為 (24.1±5.7)歲,(172.2±6.7) cm 和 (69.7±13.1) kg,每個(gè)樣本包含16萬(wàn)條位置傳感器和狀態(tài)數(shù)據(jù),包括跌倒、接近跌倒、日?;顒?dòng)等狀態(tài),總計(jì)672萬(wàn)條數(shù)據(jù),能滿(mǎn)足RNNFD的訓(xùn)練與測(cè)試要求。
在構(gòu)建訓(xùn)練集時(shí),本文選取了3個(gè)男性的樣本,具體信息如表2所示,體型特征包括正常、矮胖和高瘦3種類(lèi)型,具有一定的代表性。RNNFD的訓(xùn)練集包括476 858條行為訓(xùn)練序列組,每條行為訓(xùn)練序列組包含4個(gè)傳感器數(shù)據(jù)和1個(gè)狀態(tài)信息共13個(gè)獨(dú)立輸入單元,整個(gè)訓(xùn)練集共計(jì)包含6 199 154個(gè)輸入單元。同時(shí),隨機(jī)選取了訓(xùn)練集中的167 953條行為訓(xùn)練序列組構(gòu)建驗(yàn)證集,用于調(diào)整學(xué)習(xí)率,共計(jì)2 183 389個(gè)輸入單元。雖然僅選了3個(gè)男性樣本構(gòu)建訓(xùn)練集,但行為訓(xùn)練序列組的數(shù)量已經(jīng)達(dá)到47萬(wàn)多條,能較好滿(mǎn)足RNNFD的訓(xùn)練要求,避免樣本個(gè)數(shù)較小帶來(lái)的過(guò)擬合現(xiàn)象;而且,僅使用3個(gè)男性樣本進(jìn)行訓(xùn)練,RNNFD就能夠發(fā)現(xiàn)行為訓(xùn)練數(shù)據(jù)的內(nèi)在關(guān)聯(lián),并與現(xiàn)有算法比較在較大規(guī)模的測(cè)試集上的準(zhǔn)確率。
表2 訓(xùn)練集的構(gòu)建Table 2 Training set construction
此外,從余下的39個(gè)樣本中隨機(jī)抽取273條傳感器數(shù)據(jù)構(gòu)建了5個(gè)測(cè)試集用于測(cè)試,共計(jì)819條行為檢測(cè)序列組,包含10 647個(gè)輸入單元。
3.2.2 評(píng)價(jià)指標(biāo)
使用以下幾個(gè)量化指標(biāo)評(píng)測(cè)基于RNN的跌倒檢測(cè)系統(tǒng)。
TP:能夠檢測(cè)出的跌倒次數(shù)。
FP:誤判為跌倒的次數(shù)。
TN:沒(méi)有誤判為跌倒的次數(shù)。
FN:沒(méi)有判斷出來(lái)的跌倒次數(shù)。
準(zhǔn)確率:PP=TP/(TP+FP)
召回率:R=TP/(TP+FN)
準(zhǔn)確率與召回率是用在信息檢索、分類(lèi)、識(shí)別等領(lǐng)域的基本指標(biāo),用來(lái)評(píng)價(jià)結(jié)果的質(zhì)量;準(zhǔn)確率用來(lái)衡量一個(gè)系統(tǒng)的查準(zhǔn)率,召回率用來(lái)衡量一個(gè)系統(tǒng)的查全率。
式中:γ是參數(shù),PP與R分別是準(zhǔn)確率與召回率, 本文取 γ =1, 其值此時(shí)表示為 F =(2×PP×R)/(PP+R)。因此F值綜合了準(zhǔn)確率與召回率,是準(zhǔn)確率與召回率的調(diào)和平均值,也是綜合這二者指標(biāo)的評(píng)估指標(biāo),用于綜合反映整體的指標(biāo);F值越高說(shuō)明跌倒檢測(cè)方法越有效。
測(cè)試RNNFD檢測(cè)跌倒行為的準(zhǔn)確性并把結(jié)果與相關(guān)算法進(jìn)行比較,同時(shí)測(cè)試RNNFD檢測(cè)接近跌倒?fàn)顟B(tài)的結(jié)果。
3.3.1 檢測(cè)跌倒行為的效果
使用5個(gè)測(cè)試集測(cè)試RNNFD識(shí)別跌倒行為的效果,結(jié)果如表3所示。
表3 RNNFD檢測(cè)跌倒行為的測(cè)試結(jié)果Table 3 RNNFD test results for falls behavior
從實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),RNNFD能保持較高的準(zhǔn)確率與F值,準(zhǔn)確率的平均值在92%左右,F(xiàn)值的平均值在90%左右。同時(shí),還可以通過(guò)增加隱藏層中神經(jīng)元數(shù)量的方式,進(jìn)一步提高識(shí)別跌倒行為的效果;此外,也可以通過(guò)增加訓(xùn)練樣本的方式,提高RNNFD的檢測(cè)效果。這表明,RNNFD能在僅使用少量個(gè)體樣本數(shù)據(jù)進(jìn)行訓(xùn)練時(shí),就能在大其10倍的測(cè)試數(shù)據(jù)集上取得較高的準(zhǔn)確性,驗(yàn)證了RNNFD具有很強(qiáng)的檢測(cè)能力;同時(shí)在訓(xùn)練時(shí)僅使用了19~23歲的男性樣本,但仍然能檢驗(yàn)出測(cè)試集中的18~51歲的女性和男性行為,說(shuō)明RNNFD能有效地發(fā)掘行為訓(xùn)練序列組中4個(gè)傳感器數(shù)據(jù)和1個(gè)狀態(tài)信息的內(nèi)在關(guān)聯(lián),具有良好的適應(yīng)能力。
3.3.2 與其他跌倒檢測(cè)算法的比較
本文將RNNFD與文獻(xiàn)[13-14]中的跌倒檢測(cè)算法進(jìn)行比較,相應(yīng)的F值如表4所示。
表4 不同跌倒檢測(cè)算法的比較Table 4 Comparison of different falling detection algorithms
從表4的結(jié)果可以發(fā)現(xiàn),RNNFD相比文獻(xiàn)[13]和[14]中的算法,能有效地提高F值,達(dá)到了90%,相對(duì)文獻(xiàn)[14]的F值提高了12%,相對(duì)文獻(xiàn)[13]的F值提高了7%。這說(shuō)明,RNNFD相比現(xiàn)有的跌倒檢測(cè)算法具有更高的查準(zhǔn)率與查全率。同時(shí)也說(shuō)明,相比于其他算法RNNFD能夠更加有效地發(fā)現(xiàn)和抽象數(shù)據(jù)的內(nèi)在關(guān)聯(lián),能更好地實(shí)現(xiàn)跌倒行為的檢測(cè)。
3.3.3 檢測(cè)接近跌倒的結(jié)果
再測(cè)試RNNFD識(shí)別接近跌倒行為檢測(cè)序列組效果,同樣也使用5個(gè)測(cè)試集,測(cè)試結(jié)果如表5所示。
表5 接近跌倒的檢測(cè)情況Table 5 The detection of near falls
從表5的結(jié)果中可以發(fā)現(xiàn),RNNFD能有效地識(shí)別出接近跌倒的行為檢測(cè)序列組,平均準(zhǔn)確率達(dá)到了87.3%,這表明RNNFD在進(jìn)行接近跌倒的行為檢測(cè)時(shí),也表現(xiàn)出了很強(qiáng)的適應(yīng)性,能夠有效地利用檢測(cè)的數(shù)據(jù)并且最大可能地發(fā)掘狀態(tài)信息之間的內(nèi)在關(guān)聯(lián)性;同時(shí)也說(shuō)明,RNNFD具有比其他跌倒檢測(cè)系統(tǒng)更強(qiáng)的檢測(cè)能力,能識(shí)別出具有很大危險(xiǎn)性同時(shí)也是很難區(qū)分出的接近跌倒?fàn)顟B(tài),為提前采取相應(yīng)防護(hù)措施提供了基礎(chǔ),從而能有效減少跌倒帶來(lái)的危害。
本文將RNN引入到跌倒檢測(cè)的研究中,利用RNN能發(fā)現(xiàn)和抽象序列中內(nèi)在關(guān)聯(lián)關(guān)系的特性,通過(guò)發(fā)掘位置傳感器數(shù)據(jù)之間內(nèi)在關(guān)聯(lián)關(guān)系,這些內(nèi)在關(guān)聯(lián)關(guān)系是難以用現(xiàn)有的方法準(zhǔn)確表達(dá)出來(lái)的,通過(guò)以上方法提高跌倒檢測(cè)的準(zhǔn)確性。在分析跌倒檢測(cè)要求的基礎(chǔ)上,針對(duì)RNN的特點(diǎn),設(shè)計(jì)了序列化的傳感器數(shù)據(jù)、RNN訓(xùn)練與檢測(cè)輸入表示方法,給出了用于跌倒檢測(cè)的RNN訓(xùn)練算法以及基于RNN的跌倒檢測(cè)算法,將跌倒檢測(cè)轉(zhuǎn)換為輸入序列的分類(lèi)問(wèn)題;并在本文前期所實(shí)現(xiàn)的基于分布式神經(jīng)元大規(guī)模RNN系統(tǒng)的基礎(chǔ)上,在Spark平臺(tái)上實(shí)現(xiàn)了基于RNN的跌倒檢測(cè)系統(tǒng),使用Fall_adl_data數(shù)據(jù)集進(jìn)行了檢測(cè)效果和對(duì)接近跌倒數(shù)據(jù)檢測(cè)能力的測(cè)試與分析,驗(yàn)證了RNNFD能有效提高跌倒檢測(cè)的準(zhǔn)確率,F(xiàn)值相比現(xiàn)有跌倒檢測(cè)系統(tǒng)能提高12%和7%,并且能夠檢測(cè)出接近跌倒行為。
下一步將進(jìn)一步優(yōu)化用于跌倒檢測(cè)RNN的訓(xùn)練方法,同時(shí)考慮使用LSTM減少時(shí)間開(kāi)銷(xiāo),提高準(zhǔn)確率。