论文阅读——《Robust Superpixel Tracking》
論文閱讀——《Robust Superpixel Tracking》
- 論文閱讀——《Robust Superpixel Tracking》
- 《Robust Superpixel Tracking》
論文閱讀——《Robust Superpixel Tracking》
《Robust Superpixel Tracking》
這是2014年發表在 IEEE Transactions on Image Processing上的一篇文章,主要基于超像素的方法解決外觀發生劇烈變化的物體追蹤問題,下面是論文實驗的結果
第一個表是定位的誤差,第二個表是成功追蹤的幀數,看上去本文的方法(SPT)都很棒啊,但是好奇的是為什么SPT在Tracking的圈子里好像不是很出名,在這篇知乎回答 計算機視覺中,目前有哪些經典的目標跟蹤算法里都沒有提到SPT的方法,是因為太慢?(五幀每秒),博主對Tracking接觸得不多,因此這個問題還有待考證。
這里我就簡單總結下論文提到的方法,作為學習參考,下面是本文算法的偽代碼:
算法的主要步驟是 初始化過程和 追蹤過程,其中
初始化過程是
(1)對視頻流的前四幀進行超像素分割,并對分割出來的超像素提取特征(這里的特征是 HSI顏色空間的顏色分布直方圖),然后用這些特征構建一個特征池 F={ftr∣t=1,…,m;r=1,…,Nt}F=\left\{f_{t}^{r} | t=1, \ldots, m ; \quad r=\right.1, \ldots, N_{t} \}F={ftr?∣t=1,…,m;r=1,…,Nt?};
(2)對特征池內的特征進行Kmeans聚類獲得基于超像素的外觀辨別模型(superpixle-based discriminative appearance model):
外觀辨別模型其實指的是各個聚類的特征描述符,的主要由四個參數構成,分別是聚類的中心fc(i)f_{c}(i)fc?(i),聚類的半徑rc(i)r_{c}(i)rc?(i),聚類的超像素的數量{ftr∣ftr∈clst(i)}\left\{f_{t}^{r} | f_{t}^{r} \in c l s t(i)\right\}{ftr?∣ftr?∈clst(i)},以及聚類的置信度CicC_{i}^{c}Cic?(屬于前景還是背景的概率),其計算公式如下Cic=S+(i)?S?(i)S+(i)+S?(i),?i=1,…,nC_{i}^{c}=\frac{S^{+}(i)-S^{-}(i)}{S^{+}(i)+S^{-}(i)}, \forall i=1, \ldots, n Cic?=S+(i)+S?(i)S+(i)?S?(i)?,?i=1,…,n其中S+(i)S^{+}(i)S+(i)和S?(i)S^{-}(i)S?(i)分別表示聚類iii和前景、背景的覆蓋面積(這里我就有一個問題啦,難道還得先確定哪個像素屬于前景哪個像素屬于背景?)
追蹤過程是
(1)對圖像進行超像素的分割并提取各個超像素的特征,計算目標背景的置信圖:
這個置信圖是針對各個超像素來說的,主要包括兩個部分構成,一部分是這個超像素屬于哪個聚類,另一部分是這個超像素與聚類中心超像素的特征的距離,其計算公式如下:Crs=w(r,i)×Cic,?r=1,…,NtC_{r}^{s}=w(r, i) \times C_{i}^{c}, \quad \forall r=1, \ldots, N_{t} Crs?=w(r,i)×Cic?,?r=1,…,Nt?其中w(r,i)=exp?(?λd×∥fIF?fc(i)∥2rc(i))?r=1,…,Nt,i=1,…,n\begin{array}{l}{w(r, i)=\exp \left(-\lambda_ozvdkddzhkzd \times \frac{\left\|f_{I}^{F}-f_{c}(i)\right\|_{2}}{r_{c}(i)}\right)} \\ {\forall r=1, \ldots, N_{t}, \quad i=1, \ldots, n}\end{array} w(r,i)=exp(?λd?×rc?(i)∥fIF??fc?(i)∥2??)?r=1,…,Nt?,i=1,…,n?CrsC_{r}^{s}Crs?就是第ttt幀的第rrr個超像素的置信度(屬于前景還是背景的概率)。
(2)基于置信圖采樣NNN個狀態(其實指的就是追蹤用的bounding box)
本文的貝葉斯更新是通過采樣更新的,其實我覺得指的就是SIR粒子濾波,根運動模型采樣預測的狀態,然后根據觀測模型判斷哪個狀態是最合理的X^t=argmax?Xt(l)p(Xt(l)∣Y1:t)?l=1,…,N\hat{X}_{t}=\underset{X_{t}^{(l)}}{\operatorname{argmax}} p\left(X_{t}^{(l)} | Y_{1 : t}\right) \forall l=1, \ldots, N X^t?=Xt(l)?argmax?p(Xt(l)?∣Y1:t?)?l=1,…,N
(3)計算運動模型和觀測模型:
運動模型如下:p(Xt∣Xt?1)=N(Xt;Xt?1,Ψ)p\left(X_{t} | X_{t-1}\right)=\mathcal{N}\left(X_{t} ; X_{t-1}, \Psi\right) p(Xt?∣Xt?1?)=N(Xt?;Xt?1?,Ψ)其中Ψ\PsiΨ是運動的參數(σc\sigma_{c}σc?表示移動變換的參數,σs\sigma_{s}σs?表示尺度變換的參數,但是σc\sigma_{c}σc?和σs\sigma_{s}σs?的具體表達式文中并誒有給出)的方差
觀測模型如下:p(Yt∣Xt(l))=C^l,?l=1,…,Np\left(Y_{t} | X_{t}^{(l)}\right)=\hat{C}_{l}, \forall l=1, \ldots, N p(Yt?∣Xt(l)?)=C^l?,?l=1,…,N其中C^l\hat{C}_{l}C^l?表示各個采樣的歸一化置信度C^l=Cl×[S(Xt(l))/S(Xt?1)],?l=1,…,N\hat{C}_{l}=C_{l} \times\left[S\left(X_{t}^{(l)}\right) / S\left(X_{t-1}\right)\right], \forall l=1, \ldots, N C^l?=Cl?×[S(Xt(l)?)/S(Xt?1?)],?l=1,…,NCl=∑(i,j)∈Mlvl(i,j)C_{l}=\sum_{(i, j) \in M_{l}} v_{l}(i, j) Cl?=(i,j)∈Ml?∑?vl?(i,j)其中vl(i,j)v_{l}(i, j)vl?(i,j)表示像素(i,j)(i,j)(i,j)處的置信度大小(查詢它位于哪個超像素就能知道)ClC_{l}Cl?指的是沒有歸一化的狀態置信度,而S(Xt(l))S\left(X_{t}^{(l)}\right)S(Xt(l)?)和S(Xt?1)S\left(X_{t-1}\right)S(Xt?1?)表示的是當前狀態的采樣和前一狀態(這里的狀態都可以理解為跟蹤的bounding box)的面積,這一步的具體操作可以根據下圖理解
右邊四個圖就是采樣結果,然后根據觀測可以判斷 xt(1)x_{t}^{(1)}xt(1)?是對合理的,因此將 xt(1)x_{t}^{(1)}xt(1)?更新為當前狀態。
(4)基于最大似然概率估計最有可能的狀態
這個其實就是上面的更新過程
(5)檢測和解決嚴重沖突的情況(這個機制我們先不去關注它,先搞清楚算法是怎樣實現追蹤的)
這里的步驟還沒有細看,但是是很巧妙的,SPT之所以能具有良好的了魯棒性和這一步的操作是分不開的,這個具體流程之后再看。
未完待續…
總結
以上是生活随笔為你收集整理的论文阅读——《Robust Superpixel Tracking》的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多视图几何总结——单应矩阵和基础矩阵的兼
- 下一篇: 视觉SLAM总结——SVO中关键知识点总