SiamRPN论文学习笔记(上)
SiamRPN论文学习笔记(上)
- 引言
- SiamRPN的网络结构
- 孪生子网络部分
- 区域候选子网络部分
- RPN的诞生
- 区域候选子网络
- 训练阶段
- 两阶段训练
- anchors尺寸设置
- 分类分支中anchors正负例选取策略
- 损失函数的选取
引言
在目标跟踪领域,孪生网络方法与相关滤波方法是最重要、应用最多的两类方法。在我的上一篇文章中,对孪生网络系列开山之作——SiamFC论文中的主要理论知识进行了简要总结。SiamFC的项目代码还在学习中,趁着扒项目代码的功夫,最近继续阅读SiamRPN的论文。
论文:《High Performance Visual Tracking with Siamese Region Proposal Network》
在SiamFC的基础上,SiamRPN加入了区域候选网络(Region Proposal Network,简称RPN)。整个网络由两部分构成:第一部分为孪生子网络,用于对输入图片进行特征提取;第二部分为区域候选子网络,用于生成目标所在位置的候选框。SiamRPN与SiamFC相比,进一步提高了检测精度。下面这幅图对SiamRPN、SiamFC和CCOT进行了比较,对于形变严重的物体,SiamRPN能够更精确地预测目标的形状。
SiamRPN的网络结构
论文中给出了SiamRPN的网络结构图,如图所示,接下来详细分析一下网络结构。
孪生子网络部分
如图所示,孪生子网络部分总体上与SiamFC相同,依然是采用两个分支,分别用来处理127×127的模板图z和255×255的待搜索图x。
两个分支采用完全相同、参数共享的全卷积网络(论文中采用的是AlexNet)来对输入图像提取特征。得到特征图分别为6×6×256的ϕ(z)\phi(z)ϕ(z)和22×22×256的ϕ(x)\phi(x)ϕ(x)。
对于孪生网络结构的理解,可以参考我的上一篇博客SiamFC论文学习笔记
区域候选子网络部分
RPN的诞生
区域候选网络(Regeon Proposal Network,简称RPN)最早是在图像检测领域的经典框架Faster R-CNN中提出来的。R-CNN系列网络经历了从R-CNN到Fast R-CNN,再到Faster R-CNN 的发展,最后使用RPN这个小小的网络代替了之前的框架中用于生成检测矩形框的选择性搜索算法(Selective Search,SS),使用Softmax层用于回归任务,实现了完全的端到端训练,不仅提高了目标检测的精度,而且解决了SS算法耗时过长(秒级)的问题。
RPN由两个小分支组成,分别用于分类和回归。分类分支对输入图像中生成的anchors进行分类,判断哪些anchors属于前景foreground,哪些anchors属于背景background,并从正例中选出top的K个anchors作为候选的proposals。回归分支对anchors进行微调和校正,使其能够更精确地框出物体的形状,最终得到合适的bounding box。SiamRPN把这种策略应用到了目标跟踪领域中。
区域候选子网络
回到SiamRPN的RP子网络结构,从图中可以看到,在RP子网络部分大致流程如下:
- 经过孪生子网络输出的特征图ϕ(z)\phi(z)ϕ(z)和ϕ(x)\phi(x)ϕ(x)经过一个卷积层conv,均被输入到了分类分支和回归分支中,我们记为xclsx^{cls}xcls、zclsz^{cls}zcls、xregx^{reg}xreg和zregz^{reg}zreg。
- 在分类和回归分支中,xclsx^{cls}xcls和zclsz^{cls}zcls、xregx^{reg}xreg和zregz^{reg}zreg分别进行互相关操作,生成特征图。
在SiamFC中我们也分析过,互相关操作就是我们熟悉的卷积操作,这里就是zclsz^{cls}zcls和zregz^{reg}zreg被作为卷积核,分别对xclsx^{cls}xcls和xregx^{reg}xreg去做卷积,在做卷积的过程中对256个通道的卷积结果进行了加权求和。最后得到两幅特征图A17×17×2kclsA^{cls}_{17×17×2k}A17×17×2kcls和A17×17×4kregA^{reg}_{17×17×4k}A17×17×4kreg。
我们来分析一下两个分支输出的结果。
A17×17×2kclsA^{cls}_{17×17×2k}A17×17×2kcls的尺寸为17×17×2k,实际上就是把原图划分为17×17个grids,每个grid内生成scale相同,ratio不同的k个anchor,针对每个anchor生成前景(目标)和背景两个类别,因此得到2k个通道的特征向量。
A17×17×4kregA^{reg}_{17×17×4k}A17×17×4kreg的尺寸为17×17×4k,相当于包含了17×17×k个向量,每个向量包含了一组四个偏移量数据[dx,dy,dw,dh],表示对应的anchor与相应的ground truth box的距离,因此得到4k个通道的特征向量。
训练阶段
两阶段训练
和SiamFC以及Faster R-CNN一样,SiamFC也能实现从输入到输出的完全端到端训练。在训练方式上,SiamRPN采用两阶段训练,训练优化策略采用经典的随机梯度下降法SGD。
因为SiamRPN是由两部分网络组成,第一阶段使用Imagenet只对孪生子网络(特征提取网络)进行预训练,第二阶段对SiamRPN整体网络进行端到端训练。
anchors尺寸设置
与目标检测任务相比,目标跟踪任务中同一视频内目标相似度比较高,因此论文中采取了更少的anchors,采取了尺寸scale相同而宽高比ratio不同的anchors策略,在这里取k=5,ratio设定为[0.33,0.5,1,2,3],即每个grid内生成5个anchors。
因此,从分类分支中输出17×17×10的特征图A17×17×10clsA^{cls}_{17×17×10}A17×17×10cls,从回归分支中输出17×17×20的特征图A17×17×20regA^{reg}_{17×17×20}A17×17×20reg。
分类分支中anchors正负例选取策略
训练时选择正负例的策略和Faster R-CNN中的相同,计算anchor与对应ground truth box的IoU。论文中设置了两个阈值thlo=0.3th_{lo}=0.3thlo=0.3和thhi=0.6th_{hi}=0.6thhi=0.6,对于IoU>thhiIoU>th_{hi}IoU>thhi的anchors记为正例,对于IoU<thloIoU<th_{lo}IoU<thlo的anchors记为负例。
损失函数的选取
损失函数包括分类损失和回归损失两部分。
分类分支采用交叉熵函数。
回归分支采用归一化坐标的平滑L1L_{1}L1损失函数。用[AxA_{x}Ax,AyA_{y}Ay,AwA_{w}Aw,AhA_{h}Ah]表示anchors的中心点坐标和宽高,[TxT_{x}Tx,TyT_{y}Ty,TwT_{w}Tw,ThT_{h}Th]表示ground truth boxes的对应数据,归一化的距离向量δ\deltaδ通过如下公式计算:
平滑L1L_{1}L1损失函数计算如下:
因此回归分支的损失函数计算如下:
对两部分损失函数加权求和,得到总体损失函数:
loss=λLreg+Lclsloss=\lambda L_{reg}+L_{cls}loss=λLreg+Lcls
这里λ是一个用于平衡两部分损失的超参数。
SiamRPN论文学习笔记(上)相关推荐
- 动态环境下的SLAM:DynaSLAM 论文学习笔记
动态环境下的SLAM:DynaSLAM 论文学习笔记 这篇文章 论文摘要 系统流程 相关环节的实现方法 神经网络检测图中动态物体(Mask R-CNN) Low-Cost Tracking 使用多视图 ...
- 识别和追踪主题层次的影响力者(来自2018 Machine Learning 论文学习笔记)
本文作者:合肥工业大学 管理学院 钱洋 email:1563178220@qq.com . 以下内容是个人的论文阅读笔记,内容可能有不到之处,欢迎交流. 未经本人允许禁止转载. 文章目录 论文来源 论 ...
- 【论文学习笔记-2】高分辨率3D深度重建
[论文学习笔记-2] 高分辨率3D深度重建 背景介绍 模型 目标 Related Works 背景介绍 应用场景广泛:桥,电缆etc 高分辨率图像的特点:像素多,potential disparity ...
- Dual Graph Attention Networks for Deep Latent Representation of Multifaceted Social...》论文学习笔记
Dual Graph Attention Networks for Deep Latent Representation of Multifaceted Social Effects in Recom ...
- 论文学习笔记: Learning Multi-Scale Photo Exposure Correction(含pytorch代码复现)
论文学习笔记: Learning Multi-Scale Photo Exposure Correction--含pytorch代码复现 本章工作: 论文摘要 训练数据集 网络设计原理 补充知识:拉普 ...
- 网规第二版:第8章 网络规划与设计论文学习笔记(含历年真题)(完结)
第8章 网络规划与设计论文学习笔记 8.1写作范围要求 1.网络技术应用与对比分析 2.网络技术对应用系统建设的影响 3.专用网络需求分析.设计.实施和项目管理 4.下一代网络技术分析 8.2论文考试 ...
- 论文学习笔记 MUSE: Secure Inference Resilient to Malicious Clients
论文学习笔记 MUSE: Secure Inference Resilient to Malicious Clients 一.背景介绍-神经网络推理 二.在半诚实模型下的模型提取攻击 2.1 模型结构 ...
- 论文学习笔记 SIMC: ML Inference Secure Against Malicious Clients at Semi-Honest Cost
论文学习笔记 SIMC: ML Inference Secure Against Malicious Clients at Semi-Honest Cost 一.安全神经网络推理 二.论文主要思想 三 ...
- 【论文学习笔记-10】ActiveStereoNet(Google ECCV2018)主动式双目相机自监督学习立体匹配网络
[论文学习笔记-10]ActiveStereoNet(Google ECCV2018)主动式双目相机自监督学习立体匹配网络) 自监督训练方法 Experiment ORAL 针对双目立体匹配中无监督存 ...
最新文章
- Linux挂载共享文件
- 网编编程必看书籍:unix网络编程
- (转)Web Framework 的速度与激情 16 正式上映
- 多线程 进度条 C# .net
- 请问运行py文件的时候怎么样可以不让那个黑框一闪...
- 一步一步写算法(之爬楼梯)
- Windows 下使用GNU开发环境[转]
- LIve Writer图片自动水印,自动居中,自动为原始大小的设置方法.
- abb的knx的数据库下载方法_ABB i-bus KNX系统节能方案
- python webpy 开发文档_Python webpy微信公众号开发之 回复图文消息
- 服务器虚拟网卡驱动卸载,Win10安装和卸载万能网卡版驱动的方法
- Differential Geometry之第二章曲线的局部理论
- wiFI基础知识----wpa_supplicant
- java heap space 什么意思_java heap space是什么意思?
- linux 卸载mono,Linux系统(centos7.6)安装mono3.8
- 用键盘输入一位整数,当输入1~7时,显示对应的英文星期名称的缩写。
- 关于3分频电路的讨论
- python学习 day51之js续集
- CHIP-seq流程学习笔记(3)-比对软件 bowtie2
- 银联手机网页如何调用云闪付(银联钱包)