返回主页
Marked in the browser
Single-Shot Refinement Neural Network for Object Detection
发表期刊:CVPR
发表时间:2018
[论文地址](https://hexo-img.obs.cn-east-3.myhuaweicloud.com/img/202306171515589.pdf)
[代码](https://github.com/sfzhang15/RefineDet)
## 问题描述
现阶段目标检测网络可分为两类:(1)单阶段的方法(2)双阶段的方法。双阶段的方法是使用第一阶段先生成的候选框在第二阶段进行分类和回归,双阶段的方法往往准确率比较高。单阶段方法是通过对位置、尺度和长宽比的固定和密集采样来检测对象。这样做的主要优点是计算效率高。但是因为单阶段的方法存在严重的类别不平衡的问题,所以单阶段方法往往准确率不如双阶段的方法。
双阶段的网络与单阶段网络相比有三个优点:
1. 使用启发式采样的双阶段的结构处理类别不平衡的问题。
2. 使用两步级联的方法对目标框的参数进行回归。
3. 使用两阶段的特征描述目标。
本篇文章就是为了继承他们优点的同时克服他们的缺点(融合SSD,RPN,FPN为一体),最终实现一个比双阶段的网络更准确,比单阶段网络更快的方法。
## 论文解读

RefineDet类似于SSD,是基于前馈卷积的网络,该网络产生固定数量的边界框和指示这些框中存在不同类别的对象分数,然后通过NMS产生最终结果。RefineDet中的三个核心组件:(1)传输连接块(TCB),将特征从ARM转换到ODM进行检测; (2) 两步级联回归,准确回归物体的位置和大小; (3) 负锚过滤,早期拒绝分类良好的负锚并缓解不平衡问题。
### Transfer Connection Block(传输连接块 TCB)

TCB是为了将ARM的不同层的特征转换为ODM所需的形式,以便于ODM可以共享ARM的特征。TCBs的另一个功能是整合大规模上下文,将更高层次的含有高语义信息的特征添加到前边的特征层中(简单理解就是FPN的上采样+特征融合),以提高检测的准确性。使用反卷积操作来放大高级特征图并以元素方式对它们进行求和进而统一不同特征层的维度。然后,在求和之后添加一个卷积层,以确保检测特征的可辨别性。
### Two-Step Cascaded Regression(两步级联回归)
目前的单阶段方法依赖于基于具有不同尺度的各种特征层的一步回归来预测对象的位置和大小,这在一些具有挑战性的场景中是相当不准确的,尤其是对于小目标。所以先用ARM调整锚的位置和大小,以便为ODM回归提供更好的初始化。具体来说,将n个锚框与特征图上的每个固定划分的单元相关联。每个锚框相对于其对应单元格的初始位置是固定的。在每个特征图单元中,预测细化的锚框相对于初始锚的四个偏移量和两个置信度分数,表明这些框中存在前景对象。因此,我们可以在每个特征图单元产生 n 个细化的锚框。这 n 个细化后的锚框在ODM中作为类似SSD中使用的默认框作为输入进行进一步的检测,产生更准确的结果,对小物体作用明显。
### Negative Anchor Filtering(负锚过滤)
用负锚过滤机制,提前过滤不太好的框,解决类别不平衡问题。 在训练阶段,对于一个细化的anchor box,如果其负置信度大于预设阈值(即根据经验设置 θ = 0.99),将在训练ODM时将其丢弃。 也就是说,只通过Hard Negative Anchor和Refined anchor来训练 ODM。 同时,在推理阶段,如果一个细化的anchor box的负置信度大于 θ,它将在ODM阶段被丢弃。
### 实验部分


## 总结
RefineDet 由两个相互连接的模块组成,anchor细化模块(ARM)和目标检测模块(ODM)。 具体来说,ARM的目的是 (1)过滤掉负锚以减少分类器的搜索空间(2)粗略地调整锚的位置和大小,以便为后续回归器提供更好的初始化。 一句话说ARM的作用就是既像RPN一样有生成候选框提案的作用,又能提前过滤掉容易分类的负锚缓解了类别不平衡问题。ODM 将ARM细化后的锚作为的输入,以进一步提高回归并预测多类标签。这两个相互连接的模块模仿了双阶段的结构,从而继承了上述双阶段网络的三个优点,可以高效地产生准确的检测结果。 此外,传输连接块 (TCB)用来 来传输 ARM 中的特征 ,以预测 ODM 中对象的位置、大小和类别标签。 多任务损失函数使我们能够以端到端的方式训练整个网络。