图像跟踪(六)SRDCFdeno算法:样本净化

        SRDCFdeno算法的论文中提出了一种净化样本的方法,虽然挂了SRDCF的名字,但是SRDCF只是BaseLine。这种样本净化的方法可推广性非常强,因为把样本权重融合进了Loss函数,直接在更新样本的时候更新其权重,相对于多专家系统的方法,我更推荐使用这种方法来净化样本。

        相对于前作SRDCF来说,这个算法就好理解多了

        从Loss Function讲起,每个样本在训练时都有一个样本权重,只是原来的loss function里面没有写出来。

        在更新参数的时候,我们常常使用 (1-lrate)*model+lrate*sample 的公式更新参数,这也就隐含了样本权重的变化,随着时间的增加,离我们越远的样本权重越来越小,呈现等比数列式的下降,于是以往算法的 alpha 是变化的,时间上较近的样本具有较大影响,这就是下面这张ppt上的第一个Loss Function,这是以往算法采用的方式。

        现在,由于样本污染的问题,时间上最近的样本不一定最好,这可能由遮挡、环境、运动等引起,于是我们就要重新评估每个样本的权重。这里说的每个,就是在第t帧是,过去1,2,3…,t-1共t-1个样本,每个样本的权重。

        于是我们从Loss Function入手,在训练时直接更新样本权重。样本权重分为两个,一个是alpha样本权重,另一个是rho优先权重,优先权重是加给alpha的正则化项的,最近的K帧rho越来越大,就是说运行最近的几帧样本权重有较大差异或变化。还有一个参数μ,这个参数在论文中有详细的解释,这个值越大,就允许alpha有更大的浮动,当这个值很大时就相当于正则化项消失了,没有方差的制约了,而当这个值很小时,各个样本权重会趋于相等,相当于等权重训练。

        最小化loss是一个双参数优化问题,对于凸函数来说,可以把theta的更新和alpha的更新分析开来,先更新一个量,再更新另一个量,循环更新迭代,theta好说,SRDCF中推导出来的套上,对于alpha也好说,使用Matlab Optimization Toolbox

这是优先权重的计算公式,sum=1

最后是效果评价,提升幅度很大,还是相当不错的

CVPR16的文章,非常优秀

[1]. Danelljan, M., et al. Adaptive decontamination of the training set: A unified formulation for discriminative visual tracking. 2016: CVPR.

OK,See You Next Chapter!

《图像跟踪(六)SRDCFdeno算法:样本净化》有2条评论

  1. 博主你好,这篇论文中alpha、rho、mu的关系不是太明白。还有就是想问下,这篇论文样本净化的方法可以直接移植到其他算法吗?

    回复
    • alpha是样本权重,rho是优先权重,miu是权衡两种权重的系数,paper里面有写,如果,miu=0怎样,如果miu无限大怎样…这种方法可以移植到其它算法

      回复

发表评论