蔡 強,李韓玉*,李 楠,劉新亮
(1.北京工商大學計算機學院,北京 100048;2.北京工商大學人工智能學院,北京 100048;3.北京工商大學電商與物流學院,北京 100048;4.農產品質量安全追溯技術及應用國家工程實驗室,北京 100048;5.食品安全大數據技術北京市重點實驗室,北京 100048)
近年來,視頻監控、無人駕駛、人機交互的迅速發展,賦予了視頻目標檢測巨大的研究價值。2015年ImageNet VID[1]數據集的提出,將視頻目標檢測推向了高潮。由于視頻中存在運動模糊、遮擋、形態變化多樣性、光照變化多樣性等問題,僅利用圖像目標檢測技術[2-5]對視頻中的目標進行檢測得不到理想的檢測結果?,F有的視頻目標檢測方法主要分為基于邊界框間關系的模型[6-8]和基于特征融合的模型[9,10]?;谶吔缈蜷g關系的模型通常利用圖像目標檢測器對每一幀視頻進行檢測,生成目標的邊界框;然后,在時間維度將連續幀中的邊界框進行關聯,調整目標邊界框的置信度分數,實現視頻目標檢測。此類方法作為一個后處理步驟,需要在每幀的檢測結果上額外運行,極大的消耗了計算量且存在資源浪費的問題。而基于特征融合的模型,在檢測視頻的過程中融合相鄰幀之間的特征,以增強被檢測幀的特征,直接生成高質量的邊界框。與基于邊界框間關系的模型相比,基于特征融合的模型是一種端到端的啟發式學習算法,并且高效、容易實現。
無論是基于邊界框間聯系的模型,還是基于特征融合的模型算法,它們的主旨都是為了充分的利用視頻中的時序信息,并將其加入到檢測過程中。由此可見,解決視頻目標檢測的問題之一在于視頻中時序信息的挖掘及使用。當前主要采用光流圖像[11,12]和運動歷史圖像[13]表征時序信息,相較于運動歷史圖像來說,雖然光流[11,12]的性能更好,但對于實時系統來說,代價昂貴,而且不適合在長時間內對運動信息進行編碼。因此,本文中采用運動歷史圖像[13]作為運動表示,可以非常有效地計算,并為傳播保留足夠的運動信息。

圖1 網絡結構圖
注意力模型在自然語言處理領域[14,15]的成功應用,推動了注意力機制在計算機視覺任務中的發展。2019年CBAM[16]提出,在給定一個中間特征圖的情況下,沿著通道和空間兩個單獨的維度依次推斷注意力圖,然后將注意力圖乘到輸入特征圖中進行自適應特征細化。
受到以上啟發,本文提出了基于時序信息和注意力機制的視頻目標檢測算法(TIAM)。
圖像目標檢測算法主要分為雙階段目標檢測算法[3,4]和單階段目標檢測算法[5],單階段目標檢測算法雖然運算速度較快,但是由于其召回率較低而且很難擴展到比較復雜的任務,例如關鍵點檢測和實例分割。因此,本文采用2015年R.Girshick等人提出的Faster RCNN[4]算法作為基礎網絡。接下來首先介紹 Faster RCNN[4]的算法流程,其次介紹TIAM模型的網絡結構及其重要組成。
Faster RCNN[4]是基于區域提議的視頻目標檢測算法,首先通過卷積神經網絡對輸入的圖片進行特征提取,其次區域提議網絡(Region Proposal Network,RPN)根據提取到的特征生成可能包含目標的候選區域即感興趣的區域(Regions of Interest,ROI),同時將ROI映射回特征圖上,最后,Fast RCNN[3]通過區域池化(Regions of Interest Pooling,ROI pooling)提取出固定長度的特征張量,并對特征張量進行分類和位置回歸預測得到最終的邊界框。
Faster RCNN[4]采用錨點的方式來生成候選區域,每一個錨點對應生成 9 個候選框,其中候選框的大小分別為 1282、 2562、 5122;長寬比為1:1、 1:2、 2:1。該方法提高了候選框的召回率,是 Faster RCNN[4]檢測精度提升的原因之一。
文中選取 Resnet101[17]實現的Faster RCNN[4]為基礎網絡。整體網絡結構如圖1所示,圖中實線矩形框部分和注意力模塊的引入為本文的改進。算法的整體步驟如下:
第一步,提取視頻幀對應的運動歷史圖像;
第二步,采用ResNet18[17]網絡和ResNet101[17]網絡提取運動歷史圖像以及視頻幀的特征,得到運動歷史圖像的特征圖和視頻幀的特征圖;
第三步,采用注意力模塊對步驟二中兩個特征圖中的重要特征進行加權;
第四步,對第三步中的特征圖采用特征通道疊加的算法進行融合得到最終的特征圖;
第五步,將得到的特征圖輸入到RPN層,得到可能包含目標的候選區域(ROI);
第六步,將ROI映射回特征圖上;
第七步,采用Fast RCNN[3]提取出固定長度的特征張量,并對特征張量進行分類和位置回歸預測得到最終的邊界框。
當前視頻中時序信息的編碼方式主要有兩種,分別為采用光流圖像[12]編碼和采用運動歷史圖像[13]編碼。光流圖像[12]的性能雖好,但不適合在長時間內對運動信息進行編碼。因此,本文采用運動歷史圖像[13]作為運動表示,不僅計算相對簡單,還可以為傳播保留足夠的運動信息。
運動歷史圖像[13]通過計算一段時間內同一位置的像素變化,將目標運動情況以圖像亮度的形式表現出來,即視頻中越后運動的部位,像素的灰度值越高。運動歷史圖像的計算如式(1)[13]和式(2)[13]所示。
φ(x,y,t)=|I(x,y,t)-I(x,y,t-1)|
(1)

