基于深度卷积神经网络的目标检测研究综述

深度卷积神经网络概述
 卷积神经网络是一种常用的深度学习网络框架。1959年,Hubel& Wiesel发 现 视 觉 系 统中的可视皮 层 处 理 信 息 是 分 级 处 理 的。20世 纪90年代,LeCun 等 人建 立 了 CNN的 现代结构,并对其进行了改进。他们设计了一种可以对手写数字进行分类的 LeNet-5网络。与其他神经网络相同,也能使用反向传播算法对数据进行训练。
卷积神经网络可以获取原始图像的有效表示,这使得它能够通过很少的预处理直接从原始像素识别视觉之上的规则。但是,训练数据的不足限制了计算机的计算能力,从而制约了 LeNet-5在处理复 杂 问 题 方 面 的 能 力。之 后,设 计 了 多种方法来克服卷积神经网络训练深度的困难。其 中 AlexNet框 架 的 提 出 促 进 了 图 像 识 别 领 域的发 展,该 框 架 类 似 于 LeNet-5,但 层 次 结 构 更深。同 时 使 用 了 非 线 性 激 活 函 数 Relu与Dropout方法,取得了卓越的效果。
AlexNet 之 后,ZFNet, VGGNet,GoogleNet和 ResNet等 方 法 相 继 被 提 出。从结构上讲,CNN 发展 的 一 个 方 向 是 增 加 层 数。通过增加深度,可以利用增加的非线性得到目标函数的近似结构,同时得到更好的特征。然而,这也使网络的整体复杂性和优化难度增加,并且会产生过度拟合现象。
自从2012年以来,多种改进CNN 的方法被提出。ZFNet对AlexNet的改进首先通过将 第一层的卷积核尺寸从11x11降为7x7,同 时 将卷积时的步长从4降至2。这样扩张中间的卷积层可以 获 取 到 更 多 的 信 息。VGGNet将 网 络 的深度扩展到了19层,并且每个卷积层使用了3×3这种小尺 寸 的 卷 积 核,结 果 证 明 深 度 对 网 络 性能有着重要影响。GoogleNet同时增加了网络的宽度与深度,相比于更窄更浅的网络,在计算量没有增加的同时,网络性能明显强。
基于Two-stage的检测模型
1.R-CNN(Convolutional Neural Networks)
R-CNN不仅能够提高候选边界框质量,还能提取高级特征,其工作可以分为三个阶段:生成候选区域、基于 CNN 的特征提取和分类与定位。 R-CNN 采用 选 择 搜 索为 每 个 图 片 产 生2k个区域提议,选择性搜索方法依赖于简单的自下而上的分组和显著性提示,从而快速提供任意大小的更准确的候选框,并有效减少了搜索空间。在分类上,R-CNN 使用区域提议进行评分,然 后 通过边界框回归调整评分区域,并用非极大值抑制进行过滤 以 产 生 用 于 保 留 目 标 位 置 的 最 终 边 界框。流程图如图所示。

