Learning to Fuse Asymmetric Feature Maps in Siamese Trackers论文解读

2023-10-31 21:51

本文主要是介绍Learning to Fuse Asymmetric Feature Maps in Siamese Trackers论文解读,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Learning to Fuse Asymmetric Feature Maps in Siamese Trackers

论文地址
代码地址,实际上根本没有

1. Introduction

SiamRPN特点:

SiamRPN formulates the tracking problem as one-shot detection.
SiamRPN把追踪问题描述为小样本检测

SiamRPN introduces a region proposal network(RPN) and utilizes Upchannel cross correlation.
SiamRPN引入一个区域推荐网络并利用Upchannel cross correlation

UP-XCorr imbalences the parameter distribution, making the training optimization hard
UP-XCorr参数分布不平衡,会让优化很困难


SiamRPN++特点
SiamRPN++ introduces Depthwise Correlation to efficiently generate a multi-channel correlation Feature-Map to address the imbalence of parameter distribution.
SiamRPN++引入Depth-wise Correlation生成一个多通道的feature-map,以描述参数分布

Depthwise Correlation的缺点:

Limitation 1:
DW-Corr produces similar correlation responses for the target and distractors of homogeneous appearance, which make it difficult for RPN to effectively discriminate the desired target from distractors
DW-Corr会在target(模板)和distractors(search-region)同类的object之间生成一些响应很高的response map,这会让RPN很难有效地区分出需要的目标(因为有些假目标和真目标很像,而且响应图中的响应值也很高)

Limitation 2:
Only a few channels in the DW-Corr feature map are activated
DW-Corr通道中只有很少一部分是激活的(有用的,无用特征冗余度过高)
To perform DW-Corr,features of different targets are desired to be orthogonal and distributed in different channels,so that correlation feature channels of different targets are suppressed and only a few channels of the same target are activated
不同target(template)的特征需要是正交的,且是分布在不同通道中的,因此计算互信息用的两张feature-map之间不同target的互信息特征的通道会被抑制(响应值低),且只有少数的具有相同target的通道会是激活(响应值高)通道
DW-Corr often produces response at irrelevant background,as consequence, correlation maps are often blurry and do not have clear boundaries and hinder RPN from accurate and robust prediction
DW-Corr常在无关背景处产生响应(响应值高),结果就是响应图会模糊且没有明显边界(燃在一起了)且阻碍RPN网络产生精确鲁邦的预测

2. Related Work

1. MDNet:
MDNet tracker employs a CNN trained offline from multiple annotated videos. During eval, it learns a domain-specific detector online to discriminate between the background and foreground.
MDNet追踪器采用多重标注的视频离线训练CNN。Eval阶段中,学习一个特定区域的在线检测器,以区分前景和背景
2. ATOM:
ATOM comprises two dedicated components: target estimation, which is trained offline, and classification trained online
ATOM由两个专用部分构成:离线训练的目标估计模块和在线训练的分类模块
3. DiMP:
DiMP employs a meta-learning based architecture, trained offline, that predicts the weights of the target model
DiMP采用元学习的离线训练架构,预测目标模型(ATOM)权重
4. KYS:
KYS extends DiMP by exploiting scene information to improve the results
KYS利用环境信息和帧信息(Spatial-Temporal information)拓展DiMP,提升结果
5. SiamFC:
SiamFC firstly introduce XCorr layer to combine feature maps

3. Method

3.1 Siamese Networks for Tracking

  • Siamese networks formulate the tracking task as learning a general similarity map between the feature maps extracted from the target template and the search region. When certain sliding windows in the search region are similar to the template, responses in these windows are high.
孪生网络描述追踪任务为学习一个生成从template中提取出来的特征图和搜索区域之间的相似响应图。当搜索区域的某个滑窗和模板相似,这些窗口的相似度响应值会很高

c = f ( z ‾ , x ‾ ) = φ ( z ; θ ) ∗ φ ( x ; θ ) c=f(\overline{z},\overline{x})=\varphi(z;\theta) * \varphi(x;\theta) c=f(z,x)=φ(z;θ)φ(x;θ)
其中

φ 是 n e t w o r k \varphi是network φnetwork

z ‾ = φ ( z ; θ ) ∈ R C × η × ω \overline{z}=\varphi(z;\theta)\in \mathbb{R}^{C\times \eta \times \omega} z=φ(z;θ)RC×η×ω

x ‾ = φ ( x ; θ ) ∈ R C × H × W \overline{x}=\varphi(x;\theta)\in \mathbb{R}^{C \times H \times W} x=φ(x;θ)RC×H×W

f 是结合特征图响应图和相似度响应图的函数 f是结合特征图响应图和相似度响应图的函数 f是结合特征图响应图和相似度响应图的函数



