IoU-Net论文笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/l718531794/article/details/84866070
  1. 论文背景及大致思路
    a. 清北,Face++,头条四家联合出品,一看就是有点厉害的文章。发表于ECCV2018.
    b. 文章从我们常常忽略的定位的准确率出发,提出了利用预测IoU来辅助检测的IoU Net。在多个数据集上得到了当前的最佳效果。

  2. 发现的问题和主要工作
    a. 首先大概的讲一下传统的NMS。首先拿出分类置信度最高的预测框,然后将同一类别的框都拿出来和他算一算IoU,如果大于了一个阈值,那就把后面的这个框删了。这里就出现了一个问题,为什么分类置信度高就代表着检测的效果好呢,作者对这个问题得到了如下的两张表:
    在这里插入图片描述
    也就是说IoU其实和分类的置信度并不是正相关的,那么传统的NMS就可能会导致一些原本IoU很高,但是预测分不高的框被扔掉了,反而留下了一些不是那么重合的框。于是,作者提出了一个改了排序依据的IoU-guided NMS。作者将不同算法得到的回归框结果进行了统计,可以看到,在较高精度的部分,NMS抑制了更多的框,而在较低的定位准确度时,反而留下了较多的框。但这部分有个地方我不是很理解,就是为什么会比No-NMS还要多。
    在这里插入图片描述
    b. 很多情况下,边框回归的时候并不是单调的,所以在迭代中,回归的结果可能反而退化了。于是提出了基于优化的边框修正方法,结合新的PrRoI Pooling,使得整个过程可以使用梯度下降优化。
    在这里插入图片描述

  3. IoU-Net
    a. 结构如图所示,主干网络为FPN,通过RPN后利用PrRoI-Pooling提取RoI,然后一路预测IoU,这一路还有一个Jittered RoI,功能就和字面一样,我们并不是直接把GT全部用于预测IoU的,而是将所有的GT人为的进行一些变化,然后将变化后的GT和真实值进行计算,去除IoU小于0.5的,得到最终的训练数据,作者发现这样的方法可以提高网络的鲁棒性和最后的效果。另一路做具体分类和边框修正:
    在这里插入图片描述
    b. IoU-guided NMS:和传统的NMS,主要就是将排序的key换为了定位的置信度也就是IoU。并且会将抑制了其他框的结果框的分类置信度也置为最高值。也就是对于某个GT对应所有box,选出置信度都是最高的进行代表。伪代码如下:
    在这里插入图片描述
    c. Bounding box refinement as an optimization procedure :基于回归的方法,直接预测调整框的参数c,但是在迭代时,对于框的回归操作会影响数据的分布,导致定位的准确度非线性的增长。本文的方法利用了预测的IoU,控制迭代的次数,也就是early-stop操作。同时,算法中会根据bj的尺度调整更新的步长。在伪代码的第六行有所体现:
    在这里插入图片描述
    d. Precise RoI Pooling:也是一个为了避免整数化坐标的Pooling方法,但是比RoI Align更进一步,那就是直接在对应区域算积分。这就避免了RoI Align中的N的选择(就是在多少块上进行插值)。整个结果连续可微,所以结果更精确。
    在这里插入图片描述

  4. PS
    a. 这篇内容也比较多,还需要重复的阅读。

猜你喜欢

转载自blog.csdn.net/l718531794/article/details/84866070
今日推荐