秦思怡,蓋紹彥,達(dá)飛鵬
(1.東南大學(xué) 自動化學(xué)院,江蘇 南京 210096;2.東南大學(xué) 復(fù)雜工程系統(tǒng)測量與控制教育部重點實驗室,江蘇 南京 210096)
視頻目標(biāo)檢測是計算機(jī)視覺領(lǐng)域的一項基礎(chǔ)任務(wù),在社會安防、國防軍事和智能交通等領(lǐng)域中有著廣泛的應(yīng)用需求[1].近年來,基于深度學(xué)習(xí)的視頻目標(biāo)檢測算法取得了顯著的進(jìn)展,這些方法可以大致分為基于光流的方法[2-3]、基于視頻目標(biāo)跟蹤的方法[4-5]和基于注意力機(jī)制的方法[6-7].基于光流的算法使用額外的光流模型,顯著增加了目標(biāo)檢測整體模型參數(shù)量;基于視頻目標(biāo)跟蹤的方法使用了額外的任務(wù),而不是讓網(wǎng)絡(luò)直接檢測目標(biāo).這2 種方法的速度和準(zhǔn)確性存在很大的不平衡[8].基于注意力機(jī)制的方法考慮圖像特征聚合的計算成本,序列級語義聚合算法(sequence level semantics aggregation algorithm,SESLA)[9]作為基于注意力機(jī)制的方法代表,根據(jù)區(qū)域級特征之間的語義相似性,提出長程特征聚合方案.Chen等[10]設(shè)計全局-局部聚合模塊,以更好地建模目標(biāo)之間的關(guān)系.Jiang 等[11]提出稱為可學(xué)習(xí)的時空采樣(learnable spatio-temporal sampling,LSTS)模塊,用于學(xué)習(xí)相鄰幀特征之間語義層次的依賴關(guān)系.現(xiàn)有方法大多因采用固定的采樣策略,可能無法充分利用視頻序列中的全局上下文信息.另外,現(xiàn)有算法由于無法有效、準(zhǔn)確地融合不同的尺度和多層級的特征,常常導(dǎo)致目標(biāo)的誤檢、漏檢問題.
針對上述問題,本文提出混合加權(quán)采樣下多級特征聚合注意力的視頻目標(biāo)檢測網(wǎng)絡(luò)(video object detection algorithm based on multi-level feature aggregation under mixed sampler,MMNet).本文的主要工作如下.
(1)設(shè)計混合加權(quán)參考幀采樣策略(mixed weighted reference-frame sampler,MWRS),利用更有效的全局隨機(jī)幀和關(guān)鍵幀前、后幀的信息優(yōu)勢,具有全局感知和上下文感知的信息增強(qiáng)功能.
(2)基于注意力機(jī)制,提出多級特征聚合注意力模塊(multi-level feature aggregation attention module,MFAA).該模塊的2 個分支分別關(guān)注不同層次的特征,針對性地對特征權(quán)重進(jìn)行分配,通過特征隨機(jī)失活操作提高模型的魯棒性,聚合多層次的特征來提高識別和定位的準(zhǔn)確率.
(3)在ImageNet VID 數(shù)據(jù)集[12]上進(jìn)行實驗,結(jié)果表明,所提出的MMNet 具有檢測速度較快、精度較高的優(yōu)點,可以較好地解決視頻目標(biāo)檢測算法檢測精度和速度不平衡的問題,證明了該方法的有效性.
在視頻目標(biāo)檢測任務(wù)中,采用基礎(chǔ)檢測器對輸入的視頻幀進(jìn)行特征提取,得到初步的預(yù)測結(jié)果,對大量的檢測結(jié)果進(jìn)行初步特征選擇.
基礎(chǔ)的圖像檢測器主要分為單階段和兩階段檢測器.基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)(region based convolutional neural network,RCNN)[13],提出兩階段目標(biāo)檢測器的基本框架.針對兩階段檢測器普遍存在的運(yùn)算速度慢的缺點,YOLO[14]提出單階段檢測器,不需要生成候選框,直接將邊框的定位問題轉(zhuǎn)化為回歸問題,提升了檢測速度[15].Joseph等在YOLO 的基礎(chǔ)上進(jìn)行一系列改進(jìn),提出YOLO的v2[16]和v3[17]版本.Liu 等[18]提出另一種單階段目標(biāo)檢測方法——單階段多邊框檢測算法(singlestage multibox detector algorithm,SSD).Yan 等[19]提出YOLOv5,設(shè)計不同的CSP 結(jié)構(gòu)和多個版本,提高了網(wǎng)絡(luò)特征的融合能力.
采用YOLOX-S 單階段檢測器作為基礎(chǔ)檢測器,因為其具有高性能、高效性和多尺度特征表示的優(yōu)勢.YOLOX-S 是YOLOX 系列[20]的標(biāo)準(zhǔn)化版本之一,是對YOLOv5 系列中的YOLOv5-S 進(jìn)行一系列改進(jìn)得到的.YOLOX-S 作為輕量級模型,在保持較高檢測精度的同時,具有較小的模型體積和內(nèi)存占用.YOLOX 通過使用多尺度特征表示來提高目標(biāo)檢測的準(zhǔn)確性,使用解耦檢測頭和簡化的最優(yōu)傳輸樣本匹配方案(simplified optimal transport assignment,SimOTA)技術(shù),能夠在不同尺度上檢測目標(biāo)物體,綜合利用多層級的特征表示,使得YOLOX 在處理視頻中不同尺度的目標(biāo)物體時更具優(yōu)勢.
在視頻目標(biāo)檢測任務(wù)中,需要對基礎(chǔ)檢測器輸出的粗糙的分類特征進(jìn)行再細(xì)化.由于特征各個維度對目標(biāo)的貢獻(xiàn)不同,為了突出更重要的特征,抑制不太重要的特征,在網(wǎng)絡(luò)中引入注意力機(jī)制.
注意力機(jī)制是從大量信息中篩選出少量重要信息,并聚焦到這些重要信息上,忽略大多不重要的信息.標(biāo)準(zhǔn)的自注意力機(jī)制(self-attention,SA)是注意力機(jī)制的變體,減少了對外部信息的依賴,擅長捕捉數(shù)據(jù)或特征的內(nèi)部相關(guān)性[21],結(jié)構(gòu)如圖1(a)所示.
圖1 SA 和MFAA 模塊的結(jié)構(gòu)Fig.1 Structure of SA module and MFAA module
標(biāo)準(zhǔn)的自注意力機(jī)制可以描述為將一組查詢、鍵和值映射到輸出.實際計算中,將一組查詢、鍵和值分別打包為矩陣Q、K和V,矩陣由輸入的特征向量X經(jīng)過線性變換得到,如下所示:
式中:各個變換矩陣W可以經(jīng)過網(wǎng)絡(luò)的學(xué)習(xí)得到.
注意力函數(shù)的輸出為值V的加權(quán)和,其中分配給每個值的權(quán)重由查詢與相應(yīng)鍵的softmax 函數(shù)計算[22]得到,計算過程為
式中:SA 為輸出矩陣;d為Q和K中每個特征的維度,除以可以使得QKT符合N(0,1)的分布,類似于歸一化,可以防止輸入softmax 函數(shù)的值過大而導(dǎo)致偏導(dǎo)數(shù)趨近于0,還可以使注意力的分布更加均勻.
構(gòu)建的視頻目標(biāo)檢測網(wǎng)絡(luò)MMNet 的框架如圖2 所示,輸入為一系列連續(xù)的視頻幀,輸出標(biāo)記目標(biāo)類別和位置的視頻幀.將輸入的視頻幀通過混合加權(quán)參考幀采樣,得到一系列隨機(jī)參考幀和關(guān)鍵幀的前后連續(xù)幀.將得到的視頻幀入到單階段檢測器YOLOX-S 中進(jìn)行特征提取,輸出初步的分類和回歸的預(yù)測特征Xc和Xr.由于大多數(shù)初步預(yù)測結(jié)果的置信度較低,需要從特征圖中選擇高質(zhì)量的特征.使用topK 算法,根據(jù)置信度分?jǐn)?shù)由高到低排序,挑選出前750 個預(yù)測特征.使用非最大抑制(non-maximum suppression,NMS)算法[23],通過不斷檢索分類置信度最高的檢測框,使用交集-重疊來表示2 個邊界框之間的內(nèi)在關(guān)聯(lián),將大于人工給定閾值的邊界框視作冗余檢測框刪去,以減少冗余[24].將選擇后的特征輸入多級特征聚合注意力模塊,在不同尺度上聚合分類和回歸的特征后進(jìn)行最終分類.
圖2 MMNet 算法的網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 Structure diagram of MMNet
研究能夠平衡檢測準(zhǔn)確性和效率的采樣策略,對于視頻目標(biāo)檢測任務(wù)至關(guān)重要.主流的采樣方法一般采用全局隨機(jī)采樣[25]或者局部采樣[26].這2 種采樣方法都存在因為特征捕獲不全面導(dǎo)致的特征聚合不足的問題.全局采樣方法缺乏來自相鄰幀的空間和時間信息,失去了視頻的時間維度優(yōu)勢;局部采樣在目標(biāo)運(yùn)動速度較快或者遮擋嚴(yán)重的情況下,為關(guān)鍵幀檢測提供的有效信息少.為了解決這些問題,更好地增強(qiáng)互補(bǔ)特征,設(shè)計混合加權(quán)參考幀采樣策略,引入全局的特征信息和前后幀時間信息,進(jìn)行特征集成增強(qiáng).
MWRS 的輸入為需要檢測的連續(xù)視頻幀.如圖3 所示,MWRS 包括加權(quán)隨機(jī)采樣(weighted random sampling)操作和局部連續(xù)采樣(local consecutive sampling)操作.
圖3 混合加權(quán)參考幀采樣策略的結(jié)構(gòu)Fig.3 Structure of MWRS strategy
加權(quán)隨機(jī)采樣操作分為以下3 個步驟.
1)確定每一幀的權(quán)重.采用差值哈希算法計算每個視頻幀與關(guān)鍵幀fk的整體圖像相似度,將相似度si作為對應(yīng)視頻幀fi的采樣權(quán)重wi,其中i為視頻幀的索引值.差值哈希算法的主要流程如下:在對視頻幀進(jìn)行哈希轉(zhuǎn)換時,通過左、右2 個像素大小的比較,得到最終長度為64 的0-1 哈希序列,計算關(guān)鍵幀哈希序列和其余每一幀哈尼序列的漢明距離di(Hamming distance),再利用公式si=1-di/64得到相似度.
2)計算相對采樣概率.將所有幀的權(quán)重相加,得到總權(quán)重.對于每一幀,將其權(quán)重除以總權(quán)重,得到該幀的相對采樣概率,計算過程如下:
式中:wi為步驟1)求得的視頻幀對應(yīng)的權(quán)重;Pi為每一幀的相對采樣概率,每一幀的采樣概率和它的權(quán)重成正比[27].
3)進(jìn)行加權(quán)采樣.生成kg個0~1.0 的隨機(jī)數(shù) ξ,按照相對概率依次累積判斷.若隨機(jī)數(shù)落在某一幀的相對概率范圍內(nèi),則選取該幀為關(guān)鍵幀的參考幀.這樣既可以引入更有效的全局特征信息來檢測關(guān)鍵幀的目標(biāo),又可以增大模型捕捉到少數(shù)樣本的概率,在一定程度上解決數(shù)據(jù)集樣本不平衡的問題.
為了補(bǔ)充視頻的連續(xù)時空信息,將當(dāng)前需要檢測的視頻幀作為關(guān)鍵幀,同步進(jìn)行局部連續(xù)采樣操作來采樣關(guān)鍵幀fk前、后kl個連續(xù)幀,其中k表示關(guān)鍵幀所對應(yīng)的位置索引,k+σ 表示采樣關(guān)鍵幀后的 σ 個連續(xù)幀,k-τ 表示采樣關(guān)鍵幀前的 τ 個連續(xù)幀(σ +τ=kl).因為視頻信息具有很大的冗余性,增加采樣幀數(shù)會降低檢測效率.經(jīng)過實驗(結(jié)果見表1)驗證,取kg和kl的比值為4∶1.將2 種采樣操作得到的視頻幀拼接為1 個序列,再送入YOLOX-S 檢測器中進(jìn)行特征提取.
表1 不同采樣比例在ImageNet VID 驗證集上的精度Tab.1 Accuracy of different sampling ratios on ImageNet VID verification set
單個的自注意力機(jī)制對當(dāng)前位置的信息進(jìn)行編碼時,會過度地將注意力集中于自身的位置,對特征的聚合不夠有效和充分.考慮到回歸和分類特征對特征再細(xì)化都有所貢獻(xiàn),提出多級特征聚合注意力模塊,提取包含相互關(guān)系的特征信息,挖掘更加豐富的特征信息,從而增強(qiáng)模型的表達(dá)能力.
多級特征聚合注意力模塊主要包括全局信息注意力分支(global attention branch)和局部信息注意力分支(local attention branch),如圖1(b)所示.
模塊的輸入是分類特征Xc和回歸特征Xr經(jīng)過圖2 的全連接層(fully connected layer,F(xiàn)C)線性變換分別得到的,分類特征的查詢Qc、鍵Kc、值Vc和回歸特征的查詢Qr、鍵Kr、值Vr如下所示:
分類特征通常可以提供更全面的語義信息,用于對整個視頻序列中的目標(biāo)物體進(jìn)行分類.由于全局幀通常具有更廣闊的視野和更全局的場景信息,將Qr和Kr輸入全局信息注意力分支.局部信息注意力機(jī)制的目標(biāo)是捕捉目標(biāo)物體的局部特征和動態(tài)變化,回歸特征是對目標(biāo)的位置和邊界框進(jìn)行回歸預(yù)測,可以更好地捕捉目標(biāo)物體的細(xì)節(jié)和運(yùn)動變化,因此將Qc和Kc輸入局部信息注意力分支,利用生成的權(quán)重對Vc進(jìn)行增強(qiáng).
2.2.1 全局信息注意力分支 因為視頻流中包含很多冗余信息,標(biāo)準(zhǔn)自注意力機(jī)制在視頻目標(biāo)檢測數(shù)據(jù)集上往往會出現(xiàn)過擬合的問題.為了克服以上問題,設(shè)計全局信息注意力分支,如圖1(b)的右半部分所示.在自注意力機(jī)制中加入掩碼機(jī)制,從輸入的分類特征的置信度得分中隨機(jī)地掩蓋得分,讓自注意力機(jī)制不僅考慮Qc與Kc之間的相似性,而且考慮Kc的質(zhì)量.執(zhí)行隨機(jī)失活操作,主動拋棄一部分中間層的特征值,對高注意力值進(jìn)行部分懲罰,鼓勵模型更多關(guān)注與目標(biāo)有關(guān)的其他圖像塊,有助于捕捉全局魯棒特征,以緩解過擬合問題.全局信息注意力分支的輸出矩陣可以表示為
式中:dc為Qc和Kc中每個特征的維度,S為YOLOXS 檢測器得到的分類初步預(yù)測結(jié)果的置信度矩陣,° 表示哈達(dá)瑪乘積,drop 表示隨機(jī)失活操作,Mask 表示掩碼操作.
2.2.2 局部信息注意力分支 采用全局信息注意力分支,有效地減少了高注意力值的數(shù)量,在有效捕獲低頻全局信息的同時,對高頻局部信息的處理能力不足.為了解決該問題,設(shè)計局部信息注意力分支,如圖1(b)的左半部分所示.
分別聚合Qr和Kr的局部信息,為了減少參數(shù)和計算量,采用2 個深度卷積操作(depth-wise convolution,DWconv)[28]得到Ql和Kl,計算兩者的哈達(dá)瑪積.為了得到更高質(zhì)量的權(quán)重系數(shù),加入非線性因素,增強(qiáng)模型的表達(dá)能力.非線性激活Tanh函數(shù)的輸出為-1~1,是以0 為中心的,并且在0 附近的梯度大,能夠加速模型收斂,所以引入Tanh函數(shù),將結(jié)果轉(zhuǎn)換為-1~1 的權(quán)重系數(shù),采用隨機(jī)失活來提高魯棒性.整個過程如下.
式中:SAlocal為局部信息注意力分支的輸出矩陣,dr為Qr和Kr中每個特征的維度.
由于設(shè)計多級特征聚合注意力模塊的主要目的是分類結(jié)果的再細(xì)化,只須分別計算全局信息注意力分支與局部信息注意力分支生成的權(quán)重和Vc的積,再將結(jié)果拼接在一起,得到多級特征聚合注意力模塊的輸出.MFAA 模塊的輸出矩陣為
式中:c oncat 表示拼接操作.
視頻目標(biāo)檢測任務(wù)中,損失函數(shù)的設(shè)計是為了在視頻目標(biāo)檢測任務(wù)中解決不同的問題和優(yōu)化目標(biāo),一般為如下形式:
式中:Lcls、Lbbox和Lobj為分別用于分類任務(wù)損失、檢測框(bounding box,BBox)回歸任務(wù)和目標(biāo)置信度任務(wù)的3 種損失函數(shù);α、λ 和 μ 為各個損失函數(shù)的權(quán)重參數(shù),用于平衡不同任務(wù)的損失[26].
在采用以上通用的損失函數(shù)形式的基礎(chǔ)上,對各種損失函數(shù)的方法進(jìn)行不同的組合設(shè)計.通過實驗進(jìn)行比較和測試,使用二分類交叉熵?fù)p失(balanced cross entropy loss,BCE Loss)作為分類和置信度損失函數(shù),表達(dá)式如下:
式中:y為1 時表示正樣本,反之為負(fù)樣本;y′為網(wǎng)絡(luò)預(yù)測的樣本輸出,取值區(qū)間與y相同.
之前研究中常用的交并比(intersection over union,IoU)損失函數(shù)是基于預(yù)測框和標(biāo)注框之間的交并比,在視頻目標(biāo)檢測任務(wù)中使用,可能出現(xiàn)失去梯度方向,從而無法優(yōu)化的情況.選用DIoU(distant-IoU)損失函數(shù)[29]作為檢測框損失函數(shù),表達(dá)式如下所示:
式中:b和bgt分別為預(yù)測框和標(biāo)注框的中心點,Si為預(yù)測框和標(biāo)注框交集的面積,Su為預(yù)測框和標(biāo)注框并集的面積,ρ 表示歐氏距離操作,c為最小包圍2 個檢測框的框的對角線長度.DIoU 損失函數(shù)的懲罰項能夠直接最小化中心點間的距離,解決IoU 損失函數(shù)的梯度問題.
在ILSVRC2015 挑戰(zhàn)賽中引入的ImageNet VID 數(shù)據(jù)集上進(jìn)行模型訓(xùn)練與測試.ImageNet VID 數(shù)據(jù)集包含30 個基本類別,是ImageNet DET 數(shù)據(jù)集[12]中200 個基本類別的子集.具體來說,ImageNet VID 數(shù)據(jù)集包含3 862 個用于訓(xùn)練的視頻、555 個用于驗證的視頻和937 個用于測試的視頻,在訓(xùn)練集和驗證集的視頻幀上都被標(biāo)記上真實值的檢測框.訓(xùn)練集的每段視頻包含6~5 492 幀圖像,單幀圖像均為720 像素的高分辨率圖像,所以僅訓(xùn)練集就達(dá)到100 多萬張圖像,這種大規(guī)模的數(shù)據(jù)有利于擬合一個較好的模型,以完成視頻目標(biāo)檢測任務(wù).為了使數(shù)據(jù)集富有多樣性,挑選靜態(tài)圖像目標(biāo)檢測數(shù)據(jù)集ImageNet DET中相同數(shù)量的對應(yīng)類別的圖片作為訓(xùn)練數(shù)據(jù)集的補(bǔ)充.
采用推理時每幀檢測時間t作為檢測速度的評價指標(biāo),t包括進(jìn)行采樣操作的時間.每幀的檢測時間越短,表明檢測速度越快.
用參數(shù)量P和浮點運(yùn)算次數(shù)(floating point operations,FLOPs)作為模型復(fù)雜度的評價指標(biāo).參數(shù)量和浮點運(yùn)算量越小,表明模型復(fù)雜度越低.
使用平均精度(average precision,AP)作為檢測精度的評價指標(biāo),AP 指算法在某一類圖像上進(jìn)行檢測的平均精度.在計算AP 時,需要對預(yù)測框和真實框進(jìn)行匹配,按照置信度從高到低排序,計算每個置信度下的精度和召回率.對這些精度-召回率點進(jìn)行插值,得到平滑的曲線,計算該曲線下的面積作為AP.
AP50 指的是計算平均精度時,使用0.5 作為IoU 的閾值.IoU 評估真值檢測框與預(yù)測檢測框之間的重疊程度,以確定檢測結(jié)果的準(zhǔn)確性.在目標(biāo)檢測任務(wù)中,AP50 常用來評估模型檢測出來的物體與真實物體的重疊程度是否達(dá)到了一定的閾值.AP50 越大,表示模型的檢測準(zhǔn)確率越高.
實驗所用計算機(jī)的硬件配置如下:中央處理器(CPU)為Intel?CoreTMi7-13700F,主頻為2.10 GHz;圖形處理器(GPU)為GeForce RTX 4090.深度學(xué)習(xí)框架使用PyTorch 2.0.0,環(huán)境配置使用anaconda 20.04.1,操作系統(tǒng)為Ubuntu 18.04,CUDA版本為CUDA 12.0.
優(yōu)化方法為使用隨機(jī)梯度下降算法(stochastic gradient descent,SGD),采用數(shù)據(jù)集中的單個樣本或一批樣本的梯度來更新模型參數(shù),適用于大規(guī)模數(shù)據(jù)集和復(fù)雜模型.SGD 算法的更新公式為
式中:ωt為在時間步t的模型參數(shù);?ωL(ωt;xi;yi) 為在 (xi,yi) 上損失函數(shù)L相對于模型參數(shù)的梯度;η為學(xué)習(xí)率,控制更新步長.
設(shè)置動量為0.9,利用余弦函數(shù)進(jìn)行學(xué)習(xí)率的衰減.剛開始訓(xùn)練時,模型的權(quán)重是隨機(jī)初始化的,此時若選擇較大的學(xué)習(xí)率,可能帶來模型的不穩(wěn)定振蕩,所以選擇在第一輪訓(xùn)練預(yù)熱學(xué)習(xí)率的方式.在預(yù)熱期間,學(xué)習(xí)率從0 線性增加到優(yōu)化器中的初始預(yù)設(shè)值0.000 2,之后學(xué)習(xí)率線性降低.
在網(wǎng)絡(luò)的輸入端采用馬賽克數(shù)據(jù)增強(qiáng),通過隨機(jī)縮放、隨機(jī)裁剪、隨機(jī)排布的方式進(jìn)行圖像拼接.將混合加權(quán)參考幀采樣策略的總采樣幀數(shù)設(shè)置如下:kg=48,kl=16.用COCO 數(shù)據(jù)集預(yù)訓(xùn)練的權(quán)重初始化單階段檢測器YOLOX-S,將非最大抑制算法的閾值設(shè)置為0.75,對MMNet 進(jìn)行微調(diào)訓(xùn)練.在訓(xùn)練階段,訓(xùn)練批次為32,訓(xùn)練輪數(shù)為10.為了避免模型過擬合和提高準(zhǔn)確度,從352×352到672×672 以32 步長隨機(jī)調(diào)整輸入圖像的大小.在測試階段,將圖像大小統(tǒng)一調(diào)整為576×576.
為了驗證算法的有效性,采用對比實驗,與8 種先進(jìn)方法的比較如表2 所示.為了排除GPU性能對速度指標(biāo)的影響,在表2 中標(biāo)注了T 的結(jié)果表示是在TITAN RTX 型號的高性能GPU 上得到的,未標(biāo)注的結(jié)果都是在普通GPU 上得到的.
表2 不同算法在ImageNet VID 驗證集上的實驗結(jié)果Tab.2 Experiment results of different algorithms on ImageNet VID verification set
從表2 可以看出,MMNet 在ImageNet VID 數(shù)據(jù)集上取得了77.8%的AP50 和11.5 ms/幀的速度.與基準(zhǔn)方法YOLOX-S 相比,速度只損失了2.1 ms/幀,精度提高了8.3%.MMNet 在精度上的表現(xiàn)優(yōu)于FGFA、VOD-MT、LSTS、TIAM 和SALISA 算法.與檢測結(jié)果更精確的MEGA 和QueryProp 算法相比,MMNet 的檢測速度有大幅度的提升.結(jié)果表明,MMNet 提高了視頻目標(biāo)檢測的精度,極大地加快了視頻檢測速度,證明改進(jìn)算法是精確、高效的.
在ImageNet VID 測試集上,將MMNet 和YOLOX-S 算法的檢測結(jié)果可視化,以更直觀地分析優(yōu)劣,結(jié)果如圖4 所示,檢測框上方顯示的是目標(biāo)類別和置信度.如圖4(a)所示,當(dāng)目標(biāo)被遮擋或者目標(biāo)姿勢不常見時,對比算法因為沒有充分利用幀間信息,可能會產(chǎn)生漏檢的情況.如圖4(b)所示,由于非目標(biāo)物體和目標(biāo)形狀相似,或者目標(biāo)運(yùn)動速度較快,對比算法因為特征聚合不全面,可能產(chǎn)生誤檢的情況.本文算法利用更全面的參考幀信息,使用注意力機(jī)制聚合全局和局部特征,提取了更有效的特征,因此當(dāng)關(guān)鍵幀出現(xiàn)各種混淆情況時,能夠正確地檢測出目標(biāo).
圖4 2 種算法在ImageNet VID 測試集上的檢測結(jié)果可視化對比Fig.4 Comparison of visualization results of two algorithms on ImageNet VID test dataset
為了評估本文算法中不同模塊的有效性,采用控制變量法,對混合加權(quán)參考幀采樣策略和多級特征聚合注意力模塊進(jìn)行消融實驗.所有實驗均在ImageNet VID 驗證集上評估.
3.4.1 混合加權(quán)參考幀采樣策略 為了驗證混合加權(quán)參考幀采樣策略的有效性,評估在基準(zhǔn)方法YOLOX-S 上加入混合加權(quán)參考幀采樣策略對不同速度目標(biāo)檢測精度的影響.目標(biāo)速度分為慢速、中速和快速,這3 個類別是根據(jù)相鄰幀中相同目標(biāo)的平均IoU 分?jǐn)?shù)來分類的.慢速:IoU > 0.9.中速:0.9 ≥ IoU ≥ 0.7.快速:IoU < 0.7.表3 中最后1 行是測試整個數(shù)據(jù)集的平均精度,實驗結(jié)果如表3 所示.表中,加粗字體表示指標(biāo)結(jié)果最優(yōu).
表3 混合加權(quán)參考幀采樣策略在ImageNet VID 驗證集上測試不同速度目標(biāo)的精度結(jié)果Tab.3 Accuracy result of detecting objects with different speeds of MWRS strategy on ImageNet VID verification set %
從表3 可以看出,加入混合加權(quán)參考幀采樣策略后的模型相比于YOLOX-S 來說,整體檢測精度均有提升,雖然對慢速目標(biāo)的檢測精度只有小幅度提升,但對中速和快速目標(biāo)檢測有明顯提升.這是因為慢速目標(biāo)視頻的前、后幀與關(guān)鍵幀相比變化不大,視頻幀信息的冗余程度更大,這種情況下,MWRS 策略對精度的提升效果有限.在目標(biāo)移動速度較快的情況下,目標(biāo)的形變和位移較大,更需要捕獲更全面、更高質(zhì)量的參考幀信息.該實驗結(jié)果表明,MWRS 策略能夠?qū)⒓訖?quán)隨機(jī)幀和局部連續(xù)幀結(jié)合起來作為補(bǔ)充信息,提高了有效特征的利用率,說明MWRS 策略在提高視頻目標(biāo)檢測精度方面是有效的.
為了評估混合加權(quán)參考幀采樣策略中不同的加權(quán)隨機(jī)采樣和局部連續(xù)采樣幀數(shù)比例的效果,在ImageNet VID 驗證集上,設(shè)計5 組kg和kl的比值進(jìn)行實驗,結(jié)果如表1 所示.
從表1可以看出,增大kg和kl比值后模型的精度明顯提升,直到比值大于4 后檢測精度趨于穩(wěn)定.這是因為比值越大,意味著模型能夠看到更多的全局信息和長期依賴關(guān)系,這有助于模型更好地理解序列中的整體結(jié)構(gòu)和上下文信息,有助于提高模型的準(zhǔn)確性.然而,kg∶kl一旦達(dá)到一定值,進(jìn)一步增大kg∶kl可能不會提高模型的性能,因為模型已經(jīng)從全局幀中獲取了足夠豐富的全局信息.綜合考慮視頻模板檢測的精度要求和參考幀采樣的時間成本,其余實驗選擇采用kg∶k1=4∶1 的采樣策略.
3.4.2 多級特征聚合注意力模塊 為了驗證多級特征聚合注意力模塊的有效性,在ImageNet VID驗證集上設(shè)計以下3 個對照組:一是基準(zhǔn)方法YOLOX-S,二是在YOLOX-S 上加入標(biāo)準(zhǔn)自注意力機(jī)制SA,三是在YOLOX-S 上加入多級特征聚合注意力模塊.實驗結(jié)果如表4 所示.
表4 多級特征聚合注意力模塊在ImageNet VID 驗證集上不同速度目標(biāo)的精度Tab.4 Accuracy of detecting objects with different speeds of MFAA module on ImageNet VID verification set %
從表4 可知,加入多級特征聚合注意力模塊后的模型的表現(xiàn)遠(yuǎn)好于基準(zhǔn)方法,且更優(yōu)于標(biāo)準(zhǔn)自注意力模塊對精度的提升效果,故所提的MFAA模塊對視頻目標(biāo)檢測任務(wù)能夠起到更好的作用.MFAA 模塊對于不同速度目標(biāo)的檢測精度提升效果不同:對于慢速目標(biāo),精度相對于基準(zhǔn)算法提高了1.9%;對于中速目標(biāo),精度提高了4.2%;對于快速目標(biāo),精度提高了4%.MFAA 模塊對運(yùn)動速度較快的目標(biāo)檢測的效果提升明顯,能夠更好地聚焦運(yùn)動目標(biāo)的顯著特征,抑制背景噪聲干擾,提高模型最終的檢測精度.MFAA 模塊采用的隨機(jī)失活操作強(qiáng)迫模型基于不完整的特征進(jìn)行學(xué)習(xí),可以幫助特征聚合從單階段檢測器中捕獲更好的語義表示,有利于模型注重覆蓋目標(biāo)的細(xì)節(jié)信息.實驗結(jié)果說明,MWRS 模塊對于視頻目標(biāo)檢測任務(wù)是有效的.
如表5 所示,在YOLOX-S 的基礎(chǔ)上單獨采用混合加權(quán)參考幀采樣策略,能夠在保持檢測速度的同時,達(dá)到AP50=77.1%的檢測精度;單獨加入多級特征聚合注意力模塊,能夠只損失1.9 ms/幀的檢測速度,達(dá)到AP50=77.5%的檢測精度.共同運(yùn)用2 個模塊,在參數(shù)量和網(wǎng)絡(luò)復(fù)雜度略大于基準(zhǔn)算法的同時,運(yùn)算速度略微下降,精度達(dá)到AP50=77.8%.這說明結(jié)合混合加權(quán)參考幀采樣策略和多級特征聚合注意力模塊,能夠提高視頻目標(biāo)檢測任務(wù)的精度.本文算法的改進(jìn)使得網(wǎng)絡(luò)能夠高效地聚合特征信息.
表5 所提算法在ImageNet VID 驗證集上的消融實驗結(jié)果Tab.5 Results of ablation experiments of proposed algorithm on ImageNet VID verification set
本文提出基于混合加權(quán)參考幀采樣策略和多級特征聚合注意力的視頻目標(biāo)檢測網(wǎng)絡(luò)MMNet.通過設(shè)計的混合加權(quán)參考幀采樣策略,對加權(quán)全局幀和局部參考幀進(jìn)行采樣,為關(guān)鍵幀的檢測提供更全面的補(bǔ)充信息.提出多級特征聚合注意力模塊,使用雙分支結(jié)構(gòu)來聚合全局信息和局部信息,有助于網(wǎng)絡(luò)捕捉到更豐富的特征信息.在ImageNet VID 數(shù)據(jù)集上的實驗結(jié)果表明,MMNet 的檢測精度為77.8%,在一定程度上緩解了由于目標(biāo)遮擋、罕見姿勢或者動態(tài)模糊等帶來的漏檢和誤檢問題,檢測速度為11.5 ms/幀,速度遠(yuǎn)超大部分視頻目標(biāo)檢測算法,在確保檢測精度的情況下滿足了實時性的要求.MMNet 存在使用的數(shù)據(jù)集檢測目標(biāo)種類不多和難、易樣本數(shù)量不平衡問題,后續(xù)將在更多的視頻數(shù)據(jù)集上進(jìn)行研究,設(shè)計新的更適合視頻目標(biāo)檢測任務(wù)的損失函數(shù),提高算法的魯棒性.