【论文学习】A Survey of Deep Learning-based Object Detection-基于深度学习的目标检测综述

本文主要是介绍【论文学习】A Survey of Deep Learning-based Object Detection-基于深度学习的目标检测综述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

A Survey of Deep Learning-based Object Detection

基于深度学习的目标检测综述


原文:https://arxiv.org/pdf/1907.09408.pdf

Abstract

【目标检测】是计算机视觉最重要和具有挑战性的分支之一,广泛应用于监控安全,自主驾驶等。 对于检测任务,深度学习网络的飞速发展,给目标检测器性能带来极大的提升。
目标检测的目的:定位某类的语义对象。

1.分析现有典型检测模型的方法并描述基准数据集。
2.对各种目标检测方法的提供全面系统地概述,涵盖one-stage 和 two-stage 探测器。
3.列出了传统和新的应用。对目标检测的一些代表性分支也一并分析。
4.讨论利用这些目标检测方法的体系结构,以建立有效和高效的系统。
并为更好的跟进最新算法及进一步的研究,指出发展趋势。

I. 介绍

• 两类目标检测器

【two-stage 】 如 Faster R-CNN
【one-stage 】 如 YOLO, SSD

• 贡献

(1)
(2)
(3)

II. BACKBONE NETWORKS

Backbone network作为目标检测任务的基础特征提取器,将输入的图像转换为相应的特征图。
对于精度和速度的不同的需求,可选的backbone有 ResNet [11], ResNeXt [17], AmoebaNet [18] or lightweight backbones like MobileNet [19], ShuffleNet [20],
SqueezeNet [21], Xception [22], MobileNetV2 [23].

III. TYPICAL BASELINES

A. Two-stage Detectors

1. R-CNN

第一个基于CNN的物体检测方法R-CNN。Ross Girshick et al.提出。在数据集 PASCAL VOC上应用,而不是在像HOG特征之类的简单系统上。深度学习方法在物体检测领域被验证更加的高效。

R-CNN包含四个模块。第一个模块产生种类独立的区域建议。第二个模块在每一个区块建议的基础上提取一个修正长度(4096维)的特征向量。第三个模块是一系列的特殊线性SVM分类器,用来将每张图像中的物体分类。最后一个模块是一个bounding-box回归器,用于准确的预测bounding-box。

从图像分类到物体识别,想要达到快速收敛的一个方法是:在ImageNet classification dataset上预训练CNN。最后的全连接层用 the CNNs ImageNet specific 1000-way classification layer代替。然后在变形的建议窗口使用SGD精确调整CNN参数。

正负样本的确定:proposal boxes 和ground-truth boxes的IoU值低于0.3的定义为负样本,超过0.5的定义为正样本。

2. Fast R-CNN

Ross Girshick et al.一年后提出Fast R-CNN。 R-CNN完成的是一个前向的ConvNet并且没有共享计算结果,并在SVMs分类中花费了很长时间。Fast R-CNN从整张图中提取了特征,并传到RoI pooling层获取修正大小的特征作为接下来分类和bounding box回归的输入。这样,特征只需要提取一次,并传送到了CNN用于分类和定位,这节省了大量CNN计算时间和很大的硬盘存储。

R-CNN的训练是一个多阶段的处理:pre-training stage, fine-tuning stage, SVMs classification stage and bounding box regression stage。Fast R-CNN是一个阶段的end-to-end的训练处理,在每个标记的RoI上联合训练分类和定位是采用多任务损失的方法。

Fast R-CNN的 另一个提升采用了RoI pooling层从region proposals提取修正大小的特征图。而R-CNN中的region proposals有不同的大小。这个操作不需要为变形区域保留空间信息。为了更快检测,作者采用了截断的SVD,这加速了全连接层计算的前向通过。

在 PASCAL VOC 2007数据集上,mAP从66.0%提升到66.9%;训练时间从84个小时降低到了9.5个小时;测试效率因为截断SVD从47秒提升到0.32秒,快了213倍。(测试平台 Nvidia K40 GPU)

3. Faster R-CNN

三个月后,基于区域的CNN基线提出,即Faster R-CNN。Fast R-CNN对于建议的RoI采用选择性搜索,这种方式很慢,并且与检测网络需要相同的时间。Faster R-CNN用一种新的RPN(region proposal network)代替它。这种新的RPN是一种全卷积网络,可以有效地预测建议区域,这种建议区域有着广泛的尺寸和宽高比例。它加速了建议区域的产生,并且分享了全图的卷积特征和一些通用的卷积层。

