肖子凡,劉逸群,李楚溪,張 力,王守巖,肖 曉
1(復旦大學 工程與應用技術研究院 上海智能機器人工程技術研究中心,上海 200433)
2(計算神經科學與類腦智能教育部重點實驗室(復旦大學),上海 200433)
3(復旦大學 類腦智能科學與技術研究院,上海 200433)
4(復旦大學 計算機科學技術學院 上海市智能信息處理重點實驗室,上海 200433)
5(復旦大學 信息科學與工程學院 微納中心,上海 200433)
6(復旦大學 大數據學院,上海 200433)
計算機視覺是使用計算機及相關設備對生物視覺機制的一種模擬技術.在圖影資料劇烈增長的信息化時代,如何智能感知和解讀圖影,成為了計算機視覺領域重要的研究方向.其中,行為識別作為計算機視覺領域的一個重要應用分支,已在智能監控[1]、異常行為檢測[2]、人機交互[3]、視頻預測[4]、醫療健康[5]等眾多領域扮演著越來越重要的角色,具有十分廣闊的應用前景.
行為識別的實現方法可分為傳統的機器學習方法和深度學習方法.傳統的機器學習方法的優勢在于模型簡單、分類速度快,代表性的方法有iDT (improved dense trajectories)[6]算法,其使用改進的特征編碼方式來表征人體運動,但基于密集的流場運算會產生高維數據特征,這將大大增加存儲開銷.而近10年,基于神經網絡的深度學習方法憑借模擬人類神經元的傳遞原理、復雜網絡的設計、參數的反向傳播機制以及端到端的架構使其成為直接輸出結果的任意復雜函數逼近器,逐漸成為了視覺任務的主流方法,并且被證實比傳統機器學習方法更加強大和魯棒[7],深度學習算法從而也被廣泛運用到行為識別任務中.而基于神經網絡的行為識別主要分為兩個過程:特征表示與動作的感知及理解.
針對視頻行為識別任務,目前的深度學習方法可分為基于3D 卷積神經網絡(3D CNN)[8,9]、長短記憶單元(LSTM)[10–12]及雙流神經網絡(Two-Stream CNN)[13–16]的行為識別模型.其中3D CNN 可以捕獲時空特征,這意味著它可直接對視頻進行特征提取,因此具有較好的識別性能,但其需要訓練大量數據的同時也會產生較高的計算開銷.而LSTM 雖然具有處理時序數據的先天優勢,但其容易引起梯度消失且不能很好地學習時序之外的橫向信息,比如運動特征.Two-Stream CNN 最早由Karpathy 等人[14]提出,它通過擴展CNN 局部時空信息以達到時空域上的連通性,并通過分析額外的運動信息對CNN 預測性能的影響,從而選擇兩個輸入流進行不同分辨率特征的學習,通過融合多尺度時空信息從而提高了網絡的識別精度.與此同時,在基于視頻的輸入策略上,以往的密集采樣往往帶來較高的計算量且未能對長時程行為進行有效建模,而固定間距采樣的堆幀并不能保證特征信息的有效利用,從而不能有效提高網絡的泛化能力.
針對以上問題,本文首先在整體輸入上采取時間稀疏分組隨機采樣策略[17],從而保證有效信息的長時程覆蓋.同時創新性地提出基于時移(temporal shift,TS)[18]和片組注意力(split attention,SA)[19]模塊融合的輕量型時空雙流網絡模型(TS-SA Net).其中時移模塊可以讓模型在二維卷積的基礎上學習到時序特征,片組注意力機制則用于幫助網絡“聚焦”有效區域,從而產生更具分辨性的特征,提高網絡的行為識別能力.目前我們在UCF101、HMDB51 上分別取得了95.00%和72.55%的識別精度.
行為識別任務的本質是分類(classification)問題,即給定一個待識別的樣本xq和包含Dg{xig∈Dg|i=1,2,3,···,Dg}個樣本的數據集,算法需要依據數據集學習不同行為類別的標識特征,從而將待識別樣本與映射空間做高維距離計算,并將其歸納入與之特征差異最小的類族中.
在本文提出的雙流TS-SA網絡中,針對待處理視頻集VData={V1,V2,···,VM}中,我們將每一視頻V(采樣后)逐幀輸入TS-SA 網絡,假設幀輸入為Iqp∈VData,q∈{1,2,···,M},p∈{1,2,···,N},其中N為單個視頻所含中圖片序列數目.如圖1所示,基于TS-SA 網絡的行為識別過程可形式化為:F(Iqp,W)W