(2)
式(1)和式(2)中,I(x,y,t)代表第t幀圖像中位置的像素值,(x,y)即為相鄰兩幀圖像之間的差值;δ為預先設定的閾值,判斷相鄰兩幀圖像中的目標是否發生了運動;τ為視頻的持續時間。
如圖2所示,左側為相鄰兩幀的視頻圖像,右側為其運動歷史圖像,對比紅線橢圓部分可以發現鳥的翅膀在逐漸張開,由此可見,運動歷史圖像描述了目標的運動信息,可以幫助模型更好的預測目標的位置。

圖2 運動歷史圖像對比圖
為了對提取到的特征進行細化,提高特征的代表性。本文將 CBAM[16]提出的注意力模塊應用于視頻目標檢測中,以便模型在訓練過程中給重要特征較高的權重,同時抑制不必要的特征。該模塊沿著通道和空間兩個單獨的維度依次推斷注意圖,然后將注意圖乘到輸入特征圖中進行自適應特征細化。注意力機制的計算過程如式(3)[16]和式(4)[16]所示。
Fchannel=Mc(F)?F
(3)
Fspatial=Ms(Fchannel)?Fchannel
(4)
式中,F為輸入的特征圖,Mc為通道注意力圖(詳見圖3(a)),?為點乘操作,Fchannel為計算通道注意力后生成的特征圖;式(4)中Ms為空間注意力圖(詳見圖3(b)),Fspatial為計算空間注意力后生成的特征圖,是最終的特征圖。
注意力模塊的結構如圖3所示,圖3(a)為通道注意力模塊,利用特征的通道關系,生成通道注意力圖。首先通過平均池化和最大池化融合特征圖中的空間信息,生成兩種不同的空間上下文表示:平均池化特征和最大池化特征。將得到的特征輸入到共享卷積網絡中,使用按元素求和的方式對輸出的特征向量進行合并。圖3(b)為空間注意力模塊,利用特征間的空間關系,生成空間注意力圖。首先在通道維度上進行平均池化和最大池化運算,然后把結果結合起來生成一個有效的特征描述,然后沿著通道軸應用池化操作可以有效地突出顯示信息區域。

圖3 注意力模塊結構
為了最大程度的利用視頻中包含的信息,本文將視頻幀的特征信息和運動歷史圖像的特征信息進行融合,特征融合的計算如式(5)所示。

(5)
式(5)中xi和yi分別表示兩路待融合的特征即視頻幀的特征和運動歷史圖像的特征,i和j分別代表特征所包含的通道數,本文中i=1024,j=256。此種特征融合方式可以保證各通道特征信息不發生變化的同時增加視頻幀的特征。和其它特征融合的方法相比,該算法在產生檢測結果之前,通過收集視頻幀序列中的高級信息,為模型的訓練提供了豐富的語義信息,從而增強了模型的魯棒性和健壯性。
該工作以2015年提出的大規模視頻目標檢測的基準數據集ImageNet VID[1]作為實驗用的數據集,該數據集共包含30個類別的目標,是ImageNet DET圖像數據集中類別的子集,這些類別考慮了不同的因素,如移動類型、視頻雜亂程度、對象實例的平均數量以及其它一些因素,可以進行廣泛的研究。數據集中包含的訓練集和驗證集已經被全部標注,詳細信息如表1所示。本文在訓練集上訓練模型,并使用平均精度均值(mAP)度量驗證集上的性能。

表1 ImageNet VID數據集詳情
本文基于pytorch框架進行實驗,實驗的軟件環境為windows 10,x64操作系統,硬件環境為Intel(R)Xeon(R)CPU E5-2603 v3 @ 1.60GHz,8GB RAM和兩個GPU(NVIDIA TitanX),具體的訓練參數設置如表2所示。

