《基于深度学习的目标检测算法综述论文的解读》

论文阅读:《基于深度学习的目标检测算法综述论文的综述》的总结

作者 : 包晓敏,王思琪 ( 浙江理工大学 信息学院,浙江 杭州 310018)

本文章介绍了两阶段深度学习算法和单阶段深度学习算法。

一、目标检测的定义
目标检测( object detection)将待测目标的分割、识别、语义等高级视觉问题合为一体,对图像中的物体进行识
别和定位,其准确性和实时性是衡量整个计算机视觉系统的一项重要标准。
二、两阶段深度学习算法
两阶段深度学习算法通过选择性搜索、边界箱等常见区域选择方法生成候选区域,接着在候选区域与卷积神经网络相结合提取特征并进行回归分类。这一类检测算法需要分两步完成,即先产生候选区域再进行特征提取
(1)特点
具有准确度高但是速度相对较慢的特点。
(2)分类
典型的基于候选区域的检测算法有区域卷积神经网络( region-CNN,R-CNN) 、空间金
字塔池化网络( spatial pyramid pooling-Net,SPP-Net)[16]、快速区域卷及神经网络( fast R-CNN) 、快速区域卷及神经网络( faster R-CNN) 和掩模卷积神经网络( mask R-CNN) 。
2.1 R-CNN
R-CNN(region-CNN,区域卷积神经网络)
算法流程:

  1. 通过选择搜索( selective search) 网络对图像的纹理、颜色等特征进行分析,选取出2000个大小不同的候选区域;
  2. 对特征向量进行归一化处理;
  3. 通过深度网络对输入的候选区域进行前向计算获得特征;
  4. 训练支持向量机( support vector machine,SVM) 分类器进行分类;
  5. 使用回归器精细修正每个候选框的位置。
    在这里插入图片描述

优点:

  • 相较于传统的物体检测方法,R-CNN 通过选择性搜索确定候选区域来进行目标检测,从根本上提高了检测效率。

缺点:

  • 候选区需要进行归一化处理,这容易导致图像信息缺失;
  • 资源利用率低,在分类和回归操作时 CNN 模型的参数没有进行同步修改;
  • 每一个候选区域都需要输入到 CNN 中提取特征,占用大量磁盘空间,时间复杂度高。
  • 在数据集 Pascal VOC2007 中,基于 VGG 卷积神经网络模型的 R-CNN 算法,检测一张图像的平均时间高达 47 s。

2.2 SSP-Net
SSP-Net: 在 2015 年,He K M 等人在 R-CNN 模型的基础上进行改进提出了 SSP-Net 模型,其在全连接层前接入了金字塔池化( spatial pyramid pooling,SPP) 层来适应任何尺寸的图像输入,解决了 R-CNN 模型由于归一化导致的信息缺失问题。
在这里插入图片描述
金字塔池化的作用:其在全连接层前接入了金字塔池化( spatial pyramid pooling,SPP) 层来适应任何尺寸的图像输入,解决了 R-CNN 模型由于归一化导致的信息缺失问题。
对R-CNN的特征提取步骤的改进:
SPP-Net 对 R-CNN 的特征提取步骤进行了修改,这样特征提取不再需要每个候选区域都经过 CNN只需要将整张图片输入。感兴趣区域( region of interest,ROI) 特征可以直接从特征图获取,使得运行速度得到了极大的提高。
缺点:
算法仍然使用的是 R-CNN 框架,所以缺点十分明显,在运行时占用巨大的磁盘资源。

2.3 Fast R-CNN

Fast R-CNN解决的问题:

  • 训练分步过多导致训练速度慢,通过对整幅图像进行卷积操作,再从特征映射中选择候选区域,极大地提高了训练速度;

  • 训练时间和内存消耗比较大,R-CNN 在训练 SVM 和回归的时候需要用网络训练的特征作为输入,将特征保存在磁盘上再读入。

