目标检测从两阶段R-CNN系列到单阶段YOLO系列精炼

本文介绍了目标检测技术的发展历程,从两阶段的R-CNN系列到单阶段的YOLO系列,详细解析了各算法的基本流程、特点及优化。涵盖R-CNN、SPP-Net、FastR-CNN、FasterR-CNN及YOLO各版本的关键技术和性能表现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


基于神经网络的目标检测方法,可以分为两类:
1)两阶段目标检测

  • R-CNN
  • SPP-Net
  • Fast R-CNN
  • Faster R-CNN
  • R-FCN
  • Mask R-CNN等

两阶段目标检测方法将目标检测任务分为两个步骤:

  • 第一阶段:区域提议:首先,网络会生成一些候选区域或“锚框”——这些区域可能包含目标。这个阶段的任务是从输入图像中提取出可能含有目标的区域。
  • 第二阶段:分类与回归:然后,网络会对每个提议区域进行精确分类,并回归物体的边界框坐标。

2)单阶段目标检测

  • SSD
  • YOLO
  • RetinaNet
  • RefineDet 等

单阶段目标检测方法直接从输入图像中预测物体的类别和位置(边界框)。通常,它的过程包括:

  • 特征提取:使用卷积神经网络(CNN)从输入图像中提取特征。
  • 预测阶段:在特征图上直接进行目标检测,预测每个位置的类别标签和边界框坐标。

1. 两阶段之R-CNN

1.1 算法基本流程

在这里插入图片描述
如上图所示,R-CNN这个物体检查系统可以大致分为四步进行:
1).获取输入图像
2).使用selective search的提取约2000个候选区域
3).将候选区域调整为统一尺寸227x227,分别输入CNN网络 AlexNet中,提取特征
4).将CNN的输出输入SVM中进行类别的判定
5).使用区域特征训练线性回归器,对区域未知进行调整。

1.2 训练过程中的微调

CNN的输出由1000个神经元分类层–> 随机初始化N+1个神经元分类层。N–类别个数,1–背景。论文中N=20

1.3 边界回归

减小目标定位误差。一个线性回归模型预测一个新的目标边界框的位置。

1.4 R-CNN问题

  • 计算量大
    2000个候选区域边界框,都需要进行CNN特征提取和SVM训练分类,计算量极大;所以R-CNN的检测速度非常慢。
  • 提取区域质量不好
    selective search提取的区域质量不好。
  • 训练时间长
    特征提取和SVM分类器是分模块独立训练,没有进行联合系统优化,训练耗时长。

2. 两阶段之SPP-Net

众所周知,CNN的全连接层需要固定大小的输入;所以当输入数据的尺寸不满足需求时,就需要对输入数据进行特殊处理,比如Cropping或者Warping方法。

  • crop
    从一个大图中选取需求大小的patch,比如227×227
  • warp
    把一个边界框bounding box的内容大小通过拉伸或者缩放成227×227。

然而,这两种方法也有缺点。cropped region 有可能包含不了整个目标;warped内容可能导致不想要的几何扭曲。
在这里插入图片描述
对此,SPP-Net作者提出在卷积层和全连接层间,加入某种结构,使其这种结构的输出符合全连接层的需求大小尺寸。而这种结构就是SPP-Net。其中SPP是Spatial Pyramid Pooling空间金字塔池化的简称。

2.1 原图只一次CNN全图特征

与R-CNN形成明显对比,为了高效;SPP Net
1)只对原图进行一次卷积计算,得到整幅图像的特征图
2)在特征图的对应区域找到每个候选边界框的映射区域
3)将此区域作为每个候选边界框的卷积特征输入到SPP层和后面的层

2.2 空间金字塔池化SPP

在这里插入图片描述
从图中看,SPP Net结构中加入了ROI池化层(ROI Pooling),使得网络的输入图像可以是任意尺寸的,但是输出不变,保持一个固定维数的向量。
在SPP layer中每一个pooling的filter会根据输入调整大小,而SPP的输出则是固定维数的向量,然后输入给全连接层。

3. 两阶段之Fast R-CNN

