1. 简述RPN网络

2. 训练过程

3. 测试过程

4. 个人总结

1. 简述RPN网络

由于SiamFC网络只能确定目标中心点的位置,无法改变bbox大小,且SiamFC是通过构建金字塔的方式去应对目标尺度发生改变的情况,这种做法不仅计算量大而且得到的目标位置不够精确,在SiamRPN中,作者将目标检测领域的Faster R-CNN论文中提出的RPN应用到目标追踪领域,对目标位置进行回归得到更加精确的目标位置。

SiamRPN的网络结构图如上图所示,Template Frame(denoted as Z)和Detection Frame(denoted as X)都经过相同的特征提取网络,Z经过CNN得到6×6×256的特征图,X经过CNN得到22×22×256的特征图;接着就是RPN网络处理过程,RPN网络分为2部分,一部分做分类,另一部分做回归。在分类分支中,Z经过一个卷积核将通道数从256上升到256×2k(k为anchor数量,SiamRPN中k=5),这是由于分类任务中,每一个anchor代表的区域有可能是目标也可能是背景,有两种可能性,k个anchor就是2k种,此时Z变为4×4×(2k×256);X经过卷积核后通道数不变,特征图尺寸变为20×20×256。在回归分支中,Z经过一个卷积核将通道数从256上升到256×4k(k=5),这是由于在回归任务中,回归的目的是为了得到目标精确位置,目标位置可以通过中心点坐标以及目标width,height共四个参数来确定,回归分支经过训练可以得到与目标的相对位置差,再经过简单的计算就可以得到测试帧中目标的位置;X经过卷积核后通道数不变,特征图尺寸变为20×20×256。最后,分别将分类与回归分支中的Z作为kernel与X进行卷积,经过训练后的网络分类分支最终得到Z中各区域是正样本(目标)还是负样本(背景),回归分支可分别得到各个anchors与X中bbox的相对位置差。分类与回归分支得到的score map都是17×17。

2. 训练过程

在训练过程中,SiamRPN中anchor_ratios有5种分别是[0.33, 0.5, 1, 2, 3],anchor_scale有1种为[8],因此共会产生5种anchor,由于score map为17×17,在score map上的每个像素点位置上都生成5种anchors,共17×17×5个anchors。还需要说明的是,score map决定了要生成的anchor数量,而anchor的大小是相对于搜索区域的,也就是说每个anchor都代表搜索区域上的一小部分区域,这样,直接将这些anchors与X中的bbox求IoU,当IoU>0.6判为正样本,IoU<0.3判为负样本,并且总样本数为64,其中正样本数不超过16个,如此生成的其实就是分类标签;anchor与X中bbox求中心点位置以及width,height的差就得到了回归标签。计算公式如下:

Tx,Ty,Tw,Th代表标记样本(bbox)的中心点以及width,height;Ax,Ay,Aw,Ah代表anchor的中心点以及width,height。分类任务使用交叉熵损失,回归任务使用smooth L1 loss。

3. 测试过程

上述训练过程完成后,将训练参数加载到网络中后,只需将第一帧带bbox的图像作为模板帧(Z)输入网络做前向计算,而后输入帧(X)都作为搜索帧,也进行前向计算,然后与Z进行卷积,分类分支得到预测的分类值,回归分支得到位置差。这也是siamese网络速度快的原因所在,网络参数都在训练过程确定了,如果一个vedio有N帧,则只需有1帧作为模板帧进行前向计算得到分类权重,回归权重;剩下的N-1帧全部做前向计算之后再与分类权重,回归权重做卷积得到结果。回归分支最终得到的结果17×17的score map 是每个anchor代表区域为正样本的概率值,然后在每个anchor上加余弦窗并加尺度惩罚,用来筛选得到最适合的anchor,也就是目标最大可能位置处的anchor,接着对这个anchor的位置进行回归计算,公式如下:

其实这个公式就是上面公式一的变体而已。完成之后便得到结果。

4. 个人总结

在细节处理方面,个人认为最值得注意的就是求得网络训练标签的方法,是anchors与搜索图像区域bbox求Iou得到分类标签,计算位置差得到回归标签,而不是与模板图像中的bbox做运算。测试阶段中,模板图像给出bbox,接着在下一帧中将bbox的四倍作为搜索区域,resize到255×255,传入网络,与模板分类分支做卷积得到最大响应点;与模板回归分支做卷积根据提取到的不同特征得到不同的位置差,然后筛选出最大响应的anchor位置,对其进行回归,即可得到目标位置。

