曾慶喜, 彭 輝
(成都信息工程大學軟件工程學院,四川 成都 610225)
近年來,隨著計算機視覺技術的不斷發展,人體行為識別已成為研究熱點,在視頻分類、視頻監控、無人駕駛、人機交互等領域都具有廣闊的應用前景[1]。人體行為是發生在特定時空的事件,行為特征不僅具有空間性,也具有時間性,如何有效地描述時空特征是行為識別問題的關鍵?;诰矸e神經網絡(CNN)在圖像特征提取和循環神經網絡(RNN)在處理時序問題有突出成果,研究者對行為識別任務提出了很多研究思路和方法。
Simonyan K等[2]利用人體行為具有時空信息的特點,設計了一種時空雙流卷積神經網絡,在空間流和時間流上使用單獨的二維卷積神經網絡提取特征,最后通過SVM分類器進行分類。Wang等[3]通過對視頻分段和稀疏采樣,提出一種時間片段TSN網絡。Tran D等[4]提出C3D網絡,使用三維卷積和三維池化直接處理輸入的人體行為視頻,該模型耗費的時空資源較多,訓練難度較大。Donahue J等[5]通過結合卷積神經網絡和循環神經網絡變體長短時記憶模型(LSTM)提出了長時循環卷積神經網絡(LRCN)。該方法先通過CNN提取行為特征,再通過一個LSTM網絡提取時序信息,最后,通過softmax分類,LRCN模型識別準確率與雙流網絡相比較低。Zhao等[6]將改進并結合注意力機制的CNN和RNN相結合解決動作識別任務,也取得了不錯的效果。
基于以上分析,在LRCN模型基礎上,提出一種基于ResNeXt-GRU和聚類采樣的人體行為識別方法。采用聚類算法思想改進視頻幀采樣方式,減少冗余數據輸入,提升方法效率。使用ResNeXt深度卷積神經網絡,加強人體行為空間特征提取的同時防止網絡退化。結合GRU網絡,進一步提取行為的時序性特征。利用Softmax分類器對人體行為進行分類。
設計的人體行為識別方法整體流程如圖1所示。方法共包含3部分,分別為聚類采樣、ResNeXt-GRU模塊、Softmax分類模塊。首先,將原始行為視頻經過提幀操作處理為圖像幀序列,再通過聚類采樣方法提取關鍵幀序列作為網絡的輸入。然后,使用ResNeXt-GRU網絡模型提取行為的時空特征。為避免出現過擬合的情況,在GRU層融入Dropout技術,以提高網絡的泛化能力和準確率。最后經過全連接層和Softmax分類器獲得視頻序列中行為的分類結果。

圖1 整體流程示意圖
聚類算法[7]是機器學習中常見的一種算法。對于一個樣本集,將其按照某種要求劃分,然后以滿足要求為目的不斷迭代優化。它可以根據樣本間的某種關系,優化樣本質量,減少網絡模型訓練樣本的規模,提高最終的模型效果。
由于行為視頻由連續的視頻幀組成,因此,研究者在對人體行為視頻特征提取前通常將視頻處理成圖像幀序列。但僅通過此操作處理后的視頻幀序列,圖像幀之間相似度很高,直接輸入后續網絡中進行訓練,不僅增加訓練時間,還影響最終的行為識別效果。因此,需要對圖像幀序列做進一步的采樣操作。LRCN網絡采用密集時間采樣方式獲取視頻幀序列,通過將視頻處理成圖像幀序列,再隨機獲取其中一段等長連續的圖像幀作為整段視頻的表示。經過該采樣方式獲取的圖像幀序列,幀間相似度高,不僅產生大量的冗余信息增加網絡的計算成本,也存在容易丟失行為視頻關鍵動作信息的風險。TSN網絡采用視頻分段和稀疏采樣方式對訓練樣本進行采樣,先將完整視頻進行分段,再從每段中選取一幀。相比LRCN網絡,雖然一定程度上刪減了冗余視頻幀,但對于一些動作變換頻繁的人體行為容易丟失關鍵幀。關鍵幀序列是視頻中最具代表性的圖像幀集合,該集合能夠歸結整段視頻的中心內容。為充分提取視頻中人體行為特征,本文基于聚類的方法對圖像幀采樣方式進行相應的改進。通過以圖像幀間的相似度量為聚類標準,獲取能夠更好表示視頻內容的視頻關鍵幀序列作為網絡的輸入。實現步驟:(1)對視頻進行幀采樣為圖像幀序列,并將圖像幀的顏色空間由RGB轉為HSV,獲取每幀圖像的HSV直方圖。(2)設置相似度閾值,以第一幀圖像為初始聚類中心。(3)計算下一幀和每一個聚類中心的相似度,獲取最大值。若小于閾值則自成一類;反之,加入此類,并重新計算聚類中心。重復此過程,直到取完所有幀。(4)計算每個類中圖像幀與聚類中心的相似度,獲取相似度最高的圖像幀序號,按序輸出對應的圖像幀,并保存作為視頻關鍵幀。本文關鍵幀提取的算法流程如圖2所示。行為視頻在經過關鍵幀算法提取后所得到的為該視頻的所有關鍵幀,但由于每個視頻的長度和內容復雜情況不一致,最后得出的關鍵幀的數量也不同。本文固定長度為k的關鍵幀序列的取法為如果該視頻的關鍵幀序列幀數少于k,則取最后一幀補充;反之,在0到該關鍵幀序列總幀數M與k的差值間取一個整數,然后將這個整數作為片段的起始幀數并往后取連續的k幀作為選定好的片段。為驗證聚類采樣方法的性能,從數據集中任選一個視頻,對其進行聚類采樣操作,圖3為一打籃球行為原始視頻的全部圖像幀,圖4為該視頻經過基于聚類的關鍵幀提取算法后所得的全部圖像幀。通過對比圖3和圖4可知,視頻幀序列在經過聚類采樣操作后,序列中相似度高的數據樣本得到了刪減,一定程度上減少了數據規模,而保留下來的視頻幀也能很好地表示視頻中的人體行為。因此,通過對訓練樣本進行聚類采樣處理,在保證樣本集數據質量的同時,減少了數據規模,為后續網絡的訓練奠定了基礎。

圖2 關鍵幀提取算法流程圖

圖3 原始視頻全部圖像幀

圖4 關鍵幀提取后視頻全部圖像幀
人體行為識別的前提是能夠提取行為中的有效特征。由于卷積神經網[8](convolutional neural network,CNN)在圖像識別任務中有很好的效果,研究者開始將卷積神經網絡應用到行為識別任務中。利用CNN進行圖像識別任務時,只需將圖像直接輸入到網絡模型中,省略了傳統算法中的人工特征提取過程,降低了模型處理復雜度。與全連接神經網絡的不同之處在于,CNN利用多層神經網絡和圖像局部性的優點減少了大量參數,提高了模型訓練速度。常見的卷積神經網絡模型有 GoogLeNet、AlexNet、VGGNet等。 因此,文中同樣將經過聚類采樣后的訓練樣本先輸入到卷積網絡中提取人體行為的空間特征。
由Donhue等提出的LRCN模型采用的是AlexNet網絡來提取人體行為的空間特征,該網絡主要由卷積層和池化層交替組成,網絡結構簡單,無法充分學習人體行為特征,且對復雜的人體行為識別效果不佳。為提高模型準確率,通常使用加深網絡層數或拓寬網絡寬度的方式。然而普通網絡結構的疊加與拓寬,不僅容易導致網絡退化,而且網絡模型的參數也會大量增加。2017年,Xie等[9]提出了ResNeXt網絡,它在Res-Net[10]網絡的基礎上集成了VGGNet網絡堆疊和Inception網絡拆分-轉換-合并的思想,不僅能夠解決網絡退化問題,而且可以在不增加參數數量的前提下提高網絡性能。因此,本文將ResNeXt網絡作為提取人體行為空間特征的基礎網絡。ResNeXt在ResNet網絡的基礎上優化而來。它的其中一個基本模塊結構如圖5所示,保留了ResNet中堆疊的Block,不同之處在于ResNeXt將單個路徑進行拆分,每個路徑都為相同的拓撲結構,在每個拓撲結構都經過降維-變換-升維操作后再進行求和匯總。可用式(1)表示。

圖5 ResNeXt基本結構圖

