4、图像预处理容错:噪声模型与滤波、光照不均校正、图像增强的鲁棒性、异常图像检测与剔除
图像预处理,说白了就是视觉系统的「第一道防线」。
我做了这么多年视觉系统,见过太多因为预处理没做好,导致后面算法全崩的案例。你想想看,如果输入图像本身就有问题,再牛的深度学习模型也白搭。
这一章,咱们就聊聊预处理阶段的容错设计。核心就四个字:扛得住脏,稳得住场。
4.1 噪声模型与滤波:先搞清楚敌人长什么样
很多人一上来就滤波,其实不对。你得先知道噪声是什么类型,才能对症下药。
4.1.1 常见噪声模型
我在项目中遇到过三种最常见的噪声:
- 高斯噪声:传感器热噪声、光照波动。说白了就是每个像素上叠加一个随机值,服从正态分布。
- 椒盐噪声:传输错误、传感器坏点。图像上随机出现白点或黑点,像撒了盐和胡椒。
- 泊松噪声:低光照条件下,光子计数的不确定性。这个在工业暗场检测中特别常见。
核心观点:滤波器的选择,取决于噪声模型。用错了滤波器,比不滤波还糟糕。
4.1.2 滤波器的容错选择
我个人的习惯是:
- 高斯滤波:对付高斯噪声,效果好。但会模糊边缘,不适合需要细节的场景。
- 中值滤波:对付椒盐噪声,效果极佳。边缘保留能力比高斯强。我曾在一条产线上,用中值滤波把坏点率从5%降到了0.3%。
- 双边滤波:既能去噪又能保边。但计算量大,实时系统慎用。
避坑指南:我曾经在一个项目中,直接用高斯滤波处理所有图像。结果有一批图像有大量椒盐噪声,高斯滤波根本压不住,反而把噪声扩散了。后来改成自适应中值滤波,问题才解决。
4.2 光照不均校正:别让光线毁了你的算法
光照不均是工业视觉的头号杀手。你想想看,同一个工件,早上拍和下午拍,亮度差了一倍,阈值分割的结果能一样吗?
4.2.1 为什么光照不均是容错难点?
因为光照不均不是噪声,它是系统性的偏差。噪声是随机的,滤波能压住。光照不均是全局的,滤波没用。
我记得有一次,客户反馈说检测算法时好时坏。我过去一看,发现是车间顶灯坏了,导致光照方向变了。嗯,这就是典型的「环境变化导致算法失效」。
4.2.2 常用校正方法
| 方法 | 原理 | 适用场景 | 容错性 |
|---|---|---|---|
| 直方图均衡化 | 拉伸灰度分布 | 整体偏暗或偏亮 | 中等 |
| 自适应直方图均衡化(CLAHE) | 分块均衡,限制对比度 | 局部光照不均 | 高 |
| 同态滤波 | 分离光照和反射分量 | 光照缓慢变化 | 较高 |
| 背景建模法 | 估计背景光照分布 | 固定场景 | 高(需标定) |
注意:直方图均衡化虽然简单,但会放大噪声。我建议在低信噪比场景下,优先用CLAHE。
4.3 图像增强的鲁棒性:别把噪声也「增强」了
图像增强的目的是让特征更明显。但有个问题:增强的同时,噪声也会被放大。
我见过有人用拉普拉斯算子做锐化,结果把传感器坏点锐化成了「假缺陷」,导致误检率飙升。
4.3.1 鲁棒增强的原则
- 先降噪,后增强:这是铁律。我习惯先做一次轻度中值滤波,再做增强。
- 避免全局增强:全局增强会放大局部噪声。用自适应方法更好。
- 限制增益:在增强算法中,设置最大增益阈值。比如CLAHE的clip limit,就是防止过度增强。
我的经验:在工业检测中,我通常用「先CLAHE,再轻度高斯滤波」的组合。CLAHE增强对比度,高斯滤波压住增强后放大的噪声。这个组合在90%的场景下都够用。
4.4 异常图像检测与剔除:把坏图挡在门外
这是预处理容错的最后一道关。如果图像本身是坏的,就别让后面的算法白费力气。
4.4.1 哪些图像算「异常」?
- 全黑/全白图像:传感器故障、镜头盖没打开。
- 过曝/欠曝图像:光照突变或曝光参数错误。
- 模糊图像:运动模糊、对焦不准。
- 条纹/坏线图像:传感器行或列损坏。
4.4.2 检测方法
我常用的方法很简单:
- 灰度统计法:计算图像均值、方差。如果均值接近0或255,直接剔除。
- 梯度检测法:计算图像梯度幅值。如果梯度均值过低,说明图像模糊。
- 频域检测法:做FFT,看高频分量是否异常。条纹噪声会在频域出现明显峰值。
避坑指南:我曾经在一个项目中,只用了灰度均值做异常检测。结果有一批图像,均值正常,但全是条纹噪声。后来加了频域检测,才把这类异常抓出来。
4.4.3 剔除策略
检测到异常图像后,不要直接丢弃。我建议:
- 记录日志:保存异常图像和检测指标,方便后续分析。
- 触发重采:如果是实时系统,可以触发相机重新采集。
- 报警机制:如果连续多帧异常,说明硬件可能出问题了,需要报警。
总结一下:图像预处理容错,不是把图像变漂亮,而是让系统在「脏乱差」的输入下,依然能稳定工作。噪声模型要懂、滤波要选对、光照要校正、异常要剔除。每一步都做到位,你的视觉系统才能扛得住工业现场的毒打。
嗯,这一章就到这里。下一章咱们聊聊特征提取阶段的容错设计,那又是另一番天地了。