APP下载

基于GAPSO-SVM的钣金零件图像识别方法

2020-10-21方舟程筱胜崔海华石诚韦号

机械制造与自动化 2020年5期
关键词:钣金特征选择适应度

方舟,程筱胜,崔海华,石诚,韦号

(南京航空航天大学 机电学院,江苏 南京 210016)

0 引言

在视觉引导的工业机器人零件装配过程中,视觉部分需要提供给机器人所需抓取零件的种类信息,这对零件识别的准确性至关重要,也是后续的抓取装配等工作的基础。支持向量机作为一种经典的机器学习方法在图像识别中得到了广泛的应用[1-3]。匡逊君等人[4]提取零件图像的Hu不变矩和仿射不变矩,采用基于有向无环图的支持向量机进行零件识别。孙小权等人[5]对零件图像进行小波变换去噪和降维后,利用主成分分析提取图像特征向量输入SVM对正畸带环进行识别。吴益红等人[6]将零件的局部二值模式(local binary pattern,LBP)特征谱转成LBP直方图,输入SVM进行零件识别。韩晓艳等[7]人利用粒子群算法对SVM的参数进行寻优,但并未进行特征的选择。秦丰等[8]人通过卷积神经网络提取苜蓿叶片病斑图像的特征后再利用SVM进行分类,但SVM参数寻优通过网格搜索法实现,其速度较慢,并且输入SVM的特征都是通过人工组合来获得,需经过大量实验验证其准确性。李东等人[9]通过提取服装轮廓的傅里叶描述子,利用支持向量机进行服装款式的识别,并且验证了Hu矩和傅里叶描述子的融合特征反而会使识别准确率下降,由此可以看出传递给SVM的特征将影响最后的分类性能。

SVM的分类性能对参数的变化非常敏感,并且输入的特征过多可能造成识别准确率的下降,然而特征选取往往依赖于实验者的主观判断。针对以上问题,本文提出一种基于GAPSO-SVM算法的钣金零件识别方法。首先,对图像样本进行图像预处理,提取其形状特征,建立不同种类零件的训练集;其次,利用支持向量机进行训练,通过遗传粒子群算法同时进行支持向量机的参数优化和特征选择,获得优化后的参数和筛选后的特征;最后,提取测试集零件筛选后的特征,将其输入训练好的支持向量机模型获得零件的类别。

1 GAPSO-SVM钣金零件图像识别

1.1 识别方案总体流程

本文提出的零件识别总体方案如图1所示,其中,支持向量机的参数优化和特征选择通过遗传粒子群算法实现。

图1 分类方案总体流程

1.2 图像预处理和特征提取

钣金零件表面纹理特征非常少,用SIFT[10]等局部不变性特征难以得到较好的提取和匹配效果。本文采用形状特征作为支持向量机的输入。首先对图像进行预处理,包括gamma校正、阈值化、轮廓提取,最终获取零件的形状特征。

初步选择的形状特征定义如下。

1) 面积

(1)

面积为零件目标在图像中所占的像素点数。

2) 周长

P=A-SUM(in)

(2)

式中SUM(in)为4邻域都为轮廓点的像素总个数。

3) 延伸率

S=W/L

(3)

式中:L为零件轮廓最小包围矩形的长,W为零件轮廓最小包围矩形的宽。

4) 占空比

B=A/(LW)

(4)

占空比表示轮廓对最小外接矩形的充满程度。

5) 复杂度

C=P2/(4πA)

(5)

复杂度表示轮廓与圆形的接近程度。

6)Hu不变矩

Hu不变矩由图像的二阶和三阶归一化中心矩推导而来,一共有7个值,这些值对图像的平移、旋转、缩放具有不变性,因此可以作为轮廓的不变特征来使用。

由于提取出的各个特征数量级差异较大,直接输入SVM进行训练会影响识别准确率,因此需要进行如式(6)所示的归一化操作,将所有特征数值映射到0~1之间。

(6)

式中:fij、f′ij分别为第i个零件的第j个特征变换前和变换后的值;maxj、minj分别为所有零件的第j个特征的最大和最小值。

1.3 GAPSO-SVM算法

粒子群优化算法[11]是一种群智能算法,其思想类似于鸟群觅食的过程。二进制粒子群[12]将粒子的每一位按照0或者1编码,粒子每一维的速度影响这一维置1的概率。

本文将遗传算法的交叉和变异机制引入粒子群优化算法,进行SVM的参数优化和特征选择,构成GAPSO-SVM算法,使其在保证前期快速寻优的情况下,能在后期有效地跳出局部最优解。算法流程如图2所示。

图2 算法流程图

其中算法关键步骤如下:

1) 种群粒子随机初始化

随机初始化种群中的每个粒子,并对粒子进行编码。本文采用使用径向基核函数(radial basis function,RBF)的SVM,径向基核函数定义为:

K(x,z)=exp(-γ‖x-z‖2),γ>0

(7)

需要优化的参数为RBF参数γ和SVM的惩罚参数(penalty parameter)C。除此之外,还要进行特征选择,因此每个粒子的编码向量分为三部分。前两部分分别为SVM的参数C和γ的二进制编码,通过式(8)可转换成十进制:

(8)

式中:D为十进制数值,Dmin和Dmax分别为参数的上、下限;dec(b)为二进制编码b的十进制值;L为二进制编码的位数;本文C和γ的二进制编码都取20位。第三部分为特征选择标志位,置0表示不选择该特征,置1表示选择该特征。每个粒子都表示一种参数和特征选择情况。

2) 适应度评价

为保证最后生成的粒子以尽可能少的特征维度以获得高的分类准确率。粒子适应度评价函数如下:

(9)

式中:Fitness表示适应度;wa为分类准确率的权重;Accuracy为k折交叉验证的准确率,本文k取10;wq为特征维数的权重;D为可供选择的特征数量;fi取1代表第i个特征被选中,取0代表没有选择第i个特征。

3) 惯性权重更新

本文惯性权重按照迭代次数线性递减的方式更新:

(10)

式中:k为当前迭代次数;wk为第k次迭代时的惯性权重;wmax和wmin分别为惯性权重的上、下限;Imax为允许迭代的最大次数。

4) 选择、交叉和变异

交叉操作的父代粒子按照轮盘赌的策略选择,当产生的0~1间的随机数小于交叉概率时,对粒子每一段进行单点交叉操作,如图3所示。

图3 交叉操作

变异操作可以让粒子跳出局部最优解,一般变异概率不易取过大,变异操作的公式如下:

(11)

2 实验验证

本文实验零件图像种类共6类。采集了不同角度和位置下共600张图像(每类100张)作为训练集,60张图像(每类10张)作为测试集。其中部分位置的零件训练集中轮廓图如图4所示((a)-(f)代表种类1-种类6),部分不同种类零件归一化后的特征数据如表1所示。

图4 部分不同种类零件原图和轮廓

表1 部分零件的归一化特征数值

2.1 实验参数设置

特征维数D=12;参数C最大值Cmax=10,最小值Cmin=2-5;参数γ最大值γmax=10,最小值γmin=2-15;种群规模Scale=50;分类准确率权重wa=0.95,特征维数权重wq=0.05;惯性权重最大值wmax=0.9,最小值wmin=0.4;学习因子c1=2,c2=2;迭代的最大次数Imax=100;交叉概率Pc=0.8,变异概率Pm=0.1。

二进制粒子群在更新位置时,如采用一般的sigmoid函数,输入速度越大,产生0的概率越低。为了保证产生新粒子的概率,本文将sigmoid函数改写如下:

(12)

2.2 识别准确率与特征选择结果

重复实验10次,计算最终全局最优解的C、γ和选用的特征数如表2所示。分析可知,10次实验中有7次将初始选取的12维特征降维到3维,且都为延伸率、占空比、Hu矩1的组合,测试集识别正确率100%。如将初步选择的12维特征全部用于识别,测试集识别正确率85%。说明本文提出的方法有足够的能力进行SVM的参数优化与特征选择。

表2 重复10次实验结果

为了对比,进行了PSO算法对SVM参数优化和特征选择实验。图5为随着进化代数的上升,GAPSO-SVM和PSO-SVM的适应度上升点线图。可以看出,GAPSO比PSO在前期寻优的速度更快,20代左右就能到达较高的适应度值,最终适应度高于PSO算法,说明算法具有跳出局部最优解的能力。

图5 两种算法的性能对比

3 结语

提出一种基于GAPSO-SVM的钣金零件图像识别方法,该方法可对视场内不同位置和角度的钣金零件进行识别。本文方法的关键是结合了遗传算法和二进制粒子群算法的优点,通过计算选择的特征维数和交叉验证的准确率来评判当前的适应度。经过不断地迭代,得到最优的SVM参数和所需特征。最终实验结果说明,该方法能有效地进行支持向量机的参数优化和特征选择,从而在识别过程中有效地减少特征数量,并提高识别准确率。

猜你喜欢

钣金特征选择适应度
改进的自适应复制、交叉和突变遗传算法
钣金V形折弯成形的回弹控制研究
钣金成形技术在航空航天中的应用
一种基于改进适应度的多机器人协作策略
Kmeans 应用与特征选择
基于空调导风板成型工艺的Kriging模型适应度研究
联合互信息水下目标特征选择算法
基于特征选择聚类方法的稀疏TSK模糊系统
有壹手快修:钣金领域的重度垂直
解决车身钣金异响的方法探究与实践