作者基于R-CNN和SPP-Net,为了简化R-CNN的计算复杂度,提出了Fast R-CNN:
1)使用与SPP Net的SPP层类似的ROI Pooling layer
文章中,感兴趣区域池化层是SPP空间金字塔池化层的简化版,只有一层。使用最大池化的方法将ROI转换成固定大小的HW的特征图(比如77)。
2)目标分类和边界框回归合并
目标分类和边界框回归合并成一个多任务模型放到神经网络内部;同时,可以共享CNN卷积特征。用softmax+regression 代替svm+regression。

在这里插入图片描述
以下是Faster R-CNN和Fast R-CNN的异同之处,盗用百度,见谅!!!
在这里插入图片描述

在这里插入图片描述

4. 两阶段之Faster R-CNN

Fast R-CNN虽然在速度和精度上有了显著的提升,但是需要额外消耗时间使用外部算法来找出所有的候选框。
因此,Shaoqing Ren和Kaiming He等人,又提出了Faster R-CNN,将提取目标候选框的工作整合到神经网络中。

文章引入Region Proposal Network(RPN)替代Selective Search,并且引入anchor box应对目标形状的变化问题(anchor就是位置和大小固定的box,可以理解成事先设置好的固定的proposal)。

作为Fast R-CNN的升级版,可将Faster R-CNN看成是RPN+Fast R-CNN,并且RPN和Fast R-CNN共享一部分卷积。基本步骤:将图像送入Faster R-CNN检测;图像经过卷积层conv layer,得到特征图;特征图送入RPN中,得到候选框;候选框和特征图一起进入感兴趣区域池化层;最后得出分类结果

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5. 2015年单阶段之YOLO-v1

论文:You Only Look Once: Unified, Real-Time Object Detection
双阶段的各种经典模型,检测速度越来越快;但是仍然不能满足实时检测的需求。于是各种单阶段目标检测方法应运而生。
YOLO是最早出现的单阶段目标检测方法,也是第一个实现了实时目标检测方法。
1)主题思想
整张图作为网络的输入,直接在图像的多个位置上回归出这个位置的边界框,以及目标所属的类别。
在这里插入图片描述
2)流程图

  • 给定一张输入图像,将图像分成S*S的网格
  • 每个网格单元预测B个边界框以及这些边界框的置信度分数
  • 根据阈值去除可能性比较低的目标窗口,最后非极大值抑制NMS去除冗余窗口

在这里插入图片描述
3)置信度

  • we define confidence as Pr(Object) ∗ IoU (预测边界框和真值边界框的IoU)
  • Each bounding box consists of 5 predictions: x, y, w, h, and confidence;The (x; y) coordinates represent the center of the box relative to the bounds of the grid cell
  • Each grid cell also predicts C conditional class probabilities, Pr(Classi | Object).
  • class-specific confidence scores for each box
    在这里插入图片描述

For evaluating YOLO on PASCAL VOC, we use S = 7, B = 2. PASCAL VOC has 20 labelled classes so C = 20.
Our final prediction is a 7 × 7 × 30 tensor.

4) 网络结构

24个卷积层和2个全连接层;使用基于GoogleNet架构的自定义网络DarkNet作为基础网络。
在这里插入图片描述

6. 2016年单阶段之YOLO-v2

基于YOLO-v1的一些缺点(大量定位误差和较低的召回率Error analysis of YOLO compared to Fast R-CNN shows that YOLO makes a significant number of localization errors. Furthermore, YOLO has relatively low recall compared to region proposal-based methods),YOLO作者又提出了v2版本。
论文:YOLO9000: Better, Faster, Stronger

6.1 yolo-v2 特点

有如下特点:
1)提高召回率和改进定位,同时保持分类准确性。( Thus we focus mainly on improving recall and
localization while maintaining classification accuracy.)
2)批标准化Batch Normalization操作;移除dropout。(By adding batch normalization on all of the convolutional layers in YOLO we get more than 2% improvement in mAP. Batch normalization also helps regularize the model. With batch normalization we can remove dropout from the model without overfitting)。全卷积网络结构 Conv+Batch Norm
3)引入anchor boxes预测边界框,去掉全连接层。(We remove the fully connected layers from YOLO and use anchor boxes to predict bounding boxes)。K-Means聚类Anchor

