(WACV2021)Effective Fusion Factor in FPN for Tiny Object Detection

目录

引言

融合因子

 1.什么影响融合因子的有效性?

 2.怎么获得有效的融合因子?

 3.融合因子可以隐式地学习到吗?

 4.融合因子的数学解释

结论

思考

引言

        基于FPN的检测器,在MS COCO、PASCAL VOC数据集上表现良好,但是在微小目标检测上表现很差,例如:TinyPerson、Tiny CityPersons,自然会问,为什么现在的基于FPN的检测器不适合微小目标检测,怎么让它们适合呢?回答这个问题的动机来源于一个有趣的观察。

(WACV2021)Effective Fusion Factor in FPN for Tiny Object Detection_第1张图片

        随着深层传入浅层的信息增多,检测器的精度先增大后减小。定义融合因子为特征融合时深层的权重系数。 

        进一步,我们通过分析FPN的工作原理来分析现象产生的原因。我们发现由于相邻层的融合操作,FPN实际上是多任务学习。更具体来说,如果去掉自顶向下的连接,每层只关注于尺寸与之相关程度高的目标,比如浅层学习小目标、深层学习大目标。但是,在FPN中,在来自其它层的损失的间接监督下,每层都要学习所有尺寸的目标。对于微小目标检测,有两个存在的因素需要考虑。第一个是数据集中绝大多数是小目标,第二个是数据集不大。因此,每层不仅要专注于该层对应尺寸的目标,还需要获得其它层的帮助,为了更多的训练样本。融合因子控制了这两件事的优先级,并从中找到平衡。传统的FPN中融合因子为1,不适合微小目标检测。

        首先,我们研究了怎么显式地学习有效的融合因子,发现,对于特定的数据集,通过统计的方法可以得到有效的值,它取决于每层分布的目标数量。其次,我们从两方面深入分析了融合因子是否可以隐式地被学习。最后,我们从梯度反向传播的角度解释了设计融合因子的合理性。实验表明,融合因子加入FPN后,对于微小目标检测,性能得到显著提升。

融合因子

finneri表示1×1的卷积操作,flayeri表示3×3的卷积操作,α为融合因子

 1.什么影响融合因子的有效性?

        假设数据集的四个属性会影响融合因子:a.目标的绝对大小;b.目标的相对大小;c.数据集的数据量;d.FPN中每一层的目标分布。

(WACV2021)Effective Fusion Factor in FPN for Tiny Object Detection_第2张图片

        不同的数据集有不同的趋势,例如在不同的融合因子下到达曲线峰值。

        CityPersons,VOC,COCO对融合因子不敏感,而TinyPerson,Tiny CityPersons对融合因子敏感。

        TinyPerson,Tiny CityPersons最常见的特点是目标的平均绝对大小不足20像素。因此,我们调整了CityPersons,COCO中图片的尺寸(CityPersons中图片缩小2倍和4倍,COCO中缩小4倍和8倍),可以看到,当目标的绝对大小变小,曲线的趋势和TinyPerson的相似。对于TinyPerson和Tiny CityPersons,数据的大小和目标的相对大小一样,但是曲线变化却不一样。

        FPN中每一层的目标分布会决定训练样本是否充足,这将直接影响每一层的特征表示。CityPersons和TinyPerson和Tiny CityPersons分享着类似的FPN分层。大量的微小目标集中在P2、P3,这会导致在深层的微小目标不足。然而,CityPersons融合因子的表现趋势和TinyPerson和Tiny CityPersons不同。

        因此,我们认为目标的绝对大小影响着融合因子的有效性。融合因子决定着深层多大程度的参与到浅层的学习,通过在梯度反向传播中重新更新权重损失。当数据集都是小目标时,每层的学习都是困难的。因此,每层的学习能力都是不足的,深层没有额外的能力去帮助浅层。换句话说,当每层的学习变难时,深浅层的供需关系发生变化,融合因子需要减小,这使得每层更加关注于自身的学习。

(WACV2021)Effective Fusion Factor in FPN for Tiny Object Detection_第3张图片

2.怎么获得有效的融合因子?

        a.暴力计算(枚举法);b.融合因子作为学习参数,在损失函数中进行优化;c.通过自主意力模块产生;d.基于统计的方法。

(WACV2021)Effective Fusion Factor in FPN for Tiny Object Detection_第4张图片

可以看到,基于统计的方法是最好的 。

(WACV2021)Effective Fusion Factor in FPN for Tiny Object Detection_第5张图片

这样设计是希望当Npi很大或者Npi+1很小时,融合因子很小,从而减小Pi层梯度,促使网络每层能平等地学习。

Np的计算过程如下:

  1. 选择和真实框有最大Iou的先验框作为正样本
  2. 计数每层的正样本数作为Npi
  3. 重复step1和step2,得到整个数据集的统计结果。

(WACV2021)Effective Fusion Factor in FPN for Tiny Object Detection_第6张图片

 3.融合因子可以隐式地学习到吗?

当数据集足够大时,网络有隐式学习融合因子的能力。

4.融合因子的数学解释

(WACV2021)Effective Fusion Factor in FPN for Tiny Object Detection_第7张图片

        有两种任务需要C4学习,深层(P4、P5)的目标检测和浅层(P2、P3)的目标检测。当用很大的α时,C4会学习更多的信息用于浅层的目标检测,丢失更多的信息用于深层的目标检测。另外,深浅层是相对的,P4对于P3来说是深层,对于P5来说是浅层。 

结论

调节融合因子可以推动浅层更关注于学习小目标。

思考

1.融合因子可以看作是每层关注自身检测任务的程度的调节剂,在微小目标检测下,训练样本是不足的,每层本身的学习能力就有限,更别说帮助其它层了,这时应该调小融合因子(<1),使得各层关注自身的检测任务,而不是帮助别层。

2.不是融合更多的信息就一定有帮助,还要考虑数据集的特点、网络训练的能力。

你可能感兴趣的:(论文分享,目标检测,人工智能,计算机视觉)