湯 強, 朱 煜, 鄭兵兵, 鄭 婕
(華東理工大學信息科學與工程學院,上海 200237)
近年來,隨著互聯網技術的發展和數碼設備的不斷普及,視頻數據呈爆發式增長,視頻智能分析成為當前計算機視覺領域的研究熱點,在人機交互系統、自動駕駛、視頻監控和城市安全系統等領域具有廣泛的應用。其中,動作檢測是視頻分析的主要任務和難點之一。動作檢測是在動作識別[1-2]的基礎上,對視頻中發生的動作分類后,進一步定位動作發生的空間位置及動作開始和結束的時間。
早期較為成功的動作檢測算法[3-5]主要是通過滑窗搜索法、特征表示以及SVM 等方法來實現。后來,受到動作識別中密集軌跡(Dense Trajectories,DT)算法的啟發,研究者們開始使用DT 算法在時間維度上進行動作定位[6-7]。Van 等[8]進一步將DT 算法從時序動作檢測擴展至時空動作檢測,取得了一些進展。但這些早期的方法主要通過人工設計特征,泛化能力和整體性能都較為有限。
隨著深度學習在目標檢測領域的廣泛應用,一些研究者認為動作檢測和目標檢測具有一定的相似性,所以嘗試將Faster-RCNN 和SSD 等目標檢測網絡遷移到動作檢測任務中。同時,由于雙流卷積神經網絡能有效結合視頻的空間和時序信息,在動作識別任務中具有優異的性能,目前許多動作檢測網絡也沿用雙流網絡的框架形式。其中,Peng 等[9]將Faster-RCNN 和雙流網絡結合,提出了基于Faster-RCNN 的端到端雙流動作檢測網絡。使用Faster-RCNN 對視頻中的每一幀RGB 圖像和光流圖進行目標檢測,然后通過興趣區域和置信度融合的方式將空間流和時間流的幀級別檢測結果進行合并,最后通過動作管道生成算法將相鄰幀之間的檢測結果匹配連接,生成最終的時空動作管道。Singh 等[10]使用雙流SSD 檢測器,并結合實時光流算法實現更快速的動作檢測。然而,相較于圖片而言,視頻具有很強的時間相關性,內容隨時間不斷變化。上述雙流法雖然融入了時序信息,但無法獲取長距離的時序相關性,對于一些時間跨度比較長的動作實例表現欠佳。同時,視頻往往包含大量背景信息,使得對視頻進行特征表示時,存在大量的冗余信息,對分類和檢測結果產生干擾。因此,有效利用視頻中運動特征明顯的關鍵區域信息,構建長距離時序相關性,對動作檢測十分重要。
針對以上問題,本文提出了一種基于SSD 的區域時空二合一動作檢測網絡,引入非局部機制(Nonlocal)[11]并加以改進,在獲取長距離時序相關性的同時,通過時間流特征圖中的關鍵動作區域信息對空間流特征圖進行篩選,增強網絡對于動作主體特征的學習,減少背景區域對分類和檢測結果的影響。實驗結果表明本文方法能有效提高動作檢測的精度。
基于SSD 的區域時空二合一動作檢測網絡結構如圖1 所示。

