基于生成对抗网络的浮选加药过程建模
2021-07-13胡文静易嘉闻
李 希,胡文静,刘 浪,易嘉闻,赵 林
(湖南理工学院 信息科学与工程学院,湖南 岳阳 414006;湖南理工学院 机器视觉及人工智能研究中心,湖南 岳阳 414006)
0 引言
矿产资源是人类社会赖以生存和发展的重要物质基础,矿产回收率和综合利用率的提高在增加经济效益上是显著的.选矿是矿产资源加工中的一个重要环节,而泡沫浮选是一种应用最为广泛的选矿方式.事实上,泡沫浮选是在一个包括气、固、液三相的系统中完成的复杂物理化学过程,利用矿物表面物理和化学性质的差异将有用矿物与脉石分离.在矿物浮选过程中,浮选试剂是浮选生产过程中最重要的操作变量.通常,在矿物浮选过程中添加浮选试剂可以改变矿物颗粒的可浮性,直接影响泡沫层形成的质量,主要体现于泡沫流动速度和泡沫尺寸等视觉特征.而浮选操作人员对浮选加药量的调整主要依赖于泡沫表面视觉特征(如泡沫尺寸和颜色),在很大程度上取决于操作经验.这种人工加药方式会导致矿产资源浪费、环境污染增加和危害人体健康.因此,研究矿物浮选过程的自动化加药具有十分重要的意义.
随着机器视觉技术的出现,浮选加药过程的自动化控制得到快速发展.基于机器视觉的浮选加药方法主要通过摄像机捕获浮选槽表面的泡沫图像,然后提取泡沫图像特征用于浮选过程监控和加药控制.Moolman[1]等首次利用基于图像颜色分析和快速傅里叶变换的技术对泡沫图像进行处理,并从泡沫表面视觉特征中提取了全局特征.Bartolacci[2]等利用数字图像分析技术提取泡沫图像的纹理特征进行分类,并开发了基于泡沫结构的控制策略应用于锌浮选过程中.Zhu[3]等提出一种基于泡沫尺寸概率密度函数的浮选药剂量控制方法,通过基于熵的B 样条估计来描述泡沫图像的概率密度函数,并引入基于熵的优化算法优化控制药剂量.受文[3]启发,Xie[4]等结合泡沫尺寸的分布特征,提出基于最大熵的核函数估计方法,计算泡沫尺寸PDF 和最优PDF 的误差作为性能指标,将浮选药剂量控制转化为最小化性能指标问题.平翠霞[5]采用核密度非参数估计方法描述泡沫尺寸分布,并通过RBF 神经网络建立浮选药剂量与泡沫尺寸分布特征之间的关系模型,结果表明这种建模方法具有一定有效性.王伟[6]建立泡沫尺寸PDF 模型,并以泡沫尺寸分布为控制目标,通过广义预测控制算法逼近目标泡沫尺寸概率密度函数以实现加药量控制.尽管这些加药方法具有不错的浮选性能,但仅研究泡沫的单一特征与药剂量的关系,无法体现浮选过程的复杂性,因此浮选加药结果仍存在较大误差.
近年来,人工智能在工业领域迅速发展,机器学习算法开始应用于工业过程的软测量[7~10].针对矿物浮选过程的非线性和耦合性,机器学习算法能快速解析泡沫图像数据特征,并从中学习浮选过程变量之间的相关性,在浮选加药过程的建模上取得了不错的成果.秦晓慧[11]等利用图像处理技术提取泡沫图像纹理特征,并采用粗糙集和LVQ 神经网络建立了药剂量控制模型,较好解决了浮选过程的自动控制问题.王玉昆[12]等提出一种基于核主元分析和最小二乘支持向量机的浮选加药控制模型,通过改进的混合蛙跳算法优化模型参数提高控制的精确度.针对浮选过程加药量难以准确预测的问题,郭西进[13]等提出基于GA-BP 神经网络的浮选加药量预测模型,采用MIV 值评价法简化模型结构,利用遗传算法优化神经网络,提高了模型在浮选过程中的加药量预测精度.然而,上述方法无法实现泡沫图像特征与浮选药剂量之间的直接建模,没有充分考虑到泡沫特征对浮选加药过程的影响.
深度学习作为一种重要的机器学习方法,具有建模复杂非线性过程的能力,通过训练深度神经网络的方式快速提取数据特征,可以学习大量数据之间的相关性,为浮选加药过程的建模提供了可能.本文通过分析浮选加药过程中药剂量与泡沫特征之间的关系,结合机器视觉技术的实用性,提出一种基于生成对抗网络的浮选加药过程建模方法.首先分析现有浮选加药方法的特点,提出浮选加药过程建模的关键问题;然后建立生成对抗网络模型,通过模型的生成器和判别器之间的对抗博弈,获得药剂量与泡沫图像特征之间的关系,输入初始泡沫图像和药剂量信息到生成器中,输出目标泡沫图像;最后收集工业现场的浮选加药数据进行实验验证和模型性能分析,验证浮选加药过程中药剂量与泡沫图像特征之间关系建模的有效性.实验结果表明,在不同工况条件下所提模型得到的加药后泡沫图像与实际加药过程相符.
1 相关工作
1.1 残差网络
残差网络(Residual Network,ResNet)是He[14]等提出的一种被广泛用于提取图像特征的深度卷积神经网络,通过将残差块引入到传统的卷积神经网络,解决了深度神经网络的退化和梯度消失问题,ResNet中的残差块结构如图1所示.残差块由输入向量、输出向量、残差映射和跳跃连接组成,其中残差映射是通过组合卷积层,批量归一化层和激活函数来实现的,然后输入向量通过跳跃连接与残差映射相加以获得输出向量.
图1 残差块结构
图1中,x表示输入向量,F(x) 表示残差映射,H(x) 表示所需的基础映射.整个过程可以表示为:
其中wi是第i个卷积层的权重,bi是第i个卷积层的偏差,σ(·)是神经网络中的非线性激活函数.综上所述,残差块的输出向量为
1.2 GAN
Goodfellow[15]等在2014年首次提出生成对抗网络(GAN),它是一种通过对抗训练评估生成模型的新框架.GAN 的整体框架包括判别器和生成器两部分,其网络结构如图2所示.生成器G用于学习真实的数据分布并生成数据,判别器D用于判断输入的数据样本是来自真实的数据还是生成的数据,其中生成器G的训练目标是最大化判别器D产生错误的概率.因此,GAN 的整体目标是通过生成器和判别器在训练过程中的相互博弈,生成能够匹配真实数据分布特征的数据样本.
图2 GAN 的网络结构
GAN 的训练过程为首先将真实样本集x作为训练数据输入到判别器D中,判别器D利用内部卷积层学习真实样本集的概率密度分布并将其判定为真.然后,一个符合高斯分布的n维随机噪声z输入到生成器G中,生成器G利用内部反卷积层生成与真实样本集相同大小的假样本集G(z),假样本集G(z)作为判别器D的输入,判别器D通过卷积层提取样本特征并将其判定为假.生成器G为了能够生成接近真实样本集的高质量样本,需要不断与判别器D进行对抗训练,整个过程中判别器D与生成器G各自模型参数将趋于最优.最后,判别器D将无法分辨出输入的样本集是来自于真实样本集x还是采自于生成的样本集G(z).GAN 模型的目标函数为:
其中D(x) 是真实样本集特征值集合,G(z) 是生成器产生的假样本集,D(G(z)) 是假样本集特征值集合.
2 基于GAN 的浮选加药过程建模方法
2.1 建模方案
随着机器视觉技术的快速发展,矿物浮选过程的药剂添加方法得到了改进,通过工业相机观察泡沫的实时状态并反馈加药代替了传统的“人工观泡”方式.基于机器视觉的浮选加药方法,使用图像处理算法进一步处理获取到的泡沫图像数据,提取泡沫图像的关键性特征并结合浮选加药量进行建模分析.因此,无论是浮选手动加药还是基于机器视觉技术的浮选加药方法,关键在于建立一个准确可靠的模型来关联泡沫外观特征和对应的加药量.
为了模拟浮选加药过程,假设在时间t调整浮选加药量,u(t-) 和u(t+) 分别为调整前和调整后的试剂剂量,此时通过工业相机捕获的初始泡沫图像用x(t) 表示,τ定义为浮选药剂发生反应的延迟时间,则x(t+)τ为浮选药剂作用后捕获的目标泡沫图像.因此,根据生成对抗网络的建模方法,在浮选加药量从u(t-) 调整为u(t+) 时,模型的生成器将初始泡沫图像转换为目标泡沫图像,该过程可以表示为
从式(5)可看出,浮选加药过程的建模实质上是泡沫图像状态转换的建模.为模拟浮选药剂对初始泡沫图像的作用,首先将药剂量变换为带有特定语义信息的药剂“操作”图.药剂量预处理的变换过程为
然后将药剂“操作”图与初始泡沫图像进行特征融合,并通过模型的生成器编码模块对其进行特征压缩,获得同时具有药剂量信息和泡沫图像特征信息的高维抽象特征图
此外,生成器的转换模块进一步优化高维抽象特征图,旨在保留与目标泡沫图像特征相关的高维特征信息,转换过程为
最后,通过生成器的解码模块将高维抽象特征还原为目标泡沫图像
2.2 网络结构
本文模型的生成器网络结构如图3所示,由编码模块、转换模块和解码模块组成.为了结合加药前后药剂量信息和初始泡沫图像特征,需要将药剂量信息预处理为与初始泡沫图像的中间层特征图相同尺寸的“操作”图.在编码模块中采用连续的卷积层对输入数据进行特征提取,其中每个卷积层后使用批量归一化层(BN)和ReLU 激活函数.为了保留与目标泡沫图像特征相关的高维特征信息,转换模块采用了残差块的结构,且残差块不改变输入特征图的尺寸,然后与药剂量“操作图”进行融合.最后,融合了药剂量信息的特征图通过解码模块的五个反卷积层,还原成与初始泡沫图像大小相同的目标泡沫图像.
图3 生成器网络结构
在原始的GAN 中,判别器的主要作用是区分输入数据样本的来源并进行分类,其实质是一个二分类网络.针对浮选泡沫图像的数据特点,本文采用的判别器通过全卷积操作来分别获取真实泡沫图像和生成器生成的泡沫图像的特征,判别器的网络结构如图4所示.判别器网络包括七个连续的卷积层,每个卷积层后是实例归一化层(IN)和ReLU 激活函数.实例归一化是将每个特征图单独拿出来进行归一化处理,不受特征图的通道数和训练批次大小的影响,可以防止因泡沫图像样本之间的相似性而导致判别器的样本判断能力下降.
图4 判别器网络结构
2.3 损失函数
与原始GAN 的训练目标类似,一方面确保模型能够结合加药信息学习泡沫图像的转换,并生成与实际目标泡沫图像特征匹配的图像样本;另一方面需要衡量真实目标泡沫图像与模型输出的泡沫图像之间的差异并进行反馈更新.由于原始GAN 的损失函数会导致模型出现梯度消失和模式崩塌等问题,本文采用WGAN-GP[16]的对抗损失训练网络模型.训练生成器时,使用药剂“操作”图来确保生成器可以学习加药前后泡沫图像的数据分布变化,并迫使生成器根据给定的药剂量生成泡沫图像.生成器的对抗损失为
由于实际浮选工况中初始泡沫图像与目标泡沫图像之间存在较大的差异,且WGAN-GP 的对抗损失只局限于衡量两种数据分布之间的距离,无法实现泡沫图像在像素级别上的预测.因此,可在生成器上施加重建损失来测量在不同时间的泡沫图像差异并进行反馈,具体计算过程为
结合式(10)和式(11),可得到生成器的总损失为
训练判别器时,使用WGAN-GP 中的对抗损失作为模型中的判别器损失.WGAN 中的Wasserstein 距离[17]不同于JS 距离,它能够衡量两个毫不相关的数据分布之间的差异,并通过使用梯度惩罚方式限制判别器的梯度在某一个数据范围之内,避免了GAN 常见的梯度爆炸或梯度消失问题.故判别器的损失为
其中为目标泡沫图像和生成器生成的泡沫图像之间的随机插值采样.
3 实验和结果分析
3.1 浮选加药数据的采集
对国内某浮选厂的浮选加药过程中的泡沫图像进行采集,使用由RGB 相机和荧光灯组成的图像采集系统捕获浮选泡沫图像,将采集的泡沫图像数据以视频形式保存在计算机中,其对应的加药记录以表格的形式进行保存.与其他深度学习方法类似,本文所提出的浮选加药建模方法需要使用大量的浮选泡沫图像数据进行训练.由于捕获的泡沫图像是以视频形式保存的,因此需要处理并创建符合要求的泡沫图像数据集.本文所建立的网络模型,输入为由初始泡沫图像和目标泡沫图像组成的图像对.通过对浮选泡沫视频进行分帧处理,筛选出无矿浆、浮选搅拌等其他因素影响的浮选泡沫图像对,最终的泡沫图像数据集由17820 个浮选泡沫图像对组成,其中包含多种不同原矿品位情况的浮选加药案例.将80%的数据作为训练集,其余20%作为测试集.
3.2 实验结果与可视化分析
在基于GAN 的浮选加药实验中,模型训练时采用Adam 优化算法[18]对网络权重参数进行更新,批量大小设定为40,学习率设定为0.0002.式(12)和(13)中的损失系数设置为:λadv=1,λrec=10,λgp=10.在深度学习PyTorch 框架中完成模型的训练和测试.经过100 次的迭代训练,保存参数最优的网络模型.在模型测试阶段,随机输入测试集中的初始泡沫图像和对应的加药量,生成器能快速生成目标泡沫图像.
由于模型的加药结果数据较多无法全部展示,因此选取了测试集中两种较为典型的浮选加药工况.表1给出了这两种工况的浮选加药情况,对应的实际浮选加药结果和模型加药结果如图5所示.图5中第一列为初始泡沫图像,第二列为加药后获得的目标泡沫图像(实际加药结果),第三列为模型生成的泡沫图像(模型加药结果).从图5(a)中可以看出,实际加药过程中浮选气泡发生了从大到小的变化,目标泡沫图像中气泡尺寸减小且密度较为丰富,模型生成的泡沫图像在整体外观特征上与目标泡沫图像匹配.而在图5(b)中,实际加药过程与之前的加药过程刚好相反,浮选气泡尺寸增大且泡沫量较少,模型的结果也刚好符合这一特征.因此,模型的加药结果可以说明本文建立的网络模型有效地捕获了目标泡沫图像特征,并且通过输入加药量实现了初始工况泡沫图像变换为目标工况的泡沫图像,完成了浮选加药过程的复杂建模.
表1 两种浮选加药工况的药剂添加量
图5 浮选加药结果
为了进一步证明浮选加药结果的准确性和有效性,对表1的两种工况场景中目标泡沫图像连续采样20 次,然后使用图像处理算法提取泡沫图像的泡沫尺寸、灰度和色调三个特征,比较模型加药结果的泡沫图像与实际加药结果的泡沫图像之间的特征差异.图6展示了两种工况的泡沫图像特征数据.通过图6(a)可以发现,第一种工况中实际加药结果的泡沫尺寸特征范围在12.2~16.1,图像灰度特征范围在106.5~132.4,图像色调特征范围在0.08~0.1,而模型加药结果的泡沫尺寸特征范围在12.2~16.1,图像灰度特征范围在100.3~120.6,图像色调特征范围在0.07~0.1,图中少量样本存在一定误差,其中泡沫尺寸特征最大误差为2.51,图像灰度特征最大误差为22.53,图像色调特征最大误差为0.01.在图6(b)中,第二种工况中实际加药结果的泡沫尺寸特征范围在13.3~16.4,图像灰度特征范围在118.4~128.2,图像色调特征范围在0.07~0.09,而模型加药结果的泡沫尺寸特征范围在13.7~17.7,图像灰度特征范围在110.5~133.9,图像色调特征范围在0.06~0.08,样本误差明显比第一种工况更小,其中泡沫尺寸特征最大误差为2.84,图像灰度特征最大误差为10.89,图像色调特征最大误差为0.01.
图6 加药结果的特征可视化
3.3 模型整体性能评估
为了评估模型的应用性能,本节分析浮选加药结果中泡沫图像质量的准确性和可靠性.通常将浮选泡沫外观的理想经验曲线作为判断浮选泡沫质量好坏的标准,测试集中的3600 张真实目标泡沫图像和测试结果中相应的3600 张生成的目标泡沫图像构成了一个ROC 分析[19]的图像数据库.然后,给定的这些图像由浮选工厂操作员检查并手动分为四类,其中第一类至第四类分别代表绝对真实的泡沫图像、可能真实的泡沫图像、可能是生成的泡沫图像和生成的泡沫图像,分类结果见表2.
表2 7200 张图片的分类结果
根据表2的数据,获得了模型的ROC 曲线,如图7所示.ROC 曲线中的AUC 值越接近1,模型的精度越高;AUC的值越接近0.5,则模型的准确性越低.严格的标准可产生更高的灵敏度和更低的特异性,并且ROC 点位于曲线的左上方.显然,图7中的AUC 值远大于0.5,并且ROC 曲线更靠近坐标系的左上方.因此,ROC 分析实验表明,模型加药结果的泡沫图像质量具有一定的准确性和可靠性,基于生成对抗网络的浮选加药过程建模方法具有一定的实用价值.
图7 本文模型的ROC曲线
4 结论
本文分析了传统手动加药方法和机器视觉加药方法的优劣,针对浮选加药过程变量多且关系复杂,导致药剂量与泡沫图像之间的关系难以准确建模的问题,提出一种基于生成对抗网络的浮选加药过程建模方法.该方法利用生成对抗网络模型建立浮选药剂添加量和泡沫图像之间的关系,模型生成的加药后泡沫图像特征与实际加药后的泡沫图像特征具有高度相似性.利用工业现场采集的浮选加药数据进行实验验证和模型性能分析,实验表明在不同工况条件下本文方法可以比较准确地还原实际加药过程中泡沫图像特征变化,基本实现了浮选加药过程的智能建模.