Deep Regression Tracking with Shrinkage Loss
论文下载地址:http://suo.im/4ThBkK
论文代码:https://github.com/chaoma99/DSLT
本论文是2018 ECCV。
提出问题:深度回归的跟踪算法现在得到了长足的发展,但是这些算法的准确率和鲁棒性比判别式相关滤波算法要差一些。
解决问题:作者发现主要原因是回归网络在训练的过程中前景和背景的数据不平衡造成的。
论文的主要贡献:
1.提出了一个新的收缩损失来解决数据不平衡问题。
2.使用了残差网络来融合多个卷积层和特征响应图。
3.在多个数据集上面测试取得了很好的结果。
相关工作:
1. 两级跟踪:主要是由两部分组成,第一部分是候选区域的选取。第二部分是分类将前景和背景分出来。
2.一级跟踪:直接将搜索区域传到网络里面然后输出跟踪结果。
3.数据不平衡:深度回归跟踪算法很少关注数据不平衡问题,作者通过收缩损失函数来惩罚作用不大的简单样本,并保持硬样本不改变。
网络结构:
从图中可以看出,该算法主要是由两部分组成。虚线左边的是VGG-16的前5 卷积层它的作用主要是用来提取图像特征。虚线的右侧就是残差网络结构,融合卷积层输出响应特征图。
卷积回归:
学习回归问题是为了最小化下面的公式:
我们通过最小化平方误差来迭代更新W:
收缩损失:
在输入的搜索区域里面目标的周围包含了大量的背景信息,虽然这些背景包含了大量的有价值的上下文信息。但是背景信息太多导致了大量简单样本的增加。这些容易的样本会造成大的损失导致在学习过程中无法意识到有价值的样本靠近目标。
P(大小是m*n)表示每次迭代的映射响应图。p i,j∈P表示目标对象位置的概率。y表示真实值。
l 表示的是真实值与预测值之间的差别。
平方损失可以表示为:
增加一个调节因子γ来缓解数据不平衡问题:
这个就是focal loss。
我们观察到性能对此参数不敏感,我们把γ设为1。focal loss就变成了L3 loss。
当 l<0.5 的时候可以用来惩罚简单样本。当 l>0.5的时候也会惩罚hard samples。
我们提出的算法:
我们不使用绝对误差 l 作为权重,而是提出了一个关于 l 的调整因子来重新加权平方损失,只惩罚简单的样本。
a和c是超参数用来控制收缩速度和局部化。如下图(a)所示a和b不同取值的情况。
当应用调制因子对平方损失进行加权时,建议的收缩损失如下:
如上图(b)所示,我们的收缩损失和L2进行比较。当 l<0.5的时候我们的算法只惩罚简单样本。当 l>0.5的时候不会惩罚hard samples。L3也就是focal loss则会对简单样本和hard samples都进行惩罚。
我们采用成本敏感的加权策略,并利用软标签的值作为重要因素,例如exp(Y),突出有价值的稀有样本。总之,我们重写了学习回归网络的收缩损失如下:
我们将a的值设为10以快速缩小权重函数,c的值为0.2以适应l的分布,其范围从0到1。
通过与其它损失的比较表明,所提出的收缩损失不仅提高了跟踪精度,而且加快了训练速度。
残差网络结构:
本文残差网络结构的详细说明。
评价结果:
有什么没讲完整的还请大家指出来。