王傳旭 姜成恒
(青島科技大學(xué)信息科學(xué)技術(shù)學(xué)院,青島,266100)
人體行為識別是計算機(jī)視覺領(lǐng)域一個重要的研究方向。隨著卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural networks,CNNs)[1-3]的出現(xiàn)和日益成熟,物體識別與分類已經(jīng)達(dá)到很高水平,相比之下,在人的行為識別中,特別是組群行為識別,識別精度不高。動態(tài)數(shù)據(jù)集不足,組群行為中多人的跟蹤和識別問題,人與人之間的復(fù)雜關(guān)系建模等都是巨大的挑戰(zhàn)。因此,組群行為識別受到研究者的廣泛關(guān)注。
組群行為中最簡單的識別方法是將視頻幀整體作為深度學(xué)習(xí)網(wǎng)絡(luò)的輸入,根據(jù)發(fā)生的組群活動來訓(xùn)練模型,達(dá)到組群識別的目的。但是,直接訓(xùn)練整體圖像,目標(biāo)干擾物太多,并不能得到很好效果。目前用作組群行為識別最常見且有效的網(wǎng)絡(luò)框架有兩類:一類是直接將視頻作為輸入的3D卷積網(wǎng)絡(luò)(3D spatio-temporal convolutions)[4],可以學(xué)習(xí)比較復(fù)雜的時空依賴關(guān)系,但性能不好,難以擴(kuò)展;另一類即是將圖像以及光流分別作為輸入的雙流網(wǎng)絡(luò),將視頻幀分為外觀流和運(yùn)動流,分別訓(xùn)練其對應(yīng)的CNN,最后融合輸出的特征信息。目前雙流網(wǎng)絡(luò)的方法在效果上還是明顯要優(yōu)于3D卷積網(wǎng)絡(luò)的方法。
本文采用雙流網(wǎng)絡(luò)的方法構(gòu)建了一個端到端的分層深度學(xué)習(xí)網(wǎng)絡(luò)模型。首先通過雙流網(wǎng)絡(luò)對組群中的每個人進(jìn)行建模,然后利用局部聚合描述符(Action vector of locally aggregated descriptor,ActionVLAD)池化層對提取到的個人特征進(jìn)行融合,根據(jù)組群中個人的融合特征表示團(tuán)體活動。
近幾年,深度學(xué)習(xí)網(wǎng)絡(luò)廣泛用于組群行為識別研究,大大解決了傳統(tǒng)方法對復(fù)雜人群的限制和識別精度低的問題。Lan等[5]提出了一種自適應(yīng)潛在結(jié)構(gòu)學(xué)習(xí)識別組群活動,它能捕獲組群活動及個體行為和他們之間的相互作用。Choi等[6]提出統(tǒng)一跟蹤多個人,在一個聯(lián)合框架中識別個人行為、互動和集體活動。Ibrahim等[7]使用分層深度時間模型來聚合用于整個活動理解的人員級信息。Wang等[8]利用長短時記憶(Long short time memory,LSTM)統(tǒng)一了單人動態(tài),組內(nèi)和組間交互的交互特征建模過程。Yao等[9]提出了一個多粒度交互預(yù)測網(wǎng)絡(luò),它集成了全局運(yùn)動和詳細(xì)的局部動作。以上所有方法關(guān)注的是個體建模,通過交互和集體活動來識別組群行為,雖然很大程度提高了組群識別精度,但是網(wǎng)絡(luò)輸入單一(RGB圖像),建模過于復(fù)雜,無法實(shí)現(xiàn)端到端的訓(xùn)練。借鑒以往方法,本文提出端到端的分層深度學(xué)習(xí)網(wǎng)絡(luò)框架,利用雙流網(wǎng)絡(luò)連接底層LSTM提取并表示組群中個人特征,結(jié)合ActionVLAD池化層融合個人級信息,經(jīng)過頂層LSTM連接分類器實(shí)現(xiàn)組群活動識別。
本文算法模型流程如圖1所示。本文的目標(biāo)是檢測識別多人在視頻序列中的集體行為。組群活動識別問題的許多經(jīng)典方法是基于人工設(shè)計的特征以結(jié)構(gòu)化預(yù)測的形式對組群活動進(jìn)行建模,受深度學(xué)習(xí)的啟發(fā),本文提出了多層次雙流的深度學(xué)習(xí)網(wǎng)絡(luò)。網(wǎng)絡(luò)的輸入為場景中每個人跟蹤的RGB圖像和Dense_flow圖像(包括x和y分量),i表示組群中目標(biāo)人數(shù),用Ri表示第i個人的RGB圖像,F(xiàn)ix和Fiy表示第i個人的Dense_flow的x和y方向圖像,本文使用Alexnet[10]和LSTM網(wǎng)絡(luò)搭建雙流網(wǎng)絡(luò)對數(shù)據(jù)進(jìn)行訓(xùn)練和學(xué)習(xí),提取的雙流特征由前向特征融合[11]算法模擬個人活動的時間動態(tài)表示,并獲得個人行為的初步預(yù)測;再經(jīng)過ActionVLAD池化層進(jìn)行聚類得到組群行為的預(yù)估計,通過頂層LSTM層,保證特征信息不丟失的同時加強(qiáng)組群圖像幀間的聯(lián)系;最后,輸出連接到Softmax分類層來檢測視頻序列中的組群活動類。本文創(chuàng)新之處是利用ActionVLAD池化聚類算法代替?zhèn)鹘y(tǒng)的池化算法對個人級行為特征進(jìn)行聚類融合得到組群級行為的表示;利用分層的LSTM網(wǎng)絡(luò)實(shí)現(xiàn)對個人級及組群級行為的建模表示,進(jìn)而實(shí)現(xiàn)組群行為識別。
針對組群中的每個人的位置,對應(yīng)提取其邊界框信息,得到該組群行為的每個人的行為視頻幀,作為深度學(xué)習(xí)網(wǎng)絡(luò)的輸入。在行為識別中,不同的特征對應(yīng)到相應(yīng)的行為,有的特征得到的是它的靜態(tài)特征比,如圖像RGB特征,而密集光流特征可以得到人體行為的運(yùn)動特征。不同的特征描述的是行為的不同方面,研究實(shí)驗(yàn)表明,把不同的特征融合起來可以得到更好的結(jié)果。
圖1 多層雙流的端到端網(wǎng)絡(luò)流程圖Fig.1 Flow chart of multi-layer two-stream end-to-end network
1.2.1 雙流深度學(xué)習(xí)網(wǎng)絡(luò)的搭建
圖2 雙流網(wǎng)絡(luò)特征提取Fig.2 Feature extraction of two-stream network
基于傳統(tǒng)的Two-stream CNN網(wǎng)絡(luò),利用CNN網(wǎng)絡(luò)搭建雙流網(wǎng)絡(luò),用作提取個人特征。如圖2所示,應(yīng)網(wǎng)絡(luò)輸入的需求,提取數(shù)據(jù)集對應(yīng)的光流視頻幀圖像,將原數(shù)據(jù)集和光流數(shù)據(jù)集作為雙流網(wǎng)絡(luò)的輸入,與傳統(tǒng)雙流網(wǎng)絡(luò)不同的是,本文在經(jīng)過卷積池化最后分別連接兩層全連接層和一層LSTM層,充分保證提取特征的完整性以及添加時間聯(lián)系,保證時間信息不丟失,最后通過一定的融合方法將雙流網(wǎng)絡(luò)提取的不同特征進(jìn)行融合匯總。
1.2.2 雙流特征融合
由于雙流網(wǎng)絡(luò)是獨(dú)立的兩個網(wǎng)絡(luò),得到的特征也是相對獨(dú)立的,為了實(shí)現(xiàn)雙流網(wǎng)絡(luò)提取特征的豐富性,需要對特征進(jìn)行進(jìn)一步地融合。Ballan[11]提出了兩種融合方式:一個是前向融合,就是在描述符的水平上進(jìn)行融合,簡單來說就是把兩種不同的特征以串聯(lián)的形式連接起來形成新的描述符;另外一種是后向融合,在對每種特征建立描述符之后,把兩種不同特征得到的不同的行為描述符連接起來形成新的描述符。根據(jù)前人經(jīng)驗(yàn)和本文需求,選用前向融合方式,如圖3所示。
圖3 個人前向特征融合Fig.3 Personal forward feature fusion
通過本文搭建的雙流網(wǎng)絡(luò)得到了組群場景中的每個人的雙流特征,通過前向特征融合,進(jìn)而得到個人級特征描述和個人行為的預(yù)測,但是,僅僅描述和預(yù)測個人的行為并不能很好地達(dá)到識別組群行為的目的。針對這一問題,本文提出了使用ActionVLAD池化算法來聚合該組群行為中每個人的行為,通過對每個人建模分組,相同行為特征的個人被分到一個團(tuán)體,由該場景中最大組群的行為來定義組群行為。
1.3.1 ActionVLAD池化聚類
Relja等[12]從局部聚合描述子向量(Vector of locally aggregated discriptor,VLAD)[13]在圖像檢索中良好的魯棒性受到啟發(fā),提出了在CNN框架中模擬VLAD并設(shè)計可訓(xùn)練的廣義的VLAD層,即NetVLAD時空聚合層。在NetVLAD聚合的時空擴(kuò)展基礎(chǔ)上,引入了時間t之和,稱為ActionVLAD。假設(shè)xit∈RD,是從一段視頻幀t∈{1,…,T}的位置i∈{1,…,N}中提取一個D維局部描述符。將特征描述子空間RD劃分為K個“動作詞”區(qū)域,用錨點(diǎn){ck}表示,那么每一個描述子xit被分配到一個聚類中心并由殘差向量xit-ck表示,然后將所有殘差向量累加用作表示整個視頻,即有
式中:xit[j]和ck[j]分別為描述符向量xi,t和錨點(diǎn)ck的第j個分量;α是一個可調(diào)超參數(shù);ck′表示理論錨點(diǎn)數(shù);k′表示理論“動作詞”數(shù)量;上標(biāo)T表示視頻總幀數(shù);N表示視頻中總?cè)藬?shù)。式中第1項表示描述符xit到單元K的軟分配,第2項xit[j]-ck[j]表示描述符和單元K的錨點(diǎn)之間的殘差,兩個求和運(yùn)算符分別表示時間和空間的聚合,輸出是矩陣V,表示k個聚類中心的D維特征描述子,經(jīng)過歸一化后展開為v∈RKD描述子即可表示整個視頻,如圖4所示。
圖4 ActionVLAD池化聚類Fig.4 ActionVLAD pooling clustering
圖4將目標(biāo)人物特征根據(jù)ActionVLAD池化聚類為行走(Walking)和(Crossing)兩類,依據(jù)視頻中目標(biāo)人物呈現(xiàn)的大部分狀態(tài)定義組群行為為過馬路(Crossing)。
從圖5不同的池化策略建模對比可以看出,最大池化和平均池化都只能關(guān)注到部分子類特征,而ActionVLAD卻可以聚合不同子類特征的描述子來共同描述視頻特征。在組群活動中,個體一般呈現(xiàn)不同的行為。例如,本文數(shù)據(jù)集標(biāo)簽為過馬路(Crossing)的場景中,有不少行人的狀態(tài)是行走(Walking),通過ActionVLAD池化,可以更好地區(qū)分組群活動中小團(tuán)體活動,從而更準(zhǔn)確定位組群活動。
圖5 不同池化策略建模對比Fig.5 Comparison of different pooling strategies
1.3.2 分層LSTM對個人及組群行為的優(yōu)化
本文構(gòu)建的雙流CNN網(wǎng)絡(luò),不僅可以提取個人動作特征(密集光流特征),同時提取到的基于個人圖像周圍空間域的特征(RGB特征),也作為動作的判別信號之一。特征提取后,在每個時間步驟中,CNN網(wǎng)絡(luò)連接底層LSTM層用于提取個人的動作信息以及其動作中的時間變化的信息,其得到的輸出特征向量表示個人的時間活動特征。把同一組群場景中目標(biāo)人定義為x={x1,x2,…,xN},其中xi表示第i個人的特征信息,包括本文利用雙流深度學(xué)習(xí)網(wǎng)絡(luò)提到的外觀特征信息和動作信息;N為視頻中該組群中個人的數(shù)量;定義相應(yīng)的行為分類為y={y1,y2,…,yN},每個變量yi所對應(yīng)的標(biāo)簽集合為L={l1,…,lK},K為行為分類的數(shù)量,這里可以簡單地認(rèn)為x={x1,x2,…,xN},即為底層LSTM網(wǎng)絡(luò)對個人建模得到的特征向量,而后經(jīng)過Softmax分類層,實(shí)現(xiàn)對個人行為的初步預(yù)測。
使用ActionVLAD池化層聚合算法對時間T中場景里所有人的特征進(jìn)行聚類匯總。如式(1)所示,v表示該時間場景下組群行為的特征描述,應(yīng)數(shù)據(jù)集分類要求,本文在訓(xùn)練驗(yàn)證過程中,將聚類最多的分類特征作為組群特征描述,即v=max{f(V[·,k0],…,V[·,kn]),n∈K-1},K為行為分類的數(shù)量,x=f(x1,…,xn),即求特征最多的矩陣,假設(shè)n=2,將該組群劃分為3個類別團(tuán)體,同時n=1時聚類特征最多,則組群描述符v=V[·,k1]表示該組群行為。最后池化層的輸出作為頂層LSTM的輸入,聚合得到的特征向量用作組群行為的表示,判斷依據(jù)為場景中絕大多數(shù)人的行為即為組群的行為。在時間表示之上工作的頂層LSTM網(wǎng)絡(luò)直接連接到分類層,用于直接模擬組群活動的時間動態(tài),以便檢測視頻序列中的組活動類,如圖6所示。
圖6 分層LSTM建??蚣蹻ig.6 Hierarchical LSTM modeling framework
基于Collective Activity Dataset1數(shù)據(jù)集,實(shí)驗(yàn)硬件及軟件環(huán)境為:深度學(xué)習(xí)服務(wù)器使用Intel Core i7-5960X(主頻 3.0GHZ);圖形加速使用 Nvidia GPU(型號 GeForce GTX 1080 8G);Linux(Ubuntu 14.04)操作系統(tǒng)和Linux版本的MATLAB 2015b;編程語言包括Python腳本語言以及MATLAB編程語言。
為了驗(yàn)證本文模型的可行性,實(shí)驗(yàn)內(nèi)容如下:(1)簡要介紹CAD數(shù)據(jù)集;(2)闡述實(shí)驗(yàn)中網(wǎng)絡(luò)參數(shù)的配置與選擇;(3)為驗(yàn)證模型中ActionVLAD池化算法以及雙層LSTM的作用,設(shè)計了與3組Baseline方法的對比,其中Baseline1是在本文搭建的雙流深度學(xué)習(xí)網(wǎng)絡(luò)和雙層LSTM網(wǎng)絡(luò)基礎(chǔ)上,利用傳統(tǒng)的平均池化算法替代本文的ActionVLAD算法,Baseline2是在本文搭建的雙流網(wǎng)絡(luò)和底層LSTM網(wǎng)絡(luò)基礎(chǔ)上,剔除頂層的LSTM,Baseline3是在雙流網(wǎng)絡(luò)和頂層LSTM網(wǎng)絡(luò)基礎(chǔ)上,剔除底層的LSTM;(4)最后將本文模型與state-of-the-art方法進(jìn)行對比,同時進(jìn)行損失函數(shù)和精度的性能分析。
實(shí)驗(yàn)采用組群行為識別數(shù)據(jù)集(Collective activity dataset,CAD)。CAD是使用低分辨率的手持?jǐn)z像機(jī)獲取的44個視頻片段,此數(shù)據(jù)集有5種行為(Action)標(biāo)簽:Crossing,Queuing,Walking,Talking和Waiting;8種姿勢標(biāo)簽(實(shí)驗(yàn)中未使用);5種活動標(biāo)簽即每幀活動中N個人共同完成的場景標(biāo)簽:Crossing,Queuing,Walking,Talking和Waiting。每個人都有1個行為標(biāo)簽,每幀圖像都有1個場景活動標(biāo)簽,如圖7所示。
實(shí)驗(yàn)中,對于上述兩個數(shù)據(jù)集都是與文獻(xiàn)[14]的分裂方式,其中1/3用于測試,其余用于驗(yàn)證與測試。數(shù)據(jù)集中的K個Action需要進(jìn)行K組測試與計算,然后對得到的這K個測試結(jié)果求平均值,得到最終的平均識別精度。
2.2.1 網(wǎng)絡(luò)的配置
訓(xùn)練本文的模型大致分為2步:(1)使用由動作標(biāo)簽注釋的個人軌跡組成的RGB圖像和Dense_flow圖像作為訓(xùn)練數(shù)據(jù)以端到端的方式訓(xùn)練個人級CNN和第1 LSTM層。本文使用Caffe實(shí)現(xiàn)框架模型,借鑒文獻(xiàn)[7]設(shè)定網(wǎng)絡(luò)參數(shù),第1個LSTM層使用9個時間步長和3 000個隱藏節(jié)點(diǎn),使用預(yù)先訓(xùn)練的AlexNet網(wǎng)絡(luò)初始化CNN模型,并且為第1個LSTM層微調(diào)整個網(wǎng)絡(luò),提取到的雙流特征經(jīng)過前向特征融合形成個人級特征描述,并通過Softmax層進(jìn)行分類識別,得到個人級的行為預(yù)測;(2)對場景中的所有人特征進(jìn)行ActionVLAD池化聚類,送到第2層LSTM網(wǎng)絡(luò),該網(wǎng)絡(luò)由1個3 000節(jié)點(diǎn)的全連接層和9個時間步長的500個隱藏節(jié)點(diǎn)的節(jié)點(diǎn)LSTM層組成,用于添加組群幀間的聯(lián)系,最后將其傳遞給識別組群活動標(biāo)簽的Softmax層,得到最終的分類結(jié)果。
2.2.2 參數(shù)的選擇
在算法模型的參數(shù)訓(xùn)練過程中,初始學(xué)習(xí)率設(shè)定為0.000 1,每迭代20 000次減小0.1倍,最大迭代次數(shù)為500 000次,沖量(Momentum)設(shè)為0.9。因?yàn)樵谑褂肎aussian初始化方法對網(wǎng)絡(luò)進(jìn)行訓(xùn)練時,實(shí)驗(yàn)中由于兩個數(shù)據(jù)集在深度學(xué)習(xí)網(wǎng)絡(luò)中參數(shù)很難收斂,最終的損失(Loss)值非常大,因此,本文在卷積層和全連接層的初始化方式上分別選用MSRA和Xavier,替代了原始CNN中所使用的Gaussian初始化方式。第一階段的訓(xùn)練,本文采用Finetune的方式,在已經(jīng)訓(xùn)練好的模型參數(shù)基礎(chǔ)上,然后在所使用的數(shù)據(jù)集上進(jìn)行進(jìn)一步的參數(shù)優(yōu)化,這樣可以節(jié)省訓(xùn)練時間,使得網(wǎng)絡(luò)可以盡快地收斂,獲得最優(yōu)的實(shí)驗(yàn)結(jié)果。
圖7 CAD數(shù)據(jù)集Fig.7 CAD dataset
圖8 本文模型獲得的CAD數(shù)據(jù)集的混淆矩陣Fig.8 Confusion matrix for CAD dataset obtained by using the proposed model
2.3.1 本文模型實(shí)驗(yàn)結(jié)果分析
本文模型在CAD數(shù)據(jù)集獲得的混淆矩陣如圖8所示,觀察到本文模型實(shí)現(xiàn)了對組群行為識別,幾乎完美地用于說話和排隊類,但是在Crossing,Waiting和Walking之間混淆。這種情況可能是由于缺乏對該組中人們之間的空間關(guān)系的考慮,例如,Crossing類中涉及Walking類,但與Walking類最大的不同是人們以有序的方式在規(guī)定的道路中行進(jìn)。而本文模型只是為了學(xué)習(xí)組群活動的動態(tài)屬性,因此導(dǎo)致兩類動作混淆。
2.3.2 與Baseline和其他算法的識別精度對比
本文模型(Ours)在CAD數(shù)據(jù)集中各類活動的識別率高低以及與state-of-the-art和3組Baseline方法對比的結(jié)果如表1所示。表1中展示了多個組群行為識別模型在CAD數(shù)據(jù)集的平均識別準(zhǔn)確率,通過比較,可以看出本文模型的平均識別準(zhǔn)確率高于其他模型。CAD數(shù)據(jù)集包括組群活動Crossing,Queuing,Walking,Talking和Waiting,由于Waiting類的組群定義不明確,更偏向于單人行為識別,而不是組群行為識別,這是導(dǎo)致Waiting類識別率不高的主要原因;Walking類和Crossing類之間的唯一區(qū)別就是人與街道之間的關(guān)系,這是導(dǎo)致兩者識別精度較低的最主要因素。
表1 模型在CAD數(shù)據(jù)集上的平均識別準(zhǔn)確率以及與其他方法比較Tab.1 Average recognition accuracy of different models on CAD dataset %
在Waiting類中,本文模型與基線方法的識別率明顯低于文獻(xiàn)[15]方法,究其原因,本文沒有使用數(shù)據(jù)集自帶的單人姿勢標(biāo)簽信息。此外,CAD數(shù)據(jù)集采集來源與真實(shí)的社會場景,Waiting類總是伴隨著Crossing類和Walking類同時出現(xiàn),也是導(dǎo)致混淆預(yù)測的一個重要的因素。使用雙流深度學(xué)習(xí)網(wǎng)絡(luò)方法時序模型的識別結(jié)果高于傳統(tǒng)的基于RGB圖像特征的深度學(xué)習(xí)網(wǎng)絡(luò)[16]的方法,說明在特征提取過程中,多特征的融合在一定程度上可以提高識別精度;在個人級建模上升到組群級建模過程中,ActionVLAD池化聚類方法優(yōu)于最大池化方法。本文設(shè)定的Baseline1,Baseline2和Baseline3方法的識別精度低于本文模型,通過3種基線方法與本文模型的比較,可以得到ActionVLAD池化,很好地解決了個人到組群中聚類的問題;頂層LSTM(組群級LSTM)較底層LSTM(個人級LSTM)優(yōu)先級更高,同時驗(yàn)證了每一層LSTM對個人及組群行為建模的必要性。
2.3.3 損失函數(shù)性能分析
CAD數(shù)據(jù)集在訓(xùn)練和測試時的損失(Loss)和精度(Accuracy)曲線如圖9所示。由圖中可以看出,CAD數(shù)據(jù)集在本文模型訓(xùn)練過程中迭代5萬次的時候損失達(dá)到最低,且趨于穩(wěn)定;測試精度也在5萬以后接近穩(wěn)定。
圖9 CAD數(shù)據(jù)集的訓(xùn)練和測試曲線Fig.9 Training and test curves of CAD dataset
本文提出了一種多階段深層網(wǎng)絡(luò)結(jié)構(gòu)來處理組群活動識別問題。模型優(yōu)勢是通過兩個階段的過程學(xué)習(xí)了個人層級上的時間表示,利用ActionVLAD池化方法結(jié)合個體的表征來識別組群活動,并在CAD數(shù)據(jù)集上得到了較好的識別率;但是模型缺乏組群中人與人之間的空間聯(lián)系,導(dǎo)致部分分類結(jié)果混淆較為嚴(yán)重。在下一步研究中,將對CAD數(shù)據(jù)集中的個人位置和姿態(tài)信息進(jìn)行分析,加強(qiáng)人與人之間的聯(lián)系,從而提高識別率。