1. 程式人生 > >20.Flow-Guided Feature Aggregation for Video Object Detection

20.Flow-Guided Feature Aggregation for Video Object Detection

用於視訊目標檢測的流引導特徵聚合

摘要

將最先進的目標檢測器從影象擴充套件到視訊是具有挑戰性的。檢測的準確性受到視訊中外觀惡化的影響,例如,運動模糊,視訊散焦,罕見姿勢等。現有工作試圖在盒級上利用時間資訊,但是這種方法不是端對端訓練的。我們提出了流引導特徵聚合,一種用於視訊目標檢測的精確的端到端學習框架。它利用了特徵級別的時間一致性。它通過沿運動路徑聚合附近特徵來改善每幀特徵,從而提高視訊識別精度。我們的方法顯著改進了ImageNet VID中強大的單幀基線[33],特別是具有挑戰性的快速移動物件。我們的框架是有原則的,與贏得2016年ImageNet VID挑戰的最佳工程系統相同,沒有額外的花哨。所提出的方法與深度特徵流[49]一起,為ImageNet VID挑戰2017的獲獎作品提供了動力。該程式碼可在github中檢視。

 

  1. 引言

近年來在目標檢測方面取得了顯著進展[11]。最先進的方法具有類似的兩階段結構。深度卷積神經網路(CNN)[22,36,40,14]首先應用於在整個輸入影象上生成一組特徵圖。然後,粗糙的檢測特定網路[13,10,30,26,5]從特徵圖生成檢測結果。

這些方法在靜止影象中獲得優異的結果。但是,將它們直接應用於視訊目標檢測是具有極大挑戰性的。識別精度受到在靜止影象中很少觀察到的視訊中的物件外觀惡化的影響,例如運動模糊,視訊散焦,罕見姿勢等等(參見圖1中的示例以及圖2中的更多示例)。在實驗中量化時,最先進的靜止影象目標檢測器(R-FCN[5]+ResNet-101[14])對於快速移動的物體會顯著惡化(表1(a))。

然而,視訊具有關於同一物件例項的豐富資訊,通常在短時間內在多個“快照”中觀察到。在現有的視訊目標檢測方法[18,19,12,23]中以簡單的方式利用這種時間資訊。這些方法首先在單個幀中應用目標檢測器,然後在專用的後處理步驟中跨越時間維度組裝檢測到的邊界框。此步驟依賴於現成的運動估計,例如光流,以及手工製作的邊界框關聯規則,例如物件跟蹤。通常,這種方法操縱具有普通特性的單幀檢測盒,但不提高檢測質量。效能改進來自啟發式後處理而不是原則學習。沒有端到端的訓練。在這項工作中,這些技術稱為盒級方法。

我們試圖深入研究視訊目標檢測。我們尋求通過以原則方式利用時間資訊來提高檢測或識別質量。由於影象識別的成功[11],特徵很重要,我們建議通過時間聚合來改進每幀特徵學習。請注意,由於視訊運動,相同物件例項的功能通常不會跨幀在空間上對齊。如下表1(b)所述,樸素的特徵聚合甚至可能使效能惡化。這表明在學習過程中對運動進行建模至關重要。

在這項工作中,我們提出了流引導特徵聚合(FGFA)。如圖1所示,特徵提取網路應用於各個幀以產生每幀特徵對映。為了增強參考幀的特徵,光流網路[8]估計附近幀和參考幀之間的運動。來自附近幀的特徵對映根據流動運動被扭曲到參考幀。根據自適應加權網路聚合變形特徵對映以及參考幀上自己的特徵對映。然後將得到的聚合特徵圖饋送到檢測網路以在參考幀上產生檢測結果。特徵提取,流估計,特徵聚合和檢測的所有模組都是端到端訓練的。

與盒級方法相比,我們的方法在特徵級別上工作,執行端到端學習並且是互補的(例如,對於Seq-NMS [12])。它改進了逐幀功能並生成高質量的邊界框。這些方框可以通過盒級方法進一步修改。我們的方法是在大型ImageNet VID資料集上進行評估的[33]。嚴格的消融研究證明它是有效的,並在強大的單幀基線上得到顯著改善。與盒級方法相結合可以進一步改進。我們報告的目標檢測精度與贏得ImageNet VID挑戰的最佳工程系統相同,沒有額外的功能(例如,模型整合,多尺度訓練/測試等)。

