Siam R-CNN: Visual Tracking by Re-Detection

2019-12-02 22:21:48

Paperhttps://128.84.21.199/abs/1911.12836

Code: 静候佳音

1. Background and Motivation:

本文尝试从 Tracking by Re-Detection 的角度来处理跟踪问题,提出一种新颖的 re-detector,即将 Faster-RCNN 结合到 Siamese architecture 中,通过在一个图像中任何位置进行重新检测 template object,判断给定的 region proposal 是否是同一个物体,然后对该物体进行 BBox 的回归。本文所提出的 two-stage re-detection architecture 对物体的外观和长宽比有较好的鲁棒性。Tracking by Re-detection 已经有较长的历史,但是这种方法仍然有局限性是因为 distractor objects 和 template object 非常相似的时候,很难确定物体的位置。对于相似物体的挑战,前人的方法或者利用较强的空间先验(Spatial Priors)或者 在线更新(Online Adaptation)的方式来解决,但是这些方法都可能会导致 model drift。

本文在 Siam R-CNN re-detector 的基础之上,提出两个改进点来解决 distractor 的问题:

1). 本文提出一种新颖的 hard example mining 方法,对困难的 distractors 进行特殊的训练;

2). 提出一种新颖的 Tracklet Dynamic Programming Algorithm (TDPA),该方法可以同时跟踪所有潜在的目标物体,包括:distractor objects, 通过从前一帧进行 re-detect 所有的物体候选 BBox,并将这些 BBox 划分为 tracklets(short object tracks)。然后利用动态规划的思想,选择当前时刻最优的 object。通过显示建模 motion 和 interaction of all potential objects,然后从检测中得到的相似物体进行 pooling, 得到 tracklets,Siam R-CNN 可以有效的进行 long-term tracking,对 tracker drift 有较好的抑制,在物体消失后,可以有效地进行重检测。

效率方面,该方法可以在 ResNet-101 上达到 4.7 FPS,在 ResNet-50 上取得 15 FPS 的速度。

2. The Proposed Method

本文所提出的 Siam R-CNN 方法示意图如下图所示:

可以看到,本文方法是由多个模块构成的: CNN+RPN 生成 proposal,然后作者还把第一帧的物体也抠出来和提取的 proposal 组合到一起;输入到 Re-detection 模块中。

2.1. Siam R-CNN: 

本小节主要是讲了如何将 Faster RCNN 的那一套用于 Proposal 生成,来得到多个候选。

2.2 Video Hard Example Mining:

在传统 Faster RCNN 训练阶段,negative examples 是从 target image 上用 RPN 来采样得到的。但是,在许多图像中,仅有少量的 negative examples。为了最大化 re-detection head 的判别能力,作者认为需要在 hard negative samples 上进行训练。类似的思路在物体检测和跟踪上也都被广泛的应用。

Embedding Network.

一种直观的方法选择相关的 videos 以得到 hard negative examples 的是:寻找与当前物体属于同一个类比的物体。然而,物体的类别标签并不总是可靠,一些同类的物体很容易区分,不同类别的物体反而可能是理想的 hard negative。所以,本文受到 person re-identification 的影响,提出利用 embedding network 的方法,将 Ground truth BBox 中的物体映射为 embedding vector 来表示目标物体。本文利用 PReMVOS 提出的网络,该网络是在 COCO 数据集上用 batch-hard triplet loss 来训练得到的:two distinct persons should be far away in the embedding space, while two crops of the same person iin different frames shoule be close.

Index Structure

我们接下来构建一个有效的索引结构来估计紧邻 queries,然后用于寻找所需要跟踪的物体在 embedding space 中的最近邻。图 3 展示了一些检索得到的 negative examples。

Training Procedure. 

本文对训练数据的每一个 Ground truth BBox 都提取其 RoI-aligned  features。在每一个时刻,随机的选择一个 video 和 object,然后随机的选择一个 reference 和 target frame。在此之后,作者用上一节提到的 indexing structure 来检索 10000 个紧邻 reference box,从中选择出 100 个 negative training examples。

2.3 Tracklet Dynamic Programming Algorithm:

本文所提出的 片段动态规划算法(Tracklet Dynamic Programming Algorithm)显示对感兴趣目标物体和潜在的 distrators 都进行跟踪,所以 distractor objects 可以得到抑制。为了达到这个目的,TDPA 保持了一组 tracklets,即:short sequences of detections。然后用基于 scoring algorithm 的方法来进行 dynamic programming 方式来选择最优的结果。每一个 detection 都定义为:a bounding box, a re-dection score, and its RoI-aligned features。此外,each detection 是 tracklet 的组成部分。每一个 tracklet 都有一个 start 和 end time,并且由 a set of detections 来定义。

Tracklet Building.

首先提取第一帧 ground truth BBox 的 features,并且用于初始化 tracklet。对于每一个新的视频帧来说,我们采用如下的方式来更新 tracklets(如算法1 所示):

