基于机器视觉和神经网络的低质量文本识别研究

2018-10-09 07:59李少辉钱俞好吴闽仪
机电工程 2018年9期
关键词:字符权值阈值

李少辉,周 军,刘 波,钱俞好,吴闽仪

(河海大学 机电工程学院,江苏 常州 213000)

0 引 言

近年来,为了进一步提升生产车间流水线的自动化水平,提高生产效率,大部分流水线开始采用机器视觉产品代替人眼来识别产品上的文本信息,如生产日期、产品批号、条形码等[1]。传统的文字识别分类器有模板匹配、支持向量机等,早在20世纪80年代,OCR技术就已进入商用阶段,但是对文字背景的要求很高,需要很好的成像质量;近年来,随着人工神经网络技术在很多问题上有着突破性进展,该技术也被引入文本识别领域中。2014年ICPR会议上,微软亚洲研究院团队训练的一个浅层BP神经网络在自然场景文字检测的标准数据集上取得了92.1%的检测精度,让自然场景图像中的文字检测实现了突破[2];谷歌公司2015年发布的tensorflow深度学习框架中,深度卷积神经网络对手写数字图片集MNIST的识别准确率达到了99%以上[3]。

由于大部分产品的文本信息是印刷体字符,包含较多的噪声和缺陷,且文本背景比较复杂,本文采用传统的图像处理方法和一种改进BP神经网络对流水线产品上的文本信息进行识别。

1 图片的预处理

图片预处理过程包括彩色图像灰度化、二值化、倾斜矫正等[4]。由于产品的文本图片由于放置问题可能出现倾斜现象,对后续的字符分割和识别产生影响,本文提出了基于仿射变换的倾斜校正方法。

1.1 彩色图像灰度化和二值化

大部分彩色图片采用RGB系统,所包含的信息量巨大。为了减少运算量,需要将彩色图像转换为灰度图像,即图像的每一个像素颜色RGB各个分量的值都相等[5]。

灰度化处理后,将图像二值化变成只有黑和白两色图像的过程称为二值化处理。二值化可以在简单的场景中通过阈值化处理得到。阈值化是输入图像f到输出图像g的变换,即:

(1)

式中:T—阈值;g(i,j)—二值化后的图像像素;f(i,j)—原始图像像素,当f(i,j)≥T时为前景图像,否则为背景图像。

在工业环境光照不均匀的情况下图像的灰度变化较大,整幅图像不存在合适的单一阈值,因此可采用多阈值法进行二值化处理,但其算法时间和空间复杂度较大。本文先采用均值滤波的方法对图像做整体滤波处理,然后使用Ostu自适应阈值法选取二值化阈值。其基本思想是:对于图像f(i,j),前景(即目标)和背景的分割阈值记作T,则类间方差可表述为:

g=ϖ0ϖ1(μ0-μ1)^2

(2)

式中:g—类间方差;ϖ0—前景的像素点数占整幅图像的比例;ϖ1—背景像素点数占整幅图像的比例;μ0—前景的像素点的平均灰度;μ1—背景的像素点的平均灰度。

采用遍历的方法得到使类间方差g最大的阈值T,即为所求阈值。

流水线上某产品的标签图像,以及采用自适应阈值法将标签二值化后的图像如图1所示。

图1 原始图像和二值化后的图像

由图1可以很清楚地看到白色区域是文本区域。

1.2 倾斜矫正

图片倾斜会影响后续字符的分割和识别[6],图片倾斜校正的过程如图2所示。

图2 倾斜校正流程

1.2.1 形态学处理与轮廓检测

形态学变换膨胀采用向量加法对两个集合进行合并[7]:

X⊕B={P∈ε2,P=x+b,x∈X且b∈B}

(3)

式中:X—原始图像;B—膨胀元素结构;P—合并后的图像。

将二值化后的图像分别采用30×20,50×40的结构元素膨胀,结果如图3所示。

图3 采用不同膨胀核膨胀后的结果

图像处理中用canny,sobel等算子进行图像的边缘检测[7],该过程通过图片中像素值的不同可以将图片的边界检测出来,但在处理中,并没有把边界被当做一个整体。轮廓检测过程正是将所检测出来的边缘像素进行整合,将其组装在一起。具体实现过程如下:扫描图像中的全部像素,当扫描到连通域中的一个像素点时,从该像素点开始,对边界上的像素点进行记录,当边界轮廓是一个整体的时候,回到前一个位置,进行新的扫描过程。

1.2.2 创建最小包围矩形并计算倾斜角度

为了获取文本区域的倾斜角度,需要做轮廓的最小外接矩形。最小包围矩形的宽、高及倾斜角度如图4所示。

图4 最小包围矩形及其倾斜角度

1.2.3 仿射变换

仿射变换[8]保持了二维图形的“平直性”和“平行性”。本研究采用的变换形式是旋转。变换后的图像坐标为:

(4)

旋转后的图像如图5所示。

图5 旋转后的图像

2 字符切分与归一化

文字的切分是文字识别的很重要的一个环节[9]。目前主要的切分方法有经典切分法、连通区域切分法、基于识别的切分法、投影法等。这里采用投影法。

图像的投影一般情况下是沿着垂直或者水平的方向,即沿着列或者行的方向,这样得到的投影被称作为竖直和水平投影。图像I(x,y)在x轴和y轴上的投影表示为:

(5)

(6)

式中:I(x)—垂直投影图;I(y)—水平投影图;I(x,y)—原始图像;W—图像宽度;H—图像的高。

笔者利用水平投影将文本的每一行分割出来,然后再采用垂直投影将每个字符分割开来。为了将分割出来的字符尺寸统一到标准模板大小,需要将字符进行归一化处理[10]。

3 字符识别

