论文:https://arxiv.org/abs/1710.03958
代码:https://github.com/feichtenhofer/Detect-Track
近期用于在视频中高精度检测和跟踪目标类别的方法越来越复杂,每年都变得更加繁琐。在本文中,我们提出了一个卷积神经网络(ConvNet)架构,同时执行检测和跟踪,以简单而有效的方式解决这个任务。
我们的贡献有三个方面:(i)我们建立了一个ConvNet架构,用于同时进行检测和跟踪,使用多任务目标进行基于帧的物体检测和跨帧轨迹回归;(ii)我们引入了相关特征,表示随时间发生的物体共现,以帮助ConvNet进行跟踪;(iii)我们根据我们的跨帧轨迹将基于帧的检测进行链接,以在视频级别产生高精度的检测。我们的时空物体检测ConvNet架构在大规模ImageNet VID数据集上进行评估,取得了最先进的结果。我们的方法在单一模型性能方面比上一次ImageNet挑战中的获胜方法表现更好,同时在概念上更加简单。最后,我们展示通过增加时间步幅,可以显著提高跟踪器的速度。我们的代码和模型可以在http://github.com/feichtenhofer/detect-track 上获取。
图像中的目标检测近年来受到了广泛关注,主要得益于深度卷积网络(Deep Convolutional Networks)的出现 [12, 19, 21, 36, 38] 以及它们的区域性后代 [3, 9, 10, 31],取得了巨大的进展。在视频中进行目标检测和跟踪的情况下,最近的方法通常将检测作为第一步,然后使用后处理方法,如应用跟踪器来随时间传播检测分数。这种“通过检测进行跟踪”的范 paradigm 变已取得令人瞩目的进展,但仍以帧级别的检测方法为主导。
近来,视频中的目标检测引起了大量的兴趣,尤其是自从引入了ImageNet [32] 视频目标检测挑战(VID)之后。与ImageNet目标检测(DET)挑战不同,VID展示了图像序列中的目标,并带来了额外的挑战,包括(i)规模:视频提供了大量的帧数(VID大约有130万张图像,而DET约有40万张或COCO [22] 中的10万张),(ii)动态模糊:由于快速的相机或目标运动,(iii)质量:互联网视频剪辑通常比静态照片的质量要低,(iv)部分遮挡:由于目标/观察者位置的变化,以及(v)姿态:在视频中经常看到非常规的目标对相机的姿态。在图1中,我们展示了VID数据集的示例图像;更多示例请参见[1]。
为了解决这一具有挑战性的任务,ImageNet [32] 视频检测挑战中的最新成果在帧级别检测器之上使用了详尽的后处理方法。例如,ILSVRC’15的获胜者[17]使用了两个多阶段的Faster R-CNN [31] 检测框架、上下文抑制、多尺度训练/测试、ConvNet跟踪器 [39]、基于光流的分数传播和模型集成。
在本文中,我们提出了一种统一的方法来解决现实视频中的目标检测问题。我们的目标是通过同时进行检测和跟踪来直接推断多帧上的“轨迹片段(tracklet)”,并使用ConvNet来完成这一任务。为了实现这一目标,我们建议在R-FCN [3] 检测器的基础上引入一种跟踪公式,该公式受到当前基于相关和回归的跟踪器 [1, 13, 25] 的启发。
我们训练了一个完全卷积的架构,端到端地使用基于检测和跟踪的损失进行训练,并将我们的方法命名为D&T,用于联合检测和跟踪。网络的输入由多个帧组成,首先通过ConvNet主干(例如ResNet-101 [12])传递,以产生用于检测和跟踪任务共享的卷积特征。我们计算相邻帧的特征响应之间的卷积交叉相关,以估计不同特征尺度上的局部位移。在这些特征之上,我们采用一个RoIpooling层 [3] 来对候选框进行分类和回归,以及一个RoI跟踪层,该层对帧之间的框进行变换(平移、尺度、宽高比)回归。最后,为了在视频中推断出对象的长期轨迹,我们基于我们的轨迹片段连接检测。
在大规模的ImageNet VID数据集上的评估表明,我们的方法能够在单一模型性能上取得比上一届ILSVRC’16挑战的获胜者更好的表现,尽管在概念上更为简单且速度更快。此外,我们展示了包含跟踪损失可能会改善特征学习,以获得更好的静态目标检测结果,并且我们还提出了一种在时间上有间隔的输入帧上运行的D&T的快速版本。
目标检测。目前有两类流行的检测器:首先是基于区域提案的检测器,如R-CNN [10]、Fast R-CNN [9]、Faster R-CNN [31] 和 R-FCN [3];其次是直接在一步中预测图像的边界框的检测器,如YOLO [30] 和 SSD [23]。
我们的方法建立在R-FCN [3] 的基础之上,它是一个在区域提案上进行对象检测的简单高效的框架,具有完全卷积的性质。在准确性方面,它与使用多层网络对每个区域进行评估的Faster R-CNN [31] 相竞争(因此其成本与候选RoIs的数量线性增长)。
R-FCN通过引入一个位置敏感的RoI池化层将区域级操作推向网络的末尾,该层在编码输入RoIs的空间下采样类别得分的卷积特征上工作,从而降低了区域分类的成本。
跟踪。跟踪也是计算机视觉中一个广泛研究的问题,最近的进展大多致力于在深度ConvNet特征上操作的跟踪器。在[26]中,ConvNet在测试时被微调,通过检测和边界框回归来跟踪同一视频中的目标。
在测试序列的示例上进行训练速度较慢,而且在目标检测设置中不适用。其他方法使用预训练的ConvNet特征来进行跟踪,并且通过相关性 [1, 25] 或热图上的回归跟踪器 [39] 或边界框 [13] 已经取得了强大的性能。[13]中的回归跟踪器与我们的方法相关。
它基于一个孪生ConvNet,预测前一图像中心显示的对象在第二图像中的位置。由于此跟踪器预测边界框而不仅仅是位置,因此它能够对跟踪模板的尺度和宽高比的变化进行建模。这种方法的主要缺点是它只能处理单一的目标模板,而且还必须依赖于大量的数据增强来学习跟踪框的所有可能变换。[1]中的方法是相关跟踪器的一个例子,启发了我们的方法。该跟踪器还使用全卷积孪生网络,将跟踪模板和搜索图像作为输入。最后一个卷积层的ConvNet特征与响应图中的目标位置进行相关分析。许多相关跟踪器 [1, 25] 的一个缺点是它们只能处理单一的目标,并且不考虑目标尺度和宽高比的变化。
视频目标检测。动作检测也是一个相关问题,最近受到了增加的关注,主要是基于两流ConvNet [35] 的方法。在[11]中,提出了一种方法,该方法使用两流R-CNN [10] 对区域进行分类,并根据动作预测和它们的空间重叠将它们连接在帧之间。
这种方法被[33]和[27]采用,其中R-CNN被Faster R-CNN取代,RPN在外观和动态信息的两个流上运行。
一个感兴趣的领域是在每帧中进行检测和定位(例如视频共定位),只有弱监督的情况下。YouTube Object 数据集 [28] 就是为这个目的而使用的,例如[15, 20]。
自从目标检测从视频任务被引入到ImageNet挑战以来,它引起了相当大的关注。在[18]中,通过将跟踪器应用于基于帧的边界框提案,生成了管道提案。通过1D CNN模型对视频中的检测器分数进行重新评分。在相应的ILSVRC提交中,[17]小组基于帧之间的光流将分数传播到附近的帧,并抑制不属于视频中前几类的类别分数。更近期的工作[16]引入了一个管道提案网络,对多帧中的静态对象提出回归提案,在应用Faster R-CNN进行特征提取后,通过编码器-解码器LSTM进行最终处理。在深度特征流 [42]中,仅将识别ConvNet应用于关键帧,使用光流ConvNet通过流场传播深度特征图到其他帧。这种方法可以将检测速度提高5倍,但会稍微降低准确性。该方法在很大程度上容易出现错误,主要有两个方面的原因:首先,从关键帧到当前帧的传播可能出错;其次,关键帧可能会错过当前帧的特征。最近,一个新的大规模视频目标检测数据集 [29] 被引入,其中包含视频序列中的单个对象注释。
这篇文章提出了一种同时进行检测和追踪的ConvNet架构,以简单有效的方式解决了这个任务。该方法通过使用多任务目标进行基于帧的目标检测和跨帧目标回归,建立了一个ConvNet架构来进行时空目标检测。同时,引入了表示目标在时间上的共现关系的相关特征,以帮助ConvNet进行目标追踪。此外,通过将基于跨帧轨迹的帧级检测结果进行链接,可以在视频级别产生高准确度的检测结果。
该方法在大规模的ImageNet VID数据集上进行了评估,并取得了最先进的结果。与上一届ImageNet挑战的获胜方法相比,该方法在单模型性能上表现更好,同时概念上更简单。此外,通过增加时间步长,可以显著提高追踪器的速度。
具体实现方面,该方法使用了一个ConvNet架构,通过同时进行检测和追踪来直接推断多帧上的“tracklet”。输入网络的是多个帧,首先通过一个ConvNet主干(如ResNet-101)来获取特征图。然后,在R-FCN目标检测器的基础上,引入了一个受当前相关和回归追踪器启发的追踪公式,通过在特征图上计算相关图来进行多目标追踪。整个系统可以端到端地进行训练,从视频中的帧作为输入,产生目标检测和它们的轨迹。