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. 1 - ImageNet Classification with Deep Convolutional Neural Network (阅读翻译)

    ImageNet Classification with Deep Convolutional Neural Network 利用深度卷积神经网络进行ImageNet分类 Abstract We tr ...

  2. 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 目录 作者和相关链接 方法概括 ...

  3. 论文阅读(Weilin Huang——【TIP2016】Text-Attentional Convolutional Neural Network for Scene Text Detection)

    Weilin Huang--[TIP2015]Text-Attentional Convolutional Neural Network for Scene Text Detection) 目录 作者 ...

  4. Convolutional Neural Network in TensorFlow

    翻译自Build a Convolutional Neural Network using Estimators TensorFlow的layer模块提供了一个轻松构建神经网络的高端API,它提供了创 ...

  5. 论文阅读(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 目录 作者和相关链接 方法概括 ...

  6. 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 ...

  7. 斯坦福大学卷积神经网络教程UFLDL Tutorial - Convolutional Neural Network

    Convolutional Neural Network Overview A Convolutional Neural Network (CNN) is comprised of one or mo ...

  8. 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 ...

  9. CNN(Convolutional Neural Network)

    CNN(Convolutional Neural Network) 卷积神经网络(简称CNN)最早可以追溯到20世纪60年代,Hubel等人通过对猫视觉皮层细胞的研究表明,大脑对外界获取的信息由多层的 ...

随机推荐

  1. Linux内核设计第三周学习总结 跟踪分析Linux内核的启动过程

    陈巧然 原创作品 转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验步骤 登陆实验楼虚 ...

  2. 【Python3的命名空间与作用域,闭包函数,装饰器】

    一.命名空间与作用域 命名空间是名字和对象的映射,就像是字典,key是变量名,value是变量的值 1.命名空间的定义 name='egon' #定义变量 def func(): #定义函数 pass ...

  3. Linux(一)——认识Linux

    一.Linux介绍 (安装的是Centos6.7) 1.Linux 系统是一套免费使用和自由传播的类 Unix 操作系统(主要用在服务器上),是一个基于 POSIX 和 UNIX 的多用户.多任务.支 ...

  4. bzoj1016: [JSOI2008]最小生成树计数(kruskal+dfs)

    一直以为这题要martix-tree,实际上因为有相同权值的边不大于10条于是dfs就好了... 先用kruskal求出每种权值的边要选的次数num,然后对于每种权值的边2^num暴搜一下选择的情况算 ...

  5. 【learning】快速沃尔什变换FWT

    问题描述 已知\(A(x)\)和\(B(x)\),\(C[i]=\sum\limits_{j\otimes k=i}A[j]*B[k]\),求\(C\) 其中\(\otimes\)是三种位运算的其中一 ...

  6. lightoj 1148 Mad Counting(数学水题)

    lightoj 1148 Mad Counting 链接:http://lightoj.com/volume_showproblem.php?problem=1148 题意:民意调查,每一名公民都有盟 ...

  7. 斯皮尔曼等级相关(Spearman’s correlation coefficient for ranked data)

    sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...

  8. myeclipse注册机,自己生成注册码

    话不多少,直接上代码 直接可以运行,自己输入key即可 package com.generate.myeclipse.code; import java.io.BufferedReader; impo ...

  9. Ubuntu+NDK编译openssl

    为了Android上使用libcurl且支持HTTPS协议,需要依赖openssl,因此先来了解一下如何编译OpenSSL1.编译ARM下的共享库(默认的)我使用的是guardianproject的o ...

  10. DES解码

    DES加解密算法是一个挺老的算法了,现在给出它的C语言版. des.h #ifdef __cplusplus extern "C" { #endif ]); char* des(c ...