无监督学习在相图测定中识别合金三相平衡点的研究
2023-07-12梁建烈
刘 玄 ,文 勇 ,梁建烈 ,马 坤
(1.广西民族大学电子信息学院,广西 南宁 530006;2.广西民族大学人工智能学院,广西 南宁 530006;3.广西民族大学材料与环境学院,广西 南宁 530006)
0 引言(Introduction)
利用扫描电子显微镜可以观察三种物相的局部平衡在显微镜下表现为这三个物相在某一点共存,三种物相共存的点即为三相平衡点。利用成分分析方法,确定与三相平衡点相连接的三个物相,即可以确定相图的相区,从而确定相图[1-6]。
一个相图的建立需要对大量扫描电子显微镜照片通过形貌区别进行组织的标定、比对,使得研究工作变得烦琐、费力[7]。随着科学技术的不断发展,利用计算机视觉相关技术理论实现图像的自动化处理已经被证实是可行的,特别是近些年深度学习在图像分割等领域取得了突破性的研究进展[8-9]。在科学研究中,引入人工智能技术,实现实验的自动化和智能化,能够大幅提高实验效率。为减轻研究人员低水平的重复性工作,研究一种高效的三相平衡点自动识别方法具有重要意义。
1 总体方法(Overall method)
本文提出的识别三相平衡点的方法分为两个阶段:①三种物相语义分割阶段,即三相分割;②三相平衡点识别标注阶段,即平衡点识别。三相分割阶段,是在梯度回传的图像分割方法(Unsupervised Image Segmentation by Backpropagation,UISB)的基础上进行改进后得出的方法,主要用于三相分割[10]。平衡点识别标注阶段,针对三相分割结果,设计一种基于卷积的识别算法识别三相平衡点所在的模式,三相平衡点所在的模式为三种不同物相交汇的区域,算法通过找到三相平衡点的位置,最终完成自动标注。
图1为本文所提方法的数据流图。拟定输入原图像为I,在三相分割阶段,对三种物相分割产生三相分割图L,在平衡点识别标注阶段,在分割图L上识别和标注平衡点,最终输出平衡点标注图T。
图1 方法数据流图Fig.1 Data flow of method
1.1 三相分割
基于UISB方法,上游任务中输入为I,使用卷积网络系统F提取特征信息,然后经归一化指数函数Soft max做出像素级的预测O=F(I)[10]。使用超像素预分割产生的超像素对预测结果细化产生伪标签O'=SR(O),通过计算CrossEntropy(O,O')反向传播使网络学习到有效特征,整个训练过程图如图2所示。
图2 分割方法训练图Fig.2 Training map of segmentation method
1.1.1 改进的特征网络
首先,原方法的卷积网络系统F使用多个卷积层的堆叠,卷积核大小为3,存在感受野不足和随层数加深丢失浅层信息的问题,因此在网络中间第三个卷积层后加入空洞卷积模块,如图2 所示[11]。该模块中包含三个不同空洞率(Dilation Rate)和不同核大小的卷积提取特征信息,同时扩大了感受野,空洞卷积也不需要额外的计算量。
其次,为了关注分割数据的某些重要特征,如物相(语义)交界的区域,通过注意力机制的引入让网络F学习到需要关注的特征,提升分割精度[12]。在图2中,在网络中间第二个卷积层后插入通道注意力(Channel Attention,CA)模块和空间注意力(Spatial Attention,SA)模块,CA模块将输入的特征图F进行平均和最大池化,通过两个不同数量神经元的全连接层,将得出结果相加,然后经过Sigmoid函数,给不同通道的特征打分,最后Mc和F相乘得到不同重要程度的特征F'=Mc×F。SA模块对通道调整的特征图F'进行打分,产生位置注意力分数图,Ms和F'相乘得到结果S'=Ms×F',两个注意力模块的结构图如图3所示。
图3 CA和SA模块Fig.3 Modules of CA and SA
1.1.2 超像素预分割优化
原方法使用SLIC算法简单线性迭代聚类做预分割处理,在训练过程中用预分割结果细化网络F的预测结果O[13]。本方法使用LSC线性谱聚类做处理,产生更紧凑且均匀的超像素,对于SLIC算法权衡颜色相似度和空间邻近度的计算,LSC算法在图像语义边界的分割上拥有更好的贴边性能,能生成更精准的伪标签O'[14]。
1.2 三相平衡点识别算法
分割方法给三种物相分别分配了不同的类别标签,如图4所示,展示了分割后的三相平衡点区域的类别标签特征图的一种情况,每一种颜色表示一种类别(语义)即一种相,显然三相平衡点区域的特点涵盖了三种类别像素的区域,在类别标签图上对具有这类特征的区域位置进行捕捉辨别,然后进行像素位置上的标注,即标注出三相平衡点。
图4 类标签特征图Fig.4 Feature map of class label
基于以上特征,提出一种快速有效的三相平衡点识别方法,其核心思想是侦测分割后的特征图中的每一个像素点周边一定范围内的像素类别的个数,如果三种类别的像素点都超出一定的阈值,那么就认定这个像素点是一个三相平衡点像素。在图4示例中,设识别边长s=5,当以虚线框中的像素作为中心像素,从中心分别向4个方向扩展2个单位,形成5×5的正方形侦测区域,如图4中粗实线框出区域。显然,正方形侦测区域中三种类别的像素数都大于等于阈值k,设k=5,认定该点是一个三相平衡点像素。以此类推,每个满足三相平衡点条件的像素,在空间位置上是临近的,由此汇聚形成的像素块,最终视觉上呈现为不规则形状的点,在本文中把这种点称为自动标注的三相平衡点。三相平衡点识别与标注算法,详见表1。
表1 三相平衡点识别与标注算法Tab.1 Three-phase equilibrium point identification and mark algorithm
算法描述如下:①输入L∈Qh×w为三相分割的输出图,h和w表示输入图的高和宽,Q={1,2,3},其中系数代表三种分割类别,L i,j∈Q,i、j表示图的具体位置。②输出T∈Gh×w为平衡点标注图,G=0,1{ },0表示非平衡点标记,1表示平衡点标记,T i,j∈G,i、j表示图的位置。③初始化T,令所有元素为0;设正方形侦测区域的识别边长为s,类别数量的像素阈值为k,s、k∈N*;初始化值全为1 的s×s大小的卷积核kernel。④用L生成三张类别真值图L1、L2、L3∈0,1{ }h×w,在L1、L2、L3中以每个位置的像素为中心,计算以每个像素为中心、s为边长的框中同类像素的个数。⑤当框的识别范围内三种类别的像素数量都超阈值k,则标记该位置点为三相平衡点,即标记该位置设定T i,j=1。⑥输出平衡点标注位置图T。
1.3 测评指标
本文用平均交并比(Mean Intersection over Union,MIo U)和平均像素精度(Mean Pixel Accuracy,
MPA)通用的语义分割度量标准对分割结果做出测评。计算公式分别如下:
在公式(1)和公式(2)中,k表示类别,p ij表示本属于i类却被预测为j类的像素数量。同理,p ji与p ii分别表示本属于j类被预测为i类的像素数量和本属于i类被预测为i类的像素数量。
针对识别算法设置识别有效性的测评指标,根据图5中标注对比的区别,定义两个测评指标:检出率dr(Detection Rate)和误检率er(Error Rate)。检出率代表有多少比例的人工标注的平衡点被正确地标注出来,如果是100%,说明所有的平衡点都被自动标注出来。误检率代表有多少比例的自动标注点实际上不是平衡点,但被本文所提方法错误地标注出来。其中,图5(a)为人工标注图,人工标注的平衡点以一个小正方形表示;图5(b)为自动标注图,自动标注的平衡点以一个类似圆形的点表示。如果有自动标注点出现在正方形内,说明该平衡点被检出(正确标注),如图5(b)中小点在正方形中则被检出,正方形中无小点则未被检出;如果自动标注点不在任何正方形内,说明该自动标注点被误检(错误标注),如图5(b)中右边和正下方共4个小点没出现在正方形内。
图5 标注对比Fig.5 Comparison of mark
检出率和误检率计算公式分别为如下:
其中,total为测评图像的像素总数,ml(Manual Labeling)为人工标注的三相平衡点总数,side为标注的小正方形区域的边长,tl(True Labeling)为被检出的人工标注的平衡点总数,f l(False Labeling)为不出现在任何人工标注点区域内的自动标注点的像素总数。
2 实验结果与分析(Experimental results and analysis)
2.1 实验环境
实验方法运行在Linux Ubuntu 20.04.2操作系统上,使用Tensor Flow作为深度学习框架,采用Jupyter notebook在线编辑器编写代码和进行实验;硬件配置的CPU 为Intel(R) Xeon(R) Gold 6278CCPU@2.60 GHz,GPU为Tesla T4两块,显存为16 GB。
2.2 数据集制作和设置
在三相分割中,使用326张512×512大小的三元合金相图图片作为测试数据集,在分割算法之前,对合金相图数据采用不同程度的Clahe对比度增强和色度增强等手段。为了验证三相平衡点识别算法有效性,对326张本文分割算法分割出的三相分割结果图和对应的人工分割图构成本文所提算法分割集和人工分割集,之后进行测评。
2.3 实验分析
2.3.1 分割方法实验分析
验证本文改进的分割方法的有效性,实验选取与原分割算法(UISB)进行对比,在三元合金相图数据集上进行测试,根据公式(1)与公式(2)的指标计算两种方法的得分,量化的测评结果见表2,本文分割方法MIoU和MPA分别为49.86%和65.46%。实验表明,本文分割方法在预分割阶段采用LSC算法替换SLIC算法,实现对目标语义整体和边界更加精细的预分割,在网络加入空洞卷积模块和注意力模块提升对感受野和重要特征关注度。对比UISB方法,在两个指标上均有精度提升。对三元相图数据输出更精准的物相分割结果,将易于识别算法对三相平衡点进行识别。
表2 量化测评对比Tab.2 Quantitative evaluation comparison
本文改进的分割方法和UISB方法在部分数据上的分割表现的对比结果如图6所示,可以看出,改进方法在分割精度上表现更好,而且不同物相的分割整体性较好。
图6 分割对比图Fig.6 Comparison diagram of segmentation
2.3.2 平衡点识别算法分析
验证本文识别算法的有效性,对人工分割集和本文算法分割集在公式(3)与公式(4)测评指标上进行测试,在平衡点识别算法中使用不同参数k(2<k<10)、s(2<s<8)对单张图片进行测试,取最好结果计算均值,识别指标对比见表3。算法在人工分割集上表现出色,平均检出率93%,原因是人工对物相的分割结果存在的误差较少,而本文分割方法输出的三相分割结果图存在像素误分、零散像素干扰等情况,但也取得62%的识别检出率,表明识别算法能识别并标注大部分的三相平衡点。
表3 识别指标对比Tab.3 Comparison diagram of identification index
图7为三相平衡点标注图的可视化结果,以小点在原图上的形式展示,方便观察使用了方框框选部分结果,从视觉效果上看,在三种物相的交接处标注出大部分的三相平衡点,虽然存在部分漏标、错标的情况,但是总体来看,方法在自动标注三相平衡点有一定的效果。
图7 可视化结果Fig.7 Visualization of results
3 结论(Conclusion)
针对相图测定中合金三相平衡点标注的研究需要,提出三相平衡点识别方法进行智能化的标注。实验结果表明,总体的三相平衡点识别方法存在一定局限性,三相平衡点识别标注的表现会依赖分割阶段的分割表现,但方法仍能够识别并标注出大部分的三相平衡点。总体来看,本文方法在智能化标注三相平衡点上有一定的应用价值,能起到辅助人工标注的作用。