6.2 yolo-v2 表现

加入新的策略后,有如下表现:
1)Batch Normalization。mAP提高了2%
2)anchor boxes。预测边界框数量超过1000个;尽管mAP略有下降,但是召回率上升了。

6.3 yolo-v2 网络结构

使用DarkNet-19分类网络:19个卷积层和5个最大池化层。
在这里插入图片描述

7. 2018年单阶段之YOLO-v3

论文:《YOLOv3: An Incremental Improvement

7.1 特点优化

  • 骨干网络 DarkNet53
  • 多尺度预测,跨尺度特征融合
  • COCO数据集聚类9中不同尺度Anchor
  • 分类使用sigmoid激活,支持目标多分类

速度快;320*320 28.2mAP情况下,22ms,即1秒50帧左右。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8. 2020年单阶段之YOLO-v4

论文:《YOLOv4: Optimal Speed and Accuracy for Real-Time Object Detection

9. 2020年单阶段之YOLO-v5(非官方)

  • 非官方版本
    YOLOv5不是原作者(Joseph Redmon)的官方版本,虽然它在社区中非常流行,但它没有正式的论文支持。
  • 主要创新
    更轻量的架构:YOLOv5是一个非官方版本,由Ultralytics团队开发,针对实际应用进行了许多优化。YOLOv5并没有发表论文,但它通过PyTorch实现,简化了代码结构,增加了更多的模块和工具,使得训练和部署更加便捷。
    自动化的超参数调节:YOLOv5在训练过程中提供了自动化的超参数调节,使得模型更易于优化。
    多种模型大小:YOLOv5提供了多种模型大小(如Small、Medium、Large等),使得模型可以在不同资源环境下进行选择。
  • 优点
    速度和精度:YOLOv5在精度上与YOLOv4相当,但在速度和模型体积上进行了优化,适用于多种实时检测场景。
    易于部署和使用:YOLOv5由于其简洁的代码结构和强大的文档支持,使得用户能够快速地进行训练和部署。

YOLO-v5的项目团队是 Ultralytics LLC 公司,它是一个专注于深度学习和人工智能(AI)领域的公司,特别是在计算机视觉和目标检测技术方面。github项目star数已达 46.5 k,是应用最广泛的YOLO版本。
github项目地址:https://github.com/ultralytics/yolov5

10. 2022年单阶段之YOLO-v6

论文:《YOLOv6: A Single-Stage Object Detection Framework for Industrial Applications

  • 主要创新
    高效的架构:YOLOv6在YOLOv5的基础上进一步优化,使用了更多创新的网络结构和技术,如更加高效的Backbone和优化的特征融合模块。
    小物体检测优化:YOLOv6尤其在小物体检测上进行了优化,增强了模型对小物体的识别能力。
  • 优点
    更高效的计算:YOLOv6在不牺牲精度的情况下,进一步优化了计算效率,使得在资源受限的设备上也能运行。
    精度和速度兼顾:与YOLOv5相比,YOLOv6在精度和速度上做出了良好的平衡,适合更广泛的应用场景。

11. 2022年单阶段之YOLO-v7

