CNN-tracking-文章导读

来源:互联网 发布:2016年4月进出口数据 编辑:程序博客网 时间:2024/06/05 01:52

1.MDnet:learning multi-domain convolution neural networks for visual tracking

MDnet是vot2015的冠军paper,由韩国Postech的Bohyung Han发表,测试了代码,在多个benchMark上的测试结果都比较好,但是速度比较慢,1fps,下面就开始介绍这篇paper的整体思路。他主要是用检测的思想来做跟踪,并针对跟踪和检测的区别提出offline训练的fc为多分支,online阶段针对具体的跟踪对象将fc替换为一个分支,并用到了BBox回归。

  • 文章特点
    • 采用离线pre-train和online update.shared layer 为offline train, unshared layer的parameter为online train.
    • 在offline阶段,fc6层有多个branches,每一个branch对应一种video/sequence[paper 中取名叫 domain-specific layers],即在进行train iteration时,每一次iteration,只有一个branch的fc6响应,所以需要每一次迭代的data-batch[文中叫mini-batch]要与相应的fc6_K相对应[原文为:Each domain in MDNet is trained separately and iteratively while the shared layers are updated in every iteration]。
    • online阶段,将fc6_1~fc6_K换为一个fc6,然后固定conv的参数不变,训练fc6的权重,病fine-tune fc4~fc5的权重。
    • online阶段,训练数据利用到hard negative的思想,将negative samples 排序,选取其中score大的样本(更接近正样本的negative samples).
  • details
  1. shared layer的训练流程[offline train]如下图:

 

红色部分为domain-specific layers,offline train 时,选取positive&negative的规则见paper的4.4节[也是根据IoU来选]。network并不深,文章分析了采用这种VGG-M network的原因:deep为高级的语义特征,浅层为具有区分的特征。

  1. 对于mini-batch迭代时与fc6对应问题:每次iteration只利用一个sequence[假设时第k个sequence]来生成mini-batch,并激活对应的fc6_k,其他的fc6_i被抑制,所以特别注意有这么一个对应关系。
  2.  online 阶段网络调整:将Figure1中的红色fc6_1 ~fc6_k统一换成一个fc6,因为在tracking时,只用一个sequence。训练时,固定conv的参数不变,训练fc6的参数,并fine-tune fc4,fc5的参数。因为原文中将conv3的输出作为特征,并不是fc5的输出作为特征,因为fc5输出的特征更具有语义性。最后网络输出score
  3. online : 阶段数据选取规则[hard minibatch]:原文The hard negative examples are identified by testing M− (>> M_h − ) negative samples and selecting the ones with top M_h- positive scores.利用Gaussion 分布来选取候选框[translation],并做一定的scale处理[具体设置见paper]
  4. update策略:采用Long-term(T_l) & short-term(T_s)更新,原文:Long-term updates are performed in regular intervals using the positive samples collected for a long period of time while short-term updates are conducted whenever potential tracking failures are detected—when the estimated target is classified as background—using the positive samples in a short-term period。
  5. Bounding box regression:利用conv3出来的特征做regression.paper 只是利用了first frame来train regressor[time cosuming].

2. Fcnt:Visual Tracking with Fully Convolutional Networks

由港中文王晓刚发表,调试了代码,速度比MDnet快3倍左右,3fps.效果比MDnet差点,比一般的传统算法较好。

  • 文章特点
    •  同样时offline pre-trained
    •  主要探索了不同Layer的特征具有不同的表达[基于VGG-net],toper layers 更多的时语义特征,而lower更多的discriminative information。
    •  然后在探索了不同特征影响之后,运用不同layers的feature map来做tracking.选择某些层的feature map可以去掉一些干扰(其实就是想用高层的语义信息和底层的更有区别的信息的结合)
  • details
  1. 首先作者进行实验说明不同layers的feature map 有不同的意义,toper layers 更多的类别信息[即语义信息,对应选取conv5_3的特征],lower更多间内差别的信息[对应选取conv4_3的特征]。并且发现特征是稀疏的[很多背景的响应为zores,所以用稀疏矩阵更好],所以作者利用第一帧的mask和卷积的特征F,来计算稀疏矩阵C,之后,C固定,在之后的帧中,利用F和C来反求mask,公式如下:


         2. paper中提出的方法如下:

  • 步骤为:
  1. 根据conv5_3和conv4_3筛选feature map(paper中4.1节有公式,更具对loss function的贡献来选择).因为conv4_3和conv5_3有很多个channels的feature map 它要选择一个最好的feature map 最为对应Gnet和Snet的输入。
  2. 利用conv5_3的特定feature map生成Gnet,conv4_3的特定feature map生成Snet,在Figure5中(c),(d)的两层卷积是一样的,Snet和Gnet的update策略不同(4.3节有update的策略,fix Gnet, update Snet very 20 frames,在更新Snet时,加入第一帧作为监督,因为只有第一帧是可信的)。
  3. 对于input,将候选区域(既有前景又有背景)crop后feed给VGG Net.
  4. 根据Snet和Gnet来确定跟踪的结果(4.2节有Location的策略,mentor paper sharing时提到,其实就是求概率score的最大,写paper时直接这么写太low)。

3. Learning to Track at 100 FPS with Deep Regression Networks

    这篇文章也是基于cnn的tracking,貌似这篇文章没有被收录。思想很简单,下面说一下基本思想

  • 文章特点
  1. 针对以前有online的cnn-tracking,本问提出offline-cnn-tracking[就连最后的fc都是offline-cnn,可以看出此处会有些效果不好],由于时offline,所以速度很快,100fps.
  2. 网络的输出:t_frame 相对 t-1_frame的位移坐标(相当于已经回归后的position)。
  • details
  • 训练的流程图如下:

 

图中,current frame 的crop会比 previous frame的object region大一些(paper中有一个策略),Conv Layers采用的是AlexNet的minor版,卷积后,将current和previous的特征输出合在一起为n*1的向量,然后fc层,最后以相对previous frame的center位置的平移向量(坐标)为输出。其实就是比对后回归出相对移动,由于很简单,就不多说了。


4.Online Tracking by Learning Discriminative Saliency Map with Convolutional Neural Network

    cnn-tracking的思路大同小异.

  • 文章特点
  1. paper采用RCNN特征学习为offline,以fc6输出为特征,然后online的SVM分出正负sample
  2. 定位:利用SVM的weight和SVM分类出来的positive samples反投影为Target-specific features,进而得到saliency map,利用Generative model来定位
  3. update SVM&Generative model.
  • details

        流程图:

图中,sample features是fc6层出来的特征,这一步为offline,在SVM时,正负样本也是利用IoU来选取。

那么怎么利用SVM weights 和分类后的positive sample来获取显著图呢,显著图的直观意义为:The class-specific saliency map of a given image I is the gradient of class score Sc(I) with respect to the image as:


上式求解过程见原paper,求解会用到SVM weight.最后利用概率求最佳位置。


5.DeepTrack: Learning Discriminative Feature Representations Online for Robust Visual Tracking

    由于时间关系,先上传流程图,有时间在补充每一步的细节。fps1.5~4.0

  • 文章特点
  1.  CNN online:注意有positive samples pool,从中挑选样本来训练,以及模型更新的策略,生成不同的cues
  2.  loss funtion
  3. SGD.
  • details(以后补充)

        输出:2D,表示正负score,利用指数函数来增加score的差距

        cues之后的特征合在一起

        输入图像灰度归一化到[0,10]

        online 更新的策略:long-term和short-term,long-term从positive sample pool 中按照一定概率抽取,负样本同理。

        最后按照mini-batch的误差大小来确定是否更新模型。

   





1 0