一、概述
- RefineDet自称是结合了两阶段方法和一阶段方法优点的一阶段方法。但是在我看来,RefineDet更像是一个两阶段的方法。
- RefineDet基于SSD,主要由两个模块构成:①ARM(anchor refine module),用于滤除置信度非常高的负类样本 ②ODM(object detection module),使用ARM模块得到的anchor完成目标的检测。
- RefineDet还借鉴了FPN中将高层特征与低层特征融合的思想。
二、网络结构
2.1 ARM模块
- 就是个SSD框架,只不过完成的是anchor boxes的二分类和边框回归。在这个模块中,会完成负类anchor boxes的粗筛,将得分超过某一阈值的负类anchor boxes丢弃,剩下的anchor boxes送入后续模块中
2.2 TCB结构
- 通过该结构将ARM模块中的特征迁移至ODM模块中,示意图如下:
- 对ARM中每层特征,先经过两次卷积操作,与下一层特征反卷积后的结果相加,再经过一次卷积操作,消除混叠噪声。
2.3 ODM模块
- 也是个类似SSD的框架,接受从TCB结构得到的特征和从ARM模块得到的anchor boxes,对这些anchor boxes完成多分类和边框回归
- 采用了OHEM(Online hard example mining)技术
2.4 小结
- 论文说这是一阶段的方法,主要是因为训练的时候只训练一个网络就行了,但是从结构上看,其实是个二阶段的做法
三、相关实验
3.1 PASCAL VOC 数据集
3.2 COCO数据集
3.3 消融实验
四、总结
- RefineDet并没有提出新的令人耳目一新的想法,而是将已有的结构、方法进行了组合。这也值得我们学习:如何将现有技术进行合适的组合。