研究内容
为了提高模具表面缺陷检测的质量,采用二进制粒子群算法。首先对粒子位置的每一维分量被限制为1或0,对应模具表面检测过程中的有缺陷或无缺陷判决;接着利用sigmoid函数将粒子的速度转换到区间[0,1]上,并且修正粒子的位置;最后在二维平面内建立了有限元模型和判决准则。实验仿真给出了各个方向的数据优化效果和不同算法空间数据迭代效果,相比其它算法本文算法对模具表面缺陷检测的过检率、正检率、漏检率指标较好。
研究背景
模具表面缺陷检测主要对裂纹、磨损、划痕、凹坑、气泡、毛刺、粗糙度、孔洞等异常情况检测,给出缺陷的大小、位置、性质和数量等信息,进而判定被检对象是否合格[1]。
Kuldeep Singha通过差影直方图方法(Difference Histogram Image,DHI)解决了滞后性阈值的问题[2],但是差影直方图存在反差过低的可能性;Jingjing Deng根据最大似然法(Maximum Likelihood Method,MLM)计算待检测图像与特征模板间的相似度,检测图像局部纹理信息[3],但是需要较大的运算量;Baocheng Shi等人采用融合统计特征和空间频率特征的多分辨率方法(Multi Resolution Analysis,MRA),通过计算模板和目标图片对应部分的特征来检测异常[4],但是容易受到孤立噪声点的影响,从而可能会导致选择错误的分解系数。
采用二进制粒子群算法(Binary Particle Swarm Optimization,BPSO)对模具表面缺陷检测,算法优化中粒子的位置编码采用二进制方式,即粒子位置的每一维分量被限制为1或0,对应模具表面检测过程中的有缺陷或无缺陷判决;接着采用sigmoid函数将粒子的速度转换到区间[0,1]上,并且修正粒子的位置;最后在二维平面内建立了有限元模型和判决准则。实验仿真给出了各个方向的数据优化效果和不同算法空间数据迭代效果,相比其它算法本文算法对模具表面缺陷检测的过检率、正检率、漏检率指标较好。
研究界定
二进制粒子群优化算法描述
1、二进制粒子群更新过程
基本粒子群算法运行后期存在优化精度低、易发散等缺点;通过调整参数可以优化迭代熟读,但是最佳参数不易确定,可能错过最优解;同样即使在收敛的情况下,粒子的运动方向没有多样性,无法继续优化[5-6]。在二进制粒子群算法优化中,粒子位置每一维分量编码被限制为二进制1或0,对应模具表面缺陷有缺陷或无缺陷判决,粒子速度的每一维分量是粒子位置分量编码选择0或1的概率,通过sigmoid函数将粒子的速度映射到区间[0,1]上。二进制粒子群算法中粒子的速度和位置更新方式为:
(1)
其中: 为第个粒子在迭代第代时在第维的速度;为第个粒子在迭代第代时在第维的位置, 均为变量,、、、为随机值,++=1,、为相互独立的随机函数,;为sigmoid函数,,通过Sigmoid函数计算粒子位置状态的改变概率,这样粒子较小的速度则意味着对应位置选0的概率较大[7-8]。
在二进制粒子群算法中、取值为0的概率较多,这样造成了粒子速度的修正程度非线性减小,随着迭代次数增加,粒子空间位置随机性增强,对调整位置产生了盲目性,最终优化数据解决虚假判决[9]。
在优化二进制粒子群的速度中,则不需要变化; 使可能性大,粒子的位置值需要转变为0;使的可能性大,位置值需要转变为1,最终算法收敛于全局最优解[10],变化原则为:
(2)
其中:是区间[0,1]上的随机数;为修正后的概率映射函数。
(3)
根据,设,则Sigmoid函数修为:
(4)
2、粒子群二进制编码
第个粒子的二进制编码为,当=1表示对模具表面检测数据进行优化。表1给出长度为3的二进制粒子编码部分对照表。
表1长度为3二进制粒子编码对照表
Table 1 Length three binary particle code table
N1 |
N2 |
N3 |
N1 |
N2 |
N3 |
N1 |
N2 |
N3 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
H1 |
H2 |
H3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
在表1中,H1、H2、H3为测量的不同数据,N1、N2、N3为种群规模为N的第1个、第2个、第3个粒子。表2给出长度为4的二进制粒子编码部分对照表。
表2 长度为4二进制粒子编码对照表
Table 2 Length four binary particle code table
N1 |
N2 |
N3 |
N1 |
N2 |
N3 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 , |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
H1 |
H2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
在本文的二进制粒子群编码长度为3。
3、检测过程
当激光测试空间模型时,激光脉冲能量分布和空间模型缺陷几何分布只与空间轴有关,在平面内建立的二维等效有限元模型:
其中:,,,,是固体密度,、是固体内位移场分量,、是固体中的Lame常数,是固体线胀系数,是固体内温度场。缺陷处得到的声波场与无缺陷情况下的Rayleigh波有所不同,并包含关于缺陷的特征信息[11]。
激光光源由点源出发计线积分,(x,y)是样品表面平面,z是指向样品表面的方向,设长度是,宽度很窄的脉冲激光线源聚焦在样品表面方向上,线源中点位于坐标原点,轴上垂直表面的位移的线积分:
其中:是权重函数,是时刻距离线源中心处的垂直位移。这样获得物体坐标,同时记录原始模型坐标,在第次迭代中计算原始模型坐标与物体坐标相对应的对应点坐标为,在待检测图像上按照二叉树顺序进行遍历搜索,每移动一次就进行一次特征模板图像坐标和物体坐标之间的匹配函数计算[12],其匹配函数:
式中:是原图,是模板,是像素点,是参考点,而且
是像素点所取的最大值,表示模板和原图的相关函数,表示相似
性,当前模板相对原图轮廓点位置偏移量取:
若数据间的平均距离小于给定阈值则为缺陷品,本文选取0.1598。
算法流程:
①.确定测量模型的空间数据,并随机初始化种群中各粒子的位置和速度;
②.评价各粒子的适应度函数,记录局部最优个体和全局最优个体;
③.根据公式(1)更新粒子的速度和位置;
④.通过sigmoid函数对粒子速度和位置修正;
⑤.每个个体的适应度和全部种群的平均适应度趋于稳定,则停止迭代,转至步骤⑥,否则转至步骤③;
⑥.输出检测结果。
实验仿真
前期通过双目视觉系统获得模具数据,后期数据处理采用Matlab软件编程实现,对不同算法进行分析。
1、定量分析
激光设备对模具表面数据获取后通过二进制粒子群算法进行优化,本文算法对测量的不同数据进行二进制编码,不同的编码表示为模具表面缺陷程度。如图1、图2、图3分别为沿x、y、z轴缺陷前后对比曲线,实线为优化前曲线,虚线为优化后曲线,通过对比发现优化后的模具表面最大深度明显下降,为模具精密设计提供了依据。
图1 x轴缺陷前后对比曲线 2 y轴缺陷前后对比曲线 图3 z轴缺陷前后对比曲线
Fig.1 x axial defects before and after contrast curve
Fig.2 y axial defects before and after contrast curve
Fig.3 z axial defects before and after contrast curve
对不同的算法进行寻优时间对比,如图4所示为不同算法空间数据迭代寻优3维效果。
从图4可以看出,本文算法在各个方向的的寻优时间下降较快,其它算法下降缓慢,消耗时间多。
图4 不同算法空间数据迭代寻优3维效果
Fig.4 different algorithms for spatial data iterative optimization of 3 dimensional effect
4.2、定性分析
通过三个检测标准来定性分析,分别为过检率、正检率、漏检率。
过检率:
其中:为中标记为缺陷的像素总数,为标准识别结果,为缺陷识别结果图像,是图像像素纵向位置,是图像像素横向位置。
正检率:
漏检率:
一个优良的目标检测识别方法是高,低,低,其定性分析如表3所示。
表3 定性分析结果
Table 3 Qualitative analysis result
Index
Algorithm |
/% |
/% |
/% |
DHI |
2.1789 |
97.1564 |
5.1034 |
MLM |
3.0109 |
96.4469 |
3.4198 |
MRA |
2.6537 |
96.9847 |
4.1010 |
BPSO |
1.1038 |
99.1510 |
1.4034 |
从定性分析结果可以看出,本文算法的数据为99.1510,为1.4034,为1.1038,表明不但提取了模具表面的所有缺陷,能够使漏检率、过检率都较低,检测指标可满足工业生产的要求。这是因为本文算法对模具表面测量数据寻优,Sigmoid函数计算粒子位置状态的改变概率,避免数据误差的出现。
模具表面检测过程中,粒子的位置编码采用二进制方式,即粒子位置的每一维分量被限制为1或0,对应有缺陷或无缺陷判决;接着采用sigmoid函数将粒子的速度转换到区间[0,1]上,并且修正粒子的位置;最后在二维平面内建立了有限元模型和判决准则。实验仿真给出了各个方向的数据优化效果和不同算法空间数据迭代效果,相比其它算法本文算法对模具表面缺陷检测的过检率、正检率、漏检率指标较好。