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

2023-10-26

引言

       现有的深度学习的目标检测方法,可以大致分为两类:一、基于候选区域的目标检测方法;二、基于回归的目标检测方法。依据方法的提出时间,可以构建出如下时间线:

  • 2014 CVPR R-CNN[1]
  • 2015 arXiv DenseBox[14]
  • 2015 ICCV Fast R-CNN[2]
  • 2015 NIPS Faster R-CNN[3]
  • 2016 CVPR YOLO[5]
  • 2016 ACMMM UnitBox[15]
  • 2016 ECCV SSD[8]
  • 2017 CVPR Mask R-CNN[4]
  • 2017 CVPR YOLOv2[6]
  • 2017 arXiv DSSD[9]
  • 2017 ICCV DSOD[10]
  • 2017 arXiv FSSD[11]
  • 2017 arXiv R-SSD[12]
  • 2018 arXiv YOLOv3[7]
  • 2018 CVPR RefineDet[13]
  • 2018 ECCV CornerNet[16]
  • 2019 CVPR ExtremeNet[17]
  • 2019 CVPR FSAF[18]
  • 2019 ICCV FCOS[19]
  • 2020 TIP FoveaBox[20]
  • 2020 ECCV DETR[21]

       下面,对上述提到的方法按照其所属类别,依次进行介绍。

基于候选区域的目标检测方法

       基于候选区域的目标检测方法由于其处理过程分为两个阶段,也常常被称为两阶段方法。这类方法首先进行候选区域的提取,再基于候选区域得到检测结果。

图 1 R-CNN模型结构

       Girshick等人在2014年提出第一个基于深度学习的两阶段目标检测方法R-CNN[1],它的整体框架如图1所示。它首先使用Selective Search在输入图像上提取候选区域,然后将不同大小的候选区域调整至相同尺寸,再使用CNN提取提取它们的特征,最后使用SVM进行分类、使用线性回归进行位置修正。但是,在R-CNN中,调整候选区域的尺度会造成信息丢失,且不同的候选区域之间存在重叠,单独使用CNN对每个候选区域进行特征提取存在大量的冗余计算,限制了R-CNN的检测速度。

       Girshick等人在2015年对R-CNN进行了改进,提出了Fast R-CNN[2]。主要贡献在于:1. 在输入图片上进行一次特征提取,基于坐标信息直接在特征图上进行裁剪,得到每个候选区域的特征,这极大的提高了模型速度;2. 提出RoI Pooling层,使用该层可以将不同大小的候选区域特征处理为相同尺度,降低了信息丢失;3. 使用softmax进行分类,实现了基本的端到端。

       Ren等人在2015年对Fast R-CNN进行了进一步的改进,提出了Faster R-CNN[3]。它使用区域建议网络(RPN)代替原有的Selective Search提取候选区域,极大地降低了提取候选区域的时间。区域建议网络的处理过程为:1. 在特征图上进行滑动窗口,得到一系列的锚框(anchor boxes);2. 使用softmax提取前景锚框,回归它们的偏移和缩放;3. 使用非极大值抑制(NMS)对锚框进行后处理,再取TopK个作为候选区域。Faster R-CNN是第一个真正意义上的端到端的深度目标检测方法,在目标检测领域具有重要意义。

       He等人在2017年提出Mask R-CNN[4],在Faster R-CNN的基础上,通过增加不同分支,可以应对目标检测、语义分割、实例分割、关键点检测、人体姿势识别等多个任务,且在多个任务上的结果可以超过当时的SOTA,具有很强的灵活性和适用性。

基于回归的目标检测方法

       基于回归的深度目标检测方法也被称为一阶段方法,这类方法不提取候选区域,直接回归出目标检测结果。目前主要分为三个系列:YOLO系列、SSD系列和Anchor Free系列。

图 2 YOLO模型结构

       Redmon等人在2016年提出了第一个基于深度学习的一阶段目标检测方法——YOLO[5],其核心思想如图2所示。它将输入图片分割为固定数目的网格,每个网格负责检测中心落入该网格的目标,直接回归出边界框和类别概率。2017年,Redmon等人对YOLO进行了改进,提出了YOLOv2[6]方法。在YOLO的基础上,引入了锚框、高分辨率分类网络、尺寸聚类等机制,保证速度的同时提高了检测准确率。2018年,Redmon等人在YOLOv2的基础上提出了YOLOv3[7]方法,将YOLOv2中的softmax损失函数修改为独立的交叉熵损失,并提出了多级预测策略,同时加深了网络结构,进一步提升了检测精度。

