【论文阅读】Learning to Rank Proposals for Siamese Visual Tracking

article/2025/9/30 22:45:23

Learning to Rank Proposals for Siamese Visual Tracking:2021 TIP

引入

There are two main challenges for visual tracking:
首先,待跟踪目标具有类不可知性和任意性,关于目标的先验信息很少。
其次,仅仅向跟踪器提供一个初始图像,tracker需要适应目标的外观变化和处理外部干扰,如遮挡。

上述挑战可以部分地通过鉴别discriminative correlation filter(DCF)方法来处理。通常,这些方法适应于给定的目标域并且以在线方式执行跟踪。然而,在线跟踪可能会引入不相关的背景,增加drifting risk

孪生网络通过学习目标与搜索区域之间的相似度映射,将视觉跟踪作为模板匹配任务来处理。 In fact, 孪生追踪器mostly adopt the template pyramid strategy to estimate the target box. 然而,这种模板金字塔策略基本上局限于对目标的外观进行建模(当目标规模变化剧烈时,效果不佳)。
SiamRPN将跟踪任务分解为分类和定位问题,避免了图像金字塔尺度估计的耗时操作。更重要的是,通过使用RPN,可以估计不同纵横比下的目标尺寸。
However,在SiamRPN中,所有的训练样本来自预定义的anchors(proposals),并且正样本和负样本的随机子集被馈送到Siamese网络以优化平均损失。在训练阶段有两个限制:

  • The number of negative samples is usually much larger than that of positive ones. Many non-semantic negative samples can be easily classified and contribute to the reduction of the average loss, which may prevent the classifier from discriminating hard negative samples, e.g., semantic distractors
  • All positive samples, whose overlapping ratios with a set of anchors are above a pre-defined threshold, are treated equally and expected to match the positive label as closely as possible.

为了克服上述局限性,我们提出了一种简单而有效的策略–样本关注度排序(SRA)来对训练样本的重要性进行排序。更具体地说,具有与正样本相似的语义特征的硬负样本被分配较大的权重以训练分类分支。这种简单的重新加权方案有助于增强跟踪器的鉴别能力。同时,根据IoU计算阳性样本的权重。实际上,当正样本充分覆盖目标并且包含较少的背景像素时,it plays a more important role in representing the target model.

在SiamRPN 及其后续跟踪器中,从多个预定义锚中选择具有最高分类得分的proposal作为跟踪目标。然而,如图1所示,最终选择的proposal可能不具有最大的IoU。因此,仅考虑proposal的分类分数而不考虑任何位置信息可能产生次优解决方案。
在这里插入图片描述

related works

Proposal Selection and Sampling Strategies

  • In the Siamese tracking field, the most widely adopted sampling strategy is random sampling, i.e., random selection from the whole training samples. In general, there are more negative samples than positive ones. So a fixed ratio is set to balance two kinds of samples.
  • Another popular idea is to focus on hard samples that have large loss during offline
    training like DaSiamRPN [17] or online choose hard samples in a special target domain such as ATOM [13]

there are many sampling attention strategies in object detection like DR-loss [36]and AP-loss [37],. However, they are not suitable for class-agnostic tracking tasks.

we propose a novel Sample Ranking Attention(SRA) strategy to re-weigh training samples.
this paper designs a ranking network, which can be integrated into Siamese tracking network in an end-to-end manner, instead of the two-stage process of object detection, so that bounding box and classification information are integrated together to produce more reliable proposal selection.

PROPOSED METHOD

基于SiamRPN

在这里插入图片描述
在这里插入图片描述

Sample Ranking Attention(SRA)

a positive sample with a higher IoU with the ground-truth should match its positive label better(closer) than other positive samples with lower IoUs. Hence, we propose IoU-SRA as an importance measurement to re-weigh positive samples.

For a positive sample i ∈ A p o s i ∈ A_{pos} iApos , we calculate its IoU with the ground-truth and denotes the value as v i i o u v^{iou}_i viiou, and obtain the IoU-SRA weight w i w_i wi to characterize the importance of the i -th positive sample as w i = 1 + v i i o u − τ p o s w_i = 1 +v^{iou}_i− τ_{pos} wi=1+viiouτpos,
the threshold τ p o s τ_{pos} τpos is used to separate positive and negative samples,是一个常数。