表2 訓練參數設置
運動歷史圖像[13]的參數選擇直接影響模型獲取目標運動信息的準確度。視頻持續時間τ過小,會使獲得的目標運動軌跡的信息較少,當τ值過大時,會使獲得的目標運動軌跡強度變化不明顯;對于差異閾值δ而言,取值太小,獲取的運動歷史圖像會出現許多雜亂的噪點,無法很好的區分前景與背景;取值太大,圖中像素強度值較小的區域則會消失,出現空洞,損失目標信息。為了使得到的目標運動信息更加準確,本文可視化了不同參數的運動歷史圖像,使其最大化表征視頻中的高級語義信息。
圖4給出了視頻持續時間τ以及判定視頻幀之間目標是否發生運動的閾值δ設定為不同值時的運動歷史圖像效果圖。經過對比,發現τ=15,δ=46時運動歷史圖像可以較多的保留運動信息同時很好的區分前景和背景。

圖4 不同參數的運動歷史圖像
為了測試運動歷史圖像[13]對模型的影響,本文設計了如下實驗。首先提取原始視頻幀的特征,得到一個具有1024通道的特征圖,提取對應運動歷史圖像的特征得到一個256通道的特征圖,將兩個特征圖進行融合,得到一個具有1280通道的特征圖,然后,利用1×1的卷積,對當前的特征圖進行降維,得到具有1024通道的特征圖,輸入到后續的網絡中進行訓練。如圖5所示,相對于Faster RCNN[4],加入運動歷史圖像后,模型整體的平均精度均值都提高了0.4%。

圖5 運動歷史圖像對模型的影響
在拍攝視頻的過程中,攝像頭的移動可能會使模型將背景誤判為前景,因此得到的運動歷史圖像中可能會包含一些背景信息,為了降低背景信息對模型造成的影響,本文引入了注意力機制[16]。注意力機制的引入可以使模型將焦點放在重要的特征上,同時抑制不重要的特征,能夠對特征進行細化并提高區域特征的代表性。本文設計了如下實驗,測試注意力模塊位置對模型產生的影響。
如圖6所示,FR+MHI表示不加入注意力;mhi+attention和FR+attention分別表示在運動歷史圖像的特征和視頻幀的特征上加入注意力;從圖中可以看出,是否加入注意力與模型的平均精度均值成正相關,運動歷史圖像特征圖中包含的信息比視頻幀特征圖中包含的信息少,因此,在視頻幀特征圖中加入注意力模塊的模型平均精度均值較高。而本文提出的TIAM算法在以上兩個特征圖中都加入了注意力模塊,平均精度均值達到了74.85%。

圖6 注意力模塊對模型的影響

圖7 ImageNet VID 驗證集的檢測結果
TIAM采用運動歷史圖像表示視頻中的時序信息,代替了基于邊界框間關系算法Seq-NMS[6]、T-CNN[7]、MoveTubelets+ED-LSTM[8]中的后處理步驟,不再需要對每幀的檢測結果進行跟蹤校正,是一種端到端的算法,減少了資源浪費;采用運動歷史圖像代替基于特征融合算法DFF[9]中的光流圖像表示視頻中的時序信息,為模型提供了足夠的運動信息。
從表3中可以看出:TIAM在 T-CNN[7]的基礎上提升了13.35個百分點,在DFF[9]的基礎上提升了 1.75個百分點,充分驗證了模型的有效性。但是在速度方面,相對于DFF[9],TIAM的速度較慢,這是由于TIAM中為了提高特征的代表性,增加了運動歷史圖像特征提取模塊和注意力機制模塊,犧牲了算法的速度。

表3 不同方法的準確率對比
圖7將ImageNet VID[1]數據集中驗證集上的檢測結果進行了可視化,選取了視頻中第k、k+3、k+6、k+9幀進行了展示,其中k=1,表示視頻序列中視頻幀的索引。圖中的紅色矩形框即為模型預測的目標位置,可以看到預測目標的邊界框和目標的大小基本吻合。
針對視頻目標檢測中存在運動模糊、遮擋、形態變化多樣性、光照變化多樣性等問題,本文在Faster RCNN算法的基礎上,用能夠保留足夠目標運動信息的運動歷史圖像,表征目標的運動信息;引入注意力機制進行特征細化,提高了區域特征的代表性,加快了模型的收斂。算法的準確率達到了74.85%,較Faster RCNN算法提高了4.95%。由于實驗更加注重視頻目標檢測的準確率,所以,還有一些和速度相關的重要方面有待探討。同時,實驗還證明了遷移學習的有效性。