论文地址:https://arxiv.org/abs/1911.07241 作者源码地址:
Abstract
做法:本文将视觉跟踪任务分解为两个问题:像素级别的分类问题+在该像素上目标框的回归问题,提出了一个新颖的全卷积孪生网络SiamCAR以端到端的方式在像素级别解决目标跟踪问题。 具体做法:SiamCAR包括2个简单的子网络:一个用于特征提取的孪生子网+一个用于目标框预测的分类回归子网,以ResNet50为backbone。不同于SiamRPN, SiamRPN++, SPM这些基于region proposal的追踪器,SiamCAR是proposal和anchor free的,可以避免繁杂的anchor超参数调整。SiamCAR简单,高效,整洁。 (其实仅仅从abstract来看,SiamCAR和SiamBAN似乎没有区别)
1. Introduction
跟踪背景:视觉目标跟踪已经收到了大量的关注,广泛应用在智能监控,人机交互和无人驾驶中。但是当前跟踪问题仍面临着巨大的挑战,比如大的光影变换,尺度变化,背景杂乱,严重遮挡,和位姿变化导致非刚性目标形变等。
现状回顾:孪生网络将视觉跟踪任务建模为目标匹配问题,并学习目标模板和搜索区域之间的通用相似性图。由于单个相似度图通常包含有限的空间信息,因此常见举措是在搜索区域的多个尺度上执行匹配以确定目标的尺度变化,这就解释了为什么这些跟踪器耗时且劳动密集型 。
- SiamRPN将region proposal extraction子网附在孪生网络中,并将分类分支和回归分支联合起来用于目标跟踪,他避免了提取多尺度特征图(用于应对目标尺度变化)的耗时步骤。
- DaSiam, CSiam, SiamRPN++对SiamRPN改进。但这些算法仍对anchor boxes的数量,尺寸,纵横比敏感,即参数调整对这些算法很重要。
本文做法:展示了一个anchor-free的孪生网络追踪器。具体地,将跟踪分解为2个子问题:分类问题+回归问题。分类分支用于预测每个空间位置的标签,回归分支用于考虑对每个位置回归一个边界框。通过这样的分解,跟踪任务可以以逐像素预测的方式求解。受到先前工作的启发,SiamCAR旨在提取包含丰富类别信息和语义信息的响应图。不用于分别使用2个特征图用于region proposal detection和回归的RPN模型,SiamCAR只使用了一个响应图去预测目标位置和目标框。SiamCAR是在线训练,离线追踪的方式,在训练过程中没有任何数据增强操作。
本文贡献:1. 提出SiamCAR框架,该框架构建简单,性能高效;2. SiamCAR是proposal和anchor free的,相关的超参数可以明显减少,避免精细的超参调整过程;3. 不花里胡哨的,SiamCAR在精读和速度上都实现了SOTA。
2. Related Works
本文主要回顾SiamRPN类网络。
研究者们致力于从不同角度发展快速精准的追踪器,如特征提取,模板更新,分类器设计,回归器设计等。早期的特征提取主要使用了颜色特征、纹理特征或其他手工特征。受益于深度学习的发展,基于深度卷积特征被广泛使用。模板更新能改进模型的适应性,但在线更新是极其低效的,除此外,模板更新中出现的跟踪飘移问题也需要被解决。相关滤波方法的引入是的追踪在精度和效率上达到了前所未有的高度。最近研究展示了基于孪生网络的在线训练+离线跟踪的方法在精度和效率见达到了平衡。
- SiamFC:构建了一个全卷积孪生网络作为追踪器;
- CFNet:引入相关滤波层在SiamFC框架中并执行在线跟踪以提升精度。
- DSiam:用2个在线transformations修改孪生网络分支,学习了一个动态孪生网络,在可接受的速度范围内实现了精读的提升。
- SAsiam:构建了一个带有语义分支和外观分支的双重孪生网络,这两个分支分开训练以保持特征的异质性,但在测试时结合起来以提高跟踪精度。
为了处理尺度变化问题,这些孪生网络需要执行多尺度搜索,导致时间消耗很大。
- SiamRPN:受到目标检测中RPN网络的启发,在孪生网络输出后加入region proposal extraction,将分类分支和回归分支联合训练用于region proposal。SiamRPN避免了提取多尺度特征图这一耗时的步骤,实现了高效的结果。但是SiamRPN难以处理干扰目标(干扰物和目标外观相似)的问题。
- DaSiamRPN:在训练阶段增加负样本训练数据。通过数据增强,提升追踪器的鉴别能力并获得了更鲁棒的结果。进一步扩展至长时跟踪。
- SiamRPN++:可应用Resnet取代AlexNet作为backbone,随机飘移训练目标位置在模型训练阶段以消除中心偏差。
在这些基于RPN的追踪器中anchor用于region proposal。此外,anchor boxes能利用深度特征图并避免重复的计算,可以显著加速追踪过程。SPM和SiamRPN的速度都很快。尽管SiamRPN++应用了一个非常深的网络,他的速度仍然可以接受。Anchor-free的追踪器如ECO和这些基于anchor的性能还有一定的差距。然而,这些追踪器的性能对anchor超参数十分敏感,需要仔细调整超参数和丰富的技巧才能实现理想的性能。此外,由于anchor boxes的尺寸和纵横比是固定的,这些追踪器在处理目标有较大形变和位姿变化时还有很大的难度。
3. Proposed Method
3.1 Feature Extraction with Siamese Subnetwork
两个分支:
- 目标分支: 输入Z,输出\fai(Z)
- 搜索分支:输入X,输出\fai(X)
接下来执行深度互相关操作(逐通道相关操作),得到响应图R。这里需要注意的是(和SiamBAN,SiamRPN++类似),作者需要R包含更多的信息,又因为浅层特征如边缘/角点/颜色/形状能更好表达视觉属性易于定位,深度特征对语义属性有更好的表达能力易于鉴别干扰,因此本文混合多层深度特征,i.e.,将ResNet50的最后三个block的输出进行级联(concatenation),将级联的结果执行深度互相关操作得到多通道响应图。再将多通道响应图通过一个1x1卷积以降低通道数至256,减少参数量。
与SiamBAN和SiamRPN++的区别在于:SiamCAR是对最后三个block的输出进行级联,而SiamBAN和SiamRPN++是将他们进行加权求和。
这一过程的示意图如下:
3.2 Bounding Box Prediction with Classification and Regression Subnetwork
对提取到的特征图R*分别输入到2个分支:
-
分类分支:得到分类特征图A^{cls}_{wxhx2},其中每个点(i, j, :)包含一个2D向量,代表在搜索区域的对应位置其为前景和背景的分数 -
回归分支:得到回归特征图A^{reg}_{wxhx4},其中每个点(i, j, :)包含一个4D向量t(i,j)=(l,t,r,b),代表在搜索区域内从该点到边界框四个边的距离。
由于输入搜索区域中目标和背景所占面积的比例不是很大,所以样本不平衡不是问题。所以,简单使用交叉熵损失用于分类,IOU损失用于回归。
3.2.1 回归分支
具体的回归损失函数值计算过程如下:
3.2.2 中心分支
一个观察:远离目标中心的位置往往会产生低质量的预测框,会降低跟踪性能。 因此,作者添加了一个与分类分支并行的中心分支(center-ness)来去除异常值,其输出记为A^{cen}_{wxhx1},其中每个点(i,j)给定对应位置的中心度得分C(i,j),其和目标中心和(i,j)之间的距离成反比。 具体的中心损失函数值计算过程如下:
中心分支也是SiamCAR和其他论文的关键区别之一。
3.2.3 分类分支
即交叉熵损失
3.2.4 总损失
这里,\lambda_1=1, \lambda_2=3
对这部分的总体示意图如下:
3.3 Tracking Phase
在跟踪期间,边界框的大小和纵横比通常会在连续帧之间发生微小变化。
因此,对3.2中得到的若干候选目标框,进行尺度变化惩罚重排分类分数+cosine window。得分最高的候选框是预测结果。
进一步,直接将得分最高的框作为最终结果,可能到导致相邻帧的目标框抖动,所以,从得分前3的框附近再选取8个框做加权平均作为最终预测结果。
总来来说,SiamCAR的示意图表示如下:
4. Experiments
4.1 Implementation details
RTX2080Ti template patch,即Z的大小为127x127; search patch,即X的大小为256X256 backbone为SiamRPN++中的修改后的ResNet50,在ImageNet上预训练。
训练细节:batch size=96, 共20epoches,SGD,初始lr=0.001。前10个epoches时,backbone特征提取部分参数冻结,只训练分类和回归分支;后10个epoches时,ResNet50的最后3个blocks解冻参与训练。共训练了42小时。训练数据集包括COCO, ImageNet Det, ImageNet VID, Youtube-BB。
测试过程示意图:
4.2 Results on GOT-10k
GOT-10k:野外目标跟踪,多样性较强,超过10,000个视频 (将追踪结果上传,由官方网站测评) 评价指标:success plots, average overlap (AO:估计框和真实框的重叠率), success rate(重叠率大于一定比例的帧的占比)
4.3 Results on LaSOT
LaSOT:超过3.52 million手动标注帧,1400个视频。70类目标,每类有20个视频。LaSOT的官网有35个算法作为baselines。 评价指标:normalized precision plots, precision plots, success plots in one-pass evaluation (OPE)
4.4 Results on OTB50
OTB50:包含50个视频,测试视频被手动标注了9种属性,包括光影变换,尺度变换,遮挡,形变,运动模糊、快速运动、平面内旋转、平面外旋转、视野外、背景杂乱和低分辨率。 评价指标:success plots, precision plots in OPE
4.5 Results on UAV123
UAV123:123个视频,超过110K帧。
4.6 Run-time Evaluation
52.27FPS在RTX2080Ti上。
|