湯 強(qiáng), 朱 煜, 鄭兵兵, 鄭 婕
(華東理工大學(xué)信息科學(xué)與工程學(xué)院,上海 200237)
近年來,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展和數(shù)碼設(shè)備的不斷普及,視頻數(shù)據(jù)呈爆發(fā)式增長,視頻智能分析成為當(dāng)前計算機(jī)視覺領(lǐng)域的研究熱點(diǎn),在人機(jī)交互系統(tǒng)、自動駕駛、視頻監(jiān)控和城市安全系統(tǒng)等領(lǐng)域具有廣泛的應(yīng)用。其中,動作檢測是視頻分析的主要任務(wù)和難點(diǎn)之一。動作檢測是在動作識別[1-2]的基礎(chǔ)上,對視頻中發(fā)生的動作分類后,進(jìn)一步定位動作發(fā)生的空間位置及動作開始和結(jié)束的時間。
早期較為成功的動作檢測算法[3-5]主要是通過滑窗搜索法、特征表示以及SVM 等方法來實現(xiàn)。后來,受到動作識別中密集軌跡(Dense Trajectories,DT)算法的啟發(fā),研究者們開始使用DT 算法在時間維度上進(jìn)行動作定位[6-7]。Van 等[8]進(jìn)一步將DT 算法從時序動作檢測擴(kuò)展至?xí)r空動作檢測,取得了一些進(jìn)展。但這些早期的方法主要通過人工設(shè)計特征,泛化能力和整體性能都較為有限。
隨著深度學(xué)習(xí)在目標(biāo)檢測領(lǐng)域的廣泛應(yīng)用,一些研究者認(rèn)為動作檢測和目標(biāo)檢測具有一定的相似性,所以嘗試將Faster-RCNN 和SSD 等目標(biāo)檢測網(wǎng)絡(luò)遷移到動作檢測任務(wù)中。同時,由于雙流卷積神經(jīng)網(wǎng)絡(luò)能有效結(jié)合視頻的空間和時序信息,在動作識別任務(wù)中具有優(yōu)異的性能,目前許多動作檢測網(wǎng)絡(luò)也沿用雙流網(wǎng)絡(luò)的框架形式。其中,Peng 等[9]將Faster-RCNN 和雙流網(wǎng)絡(luò)結(jié)合,提出了基于Faster-RCNN 的端到端雙流動作檢測網(wǎng)絡(luò)。使用Faster-RCNN 對視頻中的每一幀RGB 圖像和光流圖進(jìn)行目標(biāo)檢測,然后通過興趣區(qū)域和置信度融合的方式將空間流和時間流的幀級別檢測結(jié)果進(jìn)行合并,最后通過動作管道生成算法將相鄰幀之間的檢測結(jié)果匹配連接,生成最終的時空動作管道。Singh 等[10]使用雙流SSD 檢測器,并結(jié)合實時光流算法實現(xiàn)更快速的動作檢測。然而,相較于圖片而言,視頻具有很強(qiáng)的時間相關(guān)性,內(nèi)容隨時間不斷變化。上述雙流法雖然融入了時序信息,但無法獲取長距離的時序相關(guān)性,對于一些時間跨度比較長的動作實例表現(xiàn)欠佳。同時,視頻往往包含大量背景信息,使得對視頻進(jìn)行特征表示時,存在大量的冗余信息,對分類和檢測結(jié)果產(chǎn)生干擾。因此,有效利用視頻中運(yùn)動特征明顯的關(guān)鍵區(qū)域信息,構(gòu)建長距離時序相關(guān)性,對動作檢測十分重要。
針對以上問題,本文提出了一種基于SSD 的區(qū)域時空二合一動作檢測網(wǎng)絡(luò),引入非局部機(jī)制(Nonlocal)[11]并加以改進(jìn),在獲取長距離時序相關(guān)性的同時,通過時間流特征圖中的關(guān)鍵動作區(qū)域信息對空間流特征圖進(jìn)行篩選,增強(qiáng)網(wǎng)絡(luò)對于動作主體特征的學(xué)習(xí),減少背景區(qū)域?qū)Ψ诸惡蜋z測結(jié)果的影響。實驗結(jié)果表明本文方法能有效提高動作檢測的精度。
基于SSD 的區(qū)域時空二合一動作檢測網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。
圖1 區(qū)域時空二合一網(wǎng)絡(luò)結(jié)構(gòu)圖Fig. 1 Region spatiotemporal two-in-one network structure
圖1 中藍(lán)色方塊表示卷積層,綠色方塊表示最大池化層,紅色方塊表示區(qū)域時空二合一模塊。上支路的輸入為 3 00×300 的單幀RGB 圖像,下支路輸入為 3 00×300 的單張光流圖。首先,RGB 圖像經(jīng)過SSD 的Conv1 和Conv2 卷積層,得到大小為 7 5×75 、通道數(shù)為 1 28 的空間流特征圖。光流圖則分別經(jīng)過3 層 1 ×1 卷積層、1 層 3 ×3 卷積層以及1 層 2 ×2 最大池化層得到大小為 7 5×75 、通道數(shù)為 1 28 的時間流特征圖。然后,將這兩組尺寸相同的特征圖同時輸入到區(qū)域時空二合一模塊,實現(xiàn)動作目標(biāo)特征增強(qiáng)和時空特征融合。通過區(qū)域時空二合一模塊后,時空混合特征圖經(jīng)過SSD 剩余的部分進(jìn)行邊界框回歸和分類,并得到幀級別的動作檢測結(jié)果。最后,幀級別的動作檢測結(jié)果經(jīng)過動作管道生成器進(jìn)行匹配和連接,最終得到視頻級別的動作檢測結(jié)果。
與以往通過改變網(wǎng)絡(luò)結(jié)構(gòu)去學(xué)習(xí)動作的時空特征不同,Simonyan 等[12]從輸入數(shù)據(jù)角度入手,結(jié)合視頻相鄰幀之間運(yùn)動信息可以通過光流表達(dá)的特點(diǎn),設(shè)計了一種雙流卷積神經(jīng)網(wǎng)絡(luò)用于視頻動作識別,但所提出的雙流網(wǎng)絡(luò)的時間流和空間流相對獨(dú)立,導(dǎo)致彼此無法共享學(xué)習(xí)的動作信息。針對這一問題,F(xiàn)eichtenhofer 等[13]提出了一種新的雙流融合技術(shù),將原始雙流中網(wǎng)絡(luò)末端的結(jié)果融合改進(jìn)為網(wǎng)絡(luò)中段的特征圖融合。這種特征圖融合方式可以在像素級別上連接包含動作空間信息的特征圖和包含動作時間信息的特征圖,使得后續(xù)的卷積網(wǎng)絡(luò)可以同時學(xué)習(xí)動作的空間特征和時序特征。與文獻(xiàn)[14]相似,本文也借鑒了這一網(wǎng)絡(luò)中段雙流融合思路,但與文獻(xiàn)[14]直接將兩流特征圖相加不同,本文設(shè)計了區(qū)域時空二合一模塊來獲取更好的融合特征。
長距離時序相關(guān)性的建立對于動作檢測任務(wù)十分重要。文獻(xiàn)[11]提出了一類新的神經(jīng)網(wǎng)絡(luò),通過非局部運(yùn)算來捕捉長距離相關(guān)性,有利于時序問題的處理,本文將其引入到動作檢測任務(wù)中。非局部操作可以增強(qiáng)特征圖中每個像素點(diǎn)之間的相互關(guān)系,使得動作目標(biāo)能夠獲取動作整體相關(guān)性,即更好的時序信息。但是非局部操作需要計算全局的像素點(diǎn),計算成本較大。同時視頻背景像素加入全局計算,將增加噪聲,對結(jié)果產(chǎn)生干擾。因此,本文對非局部加以改進(jìn),設(shè)計了像素標(biāo)記篩選器 M _S ,只對動作特征明顯的目標(biāo)區(qū)域進(jìn)行相關(guān)性計算,從而在獲取長距離時序相關(guān)性的同時,減少網(wǎng)絡(luò)計算成本并且排除背景的干擾。
一般來說,視頻中的背景區(qū)域在相鄰幀之間幾乎不會發(fā)生變化,而產(chǎn)生動作的主體區(qū)域在相鄰幀之間時常會發(fā)生明顯的位移或角度變化。在光流圖中,像素值較大的部分通常為動作目標(biāo)區(qū)域,因此,本文結(jié)合光流圖的數(shù)據(jù)特征對非局部機(jī)制進(jìn)行改進(jìn),提出了一種區(qū)域時空二合一模塊,其結(jié)構(gòu)如圖2所示。該模塊主要分為3 個部分:像素點(diǎn)篩選、區(qū)域相關(guān)性計算、像素點(diǎn)填充。
圖2 區(qū)域時空二合一模塊結(jié)構(gòu)Fig. 2 Region spatiotemporal two-in-one module structure
1.2.1 像素點(diǎn)篩選 像素點(diǎn)篩選可以表示為
圖3 標(biāo)記篩選器原理圖Fig. 3 Schematic diagram of mark selector
區(qū)域時空二合一模塊的核心點(diǎn)在于該模塊運(yùn)用時間流提取的特征圖中包含動作目標(biāo)區(qū)域信息的特點(diǎn)。設(shè)計 M _S 將空間流特征圖中該動作關(guān)鍵區(qū)域的像素點(diǎn)篩選出來單獨(dú)進(jìn)行相關(guān)性計算,從而在獲取長距離時序相關(guān)性的同時,改善非局部模塊計算成本較大的缺陷,并大大降低了視頻背景噪聲的干擾。
本文采用動作檢測基準(zhǔn)數(shù)據(jù)集UCF101-24 進(jìn)行實驗,該數(shù)據(jù)集是動作識別基準(zhǔn)數(shù)據(jù)集UCF-101 的子集。為了用于動作檢測任務(wù),研究者們從UCF-101 中剔除面部表情等部分動作類別,并進(jìn)行標(biāo)簽補(bǔ)充,最后保留24 個動作類別。UCF101-24 中的視頻數(shù)據(jù)不僅有類別標(biāo)簽,還有動作目標(biāo)的空間坐標(biāo),以及動作開始和結(jié)束的時間。UCF101-24 數(shù)據(jù)集中每個視頻僅包含一個動作類別,但可能包含多個動作實例。一般每個視頻有1.5 個動作實例,每個動作實例覆蓋視頻時長的70%,而對于某些類別,動作實例的平均覆蓋時長可能低至30%。
借鑒目標(biāo)檢測的評價指標(biāo),動作檢測也使用平均精度(mean Average Precision, mAP)作為算法的主要評價標(biāo)準(zhǔn)。根據(jù)幀級別的檢測結(jié)果和視頻級別的檢測結(jié)果,評價指標(biāo)分為幀級別的平均精度(frame_mAP)和視頻級別的平均精度(video_mAP)。
frame_mAP 為數(shù)據(jù)集中所有類別frame_AP 的平均值,計算公式如下:
video_mAP 為檢測算法最后生成的動作管道準(zhǔn)確率的均值,只有當(dāng)組成管道的所有幀的檢測區(qū)域與真實區(qū)域的平均重疊率大于閾值 σ 且動作管道的類別分類準(zhǔn)確時,才認(rèn)為這段動作管道為真實正樣本。
實驗環(huán)境為NVIDIA GTX 1080Ti GPU、Ubuntu 16 操作系統(tǒng)、Pytorch0.4.0 和Python3.6.4。
網(wǎng)絡(luò)的輸入數(shù)據(jù)為 3 ×300×300 的單張RGB 視頻幀和 2 ×300×300 的單張光流圖。每一次送入網(wǎng)絡(luò)的批次大小為8,初始學(xué)習(xí)率為0.0001。每次訓(xùn)練迭代120000 次,并在迭代70000 次和90000 次時進(jìn)行學(xué)習(xí)率衰減,學(xué)習(xí)率的衰減率為0.5。
2.4.1 UCF101-24 上各類別的Frame-AP 表現(xiàn) 表1示出了SSD 動作檢測網(wǎng)絡(luò)[10]和區(qū)域時空二合一網(wǎng)絡(luò)在數(shù)據(jù)集具體24 個動作類別的frame_AP 對比結(jié)果。統(tǒng)計了IoU 閾值為0.5 時各類別的frame_AP,其中最后一行是所有類別的frame_AP 取平均得到的frame_mAP, Δ 表示區(qū)域時空二合一網(wǎng)絡(luò)相對于基礎(chǔ)網(wǎng)絡(luò)的提升。
表1 UCF101-24 數(shù) 據(jù) 集 中 各 類 別 在IoU 閾 值 為0.5 時frame_AP 的對比結(jié)果Table 1 Comparison of frame_AP of UCF101-24 at IOU threshold of 0.5
與SSD 動作檢測網(wǎng)絡(luò)相比,區(qū)域時空二合一網(wǎng)絡(luò)在“打籃球”、“滑雪”等18 個動作類別的幀級別檢測精度均有所提升,“滑雪”動作的檢測精度增幅高達(dá)9.64%,每個類別平均增幅達(dá)到2.61%。而“扣籃”等6 個動作的檢測精度雖然有所下降,但幅度均小于0.3%。性能提升的18 個動作類別都屬于包含大量背景信息的動作實例,并且動作跨時也比較長,表明本文方法有效建立了長距離時序相關(guān)性,同時降低了背景的干擾。其中,“滑雪”動作數(shù)據(jù)集示例如圖4 所示,可以看到數(shù)據(jù)集中的滑雪動作并不都是左上角的只有白雪覆蓋的背景,相反,數(shù)據(jù)集中大部分都伴隨著山峰、樹木或賽道背景等噪聲干擾。而對于“扣籃”動作的檢測性能稍微下降,主要是因為“扣籃”動作持續(xù)時間較短,往往只有一、兩秒,而且動作主體集中在體積較小的籃球上,而“打籃球”包括前期運(yùn)球、準(zhǔn)備投籃、投籃、籃球進(jìn)框等多個步驟,持續(xù)時間較長,并且動作主體集中于人。因此,整體而言,區(qū)域時空二合一網(wǎng)絡(luò)可有效提高動作檢測精度。
圖4 “滑雪”動作數(shù)據(jù)集示例Fig. 4 Example of action skiing in dataset
2.4.2 與其他動作檢測算法的video_mAP 對比 當(dāng)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 數(shù) 據(jù) 集 上 的video_mAP 結(jié) 果對比Table 2 Comparison of video_mAP of different algorithms on UCF101-24
可以看出,與近年來提出的動作檢測網(wǎng)絡(luò)相比,本文提出的區(qū)域時空二合一網(wǎng)絡(luò)在不同閾值下的video_mAP 均有所提高。
2.4.3 UCF101-24 可視化與檢測結(jié)果示例 為了驗證本文提出的區(qū)域時空二合一網(wǎng)絡(luò)的性能,對區(qū)域時空二合一模塊的輸入特征圖和輸出特征圖進(jìn)行可視化,并給出了UCF101-24 數(shù)據(jù)集中部分示例檢測結(jié)果,可視化結(jié)果如圖5 所示。圖中的第1 行是輸入模塊中的時間流特征圖,第2 行是輸入模塊中的空間流特征圖,第3 行是模塊輸出的時空二合一特征圖。
圖5 區(qū)域時空二合一模塊前后特征圖可視化結(jié)果示例Fig. 5 Example of visualization of the region spatiotemporal two-in-one module
從第1 行的時間流數(shù)據(jù)可以看出,原始輸入光流圖在經(jīng)過若干層卷積之后可以得到動作目標(biāo)區(qū)域明顯的時間流特征圖。對比使用時間流特征圖篩選前后的第2 行和第3 行特征圖,尤其是最后一列,不難發(fā)現(xiàn),經(jīng)過區(qū)域時空二合一模塊后的空間流特征圖中背景噪聲受到了抑制,最后輸出的時空二合一特征圖中動作目標(biāo)區(qū)域得到增強(qiáng)和突出、顯示更為明顯,如圖中做運(yùn)動的男子及其手部和腿部變化。
圖6 示出了UCF-24 數(shù)據(jù)集中部分示例的檢測結(jié)果,綠色字體代表預(yù)測的動作類別,紅色框為預(yù)測的動作區(qū)域,黃色框為真實的動作區(qū)域。示例中黃色框和紅色框的重合比例很高,表明本文提出的網(wǎng)絡(luò)具有較好的檢測性能。
圖6 區(qū)域時空二合一網(wǎng)絡(luò)對于UCF-24 數(shù)據(jù)集中部分示例檢測結(jié)果Fig. 6 Detection results of region spatiotemporal two-in-one network for UCF-24 dataset
本文通過對非局部模塊進(jìn)行分析和改進(jìn),在光流中設(shè)計了像素點(diǎn)篩選器來提取運(yùn)動關(guān)鍵區(qū)域信息,再融入空間流中。提出了一種區(qū)域時空二合一模塊,并借鑒雙流融合的原理將區(qū)域時空二合一模塊應(yīng)用于SSD 檢測框架中。提出了一種新型的動作檢測網(wǎng)絡(luò)——區(qū)域時空二合一網(wǎng)絡(luò)。最后通過基準(zhǔn)數(shù)據(jù)集UCF101-24 進(jìn)行網(wǎng)絡(luò)訓(xùn)練和性能驗證。實驗證明區(qū)域時空二合一網(wǎng)絡(luò)在獲取長距離時序相關(guān)性的同時,改善非局部模塊計算成本較大的缺陷,并大大降低了視頻背景噪聲的干擾,擁有更好的檢測性能。