论文:《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors

  • 网络结构:
    YOLOv7在网络架构上延续了YOLOv4和YOLOv5的一些设计,并引入了一些新的技术和改进。具体来说,它采用了以下几种重要的技术:
    CSPDarknet53 Backbone:YOLOv7的主干网络(backbone)基于CSPDarknet53,这是一种改进的Darknet网络,采用了CSPNet(Cross-Stage Partial Networks)结构,能够有效地减少计算量并提高特征提取的效率。
    PANet (Path Aggregation Network):YOLOv7继续使用PANet作为特征融合模块。PANet通过强化不同尺度特征的传递和融合,能够提高小物体的检测精度。
    YOLOv4的改进:YOLOv7借鉴了YOLOv4中关于 SPP(Spatial Pyramid Pooling) 和 YOLOv4的多尺度训练 技术,进一步提高了在各种尺寸物体的检测能力。
    Freebies与Augmentations:
    Bag of Freebies:YOLOv7引入了“Bag of Freebies”(Bof),这一概念指的是不增加额外计算量的优化策略。这些优化技巧包括:更多的数据增强方法、标签平滑、正则化等,能够提高训练时的模型鲁棒性。
    Label Smoothing:通过标签平滑,减少过拟合并提升模型的泛化能力。
    数据增强(如Mosaic):YOLOv7继续采用了YOLOv5中的Mosaic数据增强技术,并进一步优化了其它数据增强方法,增强了训练数据的多样性。
    锚框(Anchor Box)优化:YOLOv7在锚框设计方面做了改进,通过自适应的锚框调整方法,使得检测精度得到了提升,尤其在边界框回归时更加准确。
    自适应训练方法:YOLOv7引入了自适应训练机制,可以根据不同的硬件和场景,自动调整训练参数和结构,提升了训练效率。
  • 主要创新:
    引入"Bag of Freebies":这是YOLOv7的一项重要创新,即通过引入一系列不增加额外计算开销的技术(如更多的数据增强、正则化、标签平滑等),在提高精度的同时,保证推理速度和计算效率。
    训练增强:YOLOv7的训练方法进一步改进了YOLOv4和YOLOv5中的训练技巧,特别是在数据增强(例如Mosaic)方面,提升了对小物体的检测精度,同时避免过拟合。
    优化的推理速度:YOLOv7进一步优化了推理速度,使其即使在较低的计算资源上也能实现高效的物体检测。
    更强的鲁棒性:通过优化网络结构和增强的训练方法,YOLOv7在复杂场景、低质量图片、遮挡物体等情况中的表现更为稳定。
    模型轻量化:YOLOv7通过优化网络结构,在不牺牲精度的情况下,进一步降低了模型的参数量和计算量,适应更多硬件平台和应用场景。
  • 优点:
    高精度:YOLOv7在检测精度方面相比前一版本有了显著提升,特别是在小物体检测上,YOLOv7能够更好地保留图像的细节和特征。
    实时检测:尽管在精度上有所提升,YOLOv7仍然保持了其“实时性”的特点,能够在普通GPU上高效运行,非常适用于边缘设备和移动设备上的实时物体检测任务。
    高效性与轻量化:YOLOv7相比YOLOv4和YOLOv5进一步优化了计算效率,能够在较低的硬件资源下运行,且保持较高的检测性能。
    强大的小物体检测能力:YOLOv7通过多尺度特征融合和更好的锚框优化,提升了对小物体和密集物体的检测能力,使其在复杂场景中的表现更好。
    鲁棒性强:YOLOv7在训练过程中引入了大量数据增强方法,增强了模型的鲁棒性,能够适应更多不同环境和条件下的检测任务。
    支持多种任务:除了目标检测,YOLOv7也提供了对实例分割等任务的支持,使得它能够处理更多不同的计算机视觉任务。
  • 缺点:
    训练时间较长:YOLOv7由于采用了更复杂的网络结构和更多的增强技巧,训练时间相比YOLOv5会更长,尤其在数据量大的时候,训练的时间成本较高。
    推理速度略有下降:虽然YOLOv7在保持实时性的前提下提升了精度,但与YOLOv5相比,在某些高帧率要求的场景下,推理速度可能略微下降。
    需要较强的计算资源:尽管YOLOv7经过了优化,但由于其复杂的网络结构,仍然需要较强的GPU支持,尤其在训练时,对于一些普通的设备可能不够友好。

