cvpr2017:branchout——基于CNN的在线集成跟踪
1、引言
2017年CVPR上有不少关于跟踪的paper。CF方面最引人瞩目的应该是ECO了,CNN方面也有一些新的进展。Branchout是一个基于CNN用bagging集成的在线跟踪方法。
contributions:
(1)提出了一种简单有效的正则化技术branchout,减少了集成学习方法在模型多样化和训练样本中噪声标签较少的限制。
(2)网络中每个独立的branch有不同数量的FC,并保留了多层级特征。
(3)验证了方法的有效性,并在没有pretraining的情况下也取得了start-of-the-art的成果。
2、框架
notations:
D = { (xi,yi)| i = 1,2,...,M }为更新模型的训练样本集。其中xi表示image patch,
表示xi对应的二进制标签,其中(1,0)表示positive,(0,1)表示negative。
框架如下图:

从图中可以看出,输入图片,大小为3*107*107,之后经过三层卷积层,得到512*3*3的特征图,之后进入branches。每个独立的branch中有多个fc层,论文在实验阶段采用了1层或两层。之后进入average pool,最后再经过fc6层,计算softmax得到最后的结果。
当训练网络时,用伯努利分布来选择一个branches子集,假设有K个branches,则有下面的分布 ak ~ Bernoulli(Pk),其中ak表示第k个branch被选中更新的二进制结果,Pk是分布的一个参数。Loss如下:

Mb是mni-batch的size,F是softmax输出的结果。梯度是直接对theta求导。只对FC层更新,而且只更新一到两个FC层。理由是很难在有限训练样本的情况下在线学习两个以上的全连接层。
对第一帧首先标出正负样本,也就是前景和后景,之后开始跟踪第一帧标出的目标。从上一帧中获取目标中心的xi高斯分布,改变维度,计算所有branches的softmax结果。目标状态由下面的公式得到:

为了提高定位的精确度,采用bounding box regression,用1000个训练样例训练 (at the first frame only),意思是由第一帧进行数据增大得到的?然后应用model到所有后续帧。因为学习目标框很耗时,而且因为没有gt,使用其他帧学习到的特征不一定可靠。
另外一个在线学习的要素是如何构造训练样例。由于没有gt,只能依靠预测得到的目标位置。从第t帧得到的正样本要包含IoU值高于0.7的bounding box。
更新策略:(1)每10帧整个model更新一次,(2)当xt*的值小于0.5时更新一次。
算法流程如下:

寻找每帧的目标时,提取256个样本用于观察。如果连续10帧从CNN获得的分类结果低于阈值就扩大搜索空间。当模型需要更新时,基于ak(Pk = 0.5)选择一个branches子集。每个mini-batch的大小是128.包含36个正样本和92个负样本。在线学习时,学习率设置为0.0001,迭代30次,momentum为0.9,weight decay为0.0005。
3、实验结果
与MDNet相比:

在VOT2015数据集上结果:

C-COT的结果出乎意料的不太好,不过ECO在robustness、EAO、EFO这些指标领先,在acc上SSAT最高(VOT2016)。
cvpr2017:branchout——基于CNN的在线集成跟踪的更多相关文章
- 基于Android的在线播放器系统的设计与实现
文章结构: 1 引言 1.1系统的研究背景 现在的时代是互联网的时代,互联网高速发展的同时,无线网络也接入了互联网.社会的各个领域都已经被无线网络渗透.小的比如手机,电脑,电视.大的比如灯光系统,智能 ...
- 构建一个基本的前端自动化开发环境 —— 基于 Gulp 的前端集成解决方案(四)
通过前面几节的准备工作,对于 npm / node / gulp 应该已经有了基本的认识,本节主要介绍如何构建一个基本的前端自动化开发环境. 下面将逐步构建一个可以自动编译 sass 文件.压缩 ja ...
- 常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三)
前两篇文章讨论了 Gulp 的安装部署及基本概念,借助于 Gulp 强大的 插件生态 可以完成很多常见的和不常见的任务.本文主要汇总常用的 Gulp 插件及其基本使用,需要读者对 Gulp 有一个基本 ...
- 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)
相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...
- 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二)
前言 文章 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 中,已经完成对 gulp 的安装,由于是window环境,文中特意提到了可以通过安装 gitbash 来代替 ...
- 学习笔记——Maven实战(四)基于Maven的持续集成实践
Martin的<持续集成> 相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订 ...
- 20个最强的基于浏览器的在线代码编辑器 - OPEN资讯
20个最强的基于浏览器的在线代码编辑器 - OPEN资讯 20个最强的基于浏览器的在线代码编辑器
- 基于storm的在线关联规则
基于storm的在线视频推荐算法.算法根据youtube的推荐算法 算法相对简单,能够觉得是关联规则仅仅挖掘频繁二项集.以下给出与storm的结合实如今线实时算法 , 关于storm见这里.首先给出 ...
- [项目回顾]基于Redis的在线用户列表解决方案
迁移:基于Redis的在线用户列表解决方案 前言: 由于项目需求,需要在集群环境下实现在线用户列表的功能,并依靠在线列表实现用户单一登陆(同一账户只能一处登陆)功能: 在单机环境下,在线列表的实现方案 ...
随机推荐
- RabbitMQ知多少
1.引言 RabbitMQ--Rabbit Message Queue的简写,但不能仅仅理解其为消息队列,消息代理更合适.RabbitMQ 是一个由 Erlang 语言开发的AMQP(高级消息队列协议 ...
- php与MySQL(基本操作)
PHP连接 MySQL 在我们访问 MySQL 数据库前,我们需要先连接到数据库服务器,连接服务器,我们使用mysqli_connect()函数. 在使用这个函数之前,我们首先来看一下这个函数的语法: ...
- elasticsearch REST API方式批量插入数据
elasticsearch REST API方式批量插入数据 1:ES的服务地址 http://127.0.0.1:9600/_bulk 2:请求的数据体,注意数据的最后一行记得加换行 { &quo ...
- cocos2dx 图片压缩工具 推荐
随着版本的第二次迭代,包体越来越大;随之而来的也就是下载量会有所影响;毕竟每增大一点包体大小,下载的玩家就会损失一小批; 但是我们的图片都经过美术压缩打包,依然包体不小; 最后发现是因为把图片都打包成 ...
- nyoj_323:Drainage Ditches(网络流入门)
题目链接 网络流入门@_@,此处本人用的刘汝佳的Dinic模板 #include<bits/stdc++.h> using namespace std; const int INF = 0 ...
- Abp(.NetCore)开发与发布过程2
在Abp(.NetCore)开发过程中遇到很多问题,今天记录下Abp的防CSRF功能(AntiForgeryToken ), 背景知识. AntiForgeryToken 可以说是处理/预防CSRF的 ...
- 如何得到iPhone手机的UUID
背景 测试ad-hoc打包方式打出来的包,必须在证书里面配置手机的uuid才能安装. 这样就需要获取iPhone手机的uuid来进行证书配置 一般来说iPhone手机可以安装通过Apple发布的软件. ...
- poj 1200 crasy search
https://vjudge.net/problem/POJ-1200 题意: 给出一个字符串,给出子串的长度n和给出的字符串中不同字符的个数nc,统计这个字符串一共有多少不同的长度为n的子串. 思路 ...
- AD7928
实验室板子soc-de1自带的7928芯片,下面记录一下它的参数 吞吐速率 : 1MSPS 吞吐速率 : 是指ADC器件单位时间内能处理的任务数或输出结果的数量.单位:SPS(Samples per ...
- 被DDOS攻击的解决方法
在DDOS分布式借"机"堵塞正常访问的非法攻击中,任何技术高手都成了文科生.只能用非专业的方法解决.DDOS攻击的重心是堵塞服务器,给域名解析访问造成困难,被攻击后我们可以采用以下 ...