APP下载

基于多目标学习的泡沫浮选过程工况识别

2022-08-01赵佳铭周晓君高媛刘天宇阳春华

关键词:多任务品位矿物

赵佳铭,周晓君,高媛,刘天宇,阳春华

(中南大学自动化学院,湖南长沙,410083)

矿产资源是国家战略安全资源的重要组成部分,其中有色金属资源尤为重要。我国有色金属资源虽然种类丰富但品位较低,我国经济的快速发展正面临着有色金属紧缺的挑战。合理的选矿过程是避免有色金属资源浪费、提升矿物资源回收率的保证。我国90%以上的有色金属选矿采用泡沫浮选的方法。对于泡沫浮选生产过程,当给矿性质、工艺参数等因素改变时,工况易受影响并产生波动,若不能及时有效地进行处理,则浮选过程工况会出现异常,最终导致矿物资源回收率降低。传统工业一直以来依靠工人肉眼观察泡沫来监控浮选生产状况,这种方式劳动强度大且缺乏客观标准,因此,如何准确、快速地判断异常工况、预测矿物品位已经成为浮选生产过程中至关重要的问题。在泡沫浮选领域,国内外学者目前主要针对工业摄像机拍摄的泡沫层图像进行分析处理,旨在利用传统机器学习的方法替代人工观泡来识别当前的工况[1-3]。MOOLMAN 等[4]最先利用图像处理算法提取泡沫图像的能谱、颜色特征,预测粗选槽泡沫中铜的含量。BONIFAZI等[5]利用图像的颜色特征与泡沫的形态特征来辨识矿物泡沫品位。BARTOLACCI 等[6]结合多元图像分析方法与偏最小二乘回归法建立了矿物品位的预测模型。ALDRICH 等[7]实现了基于机器学习的在线泡沫浮选监控系统在工业上的实际应用。ZHAO等[8]通过多尺度纹理特征和先验知识对锑浮选过程中的异常工况进行了分类识别。从上述研究可以看出,采用基于机器视觉的传统方法对于异常工况识别和矿物品位预测这2个方面均取得了一定进展,但没有充分考虑并利用这2个任务之间的联系,忽略了这2个任务都与泡沫层表面的视觉特征有直接关联的事实。在多目标学习领域,CARUANA[9]提出了多任务学习的概念。近年来,随着多任务学习受到越来越多学者的关注和研究,多任务学习的方法越来越成熟并被应用到如人脸表情识别[10]、无人驾驶[11]等诸多领域,但在泡沫浮选工业领域的应用仍较少。本文提出基于多目标学习的泡沫浮选过程工况识别方法,主要是结合识别异常工况和矿物品位2 个子任务的共有特点,合理假设这2 个子任务在视觉特征上有相似性[12],将一个子任务学习到的知识关联到另一个任务的学习训练上,充分挖掘蕴含的共性,提高所有任务学习效果。

多任务学习的方法主要分为以下3类:基于特征分享的多任务学习方法、基于模型参数分享的多任务学习方法、基于深度学习的多任务学习方法[13]。相比于单任务学习的方法,这些多任务学习方法在很多经典数据集上的训练效果均很好,尤其是在训练样本不足时,单任务学习很难通过训练得到足够的信息,训练效果比多任务学习差,但目前的多任务学习方法也存在任务权重难以确定和任务之间存在冲突与竞争等问题。为此,本文作者根据这2个任务的共性,提出基于多目标学习的泡沫浮选过程工况识别方法来同时判断异常工况和预测矿物品位。

1 泡沫浮选过程工艺

泡沫浮选是利用一定的化学药剂增大矿物颗粒和杂质颗粒表面疏水性的差异,使有用的矿物颗粒附着在气泡上上浮从而与杂质分离的方法,其基本原理如图1所示。

图1 泡沫浮选原理示意图Fig.1 Schematic diagram of froth flotation principle

选矿过程步骤如下。

1)磨矿,将矿石块解离成矿物颗粒。粒度过大或过小都会影响最终的矿物品位,因此,要控制矿物颗粒粒度,为后续的工艺过程提供良好的入矿条件。

2)将矿石颗粒与水混合形成矿浆送入浮选槽。

3)将矿浆与浮选药剂调和,浮选药剂能够增强矿物颗粒的疏水性,使其表面更加疏水。

