Advertisement

RefineDet(Single-Shot Refinement Neural Network for Object Detection)论文笔记

阅读量:

The Single-Shot Refinement Neural Network for Object Detection, as introduced in Single-Shot Refinement Neural Network for Object Detection, represents a novel approach in the field of computer vision. This innovative methodology enables efficient and accurate object detection by integrating advanced feature refinement techniques into a compact neural network architecture. The model's ability to achieve high performance with reduced computational resources makes it a significant advancement in modern object detection systems.

代码链接:RefineDet代码

摘要:

对于目标检测任务而言,在现有研究中两阶段方法(例如Faster R-CNN)取得了显著的分类精度记录。相比之下,在计算效率方面一阶段方法(如SSD)更具优势。为了融合这两种方法的优点并规避各自的缺点,《该论文提出了一种新型基于一步式的检测器RefineDet》,其不仅在分类精度上超越了现有的两阶段方法,并且保持了与一阶段方法相当的计算效率。该检测器由两个相互关联的部分组成:首先是锚框优化模块与目标检测模块。具体而言第一部分的目标包括(1)去除负的锚框以缩减分类器搜索空间;(2)粗略调整锚框尺寸和位置以便为后续回归提供更好的初始化条件;第二部分则以第一部分优化后的锚框作为输入进一步提升回归精度并实现多类别标签预测;此外还设计了一个转换连接块用于将第一部分优化过程中生成的特征转换至目标检测模块用于精确定位目标的位置及其尺寸与类别标签等信息。同时该多任务损失函数设计旨在实现端到端网络的整体优化过程以最大化检测性能并降低计算开销等指标。经过大量实验验证在PASCAL VOC 2007 PASCAL VOC 2012以及MS COCO等数据集上的测试表明RefineDet不仅达到了当前最优的分类精度水平而且在计算效率方面表现优异。

理解:

近年来,在深度神经网络框架下进行的目标检测已经取得了显著进展。目前最先进的基于深度神经网络的目标探测器可大致分为两类:(1)基于两阶段的方法与(2)基于单阶段的方法。在基于两阶段的方法中,首先生成一组密集但稀疏的对象候选框,随后对这些候选框进行分类与回归操作,例如R-CNN系列算法就是此类方法的代表之一。经过实验验证,两阶段的方法已经在多个具有挑战性的基准测试集中取得了优异表现,例如PASCAL VOC[8]、MS COCO等基准测试集均展现了较高的性能水平。相比之下,基于单阶段的方法通过在位置、尺度以及长宽比上进行规则化密集采样来实现目标检测,例如SSD、YOLO系列算法即是此类方法的主要代表。这类算法的优点在于计算效率较高,然而其检测精度往往低于基于两阶段的方法,主要原因之一是存在类别不平衡问题。近年来针对这一挑战而提出的单阶段检测算法旨在通过提高检测精度来弥补这一不足。这些改进型算法主要采用了以下两种策略:一是利用卷积特征图中的对象先验信息来缩减搜索空间;二是通过改进标准交叉熵损失函数的形式,将训练重点集中在少数具有代表性的难样本上,并对分类效果较好的样本赋予较低的损失权重;三是引入最大输出标记机制以减少由于类别不平衡导致的误报现象。值得注意的是,尽管如此,R-CNN系列等基于两阶段的方法仍然在多个领域中占据着领先地位

使用两阶段结构中使用启发式采样处理类不平衡。

采用双阶段级联机制以估计目标框参数(其核心思想在于能够进行两次检测,并将两次检测结果连接起来)

采用两阶段特性来描述对象(通过这种方式提取得到的特征具有更强的泛化性,并剔除了干扰性特征)

这篇论文中提到作者提出了一种融合两种方法优势并弥补各自不足的新方案以实现RefineDet目标。该研究基于两个相互关联的模块(如图1所示)即锚框精炼模块(ARM)和目标检测模块(ODM)对前期方法进行了系统重构以优化整体架构。

