一种基于LS-SVM的涡流硬度分选方法
技术领域
本发明涉及硬度分选技术领域,更具体的说是涉及一种基于LS-SVM的涡流硬度分选方法。
背景技术
通常,基于涡流的硬度分选技术是通过提取涡流检测线圈的阻抗值来估计受检对象的硬度值的,为了对受检对象进行正确的分选,需对受检对象群作同批次加工、同型号尺寸、同炉号处理等条件的规定,满足此条件后,在受检对象群中用硬度计打点的方法找出符合上下边界条件的试件,利用一系列软硬件技术提取检测线圈阻抗值,根据上下边界条件试件的阻抗值画出分选区间,若受检对象的阻抗值落在分选区间内,受检对象判定为合格,否则判定为不合格。对于此方法,在实际应用中存在以下问题:(1)阻抗值与硬度值之间存在着非线性关系,若受检对象硬度跨度范围较大,阻抗值能表征的硬度值多元;(2)对于非同炉号及非同批次加工的受检对象,上下边界条件是实时变化的,阻抗值与硬度分选区间的映射关系不易确定。
因此,如何提供一种涡流硬度分选方法是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种基于LS-SVM的涡流硬度分选方法,通过拉格朗日算子的有限次迭代运算代替常规SVM算法中大型矩阵的求逆运算,求解过程为纯粹的线性过程,更容易用硬件实现。纯硬件算法因具备处理并行性的特点比软件算法在速度上更具优势,这为生产线上对速度要求较高的在线分选技术提供了基础;训练样本支持向量系数的获取是硬度分选的关键,是决定分选超平面的决定性参数,基于LS-SVM的分选方法能将处于被不合格零件包围的合格零件分选出来,在实际应用中可解决某种合格品因热处理工艺的不同导致其特征值与其他同炉号下的合格品特征值差异较大而导致误分选的情况,其算法具备较强的实用价值。
为了实现上述目的,本发明提供如下技术方案:
一种基于LS-SVM的涡流硬度分选方法,具体步骤包括:
步骤1:获取分选硬度的二维训练样本;
步骤2:用高斯径向基核函数将二维训练样本映射到高维空间,得到高维空间样本;
步骤3:以高维空间样本及对应的标签值为基础形成权值矩阵,对拉格朗日算子及初始偏移量进行迭代,获得能代表硬度样本的支持向量系数及最终的偏移量,进而获取分选超平面;
步骤4:以处于不同硬度值的阻抗值作为测试样本,与支持向量系数对应的支持向量集一并重新映射到高维空间,获得高维空间样本,通过决策机判断在分选超平面中的位置,实现对合格与不合格零件的分选。
优选的,在上述的一种基于LS-SVM的涡流硬度分选方法中,将合格硬度的零件置于电桥的参考线圈中,待分选的零件置于电桥的检测线圈中,用锁定放大器提取检测线圈的电阻幅值与电抗幅值,作为分选硬度的二维训练样本。
优选的,在上述的一种基于LS-SVM的涡流硬度分选方法中,将二维训练样本映射到高维空间,采用高斯径向基核函数,其表达式Kij=exp{-γ-1||xi-xj||2}。
优选的,在上述的一种基于LS-SVM的涡流硬度分选方法中,获取分选超平面具体步骤包括:
对于训练集(xi,yi),i=1,2,...N,xi为训练样本,yi∈{-1,+1}为训练样本对应的标签值,其分类超平面表示为:
其中:W为权值矩阵,b为偏移量,为输入空间到特征空间的映射。
优选的,在上述的一种基于LS-SVM的涡流硬度分选方法中,对分类超平面的求解转变为求解拉格拉日算子αi及偏移量b:
其中,qij为Hessian矩阵,其表达式qij=yiyjKij;基于动态神经网络最小二乘支持向量机FPGA算法得到神经网络LS-SVM分类的动态方程,通过神经网络在平衡点处满足条件时求解收敛稳定值进行分类超平面。
优选的,在上述的一种基于LS-SVM的涡流硬度分选方法中,基于神经网络LS-SVM分类的动态方程,对微分形式的动态方程进行离散化处理,离散方程如下:
式(4)、(5)中,ΔT为FPGA的离散采样周期,γ为超出样本误差的惩罚因子,qij同式(3),Kij为核函数。
优选的,在上述的一种基于LS-SVM的涡流硬度分选方法中,所述离散方程利用硬件电路求解支持向量系数及偏移量,网络终止训练达到平衡点,满足网络平衡点时获得的αi值记为即支持向量系数;满足网络平衡点时获得的b记为即分类平面偏移量。
优选的,在上述的一种基于LS-SVM的涡流硬度分选方法中,得到支持向量系数及对应的支持向量用下列表达式得到分选决策机f(x):
其中,sgn为符号函数,为对应的支持向量集,为支持向量系数,xt为待分选样本,为对应的标签值,exp{·}利用FPGA中的IP核实现,{}中的运算要求浮点数格式,运算前后均需进行定点数与浮点数之间的转换,γ为超出样本误差的惩罚因子,为待分选集合与支持向量样本集的2-范数矩阵。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于LS-SVM的涡流硬度分选方法,以Xilinx Artix-7 FPGA为处理器,以检测线圈的阻抗二维特征信息形成Hessian矩阵,作为LS-SVM训练样本的权值,并以较大跨度硬度区间受检对象的二维特征信息建立训练样本,设计出支持向量系数及偏移量的FPGA求解电路;其次以样本训练后获取的支持向量系数及对应的支持向量作为分选决策机的输入变量,设计了基于FPGA的硬度分选决策机;最后根据支持向量系数及偏移量绘制出硬度分选区间的超平面,以不同硬度的气门作为测试样本进行分选实验,并讨论与评估LS-SVM技术用于在线涡流分选的可行性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明的方法示意图;
图2为本发明的求解FPGA电路图;
图3为本发明的分选决策机电路结构图;
图4为检测线圈特征信息图;
图5为本发明阻抗幅值-硬度值回归曲线;
图6为本发明分选超平面示意图;
图7为本发明测试结果示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种基于LS-SVM的涡流硬度分选方法,以Xilinx Artix-7FPGA为处理器,以检测线圈的阻抗二维特征信息形成Hessian矩阵,作为LS-SVM训练样本的权值,并以较大跨度硬度区间受检对象的二维特征信息建立训练样本,设计出支持向量系数及偏移量的FPGA求解电路;其次以样本训练后获取的支持向量系数及对应的支持向量作为分选决策机的输入变量,设计了基于FPGA的硬度分选决策机;最后根据支持向量系数及偏移量绘制出硬度分选区间的超平面,以不同硬度的气门作为测试样本进行分选实验,并讨论与评估LS-SVM技术用于在线涡流分选的可行性。
LS-SVM方法及离散化处理方法
对于训练集(xi,yi),i=1,2,...N,xi为训练样本,yi∈{-1,+1}为训练样本对应的标签值,其分类超平面表示为:
其中:W为权值矩阵,b为偏移量,为输入空间到特征空间的映射,那么基于SVM的分类问题可表示为求解下面受约束的最优问题:
其中为样本点到分类超平面间的几何间隔。为了解决受约束的最优问题,将SVM的二次规划问题转化为式(3),这样对分类超平面的求解即变成求解拉格拉日算子αi及偏移量b问题。
其中qij为Hessian矩阵,其表达式qij=yiyjKij。基于动态神经网络最小二乘支持向量机的FPGA算法,通过神经网络在平衡点处满足(Karush-Kuhn-Tucher,KKT)条件时求解收敛稳定值而获得分类超平面的方法,给出了基于神经网络LS-SVM分类问题的动态方程,并对其微分形式的动态方程进行了离散化处理,离散后的方程如(4)、(5)。
式(4)、(5)中,ΔT为FPGA的离散采样周期,γ为超出样本误差的惩罚因子,qij同式(3),Kij为核函数,文中选用高斯径向基核函数,其表达式Kij=exp{-γ-1||xi-xj||2}。以(4)、(5)为设计依据对支持向量系数及偏移量求解、硬度分选决策机进行FPGA的硬件化实现。
支持向量系数及偏移量求解结构
根据离散方程(4)、(5),基于FPGA的的硬件电路求解过程为图2。在FPGA中,处于同一水平线上的矩形或圆形代表在相同的时钟周期内工作,其工作流程为:
1)将标签值yi对称化,用乘法器并行计算yiyj对称矩阵及Kij对称矩阵;Kij的具体计算方法见2.2,yi,yj∈{+1,-1};
2)设置拉格朗日算子αj初始值,由式1.2中式(5)知,初始值α1=ΔT,为便于量化,设置乘法器1计算Hessian矩阵qij=yiyjKij;
3)乘法器2计算αjqij,并不断把αjqij值累加,累加器1计算
4)减法器1计算同时乘法器3并行计算biyi;
5)减法器2计算同时乘法器4并行计算γ-1αi,γ值的选取可根据matalab工具仿真确定;
6)减法器3计算
7)计算用右移寄存器1代替乘法器,ΔT值同2);
8)累加器2计算训练终止条件满足时该值更新过程结束;
9)通过更新后的αi值,乘法器5计算αiyi乘积项;
10)通过用累加器3计算更新后的bi值,训练终止条件满足时该值更新过程结束;
图2为一个迭代周期内的电路工作流程,当且仅当αi+1=αi,bi+1=bi时网络才会终止训练,证明网络达到平衡点。满足网络平衡点时获得的αi值记为即支持向量系数;满足网络平衡点时获得的b记为即分类平面偏移量。用|αi+1-αi|<ε1,|bi+1-bi|<ε2作为训练终止条件来控制{αi,b}的输出,约定
硬度分选决策机
得到支持向量系数及对应的支持向量用下列表达式得到分选决策机f(x):
其中sgn为符号函数,为对应的支持向量集,为支持向量系数,xt为待分选样本,为对应的标签值,exp{·}利用FPGA中的IP核实现,{}中的运算要求浮点数格式,运算前后均需进行定点数与浮点数之间的转换,γ为超出样本误差的惩罚因子,为待分选集合与支持向量样本集的2-范数矩阵。2-范数矩阵的表达式为:
分选决策机硬件电路原理图如图3,其算法流程为:
1)计数器计数值作为控制总线,并行计算xtxt T、三个对称矩阵,分别采用3个乘法器-累加器IP核(Multiplier-Adder1~3)计算;
2)加法器1计算同时并行计算左移寄存器实现与系数2的乘积;
3)减法器1计算
4)乘法器1计算
5)将4)所得结果进行定点数到浮点数(Fixed-floating IP核)的转换;
6)利用指数运算IP核计算
7)执行浮点数转化成定点数Floating-fixed运算;同时乘法器2并行计算
8)乘法器3进行运算;
9)加法器2进行运算;
10)选择器判断值,当时,f(x)=1;当时,f(x)=-1。
实验测试与分析
实验对象:40Cr气门;气门尺寸:φ10×120(mm);气门热处理工艺:先在840℃淬火,依次在380℃、400℃、420℃、450℃、480℃、510℃、580℃、620℃、660℃、700℃的温度下回火,获得在38.6~57.4HRC区间近似于呈均匀分布的硬度值;气门样品获得方法:按照气门热处理工艺分两批在不同炉号里进行热处理,每次处理100只,样本分别记为M1及M2。算法平台:Xilinx Artix-7 FPGA开发板、AD9226模/数接口板、AD9767数/模接口板、SR830锁定放大器;辅助硬件:功率放大电路、增益调节电路、含参考线圈及检测线圈的电桥;实验仪器:MSO-X-3024A示波器、LCR测试仪TH2816B。其中,电桥电路参数为:桥臂电阻R1=R2=200Ω,线圈漆包线直径d=0.1mm,初级绕制匝数N1=420,初级激励电流I1=200mA,次级绕制匝数N2=1100,次级激励电流I2=120mA。
实验步骤
(1)提取检测线圈的阻抗值时,SR830参考信号电平设置为300mV,参考线圈中放置标定好硬度值的气门,检测线圈中放置待分选的气门,锁定放大器直接提取电桥电路的输出信号,获取阻抗幅值Ur及相角值a。其中Ux=Ur cos a,Ux=Ur sin a,Ux为电阻幅值,Uy为电抗幅值。图4为检测线圈响应信号的特征信息图,通道1为放置不同气门时检测线圈的阻抗信号,通道3为提取的阻抗幅值Ur。
(2)在M1和M2中以硬度值近似于均匀分布的方式分别选取25只作为测试对象,将其混合在一起,作出阻抗幅值与硬度值的高斯回归曲线,如图5;
(3)从M1中挑选50只气门,对应的标签值yi=+1,i=1,2,...50,设定为合格区域;从M2中挑选50只气门,对应的标签值yi=-1,i=50,51,...100,设定为不合格区域;用上述实验平台提取电阻幅值Ux及电抗幅值Uy。由样本数据Ux形成的矩阵见表1,由样本数据Uy形成的矩阵Uyi见表2,Uxi、Uyi中前50个为合格品,后50个为不合格品。
表1 Uxi样本数据(/300mV)
1.8756 |
1.0812 |
1.3908 |
-1.1710 |
1.3572 |
-1.7604 |
0.3359 |
0.6503 |
1.2005 |
0.3263 |
0.8595 |
-0.5161 |
-0.6803 |
-0.8586 |
1.3034 |
-0.8613 |
-0.4309 |
-0.7023 |
-0.9361 |
0.1906 |
1.5510 |
0.9967 |
-0.7862 |
1.1045 |
-0.6040 |
-2.1122 |
-0.2086 |
0.1379 |
-0.7771 |
-0.2966 |
-1.0041 |
-0.9389 |
-2.0583 |
-0.2695 |
0.9334 |
0.2530 |
0.8263 |
1.7864 |
-1.8467 |
-0.4882 |
-1.5825 |
0.4153 |
-0.6347 |
-0.0791 |
-0.6312 |
-0.8469 |
1.0640 |
0.4443 |
-0.1242 |
0.1715 |
1.1097 |
4.2755 |
2.6364 |
2.9740 |
2.3717 |
2.2382 |
3.3906 |
3.7893 |
2.5736 |
0.7137 |
1.9227 |
2.8298 |
1.4838 |
2.8671 |
3.2873 |
3.9377 |
3.0943 |
2.0532 |
1.5951 |
1.5430 |
3.0645 |
3.0257 |
1.8264 |
2.3007 |
-0.2016 |
1.9509 |
4.3395 |
1.5482 |
1.7735 |
1.2441 |
1.8706 |
1.3251 |
1.9659 |
2.8431 |
1.9474 |
0.8422 |
1.7090 |
1.1041 |
1.4355 |
1.6689 |
0.5806 |
1.3606 |
3.9333 |
1.1420 |
2.0083 |
3.4286 |
0.6122 |
1.3298 |
3.2300 |
1.2818 |
表2 Uyi样本数据(/300mV)
(4)在FPGA中通过图2的训练算法后,获得偏移量支持向量系数值见表3,支持向量系数对应的支持向量在训练样本xi中的位置如表4;根据值,利用matlab工具将硬度训练样本生成网格数据,绘制等高线,得到图6的硬度分选超平面。
表3支持向量系数值
2.6154 |
2.6154 |
3.3441 |
2.6154 |
2.0728 |
2.6154 |
2.6154 |
4.0537 |
3.1400 |
2.6154 |
2.9265 |
3.4192 |
0.6437 |
2.6154 |
3.4347 |
0.6154 |
0.6154 |
0.6154 |
0.6154 |
0.6154 |
0.6154 |
0.6154 |
表4在样本xi中的位置
1 |
5 |
6 |
14 |
22 |
26 |
27 |
29 |
31 |
33 |
39 |
45 |
46 |
47 |
49 |
51 |
54 |
60 |
63 |
82 |
91 |
92 |
(5)设测试样本为xt,t=1,2,...26,xt为2×26矩阵,与训练样本信息尽量不重复,包含M1对应的Ux、Uy组成的2×13矩阵及M2对应的Ux、Uy组成的2×13矩阵;M1对应的yi=+1;M2对应的yi=-1。由样本数据Ux形成的矩阵Uxt见表5,由样本数据Uy形成的矩阵Uyt见表6,Uxt、Uyt中前13个为合格品,后13个为不合格品。将2.1求得的参数及xt输入到图3中的分选决策机,得到的测试结果如图7。
表5 Uxt样本数据(/300mV)
-2.5010 |
-2.3872 |
-2.3112 |
-1.2120 |
-0.8102 |
-0.1803 |
0.1050 |
0.8822 |
1.3865 |
1.8004 |
2.4860 |
2.9504 |
2.9453 |
0.5013 |
1.4010 |
2.3014 |
3.2045 |
0.8135 |
3.1893 |
4.1010 |
3.8822 |
3.3867 |
2.8002 |
2.4862 |
2.9500 |
1.9450 |
|
|
|
|
表6 Uyt样本数据(/300mV)
0.0564 |
1.0014 |
-0.1232 |
0.3864 |
-1.2105 |
1.2894 |
0.1011 |
3.1201 |
2.8008 |
-1.6012 |
0.1003 |
-1.3510 |
-1.2402 |
2.0570 |
2.0010 |
1.1231 |
0.6860 |
2.2114 |
2.2894 |
0.1010 |
1.1202 |
2.8002 |
2.6012 |
3.1004 |
0.3512 |
4.2400 |
|
|
|
|
实验结果讨论
如图5,回归曲线表明:处于硬度区域M1及M2气门阻抗幅值与硬度值存在非线性关系,阻抗幅值约2.5V时成为回归曲线的拐点,代表了样本的最小边界条件,阻抗幅值约为0.6V、2.9V时分别代表了样本的最大边界条件及次大边界条件。
如图6,经过训练后,LS-SVM认为具备成为支持向量系数的共有22个,处于合格区域的训练样本贡献15个,处于不合格区域的训练样本贡献7个,与支持向量系数对应的支持向量因此确定下来,在表4中用下标标注了支持向量在训练样本xi中的位置,支持向量在图6中用圆圈标注。从图知,代表合格区域的支持向量有1个位于不合格区域内,且被不合格区域的4个支持向量包围;不合格区域有2个支持向量与合格区的2个支持向量毗邻,有1对几乎呈互相嵌入状态。合格气门样本与不合格气门样本被分选超平面分开后形成了明显的分类界限,毗邻较近并呈互相嵌入的1对支持向量被有效地区分出来,被不合格区域支持向量包围的合格区域支持向量形成了单独的分选超平面,但它与14个合格区域支持向量形成的超平面是等高的。
图7为测试结果,落入单独分选超平面中的2只气门及剩下的24个气门都能被完全分选出来,分选成功率达到100%;其原因可能是:本文中,测试样本数仅为训练样本数的且样本训练和测试过程均为静态过程,而权值矩阵qij是完全固定的,合格区域的测试样本阻抗幅值完全落入分选超平面内,支持向量完全反映了分选样本的信息。
传统方法如图5,需根据阻抗值与硬度值之间的回归关系及最大、最小边界条件来预测硬度值,从而达到分选的目的。图6、图7的结果表明:基于LS-SVM的方法是由群样本值决定边界条件,可用权值矩阵代替图5的回归过程,不存在换一批气门就需重新确定阻抗值与硬度值的关系的情况,在分选过程中图5中的步骤是可以省略的。图7测试结果对于硬度的在线分选有启发意义:若能根据训练样本边界条件实时更新LS-SVM的权值矩阵qij,高维空间下的训练样本K(xi,xj)一边训练,测试样本一边检测,这样合格样本会大概率落入分选超平面内,不合格样本会大概率落入分选超平面外,预计将持续保持很高的分选成功率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。