1. 我们提取当前帧的 backbone features,然后用 RPN 来评价当前的 feature。

==

Siam R-CNN: Visual Tracking by Re-Detection的更多相关文章

  1. 论文笔记之: Hierarchical Convolutional Features for Visual Tracking

    Hierarchical Convolutional Features for Visual Tracking  ICCV 2015 摘要:跟卢湖川的那个文章一样,本文也是利用深度学习各个 layer ...

  2. 论文笔记之:Learning Multi-Domain Convolutional Neural Networks for Visual Tracking

    Learning Multi-Domain Convolutional Neural Networks for Visual Tracking CVPR 2016 本文提出了一种新的CNN 框架来处理 ...

  3. Particle filter for visual tracking

    Kalman Filter Cons: Kalman filtering is inadequate because it is based on the unimodal Gaussian dist ...

  4. 论文笔记:目标追踪-CVPR2014-Adaptive Color Attributes for Real-time Visual Tracking

    基于自适应颜色属性的目标追踪 Adaptive Color Attributes for Real-Time Visual Tracking 基于自适应颜色属性的实时视觉追踪 3月讲的第一篇论文,个人 ...

  5. Survey of single-target visual tracking methods based on online learning 翻译

    基于在线学习的单目标跟踪算法调研 摘要 视觉跟踪在计算机视觉和机器人学领域是一个流行和有挑战的话题.由于多种场景下出现的目标外貌和复杂环境变量的改变,先进的跟踪框架就有必要采用在线学习的原理.本论文简 ...

  6. Multi-hierarchical Independent Correlation Filters for Visual Tracking(MFT)略读

    作者写道: 有幸在本届的VOT 2018 主赛中,我们的参赛方案Multi-solution Fusion for Visual Tracking(MFT)获得第一名的成绩,通过结果来看,MFT无论在 ...

  7. (转)CVPR 2016 Visual Tracking Paper Review

    CVPR 2016 Visual Tracking Paper Review  本文摘自:http://blog.csdn.net/ben_ben_niao/article/details/52072 ...

  8. Correlation Filter in Visual Tracking系列二:Fast Visual Tracking via Dense Spatio-Temporal Context Learning 论文笔记

    原文再续,书接一上回.话说上一次我们讲到了Correlation Filter类 tracker的老祖宗MOSSE,那么接下来就让我们看看如何对其进一步地优化改良.这次要谈的论文是我们国内Zhang ...

  9. 论文笔记之:Visual Tracking with Fully Convolutional Networks

    论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015  CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...

随机推荐

  1. Java Web项目搭建过程记录(struts2)

    开发工具:eclipse 搭建环境:jdk1.7   tomcat 8.0 基础的java开发环境搭建过程不再赘述,下面从打开eclipse 之后的操作开始 第一步: 创建项目,File -> ...

  2. httpget请求测试用Java代码的实现方法

    原文:http://www.cnblogs.com/johnson-yuan/p/6637906.html 1.首先要在eclipse中导入HttpClient的jar包. 2.新建类并写入一下代码: ...

  3. Java 虚拟机 - GC 垃圾回收机制分析

    Java 垃圾回收(Garbage Collection,GC) Java支持内存动态分配.垃圾自动回收,而 C++ 不支持.我想这可能也是 为什么 Java 脱胎于 C++ 的一个原因吧. GC 的 ...

  4. echarts设置横坐标的信息竖向排放

    需要在xAxis 中添加 axisLabel , demo案例如下: 设置成每行两个文字竖向排放. xAxis : [ { type : 'category', data : this.xAxis, ...

  5. Httpd服务入门知识-Httpd服务常见配置案例之定义'Main' server的文档页面路径(文档根路径)

    Httpd服务入门知识-Httpd服务常见配置案例之定义'Main' server的文档页面路径(文档根路径)  作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.创建测试文件 [ ...

  6. 从SQLAlchemy的“缓存”问题说起

    https://www.jianshu.com/p/c0a8275cce99 0.4792017.11.22 00:07:04字数 1631阅读 6493 问题描述 最近在排查一个问题,为了方便说明, ...

  7. 玩转Spring--消失的事务@Transactional

    消失的事务 端午节前,组内在讨论一个问题: 一个没有加@Transactional注解的方法,去调用一个加了@Transactional的方法,会不会产生事务? 文字苍白,还是用代码说话. 先写一个@ ...

  8. python应用-猜数字

    """ 猜数字游戏(电脑给数字人猜) Author:罗万财 Date:2017-6-3 """ from random import ran ...

  9. python 的 lambda使用笔记

    无参数匿名函数: f=lambda: none f() 输出:none 带参数匿名函数: 带一个参数: f=lambda x:x+1 f(1) 输出:2 带多个参数: f=lambda a,b,c:a ...

  10. Intellij IDEA如何生成JavaDoc

    JavaDoc是一种将注释生成HTML文档的技术. 1.使用javadoc命令生成文档 首先了解一下javadoc指令的用法 用法: javadoc [options] [packagenames] ...