一种泡沫镍表面缺陷的检测方法与流程

文档序号:11144856阅读:1414来源:国知局
一种泡沫镍表面缺陷的检测方法与制造工艺

本发明涉及图像识别处理技术领域,尤其是涉及一种泡沫镍表面缺陷的检测方法。



背景技术:

泡沫镍是通过对镍金属进行一系列物理化学加工后得到的一种新型功能材料,作为车用电池的基材,泡沫镍对电池性能的影响极大。泡沫镍表面呈银灰色的金属光泽,形态类似于金属海绵,质量上要求表面平整、无划伤、无裂纹、无破损、无油污和无氧化。

然而,在泡沫镍制备过程中,由于原料,加工工艺(PVD、电镀、烧结等)等方面因素,导致泡沫镍表面出现污染,压痕,折痕,镍皮,裂纹,划线,漏镀等多种不同类型的缺陷,这些缺陷严重影响最终成品的性能和质量。比如,图1A给出了无表面缺陷的泡沫镍表面示意图,泡沫镍的表面平整、无划伤、无裂纹、无破损、无油污和无氧化;图1B给出了表面有裂纹缺陷的泡沫镍表面示意图,裂纹指泡沫镍的表面纹理存在肉眼明显可见或轻施外力可见的断裂情况;图1C给出了表面有漏镀缺陷的泡沫镍表面示意图,漏镀缺陷为泡沫镍制备过程中电镀工艺不合格的反应;图1D给出了表面有污染缺陷的泡沫镍表面示意图,污染缺陷时泡沫镍表面受油、尘、蚊蝇或炉膛内冷凝水等其他物质沾污而引起的表面局部颜色变化。

目前对泡沫镍表面缺陷的检测和识别主要采用人工检测手段,即在制备过程中操作人员通过肉眼观察传送带上的泡沫镍,凭经验对泡沫镍的缺陷进行人工判决,进而进行相应的手动处理。该方式存在劳动强度大,效率低,主观性强和检错率高。由于质量检测分析滞后,也难以有效在线优化泡沫镍的生产过程。



技术实现要素:

本发明提出一种泡沫镍表面缺陷的检测方法,利用图像处理技术准确提取泡沫镍表层视觉特征,进而完成过程泡沫镍表面缺陷的识别判断,以解决目前依靠人工视觉检测存在漏检、准确率不高等缺陷。

一种泡沫镍表面缺陷的检测方法,其包括:

步骤S1.获取泡沫镍表面图像,进行下采样处理得到图像A;

步骤S2.对图像A进行NSCT变换,得到若干子图像;

步骤S3.对子图像在多个方向上求取灰度共生矩阵GLCM,并计算Haralick特征统计量得到特征统计向量;

步骤S4.采用KPCA对特征统计向量进行降维处理;

步骤S5.将降维后的特征统计向量作为模型输入,采用最优有向无环图支持向量机DAG-SVM算法对泡沫镍的表面缺陷进行识别。

其中,步骤S5具体包括:

步骤S51.计算不同类别样本的重心

步骤S52.计算每个类别的重心到其他类重心的距离的均值

步骤S53.对各类别计算的距离按从大到小顺序进行排列得到新类别序列;

步骤S54.对新类别序列按照平均距离从大到小,以数列的两端为起始位置交替地向中间排列,得到最优排序序列,使得最优序列中越靠近数列两端的类别平均距离越大,越靠近中间位置的类别平均距离越小;

步骤S55.根据最优排序序列生成最优有向无环图多分类器,实现多类别的区分;

其中,M表示泡沫镍表面缺陷的类别数量,N为每类缺陷的样本个数,(也就是每类缺陷图像数目)。xik表示第i类中第k个样本的特征统计向量,k=1,2,…N。

其中,步骤S2是对图像A进行三级NSCT变换,得到得到21个子图像。

其中,步骤S3是选取像素间的距离度量d=5,分别对其计算0°、45°、90°及135°四个方向上求取灰度共生矩阵GLCM。

其中,Haralick特征统计量包括熵S、逆差矩D、能量E和对比度I;

其中,从图像f(m,n)中灰度为u的像素出发,与偏角θ、距离为d、灰度为v的像素m+Δm,n+Δn同时出现的概率为P(u,v,d,θ),

P(u,v,d,θ)={(m,n)|f(m,n)=u,

f(m+d cosθ,n+d sinθ)=v}

u,v=0,1,…L-1,L

L是图像f(m,n)的灰度级数,θ为两像素顺时针与m轴的夹角,其取值通常为0°、45°、90°和135°;d表示2个像素之间的距离;P称为空间灰度相关矩阵。

与现有技术相比,本发明具有如下有益效果:

本申请提出了一种基于多尺度纹理分析的泡沫镍表面缺陷特征提取方法。首先采用非下采样Contourlet变换对泡沫镍图像进行多尺度几何分解,利用分解后得到的低频分量和各高频分量表征不同缺陷的细节信息;然后计算各子带上度量泡沫镍图像纹理信息的Haralick特征值。最后分别采用KPCA和最优有向无环图支持向量机(Directed acyclic graph-SVM,DAG-SVM)进行特征数据的降维和缺陷分类识别,为泡沫镍生产过程的自动检测和优化控制奠定基础。通过实验表明,对现场采集到的泡沫镍表面图像样本进行试验,结果表明本申请能够提取到不同细节上的纹理信息,使缺陷的识别率达到85%以上,能够有效的识别泡沫镍表面缺陷,为类似工业过程提供借鉴。

附图说明

图1A、图1B、图1C和图1D分别是无表面缺陷的泡沫镍表面示意图、表面有裂纹缺陷的泡沫镍表面示意图、表面有漏镀缺陷的泡沫镍表面示意图以及表面有污染缺陷的泡沫镍表面示意图。

图2是本发明的流程示意图。

具体实施方式

由于泡沫镍表面呈银灰色的金属光泽,形态类似于金属海绵,质量上要求表面平整、无划伤、无裂纹、无破损、无油污和无氧化。从不同缺陷的成因其表征可知,缺陷信息表现为复杂的纹理状,因此有效的提取泡沫镍纹理特征是缺陷识别的基础。本申请是通过提取泡沫镍表面的纹理特征作为识别泡沫镍表面的依据。

结合图2所示,本发明的一个实施方式包括如下实现步骤:

步骤S1.获取泡沫镍表面图像,进行下采样处理得到图像A。

下采样是为了降低原始图像的分辨率,在低分辨率下可以降低后续图像处理的计算量。假设原始图像可能是4096×4096像素大小的,也可能2048×2048像素大小的,无论原始图像的分辨率大小都对其进行下采样,下采样为128像素×128像素的分辨率以方便进行一下步处理。

步骤S2.对经过下采样处理得到图像A进行多尺度NSCT变换(即非下采样Contourlet变换),将NSCT变换分解得到的各子图像用系数矩阵表示。

NSCT是Cunha等于2006年提出的一种图像二维表示方法,是一种多尺度,多方向的过完备图像表示方法,可以准确地捕捉图像中的边缘轮廓信息和纹理细节信息,适于表达具有丰富细节及方向信息的多传感器图像。

Contourlet变换滤波器组结构由拉普拉斯塔式滤波器(LP)和方向滤波器(DFB)两部分组成。为了保持Contourlet变换的频带分割特性,并使其具有平移不变性,NSCT去掉了Contourlet两级变换中的下采样过程,构造了相应的非下采样滤波器。NSCT包括非下采样的塔形分解(NSP)和非下采样的方向滤波器组(NSDFB)两部分。首先由非下采样塔式滤波器(NSP)把输入图像作尺度分解,在每个尺度上,DFB在将分解后得到的带通信号分解到几个带通子带方向上,方向子带的数目可以是2的任意次幂。

经非下采样Contourlet变换(又称为NSCT变换)后,分解为不同尺度上的子带图像(高频分量,低频分量),其中低频分量主要为背景平滑区域信息,高频分量反映泡沫镍表面缺陷的边缘,纹理细节等特征。以图1B表面存在裂纹缺陷的泡沫镍表面图像A为例,进行多尺度几何分析。参数设置如下,LP滤波器为pfilter='9-7',DFB为dfilter='pk-va',分解级数为nlevels=[2,3,3],得到1个低频子带和20个高频子带,这样图1B经过NSCT三级分解后共得到21个子图像。也就是说,每一个待识别的表面图像A经过NSCT三级分解后共得到21个子图像。