另外,我們根據物體運動幅度進行深入評估。結果表明,快速移動的物體比慢速物體更具挑戰性。這也是我們的方法獲得最大收益的地方。我們的方法可以有效地利用快速移動物體的各種快照中的豐富外觀資訊。所提出的方法與深度特徵流[49]一起,為2017年ImageNet VID挑戰的獲勝條目提供了動力。該程式碼在github上公開發布。

 

2.相關工作

影象的目標檢測。用於一般目標檢測的現有技術[10,30,26,5],主要基於深度CNN [22,36,40,14]。在[11]中,提出了一種具有多級傳播途徑,稱為區域卷積神經網路(R-CNN),用於訓練深度CNN以對用於目標檢測的區域進行分類。為了加速,ROI池化被引入SPP-Net [13]和Fast R-CNN [10]中整個影象上共享的特徵圖譜。在Faster R-CNN [30]中,區域由區域提議網路(RPN)生成,並且特徵在RPN和Fast R-CNN之間共享。最近,RFCN [5]取代了中間特徵圖上的ROI池化操作,並在最終得分圖上進行了位置敏感的ROI池化操作,將功能共享推向極致。

與靜止影象目標檢測的這些方法相比,我們的方法側重於視訊中的目標檢測。它結合了時間資訊以提高卷積特徵圖的質量,並且可以很容易地從靜止影象目標檢測器的改進中受益。

視訊目標檢測。最近,ImageNet引入了一種新的視訊目標檢測挑戰(VID),它將目標檢測帶入了視訊領域。在這一挑戰中,幾乎所有存在的方法僅在最後階段“邊界框後處理”中包含時間資訊。T-CNN [18,19]根據預先計算的光流將預測的邊界框傳播到相鄰幀,然後通過應用來自高信任邊界框的跟蹤演算法生成小管。沿著小管的盒子基於小管分類重新評分。Seq-NMS [12]沿著連續幀的附近高精度邊界框構建序列。將序列的框重新評分為平均信度,抑制接近該序列的其他框。 MCMOT[23]將後處理制定為多物件跟蹤問題。一系列手工製作規則(例如,關於濾波器的檢測器,顏色/運動線索,變化點檢測和前向後驗證)用於確定邊界框是否屬於被跟蹤物件,並進一步重新確定跟蹤結果。不幸的是,所有這些方法都是多階段傳輸途徑,每個階段的結果將依賴於前一階段的結果。因此,很難糾正前一階段產生的錯誤。

相比之下,我們的方法考慮特徵級別的時間資訊而不是最終的盒子級別。整個系統是針對視訊目標檢測任務進行端到端訓練的。此外,我們的方法可以進一步結合這種邊界框後處理技術,以提高識別精度。

流的運動估計。視訊中的時間資訊需要原始畫素或特徵中的對應關係以建立連續幀之間的關係。光流被廣泛用於許多視訊分析和處理。傳統方法主要採用變分方法[2,15],主要針對小位移[43]。最近的重點是大位移[3],並且組合匹配(例如,DeepFlow [44],EpicFlow [31])已經整合到變分方法中。這些方法都是手工製作的。基於深度學習的方法(例如,FlowNet [8]及其後繼者[28,17])最近已被用於光流。與我們最相關的工作是深度特徵流[49],它表明視訊中的資訊冗餘可以被利用來加速視訊識別,同時精度下降很小。它顯示了聯合訓練流網子網和識別子網的可能性。

在這項工作中,我們關注於在連續幀中關聯和組合豐富的外觀資訊,提高特徵表示,從而提高了視訊識別的準確性。我們遵循深度特徵流的設計,以實現跨幀的特徵變形。

特徵聚合。特徵聚合廣泛用於動作識別[34,20,24,47,38,1,21,41]和視訊描述[7,46]。一方面,大多數這些工作[34,24,47,7,46,1,9,35]使用遞迴神經網路(RNN)來聚合來自連續幀的特徵。另一方面,完整的時空卷積用於直接提取時空特徵[38,21,41,42]。但是,這些方法中的卷積核大小可能會限制對快速移動目標的建模。為了解決這個問題,應該考慮一個較大的卷積核,但它會大大增加引數的數量,帶來過擬合,較大的計算開銷和記憶體消耗等問題。相比之下,我們的方法依賴於流指導聚合,並且可以擴充套件到不同型別的目標運動。