目前用于字符识别的方法已经有很多种,如模板匹配、支持向量机算法等。由于大多数流水线产品上的印书体字符噪点和缺陷较多,以上几种文字方法识别准确率较低。BP神经网络[11]结构简单、可操控性好,因此在实际应用中广受欢迎。

3.1 BP神经网络模型的训练

笔者将每一个字符种类的模板库作为神经网络的一个输入神经元,建立三层BP神经网络模型,如图6所示。

在网络如此发达的今天,应鼓励学生充分利用网络视频,视频中图文并茂的讲解,可以使学生一下子明白操作的要点,比起看课本来说,效率要高很多,收到事半功倍的结果。比如在百度视频输入“水蒸气蒸馏”,就可以了解水蒸气蒸馏的原理、要求条件、仪器的安装及注意的要点。这样,学生不仅学习了具体的知识,更重要的是培养了他们的自学能力,而这种自学能力的培养,在以后的学习和科研工作中发挥着重要的作用;再则,学生在网络上学习时,会感知自身知识的不足,从而进一步激发他们的求知欲,取得更大的进步。

图6 神经网络模型

输入层到隐含层采用RELU非线性激活函数为;

X2=max(0,θ1X1+b)

(7)

隐含层到输出层采用softmax激活函数为:

(8)

式中:h(x)—训练获得的输出层结果;θ2—隐含层到输出层权值。

由代价函数获得输出层误差,即:

(9)

式中:J(θ)—训练误差;m—样本数量;y—网络输出值。

反向传播采用梯度下降法不断更新权值,即:

(10)

式中:η—学习速率;θj—最小误差下的权值θj(j=0,1,…n)。

3.2 BP神经网络的改进

在BP神经网络参数中,学习速率η(0<η<1)的取值直接影响到学习网络的收敛速度。为了提高学习速度,应选用较大的η值,而η太大却可能导致在稳定点附近振荡,甚至不收敛。因此,学习速率必须小于某一上限,这就使得BP算法的收敛速度受到影响。

自适应学习速率算法通过检查网络权值的修正值是否降低了误差函数来自动调节学习速率大小,使得网络总是以最大的可接受学习速率进行训练[12]。当观测到连续两次训练的网络误差值减小时,则增大学习速率,以期缩短学习时间;此时,若误差的反弹在允许的范围内,则保持学习速率;而当误差增大时,则及时减小学习速率值,直至网络误差收敛为止。常见的自适应学习速率调整公式为:

(11)

式中:β1,β2—学习速率调整比例因子;ξ—允许反弹误差系数;E(t)—网络误差;β1>1,0<β2<1,ξ通常略大于1。

3.2.2 附加动量法

BP神经网络算法的反向传播实质上是采用随机梯度下降法,从随机起点沿代价函数梯度方向逐渐使代价函数的值达到最小的过程。代价函数为一个凹凸不平的多维空间的超曲面,存在较多的局部极小值点,因此训练网络时可能陷入某一极小值,使训练出的网络模型失去泛化能力。

附加动量法是在每个权值的变化上加上一项正比于前次权值变化的值,并根据反向传播法产生新的权值变化。该方法使模型在更新梯度时,不仅考虑了误差在梯度上的作用,而且考虑了误差曲面上变化趋势的影响。带有动量因子的权值更新公式为:

(12)

3.3 实验结果分析

本研究以Visual studio和Opencv为实验平台,采用三层改进BP神经网络对5 000张字符图片(含100种字符,每种字符含50张不同的图片)进行学习,其中隐含层神经元个数为128,学习速率取η=0.01,动量因子α取0.9,学习速率衰减系数取0.1,最终模型的训练精度为94.6%,测试精度为93.8%。本研究调用训练好的神经网络模型,将训练集中没有出现过的新字符图片输入训练好的模型中。无噪声和缺陷的字符图片在不同识别方法下的识别正确率和模型的训练时间如表1所示。

表1 无噪声和缺陷的字符图片识别结果

有噪声和缺陷的字符图片中不同识别方法识别正确率和模型的训练时间如表2所示。

表2 有噪声和缺陷的字符图片识别结果

对比分析实验结果:表1表明改进的神经网络方法对于训练集的依赖性较小,适用于训练集中没有出现的新图片。传统的模板匹配方法对模板的依赖度较高,对新图片的适应能力较弱;而基于支持向量机的方法在训练大型样本时,时间代价高且准确率较低,与之相比,本文采用的方法有较强的鲁棒性和识别率;表2表明传统的BP神经网络泛化能力较弱,在含有噪声和缺陷的字符图片中识别准确率明显降低,而改进的BP神经网络不易陷入局部极小值,使网络具有了一定的稳定性,在含有噪声和缺陷的低质量文本图片中仍能保持较高的识别准确率,且有效缩短了网络模型的训练时间。

4 结束语

本文详细论述了一种基于改进BP神经网络的流水线产品上的低质量文本识别的全过程,包括了图像的预处理、文本字符的切分与归一化和字符识别方法等,主要结果有:

(1)解决了由于图片倾斜而不能进行精确字符分割的问题;

(2)使用学习速率自适应调整策略和附加动量法改进了BP神经网络,显著提高了网络模型的识别准确率并有效缩短了神经网络模型的训练时间。与传统的模板匹配、支持向量机和传统的BP神经网络相比,模型的泛化能力和鲁棒性较强。

猜你喜欢
字符权值阈值
一种融合时间权值和用户行为序列的电影推荐模型
CONTENTS
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
小波阈值去噪在深小孔钻削声发射信号处理中的应用
基于CS-TWR的动态阈值贪婪算法成像研究
HBM电子称与西门子S7-200系列PLC自由口通讯
基于自适应阈值和连通域的隧道裂缝提取
基于MATLAB的LTE智能天线广播波束仿真与权值优化