式中,X表示輸入;Y表示函數輸出;Ti為相同的拓撲結構;C為基數,表示一個模塊中所具有的相同分支的數量,可以為任意數。實驗表明,增加基數是獲得精度的一種更有效的方法,文中C的取值為32。
人體行為視頻具有時間屬性,視頻中的行為動作之間也往往具有一定的關聯性。通過卷積神經網絡雖然能夠提取視頻圖像幀中的有效特征,但無法挖掘各圖像幀間的時空上下文信息。為充分利用視頻的時間維度信息,學習信息之間的依賴關系,本文在方法中加入GRU[11]網絡,提取視頻中人體行為的時序特征。
GRU是LRCN模型中LSTM網絡的一種變體,功能與LSTM相同,但其結構更加清晰簡潔,沒有冗余結構。更少的參數也讓其更不容易產生過擬合現象。GRU網絡模型單元結構如圖6所示,主要包括一個更新門和一個重置門。其中,Rt是t時刻的重置門,用于決定是否忘記之前的計算狀態;Zt是t時刻的更新門,用于控制將歷史信息帶入候選狀態的程度。

圖6 GRU結構圖
GRU結構的計算公式如下:

式中,Xt為當前t時刻的輸入,Ct為t時刻的候選狀態,Ht為t時刻隱藏層狀態,Ht-1為t時刻之前的隱藏層狀態,θ為sigmoid邏輯函數,作為更新門和重置門的激活函數,tanh為候選狀態的激活函數,⊙為點積操作,Wz、Wr、Wc、Vz、Vr、Vc為權重參數,bz、br、bc為偏差參數。
由于直接使用全連接層進行特征融合,會導致高層特征無法捕獲到空間特征在時域上的信息。因此本文使用GRU網絡對CNN最后一層輸出的卷積特征進行融合以獲取CNN輸出特征的上下文信息。
行為識別本質上是一個多分類問題,文中當輸入一個行為視頻到網絡后,需要判別視頻中的內容屬于N種行為中的哪一種。因此,在經過ResNeXt-GRU網絡模型提取視頻中人體行為時空特征后,再通過全連接層對所有輸入值進行平均操作,最后使用Softmax分類器對所提取特征數據進行處理,進而完成人體行為的識別。Softmax函數的定義式為

式中,Sj為分類器前的全連接層的輸出,j表示類別序號,N為總類別個數。
2.1.1 數據集分析
本文在UCF101和HMDB51兩個主流人體行為視頻數據集上進行實驗。UCF101數據集是從YouTube網站上收集而來的,共包含13320個人體行為視頻片段,每個視頻片段持續3~10 s,平均為100~300幀,分辨率為320×240。它包括101個動作類,每類動作均由25人完成,每人做4~7組,其部分動作視頻圖像幀如圖7所示。HDMB51數據集共有51種類別,包含6799個視頻片段。每個動作至少包含51個視頻,分辨率為320×240,來自于YouTube,Google視頻等,包含單人行為、面部表情和操縱對象行為、人與人交互的行為、人與物交互等類別。部分動作視頻圖像幀如圖8所示。

圖7 UCF101數據集圖像幀展示

圖8 HMDB51數據集圖像幀展示
2.1.2 數據集處理
實驗選取每個數據集的80%作為訓練集,20%作為測試集,并將訓練集和測試集按官方提供的方式劃分成3組。針對數據集中的行為視頻,首先將視頻處理成圖像幀序列,然后通過上文所提的聚類采樣方法獲取k幀圖像序列,最后對長度為k的幀序列做以下同樣的數據處理操作。具體操作:(1)為滿足網絡的輸入大小,將圖像幀分辨率由320×240處理為224×224。(2)對訓練集內的幀序列在空間上做上下左右的隨機翻轉,擴充數據的多樣性。(3)為加快網絡的訓練和收斂,對幀序列進行歸一化操作。
2.1.3 評價指標
為能對所提方法的表現進行評估和比較,本文使用基礎的分類Top-1準確率作為評判標準來評估方法的準確程度,如式(4)所示。

式中,n為分類準確的樣本數,N為總樣本數。
實驗環境基于Window10系統,Interl(R)Xeon(R)CPU,內存64 G,顯卡為NVIDIA TITAN Xp。實驗所采用的深度學習框架為 Pytorch,集成開發環境是Pycharm。
采用ImageNet上預訓練的ResNeXt101模型對參數進行初始化,并使用隨機梯度下降法(SGD)對網絡進行訓練,網絡輸入的批量數據(batch-size)大小設置為16,動量設置為0.9,GRU中的dropout設為0.5,學習率設置為0.0015,共迭代120個周期,損失函數使用交叉熵損失函數。
2.3.1 網絡關鍵幀輸入數量k對識別結果的影響
網絡輸入數據的大小對網絡性能有重要影響,本文在將輸入數據進行聚類采樣后得到是每個視頻的關鍵幀序列,由于視頻內容的復雜情況不同,導致提取到的關鍵幀序列的長度也不一致。因此獲取k的合適取值對于實現良好的識別效果至關重要。本文根據數據集聚類采樣結果,將網絡輸入的關鍵幀序列長度k分別為5,10,15,20,25,30,并輸入到ResNext101-GRU網絡,在其他實驗條件一致前提下進行實驗,并統計識別的準確率,實驗結果如圖9所示隨著k值的增加,行為識別的準確率也隨之增加,當k為15時,識別效果最好。之后,隨著k值的繼續增加,準確率卻提高不大??紤]到輸入網絡的數據規模越大,不僅會增加網絡的計算負擔,而且效率變低。因此,本文最終確定k的為15。