11. 2023年单阶段之YOLO-v8(非官方)

  • 论文:
    无。YOLOv8 并没有正式的学术论文(像YOLOv7和YOLOv6一样),但它在YOLOv5的基础上进行了一些实用的增强和优化。因此,更多的改进体现在其GitHub上的文档、发布说明和开源代码中。
  • 网络结构:
    YOLOv8 在网络架构方面对YOLOv7进行了进化,包含了新的改进和多样化的功能扩展。YOLOv8 保持了 YOLO系列的高效架构,并且进行了以下优化:
    新型 Backbone 网络:YOLOv8 提供了全新的 CSPDarknet-88(类似YOLOv4中的CSPDarknet),进一步减少了计算量并增强了特征提取能力。CSPBackbone 在减少参数量的同时,保留了较高的特征表达能力,特别在小物体和细粒度物体检测上表现出色。
    网络层次化设计:YOLOv8 引入了层次化的网络设计,通过更加细化的层次结构,改进了多尺度特征的学习,能够更好地对多种尺寸的物体进行检测。
    自适应损失函数:YOLOv8 引入了 自适应损失函数(Adaptive Loss Function),根据不同类型的物体和任务自动调整损失函数的权重。这使得模型在不同场景下更具灵活性,尤其在复杂场景或是特殊物体的检测时具有更好的表现。
    Transformer模块:YOLOv8 集成了一些Transformer模块,用于提高全局上下文信息的学习和建模,尤其对小物体检测和密集场景的物体检测有显著的改进。
    多任务学习支持:除了目标检测,YOLOv8 还扩展了多任务学习的支持,包括 实例分割、关键点检测 和 姿态估计。因此,YOLOv8 适用于更广泛的视觉任务,具有更高的灵活性。
    优化的推理结构:YOLOv8 对推理过程进行了深度优化,利用 量化、剪枝、混合精度计算 等技术,进一步提升了推理速度,降低了计算资源的消耗,特别适合在边缘设备上运行。
  • 主要创新:
    更高效的推理速度: YOLOv8通过更轻量级的网络结构和推理优化(如混合精度计算和量化)显著提升了检测速度,减少了计算资源的消耗,使其能够在低功耗设备(如手机、嵌入式设备)上高效运行。
    自适应损失函数: 自适应损失函数可以根据不同的任务或场景自动调整,优化了小物体检测、密集场景下的物体检测等复杂情况,提升了模型的鲁棒性。
    Transformer模块引入: 引入Transformer模块让YOLOv8能在全局上下文的建模方面更具优势,尤其对小物体检测和不同尺度物体检测提供了支持,提高了网络的感知能力。
    多任务学习支持: YOLOv8进一步扩展了模型的能力,不仅能够进行目标检测,还可以进行实例分割、关键点检测、以及姿态估计等任务。使得该模型在多个视觉任务上具有竞争力。
    增强的训练技巧: YOLOv8引入了更多有效的数据增强技术,如 Mosaic增强、Mixup增强、旋转/翻转等,进一步提高了模型的泛化能力,使得它能够在更多变化的场景下保持高精度。
    支持Edge设备: YOLOv8 在推理上进行了深度优化,尤其是支持边缘设备(Edge devices)的部署,如手机、摄像头、IoT设备等。
  • 优点:
    极高的检测精度: YOLOv8不仅提升了检测速度,也显著提高了精度,尤其在对小物体、密集场景和复杂背景下的目标检测上表现出色。
    实时性强: 作为YOLO系列的一部分,YOLOv8 保持了实时性优势,能够以极快的推理速度处理视频流,适用于大多数实时目标检测任务。
    更强的鲁棒性: 通过自适应损失函数、数据增强和更深层次的特征融合,YOLOv8 对不同类型的物体和复杂背景有了更强的鲁棒性,能够有效应对低质量图像、光照变化、遮挡等情况。
    硬件适应性: YOLOv8在硬件适应性方面进行了优化,可以在各种平台上高效运行,包括移动设备、嵌入式设备和普通GPU。它适应了从高性能GPU到边缘设备的各种计算资源。
    多任务学习能力: YOLOv8不仅适用于传统的物体检测,还支持实例分割、关键点检测和姿态估计等多个计算机视觉任务,使得它在多种应用场景下都具有优势。
    简便的使用和部署: 由于YOLOv8的开源和可用的框架支持(如PyTorch),开发者可以方便地在不同的平台上进行训练、微调和部署。其简化的接口和文档,使得用户能够迅速上手。
    轻量化设计: YOLOv8 通过量化和剪枝等技术,减少了模型的参数和计算量,在保证精度的前提下,推理速度更快,适合部署在资源有限的设备上。
  • 缺点:
    训练时间较长: 尽管推理速度很快,但YOLOv8的训练仍然可能需要较长时间,尤其是在数据量较大时。对于一些计算资源较为紧张的开发者来说,训练时间可能是一个挑战。
    硬件要求: 尽管YOLOv8优化了推理性能,但在训练阶段,它依然需要较强的计算资源,特别是在大规模数据集上进行训练时,可能需要高端GPU。
    内存占用: YOLOv8的网络结构相对较大,在一些低内存环境下可能需要进行内存优化。

