Object Detection-IOU Net笔记
论文: Acquisition of Localization Confidence for Accurate Object Detection(IOU-Net)
作者: Borui Jiang, Ruixuan Luo,Jiayuan Mao,Tete Xiao,Yuning Jiang
链接: https://arxiv.org/pdf/1807.11590.pdf
通过PrROI Pooling提取特征再做IoU的回归,分类和BBox的回归文章主要有两个创新点:
- IoU-guided NMS: resolve the misalignment between classification confidence and localization accuracy
- Precise RoI Pooling and optimization-based bounding box refinement
一般来说,现在的CNN-based detector在得到proposals以后,会用NMS对结果进行迭代地优化,去除一些重叠(重复)的proposals。NMS算法是这样的:
- 根据proposal的classification confidence进行排序,标记当前最大的作为保留项,记为X
- 计算X与其他proposal的IoU,将IoU大于某个threshold的proposal剔除
- 不断重复
可以看出传统的NMS是基于classification confidence的!并没有考虑localization confidence,这就会导致最终的正确定位的proposal因为classification score略低而被剔除。文章提出了IoU-Net来预测detected bbox和matched GT之间的IOU。Fig. 2(a)是IoU和classification confidence之间的关系图,Pearson相关性系数是0.217, (b)是IoU和localization confidence之间的关系图,相关性系数是0.617(说明IoU-Net还是能学习预测IoU的)。
classification confidence和IoU并没有太强的正相关,对于classification confidence高的bbox,其IoU分布很散,从0.6-1.0都有,这就会导致一些localization好的bbox因为classification confidence略低而被suppressedIoU-guided NMS
主要的不同点在于用predicted IoU(localization confidence)来做排序,选择当前predicted IoU最高的bbox,记为m,得到和这个bbox的IoU大于阈值的其他bbox,取这些bbox最大的classification confidence,记为s,那么(m, s)就为当前迭代的结果。简单总结一下,就是将当前拥有最高IoU的bbox为聚类中心,然后去找聚类中最高的classification confidence作为聚类中心的classification confidence。
Precise RoI Pooling
其中, , 是feature map上位置(i,j)的值,IC是一个加权值,(x,y)离(i,j)越近,权重越大,其实就是求(x,y)在bin中所有的离散点的feature map值的加权和!
然后:
对其关于 求梯度:
RoI pooling:直接向上取整和向下取整,这样转化成整数坐标点,并将转化好的矩形区域平均分割成 k x k 个bin,对每一个单元的边界进行量化(取整),这样就会出现misalignment的问题(候选框已经和最开始回归出来的位置有一定的偏差)。
RoI Align: 对于坐标不取整,直接分成k x k个bin,然后对每个bin取四个点,用双线性插值得到值,然后再做pooling操作(average)。
PrRoI Pooling: 同样地,对坐标不取整,直接分成k x k个bin,然后对f(x,y)求积分。
Optimization-based bounding box refinement
bbox的refinement问题可以公式化为:
基于回归的算法就是直接用前馈网络求 ,迭代式的方法对输入分布很敏感,容易导致non- monotonic localization improvement,而本文提出的方法就是对PrRoI Pooling的关于坐标的IoU score进行梯度上升(梯度根据矩形的大小做scale),直至收敛。
实验
Table 1主要是IoU-guided NMS和其他NMS的比较:可以发现matched threshold越高,其AP越高(和其他NMS相比),说明定位能力还是不错的!
Table 2是验证refinement的效果,可以发现在不同模型上都有不小的提升!
将两个结合起来,可以发现在FPN baseline上大约提升了2%的AP,同样地,matched threshold越高,其AP越高。模型的高AP的大部分收益来自于高阈值,在低阈值的时候表现一般。
7 条评论
而本文提出的方法就是对PrRoI Pooling的关于坐标的IoU score进行梯度上升(梯度根据矩形的大小做scale)
这句话如何理解,能不能详细的解释下。
关于Optimization-based bounding box refinement,到底依据什么进行更新的??
因为你的目标是使IoU越大越好,那不就是梯度上升吗?
Optimization-based bounding box refinement就是根据预测的IoU进行梯度上升更新bounding box的坐标