【论文笔记】CVPR2018_SiamRPN

Motivation

SiamFC的缺点:

Siamese的方法只能得到目标的中心位置,但是得不到目标的尺寸,所以只能采取简单的多尺度加回归,这即增加了计算量,同时也不够精确。

本文的改进:

SiamFC+ RPN Network,输出两个分支,分别用于分类和回归(SiamFC没有回归,而是用多尺度测试,增加了计算量且不够精确),帧率160fps(不需要在线微调),端到端,单目标跟踪

网络结构

【训练阶段】:
在这里插入图片描述回顾Faster RCNN中的RPN结构(https://www.cnblogs.com/wangyong/p/8513563.html)

在这里插入图片描述
【跟踪阶段】:(类似于one-shot detection任务)
在这里插入图片描述

训练部分

在SiamFC中加入了RPN,构成了SiamRPN。网络分为两部分,Siamese特征提取部分,以及RPN的proposal生成。

  1. Siamese特征提取部分与SiamFC相同,用的是去掉了padding的AlexNet,

  2. RPN部分,模板分支用于分类的部分是442k256,检测分支用于分类的部分是2020256,通道数是不同的,那么是怎样进行互相关操作的呢?答案是分组!看结构图,最右边虚线连接的部分就是分组的示意图。由于有k个anchor,每个anchor输出的是前景背景的二分类结果,因此将442k256拆成2k个44256,分别与2020256做互相关(其实就是卷积操作,44是卷积核的大小),得到的就是1717*2k。用于回归的部分同理,回归的四个坐标分别为dx,dy,dw,dh(anchor相比于groundtruth的偏移量)

其他关键点:

  1. Loss:cross-entropy loss 用于分类,smooth L1 loss with normalized coordinates 用于回归。

  2. 训练方法:随机梯度下降

  3. 数据增强: 包括affine transformation(仿射变换)在内的数据增强

  4. anchor数量: 一共五个,one scale, 5 ratios([0.33, 0.5, 1, 2, 3])

  5. 正负样本选择策略:设置高低两个阈值,大于0.6的为正样本,小于0.3的为负样本,一个pair中有64个样本,其中正样本最多16个(We also limit at most 16 positive samples and totally 64 samples from one training pair.)

跟踪部分(Inference):One-shot detection

one-shot detection

one-shot learning的意思就是说,对于一个类别,如果只提供一个或者少量训练样本的情况下,如何检测?解决方法就是:让模型学习,得到一个相似性函数,这样的模型输出的值不是类别,而是两幅图像的相似度。

基于Siamese的跟踪问题,其实就是one-shot detection,只有第一帧给定目标位置,要求从视频序列的其他帧中找出目标位置。跟踪步骤:

  1. 输入模板帧和检测帧,分别使用siamese提取特征,使用RPN生成k个proposal(k是anchor的数量,本文是5)

  2. 对模板分支的proposal和检测分支的proposal做相似性度量,获得bounding box

  3. 使用NMS对最后预测输出的bounding box进行筛选

  4. 目标尺寸更新(使用线性插值的方法)

proposal选择策略:

  1. 丢弃远离中心的proposal(认为相邻帧的目标位置不会发生很大的变化,而模板帧的目标是在中间的)

  2. 使用余弦窗和尺度变化惩罚因子对proposal进行重新排序(余弦窗和尺度变化惩罚因子是沿用了SiamFC的做法)

  3. 使用NMS对最后预测输出的bounding box进行筛选。

总结&分析

SiamRPN与SiamFC对比

SiamRPN相比于SiamFC精度更高,而且速度更快了。精度高的原因是,SiamFC只是比对,不对框的形状进行预测,而RPN加了预测以及offset,所以每帧的iou高了,精度也就上去了;速度更快的原因是,SiamRPN不用再进行多尺度的测试,RPN的加入虽然层数变多,RPN部分跟backbone比耗时少了很多,而且SiamFC还有最后的resize到272*272,也很耗时。

SiamRPN的不足

SiamFC,SiamRPN,甚至DaSiamRPN,都没有进行模板更新,因为不仅耗时,而且用处不大(模板更新应该很重要,但是目前尚未找到好方法)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值