論文連結: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和最後的目标分類與回歸。
首先是對于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中的相加,上采樣就是采用的雙線性插值。
對于文中提出的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
從公式上面看的話,這裡的
應該就是上圖中的offset,Δpn就是deformable conv中的偏移量,w應該就是卷積核。
對于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的作用是最大的
與其他sota方法對比,不過很奇怪的是為什麼沒和2019年的方法進行對比呢
TCEet的temp post-proc的方法是Seq-NMS。