对于不同尺寸物体的检测,另一个新的方法是采用多尺寸的anchors作为推理依据。这种anchors不需要输入图像或者特征的多个尺寸,就可以更大的简化错尺寸建议区域的产生。

在最后共享的卷积层的输出上,采用了一个3*3的滑动窗口,每一个特征窗口的中心点与原始图像上的一个点相关,这个点就是K个anchor boxes的中心点。作者设置了3个不同尺寸和3个不同矿高比的anchor boxes。通过测量预测box和ground truth box之间的距离,来优化预测box的位置。

实验证明Faster R-CNN在精度和效率上都得到了很大提升。 在 PASCAL VOC 2007数据集上,mAP从66.9%提升到69.9%;整个训练时间降低了10倍(从1830ms降到198ms);处理效率从0.5帧达到了5帧。

4. Mask R-CNN

Mask R-CNN是Faster R-CNN的一项扩展工作,主要应用在分割任务中。葫芦哦增加的平行mask分支,它可以看做更精确的物体检测。 与Faster R-CNN相比, Mask R-CNN从两个方面提升了精度。

第一方面,增加了FPN(Feature Pyramid Network)。FPN包含了一个 bottom-up和 top-down并从侧面链接。 bottom-up通道是一个backbone ConvNet,它计算了一个特征层次结构,其中包含了以2为倍数的几个尺寸的特征图。 top-down通道通过简单特殊的上采样(语义更强,更高金字塔层的特征图)处理高分辨率的特征。这种特征金字塔网络提供了重要的特征信息:高分辨率的特征图检测小物体,低分辨率的特征图在语义信息中更丰富的检测大物体。

第二方面, 用RoIAlign代替RoI Pooling。传统的RoI Pooling在两个地方量化浮点数来获取近似的特征值。一是用在了每个RoI特征图中计算位置信息,二是在将RoI特征图分成大小相同的小格子的过程中用到了量化操作。这两次量化操作引起了RoI和提取特征的不对齐问题。

RoIAlign首先在每个RoI特征图计算浮点位置时,采用双线性插值的方法,在每个小格子中的四个定期采样位置计算提取的特征值。然后使用最大或者平局池化来获取每个格子的值,并聚合所有结果。

实验证明,在MS COCO数据集上,采用Resnet-FPN提升了1.7点的box AP, RoIAlign提升了1.1个点的box AP。

B. One-stage Detectors

1. YOLO

Joseph Redmon et al 提出。主要贡献是实时检测。一是预测框少于100个;二是它是一个统一的结构,是一个回归问题,可以从输入图像中直接提取特征用于预测位置和分类。

YOLO先将输入图像分成一个SS的网格,每个网格单元责任作用于检测物中心位置落入点。可信度用两部分相乘,P(object)是一个box包含一个物体的可能性, IOU显示了一个box包含一个物体的精确度。每个网格单元预测了B个bounding boxes和他们的可信度,以及C个类的C维条件概率。特征提取网络包含了24个卷积网络和2个全连接层。作者在一个全连接层之后使用了20个卷积层和一个平均池化层,用来在ImageNet数据集上的预训练。预训练阶段的输入图像分辨率是224224,在检测阶段输入图像的分辨率是448*448。

实现显示YOLO不善于精准定位,而且定位错误是主要的预测错误。在 PASCAL VOC数据集上,YOLO获得63.4%mAP和45帧, Fast R-CNN 获得70.0%mAP和0.5帧, Faster R-CNN 获73.2%mAP和7帧。

2. YOLOv2

