Group Sampling for Scale Invariant Face Detection阅读笔记

Movitation

作者发现在训练过程中存在两个问题

  • 正负样本不均衡(OHEM,focal Loss等都是解决这个问题)
  • 样本的尺度不均衡问题,在基于iou的匹配策略下,小尺度的样本更难匹配到合适的anchor。

     插一句,个人感觉小目标在这种基于anchor的检测方法中性能较差的本质原因在于有效训练的样本过少,最终计算loss时正样本选择的是和anchor匹配上的样本,大目标很容易和尺度类似的anchor达到很高的iou,而小目标即使anchor尺寸类似,由于由于anchor密度的原因,仍然更难匹配到合适的anchor,因此解决方法应该分为三点:1,增大训练样本中的小样本数量,更多的输入自然就有更高的概率获得有效样本(方法如训练样本过采样,DAS生成小目标样本);2,增大小尺度anchor的密度(如S3FD),anchor密度增加,可以匹配的有效样本自然更多。 3,降低小尺度目标匹配的iou阈值

方法

    将参与训练的样本按照尺度分为不同的组,计算loss是每组等比例采样(以前是所有正样本都使用的)。ps,这里的样本指的就是anchor在训练过程中的实例化,更直白点就是和target匹配上的anchor,不是输入的图片。这样做的结果是各尺度的样本在训练过程中是公平的,相当于输入的训练样本各尺度均衡一样,避免被某种尺度主导loss。

 

贡献

 

Group Sampling for Scale Invariant Face Detection阅读笔记

   先解释一下,灰色框中16/16,32/16 et..第一个数字代表anchor的尺度,第二个数字代表anchor的step(在原图上的像素距离,一般,传统的我们都按照feature map的尺寸放置anchor,基本上feature map一个点对应一个anchor,因此anchor的step一般和feature的step相等)。

  这篇文章最大的贡献就是发现了FPN网络有效的原因是应为不同scale的anchor的step不同,并非是因为使用了多层特征,b和c的性能类似。c和d都使用了相同层的特征,相同scale的anchor,但是anchor的step不同,由此d中的大scale的anchor数量远多于c,从而大目标的匹配的有效anchor更多,检测器更偏向于大目标。c通过改变不同scale的anchor的step,使得其分布类似于fpn,最终取得和fpn类似的结果。

     最终给我们的启示,训练过程中各scale的有效样本(匹配到正样本的anchor数量)数量应该均衡,这样训练出来的检测器才更好。

Group Sampling for Scale Invariant Face Detection阅读笔记