圖9 不同k值下識別結果對比
2.3.2 數據采樣方式對識別結果的影響
不同的數據采樣方式獲得的訓練樣本存在一定的差異,影響著最終的識別結果。本文分別使用的3種數據采樣方式:密集時間采樣、視頻分段采樣、聚類采樣,對數據集UCF101中13000多個視頻均采樣15幀,然后輸入到ResNeXt101-GRU模型上進行實驗。實驗結果見表1可知,3種采樣方式中,訓練樣本采樣時間用時最少的是密集時間采樣方式,但識別效果卻最低。采樣時間用時最多的是聚類采樣,平均每個視頻所消耗的時間比視頻分段采樣方式只多了0.042 s,但識別效果最佳,平均準確率比密集時間采樣高4.4%,比視頻分段采樣方式高2.2%。實驗證明了聚類采樣方法的有效性。

表1 不同數據采樣方式對識別效果的影響
2.3.3 網絡模型深度對識別結果的影響
除了網絡輸入數據的規模和采樣方式,網絡模型的深度也同樣對識別結果有影響。在k為15的前提下,本文使用不同深度的空間特征提取網絡ResNeXt在數據集UCF101上進行實驗。實驗結果見表2可知,在15幀視頻關鍵幀輸入的ResNeXt-GRU模型中,隨著模型網絡層數的增加,網絡模型的表征能力加強,行為識別的準確率越來越高。然而增加網絡的層數,也會加大網絡模型的運算量和運行時間。因此,綜合考慮,本文確定ResNeXt101作為行為視頻空間特征提取的網絡模型。

表2 不同網絡模型深度對分類準確率的影響
2.3.4 本文方法與現有的主流方法的性能對比
基于以上實驗結果,通過聚類采樣操作獲取每個行為視頻的15幀關鍵幀序列,并輸入組合模型ResNeXt101-GRU中進行實驗,圖 10為該網絡在UCF101和HMDB兩種數據集上訓練時loss值的下降曲線。保存實驗結果,與現有主流方法在UCF101和HMDB51數據集上的平均識別率進行比較。實驗結果如表3所示,對于UCF-101數據集,本文所提出的模型相對于目前識別效果最好的傳統方法IDT[12]而言,準確率提高了7.8%;與基于雙流網絡的方法Twostream CNN和TSN網絡相比,準確率分別提高了5.7%和0.2%;相比基于三維卷積神經網絡的經典方法如C3D、P3D[13]、Res3D[14],本文方法行為識別的準確率更高;與基于LSTM的LRCN算法相比,準確率提高了9.8%;與蔣圣南等[15]提出的方法相比,雖然同樣使用了ResNeXt網絡,同樣僅輸入RGB圖像這一種模態數據下,本文方法的準確率提高了5.9%。與文獻[16]相比,模型結構與本文相似,都是結合CNN和RNN來識別人體行為,不同之處在于其使用三維卷積神經網絡提取行為空間特征,實驗結果表明,本文的準確率比其高0.08%。對于HMDB51數據集,識別效果雖然不如UCF101數據集,但同樣優于大部分方法。

圖10 訓練loss曲線圖

表3 不同方法在UCF101和HMDB51數據集上的識別準確率 單位:%
在LRCN模型的基礎上,提出一種基于ResNeXt-GRU的人體行為識別方法。利用聚類算法改進網絡輸入數據的采樣方式,減少冗余數據輸入,提高識別效果。同時使用 ResNeXt網絡結合具有記憶功能的GRU網絡,加強對視頻中人體行為時空特征的提取。通過各種實驗確定該方法最佳的輸入視頻幀數、采樣方式和網絡模型深度,在UCF101和HMDB51數據集上分別取得了93.7%和69.2%的準確率,與現有許多行為識別網絡相比,準確率更高,說明了本文方法的有效性和可比較性。