栗志磊,李 俊,施智平,姜 那,張永康
首都師范大學 信息工程學院,北京 100089
目前,基于深度學習的行為識別方法已經取得了比較優異的成果[1-4],但是隨著計算機應用技術的發展,為了達到可用的程度,對視頻理解精確度和效率的要求越來越高。如今,圖像分類任務的精度已經達到了飽和,應用也充斥著生活中的方方面面。不同于圖像分類任務,視頻行為識別多了一個時間維度,雖然圖像中的視覺外觀對于行為識別任務也非常重要,但是目前行為識別最大的瓶頸在于時序信息上的建模。時序建模一般又分為短期時序建模和長期時序建模,短期時序建模即通過較短時間內的幾個相鄰幀進行時序建模,而長期時序建模則注重于利用跨越在整個視頻幀序列的若干幀進行信息聚合和時序建模。在深度學習非常流行的現在,有一系列利用深度學習從長短期時序建模的角度出發的深度學習網絡[5-8]。然而,依然存在一系列問題,比如計算冗余度過高,或者不能很好地利用幀與幀之間的運動變化。
對于短期時序建模,目前常用的方法[2,9]是先利用幀序列上的時序信息提取光流[10],用光流來表示短期運動變化。然后將提取到的光流和幀序列分別送入一種雙流架構網絡,對提取的光流和幀序列分別處理,再合并兩條分支處理的結果后進行行為分類。使用光流將具有很大的計算代價,且計算后需要保存的光流文件也是一筆很大的存儲開銷。針對以上問題,提出了一種簡單有效的解決辦法,即運動增強模塊(motion enhancement module,MEM),在網絡中使用相鄰幀之間的RGB差異來表示運動特征的變化,避免使用光流進行短期時序建模。在此模塊中,通過相鄰幀的差異信息,獲取一系列的注意力參數,通過此參數來加強原始特征中和運動更加相關的特征,使網絡在輸出結果時更加關注運動主體的信息。
對于長期時序建模,首先比較常用的方法多基于3DCNN[11-12],在空間建模的同時在時序維度上進行建模,這種策略通過堆疊若干個3D卷積,隨著網絡的加深,可以對時序上較遠距離的幀進行建模。3D卷積雖然可以簡單地進行時序聚集,但是同樣存在著優化困難和計算量太大的問題,且時序建模和空間建模同時進行,也會對空間建模造成一定的不利影響。也有基于2DCNN為骨干的網絡,通過2DCNN對空間信息進行建模,在時序維度上采用簡單的池化策略去聚合幀序列[9,13],這種策略很容易導致時序信息的丟失或者混淆。針對以上問題,提出了一種不使用3DCNN,使用2DCNN的時序聚集模塊(temporal gathering model,TGM)進行長期的時序建模。本文的模塊TGM在網絡深層利用時序上移動部分通道的思想[14],來實現時序上的信息交換。
綜上所述,提出了一種基于2DCNN的行為識別網絡,且避免使用光流,其中主要包含運動增強模塊MEM和時序聚集模塊TGM,由于模塊的輕量化,它們可以簡單地插入到其他骨干網絡中,本文主要使用resnet[15]為骨干網絡。本文的貢獻可以歸納如下:
(1)提出運動增強模塊MEM,通過相鄰幀的差異信息來增強運動特征以進行短期時間建模。
(2)提出在網絡后期使用的時序聚集模塊TGM,通過在網絡的后期聚集時序上的信息來對特征進行長期時序建模。
(3)整合整個網絡的設計,并在HMDB51、UCF101、Something-Something V1數據集上進行了大量的實驗,驗證提出模塊的有效性。
隨著深度學習方法的發展,在基于圖像的識別任務上深度學習方法也取得了巨大的成功,一些學者開始考慮是否可以在視頻識別的領域也使用深度學習的方法[16-17]。發展到如今主要分為如下幾種方法:(1)基于雙流的方法[2,9],通過提前計算好的光流信息和原始幀序列分別送入雙流網絡并提取空間特征和運動特征,最后根據提取的兩種特征進行行為分類。這類方法往往僅考慮到短期時序建模,難以進行時序聚集。(2)基于3DCNN的方法[9,18-20],這類方法將通常的2D卷積擴展到3D,添加時間維度,在對幀序列進行空間建模的同時進行時序建模。(3)使用LSTM[21]的方法,這類方法通常使用2DCNN提取空間特征,然后再用LSTM對提取的特征進行時序聚合。(4)基于骨架信息的方法[22],這類方法先是提取運動主體的骨架信息,再根據骨架信息進行行為分類。(5)基于2DCNN的方法[13,23],這類方法區別于其他方法,主要通過傳統的2D卷積獲取特征以及分類。相對于3D卷積同時處理三個維度,因為2D卷積在處理特征時一般只處理空間的兩個維度,所以2D網絡計算復雜度明顯優于3D網絡。最近,因為追求輕量級框架,基于2DCNN的方法變得熱門起來,首先是TSN[9]中提出直接將幀序列輸入到網絡中,提取特征的過程中沒有時序上的交互,最后進行分類時再將所有提取的特征通過時序上的平均池化來總結時序信息。然后是TSM[14],TSM使用簡單的方法解決了2DCNN難以進行時序聚集的問題,它通過在時序上移動部分通道來進行幀序列之間的信息交換,以讓2DCNN網絡擁有時序建模的能力。再就是TEI[24],它之中的TIM方法繼承TSM的思想,使用1D卷積來實現時序通道移位的思想。TAM[25]通過時序上的信息來生成時序上通道融合的權重,這樣就可以使權重不再固定,不同的視頻采用不同的融合策略。后續也有部分工作[26-27]在通道移位策略的基礎上設計新的工作,本文的工作也是受到時序上通道移位策略的啟發,提出了新的時序聚集方法。在內容識別領域,注意力機制廣泛地應用于各種深度學習任務上,其主要思想就是通過學習到的注意力權重來增強特征中的部分信息,使網絡能夠更加關注有用的信息,這種方法僅使用很少的額外參數就能夠讓網絡得到不錯的性能提升。首先是SENet[28],它通過本身特征中通道之間的關系來學習一組通道注意力權重,通過這組權重來加強原始特征中更加重要的通道。然后是Coordinate Attention[29],它在SENet通道注意力的基礎上精確到了空間的兩個方向上,生成一對方向感知的注意力圖。本文的方法也利用到了注意力機制,與這些方法不同,利用相鄰幀的差異信息所表示的運動特征來增強原始特征中的運動敏感特征,很好地加強了網絡通過時序信息對運動特征的建模能力。
在本章中將詳細地介紹網絡結構設計和模塊設計。網絡總體結構如圖1所示,總體以resnet50做為骨干網絡,圖中7×7 conv為resnet50中的7×7 2D卷積,layer1、2、3、4皆為若干個改進之后的殘差塊的堆疊。在輸入的處理上,使用TSN[9]提出的幀序列稀疏采樣的策略,具體做法就是將視頻分為T段,再從每段中隨機取一幀,將稀疏采樣后的幀序列做為網絡的輸入。在網絡的全部resnet殘差塊中,插入運動增強模塊MEM,通過相鄰幀之間的特征差異來強化本地的運動特征。然后在網絡的layer3、4中,、在resnet殘差塊中相應位置插入時序聚集模塊TGM,如圖1下方所示。因為幀序列的每一幀中都對時序信息進行了建模,網絡在最后會為每一幀都給出一個預測結果,然后再對每幀得出的結果做一個平均,得出最終分類結果。