視覺跟蹤。最近,深度CNN已被用於目標跟蹤[25,16],並取得了令人印象深刻的跟蹤精度。當跟蹤新目標時,通過將預先訓練的CNN中的共享層與線上更新的新二進位制分類層組合來建立新網路。跟蹤明顯不同於視訊目標檢測任務,因為它假設目標在第一幀中的初始定位,並且它不需要預測類標籤。

 

3.流引導特徵聚合

3.1基線和動機

給定輸入視訊幀{Ii},i = 1,...,∞,我們的目標是輸出在所有幀上目標的邊界框,{yi},i = 1,...,∞。基線方法是將現成的目標檢測器單獨應用於每個幀。

現代的基於CNN的目標檢測器具有相似的結構[11,10,30,26,5]。在輸入影象I上應用深度卷積子網路Nfeat,以在整個影象上產生特徵對映f = Nfeat(I)。在特徵圖上應用簡單檢測特定子網Ndet以生成輸出,y = Ndet(f)。

視訊幀包含相同目標例項的劇烈外觀變化,如圖2所示。單幀上的檢測會產生不穩定的結果,並且在外觀不佳時會失敗。圖1給出了一個例子。由於運動模糊,“貓”類別的特徵響應在參考幀t處較低。這會導致單幀檢測失敗。觀察到附近的幀t-10和t+10具有高響應,它們的特徵可以傳播到參考幀。增強參考幀上的功能後,對其的檢測成功。

這種特徵傳播和增強需要兩個模組:1)運動引導的空間扭曲。它估計幀之間的運動並相應地扭曲特徵圖。2)特徵聚合模組。它詳細說明了如何從多個框架中正確融合功能。與特徵提取和檢測網路一起,這些是我們方法的構建塊。它們在下面詳細說明。

 

3.2 模型設計

流引導扭曲。如[49]所示,給定參考幀Ii和相鄰幀Ij,流網路F(例如,FlowNet [8])估計流場Mi→j = F(Ii,Ij)。


根據流將相鄰幀上的特徵對映扭曲到參考幀。扭曲函式定義為

其中W(·)是在特徵對映中為每條通道應用於所有位置的雙線性扭曲函式,並且fj→i表示從幀j到幀i扭曲的特徵對映。


功能聚合。在特徵扭曲之後,參考幀累積來自附近幀(包括其自身)的多個特徵對映。這些特徵圖譜提供了目標例項的各種資訊(例如,變化的照明/視點/姿勢/非剛性變形)。對於聚合,我們在不同的空間位置使用不同的權重,並讓所有特徵通道共享相同的空間權重。用於扭曲特徵fj→i的2維權重圖表示為    wj→i。然後獲得參考幀¯fi處的聚合特徵

其中K指定用於聚合的相鄰幀的範圍(預設K = 10)。等式(2)類似於注意力模型的公式[32],其中將不同的權重分配給儲存緩衝器中的特徵。


然後將聚合特徵¯fi饋送到檢測子網路中以獲得結果,

與基線和先前的盒級方法相比,我們的方法在產生最終檢測結果之前聚合來自多個幀的資訊。


自適應權重。自適應權重指示所有緩衝幀[Ii-K,...,Ii+K]對於每個空間位置處的參考幀Ii的重要性。具體地,在位置p處,如果變形特徵fj→i(p)接近特徵fi(p),則將其分配給更大的權重。否則,分配較小的權重。在這裡,我們使用餘弦相似性度量[27]來測量扭曲特徵和從參考幀提取的特徵之間的相似性。此外,我們不直接使用從Nfeat(I)獲得的卷積特徵。相反,我們將一個微小的完全卷積網路E(·)應用於特徵fi和fj→i,它將這些特徵投射到用於相似性度量的新嵌入,並被稱為嵌入子網路。我們估計權重


其中fe = ε(f)表示用於相似性測量的嵌入特徵,並且對於附近幀上的每個空間位置p,權重wj→i被歸一化,