具体来说,在ARM设计中:(1)去除负面锚定(anchors),缩减分类器搜索范围;(2)微调锚点的位置及其尺寸,并为后续回归器提供良好的初始化条件。ODM采用改进后的锚作为输入数据,在此基础上进一步优化回归性能以实现多类别目标标签识别功能。此外,在两个相互作用的模块中模仿了两阶段网络架构的特点,并继承前述优点以生成高效检测结果。作者引入了一个传输连接块(TCB),将ARM提取的关键特征传递给ODM模块使用,并能够定位目标的位置信息及其尺寸,并推断出目标类别信息。为了实现多任务学习效果作者设计了一个端到端可训练的整体架构并开发了一个多任务损失函数以指导整个网络的学习过程。通过系统性的实验研究RefineDet算法在PASCAL VOC 2007、PASCAL VOC 2012以及MS COCO基准数据集上均表现优异其在VGG-16网络支撑下分别在VOC 2007年和VOC 2012年达到了85.8%和86.8%平均精度水平并且其运行效率也很高能够在NVIDIA Titan X GPU上实时处理速度达40.2 FPS及更高并且支持不同尺寸(如输入图像分别为)的目标检测任务

320imes 320

512 imes 512

。论文的主要贡献概括如下:

开发了一种创新的一阶段目标检测系统,在这一系统中包含两个相互关联的部分:ARM和ODM。该系统不仅保证了单阶段方法的高度效率,并且在性能方面超越了双阶段方案。

为了确保其有效性和可靠性, 我们开发了一种称为TCB的技术方案, 专门用于传递ARM架构的关键特性. 这种方法旨在应对复杂度更高的任务需求, 即, 通过ODM系统能够准确预测目标的位置尺寸及其类别标签.

RefineDet通过一系列目标检测任务展示了卓越的表现(PASCAL VOC 2007、PASCAL VOC 2012、COCO)

网络架构:

一、TCB( transfer connection block):

如图所示,在第一页中可以看到整个架构设计主要包括三个关键组件:ARM控制器、ODM优化模块以及TCB通信协议。具体来说包括三个核心组件:ARM(先进 Rome 处理器)、ODM(优化设计模块)以及TCB(通信协议块)。其中重点介绍的是TCB模块。

从观察得知

二、Two-Step Cascaded Regression

目前的研究阶段方法基于不同的特征层依据不同的尺度采用了分步回归的方式一次性完成对预测对象位置与尺寸的估计,在应对具有挑战性的情景时表现欠佳尤其是针对小目标物体存在明显局限性为此提出了一种分步回归策略以优化目标定位与尺寸估计的过程具体实施步骤如下:首先利用ARM进行锚框调整以优化初始化配置即每个单元格管理n个预先设定的锚框位置与尺寸这些预设 anchors 在各自单元格内的初始位置固定不变随后通过计算得到各精修 anchors 相对于原始固定基准点 的四维偏移向量以及二维置信度评分针对每个精修 anchors 生成c类概率值及四维偏移信息实现整体检测任务该流程在本质上类似于SSD算法中所采用 的默认基准 anchor 的作用机制然而不同之处在于RefineDet采用了两阶段策略即第一阶段利用 ARM 得到精确化的 anchor 基础第二阶段将这些细化后的 anchor 作为ODM 的输入参数从而进一步提升检测精度特别是在小目标物体检测方面表现更为突出

三、Negative Anchor Filtering

将锚框划分为两类,在图像识别任务中占据重要地位的是正负两类锚框的概念。具体而言,在一副图像中通常会遇到类别失衡问题:即相对于目标物体所占区域面积而言背景区域占据的比例远高于前者;这会导致未包围目标区域存在的大量负锚框数量远超包围目标区域存在的正锚框数量;从而使得模型在训练过程中难以稳定收敛或出现发散现象。针对这一问题设计了一种基于置信度阈值θ(论文中θ设定为 0.99)的负锚过滤机制;其基本逻辑是在训练阶段仅保留置信度低于该阈值的所有负锚箱作为候选样本;而对于那些即使判断结果仍倾向于负面但仍具有较高置信度的对象则予以剔除;这不仅有助于减少不必要的计算开销还能有效提升模型的整体检测性能;在推理阶段也采用相同的筛选标准:即若某精修后的负靶心置信度超过θ则会在检测过程中将其排除在外