圖1 基于2DCNN的時序建模網絡框架Fig.1 Temporal modeling network framework based on 2DCNN
MEM模塊的結構如圖2左所示。在原始的視頻幀序列中,相鄰幀的差異很小,如果將所有幀都輸入到網絡中,將產生十分大的計算量,性能十分低下,所以采用稀疏采樣的策略,這樣做是有道理的,就像在看連環畫時,雖然相鄰畫的差距比較大,但是依然能夠看懂連環畫的內容。為了能夠讓幀序列除了能捕獲外觀信息外也能夠捕獲本地的運動信息,通過相鄰幀之間的差異信息來增強本地的運動相關信息,讓網絡能夠了解空間信息中的哪部分會產生運動。模塊的輸入為幀序列特征X,它的維度形狀是[N,T,C,H,W],其中N就是一次同時處理的視頻數量,T為稀疏采樣后幀序列的尺寸,C為特征通道,H和W分別為每幀的長和寬。首先特征會經過一個1×1的2D卷積:

圖2 運動增強模塊MEM和Coordinate Attention結構圖Fig.2 Motion enhancement module(MEM)and coordinate attention structure diagram

其中,Convred為1×1 2D卷積,這里的功能是通道數下采樣,減少后續計算量。a為縮小的倍數,根據通常的經驗,將其設置為16,Xa為通道下采樣后的特征。
特征X經過通道下采樣后,將時序上的幀序列特征分為T和T+1,進行幀間差,在做差前會在T+1的特征上使用3×3的分組卷積,使用單通道卷積核對每個通道單獨處理,對特征進行空間平滑后再與原特征做減法,具體的公式如下所示:

其中,Convenev表示單通道卷積,用于空間平滑。Xta[1:]表示特征Xa的第二幀到最后一幀,Xta[:-1]表示特征Xa的第一幀到倒數第二幀。D表示完成相減后的幀間差特征。
在得到幀間差異所表示的的特征后,將特征分別在H和W上使用平均池化策略,在空間的兩個方向上聚集時空信息:

其中,AvgpoolH為在H方向上做平均池化操作,AvgpoolW為在W方向上做平均池化操作,DW為在H方向總結了空間信息的特征,DH為在W方向總結了空間信息的特征。
然后將兩個方向上的特征使用1×1卷積恢復到原來的通道數,再使用sigmoid激活函數將輸出控制在[0,1]之間,作為最終的注意力系數:

其中,Convincr為1×1輸出通道數為C的卷積操作,AW∈RN×T×C×1×W和AH∈RN×T×C×H×1為最終得到的兩個方向上的注意力系數,μ為設置的超參,這里根據經驗,設置為0.5。
最后將得到的注意力系數作用在原始特征上,以加強運動相關特征:

通過相乘再相加的方式可以很好地激活原始特征中的運動特征,讓網絡能夠更加關注運動相關特征而非背景特征,之所以沒有采用直接相乘的方式,是因為直接相乘的方式會讓特征只保留運動相關信息,而忽略背景信息,對于行為識別,背景特征同樣也非常的重要,例如上樓梯這種行為,背景同樣是至關重要的信息。
運動特征增強模塊MEM以幀與幀之間的信息差異來獲取運動相關的注意力系數,獲取的方式參考自Coordinate Attention[29],它的主要結構如圖2右所示,它在原始特征上分別沿兩個空間方向通過空間池化聚合特征,然后使用兩個1×1 2D卷積,分別進行通道下采樣和通道上采樣兩個變換來學習注意力系數。它將注意力系數分為空間的兩個方向,允許注意力模塊捕捉到沿著一個空間方向的長期依賴關系,并保存沿著另一個空間方向的精確位置信息,這有助于網絡更準確地定位感興趣的目標得到一對方向感知的特征圖。與它不同的是,首先輸入上多一個維度T,將通道下采樣操作放到模塊最開始的位置以減少后續的計算量,然后通過幀間差異所表示的運動相關信息來獲得原始特征中的運動相關注意力圖而非根據原始特征學習注意力圖,讓網絡能夠有效地定位原始特征中的運動相關特征,增強網絡的運動感知力。
雖然MEM模塊可以讓網絡能夠對本地段的運動信息進行建模,讓網絡能夠更加關注運動主體的相關信息,但是它不具備聚集時序上信息的能力,且MEM模塊在時序上的表示是非常有限的,不能探索更加遠程的時序信息。據此設計了TGM模塊,通過1×1的2D卷積來聚集時序信息,讓每一幀都具有觀察時序上其他幀的能力。
TGM模塊如圖3所示,圖中以采樣幀數T為4為例。首先將輸入的特征X中的T維度和C維度換維處理,以便后續的處理:

圖3 時序聚集模塊TGM結構圖Fig.3 Temporal gathering model(TGM)structure diagram

X∈RT×C×H×W為輸入特征,Xr∈RC×T×H×W為換維處理后的特征。
換維的主要目的就是想要在時序T上使用卷積來分通道的融合時序信息。然后將換維后的特征向量使用設置好的2D 1×1卷積在T維度上進行處理。因為2D卷積除了維度N以外,輸入維度數為3,且分別處理每幀將非常麻煩,為了處理方便,在實際操作中將T維度和C維度疊加在一起,然后把2D卷積設置為分組卷積,分為C組,以達到同時處理的效果,公式如下:

在使用2D卷積融合時序特征時,采用TSM的時序上通道移位的思想來初始化2D卷積的參數,讓2D卷積能夠完成時序上通道移位的效果。如圖3右所示,以T=4為例,每組卷積核有四個,將卷積核參數的初始化方式分為三種:
(1)后移卷積核組,將通道上的信息在時序上后移,將前1/8組卷積核的參數設置為后移的方式:

(2)前移卷積核組將通道上的信息在時序上前移,1/8到2/8的卷積核組設置為前移卷積核組:

(3)不移卷積核組,處理前后保持不變,剩余的所有卷積核組設置為不移卷積核組:

其中,W為2D卷積的參數,C為通道數,將2D卷積的卷積核分為了C組。因為這里以時序T=4為例,所以每個卷積核的參數有4個,每一豎排為一個卷積核的參數。
在進行了時序聚合之后,再將特征恢復到原來的維度形狀:

其中,Y為整個模塊的輸出。
如公式(14)所示,TSM直接采用固定不可學習的策略,即規定一部分通道在時序上左移,一部分右移,一部分保留,實現方法也較為簡單,通過一次移動操作,可以獲取相鄰上下幀的信息,所以時序感受野為相鄰幀。時序聚集模塊TGM以TSM的思想為基礎從不可學習的時序上通道移位策略到利用2D卷積在時序上處理信息,變為可學習的時序上通道融合,時序感受野也從原來的局部變成了全局,獲取相鄰幀信息的同時,通過參數的學習,可以選擇性地獲取較遠距離幀的信息,且采用這種初始化方式可以在保留原始特征的基礎上去融合時序上的信息,避免了對原始特征空間建模的破壞。且TGM模塊的核心是一個1×1的2D分組卷積,具有低計算開銷的特點,保證了網絡的輕量性。在后續實驗章節將證明TGM模塊的有效性。

這里的X∈RH×W×T×C和Y∈RH×W×T×C分別表示TSM模塊的輸入和輸出。
使用數據集是驗證深度學習方法的常規手段。在UCF101[30]、HMDB51[31]和Something-Something V1[32]三個行為識別數據集上評估本文的模型,驗證其有效性。其中UCF101包含101個人類行為類別,13 320個從互聯網上收集然后標記好的視頻剪輯。HMDB51從各種來源中提取,包括電影和在線視頻,它包含6 766個視頻,其中有51個行為類別。Something-Something V1數據集是個比較大型的數據集,它帶有行為標簽,記錄了人類與日常生活中的一些物體之間的交互,動作的類別分為174類,一共有108 499個視頻剪輯片段,每個片段的時常都在2~6 s之間。這三個數據集都是當下行為識別任務中流行的數據集。
使用resnet50[15]做為骨干網絡,其中加入運動增強模塊MEM和時序聚集模塊TGM。在輸入上,遵循稀疏采樣策略,從原始幀序列分段提取8幀或者16幀,并采用與TSM相同的數據增強策略。先是把所有輸入的空間維度都調整為256×256,然后使用中心裁剪再次調整為224×224。在一塊內存為24 GB的GTX 3090顯卡上完成實驗,對于UCF101和HMDB51采用初始學習率為0.001,對于Something-Something V1,初始學習率為0.003,然后每經過一段時間,當精度達到飽和后,將學習率縮小10倍繼續訓練,經過三次縮小后再訓練10個循環停止訓練。
在HMDB51的第一個分割上稀疏采樣8幀做消融研究,實驗結果如表1所示,其中“—”代表不使用,“√”代表使用。因為使用的骨干網絡是resnet,可以很好地利用resnet在ImageNet數據集上訓練好的參數來獲得強大的空間建模能力。可以看到,僅使用骨干網絡時的精度為50.3%,在單獨加入MEM模塊或者TGM模塊后,精度分別提升到了53.5%和53.9%,相對于加入模塊前都有著一定的提升。這代表著MEM模塊在網絡中加強特征中的運動相關信息和TGM時序聚集方法都對行為識別有著一定的意義。將兩個模塊都加入到骨干網絡后,精度再此提升,提升了將近5%,說明兩個模塊作用互補,在空間建模以外,能夠通過時序信息進行運動特征的建模。

