李鸿翔 ,王晓丽 ,阳春华 ,熊 伟
(1.中南大学自动化学院,湖南长沙 410083;2.长沙矿冶研究院有限责任公司,湖南长沙 410012)
在选矿生产过程中,磨机给矿矿石大小是矿石硬度和破碎性质的反映,对磨矿分级过程的控制十分重要.矿石大小波动会造成磨矿和分级工况波动,如不及时根据矿石大小调整给矿量则会造成涨肚或空磨等非正常工况,严重影响磨矿分级效率和磨机安全.传统矿石大小检测采用人工筛分方法,从采样到筛分都十分困难,矿石越大则工作量越大,因而难以在实际生产过程中应用,使得众多生产过程的给料粒度处于无检测状态.
近十几年来,机器视觉在矿物加工中的应用稳步增长[1–3].基于图像分割的矿石大小检测已成为研究热点.文献[4]提出基于距离变换与重构的分水岭分割方法,使用双窗最大类间方差法(Otsu)二值化,提高图像信噪比,进行背景分割,但对于矿石重叠较紧密的情况具有一定的局限性.文献[5]提出基于协同表征与二部图模型的图像分割方法,该方法通过二部图构建稀疏矩阵,采用图割法结合聚类,进行图像分割.该方法能够减少图像的过分割情况,但聚类数难以控制.文献[6]基于硬件的方法提高图像分割的效果,但需要根据使用场景不断调整.文献[7]提出基于双边滤波Harris角点检测方法,通过凹点匹配距离,角度的最大最小值画出分割线减少粘连,但需要根据不同场景进行角点参数设置.文献[8]提出采用mean shift在空域中寻找图像簇点,并选择阈值划分梯度找出阴影部分,提取最小值点,将分水岭分割标记与阴影部分合并,但不适应对大小不同矿石同时检测.传统图像分割方法基于图像中亮度、位置、颜色等信息进行处理,因矿石纹理较多,矿石之间颜色相近,易产生矿石边缘过分割与欠分割的情况.
利用卷积神经网络[9–11]进行图像处理是最近发展起来的一种方法,代表了复杂图像处理的一种新技术.训练卷积神经网络需要大量数据集,但在众多工业生产应用中带标签的数据量极少,也难以获取标准数据集.文献[12]提出U–Net用于生物医学图像分割,克服了用小训练集图像预测边界的困难.文献[13]提出基于U–Net的海底矿石分割,该方法中海底矿石是分散分布,易于分割.而磨矿给料图像中矿石堆叠严重.文献[14]采用Res_UNet模型对矿石图像进行训练并对生成的模型采用轮廓提取与筛选的方法进行边缘调整,但模型鲁棒性一般.文献[15]提出使用基于VGG(visual geometry group)网络的整体嵌套边缘检测(holistically-nested edge detection,HED)模型进行分割,使用骨架细化对分割后的图像进行处理,再进行区域识别,并标出颜色,用于处理相互粘连和阴影问题,对于大块矿石能够较好识别,但没有对小块矿石进行识别.由于矿石存在重叠度高,矿石间相似度高的特点,U–Net在矿石图像分割过程中,出现难以恰当分割,矿石表面棱线误识别等问题.
生成对抗网络(generative adversarial networks,GAN)[16–18]是一种基于生成器与判别器对数据进行学习的方法,在目标检测领域得到了广泛应用.文献[19]提出对抗训练方法用于训练语义分割模型,训练卷积语义分割网络与对抗网络,直到无法判别分割图来自真实图还是分割网络,得到生成器与判别器网络,从而建立语义分割模型.
本文提出一种基于GAN–UNet的矿石图像分割方法.首先,对图像进行预处理,再将U–Net网络作为生成器,针对矿石区域分割错误,矿石分割边缘轮廓不闭合等情况,将生成器结果采用卷积形式输入判别器网络,提取图像特征,对图像来源进行判别.为减少分割结果与真实值的误差,将判别结果引入生成器,提升图像分割精度.通过对工业生产现场进行图像采集,并使用传统图像分割方法、U–Net、GAN–UNet进行分割结果对比,统计其矿石区域识别情况,表明了GAN–UNet模型的可行性.
工业生产过程的矿石形状具有随机性强,矿石间重叠程度高的特点,且暂无标准矿图石图像数据集,矿石图像标记难以大量获得.因此需要寻找一种对标记图像需求小,能够解决矿石图像特殊性的图像分割方法.
U–Net网络是一种语义分割卷积神经网络[20–22],区别于一般卷积神经网络,U–Net网络加入上采样同时进行反卷积,得到基于像素点级的分割图像,且网络对训练数据量要求较小.
图像输入U–Net网络后,采用一定的卷积核对其卷积,提升图像深度并提取图像特征.之后进行池化操作,用于减小图像面积并压缩图像.对图像进行4层卷积池化后,进行图像全连接,与传统卷积神经网络的1×1不同,U–Net网络保留了最小图像特征.因图像分割结果需要与输入图像相匹配,进行最小图像面积扩充,将图像通过反卷积操作进行上采样,并将上方相同层次的图像合并,保留图像原始特征,再使用一定的卷积核进行图像卷积,提取图像特征.各层操作类似,在最后一层输出分割图像.
本文采用U–Net结构作为网络生成器,具体结构如图1所示.图1中红色箭头表示卷积,紫色箭头表示最大池化,橙色箭头表示上采样,绿色箭头表示复制.矿石图像采用3×3的卷积核进行卷积,并使用dropout 优化运算,提升图像精度.在池化过程中采用2×2的滑窗,并选取滑窗内最大值,进行最大池化.在上采样中对图像采用2×2的卷积核进行反卷积操作,再加入3×3的卷积核进行图像卷积.本文中使用交叉熵函数作为损失函数:
图1 U–Net网络结构Fig.1 Structure of U–Net network
其中:输入图像大小为m×n,g(xij)为U–Net网络对图像的分割结果,yij为对应的正确分割结果.
基于U–Net的图像分割方法常用于医学细胞图像分割,细胞多为单层分布,细胞间重叠较少,且形状较为单一,边界明确.本文中矿石重叠,且矿石表面棱线与矿石边缘相近,仅使用U–Net网络进行矿石图像分割,存在部分边缘缺失,无法对矿石区域准确识别的问题.针对矿石图像存在矿石重叠,矿石表面棱线干扰等特点,采用生成对抗网络对U–Net网络进行模型优化.
文献[16]在2014年提出生成对抗网络(GAN),该网络是基于博弈论场景的一种生成模型,模型由生成器与判别器构成,判别器对数据来源是否为真实数据进行真假判别.生成器拟合真实数据以混淆判别器判断,使得生成数据被判别为真实数据,双方博弈对抗训练,GAN的训练过程为
训练过程中,Pdata(x)为真实数据,Pz(z)为输入生成器数据,G(z)为生成器生成数据,D(x)表示真实数据被判别为真的概率,D(G(z))表示生成器生成数据被判别为真的概率.在训练开始进行的时候,生成模型由于没有得到训练因此生成数据较差,此时判别器D对数据来源是真实数据还是生成数据的判别能力好,即D(x)的值接近1,因此log(1−D(G(z))的值较大,那么对于生成器,需要减小判别器将其判别为假的情况,即减小log(1−D(G(z))的值,使生成器获得很大的梯度,用于模型更新.生成模型不断更新,使生成的数据与真实数据data相近,同时判别器的梯度也会改变,提高判别模型对数据来源的判别能力,训练过程中判别模型与生成模型同时训练,形成对抗.
本文以U–Net作为生成器,获得生成器图像分割数据.判别器可根据数据类型不同选择判别器构造形式,在图像领域常采用卷积网络对输入数据来源判别.根据对抗网络需求,采用多层卷积网络作为判别器模型,将生成器输出图像和标签图像分别作为输入,使用适应输入图像的卷积核对图像进行卷积,减小图像面积,提取图像特征.采用全连接卷积分别求出生成器分割图像和分割标签图像对应的判别器值.并使用交叉熵计算判别器网络损失值,并采用Aadm方法进行网络学习优化.本文在四层卷积网络中选择步长为2,长宽为4×4的卷积核,具体判别器结构如图2.
图2 判别器网络Fig.2 Discriminator network
生成对抗网络中,判别器将生成图像的分割结果判别为假的能力不断提升,同时生成器不断优化以拟合标签图像使得判别器将其判别为真,二者在训练过程中不断博弈,形成对抗.经过网络训练,生成器图像分割结果精度提升,能够在测试与实际使用中获得精确的图像分割结果.
矿石表面存在不规则棱线较多且矿石堆叠的问题,本文摆脱基于图像特征的传统分割方法,利用U–Net像素点级图像分割方法的优点,结合生成对抗网络的优化方法,解决矿石分割图像中存在的边缘缺失问题,提出了基于GAN–UNet的矿石图像分割方法,提升图像分割精确性.在生成对抗网络的生成器与判别器构建中,本文使用U–Net作为生成器,将分割标签图像与生成器分割结果图像,在判别网络进行判别,并根据前述方法进行判别器模型优化.生成器输出在判别器中判别为真实值,表现了生成器网络的有效性,采用交叉熵的形式,获得lossuD(z)用于模型优化.判别器网络中提取了生成器分割结果与分割标签图像特征,根据特征图像计算二者差别,有助于整体模型梯度优化.本文提取判别器网络最后一层大小为32×32的图像,计算分割标签图像和生成器分割结果图像对应数据的交叉熵lossDc(z).整体方法流程图如图3.模型损失函数为losssum,对模型损失采用Adam方法进行模型优化.
图3 本文方法整体流程图Fig.3 Overall flow chart of the method
在生成器与判别器进行对抗学习的过程中,计算出判别器损失函数、特征损失函数、U–Net损失函数,基于判别器与生成器模型的对抗更新形成整个网络的更新,最终在训练结束的生成器中得到最终分割图像.对分割后的图像采用中值滤波的方法除去部分多余棱线,图像得到平滑.GAN–UNet网络能够有效减少矿石边缘缺失问题.
本文在实际工业现场使用像素为500万的电荷耦合器件(charge coupled device,CCD)相机对矿石运送皮带上的矿石进行图像采集,采用工业光源进行照明,保持相机视野内光照强度均匀.图像采集装置如图4.图像预处理部分使用MATLAB软件进行处理.提出的GAN–UNet模型在CPU为i5–8400,GPU GTX1060 6 GB的电脑上使用Tensorflow深度学习框架进行模型训练.
图4 图像采集装置Fig.4 Image acquisition device
因采集图像中存在皮带等不相关元素,对矿石图片进行裁剪,使用65张矿石图片作为训练集,每个样本大小为512×512像素,由于工业现场存在灰尘等影响因素因此需要先对图像进行图像去噪,直方图均衡等图像预处理,如图5所示.
图5 (a) 原始图像(b) 图像去噪(c) 直方图均衡Fig.5 (a) Original image (b) Image denoising(c) Histogram equalization
本文采用人工对矿石图像进行2像素宽度的边缘标定.在GAN–UNet网络训练过程中,对预处理后的图像采取翻转等形式扩充训练集多样性,每个训练队列使用16个样例,进行最大50000次迭代训练,对整体网络采用0.0005学习率,为了减少网络过拟合采用0.4的丢弃率,并使用Adam梯度下降法进行网络训练,训练时间为20 h.
将相同矿石图像进行分水岭分割、U–Net分割、GAN–UNet分割,如图6.
图6 (a) 分水岭分割(b) U–Net (c) GAN–UNet (d)GAN–UNet分割结果叠加至原图Fig.6 (a) Watershed segmentation (b) U–Net (c) GAN–UNet (d) GAN–UNet segmentation results are superimposed on the original image
分水岭分割是根据图像中灰度等级模拟地形表面高度,在假设局部极小值存在的情况下,通过将图像表面模拟侵入水的形式,形成水坝分水线,得到分割图,由于矿石图像中每个区域并不唯一存在极小值,导致分割出现欠分割与过分割如图6(a).在U–Net分割中,能够分割矿石边缘,但因为矿石表面棱线与边缘的相似性,且矿石间相似性较强,导致矿石区域不闭合的情况,图像分割精度降低,并对矿石大小检测或者粒度检测有较大影响如图6(b).
采用GAN–UNet对训练数据学习,并进行矿石图像分割,其结果如图6(c),叠加至原图如图6(d),本方法有效减少了因矿石区域不闭合、过分割、欠分割导致的图像分割错误,获得正确的矿石边缘,提升了矿石图像分割精度,并能够对矿石区域准确识别.
对测试集中十幅图像进行分析,统计出不同方法在各个图像中矿石区域个数如图7.由于矿石存在重叠的情况,对矿石分割造成困难,部分矿石会有未识别出边缘,与相邻矿石识别为同一矿石的情况,部分矿石因为表面棱线较多形成过分割.
图7 各方法识别矿石区域个数Fig.7 The number of ore areas identified by different methods
在表1所示十组实验中GAN–UNet区域总计相对误差为7.63%,相对误差平均值为8.20%,均方根误差为4.23,U–Net区域总计相对误差为10.68%,相对误差平均值为11.93%,均方根误差为5.77.分水岭分割结果区域总计相对误差为31.59%,相对误差平均值为38.27%,均方根误差为16.81.
表1 各方法识别矿石区域个数The number of ore areas identified by different methods
在选矿过程中,矿石的大小对磨矿分级效率起到重要影响.本文针对矿石存在的重叠、自相似性等问题,摒弃了传统分水岭分割方法,提出一种基于生成对抗的深度学习方法.使用像素级的图像分割方法,根据矿石图像中语义较少,加入生成对抗方法,构建生成器与判别器,优化网络训练,减少了图像中的边缘未闭合、过分割、欠分割等问题,提高图像分割准确性.本方法还可在引入平面矿石区域与矿石立体模型转换的方法后用于统计不同大小矿石占比的检测.