YOLOv2是YOLO的升级版。更新内容如下:

  1. Batch Normalization. 由于优化步骤中采用了随机梯度下降SGD,所以标准化整个训练集是不可能的。但是对于一个卷积网络层修正它的输入分布具有正向结果。那么怎么做呢? 由于在训练中SGD采用了mini-batch,所以我们标准化一个大小为m的mini-batch的激活函数,标准化后这个大小为m的mini-batch均值为0,方差为1. 最后每个mini-batch的元素从相同的分布中被抽样。这钟操作就可以被看做一个BN层。YOLOv2在每个卷积层前增加了一个BN层。这个操作可以提升至少2%mAP。

  2. High Resolution Classifier。YOLO的分类器采用的是224224的分辨率,检测阶段采用448448的分辨率。在使用物体检测任务前必须将图像转到448448的大小。而YOLOv2在分类网络中增加了一个fine-tuning处理使用448448输入。这提高了4%的mAP。

  3. Convolutional With Anchor Boxes。YOLO通过全连接层产生物体的位置信息。参考Faster R-CNN,YOLOv2shouci移除了全连接层,并采用anchor boxes预测分类和位置信息。这提高了7%的召回率,降低了0.3%的mAP。

  4. 采用K-means聚类在训练集上的bounding boxes自动获取较好的先验率,然后采用dimension clusters直接预测bounding box的中心位置。

  5. Fine-Grained Features。用于提高小物体的识别。通过不同通道的临近特征堆叠,将高分辨率特征和低分辨率特征级联起来,提升1%。

  6. Multi-Scale Training。用于预测不同分辨率的图像。每10个batches,网络自动从{320,352,……,608}选择一个新的图像大小进行训练。在VOC 2007数据集上,从63.4%mAP提升到78.6%mAP,帧率从45变为40.

  7. YOLOv2提出新的分类架构Darknet-19(含有19个卷积层和5个最大池化层)。

3. YOLOv3

YOLOv3是YOLOv2的提升版本。

  1. 采用多标签分类,这是独立的逻辑分类器,可以适应更多负责的数据集包含标签重叠的问题。

  2. 采用三种不同尺寸的特征图预测bounding box。

  3. 受到ResNet的启发,提出一种更深的,robust的特征提取器——Darknet-53。

YOLOv3可以更多检测出小物体,但相比较而言,大中物体的检测有很逊色。

4 . SSD

SSD(single-shot detector)可在one-stage 中针对多个类别的单次检测器,直接预测多个尺度不同的特征图中,每个位置上一组固定比例边界框的类别score和框偏移。如图4。
在这里插入图片描述
每个特征图中,默认的 bounding boxes 具有不同的宽高比和尺度。不同的特征图中,默认 bounding boxes 的尺度,是在最高layer和最低layer间有规则间隔的情况下计算的,每个特征图都学习如何对特定尺度的目标作出响应。对于每个默认框,它将预测所有目标类别的偏移量和置信度。Fig.3 © 展示了这种方法。
Test
Predicting each of the pyramidal feature hierarchy from a ConvNet as if it is a image pyramid like SSD

在训练阶段,默认的bounding boxes与ground truth boxes匹配上时作为正样本,剩余的为负样本。对于大量的负样本,作者对每个默认box采用高置信度损失,然后选取排名靠前的一些,使得负样本与正样本占比最高为3:1。同样,作者也采用了数据增广以提升精度和效率。

SSD512在测试数据集PASCAL VOC 2007上达到了81.6%mAP,在测试数据集PASCAL VOC

2012 上达到了80.0%mAP。而Faster R-CNN在这两个数据集上的mAP分别是78.8%和75.9%,YOLO在VOC2012 为 57.9%mAP。在 MS COCO DET数据集上SSD512完胜Faster R-CNN。

4 . RetinaNet

Tsung-Yi Lin et al.2018年2月提出。 RetinaNet是一个one-state的物体检测采用中心损失作为损失函数。对于R-CNN为什么要分两个阶段才能检测出准确的物体,原因是一阶段检测器训练网络聚合时出现前景和背景极端不平衡。因此作者提出一个中心损失函数,来降低好分类或者简单样本的比重损失,重点关注南训练的样本,以避免大量的简单负样本在训练的过程中压制分类器。

RetinaNet继承了之前一阶段检测器的快速性能,并且极大地客服了一阶段检测器对于正负样本不平衡时难以训练的问题。它对中小物体的检测大幅度提升。

5. DSSD

Deconvolutional Single Shot Detector,是SSD的修正版本。增加了预测陌路昂和反卷积模块,同样采用了ResNet-101作为主干。

在预测模块, Fu et al.增加了一个残差块给每个预测层,然后 再预测层和残差块的输出执行元素对元素的处理。反卷积模块为了加强特征增加了特征图的分辨率。反卷积层跟在预测层之后。

如何训练的呢?首先在基于ResNet-101的主干网络上预训练,基于数据集 ILSVRC CLS-LOC; 然后在检测数据上采用321321或者513513的输入训练原始SSD模型;最后冻结所有SSD模块权重训练反卷积模型。