可以將權重估計視為嵌入特徵之間的餘弦相似性通過SoftMax操作的過程。

 

3.3 訓練和推理


推理。演算法1總結了演算法。給定連續幀{Ii}的輸入視訊和指定的聚合範圍K,所提出的方法順序地處理每個幀,在附近的幀上具有滑動特徵緩衝區(通常長度為2K+1,除了開始和結束K之外的幀)。初始時,在開始的K+1幀上應用特徵網路以初始化特徵緩衝區(L2-L4在演算法1中)。然後,演算法遍歷所有視訊幀以執行視訊目標檢測,並更新特徵緩衝區。對於作為參考的每個幀i,特徵緩衝區中的附近幀的特徵對映相對於它變形,並且計算它們各自的聚合權重(L6-L10)。然後聚合扭曲的特徵並將其饋送到檢測網路以進行目標檢測(L11-L12)。在將第(i+1)幀作為參考之前,在第(i+K+1)幀上提取特徵圖並將其新增到特徵緩衝器(L13)。

至於執行時複雜性,所提出的方法與單幀基線的比率為


其中O(·)測量函式的複雜性。通常,當與Nfeat進行比較時,可以忽略Ndet,ε和W的複雜性。該比率近似為:r≈

增加的計算主要來自F.這是可以承受的,因為一般來說,F的複雜性也遠低於Nfeat。

訓練。整個FGFA架構完全可以區分,可以進行端到端的訓練。唯一需要注意的是,特徵變形模組是通過雙線性插值實現的,也是完全可微的w.r.t.特徵圖譜和流域都是。

時域dropout。在SGD訓練中,聚合範圍編號K受記憶體限制。我們在推理中使用大K但在訓練中使用小K(預設= 2)。這不是問題,因為自適應權重分別在訓練和推理期間被適當地標準化。注意,在訓練期間,從大於等於推理期間的範圍中隨機取樣相鄰幀。作為dropout[37]技術的類比,通過丟棄隨機時間幀,可以將其視為時間丟失。如表3所示,該訓練策略運作良好。

3.4 網路架構

我們在FGFA模型中介紹了不同的典型子網路。

流網路。我們使用FlowNet [8](“簡單”版本)。它是在飛行椅資料集[8]上預先訓練的。它適用於半解析度的影象,輸出步長為4。由於特徵網路的輸出步長為16(見下文),因此流域縮小一半以匹配特徵圖的解析度

特徵網路。我們採用最先進的ResNet(-50和-101)[14]和Inception-Resnet [39]作為特徵網路。原始lInception-ResNet專為影象識別而設計。為了解決特徵未對準問題並使其適用於目標檢測,我們使用了一個被稱為“Aligned-Inception-ResNet”的修改版本,在[6]中有描述。ResNet-50,ResNet-101和Aligned-Inception-ResNet模型都是經過預先訓練的ImageNet分類。

在我們的FGFA模型中,預訓練模型被製作成特徵網路。我們稍微修改了三個用於目標檢測的模型的性質。我們刪除了結束平均池化和全連線層,以及保留卷積層。為了提高特徵解析度,按照[4,5]中的實踐,最後一個塊的有效步長從32變為16。特別是在最後一個塊的開頭(ResNet和Aligned-Inception-ResNet的“conv5”),步長從2變為1。為了保持感受野大小,最後一個塊中卷積層(核心大小> 1)的擴張設定為2。最後,在頂部應用隨機初始化的3×3卷積以將特徵維度減少到1024。

嵌入網路。它有三層:1×1×512卷積,3×3×512卷積和1×1×2048卷積。它是隨機初始化的。

檢測網路。我們使用最先進的R-FCN[5]並遵循[49]中的設計。在1024維特徵對映之上,應用RPN子網和R-FCN子網,分別連線到第一個512維和最後512維的特徵。在RPN中使用9個錨點(3個標度和3個縱橫比),並且在每個影象上產生300個建議。R-FCN中的位置敏感得分圖是7×7組

 

4.實驗

4.1實驗設定

ImageNetVID資料集[33]。它是視訊目標檢測的大型基準測試基準。遵循[18,23]中的提議,分別從來自驗證集的555個片段中的3,862個視訊片段進行模型訓練和評估。這些片段是完全註釋的,一般幀速率為25或30 fps。有30個目標類別。它們是ImageNet DET資料集中類別的子集。

