真是东西多多每天都有新发现             论文地址:https://arxiv.org/abs/1908.09075

样本不平衡问题感觉近期研究的论文相对较多,如:2019 AAAI GHM,2019 CVPR AP-loss, 还有2019 DR loss, 2019 IoU-balanced loss,two-stage中也有Libra RCNN,都是关注样本不平衡的问题。该论文给出了一种可行的方案,即采用学习的方法来处理样本不平衡问题。

之前所有处理样本不平衡问题的论文都是采用reweight或者采样的方法,并且都是基于手工调优的,例如RetinaNet需要设置FL的参数,GHM则要设置bins的数目和momentum的大小。该论文则提出了一种基于学习的方法来处理样本不平衡问题,不仅性能更好,而且能自适应不同的数据集。

RetinaNet-Obj_正例

作者首先引入了另一种不同于Focal Loss处理样本不平衡问题的方法,即借鉴YOLO的方法,在head部分同时引入Objectness subnet的分支,在推理的时候采用如下公式:

RetinaNet-Obj_正例_02

通过公式推导,该方法最后和FL loss的效果基本是等价的,在实验结果中基本也是相同的。 

RetinaNet-Obj_深度学习_03

Residual Objectness

分析RetinaNet-Obj中Obj分支同样存在样本不平衡的问题,自然地想到继续采用另一个obj来处理第一个Obj的样本不平衡问题。在这里,作者引入了res-obj结构:

RetinaNet-Obj_人工智能_04

通过residual来修正原有的obj分数,公式如下:

RetinaNet-Obj_正例_05

 

注意此处其实只针对大于一定分数的obj来做(分数为正例中分数的最小值),这样就能够提高正例的分数,相当于给正例加了权重,从而解决obj中正负样本不平衡问题。具体算法如下: 

RetinaNet-Obj_性能提升_06

实验结果

从最终结果来看,该方法迁移到不同方法上均有性能提升,在RetinaNet中有1个点的提升,和GHM相当;在YOLOV3和Faster RCNN中也有1个点的提升。如下:

RetinaNet-Obj_人工智能_07

RetinaNet-Obj_人工智能_08