尽管 R-CNN 在准确程度上相比于传统方法有所提 高,并 且 将CNN 应 用 于 实 际 目 标 检 测 中具有重要意义,但是仍然存在一些缺点。
(1)全连接层的存在使得输入图像的大小固定,直 接 导 致 每 个 评 估 区 域 的 整 个 CNN都 需 要重新计算,花费大量的测试时间;
(2)R-CNN 的训练是分为多阶段完成的。首 先,对提议的卷积网络进行了微调。然后,将通过微调学习的softmax分类器替换为SVM。最后,训练边界框回归器;
(3)训练阶段时间长,占用空间大。从不同区域提议提取并存储在磁盘上的特征占用很大的内存。
(4)尽管选择性搜索可以生成具有较高召回率的区域提议,但是获得的区域仍然存在多余的
部分,并且这个过程需要耗费很长时间。为了解决这些问题,现在已经提出了 许 多 方法。DeepBox和 SharpMask试 图 重 新 排 序或者完善提取特征前的区域提议以去除冗余信息,获得少数的有价值的建议。此外,还有一些改进可以解 决 定 位 不 准 确 的 问 题。SaurabhGupta等改进了具有语义 丰富的图像和深度特征的RGB-D图像的目标检测。目标检测器和超像素分类框架的结合在语义场景分割任务上取得了可喜的成果。
2.SPP-net
为了解决因为目标比例发生变化造成的目标丢失或失真 问 题,HE等人考虑到空间金字塔匹
配(SPM)的 理 论,并 提 出 了 一 种 名 为 SPP-net的新型 CNN 体系结构。SPM 需要更精细的尺度才能将图像划分为多个部分,并将量化的局部特征聚合为中级表示形式。
目标检测中 SPP-net的结构如图2所 示,与 R-CNN 不同,目标检测中SPP-net重复使用了第五层卷积层(Conv5)的 特 征 图,将任意大小的区域提议投影成固 定 长 度 的 特 征 向 量。这 些 特 征图的可重复使用的可行性不仅涉及局部响应的增强,而且 与 其 空 间 位 置 也 有 关 系。SPP-net不仅可以通过估计 不 同 区 域 提 议 的 大 小 来 获 得 更好的结果,而且还可以通过共 享不同区域之间的 SPP 层,提前计算成本来 提高测试期间的效率。
3.Faster-R-CNN
在目标检测中的特征提取和分类上,FastR-CNN 已经很好地解决了很多问题,但是最新的目
标检 测 网 络 仍 然 依 赖 于 选 择 性 搜 索 算 法 和Edgebox来生成候选区域。区域提议的计算也影响效率的提高。为了解决这个·问题,Ren等人 引入了附加的区域提议网络 (Region ProposalNetwork,RPN),网 络 通 过 与 检测网络共享全卷积特征,以几乎无代价的方式进行工作。区域提议网络是通过全卷积网络实现的,该网络具有同时预测每个位置上的目标边界和出现概率的能力。类似于,区域提议网络将任意大小的图像生成一组矩形目标建议。区域提议网络在特定的卷积层上运行,与之前的层共享目标检测网络。
FastR-CNN 的 作用下,基于区域 提 议的 CNN体 系 结 构 可 以 以 端 到 端 的 方 式 训 练。此 外,在 PASCALVOC2007上,最 新 的 目 标 检测精度,可 以 在 GPU上 达 到5FPS(frame/s)的帧率。但是,更换训 练 算 法 非 常 耗 时,并 且 区 域提议网络 会 生 成 类 似 于 目 标 的 区 域,而 不 是 目标 实 例,并 且 不 擅 长 处 理 极 端 比 例 或 形 状的目标。
4.R-FCN
根据感兴趣区域池化层划分,用于目 标 检 测的流行的深度网络由两个子网络组成:共享的完全卷积子网(独立于感兴趣区域)和不共享的感兴趣区域子网。目前最先进的图像分类网络,
例如 残 差 网 络 (ResNets)和 GoogleNets,都是完全卷积的。为了适应这些架构,构建没有感兴趣区域子网的完全卷积目标检测网络,然而事实证明这种解决方案效果并不好。是 因 为在图像分类中,图像中的一个目标的移动对分类是没有影响的,但是在候选区域中,目标的任何移动在目标检测中都是意义重大的。将感兴趣区域手动接入卷积层中会解决平移不变形问题,但是会影响其他区域。因此,Li等人提出了一种基于区域的全卷积网络(R-FCN)。
与 FastR-CNN 不 同 的 是,对 于 每 一 个 类别,R-FCN 的最后一个卷积层会生成k2个具有固定 K×K 网格的位置敏感得分图,然后添加一个位置敏感感兴趣区域层进行聚合。最后,在每个感兴趣区域中,将k个位置敏感得分取平均,生成C+1维矢量,并计算跨类别的Softmax响应。另外附加了一个4k2-d的卷积转换层,获取与类无关的边界框。借助 R-FCN 可以通过共享几乎所有层来采用更强大的分类网络实现全卷积架构中的目标检测。在 PASCALVOC 和 MicrosoftCOCO数据集上均获得了最好的结果,测试速度为每张图像170ms。
基于one-stage的模型
1.YOLO
Redmon等 人提 出 了 一 个 名 为 YOLOv1的框架,该框架利用最上层的整个特征图来预测多个类 别 和 计 算 边 界 框 的 置 信 度。YOLOv1 的基本思想如图6所示,YOLOv1将输入图像划分为S×S 网 格,每 个 网 格 单 元 负 责 预 测 以 该 网 格单元为中心的目标的边界框以及其对应的置信度分数。其中置信度表示存在目标的可能性并显示其预测的置信度。与此同时,无论边界框的数量为多少,都会在每个网格单元中预测C 个条件类概率。
在 YOLOv1 的 基 础 上,一 种 改 进 的 版 本YOLOv2被提出,YOLOv2提出了一个新的拥有19个卷积层和5个池化层的分类主干网络,即Darknet-19, 并采用了更强大的深度卷积ImageNet主干框架,输入图片的分辨率由原来的224x224直接设置为448x448,这使得学习到的权重 对 于 获 取 微 小 信 息 更 加 敏 感。除 此 之 外,YOLOv2借鉴 FastR-CNN 中设定先验框的策略,使用 全 卷 积 网 络,用 K-means聚 类 算 法 获 取先验框的宽和高,并通过预测偏移量来降低网络训练难度。最后与批归一化、多尺度处理技术一起形成训练网络。作为 YOLOv2 的 改 进 版 本YOLOv3,提出了更 深 入,更 强 大 特 征 提 取 网 络 Darknet-53。为了 适 应 包 含 许 多 重 叠 标 签 的 复 杂 数 据 集,YYOLOv3使用 多 标 签 分 类。在 对 边 界 框 进 行 预测时,YOLOv3在3个不同比例的特征图进行预测,是当时速度和精度最均衡的目标检测网络。
2.SSD
YOLO 难以处理组合中的小物体,是因为对边界框的预测增加了空间约束。同时,由于多
次进行下采样,将其刻画为具有新的宽高比的目标,产生了相对粗糙的特征。针对这些问题,Liu等人提出了SSD,其灵感来自于 MultiBox、区 域 提 议 网 络和 多 尺度表示中 采 用 的 锚 点。给定一个特定的特征图,SSD利用一组具有不同长宽比和比例的默认锚点框来使边界框的输出空间离散化。为了处理不同大小的目标,将会利用多个具有不同分辨率
的特征图的预测融合网络。SSD在 VGG16网络末端添加了几个功能层,这些功能层用于预测具
有不同比例和纵横比及其相关置信度的默认框的偏移量。最终检测结果是通过在多尺度边界框上通过非极大值抑制 获得的。SSD 在 PASCALVOC和 COO 的准确性方面明显优于 FastR-CNN,并且速度提 高 了 三 倍。SSD300(输 入 图 像尺寸为300×300)以59FPS运行,相比于 YOLO更加准确和 高 效。针 对 SSD 不善于处理小目标的问题,可以通过采用更好的特征提取网络主干(例如ResNet101),添加反卷积层以引入额外 的大规模上下文和设计更好的网络结构。SSD与 YOLO 在结构上的不同在于,SSD 的特征是从不同的卷积层提取出来,进行组合再回归和分类,而 YOLO 只有一层,在 YOLO 之后的版本中也借鉴了SSD的这种多尺度的思想。SSD网络中的预选框的大小和形状不能直接通过学习获得,需要通过手动设置。而网络中的每一层使用的预选框大小和形状都不一样,调试过程依赖经验,除此之外,检测靠近彼此的多个小目标 的 问 题 仍 然 没 有 解 决。SSD 使 用 低 级 特征检测小目标,但是低级特征卷积层数少,存在特征提取不充分的问题,在理论上还有很大的提升空间。
它们的主要区别
1.one-stage网络速度要快很多
2.one-stage网络的准确性要比two-stage网络要低
为什么one-stage网络速度要快很多?
首先来看第一点这个好理解,one-stage网络生成的ancor框只是一个逻辑结构,或者只是一个数据块,只需要对这个数据块进行分类和回归就可以,不会像two-stage网络那样,生成的 ancor框会映射到feature map的区域(rcnn除外),然后将该区域重新输入到全连接层进行分类和回归,每个ancor映射的区域都要进行这样的分类和回归,所以它非常耗时。
one-stage网络最终学习的ancor有很多,但是只有少数ancor对最终网络的学习是有利的,而大部分ancor对最终网络的学习都是不利的,这部分的ancor很大程度上影响了整个网络的学习,拉低了整体的准确率;而two-stage网络最终学习的ancor虽然不多,但是背景ancor也就是对网络学习不利的ancor也不会特别多,它虽然也能影响整体的准确率,但是肯定没有one-stage影响得那么严重,所以它的准确率比one-stage肯定要高

