天天看點

Temporal Context Enhanced Feature Aggregation for Video Object Detection

論文連結:https://www.aaai.org/ojs/index.php/AAAI/article/view/6727 AAAI2020的一篇文章

主要貢獻:按照文中的說法主要有三個方面:用一個 Temporal context enhanced aggregation module (TCEA) 來聚合視訊序列中幀之間的時空資訊,用DeformAlign module來對齊幀之間空間資訊,這個感覺是在模仿STSN: Object Detection in Video with Spatiotemporal Sampling Networks中的做法(https://blog.csdn.net/breeze_blows/article/details/105323491),最後就是訓練了一個temporal stride predictor來自動的學習訓練過程中選擇需要聚合的幀,而不同于原來一般采用的估計在reference fram周圍以估計stride選擇support frames

整體架構圖如下圖所示,stride predictor用來預測在reference frame附近選擇support frame的stride s(t), deform Align用來對齊Ff+s(t),Ff-s(t)和ft之間的空間資訊。最後将ft和deform Align對齊之後的兩個feature一起用TCEA進行時空資訊的聚合,聚合最後的特征用于rpn和最後的目标分類與回歸。

Temporal Context Enhanced Feature Aggregation for Video Object Detection

首先是對于TCEA,如下圖,從圖中其實可以看到non local和CBAM的影子(https://blog.csdn.net/breeze_blows/article/details/104834567),先是進行temporary的聚合,然後進行spatial,分别是為了找到“when”和"where'的資訊有用,然後聚合到reference frame的feature之中,流程看圖比較容易看明白,其中在spatial attention的時候,max pool和ave pool之後的feature是直接concat在一起的,不同于CBAM中的相加,上采樣就是采用的雙線性插值。

Temporal Context Enhanced Feature Aggregation for Video Object Detection

對于文中提出的deform align,個人感覺和STSN: Object Detection in Video with Spatiotemporal Sampling Networks中的做法(https://blog.csdn.net/breeze_blows/article/details/105323491)很相似,就是用ft和fi融合之後的feature作為Deformable Convolutional Networks的offsets(https://blog.csdn.net/breeze_blows/article/details/104998875),進行deformable conv得到最後對齊之後的feature

Temporal Context Enhanced Feature Aggregation for Video Object Detection

 從公式上面看的話,這裡的

Temporal Context Enhanced Feature Aggregation for Video Object Detection

應該就是上圖中的offset,Δpn就是deformable conv中的偏移量,w應該就是卷積核。

Temporal Context Enhanced Feature Aggregation for Video Object Detection

對于Temporal Stride Predictor,原來視訊目标檢測中訓練的時候在reference frame周圍選擇support frame的方法都是會固定一個stride,比如s0, 假設t為目前reference frame,另外的support frames就會在[t − s0, t, t + s0]這個範圍内選擇,本文的Temporal Stride Predictor認為應該根據視訊序列, 這個Temporal Stride Predictor組成部分:two convolutional layers with 3 × 3 kernel and 256 channels, a global pooling, a fullyconnected layer and a sigmoid function,用reference frame和一幀support frame作為輸入,得到一個deviation score,The deviation score is formally defined as the motion IoU, 訓練的時候ground truth應該就是兩幀中gt box之間的iou,如果score<0.7,就認為物體運動很快,stride設定為9; score ∈ [0.7, 0.9] , stride設定為24, score>0.9,stride設定為38,score越大證明iou越大則目标運動越慢,是以stride就越大。在測試的時候就用目前幀的前十幀計算score來判斷目标速度,進而選取stride(In runtime, at reference frame t, ft and ft−10 are fed to this network to predict the motion speed of frame t.)

按照文中的描述,訓練分為兩個階段,第一個階段用于訓練the DeformAlign module, and TCEA,每次從資料集中選三幀用于訓練,stride固定為9,在第二個階段除了temporal stride predictor的部分其他網絡都被fixed了,即不進行backward的參數更新,訓練的時候選取兩幀,範圍為[5,15]。

最後文中做了消融實驗證明各個子產品的作用,其實可以看出stride predictor的作用是最大的

Temporal Context Enhanced Feature Aggregation for Video Object Detection

與其他sota方法對比,不過很奇怪的是為什麼沒和2019年的方法進行對比呢

Temporal Context Enhanced Feature Aggregation for Video Object Detection

TCEet的temp post-proc的方法是Seq-NMS。

繼續閱讀