12. 2024年2月单阶段之YOLO-v9

论文:《YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information

  • 网络结构
    骨干网络:保留了与 YOLOv8 类似的基于 CNN 的骨干网络,用于多尺度特征提取,但通过集成 GELAN 进行了改进。GELAN 在 Efficient Layer Aggregation Network(ELAN)基础上扩展,融入 CSPblocks、Resblocks 和 Darkblocks 等多种计算块,在不增加计算复杂度的情况下确保高效特征提取,保留网络各层关键层次特征,维持准确率和计算的平衡。
    颈部:继承了 YOLOv8 中 PANet 的进展,通过使用 PGI 显著增强了特征融合过程。结合 PGI 中的多级辅助信息,改进了来自不同层的特征融合,有效解决数据在网络中移动时的信息丢失问题,有助于稳定梯度计算,使 YOLOv9 擅长检测不同大小的对象。
    头部:继续采用 YOLOv8 中引入的无锚点边界框预测方法,受益于 PGI 提供的可逆函数。可逆架构确保在前向和反向传递过程中不会丢失关键数据,以更低计算开销获得更可靠的预测,提高了推理速度和准确率,更适合实时应用。
  • 主要创新
    通用高效层聚合网络(GELAN):将 CSPNet 和 ELAN 两种梯度路径规划的神经网络结合,设计出考虑轻量级、推断速度和准确性的通用高效层聚合网络。整体架构允许使用任何计算模块,将 ELAN 的能力推广到新架构,不再仅限于堆叠卷积层。
    可编程梯度信息(PGI):引入辅助可逆分支来记录每个网络层的梯度信息,并在训练过程中动态调整。解决了深度监督仅适用于极深神经网络结构的问题,使新的轻量级架构也能有良好应用效果。PGI 框架包括主分支、辅助可逆分支和多级辅助信息,主分支用于推断,辅助可逆分支解决信息瓶颈问题,多级辅助信息处理深度监督引起的误差累积问题。
    正则化技术:采用权重衰减(L2 正则化)和 Dropout 等多种正则化技术,限制模型复杂度或随机丢弃部分网络节点,提高模型泛化能力。
    训练策略:采用自适应学习率调整、数据增强技术如 MixUp、CutMix 等,还使用了批量归一化和权重初始化等技术。
  • 优点
    性能卓越:在 MS COCO 数据集上表现出色,不同模型版本如 v9-S 到 v9-E 都实现了精度(AP 指标)的改进。例如,与 YOLOv8-x 相比,v9-E 参数减少了 15%,计算需求减少了 25%,同时 AP 大幅提高了 1.7%。
    高效轻量:轻量级模型如 v9-S 在参数效率和计算负荷方面超过了 YOLOm-S,同时在 AP 方面提高了 0.4%-0.6%。与 YOLOv7af 相比,v9-C 运行参数减少了 42%,计算需求减少了 21%,却达到了相当的精度,在保持高精度的同时降低了计算复杂度。
    适应性强:通过 GELAN 架构的灵活设计以及 PGI 对梯度的有效处理,能更好地适应不同的计算环境、任务和复杂场景。
    部署便捷:可无缝集成到 PyTorch 和 TensorRT 等框架中,能针对不同硬件平台进行优化和适配,方便在从边缘设备到高性能 GPU 等各种硬件上部署2。

13. 2024年5月单阶段之YOLO-v10

