1. 论文信息

  • 论文题目:Learning Attentions: Residual Attentional Siamese Network for High Performance Online Visual Tracking
  • 论文出处:CVPR 2018
  • 论文作者:Qiang Wang等人
  • 在线阅读:http://openaccess.thecvf.com/content_cvpr_2018/papers/Wang_Learning_Attentions_Residual_CVPR_2018_paper.pdf

2. 概述

本文基于Siamese network网络结构,加入了注意力机制(包括Residual Attention、General Attention和通道注意力),这项注意力机制作为一个layer嵌入到Siamese network网络中,缓解了深度网络训练中的过拟合问题,还提升了网络的判别能力和适应性。

3. 研究思路(重要)

3.1 相关滤波跟踪

相关滤波跟踪的目标函数(岭回归):

minw∥Aw−y∥22+λ∥w∥22(1)(1)minw⁡‖Aw−y‖22+λ‖w‖22

\mathop {\min }\limits_{\bf{w}} \left\| {{\bf{Aw}} - {\bf{y}}} \right\|_2^2 + \lambda \left\| {\bf{w}} \right\|_2^2 \tag {1}
求解,得:

w=(ATA+λI)−1ATy(2)(2)w=(ATA+λI)−1ATy

{\bf{w}} = {\left( {{{\bf{A}}^T}{\bf{A}} + \lambda {\bf{I}}} \right)^{ - 1}}{{\bf{A}}^T}{\bf{y}} \tag {2}
由于矩阵求逆过程很慢,因此可以将其转换到非线性空间,用对偶形式求解,得:

w=ATα(3)(3)w=ATα

{\bf{w}} = {{\bf{A}}^T}{\bf{\alpha }} \tag {3}
有关相关滤波具体思想介绍,可以参考目标跟踪经典论文 High-Speed Tracking with Kernelized Correlation Filters(KCF),此处不再赘述。

从上述求解公式可以看出,传统相关滤波算法在建模过程中并没有考虑到目标物体图像特征的学习(主流相关滤波方法基本采用了HOG特征、CN特征,或者预训练好的CNN特征,严格来说,对于跟踪算法本身而言,没有特征学习的过程),而仅仅考虑了判别器的在线学习。

小结。传统相关滤波方法的特点:隔断了特征表示与判别学习

3.2 Siamese netowrk跟踪方法

Siamese网络tracking方法的总体结构图如下所示:

基本公式建模:

f(z,x)=φ(z)∗φ(x)+b⋅I(4)(4)f(z,x)=φ(z)∗φ(x)+b⋅I

f\left( {{\bf{z}},{\bf{x}}} \right) = \varphi \left( {\bf{z}} \right) * \varphi \left( {\bf{x}} \right) + b \cdot {\bf{I}} \tag {4}

从上述公式(4)可以看出,与相关滤波方法不同,Siamese网络需要在函数φ(⋅)φ(⋅)\varphi \left( \cdot \right)中同时进行特征学习和判别学习,其判别结果体现在f(z,x)f(z,x)f\left( {{\bf{z}},{\bf{x}}} \right),另一方面,结合示意图可和公式以看出,Siamese网络的训练,只利用了单一样本zz\bf{z}。

小结。传统Siamese网络跟踪方法的特点:

  • 同时进行特征学习和判别学习
  • 训练样本比较少,容易形成过拟合

3.3 CFNet跟踪方法

为了解决传统Siamese网络的少样本容易形成过拟合问题,CFNet在Siamese网络中引入循环矩阵(虚拟的多样本),并且借助循环矩阵的优势提升计算性能。但是和标准相关滤波方法类似,CFNet中也不可避免地带来了边界效应(boundary effect)。

小结。CFNet跟踪方法的特点:

  • 结合Siamese网络和相关滤波方法
  • 具有边界效应,一定程度上限制了算法性能

3.4 本文提出的方法(RASNet)

为了更好地解决过拟合问题,本文基于Siamese网络,将特征学习与判别学习分离。如何分离?通过多种注意力机制的cross correlation来进行分离。

4. RASNet目标跟踪方法

4.1 RASNet总体结构

从上图可以看出,本文基于Siamese网络进行改进,且本文最重要的创新点对应于图中的三个部分:① Residual Attention;② General Attention;③ Channel Attention,各个部分的作用如下所示:

  • Residual Attention:表示目标物体的全局信息(叠加、综合多帧视频画面中的目标信息)
  • General Attention:表示目标的“空间信息”,可以理解为传统相关滤波中的期望的高斯响应map
  • Channel Attention:表示特征通道信息,可以理解为对不同通道的特征进行加权处理

