基于机器视觉的车灯灯罩表面缺陷检测方法研究

2023-03-02 08:06梁建伟袁绪昌钟贤青
现代工业经济和信息化 2023年12期
关键词:灯罩车灯条纹

梁建伟, 袁绪昌, 李 慧, 钟贤青

(1.江西理工大学电气工程与自动化学院, 江西 赣州 341000;2.赣南科技学院, 江西 赣州 341000;3.开异智能技术有限公司, 上海 200000)

0 引言

汽车整体外观检测是产品交付的最后一步,而车灯灯罩表面作为汽车整体的一部分,对外观缺陷检测要求尤其严格。由于车灯灯罩生产工艺上的特点,对车灯灯罩的缺陷检测仍然停留在人工检测阶段。

随着机器视觉技术的长足发展,在工业缺陷检测[1-3]领域,该技术也得到了广泛应用。简川霞等[4]研究OLED 显示屏表面缺陷自动检测的方法,提出对图像进行奇异值分解,并选取两个较大的奇异值对图像进行重构,之后作差分运算得到残差图像,采用模糊C 均值的聚类方法,根据图像像素的隶属度值聚类为两类,即背景和缺陷,达到缺陷分割的目的。刘浩等[5]研究刀具表面检测及分类的方法,采用基于双边滤波的降噪方法和基于差分的对比度增强方法,提取缺陷的形状特征、灰度特征和纹理特征,然后采用支持向量机的分类方法对缺陷进行自动分类。杨勍等[6]研究TFT-LCD 图像异物缺陷自动分割的方法,采用基于空间信息多尺度显著性的缺陷提取,并结合缺陷与屏幕像素间隙的空间分布关系,找到被像素间隙截断的对应缺陷块组,利用局部凸包拟合算法将缺陷区域进行连通,实现缺陷的精确分割。然而,现有文献对于车灯灯罩表面缺陷检测的研究还处于实验阶段。因此,本文作者所在的团队针对这一问题,进行了大量的调研和研究,归纳出限制这一自动化进程的主要原因有三点:其一,车灯灯罩种类繁多且形状不规则,多为异形曲面,缺陷数据难以采集;其二,车灯灯罩表面的缺陷主要由于生产过程中碰撞、刮擦等方式在其表面产生的痕迹以及脏污斑点,因此,缺陷产生的位置及形状没有统一的范式;其三,车灯灯罩表面存在高反光区域(镀铝面)和非高反光区域(磨砂面),难以进行打光成像。

本文针对车灯灯罩表面缺陷检测任务,首先从照明方案设计着手,采用LED 光源条形打光的方式,能够非常清晰的显现缺陷位置的像素,然后设计缺陷检测算法,对于条纹背景采用改进Mean Shift 算法分割,之后再在白色条纹的基础之上采用模糊C 均值算法,最终定位缺陷位置所在的像素坐标,从而达到分割出缺陷部分像素的目的。

1 检测方案设计

1.1 照明方案设计

机器视觉系统的核心是图像的采集和处理,且图像的质量对整个视觉系统极为关键,即一幅好的图像可以提高整个系统的稳定性,从而大大降低图像处理算法的难度,同时提高系统的精度和可靠性[7]。而一幅好的图像应该具备如下四个条件:

1)对比度:对比度明显,目标与背景的边界对比清晰,要求目标与背景灰度值至少相差30 以上;

2)均匀性:要求图片整体亮度均匀,或整体不均匀但灰度差不影响图像处理;

3)真实性:与颜色有关的还需要颜色真实,亮度适中,不过度曝光,过度像素满足精度检测要求;

4)干扰性:背景尽量淡化。

因此,综合以上分析,对于光源的选择以及打光方案的确定是机器视觉系统设计中第一步也是关键一步。表1 为常见的光源类别及其优缺点汇总。

表1 常见光源性能参数

如表2 所示,本文将详细描述常见的照明方法及对应的照明方案,并分析其优缺点及在项目中的主要应用。

表2 常见照明方案

通过对比常见的不同光源的参数特性,LED 光源在使用寿命相比于其他光源更持久,且LED 光源的光色纯正,对于车灯表面的缺陷显影更加有利,而且其响应时间更短,满足工业质检的检测速度要求。打工方式选取折射光面阵式照明,该方法能够对车灯灯罩这类透明介质上的缺陷进行显影,有利于后续分割算法的设计与处理。

1.2 缺陷成像分析与算法流程

本文综合资源节约性、方便经济性以及机器视觉系统的稳定性考虑,采用LED 光源及散射光照明的方式对车灯灯罩表面进行条形光打光处理。车灯灯罩经打光后的缺陷图像如图1 所示,可以明显看出缺陷区域存在于白色条纹处,其灰度值与周围区域的灰度值存在明显差异。

图1 车灯灯罩经条形光源打光后的缺陷成像

获取的缺陷信息可以分为三种形式:类别标签、外接矩形和像素掩码[8]。对应的方法分别是分类、目标检测和分割,本文对缺陷信息的获取采用像素掩码的形式,即分割的方法。

研究车灯灯罩的打光图像,缺陷所在的区域主要存在于白色条纹处且仅与周围像素有一定的差异,但是,缺陷所形成的区域并不具有语义性(即缺陷区域形成的形状没有范式),仅仅是灰度值的差异[9],若从整幅图像的角度去分割出缺陷存在的区域相当困难,可以把条纹区域看作图像中的纹理模式(即黑白条纹区域),首先提取整幅图像内的纹理模式,然后再在黑白条纹处确定缺陷所在区域的像素。

那么,顺应这种思路,首先,确定Mean Shift 算法[10]用于提取整幅图像中的黑白条纹区域,Mean Shift算法有两个优势:一是该算法可调超参数少只有一个,即频带宽度,方便操作;二是该算法不需要指定聚类个数可自动确定,鲁棒性强。然后,在确定了黑白条纹区域之后,对所在区域内的像素采用模糊C 均值[11]的方法确定最终的缺陷分割像素掩码。缺陷区域分割的算法流程如图2 所示。

图2 缺陷区域分割的流程

2 算法原理

2.1 基于Mean-Shift 的条纹区域提取

分析成像图像,缺陷的位置存在于条纹区域内,而且,条纹区域特征空间的模式相对于整幅图像而言比较简单,这对于特征空间的参数分析极为有利,因此,如何将条纹区域从整幅图像上分割出来成为本文第一个需要解决的问题。Mean Shift 是一种基于核密度估计的非参数聚类算法。该算法不需要指定聚类个数即可自动分类,且分割形成的形状不受限制。

2.1.1 核密度估计与Mean Shift

核密度估计的作用主要是估计样本在特征空间的密度分布模式,即通过相同的核函数对数据集中每一个样本点进行计算,然后对所有核函数相加,得到数据集的核密度估计。

若给定数据集{xi}x∈Rd,i=1,…,n,定义径向对称核函数:

且核密度估计:

其中,

式中:H为频带宽度矩阵或者H=h2I。

则最终的核密度估计:

式中:h为核函数k(x)的参数频带宽度;ck,d为归一化常数。

Mean Shift 算法的基本目标是将样本点向局部密度增加的方向移动。梯度是函数增加最快的方向。

对核密度估计式(4)求偏导:

定义函数:

并定义核函数:

则核函数G(x)所对应的核密度估计为:

此时,将式(6)代入式(5)中:

其中,Mean Shift 向量的表达式为:

此时,将式(8)与式(10)代入式(9)中:

通过式(11)可以看出,使用核函数G(x)计算的Mean Shift 向量与使用核函数K(x)计算的密度梯度估计成正比,因此,Mean Shift 向量总是指向密度增加最快的方向。

2.1.2 Mean Shift 图像分割

Mean Shift 算法对彩色图像作分割任务不是在RGB 颜色空间,而是在LUV 颜色空间。具体因为RGB 颜色空间是非均匀空间且主要用于存储和编码,而LUV 颜色空间是均匀空间,L代表亮度,取值范围为(0,100),U和V代表色度,取值范围为(-100,100),而感知颜色空间的差异一般采用特征空间中的欧氏距离度量,因此,对于RGB 颜色空间并不能完全保证有效的欧氏距离度量。

一般而言,设备获取到的图像是基于RGB 颜色空间的,因此,对于获取到的RGB 图像应先转换到LUV 颜色空间进行表示。

首先,将RGB 图像转换到标准XYZ 颜色空间,有如下转换关系:

然后,将标准XYZ 颜色空间图像转换到LUV 颜色空间,有如下转换关系:

其中,

Mean Shift 算法描述的是特征空间内密度的估计,因此,对于彩色图像而言,包含空间域即图像矩阵的重采样网格,以及色彩域即彩色图像的颜色值,则描述多元核密度函数的参数即频带宽度分别为hs和hr。多元核函数如式(15)所示:

式中:C为归一化常数;xs为空间域的输入向量;xr为色彩域的输入向量。

Mean Shift 算法描述如下:

令xi和zi(i=1,…,n)为联合空间- 色彩域中的维输入数据和Mean Shift 收敛数据,Li为分割图像中第i个像素的标签。

1)对输入图像计算Mean Shift 向量,将维收敛点的所有信息存储在中。

2)分别在空间域和色彩域上计算欧氏距离使得比hs和hr更接近的zi合并得到聚类集群{Cp}p=1,…,m。

3)对图像上的每一个像素,分配标签Li={p|zi∈Cp}。

4)可选操作:消除包含小于M个像素的空间区域。

2.2 基于模糊C 均值的缺陷分割

模糊C 均值聚类[11]结合了模糊理论的概念。一般情况下,数据集合都具有非线性性,因此,其中的样本不能准确划分为明显分离的集合,相较于K 均值的硬聚类,模糊C 均值聚类提供了更加灵活的聚类结果。样本与分类集合之间的接近程度由隶属度衡量,一个样本与某一集合之间的隶属度值越大则该样本越可能属于该集合。

给定数据集X={x1,x2,…,xn},mj{j=1,2,…,k}为聚类中心,k为类别数,μj(Xi)为第i个样本对应第j类的隶属度函数。则基于隶属度函数的聚类损失函数为:

其中,b为加权指数,也称作平滑因子,控制样本隶属度模式在模糊集类间的分享程度。

任意样本对全部类的隶属度之和为1,

求聚类损失函数最小值,可使用拉格朗日乘子法将式(17)代入式(16)中:

令Jf对mj求偏导并令其为零:

求解式(19)得:

令Jf对μj(Xi)求偏导并令其为零:

求解式(21)并结合式(17)得:

随机赋值给μj(Xi),在满足约束条件的情况下通过迭代公式(20)计算出聚类中心mj,再将mj代入式(22)中计算出新的隶属度μj(Xi),循环迭代,直至满足终止条件:

式中:ε 为设定的停止迭代阈值。

模糊C均值算法步骤:

1)对于数据集Xi{i=1,2,…,n},初始化隶属度矩阵U,设定类别数k,平滑因子b=2,停止迭代阈值ε,隶属度矩阵U∈Rn×k;

2)根据式(20)更新聚类中心mj{j=1,…,k};

3)根据式(22)更新隶属矩阵U(t),U(t+1);

基于模糊C 均值的缺陷分割流程如图3 所示。

图3 基于模糊C 均值的缺陷分割流程

3 实验结果与分析

本文采用工业相机获取汽车车灯灯罩上具有缺陷区域的黑白条纹图像,其图像分辨率为1920×1080,算法的C++代码运行硬件环境为AMD Ryzen 75800H。为了验证该算法各部分的功能及分割效果,首先,分别在单幅图像和多幅图像上提取条纹区域并分析其分割效果,然后,分别对比了本文提出的算法与分水岭算法和最大类间方差算法分割的效果,并采用精确率与召回率量化评估三种分割算法的性能。

3.1 条纹区域提取

Mean Shift 算法只有一个可调参数,即频带宽度。对于彩色图像而言即,对应于空间域频带宽度,对应于色彩域频带宽度。在均值偏移的过程中,频带宽度的选择至关重要。

将Mean Shift 算法应用于具有条纹的RGB 图像。如图5-1 所示为原始图像,分辨率为1920×1080 像素;如图4-2 和图4-3 分别为图4-1 在RGB 颜色空间和LUV 颜色空间的散点图。

图4 Mean Shift 算法应用于具有条纹的三通道图像

图5 分别对3 幅图像应用相同的频带宽度(hs,hr)=(16,8)

对比图4 中4-4、4-5 和4-6 或者4-7、4-8 和4-9 可知,在固定色彩域的频带宽度时,随着空间域频带宽度的增大,条纹区域在边界处的分割界限不断明显而超过一定值后将不具有区分度;而对比4-4 和4-7 或者4-5 和4-8 或者4-6 和4-9 可知,色彩域的频带宽度hr对条纹区域分割结果的影响不明显,因此,综合以上分析,对于条纹图像的分割主要受到空间域的频带宽度hs的影响,即图像的空间尺度问题。在图4 中图像的空间尺度情况下,频带宽度hs=16 即为最优值。

