单目标跟踪CVPR 2018 ECO+
FROM https://blog.csdn.net/weixin_40245131/article/details/79754531
目标跟踪的相关滤波方向,Martin Danelljan 4月底在arXiv上挂出来的最新论文:
- Bhat G, Johnander J, Danelljan M, et al. Unveiling the Power of Deep Tracking [J]. arXiv preprint arXiv:1804.06833, 2018.
- https://arxiv.org/pdf/1804.06833.pdf
这次MD大神不是一作,看论文排版应该是投ECCV 2018的,目前没有开源代码,论文方法没有命名,这里用ECO+代表。
简单概要
论文是对ECO的改进,deep tracker无法受益于更好更深CNN的深度特征,针对这一反常现象,实验和分析表明这主要是由于浅层特征(shollow feature)和深度特征(deep feature)的特性差异,两种特征分而治之,深度特征部分加入了数据增强(data augmentation)增加训练样本数量,用不同label function,浅层特征正样本更少,深度特征正样本更多。两部分响应图自适应融合,提出了可以同时反映准确性accuracy和鲁棒性robustness的检测质量估计方法,基于这个质量评估,最优化方法自适应融合两部分的响应图,得到最优的目标定位结果。实验结果在各个测试集上都是目前最好。
问题分析
性能:自从MD大神的C-COT和ECO出现之后,相关滤波最近一年半没有较大突破,VOT2017前十名中,有一半以上都是在C-COT和ECO的基础上改进的,即使CVPR 2018也没有看到能全面超过ECO的论文,ECO到目前依然是难以逾越的高峰,这个方向是不是已经做到头了?
复杂:相比最初的KCF简洁明快,几行代码做到SOTA,如今的ECO已经复杂庞大到难以置信,各种优化和trick堆积,MD大神的码力和数学功底让人叹服,菜鸡如我已经看不懂ECO的源码,在深度学习提倡END2END,训练解决一切问题的年代,ECO确实做不到简单高效,这种框架是不是该抛弃?
速度:VGGNet作为backbone的深度特征,GPU上无法实时,换backbone或许可以缓解,但相比Staple、ECO-HC和CSR-DCF,仅hand-craft feature(HOG+CN)的相关滤波也能做到SOTA,超过绝大多数深度学习的tracker,还能保持在CPU上实时速度,深度特征+相关滤波是否有实用价值?
时隔一年半,这篇论文告诉我们MD大神还在坚持,还有的做,发现问题解决问题。
ECO还存在哪些问题呢?
- 昂贵的深度特征与廉价的手工特征,性能上没有拉开差距,速度却被碾压,深度特征的能力好像没有发挥出来
- VOT2017中有人尝试了VGGNet换成更好的GoogLeNet和ResNet,但没有像其他方向一样带来性能方面的巨大提升,这违背了深度学习领域网络越大越深性能越好的基本法则,deep tracker无法从更深的CNN中获益
论文对比分析了深度特征和浅层特征:
- 深度特征Deep Feature:主要是CNN的高层激活,典型VGGNet的layer 5。优点是包含高层语义,对旋转和变形等外观变化具有不变性,何时何地都能找到目标,即鲁棒性很强;缺点是空间分辨率低,对平移和尺度都有不变性,无法精确定位目标,会造成目标漂移和跟踪失败,即准确性很差。
- 浅层特征Shollow Feature:主要是手工特征如RGB raw-pixel, HOG, CN,和CNN的低层激活,典型VGGNet的Layer 1。优点是主要包含纹理和颜色信息,空间分辨率高,适合高精度定位目标,即准确性很强;缺点是不变性很差,目标稍微形变就不认识了,尤其是旋转,一转就傻逼,即鲁棒性很差。
ECO+对ECO的核心改进是两种特征区别对待,分而治之,深度特征负责鲁棒性,浅层特征负责准确性,两种检测响应图在最后阶段自适应融合,目标定位最优化,兼具两者的优势。
如下图,ECO无法获益于更深更好的CNN,但新论文方法ECO+可以。
具体方法——分
数据增强Data Augmentation:通用目标跟踪的难点在于需要跟踪各种各样的目标,而且仅第一帧是ground truth,其他训练样本都是tracker自己产生的,训练样本严重匮乏data-hungry,尤其是在深度学习需要大数据支撑。在CNN训练中,解决训练样本不足问题常用Data Augmentation方法扩充训练集,如多尺度的随机裁切,随机翻转,颜色抖动等。
ECO+测试了几种Data Augmentation方法在ECO框架中的作用,包括:
- Flip:水平翻转
- Rotation:从-60°到60°的固定12个角度旋转
- Shift:水平和竖直平移n像素再提取特征,等价于feature map平移n/s像素,s是步进
- Blur:高斯滤波模糊,模拟跟踪场景中常见的运动模型和尺度变化
- Dropout:通道级的dropout,随机20%的feature channel置为0,其余通道放大以保持样本能量
以上Data Augmentation分别用于浅层特征和深度特征,结果如图(a):
用于深度特征都有明显提升,Blur提升最多4%,除了Shift其他都在1%以上,而用于浅层特征全都下降了,也是Blur最多,论文解释是:深度特征反映的语义信息,对这些Data Augmentation都有不变性,能从增加的样本获益,而浅层特征反映的纹理信息会剧变,扰乱tracker伤害性能。
标签函数Label Function:相关滤波的训练样本来自目标扩展区域,ground truth是高斯分布,中心部分接近1是正样本,边缘部分接近0是负样本,正负样本比例通过高斯函数的标准差delta控制,标准差越大正样本越多。
在ECO中,深度特征和浅层特征的高斯标签函数相同,ECO+提出要区别对待,实验结果如上图(b),深度特征标准差1/4最好,浅层特征标准差1/16最好。通过标签函数增加的正样本等价于平移数据增强,所以论文解释是:深度特征对小平移的不变性,同上从增加的正样本获益,深度特征更应该关注鲁棒性;小平移会使feature map差异巨大,tracker无法处理大量有差异的正样本,浅层特征更应该关注准确性。
深度特征和浅层特征的区别对待,论文中就用了Data Augmentation和Label Function两种方法,以ResNet-50 + ECO为例,加入数据增强Aug提升5.3%,加入宽标签函数sigma提升4.3%,两者结合提升5.8%,非常明显,证明深度特征可以受益于数据增强和宽标签函数。
不同CNN架构下ECO与ECO+的对比,ECO+提升明显,测试的CNN架构包括最常用的VGG-M,更好的GoogLeNet和更好更深的ResNet-50:
具体方法——合
预测质量评估Prediction Quality Measure:响应图能反映目标定位的准确性和鲁棒性,准确性与预测目标周围的响应锐利程度有关,主峰越尖表示准确性越高;鲁棒性与主峰到干扰峰(次峰)的间隔有关,主峰到次峰的距离越大表示鲁棒性越高。论文提出了能同时反映准确性和鲁棒性的响应图质量评估方法:
t表示响应位置,y(t)表示响应值,t*是主峰,t是干扰峰。分子部分表示尖锐程度,主峰与次峰峰值差越大质量越高;分母部分表示位置间隔,delta是二次连续可微函数,间隔很近是0,间隔很远是1。论文分别就t*和t位置接近和远离两种情况做了分析,都表明这个质量评估都可以同时反映准确性和鲁棒性。
自适应融合的目标定位:ys和yd分别表示浅层和深度特征的响应分数,加权融合:
基于前面提出的预测质量评估方法,以最大化预测质量为目标,联合优化加权系数beta和目标状态t*,最小化loss:
加入正则项,引入松弛变量:
求解该问题,采样有限组候选状态,每个都是三个变量的QP问题,计算量增加很少。
实验对比ECO响应图融合方法、固定权重求和的融合方法和论文提出的自适应融合方法对比:
自适应融合效果最好,深度特征部分的权重在形变和模糊时变高,与预期一致。
实验结果
所有超参数都是在OTB-2015的23个难例子集构成的验证集OTB-H上调参得到的,其余73个较简单的序列构成OTB-E,其他所有实验用固定参数,没有调参和过拟合。
在NFS, Temple128和UAV123上的结果,都是最好:
在VOT-2017上的结果,对比了榜单前十,超过最好的LSART 17%,LSART发表在CVPR 2018,是目前所能看到的VOT-2017最好结果,大部分CVPR 2018论文没有跑VOT-2017:
在VOT-2016上的结果,对比了所有已发表结果,包括所有SOTA结果,甚至目前能看到的CVPR 2018的SA-Siam, VITAL, LSART, FlowTrack,超过目前最好结果ECO 18%:
最后是OTB-2017剩余测试集OTB-E的结果:
总结
ECO+从研究deep tracker为什么无法从更好更深的CNN获益这一问题开始,研究发现深度特征和浅层特征表现出截然不同的特性,先分后合的处理方法:
- 分,区别对待,深度特征负责鲁棒性,浅层特征负责准确性,数据增强和宽标签函数对深度特征提升巨大
- 合,自适应融合,提出质量评估方法,以最大化融合质量为目标函数,最优化方法同时获得深度特征的鲁棒性和浅层特征的准确性
ECO+基本跑了所有的测试库,全都做到了最好结果,比较了包括CVPR 2018在内的所有SOTA结果,无疑这是一篇刷新目标跟踪新高度的论文,期待ECO+在VOT-2018的表现。
目前没看到代码,有几个疑问点:
- 速度方面没有提,论文仅提了质量评估和自适应融合部分计算增加不大,但数据增强会严重增加提取深度特征的负担,每个扩展样本都要一次CNN forword,应该会非常非常慢,不知道有没有做相应优化
- ECO+可以从更好更深的CNN获益,最多测试了ResNet-50,不知道更深更好的ResNet-100,ResNet-152甚至Inception-ResNetV2会不会带来进一步提升
- 深度特征最大的问题是空间分辨率太小,是否可以自己搭个stride=4或stride=1的CNN,保持深层激活图的feature map不要太小,但通道数适当减少以保证速度,是否更有利于检测和跟踪问题
没有代码加强行翻译,如有理解偏差欢迎指出