-
SiamRPN++ introduces DW-Corr addressing parameter distribution imbalences to efficiently generate a multi-channel correlation feature map
SiamRPN++引入Depth-wise描述参数分布不均,生成一个多通道的互相关响应图

c d w = f ( z ‾ , x ‾ ) = z ‾ ⊗ z ‾ c_{dw} = f(\overline{z},\overline{x})=\overline{z} \otimes \overline{z} cdw=f(z,x)=zz

c d w ∈ R N × ( H − η + 1 ) × ( W − ω + 1 ) c_{dw}\hspace{2mm}\in \hspace{2mm} \mathbb{R}^{N \times (H-\eta+1)\times (W-\omega +1)} cdwRN×(Hη+1)×(Wω+1)

⊗ 指的是 d e p t h − w i s e 两个特征图的 c o n v o l u t i o n 操作 \otimes \hspace{1mm}指的是depth-wise 两个特征图的 convolution操作 指的是depthwise两个特征图的convolution操作

3.2 Asymmetric Convolution

To circumvent expensive computation, Author introduces a mathmetically equivalent procedure, called the Asymmetric Convolution, that replaces this direct convolution on concatenated feature map with two independent convolutions
为了规避较高的计算代价,作者引入了一个数学上和DW-Corr等价的过程,称之为AC,通过两个独立的卷积,然后进行Broadcast拼接

ACM

v i = [ θ z θ x ] ∗ [ z ‾ x ‾ i ] = θ z ∗ z ‾ + θ x ∗ x ‾ i v_i = \begin{bmatrix} \theta_z&\theta_x \end{bmatrix}*\begin{bmatrix} \overline{z} \\ \overline{x}_i \end{bmatrix} \\ \hspace{3mm}=\theta_z * \overline{z}+\theta_x*\overline{x}_i \\ vi=[θzθx][zxi]=θzz+θxxi
v = { v i ∣ i ∈ [ 1 , n ] } = { θ z ∗ z ‾ + b θ x ∗ x ‾ i ∣ i ∈ [ 1 , n ] } = θ z ∗ z ‾ + b θ x ∗ x ‾ v = \{v_i | i \in [1,n]\} \\ \hspace{34mm}=\{\theta_z*\overline{z} \hspace{2mm}+_b \hspace{2mm} \theta_x* \overline{x}_i \hspace{4mm} |\hspace{2mm} i \in [1, n] \} \\ \hspace{10mm}=\theta_z * \overline{z} \hspace{2mm} +_b \hspace{2mm} \theta_x * \overline{x} v={vii[1,n]}={θzz+bθxxii[1,n]}=θzz+bθxx
其中

  • x ∈ R H × W × C 是 s e a r c h 经过 b a c k b o n e 的 f e a t u r e − m a p x\in \mathbb{R}^{H\times W\times C}是search经过backbone的feature-map xRH×W×Csearch经过backbonefeaturemap

  • z ∈ R η × ω × c 是 t e m p l a t e 经过 b a c k b o n e 的 f e a t u r e − m a p z \in \mathbb{R}^{\eta \times \omega \times c}是template经过backbone的feature-map zRη×ω×ctemplate经过backbonefeaturemap

  • θ x ∗ x ‾ ∈ R ( H − η + 1 ) × ( W − ω + 1 ) × P 是 x f 经过 h e a d ( k e r n e l _ s i z e = z f 的 k e r n e l _ s i z e = [ η , ω ] ) 之后的 r e s p o n s e − m a p , 维度是 [ H − η + 1 , W − ω + 1 , P ] \theta_x * \overline{x} \in \mathbb{R}^{(H-\eta+1)\times(W-\omega +1)\times P}是x_f经过head(kernel\_size=z_f的kernel\_size=[\eta, \omega])之后的response-map,维度是[H-\eta+1,W-\omega +1,P] θxxR(Hη+1)×(Wω+1)×Pxf经过head(kernel_size=zfkernel_size=[η,ω])之后的responsemap,维度是[Hη+1,Wω+1,P]

  • θ z ∗ z ‾ ∈ R 1 × 1 × P 是 z f 经过 h e a d ( k e r n e l _ s i z e 跟自己相同 [ η , ω ] ) 之后的 r e s p o n s e ,维度是 [ 1 , 1 , P ] \theta_z * \overline{z} \in \mathbb{R}^{1\times1\times P}是z_f经过head(kernel\_size跟自己相同[\eta, \omega])之后的response,维度是[1, 1, P] θzzR1×1×Pzf经过head(kernel_size跟自己相同[η,ω])之后的response,维度是[1,1,P]

  • + b 和 ⊕ 的含义类似,也是 b r o a d c a s t 后相加,就是把维度是 [ 1 , 1 , P ] 的 z ‾ , b r o a d c a s t 成和 x ‾ 一样的 [ H − η + 1 , W − ω + 1 , P ] ,这一步才是核心,就是把原本 D W − C o r r 的卷积变成了相加,计算代价自然而然就降低了。 +_b和\oplus的含义类似,也是broadcast后相加,就是把维度是[1, 1, P]的\overline{z},broadcast成和\overline{x}一样的[H-\eta+1, W-\omega+1, P],这一步才是核心,就是把原本DW-Corr的卷积变成了相加,计算代价自然而然就降低了。 +b的含义类似,也是broadcast后相加,就是把维度是[1,1,P]zbroadcast成和x一样的[Hη+1,Wω+1,P],这一步才是核心,就是把原本DWCorr的卷积变成了相加,计算代价自然而然就降低了。

