一种不同材料金相组织自动分类评级的方法与流程

文档序号:15638782发布日期:2018-10-12 21:48阅读:477来源:国知局

本发明涉及不同材料(20crmnti,cf钢和55号钢)微观晶粒组织的金相定量智能分析领域,特别涉及一种不同材料的金相组织自动分类与评级的方法。



背景技术:

金相分析是对金属进行研究和性能测试的重要手段。为了获取金相图像,需对目标金属进行截取、磨制、抛光、浸蚀,接着,将制备好的金属试样放到金相显微镜下。在金相显微镜下观察,主要检测金属材料的组成成分和材料是否存在缺陷,其主要指标有是否有杂物、晶粒度的级别数、脱碳层的深度、晶界是否腐蚀等。其中晶粒度的级数是最基本,也是非常重要的一个指标。晶粒是在金属冶炼过程中,由液态冷却凝固过程中形成的,形成后的晶粒大小对金属材料的性能有着很大的影响。晶粒按照面积大小可分为1~8级。晶粒面积越小,级别越大,其金属材料的强度和硬度就越高,并且塑性和韧性也越好。检测晶粒度级别数的传统方法是专业金相检测人员通过金相显微镜观察金相图片,并与国家制定的标准系列评级图进行比较。这种方法不仅非常耗时耗力,而且评级的准确率非常依赖金相检测人员的专业素质、精度低、可重复性差。

近年来,已经有不少人开始研究通过计算机识别图像的方法来对金相图像进行分析和评级,但是有一定局限性,原因是这些研究大多通过人工来设定单一的特征提取器从而对某种限定的金相图像进行评级,这样往往导致花费时间较长,适用范围窄,评级稳定性低。随着信息技术的发展,现代的数据量越来越多,单一的特征已经很难完全的代表数据的规律了。



技术实现要素:

针对现有技术中存在不足,本发明提供了一种不同材料(20crmnti,cf钢和55号钢)金相组织自动分类与评级的方法,能够更加充分利用现有的金相数据库来让计算机自主学习特征从而实现了不同材料金相组织自动分类与评级,大大提高了准确性,达到了真正意义上的智能化。

本发明是通过以下技术手段实现上述技术目的的,主要分为两个步骤,第一自动识别不同材料,第二根据识别的材料然后自动评级。

一种不同材料金相组织自动分类评级方法,包括如下步骤:

s1:建立三种不同材料20crmnti,cf钢和55号钢不同倍数下晶粒级数的数据库;

s2:读入一幅大小为m×n的金相组织图像f,其中:m、n为正整数;

s3:对读入的金相组织图像金相材料f进行识别,包括如下步骤:

s3.1:设计一个卷积神经网络模型,针对不同金相材料金相识别;

s4:对材料进行识别后下面进行级数的评级,包括如下步骤:

s4.1:首先运用层次化的分类将相同材料先进行粗分类与细分类;

s4.2:用迁移学习的方法对层次化后的金相图片进行评级。

进一步,所述步骤s3.1中的卷积神经网络模型,具体步骤为:

s3.1.1:在图片正式送到卷积核进行分类前,采用去均值与归一化,即将输入的数据各个维度都中心化到0和将幅度归一化到相同的范围;

s3.1.2:在卷积计算层中上一层的特征图与一个可学习的卷积核进行卷积,然后将得到的结果送入激活函数最终得到一组新的特征图,其中不同的卷积核将产生不同的特征图,每个特征图是由上一层多个特征图的组合卷积得到;

s3.1.3:激活函数的选取:使用relu激活函数,其公式为:x为输入;

s3.1.4:降采样层:将输入特征图的大小缩小得到新的输出特征图,在保留原有特征图重要信息的同时降低计算量;

s3.1.5:采用softmax分类器进行分类。

进一步,所述s3.1.4中降采样层的函数选取为:

其中l表示层数,表示第l层的第j个特征图,down()为降采样函数,采样的窗口为n*n,这样等于将特征图缩小了n倍,是每个特征图自己的偏置参数,f(.)表示非线性激活函数,降采样层特征图的误差信号也是利用反向传播计算得到的;由下一层的误差信号递推得到当前子采样层的误差信号:

为第l层的第j个特征图的前向激活输入,是为第l+1层的第j个误差项,为第l+1层的第j个卷积核,full为全卷积函数,能对卷积的边界进行处理对于缺少的部分用补0作补充,conv表示卷积计算,随即就可以得到以及权值的更新:

