夏雨薇,關(guān)勝曉
(中國(guó)科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院,安徽 合肥 230026)
近年來,視頻中目標(biāo)檢測(cè)受到越來越多的關(guān)注,因?yàn)樗趯?shí)際中的應(yīng)用,如視頻監(jiān)控、車輛輔助駕駛等領(lǐng)域中擁有巨大的潛力。隨著深度學(xué)習(xí)的快速發(fā)展,計(jì)算機(jī)視覺也隨之蓬勃發(fā)展,圖像目標(biāo)檢測(cè)取得了巨大的進(jìn)展,檢測(cè)性能明顯提升。但將其擴(kuò)展到視頻領(lǐng)域時(shí)仍然具有挑戰(zhàn)性。由于視頻中存在運(yùn)動(dòng)模糊、遮擋、形態(tài)變化多樣性、光照變化多樣性等問題,僅利用圖像目標(biāo)檢測(cè)技術(shù)檢測(cè)視頻中的目標(biāo)并不能得到很好的檢測(cè)結(jié)果。如何利用視頻中目標(biāo)時(shí)序信息和上下文等信息成為提升視頻目標(biāo)檢測(cè)性能的關(guān)鍵。
本文在流引導(dǎo)特征聚合(Flow-Guided Feature Aggregation,FGFA)[1]算法之上,提出基于全局視覺優(yōu)化的視頻目標(biāo)檢測(cè)算法。首先利用全局視覺優(yōu)化的思想,使用感知哈希算法在多幀特征聚合前進(jìn)行幀段兩端的全局視覺相似度計(jì)算,判斷當(dāng)前幀段的時(shí)序信息相關(guān)性;其次使用連續(xù)幀作為輸入,將相鄰幀在運(yùn)動(dòng)路徑上的特征聚合到當(dāng)前幀的特征中,在保持對(duì)視頻特征良好表達(dá)的同時(shí),使得幀間的信息利用率更高,所聚合的信息得到優(yōu)化,進(jìn)而提高檢測(cè)精度。ILSVRC實(shí)驗(yàn)表明,經(jīng)過全局視覺優(yōu)化的預(yù)處理后,本文算法較原本算法在視頻中進(jìn)行目標(biāo)檢測(cè)的準(zhǔn)確率和速度均得到一定提升,也驗(yàn)證了本文方法的有效性。
與日趨成熟的圖像目標(biāo)檢測(cè)相比,直到近年將新的VID挑戰(zhàn)引入到ImageNet之后,視頻對(duì)象檢測(cè)的研究才逐步引起重視。目前有一些弱監(jiān)督的方法[2-3]從視頻中學(xué)習(xí)目標(biāo)檢測(cè)器。文獻(xiàn)[4]提出了Seq-NMS,建立高信度邊界框序列,并將框重新設(shè)置為平均或最大置信度。該方法用作后處理步驟,因此需要額外的運(yùn)行時(shí)間對(duì)每幀進(jìn)行檢測(cè)。文獻(xiàn)[5]提出了一種集成生成每幀建議、邊界框跟蹤和管道重評(píng)分的框架。但其計(jì)算代價(jià)昂貴,因?yàn)樗枰W(wǎng)絡(luò)進(jìn)行每幀特征計(jì)算。文獻(xiàn)[6]提出用多任務(wù)目標(biāo)學(xué)習(xí)目標(biāo)檢測(cè)和跨幀跟蹤,并將幀級(jí)檢測(cè)鏈接到管道。該方式不進(jìn)行時(shí)間傳播,只在幀之間執(zhí)行插值。文獻(xiàn)[7]提出了一種有效框架DFF,結(jié)合光流的思路,實(shí)現(xiàn)特征圖的幀間傳播和復(fù)用。算法首先在關(guān)鍵幀進(jìn)行特征圖提取,然后將特征在幀間傳播,最后進(jìn)行特征圖映射,再進(jìn)行檢測(cè),通過稀疏選擇關(guān)鍵幀來進(jìn)行昂貴的CNNs計(jì)算,特征再通過光流傳播到其他幀。該方法的每幀檢測(cè)以降低4.4%平均精度均值(mAP)的成本(從73.9%降至69.5%)實(shí)現(xiàn)了10倍加速。FGFA是DFF工作的延續(xù),是基于光流的多幀特征聚合,其提出沿運(yùn)動(dòng)路徑聚集附近的特征,提高特征質(zhì)量,利用前后幀的信息加強(qiáng)當(dāng)前幀的特征,得到了比較好的識(shí)別精度,然而由于密集檢測(cè)和光流計(jì)算,該方法運(yùn)行速度較慢。
對(duì)于圖像相似性,可根據(jù)匹配的形式分為4個(gè)層次:(1)像素級(jí)別相似。圖像對(duì)應(yīng)像素值的相似程度反映了兩張圖像文件在內(nèi)容上的一致程度。(2)全局視覺相似。兩張像素級(jí)別相似的圖像經(jīng)過縮放和壓縮等操作后,其對(duì)應(yīng)像素值會(huì)產(chǎn)生一定變化,但視覺上仍可保持一致,仍可反映圖像的整體信息。(3)局部視覺相似。兩張全局相似的圖像因?yàn)椴眉?、拼接等操作不再全局相似,但仍能夠在兩張圖像中各自找到一個(gè)局部區(qū)域,這兩個(gè)局部區(qū)域在視覺上基本保持一致[8-9]。(4)語義級(jí)別相似。兩張圖像所表達(dá)的內(nèi)容在視覺上差異較大,甚至完全沒有視覺相似區(qū)域,但在語義內(nèi)容上相似。這四種相似層級(jí)在信息的對(duì)比上由精確到抽象,需要的相似性匹配算法也由簡(jiǎn)單到困難,在各類應(yīng)用場(chǎng)景中都有其獨(dú)特的作用。
流引導(dǎo)特征聚合的視頻目標(biāo)檢測(cè)算法(FGFA)在單幀上使用特征提取網(wǎng)絡(luò)以獲得每幀的特征圖,然后為了加強(qiáng)當(dāng)前幀的特征,使用光流網(wǎng)絡(luò)估計(jì)相鄰幀和當(dāng)前幀的運(yùn)動(dòng)。相鄰幀的特征圖再根據(jù)流運(yùn)動(dòng)卷曲到當(dāng)前幀。卷曲后的特征圖及其自己的特征圖一起通過適應(yīng)權(quán)重網(wǎng)絡(luò)進(jìn)行聚合。聚合得到的特征圖結(jié)果再被送入檢測(cè)網(wǎng)絡(luò)產(chǎn)生當(dāng)前幀的檢測(cè)結(jié)果。視頻幀中的目標(biāo)在運(yùn)動(dòng)過程中可能會(huì)出現(xiàn)較大外觀變化,對(duì)于每一個(gè)輸入幀,在參考幀i處特征激活較低,若僅對(duì)該幀進(jìn)行檢測(cè)會(huì)導(dǎo)致當(dāng)前幀目標(biāo)檢測(cè)失敗。附近i-K至i+K幀具有較高的激活,經(jīng)過FGFA后,當(dāng)前參考幀的特征得到增強(qiáng),從而檢測(cè)成功。
對(duì)于視頻單幀檢測(cè)常會(huì)有不穩(wěn)定的結(jié)果,因此添加多幀進(jìn)行信息的聚合。由于特征聚合涉及前后K幀,幀數(shù)K的合理取值對(duì)于聚合的準(zhǔn)確性和網(wǎng)絡(luò)有效性很關(guān)鍵,取值太大會(huì)導(dǎo)致當(dāng)前幀信息的弱化,而取值太小會(huì)導(dǎo)致特征聚合效果不明顯。因此,如何獲得使網(wǎng)絡(luò)在檢測(cè)過程中自主判斷選擇合適的聚合幀數(shù)K值是一個(gè)值得思考的問題。原始方法中,網(wǎng)絡(luò)對(duì)所有幀均使用了相同數(shù)量的前后幀數(shù)進(jìn)行數(shù)據(jù)聚合,并沒有考慮整個(gè)運(yùn)動(dòng)過程中不同運(yùn)動(dòng)的情況。對(duì)于多幀特征聚合,在直觀認(rèn)知下,當(dāng)目標(biāo)移動(dòng)產(chǎn)生的移動(dòng)距離較遠(yuǎn)時(shí),特征聚合會(huì)引入較大的誤差,所以需要考慮物體不同運(yùn)動(dòng)情況下不同速度的問題。
原本方法中,對(duì)視頻中的各種情況都使用了相同數(shù)量的前后幀數(shù)進(jìn)行數(shù)據(jù)聚合,沒有考慮該幀段內(nèi)圖像變化程度。本實(shí)驗(yàn)在檢測(cè)過程中,添加了多閾值的設(shè)計(jì),對(duì)于每一參考幀i,先對(duì)幀段兩端(第i-K幀與第i+K幀)視頻作粗略相似度判斷,當(dāng)兩端差異大于所設(shè)閾值T時(shí),認(rèn)為該視頻段的差異較大,全部參與聚合時(shí)誤差會(huì)較大,則將幀數(shù)兩端各縮短s幀后輸入網(wǎng)絡(luò)。實(shí)驗(yàn)所選差異判斷方式為計(jì)算全局視覺相似度常用的感知哈希算法。它對(duì)每一圖像生成一個(gè)“指紋”字符串,然后比較不同圖像的指紋,結(jié)果越接近,就表示圖像越相似。感知哈希判斷如下:
(1)壓縮。因?yàn)樵紙D像的尺寸都較大,會(huì)有相當(dāng)大的計(jì)算量,現(xiàn)在將其壓縮至8×8,將圖像中的高頻和細(xì)節(jié)部分移除,只關(guān)注大致差異。
(2)灰度化??s放后的圖像細(xì)節(jié)已經(jīng)被隱藏,信息量減少。但其仍是三通道(RGB)值的組成信息量,如果直接使用三通道的值對(duì)比顏色強(qiáng)度差異計(jì)算會(huì)比較復(fù)雜,因此將其轉(zhuǎn)化為灰度值,將三通道降為單通道。
(3)計(jì)算差異值。如果前一個(gè)像素的顏色強(qiáng)度大于第二個(gè)像素,則記為True,否則記為False。
(4)計(jì)算兩幀的漢明距離[10]。漢明距離是計(jì)算哈希描述子相似度的一種簡(jiǎn)單而有效的方法,對(duì)比首末兩幀圖像的指紋I1與I2,漢明距離計(jì)算如下:
(1)
其中⊕表示異或運(yùn)算,h1、h2分別表示I1、I2的二進(jìn)制數(shù)值,d(I1,I2)越小,表示兩個(gè)圖像樣本越相似。
添加全局視覺優(yōu)化后,網(wǎng)絡(luò)算法結(jié)構(gòu)如圖1所示,流程如下:
(1)輸入:視頻幀{Ii},聚合范圍為K幀,差異閾值為T,縮小范圍為s幀。
(2)獲取第1幀至第K+1幀的特征(初始化)。
(3)對(duì)于當(dāng)前幀i,算法執(zhí)行步驟(4)~(6)。
(4)判斷幀段第i-K幀與第i+K幀全局視覺差異,若d(Ii-K,Ii+K) (5)將臨近幀的特征進(jìn)行聚合,對(duì)當(dāng)前參考幀i進(jìn)行檢測(cè)。 (6)若使用原聚合范圍則更新第i+K+1幀的特征;若已縮短聚合范圍則更新第i+(K-s)+1幀的特征。 (7)輸出檢測(cè)結(jié)果{yi}。 圖1 基于全局視覺優(yōu)化的視頻目標(biāo)檢測(cè)算法結(jié)構(gòu) 添加多閾值設(shè)計(jì)后,可以在視頻幀送入網(wǎng)絡(luò)檢測(cè)前產(chǎn)生長(zhǎng)短幀數(shù)不同的聚合方式,從而在視頻檢測(cè)過程中生成不同細(xì)粒度的檢測(cè)提議,對(duì)視頻的處理考慮更加細(xì)致。 為了對(duì)本文提出的方法進(jìn)行有效性評(píng)估,使用公共基準(zhǔn)數(shù)據(jù)集ILSVRC:Object detection from video(VID)進(jìn)行實(shí)驗(yàn)。模型的訓(xùn)練和評(píng)估分別是在來自訓(xùn)練集的3 862個(gè)視頻片段和來自驗(yàn)證集的555個(gè)視頻片段上進(jìn)行。視頻片段均完全注釋標(biāo)注,一般幀頻率為25 f/s或30 f/s。共包含30個(gè)目標(biāo)類別,是ImageNet DET數(shù)據(jù)集中的類別子集。本文實(shí)驗(yàn)均在Ubuntu14.04操作系統(tǒng)、CPU 3.0 GHz、GTX 1080Ti的GPU集群上使用Mxnet框架完成。 為了更好地分析視頻目標(biāo)的移動(dòng)速度,根據(jù)真實(shí)情況下目標(biāo)回歸框(ground truth)的運(yùn)動(dòng)速度進(jìn)行劃分。目標(biāo)速度的評(píng)判標(biāo)準(zhǔn)是由其附近幀(±10幀)對(duì)應(yīng)實(shí)例的交并(IoU)平均后得到的分?jǐn)?shù)決定的,稱為“moution IoU”,其分?jǐn)?shù)越低,則說明物體移動(dòng)越快。根據(jù)該分?jǐn)?shù),物體被分為慢(分?jǐn)?shù)>0.9)、中(分?jǐn)?shù)∈[0.7,0.9])和快(分?jǐn)?shù)<0.7)三組,分別評(píng)估三種情況下的測(cè)試效果。 相較于單幀檢測(cè),特征聚合的策略的確可以有效提高網(wǎng)絡(luò)檢測(cè)精度,精度可隨聚合幀數(shù)的增加而提高。但達(dá)到一定幀數(shù)后精度會(huì)趨于飽和,隨后單純地增加聚合幀數(shù)反而會(huì)使精度降低(見表1)??梢奒值的合理選取對(duì)于視頻特征聚合精度是非常重要的。 表1 不同聚合范圍下精確度對(duì)比 (%) 對(duì)于運(yùn)行時(shí)間曲線(圖2),實(shí)驗(yàn)將測(cè)試時(shí)間分為3部分:數(shù)據(jù)準(zhǔn)備時(shí)間(data time)、網(wǎng)絡(luò)檢測(cè)時(shí)間(net time)、檢測(cè)結(jié)果輸出時(shí)間(post time)。實(shí)驗(yàn)發(fā)現(xiàn)測(cè)試過程中主要運(yùn)行時(shí)間為將特征圖送入網(wǎng)絡(luò)后進(jìn)行檢測(cè)所用的時(shí)間,而另外二者相較下用時(shí)可忽略。其次,隨著聚合范圍的增加,網(wǎng)絡(luò)處理時(shí)間隨之增加較大,但其他部分時(shí)間不受明顯影響。觀察曲線可知,多幀特征進(jìn)行聚合在提高檢測(cè)精度的同時(shí),也會(huì)帶來網(wǎng)絡(luò)的計(jì)算負(fù)擔(dān),因此如何在更快的速度下保持更高的檢測(cè)精度是本文實(shí)驗(yàn)的主要目的,即尋找檢測(cè)精度與運(yùn)行時(shí)間之間的折衷策略。 圖2 不同聚合范圍下的運(yùn)行時(shí)間 本文算法對(duì)于當(dāng)前幀i,默認(rèn)聚合范圍為前后K幀,若判斷第i-K幀與第i+K幀的差異大于閾值T時(shí),則縮短參與聚合的幀數(shù),即對(duì)當(dāng)前幀疊加時(shí)使用前后(K-s)幀。在相同實(shí)驗(yàn)環(huán)境下,測(cè)試結(jié)果如表2。比較基準(zhǔn)線為表1中相應(yīng)僅使用長(zhǎng)幀數(shù)進(jìn)行聚合時(shí)的精度。本算法添加了全局視覺粗略差異估計(jì),在視頻檢測(cè)過程中會(huì)有使用長(zhǎng)短兩種聚合范圍的情況,從而對(duì)視頻有更好的適應(yīng)性,快中慢實(shí)驗(yàn)測(cè)試結(jié)果精度均有一定提升。 表2 基于全局視覺優(yōu)化算法檢測(cè)精度 (%) 運(yùn)行時(shí)間方面(見圖3,比較基準(zhǔn)線為圖2中相應(yīng)僅使用長(zhǎng)幀數(shù)進(jìn)行聚合時(shí)的運(yùn)行時(shí)間),本文算法使用長(zhǎng)短兩種聚合范圍,在運(yùn)行時(shí)間上相比原本算法產(chǎn)生較大波動(dòng)主要為網(wǎng)絡(luò)檢測(cè)時(shí)間。本文算法引入的額外時(shí)間較少(data time增加約3 ms),但卻能有效地減少部分情況下的網(wǎng)絡(luò)檢測(cè)時(shí)間,從而在保證檢測(cè)精度的同時(shí),提高檢測(cè)速度。 本文基于原始的FGFA算法,關(guān)注于尋找檢測(cè)精度與運(yùn)行時(shí)間之間的折衷策略,對(duì)檢測(cè)網(wǎng)絡(luò)的輸入進(jìn)行了改進(jìn)。首先進(jìn)行了幀段兩端的差異判斷,判斷當(dāng)前片段的時(shí)序信息相關(guān)性;其次使用連續(xù)幀作為輸入,進(jìn)一步利用視頻的時(shí)序信息,將相鄰幀在運(yùn)動(dòng)路徑上的特征聚合到當(dāng)前幀的特征中。實(shí)驗(yàn)在相同訓(xùn)練集與測(cè)試集下進(jìn)行,結(jié)果顯示視頻中的目標(biāo)檢測(cè)的準(zhǔn)確率提升明顯,且在保證檢測(cè)精度的情況下檢測(cè)速度也有一定提升。但網(wǎng)絡(luò)在檢測(cè)速度方面仍有改進(jìn)空間,下一步可以通過尋找更輕量級(jí)的光流網(wǎng)絡(luò)提高檢測(cè)速度,尋找時(shí)空流更好的聚合方法以縮小模型的大小,使模型應(yīng)用于快速物體移動(dòng)方面更有意義。3 實(shí)驗(yàn)
3.1 特征聚合幀數(shù)與精度、時(shí)間的關(guān)系
3.2 全局視覺優(yōu)化
4 結(jié)束語