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