基于复原图像特征与深度视觉特征融合的锑粗选异常工况识别
2020-07-15谢永芳刘金平唐朝晖艾明曦
保 江,谢永芳,刘金平,唐朝晖,艾明曦
(1.中南大学自动化学院,湖南长沙 410083;2.湖南师范大学信息科学与工程学院,湖南长沙 410081)
1 引言
泡沫浮选是一种应用广泛的将有用矿物从矿石中分离出来的选矿方法,泡沫浮选的目的是得到较高品位的精矿[1],进料条件的剧烈波动和浮选过程参数的急剧变化可能导致“沉槽”、“冒槽”等异常工况,最终导致矿物回收率降低,精矿品位不合格.因此,准确进行异常工况识别对整个浮选过程至关重要[2].
一直以来,操作工人依靠主观经验通过观察泡沫外观判断浮选工况.但浮选现场环境恶劣,劳动力强度大,人工判别的方式主观性太强,缺乏客观标准,使得人工观测为主的矿物浮选过程难以稳定在最优运行状态[3].机器视觉技术具有快速性、非接触性等优点,基于图像处理的浮选过程监控系统越来越受到重视[4].目前,国内外学者利用图像处理技术从泡沫图像中提取出视觉特征,对浮选泡沫进行客观描述,并将视觉特征应用于浮选过程的工况识别.Peng等[5]针对与浮选性能相关的局部光谱特征形状、大小无规则性,提出了一种基于多维主元分析的特征提取方法,并且将提取的特征应用于铜粗选过程的病态工况识别;Zhao等[6]基于多尺度纹理特征和嵌入先验知识K-Means对锑浮选过程故障状态进行了分类识别;Lu等[7]提出了一种浮选泡沫图像等效尺寸分布特征提取方法,提取一种新的浮选泡沫图像特征-等效尺寸分布特征,并且将其应用于铜浮选泡沫图像分类识别;Supomo A等[8]通过自动控制泡沬流速来提高浮选矿物回收率,主要利用泡沫表面的单一特征关联浮选过程的局部操作调整开展了研究.尽管以上采用机器视觉技术对泡沫的颜色、大小、纹理等表观特征进行了研究,但都是基于清晰泡沫图像进行特征提取,而锑粗选异常工况下的泡沫图像存在离焦模糊,影响了图像特征提取的准确度.因此,如何从模糊泡沫图像中提取显著、有效的视觉特征在锑粗选工况识别和性能预测中起着关键作用.
锑粗选作为锑浮选的首要工序,其首槽上安装有泡沫图像采集设备.因为图像采集设备在安装完成后焦距固定,当浮选过程出现“沉槽”、“冒槽”等现象时,泡沫图像在离焦的影响下,存在不同程度的离焦模糊.根据图像退化理论[9],模糊核零范数和图像复原前后的灰度平均梯度差能较好的反映图像模糊程度.因此,如何获取两个复原图像特征是本文研究的焦点之一.
泡沫层由大量单个气泡聚集起来,气泡表面视觉特征通常属于经典的随机分布,这意味着一些隐含的特征难以描述和提取.从而,利用上面所提到的一些基于灰度图像统计计算的特征提取方法会导致在特征提取过程中丢失一些图像信息.同时,浮选过程通常随时间变化,仅从少量图像中提取的特征不能准确描述当前工况,从泡沫浮选现场收集的大量泡沫图像未能得到充分利用.
深度学习在最近几年的图像识别难题中得到普遍应用.深度神经网络通过大量数据和高性能并行计算技术,能够克服以往的小批量数据和浅层网络带来的阻碍.将泡沫图像直接输入到深度神经网络提取深度视觉特征,可以避免以往人为提取特征和数据重建的复杂过程.Wang等人[10]使用从泡沫图像提取的单个气泡图像的大量数据集构建卷积神经网络(convolutional neural network,CNN),使用所提出的两步策略实现工况识别.
训练包含数百万个参数的深度神经网络需要数百万个标注样本.比如ImageNet图像分类数据集中有120万标注图片,所以才能将152层的ResNet模型训练到大约96.5%的准确率[11].在真实应用中,很难收集到如此多的标注数据.即使可以收集到,也需要花费大量人力物力.而且即使有海量的训练数据,要训练一个复杂的深度神经网络也需要几天甚至几周的时间.为了解决标注数据和训练时间的问题,迁移学习方法应运而生.其目标是将一个问题上训练好的模型通过合理的调整使其适用于另一个新的问题.迁移学习被应用于解决不同的图像分类问题[12-15].Chris Aldrich等人[16]基于迁移学习对AlexNet预训练模型进行微调实现泡沫图像的4分类问题.由于矿石性质与浮选工艺等的不同,不同浮选过程的泡沫呈现出具有明显差别的状态.因此,针对不同的浮选对象,如何选取和调整深度神经网络,利用迁移学习来获取深度视觉特征,再对深度视觉特征进行关键性特征选取是本文研究的焦点之二.
基于泡沫浮选中存在的上述问题,本文提出了一种基于图像退化理论提取的复原图像特征与基于深度神经网络提取的深度视觉特征融合的泡沫图像异常工况识别方法.本文的其余部分安排如下:第2部分,异常工况分析以及整体方法流程;第3部分,基于图像退化理论提取复原图像特征,再基于深度神经网络与迁移学习提取深度视觉特征;第4部分,XGBoost机器学习算法以及关键性深度视觉特征筛选方法;第5部分,进行了实验过程数据及实验结果的分析;第6部分,进行了总结及进一步的讨论.
2 异常工况分析及识别方法
因为浮选槽安装的图像采集设备焦距固定,浮选工况正常时,泡沫层在图像采集设备的焦平面上,此时采集到的泡沫图像通常较为清晰.当出现冒槽现象时,矿浆液位较高,大量矿化泡沫和矿浆外溢,流动速度较快,矿浆容易被带到精矿里,从而导致精矿品位降低.而当出现沉槽现象时,矿浆液位偏低,泡沫在浮选槽的停留时间较短,泡沫层厚度增加,泡沫间的兼并时间变长,刮出来的泡沫较少.当出现沉槽或冒槽这样的异常工况时,因为图像采集设备不能自动变焦,所以此时泡沫层不在图像采集设备的焦平面上,采集的泡沫图像往往会因为离焦而产生不同程度的模糊.图1为工业摄像机采集泡沫图像时泡沫成像及离焦模糊示意图.
本文首先基于图像退化理论提取了模糊核零范数和灰度平均梯度差两个复原图像特征.因为复原图像特征的表征能力有限,所以,再基于深度神经网络与迁移学习提取深度视觉特征,其中使用的InceptionResNetV1深度神经网络模型已经在1400万ImageNet数据集上进行了预训练.利用泡沫图像数据对预训练模型进行微调后提取泡沫图像深度视觉特征,最后,通过XGBoost进行关键性特征筛选,融合复原图像特征进行工况分类.如图2是锑粗选的线上、线下工况识别流程图.
图1 泡沫成像及离焦模糊示意图Fig.1 Diagram of froth imaging and defocus blur
图2 锑粗选工况识别流程图Fig.2 Flow chart of working condition recognition for antimony roughly selected
3 泡沫图像特征提取
本文首先基于图像复原算法提取复原图像特征,即模糊核零范数与灰度平均梯度差,再基于深度神经网络与迁移学习提取深度视觉特征.
3.1 复原图像特征提取
大多数图像复原算法如维纳滤波复原、逆滤波复原等都是建立在对图像的点扩散函数已知的前提下,而泡沫浮选过程中的成像条件复杂,导致点扩散函数无法精确得知,只能在模糊核未知的情况下根据模糊图像的先验知识来进行图像盲复原.
3.1.1 模糊核零范数特征提取
本文首先提取模糊核零范数特征,提出了一种基于L0和L2正则项的模糊核估计方法.根据图像金字塔理论[17],由粗到细地从图像金字塔的顶层至底层求解估计模糊核.图3为模糊核估计整体流程图.根据模糊模型y=k*x+n和贝叶斯理论p(x,k|y)∝p(y|x,k)p(x)p(k)可以得到模糊核估计模型[18]为
其中:y为初始模糊图像,x为中间清晰图像,*为卷积算子,k为模糊核,p(x)为中间清晰图像的先验知识,p(k)为模糊核的先验知识,‖k*x-y‖为数据拟合项.在对模糊核进行估计时,采用交替迭代的方法来求解式(1)-(2)中的两个未知量x和k,最终求解的x为中间清晰图像,用于提高模糊核k的准确度.
图3中根据图像金字塔是否到达底层来决定交替迭代是否结束,其中图像金字塔的层数为
其中:N为图像金字塔的底层值,ks为模糊核的尺寸.
图3 模糊核估计流程图Fig.3 Flow chart of blur kernel estimation
因为梯度先验可以有效的抑制振铃效应,并且清晰图像的梯度图像较为稀疏,模糊图像的梯度图像较为稠密[19].因此选用L0梯度先验作为正则项,即
所以,中间清晰图像的求解方程为
其中:‖∇x‖0为L0正则项,λ为L0正则项参数.
在清晰图像的求解过程中,首先引入对应于图像梯度信息的辅助变量g=(gh,gv)T,其中:gh为水平分量,gv为垂直分量,再基于二次分裂的方法求解,即
当g初始化为全0矩阵时,中间清晰图像的求解方程为
其中:F-1(·),F(·)分别代表快速傅里叶反变换和快速傅里叶变换,为F(·)的复共轭算子,
∇h,∇v分别为水平微分算子和垂直微分算子.
当x确定时,通过逼近估计得到g的解为
根据数字图像的成像机理和泡沫浮选的现场环境,当出现“冒槽”和“沉槽”这样的异常工况时,工业摄像机因为泡沫表面高度发生变化导致对焦不准,虽然同时受到其他因素(噪声、泡沫流速)的影响,但泡沫图像的模糊类型主要为离焦模糊.而离焦模糊的模糊核理论上为一个高斯函数[20],模型为
其中σ为高斯离焦参数.因此,基于模糊核先验知识的L2正则项为
则由式(2)和式(10)可知,模糊核的求解方程为
对给定的中间清晰图像,在梯度空间求解式(11)得到模糊核k,其解为
得到估计模糊核之后,对模糊核进行优化处理.优化处理包括:针对模糊核的非负特性,将模糊核中负值元素设为0;针对模糊核的连续特性,保留模糊核的主要结构,剔除分支;针对模糊核的能量守恒特性,对模糊核进行归一化处理,使元素和等于1.图4是采用以上方法得到的不同工况下的模糊核.
图4 不同工况下的模糊核Fig.4 Blur kernel under different working conditions
通过统计模糊核中的非零元素个数即可得到模糊核零范数统计特征‖k‖0.
3.1.2 灰度平均梯度差特征提取
在第3.1.1节中对模糊核进行了估计和优化处理,接下来利用已估计出的模糊核对模糊泡沫图像进行复原.本文采用L-R(Lucy-Richardson)算法对模糊泡沫图像进行复原[21].该算法假设像素点满足泊松分布,在贝叶斯条件概率模型的基础上采用极大似然估计通过迭代的方式求解清晰图像,其迭代方程为
其中:xj为原始图像进行j次迭代,为退化图像,y为估计模糊核,*为卷积运算.
然后采用无参考评价中的灰度平均梯度值(grayscale mean gradient,GMG)对泡沫复原图像的质量进行评价,其表达式为
其中:m,n分别为图像的宽和高,fi,j为位置(i,j)的灰度值.通过式(14)得到复原前的灰度平均梯度值G1和复原后的灰度平均梯度值G2,从而得到复原前后的灰度平均梯度差¯G
3.2 深度视觉特征提取
因为基于第3.1节提取的两个复原图像特征不足以描述异常工况的全部信息.为了往更深层次挖掘泡沫图像特征,本文提出了基于InceptionResNetV1深度神经网络,利用迁移学习提取深度视觉特征.该方法利用一定量的泡沫图像数据对在ImageNet公共数据集上预训练好的深度神经网络模型进行微调,通过调整深度神经网络各层结构,构造不同的卷积核来提取不同层次的深度泡沫图像特征.
3.2.1 InceptionResNetV1深度神经网络
InceptionResNetV1深度神经网络结合了ResNet深度神经网络和Inceptionv3深度神经网络各自的优点.对于一张泡沫图像,泡沫表面可能有大的泡沫也可能有小的泡沫,不同区域的泡沫形态不同.基于Inceptionv3的多卷积核特性,可以提取到非常全面的泡沫图像特征信息.因为Inceptionv3网络趋向于很深,所以结合ResNet的残差连接特性,使用残差连接替代滤波器的连结,这将在保持计算量基本不变的情况下,允许Inception充分利用残差连接的优点,保证网络在层次较深时不会产生梯度消失或梯度爆炸现象.如图5是其中的一个Inception-Res-Net-A模块结构图.
图5 Inception-ResNet-A模块Fig.5 Module of Inception-ResNet-A
图5中的1*3,3*1,3*3等多个卷积核可以提取到更完备的深度视觉特征.同时,残差特性:
使网络可以不用学习整个输出,而是学习上一个网络输出的残差,从而提高了网络训练速度.图中的直接连接部分保护信息的完整性,保证网络的性能不会随着深度增加而降低.
3.2.2 迁移学习
对于复杂的神经网络,参数多、训练样本大,所以从头开始训练一个深度神经网络非常慢.为此,提出了迁移学习.迁移学习的优势在于,从一项任务中学到的知识可以应用于解决其他类似问题,从而可以节省大量的模型训练时间.其过程为指定一个确定域D,D={Ω,P(X)},X={x1,x2,…,xn},其中:Ω是特征空间,P(X)是边际概率分布.给定确定域D的学习任务T,T={Y,F(*)},其中:Y 是标签空间,F(*)是从特征向量和标签空间中学习到的目标函数.具体的,给定源域DS及对应的学习任务TS,同时给定目标域DT及对应的学习任务TT.其中:DS/=DT,TS/=TT[22].迁移学习的目标在于利用从源域DS及对应的学习任务TS中学习到的知识应用于改进目标域DT中的目标函数FT(*).
3.2.3 基于深度神经网络与迁移学习的深度视觉特征提取
利用一定量的泡沫图像数据对在ImageNet公共数据集上预训练好的InceptionResNetV1深度神经网络进行微调.基于迁移学习思想,将权重参数传送到本文的泡沫图像分类任务中,使其拟合的目标函数接近于目标域目标函数,保证深度神经网络提取到较高性能的深度视觉特征.然后将微调后的深度神经网络模型作为特征提取器,提取深度视觉特征.如图6是深度视觉特征提取过程.深度神经网络由多个不同深度的网络层组成,这些网络层能够学习到具有不同抽象级别的图像特征.图7是不同网络层提取到的不同级别的深度视觉特征图谱,可见,随着层数的增加,提取到的深度视觉特征越具有代表性.浅层网络提取的是纹理、细节特征,深层网络提取的是轮廓、形状等强特征.
图6 迁移学习过程Fig.6 Process of transfer learning
图7 深度神经网络提取的浅层特征(左)、中间层特征(中)和深层特征(右)Fig.7 The deep visual features of Shallow feature(left),middle layer feature(middle)and deep features(right)
4 XGBoost分类器及关键性特征筛选方法
XGBoost以梯度提升树为基础,将弱学习器以迭代的方式组合成更强的学习器[23].其决策流程图如图8所示.梯度提升树每次迭代都是为了减小上一次迭代留下的残差,以此来矫正整体学习器的偏差,优化指定的损失函数.同时,XGBoost在其损失函数中加入了正则项,起到了对决策树(Tree)进行预剪枝的效果,从而防止模型过拟合,并且对目标函数进行了二阶泰勒展开[24]来优化目标函数,其目标函数如下:
图8 XGBoost决策树训练过程Fig.8 Decision tree training process of XGBoost
正则项与叶子节点数和叶子权值平方和有关,即
其中:γ和λ分别是L1和L2正则化系数,T是决策树叶子节点数,w为各个叶子节点的输出向量.L2正则可以降低模型过拟合风险,L1正则在数据维度极高时可以提高算法的运行速度.本文中的深度视觉特征维度较高,所以基于L1和L2正则来构建模型.即
式中:gt和ht分别是损失函数的一阶导数和二阶导,C是常数项.
基于树的集成算法在模型训练结束后可以输出模型所使用的特征的相对重要度,便于做选择特征.在XGBoost中,特征j的全局重要度通过特征j在单棵树中的重要度的平均值来衡量:
其中M是树的数量.特征j在单棵树中的重要度ˆJ2j(T)为
其中:L为树的叶子节点数,L-1即为树的非叶子节点数,vt是和节点t相关联的特征,是节点t分裂之后平方误差的减少量[25].
5 实验结果与分析
首先解释实验数据来源以及数据集的划分,然后分别对复原图像特征和深度视觉特征的分离性进行分析讨论.最后,将所提方法与传统方法进行比较.
5.1 实验数据
本文使用的数据是通过位于锑粗选单元上方约110 cm处的机器视觉系统以7.5 fps的帧速率收集的泡沫视频.LED照明强度为1500,用于提供一致的照明,同时相机设置的盖子进一步减少了环境光的干扰.
根据工业摄像机拍摄到的锑粗选图像数据和现场实际要求,将泡沫图像分为5种典型工况,即严重冒槽、轻微冒槽、正常、轻微沉槽、严重沉槽,如图9所示.选取12200张标注图像作为训练集,2000张作为测试集.在训练时把训练集切分为训练集和验证集两部分,8200张图像作为训练集,2000张作为验证集.
图9 锑粗选典型工况泡沫图像Fig.9 Typical abnormal condition froth images of antimony roughly selected
表1给出了在实验中用到的数据集划分情况.
表1 工况识别数据集划分Table 1 Working condition identification data set division
5.2 特征分离性分析
5.2.1 复原图像特征分离性分析
用一定数量的锑粗选工业现场数据分析模糊核零范数和灰度平均梯度差对不同工况的分离性,结果如图10-11所示.通过分析可以看出,模糊核零范数与灰度平均梯度差都能够比较明显的区分出严重冒槽、严重沉槽和正常工况,而轻微冒槽和轻微沉槽因为与其他工况的分离边界存在模糊因素,所以部分分离边界存在交叉重叠现象.
可见,模糊核零范数和灰度平均梯度差两个复原图像特征对不同工况都有一定程度的分离性,因此,可以将其应用到锑粗选异常工况的分类识别中.但部分边界仍存在交叉重叠,分离边界不明显,对不同工况的表征能力有限.所以,本文往更深层次挖掘了深度视觉特征,来弥补复原图像特征对异常工况的识别误差,进一步提高工况识别准确率.
5.2.2 深度视觉特征分离性分析
将第3.2.3节中提取的高维深度视觉特征利用第4节中的特征重要性筛选方法进行降维,通过设置特征重要性阈值来筛选关键性特征.如图12是利用InceptionResNetV1深度神经网络提取的特征重要度大于50的39个深度视觉特征.从图中的分布来看,重要度较大的居于少数,基本上是层次比较深的视觉特征,重要度在100以下的特征居多.本文设置特征重要度阈值为50,将分类器中贡献比较大的深度视觉特征选取出来,在一定程度上降低了高维深度视觉特征之间的冗余程度,结合不同重要度的深度视觉特征来进一步提高工况识别准确率.
图10 模糊核零范数特征分离性Fig.10 Separation of blur kernel zero norm feature
图11 灰度平均梯度差特征分离性Fig.11 Separation of gray mean gradient deviation feature
图13是选取特征重要度排在前3的3个深度视觉特征进行特征分离性分析的二维平面散点图.本文利用灰度、纹理粗糙度和颜色分量3个传统手动特征与深度视觉特征进行对比.从图中可以看出,灰度、纹理粗糙度和颜色分量等传统特征可以合理地分离不同的工况类别.但相对于InceptionResNetV1深度神经网络提取的深度视觉特征,传统手动特征对于5种工况的划分仍有较大的交叉重叠区域,而深度视觉特征的特征空间能够更好的描绘5个类别,特别是可以把严重沉槽与其他工况完全分离.
图12 重要度大于50的深度视觉特征Fig.12 Deep visual features with importance greater than 50
图13 深度视觉特征与传统手动特征的特征分离性比较Fig.13 The feature separation between deep visual features and traditional manual features
5.3 不同方法的实验结果比较
本文选取了4组不同的泡沫图像特征来进行实验结果比较.第1组是采用传统算法提取的泡沫图像特征,包括颜色、尺寸、粗糙度和速度等泡沫图像特征;第2组是本文基于图像退化理论提取的复原图像特征;第3组是本文基于深度神经网络与迁移学习提取的深度视觉特征;第4组是融合了复原图像特征和深度视觉特征的特征集.通过准确率和时间复杂度两个方面对不同工况识别方法进行了分析比较.
5.3.1 准确率比较
通过采用3种不同的分类算法进行工况识别比较,分别是随机森林、支持向量机、XGBoost.表2是不同特征组、不同分类算法组合下的工况识别结果.基于传统图像特征对3种分类算法进行比较,可以看出XGBoost的识别准确率要比随机森林和支持向量机高一些.因为随机森林在决策树构建过程中,其样本和特征是随机采样的,最终的分类结果是基于bagging的集成学习思想进行投票表决,所以无法控制模型内部的运行,只能在不同的参数和随机种子之间进行尝试,可能会有很多相似的决策树掩盖了真实的结果,在一定程度上导致模型的稳定性欠缺.而支持向量机主要适用于小样本学习,并且特征维度不能过高,然而本文研究的内容数据样本量大,再加上深度视觉特征的高维特性,无法像树模型那样进行特征的学习和选择降维,所以支持向量机不适用于本文的大样本高维度学习.
基于此,本文选择使用Xgboost对剩下的3组特征集进行分类识别比较.从表2可以看出利用复原图像特征和利用深度视觉特征的识别准确率差不多,整体识别准确率比利用传统图像特征高.最后融合复原图像特征和深度视觉特征,可以看出识别准确率明显高于前3组特征集的识别准确率.
表2 不同工况识别方法的准确率比较Table 2 Comparison of accuracy of different working conditions identification methods
5.3.2 时间复杂度比较
由于SVM借助二次规划来求解支持向量,而求解二次规划涉及阶矩阵的计算(为样本数),当较大时该矩阵的存储和计算将耗费大量的机器内存和运算时间.同时,SVM在多分类问题中,需要通过组合多个分类器来解决,在一定程度上增加了运算时间复杂度.随机森林在决策树训练过程中引入随机行采样和随机列采样.同时,每棵树在构建过程中相互独立,所以可以实现高度并行化,故而时间复杂度优于SVM.相比于前两者,XGBoost在保持随机行采样和随机列采样特性的基础上增加了特征粒度上的并行,即对特征值进行了预排序,实现多线程计算特征增益.同时,XGBoost还增加了近似直方图算法,使树的节点进行分裂时不需要计算每个分割点对应的增益,而是通过直方图算法获得候选分割点的分布情况,然后根据候选分割点将连续的特征信息映射到不同的buckets中,并统计汇总信息,提高运算效率.表3是不同工况识别方法的时间复杂度比较,从前3组实验结果对比来看,XGBoost具有明显优势.
表3 不同工况识别方法的时间复杂度比较Table 3 Comparison of time complexity of different working conditions identification methods
最后一组实验将复原图像特征与深度视觉特征融合,特征维度高于传统图像特征,XGBoost运算时间复杂度有所增加,但由表2可知准确率有明显提高.
6 结论
锑粗选异常工况识别是锑浮选全流程监控的关键.本文结合锑粗选机理和图像退化理论,分析了复原图像特征在不同工况中的差异性.提出了一种基于L0和L2正则项的模糊核估计方法提取模糊核零范数特征,再基于图像非盲复原机理提取灰度平均梯度差特征.考虑到复原图像特征只能描述泡沫图像表面的部分信息,对异常工况的表征能力不足,为了获取泡沫图像的深层信息,本文提出了基于深度神经网络与迁移学习的深度视觉特征提取方法,利用大量泡沫图像数据对InceptionResNetV1深度神经网络进行微调,构建特征提取器,进而提取深度视觉特征.最后,基于XGBoost机器学习算法,对深度视觉特征进行筛选后,融合复原图像特征与深度视觉特征,对不同工况下的泡沫图像进行分类识别.锑粗选实验结果表明,该方法能够有效降低样本错分率,提高锑粗选异常工况识别准确率.