高夢奇,李江嬌,李 彬
齊魯工業(yè)大學(山東省科學院) 數(shù)學與統(tǒng)計學院,濟南 250353
據(jù)國家統(tǒng)計局發(fā)布的人口統(tǒng)計數(shù)據(jù)顯示,現(xiàn)階段我國已進入老齡化社會。據(jù)報道,2021年5月,60歲及以上人口超2.64億,與2010年相比,60歲及以上人口的比重上升了5.44%。在65歲及其以上的人群中,每年跌倒的人數(shù)大約占30%[1]。意外跌倒造成的一系列損傷是造成老年人意外死亡的第二大原因。隨著老年人口的增長,跌倒檢測已成為智能家居環(huán)境的一個重要問題,對獨居老人進行意外跌倒檢測,可以將死亡和受傷的風險降至最低。
近年來,機器學習和深度學習算法被廣泛應用于跌倒檢測領域。在深度學習中,幾乎所有的跌倒檢測系統(tǒng)常用的步驟為:感知、數(shù)據(jù)處理、跌倒事件識別(跌倒檢測)和緊急報警,相應跌倒檢測系統(tǒng)的概覽如圖1所示。
圖1 跌倒檢測系統(tǒng)概覽
如何正確檢測老年人跌倒,降低誤檢率以及如何實現(xiàn)實時的跌倒檢測,都是當前跌倒檢測亟需解決的問題。當前,常用于跌倒檢測的架構為:CNN架構、LSTM架構和自動編碼器架構,其中,使用較多的為CNN架構和LSTM架構。CNN架構非常適合在給定的圖像中尋找想要的目標,因此,采用基于CNN架構的跌倒檢測系統(tǒng)都充分利用了CNN在分類或檢測圖像方面的能力。LSTM是基于RNN(recurrent neural network)改進的架構,和CNN一樣,LSTM也可以處理圖像數(shù)據(jù),但LSTM的優(yōu)勢主要在于處理時間序列數(shù)據(jù)。同時,LSTM也可以和CNN組合用于跌倒檢測,從而克服一些與視覺相關的問題,如:圖像噪聲、遮擋和透視等。CNN和LSTM架構主要用于監(jiān)督學習,而自動編碼器主要用于無監(jiān)督學習。
目前,據(jù)作者所知,還沒有針對CNN架構展開為目標檢測和光流識別兩部分進行分析的綜述性文章,本文以此為基礎,在第二小節(jié)中,介紹了基于單傳感器和多傳感器融合的跌倒檢測數(shù)據(jù)獲取方法,在第三小節(jié)中介紹了跌倒檢測中常用的CNN架構和LSTM架構,其中,CNN架構分為目標檢測和光流估計兩部分進行介紹,在第四小節(jié)中主要介紹了將傳感器和算法應用于機器人平臺的相關文獻。
首先介紹跌倒檢測中各種數(shù)據(jù)獲取的常用方法。
單傳感器性能的總結和比較如表1所示,可分為兩類:穿戴式傳感器和非穿戴式傳感器,其中,非穿戴式傳感器又可細分為基于環(huán)境、圖像和視頻的傳感器。
表1 單傳感器性能比較
1.1.1 穿戴式傳感器
穿戴式設備的系統(tǒng)通常使用嵌入式傳感器,如:腕帶。這些類型的傳感器一般都從加速度計、陀螺儀和磁力計中獲得運動學數(shù)據(jù),從而可以提供姿態(tài)和運動信息?;陂撝档姆椒ê突跈C器學習的方法都可以應用于穿戴式設備,其中基于機器學習的方法通常優(yōu)于基于閾值的方法[2],參考文獻[3]提出了結合基于閾值和基于機器學習的技術。穿戴式設備可以被穿戴在人體的各個部位,但是穿戴后,會讓人感覺不適。此外,穿戴式設備需要用戶保證設備電量充足,才能隨身攜帶,但是這些系統(tǒng)主要針對的是老年人,因此在生活上有很多不便。
1.1.2 非穿戴式傳感器
1)基于環(huán)境的傳感器
非穿戴式傳感器可進一步分為環(huán)境傳感器和基于圖像和視頻的傳感器。環(huán)境傳感器主要監(jiān)測它們特定感興趣區(qū)域的變化,獲取溫度圖像或速度圖像,從而可以被應用于檢測姿勢、動作和人的存在。常用的環(huán)境傳感器為:紅外傳感器、被動紅外傳感器和多普勒雷達。被動紅外傳感器通過發(fā)射和捕捉紅外輻射來捕捉感興趣區(qū)域環(huán)境中的變化,或通過測量物體所釋放的熱量來捕捉感興趣區(qū)域環(huán)境中的變化。多普勒雷達是以多普勒效應為基礎,發(fā)射微波信號,從而可以精確地測量目標相對于雷達的徑向速度。MFCC(Mel-Frequency Cepstral Coefficients)特征和機器學習算法通常用于跌倒檢測[4]。盡管這些傳感器都顯示出較好的檢測結果,但它們的檢測僅限于安裝時的感興趣區(qū)域,而且它們的性能會受到其他用戶和環(huán)境變化的影響。
2)基于圖像和視頻的傳感器
基于圖像和視頻的設備對那些安裝在感興趣區(qū)域的攝像頭所捕捉到的視頻或圖像數(shù)據(jù)進行處理,并提取身體姿態(tài)、狀態(tài)信息和動作等信息。一些基于圖像和視頻的傳感器利用歷史圖像和身體姿態(tài)的變化來檢測跌倒,而其它的基于圖像和視頻的傳感器則應用機器學習算法從圖像或視頻數(shù)據(jù)中提取特征。然而環(huán)境中光的變化會導致基于圖像和視頻的設備采集的數(shù)據(jù)不準確。
單傳感器跌倒檢測系統(tǒng)經(jīng)常面臨影響其性能的限制??纱┐魇皆O備,如加速度計,其精度非常依賴于其放置位置[5],并且在面臨類似于跌倒的動作時,也會給出跌倒的信號。環(huán)境傳感器受限于特定的感興趣區(qū)域,并且容易受到環(huán)境變化的影響。根據(jù)跌倒檢測的各種需要,單傳感器模式在使用上面臨各種各樣的限制,因此,較多的研究者依靠多傳感器融合來獲得一個更強大、更可靠的跌倒檢測系統(tǒng)。
多傳感器融合主要可分為三類:穿戴式傳感器融合、非穿戴式傳感器融合以及穿戴式和非穿戴式傳感器融合。
1.2.1 穿戴傳感器融合
穿戴式跌倒檢測系統(tǒng)大多基于加速度計,通常與陀螺儀和磁力計等其它傳感器融合在一起。為了區(qū)分生活中的日?;顒?activities of daily life,ADL)和跌倒動作,Yodpijit[6]等人提出一種使用閾值人工神經(jīng)網(wǎng)絡算法,該算法使用加速度傳感器、陀螺儀和動作傳感器檢測身體方位和動作,在網(wǎng)絡中加入閾值提高區(qū)分ADL與跌倒的性能。另外,為了引入時間特征,參考文獻[7]結合MPU 6050和北歐NRF 52832設計了穿戴式跌倒檢測裝置,利用LSTM網(wǎng)絡對老年人的運動進行分類。
Jefiza等[8]開發(fā)了一種可穿戴式跌倒檢測系統(tǒng),首先在數(shù)據(jù)采集所在的預處理階段對數(shù)據(jù)進行歸一化,該系統(tǒng)是基于一個單隱層的反向傳播神經(jīng)網(wǎng)絡(back propagation neural network,BPNN),因此,將加速度和角速度的特征輸入到BP神經(jīng)網(wǎng)絡中,利用反向傳播神經(jīng)網(wǎng)絡方法對跌倒運動類型進行分類。Shahiduzzaman等[9]開發(fā)了一種基于閾值的加速計和心電數(shù)據(jù)算法,算法將加速度計中人的動作和HRV(heart rate variability)傳感器中的心率作為輸入,然后分別對兩種信號進行分析,檢查是否有異常,當兩個傳感器的檢測結果都顯示為不正常時,它才會發(fā)出檢測到跌倒的警報。
1.2.2 非穿戴式傳感器融合
近年來,基于穿戴式設備的跌倒檢測技術得到了長足發(fā)展,但仍存在一定的局限性。穿戴式設備的性能容易受到外界環(huán)境變化的影響,且對被檢測目標的日常行為活動有一定的限制。為了解決上述問題并提高系統(tǒng)使用舒適度與穩(wěn)定性,研究者們提出了基于圖像或視覺的檢測方法,通過監(jiān)控攝像頭或其它非穿戴式傳感器來檢測跌倒事件。常用的機器學習方法有:K-近鄰算法[10]、遞歸神經(jīng)網(wǎng)絡(RNN)[11]、卷積神經(jīng)網(wǎng)絡(CNN)[12]和支持向量機(support vector machines,SVM)[13]等。
非穿戴式傳感器要么使用基于閾值的算法,要么使用基于機器學習的算法,從多個傳感器中提取的特征用于訓練分類器,從而區(qū)分跌倒和ADL。Litvak等[14]基于多閾值方法,利用振動能量來檢測跌倒事件,作者對振動和聲音信號(110個特征)進行特征提取,然后運用特征選擇算法進行特征選擇,最終使用人體模型和重物進行跌倒模擬。ZHOU等[15]中,提出了一種基于深度學習和多傳感器融合的跌倒檢測方法,微波雷達和攝像機用于捕獲人體動作信息,微波雷達數(shù)據(jù)使用短時傅里葉變換(short-time fourier transform,STFT)處理,最后采用多重卷積神經(jīng)網(wǎng)絡來實現(xiàn)判斷是否發(fā)生了跌倒。
1.2.3 穿戴式和非穿戴式傳感器融合
近年來,研究人員利用穿戴式傳感器和非穿戴式傳感器的優(yōu)勢,開發(fā)出了更強大的跌倒檢測系統(tǒng)。LEE等提出了一種通過慣性測量單元位置(inertial measurement unit-location,IMU-L)傳感器和RGB攝像機進行老年人跌倒檢測的雙重檢測方法[16],IMU-L傳感器是IMU(inertial measurement unit)傳感器(加速度計和陀螺儀)和超寬帶信號定位傳感器的組合,RGB傳感器安裝在機器人上,老年人將IMU-L傳感器佩戴在身上,當類似跌倒的事件發(fā)生時,個人的位置信息與運動數(shù)據(jù)將會同步。在檢測過程中,由于IMU數(shù)據(jù)的時序性,利用遞歸神經(jīng)網(wǎng)絡(RNN)來對跌倒進行分類,當IMU提示疑似摔倒時,機器人就會移動到相應位置,確認老年人是否摔倒,在確認階段,采用基于卷積神經(jīng)網(wǎng)絡技術對RGB圖像數(shù)據(jù)進行識別和確認。
本節(jié)介紹跌倒檢測中常用的深度學習算法發(fā)展脈絡和進化過程。
在跌倒檢測中,通常需要用到目標檢測和光流估計,目標檢測用于定位所需要的目標,光流估計用于檢測目標的運動。
2.1.1 目標檢測
近年來,CNN已經(jīng)變成了人工智能領域的研究熱點之一[17],CNN在很多方面都有突出的性能,如:計算機視覺,語言識別和自然語言處理等。現(xiàn)有研究成果證實,CNN可以進行實時目標檢測。在CNN的基礎上提出了YOLOv1[18](You only look once),YOLOv1將整張圖片作為網(wǎng)絡的輸入,直接在輸出層對檢測框的位置和類別進行回歸,YOLOv1沒有求取候選區(qū)域的過程,從而解決了運行緩慢的問題,背景誤檢率降低,通用性變得更強,但是YOLOv1在精準性和召回率上都有所下降,對于檢測框的定位不是很好,從而降低了物體檢測的定位準確性。對YOLOv1進行改進的YOLOv2[19]引入了批量歸一化(batch normalization,BN)和高分辨率圖像分類器,受到Faster R-CNN的啟發(fā),引入了錨箱,同時使用了K均值聚類算法,對錨箱數(shù)量進行了討論,在精度和速度之間做出折中。并且修改了網(wǎng)絡結構,去掉了全連接層,改成了全卷積結構,引入passthrough層來檢測細粒度特征。在訓練時引入了世界樹(world tree)結構,將檢測和分類問題做成了一個統(tǒng)一的框架,并且提出了一種層次性聯(lián)合訓練方法,利用ImageNet分類數(shù)據(jù)集和COCO檢測數(shù)據(jù)集同時對模型進行訓練,從而YOLOv2在速度和精度有了很大的優(yōu)化,可以適應不同的輸入尺寸,但是對于重疊部分的分類,YOLOv2依然無法給出很好的解決方案。YOLOv3[20]將YOLOv2中特征提取用的Darknet-19改為Darknet-53,即在原本特征提取的網(wǎng)絡結構中加入了殘差網(wǎng)絡,同時,采用類似特征金字塔網(wǎng)絡(feature pyramid networks,FPN)的多尺度特征融合結構,進行多尺度預測,在保證準確度的基礎上,大大提高了算法速度,但是YOLOv3在以圖像50%區(qū)域為識別標準時,準確度最高,以圖像更多的區(qū)域作為識別標準時,準確度會逐步下降。通過對YOLOv3的改進,得到了YOLOv4[21],YOLOv4借鑒CSPNet,引入了CSP結構,將Darknet-53改為CSPDarknet-53,同時引入了金字塔注意網(wǎng)絡(pyramid attention network,PAN)結構,從不同的主干層對不同的檢測層進行特征聚合,YOLOv4對訓練時的輸入端進行改進,采用了Mosaic數(shù)據(jù)增強的方式,從而增強了數(shù)據(jù)集,減少GPU的計算負擔,但是YOLOv4的網(wǎng)絡框架和結構較為復雜。YOLOv5引入了Focus結構,從而再次提高了算法的速度,同時,YOLOv5縮小了模型的大小,但YOLOv5在YOLOv4的基礎上改進不大。綜上,算法進化如圖2所示。
圖2 算法進化過程
參考文獻[22]將YOLO和傳統(tǒng)的光流估計算法Lucas-Kanade結合,提出了YOLBO,可以實現(xiàn)在視頻的前后幀里對于同一個對象的跟蹤檢測。CHEN等[23]提出了一種基于姿態(tài)估計和基于YOLOV5的輔助檢測方法,該方法首先從不同的跌倒視頻序列中提取視頻幀,形成一個數(shù)據(jù)集;然后將訓練樣本集輸入到改進后的網(wǎng)絡中進行訓練,直到網(wǎng)絡收斂;最后根據(jù)優(yōu)化的網(wǎng)絡模型測試視頻中的目標類別并對其進行定位。
2.1.2 光流估計
光流估計是計算機視覺中一個長期存在的問題,因為著名的孔徑問題,所以光流無法直接測量。因此,通常運用由粗到細的思想框架來進行能量最小化,從而進行光流估計。HUI等人提出了LiteFlowNet[24],LiteFlowNet使用雙流特征金字塔網(wǎng)絡來提取特征,然后對于級聯(lián)的不同層次的局部特征進行代價容量計算,LiteFlowNet設置了不同的范圍以減小計算量,將計算后的特征輸入亞像素修正層,用來提升上一級光流結果的精度,同時,為每一級的光流結果構造了一個光流正則化層,從而起到了平滑光流結果的作用。因此,LiteFlowNet在提高了運行速度的情況下,減小了模型尺寸,但是,LiteFlowNet運行速度較慢,精度較低。通過改進LiteFlowNet,得到了LiteFlowNet2[25],在LiteFlowNet2中只保留了四個金字塔層級,從而提高計算效率。在NetE中的每個級聯(lián)流場推理中的128和64通道的卷積層之間增加了兩個卷積層。在原來的第二級網(wǎng)絡中,引入了一種簡單的流場推理網(wǎng)絡,稱為偽網(wǎng)絡,它僅僅保留了原始網(wǎng)絡結構中流場推理的最后一層和正則化層。因此,LiteFlowNet2具有更高的精度和更快的運行速度,但是最終得到的流場精度還是較低。通過對LiteFlowNet2的改進,得到了LiteFlowNet3[26],LiteFlowNet3在LiteFlowNet2的基礎上自適應調節(jié)修改代價向量來改善代價容量中的異常值問題,然后提出流場變形(flow field deformation)來為由粗到細的策略提供比較精確的初始值,從而進一步提高了流場精度。綜上,算法進化如圖3所示。
圖3 算法改進過程
在現(xiàn)在的研究中,文獻[27]提出了一種基于YCL(YOLOV3與LiteFlowNet算法相結合)的多傳感器融合的低成本智能家庭跌倒檢測系統(tǒng),該系統(tǒng)一方面利用YCL算法對老年人的行為進行檢測;另一方面基于智能手機的嵌入式傳感器,即加速度傳感器和氣壓傳感器,采用多傳感器融合算法來檢測跌倒行為。將YCL算法與嵌入式傳感器的輸出進行融合,得到最終的檢測結果,相比于單一傳感器,該算法一定程度上提高了檢測的精度和性能。一旦確認跌倒事件發(fā)生,智能手機將立即向緊急聯(lián)系人發(fā)送一條警報短信,以尋求醫(yī)療援助。
RNN[28]是一類用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡,RNN循環(huán)處理相同的任務,即預測句子中某個單詞后的單詞是什么。RNN在循環(huán)的任務中,各個步驟之間不是獨立,它循環(huán)記錄前面所有文本的信息(記憶),作為預測當前詞的一個輸入。但是,RNN具有梯度消失、梯度爆炸和容易陷入到局部極值點的缺點,從而無法處理較長序列數(shù)據(jù),從而無法獲取長距離數(shù)據(jù)的信息。在此基礎上,對RNN進行改進,提出了LSTM[29],LSTM細胞是由輸入門、遺忘門和輸出門組成的,其中,輸入門決定當前時刻網(wǎng)絡的輸入數(shù)據(jù)有多少需要保存到單元狀態(tài),遺忘門決定上一時刻的單元狀態(tài)有多少需要保留到當前時刻,輸出門控制當前單元狀態(tài)有多少需要輸出。
由于LSTM良好的性能,LSTM也常被用于進行跌倒檢測。Amara等提出了一種基于加速度計和ConvLSTM網(wǎng)絡的智能手機跌倒檢測應用[30],提出了ConvLSTM結構,用于分類跌倒和非跌倒活動,在 ConvLSTM中利用卷積進行特征提取,用LSTM進行特征的順序處理。LU等提出了一種基于三維卷積神經(jīng)網(wǎng)絡(3-D CNN)的跌倒檢測方法[31],二維CNN只能對空間信息進行編碼,而采用三維卷積可以從時間序列中提取運動特征,這對跌倒檢測具有重要意義。為了進一步定位每個幀的感興趣區(qū)域,作者引入了基于LSTM的空間視覺注意力方案。利用數(shù)據(jù)集Sports-1 M訓練三維 CNN,然后將三維 CNN與LSTM結合訓練得到可以分類跌倒數(shù)據(jù)集的分類器。Chahyati等人提出了一種基于卷積神經(jīng)網(wǎng)絡和LSTM的多模態(tài)數(shù)據(jù)集跌倒檢測方法[32],利用UP-Fall數(shù)據(jù)集,利用卷積神經(jīng)網(wǎng)絡和LSTM來檢測跌倒。其中,卷積神經(jīng)網(wǎng)絡用于從圖像數(shù)據(jù)中檢測空間信息,LSTM用于從信號數(shù)據(jù)中提取時間信息,然后,將兩個模型的結果與多數(shù)投票算法相結合,從而大大提高了準確率。
穿戴式傳感器需要用戶保證設備電量充足的情況下,才能隨身攜帶,在日常生活中使用非常不便,且人體佩戴后,舒適度欠佳。非穿戴式傳感器通常被固定在特定的位置,檢測特定的區(qū)域,因此非穿戴式傳感器局限于感興趣區(qū)域,存在很多盲區(qū)。因此,智能家居環(huán)境中,研究人員將傳感器和算法應用于機器人平臺,機器人可以實現(xiàn)對人的跟蹤和追隨,就可以對人進行實時的跌倒檢測。機器人跌倒檢測的工作流程如圖4所示,首先機器人使用傳感器獲取人體數(shù)據(jù),然后利用其內置算法進行數(shù)據(jù)處理,根據(jù)提取的數(shù)據(jù)特征判斷人體是否跌倒,若判斷為未跌倒,則讀取下一幀,重新循環(huán)跌倒檢測過程,若判斷為跌倒,再確定人體跌倒后能否站起,若跌倒后能站起,則讀取下一幀,重新循環(huán)跌倒檢測過程,若跌倒后不能站起,機器人啟動緊急救援警報。
圖4 機器人平臺檢測跌倒過程
CHEN等[33]提出了一種基于視覺的檢測方法在低成本小型移動機器人上完成跌倒檢測,文章提出了跌倒檢測與跟隨算法相結合的檢測方法。該方法首先通過移動機器人攝像機獲取圖像,并將圖像輸入神經(jīng)網(wǎng)絡進行跌倒檢測,然后檢測到老年人跌倒時,網(wǎng)絡輸出老年人的檢測框的坐標,最后通過坐標完成機器人對人的跟蹤和檢測。SCHNEEMANN[34]提出了一種基于特征的方法,通過配備Kinect傳感器的移動機器人來檢測人員跌倒。檢測跌倒的方法由五部分組成:預處理、分割、分層、特征提取和分類,其中,通過在點云中分割并將其分層以處理物體遮擋的問題,最后,使用經(jīng)過訓練的分類器對物體的層進行分類,通過一定數(shù)量的正分類層可以實現(xiàn)跌倒檢測。
跌倒檢測在生活中的應用越來越廣泛,從智能居家環(huán)境到公共環(huán)境,從單人到多人,從監(jiān)測到預防檢測相融合,算法在一步步變得更加完善充實,應用性也越來越強。跌倒檢測算法目前在居家環(huán)境中應用較多,隨著社會智能化程度越來越高,在移動平臺以及智能家居中的應用將越來越廣泛。
本文從跌倒檢測的數(shù)據(jù)采集方式入手,對比了三種利用傳感器和傳感器融合方法進行數(shù)據(jù)獲取的思路,得到了:穿戴式傳感器雖攜帶不便,但方便進行隨時隨地的跌倒檢測,非穿戴式傳感器雖不需攜帶,但受感興趣區(qū)域的限制,因此,需進行各種傳感器的融合,達到更好的數(shù)據(jù)采集的效果,如:將跌倒檢測算法應用于機器人平臺。然后對基于CNN算法和基于LSTM算法的發(fā)展脈絡進行總結可以得到:當前跌倒檢測所用算法的精度已較高,繼續(xù)提高精度所帶來的成本并不樂觀,因此,應提高算法的實時性,使得在應用時,精度和速度達到適當?shù)钠胶?。盡管跌倒檢測技術已經(jīng)有了廣泛的應用且發(fā)展迅速,但依然有許多問題待進一步研究:
1)有效結合上下文信息,解決跌倒檢測任務中進行有遮擋部分的檢測;
2)選擇或改進傳感器融合,或選擇更好的傳感器的使用平臺,使得在保證方便的基礎上,不受環(huán)境的限制;
3)選擇或改進已有且合適的跌倒檢測算法,使得在保證準確率的基礎上,達到實時檢測的效果。