本文发表于 672 天前,其中的信息可能已经事过境迁

单阶段目标检测

单阶段目标算法是目标检测领域的经典算法之一,也叫基于回归的检测算法,其将目标检测其主要思想是直接对图像进行分类和回归,相比两阶段目标检测算法,单阶段目标检测算法放弃了生成候选区域的步骤,直接对图像进行分类和回归,因此速度较快,其代表性算法有YOLO系列算法和SSD算法。

YOLO系列算法

YOLO(You Only Look Once)是一种基于单阶段目标检测算法的目标检测算法,其在发布后迅速受到了广泛关注。从最初的YOLOv1到最新的YOLOv11,每一代版本都在特征提取、边界框预测和优化技术等方面引入了重要的创新。这些改进特别是在骨干网络(backbone)、颈部(neck)和头部(head)组件上的进步,使得YOLO成为实时目标检测领域的领先解决方案。包括但不限于自动驾驶、工业制造、军事安全等领域。

2016年,Joseph Redmon等人提出了YOLOv1,YOLO算法采用一个单独的CNN模型实现端到端的目标检测,将目标检测问题转化为一个回归问题,直接在整个图像上预测边界框和类别概率。YOLOv1算法的主要流程如下:

  1. 将输入图像分割成S×S个网格,每个网格负责检测图像中的目标。

  2. 每个网格预测B个边界框和每个边界框的置信度。

  3. 针对上一步可以预测出S×S×B个边界框,然后根据阈值去除可能性比较低的目标窗口,在使用非极大值抑制(NMS)去除重叠的边界框。

具体实现流程可以查看 深度学习目标检测系列:一文弄懂YOLO算法

YOLO系列算法发展历程

YOLO(You Only Look Once)是一系列实时目标检测算法,以其在速度和准确性之间的平衡而闻名。自2015年首个版本发布以来,YOLO经历了多个版本的迭代,不断优化其性能和适用性。以下是YOLO从v1到v11的发展历程,包括每个版本的主要特点和相关论文链接。

1. YOLOv1 (2015)

  • 特点
    • 首次提出将目标检测任务视为回归问题,通过单个神经网络直接从图像中预测目标的边界框和类别。
    • 输入图像被划分为SxS的网格,每个网格负责预测B个边界框和类别置信度。
    • 使用GoogLeNet作为骨干网络,包含24个卷积层和2个全连接层。
    • 引入了多任务损失函数,包括边界框坐标损失、目标类别损失和置信度损失。
  • 论文

2. YOLOv2 (2016)

  • 特点
    • 采用了更深、更宽的网络结构,引入了残差连接和批归一化技术。
    • 引入了多尺度预测机制,通过在不同层次的特征图上进行目标检测,提高了对不同尺度目标的检测能力。
    • 引入了Anchor boxes,用于预测不同尺度和长宽比的目标边界框。
    • 使用Darknet-19作为骨干网络,相比于YOLOv1的网络结构更加轻量化。
    • 增加了数据增强技术和更长的训练时间,提高了模型的泛化能力和稳定性。
  • 论文

3. YOLOv3 (2018)

  • 特点
    • 采用了更深、更宽的网络结构,包含53个卷积层。
    • 引入了三种不同尺度的预测,分别在不同层次的特征图上进行目标检测。
    • 使用Darknet-53作为骨干网络,引入了残差网络模块。
    • 借鉴了特征金字塔的思想,将高级和低级语义信息进行融合。
    • 通过聚类的方式生成预选框,提高了模型的检测精度。
  • 论文

4. YOLOv4 (2020)

  • 特点
    • 由Alexey Bochkovskiy等人对YOLOv3进行了升级改造,核心思想与之前基本一致,但在多个方面进行了改进。
    • 将CSP结构融入Darknet53中,生成了新的主干网络CSPDarknet53。
    • 采用SPP空间金字塔池化来扩大感受野。
    • 引入了Mish激活函数和CIoU损失函数,提高了模型的性能。
  • 论文

5. YOLOv5 (2020)

  • 特点
    • 由Ultralytics公司推出,基于PyTorch实现,提供了更简单的部署和训练流程。
    • 引入了CSPDarknet Backbone和Mosaic数据增强技术,平衡了速度和精度。
    • 提供了多个子变体(n、s、m、l、x),以适应不同的计算需求。
    • 支持将训练后的模型导出为ONNX、CoreML和TFLite等多种格式,便于在不同平台部署。
  • 论文
    • 无论文,仅有GitHub仓库:YOLOv5

6. YOLOv6 (2021)

  • 特点
    • 进一步优化了模型的结构和训练流程,提高了模型的检测精度和速度。
    • 引入了更多的数据增强技术,如MixUp和CutMix。
    • 优化了损失函数,引入了GIoU损失函数。
  • 论文

7. YOLOv7 (2022)

8. YOLOv8 (2023)

  • 特点
    • 基于YOLOv5的成功,提供了更高的准确性和用于各种计算机视觉任务的统一框架。
    • 引入了Anchor-Free点检测,简化了模型架构,并提高了对小物体的性能。
    • 优化了损失函数,引入了DIoU损失函数。
  • 论文
    • 无论文,仅有GitHub仓库:YOLOv8

9. YOLOv9 (2023)

10. YOLOv10 (2024)

  • 特点
    • 采用了减少计算开销的创新方法,同时保持了高准确性。
    • 融合了如无需NMS训练和整体模型设计等先进技术,特别适合计算资源有限的边缘设备。
  • 论文

11. YOLOv11 (2024)

  • 特点
    • 在YOLOv8的基础上进行了改进,使同等精度下参数量降低20%,在速度和准确性方面具有无与伦比的性能。
    • 流线型设计使其适用于各种应用,并可轻松适应从边缘设备到云API等不同硬件平台。
    • 成为各种物体检测与跟踪、实例分割、图像分类和姿态估计任务的绝佳选择。
  • 论文
    • 无论文,仅有GitHub仓库:YOLOv11
评论 隐私政策