慢速,中速,快速移動。為了得到一個更好的分析,目標的標籤根據其運動速度進行分類。物體的速度通過其平均交併集(IoU)分數與其附近幀中的相應例項(±10幀)來測量。該指標被稱為“運動IoU”。運動IoU越低,物體就越快。圖3顯示所有運動IoU分數的直方圖。根據得分,目標分為慢速(得分> 0.9),中等(得分ε[0.7,0.9])和快速(得分<0.7)組。各組的例項如圖4所示。

在評估中,除了標準平均精確度(mAP)評分外,我們還分別對慢速,中速和快速組進行分析,分別表示為mAP(慢速),mAP(中等)和mAP(快速)。這為我們提供了更詳細的分析和深入的理解。

實施細節。在訓練期間,在[18,23]之後,使用了ImageNet DET訓練和ImageNet VID訓練集。進行兩階段訓練。在第一階段,特徵和檢測網路在ImageNet DET上進行訓練,使用ImageNet VID中的30個類別的註釋。進行SGD訓練,每個小批次都有一張影象。在4個GPU上執行120K迭代,每個GPU保持一個小批量。在第一個80K和最後40K迭代中,學習率分別為10-3和10-4。在第二階段,整個FGFA模型在ImageNet VID上進行訓練,其中特徵和檢測網路來自從第一階段的權重初始化。在4個GPU上進行60K迭代,學習率分別為10-3和10-4,分別為40K和20K。在訓練和推理中,影象被調整為用於特徵網路的600畫素的較短邊,以及用於流網路的300畫素的較短邊。實驗在具有Intel E52670 v2 CPU 2.5GHz和Nvidia K40 GPU的工作站上執行。

 

4.2消融研究

FGFA架構設計。表1將我們的FGFA與單幀基線及其變體進行了比較。方法(a)是單幀基線。它使用ResNet-101的mAP為73.4%。它接近[49]中73.9%的mAP,也是基於R-FCN和ResNet-101。

這表明基線是競爭性的,並且是評估的有效參考。請注意,我們不會新增像多尺度訓練/測試,利用上下文資訊,模型集合等的花裡胡哨,以便於比較和得出明確的結論。

對運動組的評估表明,檢測快速運動的物件具有挑戰性:慢動作的mAP為82.4%,快動作的mAP降至51.4%。由於不同尺寸的物體可能具有不同的運動速度,我們進一步分析物體尺寸的影響。表2顯示了不同運動速度的小,中,大目標的mAP分數。它表明,“快速運動”是一個內在的挑戰,無論物體有多大。

方法(b)是樸素的特徵聚集方法和FGFA的簡併變體。沒有使用流運動。流程圖Mi→j在等式(1)中被設定為全零。不使用自適應加權。權重wi→j在等式(2)中設定為1/(2K+1)。該變體也以與FGFA相同的方式進行端對端訓練。使用ResNet101,mAP降低至72.0%,比基線(a)低1.4%。快速運動(51.4%→44.6%)的減少比慢動作(82.4%→82.3%)更顯著。它表明在視訊目標檢測中考慮運動至關重要。

方法(c)將自適應加權模組新增到(b)中。它的mAP為74.3%,比(b)高2.3%。請注意,新增自適應加權方案對mAP(慢速)和mAP(中等)沒什麼幫助,但對於mAP(快速)(44.6%→52.3%)很重要。圖5(左)顯示快速移動例項的自適應權重集中於靠近參考的幀,其具有相對小的位移w.r.t.一般的參考。

方法(d)是提出的FGFA方法,其將流引導的特徵聚合模組新增到(c)。它將mAP得分提高2%至76.3%。快速運動的改善更為顯著(52.3%→57.6%)。圖5顯示(d)中的自適應權重在相鄰幀上比(c)更均勻地分佈,並且對於快速運動而言最明顯。它表明流引導的特徵聚合有效地促進了特徵聚合中附近幀的資訊。與單幀基線(a)相比,所提出的FGFA方法將總mAP評分提高2.9%,mAP(快)提高6.2%。一些示例結果如圖6所示。

