3

论文速递 | 基于 IoU 分支的 IoU-aware Single-stage Object Detector

 3 years ago
source link: https://bbs.cvmart.net/articles/1298
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

论文速递 | 基于 IoU 分支的 IoU-aware Single-stage Object Detector

11个月前 ⋅ 1884 ⋅ 1 ⋅ 0

论文基于RetinaNet提出了IoU-aware sinage-stage目标检测算法,该算法在regression branch接入IoU predictor head并通过加权分类置信度和IoU预测值得到anchor的最终分数,从实验结果看来,算法能有效提升定位的准确率

论文:IoU-aware Single-stage Object Detector for Accurate Localization

file

Introduction


 论文希望是在保持实时性的同时,提高one-stage检测器的准确率。论文认为,one-stage的性能之所以低,是因为分类分数与定位精度之间的低相关性导致的(其实不止one-stage detector,几乎所有的detector都存在这个问题)。在提取anchor后,分类分支与定位分支是相互独立的,造成分类与定位间的mismatch。而在推理时,IoU是缺失的,这带来两个严重的问题:

  • NMS时,只能使用分类置信度来进行anchor排序,导致高IoU但低分类分数的anchor被过滤
  • 计算AP时,依然是使用分类置信度进行排序计算的,高分类置信度但低IoU的anchor会降低高IoU阈值时的AP,(mAP计算

 为了解决以上问题,论文在regression分支添加了一个同步的IoU预测head,基于提出IoU-aware single-stage目标检测算法。在训练的时候,IoU head与另外两个分支一起训练。而推理时,anchor的最终分数由分类置信度和预测的IoU相乘所得,并用于最后的NMS和AP计算

IoU-aware single-stage object detector


file

Model architecture

  如图1所示,IoU-aware single-stage目标检测算法主要基于RetinaNet,使用相同的主干和FPN。在regression分支,论文添加了一个IoU预测head(3x3卷积+sigmod激活层),用于预测anchor的IoU([0,1])。论文提到可以设计一个与分类和regression一样完全独立的分支,但这样的设计会影响模型的效率,添加head的方式能在带来最少额外计算下提升AP,是个不错的折中

Training

file

  跟RetinaNet一样,分类分支使用focal loss,regression分支使用smooth L1。由于IoU∈[0,1],IoU分支使用二值交叉熵

Inference

file

  在推理时,每个anchor的分数计算方式如公式5,参数α用于控制分类和IoU的权重。可以看出,最终分数能很好地关联分类置信度和定位准确率

Experiments


Implementation Details

  论文大部分的实验基于MS COCO,为了说明算法的通用性,对比实验(ablation studies)中补充了PASCAL VOC上的结果
  论文使用2张GPU配合 large minibatch sgd进行训练。在主要实验中,输入尺寸为[800,1333],训练12个周期。在对比实验中,输入尺寸为[600,1000],测试了不同backbone下的实验结果

Main Results

file

  为了公平起见,论文用MMdetection复现了部分对比的算法(带*的),结果如table1所示。从表可以看出,不同主干的IoU-aware RetinaNet能整体带来大约1.0%~1.6%的AP提升。在AP50时,性能提升不太稳定,而在AP75时,则能大幅提升1.7%~2.3%,这说明IoU-aware能有效地提高定位的准确率。此外,IoU-aware RetinaNet的性能已经超过了two-stage的Faster R-CNN,得益于其定位的高准确率

Ablation Studies

  • IoU Prediction Loss
file

  论文进行了不同的IoU loss函数的实验,在实验时,最终的分数由预测的IoU和分类置信度直接相乘所得。baseline估计是RetinaNet,文中没提到。从结果可以看出,BCE loss的结果是最好的

  • Detection Confidence Computation
file
file

  论文对α的值进行了实验,实验使用IoU predictor+BCE loss,仅改变最后分数计算时的权重。如Table 3和Table4所示,实验结果有以下几点:

  1. 当α=1(即仅用分类置信度)时,AP提升0.2%,这说明multi-task训练对模型是有作用的
  2. 当α=0.5和α=0.4时,AP达到最高,AP50提升0.4%-0.8%,AP70和AP80提升2.0%~2.7%,说明论文提出的方法提升了IoU的准确率
  3. 当α降低时,AP70和AP80在提升,说明预测的IoU与定位准确率十分有关系。此外,若将预测的IoU和分类置信度直接相乘,结果也是很明显的,AP提升1.1%
  • Ablation Studies on PASCAL VOC
file

  在PASCAL VOC上,IoU-aware RetinaNet能大约提升1.1%~2.2%AP,说明论文提出的算法在其它训练集也有实用性

Conclusions


  论文提出IoU-aware single-stage目标检测算法,添加IoU prediction head以及加权得分来解决分类置信度与定位准确率之间的mismatch问题。从实验结果看来,该算法是有效的


  这篇论文是一篇arxiv上的初稿,论文提出的IoU predict head以及联合分类分数输出最终结果是一个不错的trick,加到别的算法中应该也能很好地提升AP。但论文整体看起来需要更多的亮点来支撑,特别是α值的提出和实验,结果跟直接相乘差不多,感觉不够惊艳,希望后面能看到对这篇文章更好的补全

写作不易,未经允许不得转载~
更多内容请关注个人微信公众号【晓飞的算法工程笔记】

file

版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK