1、YOLO概述
1.1 定义
YOLO(You Only Look Once)是一种流行的对象检测和图像分割模型,由华盛顿大学的 Joseph Redmon 和 Ali Farhadi 于 2015 年推出,因其高速和准确性而迅速受到欢迎
在目标检测领域,传统方法(如R-CNN系列算法)将目标检测分为两个阶段:
-
首先使用区域候选网络(RPN)提取候选目标信息
-
然后通过检测网络完成对候选目标的位置和类别的预测和识别
YOLO作为一种单阶段检测算法,并不需要使用RPN,它通过单次网络前向传播即可完成目标检测任务(所以命名为“You Only Look Once”,即“你只需要看一次”)
1.2 发展史
YOLO自 2015 年首次提出至今,经历了多个版本的迭代:(最新版本可见官网https://docs.ultralytics.com)
-
YOLOv2 于 2016 年发布,通过合并批量规范化、锚框和维度集群改进了原始模型
-
YOLOv3 于 2018 年推出,使用更高效的主干网络、多个锚点和空间金字塔池进一步增强了模型的性能
-
YOLOv4 于 2020 年发布,引入了 Mosaic 数据增强、新的无锚点检测头和新的损失函数等创新
-
YOLOv5 进一步提高了模型的性能,并添加了新功能,例如超参数优化、集成实验跟踪和自动导出为流行的导出格式
-
YOLOv6 由美团于 2022 年开源,并被用于该公司的许多自主送货机器人
-
YOLOv7 添加了其他任务,例如对 COCO 关键点数据集进行姿态估计
-
YOLOv8 由 Ultralytics 于 2023 年发布。YOLOv8 引入了新功能和改进,以增强性能、灵活性和效率,支持全方位的视觉 AI 任务
-
YOLOv9 引入了可编程梯度信息 (PGI) 和广义高效层聚合网络 (GELAN) 等创新方法
-
YOLOv10 由清华大学的研究人员使用 UltralyticsPython 包创建。此版本通过引入端到端头来提供实时对象检测改进,消除了非最大抑制 (NMS) 要求
-
YOLO11 是Ultralytics 的最新 YOLO 模型,在多项任务(包括检测、分割、姿态估计、跟踪和分类)中提供最先进的 (SOTA) 性能,利用了各种 AI 应用程序和领域的功能
1.3 核心原理
YOLO的核心原理是将目标检测任务视为一个回归问题,它将图像分割成一个个网格,然后对每个网格预测固定数量的边界框和相应的类别,并使用非极大值抑制(NMS)来合并重叠的预测框