圖1 區域時空二合一網絡結構圖Fig. 1 Region spatiotemporal two-in-one network structure
圖1 中藍色方塊表示卷積層,綠色方塊表示最大池化層,紅色方塊表示區域時空二合一模塊。上支路的輸入為 3 00×300 的單幀RGB 圖像,下支路輸入為 3 00×300 的單張光流圖。首先,RGB 圖像經過SSD 的Conv1 和Conv2 卷積層,得到大小為 7 5×75 、通道數為 1 28 的空間流特征圖。光流圖則分別經過3 層 1 ×1 卷積層、1 層 3 ×3 卷積層以及1 層 2 ×2 最大池化層得到大小為 7 5×75 、通道數為 1 28 的時間流特征圖。然后,將這兩組尺寸相同的特征圖同時輸入到區域時空二合一模塊,實現動作目標特征增強和時空特征融合。通過區域時空二合一模塊后,時空混合特征圖經過SSD 剩余的部分進行邊界框回歸和分類,并得到幀級別的動作檢測結果。最后,幀級別的動作檢測結果經過動作管道生成器進行匹配和連接,最終得到視頻級別的動作檢測結果。
與以往通過改變網絡結構去學習動作的時空特征不同,Simonyan 等[12]從輸入數據角度入手,結合視頻相鄰幀之間運動信息可以通過光流表達的特點,設計了一種雙流卷積神經網絡用于視頻動作識別,但所提出的雙流網絡的時間流和空間流相對獨立,導致彼此無法共享學習的動作信息。針對這一問題,Feichtenhofer 等[13]提出了一種新的雙流融合技術,將原始雙流中網絡末端的結果融合改進為網絡中段的特征圖融合。這種特征圖融合方式可以在像素級別上連接包含動作空間信息的特征圖和包含動作時間信息的特征圖,使得后續的卷積網絡可以同時學習動作的空間特征和時序特征。與文獻[14]相似,本文也借鑒了這一網絡中段雙流融合思路,但與文獻[14]直接將兩流特征圖相加不同,本文設計了區域時空二合一模塊來獲取更好的融合特征。
長距離時序相關性的建立對于動作檢測任務十分重要。文獻[11]提出了一類新的神經網絡,通過非局部運算來捕捉長距離相關性,有利于時序問題的處理,本文將其引入到動作檢測任務中。非局部操作可以增強特征圖中每個像素點之間的相互關系,使得動作目標能夠獲取動作整體相關性,即更好的時序信息。但是非局部操作需要計算全局的像素點,計算成本較大。同時視頻背景像素加入全局計算,將增加噪聲,對結果產生干擾。因此,本文對非局部加以改進,設計了像素標記篩選器 M _S ,只對動作特征明顯的目標區域進行相關性計算,從而在獲取長距離時序相關性的同時,減少網絡計算成本并且排除背景的干擾。
一般來說,視頻中的背景區域在相鄰幀之間幾乎不會發生變化,而產生動作的主體區域在相鄰幀之間時常會發生明顯的位移或角度變化。在光流圖中,像素值較大的部分通常為動作目標區域,因此,本文結合光流圖的數據特征對非局部機制進行改進,提出了一種區域時空二合一模塊,其結構如圖2所示。該模塊主要分為3 個部分:像素點篩選、區域相關性計算、像素點填充。

圖2 區域時空二合一模塊結構Fig. 2 Region spatiotemporal two-in-one module structure
1.2.1 像素點篩選 像素點篩選可以表示為



圖3 標記篩選器原理圖Fig. 3 Schematic diagram of mark selector

區域時空二合一模塊的核心點在于該模塊運用時間流提取的特征圖中包含動作目標區域信息的特點。設計 M _S 將空間流特征圖中該動作關鍵區域的像素點篩選出來單獨進行相關性計算,從而在獲取長距離時序相關性的同時,改善非局部模塊計算成本較大的缺陷,并大大降低了視頻背景噪聲的干擾。

本文采用動作檢測基準數據集UCF101-24 進行實驗,該數據集是動作識別基準數據集UCF-101 的子集。為了用于動作檢測任務,研究者們從UCF-101 中剔除面部表情等部分動作類別,并進行標簽補充,最后保留24 個動作類別。UCF101-24 中的視頻數據不僅有類別標簽,還有動作目標的空間坐標,以及動作開始和結束的時間。UCF101-24 數據集中每個視頻僅包含一個動作類別,但可能包含多個動作實例。一般每個視頻有1.5 個動作實例,每個動作實例覆蓋視頻時長的70%,而對于某些類別,動作實例的平均覆蓋時長可能低至30%。
借鑒目標檢測的評價指標,動作檢測也使用平均精度(mean Average Precision, mAP)作為算法的主要評價標準。根據幀級別的檢測結果和視頻級別的檢測結果,評價指標分為幀級別的平均精度(frame_mAP)和視頻級別的平均精度(video_mAP)。
frame_mAP 為數據集中所有類別frame_AP 的平均值,計算公式如下:

video_mAP 為檢測算法最后生成的動作管道準確率的均值,只有當組成管道的所有幀的檢測區域與真實區域的平均重疊率大于閾值 σ 且動作管道的類別分類準確時,才認為這段動作管道為真實正樣本。
實驗環境為NVIDIA GTX 1080Ti GPU、Ubuntu 16 操作系統、Pytorch0.4.0 和Python3.6.4。
網絡的輸入數據為 3 ×300×300 的單張RGB 視頻幀和 2 ×300×300 的單張光流圖。每一次送入網絡的批次大小為8,初始學習率為0.0001。每次訓練迭代120000 次,并在迭代70000 次和90000 次時進行學習率衰減,學習率的衰減率為0.5。
2.4.1 UCF101-24 上各類別的Frame-AP 表現 表1示出了SSD 動作檢測網絡[10]和區域時空二合一網絡在數據集具體24 個動作類別的frame_AP 對比結果。統計了IoU 閾值為0.5 時各類別的frame_AP,其中最后一行是所有類別的frame_AP 取平均得到的frame_mAP, Δ 表示區域時空二合一網絡相對于基礎網絡的提升。