方法(e)是(d)的簡併版本,不使用端到端訓練。它採用來自單幀基線(a)的特徵和檢測子網路,以及預先訓練好的現成FlowNet。在訓練期間,固定這些模組並且僅學習嵌入子網路。它顯然比(d)更糟糕。這表明了FGFA中端到端訓練的重要性。

至於執行時,使用ResNet-101和FlowNet,提出的FGFA方法需要733ms來處理一幀。它比單幀基線(288ms)慢,因為每幀的流量網路評估為2K + 1(K = 10)次。為了減少評估次數,我們還嘗試了另一種版本的FGFA,其中流網路僅應用於相鄰的幀對。通過組合中間流獲得的非相鄰框架之間的流場。以這種方式,每個相鄰幀對上的流域計算可以重新用於不同的參考幀。FGFA的每幀計算時間減少到356ms,比733ms快得多。由於流場組成中的誤差累積,精度略微降低(~1%)。

#訓練和推理中的幀.由於記憶體問題,我們在本實驗中使用了輕量級的ResNet-50。我們在SGD訓練期間(5幀到達記憶帽)中嘗試了每個小批量中的2幀和5幀,以及推斷中的1,5,9,13,17,21和25幀。表3中的結果表明,2幀和5幀的訓練達到非常接近的準確度。這驗證了我們的時域dropout訓練策略的有效性。在推斷中,正如預期的那樣,隨著使用更多幀,準確度提高。改善在21幀飽和。預設情況下,我們在訓練中取樣2幀,並在推理中聚合超過21幀。

4.3與盒級技術相結合

我們的方法專注於提高視訊幀中的特徵質量和識別準確度。輸出目標框可以通過先前的盒級技術進一步改進作為後處理。特別是,我們測試了三種流行技術,即運動引導傳播(MGP)[18],Tubelet重新分析[18]和Seq-NMS [12]。請注意,MGP和Tubelet重新計算用於ImageNet VID challenge 2015 [18]的獲獎作品。 我們利用官方公共程式碼進行MGP和Tubelet重新計算,並重新實現了Seq-NMS。

表4列出了結果。這三種技術首先使用ResNet-101模型與我們的單幀基線相結合。它們都改善了基線。這表明這種後處理技術是有效的。在他們之間,Seq-NMS獲得最大的收益。當使用ResNet-101模型將它們與FGFA組合時,MGP和Tubelet重新評估沒有觀察到改善。然而,Seq-NMS仍然有效(mAP增加到78.4%)。 通過使用Aligned-Inception-ResNet作為特徵網路,FGFA + Seq-NMS的mAP進一步提高到80.1%,表明Seq-NMS與FGFA高度互補。

與最先進的系統進行比較.與影象目標檢測不同,視訊目標檢測的範圍包括原則指標[48]以及評估和比較指南。ImageNet VID挑戰2015和2016中的現有主要條目顯示了令人印象深刻的結果,但它們是複雜且高度工程化的系統,具有各種尺度和功能。這使得不同作品之間的直接和公平的比較變得困難。

這項工作旨在為視訊目標檢測而不是最佳系統的原則提供學習框架。FGFA在強單幀基線上的穩固改善驗證了我們方法的有效性。 作為參考,ImageNet VID挑戰2016(NUIST團隊)[45]的獲獎作品在ImageNet VID驗證中獲得81.2%的mAP。它使用各種技術,如模型整合,級聯檢測,上下文資訊和多尺度推理。相反,我們的方法不使用這些技術(僅使用Seq-NMS)並且以80.1%實現最佳mAP。 因此,我們得出結論,即使是目前最好的工程系統,我們的方法也具有很強的競爭力。

 

5.結論和未來工作

這項工作為視訊目標檢測提供了一個準確的,端到端和原則性的學習框架。 由於我們的方法側重於提高功能質量,因此它將與現有的盒級框架互補,以提高視訊幀的準確性。有幾個重要方面需要進一步探索。我們的方法可以減慢速度,並且可以通過更輕量級的流量網路進行調整。快速物體運動仍有很大的空間需要改進。更多註釋資料(例如,YouTube-BoundingBoxes [29])和精確流量估計可能有益於改進。我們的方法可以進一步利用聚合中更好的自適應儲存器方案而不是使用的注意模型。我們相信這些開放性問題將激發更多未來的工作。