【目标跟踪】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和其他方法,结果如下表所示。

相关推荐
Scc_hy4 分钟前
强化学习_Paper_1988_Learning to predict by the methods of temporal differences
人工智能·深度学习·算法
巷北夜未央5 分钟前
Python每日一题(14)
开发语言·python·算法
袁煦丞7 分钟前
【亲测】1.5万搞定DeepSeek满血版!本地部署避坑指南+内网穿透黑科技揭秘
人工智能·程序员·远程工作
大模型真好玩9 分钟前
理论+代码一文带你深入浅出MCP:人工智能大模型与外部世界交互的革命性突破
人工智能·python·mcp
遇码22 分钟前
大语言模型开发框架——LangChain
人工智能·语言模型·langchain·llm·大模型开发·智能体
在狂风暴雨中奔跑23 分钟前
使用AI开发Android界面
android·人工智能
阳光_你好23 分钟前
请详细说明opencv/c++对图片缩放
c++·opencv·计算机视觉
飞哥数智坊24 分钟前
AI编程实战:30分钟实现Web 3D船舶航行效果
人工智能·three.js
誉鏐27 分钟前
从零开始设计Transformer模型(1/2)——剥离RNN,保留Attention
人工智能·深度学习·transformer
Ai野生菌28 分钟前
工具介绍 | SafeLLMDeploy教程来了 保护本地LLM安全部署
网络·人工智能·安全·大模型·llm