四、Backbone Network

在RefineDet架构中采用VGG-16与ResNet-101作为主干网络,并且这些模型已在ILSVRC CLS_LOC数据集上进行了预训练。此外,在其他已被预训练过的网络上也能运行RefineDet系统架构设计中保留了一些关键组件以实现跨分辨率特征表示。类似于DeepLab-LargeFOV的设计理念通过调整下采样参数的方式,在卷积层中实现了对VGG-16的fc6和fc7层的转换以适应不同分辨率的需求为了使这些特征能够被有效融合并在反向传播过程中采用了L2归一化方法并将这些特征分别缩放到对应的尺度值(分别为10和8)。值得注意的是 这些层(conv4/3 和 conv5/3)与其他层相比具有不同的特征尺度 因此为了避免信息丢失 在反向传播过程中采用了L2归一化方法 并将其缩放到相应的尺度值(分别为10 和 8)。在这个过程中 初始时给定的比例因子是固定的 然而通过神经网络的学习过程 可以自动优化并调整这些比例因子使得最终输出结果更加稳定可靠

五、数据增强(Data Augmentation)

随机边缘填充和裁剪原始训练图像,加上额外的随机光照变化和翻转。

六、Anchors Design and Matching

为了应对不同尺寸的目标检测需求,在选择VGG-16与ResNet- 101网络时,默认提取了四个不同的特征层,并设置了相应的采样间隔即步长为8、16、32及64个像素单位。这些设置不仅有助于捕捉多层次的空间信息,在预测阶段还被整合成多级别的锚框(anchor)以提高检测精度。此外,在每个所选特征层上都配备了固定尺度的锚框(其尺寸为对应步长值的四倍),并且采用了三种不同的比例设置来进一步优化检测效果。

1:1,1:2,2:1

,以

512imes 512

大小图像为例,四个特征图的大小为

512/8=64, 512/16=32, 512/32=16, 512/64=8

,每个特征图对应anchor的尺度分别为32,64,128,256。

七、Hard Negative Mining

完成匹配过程后,在ODM框架中存在绝大多数锚框呈现为负值状态的情况,并且其中一些简单的负面锚框未被采用。为了缓解极端前景与背景类别不平衡的问题,在论文研究中我们采用了难负面样本挖掘技术。具体而言,在损失计算过程中我们重点关注了那些损失最大的负面锚框(因为这些样本的表现能力较强但仍有待进一步优化),而相对那些损失较小的负面锚框则表明模型已经较为完善地学习到了相关的特征)。通过优先选择表现力强且仍有提升空间的负面样本来进行平衡处理,在实验结果中我们观察到最终使得负面影响与正面影响的比例降至低于3:1的状态。

八、Loss Function

本节内容包括两个主要部分:一是基于ARM的设计方案;二是基于ODM构建的方法框架。每个模块内部又包含两个子模块:一个是用于计算类别损失的部分;另一个则是用于计算定位信息的模块。其中一部分用于计算类别损失的方法是二进制交叉熵损失函数(用于判断输入是否为前景或背景即二分类任务);另一部分采用的是softmax多分类损失函数(用于处理具有多个类别的情况即多分类任务)。需要注意的是

g^{*}_{i}

该作者认为锚框i的真实位置及其尺寸即是其特征点。
这种表述不够精确,
用于计算损失,
通常情况下,
我们采用将真实标注与预测结果进行对比的方法来计算损失,
而不是直接使用锚框。
为了更好地理解这篇论文,
需要明确区分论文中正样本、负样本以及真实标注的概念与各自的作用。
其中,
负样本通常是与目标无关的对象。

IOU

小于某个阈值的anchors,正样本相反。但是和目标

IOU

大于某个阈值的anchors就能用来计算损失?不能,所以

g^{*}_{i}

应该是正样本经过真实标注纠正过的anchors。

实验结果:

全部评论 (0)

还没有任何评论哟~