?
RATM: RECURRENT ATTENTIVE TRACKING MODEL
ICLR 2016
?
?
本文主要內容是 結合 RNN 和 attention model 用來做目標跟蹤。
其中模型的組成主要是:
1. an attention model 主要用來從輸入圖像中提取 patch;
2. RNN 用來預測 attention 參數,即:下一幀應該 look 的問題。
?
?
Paper:?http://xueshu.baidu.com/s?wd=RATM%3A+RECURRENT+ATTENTIVE+TRACKING+MODEL&rsv_bp=0&tn=SE_baiduxueshu_c1gjeupa&rsv_spt=3&ie=utf-8&f=8&rsv_sug2=1&sc_f_para=sc_tasktype%3D%7BfirstSimpleSearch%7D&rsv_n=2
?
Code:?https://github.com/wangxiao5791509/RATM
?
?
本文所使用的框架流程圖如下所示:
?
1. Attention?
本文提到, attention model 非常適合跟蹤問題,因為他可以通過目標的歷史軌跡來縮小 region-of-interst 的區域。
原本的 attention model 從輸入圖像中產生 glimpse(一瞥),是通過一個叫做 a grid of 2D Gaussian filters,順序的執行一系列的 row filter 和 column filter。該 grid 擁有 4個參數,即:
the grid center $g_X, g_Y$,the isotropic standard deviation, and the stride between grid points.
對于在 attention patch中的行 i,列 j,平均距離 $\mu_X^i, \mu_Y^j$ 通過下式進行計算:
動態產生的參數 作為一個向量 h 的線性轉換:
然后對參數進行歸一化:
其中 A 和 B 分別是輸入圖像的寬和高。
濾波器通過下面的公式計算得到提取的 patch,即:
在上式中, a 和 b 代表輸入圖像的列和行的索引。通過這兩個公式就可以得到一個 N*N 的 patch p:
?
?
? 2. RNN
一個最簡單的 RNN 包括一個輸入,一個 hidden,一個 輸出層。在時間步驟 t,該網絡,基于輸入幀 $x_t$ 和 之前的 hidden state $h_{t-1}$,計算新的 hidden state:
本文對 RNN 并未做過多介紹,因為創新點也不在于此,只是說是基于 Theano 框架做的實驗。
?
?
?
3. Recurrent Attentive Tracking Model:
跟蹤問題主要是將一系列的輸入視頻幀 $X = (x_1, x_2, ... , x_T)$ 映射成 一系列的位置 $Y = (y_1, y_2, ... , y_T)$。那么在一個時刻 t 的位置預測 $y_t$,那么其軌跡通常具有非常高的相關內容信息,并且非常適合用 一個隱層狀態模型(a hidden state model)來對這個軌跡進行表示。所提出的 RNN 就是結合了 attention model 和 RNN 的優勢,并且區別于普通的神經網絡。
每一個時間步驟,RNN的 hidden state vector $h_t$ 通過公式2,3 映射成 window parameters。然后在下一個時刻,由 attention model 輸出的image patch 作為 RNN 的輸入。并非直接將 原始圖像輸入給 RNN,而是用預先訓練的 CNN model 提出其feature 傳給 RNN。具體結構見下圖:
?
?
實驗:
?
?