Object Detection:One-stage Detector SSD

继上一篇文章Object Detection: One-stage Detector DenseBox,我们了解到一种类似于分割的训练风格(segmentation-like training procedure),通过真值生成(Ground Truth Generation),来引导模型对人脸、汽车等目标的检测。单阶段模型常常遇到的一个问题就是样本平衡(Sample Balance),DenseBox给出了相应的解决思路,如设定忽视区域(Ignoring Grey zone),难例挖掘(Hard negative mining),随机截取(Random Crop)等方式。当然,该模型还有一个亮点在于采用多任务训练的方式,不仅包括检测框分类与定位分支,还加入了关键点定位分支(Landmark localization)来显式(explicit)、隐式(implicit)地调整(refine)模型的检测结果。下面,要给大家带来的是极具里程碑意义的单阶段目标检测器系列的第三篇,SSD。
YOLO -> DenseBox -> SSD -> YOLO v2 -> Retina -> YOLO v3 -> CornerNet -> CenterNet -> AlignDet

SSD: Single Shot MultiBox Detector
论文地址:1512.0232

1. 背景介绍

从解耦(disentangle)的角度,两阶段检测器在解决目标检测问题上有了较好的诠释。以Faster-RCNN为例,首先使用区域提议生成网络(Region Proposal Network, RPN)生成可能包含目标的区域,这一过程包括区域提议的生成(hypothesize bounding boxes),特征/像素重采样(feature/pixel resample),检测框回归(bounding box regression);接着选用高质量的分类器(high quality classification)对生成的区域提议(proposals)进行分类,同时进行二次检测框回归,得到最终的检测结果。得益于其较好的性能表现,遵循这种模式(pipeline)的检测器在当时目标检测的基准数据集(benchmarks)上非常火热,如PASCAL VOC,COCO,和 ILSVRC detection。然而,由于两阶段模型存在大量计算(computationally intensive),在实时应用(real-time application)上的速度可能达不到预期。

虽然有许多工作致力于提升两阶段模型的检测速度,但是最终的结果是通过牺牲精度的方式,没有很好的做到速度与精度的权衡(trade-off)。所以作者提出SSD(single shot detector),通过撤去(eliminate)区域提议生成与特征重采样,来提升模型的检测速度,同时通过其它手段,例如使用更小的卷积核,使用不同尺度的特征分别预测不同尺寸的目标,来确保模型的检测性能。(原文链接1)

原文链接1: Our improvement include using a small convolutional filter to predict object categories and offsets in bounding box locations, using separate predictors (filters) for different aspect ratio detections, and applying these filters to multiple feature maps from the later stages of a network in order to perform detection at multiple scales.With these modifications — especially using multiple layers for prediction at different scales — we can achieve high-accuracy using relative low resolution input, further increasing detection speed.

最终,论文的贡献如下:

  • 达到单阶段检测模型最佳性能(state-of-the-art,SOTA),同时也不弱于耗时较大但准确率较高的两阶段检测模型
  • SSD的核心是使用小卷积核去预测默认设定好的检测框(a fixed set of default bounding boxes)的类别分数及检测框偏移(offset)
  • 使用多个尺度的特征图去检测多个尺度的目标,如使用浅层的特征图去检测小尺度目标,用深层的特征图去检测大尺度目标
  • SSD的这种设计不仅能够端到端训练(end-to-end),尤其输入低分辨率图片,还能保持较高的性能表现,进一步改善了速度与准确度之间的权衡
  • 通过大量实验对输入不同大小图片的预测时间(timing)和准确率(accuracy)进行分析,并与过去SOTA方法进行对比。

(补充:这篇论文的第四部分Related Work 总结的不错,有兴趣的可以看看,有助于了解当时SSD提出时的背景~)

2. 模型介绍

作者在论文的摘要中,非常简练的概括了SSD的思想:SSD通过给不同层的特征图的每个位置设定不同尺寸(scale),不同长宽比(ratio)的固定检测框(用Faster-RCNN的说法就是anchor),以将输出空间(output space)进行离散化(discretize)。在预测阶段,SSD为每个固定检测框生成对应的类别分数,并生成检测框偏移(offset)使得检测框能够更好的匹配(match)目标。不仅如此,SSD还为不同尺寸的目标训练不同的检测器,使得模型能够充分利用各层的特征。(原文链接2)