4)通过鼓风机向浮选槽底部充入适量空气并用转子搅拌,在矿浆中产生大量气泡,使目标矿物颗粒附着在气泡表面形成矿化气泡上浮,用刮板刮取矿浆表面泡沫以收集到精选后的矿物。而杂质颗粒滞留在矿浆中并随底流排入尾矿,最终实现目标矿物和杂质有效分离。

在实际工业中,金锑矿的选矿过程主要包含1个金粗选槽、2个金精选槽、1个锑粗选槽、2个锑精选槽以及2个锑扫选槽,浮选流程如图2所示。

图2 金锑矿泡沫浮选流程图Fig.2 Flow chart of gold antimony froth flotation

在浮选流程中,矿物条件、工艺参数的变化可能会引起工况异常,主要包括翻矿浆、沉槽和冒槽3 种异常工况。“翻矿浆”是指矿浆上涌至泡沫层;“沉槽”是指矿浆液面下落,刮板难以刮出泡沫;“冒槽”是指大量泡沫外溢。异常工况示意图如图3所示。

图3 异常工况示意图Fig.3 Schematic diagrams of abnormal working conditions

矿物品位是一个十分重要的浮选指标,用来衡量泡沫浮选后矿物的品质,可以分为低品位、中品位和高品位共3类。由于矿化泡沫所含矿物的种类及矿物颗粒的富集程度可以通过泡沫的颜色、尺寸和分布状态直接反映,所以,若泡沫颜色偏黑、亮度偏暗,则表明矿物品位低。随着矿物品位提升,泡沫颜色由灰黑逐变为银白,泡沫直径由小变大,泡沫分布由松散变密集。矿物品位示意图如图4所示。

图4 矿物品位示意图Fig.4 Schematic diagrams of mineral grade

2 泡沫图像预处理

2.1 特征提取

泡沫图像分辨率为600 像素×800 像素,将图像直接作为分类器的输入不仅会因特征维度过高导致训练时间长,而且可能会使模型陷入局部最优点。因此,本文从泡沫图像中提取了泡沫平均面积、承载率等38 种不同的特征值。下面介绍几种重要的特征值及其计算方式。

通过分水岭算法[14-15]分割出图像中的泡沫区域,将各个区域中泡沫的数量相加得到Nb,将泡沫所占像素点面积相加得到Sp,泡沫平均面积Smean计算式如下:

当泡沫到光源距离不同时,难以在同一光强标准下描述泡沫表面的颜色,因此,将图像从RGB(red,green,blue) 空 间 转 化 到 HSV(hue,saturation,value)空间,提取不受光强影响的色调特征。

式中:Hi为第i像素点的色调值;Ri,Gi和Bi分别为第i像素点的红色分量、绿色分量和蓝色分量。

红色均值Rmean是指1张彩色图像中所有像素点红色分量的平均值,计算式为

式中:Np为泡沫所占像素点数量。绿色均值Gmean和蓝色均值Bmean计算原理与式(4)一致。

图像的灰度均值Ymean即为所有像素点灰度的平均值,反映了图像的明亮程度,计算式为

相对红色分量Rr能反映泡沫颜色中的红色程度,计算式为

粗度Co通过将原图像的灰度图转换为邻域灰度相关矩阵(NGLDM)后计算而得,计算式为

其中:Nrn和Ncn分别为转化后NGLDM的行数和列数;Mi,j为NGLDM中第i行第j列的元素值。

用NGLDM 提取泡沫图像高频子图的高频能量,计算式为

其中:Nr*n和Nc*n分别为高频子图的NGLDM行数和列数;代表高频子图的NGLDM中第i行第j列的元素值。

2.2 特征去噪

由于沉槽和冒槽这2种异常工况与正常工况在视觉上差异不显著,数据集中很可能存在错误标记的数据,这些存在错误标记的数据在同类数据中通常表现为离群点。错误标记的数据会误导分类器的训练,因此,对数据进行去噪处理十分必要。本文采用基于模糊C均值聚类的去噪算法,有效剔除了数据集中的噪声点。

模糊C均值聚类方法[16-17]结合了模糊数学中的理论,目标是将n个样本数据分为c组,在计算第j个样本与第i个聚类中心点vi的距离dij时,还加入了隶属度函数uij来表示第j个样本属于第i类的程度,其目标函数Jm(u,v)的计算公式如下所示:

其中:m表征模糊程度,一般设为2;

可以通过最小化目标函数,反复迭代,寻找最优隶属度函数uij和聚类中心vi。

采用基于模糊C均值聚类的去噪算法可以准确找到错误标记的数据,方便对数据集进行清洗。

2.3 特征优化