图3 SSD模型结构

       在YOLO提出的同一年,Liu等人提出了SSD[8]方法,它的模型结构如图3所示。SSD继承了YOLO中的回归思路,引入了与Faster R-CNN类似的锚框机制,并加入了特征金字塔检测方式,达到了与YOLO相近的检测速度,同时在准确率上比Faster R-CNN更高。Fu等人在2017年对SSD进行了改进,提出了DSSD[9]方法,使用Resnet-101替换了SSD中的VGG网络,并添加了反卷积层形成了“宽-窄-宽”的沙漏结构,提升了检测小目标的准确性。Shen等人在2017年提出了四个网络设计原则,并基于这些原则设计了DSOD[10]模型,不需要预训练也可达到较高的检测准确率。Li等人在2017年提出了FSSD[11]方法,通过在SSD中添加特征融合机制,在速度与SSD相差无几的前提下,准确率有较大提升。与FSSD类似地,Jeong等人在2017年提出在SSD中添加rainbow特征融合方法[12],一定程度上解决了SSD方法中存在的重复框问题,且提高了检测小目标时的准确性。Zhang等人在2018年提出RefineDet[13]方法,在SSD的基础上,融合了RPN和FPN,在速度上和一阶段方法相近,在准确性上可以和两阶段方法媲美。

图4 DenseBox模型结构
图5 CornerNet模型结构

       和两阶段方法相比,YOLO系列和SSD系列方法没有提取候选区域的阶段,但除了YOLO方法,YOLOv2、YOLOv3、SSD及其变体方法都使用了锚框机制,这限制了方法的灵活性。Huang等人在2015年提出了第一个Anchor Free(不使用锚框)的深度目标检测方法——DenseBox[14],它的检测流程如图4所示。此方法使用全卷积结构,直接预测目标的边框和类别,并且可以结合landmark定位进一步提高目标检测的准确性。Yu等人在2016年提出了UnitBox[15]方法,在DenseBox的基础上提出并使用了IoU损失,具有更高的准确性和鲁棒性。Redmon等人在2016年提出的YOLO也属于Anchor Free模型,由于前文介绍过,这里就不多做介绍了。Law等人在2018年提出了CornerNet[16]方法,其模型结构如图5所示。CornerNet通过预测目标的左上角和右下角完成目标检测,避免了使用锚框带来的正负样本不均衡的问题,同时提出了Corner Pooling层,可以更精确的定位目标的左上角和右下角。2019年,Zhou等人在CornerNet的基础上进行改进,提出了ExtremeNet[17]方法,将检测两个角点变为检测四个边界点(最上、最下、最左、最右),并预测一个中心点用于判断边界点是否为同一组,取得了比CornerNet更高的检测准确率。与ExtremeNet同一年,Zhu等人提出了FSAF[18]方法,让每个实例自动地选择最适合它的特征层,避免了锚框的使用。同年,Tian等人提出了FCOS[19]方法,使用全卷积网络预测每个像素点相较于对应目标框在上、下、左、右四个方向上的距离,并通过centerness找到目标的中心点,取得了非常优秀的检测结果。2020年Kong等人提出FoveaBox[20],模仿人眼的中央凹(视觉中心具有最高的视力),先提取每个目标的“凹区域”,再进行后续的分类和回归。2020年,Carion等人提出了DETR[21]方法,将Transformer融入了目标检测框架,简化了模型结构,并在实验结果上超过了精调的Faster R-CNN。

结论

       可以看出,在深度目标检测领域,最初是R-CNN系列、YOLO系列和SSD系列“三足鼎立”,近些年,各种各样的Anchor Free方法如“井喷”一样层出不穷。我认为,目标检测在未来的研究重点包括但不限于:

  • 实时视频目标检测
  • 小目标、微小目标检测
  • 易于部署到移动端的目标检测
  • 半监督、弱监督、无监督目标检测

       相信目标检测技术一定会发展的越来越好,并为人类的生活带来越来越多的便利。