实验证明,当增加了预测模块和反卷积模块后, DSSD513模型在测试数据集 PASCAL VOC 2007带来了2.2%的增强。

6 . RetinaNet

Tsung-Yi Lin et al.2018年2月提出。 RetinaNet是一个one-state的物体检测采用中心损失作为损失函数。对于R-CNN为什么要分两个阶段才能检测出准确的物体,原因是一阶段检测器训练网络聚合时出现前景和背景极端不平衡。因此作者提出一个中心损失函数,来降低好分类或者简单样本的比重损失,重点关注南训练的样本,以避免大量的简单负样本在训练的过程中压制分类器。

RetinaNet继承了之前一阶段检测器的快速性能,并且极大地客服了一阶段检测器对于正负样本不平衡时难以训练的问题。它对中小物体的检测大幅度提升。

7. M2Det

为了适应大量尺寸变化的物体实例检测, Zhao et al. 提出多水平特征金字塔网络(multi-level feature pyramid network (MLFPN)),构造更多有效的特征金字塔。作者分三步获取最终增强的特征金字塔:

首先,类似于FPN,从多层网络中提取多层特征融合作为基本特征。

其次,基本特征输入到一个block中,组成可替代的联合Thinned U型模型和特征融合模型。同时获取TUM的解码层作为下一步的特征。

最后,具有相同尺寸的解码层聚到一起构造一个包含多层特征的特征金字塔。

剩余的工作就是以一种端到端的方式遵循SSD架构获取boundingbox位置和分类结果。

8 . RefineDet

这个网络包含两个内关联的模块:一个anchor提炼模块和物体检测模块。这两个模块通过一个专一链接块连接到一起。训练过程是一个端到端的方法,有三个阶段引导:预处理,检测,NMS。

经典的一阶段检测器如SSD,YOLO,RetinaNet等使用一步回归的方法获取最终结果。作者发现使用两步级联回归方法可以更好的预测难以检测的物体,特别是小物体,并且可以提高检测和定位的精度。

C. Latest Detectors

1. Relation Networks for Object Detection

Hu et al.提出的一种适应注意力模型。这种相关模型添加在检测器前,两个全连接层之前,用于获得更强的特征。

2. DCNv2

Deformable convolutional networks DCN。 Jifeng Dai et al. 提出。目的是为了学习在有效的空间目标的支持区域内适应几何变化反应。DCN可以处理变形的核和位移。变形的ROI 池化也可以适应部分不同形状的物体位置。DCNv1获得了很好的精度提升。DCNv2 比 DCNv1利用更多的变形卷积层,在conv3-conv5阶段中代替常规的卷积层;所有变形层被一个学习的标量调节;作者采用特征模仿去更多的提升检测精度:通过结合DCN中每个ROI特征的特征模仿损失,这些特征是相似于从剪切图像中提取的好的特征。

在数据集COCO 2017 test-dev上, DCNv2获得了45.3%的mAP, DCNv1获得了41.7%的mAP, 常规 Faster R-CNN 在ResNet-101上获得了40.1%的mAP。

3. NAS-FPN

作者从谷歌大脑中采用了神经架构搜索找到了一些新的特征金字塔架构,称为NAS-FPN。包含top-down,bottom-up连接融合了各种尺寸的特征;重复FPN架构N次,将它们级联到一个大的结构中;高分辨率的特征用于检测小目标。堆叠更多的金字塔网络,增加特征维度,使用高容量的架构都提升了检测精度。

在 COCO test-dev数据集上, NAS-FPN 使用ResNet-50,拥有256个特征维度,吵多了原始FPN2.9%平均精度。NAS-FPN 利用 AmoebaNet作为主干网络,并堆叠7个FPN,拥有384个特征维度,在该数据及上可以达到48%的平均精度。

IV. DATASETS AND METRICS

目标检测需要标出目标所属的类别和及其在图像中的位置。其中目标的位置常用外接框来表示。如图5。
在这里插入图片描述

V. ANALYSIS OF GENERAL IMAGE OBJECT DETECTION METHODS

VI. APPLICATIONS AND BRANCHES

VII. CONCLUSIONS AND TRENDS

A. 结论

B. 趋势

REFERENCE

这篇关于【论文学习】A Survey of Deep Learning-based Object Detection-基于深度学习的目标检测综述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1019028

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学