目标检测后处理:从nms到softer nms
目标检测这个东西从来都不是一个可以直接端到端的东西,往往需要很多的联合训练,调整试错,前处理后处理等等。文章目录1 NMS1.1 动机1.2 步骤2 Soft-NMS2.1 动机2.2 算法思想2.3 步骤3 Softer-NMS3.1 动机3.1.1 现有方法...
目标检测这个东西从来都不是一个可以直接端到端的东西,往往需要很多的联合训练,调整试错,前处理后处理等等。
文章目录
对于目标检测算法,它包含了三个要素:Backbone + Head + Postprocess,上一篇文章介绍了Light Head R-CNN,它是对“head”部分的优化,对于Postprocess部分,最早用的是NMS,后面出现了Soft NMS和Softer NMS,本文将分别解释它们的动机和原理,希望能对大家有所帮助。
1 NMS
NMS,它的全称为“non-maximum supression”。为什么要使用nms呢?因为在目标检测任务中,不管是one-stage还是two-stage的算法,最终算法都会预测出多个proposals。在后处理部分中,需要对这些proposals做筛选。
1.1 动机
(1)优先选择分类score较高的proposal;
(2)跟分类score重叠较多的proposals,可以视为冗余的预测框;
1.2 步骤
(1)将算法预测出的所有proposals,按照不同的类别标签分组;
(2)对于每一个类别的所有proposals,记作 B B B BB B BBBNt的proposals,使用加权平均更新其位置坐标,从而达到提高定位精度的目的。因为softer-NMS关注的是单个框的定位精度,而NMS和soft-NMS关注的是单个框的冗余性,显然关注点不同,所以softer-NMS可以和soft-NMS组合使用,此时效果更佳。
4 总结
NMS:只适用于图片中目标比较稀疏的场景,即目标之间的间距较大;
soft-NMS:可以部分解决出现稠密目标的情况(ps:Face++提出了RepLoss,从模型的角度解决这一问题,大家感兴趣也可以去读读该论文);
softer-NMS:该后处理方法采用"bagging"的思想,通过后处理提高定位精度,可以和soft-NMS组合使用。
5 参考文献
https://arxiv.org/pdf/1704.04503.pdf
更多推荐
所有评论(0)