9.1.1 简述目标检测领域中的单阶段模型和两阶段模型的性能差异及其原因

9.1目标检测

场景描述

  • 目标检测(Object Detection)任务是计算机视觉中极为重要的基础问题,也是解决实例分割(Instance Segmentation)、场景理解(Scene Understanding)、目标跟踪(ObjectTracking)、图像标注(Image Captioning)等问题的基础

  • 目标检测,顾名思义,就是检测输入图像中是否存在给定类别的物体,如果存在,则输出物体在图像中的位置信息。这里的位置信息通常用矩形边界框(bounding box)的坐标值来表示。

  • 物体检测模型大致可以分为单阶段(one-stage)模型两阶段(two-stage)模型两大类。

  • 本节分析和对比了这两类模型在架构、性能和效率上的差异,给出了原理解释,并介绍了其各自的典型模型和发展前沿,以帮助读者对物体检测领域建立一个较为全面的认识。

知识点
物体检测、单步模型、两步模型、R-CNN系列模型、YOLO系列模型

9.1.1 简述目标检测领域中的单阶段模型和两阶段模型的性能差异及其原因

  • 单阶段模型

    • 单阶段模型是指没有独立地、显式地提取候选区域(region proposal),直接由输入图像得到其中存在的物体的类别和位置信息的模型。

    • 典型的单阶段模型有

      • OverFeat[1]、
      • SSD(Single Shotmultibox-Detector)[2]、
      • YOLO(You Only Look Once)[3-5]系列模型等。

两阶段模型

  • 两阶段模型独立的、显式的候选区域提取过程,即先在输入图像上筛选出一些可能存在物体的候选区域,然后针对每个候选区域,判断其是否存在物体,如果存在,就给出物体的类别和位置修正信息。

  • 典型的两阶段模型有

    • R-CNN [6]
    • SPPNet [7]
    • Fast R-CNN[8]
    • Faster R-CNN[9]
    • R-FCN[10]
    • Mask R-CNN[11]等
    性能差异

    图9.1总结了目标检测领域重一些典型模型(包括单阶段和两阶段)的发展历程(截止2017年年底)[12]。

    在这里插入图片描述

    一般来说,单阶段模型计算效率上有优势两阶段模型检测精度上有优势

    参考文献[13]对比了Faster R-CNN和SSD等模型在速度和精度上的差异,如图9.2所示。

    在这里插入图片描述

注:图9.2中,SSD的颜色是棕色圆圈。R-FCN是深绿色圆圈。

可以看到:

当检测时间较短时,单阶段模型SSD能取得更高的精度;

而随着检测时间的增加,两阶段模型Faster R-CNN则在精度上取得优势。

在速度和精度上的差异原因

对于单阶段模型与两阶段模型在速度和精度上的差异,学术界一般认为有如下原因。

  1. 摘要两阶段模型有独立候选框提取步骤,所以到第二步分类和修正候选框的时候,正负样本比例平衡

    单阶段模型负样本比例较大

  • 单阶段模型:大多数单阶段模型是利用**预设的锚框(Anchor Box)**来捕捉可能存在于图像中各个位置的物体。

    因此,单阶段模型会对数量庞大的锚框进行是否含有物体及物体所属类别的密集分类

    由于一幅图像中实际含有的物体数目远小于锚框的数目,因而在训练这个分类器时正负样本数目是极不均衡的,这会导致分类器训练效果不佳

    RetinaNet(14)通过Focal Loss抑制负样本对最终损失的贡献以提升网络的整体表现

  • 两阶段模型:在两阶段模型中,由于含有独立的候选区域提取步骤第一步就可以筛选掉大部分不含有待检测物体的区域(负样本),在传递给第二步进行分类和候选框位置/大小修正时,正负样本的比例已经比较均衡,不存在类似的问题

  1. 摘要两阶段模型修正了两次候选框单阶段模型没有修正,所以单阶段模型质量较差
  • 两阶段模型:在候选区域提取的过程会对候选框的位置和大小进行修正,因此在进入第二步前,候选区域的特征已被对齐,这样有利于为第二步的分类提供质量更高的特征。

    另外,两阶段模型在第二步中候选框会被再次修正,因此一共修正了两次候选框,这带来了更高的定位精度,但同时也增加了模型复杂度

  • 单阶段模型:没有候选区域提取过程,自然也没有特征对齐步骤,各锚框的预测基于该层上每个特征点的感受野,其输入特征未被对齐,质量较差,因而定位和分类精度容易受到影响

  1. 摘要:两阶段模型在第二部对候选框进行分类和回归时,受累于大量候选框,所以两阶段模型存在计算量大、速度慢的问题
  • 两阶段模型:以Faster R-CNN为代表的两阶段模型在第二步对候选区域进行分类和位置回归时,是针对每个候选区域独立进行的,因此该部分的算法复杂度线性正比于预设的候选区域数目,这往往十分巨大,导致两阶段模型的头重脚轻(heavy head)问题。

    解决:近年来虽然有部分模型(如Light-Head R-CNN[15])试图精简两阶段模型中第二步的计算量,但较为常用的两阶段模型仍受累于大量候选区域,相比于单阶段模型仍存在计算量大、速度慢的问题。

