【目标跟踪】SiamCAR

通过将视觉跟踪任务分解为像素类别分类和边界框回归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和其他方法,结果如下表所示。

相关推荐
trayvontang1 小时前
Python虚拟环境与包管理工具(uv、Conda)
python·conda·uv·虚拟环境·miniconda·miniforge
伊织code1 小时前
pdfminer.six
python·pdf·图片·提取·文本·pdfminer·pdfminer.six
大千AI助手1 小时前
SWE-bench:真实世界软件工程任务的“试金石”
人工智能·深度学习·大模型·llm·软件工程·代码生成·swe-bench
hqxstudying1 小时前
JAVA项目中邮件发送功能
java·开发语言·python·邮件
Q_Q5110082852 小时前
python的软件工程与项目管理课程组学习系统
spring boot·python·django·flask·node.js·php·软件工程
天上的光2 小时前
17.迁移学习
人工智能·机器学习·迁移学习
合作小小程序员小小店2 小时前
SDN安全开发环境中常见的框架,工具,第三方库,mininet常见指令介绍
python·安全·生成对抗网络·网络安全·网络攻击模型
后台开发者Ethan2 小时前
Python需要了解的一些知识
开发语言·人工智能·python
北京_宏哥2 小时前
Python零基础从入门到精通详细教程11 - python数据类型之数字(Number)-浮点型(float)详解
前端·python·面试