表1 不同的配置在HMDB51上使用8幀的評估結果Table 1 Evaluation results of different configurations on HMDB51 using 8 frames
如表2所示,在網絡的不同階段使用HMDB51數據集對TGM實施了詳細的實驗,可以看出,在網絡的后期使用時序聚集比在前期使用更加有效。在全部階段使用TGM精度為53.8%,而在layer3和layer4兩個階段使用時,精度就可以達到最佳的53.9%,考慮到TGM模塊時序感受野為全局,所以不需要大量地疊加TGM模塊,且在網絡的后期進行時序聚集的意義更大,選擇在layer3~4階段插入時序聚集模塊。

表2 TGM在不同階段的結果Table 2 Results of TGM at different stages
如表3所示,可以看到利用TSM中的時序通道移位思想去初始化TGM的參數與隨機初始化參數的方式對比,前者可以取得更高的精度,這里也同樣使用的是HMDB51數據集。正是在參數初始化上巧妙地利用到了TSM的思想,且取得了比TSM更加出色的效果。

表3 TGM不同初始化方式的結果Table 3 Results of different initialization methods of TGM
表4展示了本文的網絡在HMDB51和UCF101數據集上與TSM的對比結果,其中resnet代表只使用resnet網絡,在網絡提取特征的過程中不進行時序上的信息交互和運動建模,特征提取完成后在時序上做平均池化操作,然后得出最終結果。可以看到resnet的8幀結果和16幀結果差距很小,因為它沒有對時序信息進行建模,只考慮了空間信息,疊加再多幀,也只是通過背景信息進行行為分類。而TSM和本文網絡在使用16幀時對比8幀都有著一定的提升,且本文的方法效果更好,顯示出本文的網絡擁有更好的時序建模能力。

表4 本文網絡與TSM的對比結果Table 4 Results of proposed network compared to TSM
表5展示了本文方法在Something-Something V1數據集上與最新方法的比較,表中的第一欄顯示了部分不同實驗設置的方法,它們普遍用到了3DCNN,計算開銷顯著大于本文的模型。第二欄顯示了幾乎相同實驗配置下與其他方法的比較,都使用了2D resnet為主要骨干網絡,且將通過稀疏采樣后的幀序列做為輸入。可以看到本文的網絡的效果優于大多現有方法,證明了所提出模塊的有效性,為問題的解決提供了一種新的思路。

Table 5在Something V1上與其他方法的比較Table 5 Comparison with other methods on Something V1
表6顯示了網絡處理速度與TSM和一個3D網絡的對比,其中vid/s表示以稀疏采樣8幀,輸入尺寸224×224為例,每秒處理的視頻個數。可以看到I3D因為使用了3D網絡所以速度明顯慢于TSM和本文的網絡,若再使用光流則多出一個網絡來處理光流數據,速度又將慢出很多。可以看到本文網絡的處理速度略慢于TSM,但是精度要優于它。

表6 在Something V1上的處理速度對比Table 6 Comparison of processing speed on Something V1
為了更好地驗證所提出網絡運動建模的有效性,使用Grad-Cam[38]可視化網絡的效果,Grad-Cam可以顯示出網絡得出結果所關注的區域,以證明網絡的有效性。如圖4所示,第一行展示了撕裂物體動作的原始幀序列圖,第二行展示了本文網絡所關注的區域,可以看到所提出的方法讓網絡很好地關注到原始特征中運動相關的區域。

圖4 Grad-Cam可視化圖Fig.4 Grad-Cam visualization chart
本文針對2DCNN難以進行時序建模提出了解決的方法,主要用于視頻行為識別。選擇resnet為骨干網絡,其中插入本文的運動增強模塊MEM和時序聚集模塊TGM,MEM通過相鄰幀之間的差異信息來對本地的運動信息進行建模,讓網絡能夠更加注重于本地的運動信息而非背景。TGM模塊基于TSM的時序上通道移位思想實現了更好的時序聚集方法。且所提出的網絡避免使用計算代價比較大的光流和3DCNN,實現了高效的時序建模。在實驗章節通過消融實驗和與其他方法的對比來驗證了本文方法的有效性。