zoukankan      html  css  js  c++  java
  • 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

               

  • 相关阅读:
    系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式(分享二十二)
    某云数据中心网络解决方案(分享二十一)
    oracle 12c 管理(分享二十)
    Codeforces 356D 倍增优化背包
    Codeforces 360D Levko and Sets (数论好题)
    gym/102253C Colorful Tree 树上计数
    Codeforces 360E 贪心 最短路
    Codeforces 360C DP 计算贡献
    Codeforces 354B 博弈, DP,记忆化搜索
    Codeforces 354C 暴力 数论
  • 原文地址:https://www.cnblogs.com/573177885qq/p/5359088.html
Copyright © 2011-2022 走看看