SiamRPN 论文理解相关推荐

  1. SiamRPN论文学习笔记(上)

    SiamRPN论文学习笔记(上) 引言 SiamRPN的网络结构 孪生子网络部分 区域候选子网络部分 RPN的诞生 区域候选子网络 训练阶段 两阶段训练 anchors尺寸设置 分类分支中anchor ...

  2. A Learned Representation for Artistic Style论文理解

    A Learned Representation for Artistic Style论文理解 这篇论文是在Perceptual losses for real-time style transfer ...

  3. 图卷积网络进行骨骼识别代码_【骨骼行为识别】2s-AGCN论文理解

    Two-Stream Adaptive Graph Convolutional Networks for Skeleton-Based Action Recognition 论文链接: https:/ ...

  4. PacificA: Replication in Log-Based Distributed Storage Systems 论文理解

    PacificA: Replication in Log-Based Distributed Storage Systems 论文理解 思考:论文有个结论说,相比 GFS 具有中心化的实体,Pacif ...

  5. [计算机视觉] AprilTag 2: Efficient and robust fiducial detection(2016)论文理解

    论文地址 chrome-extension://cdonnmffkdaoajfknoeeecmchibpmkmg/assets/pdf/web/viewer.html?file=https%3A%2F ...

  6. [计算机视觉] AprilTag: A robust and flexible visual fiducial system(2011)论文理解

    论文地址 chrome-extension://cdonnmffkdaoajfknoeeecmchibpmkmg/assets/pdf/web/viewer.html?file=https%3A%2F ...

  7. 【6Dof位姿估计】DPVL:6DoF Object Pose Estimation via Differentiable Proxy Voting Loss论文理解

    6DoF Object Pose Estimation via Differentiable Proxy Voting Loss论文理解 解决什么问题 本文创新点\贡献 本文IDEA来源 方法 方向向 ...

  8. 论文理解【RL - Exp Replay】—— 【ReMERN ReMERT】Regret Minimization Exp Replay in Off-Policy RL

    标题:Regret Minimization Experience Replay in Off-Policy Reinforcement Learning 文章链接:Regret Minimizati ...

  9. Transformer(二)--论文理解:transformer 结构详解

    转载请注明出处:https://blog.csdn.net/nocml/article/details/110920221 本系列传送门: Transformer(一)–论文翻译:Attention ...

  10. ResNet 论文理解含视频

    ResNet 论文理解 问题导引论文理解 Q1.神经网络真的越深越好吗? Q2. 为什么加深网络会带来退化问题? Q3. 如何构建更深层的网络? 基于残差的深度学习框架 Residual Learni ...

最新文章

  1. JSP第二次作业_8小题
  2. python0b1010_笔记-python-字符串格式化-format()
  3. Python之GUI:基于Python的GUI界面设计的一套AI课程学习(机器学习、深度学习、大数据、云计算等)推荐系统(包括语音生成、识别等前沿黑科技)
  4. XML中预定义好的实体
  5. BIO、NIO、AIO的区别——Netty系列(一)
  6. 福建省高职单招分数怎么计算机,2019福建高职单招切线 高职招考分数线是多少...
  7. linux 使用nginx 权限不够,对于nginx和Linux,有一些关于权限的问题。
  8. office2016打开PPT出现解决VBE6EXT.OLB不能被加载问题的解决办法
  9. 关于UploadValues ,太可恶了
  10. 在JavaScript中实现命名空间
  11. matlab上机操作作业指导书,LED自动固晶基本操作1
  12. 《Effective STL中文版》译序
  13. python基础算法面试_【归纳】面试中常见的python基础知识
  14. Python图像旋转任意角度
  15. metal分析是什么意思_GWAS数据如何做meta分析?
  16. 数据加密 第四篇:对称密钥
  17. 设计模式——责任链模式(职责链模式)
  18. ubuntu最简单的联网(连接网络)方法
  19. Stata+PSM:倾向得分匹配分析简介
  20. win10安装—手记

热门文章

  1. tan和cot的梗_sin cos tan cot 之间的关系
  2. python socket和多线程实现多人对话聊天室
  3. CCF计算机职业资格认证考试201403-2“窗口”试题及答案
  4. python诗歌文件格式处理_Python诗歌的依赖版本语法
  5. 怎么修改html上的文字大小,网页字体大小怎么改_电脑网页字体怎么调整-win7之家...
  6. 计算机丢失msvcr100.dll解决办法,如何解决Msvcr100.dll丢失问题?两种方法可以解决...
  7. 夜深人静写算法【栈】
  8. java isbn_java – 将ISBN10转换为ISBN13
  9. speedoffice(Excel)如何隐藏编辑栏
  10. Vue开发需要的网站