工业检测中的图像处理 - 从外观检查到尺寸测量
工业检测中图像处理的角色
机器视觉在制造业质量控制中扮演核心角色。相比人工目视检查,图像处理系统可实现更高的检测速度、一致性和精度。
应用领域:
- 电子制造:PCB 焊点检查、芯片封装缺陷、连接器对位
- 汽车制造:车身表面缺陷、零件尺寸测量、装配验证
- 食品/医药:包装完整性、标签检查、异物检测
- 半导体:晶圆缺陷检测、光刻对准、薄膜厚度测量
系统组成:工业相机 + 光源 + 镜头 + 图像处理软件 + 执行机构(剔除/标记)。光源设计往往比算法更关键。
检测的四种类型与节拍时间:工业检测 (Industrial Inspection) 指在生产线上以图像判定产品的良品与不良品。与人工目视相比,机器能 24 小时保持一致的判定品质,而且 0.01mm 级的微细缺陷靠人眼几乎无法检出。检测大致分为 4 类:外观检测 (伤痕、污点、异物)、尺寸测量、位置检测、字符识别 (OCR)。系统构成为「相机 + 光源 + 图像处理装置 (基于 FPGA 或基于 GPU) + 判定与排出机构 (气吹、机械臂)」,其中每 1 个产品的节拍时间通常为 50-500ms,全部处理必须在这一时间预算内完成。
缺陷检测 - 从模板匹配到异常检测
缺陷检测是工业检测中最常见的任务,目标是找出产品表面或结构中的异常。
传统方法:
- 模板匹配:将检测图像与标准模板对比,差异区域即为缺陷。适合形状固定的产品
- 边缘检测 + 轮廓分析:检测产品轮廓,与标准轮廓对比找出变形或缺损
- 阈值分割:利用缺陷与背景的亮度差异进行分割。需要稳定的光照条件
- 纹理分析:对规则纹理(如织物、金属表面),检测纹理的异常区域
深度学习方法:
- 分类模型:判断产品是否有缺陷(OK/NG 二分类)
- 目标检测:定位缺陷位置并分类(YOLO、Faster R-CNN)
- 语义分割:像素级标注缺陷区域(U-Net)
- 异常检测:仅用正常样本训练,检测偏离正常模式的异常(适合缺陷样本稀少的场景)
斑点分析与形状特征的量化:斑点分析 (Blob Analysis) 是对二值化后的连通区域求面积、周长、圆形度、长宽比等特征量的方法。圆形度按 4π x 面积 / 周长² 计算,可据此区分细长的伤痕与圆形的污点。OpenCV 中用 cv2.connectedComponentsWithStats() 一次取得各连通区域的面积与外接矩形。对于布匹的织纹、印刷网点等周期性花样,还可用 FFT 分析周期性,把偏离周期的成分判为缺陷。
尺寸测量 - 亚像素精度的实现
图像测量将像素坐标转换为物理尺寸,实现非接触式的精密测量。
测量流程:
- 标定:确定像素与物理尺寸的对应关系(mm/pixel)。使用标定板(棋盘格)进行相机标定
- 边缘检测:精确定位被测物体的边缘。亚像素边缘检测可达到 0.1 像素精度
- 几何计算:根据边缘点计算距离、角度、圆度等几何参数
亚像素精度技术:
- 边缘亚像素定位:在边缘附近拟合灰度曲线(高斯、抛物线),找到精确的过渡点
- 圆/椭圆拟合:对边缘点进行最小二乘拟合,得到亚像素精度的几何参数
- 相位相关:利用傅里叶相位信息实现亚像素级的位移测量
精度影响因素:镜头畸变(需要校正)、光照均匀性、振动、温度变化导致的热膨胀。
边缘检测与远心镜头的精度:尺寸测量先用 Sobel 或 Canny 检出边缘,再以亚像素精度求边缘位置——2 条边缘之间的距离即为尺寸值。亚像素处理对边缘附近的亮度梯度做抛物线拟合或重心计算,从而以像素间距的 1/10 左右分辨位置。并用远心镜头 (telecentric lens) 消除透视畸变后,可达到 ±0.005mm 的重复精度。
表面检查 - 光照设计与缺陷增强
表面缺陷(划痕、凹坑、污渍、色差)的检测高度依赖光照设计。正确的光照可以让缺陷「自己显现」。
光照技术:
- 明场照明:光源从正面照射,反射光进入相机。适合检测色差、污渍等平面缺陷
- 暗场照明:光源从侧面低角度照射,仅散射光进入相机。划痕和凸起在暗背景上发亮,极易检测
- 背光照明:光源在物体背面。用于检测通孔、裂缝、轮廓
- 结构光:投射条纹或网格图案,通过变形分析表面 3D 形状
多光照融合:同一位置使用多种光照条件拍摄,综合分析。不同类型的缺陷在不同光照下最明显。
明场与暗场的分工:明场照明 (Bright Field) 接收正反射光,适合平整表面上的污点与印刷缺陷;暗场照明 (Dark Field) 只接收散射光,能让划痕、裂纹、边缘毛刺等凹凸缺陷以亮线的形式浮现。
波长的选择与频闪照明:波长按对象选择:红色 LED (660nm) 通用性最好也最廉价;蓝色 LED (470nm) 波长短、分辨力高,适合金属表面的微细划痕与铜的氧化;红外 LED (850nm) 可透过硅晶圆检出内部缺陷;紫外 LED (365nm) 利用荧光物质发光,适合检出胶水溢出与油污。搬送速度在 1m/s 以上的高速产线要用频闪照明——把曝光时间压到 10μs 以下,即使搬送速度为 2m/s,运动模糊也能控制在 0.02mm 以下;LED 的瞬时发光强度可达连续点亮时的 10-50 倍,因此短曝光下仍能确保足够亮度。
深度学习在工业检测中的应用
深度学习正在革新工业检测,特别是在传统方法难以处理的复杂缺陷检测场景。
优势:
- 可处理形态多变的缺陷(无需为每种缺陷编写规则)
- 对光照变化和位置偏移更鲁棒
- 可从数据中自动学习特征,减少人工特征工程
挑战:
- 数据不足:缺陷样本通常很少(良品率 > 99%)。需要数据增强或异常检测方法
- 实时性:产线速度要求毫秒级推理。需要模型优化和 GPU/NPU 加速
- 可解释性:需要解释为什么判定为缺陷(质量追溯要求)
实用架构:
- 边缘部署:NVIDIA Jetson 或工业 PC + GPU 运行推理
- 模型:YOLOv8(检测)、U-Net(分割)、PatchCore(异常检测)
- 持续学习:收集新的缺陷样本持续更新模型
异常检测 - 只用良品学习:异常检测 (Anomaly Detection) 只从正常品学习其分布,把偏离该分布的部分判为异常,因此不需要收集不良品图像——这在不良率极低的产线上是决定性的优点。PatchCore (2022) 把预训练 ResNet/WideResNet 中间层的特征存入记忆库 (memory bank),以与最近邻特征的距离作为异常分数,在 MVTec AD 数据集上达到 AUROC 99.1%;只需 10-50 张正常图像即可构建,GPU 上的推理约 50ms/张。PaDiM (2021) 对各图像块的特征拟合高斯分布,用马氏距离度量异常度。EfficientAD (2023) 采用知识蒸馏的 Teacher-Student 结构,让 Student 只学习正常品的特征,遇到异常时无法再现 Teacher 的输出而产生大误差,GPU 上可达 5ms/张,同时保持 AUROC 98.8%。评价基准 MVTec AD 收录 15 个类别 (螺丝、瓷砖、皮革等) 并附带像素级的异常位置标注,是该领域事实上的标准。
系统集成与部署考虑
工业检测系统的部署需要考虑产线环境的特殊要求。
硬件选型:
- 相机:面阵(静止物体)vs 线阵(连续运动物体)。分辨率根据检测精度需求选择
- 镜头:远心镜头(消除透视变形,适合精密测量)vs 普通镜头(成本低)
- 光源:LED 条形光、环形光、同轴光、穹顶光等,根据检测对象选择
软件架构:
- 实时采集 → 预处理 → 检测/测量 → 判定 → 输出(IO 信号/数据库记录)
- 需要与 PLC、MES 系统集成
- 数据存储:保存缺陷图像用于追溯和模型改进
可靠性要求:
- 7x24 小时连续运行,故障率极低
- 误检率和漏检率的平衡(宁可误检不可漏检)
- 环境适应:温度、振动、粉尘、电磁干扰
节拍时间的预算分配与加速手段:节拍时间由生产速度反算:600 个/分的产线为 60s / 600 = 100ms 每个,其内部分配大致是图像取得 10ms + 图像处理 80ms + 判定输出 10ms。加速手段有:ROI (Region of Interest) 处理——只处理必要区域,面积缩到 1/4 即可获得约 4 倍速度;查表法——把二值化、伽马校正等逐像素运算预先做成 LUT;SIMD——用 SSE/AVX 指令一次处理 8-16 个像素,OpenCV 内部会自动利用;GPU——用 CUDA 并行化可达 CPU 的 10-100 倍,但要计入主机与设备之间的传输开销;FPGA——以 1 时钟每像素做流式处理,延迟可压到 1ms 以下,适合超高速产线。多相机构成上,4 面检测 (上面、底面、侧面 2 面) 需要 4 台相机同步曝光;线扫描相机适合连续搬送物,8K (8,192 px) 相机拍摄 1m 宽度时约为 0.12mm/px。
要求规格的定量化与三个运行指标:导入前必须把要求定量化——不能只写「检出伤痕」,而要写成「检出 0.1mm 以上的伤痕,检出率 99.9%」,并用 1000 个以上的样本评价性能,同时确定与 PLC 通信、排出机构、生产管理系统的接口。运行指标取三项:检出率 (Detection Rate) 目标 99.9% 以上;过检率 (False Positive Rate) 目标 0.1% 以下 (过检会把良品误排出、拉低成品率);漏检率 (Escape Rate) 目标 0.01% 以下 (漏检直接流向客户,风险最大)。此外要定期监控 LED 的亮度衰减并自动补正阈值,并以标准样件做自动校准。
可追溯性的存储估算:保存检测图像时数据量增长很快:1 天 10 万个、每张 500KB/张时约为 1 天 50GB,保存 30 天即 1.5TB,需要 NAS 或云存储,并按「不良品图像长期保存、良品图像短期保存」区分保留期。