APP下载

基于MobileNet模型的钢材表面字符检测识别算法

2020-03-05艾梦琴陶青川

现代计算机 2020年3期
关键词:钢板准确率卷积

艾梦琴,陶青川

(四川大学电子信息学院,成都610065)

0 引言

板坯是钢坯的一种,其是钢板未轧制之前的钢坯。在钢板生产流水线中,首先会为每一块板坯的表面上印上唯一的板坯号,其中包含板坯的炉号、生产日期等标识。在入库前需要进行识别并记录,将板坯编号与生产信息对应起来保存,以便于日后的同一管理。在板坯生产过程中,板坯跟踪是板坯管理的重要内容,跟踪信息的准确性、实时性直接关系到钢板厂生产过程的自动化和信息化,由于板坯号的错误记录从而导致跟踪出现差错,给转炉厂和热轧厂造成了一定的影响,而识别板坯号之前的重要步骤是需要进行精准定位。传统的板坯号区域定位是利用传统的图像算法进行定位,一般首先对采集的图像进行预处理,通常使用一些图像去噪技术去除图像的噪声点,然后通过图像增强技术增强目标区域的对比度,突出图像中感兴趣的特征,衰减不需要的特征[1],接下来对图像进行二值化,最后进行连通域分析得到板坯号区域。但是传统的图像目标定位算法得定位准确率难以保证,这是由于在使用高清相机对图像进行采集时,所处的环境非常恶劣,较差的光照条件和工业现场的粉尘等都对采集高清图像造成困难。在这种环境下采集到的图片背景复杂、且有时目标与背景颜色十分相近、图像噪声太大等缺点,而且传统的目标检测算法步骤繁琐,算法稳定性不高,无法适应各种背景多变、复杂的图片,使得检测准确率低下、速度较慢。

相比之下,目前的计算机视觉技术和深度学习技术能很大程度上提高板坯号区域的定位准确率,并且能提升检测流程的自动化水平,同时能保证产销系统数据的准确性和完整性,对实际的工业生产线上完成板坯号检测具有重大的实际意义和经济价值[2]。随着钢铁生产线的自动化改造,传统的方式已经不再适应新的发展要求,采用计算机视觉技术以及深度学习技术在嵌入式系统上实现该算法,能保证在恶劣环境下的实际生产线采集目标图像,并且进行精准快速的定位、识别。

基于深度学习的目标检测算法是直接将采集的板坯图片以及板坯图像目标区域的坐标输入目标检测网络,通过目标检测的迭代学习过程从而找到目标区域。目前,基于深度学习的目标检测算法已经应用到各个领域,例如行人检测、人脸识别等领域[3]。本文提出了一种基于改进MobileNet模型并结合SSD算法的快速目标检测深度学习框架,以及端到端的字符识别算法,能有效地避免切割不准确或者字符连接导致无法切割等问题。该框架能在大幅度提升检测速度的同时,还能有较高的准确率以及识别率。

1 钢板图像预处理

由于工业环境恶劣,再图像进行采集时,存在钢板表面不平整,有细小凸起,以及现场环境造成的光照不均,图像偏暗,出现暗纹,并且目标与背景过度相似的情况,这些都会对后续的检测和识别造成影响,从而影响整体的准确率。因此需要对图像进行相应的预处理。

图1图像处理流程

受钢厂生产线上采集环境以及光照的影响,钢板图片随机出现了与背景颜色相似的脉冲点,因此考虑中值滤波能比较好的处理掉噪声,并且保留了图像更多的细节信息,对后续目标检测影响较小。采集的图像整体偏暗,而且目标区域像素占整体灰度像素值较少,目标区域与背景区域从肉眼来看区分不高,目标不明显。所以通过分析图像直方图,结合分段线性变换,从而来增强图像的对比度,更加突出图像的前景目标部分。

图2图像预处理结果图

通过图2可看出,通过分段线性处理后,钢板表面的目标字符区域与背景的区分度变大,这使得在后续的处理流程中能更准确地定位钢板图片的目标区域,能够在一定程度上提升定位准确率。

2 基于卷积神经网络的板坯号检测算法

2.1 卷积神经网络

卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。卷积神经网络仿照生物的视知觉机制构建,可以对输入图片自动进行特征提取和学习,有稳定的效果且对输入图片不需要额外的特征设计和提取工程[4]。卷积神经网络的结构一般包括输入层、隐含层和输出层。卷积神经网络的隐含层包含卷积层、池化层、激励层和全连接层这三类常见结构。

图3卷积神经网络

卷积层的功能是对输入的图像数据提取到高级语义特征,其内部包含多个卷积核,可以提取到多种不同的特征,每个卷积核都对应一个权重系数和一个偏差。经过卷积层提取的高级语义特征信息会传送至下一层池化层,从而进行特征选择和信息过滤,将单个信息结果整合成统计量。激励层会把卷积层输出的结果做非线性映射。全连接层通常搭建在神经网络隐含层的最后部分,并只向其他全连接层传递信号。

2.2 基于卷积神经网络的检测定位算法

由于无需进行人工特征设计,良好的特征表达能力以及优良的检测精度,目前,基于深度学习的自然场景下的目标检测算法已经超越传统的机器学习检测算法,成为了当前目标检测领域的一大主流。目前已经涌现出许多优秀的目标检测算法,依据其设计思想,主要可以分为两种:基于区域提名的目标检测算法和基于端到端学习的目标检测算法。

基于区域提名的目标检测算法首先通过目标候选区域生成算法生成一系列目标候选区域,然后通过CNN网络提取目标区域的特征,最后对候选区域进行分类和回归。经典的基于区域提名的目标检测算法的网络有R-CNN、Fast R-CNN以及Faster R-CNN[5]。

基于端到端学习的目标检测算法的主流学习网络有YOLO、SSD和MobileNet-SSD等。

由于基于区域提名的目标检测算法的大部分处理时间都消耗在对候选区域的处理上,使得算法的实时性很差。因此基于端到端学习的目标检测算法在这方面进行了改进,不需要生成目标候选框。

图4几种目标检测算法框架

Wei Liu等人提出的SSD网络模型是目标检测网络的一大发展,不仅准确率较之前的目标检测模型高,而且检测速度也很快[6]。虽然SSD算法的准确率很高,速度也有所提升,但是SSD网络的权值还是过大,检测速度不满足某些情况下的实时要求。Andrew G.How⁃ard等针对移动端和嵌入式上使用深度学习网络算法而提出一类称为MobileNet的高效模型。MobileNet是基于一个流线型架构,其引入了深度可分离卷积代替传统卷积来构造深层神经网络。深度可分离卷积相较于标准卷积可以压缩大约9倍的权值,大大减少了网络的参数量。MobileNet模型与SSD目标检测算法结合得到MobileNet-SSD网络,此极大地提升了SSD目标检测算法的速度。但是其还是无法满足钢材板坯号在嵌入式计算机上实时性的快速检测要求,因此本文提出一种基于MobileNet模型算法的轻量级卷积神经网络,本文使用结合MobileNet模型与SSD目标检测算法的核心,对SSD目标检测框架进行剪枝和优化,提出一种轻量级的目标检测框架,该框架能进一步的减小网络权值。本文框架能够达到较高的准确率的前提下,提高大约5倍检测速度、降低了权值的存储空间。

2.3 基于MobileNet模型的轻量级卷积神经网络框架简述

MobileNet模型之所以能够降低模型的参数量,其原因在于其卷积操作与传统的卷积操作不同,其是基于深度可分离卷积,即将传统卷积分解成深度卷积(depthwise convolution)和逐点卷积(pointwise convolu⁃tion)。这样分解的最大好处是可以大幅度降低参数量和计算量[7]。

图5 MobileNet模型分解示意图

若输入的特征映射图的尺寸为(DF,DF,M),采用标准的卷积核为(DK,DK,M,N),输出的特征映射图的尺寸为(DG,DG,N),输入通道数为M,输出通道数为N,则对应标准卷积的计算量为DK*DK*M*N*DF*DF,如果采用深度可分离卷积,则其对应的计算量为DK*DK*M*DF*DF+M*N*DF*DF,通过计算量公式可知其计算量大约是传统卷积计算量的1/9,这样能大大提升检测模型的速度。

