基于YOLOv8n的钢材表面缺陷检测-yolov8n

## 项目描述 基于YOLOv8n的钢材表面缺陷检测
基于 YOLOv8n 骨干,面向钢材表面缺陷检测任务,对 SE、EMA、CBAM 三种注意力机制进行消融对比的定制化目标检测仓库。以东北大学 NEU-DET 数据集(6 类缺陷:龟裂、夹杂、补丁、麻点、氧化轧入、划痕)为基准,全部模型由随机初始化训练,EMA 版本在 mAP50-95 上较基线提升约 2.92 个百分点。

## 项目功能
– SE / EMA / CBAM 三种注意力模块已嵌入 YOLOv8 源码(ultralytics/nn/modules/conv.py)
– 三份模型配置 yaml(yolov8-{se,ema,cbam}.yaml)可直接训练
– 已跑完的 4 组消融实验产物(results.csv、best.pt、混淆矩阵、PR/F1 曲线)均在 experiments/ 下
– 生成对比图脚本(generate_comparison_chart.py)与消融汇总脚本(experiments/generate_ablation_summary.py)可一键重生成结果图表
– Flask Web Demo 提供浏览器端检测、历史记录和消融仪表盘

## 运行环境
– Python 3.10+
– PyTorch ≥ 1.8.0(CPU 版可跑推理,训练建议 CUDA 版)
– pip install -e . 安装项目定制版 ultralytics(8.0.210)
– pip install flask 用于 Web Demo
– NEU-DET 数据集放在 datasets/NEU-DET/ 下,目录结构需符合 YOLO 格式(images/{train,val} + labels/{train,val})

## 项目技术
– 检测框架:Ultralytics YOLOv8(本地修改 8.0.210 源码,自定义注意力模块)
– 注意力模块:SE(通道注意力,c²/8 参数)、EMA(高效多尺度注意力,10cg²+4cg)、CBAM(通道+空间双重注意力,c²+c+98)
– 训练配置:imgsz=640、batch=32、seed=0、EMA patience=50,基线用 COCO 预训练权重,三组注意力模型均随机初始化
– 评估指标:Precision、Recall、mAP50、mAP50-95
– 技术栈:PyTorch、Flask(Web 层)、Matplotlib(绘图)、OpenCV(图像读写)、CSV/JSON(数据汇总)

以上系统源码经过技术整理与调试,确保能正常运行

提供最优质的资源集合

立即查看 了解详情