High Performance Visual Tracking with Siamese Region Proposal Network(SiamRPN)

news2024/11/16 5:34:08

High Performance Visual Tracking with Siamese Region Proposal Network(SiamRPN,CVPR2018)

主要贡献:

  • 提出了SiamRPN跟踪器,首次将端到端的离线训练方式,应用到了大尺度的图像跟踪任务上
  • 在在线跟踪过程中,提出了一种局部单点检测(local shot detection)的方法,可以有效地改善传统的多尺度检测方法
  • 以160FPS的速度在VOT2015、VOT2016、VOT2017上取得了领先性能

在这里插入图片描述

该网络结构整体可以分为两部分:

  • Siamese Network:与SiamFC基本一致,分为模板分支和搜索分支,两个分支共享权值。
  • Region Proposal Network:由两个分支组成,一个是分类分支,用于区分目标和背景;另一个是回归分支,用于微调候选区域,以实现精确定位。

anchor的本质就是输出一系列不同形状和尺寸的矩形。在RPN子网络中,特征图上的每个像素点都生成k个anchor(论文中k=5),通过这些anchor框对bounding box进行回归。

在RPN子网络中,经过特征提取网络得到的模板特征图和搜索特征图都会送入分类分支和回归分支中,而后在两个分支中,模板特征图分别经过一个3×3卷积层得到相应特征图4×4×(2k×256)和4×4×(4k×256),特征通道从256增加到了2k×256和4k×256。之所以要乘以2k,是因为特征图的每个像素点都生成k个anchor,同时每个anchor可以被分类为前景或背景;同理,乘以4k,是因为每个anchor可以用4个参数(x, y, w, h)进行描述。搜索特征图也会分别经过一个3×3卷积层得到相应特征图,这里的通道数保持不变,还是256。

对于分类分支,将2k个模板图像anchor的4×4×256作为卷积核,与搜索图像的20×20×256进行卷积操作(互相关),从而生成分类响应图17×17×2k,响应图上的每个点表示一个维度为2k的向量;对于回归分支,将4k个模板图像anchor的4×4×256作为卷积核,与搜索图像的20×20×256进行卷积操作(互相关),从而生成回归响应图17×17×4k,响应图上的每个点表示一个维度为4k的向量。

在训练过程中,使用Cross Entropy Loss作为分类分支的损失函数,使用Smooth L1 Loss作为回归分支的损失函数。Smooth L1相比于L1损失函数,可以收敛的更快;相比于L2损失函数,对离群点、异常值不敏感,梯度变化相对更小,训练时不容易跑飞。

正负样本选择策略:设置高低两个阈值,大于0.6的为正样本,小于0.3的为负样本,一个pair中有64个样本,其中正样本最多16个。

Tracking as one-shot detection:

在这里插入图片描述

模板分支使用第一帧预测RPN子网络在检测分支上的卷积核的权重(以灰色表示),然后修剪模板分支,仅保留检测分支。因此,该框架被修改为局部检测网络。

推理:选择分类响应图中top K个正样本,得出对应的anchors,然后得到与之对应的回归响应图中K个坐标偏移,最后通过anchors和这些偏移值得到预测值。由此我们得到K个proposals。
我们需要从K个proposals中进行选取,文章中给出了两个策略:

  • 作者认为相邻帧目标的位移不会太大,所以只选取分类特征图中心区域的点。
  • 使用余弦窗(cosine window)和尺度变化惩罚(scale change penalty)来re-rank proposals的得分,以获得最好的一个。

在这些操作之后,将分类分数乘以时间惩罚,对top K个proposals进行重新排序,然后执行非极大值抑制(NMS)以得到最终的跟踪边界框。在选择最终边界框后,通过线性插值法更新目标大小,以保持形状的平滑变化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/712113.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Elasticsearch 分词器切词器分析器

normalization : 文档规范化 先切词,然后规范化. 规范化要规范哪些内容? 大小写; 标点符号; 时态; 复数; 规范化主要是为了匹配更精准 character filter : 字符过滤器. 标点符号 分词之前的预处理,过滤无用字符 HTML Strip Character Filter :htm…

【C3】内核模块,设备号,字符驱动,设备节点

文章目录 1.内核模块:必须包含module.h2.内核模块参数:权限位是用在sysfs文件系统里,只读权限用S_IRUGO设置2.1 extern:声明来自另一个模块 3.设备号:主设备号对应驱动程序,具有相同主设备号设备使用相同驱…

Android Studio Bot 下载使用

Android Studio Bot 下载使用 本文最新更新地址 https://gitee.com/chenjim/chenjimblog 下载 Android Studio Hedgehog 当前的新版本是 2023.1.1 Canary 10找到Studio Bot: View->Tool Windows->Studio Bot,或者下图 登录 Google 账号,注意当前限…

Echarts拼接折线图,左右两部分设置不同的样式及formatter的处理

