论文链接:Single-Shot Refinement Neural Network for Object Detection
代码链接:RefineDet代码
摘要:
对于目标检测任务,两阶段方法(比如Faster R-CNN)实现了最高的准确率。然而一阶段方法(比如:SSD)在计算效率上有优势。为了吸收这两个方法的优点并且摒弃他们的缺点。这篇论文提出了一个新的基于一步式的检测器,叫做RefineDet,它实现了比两阶段方法更高的准确率,同时保持了和一阶段方法相同的计算效率。RefineDet包含了两个相互连接的模块,即anchor优化模块和目标检测模块。更具体地说第一个模块是为了(1)过滤掉负的anchor,减小分类器的搜索空间,(2)粗略的调整anchors的尺寸和位置,可以为接下来的回归提供更好的初始化。第二个模块以第一个模块优化过的anchors作为输入,进一步提高回归精度和预测多类别标签。同时,也设计了一个转换连接块来转换anchor优化模块中的特征到目标检测模块去预测目标的位置,大小和类别标签。这个多任务损失函数可以保证做到端到端地训练整个网络。在 PASCAL VOC 2007, PASCAL VOC 2012, 和 MS COCO数据集上的大量实验表明,RefineDet实现了最先进的检测精度并且有很高的计算效率。
理解:
近年来,在深度神经网络(DNN)的框架下,目标检测取得了显著的进展。目前最先进的DNN探测器可分为两类:(1)两阶段方法和(2)一阶段方法。在两阶段方法中,首先生成一组稀疏的候选对象框,然后对它们进行分类和回归,比如R-CNN系列。两阶段的方法已经在几个具有挑战性的基准测试中取得了优异的成绩,包括PASCAL VOC[8]和MS COCO。一阶段方法通过在位置、尺度和纵横比上规则密集采样来检测目标,比如SSD,YOLO系列。其主要优点是计算效率高。然而,其检测精度往往落后于两阶段方法,主要原因之一是存在类不平衡问题。近年来的一些单阶段检测方法主要是为了解决类不平衡问题,提高检测精度。有利用卷积特征图的对象性先验约束,显著减小了对象的搜索空间。有人通过改进标准交叉熵损失来解决阶级不平衡问题,将训练重点放在稀疏的一组难样本上,并对分类良好的样本的损失降低权重。有人设计了一种最大输出标记机制,以减少由于类不平衡导致的误报。目前最先进的两阶段方法,如Faster R-CNN, R-FCN, FPN比一阶段方法有以下三个优势:
-
使用两阶段结构中使用启发式采样处理类不平衡。
-
使用两阶段级联来回归目标框参数(直观来说就是可以检测两次,将两次结果级联起来)。
-
使用两阶段特性来描述对象(这样提取到的特征泛化性更强,过滤了干扰性特征)