一、项目背景:为什么要做熔喷布缺陷检测?
熔喷布是口罩、防护服的核心材料,其质量直接关系到防护效果 —— 哪怕是 0.2mm 的点状瑕疵、丝状划痕,都可能导致防护失效。但传统检测靠 “人工目检”,存在三大问题:
- 效率低:工人每天最多检测 500 米,远跟不上生产线速度(每秒 1-2 米);
- 准确率低:长时间检测易疲劳,小缺陷漏检率高达 20%;
- 标准不统一:不同工人对 “划痕”“缺纱” 的判断标准不一致,导致产品质量波动。
我的毕业设计目标就是解决这些问题:基于深度学习(YOLOv5)设计一套自动检测系统,实现 “实时抓拍→缺陷识别→位置定位→结果输出” 全流程自动化,满足工业生产线 “高准确率(≥85%)+ 高实时性(≥20FPS)” 的需求。
二、核心方案:从硬件采集到算法改进
系统分为 “图像采集” 和 “算法检测” 两大模块,整体流程如图 1 所示:
简单说就是:用工业相机抓拍生产线的熔喷布图像,通过算法自动识别 “点状瑕疵、丝状瑕疵、划痕、缺纱、断裂”5 类缺陷,最后在触控屏上显示检测结果(缺陷类型 + 位置)。
三、第一步:硬件搭建 —— 采集清晰的缺陷图像
要让算法 “看清楚” 缺陷,首先得有高质量的图像。我花了 2 周时间搭建图像采集系统,核心硬件选型和参数如下:
3.1 核心硬件清单
| 硬件模块 | 型号 / 规格 | 核心作用 |
|---|---|---|
| 工业相机 | JAI CM-200GE(CCD) | 抓拍熔喷布图像,分辨率 1620×1220(200 万像素),全分辨率下 25 帧 / 秒,确保无拖影。 |
| 工业镜头 | 大恒 HN-2514-2M-C2/3X | 焦距 18.6mm,匹配相机靶面(14.111mm),工作距离 250mm 时,视野 190mm(覆盖生产线宽度)。 |
| 照明系统 | LED 正向单侧光源 | 从相机同侧打光,突出熔喷布表面缺陷(背向照明会遮挡纹理,正向照明更适合表面检测)。 |
| 触控屏 | 威纶通 MT8071IP(7 寸) | 人机交互界面,显示实时检测结果(缺陷类型、数量、准确率),支持手动启停检测。 |
| 计算机 | AMD Ryzen7 5800H + GTX3050 | 运行 YOLOv5 算法,16G 内存确保模型加载和推理不卡顿。 |
3.2 关键调试技巧
- 避免图像模糊:生产线熔喷布在移动,相机帧率需≥25 帧 / 秒(与生产线速度匹配),同时关闭自动对焦(固定焦距 250mm);
- 突出缺陷对比:LED 光源亮度调至 80%,角度与相机呈 30°(避免反光掩盖缺陷);
- 减少噪声:相机曝光时间设为 1/1000 秒(短曝光减少运动模糊),并开启硬件降噪功能。
四、第二步:数据集制作 —— 算法的 “粮食”
深度学习靠数据驱动,但没有开源的熔喷布缺陷数据集,只能自己做!整个过程花了 1 个月,核心步骤如下:
4.1 数据采集
用搭建的硬件系统,在工厂生产线抓拍了 240 张原始图像,涵盖 5 类缺陷:
- 点状瑕疵(62 张):熔喷布表面的小黑点、小孔;
- 丝状瑕疵(48 张):纤维丝粘连形成的细长痕迹;
- 划痕(52 张):机器摩擦导致的线性划痕;
- 缺纱(45 张):局部纤维缺失形成的空白区域;
- 断裂(33 张):熔喷布边缘或中间的断裂口。
4.2 数据标注
用LabelImg 工具标注缺陷(目标检测需标矩形框),标注格式选 YOLO 专用的 “txt 格式”,每个 txt 文件对应一张图像,内容示例:
plaintext
# 格式:缺陷类别ID 中心点x 中心点y 宽 高(均为归一化值)
0 0.35 0.42 0.02 0.03 # 0=点状瑕疵,中心点(35%,42%),宽2%,高3%
1 0.68 0.25 0.05 0.01 # 1=丝状瑕疵
类别 ID 对应表:0 = 点状、1 = 丝状、2 = 划痕、3 = 缺纱、4 = 断裂。
4.3 数据增强 —— 解决样本少的问题
240 张图像太少,容易导致模型过拟合,所以用 Python 做了 5 种数据增强,把数据集扩充到 2160 张:
- 曝光度调整:随机增加 / 降低 30% 亮度(模拟不同生产光线);
- 加噪声:添加椒盐噪声(模拟相机传感器噪声);
- 旋转:随机旋转 0-360°(适应熔喷布不同摆放角度);
- 翻转:水平 / 垂直翻转(扩充数据多样性);
- Mosaic 增强:将 4 张图像拼接成 1 张(YOLOv5 专用,提升小目标检测效果)。
最终数据集划分:
- 训练集:1440 张(66.7%)
- 验证集:360 张(16.7%)
- 测试集:360 张(16.7%)
五、第三步:算法实现与改进 —— 从 YOLOv5 到优化版
一开始用原始 YOLOv5 检测,小缺陷(如点状瑕疵)漏检率高,所以做了两处改进,最终准确率从 82.9% 提升到 89.4%。
5.1 原始 YOLOv5 的问题
- 主干网络用 Darknet53,靠卷积核提取特征,但熔喷布缺陷小(≤50 像素),卷积核只能捕捉局部特征,全局信息不足;
- 特征融合简单,浅层特征(边缘信息)和深层特征(语义信息)没有充分结合,小缺陷易被忽略。
5.2 改进方案 1:YOLOv5-tf(替换主干网络)
把 Darknet53 换成Swin-Transformer,它能把图像分成小 Patch,通过自注意力计算全局特征,更适合小缺陷检测。
- 原理:Swin-Transformer 将 1620×1220 图像分成 16×16 的 Patch,计算每个 Patch 与周围的关联,捕捉 “小缺陷在全局中的位置信息”;
- 效果:在测试集上,缺纱缺陷的 AP@0.5 从 69.5% 提升到 99.2%,漏检率下降 30%。
5.3 改进方案 2:YOLOv5-MSAM(加注意力机制)
在特征融合层加入多尺度注意力模块(MSAM) ,让模型更关注缺陷区域:
- 原理:对不同尺度的特征图(如 80×80、40×40、20×20)分别计算注意力权重,放大缺陷特征,抑制背景噪声;
- 效果:划痕缺陷的 AP@0.5 从 86.2% 提升到 96.4%,误检率(把背景当缺陷)下降 15%。
5.4 最终算法对比
| 算法版本 | mAP50(平均精度) | 检测速度(FPS) | 核心优势 |
|---|---|---|---|
| 原始 YOLOv5 | 82.9% | 28 | 速度快,适合大缺陷 |
| YOLOv5-tf | 89.4% | 22 | 全局特征好,小缺陷漏检少 |
| YOLOv5-MSAM | 91.7% | 19 | 注意力聚焦缺陷,误检率低 |
| 最终融合版(tf+MSAM) | 92.3% | 18 | 平衡准确率和速度,满足工业需求 |
六、第四步:系统测试与实际效果
6.1 测试环境
- 软件:Python 3.7 + PyTorch 1.9 + CUDA 11.1(GPU 加速推理);
- 测试集:360 张图像,含 1224 个缺陷(点状 204 个、丝状 155 个、划痕 201 个、缺纱 209 个、断裂 118 个)。
6.2 核心测试结果
- 准确率:最终融合版算法在测试集上的 AP@0.5 为 92.3%,其中丝状瑕疵、断裂的准确率达 98% 以上,点状瑕疵因太小(≤20 像素)准确率 85%,符合工业要求(≥85%);
- 实时性:单张图像推理时间 55ms,即 18FPS,能跟上生产线 1 米 / 秒的速度(每秒需处理 10-20 张图像);
- 误检率:误检率 3.2%(主要是把熔喷布纹理误判为点状瑕疵),可通过后续优化纹理过滤算法降低。
6.3 实际应用截图
界面显示:实时视频流、缺陷类型(红色框标注)、检测准确率、今日缺陷统计,工人可一键导出检测报告。
编辑
七、毕业设计复盘:踩过的坑与经验
7.1 那些踩过的坑
-
图像模糊导致算法失效
- 问题:一开始用普通 USB 相机,帧率只有 15 帧 / 秒,熔喷布移动时图像模糊,算法无法识别小缺陷;
- 解决:换成工业 CCD 相机(25 帧 / 秒),并把曝光时间缩短到 1/1000 秒,图像清晰度提升 50%。
-
数据集不平衡导致过拟合
- 问题:原始数据中 “点状瑕疵” 多(62 张),“断裂” 少(33 张),模型对 “断裂” 识别准确率只有 70%;
- 解决:对少样本类别(断裂、缺纱)做针对性增强(多旋转、多翻转),扩充后 “断裂” 样本从 33 张增加到 198 张,准确率提升到 92%。
-
GPU 内存不足导致训练中断
- 问题:YOLOv5-tf 模型大,训练时 batch_size 设为 16 就会爆内存(GTX3050 只有 4G 显存);
- 解决:用梯度累积(gradient accumulation),把 batch_size 拆成 4 次小批量训练,等效 16 的 batch_size,同时关闭不必要的日志打印,内存占用降低 40%。
7.2 给学弟学妹的建议
- 硬件先跑通,再做算法:别一开始就扎进算法优化,先确保采集的图像清晰 —— 模糊的图像,再牛的算法也没用;
- 小步迭代,别追求一步到位:先实现原始 YOLOv5 的检测,再逐步改进主干网络、加注意力机制,每次改进后对比效果,避免盲目优化;
- 多去工厂调研:工业场景和实验室不同,比如生产线的光线、熔喷布速度会变,算法要考虑鲁棒性(如多光线数据增强)。
八、附:项目资源获取
完整项目包含:
- 硬件清单及接线图:工业相机、镜头、光源的连接方式和参数配置;
- 代码:YOLOv5-tf、YOLOv5-MSAM 的改进代码,含数据增强、训练、推理全流程;
- 数据集:2160 张标注好的熔喷布缺陷图像(含 txt 标注文件);
- 答辩 PPT:含系统架构、实验对比、实际效果截图,可直接修改使用。