上述分解图像可知裂纹缺陷在第一层高频分量中某一方向特征明显。因此,若能利用好缺陷图像高频分量的细节信息,将有效提高缺陷识别的准确性。为此,以表面存在裂纹、漏镀和污染三种缺陷为例进行实验分析:各取典型样本图像50幅,对每幅图像按上述步骤S1进行下采样后再按前述参数进行NSCT变换,每一幅图像都被分解为低频分量x{1,1}和20个高频子带图像(其中,第一层的四个高频子带图像分别记为(x{1,2}{1},x{1,2}{2},x{1,2}{3},x{1,2}{4}),第二层八个高频子带图像分别记为(x{1,3}{1},x{1,3}{2},x{1,3}{3},x{1,3}{4},x{1,3}{5},x{1,3}{6},x{1,3}{7},x{1,3}{8}),第三层八个高频子带图像分别记为(x{1,4}{1},x{1,4}{2},x{1,4}{3},x{1,4}{4},x{1,4}{5},x{1,4}{6},x{1,4}{7},x{1,4}{8})。低频分量反映缺陷样本的主要信息,需要保留。以前5个高频分量为例进行实验,不同子带图像上裂纹、漏镀和污染三种缺陷的纹理识别结果如表1所示。

表1不同子带分量对缺陷识别的影响

从表1可以看出,经过NSCT三级分解后,各高频分量可以反映缺陷的边缘和细节信息,但是对缺陷识别的贡献不同。如裂纹缺陷一般呈细长状,至少有一段为尖状,平行或者垂直于边缘。经过Contourlet变换后缺陷特征信息一般会集中于某个方向的高频分量中,如表1中的(x{1,2}{1},x{1,3}{2})。而漏镀通常为球状,大小位置均不固定,边界相对光滑,经过NSCT多尺度分解后缺陷特征信息在高频各个方向上分布相对均匀。因此实际分析中,需要根据缺陷样本进行训练,选取能够充分表征缺陷信息的高频分量,消除冗余信息。

步骤S3.对图像A分解后的21幅子图像在4个方向上求取灰度共生矩阵GLCM,计算Haralick特征统计量(包括熵、逆差矩、能量、对比度),得到特征统计向量。

灰度共生矩阵GLCM计算21幅子图像的纹理参数。选取像素间的距离度量d=5,分别对其计算0°、45°、90°及135°四个方向上GLCM,利用计算得到的每一个矩阵求取包括提取熵S、逆差矩D、能量E和对比度I这4个特征统计值,每个纹理特征参数用四个方向上计算的平均值作为最终获得的特征值输出,因此共得到84维的特征统计向量。

纹理是由灰度分布在空间位置上反复交替变化而形成,在图像空间中相隔某距离的两像素之间会存在一定的灰度关系,称为图像的灰度空间相关特性。灰度共生矩阵(GLCM)反映了图像灰度关于方向、相邻间隔、变化幅度的综合信息,从图像f(m,n)中灰度为u的像素出发,与偏角θ、距离为d、灰度为v的像素m+Δm,n+Δn同时出现的概率为P(u,v,d,θ),如下

式中L是图像的灰度级数,θ为两像素顺时针与m轴的夹角,其取值通常为0°、45°、90°和135°。通常d=1,表示2个像素之间的距离为1。P称为空间灰度相关矩阵。

同一图像由于纹理尺度的不同其灰度共生矩阵可以有很大的差别。因此本申请采用Haralick定义的特征统计量进行分析,常用的有角二阶矩、对比度、相关、方差、熵等,计算公式如下。

能量(二阶矩)E的计算公式:

二阶矩反映了图像灰度分布均匀程度和纹理粗细度。分布越不均匀,P(u,v)相差越大,则E越大;当P(u,v)相差不大且较分散时,则熵S较大;当P(u,v)较集中于主对角线附近时,(u-v)的值较小,所以对比度I也较小。

熵S的计算公式:

图像所包含的信息量是用熵值来进行度量的。熵值可以直接对图像中纹理的非均匀度或紊乱度进行反映,熵值越大则表示纹理越复杂。

对比度(惯性矩)I的计算公式:

对比度I可理解为图像的清晰度。对比度大时,纹理的沟纹深,效果清晰;反之对比度小则沟纹浅,效果模糊。

逆差矩D的计算公式:

逆差矩D是数字图像局部均匀性的直接度量。图像局部纹理越均匀,则其对应的逆差矩值越大,反之亦然。

步骤S4.采用KPCA对特征统计向量进行降维处理。

采用KPCA进行参数降维,要求累计贡献率大于85%,通过计算后优选特征维数为5。

步骤S5.将降维后的特征统计向量作为模型输入,采用最优有向无环图支持向量机(Directed acyclic graph-SVM,DAG-SVM)算法对泡沫镍的表面缺陷进行识别。

支持向量机(Support vector machine,SVM)实现多分类的方法主要有一对多(OVR)和一对一(OVO),其中OVR训练样本不均衡所以分类精度不高,而OVO虽比OVR精度高,但由于采用投票机制,可能会出现拒分的情况。本申请采用最优有向无环图支持向量机(Directed acyclic graph-SVM,DAG-SVM)算法对缺陷进行识别。DAG-SVM是Platt提出的一种解决硬间隔支持向量机多类别分类问题的新方法,能够高效地将SVM用于多分类问题,继承了SVM算法良好的分类能力,但是DAG-SVM算法存在误差累计效应,也就是会把上层的误差延续要下层节点。尤其当分类错误越靠近根节点的地方累计误差就越严重,分类性能降低。因此需要将容易区分的两类缺陷分类器优先放在有向无环图中靠近上层的节点位置。

本申请采用最优节点拓扑排序策略组织多个两分类支持向量机,构成最优DAG-SVM分类器对泡沫镍缺陷进行分类。

设共有M个类别,每类有N个样本,xik表示第i类中第k个样本的特征统计向量,其计算步骤如下:

步骤S51:计算不同类别样本的重心

步骤S52:计算每个类别的重心到其他类重心的距离的均值

步骤S53:对各类别计算的距离按从大到小顺序进行排列,即y1,y2,…,yM-1,yM

步骤S54:对新类别序列按照平均距离从大到小,以数列的两端为起始位置交替地向中间排列,得到最优排序序列y1,y3,…,yM-1,yM,…,y4,y2(假设M为偶数),这样最优序列中越靠近数列两端的类别平均距离越大,越靠近中间位置的类别平均距离越小。

步骤S55:根据最优排序序列生成最优有向无环图多分类器,实现多类别区分。

针对上述技术方案,发明人进行了实验与仿真来测试对泡沫镍表面缺陷的识别情况。

实验中整理了污染、裂纹和漏镀三类缺陷共计300幅图像进行实验,图像大小均为128x128像素。先利用NSCT对泡沫图像进行多尺度几何分解,经试验参数设置如下,LP滤波器为pfilter='9-7',DFB为dfilter='pk-va',分解级数为nlevels=[2,3,3],得到1个低频子带和20个高频子带,这样每一幅样本经过NSCT三级分解后共得到21个子图像。这些子图像由NSCT分解后的系数矩阵来表示。

然后采用灰度共生矩阵计算泡沫镍图像经多尺度分解后子带图像的纹理参数。选取像素间的距离度量d=5,分别对其计算0°、45°、90°、135°四个方向上GLCM,利用计算得到的每一个矩阵求取特征统计值,包括提取熵、逆差矩、能量和对比度,每个纹理特征参数用四个方向上计算的平均值作为最终获得的特征值输出,因此共得到84维特征数据。采用KPCA进行参数降维,要求累计贡献率大于85%,通过计算后选取特征维数为5。上述实验开发环境为MATLAB2013,操作系统为windows XP。

为了比较算法识别率和效率,本申请分别用多种不同识别方法算法对测试样本进行识别,分别采用BP神经网络,ELM神经网络和1v1SVM,最优DAG-SVM进行缺陷识别分析。其中极限学习机神经网络参数如下:选取Morlet小波函数形式的隐层输出函数,输入层神经元个数为降维后组合的特征向量,个数为5个,输出个数为缺陷类别,个数为3个,隐含层个数根据误差最小原则确定。1v1SVM和最优DAGSVM的参数设置为:RBF,σ2=100,C=10。利用300幅泡沫镍图像的缺陷样本数据进行模型的训练,然后用108幅泡沫镍图像缺陷数据进行分类测试(每一类缺陷36个样本),不同算法的各种缺陷识别结果如表2所示。

表2各识别算法的正确识别数

从表2可看出,对于裂纹、漏镀、污染几种泡沫镍表面缺陷,经特征提取、分类器分类,采用本申请方法的正确识别数分别为31,32和33。采用四种不同识别方法的平均识别率为84.3%,86.1%,87.0%,88.9%。

对现有的图像特征描述方法,如灰度共生矩阵,Garber和NSCT,提取泡沫图像的纹理特征,统一采用最优DAGSVM算法进行缺陷识别,与本申请方法的比较如表3所示,参数设置同上。

表3不同特征描述方法缺陷识别准确率

从表3可以看出,相比于其他几种特征提取方法,本申请融合后的特征提取方法,正确识别和分类个数明显提高。分析原因是本申请采用NSCT,使得缺陷图像的方向性有了更好的表达,缺陷纹理信息更为显著。

综上,本申请提出了一种基于多尺度纹理分析的泡沫镍表面缺陷特征提取方法。首先采用非下采样Contourlet变换对泡沫镍图像进行多尺度几何分解,利用分解后得到的低频分量和各高频分量表征不同缺陷的细节信息;然后计算各子带上度量泡沫镍图像纹理信息的Haralick特征值。最后分别采用KPCA和最优有向无环图支持向量机(Directed acyclic graph-SVM,DAG-SVM)进行特征数据的降维和缺陷分类识别,为泡沫镍生产过程的自动检测和优化控制奠定基础。通过实验表明,本申请提出的方法能够有效的识别泡沫镍表面缺陷,为类似工业过程提供借鉴。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1