論文筆記:Prediction-Tracking-Segmentation


Prediction-Tracking-Segmentation

2019-04-09 18:47:30

 

Paperhttps://arxiv.org/pdf/1904.03280.pdf 

 

之所以要講這篇文章,是因為,我很喜歡這個文章的思路,即:基於 prediction 的跟蹤。廢話不多說,來看文章的核心思想:Prediction-Tracking-Segmentation。文章的提到,現有的跟蹤和分割的方法都是基於 appearance 的,而很少有考慮 motion information;特別是基於 tracking-by-detection 的 framework,嚴重依賴於 Local search region;從而導致對某些挑戰性的因素,特別敏感。這些因素有:occlusion,fast motion and camera motion。

 

如上圖所示,即便是目前 SOTA 的跟蹤算法 SiamMask(CVPR-2019) 在處理遮擋問題上,也很是頭疼。於是作者提出充分利用 motion information 來解決上述難度:

 

給定圖像的目標運動是 camera motion 和 object motion 的疊加。前者是隨機的,而后者是符合 Newton's First Law 。我們首先每間隔 n 幀,選擇一個 reference frame,所以,將 long video 分解為多個 n-frame video 的短視頻。第二,作者采用 ARIT("Action recognition with improved trajectories." ICCV 2013.)提出的方法來 camera motion 和 object motion 在每一個短視頻內部進行分離。ARIT 假設 pending detection frame 及其 reference frame 是與 homography 相關的。這個假設在大部分的場景下都是成立的,因為一般兩幀時間的運動是較小的。為了預測 homography,第一步是找到兩幀之間的對應關系。在 ARIT 中,我們組合了 SURF features 和 從光流中得到的 motion vectors,來產生足夠的和互補的候選匹配。此處,我們采用 PWCNet ProjectCode) 來進行 dense flow generation。

 

由於 homography matrix 包含 8 個 free variables,至少應該用 4 個 background points pairs。我們用 Eq 1 來計算 the least square solution,並且用 RANSAC 優化得到魯棒的 solution。由於有如下的假設:the background occupies more than half of the images, 我們將視頻幀之間的 matching points 分化為 4 個部分,然后每一個 point 在每一個選擇的 piece 內部是隨機選擇的,用於改善 RANSAC algorithm 的效率:

簡單起見,所有的后續操作都是在 reference coordinate,投影回當來的視頻幀。圖3 展示了分解步驟的工作原理:

  

這個視頻是由手持攝像機拍攝的,並且有抖動的背景。行人的運動是高度不可預測的。但是,通過將 target frame 投影到 reference frame 上,行人的運動變的更加可預測和連續。為了找到最具有代表性的目標位置,我們計算了物體分割的 “center of mass” :

背景運動預測 和 掩膜分割 的噪聲可以被引入到物體位置預測中,從而影響預測的精度。為了更好的預測物體狀態,我們利用 Kalman Filter 通過當前和前一幀的度量(measurement),來提供准確的位置信息。作為經典的跟蹤算法,the Kalman Filter 通過如下兩步來預測物體的狀態:prediction 和 correction。在 Prediction 步驟,基於 the dynamic model (Eq. 3) 來預測目標狀態,產生用於 Siamese Tracker 的搜索區域,以進行物體分割。所以,下一幀物體位置的預測度量可以用 Eq. 2 來計算。然后,在 Correction 步驟,給定來自 Siamese Network 的位置度量,在當前的步驟中,可以更加確定位置度量的置信度。

 

用於物體位置更新的 dynamic model 可以表達為:

在上述公式中,等號左側的 x 是 priori state estimation,是帶有位置信息的 4 維的向量 [x, y, dx, dy]。需要注意的是,速度項 (dx, dy) 是從 time t-1 and t 之間的信息預測得到的。wt 是系統中的隨機噪聲。Ft 是從 time t-1 到 t 的轉移矩陣。

 

在預測狀態之后,the Kalman Filter 利用 measurements 來矯正其預測,用 Eq. 4。在公式中,$\hat{y}_t$ 是 prediction 和 measurement 之間的 residuals。$K_t$ 是給定的最優 Kalman gain,從預測的噪聲協方差,measure matrix and measurement matrxi covariance 中得到的,如公式 5 所示。

 

需要注意的是,由於 Kalman Filter 是一個 recursive algorithm,預測的 error covariance (P) 也應該根據預測結果,進行更新。

 

有了上述預測,我們就可以以上述預測的物體位置為中心點,確定一個搜索區域。我們將預測的物體中心位置投影回到 pending detection frame,用 Eq. 6: 

 

給定預測的位置,我們從而可以設置搜索區域 S:

 

搜索區域大小 S 應該根據 Eq. 8 預測的速度,進行調整。v 是 Kalman Filter 預測的速度,T 是速度的閾值。搜索區域以中心點 $P_{r_k+t}$ 裁剪下來,然后 resize 到 255*255。

 

為了使得 one-shot segmentation framework 適合 tracking 任務,我們采用用於自動包圍盒回歸的優化策略,提供了較高的 IoU 和 mAP。

 

關於 Segmentation part,就和 SiamMask 很類似了,感興趣的讀者可以參考 SiamMask

 

 

 

 

 

 

 

==

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM