夏雨薇,關勝曉
(中國科學技術大學 信息科學技術學院,安徽 合肥 230026)
近年來,視頻中目標檢測受到越來越多的關注,因為它在實際中的應用,如視頻監控、車輛輔助駕駛等領域中擁有巨大的潛力。隨著深度學習的快速發展,計算機視覺也隨之蓬勃發展,圖像目標檢測取得了巨大的進展,檢測性能明顯提升。但將其擴展到視頻領域時仍然具有挑戰性。由于視頻中存在運動模糊、遮擋、形態變化多樣性、光照變化多樣性等問題,僅利用圖像目標檢測技術檢測視頻中的目標并不能得到很好的檢測結果。如何利用視頻中目標時序信息和上下文等信息成為提升視頻目標檢測性能的關鍵。
本文在流引導特征聚合(Flow-Guided Feature Aggregation,FGFA)[1]算法之上,提出基于全局視覺優化的視頻目標檢測算法。首先利用全局視覺優化的思想,使用感知哈希算法在多幀特征聚合前進行幀段兩端的全局視覺相似度計算,判斷當前幀段的時序信息相關性;其次使用連續幀作為輸入,將相鄰幀在運動路徑上的特征聚合到當前幀的特征中,在保持對視頻特征良好表達的同時,使得幀間的信息利用率更高,所聚合的信息得到優化,進而提高檢測精度。ILSVRC實驗表明,經過全局視覺優化的預處理后,本文算法較原本算法在視頻中進行目標檢測的準確率和速度均得到一定提升,也驗證了本文方法的有效性。
與日趨成熟的圖像目標檢測相比,直到近年將新的VID挑戰引入到ImageNet之后,視頻對象檢測的研究才逐步引起重視。目前有一些弱監督的方法[2-3]從視頻中學習目標檢測器。文獻[4]提出了Seq-NMS,建立高信度邊界框序列,并將框重新設置為平均或最大置信度。該方法用作后處理步驟,因此需要額外的運行時間對每幀進行檢測。文獻[5]提出了一種集成生成每幀建議、邊界框跟蹤和管道重評分的框架。但其計算代價昂貴,因為它需要網絡進行每幀特征計算。文獻[6]提出用多任務目標學習目標檢測和跨幀跟蹤,并將幀級檢測鏈接到管道。該方式不進行時間傳播,只在幀之間執行插值。文獻[7]提出了一種有效框架DFF,結合光流的思路,實現特征圖的幀間傳播和復用。算法首先在關鍵幀進行特征圖提取,然后將特征在幀間傳播,最后進行特征圖映射,再進行檢測,通過稀疏選擇關鍵幀來進行昂貴的CNNs計算,特征再通過光流傳播到其他幀。該方法的每幀檢測以降低4.4%平均精度均值(mAP)的成本(從73.9%降至69.5%)實現了10倍加速。FGFA是DFF工作的延續,是基于光流的多幀特征聚合,其提出沿運動路徑聚集附近的特征,提高特征質量,利用前后幀的信息加強當前幀的特征,得到了比較好的識別精度,然而由于密集檢測和光流計算,該方法運行速度較慢。
對于圖像相似性,可根據匹配的形式分為4個層次:(1)像素級別相似。圖像對應像素值的相似程度反映了兩張圖像文件在內容上的一致程度。(2)全局視覺相似。兩張像素級別相似的圖像經過縮放和壓縮等操作后,其對應像素值會產生一定變化,但視覺上仍可保持一致,仍可反映圖像的整體信息。(3)局部視覺相似。兩張全局相似的圖像因為裁剪、拼接等操作不再全局相似,但仍能夠在兩張圖像中各自找到一個局部區域,這兩個局部區域在視覺上基本保持一致[8-9]。(4)語義級別相似。兩張圖像所表達的內容在視覺上差異較大,甚至完全沒有視覺相似區域,但在語義內容上相似。這四種相似層級在信息的對比上由精確到抽象,需要的相似性匹配算法也由簡單到困難,在各類應用場景中都有其獨特的作用。
流引導特征聚合的視頻目標檢測算法(FGFA)在單幀上使用特征提取網絡以獲得每幀的特征圖,然后為了加強當前幀的特征,使用光流網絡估計相鄰幀和當前幀的運動。相鄰幀的特征圖再根據流運動卷曲到當前幀。卷曲后的特征圖及其自己的特征圖一起通過適應權重網絡進行聚合。聚合得到的特征圖結果再被送入檢測網絡產生當前幀的檢測結果。視頻幀中的目標在運動過程中可能會出現較大外觀變化,對于每一個輸入幀,在參考幀i處特征激活較低,若僅對該幀進行檢測會導致當前幀目標檢測失敗。附近i-K至i+K幀具有較高的激活,經過FGFA后,當前參考幀的特征得到增強,從而檢測成功。
對于視頻單幀檢測常會有不穩定的結果,因此添加多幀進行信息的聚合。由于特征聚合涉及前后K幀,幀數K的合理取值對于聚合的準確性和網絡有效性很關鍵,取值太大會導致當前幀信息的弱化,而取值太小會導致特征聚合效果不明顯。因此,如何獲得使網絡在檢測過程中自主判斷選擇合適的聚合幀數K值是一個值得思考的問題。原始方法中,網絡對所有幀均使用了相同數量的前后幀數進行數據聚合,并沒有考慮整個運動過程中不同運動的情況。對于多幀特征聚合,在直觀認知下,當目標移動產生的移動距離較遠時,特征聚合會引入較大的誤差,所以需要考慮物體不同運動情況下不同速度的問題。
原本方法中,對視頻中的各種情況都使用了相同數量的前后幀數進行數據聚合,沒有考慮該幀段內圖像變化程度。本實驗在檢測過程中,添加了多閾值的設計,對于每一參考幀i,先對幀段兩端(第i-K幀與第i+K幀)視頻作粗略相似度判斷,當兩端差異大于所設閾值T時,認為該視頻段的差異較大,全部參與聚合時誤差會較大,則將幀數兩端各縮短s幀后輸入網絡。實驗所選差異判斷方式為計算全局視覺相似度常用的感知哈希算法。它對每一圖像生成一個“指紋”字符串,然后比較不同圖像的指紋,結果越接近,就表示圖像越相似。感知哈希判斷如下:
(1)壓縮。因為原始圖像的尺寸都較大,會有相當大的計算量,現在將其壓縮至8×8,將圖像中的高頻和細節部分移除,只關注大致差異。
(2)灰度化。縮放后的圖像細節已經被隱藏,信息量減少。但其仍是三通道(RGB)值的組成信息量,如果直接使用三通道的值對比顏色強度差異計算會比較復雜,因此將其轉化為灰度值,將三通道降為單通道。
(3)計算差異值。如果前一個像素的顏色強度大于第二個像素,則記為True,否則記為False。
(4)計算兩幀的漢明距離[10]。漢明距離是計算哈希描述子相似度的一種簡單而有效的方法,對比首末兩幀圖像的指紋I1與I2,漢明距離計算如下:

(1)
其中⊕表示異或運算,h1、h2分別表示I1、I2的二進制數值,d(I1,I2)越小,表示兩個圖像樣本越相似。
添加全局視覺優化后,網絡算法結構如圖1所示,流程如下:
(1)輸入:視頻幀{Ii},聚合范圍為K幀,差異閾值為T,縮小范圍為s幀。
(2)獲取第1幀至第K+1幀的特征(初始化)。
(3)對于當前幀i,算法執行步驟(4)~(6)。
(4)判斷幀段第i-K幀與第i+K幀全局視覺差異,若d(Ii-K,Ii+K) (5)將臨近幀的特征進行聚合,對當前參考幀i進行檢測。 (6)若使用原聚合范圍則更新第i+K+1幀的特征;若已縮短聚合范圍則更新第i+(K-s)+1幀的特征。 (7)輸出檢測結果{yi}。 圖1 基于全局視覺優化的視頻目標檢測算法結構 添加多閾值設計后,可以在視頻幀送入網絡檢測前產生長短幀數不同的聚合方式,從而在視頻檢測過程中生成不同細粒度的檢測提議,對視頻的處理考慮更加細致。 為了對本文提出的方法進行有效性評估,使用公共基準數據集ILSVRC:Object detection from video(VID)進行實驗。模型的訓練和評估分別是在來自訓練集的3 862個視頻片段和來自驗證集的555個視頻片段上進行。視頻片段均完全注釋標注,一般幀頻率為25 f/s或30 f/s。共包含30個目標類別,是ImageNet DET數據集中的類別子集。本文實驗均在Ubuntu14.04操作系統、CPU 3.0 GHz、GTX 1080Ti的GPU集群上使用Mxnet框架完成。 為了更好地分析視頻目標的移動速度,根據真實情況下目標回歸框(ground truth)的運動速度進行劃分。目標速度的評判標準是由其附近幀(±10幀)對應實例的交并(IoU)平均后得到的分數決定的,稱為“moution IoU”,其分數越低,則說明物體移動越快。根據該分數,物體被分為慢(分數>0.9)、中(分數∈[0.7,0.9])和快(分數<0.7)三組,分別評估三種情況下的測試效果。 相較于單幀檢測,特征聚合的策略的確可以有效提高網絡檢測精度,精度可隨聚合幀數的增加而提高。但達到一定幀數后精度會趨于飽和,隨后單純地增加聚合幀數反而會使精度降低(見表1)。可見K值的合理選取對于視頻特征聚合精度是非常重要的。 表1 不同聚合范圍下精確度對比 (%) 對于運行時間曲線(圖2),實驗將測試時間分為3部分:數據準備時間(data time)、網絡檢測時間(net time)、檢測結果輸出時間(post time)。實驗發現測試過程中主要運行時間為將特征圖送入網絡后進行檢測所用的時間,而另外二者相較下用時可忽略。其次,隨著聚合范圍的增加,網絡處理時間隨之增加較大,但其他部分時間不受明顯影響。觀察曲線可知,多幀特征進行聚合在提高檢測精度的同時,也會帶來網絡的計算負擔,因此如何在更快的速度下保持更高的檢測精度是本文實驗的主要目的,即尋找檢測精度與運行時間之間的折衷策略。 圖2 不同聚合范圍下的運行時間 本文算法對于當前幀i,默認聚合范圍為前后K幀,若判斷第i-K幀與第i+K幀的差異大于閾值T時,則縮短參與聚合的幀數,即對當前幀疊加時使用前后(K-s)幀。在相同實驗環境下,測試結果如表2。比較基準線為表1中相應僅使用長幀數進行聚合時的精度。本算法添加了全局視覺粗略差異估計,在視頻檢測過程中會有使用長短兩種聚合范圍的情況,從而對視頻有更好的適應性,快中慢實驗測試結果精度均有一定提升。 表2 基于全局視覺優化算法檢測精度 (%) 運行時間方面(見圖3,比較基準線為圖2中相應僅使用長幀數進行聚合時的運行時間),本文算法使用長短兩種聚合范圍,在運行時間上相比原本算法產生較大波動主要為網絡檢測時間。本文算法引入的額外時間較少(data time增加約3 ms),但卻能有效地減少部分情況下的網絡檢測時間,從而在保證檢測精度的同時,提高檢測速度。 本文基于原始的FGFA算法,關注于尋找檢測精度與運行時間之間的折衷策略,對檢測網絡的輸入進行了改進。首先進行了幀段兩端的差異判斷,判斷當前片段的時序信息相關性;其次使用連續幀作為輸入,進一步利用視頻的時序信息,將相鄰幀在運動路徑上的特征聚合到當前幀的特征中。實驗在相同訓練集與測試集下進行,結果顯示視頻中的目標檢測的準確率提升明顯,且在保證檢測精度的情況下檢測速度也有一定提升。但網絡在檢測速度方面仍有改進空間,下一步可以通過尋找更輕量級的光流網絡提高檢測速度,尋找時空流更好的聚合方法以縮小模型的大小,使模型應用于快速物體移動方面更有意義。
3 實驗
3.1 特征聚合幀數與精度、時間的關系


3.2 全局視覺優化

4 結束語