基于Anchor-free的检测模型
虽然 基 于 Anchor的 目 标 检 测 模 型 (one-stage模型和two-stage模型)在效率和精度上有很大的提升,但是自身的局限性也阻碍了模型的优化创新。大多数预设的锚点是负样本,在训练过程中会导致正样本和负样本的失衡;为了实现较高的查全率,需要设置大量密集的锚点候选框,为此造成巨大的计算成本和内存需求开销;预设的锚框是人为设置的,其比例和宽高比对数据集比较敏感,很大程度上会影响检测性能。为了解决这 个 问 题,最 近 提 出 一 些 Anchor-free检 测模型。
1.CornerNet
CornerNet是 一 种 新 颖 的 Anchor-free网 络,使用Hourglass网络作为主干网络,后面 连 接 两个预测模型,分别预测左上和右下角点。在特征图的每个位置上都可以预测角度偏移、对嵌入和类热图。通过类热图可以计算出现拐角的可能性,并 使 用 拐 角 偏 移 量 来 预 测 拐 角 位 置。CornerNet在 MSCOCO 数据集上获得了显着改进。
2.FSAF
为了让位于图像中的每个目标都能自助选择最 合 适 的 特 征 层,FSAF (Feature SelectiveAnchor-Free)在特 征 层 中 不 设 置anchor,实 现 了anchor-free.在训 练 过 程 中,FSAF 根 据 损 失,自动选择最好的特征层,并将每个对象动态分配给
最合适的特征层,在这个特征层进行后续的回归和预测。在预测阶段,FSAF可以独立预测,也可
以与基于锚点的方法相结合。
3.ExtremeNet
ExtremeNet是在CornerNet上的改进,不同于 CorNet,ExtremeNet的检测目标是4个极值点(最左点、最右点、最上点和最下点),而不是检测目标的左上点和右下点,这种做法避免了因为强行使用矩形包围框包围物体带来的问题。当检测到极值点之后,利用匹配算法,将所有极值点进行组合,通过验证组合中是否存在中心极值点,对所有组合示例进行筛选。该方法速度不是很快,但是标注简单,在此基础上可以进行更多的改进。
4.FCOS
FCOS(FullyConvolutionalOne-Stage)是一个基于全卷积的检测网络,它利用一个新的分支“center-ness”来预测一个像素与对应对框中心的
偏差,所得到的分数用于降低低质量检测框的权重,最后通过 NMS(Non-MaximumSuppression)将接测结果进行融合。FCOS可以将语义分割和目标检测任务结合,除此之外,还可以对模型进行小幅度改造(例如,关键点检测)以应用于其他检索任务。
5.CenterNet
CenterNet结合了基于中心的方法(中心点)和基于角点 的 方 法(左 上 角 点 和 右 下 角 点)的 思想,使网络花费小的代价便能感知物体内部信息,从而消除误检框。其作用过程为,首先通过成对的角预测边界框,然后将角点的位置映射到输入图片的对应位置,最优判断哪两个角点属于同一物体,以便形成一个检测框。该方法可以移植到其他锚点或者 Anchor-free网络上。
通用的目标检测数据集
(1)Pascal视觉挑战数据集
Pascal视觉挑战是早起计算机视觉中最重 要 的 竞 赛 之 一。Pascal-VOC 的 两 个 版 本:VOC07和 VOC12 主 要 用 于 对 象 检 测。 其 中VOC07是包含20类图片的中等数据集,分为三部分,分别使用2501,2510和5011张图像进行训练、验证 和 测 试。VOC12与VOC07包 含 相 同类别的图像,分别使用5717,5823和10991张图像进行训练、验证和测试近年来,随着一些较大数据集的发布,VOC逐渐被取代。
(2)MSCOCO是 具 有80个 类 别 的 大 规 模数据集,分别使用118287,5000和40670图 像进行训练,验证和测试。
(3)OpenImages是 一 个 包 含920万 张 图像的数据集,并带有图像级标签、对象边界框和视觉关系。OpenImagesV5在1.9M图像上总共包含600万个对象类别的1600万个 边 界 框,这使其成为具有对象位置注释的最大的现有数据集。该数据集中的框是由专业注释者手工绘制的,以确保准确性和一致性,并且图像多样化,并且大多数包含有多个对象的复杂场景。
(4)ImageNet包 含120 万 个 高 分 辨 率 图像,是一个具有200个类别的大型数据集,数据规模大,对象范围广,这使得使用大型训练数据训练深度模型成为可能。
评估指标
定位和分类是目标检测的两个重要任务,在物体检测评估指标下,检测准确性和定位精度是
用于评估检测准确性常用的两个标准。对于定位精度,IoU 通过判断预测边界框及其对应的分配地面真值判断回归质量。对于检测准确性,常用均值平均精度(mAP)作为评估指标。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值