李秀智, 張 冉, 賈松敏
(1.北京工業(yè)大學信息學部, 北京 100124; 2.數(shù)字社區(qū)教育部工程研究中心, 北京 100124)
隨著我國社會發(fā)展和人口老齡化程度不斷加快,空巢老人數(shù)量呈現(xiàn)明顯上升趨勢. 當獨居老人發(fā)生摔倒等意外情況時,如何在第一時間實施醫(yī)療救助?一種方案是在家中布置大量傳感器[1]或身體攜帶相應傳感設(shè)備. 相比之下,另一種基于視覺的人體行為識別技術(shù),僅使用視頻圖像流輸入就可以分析其中人體行為動作,再將識別出的跌倒等危險動作報警信號通過通信模塊發(fā)送給親人、護工等,可減少繁冗的傳感器使用和攜帶傳感設(shè)備[2-4]的不便. 親人或護工可通過報警信息與視頻監(jiān)控及時查看老人健康狀態(tài),對受到意外傷害的老人及時救助、提高老人生活質(zhì)量、減輕老人生活自理壓力都具有重要的現(xiàn)實意義.
基于視覺的人體行為識別技術(shù)中最重要的就是行為識別網(wǎng)絡. 人體行為識別通常以視頻流為數(shù)據(jù)源,綜合考察一個時間序列上的圖像信息,繼而實現(xiàn)一個完整動作的識別. 在深度學習應用于該領(lǐng)域前,Wang等[5]提出的改進稠密軌跡(improved dense trajectories,iDT)算法是人體行為識別中的經(jīng)典算法. iDT算法的前身為稠密軌跡(dense trajectories,DT)算法,其基本思路為利用光流場獲取視頻序列中的一些軌跡,之后從軌跡中提取出4種特征,最后對特征進行編碼,再基于編碼結(jié)果訓練支持向量機(support vector machine, SVM)來完成分類任務. iDT算法的改進之處在于,它利用前后2幀視頻之間的光流以及關(guān)鍵點進行匹配,從而減弱相機運動帶來的影響.
基于深度學習的行為識別方法中,Simonyan等[6]首次提出雙流卷積神經(jīng)網(wǎng)絡,該網(wǎng)絡分為相同結(jié)構(gòu)的空間網(wǎng)絡和時序網(wǎng)絡. 其基本原理為:首先,對視頻序列中每2幀計算密集光流,得到密集光流時序序列;然后,對視頻圖像和密集光流分別訓練神經(jīng)網(wǎng)絡;最后,將結(jié)果融合得到最終動作. Feichtenhofer等[7]在雙流網(wǎng)絡基礎(chǔ)上,利用卷積神經(jīng)網(wǎng)絡進行時序網(wǎng)絡和空間網(wǎng)絡的融合,進一步提高分類效果. Wang等[8]提出的時序分割網(wǎng)絡(temporal segment networks,TSN)同樣是基于雙流網(wǎng)絡,但不同于雙流網(wǎng)絡采用單幀或單堆幀,TSN使用整個視頻中稀疏采樣獲得一系列短片段,每個片段都將給出其本身對于行為類別的初步分類,最后融合這些片段結(jié)果得到最終分類. 另一類基于深度學習的行為識別主流方法為3D卷積神經(jīng)網(wǎng)絡. Ji等[9]認為對于基于視頻分析的問題2D卷積神經(jīng)網(wǎng)絡不能很好捕獲時序上的信息,因此,提出3D卷積神經(jīng)網(wǎng)絡. Tran等[10]在此思想上提出C3D網(wǎng)絡,采用8次卷積操作和4次池化操作,最終經(jīng)過2次全連接層和Softmax層后得到最終分類結(jié)果. Carreira等[11]基于Inception-V1模型,將2D卷積擴展到3D卷積,提出了I3D模型,但該模型參數(shù)量巨大,對硬件要求較高.
根據(jù)上述問題,本文提出一種實時的室內(nèi)人體跌倒行為識別方法,基本實現(xiàn)了在室內(nèi)環(huán)境下跌倒及某些日常行為動作行為識別,實驗結(jié)果證明視覺顯著性檢測對于室內(nèi)跌倒行為識別有積極作用.
本文所述實時室內(nèi)跌倒行為識別框架如圖1所示. 視覺顯著性算法可以根據(jù)圖像將顯著性部分與背景紋理部分分割,加強背景紋理與人物行為之間的關(guān)聯(lián)性. 基于3D卷積神經(jīng)網(wǎng)絡的室內(nèi)跌倒動作識別網(wǎng)絡,通過稀疏采樣對視頻流中人體行為進行分類識別. 其中,2D子網(wǎng)絡對視頻圖像提取低層特征,3D子網(wǎng)絡對2D子網(wǎng)絡的輸出進行組合,進一步提取高層特征,最后由輸出層輸出行為分類結(jié)果.
圖1 室內(nèi)跌倒行為識別構(gòu)建框架Fig.1 Indoor falling recognition framework
3D卷積核是視頻行為識別中重要的角色. 3D卷積核相較于2D卷積核多了時序維度上的卷積,這使3D卷積具備提取時序維度特征的能力,可以使得3D卷積神經(jīng)網(wǎng)絡更好地捕捉視頻流的運動信息,有利于視頻中人體的行為識別.
3D卷積操作如圖2中(a)所示.傳統(tǒng)3D卷積核將空間信息與時序信息一起卷積不易進行優(yōu)化,于是本文采用卷積核分解[12]將t×d×d卷積核分解為1×d×d與t×1×1,如圖2中(b)所示.t為3D卷積核中時空維度卷積參數(shù),d為3D卷積核中空間卷積參數(shù).時空分解后的2個卷積核分別對應處理視頻圖像序列的空間信息與時序信息.通過時空分解3D卷積核,分離了空間信息與時序信息,增加了網(wǎng)絡的非線性表達能力,易于網(wǎng)絡優(yōu)化.同時,為了保留分解后的卷積核與原3D卷積核的表達能力,通過超參數(shù)Mi調(diào)節(jié)時空信息間的子空間數(shù),使分解后的卷積核參數(shù)與原3D卷積核參數(shù)保持一致.圖2(a)中原3D卷積核參數(shù)量等于圖2(b)中時空分解后的2層卷積核參數(shù),即
圖2 3D卷積核分解與分組卷積Fig.2 3D grouping convolution and factorization
Ni-1td2Ni=Ni-1d2Mi+MitNi
(1)
式中:Ni-1為輸入通道;Ni為輸出通道.
超參數(shù)Mi為
(2)
分組卷積能降低網(wǎng)絡的時間復雜度,大幅降低訓練參數(shù)量且不易過擬合.如圖2中(c)所示,將輸入通道Ni-1分為G個組,每組分別進行卷積操作.圖2(b)中時空分解后3D卷積核參數(shù)量N的計算式為
N=Ni-1d2Mi+MitNi
(3)
圖2(c)中分組時空分解后3D卷積核參數(shù)量為未分組前的1/G,計算公式為
(4)
本文采用殘差模塊作為基礎(chǔ)結(jié)構(gòu),融合卷積核分解與分組卷積,提出基于分組卷積與卷積核分解的3D卷積模塊,如圖3所示.
圖3 基于分組卷積與卷積核分解的3D卷積模塊Fig.3 3D convolution unit based on grouping convolution and factorization
基于分組卷積與卷積核分解的3D卷積模塊分為Conv a與Conv b. Conv a模塊功能為通過1×1×1卷積改變通道數(shù)量,實現(xiàn)升維,Conv b模塊不改變通道維度. 由于使用分組卷積,通道間信息交換減少,所以采用Multiplexer模塊彌補通道間的信息交換. 該模塊為一個2層1×1×1的卷積,第1個1×1×1的卷積會將通道數(shù)量降低到1/k,第2個1×1×1的卷積再升維至輸出通道數(shù),因此,該模塊的時間復雜度是一層1×1×1卷積的2/k,具體計算公式為
(5)
式中l(wèi)、h、w分別為特征圖的時間維度長度和空間維度的高與寬.
本文將2.1節(jié)設(shè)計的3D卷積模塊擴展為基于分組卷積與卷積核分解的3D卷積神經(jīng)網(wǎng)絡. 本文網(wǎng)絡結(jié)構(gòu)設(shè)計參考了ResNet-34的網(wǎng)絡結(jié)構(gòu). 因為將2D子網(wǎng)絡的輸出作為3D子網(wǎng)絡的輸入,所以選取了中高層網(wǎng)絡結(jié)構(gòu),舍棄了前幾層低維卷積層,即從Conv 3a開始;同時,修改了一些通道數(shù)量,卷積層后均有批量歸一化(batch normalization,BN)層及線性修正單元(rectified linear unit,Relu). 具體3D網(wǎng)路結(jié)構(gòu)如圖4所示.
圖4 基于分組卷積與卷積核分解的3D卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)Fig.4 3D Convolution neural network architecture based on grouping convolution and factorization
3D子網(wǎng)絡輸入為2D子網(wǎng)絡輸出的特征圖組合,大小為96×16×28×28;Conv 3a將通道數(shù)擴展到192,并通過時序維度卷積步長設(shè)置為2,將特征圖輸出大小壓縮為192×8×28×28;之后通過3個Conv b模塊,進入Conv 4a模塊,將通道數(shù)擴展到354,并通過空間維度步長設(shè)置為2,將特征圖輸出大小壓縮為354×8×14×14;之后通過5個Conv 4b模塊,進入Conv 5a模塊,將通道數(shù)擴展為768,同樣通過空間維度步長設(shè)置為2,將特征圖輸出大小壓縮為768×8×7×7;最后連接平均池化層和全連接層輸出最終預測動作結(jié)果. 分組卷積設(shè)置的組數(shù)G為16,即將各模塊輸出通道數(shù)平均分為16組. 網(wǎng)絡細節(jié)見表1.
表1 基于分組卷積與卷積核分解的3D卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)
不同于單張圖片、視頻序列中的連續(xù)圖像,因為背景相同,所以具有連續(xù)性與冗余性. 因此,在使用視頻序列進行訓練時,為了避免圖形處理器(graphics processing unit,GPU)資源浪費,提高模型訓練效率,將訓練集視頻序列平均分為N段,再將每段中隨機提取的一幀作為模型訓練輸入——這樣的稀疏隨機采樣策略在減少冗余信息的同時還可以在訓練中引入更復雜的多樣性,從而提高模型的泛化能力.
在實際應用環(huán)境中,由于視頻序列是源源不斷的,可以采用隨機滑動組合采樣算法識別當前行為動作.
如圖5所示,網(wǎng)絡模型推斷時,設(shè)置可以容納N幀的滑動組合組作為行為識別網(wǎng)絡的輸入.為了保持視頻序列的時間上下文信息,同時設(shè)置歷史記憶組與新視頻流組.歷史記憶組與新視頻流組以5∶5的比例組成滑動組合組.當視頻流開始時,滑動組合組稠密采集N幀輸入網(wǎng)路,同時通過稀疏采樣收集到N/2幀存入新視頻流組,將新視頻流組中的N/2幀替換掉原滑動組合組中的一半.此時生成的N幀為新滑動組合組,而原滑動組合組此時稱為歷史記憶組.每次預測時,從2組視頻中各采樣一半來更新滑動組合組,并將其作為網(wǎng)絡模型的輸入,預測出當前的行為動作結(jié)果.將當前的預測結(jié)果和平均預測結(jié)果進行平均后得到最終的輸出.
圖5 隨機滑動組合采樣算法Fig.5 Random sliding combined sampling
雖然3D卷積神經(jīng)網(wǎng)絡完全可以勝任行為識別任務,但盡管使用網(wǎng)絡模型壓縮技術(shù)令3D網(wǎng)絡時間復雜度與參數(shù)量大幅減少,3D網(wǎng)絡與2D網(wǎng)絡相比依然不是同一個量級的網(wǎng)絡. 因此,采用2D加3D的網(wǎng)絡結(jié)構(gòu)更加輕量且2D網(wǎng)絡與3D網(wǎng)絡結(jié)合并不會降低網(wǎng)絡行為識別精度[13],同時在視頻的高層語義抽象層捕獲視頻的時間動態(tài)信息要優(yōu)于在視頻的底層像素級捕獲視頻的時間動態(tài)信息. 因此,本文采用底層2D網(wǎng)絡加頂層3D網(wǎng)絡結(jié)構(gòu)在行為識別準確性與網(wǎng)絡結(jié)構(gòu)方面是最優(yōu)選擇.
本文采用的2D子網(wǎng)絡結(jié)構(gòu)如圖6所示,網(wǎng)絡為GoogleNetV2中前半部分(從輸入層到inception-3c層). 每個卷積層后都有BN層和Relu激活層. 在2D轉(zhuǎn)化為3D時,本文將16張連續(xù)視頻幀經(jīng)過2D網(wǎng)絡生成的96×28×28大小的特征圖堆疊在一起,形成大小為16×96×28×28的特征圖組,生成96×16×28×28的3D網(wǎng)絡輸入,即96個通道的時間維度為16,空間維度為28×28的3D特征圖,如圖1中2D子網(wǎng)絡至3D子網(wǎng)絡結(jié)構(gòu).
圖6 2D子網(wǎng)絡結(jié)構(gòu)Fig.6 2D subnetwork architecture
行為識別任務中UCF101數(shù)據(jù)集[14]有大量來自網(wǎng)絡的視頻片段,每個視頻包含一個完整動作. 本文選取UCF101數(shù)據(jù)集作為預訓練數(shù)據(jù)集,之后使用訓練好的預訓練模型在室內(nèi)跌倒數(shù)據(jù)集上微調(diào),實現(xiàn)識別室內(nèi)人體行為的任務. 針對室內(nèi)環(huán)境,Auvinet等[15]建立了多攝像頭室內(nèi)跌倒數(shù)據(jù)集,該數(shù)據(jù)集由天花板上處于各個不同位置的攝像機所采集到的圖像序列組成,如圖7所示.
圖7 室內(nèi)跌倒數(shù)據(jù)集Fig.7 Indoor fall dataset
數(shù)據(jù)集中,以單人演繹24個場景為基礎(chǔ),將人體動作分為8個類別,分別為行走或站立、摔倒、躺倒在地、蹲伏、向上移動、向下移動、坐以及躺在沙發(fā)上. 之后按照5∶1的比例將數(shù)據(jù)集分為訓練集與測試集,分別按照格式編輯訓練集與測試集的訓練文件. 訓練集共113 751幀,測試集共47 068幀.
本文在配有Intel i7-6700 CPU @ 3. 40 GHz、16 GB內(nèi)存的GTX1070 GPU和操作系統(tǒng)Ubuntu16.04 LTS的電腦上進行訓練和測試,深度學習框架選擇Caffe,開發(fā)語言是Python. 首先將UCF101數(shù)據(jù)集進行剪切并編輯真值文件,網(wǎng)絡輸入首先減去像素均值并剪裁為224×224,之后使用標準隨機梯度下降的方法. 學習率設(shè)置為0.001,動量為0.9,權(quán)重衰減為0.000 50進行訓練優(yōu)化時,每經(jīng)過5 000次迭代,將學習率降低0.1,經(jīng)過2萬次迭代得到預訓練模型. 之后在預訓練模型上使用同樣優(yōu)化參數(shù),每經(jīng)過3 000次迭代,將學習率降低0.1. 經(jīng)過1萬次迭代得到最終室內(nèi)人體行為識別模型.
在室內(nèi)人體行為識別網(wǎng)絡的真實場景應用中,由于每個應用環(huán)境都不一樣,為確保網(wǎng)絡模型的泛化性能,本文使用視覺顯著性檢測作為行為識別的前端處理,提取出對行為識別準確度有益的顯著性特征. 因此,選取Wang等[16]提出的基于全卷積神經(jīng)網(wǎng)絡的視頻顯著性檢測模型. 該模型通過全卷積神經(jīng)網(wǎng)絡分別構(gòu)造出2個模塊:靜態(tài)顯著性網(wǎng)絡與動態(tài)顯著性網(wǎng)絡. 靜態(tài)顯著性網(wǎng)絡通過圖片的訓練產(chǎn)生顯著性檢測結(jié)果,而動態(tài)顯著性網(wǎng)絡會根據(jù)時序特征,判斷出動態(tài)的顯著性檢測結(jié)果. 視覺顯著性檢測效果如圖8所示.
圖8 顯著性檢測圖與原始視頻幀F(xiàn)ig.8 Saliency image and original image
可以看出,顯著性檢測圖相較于原始RGB視頻幀,摒棄掉很多圖像信息,僅展示圖像中某些顯著性紋理,并且由灰度圖形式輸出. 同時,靜態(tài)顯著性檢測圖與動態(tài)顯著性檢測圖相比,擁有更多環(huán)境紋理信息,而動態(tài)顯著性檢測圖更關(guān)注于動態(tài)物體和顯著性較大的物體. 因此,可以認為靜態(tài)顯著性檢測圖是包含背景紋理信息與人物行為信息且不包含顏色信息的特征圖;動態(tài)顯著性檢測圖是不包含背景紋理僅包含人物行為信息且不包含顏色信息的特征圖.
同時,為證明視頻幀中顏色信息對行為識別是否有益,設(shè)計出2種基于視覺顯著性的視頻幀處理算法與原RGB視頻幀對比. 第1種算法為圖像融合:將原視頻幀分別與靜態(tài)視覺顯著性檢測圖和動態(tài)視覺顯著性檢測圖線性融合. 由于視覺顯著性檢測具有提取顯著性物體的性質(zhì),此種做法將原RGB視頻幀中顯著性物體與背景紋理對比度加強但保留圖像中RGB信息. 第2種算法為圖像加權(quán):將顯著性檢測圖像作為原RGB視頻幀的權(quán)值,選擇只將顯著性物體還原顏色特征. 具體2種算法效果如圖9所示.
圖9 基于視覺顯著性的圖像加權(quán)與圖像融合Fig.9 Merge image & weighted image base on saliency image
網(wǎng)絡時間復雜度和參數(shù)量決定了網(wǎng)絡訓練/預測時間以及網(wǎng)絡的模型大小. 如果復雜度過高,則會導致模型訓練和預測耗費大量時間,無法做到快速預測,很難適應實時性強的應用場景. 同時,若模型量級巨大,則在終端部署時,會浪費大量空間,導致成本增加. 為驗證基于3D卷積的行為識別網(wǎng)絡的性能,本文計算了網(wǎng)絡的時間復雜度與參數(shù)量并與當前領(lǐng)域內(nèi)效果優(yōu)秀的網(wǎng)絡進行對比. 參數(shù)量與時間復雜度計算公式分別為
Params=KdKhKwCinCout
(7)
FLOPs=KdKhKwDWHCinCout
(8)
式中:KhKw為卷積核大小;Cin為輸入通道數(shù);Cout為輸出通道數(shù);D、W和H分別為輸出特征圖的深度、寬和高,與當前主流網(wǎng)絡對比結(jié)果如表2所示.
表2 時間復雜度與參數(shù)量對比結(jié)果
本文提出的基于3D卷積的行為識別網(wǎng)絡參數(shù)量低于Params與FLOPs最大的R(2+1)D-RGB網(wǎng)格1個量級且FLOPs低于2個量級. 可以看出,本文提出的基于3D卷積的行為識別網(wǎng)絡Params與FLOPs均為最低,說明在網(wǎng)絡模型中可以更快速地預測出結(jié)果,并且由于參數(shù)量少,模型更加精致,易于部署.
為驗證基于3D卷積的行為識別網(wǎng)絡的行為識別準確率,本文采用測試集回灌與實際場景測試2種驗證方式. 基于3D卷積的行為識別網(wǎng)絡回灌測試集采用跌倒數(shù)據(jù)集中的測試集;實際場景為實驗室錄制的模擬視頻. UCF101[14]是一個人類動作視頻數(shù)據(jù),是從YouTube上剪輯的101類真實世界中的不同種類人類動作視頻. 表3為以基于3D卷積的行為識別網(wǎng)絡在UFC101數(shù)據(jù)集和跌倒測試集的準確率,分別與當前主流行為識別網(wǎng)絡進行對比.
表3 基于3D卷積的行為識別網(wǎng)絡準確率(測試集)
根據(jù)表3實驗結(jié)果,在UCF101數(shù)據(jù)集與跌倒數(shù)據(jù)集中本文提出的網(wǎng)絡準確率分別為91.3%和81.5%,略低于當前主流3D網(wǎng)絡,高于雙流網(wǎng)絡及C3D、Res3D網(wǎng)絡. 盡管準確率略低幾個百分點,但是本文的Params及FLOPs遠小于以上網(wǎng)絡,在實際部署應用中更加有利.
實驗室模擬視頻為10段不同摔倒動作的模擬視頻,摔倒動作分為2次向前摔倒(FF1&FF2)、向后摔倒(BF)、失去平衡側(cè)摔(LF)以及坐時摔倒(SF);每組動作有2個攝像頭視角錄制. 圖10展示了SF的一組行為識別結(jié)果,第1排左起分別為行走、向下移動和摔倒;第2排左起分別為躺在地上、向上移動和蹲伏.
圖10 實時室內(nèi)跌倒行為識別實驗結(jié)果Fig.10 Experimental results of real-time indoor falling recognition
圖10表明基于3D卷積的行為識別網(wǎng)絡能較好地識別出相應的動作,經(jīng)過統(tǒng)計得出實際場景模擬測試集的準確率如表4所示.
從表4中可以看出,實際場景測試結(jié)果不如測試集回灌效果,這是由于背景環(huán)境以及光線等引起,說明實際場景中還需針對不同環(huán)境做出優(yōu)化,才能增加模型的行為識別準確度.
表4 基于3D卷積的行為識別網(wǎng)絡準確率(實際場景)
基于5.2節(jié)可以看出在實際場景中面臨的問題. 為了驗證視覺顯著性檢測特征幀對基于3D卷積的行為識別網(wǎng)絡的影響,本實驗根據(jù)2種基于視覺顯著性的視頻幀處理算法,設(shè)置不同融合比例以尋找最適合實際場景的算法及比例. 顯著性圖像融合圖中將顯著性檢測圖與原RGB圖按照不同比例進行融合;顯著性圖像加權(quán)圖中將按灰度閾值進行加權(quán)融合. 靜態(tài)顯著性圖像比例融合及閾值加權(quán)實驗結(jié)果如表5所示. 由此可以看出,圖像融合圖與圖像加權(quán)圖以2種方式補充了顏色與背景紋理信息.
表5 靜態(tài)顯著性圖像比例融合與閾值加權(quán)圖
為了驗證視覺顯著性視頻幀處理的可靠性,本文將4.3節(jié)處理的視覺顯著性視頻幀作為網(wǎng)絡輸入. 以跌倒動作為例,顯著性圖像閾值加權(quán)實驗結(jié)果與顯著性圖像比例融合實驗結(jié)果如圖11所示.
圖11 視覺顯著性檢測特征幀行為識別實驗結(jié)果Fig.11 Action recognition experimental results of feature frames in visual saliency detection
由結(jié)果可知:RGB視頻幀輸入僅識別出一次跌倒動作;視覺顯著性融合算法提升了原算法的跌倒識別準確率,其中視覺顯著性檢測幀與原RGB幀按照9∶1比例融合效果最好,識別出9次跌倒動作,如圖12所示,圖中左上角黃色為識別出的跌倒動作“Fall”;視覺顯著性加權(quán)算法針對行為識別任務沒有積極作用,針對跌倒動作均無有效識別.
圖12 視覺顯著性檢測9∶1融合行為識別實驗結(jié)果Fig.12 Action recognition experimental results of visual saliency merge image detection in proportion 9∶1
1) 提出了一個基于3D卷積神經(jīng)網(wǎng)絡的室內(nèi)實時行為識別網(wǎng)絡. 設(shè)計并實現(xiàn)了基于分組卷積與卷積核分解的3D網(wǎng)絡,精簡了網(wǎng)絡結(jié)構(gòu),使網(wǎng)絡參數(shù)量及時間復雜度顯著降低,Params減少到6.9×106,F(xiàn)LOPs減少到8.04×109.
2) 根據(jù)基于分組卷積與卷積核分解的3D網(wǎng)絡進一步融合2D網(wǎng)絡,提出基于3D神經(jīng)網(wǎng)絡的行為識別網(wǎng)絡并且為加快模型推斷速度提出隨機滑動組合采樣算法,網(wǎng)絡性能針對跌倒測試集可達到81.5%的準確率.
3) 根據(jù)視覺顯著性檢測模型提出視覺顯著性檢測融合與視覺顯著性檢測加權(quán)2種算法,其中視覺顯著性檢測融合算法按照9∶1比例效果最好. 根據(jù)2種算法結(jié)果可以推斷出本文行為識別網(wǎng)絡對顏色信息不敏感,但背景紋理信息對于行為識別有積極作用.