YOLOv10 是由清华大学多媒体智能组(THU - MIG)在2024 年 5 月 25 日正式发布的目标检测模型
论文:《YOLOv10: Real-Time End-to-End Object Detection

  • 网络结构
    骨干网络:采用增强版 CSPNet(Cross Stage Partial Network),改善梯度流并减少计算冗余,也有研究提出华为诺亚的 VanillaNet 可作为潜在改进选项,以提升模型鲁棒性和效率。
    颈部网络:运用 PAN(Path Aggregation Network)层实现有效的多尺度特征融合,可能采用 C2fCIB 模块,在语义特征丰富层以深度可分离卷积替代标准卷积,降低计算量并增大感受野。
    头部网络:下采样操作由 SCDown 替换原有的单个 CBL,先通过 1x1 卷积调节通道数,再用 k=3、s=2 的深度卷积进行空间下采样;Detect 模块在 Cls 分类分支将连续 Conv3x3 卷积替换为两个 Conv3x3+Conv1x1 深度可分离卷积,降低计算量;在 SPPF 层后添加 PSA Block 模块,提供全局计算能力;采用双头设计,One-to-Many Head 在训练时为每个对象生成多个预测,提供丰富监督信号,One-to-One Head 在推理时为每个对象生成一个最佳预测,消除对 NMS 的需求。
  • 主要创新
    无 NMS 训练的一致双重分配:采用双重标签分配策略,将一对多和一对一策略结合,训练时同时优化两个头部结构,利用一对多匹配的丰富监督,推理时仅用一对一匹配头部,无需 NMS,提高推理效率,通过一致匹配度量对齐两种策略的监督,提升预测质量。
    整体效率 - 准确性驱动设计:从效率角度,设计了轻量级分类头,采用深度可分离卷积减少计算开销;提出空间通道解耦下采样,解耦空间缩减和信道调制,减少信息损失和计算成本;进行秩引导块设计,根据内在阶段冗余调整块设计,优化参数利用。从准确性角度,引入大核卷积扩大感受野,增强特征提取能力;整合部分自注意力模块(PSA),以最小开销改进全局表征学习。
  • 优点
    高效推理:消除了 NMS 操作,减少推理延迟,如 YOLOv10-S 比具有类似 AP 的 RT-DETR-R18 快 1.8 倍。
    精度提升:在 COCO 等数据集上表现出色,YOLOv10-L/X 的性能比 YOLOv8-L/X 高 0.3AP/0.5AP;通过大核卷积和部分自注意力模块等创新,提升了特征提取和全局表征学习能力,检测精度更高。
    计算成本低:通过轻量级分类头、空间通道解耦下采样等优化,减少了计算开销和参数数量,如 YOLOv10-B 与 YOLOv9-C 性能相同时,延迟减少 46%,参数减少 25%。
    适应性强:多种模型变体可满足不同场景需求,纳米版本适用于资源有限环境,超大型版本可实现最高精度和性能,能很好地应用于自动驾驶、安防监控、机器人导航等领域。

14. 2024年9月单阶段之YOLO-v11

  • 论文:
    无。YOLOv11 由 Ultralytics 团队开发,主要人物是 Glenn Jocher4。目前尚未有专门针对 YOLOv11 的独立论文发表,但可参考 Ultralytics 的相关文档和 GitHub 仓库了解更多信息,其官方仓库地址为:https://github.com/ultralytics/ultralytics
  • 网络结构
    主干和颈部:采用改进的主干和颈部架构,引入新的卷积机制如 C3k2 和 C2PSA。
    检测头:在分类检测头中增加了两个深度可分离卷积 DWConv。
  • 主要创新
    C3k2 机制:在网络浅层将 C3k 参数设置为 false,类似 YOLOv8 中的 C2f 结构,在浅层网络更有效地提取特征。
    C2PSA 机制:在 C2 机制内部嵌入多头注意力机制,类似在 C2 中嵌入 PSA,更好地捕捉空间上下文信息。
    自适应锚框机制:能够自动优化不同数据集上的锚框配置,更好地适应不同形状和大小的目标。
    EIOU 损失函数:引入新的 EIOU 损失函数,考虑了预测框与真实框的重叠面积、长宽比和中心点偏移。
  • 优点
    特征提取增强:能更准确地检测目标,在复杂任务中表现出色。
    速度更快:通过架构设计和训练流程优化,以及混合精度训练技术,提供更快的处理速度,减少显存占用。
    精度更高:在 COCO 数据集上实现了更高的平均精度(mAP),同时使用的参数比 YOLOv8 少 22%。
    适应性广泛:可以无缝部署在各种环境中,包括边缘设备、云平台和支持 NVIDIA GPU 的系统。
    任务多功能:不仅支持目标检测,还支持实例分割、图像分类、姿态估计和定向目标检测(OBB)等多种计算机视觉任务。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值