摘要
现有的视频目标检测方法都是利用box-level的时间信息进行检测,没有进行端到端的训练(从而会消耗大量内存进行存储)。本文提出一个flow-guided特征聚合的方法,是一个端到端的学习框架——根据特征时间信息的一致性进行检测。随着动作路径聚合相邻的特征,从而对每帧的特征进行增强,同时提高了视频检测的准确率,且对快速移动的物体有较好的检测效果。
Introduce
因为视频中出现的动态模糊、稀奇古怪的姿势、视频虚焦、部分遮挡等原因,导致在图像检测领域效果较好的检测方法在视频目标检测时表现并不理想。除此之外,视频对同一对象具有丰富的信息,通常在一个短暂的时间点对同一个物体有多个快照。
根据时间信息进行视频目标检测的方法——首先在单帧内使用检测器,然后在后续的步骤中通过时间信息把这些检测边界框进行组合,这一特有步骤依赖现成的运动估计,如光流、手动描绘的边界框关联关系,如对象跟踪,一般情况下,这种方法得到的单帧检测框效果一般且不能提高整体的检测质量(即便可以提升性能,也是启发式的后处理的效果,而不是有原则的学习的效果,这不是端到端的训练),这类方法被称为 box-level 方法。
因为同一个对象在不同帧之间一般是无法进行空间对齐的,使用普通的特征聚合方法可能会对性能表现有所损害。本文提出的方法是根据时间信息聚合相邻帧的特征从而提升每帧的特征,属于feature level方法。
FGFA步骤如下:
-
首先对单独的帧提取特征,生成每帧单独的特征图;
-
为了增强参考帧的特征,使用光流网络估计参考帧和其相邻帧之间的动作;
-
相邻帧的特征图根据动作流扭曲到参考帧;
-
参考帧的特征图和它本身的特征图使用一个自适应的权重网络进行聚合;
-
聚合特征图被输入到检测网络产生对参考帧的检测结果。
步骤中包含的特征提取、flow估计、特征聚合和检测都被端到端的训练。该方法提升了每帧的特征,产生了高质量的边界框,边界框可以使用box-level 方法进一步细化,本方法结合box-level方法效果可以获得更大程度的提升。
FGFA方法可以有效利用快速移动物体不同快照中丰富的信息,从而产生较好的效果。
其他的视频目标检测方法
- T-CNN( T-cnn: Tubelets with convolutional neural networks for object detection from videos):通过预计算光流预测相邻帧中的边界框,然后对高置信度的边界框应用跟踪算法从而生成tubelets(一个目标移动的大致路径),根据tubelets分类对tubelets上的边框进行打分。
- Seq-NMS(Seq-nms for video object detection):根据连续帧中高置信度的边界框生成一个序列,序列中的边界框按平均置信度被重新打分,序列外的其他边界框被抑制。
- MCMOT( Multi-class multi-object tracking using changing point detection):制定了一个后处理作为多目标跟踪问题,一系列的手绘规则(检测器置信度、颜色动作线索、前向后向可视化、changing point检测)被用来确定那个边界框是被跟踪的对象,并进一步优化跟踪结果。
以上的方法都是多步方法,后续步骤依赖之前步骤的结果,且后续步骤不能改正之前步骤产生的错误。
通过利用视频中的冗余信息来加速视频检测,发现这只会对准确率有极小的影响,这表明了flow sub-network和recognition sub-network联合训练的可能性。
另一个相关的方面——通过复合连续帧丰富的外观信息来增强特征的代表性,从而提升了视频的准确率。遵循深度特征流的设计,可以在帧之间实现特征的扭曲(原话是follow the design of deep feature flow to enable feature warping across frame,具体的方法没看太懂)。
特征聚合的方法被广泛的使用,然而卷积核的大小限制了模型对快速移动物体的检测——增大卷积核的大小导致参数数量的增加,从而带来过拟合、计算开销、内存开销等问题。FGFA方法是基于flow guided对特征进行聚合,可以适应对象任何类型的动作。
视觉跟踪技术:当追踪一个新的目标时,通过组合预训练的CNN网络中的共享层和一个二元分类层形成一个新的网络,且该网络在训练时实时更新的。视频跟踪技术不同于目标检测,它只需要确定该目标的初始位置所在帧,不需要预测类别。
Flow Guided Featured Aggregation
在单帧中进行检测常会生成不稳定的结果,甚至是失败的结果,如下图,由于运动模糊导致cat类别再参考帧中表现不佳,但是把相邻的t-10和t+10的特征传播到t时的参考帧后,会对参考帧的特征进行增强,从而可以成功检测。
特征传播和增强的两个必要模块:1.动作引导空间扭曲模块——通过帧和扭曲的特征图估计动作;2.特征增强模块——显示如何融合多个帧的特征。
FGFA模型设计
参考帧Ii,相邻帧Ij,使用Mi→j = F(Ii, Ij)来估计流(其中F是FLowNet)。
把相邻帧的特征图通过扭曲融合到参考帧:
其中w(·)是二元扭曲方程。
由相邻帧的特征图和自己特征图融合得到的新特征图显示了对象实例的很多信息:不同的照明、视点、姿势、非刚性变形等,为了聚合这些特征,使用不同空间位置的不同权重,从而使所有的特征通道共享相同的空间权重,聚合特征为:
其中Wj→i是权重图,k是要聚合相邻帧的范围。
然后把聚合特征传入子检测网络来获得最终结果:
对不同的空间位置,需要调整权重的大小,如对于空间位置p,若扭曲特征fj→i(p)非常接近特征fj(p),则该点要分配一个大的权重,相反则分配一个小的权重,这里使用cosine 相似度来衡量从参考帧提取的特征和扭曲特征之间的相似度,且不直接使用Ndet获取的卷积特征,而是再使用一个小的全卷积网络来特化fi和fi→j,把特化功能嵌入子网络,以检测相似性。
其中fe为小型卷积网络,被定义成为相似性方法而嵌入特征。
权重的估计可以看作余弦相似性通过softmax操作的过程。
网络架构
-
Flow Network:在图片上应用半分辨率且输出步长为4,因为feature network的输出步长为16,所以flow field的尺寸缩小一半来适应特征图。
-
Feature Network:对原本为图像识别的算法——ResNet-50,ResNet-101,Aligned-Inception-ResNet,将其最后一个平均池化层和全连接层去除,保持卷积层不变,为了增加特征的分辨率,使用中 Semantic image segmentation with deep convolutional nets and fully connected crfs和Object detection via region-based fully convolutional networks的方法进行训练,最有效的步长由32改为16。为了保持接收域的尺寸,在最后一个block扩张卷积层的尺寸,最后使用一个随机初始化的3×3的卷积层把特征的维度减到1024。
-
Embedding Network:该网络有1×1×512、3×3×512、1×1×2048的卷积层各一个,且三层卷积都是随机初始化。
-
Detection Network:使用R-FCN和DFF进行处理。对1024维的特征图使用RPN子网络和R-FCN的子网络进行处理,它们分别连接前512维和后512维的特征。RPN使用9个锚点(3个尺寸和3个长宽比),每个图像产生300个候选区域。R-FCN中的敏感分数图为7×7组。
FGFA结合box-level方法
因为FGFA方法主要是为了增强特征和提升识别的准确率,所以结合box-level方法,把box-level方法作为后处理可以对输出边框的准确率有很大的提升。
缺陷
因为就像前文说是FGFA是针对增强特征和识别准确率而设计的,所以速度较慢,使用光流网络进行修改可能会提升其速度,使用更多的标记数据也可能提升其速度。