五类常见表面缺陷
制造业里被反复检测的表面缺陷,归纳起来主要是五类:划痕、脏污与异物、凹凸与压伤、裂纹、色差。它们的外观差异很大,对应的成像方式与算法路线也完全不同。把缺陷先分类,再谈方案,往往比一上来就讨论用什么相机、用什么模型更有效。汉特士在 15 年的 CCD 视觉检测项目里,表面缺陷检测几乎是出现频率最高的需求。
| 缺陷类型 | 推荐成像方式 | 算法路线 | 主要难点 |
|---|---|---|---|
| 划痕 | 低角度暗场 / 同轴光 | 方向滤波 + 形态学 | 方向随机、与背景纹路混叠 |
| 脏污与异物 | 明场 / 环形光 | 阈值分割 + 深度学习 | 颜色与纹理差异小、边界模糊 |
| 凹凸与压伤 | 暗场 / 3D 轮廓 | 3D 高度分析 + 深度学习 | 2D 下对比度低,易漏检 |
| 裂纹 | 高放大倍率 + 侧向光 | 细线检测 + 深度学习 | 特征细微、断裂不连续 |
| 色差 | 稳定的同轴漫射光 | 颜色空间统计 | 受光源色温与相机白平衡影响 |
划痕:方向性与光照选择
划痕的本质是一道方向性很强的浅沟槽,它的成像对比度与光照角度高度相关。低角度暗场光顺纹理方向掠射时,划痕边缘会产生明显散射,在暗背景上呈现亮线;而同轴光更适合检测垂直入射下才有反射差异的浅划痕。判别难点在于:金属拉丝面、注塑流痕本身就带有方向性纹理,算法容易把正常纹路误判为划痕。常用对策是先做方向性滤波,把与划痕方向不同的纹理抑制掉,再配合形态学做连通域判定。
脏污与异物:颜色与纹理特征
脏污与异物包括油渍、粉尘、毛屑、残胶等,其特点是边界不规则、位置随机、与背景的颜色差异往往很小。成像上多用明场环形光,保证表面照度均匀,让脏污在颜色或亮度上形成可分辨的偏差。算法上,颜色差异明显时用阈值分割即可;颜色接近但纹理不同时,用局部纹理特征或小型卷积网络更可靠。
凹凸与压伤:暗场与 3D 的选择
凹凸与压伤是立体缺陷,在明场下往往只有轻微的明暗渐变,2D 很容易漏检。两种思路可以选择:其一,用低角度暗场光,让凹陷边缘的遮光与凸起边缘的散射形成对比;其二,直接上 3D 视觉检测,用高度数据判断凹陷深度或凸起高度是否超差。当缺陷深度与允收公差有关时,3D 才是根本解法,因为它能给出可量化的深度值,而不是依赖灰度猜测。
裂纹:细微特征与放大倍率
裂纹的宽度可能只有几微米到几十微米,是不连续的细线,对比度低且容易被灰尘、划痕混淆。检测裂纹几乎完全依赖成像能力:需要足够的放大倍率让裂纹至少覆盖 3~5 个像素,并配合侧向光让裂纹开口产生阴影。算法上,由于裂纹是细长结构,方向性滤波与线状特征增强比通用分割更有效。放大倍率越高,视野越小,往往需要多相机或多工位覆盖整个表面。
色差:颜色空间的稳定性
色差检测的是颜色是否偏离标准,它对成像系统的稳定性要求极高。光源色温漂移、相机白平衡变化、镜头暗角,任何一项都会让色差判定产生系统性偏移。做法上通常固定同轴漫射光和光源电流,先拍摄标准色卡做白平衡与色彩校正,再在 RGB 或 Lab 颜色空间里统计目标区域的均值与方差,用色差值指标与标准样比对。对色差敏感的产线,光源与相机的选型应优先考虑稳定性而非分辨率。
传统算法与深度学习怎么选
两条路线的选择依据是缺陷特征是否稳定:
- 传统算法适用:缺陷与背景的对比明确、形态规则、位置相对固定,例如背光下的孔洞、边缘缺口、固定位置的色块。优势是节拍快、资源占用低、结果可解释。
- 深度学习适用:缺陷形态多变、边界模糊、背景纹理复杂,例如随机划痕、脏污、夹杂。优势是对复杂分布的适应能力和检出率,代价是需要样本、算力与调参。
工程上更常见的是两者结合:传统算法先做定位、分割与粗筛,深度学习在可疑区域做精细分类,既能保证节拍,又能兼顾检出率。
缺陷样本与标注的工程经验
深度学习的上限由样本决定,这里的经验值得单独强调:
- 样本量没有统一数字:取决于缺陷的类内差异、特征复杂度和模型规模。特征单一、重复性高的缺陷,可能几十到一两百张就能起步;形态高度多样的缺陷,往往需要上千张并持续补充。
- 宁可少而准,不要多而乱:标注框或掩码的边界不一致,比数量不足更伤模型。标注口径要事先统一,并写进作业指导。
- 一定要包含负样本:正常品、临界品、易混淆的伪缺陷都要喂进去,否则模型会把正常纹路也判成缺陷。
- 样本要覆盖产线真实变异:不同批次、不同光照、不同工位的图像都要采,实验室拍的干净图像不等于产线图像。
- 上线后要能回流:模型上线后要保留可疑图像回流通道,用产线新数据持续迭代,检出率才能长期维持。
表面缺陷检测没有一招通吃的方案。把缺陷分类、成像验证、算法路线与样本策略一起规划,才能让 99.9% 这类指标在真实产线上站得住。