4.2 Residual Attention

论文用ρ~ρ~\tilde \rho表示Residual Attention,它是一个二维的map,本质上是某种置信图,用于估计目标的共同(全局)特征

论文原文:The intuition behind this idea is that any one estimation might not capture both the common characteristics and distinctions of targets in different videos while a superposition of estimations might. The residual attention encodes the global information of the target and has low computation complexity. (from Section 3.3)

个人对Residual Attention作用的理解:由于物体形状可能不是特别规范,难以简单粗暴地用一个矩形框来进行描述,因此在进行图像采样时,很容易就将背景图像也一并包含进来了,这样就对跟踪器的训练产生困扰,这些边边角角的图像成分究竟是不是物体?然而我们能够想到一种规律或者称为一种假设:物体在持续运动过程中,其自身特征成分应该是稳定的(色彩啊纹理啊什么的),背景部分很可能千变万化,如果我们能够想到将这种共同的部分提取出来,那么算法也就能够大体得到物体的形状轮廓了。如下图所示:

论文的解决思路是利用Residual Attention,将众多帧中采样图像的共同部分提取出来,形成较为稳定的形状轮廓,这部分也是本文最大的亮点。联想到之前的CSR-DCF算法(可以参考本文之前的文章https://blog.csdn.net/discoverer100/article/details/78182306),本文在这方面期望达到的目的与之类似,但个人感觉本文的思路更进了一步,CSR-DCF通过颜色成分来确定物体的形状轮廓,在处理颜色不太单一的目标时可能会出现不理想(这只是本人初步理解,具体还需要进行真实测试才能完全下结论),本文通过多帧画面中的共同成分来进行轮廓分析,理论上更优越一些。

值得注意的是,论文在计算Residual Attention时,用到了沙漏网络(Hourglass Networks),这种网络最明显的特点是:先对图像进行下采样,再对图像进行上采样,因此呈沙漏形。关于这种网络结构,可以参考论文Stacked hourglass networks for human pose estimation(Newell, A., Yang, K., & Deng, J. (2016, October). Stacked hourglass networks for human pose estimation. In European Conference on Computer Vision (pp. 483-499). Springer, Cham.) 在线阅读:https://arxiv.org/pdf/1603.06937.pdf

4.3 General Attention


论文用ρ¯ρ¯\bar \rho表示,该变量也是一个二维矩阵,表示空间区域中的某种置信分布,其物理意义与相关滤波中基于高斯分布的期望输出比较类似,两者的区别在于:传统相关滤波中的期望输出通常为固定数值的二维矩阵,而本文的general attention是通过学习得到的

4.4 Dual Attention = Residual Attention + General Attention

这个没什么好说的,dual attention ρρ\rho就是将上述residual attention和general attention进行叠加:

ρ=ρ¯+ρ~(5)(5)ρ=ρ¯+ρ~

\rho = \bar \rho + \tilde \rho \tag {5}

两种Attention进行叠加的示意图下所示:

Dual Attention的实际效果如下图所示:

在上图中,图(a)描述General Attention的学习状况,可以发现,迭代次数达到50次后,效果可以达到最好。

4.5 Channel Attention

一般情况下,经过卷积神经网络提取的特征通常都包含很多channel,其中每一层channel都代表了某种特定的模式,在不同的场景下,不同的channel可能具有相异的显著性(重要性),因此可以通过引入注意力机制对各个channel进行选择(这部分思想的出发点与CSR-DCF比较接近)。该部分的示意图如下所示:

这里,论文用iii表示channel层号,第i" role="presentation" style="position: relative;">iii层的特征输出为

z~i=βi⋅zi(6)(6)z~i=βi⋅zi

{{\bf{\tilde z}}_i} = {\beta _i} \cdot {{\bf{z}}_i} \tag {6}

4.6 融合

论文将上述三种Attention融合的思路示意图:

该融合思路,可以认为:首先将Residual Attention和General Attention进行“叠加”,得到Dual Attention,然后将Dual Attention与Channel Attention进行加权相乘。以下是论文的公式:

fp′,q′=∑i=0m−1∑j=0n−1∑c=0d−1ρi,jβcϕi,j,c(z)ϕp′+i,q′+j,c(x)+b(7)(7)fp′,q′=∑i=0m−1∑j=0n−1∑c=0d−1ρi,jβcϕi,j,c(z)ϕp′+i,q′+j,c(x)+b

{f_{p',q'}} = \sum\limits_{i = 0}^{m - 1} {\sum\limits_{j = 0}^{n - 1} {\sum\limits_{c = 0}^{d - 1} {{\rho _{i,j}}{\beta _c}{\phi _{i,j,c}}\left( {\bf{z}} \right){\phi _{p' + i,q' + j,c}}\left( {\bf{x}} \right) + b} } } \tag {7}

其中,ρρ\rho表示Dual Attention,ββ\beta表示Channel Attention,zz\bf{z}表示模板图像,xx\bf{x}表示搜索图像。

在论文中,这样的融合思想就是Weighted Cross Correlation,其中weighted就体现在论文创新的Attention机制。

回顾本博客中的公式(4)——SiamFC跟踪算法的基本建模:

f(z,x)=φ(z)∗φ(x)+b⋅I(4)(4)f(z,x)=φ(z)∗φ(x)+b⋅I

f\left( {{\bf{z}},{\bf{x}}} \right) = \varphi \left( {\bf{z}} \right) * \varphi \left( {\bf{x}} \right) + b \cdot {\bf{I}} \tag {4}

通过比较可以发现,论文所做的工作主要是:基于SiamFC,在模板图像中增加了注意力机制处理,以解决边界效应,实现更加鲁棒的目标跟踪方法。

4.7 网络结构

首先回顾SiamFC网络的loss function,下面是一个样本对的损失函数:

L(Zi,Xj)=1|∇|∑u∈∇log(1+exp(−Z[u]⋅X[u]))(8)(8)L(Zi,Xj)=1|∇|∑u∈∇log⁡(1+exp⁡(−Z[u]⋅X[u]))

L\left( {{{\bf{Z}}^i},{{\bf{X}}^j}} \right){\rm{ = }}\frac{{\rm{1}}}{{\left| \nabla \right|}}\sum\limits_{u \in \nabla } {\log \left( {1 + \exp \left( { - {\bf{Z}}\left[ u \right] \cdot {\bf{X}}\left[ u \right]} \right)} \right)} \tag {8}

这种方式可能存在过拟合的问题,如下图所示:

从图中可以看出,论文选择了8帧画面,对于SiamFC算法而言,一个training pair可能随机地包含了两帧画面,比如,#1和#4就有可能被选择为一组training pair,然而#4是目标处于完全遮挡下的状态,用这种方式来训练会导致过拟合,降低跟踪器的性能。

基于SiamFC跟踪算法的上述不足,论文采用了一种类似加权的思路进行改进,以下是论文中所有样本对的loss function:

Lall=∑i∑jL(Zi,Xj)⋅Ω(i,j)(9)(9)Lall=∑i∑jL(Zi,Xj)⋅Ω(i,j)

{L_{all}} = \sum\limits_i {\sum\limits_j {L\left( {{{\bf{Z}}^i},{{\bf{X}}^j}} \right) \cdot \Omega \left( {i,j} \right)} } \tag {9}

其中,

Ω(i,j)=exp(−|i−j|σ)Ω(i,j)=exp⁡(−|i−j|σ)

\Omega \left( {i,j} \right) = \exp \left( { - \frac{{\left| {i - j} \right|}}{\sigma }} \right)

表示时间上的有效性权重,其基本思想是:两帧之间隔得越远,权重就越低。如此,就可以很大程度上避免SiamFC算法存在的上述训练过拟合问题。

5. 算法效果

  • 论文在OTB-2013数据集上的success score为0.672,在OTB-2015数据集上的success score为0.642。整体上与CREST算法接近,超过了SINT/SRDCF/SiamFC/CFNet/CSR-DCF等算法
  • 论文算法的跟踪速度为83fps,稍高于SiamFC算法的75fps,远高于CSR-DCF的24fps

6. 总结

论文在Siasmes Network基础上,通过引入了三种注意力机制(Residual Attention、General Attention和Channel Attention),进一步描述了目标物体的外观轮廓,优先选择了更加强有力的特征通道,并对它们进行加权融合,作为一个layer嵌入到Siamese Network中进行end-to-end训练,最终取得了良好的效果。


更多内容,欢迎扫码关注“视觉边疆”微信订阅号

RASNet视频目标跟踪论文笔记相关推荐

  1. Visual Tracking with Online Multiple Instance Learning (MIL)目标跟踪论文笔记

    1. 论文信息 论文标题 :Visual Tracking with Online Multiple Instance Learning 论文作者: Boris Babenko,University ...

  2. CVPR2018已公布关于视频目标跟踪的论文简要分析与总结

    CVPR2018已公布关于视频目标跟踪的论文简要分析与总结 一,A Twofold Siamese Network for Real-Time Object Tracking 论文名称 A Twofo ...

  3. 漫谈视频目标跟踪与分割

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文整理记录了旷视研究院Detection组针对视频目标跟踪与分割问题的探讨和收获,并从喜闻乐见的图像 ...

  4. Jarry的目标跟踪学习笔记一

    Jarry的目标跟踪学习笔记一 目标跟踪是计算机视觉中的一个重要方向,已经由来已久,并且有着广泛的应用,如:视频监控,人机交互, 无人驾驶等.在我的想象中,自己研究的内容就是,将来钢铁侠头盔里追踪敌人 ...

  5. 计算机视觉:目标跟踪论文推荐

    声明: 1.论文覆盖时间段:2019年12月31日-2020年02月19日 2.在此推荐大家关注 计算机视觉论文速递 知乎专栏,可以快速了解到最新优质的CV论文 [1]旷视Detection组开源:视 ...

  6. 相关滤波目标跟踪学习笔记(三)——KCF算法公式理解

    KCF算法特点: 1.通过循环移位产生了大量的虚拟样本: 2.利用循环矩阵可以在傅里叶域对角化的性质,大大减少了运算量,提高了运算速度: 3.核函数的运用,提高了分类器的性能: 4.采用HOG特征,相 ...

  7. 目标跟踪学习笔记_2(particle filter初探1)

    首先提供几篇关于粒子滤波算法的博客: http://www.cnblogs.com/yangyangcv/archive/2010/05/23/1742263.html 这篇博客比较通俗易懂,简单的介 ...

  8. 单目标跟踪——个人笔记

    单目标跟踪--个人笔记 以<Handcrafted and Deep Trackers: A Review of Recent ObjectTracking Approaches>为主线看 ...

  9. TensorFlow知网文章1-TensorFlow平台下的视频目标跟踪深度学习模型设计

    1.TensorFlow平台下的视频目标跟踪深度学习模型设计 刘帆刘鹏远李兵徐彬彬 中国人民解放军军械工程学院四系 视频目标识别与跟踪的本质是在连续视频帧中找到感兴趣的运动目标所处的位置. 现有很多成 ...

最新文章

  1. Oracle 优化器_访问数据的方法_单表
  2. 注册表编辑器厘米爱你找不到mysql,win7系统中安装mysql后找不到服务或出现找不到指定文件的解决方法...
  3. SpringMVC-快速入门
  4. [计算机组成原理] Booth算法 —— 补码一位乘法
  5. 如何自行给指定的SAP OData服务添加自定义日志记录功能
  6. koa --- koa-bouncer验证
  7. 瑞幸回应申请破产:这是一个让重生之路又进一步的好消息
  8. Openstack概论
  9. WIndows10下 MySQL 5.7(社区版)卸载
  10. Linux下查看网卡信息及确定网卡位置以及更改网卡名称
  11. 27款实用高效的腾讯热门开源项目推荐
  12. 3月12日 对极几何,本征矩阵,基础矩阵,F/E矩阵计算,恢复旋转与平移,三角化视图重建
  13. bcp sqlcmd bulkinsert在unicode问题,Unexpected EOF encountered in BCP data-file
  14. emmet插件及PyV8
  15. html页面导出word文档
  16. 硬盘柱面损坏怎么办_硬盘0磁道损坏怎么办
  17. 第二章 前端开发——JavaScript
  18. 压缩文件rar解压出现“这个压缩文件格式未知或者数据已经被损坏”
  19. ​为什么冠状病毒的死亡率具有误导性?
  20. Fiddle抓包工具使用

热门文章

  1. 用python绘制叠加等边三角形_python叠加等边三角形绘制
  2. Window10 IoT家庭物联网网关系统设计
  3. 【开源代码】在criteo数据集用MLP跑出AUC=0.809的结果
  4. Oracle 12c的安装
  5. v-if导致用ref取不到元素的解决办法
  6. cisco路由器基本实验之四 动态路由之IGRP协议的配置(Boson NetSim)
  7. 送 10 本签名书!
  8. 周星驰搞笑电影中的BT角色大全(100位)
  9. OSError: [WinError -529697949] Windows Error 0xe06d7363
  10. Go语言学习培训靠谱吗