文章信息
- 刘磊, 陈爱军, 彭伟康, 胡佳成
- LIU Lei, CHEN Aijun, PENG Weikang, HU Jiacheng
- ABS齿圈表面缺陷视觉检测方法
- ABS ring gear surface defect visual inspection method
- 中国测试, 2019, 45(8): 145-150
- CHINA MEASUREMENT & TEST, 2019, 45(8): 145-150
- http://dx.doi.org/10.11857/j.issn.1674-5124.2019050048
-
文章历史
- 收稿日期: 2019-05-15
- 收到修改稿日期: 2019-06-04
制动防抱死系统(ABS)是车辆最基本的安全系统,ABS齿圈是其中的一个核心零部件,它质量的好坏直接影响了ABS系统能否正常工作。因此,为了防止不合格的ABS齿圈投入到汽车生产中影响车辆的安全性能,各生产厂家在齿圈出厂前都会进行全检。现代的生产工艺中,常用粉末冶金的方法生产ABS齿圈,在配料和液体中加入特粉并搅拌均匀,模压成型后烧结。在生产过程中,人为因素、机械故障、参数错误、装夹等都会造成齿圈质量不合格,其中由齿圈表面缺陷造成的齿圈质量不合格占了很大的比重,表面缺陷主要分为积液、缺齿和色差3种类型。目前,对ABS齿圈表面缺陷检测仍然采用人工目测的传统方法,该方法在待检齿圈数量较大的情况下,容易引起费时费力、误差大等问题[1]。
近年来,工业生产上将机器学习技术运用到产品出厂检测及缺陷识别中已逐渐成为主流,其中使用最为广泛的两个机器学习模型为人工神经网络模型与支持向量机(SVM)模型。例如:南昌航空大学的陈少平等[2]已将BP神经元网络模型运用到齿轮类零件表面缺陷的识别检测中;西南科技大学的刘雄祥等[3]运用卷积神经元网络模型已实现对铁轨的表面缺陷检测。但由于这些传统人工神经网络模型本身具有一定的局限性(比如,BP神经元网络模型需要大量的样本数据,收敛速度慢且存在学习过程中容易收敛于局部最小值的问题[4];卷积神经元网络检测对象存在局限性,更适用于具有平移不变性的物体,另外由于卷积神经元网络中池化层的存在,会将大量有价值的信息丢失,同时存在训练中忽略整体与部分之间关联的问题),因此影响了该模型在实际生产中的推广与应用。而SVM模型在解决小样本决策问题时具有较强的推广能力,且能有效解决神经元网络模型中高维问题和收敛于局部极小值的问题,同时该模型结构较简单,因此应用于实际生产中具有较强的优势。
目前,华东理工大学的郭慧等[5]已将SVM模型应用于钢板表面缺陷中,取得了较好的缺陷识别结果;华东交通大学的涂宏斌等[6]提出的结合主成分分析法的SVM模型,成功的运用于轴承表面缺陷分类中。鉴于SVM自身特有的优点,本文将SVM模型运用于ABS齿圈表面缺陷检测中,同时对基于4种不同核函数的SVM模型以及BP神经元网络训练识别结果进行对比,通过实验结果比较得到最佳的SVM齿圈表面缺陷检测模型。
1 表面缺陷检测方法本文提出的检测方法的主要思想是:结合SVM理论与齿圈表面缺陷特征搭建齿圈表面缺陷检测模型,同时采用粒子群优化算法对模型中的关键参数进行最佳选取,利用经过样本训练成熟后的SVM齿圈表面缺陷检测模型对待检齿圈进行缺陷识别检测。
1.1 SVM模型SVM模型主要用于解决线性可分条件下寻找最优分类面的问题,核心思想是寻找一个满足分类要求的最优分类超平面,该超平面在保证样本分类准确率的同时,应使分类间隔最大化。二元线性分类问题可以转化为一个带约束的最小值问题[7-9],本文分别选用线性核函数、多项式核函数、高数径向基核函数、sigmod核函数进行实验,并将实验结果进行比较,选取最适合的核函数并最终获得齿圈表面缺陷检测模型。
1.2 最佳参数确定在利用SVM模型进行识别分类时,为了提高识别分类准确率,不仅需要寻找合适的核函数,还需要对惩罚因子C与核参数g进行最佳选取。经典的粒子群算法(particle swarm optimization,PSO)选取最佳参数,其基本原理可以表示为在D维的搜索空间中,先通过粒子群初始化生成一群随机粒子,再通过更新迭代找到最优解。在每一次迭代过程中,随机粒子会依据跟踪个体极值
$v_{id}^{k + 1} = v_{id}^k + {c_1}{r_1}(P_{id}^k - x_{id}^k) + {c_2}{r_2}(P_{gd}^k - x_{id}^k)$ | (1) |
$x_{id}^{k + 1} = x_{id}^k + v_{id}^{k + 1}$ | (2) |
其中,
本文在经典的PSO算法的基础上引入简单自适应变异算子,其基本原理为:在粒子每次更新后,为了防止种群粒子位置速度信息更新过快,对每次参与迭代的随机数r1和r2进行条件限制,若随机数大于0.5时,则重新初始化粒子。该方法能保持种群多样性,提高算法寻找更优值的可能性。
利用引入简单自适应变异算子的PSO对SVM模型中关键参数进行最佳选取的算法可以描述为:在
ABS齿圈表面缺陷主要分为3种:积液、缺齿、色差,如图1所示。这3种缺陷由于具有边缘特征不规则、位置特征充满随机性的特点,无法仅从单一标准实现齿圈缺陷类型识别。因此,本文考虑从几何特征、灰度特征、纹理特征3个方面选取能够准确描述缺陷的特征参数。
1)几何与灰度特征
由于3种类型缺陷连通域大小并不相同,因此,本文选取缺陷连通域内的像素点总数(即缺陷面积)N、伸长比(即与连通域具有相同标准二阶中心距的椭圆长轴长与短轴长之比)l、离心率(即与连通域具有相同标准二阶中心距的椭圆离心率)e作为初始几何特征参数。另外,由原始灰度图像可知,3种类型缺陷区域各自灰度化程度并不一致,因此,本文考虑3种缺陷区域的平均灰度值与灰度方差作为初始灰度特征参数[11]。
2)纹理特征
考虑到3种类型缺陷表面粗糙情况不一,因此,本文运用了统计方法中的灰度共生矩阵提取图像纹理5个主要特征,即能量(图像纹理粗细程度)、熵值(图像中含有信息量的度量)、惯性矩(图像纹理对比度)、相关性(图像纹理相似程度)和逆差矩(图像纹理矩阵中大值元素到对角线的集中程度)作为初始纹理特征参数[12]。
由于3种特征中计算所得到的各特征值难免存在描述重复的问题,容易影响识别过程中的计算效率,因此文本采用主成分分析法(PCA)对特征向量进行主元分析以提高各输入数据间的相互独立性,减少数据冗余。主成分分析法的求解步骤为[13]:
a)对原始特征数据进行标准化处理,消除数量级或量纲上的影响;
b)根据得到的标准化矩阵求出相关系数矩阵;
c)根据相关系数矩阵,求出相应的特征值和特征向量;
d)确定主成分,根据累计贡献率选取大于90%对应指标作为主成分。
2 实验结果及分析本文分别选取1800个968型号的ABS齿圈作为训练样本,500个同型号的ABS齿圈作为测试样本。在相同的软硬件测试环境中,先对每个ABS齿圈表面图像进行6种缺陷特征(像素面积、灰度均值、灰度方差、熵值、惯性矩、逆差矩)提取,构成特征向量;然后利用训练样本的特征向量对SVM模型中的关键参数进行优化,同时通过比较基于4种核函数的SVM模型对ABS齿圈表面缺陷图像分类结果,确定最佳的核函数;最后利用测试样本特征向量进行识别,同时与BP神经元网络模型识别分类结果进行比较,进一步验证该方法的可行性。测试环境采用在Intel CPU,主频3.90 GHz,内存8.0 GB的PC机上运用Matlab结合LIBSVM库对968型号的齿圈表面缺陷图像进行识别。
2.1 ABS齿圈表面图像缺陷区域提取本文利用旋转电缸带动被检ABS齿圈旋转,同时配合线阵CCD相机进行逐行采集,最终得到ABS齿圈表面展开图像,如图2所示。为了获得齿圈表面缺陷特征参数,首先对ABS齿圈表面展开图像进行处理,包括截图、二值化、滤波去噪、图像取反、消除“U”型背景[14]。以缺齿齿圈表面图像为例,可得到相应的处理结果如图3所示。在得到只含有缺陷区域的齿圈图像后,即可对图像中的缺陷连通域进行特征参数的提取,为后续利用SVM模型识别做好准备。
2.2 PCA数据降维
根据PCA算法步骤,对训练样本中1800×10的特征数据进行主成分分析(设置累计贡献率大于90%),结果如图4所示。
图4中的蓝色曲线反映了各主成分的贡献累计过程,运用PCA法将10维的数据下降为6维,描述特征的数据量减少了40%,一定程度提高了后续识别运算速度。由于前6个主成分的累计贡献率超过了90%,因此设新生成的前6个主成分为F1、F2、F3、F4、F5、F6,同时结合前6个主成分对应的特征值λi以及主成分载荷矩阵Q,根据下式计算各主成分系数aij,即:
${a_{ij}} = Q\left( {i,j} \right)/\sqrt {{\lambda _i}} $ | (3) |
其中,
$ \begin{split} {F_1} =& - 0.41{x_1} - 0.02{x_2} + 0.26{x_3} - 0.39{x_4} - 0.37{x_5} -\\ &0.24{x_6} + {0.36{x_7} + 0.36{x_8} + 0.24{x_9} + 0.31{x_{10}}} \end{split} $ | (4) |
$ \begin{split} {F_2} = &0.06{x_1} - 0.62{x_2} + 0.45{x_3} + 0.10{x_4} + 0.18{x_5} +\\ &0.44{x_6} + {0.13{x_7} + 0.11{x_8} - 0.28{x_9} + 0.27{x_{10}}} \end{split} $ | (5) |
$\begin{split} {F_3} =& 0.14{x_1} - 0.18{x_2} + 0.08{x_3} + 0.13{x_4} + 0.22{x_5} +\\& 0.10{x_6} - {0.11{x_7} - 0.07{x_8} + 0.92{x_9} + 0.09{x_{10}}} \end{split} $ | (6) |
$ \begin{split} {F_4} = & - 0.07{x_1} + 0.10{x_2} + 0.03{x_3} - 0.10{x_4} - 0.10{x_5} +\\& 0.54{x_6} + 0.26{x_7} + 0.32{x_8} + 0.12{x_9} - 0.70{x_{10}} \end{split} $ | (7) |
$ \begin{split} {F_5} =& - 0.05{x_1} + 0.37{x_2} + 0.03{x_3} - 0.07{x_4} - 0.01{x_5} +\\ &0.61{x_6} - {0.01{x_7} + 0.10{x_8} + 0.01{x_9} + 0.56{x_{10}}} \end{split} $ | (8) |
$ \begin{split} {F_6} =& 0.06{x_1} - 0.10{x_2} - 0.16{x_3} + 0.16{x_4} + 0.16{x_5} -\\& 0.19{x_6} - {0.43{x_7} + 0.83{x_8} - 0.04{x_9} + 0.01{x_{10}}} \end{split} $ | (9) |
通过式(4)~式(9)对1800组特征数据进行降维计算构成新的主成分作为SVM模型的输入因子。
2.3 PSO参数寻优利用新组成的ABS齿圈训练样本表面缺陷特征数据进行参数寻优,先将样本数据进行归一化处理,再建立SVM分类模型,初始化参数C和g,同时设置粒子群的维数为2,种群最大数量为20,最大进化数量为200次,速度更新弹性系数为1,种群更新弹性系数为1,学习因子c1与c2分别为1.5和1.7。然后将训练样本进行交叉验证意义下的准确率作为自适应PSO法中的适应度函数值,用于评价SVM模型对每一代种群分类精度的高低,并最终实现SVM参数的优化,如图5所示为粒子群参数寻优适应度曲线,横轴为进化次数,纵轴为适应度值,即分类准确率;图中上方曲线表示每一代种群的最佳适应度,下方曲线表示每一代种群的平均适应度。由图5可知,在粒子群进化200次后,可得到相对应的最佳参数,由于满足最高验证分类准确率的
2.4 不同核函数缺陷分类比较
将自适应PSO方法获得的最佳参数组合(C,g)运用到SVM检测模型中,选取500个测试样本,分别用4种不同核函数进行预测分类,得到的实验结果如图6所示,图中纵坐标为3种缺陷类型序号,其中积液为1,缺齿为2,色差为3;横坐标为样本序号。
基于线性核函数、多项式核函数、高斯径向基核函数、sigmoid核函数的SVM模型分类识别准确率结果分别为:74.8%、99.4%、77%、31.4%。因此,本文选取多项式核函数作为后续SVM模型ABS齿圈表面缺陷预测识别的核函数。
2.5 SVM模型与BP神经元网络模型比较为了进一步验证SVM模型分类器性能,本文搭建了单隐层BP神经元网络模型与SVM模型识别分类结果进行对比。该神经元网络模型输入层节点个数为6,输出层节点个数为1,隐层节点数为3。选取与SVM模型中使用的相同的500个测试样本进行实验,神经元网络模型实验结果与SVM模型分类结果如表1所示。
模型 | 缺陷类型 | 测试样本数 | 分类准确数 | 总分类准确率 |
SVM | 积液 | 203 | 201 | 99.4% |
缺齿 | 140 | 140 | ||
色差 | 157 | 156 | ||
BP神经元网络 | 积液 | 203 | 195 | 94% |
缺齿 | 140 | 130 | ||
色差 | 157 | 145 |
由表1可知,采用基于多项式核函数SVM模型对于3种齿圈表面缺陷的检测结果优于BP神经元网络模型,且准确率高达99.4%。
3 结束语本文利用SVM模型对ABS齿圈表面缺陷检测分类进行了实验研究,得到结论如下:
1)运用PCA法将缺陷图像的几何特征(缺陷面积、伸长比、离心率)、灰度特征(灰度均值、灰度方差)、纹理特征(熵值、惯性矩、相关性、逆差矩)对应的特征数据进行降维处理,得到的新6维主成分特征数据输入到SVM模型中具有较好的实现分类的效果。
2)将通过自适应PSO算法得到的最佳参数组合(C,g)应用到SVM分类模型中,比较4种不同核函数下缺陷识别分类结果,从实验结果可得,对于ABS齿圈表面缺陷分类问题,选择基于多项式核函数的SVM分类器准确率最高。
3)通过比较基于多项式核函数的SVM模型与BP神经元网络模型对ABS齿圈表面缺陷识别分类结果可得,在小样本、高维数、非线性的条件下,采用SVM模型进行齿圈表面缺陷检测的方法分类准确率优于BP神经元网络,且分类准确率高达99.4%。因此,采用基于多项式核函数SVM模型的检测方法更加适用于解决齿圈表面缺陷检测分类问题,具有一定的发展潜力和可挖掘空间。
[1] |
罗雍惠. ABS齿圈和传感器的应用与研究[J].
中国高新技术企业, 2010(24): 15-16.
|
[2] |
陈少平. 基于机器视觉的零件表面缺陷检测[D]. 南昌: 南昌航空大学, 2011.
|
[3] |
杨加东, 谢明, 王丽华,等. 基于BP神经网络的表面缺陷检测分类[J].
机床与液压, 2017, 45(16): 160-164.
DOI:10.3969/j.issn.1001-3881.2017.16.041 |
[4] |
吴静, 柳世考, 邓堃. 基于改进BP神经网络的故障诊断方法[J].
工业仪表与自动化装置, 2007(3): 45-48.
DOI:10.3969/j.issn.1000-0682.2007.03.013 |
[5] |
郭慧, 徐威, 刘亚菲. 基于支持向量机的钢板表面缺陷检测[J].
东华大学学报(自然科学版), 2018, 44(4): 635-639.
DOI:10.3969/j.issn.1671-0444.2018.04.021 |
[6] |
涂宏斌, 周新建. 基于支持向量机的轴承表面缺陷检测[J].
现代制造工程, 2006(9): 90-92.
DOI:10.3969/j.issn.1671-3133.2006.09.030 |
[7] |
向阳, 陈黎, 张晓龙. 基于支持向量机的带钢表面缺陷识别研究[J].
工业控制计算机, 2012, 25(8): 99-101.
DOI:10.3969/j.issn.1001-182X.2012.08.045 |
[8] |
王鹏, 郭朝勇, 刘红宁. 基于支持向量机的枪弹外观缺陷识别与分类[J].
计算机工程与科学, 2016, 38(9): 1943-1949.
DOI:10.3969/j.issn.1007-130X.2016.09.030 |
[9] |
汪晓玲. 基于SVM的银行客户个人信用评估研究[D]. 西安: 西北工业大学, 2007.
|
[10] |
和麟, 梁丽嫒, 黄潇瑶, 等. 基于粒子群优化SVM的飞机发电机故障诊断[J].
计算机测量与控制, 2013, 21(12): 3237-3239.
DOI:10.3969/j.issn.1671-4598.2013.12.026 |
[11] |
黄忠棋. 基于BP神经网络的墙地砖缺陷检测技术研究[J].
微型机与应用, 2014(23): 81-83.
DOI:10.3969/j.issn.1674-7720.2014.23.037 |
[12] |
刘佳男. 基于机器视觉的水果表面缺陷识别方法的研究[D]. 无锡: 江南大学, 2012.
|
[13] |
王德晔, 李永安. 基于PCA算法的办公建筑能耗影响因子分析[J].
建筑节能, 2018, 46(12): 40-42.
|
[14] |
SHEN H, LI S, GU D, et al. Bearing defect inspection based on machine vision[J].
Measurement, 2012, 45(4): 719-733.
DOI:10.1016/j.measurement.2011.12.018 |