Detect to Track and Track to Detect
Abstract
本文提出了一个可以联合执行检测和跟踪的卷积网络结构。
贡献点:
①设计了一个可以同时执行检测和跟踪的卷积网络结构,在进行基于帧的目标检测和跨帧的跟踪回归时,使用了一个多任务的目标函数。
②引入了可以代表目标跨帧出现的correlation features,以在跟踪的过程中辅助这个卷积网络。
③基于跨帧的轨迹,将帧层级的检测进行连接,以在视频层级产生高质量的检测结果。
1.Introduction
VID额外的挑战:①size ②motion blur ③quality ④partial occlusion ⑤pose
为解决这些挑战,本文提出一种统一的方法(D&T)。我们的目标是通过用一个ConvNet,同时进行检测和跟踪,直接在多帧之间推测一条轨迹。为实现这一点,本文提出用a tracking formulation将R-FCN检测器进行扩展。我们用一个基于检测和跟踪的loss训练了一个端到端的全卷积结构。网络的输入由多帧组成,这些帧需要首先通过a ConvNet以产生检测和跟踪共享的卷积特征。然后计算相邻帧特征响应之间的卷积的互相关,以在不同的特征尺度上估计the local displacement。在特征的顶部,用一个ROI pooling层分类和回归box proposals。用一个ROI-tracking层跨帧回归box transformations(translation, scale, aspect ratio)。最后,为了在一个视频中推测目标的长期tubes,我们基于我们的轨迹把检测连接了起来。
本文展示了引入a tracking loss会为静态目标检测改善特征学习。
2.D&T Approach
2.1 D&T overview
目的是在视频中联合检测和跟踪目标。
D&T架构:
基于R-FCN框架,并将其扩展到多帧检测和跟踪。给一系列2个高分辨率的输入帧,首先计算卷积特征图,该特征在检测和跟踪的任务中共享。然后使用RPN网络在每帧上产生候选区域。基于这些区域,使用ROI-pooling层聚合从中间卷积层上产生的位置敏感分数图和回归图,这两个图分别用来做分类和回归。
通过介绍一种回归器来扩展架构。采用来自于两帧的位置敏感回归图和相关图作为ROI tracking操作的输入,输出是帧间的边框变换。
训练ROI tracking:用a tracking loss扩展R-RCN的多任务目标,这样可以跨帧回归物体的坐标。这一tracking loss在gt上执行,在评估的时候用预测轨迹和真实轨迹之间坐标的L1正则法。
这一跟踪公式的建立可以看成是单目标跟踪器的多目标扩展,训练一个卷积网络,从两帧的特征来推断一个目标的边界框。这种方法的缺点是跟踪器必须要从训练数据的所有可能的变换中学习,因此在训练过程中需要任意尺度和变换的数据增强。
在相关滤波中,相关和translation是等价的。最近相关滤波的工作主要是用了高层级的卷积特征,计算跟踪模板和所搜寻图片之间的互相关。而结果相关图衡量了模板与所搜寻图片之间的相似性,在这个过程中用到了水平和竖直方向的循环位移。相应图的最高位置就是目标的位置。
不同于典型的用于单个目标的相关滤波器,本文旨在同时跟踪多个目标。在一个特征图中,为所有的位置计算相关图,并且为了更好的跟踪回归,在这些feature map上执行ROI tracking。
我们的结构可以端到端的训练,输入时视频帧,输出是目标检测结果和他们的轨迹。
2.2 Object detection and tracking in R-FCN
把帧输入到ConvNet网络中提取特征图。在R-FCN中,在最后的卷积层降低了有效步长,通过膨胀卷积增加了感受野。
我们整个系统基于R-FCN检测器,有2个工作阶段:①用RPN提取候选ROI区域。②用位置敏感ROI-pooling层把区域分成不同的类别或是背景。ROI pooling层的输入是一个额外的卷积层,输出是ResNET最后卷积层输出的类别结果。这层产生一系列对应于k*k网格的位置敏感分值图。输出用的是softmax分类器,for each ROI,类别是C+1类。此外,在回归方面,再次使用位置敏感ROI-pooling操作,进行类不可知的边界框的预测。
现在考虑在两个不同时间采样的一对帧,作为网络的输入。我们引入一个帧间的Bbox回归层,在Bbox回归特征的连接特征上执行位置敏感ROI pooling,以预测两帧之间ROI的变换。此外,相关特征也被用在了边界框回归器中。
2.3 Multitask detection and tracking objective
为了学习回归器,我们扩展了Fast R-CNN的多任务loss,包括分类Loss和回归loss的同时,还添加了跨越两帧的跟踪分数。网络预测的是softmax概率,regression offsets和cross-frame ROI-tracks。
2.4Correlation features for object tracking
不同于单目标跟踪中相关滤波的用法,我们旨在同时跟踪多个目标。在一张特征图的所有位置上计算correlation maps,并且为跟踪回归,在feature map上执行ROI pooling的操作。考虑到在一张feature map上所有可能的循环移位会产生很大的输出维度,也会产生太大的位置响应。因此,我们将相关性限制在一个局部邻域内,相关层进行的是两幅特征图点与点之间的特征比较。可以看作是两幅特征图在一个局部方形窗口的相关。相关层的输出是一张feature map。我们计算在conv3, conv4和conv5层特征的局部相关性。
为了在跟踪回归中使用这些特征,通过把Bbox的特征堆叠在一起,在这些maps上进行ROI -pooling操作。
3.Linking tracklets to object tubes
视频包含大量的冗余信息,物体运动很平滑,我们可以用帧间的轨迹把检测进行连接,并且构建长期的目标tubes。
已有检测和轨迹的定义,然后可以定义一个按时间顺序组合检测和跟踪的分类连接分数。此处有一个根据IOU进行判断的pairwise score。这项是很有必要的,因为跟踪回归器的输出并不一定完全和box回归器的输出相匹配。最优化的问题主要是最大化这个连接分数。一旦最优的tube被发现,那么与之相对应的检测就从候选区域中移除,然后再剩下的区域中再次寻找最优tube。
在一个视频中发现了特定类别的tube之后,在tube中重新对检测分数进行加权。这种简单的基于tube的重新加权旨在为检测失败的正样本框提高分数。我们的重新加权是假定检测器最多在tubes的一半帧中失败,这样提高了跟踪器的鲁棒性。注意,我们的方法强制整个tube跨越整个视频,为简单起见,不会裁剪任何检测结果。沿着tube去除低分的检测器可以提高结果,但是这是future work啦。
4.Experiments
4.1数据集采样
VID:30。这30个类别是ImageNet Det数据集200个类别的子集。
特点:在一个视频中,目标有boundong box的gt标注和track ID。
在VID和Det set的相交区域训练R-FCN检测器,也就是只用30个VID类别。因为检测集在每类上包含的变种很多,所以只从DET的每类上最多采样2k图片。我们也对VID的训练集进行了子采样(每个视频只用10帧)。
4.2训练和测试
RPN:
RPN用原始方法进行训练,将相邻的两个卷积层附加到stride减小的ResNet-101上以进行proposal的分类和bbox的回归。从5个尺度提取proposals,并且用NMS在每帧选择300个proposals。我们发现在全部的ImageNet DET上进行预训练可以帮助提高recall。因此,RPN首先在ImageNet Det的200个类上进行预训练,然后在只有30个类别的DET和VID交集上进行finetune。
R-FCN:
用了在conv5上使用带有dilated convolution的stride-reduced ResNet-101和online hard example mining的方法。
D&T:
为训练D&T结构,从R-FCN模型的训练开始,进一步的在VID训练集上进行finetune,finetune的时候,每次迭代时,从不同的视频中随机采样一系列2个相邻帧。当然了,每次迭代也要从Det训练集上进行采样,以避免模型只适用于VID训练集。相关特征在conv3,conv4,conv5被计算。对于以对象为中心的轨迹,我们用回归帧框作为ROI-tracking层的输入。在轨迹连接之前,通过边界框投票的方式进行NMS。
4.3 Results
Frame level methods.
首先,不用任何时间处理,只工作在简单帧上。mAP有提高。
然后,检查添加tracking loss的功效(主要是通过在相关和跟踪回归的特征上进行ROI tracking)。mAP提高了1.6%。可能的原因是相关特征通过梯度回传到the base ConvNet,因此使得训练数据中重要目标的特征更加敏感。
Video level methods.
在测试阶段,考察多帧输入的影响。基于轨迹,把检测连接成tubes,D&T在mAP上有有提高。提高原因:如果目标受运动模糊等的影响,检测器失败。但是如果拥有很高检测分数的同一目标的检测结果被连接成tubes的话,上述这些失败的检测可以recovered(给检测加权)。
Online capabilities and runtime.
Tube rescoring很耗时间。
Temporally strided testing.
在测试的时候,考察了更大的时间步长。我们的D&T结构每隔几帧就要在输入序列上进行评估。此外,轨迹必须在更大的时间步长下把检测连接起来。这样跨帧性能会有所下降。
Varying the base network.
用不同的网络作为骨干网络,不同网络所提的点不同,其中ResNeXt和Inception-v4提点最多。
5.Conclusion
为同时在视频中进行检测和跟踪,提出了一个统一的框架。这一全卷积化的D&T结构允许端到端的训练,联合执行检测和跟踪的任务是很有好处的。