最新的一些基于

  • 单阶段模型的物体检测方法有CornerNet[16]、RefineDet[17]、ExtremeNet[18]等

  • 两阶段模型的物体检测方法有PANet[19]、Cascade R-CNN[20]、Mask Score R-CNN[21]等

参考文献:

[1]SERMANET P, EIGEN D, ZHANG X, et al. OverFeat: Integrated recognition,localization and detection using convolutional networks[J]. arXiv preprintarXiv:1312.6229,2013.
[2]LIU W,ANGUELOV D, ERHAN D, et al. SSD: Single shot multibox detector[C]//European Conference on Computer Vision. Springer, 2016: 21-37.
[3]REDMON J,DIVVALA S, GIRSHICK R, et al. You only look once: Unified, real-time object detection[C]//Proceedings of the IEEE Conference on ComputerVision and Pattern Recognition, 2016: 779-788.
[4] REDMON J, FARHADI A. YOLO9000: Better, faster, stronger[C]//Proceedingsof the IEEE Conference on Computer Vision and Pattern Recognition, 2017:7263-7271.
[5]REDMON J, FARHADI A. YOLOv3: An incremental improvement[J]. arXivpreprint arXiv:1804.02767,2018.
GIRSHICK R, DONAHU J,DARRELL T, et al. Rich feature hierarchies for[9]accurate object detection and semantic segmentation[C]//Proceedings of theIEEE Conference on Computer Vision and Pattern Recognition, 2014:580-587.
[7] HE K,ZHANG X, REN S,et al. Spatial pyramid pooling in deep convolutionalnetworks for visual recognition[J]. IEEE Transactions on Pattern Analysisand Machine Intelligence, IEEE, 2015,37(9):1904-1916.
[8]GIRSHICK R. Fast R-CNN[C]//Proceedings of the IEEE International Conferenceon Computer Vision, 2015: 1440-1448.
[9]REN S,HE K,GIRSHICK R, et al. Faster R-CNN: Towards real-time objectdetection with region proposal networks[C]//Advances in Neural InformationProcessing Systems, 2015:91-99.
[10] DAI J, LI Y, HE K, et al. R-FCN: Object detection via region-based fully convolutional networks[C]//Advances in Neural Information Processing Systems, 2016: 379-387.

