误区一:光源越亮越好——过度照明导致过曝与杂散光
刚入行那会儿,我也犯过这个错。总觉得光源不够亮,检测就看不清楚。于是拼命加功率,换更大电流的控制器,甚至把两个光源叠在一起用。结果呢?图像一片惨白,该看的缺陷全被淹没了。
说白了,这是一个很朴素的直觉误区——我们总觉得「亮=看得清」。但在光学检测里,事情没那么简单。
过度照明到底带来了什么问题?
我总结下来,主要有三个后果:
- 过曝导致信息丢失:传感器像元饱和后,灰度值卡死在255(8位图),边缘细节、纹理特征全部消失。你想想看,一个划痕如果和背景一样白,那还怎么检测?
- 杂散光干扰:光线过强会在镜片内部、机械结构表面多次反射,形成非成像光斑。这些光斑会叠加在目标图像上,造成伪缺陷或掩盖真实缺陷。
- 热漂移与寿命缩短:LED光源在满功率下发热严重,光衰加快。我见过一个项目,光源用了不到三个月,亮度就掉了30%。
一个真实的翻车案例
我记得2018年做过一个手机中框划痕检测项目。客户要求检出0.02mm以上的划痕。我们用了环形光源,功率调到80%。
现场图像看起来挺亮的,划痕也能看到。但到了算法验证阶段,漏检率高达15%。我反复排查,最后把图像拉出来看直方图——好家伙,整个背景区域的灰度值集中在220-250之间,划痕的对比度只有10个灰度级。
后来我把光源功率降到40%,加了一个偏振片。对比度从10级提升到了45级,漏检率直接降到1%以下。
嗯,这个教训我一直记着。
光源亮度的「黄金法则」
我个人习惯用这样一个原则:在保证目标特征可分辨的前提下,亮度越低越好。
具体怎么操作?我一般分三步走:
- 先找饱和点:从最低亮度开始,逐步增加,直到图像中出现第一个饱和像素。记录这个亮度值。
- 再找对比度拐点:在饱和点以下,测量目标与背景的灰度差。当亮度增加但对比度不再明显提升时,就是拐点。
- 取拐点以下10%-20%作为工作亮度:留出余量,应对光源老化、环境光变化等因素。
不同场景下的亮度策略
不是说所有场景都要低亮度。不同检测任务对亮度的要求不一样。我整理了一个对照表:
| 检测场景 | 亮度策略 | 典型问题 | 我的建议 |
|---|---|---|---|
| 高反光表面(镜面、金属) | 低亮度 + 偏振 | 过曝、反光干扰 | 先减光,再加偏振片 |
| 透明物体(玻璃、薄膜) | 中低亮度 + 背光 | 杂散光、边缘模糊 | 用平行背光,避免漫射 |
| 粗糙表面(磨砂、铸件) | 中高亮度 + 低角度 | 阴影干扰 | 用漫射光源,降低角度 |
| 微小缺陷(划痕、凹坑) | 中亮度 + 高对比度 | 对比度不足 | 用暗场照明,突出缺陷 |
| 高速检测(在线流水线) | 高亮度 + 短曝光 | 运动模糊 | 优先缩短曝光时间,再补亮度 |
杂散光的「隐形杀手」效应
杂散光比过曝更隐蔽。过曝你一眼就能看出来,但杂散光往往表现为图像整体发灰、对比度下降、边缘出现鬼影。
我曾经遇到一个项目,检测PCB焊点。图像看起来没什么问题,但算法总是把正常的焊点判为虚焊。折腾了两天,最后用黑绒布把镜头周围包起来,问题就解决了。
原来杂散光来自镜头和光源之间的缝隙,光线在镜筒内壁反射后进入了传感器。
- 检查镜头与光源之间是否有漏光
- 检查机械结构表面是否反光(黑色阳极氧化也会反光)
- 检查滤光片是否安装到位
- 检查光源角度是否导致光线直射入镜头
- 用「遮光法」:用手或黑纸遮挡可疑位置,观察图像变化
如何用直方图判断照明是否合适?
我不太相信肉眼判断。肉眼对亮度的感知是非线性的,而且容易受环境光影响。我习惯看直方图。
一个健康的照明图像,直方图应该满足:
- 不贴边:左右两端没有堆积(0和255附近)
- 有宽度:灰度分布范围至少占满50%的动态范围
- 有主峰:背景区域形成一个明显的主峰,目标特征分布在主峰两侧
如果直方图整体偏右且右侧贴边,那就是过曝了。如果整体偏左且左侧贴边,那就是欠曝。
避坑指南
最后,分享几个我踩过的坑:
- 不要迷信高功率光源:功率高不等于效果好。很多时候,低功率+好光路设计比高功率+随便打光强得多。
- 不要忽略光源的均匀性:有些光源中心亮边缘暗,这种不均匀性比整体亮度不足更麻烦。
- 不要忘记光源老化:LED光源在使用过程中亮度会逐渐下降。我建议每半年做一次亮度校准,或者预留20%的亮度余量。
- 不要只用一种照明方式:同一个工件,明场、暗场、背光、结构光看到的信息完全不同。多试试,找到最适合的那一种。
我曾经在一个项目里,为了追求「亮」,把光源功率调到最大,结果杂散光导致误检率飙升。后来换成低角度暗场照明,亮度只有原来的三分之一,但缺陷对比度提升了5倍。
嗯,从那以后我就记住了:光学检测不是比谁更亮,而是比谁看得更清楚。