下面分别对3 幅条纹图像应用Mean Shift 算法,如图5 所示,其中,图5-1、图5-2 和图5-3 为原图像,图5-4、图5-5 和图5-6 分别为原图像应用Mean Shift 算法且频带宽度(hs,hr)均为(16,8)所对应的分割图像。

3.2 缺陷分割

由Mean Shift 算法对原始图像聚类分割后,获得具有类标签的标记图像。缺陷分割的作用域是基于原始图像和具有类标签的标记图像的融合,即在具有同类标签的作用域内执行模糊C 均值算法以对缺陷进行分割。

在既定的作用域内执行模糊C 均值算法:设定分类个数k=2,平滑因子b=2,停止迭代阈值ε=10-6,随机初始化隶属度矩阵U,并设定最大迭代次数为20 次。

对图6 中的6-1 执行Mean Shift 算法可确定方框区域内存在缺陷,即图6 中6-2,对其执行以上过程,分割得到的图像如图6-3 所示。

图6 基于模糊C 均值的缺陷图像分割

3.3 算法性能评估

为了评估该算法对于缺陷区域的分割效果,本文对比了分水岭法和最大类间方差法[12-13]在缺陷分割上的性能。

本文采用精确率、召回率两个指标来定量地评价上述3 种缺陷分割方法的分割性能。精确率和召回率的定义为:

式中:PT为正确分割为缺陷区域的像素数目;PF为将非缺陷区域错误分割为缺陷区域的像素数目;NF为实际为缺陷区域但未识别出的缺陷区域像素数目。

精确率表示预测为正例的那些数据里预测正确的数据个数,召回率表示真实为正例的那些数据里预测正确的数据个数。因此,精确率越高表明该算法预测精确度越好,而召回率越高表明该算法越有把握分类正确。

如图7 所示为3 种方法的分割效果。图7-1 为原图,图7-2 为本文算法分割效果,图7-3 为分水岭算法分效果,图7-4 为最大类间方差分割效果,与原图像上的缺陷部分相比,本文提出的处理算法较另外两种算法分割效果更好。

图7 3 种方法的分割效果

如表3 所示为基于区域灰度一致性的评估标准,分别对3 种图像分割算法在同一幅具有缺陷区域的图像上计算精确率与召回率,本文算法的精确率和召回率分别为95.25%和93.13%,相比于分水岭算法和最大类间方差算法表现更好。

表3 3 种图像分割方法在同一幅具有缺陷区域的图像上计算的精确率与召回率

为了评估三种分割方法在具有缺陷区域的图像上分割效果的鲁棒性,如表4 所示为在10 幅具有缺陷区域的图像上计算精确率与召回率及其平均值,从平均值来看,本文算法精确率和召回率的平均值分别为94.96%和93.03%,而分水岭法精确率和召回率的平均值分别为91.03%和87.94%,最大类间方差法精确率和召回率的平均值分别为88.53%和85.73%,由此表明,本文提出的图像分割算法相较于另外两种分割算法在多幅图像的均值效果更好。

表4 3 种图像分割方法在10 幅具有缺陷区域的图像上计算的精确率与召回率

4 结论

1)分析了不同光源以及打工方式对后续算法的影响,最终确定选取500 万工业面阵相机,采用LED光源条形打光的方式获取数字图像,然后对获取的缺陷显影图像采用改进Mean Shift 算法获取条纹区域,之后采用模糊C 均值算法对提取的条纹区域进行分割,最终获得真正的缺陷区域。

2)通过实验验证了该算法的有效性,并与分水岭算法和最大类间方差算法分割后的效果做了对比,可以看到提出的算法能够很好的把缺陷区域进行分割,之后通过对比精确率与召回率定量的评价3 种算法的有效性,提出的算法在单幅图像上精确率达到了95.25%,召回率达到了93.13%,均高于另外两种算法,之后又在随机抽取的10 张样本图像上做对比,本文算法的平均精确率和平均召回率分别为94.96%和93.03%,同样均高于另外两种算法。此外,由于本文算法具有迭代的特性,对于复杂图像的缺陷分割可能会增加耗时,因此在时间稳定性方面有待进一步提高,未来会在该方面做进一步优化,并将该算法应用于其他类型的缺陷分割。

猜你喜欢
灯罩车灯条纹
孤独的夜晚
南非的车灯会说话
谁是穷横条纹衣服的人
汽车大灯灯罩双色注射模设计
别急!丢了条纹的斑马(上)
别急!丢了条纹的斑马(下)
灯罩里
车灯
倾斜的灯罩
STP与无线调车灯显设备结合技术探讨