Fast R-CNN的改进:

Fast R-CNN 结合了 SPP-Net 网络的优点,将 R-CNN 网络进行改进:

  • 对整张待测图像进行卷积操作,减少重复计
    算;
  • 整张待测图像归一化后送入深度网络,通过最后少数几层处理每个候选框,提升了运行速度;
  • 引入多任务损失( multi-task loss) 函数,用深度网络统一实现类别判断和位置调整,减少内存占用。
    在这里插入图片描述
    在同样使用最大规模的网络的情况下,在数据集 PAS-CAL VOC 2007 上进行测试发现,Fast R-CNN 相较于 R-CNN的准确率相似,但在训练和测试时间上有了明显的缩短。

2.4 Faster R-CNN
在 2015 年,Ren S Q 团队[19] 在之前的基础上提出了Faster R-CNN 算法,该算法在简单网络的目标检测速度达到 17 fps,在PASCAL VOC 上准确率为 59.9 %,而复杂网络下达到 5 fps,准确率 78.8 %。
该算法将目标检测的4个基本步骤整合在一个深度网络中,提高了算法的综合性能,尤其是在检测速度方面。

Faster R-CNN算法的基本流程:

  1. 将待测图像输入卷积网络中,生成特征映射; 2) 使用区域投标网络[20]( region pro-posal network,RPN) ,在生成候选区域的同时产生锚点( anchors) ,通过判别函数判断并使用边框回归调整 Anchors 以获取准确的候选区域,图 4 为 RPN 算法示意图;
    在这里插入图片描述
  2. 通过RoI 池化层,解决最后输入全连接层的特征图的尺寸大小不同的问题;
  3. 通过完全连接层来分别判断物体的类别和精准位置。由于采用 RPN 代替 Fast R-CNN 算法的选择性搜索方法,在检测率相同的情况下,Faster R-CNN 算法的检测速度是之前的 10 倍。
    在这里插入图片描述