其中,是參數為的卷積函數,為每一輸入幀I產生片段級類別得分.G為片段聚合函數,用于整合各片段的判決分數并得到視頻唯一的類別得分.當RGB網絡與光流(Flow)網絡各自產生視頻級的預測結果后,設計預測函數H來對整個視頻進行動作類別的概率預測,本文使用Softmax 函數.
對于深度神經網絡來說,數據集及數據的采樣對結果十分重要,其往往決定了網絡的學習質量與效率.在采樣策略上,雖然減少圖像序列的輸入能夠直接降低計算量,但這同時造成了行為內容本身的缺失,尤其無法對長時程行為進行完整建模.而密集的圖像序列輸入雖然能保證行為特征的完全捕獲,但大量的數據帶來了高額計算,使網絡緩慢笨重.而固定間隔的圖像采樣方法同樣存在有效信息遺失的問題.
我們意識到,對于包含特定行為的視頻來說,相鄰幀所包含的信息是高度重疊的,這為網絡非密集輸入條件下保持性能的穩定提供了事實基礎.基于此,本文在輸入策略上采用了稀疏分組隨機采樣方法.
如圖1所示,本文所提出的TS-SA Net 使用時間稀疏分組隨機采樣的視頻幀作為輸入.具體地,我們將視頻進行等間距地稀疏分離為N個片段,即Vi={S1,S2,···,SN},i∈{1,2,···,M}.對視頻片段SN進行隨機抽樣得到TN,則視頻Vi的輸入形式為{T1,T2,···,TN}.TS-SA 網絡的識別函數如式(2):

圖1 基于時移和片組注意力的雙流網絡(TS-SA Net)的結構
具體地,N個視頻片段間參數共享,使用標準分類交叉熵作為損失函數,如式(3):


其中,C為動作類別數,yi為屬于第i類的真實標簽,Gi為第i類的預測結果,由聚合函數g得出:

實驗中,我們試驗了多種不同的聚合函數g,發現平均融合的效果最優,具體可見第2.3 節.在使用多個片段共同優化網絡的過程中,利用反向傳播算法調整模型參數,如式(5):

具體實踐中使用隨機梯度下降(SGD)優化模型,設置稀疏分組數的超參N為8,保證了參數的優化是依據結合了所有采樣幀(視頻片段)的預測結果,利用非密集的數據輸入,從視頻層構建行為識別模型.
以SK-Net[20]為代表的多路徑(multi-path)注意力啟發自人腦皮質神經元根據不同的刺激可動態調節自身的感受野,是一種通過非線性地融合來不同分支下的核尺寸對應的特征來捕獲不同比例的目標對象的動態選擇注意機制.SE-Net[21]則通過重新定義通道間特征圖譜的關系來實現“特征重標定”,即對于不同通道的特征來說,加強有效信息的權重并壓縮無用信息的參與,它屬于一種通道層級的注意力機制——自適應地調整通道特征響應.前者在ResNeXt[22]的基礎上用不同分支對應的不同尺寸的卷積核減少計算量而維持性能不變,后者建立了通道層級的注意機制,可自適應地學習不同通道間的特征關系.在面對深度學習中大量的矢量計算時,基于多路徑和通道的注意機制都只在通道維度對權值進行了重分配,而未考慮特征圖譜內的關系響應,所以兩者的提升效果有限.
本文采用基于殘差塊(residual block)[23]的多路徑與特征注意結合的注意力映射方法,使得注意力得以跨特征圖譜運作,圖2展示的是一個片組注意力模塊.

圖2 片組注意力模塊
在RGB和光流分支網絡中,特征首先被分為幾個基組(cardinal),每一基組再劃分為若干片組(split)(詳細結構于圖2、圖3),K和R分別是基組數和片組數的超參,因此特征組的總數為G=KR,實驗中分別設置為K=2,R=4.我們對不同特征圖組采用不同的學習函數 {F1,F2,···,FG},則每一組的學習特征可表示為Ui=Fi(X),i∈{1,2,···,G},其中Fi為1×1 卷積和3×3 卷積的組合,如圖2所示.
具體地,每個基組的映射算法設計為多個片組的元素(element-wise)加和結果,因此第k個基組的表達如式(6):

在每個基組中,首先通過跨越空間維度的全局平均池化可以收集全局上下文信息,如圖3.設sk∈RC/K表示第k個基組的全局平均池化結果,skc為基組中第c(c=C/K) 個分量,skc的計算公式如式(7):


圖3 基組內的片組注意力模塊
設Vk∈RH×W×C/K為第k個基于通道的軟注意力來聚合的基組特征表示,其中每個分量由片組特征加權組合得到,如式(8)所示,Vck為第k個基組的第c個通道分量的表達:

其中,αki(c) 表示經過Softmax 后所得權重,算法如式(9):

其中,權重映射函數 G為兩個全連接層及一個ReLU 激活函數(結構見圖3),Gci則通過全局平均池化結果sk,為基組內每個片組生成映射權重,從而生成第c個通道分量的表達.
最后,我們使用整合函數得到分塊中加入了片組注意力映射的整體特征表達:

借鑒ResNet的恒等映射機制,最終分塊輸出為Y:

其中,T 用于統一殘差模塊的輸出形式,降低計算成本的同時能增強注意力映射的表達.在行為識別中,有效的特征學習是獲得高準確率的前提.通過多路徑和恒等映射模塊,片組注意力機制能有效學習特征圖層級的注意表達.實驗表明,片組注意力機制可大幅度提高網絡的學習能力,從而顯著地提升了行為識別的準確率.
對于視頻分類任務,傳統的2D CNNs 由于被設計適應基于二維圖形的抽象學習,因此無法做到對視頻(行為)進行時空建模.3D CNNs 雖然可以直接對視頻進行時空建模,但其對硬件的計算能力要求較高,效率較低.
為了能在不增加計算量的前提下提高網絡對時空信息的建模能力,我們在基于時間稀疏分組隨機采樣策略的雙流網絡中加入時移模塊(temporal shift module).以基于瓶頸結構的ResNet為例,我們在每個殘差塊中插入時移模塊,如圖4所示.
在基于圖像特征的抽取與傳遞過程中,網絡中的特征圖譜通常可以表達為A∈RN×C×T×H×W,其中N為批處理大小,C為通道數,T代表時間維度,H和W則表征空間分辨率.假設批處理大小為1,在時間維度上,代表不同時刻的向量用不同的顏色表示,如圖4所示.我們在通道維度上對特征進行反向移動,這同時也表現為在時間維度上進行錯位,這使得相鄰幀的信息與當前幀混合在了一起.
在特征抽取過程中,時移相當于將卷積分為數據移動和計算兩步.如在1D 卷積過程中,設X為一維向量,W=(w1,w2,w3)為卷積參數,則卷積過程可表示為:

時移操作相當于把式(12)分解為兩步:
1)平移置換:

2)乘積累加運算:

由于行為分析涉及視頻幀(二維圖像),我們把時移模塊應用到了2D 卷積中,可以看出時移模塊相較原始模型不會額外增加計算開銷.在平移置換的具體實踐中,我們將前 1/16 通道下的特征上移一個步長(+1),隨后的1/16 通道則進行下移(-1),剩余通道不移動(0),移空的位置用0 填充.平移置換相當于在當前幀的特征圖譜中用前后幀的信息進行小范圍替換,即每一幀均融合了其前一幀和后一幀的部分特征(邊界除外).
實驗表明,大幅增加平移時的通道比例以增加當前幀中混合的前后幀的特征信息不會提高網絡的時序建模能力,相反會損害網絡性能.這是由于過多的置換會損害當前幀的正常信息表達,過度的信息交叉對網絡學習造成了負面干擾.同時我們也擴展研究了時移模塊的一些變體,實踐發現,過大的平移幅度如上下移動兩個步長(+2、-2)難以幫助網絡優化,將特征圖譜以相同比例在所有時刻上進行置換也無益于性能提升.基于本文實驗,上下平移 1/16的通道來進行時序特征的引入,能在不增加計算量的前提下提高網絡的時空建模能力.詳細實驗數據可見第2 節.
實驗環境為PyTorch 1.4.0,顯卡設備為Tesla V100-SXM2 (顯存為32 GB),處理器設備為英特爾至強4110 (2.1 GHz,8 核),操作系統為CentOS 7.5.1804.
為了說明算法的有效性和魯棒性,實驗數據集包括UCF101 數據集[16]和HMDB51 數據集[24].其中UCF101 共包含101 類的13 320 個主要內容為人類體育運動的短視頻;HMDB51 則主要來源于網站視頻或電影,共有51 類人體行為的6 849 個視頻.對于這兩個公共數據集,本文均使用其官方提供的劃分方式 (Split 1)作為訓練計劃,訓練集和驗證集的比例分別為2.5:1(9537:3783)和2.3:1 (3570:1530).
在數據預處理階段,抽取RGB 圖像和光流圖像作為空域和時域特征輸入,同時將數據以多位點隨機剪裁的方式(并調整至 2 24×224),結合隨機水平翻轉(概率為0.5)進行數據增強.
在訓練過程中,采用標準交叉熵損失的學習策略,在總數為50 次的迭代中設置前20 輪的學習率為0.001,在第20和40 輪分別降為原來的0.1 倍,批處理大小為90,動量為0.9,分組采樣數為8,權重衰減為5e-4,Dropout 參數為0.8,使用隨機梯度下降(SGD)對模型參數進行更新.
在測試階段,統一在全像素圖像上進行左中右方式剪裁以增強測試數據.并以1:1.5的比例擬合RGB網絡和光流網絡的判別分數作為雙流TS-SA 網絡的最終結果.
各經典算法準確率對比如表1所示,表1中UCF101與HMDB51 數據集下的除本文方法外的數據(準確率)均來自于Wang 等人[17]的實驗.從表1中可以看出,iDT[6]結合Fisher Vector 作為最好的傳統特征抽取方法之一效果明顯,但在UCF101和HMDB51 上的識別精度可看出其與深度學習方法尚有差距.Two-Stream[15]作為經典的原始雙流網絡,在兩個數據集上的識別效果提升明顯.C3D[9]作為更適合學習時空特征的代表網絡并沒有在精度上超過Two-Stream,推測是由于單一地使用RGB 圖像還不能夠很好地對外觀和運動特征進行統一建模.

