Challenge)自2010年开始举办以来一直备受關注。2016年在该比赛的图像目标检测任务中,国内队伍大放异彩包揽该任务前五名(如图1所示)。我们将根据前五名参赛队伍提交的摘偠与公开发表的论文或技术文档简析比赛中用到的图像目标检测方法。
图1. ILSVRC2016目标检测(无额外数据)任务今天足球比赛结果果
总体上说參赛队伍大多采用ResNet/Inception网络+Faster R-CNN框架,注重网络的预训练改进RPN,并利用Context信息测试时结合普遍被使用的多尺度测试、水平翻转、窗口投票等方法,最终融合多个模型得到结果
下面我们将细数参赛方法中的诸多亮点。
GBD-Net(Gated Bi-Directional CNN [1])是CUImage团队的成果也是今年DET任务中的一大亮点。该方法利用双姠门控的CNN网络在不同尺度的上下文窗口中选择性地传递信息以此对context建模。
GBD-Net的研究动机源于对context信息在候选窗口分类过程中起到的作用的仔細分析首先,Context信息在对窗口分类时能起到关键的作用如图2(a)(b)所示,图中的红框必须结合Context信息才能准确判断其类别(包括判断为背景)所以很多时候,我们可以利用context信息作出如图1(c)所示的判断但是如图1(d)所示,并不是所有的context信息都能给我们正确的指导所以context信息需要选择性嘚利用。
基于这一点CUImage提出了GBD-Net。如图3所示GBD-Net采集Context信息的方式与[2][3]一脉相承,直接在目标窗口基础上放大窗口以获得更多的context信息或缩小窗口鉯保留更多的目标细节,以此得到多个support region双向连接的网络让不同尺度和分辨率的信息在每个support
region之间相互传递,从而综合学习到最优的特征嘫而如研究动机中所说,并非所有的上下文信息都能给决策带来“正能量”所以在双向互通的连接上都加了一个“门”,以此控制context信息嘚相互传播GBD-Net在ImageNet DET数据集上,在ResNet-269为基础网络带来了2.2%的mAP提升。
360+MCG-ICG-CAS_DET团队[12]将[4]中提出的用膨胀卷积获取context信息的方法迁移至目标检测任务将[4]中的8个膨脹卷积层削减到3层,在ROI
pooling前就组织好每个像素点对应的context信息如图4,省去了对每个ROI反复提取context特征的操作该方法在VOC07数据集上,以Res50为基础网络能获得1.5%的提升。
Truth的IOU大于0.5的窗口当做正样本IOU介于0.1~0.4之间的当做背景类别样本,所以虽然正常目标类别的样本之间有较大的相似性但背景類别的样本之间差异却非常大,在这种情况下仍然同等对待目标类别和背景类别对背景类别来说是不公平的。所以背景隐式子类别方法將背景类别分为若干个子类别想让更多的参数去描述多变的背景,在softmax之前重新将所有子类别聚合为一个背景类以避免显式定义各个子類别的问题(如图6(a)所示)。
另外由于训练数据本身的一些冲突性(比如同样的图像内容在不同场景下会同时成为正样本和负样本,或不哃类别的样本之间非常相似)对于某些窗口,ground truth类别的得分始终不是很高而其他一些错误类别的得分会超过ground truth类别。所以sink方法加入一个sink类在ground truth得分不在Top-K时,同时优化sink类别和ground
truth类别否则正常优化ground truth类别。以此将那些错误类别上的得分引流到sink类别上使得在对窗口分类时,即使ground truth类別得分不是特别高仍然可以高于其他类别,如图6(b)所示
CUImage和Hikvision都提出改进RPN,并且两者的改进策略都源于CRAFT[7](如图7所示)在RPN之后再连接一个二汾类的Fast R-CNN,进一步减少窗口数量并提高定位精度
Hikvision则是直接按照box refinement的思想,直接在RPN网络基础上进行一次级联如图8所示。同时他们注意到Faster R-CNN在悝想情况下希望PRN的正负样本比是1:1,而实际运行中正样本数量往往较少,使得正负样本比差异较大所以将正负样本比强制限制在不超過1:1.5后,recall提升3%
4.网络选择与训练技巧
自ILSVRC2015后,ResNet[4]和后续的Inception v4[8]Identity mapping[9]由于其强大的分类性能,被广泛使用到目标检测、场景分割等应用中不同的网络通常能收敛到不同的极值点,这种网络差异性是模型融合获得较大提升的关键CUImage、Hikvision、Trimps
在训练目标检测模型之前,具有针对性的模型预训练通常可以使得最后训练的目标检测模型能收敛到更优的位置Hikvision提到在初始化global context的分支时使用预训练的模型效果远远好于随机初始化。另外怹们用ILSVRC
LOC的数据首先在1000个类别上预训练一个精细分类的目标检测模型,再迁移到DET数据上训练200类的模型CUImage同样提到模型预训练的重要性。他们茬1000类Image-centric方式训练分类网络后又采取基于ROI-Pooling的Object-centric方式训练分类网络,预训练网络使最终目标检测模型的mAP提升约1%
此外,Hikvision提出在训练过程中强制平衡正负样本比会产生积极的影响OHEM[10]、多尺度训练等技巧都是简单有效的提高mAP的方式。
测试过程中可采用的技巧很多会对最终目标检测结果起到锦上添花的作用。多尺度测试、水平翻转、窗口微调与多窗口投票、多模型融合、NMS阈值调整、多模型融合等方法被广泛使用并经過普遍验证证明了其有效性。
R-CNN系列框架中对窗口进行回归的这个过程反复迭代,然后用所有窗口投票决定最终的目标类别与位置。在往年比赛中很少提到目标检测如何进行模型融合ILSVRC2016中,CUImage[14]、Hikvision[15]、Trimps
Soushen[16]、360+MCG-ICT-CAS_DET[12]都采用了几乎一致的融合策略即先用一个或多个模型的RPN网络产生固定的ROI,洅把这些ROI经过不同模型得到的分类和回归结果相加得到最终的融合结果。经过多种融合方法的实验分数相加的方式能获得较好的融合性能。
本文对2016年ILSVRC DET任务中用到的方法进行了概括性的归纳和介绍目标检测系统步骤甚多,过程繁琐其中的每一个细节都非常重要。研究過程中在把握整体结构的同时,如何处理好重要的细节会成为一种方法是否有效的关键
图像目标检测任务在过去三年的时间取得了巨夶的进展,检测性能得到明显提升但在视频监控、车辆辅助驾驶等领域,基于视频的目标检测有着更为广泛的需求由于视频中存在运動模糊,遮挡形态变化多样性,光照变化多样性等问题仅利用图像目标检测技术检测视频中的目标并不能得到很好的检测结果。如何利用视频中目标时序信息和上下文等信息成为提升视频目标检测性能的关键
VID),这为研究者提供了良好的数据支持ILSVRC2015的VID评价指标与图像目标检测评价指标相同——计算检测窗口的mAP。然而对于视频目标检测来说一个好的检测器不仅要保证在每帧图像上检测准确,还要保证檢测结果具有一致性/连续性(即对于一个特定目标优秀的检测器应持续检测此目标并且不会将其与其他目标混淆)。ILSVRC2016针对这个问题在VID任務上新增加了一个子任务(详见第四部分——视频目标检测时序一致性介绍)
在ILSVRC2016上,在不使用外部数据的VID两个子任务上前三名由国内隊伍包揽(见表1、表2)。本文主要结合NUISTCUVideo,MCG-ICT-CAS以及ITLab-Inha四个队伍公布的相关资料对ILSVRC2016中的视频目标检测方法进行了总结
通过对参赛队伍的相关报告[2-5]进行学习了解,视频目标检测算法目前主要使用了如下的框架:
-
将视频帧视为独立的图像利用图像目标检测算法获取检测结果;
-
利用视頻的时序信息和上下文信息对检测结果进行修正;
-
基于高质量检测窗口的跟踪轨迹对检测结果进一步进行修正。
本文分为四部分前三个蔀分介绍如何提升视频目标检测的精度,最后介绍如何保证视频目标检测的一致性
此阶段通常将视频拆分成相互独立的视频帧来处理,通过选取优秀的图像目标检测框架以及各种提高图像检测精度的技巧来获取较为鲁棒的单帧检测结果《ILSVRC2016目标检测任务回顾(上)–图像目标检测》已对此进行详细总结,这里不再重复
结合自己实验及各参赛队伍的相关文档,我们认为训练数据的选取以及网络结构的选择對提升目标检测性能有至关重要的作用
首先对ILSVRC2016 VID训练数据进行分析:
VID数据库包含30个类别,训练集共有3862个视频片段总帧数超过112万。单从数字仩看这么大的数据量训练30个类别的检测器似乎已经足够。然而同一个视频片段背景单一,相邻多帧的图像差异较小所以要训练现有目标检测模型,VID训练集存在大量数据冗余并且数据多样性较差,有必要对其进行扩充在比赛任务中,可以从ILSVRC
DET等作为训练集需要注意嘚是在构建新的训练集的时候要注意平衡样本并去除冗余(CUVideo和MCG-ICT-CAS抽取部分VID训练集训练模型,ITLab-Inha在每个类别选择一定数量图像参与训练NUIST使用在DET仩训练的模型对VID数据进行筛选)。对于同样的网络使用扩充后的数据集可以提高10%左右的检测精度。
不同的网络结构对于检测性能也有很夶影响我们在VID验证集上进行实验:同样的训练数据,基于ResNet101[6]的Faster R-CNN[7]模型的检测精度比基于VGG16[8]的Faster
目标在某些视频帧上会存在运动模糊分辨率较低,遮挡等问题即便是目前最好的图像目标检算法也不能很好地检测目标。幸运的是视频中的时序信息和上下文信息能够帮助我们处理這类问题。比较有代表性的方法有T-CNN[10]中的运动指导传播(Motion-guided Propagation, MGP)和多上下文抑制(Multi-context suppression,
MCS)
单帧检测结果存在很多漏检目标,而相邻帧图像检测结果Φ可能包含这些漏检目标所以我们可以借助光流信息将当前帧的检测结果前向后向传播,经过MGP处理可以提高目标的召回率如图1所示将T時刻的检测窗口分别向前向后传播,可以很好地填补T-1和T+1时刻的漏检目标
使用图像检测算法将视频帧当做独立的图像来处理并没有充分利鼡整个视频的上下文信息。虽然说视频中可能出现任意类别的目标但对于单个视频片段,只会出现比较少的几个类别而且这几个类别の间有共现关系(出现船只的视频段中可能会有鲸鱼,但基本不可能出现斑马)所以,可以借助整个视频段上的检测结果进行统计分析:对所有检测窗口按得分排序选出得分较高的类别,剩余那些得分较低的类别很可能是误检需对其得分进行压制(如图2)。经过MCS处理後的检测结果中正确的类别靠前错误的类别靠后,从而提升目标检测的精度
图2 多上下文抑制示意图[10]
上文提到的MGP可以填补某些视频帧上漏检的目标,但对于多帧连续漏检的目标不是很有效而目标跟踪可以很好地解决这个问题。CUVideo, NUIST, MCG-ICT-CAS以及ITLab-Inha四支参赛队伍都使用了跟踪算法进一步提高视频目标检测的召回率使用跟踪算法获取目标序列基本流程如下:
- 使用图像目标检测算法获取较好的检测结果;
- 从中选取检测得分朂高的目标作为跟踪的起始锚点;
- 基于选取的锚点向前向后在整个视频片段上进行跟踪,生成跟踪轨迹;
- 从剩余目标中选择得分最高的进荇跟踪需要注意的是如果此窗口在之前的跟踪轨迹中出现过,那么直接跳过选择下一个目标进行跟踪;
- 算法迭代执行,可以使用得分閾值作为终止条件
得到的跟踪轨迹既可以用来提高目标召回率,也可以作为长序列上下文信息对结果进行修正
对于视频目标检测,除叻要保证每帧图像的检测精度还应该保证长时间稳定地跟踪每个目标。为此ILSVRC2016新增一个VID子任务,此任务计算每个目标跟踪轨迹(tracklet)/管道(tubelet)的mAP来評测检测算法的时序一致性或者说跟踪连续性的性能
评价指标:图像目标检测mAP评测对象是每个检测窗口是否精准,而视频时序一致性评測对象是目标跟踪轨迹是否精准;图像目标检测中如果检测窗口跟Ground Truth类别相同窗口IoU大于0.5就认定为正例。而评价时序一致性时如果检测得箌的跟踪轨迹和Ground Truth(目标真实跟踪轨迹)是同一个目标(trackId相同),并且其中检测出的窗口与Ground
Truth窗口的IoU大于0.5的数量超过一个比例那么认为得到嘚跟踪轨迹是正例;跟踪轨迹的得分是序列上所有窗口得分的平均值。分析可知如果一个目标的轨迹被分成多段或者一个目标的跟踪轨跡中混入其他的目标都会降低一致性。
那么如何保证视频检测中目标的时序一致性呢本文认为可以从以下三个方面入手:(1)保证图像檢测阶段每帧图像检测的结果尽量精准;(2)对高质量检测窗口进行跟踪并保证跟踪的质量(尽量降低跟踪中出现的漂移现象);(3)前媔两步获取到的跟踪结果会存在重叠或者临接的情况,需针对性地进行后处理
ITLab-Inha团队提出了基于变换点检测的多目标跟踪算法[11],该算法首先检测出目标然后对其进行跟踪,并在跟踪过程中对跟踪轨迹点进行分析处理可以较好地缓解跟踪时的漂移现象,并能在轨迹异常时忣时终止跟踪
针对视频目标检测的一致性问题,作者所在的MCG-ICT-CAS提出了基于检测和跟踪的目标管道生成方法
图3 基于检测/跟踪/检测+跟踪管道礻意图
图3-a表示使用跟踪算法获取到的目标管道(红色包围框),绿色包围框代表目标的Ground
Truth可以看到随着时间推移,跟踪窗口逐渐偏移目标最后甚至可能丢失目标。MCG-ICT-CAS提出了基于检测的目标管道生成方法如图3-b所示,基于检测的管道窗口(红色包围框)定位较为准确但由于目标的运动模糊使检测器出现漏检。从上面分析可知:跟踪算法生成的目标管道召回率较高但定位不准;而基于检测窗口生成的目标管噵目标定位较为精准,但召回率相对前者较低由于两者存在互补性,所以MCG-ICT-CAS进一步提出了管道融合算法对检测管道和跟踪管道进行融合,融合重复出现的窗口并且拼接间断的管道
如图4所示,相对于单独的检测或者跟踪生成的目标管道融合后目标管道对应的检测窗口的召回率随着IoU阈值的增加一直保持较高的值,说明了融合后的窗口既能保持较高的窗口召回率也有较为精准的定位。融合后的目标管道mAP在VID測试集上提升了12.1%
图4 不同方法生成目标管道的召回率
本文主要结合ILSVRC2016 VID竞赛任务对视频目标检测算法进行介绍。相对于图像目标检测当前的視频目标检测算法流程比较繁琐且视频自身包含的信息没有被充分挖掘。如何精简视频目标检测流程使其具有实时性如何进一步挖掘视頻包含的丰富信息使其具有更高的检测精度,以及如何保证视频目标检测的一致性或许是视频目标检测接下来要着重解决的问题