蔡 強(qiáng),李韓玉*,李 楠,劉新亮
(1.北京工商大學(xué)計(jì)算機(jī)學(xué)院,北京 100048;2.北京工商大學(xué)人工智能學(xué)院,北京 100048;3.北京工商大學(xué)電商與物流學(xué)院,北京 100048;4.農(nóng)產(chǎn)品質(zhì)量安全追溯技術(shù)及應(yīng)用國(guó)家工程實(shí)驗(yàn)室,北京 100048;5.食品安全大數(shù)據(jù)技術(shù)北京市重點(diǎn)實(shí)驗(yàn)室,北京 100048)
近年來(lái),視頻監(jiān)控、無(wú)人駕駛、人機(jī)交互的迅速發(fā)展,賦予了視頻目標(biāo)檢測(cè)巨大的研究?jī)r(jià)值。2015年ImageNet VID[1]數(shù)據(jù)集的提出,將視頻目標(biāo)檢測(cè)推向了高潮。由于視頻中存在運(yùn)動(dòng)模糊、遮擋、形態(tài)變化多樣性、光照變化多樣性等問(wèn)題,僅利用圖像目標(biāo)檢測(cè)技術(shù)[2-5]對(duì)視頻中的目標(biāo)進(jìn)行檢測(cè)得不到理想的檢測(cè)結(jié)果?,F(xiàn)有的視頻目標(biāo)檢測(cè)方法主要分為基于邊界框間關(guān)系的模型[6-8]和基于特征融合的模型[9,10]。基于邊界框間關(guān)系的模型通常利用圖像目標(biāo)檢測(cè)器對(duì)每一幀視頻進(jìn)行檢測(cè),生成目標(biāo)的邊界框;然后,在時(shí)間維度將連續(xù)幀中的邊界框進(jìn)行關(guān)聯(lián),調(diào)整目標(biāo)邊界框的置信度分?jǐn)?shù),實(shí)現(xiàn)視頻目標(biāo)檢測(cè)。此類(lèi)方法作為一個(gè)后處理步驟,需要在每幀的檢測(cè)結(jié)果上額外運(yùn)行,極大的消耗了計(jì)算量且存在資源浪費(fèi)的問(wèn)題。而基于特征融合的模型,在檢測(cè)視頻的過(guò)程中融合相鄰幀之間的特征,以增強(qiáng)被檢測(cè)幀的特征,直接生成高質(zhì)量的邊界框。與基于邊界框間關(guān)系的模型相比,基于特征融合的模型是一種端到端的啟發(fā)式學(xué)習(xí)算法,并且高效、容易實(shí)現(xiàn)。
無(wú)論是基于邊界框間聯(lián)系的模型,還是基于特征融合的模型算法,它們的主旨都是為了充分的利用視頻中的時(shí)序信息,并將其加入到檢測(cè)過(guò)程中。由此可見(jiàn),解決視頻目標(biāo)檢測(cè)的問(wèn)題之一在于視頻中時(shí)序信息的挖掘及使用。當(dāng)前主要采用光流圖像[11,12]和運(yùn)動(dòng)歷史圖像[13]表征時(shí)序信息,相較于運(yùn)動(dòng)歷史圖像來(lái)說(shuō),雖然光流[11,12]的性能更好,但對(duì)于實(shí)時(shí)系統(tǒng)來(lái)說(shuō),代價(jià)昂貴,而且不適合在長(zhǎng)時(shí)間內(nèi)對(duì)運(yùn)動(dòng)信息進(jìn)行編碼。因此,本文中采用運(yùn)動(dòng)歷史圖像[13]作為運(yùn)動(dòng)表示,可以非常有效地計(jì)算,并為傳播保留足夠的運(yùn)動(dòng)信息。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)圖
注意力模型在自然語(yǔ)言處理領(lǐng)域[14,15]的成功應(yīng)用,推動(dòng)了注意力機(jī)制在計(jì)算機(jī)視覺(jué)任務(wù)中的發(fā)展。2019年CBAM[16]提出,在給定一個(gè)中間特征圖的情況下,沿著通道和空間兩個(gè)單獨(dú)的維度依次推斷注意力圖,然后將注意力圖乘到輸入特征圖中進(jìn)行自適應(yīng)特征細(xì)化。
受到以上啟發(fā),本文提出了基于時(shí)序信息和注意力機(jī)制的視頻目標(biāo)檢測(cè)算法(TIAM)。
圖像目標(biāo)檢測(cè)算法主要分為雙階段目標(biāo)檢測(cè)算法[3,4]和單階段目標(biāo)檢測(cè)算法[5],單階段目標(biāo)檢測(cè)算法雖然運(yùn)算速度較快,但是由于其召回率較低而且很難擴(kuò)展到比較復(fù)雜的任務(wù),例如關(guān)鍵點(diǎn)檢測(cè)和實(shí)例分割。因此,本文采用2015年R.Girshick等人提出的Faster RCNN[4]算法作為基礎(chǔ)網(wǎng)絡(luò)。接下來(lái)首先介紹 Faster RCNN[4]的算法流程,其次介紹TIAM模型的網(wǎng)絡(luò)結(jié)構(gòu)及其重要組成。
Faster RCNN[4]是基于區(qū)域提議的視頻目標(biāo)檢測(cè)算法,首先通過(guò)卷積神經(jīng)網(wǎng)絡(luò)對(duì)輸入的圖片進(jìn)行特征提取,其次區(qū)域提議網(wǎng)絡(luò)(Region Proposal Network,RPN)根據(jù)提取到的特征生成可能包含目標(biāo)的候選區(qū)域即感興趣的區(qū)域(Regions of Interest,ROI),同時(shí)將ROI映射回特征圖上,最后,F(xiàn)ast RCNN[3]通過(guò)區(qū)域池化(Regions of Interest Pooling,ROI pooling)提取出固定長(zhǎng)度的特征張量,并對(duì)特征張量進(jìn)行分類(lèi)和位置回歸預(yù)測(cè)得到最終的邊界框。
Faster RCNN[4]采用錨點(diǎn)的方式來(lái)生成候選區(qū)域,每一個(gè)錨點(diǎn)對(duì)應(yīng)生成 9 個(gè)候選框,其中候選框的大小分別為 1282、 2562、 5122;長(zhǎng)寬比為1:1、 1:2、 2:1。該方法提高了候選框的召回率,是 Faster RCNN[4]檢測(cè)精度提升的原因之一。
文中選取 Resnet101[17]實(shí)現(xiàn)的Faster RCNN[4]為基礎(chǔ)網(wǎng)絡(luò)。整體網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,圖中實(shí)線矩形框部分和注意力模塊的引入為本文的改進(jìn)。算法的整體步驟如下:
第一步,提取視頻幀對(duì)應(yīng)的運(yùn)動(dòng)歷史圖像;
第二步,采用ResNet18[17]網(wǎng)絡(luò)和ResNet101[17]網(wǎng)絡(luò)提取運(yùn)動(dòng)歷史圖像以及視頻幀的特征,得到運(yùn)動(dòng)歷史圖像的特征圖和視頻幀的特征圖;
第三步,采用注意力模塊對(duì)步驟二中兩個(gè)特征圖中的重要特征進(jìn)行加權(quán);
第四步,對(duì)第三步中的特征圖采用特征通道疊加的算法進(jìn)行融合得到最終的特征圖;
第五步,將得到的特征圖輸入到RPN層,得到可能包含目標(biāo)的候選區(qū)域(ROI);
第六步,將ROI映射回特征圖上;
第七步,采用Fast RCNN[3]提取出固定長(zhǎng)度的特征張量,并對(duì)特征張量進(jìn)行分類(lèi)和位置回歸預(yù)測(cè)得到最終的邊界框。
當(dāng)前視頻中時(shí)序信息的編碼方式主要有兩種,分別為采用光流圖像[12]編碼和采用運(yùn)動(dòng)歷史圖像[13]編碼。光流圖像[12]的性能雖好,但不適合在長(zhǎng)時(shí)間內(nèi)對(duì)運(yùn)動(dòng)信息進(jìn)行編碼。因此,本文采用運(yùn)動(dòng)歷史圖像[13]作為運(yùn)動(dòng)表示,不僅計(jì)算相對(duì)簡(jiǎn)單,還可以為傳播保留足夠的運(yùn)動(dòng)信息。
運(yùn)動(dòng)歷史圖像[13]通過(guò)計(jì)算一段時(shí)間內(nèi)同一位置的像素變化,將目標(biāo)運(yùn)動(dòng)情況以圖像亮度的形式表現(xiàn)出來(lái),即視頻中越后運(yùn)動(dòng)的部位,像素的灰度值越高。運(yùn)動(dòng)歷史圖像的計(jì)算如式(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)即為相鄰兩幀圖像之間的差值;δ為預(yù)先設(shè)定的閾值,判斷相鄰兩幀圖像中的目標(biāo)是否發(fā)生了運(yùn)動(dòng);τ為視頻的持續(xù)時(shí)間。
如圖2所示,左側(cè)為相鄰兩幀的視頻圖像,右側(cè)為其運(yùn)動(dòng)歷史圖像,對(duì)比紅線橢圓部分可以發(fā)現(xiàn)鳥(niǎo)的翅膀在逐漸張開(kāi),由此可見(jiàn),運(yùn)動(dòng)歷史圖像描述了目標(biāo)的運(yùn)動(dòng)信息,可以幫助模型更好的預(yù)測(cè)目標(biāo)的位置。
圖2 運(yùn)動(dòng)歷史圖像對(duì)比圖
為了對(duì)提取到的特征進(jìn)行細(xì)化,提高特征的代表性。本文將 CBAM[16]提出的注意力模塊應(yīng)用于視頻目標(biāo)檢測(cè)中,以便模型在訓(xùn)練過(guò)程中給重要特征較高的權(quán)重,同時(shí)抑制不必要的特征。該模塊沿著通道和空間兩個(gè)單獨(dú)的維度依次推斷注意圖,然后將注意圖乘到輸入特征圖中進(jìn)行自適應(yīng)特征細(xì)化。注意力機(jī)制的計(jì)算過(guò)程如式(3)[16]和式(4)[16]所示。
Fchannel=Mc(F)?F
(3)
Fspatial=Ms(Fchannel)?Fchannel
(4)
式中,F(xiàn)為輸入的特征圖,Mc為通道注意力圖(詳見(jiàn)圖3(a)),?為點(diǎn)乘操作,F(xiàn)channel為計(jì)算通道注意力后生成的特征圖;式(4)中Ms為空間注意力圖(詳見(jiàn)圖3(b)),F(xiàn)spatial為計(jì)算空間注意力后生成的特征圖,是最終的特征圖。
注意力模塊的結(jié)構(gòu)如圖3所示,圖3(a)為通道注意力模塊,利用特征的通道關(guān)系,生成通道注意力圖。首先通過(guò)平均池化和最大池化融合特征圖中的空間信息,生成兩種不同的空間上下文表示:平均池化特征和最大池化特征。將得到的特征輸入到共享卷積網(wǎng)絡(luò)中,使用按元素求和的方式對(duì)輸出的特征向量進(jìn)行合并。圖3(b)為空間注意力模塊,利用特征間的空間關(guān)系,生成空間注意力圖。首先在通道維度上進(jìn)行平均池化和最大池化運(yùn)算,然后把結(jié)果結(jié)合起來(lái)生成一個(gè)有效的特征描述,然后沿著通道軸應(yīng)用池化操作可以有效地突出顯示信息區(qū)域。
圖3 注意力模塊結(jié)構(gòu)
為了最大程度的利用視頻中包含的信息,本文將視頻幀的特征信息和運(yùn)動(dòng)歷史圖像的特征信息進(jìn)行融合,特征融合的計(jì)算如式(5)所示。
(5)
式(5)中xi和yi分別表示兩路待融合的特征即視頻幀的特征和運(yùn)動(dòng)歷史圖像的特征,i和j分別代表特征所包含的通道數(shù),本文中i=1024,j=256。此種特征融合方式可以保證各通道特征信息不發(fā)生變化的同時(shí)增加視頻幀的特征。和其它特征融合的方法相比,該算法在產(chǎn)生檢測(cè)結(jié)果之前,通過(guò)收集視頻幀序列中的高級(jí)信息,為模型的訓(xùn)練提供了豐富的語(yǔ)義信息,從而增強(qiáng)了模型的魯棒性和健壯性。
該工作以2015年提出的大規(guī)模視頻目標(biāo)檢測(cè)的基準(zhǔn)數(shù)據(jù)集ImageNet VID[1]作為實(shí)驗(yàn)用的數(shù)據(jù)集,該數(shù)據(jù)集共包含30個(gè)類(lèi)別的目標(biāo),是ImageNet DET圖像數(shù)據(jù)集中類(lèi)別的子集,這些類(lèi)別考慮了不同的因素,如移動(dòng)類(lèi)型、視頻雜亂程度、對(duì)象實(shí)例的平均數(shù)量以及其它一些因素,可以進(jìn)行廣泛的研究。數(shù)據(jù)集中包含的訓(xùn)練集和驗(yàn)證集已經(jīng)被全部標(biāo)注,詳細(xì)信息如表1所示。本文在訓(xùn)練集上訓(xùn)練模型,并使用平均精度均值(mAP)度量驗(yàn)證集上的性能。
表1 ImageNet VID數(shù)據(jù)集詳情
本文基于pytorch框架進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)的軟件環(huán)境為windows 10,x64操作系統(tǒng),硬件環(huán)境為Intel(R)Xeon(R)CPU E5-2603 v3 @ 1.60GHz,8GB RAM和兩個(gè)GPU(NVIDIA TitanX),具體的訓(xùn)練參數(shù)設(shè)置如表2所示。
表2 訓(xùn)練參數(shù)設(shè)置
運(yùn)動(dòng)歷史圖像[13]的參數(shù)選擇直接影響模型獲取目標(biāo)運(yùn)動(dòng)信息的準(zhǔn)確度。視頻持續(xù)時(shí)間τ過(guò)小,會(huì)使獲得的目標(biāo)運(yùn)動(dòng)軌跡的信息較少,當(dāng)τ值過(guò)大時(shí),會(huì)使獲得的目標(biāo)運(yùn)動(dòng)軌跡強(qiáng)度變化不明顯;對(duì)于差異閾值δ而言,取值太小,獲取的運(yùn)動(dòng)歷史圖像會(huì)出現(xiàn)許多雜亂的噪點(diǎn),無(wú)法很好的區(qū)分前景與背景;取值太大,圖中像素強(qiáng)度值較小的區(qū)域則會(huì)消失,出現(xiàn)空洞,損失目標(biāo)信息。為了使得到的目標(biāo)運(yùn)動(dòng)信息更加準(zhǔn)確,本文可視化了不同參數(shù)的運(yùn)動(dòng)歷史圖像,使其最大化表征視頻中的高級(jí)語(yǔ)義信息。
圖4給出了視頻持續(xù)時(shí)間τ以及判定視頻幀之間目標(biāo)是否發(fā)生運(yùn)動(dòng)的閾值δ設(shè)定為不同值時(shí)的運(yùn)動(dòng)歷史圖像效果圖。經(jīng)過(guò)對(duì)比,發(fā)現(xiàn)τ=15,δ=46時(shí)運(yùn)動(dòng)歷史圖像可以較多的保留運(yùn)動(dòng)信息同時(shí)很好的區(qū)分前景和背景。
圖4 不同參數(shù)的運(yùn)動(dòng)歷史圖像
為了測(cè)試運(yùn)動(dòng)歷史圖像[13]對(duì)模型的影響,本文設(shè)計(jì)了如下實(shí)驗(yàn)。首先提取原始視頻幀的特征,得到一個(gè)具有1024通道的特征圖,提取對(duì)應(yīng)運(yùn)動(dòng)歷史圖像的特征得到一個(gè)256通道的特征圖,將兩個(gè)特征圖進(jìn)行融合,得到一個(gè)具有1280通道的特征圖,然后,利用1×1的卷積,對(duì)當(dāng)前的特征圖進(jìn)行降維,得到具有1024通道的特征圖,輸入到后續(xù)的網(wǎng)絡(luò)中進(jìn)行訓(xùn)練。如圖5所示,相對(duì)于Faster RCNN[4],加入運(yùn)動(dòng)歷史圖像后,模型整體的平均精度均值都提高了0.4%。
圖5 運(yùn)動(dòng)歷史圖像對(duì)模型的影響
在拍攝視頻的過(guò)程中,攝像頭的移動(dòng)可能會(huì)使模型將背景誤判為前景,因此得到的運(yùn)動(dòng)歷史圖像中可能會(huì)包含一些背景信息,為了降低背景信息對(duì)模型造成的影響,本文引入了注意力機(jī)制[16]。注意力機(jī)制的引入可以使模型將焦點(diǎn)放在重要的特征上,同時(shí)抑制不重要的特征,能夠?qū)μ卣鬟M(jìn)行細(xì)化并提高區(qū)域特征的代表性。本文設(shè)計(jì)了如下實(shí)驗(yàn),測(cè)試注意力模塊位置對(duì)模型產(chǎn)生的影響。
如圖6所示,F(xiàn)R+MHI表示不加入注意力;mhi+attention和FR+attention分別表示在運(yùn)動(dòng)歷史圖像的特征和視頻幀的特征上加入注意力;從圖中可以看出,是否加入注意力與模型的平均精度均值成正相關(guān),運(yùn)動(dòng)歷史圖像特征圖中包含的信息比視頻幀特征圖中包含的信息少,因此,在視頻幀特征圖中加入注意力模塊的模型平均精度均值較高。而本文提出的TIAM算法在以上兩個(gè)特征圖中都加入了注意力模塊,平均精度均值達(dá)到了74.85%。
圖6 注意力模塊對(duì)模型的影響
圖7 ImageNet VID 驗(yàn)證集的檢測(cè)結(jié)果
TIAM采用運(yùn)動(dòng)歷史圖像表示視頻中的時(shí)序信息,代替了基于邊界框間關(guān)系算法Seq-NMS[6]、T-CNN[7]、MoveTubelets+ED-LSTM[8]中的后處理步驟,不再需要對(duì)每幀的檢測(cè)結(jié)果進(jìn)行跟蹤校正,是一種端到端的算法,減少了資源浪費(fèi);采用運(yùn)動(dòng)歷史圖像代替基于特征融合算法DFF[9]中的光流圖像表示視頻中的時(shí)序信息,為模型提供了足夠的運(yùn)動(dòng)信息。
從表3中可以看出:TIAM在 T-CNN[7]的基礎(chǔ)上提升了13.35個(gè)百分點(diǎn),在DFF[9]的基礎(chǔ)上提升了 1.75個(gè)百分點(diǎn),充分驗(yàn)證了模型的有效性。但是在速度方面,相對(duì)于DFF[9],TIAM的速度較慢,這是由于TIAM中為了提高特征的代表性,增加了運(yùn)動(dòng)歷史圖像特征提取模塊和注意力機(jī)制模塊,犧牲了算法的速度。
表3 不同方法的準(zhǔn)確率對(duì)比
圖7將ImageNet VID[1]數(shù)據(jù)集中驗(yàn)證集上的檢測(cè)結(jié)果進(jìn)行了可視化,選取了視頻中第k、k+3、k+6、k+9幀進(jìn)行了展示,其中k=1,表示視頻序列中視頻幀的索引。圖中的紅色矩形框即為模型預(yù)測(cè)的目標(biāo)位置,可以看到預(yù)測(cè)目標(biāo)的邊界框和目標(biāo)的大小基本吻合。
針對(duì)視頻目標(biāo)檢測(cè)中存在運(yùn)動(dòng)模糊、遮擋、形態(tài)變化多樣性、光照變化多樣性等問(wèn)題,本文在Faster RCNN算法的基礎(chǔ)上,用能夠保留足夠目標(biāo)運(yùn)動(dòng)信息的運(yùn)動(dòng)歷史圖像,表征目標(biāo)的運(yùn)動(dòng)信息;引入注意力機(jī)制進(jìn)行特征細(xì)化,提高了區(qū)域特征的代表性,加快了模型的收斂。算法的準(zhǔn)確率達(dá)到了74.85%,較Faster RCNN算法提高了4.95%。由于實(shí)驗(yàn)更加注重視頻目標(biāo)檢測(cè)的準(zhǔn)確率,所以,還有一些和速度相關(guān)的重要方面有待探討。同時(shí),實(shí)驗(yàn)還證明了遷移學(xué)習(xí)的有效性。