表1 UCF101-24 數 據 集 中 各 類 別 在IoU 閾 值 為0.5 時frame_AP 的對比結果Table 1 Comparison of frame_AP of UCF101-24 at IOU threshold of 0.5
與SSD 動作檢測網絡相比,區域時空二合一網絡在“打籃球”、“滑雪”等18 個動作類別的幀級別檢測精度均有所提升,“滑雪”動作的檢測精度增幅高達9.64%,每個類別平均增幅達到2.61%。而“扣籃”等6 個動作的檢測精度雖然有所下降,但幅度均小于0.3%。性能提升的18 個動作類別都屬于包含大量背景信息的動作實例,并且動作跨時也比較長,表明本文方法有效建立了長距離時序相關性,同時降低了背景的干擾。其中,“滑雪”動作數據集示例如圖4 所示,可以看到數據集中的滑雪動作并不都是左上角的只有白雪覆蓋的背景,相反,數據集中大部分都伴隨著山峰、樹木或賽道背景等噪聲干擾。而對于“扣籃”動作的檢測性能稍微下降,主要是因為“扣籃”動作持續時間較短,往往只有一、兩秒,而且動作主體集中在體積較小的籃球上,而“打籃球”包括前期運球、準備投籃、投籃、籃球進框等多個步驟,持續時間較長,并且動作主體集中于人。因此,整體而言,區域時空二合一網絡可有效提高動作檢測精度。

圖4 “滑雪”動作數據集示例Fig. 4 Example of action skiing in dataset
2.4.2 與其他動作檢測算法的video_mAP 對比 當IoU閾值分別為0.20、0.50、0.75 和0.50∶0.95 時,不同算法的video_mAP值如表2 所示。其中,0.50∶0.95 為閾值0.50 至0.95 每隔0.05 測得的平均值。

表2 不 同 算 法 在UCF101-24 數 據 集 上 的video_mAP 結 果對比Table 2 Comparison of video_mAP of different algorithms on UCF101-24
可以看出,與近年來提出的動作檢測網絡相比,本文提出的區域時空二合一網絡在不同閾值下的video_mAP 均有所提高。
2.4.3 UCF101-24 可視化與檢測結果示例 為了驗證本文提出的區域時空二合一網絡的性能,對區域時空二合一模塊的輸入特征圖和輸出特征圖進行可視化,并給出了UCF101-24 數據集中部分示例檢測結果,可視化結果如圖5 所示。圖中的第1 行是輸入模塊中的時間流特征圖,第2 行是輸入模塊中的空間流特征圖,第3 行是模塊輸出的時空二合一特征圖。

圖5 區域時空二合一模塊前后特征圖可視化結果示例Fig. 5 Example of visualization of the region spatiotemporal two-in-one module
從第1 行的時間流數據可以看出,原始輸入光流圖在經過若干層卷積之后可以得到動作目標區域明顯的時間流特征圖。對比使用時間流特征圖篩選前后的第2 行和第3 行特征圖,尤其是最后一列,不難發現,經過區域時空二合一模塊后的空間流特征圖中背景噪聲受到了抑制,最后輸出的時空二合一特征圖中動作目標區域得到增強和突出、顯示更為明顯,如圖中做運動的男子及其手部和腿部變化。
圖6 示出了UCF-24 數據集中部分示例的檢測結果,綠色字體代表預測的動作類別,紅色框為預測的動作區域,黃色框為真實的動作區域。示例中黃色框和紅色框的重合比例很高,表明本文提出的網絡具有較好的檢測性能。

圖6 區域時空二合一網絡對于UCF-24 數據集中部分示例檢測結果Fig. 6 Detection results of region spatiotemporal two-in-one network for UCF-24 dataset
本文通過對非局部模塊進行分析和改進,在光流中設計了像素點篩選器來提取運動關鍵區域信息,再融入空間流中。提出了一種區域時空二合一模塊,并借鑒雙流融合的原理將區域時空二合一模塊應用于SSD 檢測框架中。提出了一種新型的動作檢測網絡——區域時空二合一網絡。最后通過基準數據集UCF101-24 進行網絡訓練和性能驗證。實驗證明區域時空二合一網絡在獲取長距離時序相關性的同時,改善非局部模塊計算成本較大的缺陷,并大大降低了視頻背景噪聲的干擾,擁有更好的檢測性能。