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. 购买了一台阿里云ECS后安装Java项目运行环境

    在docker等虚拟化技术大行其道的今天,我原本也想在我买的ECS服务器里全系使用docker技术,只可惜在我尝试后发现我的ECS配置不够高,整个服务器卡到爆炸,无奈只能使用最原始的方式. 我买的服务 ...

  2. SVM 实现多分类思路

    svm 是针对二分类问题, 如果要进行多分类, 无非就是多训练几个svm呗 OVR (one versus rest) 对于k个类别(k>2) 的情况, 训练k个svm, 其中, 第j个svm用 ...

  3. 快速了解MongoDB

    简介 MongoDB是一款为广泛的现代应用程序设计的高性能.可扩展.分布式数据库系统.MongoDB可用于不同规模大小的组织,为那些对系统低延迟.高吞吐量以及可持续性有很高要求的应用提供稳定关键的服务 ...

  4. Tomcat get请求中文参数乱码

    场景:使用Tomcat容器进行get方式传递中文参数到后台乱码. 原因:Tomcat默认的编码方式是ISO--. 解决方案: . 设置cofg-server.xml中的<Connector> ...

  5. 详解php概念以及主配置文件

    浏览器仅能够解码HTML格式的文档,对于非HTML格式的文档,浏览器调用插件或者通过CGI接口调用其他程序来解码. 动态网站: 我们在服务器端或客户端执行了一段脚本或者一段程序,这段程序执行的结果根据 ...

  6. Python socket基本写法

    TCP:长连接,安全可靠,不会丢包,但是会发生黏包,面向流的传输,超长的数据包会被拆包发送 多条send的小数据会连在一起发送,造成黏包现象,是tcp协议内部的优化算法造成的 如果要发送特别大的数据时 ...

  7. git远程上的分支到本地

    先想一个自己要在本地新建的分支名称,qianjinyan git checkout -b qianjinyan origin/SELLER-2248-1018 git branch 查看分支 git ...

  8. Spring Boot 缓存 知识点

    每次调用需要缓存功能的方法时,Spring会检查指定参数的指定的目标方法是否已经被调用过:如果有就直接从缓存中获取方法调用后的结果,如果没有就调用方法并缓存结果后返回给用户.下次调用直接从缓存中获取. ...

  9. POJ - 1981 :Circle and Points (圆的扫描线) hihocoder1508

    题意:给定N个点,然后给定一个半径为R的圆,问这个圆最多覆盖多少个点. 思路:在圆弧上求扫描线. 如果N比较小,不难想到N^3的算法. 一般这种覆盖问题你可以假设有两个点在圆的边界上,那么每次产生的圆 ...

  10. sparkjob的提交流程

    在使用spark-submit提交一个Spark应用之后,Driver程序会向集群申请一定的资源来启动东若干个Executors用来计算,当这些Executors启动后,它们会向Driver端的Sch ...