w(t+1)=w(t)+ηδ(t)x(t)

其中η为学习率,δ(t)是误差项,x(t)表示神经输入,e为总误差,down()为降采样函数,w为权值。

进一步,所述s3.1.5的具体过程为:假设有n幅输入图像每幅图像的标记{yi∈{1,2,3,......,k},k≥2}共k类,k=2.对于给定的测试图像xi,用假设函数估计出其属于每个类别j的概率值p(yi=j|xi),则假设hθ(xi)为:

是为了对归一化概率分布,即全部概率之和为1,θ表示softmax分类器的参数,softmax分类器的损失函数为:其中1{yi=j}为指示性函数,其取值规则为:值为真的表达式=1,值为假的表达式=0,对于j(θ)最小化问题,使用迭代的优化算法随机梯度下降法来求最小化,经过求导,得到的梯度公式如下:

其中本身是一个向量,它的第l个元素是j(θ)对θj的第l个分量的偏导数;

根据偏导数公式代入到梯度下降法等算法中来最小化j(θ),在梯度下降法的标准实现中,每一次迭代需要进行如下更新:

其中j∈{1,2,3,......,k},k表示分类问题的类别个数。

进一步,步骤s3.1.2中,卷积层的计算公式为;

其中l表示层数,表示第l层的第j个特征图,kij表示连接第l层的特征j与第l-1层的特征的卷积核,mj表示输入图的集合,*表示卷积操作,bj表示偏置,f(.)表示非线性激活函数。

进一步,所述步骤3.1.2还包括:

将下采样层对应的特征图与卷积层的特征图统一大小,下采样层特征图的权值都取的是相同的常数值β,所以l层的误差信号δ等于之前步骤得到的结果乘β,匹配相应的下采样层的特征图,重复这个过程得到卷积层中每一个特征图l的误差信号

其中,up()为上采样,为第l层的第j个特征图的前向激活输入,通过上述公式通过l层中的δ求和得到bias基的梯度:

最后用反向传播算法来得到卷积核的权值梯度,由于卷积神经网络中的权值是共享的,所以需要对所有与该权值有关联的连接对该点求梯度,最后对这些梯度进行求和:

其中中在卷积时与逐元素相乘的小块,输出特征图(u,v)位置的值是由上一层(u,v)位置的小块与卷积核逐元素相乘的结果。

进一步,所述步骤4.1具体步骤如下:

s4.1.1:选取55号钢的金相数据库单独研究,将其按照倍数的不同分为四类:100倍,200倍,500倍,1000倍,根据不同倍数下晶粒度之间存在着一定的识别关系,在每种倍数下将其分为四大类:大类一为1级~4级,大类二为5级和6级,大类三为7级和8级,大类四为9级和10级;

s4.1.2:在粗分类成四类后,对于大类二,大类三,大类四,分别采用200倍,500倍,1000倍的金相图片进行识别,并且依照不同倍数的关系,四大类中识别的模型数据可以共享,由于7级和8级的55号钢金相图片相对比较丰富,选用500倍的图片分析。

进一步,所述步骤4.2具体过程如下:

s4.2.1:增强数据:先将原始1920×960的高分辨率图像翻转180°,再使用224×224大小的正方形框随机的在原图像上截取5块图像;

s4.2.2:迁移学习:采用最大均值差异法,这个距离的公式如下:

其中src表示源域,tar表示目标域,由于最大均值差异法公式距离平方展开后,有二次项乘积的部分,把一个难求的映射以核函数的形式来求,就可以求出映射于是引入了一个核矩阵k:

以及l:

这样就把距离转变成了下面的形式:

trace(kl)-λtrace(k)

trace是矩阵的迹,然后实用降维的方法去构造结果:

这里的w矩阵是比k更低维度的矩阵,w的解就是前m个特征值。

本发明的有益效果在于:

1.本发明所述的不同材料金相组织自动分类与评级方法,通过采用本发明提出的算法对不同材料的金相图像进行识别,能准确的识别出不同材料,有很好的泛化能力,大大提高了识别的准确性与效率。

2.本发明所述的不同材料金相组织自动分类与评级方法,通过采用改进后的卷积神经网络的模型,首次将其使用到金相图像的分类之中,将传统的人工设计特征提取器改进为让计算机直接自主学习并分类,而且通过实验证明其在保障计算速度的同时提高了准确性。

3.本发明所述的不同材料金相组织自动分类与评级方法,通过层次化的方法解决了金相图像不同级数间差异较小,难以识别的问题,有效的提高了识别的准确性。

4.本发明所述的不同材料金相组织自动分类与评级方法,通过迁移学习的方法解决了层次化后数据量不足,从而容易导致过拟合现象的问题,在对于金相评级这类细小识别中有很好的效果。

5.本本发明所述的不同材料金相组织自动分类与评级方法,可以适用于其它金属或非金属等领域中的微观颗粒识别与评级,适用范围较广。

附图说明

图1为本发明所述的一种针对不同材料金相组织自动分类评级的流程图。

图2为本发明开始前输入的图像示例图。

图3为本发明识别不同材料使用的卷积神经网络图。

图4为本发明实施的卷积层计算过程图像。

图5为本发明实施的降采样层计算过程图像。

图6为本发明所述的增强数据的原理图。

图7为本发明所述的迁移学习的模型结构图。

具体实施方式

下面结合附图以及具体实施例对本发明作进一步的说明,但本发明的保护范围并不限于此。

结合图1所示,一种不同材料金相组织自动分类评级方法,包括如下步骤:

s1:建立三种不同材料(20crmnti,cf钢和55号钢)不同倍数下晶粒级数的数据库。

s2:读入一幅大小为m×n的金相组织图像f,如图2所示,其中:m、n为正整数;

s3:对读入的金相组织图像金相材料f进行识别,包括如下步骤:

s3.1:设计一个卷积神经网络模型,如图3所示,其中包括输入层,卷积层,激活函数,降采样层和全连接层,最后接上一个分类器针对不同金相材料金相识别;

s3.1.1:输入层:在图片正式送到卷积核进行分类前,我们需要对图像进行一个适当的处理,以保证维度的一致性,常用的方法有去均值与归一化。即将输入的数据各个维度都中心化到0和将幅度归一化到相同的范围,这样保证输入数据格式的一致化;

s3.1.2:卷积层:在卷积计算层中上一层的特征图与一个可学习的卷积核进行卷积,然后将得到的结果送入激活函数最终得到一组新的特征图,其中不同的卷积核将产生不同的特征图,每个特征图是由上一层多个特征图的组合卷积得到。卷积层的计算如下所示;

其中l表示层数,表示第l层的第j个特征图。kij表示连接第l层的特征j与第l-1层的特征的卷积核,ml-1表示第l-1层选择的输入特征,*表示卷积操作,b表示偏置,f(.)表示非线性激活函数。

一般卷积层l后都会接一个降采样层l+1,根据反向传播算法要得到卷积层l的权值更新,必须要先得到l层的每一个神经元的误差信号δ,而要得到δ就需要对下一层的神经元的误差信号求和得到δl+1,然后乘上权值w,然后再乘以l层中对应神经元输入μ的激活函数f(.)的偏导,这样就得到了第l层的每个神经元的误差信号δl。但是卷积层后的降采样层的神经元节点的误差信号相对于卷积层输出特征图中采样窗口的区域,所有l层中的特征图的每个神经元只能和l+1层中对应特征图的一个神经元相连。因此我们需要将下采样层对应的特征图与卷积层的特征图统一大小。下采样层特征图的权值都取的是相同的常数值β,所以l层的误差信号δ等于之前步骤得到的结果乘β。匹配相应的下采样层的特征图,我们可以重复这个过程得到卷积层中毎一个特征图l的误差信号

其中,up()为上采样,通过上述公式我们可以通过l层中的δ求和得到bias基的梯度:

最后用反向传播算法来得到卷积核的权值梯度,由于卷积神经网络中的权值是共享的,所以我们需要对所有与该权值有关联的连接对该点求梯度,最后对这些梯度进行求和:

其中中在卷积时与逐元素相乘的小块,输出特征图(u,v)位置的值是由上一层(u,v)位置的小块与卷积核逐元素相乘的结果。其计算过程如图4所示。

s3.1.3:激活函数:主要使用relu函数,其公式为:

使用relu激活函数,当x>0时,它的梯度是常数,解决了梯度消失的问题,而且由于梯度是常数,计算量大大地减少了;当下x<=0时,relu函数会让一部分神经元的输出变为0,使整个网络实现了稀疏性。减少了整体的参数量,减少了发生过拟合的可能性。由于这些优势,现在除了最后几层外,其余激活层大都使用relu函数。

