基于卷积神经网络的锌渣识别方法研究

2021-03-08 09:41邱意陈劲杰
软件工程 2021年1期
关键词:图像分割深度学习

邱意 陈劲杰

摘  要:由于实际工业中工作池内钢水与表面锌渣存在部分重叠和边界不清以致识别较难的情况,提出了一种基于U-Net(U型神经网络)网络的锌渣识别方法。该方法先是把工业摄像头采集到的工作池图像进行灰度化,均值滤波等多种平滑模糊处理后,再采用完善的U-Net网络进行轮廓提取。接着将所得图像做二值化处理后,通过OpenCV(跨平台计算机视觉库)自带函数获得结果并对其进行分析。实验结果表明,基于U-Net的锌渣识别方法不仅能准确快速地区分钢水与表面锌渣,也能降低人工经验中存在的误差。

关键词:U-Net网络;锌渣识别;图像分割;深度学习

中图分类号:TP391.4     文献标识码:A

文章编号:2096-1472(2021)-01-02-03

Abstract: In industry, the molten steel in working pool and surface slag are partially overlapped and the boundary is unclear, which makes it difficult to visually differentiate them. Aiming at this problem, the paper proposes a zinc slag recognition and segmentation method based on U-Net (U-shaped Neural Network). Firstly, the working pool images collected by industrial camera are smoothed and blurred by grayscale processing and average filtering. Then, perfect U-Net is used for contour extraction. Next, the obtained images are binarized. Finally, the result is obtained and analyzed by the built-in function of OpenCV (Computer Vision). The experimental results show that this zinc slag recognition method based on U-Net can accurately and quickly distinguish molten steel from surface zinc slag, as well as reduce errors in manual experience.

Keywords: U-Net; slag recognition; image segmentation; deep learning

1   引言(Introduction)

目前,眾所周知带钢的耐腐蚀性能需要进行提升的话,工业上很常用的就是在其表面加上一层耐腐蚀的镀层,而热镀是多种手段中最受认可的。在该技术中,不管是热镀什么金属成分一般都用锌锅,具体实施方法是将镀层金属熔融在锌锅内,然后把目标镀件浸没到镀液中进行热镀。在加工过程中,一定会产生锌渣,而这些表面浮渣一旦处理不当,就会对镀件连续热镀锌产生不好的效果,这不仅会降低产品的表面质量,也会造成液面浮渣凝结,以致后续工业生产无法持续进行。因此,在热镀过程中需要对锌锅内的表面浮渣进行捞渣作业,但是捞渣作业的环境非常差,所需的劳动强度又大,容易对工作人员的身体健康造成不良的影响。可见人工捞渣既耗费很多人力物力,准确性和效率又不尽如人意,需要现代先进的解决办法。

伴随着计算机图像处理技术这一领域日新月异的迅猛变化,卷积神经网络在图像分类上的表现已经十分出色,适应多种问题状况,并且图像分割从某一些层面来说也不外乎是分类的一个分支,因此卷积神经网络适合用来解决锌渣识别问题。本文考虑到目前常用的方法在应对工作池锌渣图像时有识别速度慢、泛用性不强等问题,提出了一种基于U-Net[1]网络的锌渣识别方法,该方法适应了多种清晰度的目标图像,实现了对工作池图像钢水与锌渣的准确识别与分割。

2   总体设计路线(Overall design route)

本文的研究目的是完成零散的工作区域拼接并对合并的区域图像进行图像处理,分析图像中锌渣的分布和占比面积,并将锌渣区域标识出来,为以后引导机器人智能捞渣提供识别基础。总体设计路线一共是两条:第一条路线是将工业摄像头采集得到的现场图像制作成训练集,接着对训练集作图像预处理后,通过U-Net模型完成神经网络的训练,得到最优参数。第二条路线是通过已经完成参数调整的U-Net模型扫描测试图像的轮廓范围,绘制出轮廓图,接着做二值化处理后,利用OpenCV[2]自带函数获得锌渣分布情况和占比,完成锌渣识别。总体设计路线如图1所示。

3  数据准备和预处理(Data preparation and preprocessing)

3.1   数据集的准备

本文所使用的数据是通过工业摄像机获取的锌锅内的工作池图像,接着为了使U-Net网络模型的输入图像具有统一标准,方便训练,进行了一系列处理,包括数据裁剪等。第一手获得的图像分辨率是1 280×768。出于提升效率的目的,本文从图像中筛选出互相没有重复部分的50张图像,分配比例是80%用来当训练集,20%用来当测试集。接着,那些图像经灰度化和滤波后成为样本集。然后,经过裁剪处理获取其中含有锌渣的区域,同时将图像分辨率变为800×600。最后,为每张图像打上标签制作标签集,将两者组合成训练集。U-Net模型的训练样本总计为835 000个,这些样本都是从前述训练集图像中随机生成的,每张图片获取大约30 000个样本,标准尺寸为50像素×50像素。

3.2   轮廓检测

图像预处理过程如图2所示,将测试图像经过灰度化、均值滤波的预处理[3,4]后,降低了图像的噪声,锌渣边缘更加明显,即这是一个只保留了有用信息的精简图像。而将这些预处理过的图像当作后续步骤的基础,不仅能减少信息杂糅,还能改进U-Net训练的效率。U-Net网络完成锌渣识别后,结果如图3所示。

3.3   连通区域标记

为了深入了解锌渣在工作池图像中的分布情况,就不可避免地要处理检测后的连通区域。本文决定使用OpenCV自带函数完成对锌渣轮廓的连通域标记。

