模型评估中目标检测模型的目标框堆叠敏感度分析以及相关的解决方法
一、问题描述
在目标检测任务中,一张图片的的单个目标框可能会被其他目标框覆盖,目标框的堆叠度就是描述这种现象的指标,值越大表示被其他框覆盖的越多,检测模型对于具有不同堆叠度数据集的检测效果是不一样的,下图表示的是含有比较多重叠框的场景,那么如果降低模型对于堆叠度的敏感程度呢,下面对相关的技术进行介绍。
图1 多重叠框的场景示例
二、解决方法
NMS在模型推理阶段是利用物体之间的IoU以及相应的阈值进行处理,那么就会出现重叠度比较高的多个物体不能检测出来的问题,传统的检测模型中的NMS处理流程如下所示,其中B表示检测的框:
1. 输入:B={(Bi, Si )}_(i=1 to N), 其中Si是Bi的得分;D=∅ 2. Step 1 B中选择最大得分框M 3. Step 2 将M以及得分添加到D中,同时在B中删掉M以及其得分 4. Step 3 for Bi in B: 5. if IoU(M, Bi) >= NMS_threshold 6. 在B中去掉Bi以及其得分 7. end if 8. end for 9. Step 4 重复Step 1 ~ 3,直至B=∅ 10. 输出:D
传统的NMS的缺点有以下几个方面:
1)依据NMS的阈值暴力删除框,大于阈值的框全部去除,这种筛选规则比较严格,公式如下,其中si表示类别预测概率
2)关键的计算在于IoU,即两个框的重叠部分,两个框的其他位置关系没有考虑全面。
Soft NMS采用一种更为平滑的筛选规则,修正传统的NMS的暴力去除机制如下:
另外的一种高斯表达
那么soft NMS就可以减小目标检测模型对于目标框堆叠度的敏感程度
三、实验验证
下面在开源水果数据集fruit上面进行验证,下图是使用soft NMS之前的目标框堆叠度敏感程度分析
图2 使用soft NMS之前的目标框重叠的特征敏感度分析
其中特征值分布表示将整个数据集堆叠度按照百分比区间进行划分,而对应的值则是召回率。可以看见banana的敏感度在0.3811。
下面的图是使用了soft NMS之后,目标框堆叠度敏感程度的变化,可以看到banana类别对于目标框的堆叠度的敏感程度降低,从0.3811降到了0.2487,从而验证了该算法能够在目标框重叠方面优化模型。
图3 使用soft NMS之后的目标框重叠的特征敏感度分析
四、用户建议
在模型推理结果中,如果检测出来的类别对于目标框堆叠度的敏感程度比较大,推荐在训练以及推理的时候,使用soft NMS进行模型优化和加强。
- 点赞
- 收藏
- 关注作者
评论(0)