原文链接2: Our approach, named SSD, discretizes the output space of per feature map location. At prediction time, the network generates scores for the presence of each object category in each default box and produces adjustments to the box to better match the object shape. Additionally, the network combines predictions from multiple feature maps with different resolutions to naturally handle objects of various sizes.

下面我们来详细介绍SSD模型。

2.1 SSD的核心思想

在这里插入图片描述
上图便是SSD的核心思想:图a展示了训练SSD所需要的输入:输入的图像以及目标的标注(ground truth boxes)。图b、c 展示了SSD为不同尺寸的特征图的每一个位置设定不同尺寸与长宽比的先验框(anchors)。图c展示了SSD为每个先验框作出的预测:所有类别的置信度(confidence) ( c 1 , c 2 , . . . , c p ) (c_1, c_2, ..., c_p) (c1,c2,...,cp),边框偏移(shape offset) △ ( c x , c y , w , h ) \triangle(cx, cy, w, h) (cx,cy,w,h)。在训练的过程中,首先需要将这些先验框与标注的检测框进行匹配:图b的两个蓝色先验框与图a蓝色标注的检测框匹配,图c的红色先验框与图a红色标注的检测框匹配。匹配的先验框定义为正样本(positive),对于没有匹配成功的检测框,则定义为负样本(negative)。在预测过程中,需要采取非极大值抑制(non-maximum suppression, NMS)筛选得到最后的结果。整个模型的损失(loss)是定位损失(Smooth L1)与置信度损失(Softmax)的加权和。

2.2 网络设计

模型可大致分为:骨干网络(backbone/base network),辅助结构(auxiliary)。
在这里插入图片描述

  • 基准/骨干网络 (base Network / backbone)
    基于VGG-16,在ILSVRC CLS-LOC 数据集上预训练,作者将VGG-16的全连接层FC_6 (FC-4096) 和 FC_7 (FC-4096) 转化成3x3的卷积层Conv_6 和 1x1的Conv_7,同时将Pool_5 (FC_6前的maxpool) 从原来2x2-s2变成3x3-s1 (核的大小由2变3,步长由2变1)。为了保持特征图不变小的情况下仍能有下采样后的感受野,Conv_6采用了一种Atrous Algorithm,简单来说就是采用了空洞卷积 (Dilation Conv),在不增加参数与模型复杂度的条件下指数级扩大卷积的视野。空洞卷积使用扩张率(dilation rate)参数来表示扩张的大小,如下图所示(图自小小将)。最后再移除dropout层和全连接层FC_8,构成基准网络。模型使用初始学习率为 1 0 − 3 10^{-3} 103进行随机梯度下降(SGD),动量(momentum)为0.9, 权重衰减系数(weight decay)是0.0005,批大小(batch-size)是32。不同数据集使用的学习率衰减不一样,详见实验部分。

在这里插入图片描述

