yolo 白皮书
分享
YOLOv8详解 @蔡鋆捷@程宏
输入“/”快速插入内容
YOLOv8详解
@蔡鋆捷@程宏
用户6214
用户6214
用户8611
用户8611
用户4207
用户4207
用户5474
用户5474
用户3890
用户3890
用户8145
用户8145
2025年6月12日修改
🌅
YoLo Master项目
•
白皮书链接
YOLO Master白皮书规划
•
github链接
https://github.com/datawhalechina/yolo-master
本文Reviewers:
1.
用户5474
用户5474
YOLOv8详解 @蔡鋆捷@程宏 Reviewed By 揭沁沅
2.
用户3890
用户3890
YOLOv8详解 @蔡鋆捷@程宏 Reviewed By 冯启洪
3.
用户8145
用户8145
YOLOv8详解 @蔡鋆捷@程宏 Reviewed By 胡博毓
1.
YOLOv系列的发展历程
然后, 我们来到了于2023年1月发布的Ultralytics YOLOv8。
与v5和v6一样,YOLOv8没有官方论文(说是会有,但是鸽了,可恶),但宣称具有更高的准确率和更快的速度。
自YOLOv8发布以来,不同的研究团队分别发布了YOLOv9(2024年2月)
、
YOLOv10(2024年5月)
、YOLO11(2024年9月)、YOLOv12(2025年2月)
。
1.
YOLOv9
a.
论文:
YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information
(台湾省“中研院”等)
b.
代码:
WongKinYiu/yolov9
2.
YOLOv10
a.
论文:
YOLOv10: Real-Time End-to-End Object Detection
(清华大学)
b.
代码:
THU-MIG/yolov10
3.
YOLO11
a.
论文:无
b.
代码:
https://github.com/ultralytics/ultralytics
4.
YOLOv12
a.
论文:YOLOv12:Attention-Centric Real-Time Object Detectors(布法罗大学等)
b.
代码:
github.com/sunsmarterjie/yolov12
YOLOv8 performance https://docs.ultralytics.com/models/yolov8/#overview
YOLOv8根据参数数量有五种变体——超小(n)、小(s)、中(m)、大(l)和超大(x)
例如,YOLOv8-m在COCO数据集和A100 TensorRT上的平均精度均值(mAP)得分为50.2,时间为1.83毫秒。
YOLOv8还具备Python包和基于命令行界面(CLI)的实现方式,这使其易于使用和开发。
让我们仔细看看YOLOv8能做什么,并探究其一些重要的发展成果。
YOLOv8
YOLOv8 作为 ultralytics 公司开源的 YOLOv5 的下一个重大更新版本,支持
图像分类、物体检测和实例分割
等CV任务。
创新可以简单概括为
: 一个新的骨干网络、一个新的 Ancher-Free 检测头和一个新的损失函数,实现了精度与速度的平衡
。
核心特性和改动
可以归结为如下:
1.
提供了一个全新的 SOTA 模型,包括 P5 640 和 P6 1280 分辨率的目标检测网络和基于
YOLACT
的实例分割模型。和 YOLOv5 一样,基于缩放系数也提供了 N/S/M/L/X 尺度的不同大小模型,用于满足不同场景需求,并对不同尺度模型调整了不同的通道数,属于对模型结构精心微调,不再是无脑一套参数应用所有模型,大幅提升了模型性能。
2.
骨干网络和 Neck 部分
可能参考了 YOLOv7 ELAN 设计思想
,
从Backbone部分开始
将 YOLOv5 的 C3 结构换成了梯度流更丰富的
C2f 结构
,引入了
多种注意力机制
如
ECA
和
GAM
,以及
卷积层优化技术
如
可变形卷积和动态卷积
,并采用SPPF模块提升特征提取能力,Neck部分使用PAN-FPN结构进行多尺度特征融合,增强了特征提取能力和对不同形状目标的适应性。(不过这个 C2f 模块中存在 Split 等操作对特定硬件部署没有之前那么友好了)
3.
Head 部分相比 YOLOv5 改动较大,引入了Decoupled-Head(解耦头)的设计,将分类和检测头分离,通过分别处理分类和回归任务,提高了模型的性能和精度,这种设计使得分类和回归可以分别优化,从而提高了检测的准确性。同时,Anchor-Based (基于锚点)到Anchor-Free(无锚点)的替换,减少了锚框的超参数设置,通过直接预测目标的边界框来简化模型的设计和训练过程。