2.5 Mask R-CNN
2017 年 He K M 等人[22]在基于 Faster R-CNN 的基础上进行改进提出了 Mask R-CNN,该算法可以精确到像素级输出,高质量完成分割任务。此外两者的输出也有所不同。
Faster R-CNN 输出为种类标签和 box 坐标,而 Mask R-CNN则会增加一个输出,即物体掩膜( object mask) 。
物体掩膜概念,参考下面的博客:
https://blog.csdn.net/bitcarmanlee/article/details/79132017
Mask R-CNN的特点:

  • 通过引入感兴趣区域聚集(ROI Align) 层来替代 Faster R-CNN 采用的高校池以解决仅通过池化直接采样导致特征图谱在原图的对应位置与真实位置有所偏差的问题;
  • 多任务损失函数包括分类误差、回归误差、分割误差,即将识别预测和分割预测分割,掩膜
    分支针对每个 RoI 产生一个 K×M×M 二值的掩膜输出,其中K为分类物体的类别数目。
    在这里插入图片描述
    三、单阶段深度学习方法
    **单阶段深度学习方法定义:**两阶段深度学习的算法,即分为候选区域生成和区域分类两步,存在着实时性较差的缺点。单阶段深度学习方法[23],即端对端、单阶段对物体进行检测,对于一张待测图像仅使用一个卷积神经网络直接预测不同目标的类别与位置。
    单阶段深度学习方法分类:
    这种端对端的检测方法极大地提高了算法的运行速度,满足目标检测实时性的要求,典型的算法有 YOLO( you only look once)系列、SSD( single shot multibox detector) 系列
    3.1 YOLO算法
    在 2016 年,Redmon J 等人[24] 提出 YOLO 算法使得基于深度学习的目标检测算法有了单阶段和两阶段的区分。
    与之前两阶段目标检测算法最明显的区别在于 YOLO 舍弃候选框提取,直接采用回归的方法进行物体分类和候选框预测[25]。这样的改进简化了网络结构,将检测速度提升至了 Faster R-CNN 的 10 倍左右。至此,基于深度学习的目标检测算法能够满足实时性的需求。
    YOLO V1的算法流程:
    YOLO v1 首先将待测图像进行归一化处理,然后将处理后的图像输入 CNN 中进行特征提取以及边界框置信度的预测,最后采用非极大值抑
    制( non-maximum suppression,NMS) 算法过滤边界框获得最优结果。
    缺点:但是算法只针对最后特征图进行分析,使得它对小目标的检测效果不佳,当多个目标出现在一个网格单元时不容易区分。
    在这里插入图片描述
    YOLO V2算法
    时隔一年,Redmon J 等人[27]在 YOLO v1 的基础上进行改进提出了 YOLO9000,该算法的检测速度远远超过其他检测算法,代表着当时业界最先进的检测水平。YOLO9000 相
    较于 YOLO v1 做出了以下改进:
  • 对网络结构进行了优化,在消除对其他正则化的依赖的同时,提高了收敛性;
  • YOLO v2提高了分辨率,为了适应高分辨率输入,使用新的高分辨率分类器;
  • 使用卷积层预测边界框位置并用标准欧氏距离的 K-means 聚类方法代替手动选择边界框个
    数、形状,以提高置信分数;
  • 采用新的特征提取网络模型
    Darknet—19,以提取到物体更精细的特征;
  • 采用多尺度图像训练,通过采用不同分辨率的图像进行模型迭代训练,增强模型对多尺度图像的预测鲁棒性。
    YOLO V3算法
    2018 年,Redmon J 等人[26] 在 YOLO v2 的基础上提出了效果更佳的 YOLO v3 算法,
  1. 调整了网络结构,使用残差网络模型[29]Darknet—53 进行特征提取;
  2. 采用多尺度特征进行目标检测,借鉴特征金字塔网络( feature pyramid networks,FPN) 思想,通过采用了 3 个不同尺度的特征图能获
    得细粒度的特征;
  3. 进行分类时,采用多个单独的 Logistic
    分类器取代了 SoftMax,提升了检测速度与精度。

3.2SSD算法

在 2016 年,Liu W 等人[28]提出了 SSD 算法,解决了同时期 YOLO 算法存在的定位精度低、难以检测小目标等问题。
SSD 算法有以下改进:

  1. 采用 CNN 来直接进行检测,避免了 YOLO 方法在全连接之后再进行检测的操作;
  2. 提出尺度不同的特征图来对物体进行检测,通过快速检测不同尺度特征图的准确度,明确区分预测;
  3. 结合 Faster R-CNN 算法中的 Anchor 机制,通过大小不同的先验框在特征图中获取候选区域,提高了召回率。
    在这里插入图片描述

SSD 通过对 Faster R-CNN 算法和 YOLO 算法的优点结合,利用特征的金字塔结构充分挖掘卷积层的特征信息,使得其在满足检测精度的同时保证了算法的速度,在一定程度上克服了 YOLO 算法难以检测小目标、定位不准的缺点。
DSSD算法
2017 年,Fu C Y 等人[30]对 SSD 算法进一步优化提出了 DSSD( deconvolutional single shot detector) 算法,将 SSD 中的融合模块采用反卷积代替传统的双线性插值上采样,将
高层语义与低层特征信息进行充分融合,进一步提升了对小目标的检测精度。与此同时,随着网络的复杂度增加,算法的检测速度有所下降。
在这里插入图片描述
FSSD算法
同年,Li Z X 等人[31]提出了 FSSD( feature fusion single shot multibox detector) 算法,通过借鉴 FPN 算法思想,将多尺度特征与信息融合,虽然对小目标的检测精度有所下降,检测速度得到了明显的提升。
在这里插入图片描述

参考文献
[1]包晓敏,王思琪.基于深度学习的目标检测算法综述[J].传感器与微系统, 2022, 41(4):5.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值