误区一:光源越亮越好——过度照明导致过曝与杂散光

刚入行那会儿,我也犯过这个错。总觉得光源不够亮,检测就看不清楚。于是拼命加功率,换更大电流的控制器,甚至把两个光源叠在一起用。结果呢?图像一片惨白,该看的缺陷全被淹没了。

说白了,这是一个很朴素的直觉误区——我们总觉得「亮=看得清」。但在光学检测里,事情没那么简单。

过度照明到底带来了什么问题?

我总结下来,主要有三个后果:

  • 过曝导致信息丢失:传感器像元饱和后,灰度值卡死在255(8位图),边缘细节、纹理特征全部消失。你想想看,一个划痕如果和背景一样白,那还怎么检测?
  • 杂散光干扰:光线过强会在镜片内部、机械结构表面多次反射,形成非成像光斑。这些光斑会叠加在目标图像上,造成伪缺陷或掩盖真实缺陷。
  • 热漂移与寿命缩短:LED光源在满功率下发热严重,光衰加快。我见过一个项目,光源用了不到三个月,亮度就掉了30%。
⚠️ 注意:过曝不是「调低一点亮度」就能解决的。一旦传感器饱和,降低亮度只能让饱和区域缩小,但已经丢失的细节无法恢复。这就是为什么我建议在调试阶段就要确认「不饱和边界」。

一个真实的翻车案例

我记得2018年做过一个手机中框划痕检测项目。客户要求检出0.02mm以上的划痕。我们用了环形光源,功率调到80%。

现场图像看起来挺亮的,划痕也能看到。但到了算法验证阶段,漏检率高达15%。我反复排查,最后把图像拉出来看直方图——好家伙,整个背景区域的灰度值集中在220-250之间,划痕的对比度只有10个灰度级。

后来我把光源功率降到40%,加了一个偏振片。对比度从10级提升到了45级,漏检率直接降到1%以下。

嗯,这个教训我一直记着。

光源亮度的「黄金法则」

我个人习惯用这样一个原则:在保证目标特征可分辨的前提下,亮度越低越好。

具体怎么操作?我一般分三步走:

  1. 先找饱和点:从最低亮度开始,逐步增加,直到图像中出现第一个饱和像素。记录这个亮度值。
  2. 再找对比度拐点:在饱和点以下,测量目标与背景的灰度差。当亮度增加但对比度不再明显提升时,就是拐点。
  3. 取拐点以下10%-20%作为工作亮度:留出余量,应对光源老化、环境光变化等因素。
💡 我的习惯:每次调试完,我会拍一张「亮度标定图」存档。这样下次换光源或者维修后,可以快速恢复到原来的状态。省了很多重复调试的时间。

不同场景下的亮度策略

不是说所有场景都要低亮度。不同检测任务对亮度的要求不一样。我整理了一个对照表:

检测场景 亮度策略 典型问题 我的建议
高反光表面(镜面、金属) 低亮度 + 偏振 过曝、反光干扰 先减光,再加偏振片
透明物体(玻璃、薄膜) 中低亮度 + 背光 杂散光、边缘模糊 用平行背光,避免漫射
粗糙表面(磨砂、铸件) 中高亮度 + 低角度 阴影干扰 用漫射光源,降低角度
微小缺陷(划痕、凹坑) 中亮度 + 高对比度 对比度不足 用暗场照明,突出缺陷
高速检测(在线流水线) 高亮度 + 短曝光 运动模糊 优先缩短曝光时间,再补亮度

杂散光的「隐形杀手」效应

杂散光比过曝更隐蔽。过曝你一眼就能看出来,但杂散光往往表现为图像整体发灰、对比度下降、边缘出现鬼影。

我曾经遇到一个项目,检测PCB焊点。图像看起来没什么问题,但算法总是把正常的焊点判为虚焊。折腾了两天,最后用黑绒布把镜头周围包起来,问题就解决了。

原来杂散光来自镜头和光源之间的缝隙,光线在镜筒内壁反射后进入了传感器。

🔍 杂散光排查清单:
  • 检查镜头与光源之间是否有漏光
  • 检查机械结构表面是否反光(黑色阳极氧化也会反光)
  • 检查滤光片是否安装到位
  • 检查光源角度是否导致光线直射入镜头
  • 用「遮光法」:用手或黑纸遮挡可疑位置,观察图像变化

如何用直方图判断照明是否合适?

我不太相信肉眼判断。肉眼对亮度的感知是非线性的,而且容易受环境光影响。我习惯看直方图。

一个健康的照明图像,直方图应该满足:

  • 不贴边:左右两端没有堆积(0和255附近)
  • 有宽度:灰度分布范围至少占满50%的动态范围
  • 有主峰:背景区域形成一个明显的主峰,目标特征分布在主峰两侧

如果直方图整体偏右且右侧贴边,那就是过曝了。如果整体偏左且左侧贴边,那就是欠曝。

📊 我的调试流程:每次调整光源后,先看直方图,再看图像。直方图合格了,再跑算法验证。这样效率高很多。

避坑指南

最后,分享几个我踩过的坑:

  • 不要迷信高功率光源:功率高不等于效果好。很多时候,低功率+好光路设计比高功率+随便打光强得多。
  • 不要忽略光源的均匀性:有些光源中心亮边缘暗,这种不均匀性比整体亮度不足更麻烦。
  • 不要忘记光源老化:LED光源在使用过程中亮度会逐渐下降。我建议每半年做一次亮度校准,或者预留20%的亮度余量。
  • 不要只用一种照明方式:同一个工件,明场、暗场、背光、结构光看到的信息完全不同。多试试,找到最适合的那一种。

我曾经在一个项目里,为了追求「亮」,把光源功率调到最大,结果杂散光导致误检率飙升。后来换成低角度暗场照明,亮度只有原来的三分之一,但缺陷对比度提升了5倍。

嗯,从那以后我就记住了:光学检测不是比谁更亮,而是比谁看得更清楚。

照明亮度决策流程 开始调试 步骤1:从最低亮度开始,逐步增加 出现第一个饱和像素? 是 记录饱和亮度值 否,继续增加 步骤2:测量对比度拐点 步骤3:取拐点以下10%-20% 确定工作亮度 关键原则 不饱和 高对比度 留余量