本文共收集38 个泡沫浮选相关的特征,如此多的特征会导致特征包含的信息冗余甚至相互干扰,不仅会增加分类器的训练时间和训练难度,而且会降低最终识别效果。为此,本文提出一种基于二值状态转移算法的特征优化方法来筛选出最有效特征。特征优化问题是一个搜索空间大、维度高、非线性的最优化问题,其目标是特征子集尽量小并且识别准确率尽量高,可用下式表示:

式中:s=[s1,s2,…,s38],为1个特征候选解,si=1 表示对应特征被选中,si=0 表示对应特征被剔除;Acc(s)表示以s中被选取的特征为输入变量得到的模型分类准确率;‖s‖0表示对应特征子集中选中的特征数。

通过二值状态转移算法[18-19]可以快速找到最优特征子集,状态转移过程通过4种算子完成。交换变换算子si和sj的值,移动变换算子将si移动到sj前,对称变换算子对si到sj的序列进行中心旋转变换,替代变换算子对si进行取反运算。4种算子变换示例如图5所示。

基于二值状态转移算法的特征优化方法步骤如下。

步骤1:随机确定1个初始特征子集s0。

步骤2:分别用4 种算子对sk进行变换,输入分类器,将求得结果准确率最高的特征子集作为sk+1。

步骤3:将当前的最优状态与sk+1进行比较,更新最优特征子集sbest。

步骤4:若达到最大迭代次数则终止迭代,得到最终的特征子集sbest,否则返回到步骤1。

通过基于二值状态转移算法的特征优化方法得到最优特征子集,包括色调、蓝色均值、红色相对分量、粗度和高频能量共5个特征参数。

3 基于多目标学习的工况识别模型

3.1 基于多目标学习的神经网络模型

本文提出的基于多目标学习的神经网络模型采用硬参数共享机制,将神经网络分为共享层和特定任务层2部分,共享层结构如表1所示,特定任务层结构如表2所示。这种共享机制既保证了各个任务互相充分挖掘有用信息,又相比于多个单任务神经网络减少了很多重复参数。对每个任务设置特定任务层能保证不同识别任务的独特性。通过共享层统一提取特征,再将提取的特征输入到特定任务层,对最终的分类进行判断,其整体架构如图6所示。

表2 特定任务层结构Table 2 Task-specific layers structure

图6 神经网络模型架构Fig.6 Architecture of neural network model

本文所提出的泡沫浮选识别神经网络模型中,输入为通过特征提取和特征优化算法筛选后的5维特征向量,输出为以概率形式表达的解,取每组解中概率最大的类别当作当前识别子任务的分类类别。

3.2 基于多梯度下降的多目标学习算法

考虑1 个从输入空间X到输出空间Γ的多任务学习问题,通过神经网络架构得到每个任务输出的函数表达式为

式中:x为代表图像特征的输入向量;θsh为共享层的权重;θt为特定任务层的权重。损失函数的定义如下:

其中:y为图像所属类别;loss为交叉熵损失函数。多目标优化问题可以用下式表达:

针对多目标优化问题,最终解应该为Pareto最优解。为了明确最终解的形式,本文给出以下几个定理。

定理1对于任意2 个在解空间Θ中的解θ1和θ2,当且仅当∀t∈{1,2,…,T} 且∃t∈{1,2,…,T}时,称θ1支配θ2,记作θ1≺θ2。

定理2对于Θ中的1个解θ*,若Θ中不存在解θ使得θ≺θ*成立,则θ*称为Pareto 最优解。所有Pareto最优解构成的集合称为Pareto最优解集。

根据以上定理,当取得Pareto最优解时,由卡罗需-库恩-塔克(Karush-Kuhn-Tucker,KKT)条件推导出:

优化问题用下式表示:

对式(17)直接求导计算过于复杂,因此,本文采用JAGGI[20]提出的Frank-Wolfe 约束优化方法来快速、有效地求解式(17),具体求解步骤如下。

步骤1:初始化权重向量α=(α1,…,αT)=

步骤2:计算参数矩阵Μ,Μ=

步骤6:若γ在误差允许的范围内或算法达到最大迭代次数则终止迭代,否则返回到步骤3。

DÉSIDÉRI 等[21]证明了以求解式(17)得到的α为多任务目标函数的最优梯度下降方向。求得权重向量后,可以进一步给出基于多梯度下降的多目标学习算法的流程。

步骤1:计算所有任务的损失函数Lt(θsh,θt)并将其分别对θsh和θt求导,得到∇θshLt(θsh,θt)和∇θtLt(θsh,θt)。