option {tooltip: {trigger: axis,formatter: (params) > {console.log(params);if (params && params.length 2) {if (params[0].value ! -) {return 日期&#xff1a;${params[0].name}<br>${params[0].marker} ${params[0].value};} else {return 日期&a…

Spring Boot 中的分布式配置中心

Spring Boot 中的分布式配置中心 Spring Boot 是一个非常流行的 Java Web 开发框架&#xff0c;它提供了很多工具和组件来简化 Web 应用程序的开发。其中&#xff0c;分布式配置中心是 Spring Boot 中的一个非常重要的组件&#xff0c;它可以帮助我们管理应用程序中的配置信息…

Android---SQLite优化

SQLite 是一款轻型的数据库&#xff0c;是遵循 ACID 关系型数据库管理系统&#xff0c;它包含在一个相对小的 C 库中。它是 D.RichardHipp 建立的公有领域项目。它的设计目的是嵌入式的&#xff0c;而且目前已经在很多嵌入式产品中使用了它&#xff0c;它占用资源非常的低&…

日期时间~

1&#xff1a;Data类的概述 Data类的对象在Java中代表的是当前所在系统的此刻日期时间 2&#xff1a;Data的构造器 3&#xff1a;常用方法 2:SimpleDateFormat 可以对Date对象或时间毫秒值格式化成我们喜欢的时间形式。也可以把字符串的时间形式解析成日期对象 1&#xff1…

计算机网络编程 | 多路I/O转接服务器

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…

大模型在银行业客服中心的应用

随着金融科技领域的不断发展&#xff0c;金融机构改变了传统方式&#xff0c;将更多服务从线下转移到线上&#xff0c;为了提升客户体验和效率&#xff0c;金融机构不断探索自然语言处理、机器学习等技术手段来优化客服服务&#xff0c;其中大模型技术被广泛应用&#xff0c;成…

python sorted函数多条件排序大量数据时出现错误排序

""" 求生日&#xff0c;我的理解是有四个排序条件&#xff0c;分别是&#xff0c;年月日&#xff0c;输入顺序 """ n int(input())person_list [[x for x in input().split()] for x in range(n)] print(person_list) # 给输入先后加入顺序 …

NSString 输出百分比 % 无法显示

通过 NSString 拼接显示半分比 % 符号的时候会遇到拼接了 % 但 UI 未能显示; 解决办法 在需要添加 % 处通过 %% 的表达方式即可成功输出. [NSString stringWithFormat:"%.f%%", deviceLevel * 100]; 以上便是此次分享的全部内容&#xff0c;希望能对大家有所帮助!

【TensorRT】基本介绍

TensorRT用于高效实现已经训练好的深度学习的模型的推理过程的SDK&#xff0c;能使DL模型有更快的推理速度和更高的吞吐量。官方提供Python和C两种接口&#xff0c;形式基本一致且相互对应。 1 ✨ TensorRT介绍 &#x1f35f;1.1 TensorRT的工作 分为两个时期&#xff08;构建…

flask socket版本问题

1、版本问题 问题解决 根据官方给定的兼容版本&#xff0c;从socket.io官网CDN下载最新的4.4.1版本js文件&#xff0c;https://cdn.socket.io/。 python-engineio使用版本。需要更新的javascript.socketio包&#xff0c;具体可对照官方文档Requirements部分末尾 https://flask-…

红帽宣布为RHEL 7延长4年生命周期

早前一段时间&#xff0c;红帽原本计划在2024年7月1日结束支持&#xff0c;但是Red Hat表示由于部分IT企业需要更长的时间部署和升级&#xff0c;宣布为Red Hat Enterprise Linux 7(RHEL 7)增加4年的扩展生命支持(ELS)。 据了解&#xff0c;RHEL 7于2014年发布&#xff0c;支持…

uniapp解决跨域问题

配置&#xff1a; "proxy": {"/api": {"target": "https://s2.lakala.com","changeOrigin": true,"pathRewrite": {"^/api": "/api"}}} 目标路径 https://s2.lakala.com/api/v3/labs/relat…

7.1.4 【Linux】与目录树的关系

每个文件&#xff08;不管是一般文件还是目录文件&#xff09;都会占用一个 inode &#xff0c; 且可依据文件内容的大小来分配多个 block 给该文件使用。道目录的内容在记录文件名&#xff0c; 一般文件才是实际记录数据内容的地方。 目录 当我们在 Linux 下的文件系统创建一…

STM32 创建工程(库函数)

1.新建CORE ,FWLIB,OBJ,SYSTEM,USER五个文件夹 2.新建工程选择软件包 3.OBJ文件用来存放编译中间文件 4.FWLIB官方固件库包 src 存放的是固件库的.c 文件&#xff0c;inc 存放的是对应的.h 文件 直接从模板中粘贴进即可 5.CORE 6.USER文件夹需要复制的6个文件 7. 加入上面加入…

爱玩粥的有福了,带图形界面的明日方舟皮肤的员工管理系统,数据结构期末实训满分。

&#x1f4af; 博客内容&#xff1a;复习数据结构 &#x1f600; 作  者&#xff1a;陈大大陈 &#x1f680; 个人简介&#xff1a;一个正在努力学技术的准前端&#xff0c;专注基础和实战分享 &#xff0c;欢迎私信&#xff01; &#x1f496; 欢迎大家&#xff1a;这里是CS…

JavaEE学习的第三部分(重点在第四个知识点,SSM框架整合)

一、拦截器 Spring MVC的拦截器(Interceptor) 类似于Java Servlet的过滤器&#xff08;Filter&#xff09;。前面学习Java Web学过一点过滤器。 拦截器的作用 是拦截用户的请求&#xff0c;并做相应的处理 。例如在JSP提交表单数据给Controller&#xff0c;先是提交给拦截器的…

计算机毕业论文内容参考|基于Python的高校二手网络交易平台的设计与实现

文章目录 导文摘要前言绪论1课题背景2国内外现状与趋势3课题内容相关技术与方法介绍系统分析系统设计系统实现系统测试总结与展望1本文总结2后续工作展望导文 计算机毕业论文内容参考|基于Python的高校二手网络交易平台的设计与实现 摘要 本文设计并实现了一种基于Python的高校…