论文阅读——《Robust Superpixel Tracking》

论文阅读——《Robust Superpixel Tracking》

《Robust Superpixel Tracking》

这是2014年发表在 IEEE Transactions on Image Processing上的一篇文章,主要基于超像素的方法解决外观发生剧烈变化的物体追踪问题,下面是论文实验的结果


在这里插入图片描述
在这里插入图片描述

第一个表是定位的误差,第二个表是成功追踪的帧数,看上去本文的方法(SPT)都很棒啊,但是好奇的是为什么SPT在Tracking的圈子里好像不是很出名,在这篇知乎回答 计算机视觉中,目前有哪些经典的目标跟踪算法里都没有提到SPT的方法,是因为太慢?(五帧每秒),博主对Tracking接触得不多,因此这个问题还有待考证。

这里我就简单总结下论文提到的方法,作为学习参考,下面是本文算法的伪代码:


在这里插入图片描述

算法的主要步骤是 初始化过程追踪过程,其中
初始化过程
(1)对视频流的前四帧进行超像素分割,并对分割出来的超像素提取特征(这里的特征是 HSI颜色空间的颜色分布直方图),然后用这些特征构建一个特征池 F = { f t r ∣ t = 1 , … , m ; r = 1 , … , N t } 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):
外观辨别模型其实指的是各个聚类的特征描述符,的主要由四个参数构成,分别是聚类的中心 f c ( i ) f_{c}(i) fc(i),聚类的半径 r c ( i ) r_{c}(i) rc(i),聚类的超像素的数量 { f t r ∣ f t r ∈ c l s t ( i ) } \left\{f_{t}^{r} | f_{t}^{r} \in c l s t(i)\right\} {ftrftrclst(i)},以及聚类的置信度 C i c C_{i}^{c} Cic(属于前景还是背景的概率),其计算公式如下 C i c = S + ( i ) − S − ( i ) S + ( i ) + S − ( i ) , ∀ i = 1 , … , n C_{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)分别表示聚类 i i i和前景、背景的覆盖面积(这里我就有一个问题啦,难道还得先确定哪个像素属于前景哪个像素属于背景?)

追踪过程
(1)对图像进行超像素的分割并提取各个超像素的特征,计算目标背景的置信图
这个置信图是针对各个超像素来说的,主要包括两个部分构成,一部分是这个超像素属于哪个聚类,另一部分是这个超像素与聚类中心超像素的特征的距离,其计算公式如下: C r s = w ( r , i ) × C i c , ∀ r = 1 , … , N t C_{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 × ∥ f I F − f c ( i ) ∥ 2 r c ( i ) ) ∀ r = 1 , … , N t , 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,,n C r s C_{r}^{s} Crs就是第 t t t帧的第 r r r个超像素的置信度(属于前景还是背景的概率)。

(2)基于置信图采样 N N N个状态(其实指的就是追踪用的bounding box)
本文的贝叶斯更新是通过采样更新的,其实我觉得指的就是SIR粒子滤波,根运动模型采样预测的状态,然后根据观测模型判断哪个状态是最合理的 X ^ t = argmax ⁡ X t ( l ) p ( X t ( l ) ∣ Y 1 : 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 ( X t ∣ X t − 1 ) = N ( X t ; X t − 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 ( Y t ∣ X t ( l ) ) = C ^ l , ∀ l = 1 , … , N p\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 = C l × [ S ( X t ( l ) ) / S ( X t − 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,,N C l = ∑ ( i , j ) ∈ M l v l ( i , j ) C_{l}=\sum_{(i, j) \in M_{l}} v_{l}(i, j) Cl=(i,j)Mlvl(i,j)其中 v l ( i , j ) v_{l}(i, j) vl(i,j)表示像素 ( i , j ) (i,j) (i,j)处的置信度大小(查询它位于哪个超像素就能知道) C l C_{l} Cl指的是没有归一化的状态置信度,而 S ( X t ( l ) ) S\left(X_{t}^{(l)}\right) S(Xt(l)) S ( X t − 1 ) S\left(X_{t-1}\right) S(Xt1)表示的是当前状态的采样和前一状态(这里的状态都可以理解为跟踪的bounding box)的面积,这一步的具体操作可以根据下图理解


在这里插入图片描述

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

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

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

未完待续…

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值