欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

论文阅读——《Robust Superpixel Tracking》

发布时间:2025/3/20 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 论文阅读——《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={ftrt=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\}{ftrftrclst(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_{d} \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)fIFfc(i)2)r=1,,Nt,i=1,,nCrsC_{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)argmaxp(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(XtXt1)=N(Xt;Xt1,Ψ)其中Ψ\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(YtXt(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(Xt1)],l=1,,NCl=∑(i,j)∈Mlvl(i,j)C_{l}=\sum_{(i, j) \in M_{l}} v_{l}(i, j) Cl=(i,j)Mlvl(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(Xt1)表示的是当前状态的采样和前一状态(这里的状态都可以理解为跟踪的bounding box)的面积,这一步的具体操作可以根据下图理解



右边四个图就是采样结果,然后根据观测可以判断 xt(1)x_{t}^{(1)}xt(1)是对合理的,因此将 xt(1)x_{t}^{(1)}xt(1)更新为当前状态。

(4)基于最大似然概率估计最有可能的状态
这个其实就是上面的更新过程

(5)检测和解决严重冲突的情况(这个机制我们先不去关注它,先搞清楚算法是怎样实现追踪的)
这里的步骤还没有细看,但是是很巧妙的,SPT之所以能具有良好的了鲁棒性和这一步的操作是分不开的,这个具体流程之后再看。

未完待续…

总结

以上是生活随笔为你收集整理的论文阅读——《Robust Superpixel Tracking》的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。