高反光是什么问题,出现在哪些工况
高反光指工件表面以镜面反射为主、漫反射很弱。 常见的有抛光不锈钢、铝合金镜面件、电镀与阳极氧化壳体、玻璃盖板、 镜面注塑件、涂漆金属板,以及带油膜的加工件。 要检的通常是划痕、压伤、麻点、水纹、镀层缺陷与异色斑, 与背景的灰度差往往只有几个到十几个灰阶,属于弱信号检测。
困难来自物理:光源的形状与亮度被原样映射到成像面上, 于是一张图上同时出现过曝区与全黑区,缺陷落在其中就等于不存在。 敏洽 机器视觉检测软件 的做法是先定成像方案、再定算法组合,顺序不能颠倒。
实际会遇到的几个坑
1. 用普通环形光拍镜面件
环形光的灯珠会以一圈亮环直接映进画面,环内全黑、亮环过曝。 划痕只有恰好落在亮暗过渡带上才可见,换个摆放位置就消失。 判断方法:工件在视野里挪几个位置各拍一张, 同一缺陷可见性变化很大,说明成像方案不成立。
2. 只盯着算法调参,不动光
图已过曝还在调阈值加滤波是白费功夫——过曝像素被截断到 255, 信息是被物理丢弃的。 先看直方图有没有大片贴在 0 或 255,有就降曝光、换角度、加扩散板。 成像达标是算法的前置条件,可以写进验收条款。
3. 曲面工件用同轴光,中间一块死区
同轴光在平整镜面上很好:视野均匀发亮,划痕与凹坑成暗线。 但工件一有曲率,只有曲率中心那一小块能把光反射回相机,周边全暗—— 几何造成的现象,却会让灰度类算法误判成大面积异常。 曲面件应改用穹顶光或多角度低角度组合光。
4. 穹顶光的开孔造成中心暗斑
穹顶光(碗光)靠内壁漫射形成近全方位照明,是曲面反光件的常规解。 但顶部让相机看进去的开孔不发光,在镜面件上 映成一个暗圆斑,正好落在视野中心。 办法:相机略偏轴、缩小开孔配长焦,或把该区设为固定屏蔽区。
5. 偏振片的光损失没算进节拍
交叉偏振压反光很有效,适合膜下字符、涂层下基材、油膜金属面。 但两片交叉后透过率常只剩四分之一,于是要么提光源功率(发热)、 要么延长曝光(运动模糊)、要么加增益(噪声)。 偏振方案必须与节拍、光源功率、相机灵敏度一起算。
6. 样品阶段能过,产线上不稳定
产线上有夹持偏差、来料油污差异、环境光变化与光源衰减,
这些影响在镜面件上被反射特性放大。对策三条:
环境光屏蔽做实(加遮光罩);
定位算子先跑一遍消除摆放偏差(统一输出
Offset_X / Offset_Y / Angle_θ,ROI 跟着走);
亮度做成可校准项,留出衰减余量。
打光方式与硬件条件
| 打光方式 | 适用表面与缺陷 | 主要代价 |
|---|---|---|
| 同轴光 | 平整镜面;划痕、压痕、凹坑表现为暗线 | 曲面上有中心亮斑;机构空间要求 |
| 穹顶光(碗光) | 曲面反光件;表面斑点、异色、麻点 | 顶部开孔映成暗斑;体积大 |
| 掠射(低角度)光 | 方向性缺陷:划痕、拉伤、折痕、毛刺根部 | 照明不均匀;缺陷方向与光向相关 |
| 暗场照明 | 凸起异物、颗粒、边缘缺口 | 平面区域全黑,只看突变结构 |
| 交叉偏振 | 膜下字符、涂层下基材、油膜金属面 | 光通量损失大,需补光或延长曝光 |
| 多角度分时打光 | 需要区分表面缺陷与轮廓缺陷时 | 节拍变长;需多次触发与图像合成 |
| 项目 | 要求与说明 |
|---|---|
| 相机 | 已适配 USB/UVC、大华、海康、度申,另有 Mock 虚拟相机用于离线开发与回放 |
| 触发 | 硬件 IO、编码器、通讯软触发、连续采集四种;分时打光用 IO 触发配合光源控制器 |
| 环境光 | 必须加遮光罩;镜面件对顶灯与窗户光远比常规工件敏感 |
| 算法组合 | 对比度检测、划痕检测、频域分析、灰度差异、形态学处理;定位类算子先对齐 |
| AI 补充 | 缺陷形态不固定时用 YOLO 目标检测或异常检测(AutoEncoder / VAE / PatchCore) |
| 运行环境 | Qt 6.9.2 + C++17 + OpenCV 4.x + ONNX Runtime;Windows 10/11 x64 与 Ubuntu 22.04 x64 |
| 客户准备 | 相机与光源支架(按敏洽给的安装位与视野要求)、遮光罩、稳定的工件夹持 |
光源与镜头的具体型号敏洽可按需给推荐清单,采购与安装由客户执行。 先用样品试拍确认成像方案,再定硬件清单。
相关交付情况
高反光项目的交付重点在前期:敏洽一般先要工件样品(或高清照片加表面工艺与缺陷描述), 在内部做试拍,用几种打光方式各拍一组, 判断缺陷能不能稳定成像。这一步的结论直接决定可行性与报价。
交付包含成像方案、硬件选型建议清单、检测软件与参数配方管理、
接口文档(触发方式、IO 定义、通讯点表、结果格式)。
算法按模块授权,也可以只要
跨语言 SDK(mqvision.dll / libmqvision.so,
支持 C、C++、C#、Java JNI、Python,另有 Qt-free 版本)嵌进客户已有的上位机。
需要 AI 的场景,训练平台在客户本地运行,图片不出厂,模型导出为加密 .aim 包。
常见问题
有具体设备清单或工件样品,可以直接给判断
提供设备型号、PLC 品牌与需要采集的数据项,或提供被检工件照片与精度要求,敏洽可先给出可行性判断与硬件前置条件,再谈软件工作量与报价。