【论文阅读笔记】Single-Shot Refinement Neural Network for Object Detection(RefineDet)
《Single-Shot Refinement Neural Network for Object Detection》(RefineDet)
- (一)论文地址:
- (二)解决的目标:
- (三)RefineDet 的基本理念:
- (四)双阶段方法的优势:
- (五)RefineDet 的网络架构:
-
- 5.1 转移连接模块:
-
- 5.2 双步骤递进回归:
-
- 5.3 负锚框过滤:
(六)RefineDet 的训练结构:
6.1 特征提取模块:
6.2 数据增强技术:
6.3 Anchors 的设计与匹配:
6.5 正负样本筛选标准:
6.6 损失函数构建:
6.7 优化器配置:
- 7. 实验结果:
(一)论文地址:
该研究提出了一种改进型单步细分子网络(Single-Step Refinement Neural Network),该网络在物体检测任务中表现出色,尤其在提升检测精度方面具有显著优势。该网络通过结合传统神经网络的优势与新型特征提取技术,实现了对目标物体的高效识别与精确定位。该研究发表于《该期刊》,该期刊致力于推动计算机视觉领域的前沿研究,为该领域的发展提供了重要的理论支持与技术参考。该研究的成果已在国际学术界引起了广泛关注,相关研究数据已通过链接(https://arxiv.org/pdf/1711.06897v1.pdf)供研究人员深入探讨。
(二)解决的问题:
对于目标检测领域而言,two-stage方法(如Faster R-CNN)通过精确的目标定位和分类实现了较高的准确率,相比之下,one-stage方法(通过不同位置、不同尺寸和不同比例的密集采样技术,结合分类预测和坐标回归,如SSD)则通过高效检测达到了显著的性能提升效果。
两个网络的详解可以看我的这几篇博客:
目标检测
SSD目标检测算法详解 (一)论文讲解
本论文旨在系统阐述SSD(Selectivity Scaling Dynamic)目标检测算法的基本原理及其在实际应用中的表现。SSD算法作为一种基于单片机的实时目标检测技术,因其高效性和低功耗特点而受到广泛关注。与传统基于深度学习的目标检测方法相比,SSD算法在计算资源受限的环境依然能够保持较高的检测精度。论文将详细解析SSD算法的核心组件,包括特征提取模块、目标候选生成机制以及多尺度检测框架。通过理论推导和实验验证,本文旨在揭示SSD算法在目标检测任务中的独特优势。
首先,论文将介绍SSD算法的基本架构。该算法基于多级金字塔特征图,通过自适应尺度调整机制实现对目标的多尺度检测。与传统方法不同,SSD算法采用分层特征融合策略,能够在保持检测速度的同时显著提升检测精度。其次,论文将深入探讨SSD算法在目标候选生成阶段的创新设计。通过动态调整候选框的尺寸和数量,该算法能够有效抑制误检率,同时保持较高的检测效率。最后,论文将重点分析SSD算法的多尺度检测框架。该框架通过构建多个不同尺度的特征图并进行联合检测,能够实现对目标的全面识别。通过实验结果可以看出,SSD算法在实际应用中展现出优异的性能。
本文深入解析了SSD(单阶段检测器)的目标检测算法,并详细阐述了其在实际应用中的具体实现细节。通过多层神经网络模型构建,该算法能够高效提取图像特征并完成目标识别任务。在代码实现部分,我们详细解释了各个关键组件的原理及工作流程,同时提供了完整的代码实现,便于读者理解和学习。
该文引入了 RefineNet,相比 two-stage 策略,该方法在准确率上有所提升,同时保持了检测效率。
(三)RefineDet 的核心思想:

RefineDet 的核心是提出了两个相互连接的模块:
ANS hor refine module(简称ARM),主要功能是:
1.1 通过去除预选框(anchor)中的负样本,有效降低分类器(classifier$)的搜索范围;
1.2 对正样本进行粗略位置和尺寸调整,为后续回归预测提供良好的初始条件。

object detection module(简称ODM),其功能是:接收经过筛选的正样本作为输入,并预测其对应区域的边界坐标;识别正样本所属的类别标签。

具体而言,anshor refine module 涉及 faster-rcnn 的 RNP 过程,该模块负责处理正样本提取和初步预测的调整,从而提升后续预测和回归的准确性,并有效降低计算开销;而 object detection module 则专注于优化预选框坐标的进一步调整,并完成目标的分类预测。
该方法借鉴了SSD的架构,通过不同尺度的感受野提取特征层,以分别定位不同尺寸的目标。
(四)two-stage 方法的优势:
该 two-stage 方法通常会首先生成粗略定位的坐标框,随后进行更细致的分类分析和坐标校准。

这样做有三个优势:
通过欠采样策略有效平衡了负样本与物体分类的不均衡问题;
通过two-stage连级预测方法,能够显著提升检测框回归坐标的精度;
通过two-stage的特征提取方法,能够更精准地描述目标特征。
因此,该系统采用了one-stage方法,通过识别负样本并生成候选框的初步预测。同时,该系统内部的两个相互连接的模块协同工作,以充分发挥two-stage的优势。
DSSD理论的提出,通过反卷积操作将深层特征图与浅层特征图进行融合,有效提升背景信息的丰富性,同时更有效地进行特征提取,从而显著提升小目标检测的准确性。

论文阅读笔记
论文阅读笔记
论文阅读笔记
论文阅读笔记
在该理论框架下,作者提出了transfer connection block(简称TCB),从而更有效地利用深层特征图,并为ODM(One-Dimensional Multi-scale)的高精度预测任务提供支持,并进一步提取和转换特征信息。
(五)RefineDet 的网络结构:

5.1 Transfer Connection Block:
基于DSSD理论的指导,作者构建了 transfer connection block(TCB),搭建了连接ARM和ODM的桥梁,并实现了将ARM特征转换为ODM输入格式的必要条件。
TCB 的另一个主要功能是通过反卷积操作将深层特征融合到浅层特征中,从而提升了检测的准确率。

5.2 Two-Step Cascaded Regression:
Two-Step Cascaded Regression(两步联级回归)旨在通过逐步优化目标坐标框的回归精度,提升现有单阶段方法的定位效果。
目前 one-stage 方法用于目标坐标框回归,通常基于不同尺寸的特征图,并采用不同尺寸的锚框来估计坐标和目标尺寸。该方法在复杂场景和检测小型物体时的准确率较低。

作者首先通过 ARM 优化 anchors 的位置和大小,以改善 ODM 的初始条件。
在ARM中,假设特征图上每个采样点(cell)有n个anchor boxes,每个anchor box的初始位置对应特征图上的采样点都是固定的;基于此,我们在预测特征图上每个采样点时,推导出4个相关的粗定位坐标,同时预测两个置信度得分(表示是否为目标或背景),这样,每个采样点推导出n个 refined anchor boxes。ARM方法在特征图上采样点推导出 anchor boxes,每个 anchor box 的初始位置对应特征图上的点都是固定的。通过这种方法,每个 anchor box 可以推导出 4 个相关的粗定位坐标,用于判断是否为目标或背景。
在 ODM 中,我们将 n 个 refined anchor boxes传入相应的特征图中,对每个 refined anchor box,使用 3×3大小卷积核的卷积层作为预测层,生成 c 个类别得分和 4 个精确的回归坐标值(这一步跟SSD的预测过程非常像);
5.3 Negative Anchor Filtering:
为了减轻正负样本分类不均衡的问题,作者主要通过设计负样本的过滤机制,筛选出置信度较高的负样本。
在训练阶段中,当某个样本的背景置信度超过预设的阈值 θ(设定 θ=0.99),则禁止将该样本(anchor)纳入 ODM 的训练过程中。
具体来说,我们筛选出置信度较高的正样本实例以及难以区分的负样本实例,并将这些样本用于ODM的训练过程。
(六)RefineDet 的训练结构:
6.1 特征提取网络:
在特征提取网络方面,通常情况下,我们会通过移除分类层并添加额外结构来构建基础网络。例如,在ImageNet上预训练的包括VGG-16和ResNet-101等模型。
6.2 数据增强:
该方法通过随机填充操作、随机裁剪操作和随机翻转操作的有效手段,使模型的鲁棒性得到显著提升。
6.3 Anchors 的设计和匹配:
为了匹配不同尺寸的目标,RefineDet 采用了四种不同步长的特征层,分别为8、16、32和64像素大小,对应 anchor boxes 的大小(每层的 anchor box 大小为其步长的4倍),此外,这些 anchor boxes 采用的长宽比分别为0.5、1.0和2.0。
在对 anchors 进行标签匹配时,将与真值框的 anchor 的 IOU>0.5 归入相应的类别;
6.5 正负样本的筛选:
基于即使采用 ARM 初步分类正负样本,负样本的比例显著高于正样本的比例;
为了解决正负样本比例失衡的问题,在训练过程中,选择具有最大损失值的负样本,使负样本数量与正样本数量的比值α保持在小于3:1的范围内,而非仅使用全部的负样本。
6.6 Loss 函数:
RefineDet 的 Loss 函数由两部分组成:ARM 的 Loss 和 ODM 的 Loss;
定义 Loss 函数如下:

其中:
- 在 mini-batch 中,i 表示 anchor 的索引位置;
- 在 anchor 处,l_i^* 代表真实分类标签;
- 目标的真实坐标和真值框的大小由 g_i^* 表示;
- ARM 中 anchor 的前景/背景置信度由 p_i 给出;
- ARM 中 anchor 的初步坐标预测值为 x_i;
- ODM 中分类和坐标的预测值分别为 c_i 和 t_i;
- ARM 和 ODM 中正样本的数量分别为 N_arm 和 N_odm;
- L_b 采用二分类交叉熵损失函数作为评估标准;
- L_m 则使用多分类的 softmax 损失函数进行评估;
- 坐标值的平滑 L1 损失由 L_r 表示。
6.7 优化器:
这里使用均值为0的高斯随机分布做为参数的初始化;
使用带有动量项(momentum=0.9)的SGD(随机梯度下降法)作为优化器;
使用系数为0.0005的 weight decay;
初始 learning rate 为 10^{-3},并使用了 learning rate decay;
最后使用 NMS(非极大值抑制)出去重叠的预测框;
7. 实验结果:


