目标检测论文综述(三)One-Stage(YOLO系列)

article/2025/8/19 18:11:06

一、CNN based One-Stage Detectors

所有论文综述均保持如下格式:
1、一页PPT内容总结一篇论文
2、标题格式一致:出处 年份 《标题》
3、内容格式一致:针对XX问题;提出了XX方法;本文证明了XXX
4、把握核心创新点,言简意赅
5、开源代码链接

强烈推荐:目标检测论文资源列表(各目标检测网络性能对比、论文链接、官方/非官方代码链接)
https://github.com/hoya012/deep_learning_object_detection#2014

一、ICLR 2014《Over Feat:Integrated Recognition, Localization and Detection using Convolutional Networks》
  • 针对:分类任务中,卷积神经网络的特征提取用于定位检测
  • 提出了:利用滑窗和规则块生成候选框,再利用多尺度滑窗增加检测结果,解决图像目标形状复杂、尺寸不一,最后用CNN、回归模型分类、定位目标
  • 本文证明了:首次提出用同一卷积网络完成多个任务(分类、定位、检测)把分类过程提取到的特征同时用于定位检测,只需要改变网络的最后几层即可
二、CVPR 2016《You Only Look Once: Unified, Real-Time Object Detection》v1
  • 针对:Two-stage目标检测速度问题
  • 提出了:第一个one-stage检测器;完全放弃“proposal detection + verification”;将单个神经网络应用于完整图像,将图像划分为多个区域,并同时预测每个区域的边界框和概率;采用Leaky ReLU
    在这里插入图片描述
    在这里插入图片描述
    缺点:与two-stage相比,定位精度下降,特别对于一些小目标,YOLO后续版本和SSD关注了该问题。
  • 本文证明了:YOLOv1能有效地提升目标检测速度
    GitHub官方源码
    GitHub非官方源码(Tensorflow)
三、CVPR 2017《YOLO9000: Better, Faster, Stronger》
  • 针对:检测速度和准确率之间的trade-off,重点解决召回率和定位精度的误差
  • 提出了:1.在每一卷积层后面加入BN;2.High resolution classifier;3.借鉴faster R-CNN,引入Anchor机制,通过预测Anchor box的偏移值与置信度,而不是直接预测坐标值;4.维度聚类(使用K-means聚类方法类训练Bounding Boxes,自动找到更好的宽高维度的值用于先验Anchor box);5.直接位置预测;6.Fine-Grained Features;7.特征融合(将高分辨率的浅层特征连接到高层进行特征融合,提高对小目标的检测能力);8.多尺度训练(训练网络时采用随机输入32倍数的图像尺寸,使网络能在不同分辨率上检测);9.采用Darknet-19主干网络
    在这里插入图片描述
  • 本文证明了:YOLOv2能有效提升检测速度和精度;此外,通过目标分类与检测的联合训练方法,可以检测多达9000种物体
    GitHub非官方源码(PyTorch)
    GitHub非官方源码(Tensorflow)
四、CVPR 2018《YOLOv3: An Incremental Improvement》
  • 针对:保证实时性基础上追求高检测精度
  • 提出了:1. bounding box中只有和ground truth的IOU最大的bounding box才是用来预测该object;2.多标签分类,每个候选框可预测多个分类,将softmax换成逻辑回归层;3.多尺度预测,类似FPN;4.更好的基础分类网络darknet-53
  • 本文证明了:YOLO系列的最强版本
    GitHub非官方源码(PyTorch)
    GitHub非官方源码(Tensorflow)
五、ECCV 2016《SSD:Single Shot MultiBox Detector》
  • 针对:多尺度物体检测
  • 提出了:引入多参考和多分辨率检测技术,采用多尺度特征图做预测;采用卷积进行检测;设置先验框;SSD中的数据增广可以多学习
    在这里插入图片描述
  • 本文证明了:该技术显著提高了one-stage的检测精度,尤其对于某些小物体
    GitHub非官方源码(PyTorch)
    GitHub非官方源码(Tensorflow)
六、ICCV 2017《RetinaNet:Focal Loss for Dense Object Detection》
  • 针对:One-stage检测精度不如two-stage,极端前景-背景(正负样本)类别不均衡导致
  • 提出了:交叉熵损失基础上,提出focal loss(只能说非常好用!),以便检测器在训练过程中将更多的注意力放在困难、分类错误的示例上
    在这里插入图片描述
  • 本文证明了:Focal Loss使one-stage达到two-stage相当的精度,同时保持非常高的检测速度
    GitHub非官方源码(PyTorch)
    GitHub非官方源码(Tensorflow)

二、说明

  • 博客内容只是总结每篇论文的主要创新点,针对什么问题,提出了什么方法,没有翻译论文,也没有详细阐述论文中提出的网络结构,实验方法。原因在于:网上有很多关于各种论文的详细翻译、理解,但读者很难集中时间去消化理解每一篇论文内容,往往都是看完一篇过几天就忘记了,所以本文采用这种总结方式,简洁明了,使其对基于One-stage的目标检测网络有一整体的认识。
  • 以上内容均基于本人看论文的理解,可能在某些总结上存在错误或者理解不够,恳请大家能在留言提出来,我会及时修改,我希望通过写博客的方式,加深对论文的理解,并期望得到提高,谢谢大家!

http://chatgpt.dhexx.cn/article/yiWC5Fi7.shtml

相关文章

【半监督论文综述】A survey on semi-supervised learning

下载 半监督学习 1. 半监督学习1.1 三个假设1.1.1 平滑假设1.1.2 低密度假设1.1.3 流形假设1.1.4 聚类假设 1.2. 评估半监督学习算法 2. 半监督学习算法分类2.1 Inductive methods2.1.1. Wrapper methods2.1.1.1 Self-training2.1.1.2 Co-Training2.1.1.2.1 Multi-view co-tra…

综述类论文怎么写?

综述类论文的关键点在于必须要有一个明确有效的叙述结构。严格来说,这类文章并没有固定的结构安排要求,但一个科学有效的叙述结构不仅会让作者的表达逻辑更为清晰和条理,还能帮助读者减少阅读困难,提高阅读效率,对论述…

视频理解论文综述

A Comprehensive Study of Deep Video Action Recognition TSN网络是一个很经典的网络,如果不知道的自己查... 基于TSN的改进论文分了三大类: 其他资料: Temporal Segment Network TSN提出的背景是当时业界做动作识别都是用 Two-stream …

毕业论文第一步--如何快速写出让人眼前一亮的文献综述论文(citspace)

一、文献综述是什么? 文献综述简称综述,是对某一领域,某一专业或某一方面的课题、问题或研究专题搜集大量相关资料,然后通过阅读、分析、提炼、整理当前课题、问题或研究专题的最新进展、学术见解或建议,对其做出综合性…

论文综述是写什么?

各位客官,走过路过不要错过,现在的你可能是一名刚步入大学的论文新手,也可能是一名刚上大四的学生,正准备开始写毕业论文。那么这篇文章我来给大家讲讲论文的综述是究竟是要写什么,为什么说文献综述奠定了一篇论文的优…

Matlab初始化太慢及相应的设置方法

