Learning by tracking:Siamese CNN for robust target association

来源:互联网 发布:php超链接传递参数 编辑:程序博客网 时间:2024/06/05 17:03

来源:arXiv:1604.07866v3 Aug 2016

Abstract

本文介绍了一种新的数据关联的方法,引入两阶段(two-stage)学习的模式来匹配检测对。

First,训练了一个孪生卷积神经网络来学习编码两个输入图像块的之间的local spatio-temporal structures,把像素值和光流信息给聚合起来。

Second,一系列上下文特征derived from the position 与所比较的输入图像块的size使用一种叫做梯度上升的分类器的CNN output的方式联合起来,目的是产生最后的匹配概率。

这一学习方式通过使用线性规划based multi-person tracker来进行验证,结果证明甚至是一个简单有效的tracker也是极好的。

1.Introduction

Tracking-by-detection的方法是preferred method。这类方法就两步:第一,在每帧独立寻找行人的可能位置(detections)。第二,把相对应的检测across time相连以形成轨迹(数据关联)。而数据关联阶段由于missing detection ,遮挡,在拥挤环境下的交互等原因而变得很有挑战性。为了解决这些问题,更好的完成数据关联的任务,研究者们已经提出了more and more complex models,如global optimization methods based on network flow, minimum cliques,or discrete-continuous CRF inference等等。虽然模型变复杂了,但在一些富有挑战性的场景下,关联效果也不是那么好。

最近,CNN进入了大家伙儿的视线。本文提出learn the decision whether two detections belong to the same trajectory.学习框架分为两步,first,训练一个孪生框架的CNN以获取两个相同大小的图片区域的相似度。second,contextual features用the CNN output联合起来以产生最后的prediction,联合方法是gradient boosting。之后给定所学,我们在一张图中做了一些pairwise data association score,然后用标准LP公式求解。这个方法特别的简单,但是效果还很好。

1.1 Contributions

第一,从一个新的视角来解决数据关联问题。

第二,提出在孪生网络中使用CNN来估计两个检测是否属于同一个实体的likelihood。此外,在所提的CNN结构中,像素值和光流也联合了起来。

第三,当计算边缘代价的时候,用LP法构建数据关联比用复杂的模型要好。

1.2 Related work

多人跟踪是多个计算机视觉任务,如监控、自动驾驶、行为识别的input。很容易想到的数据关联的方法是graph,节点表示检测,边表示a possible link。然后,数据关联就可以当成是maximum flow (minimum cost problem),可以用(near-)global optimality with LP的方式解决。此外还有一些别的方法。用CNN来measure similarity也有蛮多人在做。

2.Learning to associate detections

我们的目的就是通过学习一个模型解决数据关联的问题,以预测是否两个检测属于同一个目标轨迹。我们使用两种特征集合来做比较。第一,用一个CNN学习的local spatio-temporal features,第二,编码两个检测的相对几何和位置变化的contextual features。最后,这两个特征集通过一个GB classifier联合起来,以产生最终的预测(final matching prediction),可以说是将本地特征与全局特征结合起来了。

2.1 CNN for patch similarity

Siamese CNN拓扑可以根据每个输入图像块的信息被combined的位置,而被分成3个基本的类别。

NO.1 Cost function.

输入图像块被两个平行的分支处理,这两个平行分支的特点是拥有相同的网络结构和权重。最后,每个分支的top layers are fed to a cost function,旨在可以学会把不同的类别简单的分开。

NO.2 In-network

可以处理两个不同输入的平行分支的the top layers被级联起来,然后在top可以增加more layers。最后,使用标准的softmax log-loss function。

NO.3 Joint data input

两个输入图像块被堆叠在一起,以形成一个统一的输入to the CNN。再次,使用softmax log-loss function。

前两种方法分类效果很好,对于第三种方法,可以更好的比较结构的一些细节,可以实现更好的性能。为验证这一说法,作者做了一些实验,实验证明,这种joint data input的方式效果非常非常好!然后,作者就采用了这种方式。

然后,作者介绍了一些网络细节。略。

2.2 Evidence aggregation with gradient boosting


3.Tracking with Linear Programming

略,

这块儿公式蛮多,可以直接看论文哦。

4.Experimental results

本实验验证了所提方法的有效性。在MOT2015上做了实验,将检测器命名为SiameseCNN,MOTA=29.0。

在baseline方面,比较了两种基于LP的跟踪方法。第一个方法是只使用2D距离信息作为feature。第二个方法是用Image features学会预测行人的运动。这一比较还是蛮有趣的,因为对于所有的方法而言,优化结构是基于LP的,改变的唯一因素就是the way the edge costs are computed.  

5.Conclusions

本文提出了一种基于两阶段的学习方式来做数据关联的方法。(CNN+GB)

第一个阶段,创建一个多维的input blob stacking image and optical flow information from the  two patches to be compared.这样的数据表示允许与之相连的孪生卷积神经网络学习the relevant spatio-temporal features来做身份判别。

然后,these local features are merged with some contextual features by  means of a gradient boosting classifier 以产生一个统一的预测。



阅读全文
1 0