新文预览 | IoU-aware Single-stage Object Detector for Accurate Localization

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

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

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


Model architecture

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

Training

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

Inference

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

Experiments


Implementation Details

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

Main Results

  为了公平起见,论文用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

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

  • Detection Confidence Computation

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

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

  在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。但论文整体看起来需要更多的亮点来支撑,特别是 α \alpha α值的提出和实验,结果跟直接相乘差不多,感觉不够惊艳,希望后面能看到对这篇文章更好的补全

参考文章

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

work-life balance.

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值