本文是15年投CVPR的,录取结果应该还没有下来 不管有没有录取,是把TL(transfer learning)和DL(deep learning)结合起来的近期论文,值得看
Wang N, Li S, Gupta A, et al. Transferring Rich Feature Hierarchies for Robust Visual Tracking[J]. arXiv preprint arXiv:1501.04587, 2015.
可以这么说,CNN在图像领域是无缝不钻(笔者曾经是弄biologically-motivated feature,真是要想哭啊,怎么manually design特征,都赶不上CNN学习到的强大特征,当然CNN也是一种biologically-motivated 特征,用到了pooling和depth两个概念)。不过话说回来,CNN也不是万能的,没有大量训练数据的CNN,就是孙悟空少了金箍棒。有有标签的训练数据,你就赢了世界。但是咱不可能啥子情况下都去给数据打标签吧,给web级的数据打标签,除非有个能准确打标签的robot,要不然咱就呵呵了。
所以笔者如此关注TL和DL的结合。
回到这篇论文,敢投CVPR,自然是不差的论文。
作者首先就找到了CNN没有钻到的图像邻域空子-visual tracking
visual-tracking就是目标跟踪,一般情况下只有第一帧图像有标签,缺少有标签的数据,那么应用纯监督的CNN显得不切实际。
笔者不关注visual-tracking的其他方法(论文里总结了很多),主要专注DL应用在visual-tracking
DL用在visual-tracking不是这篇文章首创,以前就有的
[30] N. Wang and D.-Y. Yeung. Learning a deep compact image
representation for visual tracking. In NIPS, pages 809–817,
2013. 1, 2, 7
其实这篇论文也是这个作者的
果然自己做的东西才如此清晰的知道问题在哪
首先这里用的是非监督的深度学习deep auto-encoder。跑过deep auto-encoder的应该都知道,deep auto-encoder的底层图像不能过大啊,要不然训练太耗时间了;所以需要对输入图像降采样。降采样信息损失是很大的,人眼都看不清降采样后的图像是啥,更别说机器了。第二个问题,auto-encoder的作用是让输出尽可能重构输入,它是对整幅图像的结构编码,而不是区分前景好后景(就是object和background),但是visual-tracking的目的是把目标和把background区分开。
下面是本文的模型--TL和DL(CNN)的结合
本文的tack过程分为 off-line的CNN学习和online的CNN的fine-tuning和tacking。
先来看off-line的CNN再干嘛子,本文用到的CNN结构图
相比于传统的CNN,本文的CNN有两点不同
1)最后一层用到了多尺度pooling(可以理解成一个金字塔结果,金字塔结果能够带入目标的空间位置信息,往往能使性能提升)
2)最后输出才呢过是一个50*50的probability map(输出probabilit map的每个pixel对应输入的2*2 region,这个值表明了此region属于object的概率)(这里真的还不理解!!)
这个CNN的训练图像时来自imagenet模型,但是确不是imagenet的图像,作者用的是有无目标的postive and negative training samples。也就是说这个CNN网络的目的是为了确定图像是否有目标,如果有目标,这个目标的位置在哪,而不是这个目标的类别。(这与以往的以object classification为目标的CNN不同,再次表明了CNN的强大变形能力)
好了,这个用imagenet训练的CNN可以用来visual-tracking了,但是不能直接用。因为database之间的gap。训练数据集,和真正要用的数据集完全不同。文章把在imagenet下训练好的CNN当做pretrained CNN,然互在要实验的数据下 fine-tuning。笔者读到这里,还是蛮好奇的,要实验的数据集是lack of lablel,怎么fine-tuning的。
继续看....
文章还是用第一帧图像来fine-tuning的,fine-tuning仍然需要有标签的数据(有点失望)。
在tacking这块,作者用了两个并行的CNN,分别采用两种update strategies
(用来解决要不要经常updateCNN的这个瓶颈),一个是short-term,一个是long-term。
这里涉及到tracking的问题,笔者还无法理解笔者最感兴趣的是如何让CNN的输出变成一个probability map,希望以后有更深刻的理解
未完待续。。。。
最后感叹一下作者用了K40GPU,3万多元的显卡,学生果然是玩不起DL的