商汤科技智能视频团队首次开源其目标跟踪研究平台 PySOT。PySOT 包含了商汤科技 SiamRPN 系列算法,以及刚被 CVPR2019 收录为 Oral 的 SiamRPN++。此篇文章将解读目标跟踪最强算法 SiamRPN 系列。git
背景github
因为存在遮挡、光照变化、尺度变化等一些列问题,单目标跟踪的实际落地应用一直都存在较大的挑战。过去两年中,商汤智能视频团队在孪生网络上作了一系列工做,包括将检测引入跟踪后实现第一个高性能孪生网络跟踪算法的 SiamRPN(CVPR 18),更好地利用训练数据加强判别能力的 DaSiamRPN(ECCV 18),以及最新的解决跟踪没法利用到深网络问题的 SiamRPN++(CVPR 19)。其中 SiamRPN++ 在多个数据集上都完成了 10% 以上的超越,而且达到了 SOTA 水平,是当之无愧的目标跟踪最强算法。算法
项目地址:https://github.com/STVIR/pysot网络
以上动图中,红色框是 SiamRPN++ 的跟踪效果,蓝色框是 ECCV 2018 上的 UPDT 的结果,能够看出 SiamRPN++ 的效果更佳,跟踪效果更稳定,框也更准。从这个图也能够看出跟踪的一些挑战:光照急剧变化,形状、大小变化等。性能
SiamRPN (CVPR18 Spotlight)学习
在 CVPR18 的论文中(SiamRPN),商汤智能视频团队发现孪生网络没法对跟踪目标的形状进行调节。以前的跟踪算法更多的将跟踪问题抽象成比对问题,可是跟踪问题其实和检测问题也很是相似,对目标的定位与对目标框的回归预测同样重要。 研究人员分析了以往跟踪算法的缺陷并对其进行改进:设计
结合以上两点创新,在基线算法 SiamFC 的基础上,SiamRPN 实现了五个点以上的提高(OTB100,VOT15/16/17 数据集);同时还达到了更快的速度(160fps)、也更好地实现了精度与速度的平衡。orm
DaSiamRPN (ECCV18)视频
SiamRPN 虽然取得了很是好的性能,但因为训练集问题,物体类别过少限制了跟踪的性能;同时,在以前的训练方式中,负样本只有背景信息,必定程度上也限制了网络的判别能力,网络只具有区分前景与不含语义的背景的能力。基于这两个问题,DaSiamRPN 设计了两种数据加强方式:blog
通过上述的改进,网络的判别能力变得更强,检测分数也变得更有辨别力,这样就能够根据检测分数判断目标是否消失。基于此,DaSiamRPN 能够将短时跟踪拓展到长时跟踪,而且在 UAV20L 数据集上比以前最好的方法提升了 6 个点。在 ECCV18 的 VOT workshop 上面,DaSiamRPN 取得了实时比赛的冠军,相比去年的冠军有了 80% 的提高。
SiamRPN++ (CVPR19 Oral)
目前,孪生网络中的核心问题在于现有的孪生网络目标跟踪算法只能用比较浅的卷积网络(如 AlexNet),没法利用现代化网络为跟踪算法提高精度,而直接引入深网络甚至会使性能大幅衰减。
为了解决深网络这个 Siamese 跟踪器的痛点,商汤智能视频团队基于以前 ECCV2018 的工做(DaSiamRPN),经过分析孪生神经网络训练过程,发现孪生网络在使用现代化深度神经网络存在位置偏见问题,而这一问题是因为卷积的 padding 会破坏严格的平移不变性。然而深网络并不能去掉 padding,为了缓解这一问题,让深网络可以在跟踪提高性能,SiamRPN++ 中提出在训练过程当中加入位置均衡的采样策略。经过修改采样策略来缓解网络在训练过程当中的存在的位置偏见问题,让深网络可以发挥出应有的效果。
经过加入这一采样策略,深层网络终于可以在跟踪任务中发挥做用,让跟踪的性能再也不受制于网络的容量。同时,为了更好地发挥深层网络的性能,SiamRPN++ 中利用了多层融合。因为浅层特征具备更多的细节信息,而深层网络具备更多的语义信息,将多层融合起来之后,能够跟踪器兼顾细节和深层语义信息,从而进一步提高性能。
除此以外,研究人员还提出了新的链接部件,深度可分离相关层(Depthwise Correlation,后续简写为 DW)。相比于以前的升维相关层(UpChannel correlation,后续简写为 UP),DW 能够极大地简化参数量,平衡两支的参数量,同时让训练更加稳定,也能更好的收敛。
为了验证以上提出的内容,研究人员作了详细的实验。在比较经常使用的 VOT 和 OTB 数据集上,SiamRPN++ 取得了 SOTA 的结果。在 VOT18 的长时跟踪,以及最近新出的一些大规模数据集上如 LaSOT,TrackingNet,SiamRPN++ 也都取得了 SOTA 的结果。
目前相关代码现已上传至商汤科技开源目标跟踪研究平台 PySOT。PySOT 实现了目前 SOTA 的多个单目标跟踪算法,旨在提供高质量、高性能的视觉跟踪研究代码库,并将其灵活应用于新算法的实现和评估中。欢迎你们使用与交流!
PySOT 开源项目
参考文献