第一次阅读目标检测的不确定性方向的文章,可以学习一下是如何得到bbox的不确定性的,怎样使用的~
1. 概况
大规模数据集在gt框标注的时候存在歧义(可能由于标注错误,可能由于图片本身存在遮挡等带来了歧义),本文提出新的bbox回归损失,对bbox的移动(transformation)和位置方差(localization variance)进行学习=>在nms时使用位置方差,提升定位的准确度
2. 模型改进
- 将原先faster rcnn需要回归的四个参数(x,y,w,h) 转换为顶点的四个坐标(x1,y1,x2,y2)从而可以用KL loss分别回归四个坐标而不影响最终的结果.
- 在输出预测顶点坐标位置的同时输出坐标的概率(简单起见,采用单高斯分布拟合概率,输出概率),从而能够进行后续加权回归操作。
- 优化的目标是在inference的时候输出四个顶点的坐标和高斯分布的方差
- xe是预测出的该点的坐标,segma是该点高斯分布对应的方差
- xg是gt对应的顶点,由于gt对应的是真值,所以用冲击函数表示
3. 优化方式-kl损失函数
N是proposal数量,优化目标是希望bbox的概率分布尽可能贴近gt,从而得到最优的方差
- 后两项与值无关,所以可以简化如下
- 对xe、segma求导如下
- 可以发现,segma过小时会带来梯度爆炸,所以替换为a = log(segma2)
- 继续调整为具有smoothl1形式的loss,且|xg - xe| > 1,fc层产生a的初始化为高斯随机初始化,方差0.0001,均值0(有点不明白为什么时这个形式),这样训练开始时和smotthl1就很相似了
4. variance voting
- 首先选择分类分数最大的detection box bm
- 对于所有和 bm 存在IoU交集的detection boxes,计算其权值(对距离较近,且方差较小的proposal给予较大的权值),根据所有和 bm 存在交际的detection boxes和其权值,重新回归得到 bm 的四个坐标