YOLOv8(You Only Look Once version 8)是一种高效的单阶段目标检测算法,其流程可概括为以下四个核心阶段:
1. 数据预处理
图像缩放与归一化:输入图像调整至固定尺寸(如640×640像素),并进行像素值归一化(0-1范围)。
- 数据增强:训练时采用多种增强技术提升泛化能力,包括:
- Mosaic增强:随机拼接4张图像,模拟复杂场景和小目标。
- MixUp增强:线性混合两张图像及标签,增加多样性。
- 空间扰动(如随机旋转、裁剪)和颜色扰动(如HSV调整)。
2. 特征提取与融合
- 骨干网络(Backbone):通过C2f模块(替代YOLOv5的C3模块)优化梯度流。C2f包含多分支Bottleneck堆叠,增强特征重用并减少计算冗余。
- 颈部网络(Neck):基于PANet(Path Aggregation Network) 构建特征金字塔:多尺度融合:高层语义特征(检测大目标)与底层细节特征(检测小目标)通过上采样融合。SPPF模块:快速空间金字塔池化,聚合不同尺度的上下文信息。
3. 预测生成(Head)
- Anchor-Free设计:抛弃预定义锚框,直接预测边界框中心偏移量(x, y)和宽高(w, h)。
- 解耦头(Decoupled Head):分类与回归任务分离:
- 分类分支:预测类别概率(如80类COCO数据集),使用Varifocal Loss(VFL) 解决样本不平衡。
- 回归分支:预测边界框坐标,采用DFL(Distribution Focal Loss) + CIoU Loss,提升定位精度。
- 动态标签分配:通过Task-Aligned Assigner,综合分类得分与IoU动态匹配正负样本。
4. 后处理
- 置信度阈值过滤:剔除置信度低于阈值(如0.5)的预测框。
- 非极大值抑制(NMS):去除重叠冗余框,保留IoU最高的预测框(常用DIoU-NMS优化遮挡场景)。
- 输出解码:将边界框坐标还原至原图尺寸,生成最终检测结果(类别、位置、置信度)。
🌟 流程特点与优势
- 端到端高效性:单次前向传播实现实时检测(如YOLOv8n仅需0.99ms/帧)。
- 精度-速度平衡:C2f模块、Anchor-Free和解耦头提升小目标检测与定位精度(mAP50-95达53.9%)。
- 灵活部署:提供n/s/m/l/x五级模型缩放,适配不同算力需求。
Comments
有什么问题吗,有任何问题欢迎你在下面评论留言或者邮件联系我!