s3.1.4:降采样层:其计算过程如图5所示。它的原理是将输入特征图的大小缩小从而的到新的输出特征图,在保留原有特征图重要信息的同时降低了计算量:

其中down()为降采样函数,采样的窗口为n*n,这样等于将特征图缩小了n倍,其目的是为了降低特征图的大小而得到缩放不变性。是每个特征图自己的偏置参数。降采样层特征图的误差信号也是利用反向传播计算得到的。由下一层的误差信号递推得到当前子采样层的误差信号:

full为全卷积函数,他能对卷积的边界进行处理对于缺少的部分用补0作补充。随即就可以得到以及权值的更新:

w(t+1)=w(t)+ηδ(t)x(t)

其中η为学习率,δ(t)是误差项,x(t)表示神经输入。

s3.1.3:softmax分类器:假设有n幅输入图像每幅图像的标记{yi∈{1,2,3,......,k},k≥2}共k类,本文中k=2.对于给定的测试图像xi,用假设函数估计出其属于每个类别j的概率值p(yi=j|xi)。则假设hθ(xi)为:

是为了对归一化概率分布,即全部概率之和为1。θ表示softmax分类器的参数。softmax分类器的损失函数为:

其中1{yi=j}为指示性函数。其取值规则为:值为真的表达式=1,值为假的表达式=0。对于j(θ)最小化问题,目前还没有闭式解法。因此我们使用迭代的优化算法随机梯度下降法来求最小化,经过求导,得到的梯度公式如下:

其中本身是一个向量,它的第l个元素是j(θ)对θj的第l个分量的偏导数。

有了上面的偏导数公式以后,我们就可以将它代入到梯度下降法等算法中,来最小化j(θ)。例如,在梯度下降法的标准实现中,每一次迭代需要进行如下更新:

其中j∈{1,2,3,......,k},k表示分类问题的类别个数。

s4:对材料进行识别后下面进行级数的评级,包括如下步骤:

s4.1:首先运用层次化的分类将相同材料先进行粗分类与细分类;

s4.1.1:选取55号钢的金相数据库单独研究,将其按照倍数的不同分为四类:100倍,200倍,500倍,100倍。因为金相图像比较复杂,相邻级别之间差异小,肉眼很难识别,所以根据不同倍数下晶粒度之间存在着一定的识别关系,我们又在每种倍数下将其分为四大类:大类一(1级~4级),大类二(5级和6级),大类三(7级和8级),大类四(9级和10级)。

s4.1.2:在粗分类成四类后,每类之间的差别则显得相对比较明显,但是在100倍的高级别晶粒度下识别就显得相对困难,因此对于大类二,大类三,大类四,分别采用200倍,500倍,1000倍的金相图片进行识别,并且依照不同倍数的关系,四大类中识别的模型数据可以共享。由于7级和8级的55号钢金相图片相对比较丰富,所以将其单独拿出来研究,选用500倍的图片。但是500倍下大类三只有18张图,数据量过小,计算机在自我识别时候容易造成过拟合,从而影响识别的准确性,因此下面将使用迁移学习的方法来弥补数据不足的缺陷。

s4.2:用迁移学习的方法对层次化后的金相图片进行评级。

s4.2.1:增强数据:为了保证扩充数据的有效性和晶粒的不变性,先将原始1920×960的高分辨率图像翻转180°,再使用224×224大小的正方形框随机的在原图像上截取5块图像,这样既保留了裁剪后图片自己的特性,又将原始的数据库扩大了10倍,增加了数据集的大小,一定程度上防止了卷积神经网络训练时的过拟合现象,如图6所示。

s4.2.2:迁移学习:其模型结构如图7所示。采用了一个经典的距离算法叫做最大均值差异法,这个距离的公式如下:

由于最大均值差异法公式距离平方展开后,有二次项乘积的部分!那么,把一个难求的映射以核函数的形式来求,就可以求出映射于是引入了一个核矩阵k:

以及l:

这样就把距离转变成了下面的形式:

trace(kl)-λtrace(k)

trace是矩阵的迹(对角线元素的和),然后实用降维的方法去构造结果:

这里的w矩阵是比k更低维度的矩阵,w的解就是前m个特征值。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

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