(1)为了将工作池内的钢水和锌渣分开,经尝试选取阈值为0.5,产生二值化图,如图4所示。再选取OpenCV的部分函数分析图像的各种参数:可以用findContours命令统计该图像的轮廓情况;可以用contourArea命令得到各个轮廓的面积。

(2)不难发现图像中锌渣范围存在些许孔洞,那么要充分实现上一步标记的效果,则可以用形态学的算法来辅助。通常理论上讲,最多见的是以(2R+1)×(2R+1)正方形的结构元素为基本扫描图像,接着做连通域标记,可以把单独一个域当作一个聚类,而去除的一般是很小的部分。至于最终填充目标孔洞则是适量增加结构元素半径R。本文的操作是以像素[0,0]为起点,接着从此点开始通过四连通结构单元不断扩张至全图。待扩展完成,通过取反得到新的图像,现在这一张图就包含了所有的孔洞。之后将两张图像相加,即是需要的结果,填充后的图像如图5所示。最后通过OpenCV的drawContours命令处理,可以得到分割结果图。

4   U-Net网络模型设计(Design of U-Net network model)

4.1   U-Net网络模型搭建

神经网络的组成一般总共分五大部分,除去必需的输入、输出层,关键在于卷积、池化、全连接这三种层如何取舍与搭配[5]。而本文使用的U-Net是在全卷积网络(Fully Convolutional Network,FCN)[6]的基础上改变结构所得。它的特色在于,整个模型训练集规模小,但是识别效果好。U-Net网络结构是通过两条对称的路径搭建的,如图6所示。前段信息提取,而后段则是找准位置。前段主要是几组3×3卷积层和2×2最大池化层搭建,激活函数则是线性整流函数(Rectified Linear Unit,ReLU),交叉熵是损失函数。后段每一次操作进行反卷积,再把所得和后续特征图做拼接,接着通过两次3×3卷积。最后一层是1×1卷积核,将每个二位特征向量映射到网络的输出层。

4.2   U-Net模型訓练

利用训练集对U-Net网络做训练调整优化,具体参数如表1所示。“batch_size”代表一次代码迭代对应的图数量;“epochs”代表大循环完成后单样本共计训练次数;“images_train”表示训练样本总数;“Resolution”表示图像训练样本的分辨率。本文实验采用随机梯度下降法。

4.3   U-Net模型测试与预测

U-Net模型的测试过程如图7所示。第一步准备好所有测试图像,接着经由U-Net网络,实施前向传播过程获取一个输出结果,然后把结果和标签比对,即可统计出准确率数值。当然,训练和测试两个步骤可以先后操作,而预测过程的算法过程大同小异,变化的只有输入,即每次一个数据。

5  实验结果与分析(Experimental results and analysis)

适合工作池锌渣识别的U-Net模型搭建完毕,接着本文通过计算机完成了相应实验,计算机的具体配置如表2所示。

如图8和图9所示,经过多次训练,U-Net模型的参数不断调整优化,准确率这一性能指标慢慢趋于一个理想的结果,总计300次的训练其数值约达到99.89%,而损失函数的数值呈逐次降低的走势,这意味着锌渣识别的误差越来越小。

每完成一轮训练并更新参数后,都相应要完成测试,以此来检验此模型的泛化性和稳定性。如图10所示,测试集的性能指标趋势也是逐次提高,两者的准确率大体相近,不难发现该模型并未存在过拟合的情况,U-Net模型搭建科学,识别效果好。随着迭代次数增加,到100个循环后,测试集的准确率最终是97.84%。

同时,图11呈现了测试集中两张不同生产时刻的分割效果,可以看出能够较准确地提取锌渣区域的轮廓,分割钢水与锌渣的模糊边缘。

6   结论(Conclusion)

本文将U-Net网络模型用于锌渣识别,为实际生产作业环境提供了一种计算机图像处理方法,为以后引导机器人智能捞渣提供识别基础。具体来说,本文针对工作池锌渣识别这一工程问题,完成了锌渣识别路线的规划,并收集和预处理了原始图像,以及U-Net模型的完整创建及调试,最后经由实验验证了该系统的可操作性,证明了其对工作池锌渣图像识别的有效性。

参考文献(References)

[1] Ronneberger O, Fischer P, Brox T. U-Net: convolutional networks for biomedical image segmentation[C]. International Conference on Medical Image Computing and Computer-Assisted Intervention. Munich, 2015:234-241.

[2] 苏慧娟,于正林,张桂林.基于OpenCV的图像处理[J].科技资讯,2014,12(8):18-19.

[3] Paul Viola, Michael J. Jones. Robust Real-Time Face Detection[J]. International Journal of Computer Vision, 2004(2):137-154.

[4] Richard Szeliski. Computer Vision: Algorithms and Applications[M]. Springer, 2010:101-118.

[5] Yu Chen, Hongbing Meng, Xinling Wen, et al. Classification methods of a small sample target object in the sky based on the higher layer visualizing feature and transfer learning deep networks[J]. EURASIP Journal on Wireless Communications and Networking, 2018(1):127-138.

[6] Shelhamer E, Long J, Darrell T. Fully convolutional networks for semantic segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(4):640-651.

作者简介:

邱    意(1995-),男,硕士生.研究领域:图像处理.

陈劲杰(1969-),男,硕士,副教授.研究领域:智能机器人,机器学习.

猜你喜欢
图像分割深度学习
计算机定量金相分析系统的软件开发与图像处理方法
有体验的学习才是有意义的学习
一种改进的分水岭图像分割算法研究
电子商务中基于深度学习的虚假交易识别研究
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
一种图像超像素的快速生成算法
基于鲁棒性的广义FCM图像分割算法
深度学习算法应用于岩石图像处理的可行性研究