Scale-Aware Trident Networks for Object Detection

——CVPR,解决目标检测中的尺度变化问题

摘要

本文首先做了一系列平行试验来探索感受野在检测不同尺度的目标中的影响,根据实验发现提出TridentNet,用以生成尺度对应的具有相同判别力的特征图,构建一个平行的多支路结构,其中每个支路共享同样的变换参数,但是有着不同的感受野。然后提出一种尺度对应的训练方案,通过抽样合适尺度的对象来专门训练对应的分支。该网络在标准的COCO数据集上,使用ResNet101单模型可以得到MAP=48.4的结果,远远超越了目前公开的单模型最优结果。

Related Work

Image pyramid:直接对图像进行不同尺度的缩放,然后送入检测器。multi-scale testing仍然是一个不可缺少的组件。然而其缺点也是很明显的,运行时间大幅度提高,对于实际使用并不友好。

Feature pyramid:以FPN为代表,在feature层面上来近似image pyramid。MS-CNN直接在不同down-sample层上检测大小不同的物体,TDM和FPN加入了新的top-down分支补充底层的语义信息不足。但就效果而言,没有Image pyramid效果好。

如下图:


Scale-Aware Trident Networks for Object Detection_第1张图片
解决多尺度问题的两种思路

在本文中,不采用图像金字塔,通过trident block产生多尺度特征图,通过空洞卷积,不同的分支有着相同的网络结构,共享相同的参数权重,但是有着不同的感受野。同时,为了避免极端尺寸目标的影响,采用尺度对应的训练策略来令不同的分支对应不同的尺度,由此使得感受野与目标的正确匹配。在前向时,由于权重共享,只需要使用一份参数就能计算所有的TridentNet分支。

Scale-Aware Trident Networks for Object Detection_第2张图片
Trident Network

Investigation of Receptive Field

我们考虑对于一个detector本身而言,骨架网络影响性能的地方三点:network depth(structure),down-sample rate和receptive field。对于前两者而言,其影响一般来说是比较明确的,即网络越深(或叫表示能力更强),结果会越好,下采样次数过多对于小物体有负面影响。但是没有工作,单独分离出receptive field,保持其他变量不变,来验证它对detector性能的影响。所以,本文做了一个验证性实验,分别使用ResNet50和ResNet101作为backbone,改变最后一个stage中每个3*3 conv的dilation rate(空洞卷积的参数)。通过这样的方法,就可以固定同样的网络结构,同样的参数量以及同样的down-sample rate,只改变网络的receptive field。实验发现,检测器对于不同尺度物体的检测性能和dilation rate正相关,也就是说,更大的receptive field对于大物体性能会更好,更小的receptive field对于小物体更加友好,或者说,最合适的感受野是与目标的尺寸紧密相关的。因此解决多尺度物体检测问题的关键在于,使得不同尺度的物体对应到不同的receptive field大小。

Scale-Aware Trident Networks for Object Detection_第3张图片
感受野与检测性能的关系

Trident Network

网络结构如下图,骨架网络(Resnet101)最后一个Stage是几支结构相同但是dilation rate不同的平行分支,不同的分支共享参数,分支的区别仅仅在于receptive field,它们要检测的物体类别,要对特征做的变换都是一致的,而且共享参数有助于减少参数量,避免潜在的overfitting风险,同时还能充分利用每个样本,同样一套参数在不同dilation rate下训练了不同scale的样本。同时借鉴SNIP,为了避免receptive field和object scale不匹配的情况,每一个branch只训练一定尺度范围内的样本,避免极端scale的物体对于性能的影响。

Scale-Aware Trident Networks for Object Detection_第4张图片
Trident Network

Scale-aware Training Scheme

Trident结构将由不同的dilation rates产生对应尺寸的特征图,但是感受野大小和目标尺寸不对应引起的性能下降也同时存在。因此,很自然的思路是用不同的分支检测不同尺度的目标。本文提出一种尺度感知的训练模式来提升每个分支的尺度感知能力,避免极端尺度目标影响检测性能。

与SNIP相似,对于分支,定义一个合理的尺度范围,训练时,只选取尺度在此范围内的候选框和标注框。具体来说,对于一个ROI,其宽、高分别为,当表达式:满足时,它对分支来说是合理的目标。这样的思路可用于两阶段检测器,在RPN给锚点框分配标签(前景、背景)时,选择那些满足分支条件的标注框,在RCNN进行目标分类回归时,选择那些满足分支条件的候选框。

Inference and Approximation

在前向时,所有分支都产生检测结果,然后去除不满足分支条件的那些检测框,之后再利用NMS或者soft-NMS来融合最后的结果。为了加速网络,可以只选择一个主要分支(中间一支)进行前向,即可设置其分支条件为零到无穷,与原始的网络模型相比较,性能只有轻微下降,但是速度与标准Faster RCNN相当。

Experiments

与其他方法的比较

Scale-Aware Trident Networks for Object Detection_第5张图片
TridentNet与其他方法比较

你可能感兴趣的:(Scale-Aware Trident Networks for Object Detection)