zoukankan      html  css  js  c++  java
  • Learning a Deep Compact Image Representation for Visual Tracking

       这篇博客对论文进行了部分翻译http://blog.csdn.net/vintage_1/article/details/19546953,不过个人觉得博主有些理解有误。

       这篇博客简单分析了代码http://www.cnblogs.com/zeadoit/p/4161427.html

       本文的DLT算法在无监督特征的学习,是在线下训练阶段使用SDAE从大量图像数据中学到图像特征,首次运用一层一层的预训练,然后整个SDAE就是fine-tuned.

       在线跟踪过程中,一个附加的分类层来对部分训练好的SDAE进行编码。

       1.Offline Training with Auxiliary Data

          1.1.1 Dataset and Preprocessing

                   预处理做的不多,包括把32*32的图像转为1024*1的向量,每维的特征值被归一化。

         1.1.2 Learning Generic Image Features with a Stacked Denoising Autoencoder

                   DAE的优化问题可表示为如下形式:

                 

                为了更进一步的学习到有意义的特征,对隐藏神经元的激活值施加稀疏性约束:

                

               预训练之后,SDAE可看作一个前馈神经网络。

              在第一层使用一个完备的滤波器来学习图像的特征,当新的一层加入时,神经元的个数减半,直到减到256个神经元,作为自编码器的bottleneck。

       为了加速第一层的预训练学习局部特征的过程,把32*32的图像分成16*16(除了四个角外,中间还有一个,会与四个角重叠)。然后训练5个DAEs,每个

       有512隐含单元。然后将5个DAE组合成一个大的DAE并正常训练。第一层随机选择的滤波器如图所示,可以看出大部分滤波器起的是边缘检测的作用。

            

         1.2 Online Tracking Process

             跟踪目标在第一帧里用边框框出来。一个sigmoid分类层添加到离线训练好的SDAE的编码器之后,整体网络如Fig1所示。当一个新的视频帧到来,我们首先撒粒子(一个粒子就是目标可能存在的一块图像,32*32),每个粒子的可信度(即与首帧提取的特征的想似度)通过网络前向传播确定。这种方法在这一步的计算量非常小但准确度很高。如果所有粒子的最大可信度小于预定的阈值,就表示追踪目标的外观发生了巨大改变。为解决这个问题,一旦发生这种情况,这个网络可以再次tune。阈值的设定是一个tradeoff,如果太小,跟踪器不能很好地适应目标的外表变换;如果太大,遮挡物体和背景都有可能被当做跟踪目标,从而造成跟踪从目标漂移。

         整个过程仍然是粒子滤波框架,只是将人工特征变成了自动提取特征并通过网络来确定可信度。具体实现还需参考代码。

        

               

  • 相关阅读:
    keras使用AutoEncoder对mnist数据降维
    maven插件生成可执行jar包
    python基于opencv实现人脸定位
    使用Jieba提取文章的关键词
    汉语词性对照表
    SQL优化
    keras基于卷积网络手写数字识别
    统计学习
    log4j和slf4j的区别
    log4j配置详解(非常详细)
  • 原文地址:https://www.cnblogs.com/573177885qq/p/5328055.html
Copyright © 2011-2022 走看看