通过将视觉跟踪任务分解为像素类别分类和边界框回归2个子问题,提出1种新颖的全卷积Siamese网络,以逐像素方式解决端到端视觉跟踪问题。与基于区域提议的Siamese-RPN、SiamRPN++和SPM等最先进的跟踪器不同,所提出的框架proposal 和anchor free。因此,能够避免棘手的超参数调整锚,减少人为干预。提出的框架简单、简洁、有效。
论文地址:https://arxiv.org/pdf/1911.07241
代码地址:https://github.com/ohhhyeahhh/SiamCAR
一.方法
SiamCAR由2个子网络组成:用于特征提取的Siamese子网络和用于边界盒预测的分类回归子网络。以ResNet-50为骨干。
1.Feature Extraction
该子网络由2个分支组成:target branch的输入为template patch Z ;search branch的输入为search region X 。2个分支共享相同的CNN结构,输出的feature map分别为, 。
低层次特征如边、角、颜色和形状可用于定位;高层次特征对语义属性的识别有帮助,所以融合高低层次特征是1种很好的选择。结合最后3个块提取的特征进行连接。
维度均为256,因此,的尺寸为3 × 256。
使用深度相关层来生成多个语义相似图。
其中,∗ 表示通道间的相关计算,R的尺寸和2个分支的输出的通道数一致(3×256);接着,利用1*1卷积进行降维后得到尺寸为1×256的作为分类回归子网络的输入。
2.Bounding Box Prediction
Classification-Regresssion Subnetwork包括2个分支:classification branch和regression branch。给定输入,regression branch输出特征图 ,点(i, j, :)的值t(i, j) = (l, t, r, b),表示从相应位置到搜索区域中边界框四个边的距离。classification branch输出特征图,表示前景和后景的分类分数。
对于regression branch的输出使用IOU loss,classification branch使用cross-entropy loss。
令和为实际的左上角和右下角的点的坐标。然后让(x,y)为点(i,j)在search region上的中心点。
回归目标
回归损失
其中,表示IOU loss,定义如下。
根据观察,远离目标中心的位置往往会产生低质量的预测边界框。因此,添加1个与classification branch并行的centerness branch,以去除异常值。centerness branch输出特征图,中心度分数为
中心度的损失函数
整体损失
在训练阶段,,。
3.Tracking
跟踪的目的是预测当前帧中的目标的边界框。对于1个位置,会产生1个6维的向量。其中,cls表示前景分类分数,cen表示中心度得分,l+r,t+b分别表示当前帧预测的目标的宽和高。
运动过程中,边界框应该是微小变化的,所以添加惩罚项。
最高得分所在的位置q为
其中,H是cosine window,是平衡权重,q 是有最高得分的目标像素。
由于在q周围的都有可能是是trage pixel,所以,计算q 的n个neightborhoods的得分,并取top-k的regression boxes进行加权平均得到最终的target box。实际中,n=8, k=3。
二.实验
1.Testing details
下图为跟踪过程展示。
图A显示1对输入,图B显示模型的相应输出。图C显示对应于top-k点的预测边界框。图D通过在图C中平均这些框来显示最终预测的边界框。
2.Results on GOT-10K
在GOT-10K上评估SiamCAR,并将其与SOTA跟踪器进行比较,包括SiamRPN++、SiamRPN、SiamFC、ECO、CFNET和其他方法,结果如下表所示。