一、课程导论与项目全景:深度学习缺陷检测概述、工业场景痛点、课程项目架构与学习路径

1.1 为什么是深度学习缺陷检测?

大家好,欢迎来到这门实战课。先聊聊我自己的经历。

几年前,我接手过一个手机屏幕质检项目。产线上用的是传统机器视觉——打光、滤波、找边缘、设阈值。一开始还行,但换了个型号的屏幕,误检率直接飙到 30%。产线组长天天找我,说「你这算法还不如老师傅肉眼快」。

后来我换成了深度学习模型。训练一个分类网络,把良品和缺陷品分开。效果怎么样?误检率降到 2% 以下,而且换型号只需要重新标注几百张图,微调一下就行。

说白了,传统视觉靠人写规则,深度学习靠数据学特征。工业场景里,缺陷种类多、形态变化大、背景复杂,写规则写到崩溃是常有的事。深度学习正好补上这块短板。

核心观点:深度学习缺陷检测不是要替代传统视觉,而是解决传统视觉搞不定的「长尾问题」——那些规则写不清楚、阈值调不稳定的场景。

1.2 工业场景的痛点,你大概率也遇到过

我这些年跑过不少工厂,发现痛点其实很集中。列个表,你看看中了几条:

痛点 具体表现 传统方案为什么不行
缺陷种类多 划痕、脏污、气泡、缺角、毛刺…… 每种缺陷都要单独写规则,维护成本高
缺陷形态变化大 同一种划痕,长度、深度、方向都不一样 固定阈值很难覆盖所有情况
背景复杂 产品表面纹理、光照变化、反光 预处理流程越来越长,效果还不稳定
样本不平衡 良品几万张,缺陷品只有几十张 传统分类器直接偏向多数类
实时性要求高 产线节拍 2 秒一件,甚至更快 复杂规则链跑不动,深度学习模型又太大

嗯,这里要注意。很多团队一上来就追求「高精度」,结果模型跑在 GPU 上都要 500 毫秒,产线根本接不住。我见过一个项目,模型精度 99.5%,但推理速度 1.2 秒,最后只能砍掉一半的检测点——得不偿失。

避坑提醒:我曾经在一个 PCB 检测项目里,花了两周调模型精度,从 97% 提到 98.5%。结果部署时发现,模型大小 200MB,产线工控机根本跑不动。后来换成轻量模型,精度 97%,但速度提升了 5 倍。精度和速度的平衡,比单纯追精度更重要。

1.3 课程项目架构:一个完整的闭环

这门课不是只讲理论,也不是只给代码。我带大家走完一个完整的项目闭环:从数据采集到模型部署,每一步都动手做。

先看整体架构:

深度学习缺陷检测项目架构图 深度学习缺陷检测项目架构 数据采集与标注 工业相机 / 标注工具 模型训练与调优 分类网络 / 数据增强 模型部署与推理 ONNX / TensorRT 监控与迭代 数据回流 工业相机选型 标注规范制定 ResNet / MobileNet 数据增强策略 ONNX 导出 TensorRT 加速 数据采集 → 模型训练 → 模型部署 → 监控迭代,形成完整闭环 每个阶段都有对应的实战章节,带你一步步落地 数据回流与模型迭代(持续优化)

你看,这个架构图里有个关键点:最下面那条反馈回路。很多团队做完部署就结束了,但产线数据一直在变——新缺陷出现、光照变化、产品改型。没有数据回流,模型精度会慢慢下降。我见过一个项目,部署三个月后精度从 98% 掉到 85%,就是因为没有做持续迭代。

1.4 学习路径:30 章,从入门到部署

这门课一共 30 章,我把它分成 5 个阶段。每个阶段解决一个核心问题:

  1. 基础篇(第 1-5 章):环境搭建、数据采集与标注、PyTorch 快速上手。你不需要是深度学习专家,有 Python 基础就行。
  2. 模型篇(第 6-12 章):分类网络选型、损失函数设计、数据增强、训练技巧。我会带着你调参,告诉你哪些参数「动一下就有用」,哪些「调了也白调」。
  3. 优化篇(第 13-18 章):模型剪枝、量化、蒸馏。这部分是部署前的关键一步。我踩过很多坑——比如量化后精度掉 5 个点,后来发现是校准集没选对。
  4. 部署篇(第 19-25 章):ONNX 导出、TensorRT 加速、C++ 推理、Docker 容器化。你会把模型真正跑在产线工控机上。
  5. 实战篇(第 26-30 章):完整项目复盘、性能监控、持续迭代策略。最后做一个端到端的项目,从数据到部署全走一遍。

学习建议:我个人习惯是「先跑通,再优化」。别在第一周就纠结精度 99% 还是 98%,先让整个流程跑起来。看到模型能出结果,你才有信心继续调。我每次带新人都是这个思路——先跑通 baseline,再谈优化。

1.5 你需要准备什么?

硬件方面,一张 NVIDIA GPU(GTX 1060 以上就行,我当年用 1080Ti 跑了好几年)。如果没有,云 GPU 也可以,我会在第一章教你怎么配置。

软件方面,Python 3.8+、PyTorch 1.10+、CUDA 11.x。别担心版本问题,我会提供一份经过验证的环境配置清单。

嗯,最后说一句。这门课不是「看完就忘」的那种。每章都有配套代码和数据集,你跟着敲一遍,比看十遍都管用。我当年学深度学习,就是靠一个项目一个项目地啃下来的。

准备好了吗?我们开始。