这就是论文的核心工作,通过公式的分解,把DW-Corr变成矩阵Broadcast拼接

实际上在代码中,除了Search_region的response-map和template的response-map之外,还拼接了search-region的bbox=[batch, 4],bbox经过interpolate,映射为Search-region的feature-map中的坐标,然后经过Conv为[batch, 1],就可以个跟Template一样进行拼接了

3.3 Network with backbone、neck and head

实际上就是对SiamBAN进行了小小的修改,本次就进入了垃圾时间,上网络模型

SiamBAN

Template Search layer4 layer3 layer2 zf_layer4 xf_layer4 conv_kernel conv_search head conv_kernel conv_search head zf_layer3 xf_layer3 conv_kernel conv_search head conv_kernel conv_search head zf_layer3 xf_layer3 conv_kernel conv_search conv_kernel conv_search head head cls_layer4 loc_layer4 cls_layer3 loc_layer3 cls_layer2 loc_layer2 cls loc 算术平均 算术平均 zf尺寸的核 zf尺寸的核 search_bbox + 插卷 search_bbox search_bbox 插卷 search_bbox + + + + + search_bbox 插卷 search_bbox search_bbox 插卷 search_bbox search_bbox 插卷 search_bbox search_bbox 插卷 search_bbox

这篇关于Learning to Fuse Asymmetric Feature Maps in Siamese Trackers论文解读的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/318382

相关文章

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

SpringCloud负载均衡spring-cloud-starter-loadbalancer解读

《SpringCloud负载均衡spring-cloud-starter-loadbalancer解读》:本文主要介绍SpringCloud负载均衡spring-cloud-starter-loa... 目录简述主要特点使用负载均衡算法1. 轮询负载均衡策略(Round Robin)2. 随机负载均衡策略(

解读spring.factories文件配置详情

《解读spring.factories文件配置详情》:本文主要介绍解读spring.factories文件配置详情,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用场景作用内部原理机制SPI机制Spring Factories 实现原理用法及配置spring.f

Spring MVC使用视图解析的问题解读

《SpringMVC使用视图解析的问题解读》:本文主要介绍SpringMVC使用视图解析的问题解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring MVC使用视图解析1. 会使用视图解析的情况2. 不会使用视图解析的情况总结Spring MVC使用视图

Linux中的进程间通信之匿名管道解读

《Linux中的进程间通信之匿名管道解读》:本文主要介绍Linux中的进程间通信之匿名管道解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、基本概念二、管道1、温故知新2、实现方式3、匿名管道(一)管道中的四种情况(二)管道的特性总结一、基本概念我们知道多

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi

解读docker运行时-itd参数是什么意思

《解读docker运行时-itd参数是什么意思》在Docker中,-itd参数组合用于在后台运行一个交互式容器,同时保持标准输入和分配伪终端,这种方式适合需要在后台运行容器并保持交互能力的场景... 目录docker运行时-itd参数是什么意思1. -i(或 --interactive)2. -t(或 --

解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题

《解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题》在Spring开发中,@Autowired注解常用于实现依赖注入,它可以应用于类的属性、构造器或setter方法上,然... 目录1. 为什么 @Autowired 在属性上被警告?1.1 隐式依赖注入1.2 IDE 的警告:

Rust中的注释使用解读

《Rust中的注释使用解读》本文介绍了Rust中的行注释、块注释和文档注释的使用方法,通过示例展示了如何在实际代码中应用这些注释,以提高代码的可读性和可维护性... 目录Rust 中的注释使用指南1. 行注释示例:行注释2. 块注释示例:块注释3. 文档注释示例:文档注释4. 综合示例总结Rust 中的注释

解读Pandas和Polars的区别及说明

《解读Pandas和Polars的区别及说明》Pandas和Polars是Python中用于数据处理的两个库,Pandas适用于中小规模数据的快速原型开发和复杂数据操作,而Polars则专注于高效数据... 目录Pandas vs Polars 对比表使用场景对比Pandas 的使用场景Polars 的使用