参考文献

  1. Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2014: 580-587.
  2. Girshick R. Fast r-cnn[C]//Proceedings of the IEEE international conference on computer vision. 2015: 1440-1448.
  3. Ren S, He K, Girshick R, et al. Faster r-cnn: Towards real-time object detection with region proposal networks[C]//Advances in neural information processing systems. 2015: 91-99.
  4. He K, Gkioxari G, Dollár P, et al. Mask r-cnn[C]//Proceedings of the IEEE international conference on computer vision. 2017: 2961-2969.
  5. Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 779-788.
  6. Redmon J, Farhadi A. YOLO9000: better, faster, stronger[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 7263-7271.
  7. Redmon J, Farhadi A. Yolov3: An incremental improvement[J]. arXiv preprint arXiv:1804.02767, 2018.
  8. Liu W, Anguelov D, Erhan D, et al. Ssd: Single shot multibox detector[C]//European conference on computer vision. Springer, Cham, 2016: 21-37.
  9. Fu C Y, Liu W, Ranga A, et al. Dssd: Deconvolutional single shot detector[J]. arXiv preprint arXiv:1701.06659, 2017.
  10. Shen Z, Liu Z, Li J, et al. Dsod: Learning deeply supervised object detectors from scratch[C]//Proceedings of the IEEE international conference on computer vision. 2017: 1919-1927.
  11. Li Z, Zhou F. FSSD: feature fusion single shot multibox detector[J]. arXiv preprint arXiv:1712.00960, 2017.
  12. Jeong J, Park H, Kwak N. Enhancement of SSD by concatenating feature maps for object detection[J]. arXiv preprint arXiv:1705.09587, 2017.
  13. Zhang S, Wen L, Bian X, et al. Single-shot refinement neural network for object detection[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 4203-4212.
  14. Huang L, Yang Y, Deng Y, et al. Densebox: Unifying landmark localization with end to end object detection[J]. arXiv preprint arXiv:1509.04874, 2015.
  15. Yu J, Jiang Y, Wang Z, et al. Unitbox: An advanced object detection network[C]//Proceedings of the 24th ACM international conference on Multimedia. 2016: 516-520.
  16. Law H, Deng J. Cornernet: Detecting objects as paired keypoints[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 734-750.
  17. Zhou X, Zhuo J, Krahenbuhl P. Bottom-up object detection by grouping extreme and center points[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 850-859.
  18. Zhu C, He Y, Savvides M. Feature selective anchor-free module for single-shot object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 840-849.
  19. Tian Z, Shen C, Chen H, et al. Fcos: Fully convolutional one-stage object detection[C]//Proceedings of the IEEE international conference on computer vision. 2019: 9627-9636.
  20. Kong T, Sun F, Liu H, et al. Foveabox: Beyound anchor-based object detection[J]. IEEE Transactions on Image Processing, 2020, 29: 7389-7398.
  21. Carion N, Massa F, Synnaeve G, et al. End-to-End Object Detection with Transformers[J]. arXiv preprint arXiv:2005.12872, 2020.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于深度学习的目标检测方法综述 的相关文章

随机推荐

  • 鱼眼去锯齿

    include
  • hexo更换主题后出现问题:WARN No layout: index.html

    hexo更换主题后出现问题 WARN No layout index html hexo本地测试运行重启后页面空白 hexo g出现以上错误 错误原因 运行git clone 指令获得主题后 假设是NEXT主题 在theme主题下保存文件夹
  • 火狐不能同步的问题

    火狐不能同步的问题 解决方法 下载同版本的软件并且切换成同一个服务器类型 打开 帮助 gt 关于Firefox 查看连个软件版本号和上线时间是否一致 如果不一致 则下载最新版 同版本同上线时间 的软件 如果一致 右上角菜单 gt 选项 gt
  • 【状态估计】基于UKF法、AUKF法的电力系统三相状态估计研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及数据 1 概述 基于UKF法和AUKF法的电力系统三相状
  • Unity 鼠标拖动旋转物体,并且物体不会越转越乱

    用Mathf Abs 绝对值 计算鼠标水平和竖直方向谁的位移更大 减少因为一丢丢的其他方向移动导致的物体微幅旋转影响后面物体旋转会越来越混乱 这样可以让物体旋转更好的单个方向进行旋转 代码如下 public float speed 2f v
  • vue使用富文本编辑器:vue-quill-editor粘贴图片+图片上传服务器+预览图片

    引入vue quill editor 初始化vue quill editor npm install vue quill editor save 部分页面引入组件 import quill dist quill core css impor
  • 51单片机实现串口通信(主单片机到从单片机发送LED流水灯)

    其实这是个51单片机串口通信的小例子 课堂上老师说你们可以去尝试弄一下 于是就去网上找一下资料 就做了这个实验 先把一个作为主机 用来发送数据 另一个作为从机 用来接收数据 将两个程序各自烧录到对应的板子上去 并将主机的TX P3 0 接到
  • VS C++ 生成类图

    C 中如何快速清晰的了解定义类型及类型之间的关联关系 一个好的类图有助于你快速了解 那么怎么去生成一个类图呢 下面步骤可以帮到你 一 安装类设计器组件 1 确定是否已经安装 类设计器 如果未安装 可以打开 工具 gt 获取工具和功能 或者直
  • springboot Junit单元测试默认事务不提交

    目录 一 Junit初次使用 二 Junit事务问题 1 默认不提交事务 默认回滚 2 设置rollback 让Junit提交事务 一 Junit初次使用 因为以前总觉得Junit单元测试配置比较繁琐 代码功能大多使用main方法或者pos
  • SD秋叶安装教程

    前言 本部署整合包基于开源项目 stable diffusion webui制作 部署包作者 秋葉aaaki 免责声明 本安装包及启动器免费提供 无任何盈利目的 电脑配置要求 操作系统 windows10以后 CPU 不做强制要求 内存 推
  • 输出斐波那契数列的每一项,每五个换行

    7 2 利用数组计算斐波那契数列 15 分 本题要求编写程序 利用数组计算菲波那契 Fibonacci 数列的前N项 每行输出5个 题目保证计算结果在长整型范围内 Fibonacci数列就是满足任一项数字是前两项的和 最开始两项均定义为1
  • FFmpeg录制流

    FFmpeg下windows安装 下载地址 http ffmpeg org download html windows 下载 ffmpeg release essentials zip 这个文件名 解压后将bin目录加到环境变量path 录
  • 内存使用(分段、分区、分页、多级页表、快表)--OS

    内存使用 内存使用 将程序放在内存中 PC指向内存地址 首先 我们需要让程序进入内存 举个例子 int main int argc char argv text entry 入口地址 call main call exit main ret
  • windows默认文件(桌面、下载、文档等)设置为C盘根路径后怎么修改回去

    桌面 下载 文档等设置为C盘根路径后怎么修改回去 1 问题 2 解决办法 2 1 按 Win R 调出运行窗口 输入 regedit 并按回车 2 2 在弹出的注册表窗口里 打开下面路径 计算机 HKEY CURRENT USER SOFT
  • 数据结构——迪杰斯特拉(Dijkstra)算法

    迪杰斯特拉算法又叫狄克斯特拉算法 是从一个顶点到其余各顶点的最短路径算法 解决的是有权图中最短路径问题 迪杰斯特拉算法主要特点是从起始点开始 采用贪心算法的策略 每次遍历到始点距离最近且未访问过的顶点的邻接节点 直到扩展到终点为止 以下是数
  • 【Golang】切片(slice)

    文章目录 切片 直接声明新的切片 append 函数为切片添加元素 复制切到另一个切片 从切片中删除元素 从开头位置删除 从中间位置删除 从尾部删除 切片 切片 slice 是对数组的一个连续片段的引用 所以切片是一个引用类型 这个片段可以
  • scss 转为 less

    tnpm install less plugin sass2less g sass2less scss dir name less rm rf scss 转载于 https www cnblogs com lyraLee p 1048966
  • virtualbox的虚拟机联不通外网的问题

    问题描述 在网卡配置上按照网上的操作配置好了 但是仍然联不通外网 ip地址显示为127 0 0 1 解决 通过输入dhclient v命令解决
  • Spring框架常用注解及通配符总结

    Autowired 自动注入 默认是类型匹配 使用配置文件需要set 使用注解不需要 只需要类属性 Autowired可以和 Qualifier beanName 配合着使用 Qualifier beanName 多个相同类型的bean 标
  • 基于深度学习的目标检测方法综述

    引言 现有的深度学习的目标检测方法 可以大致分为两类 一 基于候选区域的目标检测方法 二 基于回归的目标检测方法 依据方法的提出时间 可以构建出如下时间线 2014 CVPR R CNN 1 2015 arXiv DenseBox 14 2