Robust Online Visual Tracking with a Single Convolutional Neural Network
Abstract:这篇论文有三个贡献,第一提出了新颖的简化的结构损失函数,能保持尽量多的训练样本,通过适应模型输出的不确定性来减少跟踪误差累积风险。
第二是增强了普通的SGD,采用了暂时的选择策略来进行CNN训练。第三,更新CNN模型时采用一种更lazy的方式来加快训练,只有当目标外观发生较大变化时才更 新网络。
Introduction:在本文提出的算法中,用CNN自动学习特定目标的特征描述,以在线的方式更新CNN模型,CNN在各个可能的目标位置生成相应的分数,分数最高 的hypothesis被作为当前帧目标状态的预测。
传统的tracking-by-detection方法用正负样本来预测目标位置,但正样本少负样本多会导致跟踪不够准确;其次,除了第一帧的目标位置外,其余目标位置都是 跟踪器的预测,并不一定准确。为了解决上面两个问题,本文CNN模型提出了一种特殊的损失函数形式,包括鲁棒部分、结构部分和简化部分。其中结构部分能获得大 训练样本,在同一时刻考虑目标位置的不确定时,有着明显不同的层次;鲁棒部分在跟踪过程中考虑多个目标位置估计而不是一个,并用最优估计来确定目标位置;简 化部分应用到CNN的响应,减少BP阶段中的样本,明显加快训练过程。
本文提出了新的SGD来优化CNN模型中的参数,传统的SGD并不适用于跟踪,主要有两方面的改进:首先为了防止CNN模型过拟合,本文提出了一个临时采样策略。
这个策略假定目标位置块在记忆中比背景块存留的时间更长。因此,我们将所有观测到的样本块存储在训练样本池里,并且我们从一个临时的序列中选正样本,这个序列要长于
负样本的序列。事实上,这是构建基于CNN的鲁棒跟踪器的重要因素,因为区分样本策略成功的正则化了有效外观模型的变化。
第二,我们用了多个image cues(低层的图像特征,比如归一化的灰度图像或图像梯度)作为网络输出的独立通道。我们独立的训练每个通道的参数,并在之后用一个全连接
层来联合训练。这就让训练更有效率,从经验上我们可以看到,这种两阶段的训练方式比所有cues联合起来训练更有效果。
CNN Architecture
CNN with Multiple Image Cues
本文CNN包括两层卷积层,激活函数为sigmod,采用平均池化操作。
输入为32*32,第一个卷积层有6个核,大小为13*13,第二个卷积层有72个核,大小为9*9,经过池化操作以后,得到一个12维的特征向量。
全连接层是个logistic regression操作,它将一个12维的向量生成一个分数向量s,s1代表正分,s2代现负分。为了增大正负样本分数的边界,可以采和如下的CNN分数计算
方式:
有效的跟踪需要多个cues,包括颜色啊梯度啊,这些cues之间相互补充。本文采用4个image cues,包括用不同参数配置的三个局部归一化图和一个梯度图。采用数据驱动的方式
让CNN选择最有信息量的cues。
Robust, Structural, Truncated Loss Function
Structural Loss:
结构化的二元分类器在定位目标时有着更好的表现,最大的优势是有着大量可训练样本,而普通的二元分类器只能用有着高置信(我的理解是有着较大概率属于哪一类)的
训练样本。定义如下的结构损失函数:

事实上,(5)衡量的是训练样本的重要性。
Structural Loss with a Robust Term and the Truncated Norm
接下来是使损失函数更鲁棒的方法,排除掉那些虽然CNN分数很高,但与训练标签有很大不符的样本。
为了加快BP训练速度,丢掉那些训练误差小的训练样本。
Optimization of CNN for Tracking
Online Learning: Iterative SGD with Temporal Sampling
不同于检测和识别,在跟踪过程中当新一帧到来时,训练样本池增长缓慢。这就需要在所有帧之前学习一个连贯的模型,用这个模型将背景与目标区分开来。
这就启示我们可以在一个long-term的正样本集和一个short-term的负样本集中来学习一个判别模型。基于此想法,我们将SGD嵌入到随机采样的过程中,
Iterative Stochastic Gradient Descent (IT-SDG)
因为使用了多个image cues,这可能会影响训练的速度、导致过拟合,因为每个image cue是弱相关的,因此我们以迭代的方式来训练网络。先训练卷积层的参数
然后在全连接层中评估所有image cues的响应,以一个小的学习速率更新全连接层的参数。
Lazy Update and the Overall Work Flow
Robust Online Visual Tracking with a Single Convolutional Neural Network的更多相关文章
- 1 - ImageNet Classification with Deep Convolutional Neural Network (阅读翻译)
ImageNet Classification with Deep Convolutional Neural Network 利用深度卷积神经网络进行ImageNet分类 Abstract We tr ...
- XiangBai——【AAAI2017】TextBoxes_A Fast Text Detector with a Single Deep Neural Network
XiangBai--[AAAI2017]TextBoxes:A Fast Text Detector with a Single Deep Neural Network 目录 作者和相关链接 方法概括 ...
- 论文阅读(Weilin Huang——【TIP2016】Text-Attentional Convolutional Neural Network for Scene Text Detection)
Weilin Huang--[TIP2015]Text-Attentional Convolutional Neural Network for Scene Text Detection) 目录 作者 ...
- Convolutional Neural Network in TensorFlow
翻译自Build a Convolutional Neural Network using Estimators TensorFlow的layer模块提供了一个轻松构建神经网络的高端API,它提供了创 ...
- 论文阅读(XiangBai——【AAAI2017】TextBoxes_A Fast Text Detector with a Single Deep Neural Network)
XiangBai——[AAAI2017]TextBoxes:A Fast Text Detector with a Single Deep Neural Network 目录 作者和相关链接 方法概括 ...
- ISSCC 2017论文导读 Session 14 Deep Learning Processors,A 2.9TOPS/W Deep Convolutional Neural Network
最近ISSCC2017大会刚刚举行,看了关于Deep Learning处理器的Session 14,有一些不错的东西,在这里记录一下. A 2.9TOPS/W Deep Convolutional N ...
- 斯坦福大学卷积神经网络教程UFLDL Tutorial - Convolutional Neural Network
Convolutional Neural Network Overview A Convolutional Neural Network (CNN) is comprised of one or mo ...
- ISSCC 2017论文导读 Session 14 Deep Learning Processors,A 2.9TOPS/W Deep Convolutional Neural Network SOC
最近ISSCC2017大会刚刚举行,看了关于Deep Learning处理器的Session 14,有一些不错的东西,在这里记录一下. A 2.9TOPS/W Deep Convolutional N ...
- CNN(Convolutional Neural Network)
CNN(Convolutional Neural Network) 卷积神经网络(简称CNN)最早可以追溯到20世纪60年代,Hubel等人通过对猫视觉皮层细胞的研究表明,大脑对外界获取的信息由多层的 ...
随机推荐
- BZOJ1176:[Balkan2007]Mokia——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=1176 Description(题面本人自行修改了一下) 维护一个W*W的矩阵,初始值均为0.每次操作 ...
- bzoj4010: [HNOI2015]菜肴制作(拓扑排序+贪心+堆)
这题不是求最小字典序...撕烤了半个小时才发现不对劲T T 这题是能让小的尽量前就尽量前,无论字典序...比如1能在2前面就一定要在2前面... 显然是要先拓扑排序,让小的尽量前转化成让大的尽量往后丢 ...
- python自学笔记(二)
通过前文介绍,大体上可以用学过的知识做一些东西了. 这里简单介绍下python参数解析argparse命令. 使用argparse需要引用 import argparse 然后调用 parser = ...
- 手脱ASPack v2.12变形壳2
1.PEID载入 ASPack v2.12 2.载入OD,跟之前帖子的入口特征相同,都是一个pushad,但是请不要怀疑这是同一个壳,绝对不是,pushad下一行ESP定律下硬件断点,然后shift+ ...
- js返回上一页的实现方法
下面是常用代码: <a href="<a href="javascript :history.back(-1)">返回上一页</a> < ...
- 怎样安装Command Line Tools in OS x Mavericks&Yosemite(Without xcode)--转载
How to Install Command Line Tools in OS X Mavericks & Yosemite (Without Xcode) Mac users who pre ...
- LeetCode-Sort List[AC源码]
package com.lw.leet4; /** * @ClassName:Solution * @Description: * Sort List * Sort a linked list in ...
- Dubbo 的应用
--- 用于大规模服务化,通过在消费方获取服务提供方的地址列表,实现负载均衡,减轻服务器压力. 最简单调用图 节点角色说明: l Provider: 暴露服务的服务提供方. l Consumer ...
- 重构改善既有代码设计--重构手法19:Replace Data Value with Object (以对象取代数据值)
你有一笔数据项(data item),需要额外的数据和行为. 将这笔数据项变成一个对象. class Order... private string customer; ==> class Or ...
- Windows下搭建网络代理
场景:有些场景下会出现局域网内的某些网段可能由于安全限制,不能访问外网,此时可以通过安装一些工具来实现借助局域网内某些能够上外网的电脑来实现网络代理的功能.以下工具均是使用于Window环境. 服务端 ...