步骤2:通过θt=θt-η∇θtLt(θsh,θt)更新每个特定任务层的参数,其中,η为预先设定好的学习率。

步骤3:利用Frank-Wolfe 算法得到α,通过更新共享层参数。

步骤4:若达到最大迭代次数则终止迭代,否则返回到步骤1。

步骤5:保存更新参数θsh和θt后的泡沫浮选工况识别模型。

4 实验验证

本文设计了本文算法和单任务学习算法的验证实验、本文算法和几种流行的多任务学习算法的对比实验,以验证本文所提出方法的有效性与准确性。同时,还设计了有、无特征优化算法的对比实验来验证特征优化的有效性。为了保证实验的可靠性,实验中采用同样的训练集和测试集,并经过多次调试确定最优的参数以使每种算法都能发挥出最优性能。在上述条件下,所有实验都独立运行10 次,每次都保证模型训练到最大迭代次数且损失函数已收敛,取10 次实验中的最好结果作为最终结果。实验在Pytorch1.3.1 的深度学习框架下实现,使用Python3.6 编写,处理器型号为Intel(R)Xeon(R)CPU E5-2630 v4 @2.20GHz,操作系统为Linux(Ubuntu16.04)。

4.1 数据集介绍

本文通过锑粗选槽上方的摄像头以7.5 帧/s 的速率收集泡沫视频。从初始数据中截取视频帧形成具有全面性、丰富性和真实性的数据集。经去噪算法筛选后数据集共包含1 181 张图片,其中,961张图片作为训练集,220张图片作为测试集。

4.2 实验结果与分析

将训练好的模型用于锑矿泡沫浮选工况识别,模型预测的具体效果如图7所示。

图7 泡沫浮选工况识别效果Fig.7 Identification effects of froth flotation condition

为了进一步探究算法的性能差异,分别在异常工况识别任务和矿物品位识别任务上比较算法的准确率和识别时间,结果如表3所示。记录训练过程中异常工况识别任务的损失函数值和工况品位识别任务的损失函数值,绘制loss 曲线对比图,如图8所示。需要注意的是,为了合理比较,单任务学习算法的识别时间是完成2个单任务所用的时间之和。

从表3可以看出:本文提出的特征优化算法所得异常工况识别准确率和工况品位识别准确率最高,识别时间最少。从图8可以直观看出本文算法有效提升了收敛速度和最终收敛效果。实验结果证明本文提出的算法能充分挖掘多个任务的共性,将学习成果在多任务间迁移利用,起到了提高准确率、训练速度和识别速度的作用。

表3 不同算法性能对比Table 3 Performance comparison of different algorithms

图8 loss曲线对比图Fig.8 Comparison diagram of loss curves

通过对比本文算法、均匀缩放算法和投影梯度算法[22]可以看出:本文所提算法的识别准确率更高,识别速度更快。从loss曲线上可以进一步看出本文所提算法的损失函数收敛速度更快,收敛效果更好。实验结果证明本文提出的算法与目前流行的几种多任务学习算法相比能更好地解决多任务之间的冲突与竞争问题,能更快地训练出鲁棒性好、准确率高的模型。

5 结论

1)提取泡沫图像特征并提出一种基于二值状态转移算法的特征优化方法,以解决特征冗余问题。特征优化方法在保证结果准确的同时,大幅度加快了网络训练速度。

2)建立了基于多目标学习的工况识别模型,进一步针对多任务学习中普遍存在的权重难以确定和任务相互冲突与竞争的问题,提出了基于多梯度下降的多目标学习算法,由此算法可以快速得到Pareto最优解,并且使工况品位识别任务和异常工况识别任务的准确率同时提高。

3)通过实验验证了本文提出的基于多目标学习的工况识别模型的性能较优。

4)本文提出的模型能有效识别泡沫浮选流程中异常工况与工况品位,有利于提高工况稳定性,提升矿物资源回收率,同时也为解决多类型识别问题提供了新思路。

猜你喜欢

多任务品位矿物
数字时代的注意困境:媒体多任务的视角*
金石可食,金石有声
结合自监督学习的多任务文本语义匹配方法
认识矿物的性质(部级优课)
钟情山花烂漫 品位幸福时光
面向多任务的无人系统通信及控制系统设计与实现
尹小晨作品
提升阅读品位 培养阅读素养 阅读使人充实 坚持成就梦想
提升城市品位 推进转型升级
基于Reworks操作系统的信息交互软件设计