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等人通过对猫视觉皮层细胞的研究表明,大脑对外界获取的信息由多层的 ...
随机推荐
- listen() 函数
声明:本文来自网络博文的合并,文后有链接. 一.listen函数仅由TCP服务器调用 它做两件事: 1.当socket函数创建一个套接字时,它被假设为一个主动套接字,也就是说,它是一个将调用conne ...
- redis的Pub/Sub功能
Pub/Sub功能(即Publish,Subscribe)意思是发布及订阅功能.简单的理解就像我们订阅blog一样,不同的是,这里的客户端与server端采用长连接建立推送机制,一个客户端发布消息,可 ...
- HDU.2149 Public Sale (博弈论 巴什博弈)
HDU.2149 Public Sale (博弈论 巴什博弈) 题意分析 巴什博奕裸题 博弈论快速入门 代码总览 #include <bits/stdc++.h> using namesp ...
- SQL注入(SQL Injection)案例和防御方案
sql注入(SQL Injection):就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. SQL注入攻击的主要危害包括:非法读取.篡 ...
- bzoj4010: [HNOI2015]菜肴制作(拓扑排序+贪心+堆)
这题不是求最小字典序...撕烤了半个小时才发现不对劲T T 这题是能让小的尽量前就尽量前,无论字典序...比如1能在2前面就一定要在2前面... 显然是要先拓扑排序,让小的尽量前转化成让大的尽量往后丢 ...
- DES算法和MAC算法总结
需要用到的工具类,代码如下: import java.io.UnsupportedEncodingException; import java.nio.ByteBuffer; import java. ...
- Listener 介绍
当 web 应用在 web 容器中运行时,web 应用内部会不断地发生各种事件:如 web 应用启动.web 应用停止,用户 session 开始.用户 session 结束.用户请求到达等. 实际上 ...
- vmvare彻底删除(转)
bat脚本 echo off cls echo "flag">>%windir%\system32\test.log if not exist %windir%\sys ...
- TCP/IP地址格式转换API
1.htonl ()和ntohl( ) ntohl( )-----网络顺序转换成主机顺序(长整型) u_long PASCAL FAR ntohl (u_long netlong); htonl ( ...
- C++ 局部静态变量,全局变量,全局静态变量,局部变量的区别和联系
C++变量根据定义位置的不同,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名作用域和文件作用域. 从作用域看: 全局变量具有全局作用域.全局变量只需在一个源文件 ...