基于自模板重构与NSCT的汽车内饰件表面缺陷检测方法研究
2019-04-01高兴宇李志松潘少慧何卓昆赵凌波
高兴宇 钟 平,* 李志松 潘少慧 何卓昆 赵凌波
1(东华大学理学院 上海 201620)2(东华大学信息科学与技术学院 上海 201620)
0 引 言
现代汽车工业中,产品质量控制是生产线上最重要的过程之一。汽车内饰件表面缺陷检测作为质量控制中一个重要的组成部分,其产品质量直接影响汽车最终的价格和分级。到目前为止,汽车内饰件的表面缺陷检测仍然是通过质检员的主观评估来实现的。由于不同质检员之间的评估标准存在差异、人工成本高、劳动强度大、效率低、无法运用大数据进行统计分析,汽车制造商仍在寻找最佳的解决方案。
将机器视觉技术应用于各种材料表面的缺陷检测,具有人工检测无法比拟的优势。文献[1]利用神经网络算法实现了汽车车身表面缺陷的识别和分类,文献[2]利用光谱残差的视觉特性实现了钢带表面的缺陷检测;文献[3]设计的提取器算法实现了钢轨的缺陷检测;文献[4]设计的无监督学习算法实现了混凝土的缺陷检测。表面缺陷检测方法大致可以分为特征提取和非特征提取两类。特征提取在缺陷检测中起着重要的作用,例如在空间域或频域中提取缺陷的有效特征,该方法最大的难点就是寻找缺陷的一般特征[5-6]。在非特征提取方法中,Gabor滤波被认为是检测各种纹理缺陷最成功的方法之一,因为它只需要一组经过优化的滤波器,就可以提取图像在各个尺度和方向上的纹理信息,同时还可以在一定程度上降低光照和噪声对图像的影响。然而,滤波器参数的筛选是一项相当复杂的工作[7-8]。汽车内饰件表面缺陷检测具有挑战性的主要原因是缺陷类型的多样性。在注塑过程中,大部分缺陷都是由于机械故障导致的,这些缺陷是随机产生的,而且类型是不可预知的。所以很难将所有可能的缺陷类型作为负样本收集起来进行算法优化,以获得更好的检测性能[9-11]。
本文提出了一种基于模板重构与NSCT的汽车内饰件表面缺陷检测方法。考虑到缺陷的多样性及其特征描述的困难,首先利用稀疏表示算法对试件图像进行模板重构,然后利用差影法生成残差图像,最后利用NSCT对残差图像进行增强,从而实现缺陷的提取。
1 汽车内饰件表面检测区自模板重构
图像的稀疏表示是将目标图像的特征用若干参数来表示,这些参数的组合称为字典,然后再根据数学模型进行模板重构。利用稀疏表示算法对汽车内饰件表面检测区进行自模板重构,以生成模板图像,再与检测区图像进行差影,可突显瑕疵。
用于自模板重构的字典为一系数矩阵,通过系数矩阵中元素的线性组合可以有效地表示检测区图像的每一列。由于检测区图像的缺陷相对较小,可以直接从检测区图像本身进行字典学习。因为自模板图像来自于检测区图像,进行差影时不需要对检测区图像进行位置校准,可以灵活地适应各种测试图像。图1展示了汽车内饰件表面检测区自模板重构的具体流程。
图1 汽车内饰件表面检测区自模板重构过程
1.1 字典学习模型
实际上,稀疏表示的目的就是找到一个具有少量基向量的线性组合来近似目标图像,且满足生成的字典平方误差最小[12-14]。假设检测区图像矩阵为U=[u1,u2,…,un],ui∈Rm,其中m和n分别为该矩阵的行和列。定义字典D=[d1,d2,…,dk],dj∈Rm,矩阵U中的每一列ui都可以由D中的向量线性表示。该字典D的优化方法如下:
(1)
式中:βj∈Rk为矩阵U中ui的系数向量。由于D和β均未知,如何构造D被称为字典学习。如果将式(1)中的D或β中的一个变量固定,求解另一个变量,那么式(1)就变成了凸化问题的求解[15],其本质上为最小二乘问题。采用文献[16]的方法,通过交替最小化实现大型数据集的快速收敛。假设字典D已经确定,则相应的系数矩阵β*可以通过下式求得:
(2)
自模板图像U′的近似结果为:
U′=Dβ*
(3)
由于自模板图像U′来源于检测图像U, 所以重构误差会大大减小,稀疏表示算法的详细流程如下:
Step1生成一个随机矩阵,记为β0。
Step2对于i=0,1,2,…,n求解Step3。
Step3利用l2范数求解字典D:
(4)
更新系数矩阵β:
(5)
1.2 字典大小k的选取
自模板重构过程中一个关键步骤就是字典大小k的选取,k的大小将直接影响图像的重构精度。本文利用文献[17]的方法来选取k值,其评价函数G(k)的计算方法如下:
(6)
式中:σk和μk分别为残差图像的标准差和均值,残差图像由检测区图像与自模板图像相减后获得。图2展示了不同k值下检测区图像的重构结果。图3为字典大小k的评价函数曲线。通过式(6)可以计算出最优字典大小k为5。
图2 不同k值对应的重构结果
图3 评价函数曲线G(k)
2 NSCT图像增强及缺陷提取
针对残差图像,文献[18]设计的自适应阈值方法实现了织物的缺陷检测。对于高反射物体表面的缺陷检测,由于检测区光照不均匀,该方法并不适用,本文提出采用NSCT实现缺陷的增强。
非下采样Contourlet变换(NSCT)最早由Cunha等提出,该方法继承了Contourlet变换的各向异性、多方向性和多尺度性,同时还具备Contourlet变换所不具有的平移不变性,消除了子带中频谱混叠现象[19]。NSCT由非下采样金字塔(NSP)进行子带分解,每一层被分解为一个低通子带和一个带通子带。低通子带主要包含图像的低频信号,可以近似表示原图像。带通子带主要包含图像的高频信号,具有丰富的边缘信息。NSCT对图像的多方向分解是由非下采样方向滤波器(NSDFB)来实现的。假设图像被分解为H层,第H层的带通子带包含2H个方向。图4展示了NSCT的3层NSP分解及NSDFB频带划分示意图。
图4 NSCT的NSP分解与NSDFB频带划分
图4中H0(z)为低通分解滤波器,H1(z)为高通分解滤波器,H1(z)=1-H0(z),G0(z)和G1(z)分别为对应的低通合成滤波器和高通合成滤波器,它们满足 Bezout 恒等式:
H0(z)G0(z)+H1(z)G1(z)=1
(7)
考虑到自模板的重构精度与计算速度,本文中检测区图像的尺寸设置较小。由于检测区图像中缺陷数量有限,其缺陷会在某单一方向上有增强响应,因此无需将所有的子带都用于瑕疵检测。为了提高运算速度,本文只选择第1层子带和第3层子带进行图像融合。第3层子带被分为8个楔形频带,每个楔形频带都可以对残差图像进行稀疏表示。另外,不同缺陷的响应方向不同,所以不能固定某个方向的频带用于缺陷检测。
因此,需要采用一种算法,能自动地选取合适的频带,即选取最优频带构建图像,实现缺陷的增强。本文提出了最优频带自适应选取与缺陷增强算法,具体步骤如下:
Step1假设频带图像为ft(i,j),t为频带序数,根据评价函数F(t)选取最优频带:
(8)
式中:σt和μt分别为ft(i,j)的标准差和均值。σt的值越大说明图像中缺陷越明显;μt的值越小说明图像被近似得越好。
Step2利用标准差法实现缺陷的增强[20]:
f′(i,j)=|f(i,j)-μ|-σ
(9)
Step3缺陷图像二值化:
(10)
式中:c和d为阈值常数,不同类型的试件需要调整相应的数值。图5(a)为划痕缺陷样本的残差图及对应的二值图,(b)-(i)为划痕缺陷样本8个方向的融合结果及对应的二值图,可以看出,(e)的检测结果明显优于(a)。
图5 划痕缺陷8个方向的融合结果及对应的二值图
3 实验结果与分析
为了验证本文所提出方法的稳定性,实验对大量样本进行了分析。实验样本中缺陷的类别有划痕、起泡、凹陷、跑料、脱膜和顶印。实验样本包含284幅缺陷图像和147幅正常图像,图像大小为121×121,为单通道灰度图像。检测系统采用Teledyne DALSA V3-GM-04K018-00-R型单线扫摄像机,分辨率为2 048×1像素,最大帧速率为18 kHz,试件的传动速度为22.8 mm/s,上位机以Windows XP为操作平台,利用MATLAB 2013a软件进行实验。图6显示了几种缺陷检测效果。
图6 几种样本的检测效果
图6(f)-(j)中第一行图像为检测区图像,第二行图像为Gabor算法检测结果,第三行图像为本文所提出方法的检测结果,其中,图6(e)为无缺陷样本。从检测结果可以看出,对于(b)、(h)、(j)中的缺陷,Gabor算法具有很好的检测效果,且具有良好的边缘信息;对于(a)、(c)、(g)中的缺陷,Gabor算法则不能将缺陷从背景中分离出来。由于(f)、(i)光照不均匀,导致Gabor算法不能实现有效检测,然而,本文所提出的方法对光照不敏感,具有更好的检测效果。(d)、(f)为划痕缺陷样本图像,由于其缺陷具有较强的方向性,经非下采样Contourlet变换后,其缺陷具有良好的边缘信息。(b)、(i)的缺陷类型分别为跑料和凹痕,其缺陷在多个方向都具有较强的方向性,但是并不影响检测效果。通过对比,可以看出本文方法具有更好的鲁棒性。通过大量实验数据验证,本文方法可以实现0.1 mm级精度检测。
4 结 语
本文通过稀疏表示算法对汽车内饰件表面图像进行自模板重构,然后利用差影法生成残差图像,最后利用非下采样Contourlet变换实现了缺陷的提取。本文方法作为一种无监督缺陷检测算法,不需要对待测图像进行位置校准,也不需要任何先验信息,对光照不敏感,且鲁棒性好。实验结果表明,本文方法可以有效地检测因机械故障引起的注塑过程中出现的各种缺陷,其检测精度可达0.1 mm。下一步的工作将专注于非规则纹理汽车内饰件的缺陷检测,进一步提高算法的鲁棒性与可推广性。