孫博文,祁 燕,楊大為
(沈陽理工大學信息科學與工程學院,沈陽110159)
隨著室內(nèi)攝像設(shè)備的普及,人們對智能視頻監(jiān)控的需求越來越高。跌倒行為識別作為智能監(jiān)控系統(tǒng)的一部分,可以在人體發(fā)生跌倒行為時及時報警來保障人身安全。目前室內(nèi)人體跌倒行為檢測方法可劃分為兩大類:第一類是基于傳感器的跌倒檢測方法,這類方法一般需要人體穿戴設(shè)備,設(shè)備上通常裝有傳感器,人體發(fā)生跌倒行為時傳感器會發(fā)出警報從而實現(xiàn)跌倒檢測。由于前一類方法需要佩戴傳感器設(shè)備,極為不便,于是出現(xiàn)了第二類方法:基于計算機視覺的檢測方法?;谟嬎銠C視覺的檢測法最大優(yōu)點是不需要穿戴任何傳感器設(shè)備,而是從視頻數(shù)據(jù)中挖掘出有用的信息并進行分析。視頻數(shù)據(jù)來源于安裝在室內(nèi)的監(jiān)控攝像機,采集人在室內(nèi)的各種活動信息,然后通過一系列算法識別人體的各種行為,進而檢測出跌倒行為[1]。在提取人體運動特征方面使用的方法可分為兩種:第一種方法選擇提取人體的3D 特征,劉李正提出了基于Kinect 相機的人體跌倒檢測算法研究[2]。提取人體3D 特征的方法在人體側(cè)向?qū)χ鴶z像設(shè)備時會影響檢測效果,于是又出現(xiàn)了第二種使用計算機視覺的方法,該方法從監(jiān)控攝像頭拍攝的視頻中提取特征。在呂艷等人提出的采用卷積神經(jīng)網(wǎng)絡(luò)的老年人跌倒檢測系統(tǒng)設(shè)計中,提取特征的方式選用了深度神經(jīng)網(wǎng)絡(luò)加分類器的組合[3]。
基于計算機視覺的檢測算法存在諸多優(yōu)勢,它不需要用戶時刻攜帶設(shè)備、不受使用環(huán)境的限制,而隨著當今社會的發(fā)展,在很多地方都裝有監(jiān)控攝像頭,因此其應(yīng)用場景也更加廣泛[4]。
結(jié)合上述比較,在此對基于計算機視覺的檢測算法提出改進,使用光流法對監(jiān)控視頻進行預(yù)處理,并且修改卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的第一層,最后通過實驗驗證這一改進方法對提升模型預(yù)測準確性的效果。
在新設(shè)計中,將光流法和卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合來實現(xiàn)對人體跌倒行為的檢測,其整體設(shè)計如圖1所示。首先監(jiān)控攝像頭拍攝的視頻經(jīng)過光流圖像生成器生成光流圖像;生成的光流圖像放入卷積神經(jīng)網(wǎng)絡(luò)(CNN)中進行特征提取;最后由分類器給出分析結(jié)果(跌倒行為還是非跌倒行為)。
光流是描述視頻序列中連續(xù)兩幀之間像素相對位移的矢量場。估計該矢量場的方法即稱為光流法,可用來獲得對象的運動特征[5]。
使用光流圖像作為模型的輸入數(shù)據(jù)可以消除背景環(huán)境對于跌倒行為檢測的影響。由于光流圖像只反映運動信息的特性,模型在提取特征時可以忽略背景環(huán)境的影響,從而加快模型的檢測速度和提升模型預(yù)測的準確率。
圖2 顯示了由攝像頭拍攝到的人體跌倒行為動作序列,用光流圖像生成器對這一動作序列圖像進行處理,得到的光流圖如圖3 所示。如圖可見,光流圖像是通過灰度值的差異來反應(yīng)圖像中的瞬時運動速度,由此法可以消除背景環(huán)境的影響。
圖2 攝像頭拍攝的人體跌倒行為動作序列
圖3 跌倒行為動作序列生成的光流圖像
模型訓練過程使用了三個數(shù)據(jù)集。其中URFD、UCF-101 為兩個公共數(shù)據(jù)集,分別針對人體日常行為與跌倒行為。兩者的數(shù)據(jù)量差異如表1 所示。
表1 不同數(shù)據(jù)集的數(shù)據(jù)量差異
UCF-101 數(shù)據(jù)集涵蓋了13320 個視頻,包含了101 種人類動作行為;URFD 僅包含30 個跌倒視頻和30 個日常行為視頻[6]。在訓練模型的過程中由于輸入數(shù)據(jù)的正例與反例數(shù)量差距過大會極大影響訓練效果。故此采用遷移學習的方法,以UCF-101 數(shù)據(jù)集預(yù)訓練模型,使模型具有識別日常行為的能力后再加入URFD 數(shù)據(jù)集進行跌倒行為的訓練。
除了使用兩個公共數(shù)據(jù)集外,在此制作了一個用于跌倒行為檢測的數(shù)據(jù)集。自制數(shù)據(jù)集由三位演員拍攝而成,共包含60 段視頻。其中30 段為跌倒視頻,30 段視頻日常行為視頻。在日常行為視頻中,為增加數(shù)據(jù)集的復(fù)雜性,增加了坐下、彎腰和深蹲等與跌倒行為極易混淆的日常行為,具體拍攝情況如圖4 所示。
圖4 自制數(shù)據(jù)集新增日常行為拍攝
定義連續(xù)十張光流圖片為一個動作序列,如圖5 所示。這是考慮到大部分監(jiān)控攝像頭拍攝視頻的幀率為30 幀/s,設(shè)定光流圖像生成器中步長為10,即每隔10 幀生成一張光流圖像,連續(xù)十張光流圖像即涵蓋了3 秒的人體運動時間,而跌倒行為從發(fā)生到結(jié)束的持續(xù)時間一般為2~3 秒,這樣定義的運動序列可以完整地檢測到跌倒行為的發(fā)生。
圖5 動作序列定義
假設(shè)一段視頻被劃分為N 個光流圖像,那么會得到N-10+1 個動作序列,作為模型的輸入數(shù)據(jù)。
在損失函數(shù)方面,采用二元交叉熵函數(shù)作為模型的損失函數(shù),該函數(shù)表示預(yù)測值與真實值之間的差值,以Lloss表示,定義如下:
新方案在原有二元交叉熵函數(shù)中增加了權(quán)值ωt與 ωp。ωt表示日常行為的權(quán)重,ωp表示跌倒行為的權(quán)重。
由于URFD 數(shù)據(jù)集跌倒行為視頻與日常行為視頻的數(shù)量差距不大,幫此預(yù)設(shè)ωt與ωp均為1。
在模型結(jié)構(gòu)方面,采用VGG-16 作為模型的結(jié)構(gòu),但光流法的引入調(diào)整了VGG-16 的輸入層。傳統(tǒng)的VGG-16 輸入層接受的是 224×224×3 的 RGB圖像,新方案中的輸入層調(diào)整為接受224×224×20的光流圖像序列。其余各卷積層與傳統(tǒng)的VGG-16結(jié)構(gòu)一致。
在分類函數(shù)方面,跌倒檢測模型輸出結(jié)果為跌倒或非跌倒,使用softmax 函數(shù),公式為:
Softmax 層可以把輸入的數(shù)據(jù)映射到0~1 之間的實數(shù),并且歸一化保證和為1[7],此處設(shè)置閾值為0.5,模型預(yù)測值小于閾值分類為跌倒行為,大于閾值分類為非跌倒行為。
為評價模型的準確率,此處定義以下指標:TP代表真正值,TN為真負值,F(xiàn)P為假正值,F(xiàn)N為假負值,其具體定義如表2 所示。
表2 實驗用到的效果指標
定義sensitivity 為表示跌倒行為發(fā)生且被模型判定為跌倒行為的指標,以Ssen表示,公式為:
定義specificity 為沒有發(fā)生跌倒行為且沒有被模型判定為跌倒行為的指標,以Sspe表示,公式為:
定義precision 為準確率,即檢查出的跌倒行為中有多少是準確的,以Ppre表示,公式為:
在實驗結(jié)果中這一指標的數(shù)值較低,這是由于跌倒模型要對跌倒行為極其重視(即如果發(fā)生了跌倒行為,一定要檢測出來否則會十分危險),模型為了達到較高的Sensitivity 值而犧牲了Precision。
定義accuracy 為模型整體上的分類效果,以Aacc表示,公式為:
為了驗證基于光流法和卷積神經(jīng)網(wǎng)絡(luò)的跌倒行為檢測方法是否可準確檢測人體跌倒行為,設(shè)計如下實驗:
將URFD 數(shù)據(jù)集與自制數(shù)據(jù)集整合成新URFD數(shù)據(jù)集。為驗證更大數(shù)據(jù)集是否可以解決模型過擬合問題,設(shè)置不同數(shù)據(jù)集下的對比實驗,實驗結(jié)果如表3 所示。
表3 不同數(shù)據(jù)集下各指標實驗結(jié)果對比
在新數(shù)據(jù)集下的實驗中,specificity、precision、accuracy 等實驗指標均有所提升,大量數(shù)據(jù)集有助于模型取得更好的訓練效果。模型在更大的新數(shù)據(jù)集下訓練提升了模型的泛化能力,使得模型準確率得到提升。
為驗證光流法是否可以提升跌倒檢測模型檢測的準確率,做如下實驗:在使用相同數(shù)據(jù)集的條件下(均使用新數(shù)據(jù)集),對輸入數(shù)據(jù)分別使用光流法處理和無光流法處理。得到的對比結(jié)果如表4 所示。
表4 有無光流法實驗結(jié)果對比表
實驗結(jié)果顯示,使用光流圖像作為卷積神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)可以提升模型的specificity、precision、accuracy 數(shù)值,提升模型整體的判斷準確率。
實驗又以新方法與Sven Kreiss 等人的PifPaf 方法[8]在URFD 數(shù)據(jù)集下做了對比試驗,實驗結(jié)果如表5 所示。
表5 新方法與PifPaf 法對比實驗結(jié)果
由表5 可見,新方法與Sven Kreiss 等人提出的PifPaf 方法在實驗結(jié)果上產(chǎn)生了較大差異。PifPaf 方法由兩個部分組成,其中Pif(Part intensity field)方法用來定位人體軀干位置;Paf(Part association field)方法用來將身體各部分相互關(guān)聯(lián)以形成完整的人體姿勢,包含17 個關(guān)節(jié),每個關(guān)節(jié)由x 和y 坐標以及置信度得分表示。Sven Kreiss 等人的方法precision達到了100%,證明其方法可以保證檢查出的跌倒行為確實均為跌倒行為。而新方法在sensitivity 數(shù)值上達到了100%,證明本法可以檢測出數(shù)據(jù)集中所有的跌倒行為??紤]到現(xiàn)實生活中的情形,一旦人體發(fā)生跌倒行為而系統(tǒng)沒有檢測到,會導致很嚴重的后果,故此本方法在實際應(yīng)用中更加安全和可靠。
新設(shè)計一種檢測方法,采用光流和卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合的方式從監(jiān)控攝像頭拍攝的視頻中準確檢測人體跌倒行為。用光流法預(yù)算理數(shù)據(jù),消除了人體行為圖像的背景環(huán)境,簡化了信息的獲?。辉诰矸e神經(jīng)網(wǎng)絡(luò)模型的訓練策略上采用遷移學習方法,加強了訓練效果;自制了跌倒行為數(shù)據(jù)集,并將其與URFD 數(shù)據(jù)集結(jié)合為新數(shù)據(jù)集,解決了模型過擬合的問題;設(shè)置三組對比試驗,均顯示了本方法可在日常行為中檢測出跌倒行為并且有較好的準確率,在實際使用時也更加安全。然而由于光流法的使用需要滿足亮度恒定不變的假設(shè),因此在室內(nèi)環(huán)境亮度變化較大時會影響檢測效果,此問題在后續(xù)研究工作中有待進一步解決。