算法概述
而STC跟蹤算法基於貝葉斯框架,根據跟蹤目標與周圍區域形成的的時空關系,在圖像低階特征上(如圖像灰度和位置)對目標與附近區域進行了統計關系建模。通過計算置信圖(confidence map),找到似然概率最大的位置,即為跟蹤結果。
算法原理
上下文的重要性
在視覺跟蹤,局部上下文包括一個目標和它的附近的一定區域的背景。因為,在連續幀間目標周圍的局部場景其實存在着很強的時空關系。例如,上圖中的目標存在着嚴重的阻擋,導致目標的外觀發生了很大的變化。然而,因為只有小部分的上下文區域是被阻擋的,整體的上下問區域是保持相似的,所以該目標的局部上下文不會發生很大的變化。因此,當前幀局部上下文會有助於幫助預測下一幀中目標的位置。圖中,黃色框的是目標,然后它和它的周圍區域,也就是紅色框包圍的區域,就是該目標的上下文區域。左:雖然出現嚴重的阻擋導致目標的外觀發現很大的變化,但目標中心(由黃色的點表示)和其上下文區域中的周圍區域的其他位置(由紅色點表示)的空間關系幾乎沒有發生什么變化。中:學習到的時空上下文模型(藍色方框內的區域具有相似的值,表示該區域與目標中心具有相似的空間關系)。右:學習到的置信圖。
時間信息:鄰近幀間目標變化不會很大。位置也不會發生突變。
空間信息:目標和目標周圍的背景存在某種特定的關系,當目標的外觀發生很大變化時,這種關系可以幫助區分目標和背景。
對目標這兩個信息的組合就是時空上下文信息,該論文就是利用這兩個信息來進行對阻擋等魯棒並且快速的跟蹤。
置信圖定義
在STC算法中,目標的定位問題可用一個目標在預估出現區域各個位置上的出現概率問題來處理。因此如果有一張概率圖,可以知道圖像中各個位置目標出現的概率,則圖像中概率最大的位置就是目標最可能存在的位置,置信圖定義為:
$c(x) = P(x|o) = b{e^{ - {{\left| {\frac{{x - {x^*}}}{\alpha }} \right|}^\beta }}}$
$x$表示目標位置,$o$ 表示目標出現, $b$為歸一化常量,$\alpha $為尺度參數,$\beta $為形狀參數。 ${x^*}$是目標的位置。其中$\beta =1 $能夠有效的避免二義性和過擬合。
置信圖可分解成為:
置信圖似然函數分解為兩個概率部分。一個是跟蹤目標與周圍上下文信息的空間關系的條件概率$P(x,c(z)|o)$,該條件概率使目標與其空間上下文建立關系。當圖像中出現多個與目標相似的物體時,STC算法就要依靠空間上下文關系排除非目標本身的其他物體;另一個是目標局部上下文各個點X的上下文先驗概率$P(c(z)|o)$。上下文先驗概率描述了目標的外觀特征。STC算法的核也就在於利用圖像中得到的目標外觀模型,通過在線學習得到一個時空上下文模型,利用時空上下文模型計算出置信圖,從而得到目標最可能存在的位置。
空間上下文模型
定義上一小節中提到的,跟蹤目標與周圍上下文信息的空間關系的條件概率$P(x,c(z)|o)$ 即是空間上下文模型,定義為:
$P(x,c(z)|o){\rm{ = }}{{\rm{h}}^{{\rm{sc}}}}{\rm{(x - z)}}$
該模型表示目標位置 ${x^*}$與局部區域內點$z$之間的相對距離及方向關系,反映了目標與周圍區域的空間關系。由於${h^{sc}}(x - z)$不是一個徑向對稱函數,因此解決分辨二異性問題。
置信圖似然函數分解為兩個概率部分。一個是跟蹤目標與周圍上下文信息的空間關系的條件概率$P(x,c(z)|o)$,該條件概率使目標與其空間上下文建立關系。當圖像中出現多個與目標相似的物體時,STC算法就要依靠空間上下文關系排除非目標本身的其他物體;另一個是目標局部上下文各個點X的上下文先驗概率$P(c(z)|o)$。上下文先驗概率描述了目標的外觀特征。STC算法的核也就在於利用圖像中得到的目標外觀模型,通過在線學習得到一個時空上下文模型,利用時空上下文模型計算出置信圖,從而得到目標最可能存在的位置。
空間上下文模型定義
上一小節中提到的,跟蹤目標與周圍上下文信息的空間關系的條件概率$P(x,c(z)|o)$即是空間上下文模型,定義為:
$P(x,c(z)|o){\rm{ = }}{{\rm{h}}^{{\rm{sc}}}}{\rm{(x - z)}}$
該模型表示目標位置 ${x^*}$與局部區域內點 之間的相對距離及方向關系,反映了目標與周圍區域的空間關系。由於${h^{sc}}(x - z)$不是一個徑向對稱函數,因此解決分辨二異性問題。
上下文先驗模型定義
上下文先驗概率模型可表示為:
$P(c(z)|o) = I(z){\omega _\sigma }(z - {x^*})$
$I(z)$表示$z$處的灰度值,${\omega _\sigma } = \alpha {e^{ - \frac{{{{\left| z \right|}^2}}}{{{\sigma ^2}}}}}$表示權重函數,該權重函數是由生物視覺系統的focus of attention啟發得到的,它表示人看東西的時候,會聚焦在一個確定的圖像區域。通常距離目標${x^*}$越近的點對於跟蹤目標越重要,因此對應的權重值也越大。而距離越遠則越容易被忽視。
時空上下文模型
傅立葉變換得:
$F\left( {b{e^{ - {{\left| {\frac{{x - {x^*}}}{\alpha }} \right|}^\beta }}}} \right) = F({{\rm{h}}^{{\rm{sc}}}}(x)) \odot F(I(x){\omega _\sigma }(x - {x^*}))$
所以:
${{\rm{h}}^{{\rm{sc}}}}(x) = {F^{ - 1}}\left( {\frac{{F\left( {b{e^{ - {{\left| {\frac{{x - {x^*}}}{\alpha }} \right|}^\beta }}}} \right)}}{{F(I(x){\omega _\sigma }(x - {x^*})}}} \right)$
第t+1幀的時空上下文模型$H_{t + 1}^{stc}(x)$的更新公式為:
$H_{t + 1}^{stc}(x) = (1 - \rho )H_t^{stc} + \rho h_t^{sc}$
$\rho $為模型學習速率。這樣算法通過不斷學習到的空間上下文模型結合前一傾的時空上下文模型,就得到了當前頓的時空上下文模型,再利用該模型更新置信圖,從而計算出當前頓目標的位置。
跟蹤
得到時空上下文模型后,我們就可以在新的一幀計算目標的置信圖了:
${c_{t + 1}}(x) = {F^{ - 1}}(H_{t + 1}^{stc}(x) \odot {I_{t + 1}}(x){\omega _{\sigma t}}(x - {x_t}*))$
然后置信圖中值最大的位置,就是我們的目標位置了:
$x_{_{t + 1}}^* = \mathop {\arg \max }\limits_{x \in \Omega c(x_t^*)} {c_{t + 1}}(x)$
尺度更新
${\omega _\sigma } = \alpha {e^{ - \frac{{{{\left| z \right|}^2}}}{{{\sigma ^2}}}}}$中的$\sigma $應隨着時間變化進行更新,更新的方法是:
算法步驟
t幀:在該幀目標(第一幀由人工指定)已經知道的情況下,我們計算得到一個目標的置信圖(Confidence Map,也就是目標的似然)。通過生物視覺系統上的focus of attention特性我們可以得到另一張概率圖(先驗概率)。通過對這兩個概率圖的傅里葉變換做除再反傅里葉變換,就可以得到建模目標和周圍背景的空間相關性的空間上下文模型(條件概率)。然后我們用這個模型去更新跟蹤下一幀需要的時空上下文模型。
t+1幀:利用t幀的上下文信息(時空上下文模型),卷積圖像得到一個目標的置信圖,值最大的位置就是我們的目標所在地。或者理解為圖像各個地方對該上下文信息的響應,響應最大的地方自然就是滿足這個上下文的地方,也就是目標了。
Ref: