【VALSE前沿技术选介16-18期】
http://mp.weixin.qq.com/s?__biz=MzA3Mjk0OTgyMg==&mid=2651123068&idx=1&sn=d32c9d335aeec28603ea934fbe36c5d3&scene=0#wechat_redirect【VALSE前沿技术选介16-18期】Object Tracking新思路
今天给大家介绍两篇本人老本行Single Object Tracking的工作。这是我非常喜欢的一个思路(其实也是一直偷懒没动手去做哈哈)。其中一篇应该可以算是过去一年里看过最好的一个Tracking paper了。
在Phd毕业后虽然不再直接做Tracking相关的工作了,但是我仍然一直在关注和思考这个领域。其中一直在思考的一个核心问题是Tracking的本质是什么?这个领域从以Mean Shift为代表的generative model开始,在10年前逐渐引入各种机器学习方法过渡到discriminative model,tracking by detection/classification的方法占据主流。虽然近期随着sparse coding和deep learning的兴起(和衰落?),性能得到了长足的进步,但是框架仍然没有跳出传统的tracking by detection/classification。但是这是解决tracking问题的一个本质方法么?在开始介绍这两篇文章之前不妨再回顾下Single Object Tracking(SOT)这个问题。
SOT最重要的两个难点在于:1) 要追踪的物体没有任何先验知识,可能是任何一种object。 2) 只有第一帧一个标注样本。这两个难点使得SOT问题本身是一个非常ill posed的问题。不同于前十年的研究,大多数tracker强调于如何使用各种在Machine Learning中炫酷的分类器,现有性能不错的方法本质都在于如何transfer合适的先验知识到SOT中来,这其中就体现于使用的offline预训练数据的不同。这其中包括但不限于:1) 直接使用Imagenet这样大规模分类数据库,从大规模图片数据集中transfer更好的特征表示,这也是各种deep learning方法的本质。 2) 使用标注了object信息的detection的数据库,transfer什么是一个object的知识,这其中既有基于object proposal的方法,也有基于deep learning的一些尝试。3) 以去年VOT比赛冠军MDCNN为代表,使用标注了association的视频作为训练数据,transfer同一物体在视频中不同帧的表示到tracking中。个人觉得MDCNN做出了一个很好的尝试,SOT的问题必须使用有同一物体的不同表示的数据,而不是单帧无关联的数据来解决。举一个简单的例子,比如我们要在视频场景中追踪一个行人,周围可能存在大量相似的行人,如果使用classification或者detection作为预训练的话,关注的只是行人和非行人之间的差异,而行人类内本身instance的差异会被弱化。但是在SOT中,这种差异恰恰是最关键的,因为我们追踪的是一个特定目标。如果使用了有association的数据,那么可以轻易学习到instance级别,而非class级别的特征。所以:1) SOT的本质在于verification而不是classification或者detection!2) SOT需要的是instance级别的判别,而不是在classification和detection中class级别的判别。如果可以认可这个思路,那么这两篇文章的做法应该非常自然的。个人也认为之前的SOT问题走了很多弯路,motion+verification才是直击问题本质的解法。
这两篇文章都是通过使用有标注了association的视频数据集作为训练数据,在离线训练中,通过Siamese Network的结构训练出一个Matching Score Function,即输入两个图像patch,这个CNN输出这两个patch是否是同一个物体,于是tracking问题就转化为了,在每一帧通过相邻两帧的连续性生成很多proposal,然后判断这些proposal和第一帧标注的物体的相似性。这两篇文章的区别在于是使用了detection中的ROI Pooling的办法提取区域的特征,而中直接使用了Fully Convolutional Network直接匹配。将Tracking问题作为verification问题的另外一大好处是不再需要对第一帧的标注和后续收集到的数据做finetuning,这在在线追踪的过程中节省了大量的时间,使得这些方法在实际应用中更有吸引力。涉及到的训练细节,有兴趣的同学可以参照原始的论文,琐碎的细节就不在这里重复了。至于实验结果,这两篇文章都显示了一流的水平。当然作为最早的两篇将SOT问题formulate成为verification问题的工作,我相信性能还是有很大的提升空间。
至于后续的工作,个人觉得这两篇文章为SOT问题打开了一扇新的大门,至少可以预见在不远的未来各种已经应用于face verification这个相对成熟的问题的技术会被一一搬运到SOT问题中来 :) 另外个人觉得现在这两篇文章预训练的网络仍然来自VGG网络,但是前面提到了classification和verification是性质完全不同的两类问题,直接使用基于classification预训练的网络可能不是最优的。如果通过verification方法在大规模数据集上训练出的网络在SOT中会不会有更好的表现呢?我很期待看到这样的结果 :-D
Tao, Ran, Efstratios Gavves, and Arnold WM Smeulders. "Siamese Instance Search for Tracking." arXiv preprint arXiv:1605.05863 (2016).
Bertinetto, Luca, et al. "Fully-Convolutional Siamese Networks for Object Tracking." arXiv preprint arXiv:1606.09549 (2016).
页:
[1]