[11] 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.
[12] LIU L, OUYANG W, WANG X, et al. Deep learning for generic object detection:A survey[J]. arXiv preprint arXiv:1809.02165,2018.
[13] HUANG J, RATHOD V, SUN C, et al. Speed/accuracy trade-offs for modernconvolutional object detectors[C]//Proceedings of the IEEE Conference onComputer Vision and Pattern Recognition, 2017: 7310-7311.
[14] LIN T-Y,GOYAL P,GIRSHICK R, et al. Focal loss for dense object detection[C]//Proceedings of the IEEE International Conference on Computer Vision,2017:2980-2988.
[15] LI Z, PENG C, YU G, et al. Light-head R-CNN: In defense of two-stage objectdetector[J].arXiv preprint arXiv:1711.07264,2017.
[16] LAW H, DENG J. CornerNet: Detecting objects as paired keypoints[C]//Proceedings of the European Conference on Computer Vision, 2018:734-750.
[17] ZHANG S, WEN L, BIAN X, et al. Single-shot refinement neural network forobject detection[C]//Proceedings of the IEEE Conference on Computer Visionand Pattern Recognition, 2018: 4203-4212.
[18] ZHOU X, ZHUO J,KRÄHENBÜHL P. Bottom-up object detection by groupingextreme and center points[J]. arXiv preprnt arXiv:1901.08043,2019.
[19] LIU S, QI L,QIN H,et al. Path aggregation network for instance segmentation [C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2018:8759-8768.
[20] CAI Z, VASCONCELOS N. Cascade R-CNN: Delving into high qualityobject detection[C]//Proceedings of the IEEE Conference on Computer Visionand Pattern Recognition, 2018:6154-6162.
[21] HUANG Z,HUANG L, GONG Y,et al. Mask scoring R-CNN[C]//Proceedings ofthe IEEE Conference on Computer Vision and Pattern Recognition,2019:6409-6418.

参考文献:

《百面深度学习》 诸葛越 江云胜主编

出版社:人民邮电出版社(北京)

ISBN:978-7-115-53097-4

2020年7月第1版(2020年7月北京第二次印刷)

推荐阅读:

//好用小工具↓

分享一个免费的chat工具

分享一个好用的读论文的网站

// 深度学习经典网络↓

LeNet网络(1989年提出,1998年改进)

AlexNet网络(2012年提出)

VGGNet网络(2014年提出)

LeNet、AlexNet、VGGNet总结

GoogLeNet网络(2014年提出)

ResNet网络(2015年提出)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/21753.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

subline text3安装numpy,scipy,matplotlib,pandas,sklearn,ipynb

1,numpy(基础数值算法) 安装,要是在cmd直接安装到最后会报错, import numpy as np ModuleNotFoundError: No module named numpy 直接进入python环境,输入python -m pip install numpy就不会报错…

云端数据提取:安全、高效地利用无限资源

在当今的大数据时代,企业和组织越来越依赖于云平台存储和处理海量数据。然而,随着数据的指数级增长,数据的安全性和高效的数据处理成为了企业最为关心的议题之一。本文将探讨云端数据安全的重要性,并提出一套既高效又安全的数据提…

浅测 长亭雷池 WAF “动态防护”

本文首发于 Anyeの小站 前言 雷池 WAF 社区版的更新速度是真快啊,几乎一周一个小版本,俩月一个大版本,攻城狮们真的狠啊,没法测了。 废话不多说,前两天看到了 这篇文章,对雷池的“动态防护”功能挺感兴趣…

去掉el-table表头右侧类名是gutter,width=17px的空白区域(包括表头样式及表格奇偶行样式和表格自动滚动)

代码如下&#xff1a; <el-table:data"tableData"ref"scroll_Table":header-cell-style"getRowClass":cell-style"styleBack"height"350px"style"width: 100%"><el-table-column prop"id" l…

Scrum团队在迭代中如何处理计划外的工作

认为 Scrum 团队不做计划其实是一个误区&#xff0c;实际上很多 Scrum 团队在冲刺计划会议以及在细化工作项时均会进行详细规划。此外&#xff0c;他们还会创建一个路线图&#xff0c;以便显示他们在多个冲刺中的计划。 Scrum 团队需要经常进行计划&#xff0c;以便在不断变化…

混合动力电动汽车介绍(二)

接续前一章内容&#xff0c;本篇文章介绍混合动力汽车串联、并联和混联的系统组成和工作原理。 一、串联混合动力电动汽车的系统组成和工作原理 上图为串联混合动力电动汽车的结构简图。汽车由电动机-发电机驱动行驶&#xff0c;电机控制器的动力来自油箱-发动机-发电机-发电机…

基于Spring Boot框架的分页查询和文件上传

分页查询 分析 要想从数据库中进行分页查询&#xff0c;我们要使用LIMIT关键字&#xff0c;格式为&#xff1a;limit 开始索引 每页显示的条数 假设一页想展示10条数据 查询第1页数据的SQL语句是&#xff1a; select * from emp limit 0,10; 查询第2页数据的SQL语句是&…

6、架构-服务端缓存

为系统引入缓存之前&#xff0c;第一件事情是确认系统是否真的需要缓 存。从开发角度来说&#xff0c;引入缓存会提 高系统复杂度&#xff0c;因为你要考虑缓存的失效、更新、一致性等问题&#xff1b;从运维角度来说&#xff0c;缓存会掩盖一些缺 陷&#xff0c;让问题在更久的…

npm彻底清理缓存

在使用npm过程中&#xff0c;肯定会遇到清缓存的情况&#xff0c;网上的命令一般为 npm cache clear --force有时笔者在清理缓存之后npm install依然失败&#xff0c;仔细发现&#xff0c;执行该命令之后npm报了一个警告 npm WARN using --force Recommended protections dis…

代码随想录算法训练营第27天|● 39. 组合总和● 40.组合总和II● 131.分割回文串

组合总和 题目链接 39. 组合总和 - 力扣&#xff08;LeetCode&#xff09; 代码&#xff1a; class Solution {public List<List<Integer>> res new ArrayList<>();public List<Integer> list new ArrayList<>();public int sum 0;/**…

LoadRunner 录制脚本时提示无Internet访问/加载慢,如何解决?

LoadRunner 录制脚本时提示无Internet访问/加载慢&#xff0c;如何解决&#xff1f; 在使用LoadRunner 12.02 进行录制脚本时提示无Internet访问&#xff0c;这是如下图&#xff1a; 翻译中文如下&#xff1a; 这里&#xff0c;我认为大家应该都已经点过yes了&#xff0c;但是…

python结构化模式匹配switch-case,Python 3.10中引入,Python的模式匹配(pattern matching)语法

增加了采用模式加上相应动作的 match 语句 和 case 语句 的形式的结构化模式匹配。 模式由序列、映射、基本数据类型以及类实例构成。 模式匹配使得程序能够从复杂的数据类型中提取信息、根据数据结构实现分支&#xff0c;并基于不同的数据形式应用特定的动作。 语法与操作 模…

Linux下配置Pytorch

1.Anaconda 1.1虚拟环境创建 2.Nvidia驱动 3.CUDA驱动安装 4.Pytorch安装 具体的步骤如上&#xff1a;可参考另一位博主的博客非常详细&#xff1a; Linux服务器配置PythonPyTorchCUDA深度学习环境_linux cuda环境配置-CSDN博客https://blog.csdn.net/NSJim/article/detai…

极海APM32F072用Keil5烧录失败Error: Flash Download failed -“Cortex-MO+“

在用Keil5烧录时&#xff0c;出现错误弹窗&#xff0c;大概长这样&#xff1a; 检查了一圈设置&#xff0c;都搞不好。 先用J-Flash&#xff0c;显示读写保护&#xff08;未截图&#xff09;&#xff0c;会跳出界面让选择是否解除读写保护&#xff1a; 1.点击允许读操作YES&am…

DNF手游攻略:0氪攻略,转职技巧与避坑指南!

在DNF手游的冒险旅程中&#xff0c;角色的转职是一次重要的成长经历。通过转职&#xff0c;玩家可以获得全新的技能和属性&#xff0c;提升自己在地下城中的战斗力。本文将为您介绍转职后的关键技巧和日常任务&#xff0c;帮助您更好地适应新的职业身份&#xff0c;成为地下城中…

Python从0到100(二十九):requests模块处理cookie

1 爬虫中使用cookie 为了能够通过爬虫获取到登录后的页面&#xff0c;或者是解决通过cookie的反扒&#xff0c;需要使用request来处理cookie相关的请求 1.1 爬虫中使用cookie的利弊 带上cookie的好处 能够访问登录后的页面能够实现部分反反爬 带上cookie的坏处 一套cookie往往…

【设计模式】JAVA Design Patterns——Monitor(监视器模式)

&#x1f50d;目的 主要目的是为多个线程或进程提供一种结构化和受控的方式来安全地访问和操作共享资源&#xff0c;例如变量、数据结构或代码的关键部分&#xff0c;而不会导致冲突或竞争条件。 &#x1f50d;解释 通俗描述 监视器模式用于强制对数据进行单线程访问。 一次只允…

ROS2在RVIZ2中加载机器人urdf模型

参考ROS2-rviz2显示模型 我这边用的solid works生成的urdf以及meshes&#xff0c;比参考的方法多了meshes 问题一&#xff1a;Error retrieving file [package://rm_dcr_description/meshes/leftarm_link7.STL]: Package [rm_dcr_description] does not exist 这个是urdf模型中…

VisualStudio中:如果某个项目不显示SVN的show log等,而其他项目都正常

VisualStudio中&#xff1a;如果某个项目不显示SVN的show log等&#xff0c;而其他项目都正常。说明大概率是当前项目的问题&#xff0c;而不是VisualStudio的问题&#xff01; 1.这个项目内有一个“隐藏”文件夹.svn 》先删除&#xff01; 2.如果外层文件夹有红色感叹号&…

Csv--01--ExportUtil 写文件

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 ExportUtil案例&#xff1a; ExportUtil.writeCsvFile ExportUtil import com.alibaba.fastjson.JSON; import com.google.common.collect.Lists;import org.apache…