下面来看辅助结构,也就是下图中Extra Feature Layers部分:
在这里插入图片描述

  • 新添加的卷积层采用xavier的方式进行初始化 。Conv4_3作为用于检测的第一个特征图,由于该层靠前,特征图上特征值的范围与其它检测层的差异较大,所以在后面添加了一个L2 归一化层(Normalization Layer)对每个像素点在channel维度做归一化,以确保该层和后面层的差异不会太大。归一化后一般设置一个可训练的放缩变量gamma(l2_norm*gamma)。
  • 使用了多个尺度的特征图进行预测:从上图可以得知,SSD300(输入图片大小为300x300) 使用了Conv4_3 (38x38)、Conv7 (19x19)、Conv8_2 (10x10)、Conv9_2 (5x5)、Conv10_2 (3x3)、Conv11_2 (1x1)的特征图对不同长宽比和尺寸的目标分别预测,即相当于训练了多个检测器。SSD512(输入图片大小为512x512)在上图的基础上额外增加了Conv12_2进行预测。
  • 使用小卷积核生成每个位置的预测结果(置信度与偏移):假设特征图的尺寸为 m ∗ n ∗ p m*n*p mnp,则卷积核的尺寸为 3 ∗ 3 ∗ p 3*3*p 33p,每个卷积核分别负责输出一个置信度或者一个边框偏移变量。正是因为这种卷积预测的方式,卷积核在每个位置上的输出都是与该位置的先验框相关的(原文链接3),所以可以输出各个先验框对应的置信度以及边框偏移。下图可视化了该过程(图来自小小将)。
    在这里插入图片描述
  • 先验框的设置:SSD为Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2这些层的特征图的每一个位置(cell)设定了一组先验框,这组框可由尺寸(scale)与长宽比(ratio)计算出来,而不同层的尺寸范围是不一样的。假设为特征图每个单元设定 k k k个先验框,则每个单元需要 ( c + 4 ) k (c+4)k (c+4)k个卷积核,则 m ∗ n m*n mn的特征图的输出为 m ∗ n ∗ ( c + 4 ) k m*n*(c+4)k m
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "few-shot object detection with attention-rpn and multi-relation detector" 是一种使用注意力机制的少样本目标检测方法。它通过使用 Attention-RPN(Region Proposal Network)和 Multi-Relation Detector 来实现对目标的检测。 Attention-RPN 可以在提议区域中识别关键部位,而 Multi-Relation Detector 则可以在少量样本中识别目标并定位它们。这种方法在训练和测试时都需要少量样本,因此可以减少模型的训练时间和资源消耗。 ### 回答2: 随着人工智能技术的不断发展,目标检测的研究也得到了越来越多的关注。其中,Few-shot object detection with attention-rpn and multi-relation detector是目前在目标检测领域上的一个最新研究成果。那这个算法是什么呢? 针对目前目标检测领域中的一大难点——少样本学习,此研究提出了一种基于RPN(region proposal network)和注意力机制的多关系检测算法,使得模型只需使用少量的训练数据,就能在未见过的类别中达到较高的检测准确率。 具体来说,该算法通过在RPN中引入注意力交互模块来提供精细的检测区域,同时通过设计多组关系特征提取器,能够有效处理不同目标类别之间的相互关系。在训练阶段,该算法将训练数据集划分为meta-train和meta-test集合,然后在较小的meta-train集合中学习关系特征提取器和注意力交互模块,最后在meta-test集合的未知类别中进行目标检测。 综合以上基本思路,该算法通过引入注意力机制和多关系特征提取器来实现Few-shot object detection。该算法在目前的Few-shot目标检测基准测试数据集上进行了实验证明,实现了较高的检测准确率,在很大程度上解决了少样本学习的问题。未来,这个技术还需要进一步实践和推广,使得得到更广泛的使用。 ### 回答3: 本文介绍了一种基于注意力机制RPN(Attention-RPN)和多关系检测器(Multi-Relation Detector)的小样本目标检测技术(Few-shot Object Detection)。该技术可以利用预训练的模型来辅助小样本检测任务,并可以适应新的目标类别。 本文中的Attention-RPN是一种针对小样本学习的改进版本,它可以通过选择性的关注训练数据中的重要区域来提高小样本的性能。同时,Attention-RPN还可以利用先前训练模型的知识来指导小样本的训练过程,从而提高检测结果的准确性。 而多关系检测器则是一种可以检测目标之间关系的模型。通过学习目标之间的关系,可以更好地理解图像中的场景,并且可以更准确地定位和分类目标。本文中的多关系检测器采用了一种新的模型结构,其中用到了一种称为Transformers的自注意力机制,它可以自适应地聚焦于任务中的关键区域,从而提高检测性能。 在实验中,本文采用了COCO、VOC和miniImagenet等数据集进行测试。结果表明,本文所提出的Few-shot Object Detection技术可以在少量样本的情况下取得好的检测结果。同时,Attention-RPN和Multi-Relation Detector也能分别提高小样本和多样本的检测性能,证明它们是十分有效的模型改进方式。 综上所述,本文提出了一种新的小样本目标检测技术,并通过Attention-RPN和Multi-Relation Detector的改进来提高检测性能。该技术对于具有高效率和精度要求的目标检测任务具有十分重要的意义,可能对未来的计算机视觉研究和工业应用产生积极的影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值