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

相关推荐
l1t3 小时前
利用DeepSeek实现服务器客户端模式的DuckDB原型
服务器·c语言·数据库·人工智能·postgresql·协议·duckdb
寒月霜华4 小时前
机器学习-数据标注
人工智能·机器学习
paid槮5 小时前
机器视觉之图像处理篇
图像处理·opencv·计算机视觉
九章云极AladdinEdu5 小时前
超参数自动化调优指南:Optuna vs. Ray Tune 对比评测
运维·人工智能·深度学习·ai·自动化·gpu算力
人工智能训练师6 小时前
Ubuntu22.04如何安装新版本的Node.js和npm
linux·运维·前端·人工智能·ubuntu·npm·node.js
酷飞飞7 小时前
Python网络与多任务编程:TCP/UDP实战指南
网络·python·tcp/ip
cxr8288 小时前
SPARC方法论在Claude Code基于规则驱动开发中的应用
人工智能·驱动开发·claude·智能体
研梦非凡8 小时前
ICCV 2025|从粗到细:用于高效3D高斯溅射的可学习离散小波变换
人工智能·深度学习·学习·3d
数字化顾问8 小时前
Python:OpenCV 教程——从传统视觉到深度学习:YOLOv8 与 OpenCV DNN 模块协同实现工业缺陷检测
python
幂简集成8 小时前
Realtime API 语音代理端到端接入全流程教程(含 Demo,延迟 280ms)
人工智能·个人开发