前几天装的MATLAB2017,但是初始化太慢的问题一直没解决,如下: 等4-5分钟才就绪,真的很浪费时间,然后百度别人的解决方案,看到网上很多是文字描述,实践的截图都没几个(本人喜欢图文解…

matlab四维插值程序,matlab练习程序(向量插值)

有两个向量,我们想从起始向量平滑的过度到终止向量,那么中间的向量就可以通过插值的方式得到。 这在图形学中图形旋转或者机器人中物体姿态旋转都可以用到。 有三种方法:Lerp,NLerp和SLerp。 Lerp为线性插值,公式如下: NLerp为线性插值后归一化,公式如下: SLerp为球面插…

MATLAB程序设计

文章目录 1 程序基础2 数据类型和运算2.1 常量和变量2.2 数值数据2.3 字符数据2.4 逻辑数据类型2.5 日期和时间2.6 单元数组和结构体 3 数组与矩阵3.1创建数组3.2 数组运算3.3 数组处理函数3.3.1 zero/ones函数3.3.2 size/length函数3.3.3 max/min函数3.3.4 isempty函数3.3.5 u…

matlab-m脚本调用simulink无法运行的原因(本身设置了初始化函数

matlab-m脚本调用simulink无法运行的原因(本身设置了初始化函数) 最近从MATLAB中调用simulink模块老是不成功一直提示如下错误: 该错误的意思是,在运行PosControl这个模块之前,它本身还会运行自己设置的初始化函数In…

Isight与MATLAB联合仿真时出现:无法定位或初始化类(unsupported major minor version 52.0)

文章目录 一、报错页面二、解决方法三、仿真示例四、运行注意事项 一、报错页面 Isight 调用MATLAB的时候,MATLAB页面报错,出现如下页面: 二、解决方法 解决方法如下: 双击malab组件 1.选择options 2.Drive Matlab with Jav…

VS2019调用Matlab2019b生成的dll时初始化异常

VS2019调用matlab动态链接库遇到的问题 在Visual Studio中使用C调用Matlab程序VS与MATLAB版本选择VS与MATLAB混编的环境配置初始化异常的解决0xc0000005处理Debug错误:xsd_binder::MalformedDocumentError 在Visual Studio中使用C调用Matlab程序 我目前在写一个用V…

MATLAB一直显示“正忙”或“初始化”

解决方案 1 MATLAB 在启动时,一直停留在“正在初始化”的状态,有可能是因为 MATLAB 一直在找着本机的许可证。 有可能是设置了 LM_LICENSE_FILE 的环境变量。这个变量告诉 MATLAB 或者其他应用程序去哪里查找许可证文件。如果您有一个网络许可证&#xf…

C++和MATLAB混合编程——初始化mwArray失败解决方法!

首先,按这样设置, [填坑]VS2017与MATLAB2016b混合编程(生成dll方式)_清凉简装的博客-CSDN博客_matlab生成dllMATLAB 生成 dll 前的工作1、配置MATLAB环境控制面板->所有控制面板项->系统->高级系统设置->高级->环…

MATLAB打开后一直在初始化,或者初始化很慢问题

问题描述:遇到MATLAB启动较慢,进入主界面后,一直停留在“正在初始化”的状态。浪费很多时间。这种问题大多是因为MATLAB软件在启动时寻找本机的许可证或者是设置了 LM_LICENSE_FILE 的环境变量。这个变量告诉 MATLAB 或者其他应用程序去哪里查…

解决MATLAB一直初始化,加速MATLAB

之前,在做课设时,遇到MATLAB启动较慢,进入主界面后,一直停留在“正在初始化”的状态。浪费很多时间。逛了逛MATLAB中文社区,发现这种问题大多是因为MATLAB软件在启动时寻找本机的许可证或者是设置了 LM_LICENSE_FILE 的…

QT和matlab混合编程以及maltab程序化初始化失败

一. 内容简介 需要用QT调用matlab代码完成计算,并获取计算结果。 二. 软件环境 2.1QT 5.14.1 新版QT6.4,,6.5在线安装经常失败,而5.9版本又无法编译64位程序,所以就采用5.14.1这个用的比较多也比较稳定的一个版本。 QT编译器…

Matlab R2018a初始化问题

前几天装的MATLAB2018(我装在C盘,用的是在线安装,自己下的License破解了),但是初始化问题一直没解决,下面显示我遇到的问题: 等4-5分钟才就绪,真的很浪费时间,然后百度别…

Matlab一直初始化进不去程序之一种解决办法

很多解决办法不行的时候你可以试试在设置里把区域改成中国 究其原因可能是因为破解版的是中国的,然后在联网使用matlab时IP认证不通过

matlab初始化界面卡住,Matlab初始化initializing极慢解决方法

Matlab初始化initializing极慢解决方法 Matlab升级以后,功能的确丰富了好多,有些函数也更加人性话了,好多bug也没有了。但是可恼的是,这个该死的家伙却一天比一天肥,MATLAB7.6a居然达到了3.76G,启动和打开…

12306购票辅助工具

前段时间在GitHub上看到一段刷票的脚步代码,下下来稍稍改了下加了个简陋的UI界面,另外把车站列表等信息弄成了csv文件,方便不改源码的情况下添加车站。 先上核心内容: try:if hasattr(print_func, __call__):print_func(开始刷票…