本文提出一种基于MobileNet模型的轻量级卷积神经网络框架用于检测钢材板坯号,采用MobileNet加速模型,将网络特征提取层设置为有窄及宽的结构,即网络输出通道依次按32、64、128、256增长。虽然钢板背景模糊、扭曲、噪声大,但是色彩不丰富,背景种类不复杂。所以本文框架去掉SSD目标检测框架的后8层,选取感受野较大特征层,不仅已经有了较好的高级语义特征,而且较大的感受野有利于准确定位小目标。对抽取出来的特征层进行目标检测。

图6本文框架示意图

本文沿用SSD算法中的anchor机制,以feature map上每一个像素点为中心,生成一系列prior box作为候选目标框,由于SSD为了适应自然场景下的目标的各种形状设计了横向长方形和竖向长方形两种不同的prior box,而对于本文所检测的目标钢板板坯号来说,由于板坯号都是横向长方形,所以并不需要竖向长方形这种候选框。本文在featuremap上以每一个像素点为中心生成4个候选框,不仅更加符合实际情况下的需求,而且能在一定程度上减小参数量,提高运算速度。本文框架参数量少,计算量小,加载运行速度快,能够在较高准确率的前提下达到实时检测钢材板坯号区域的目的。

图7本文网络框架检测结果图

3 基于端到端的字符识别算法

在传统的字符识别中,一般分为两个部分:单字符切割和分类任务。一般处理方法是先利用投影法分割出单个字符,然后送入字符分类网络里面进行分类。此方法在本文中存在一定的缺点以及实现难度,由于背景模糊、扭曲、噪声大、光照不均,存在字符部分存在缺失、字符粘连等情况,这对分割单个字符造成了难度,使得识别准确率降低。因此不使用文字切割,将端到端的文字识别方法应用于该板坯识别系统,能有效的提高识别准确率。

现在基于深度学习的端到端识别技术有两大主流:CRNN OCR和attention OCR。这两大主流方法的最主要的区别是输出层,即怎样将网络学习到的序列特征信息转化为最终需要的识别结果。这两大主流技术在特征学习阶段都采用了CNN+RNN结构,而CRNN OCR采取的输出算法是CTC算法,attention OCR使用的是attention机制。

本文采用了CRNN OCR算法对钢板文字进行识别,通过将CNN将图片的特征提取出来后采用RNN对序列进行预测,最后通过一个CTC翻译层得到最终的识别结果[8]。

图8 CRNN算法结构图

采用CRNN算法对钢板表面字符区域进行端到端的识别,既客服了文字粘连等传统图像算法难以分割的情况,同时将分割和识别集于一体,能够在一定程度上提升分割和识别的速度和准确率。

4 实验结果分析

实验平台:

处理器:Intel Core i5-7500HQ

显卡:NVIDIA GTX 1080Ti

操作系统:Ubuntu 16.04

系统内存:16G

在定位钢板板坯号时,将本文算法网络框架的检测结果与目前速度最快的目标检测算法MobileNet-SSD框架的结果进行对比,测试样本一共有2000张钢板板坯图片,对比结果如表1所示。

表1

从表1可以看出,本文算法与MobileNet-SSD算法在定位板坯号时,准确率相差不多。由于本文算法的权值大小大约是MobileNet-SSD算法的1/10,因此本文算法的检测速度大约是MobileNet-SSD算法的5倍。本文算法可以在高准确率的前提下能达到实时检测。

对已有的板坯号区域样本通过CRNN网络进行训练,并且将本文算法检测出来的区域输入到已经训练好的CRNN网络进行端到端的识别,识别准确率能达到96.3%,能够满足实际的识别要求。通过结合改进后的钢材板坯号检测网络框架和端到端板坯号识别算法,能够达到速度和准确度的最优结果。

5 结语

本文采用基于MobileNet加速模型的轻量级目标检测框架对钢板板坯号进行检测定位,保证了在较低配置的计算机上检测时间的快速性和准确性,并且通过采用分割和检测一体的CRNN算法,避免了复杂背景下,产生的各种字符粘连、难以分割的各种难点从而降低系统鲁棒性的情况。经过测试,本文算法在测试集上综合准确率达到了95%,能够在实际生产中应用。

猜你喜欢

钢板准确率卷积
基于全卷积神经网络的猪背膘厚快速准确测定
双钢板与锁定钢板在复杂肱骨近端骨折治疗中的疗效比较
探讨拉森钢板桩在市政工程基坑支护中的应用
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察