对于负样本,由(1)计算出来的 c i ( p o s ) c_i(pos) ci(pos)尽可能为0;
we propose a Score-SRA strategy to measure the importance of negative samples, under which the samples with higher c i ( p o s ) c_i(pos) ci(pos) gain more attention during training(因为硬负样本能被正确分类对提升网络的效果更重要
For each negative sample i ∈ A n e g i ∈ A_{neg} iAneg, we calculate its Score-SRA weight w i w_i wi as
w i = 1 + c i ( p o s ) w_i = 1 + c_i(pos) wi=1+ci(pos)
在这里插入图片描述

Ranking Network(RANet)

The above SRA can ensure that the important training samples are correctly classified.
RANet的目标是给具有较大IoU值的提案的较高排名得分,反之亦然。
The ranking score map r i {r_i} ri is calculated as
r i = c o r r ( [ φ ( z ) ] r a n k , [ φ ( x ) ] r a n k ) {r_i}= corr([φ(z)]_{rank}, [φ(x)]_{rank}) ri=corr([φ(z)]rank,[φ(x)]rank)只考虑正样本:
在这里插入图片描述
the total training loss is L t o t a l = L r p n + L r a n k L_{total} = L_{rpn} + L_{rank} Ltotal=Lrpn+Lrank
(其来源于铰链损失函数hinge loss)

Online Tracking Decision

在这里插入图片描述

在推断阶段,SiamRPN仅利用anchor的分类得分来确定当前目标位置。不同的是,我们考虑了anchor与ground truth之间的overlapping,并更加关注具有高IoU的正anchor。为了获得用于在线跟踪的更可靠的anchor,我们建议通过它们的加权和来融合归一化分类和排名得分图,如下所示:
s i = β r i + ( 1 − β ) c i ( p o s ) {s_i}= β{r_i}+ (1 − β){c_i(pos)} si=βri+(1β)ci(pos)where i is the anchor index, r i {r_i} ri and c i ( p o s ) {c_i(pos)} ci(pos) denote the ranking and foreground classification score maps of all anchors, respectively.
s i {s_i} si is the final score map used for anchor selection.

融合得分图的优点如图4所示,它表明SiamLTR通过使用等级得分更能够捕获具有较高IoU的bbox,SiamLTR能够更好地适应大规模变化,实现更精确的定位。

基于SiamRPN++:

在这里插入图片描述
As shown in Figure 5, three pairs of aggregated feature maps are fed into RANet to produce the ranking score maps R i , i = 1 , 2 , 3 R_i,i=1,2,3 Ri,i=1,2,3. A weighted-fusion layer utilizes all the output maps
as
在这里插入图片描述
The weight η i η_i ηi is optimized offline together with the network and fixed in the inference phase. The weighted ranking score map Rall is treated as r i {r_i} ri in Eq6.
其他相同,推理阶段也相同。


http://chatgpt.dhexx.cn/article/sEwneHGn.shtml

相关文章

深度学习笔记-----多输入网络 (Siamese网络,Triplet网络)

目录 1,什么时候需要多个输入 2,常见的多输入网络 2.1 Siamese网络(孪生网络) 2.1 Triplet网络 1,什么时候需要多个输入 深度学习网络一般是输入都是一个,或者是一段视频切片,因为大部分的内容是对一张图像或者一段…

Siamese networks

Siamese Network 是一种神经网络的架构,而不是具体的某种网络,就像Seq2Seq一样,具体实现上可以使用RNN也可以使用CNN。Siamese Network 就像“连体的神经网络”,神经网络的“连体”是通过共享权值来实现的(共享权值即左…

Siamese Network理解(附代码)

author:DivinerShi 文章地址:http://blog.csdn.net/sxf1061926959/article/details/54836696 提起siamese network一般都会引用这两篇文章: 《Learning a similarity metric discriminatively, with application to face verification》和《 Hamming D…

详解Siamese网络

摘要 Siamese网络用途,原理,如何训练? 背景 在人脸识别中,存在所谓的one-shot问题。举例来说,就是对公司员工进行人脸识别,每个员工只给你一张照片(训练集样本少),并且…

Siamese网络(孪生网络)

1. Why Siamese 在人脸识别中,存在所谓的one-shot问题。举例来说,就是对公司员工进行人脸识别,每个员工只有一张照片(因为每个类别训练样本少),并且员工会离职、入职(每次变动都要重新训练模型…

Siamese网络(孪生神经网络)详解

SiameseFC Siamese网络(孪生神经网络)本文参考文章:Siamese背景 Siamese网络解决的问题要解决什么问题?用了什么方法解决?应用的场景: Siamese的创新Siamese的理论Siamese的损失函数——Contrastive Loss损…

8.HttpEntity,ResponseEntity

RequestBody请求体,获取一个请求的请求体内容就不用RequestParam RequestMapping("/testRequestBody")public String testRequestBody(RequestBody String body){System.out.println("请求体: "body);return "success";}只有表单才有…

使用restTemplate进行feign调用new HttpEntity<>报错解决方案

使用restTemplate进行feign调用new HttpEntity<>报错解决方案 问题背景HttpEntity<>标红解决方案心得Lyric&#xff1a; 沙漠之中怎么会有泥鳅 问题背景 今天才知道restTemplate可以直接调用feign&#xff0c;高级用法呀&#xff0c;但使用restTemplate进行feign调…

HttpClient 源码详解之HttpEntity

HttpClient 源码详解 之HttpEntity 1. 类释义 An entity that can be sent or received with an HTTP message. Entities can be found in some requests and in responses, where they are optional. There are three distinct types of entities in HttpCore, depending on …

System.Net.Http.HttpClient

本文主要是介绍如何用HttpClient请求带参数的服务&#xff0c;请求服务为某翻译API 直接上源码 1.添加using System.Net;的引用 using System.Net; 2.使用HttpClient发送请求 public static async void Fanyin_HttpClient(string fromString) {Console.WriteLine($"F…

ResponseEntity类和HttpEntity及跨平台路径问题

1. 简介 使用spring时&#xff0c;达到同一目的通常有很多方法&#xff0c;对处理http响应也是一样。本文我们学习如何通过ResponseEntity设置http相应内容、状态以及头信息。 ResponseEntity是HttpEntity的扩展&#xff0c;添加一个HttpStatus状态代码。在RestTemplate和Con…

RestTemplate发送HTTP、HTTPS请求

前面我们介绍了如何使用Apache的HttpClient发送HTTP请求,这里我们介绍Spring的Rest客户端(即:RestTemplate) 如何发送HTTP、HTTPS请求。注:HttpClient如何发送HTTPS请求,有机会的话也会再给出示例。 声明:本人一些内容摘录自其他朋友的博客&#xff0c;链接在本文末给出&#…

HttpEntity的用法

关于HttpEntity的用法 HttpEntity表示http的request和resposne实体&#xff0c;它由消息头和消息体组成。 从HttpEntity中可以获取http请求头和回应头&#xff0c;也可以获取http请求体和回应体信息。HttpEntity的使用&#xff0c;与RequestBody 、ResponseBody类似。 HttpEnti…

关于HttpEntity的用法

关于HttpEntity的用法 HttpEntity表示http的request和resposne实体&#xff0c;它由消息头和消息体组成。从HttpEntity中可以获取http请求头和回应头&#xff0c;也可以获取http请求体和回应体信息。 HttpEntity的使用&#xff0c;与RequestBody 、ResponseBody类似。HttpEntit…

查询MySQL数据库中表结构的几种方法

mySQL: 方法一、二、三&#xff1a;是在本数据库中查询。 /** 方法一 **/ show columns from activity_station; /** 方法二 **/ desc activity_station; describe activity_station;/** 方法三 **/ show create table activity_station;方法四是在统计数据库中查询。 informa…

mysql 表结构查询的SQL语句

1、查看表结构 desc student;2、查看表的DDL语句 show create table student;3、查看列的结构信息 select column_name,data_type,column_comment,column_key,extra,character_maximum_length,is_nullable,column_default from information_schema.columns where table_sch…

mysql查看表结构 desc 表名;

查看表结构 语法&#xff1a;desc 表名;

MySQL之表结构

1.添加、删除字段 查看表结构 desc blog;show columns from blog;新增字段 alter table 表名 add 字段名 字段数据类型;alter table blog add age tinyint;删除字段 alter table 表名 drop 字段名;alter table blog drop age;重新添加age alter table blog add age tinyin…

mysql查看表结构和编码

show full columns from XXXXX

查看修改MySQL表结构命令

查看修改MySQL表结构命令 简述 小编经常会遇到一些数据库编码不对得问题&#xff0c;好TM头疼&#xff0c;这里做一个记录&#xff0c;供大家参考。 修改数据库字符集&#xff1a; ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE …]; 把表默认的字…