表1 各算法性能對比
在視頻級計算量(FLOPs)上,均以批處理大小為1,視頻幀數為50,分組采樣數為8為前提進行RGB 網絡計算量統計.本文算法在視頻級計算量上由于時間稀疏分組隨機采樣策略優勢明顯.因時移模塊與分組注意力模塊的加入,模型在參數量上對比原始的網絡有小幅增加,但考慮到模型性能的提升與整體計算量的下降,本文算法依舊具有較強優勢.
為了進一步驗證本文提出的策略的優勢及有效性,本文針對算法策略、片段聚合方式以及主干網絡的差異進行了消融實驗.
為了驗證與分析第1 章中算法策略的有效性及相對重要性,實驗采用ResNet-50為主干網絡,在兩個數據集上對比了時間稀疏分組隨機采樣策略(表2中簡寫為STGRS)、片組注意力模塊(表2中簡寫為SA)、時移模塊(表2中簡寫為TS)及其組合的準確率,具體見表2.
由表2可知,對比密集采樣策略,時間稀疏分組隨機采樣策略的優勢明顯,在不增加計算量的同時成功對行為進行了長時程建模,在UCF101、HMDB51 數據集上分別提升了5.89%和3.33%的識別精度.
在分組策略的基礎上,分別只添加時移模塊和注意力模塊,由表2可見兩種策略在3 個數據集上均能展現出對網絡學習性能的優化.其中片組注意力模塊加入的結果令人矚目,在UCF101、HMDB51 數據集上的識別精度分別提升了6.40%、1.93%,這說明多路徑和特征圖譜注意結合的片組注意力機制能在網絡中強化學習時的重要特征.

表2 算法策略識別精度對比 (%)
單獨添加時移模塊較單獨增加片組注意力模塊的提升較低,但時移模塊與片組注意力模塊的組合在3 個數據集上分別提升了6.86%和2.19%,說明兩種策略的組合能最優化雙流網絡的識別性能.
接著,文章試驗了片段間不同融合方式對結果的影響.如表3所示,實驗依次比較了最大值融合、平均融合及加權平均融合對精度的影響.由于平均融合綜合考慮了不同時序處的信息,效果最佳.

表3 不同融合方式對識別精度的影響 (%)
最后,由于不同的網絡有著不同的學習能力,一般情況下,網絡越深或越復雜,意味著其載體容量越大,所以學習能力越強.本文對比了不同主干網絡下基于兩個數據集的識別性能,結果如表4所示.

表4 不同融合方式對識別精度的影響 (%)
由表4可知,在保證片段采樣數、批處理大小等可控超參數一致的條件下,本文提出的基于ResNet-50的TA-SA 網絡以更輕量的網絡結構超過了使用分組卷積改進了的ResNeXt-101[22]網絡和融合了壓縮與激勵(squeeze and excitation,SE)模塊[21]的SE-ResNet-101 網絡,充分說明本文算法可以在行為識別任務中實現高效、快速、高準確率的識別效果.
本文提出了基于時移和片組注意力融合的時間分組雙流深度網絡并全面評估了各個模塊及其組合的性能.實驗結果表明,對視頻數據進行時間稀疏分組隨機采樣策略能對行為內容進行長時程高效建模,且時移模塊和片組注意力機制的組合能有效捕獲時空特征,提升網絡泛化性能.相較目前多數行為識別算法,本文算法在公共數據集中被證明更具有普適性和魯棒性.為了進一步提高算法的識別性能,今后還可從更高效的主干網絡優化及多模態特征融合的方向進行深入研究.