RefineDet详细介绍

版权声明:转载请注明出处,谢谢合作 https://blog.csdn.net/qq_34199326/article/details/84110393

中科院自动化所最新力作,map几乎算是当前最优,在VOC20007测试集上当输入图片512*512时,有81.8%的MAP,速度也有24FPS。

YOLO和SSD系列的单阶段检测算法本质上与RPN网络无异,只不过RPN网络不做多类别预测,只是简单地区分物体和背景。在双阶段方法中,RPN起到的作用是给出Region proposals做出粗糙检测,而对于单阶段算法想一步到位,直接采用”RPN”做出精确预测,因此要在网络设计上做出很多tricks。

RefineDet 是基于SSD算法的改进。继承了两种方法(例如,单一阶段设计方法,两阶段设计方法)的优点,并克服了它们的缺点。它改进了采用单一阶段设计的方法,使用两个相连的模块(见图1),即 anchor 细化模块(the anchor refinement module,ARM)和目标检测模块(the object detection module,ODM)。

图1:RefineDet 网络结构,为了可以更好的可视化,我们仅仅展示了检测所需要使用的层。灰绿色菱形代表和不同的特征层相联系的经过细化的 anchors。星形代表已定义的 anchors 的中心,这些 anchors在图像上并不按照一定规则铺设。

与 SSD相似,RefineDet 基于前馈卷积网络,该网络生成固定数目的边界框和表示在这些框中存在的不同类别目标的分数,通过非最大抑制(NMS)来产生最后的结果。RefineDet 由两个相连的模块组成,即 ARM 和 ODM。ARM旨在移除负样本anchors以便为分类器减少搜索空间,并粗略调整 anchors 的位置和大小,以便为随后的回归器提供更好的初始化结果。 而ODM 旨在根据细化后的 anchors 将结果回归到准确的目标位置并预测多类别标签。为了在 ARM 和 ODM 之间建立链接,我们引入了 TCB(传输连接块)将来自 ARM 的不同层的功能转换为 ODM 所需的形式,以便 ODM 可以共享来自 ARM 的特征。ODM 由TCB 的输出组成,TCB后面连接着预测层,其生成目标类别的分数和相对于细化后的 anchors 的坐标的形状偏移量。TCB传输anchor细化模块中的特征,一边可在ODM中预测目标的位置、尺寸和类别标签。TCB的另一个功能是通过将高级特征添加到传输的特征来继承大规模的上下文,以提高检测的准确性。如图2,为了让他们之间的维度相匹配,我们使用逆卷积操作来增大高级特征图,并把它们的对应元素进行求和。然后,我们在求和之后添加卷积层以确保检测的特征的可辨性。

TCB还将feature map反传,构成类似FPN的效果。

两步级联回归策略来回归目标的位置和大小。也就是说,我们使用ARM 来首次调整 anchors 的位置和大小,以便为ODM 中的回归操作提供更好的初始化结果。具体而言,我们将 n 个 anchor boxes 与特定特征图上的每个规则划分的单元相互关联。每个 anchor box 相对于其对应单元的初始位置是固定的。对于每个特征图单元,我们预测经过细化的 anchor boxes相对于原始平铺 anchors 的四个偏移量以及便是这些框中存在前景对象的两个置信度分数。因此,我们可以在每个特征图单元中生成 n 个细化后anchor boxes。

损失函数如下:

Narm和Nodm分别指的是ARM和ODM中正样本anchors的数目,pi指的是预测的anchor i是一个目标的置信度,xi指的是ARM细化后预测的anchor i的坐标,ci是ODM中预测的bbox的物体类别,ti是ODM中预测的bbox坐标,li*是anchor i真实的类别标签,gi*是anchor i真实的位置和大小。 

猜你喜欢

转载自blog.csdn.net/qq_34199326/article/details/84110393