模型评估中目标检测模型的目标框边缘化敏感度分析以及相关的解决方法
一、问题描述
在目标检测任务中,一张图片中的目标框在整张图片上面的位置可能会不一样,有的目标框可能分布在图片的中间,有的目标框可能分布在图片的边缘位置,边缘化程度,即目标框中心距离图片中心距离占图片总距离的比值,越大表示物体越靠近边缘。下图表示的是图片中标记框距离中心比较远的场景,即标记框的边缘化分布比较严重。
图1 图片标记框边缘化分布示例
目标框边缘化敏感度就是描述这种现象的指标,检测模型对于具有不同边缘化程度的数据集检测效果是不一样的,那么如何降低模型对于目标框边缘化的敏感程度呢,下面对相关的技术进行介绍。
二、 解决方法
1、box loss weight
在目标检测中,分类loss和BBOX坐标loss的值存在不均衡,如果只是简单相加,对于BBOX loss很小的值(例如小物体)在计算反向梯度时,很容易被忽略,影响收敛。给BBOX loss加权重,是缓解这种不均衡的现象的技术,即根据数据集的不同来自行调整box loss weight。下图表示在同一个检测模型训练的时候,class loss和box loss的大小值分布不均匀,两者之间相差100倍左右。
图2 同一个检测模型训练的时候,class loss和box loss数值大小分布不均
下面是box loss weight的Tensorflow伪代码:
def model_fn(inputs, mode): ... # params为检测算法超参数配置,修改box_loss_weight的值即可 total_loss = cls_loss + params['box_loss_weight'] * box_loss
2、label smooth
label smooth标签平滑在检测的分类任务常有用到,最早是Inceptionv2中提出。 如果标签中有的是错的,或者不准,会导致网络过分信任标签而一起错下去。为了提高网络泛化能力,避免这种错误,在one-hot的label进行计算loss时,真实类别位置乘以一个系数(1-e),e很小如0.05,以0.95的概率送进去;非标注的类别原来为0,现在改为e=0.05送进去计算loss。
下图是在检测模型中原始输出one_hot label
图3 原始label的one hot编码
加了label smooth标签平滑之后的label
图4 label smooth处理之后的label编码
下面是label smooth的tensorflow版的伪代码:
positive_label_mask = tf.equal(targets, 1.0) if label_smoothing > 0: from tensorflow.python.ops import math_ops smooth_positives = 1.0 - label_smoothing smooth_negatives = label_smoothing / num_classes labels = labels * smooth_positives + smooth_negatives cross_entropy = ( tf.nn.sigmoid_cross_entropy_with_logits(labels=labels, logits=logits))
三、实验验证
使用交通信号灯的数据集,该数据集只有一个标签,检测交叉路口是否安装了交通信号,下图表示的是使用label smooth之前和之后,class loss的拟合曲线,可以看到,在使用label smooth之前(蓝色曲线),class loss随着迭代步数的增加,会出现过拟合的现象,而使用label smooth之后(灰色曲线),这种过拟合的现象可以有效的减小。
图5 使用label smooth之前和之后的class loss拟合曲线
对训练之后的检测模型进行模型评估,统计出在不同的边缘化特征值分布的情况下,所对应的不同的推理情况下的recall值。使用label smooth和box loss weight之前的目标框边缘化敏感度如下:
图6 使用label smooth和box loss weight之前的目标框边缘化敏感度分析
使用label smooth和box loss weight之后的目标框边缘化敏感度如下:
图7 使用label smooth和box loss weight之后的目标框边缘化敏感度分析
可以看出在使用label smooth和box loss weight之后,目标框的边缘化程度敏感度冲0.0823降到了0.0448,降低了检测模型对目标框的边缘化敏感度。
四、用户建议
在模型推理结果中,如果检测出来的类别对于目标框边缘化的敏感程度比较大,推荐在训练的时候,使用label smooth和box loss weight进行模型优化和加强。
- 点赞
- 收藏
- 关注作者
评论(0)