基于TensorFlow平台的喷码字符日期码识别研究
2019-04-28阎晨阳罗晓曙何富运马玲
阎晨阳 罗晓曙 何富运 马玲
摘要:针对传统的图像识别方法在喷码字符日期码识别中速度较慢的问题,文中使用TensorFlow平台,搭建一个卷积神经网络模型,实现端到端的喷码字符日期码识别。首先,对采集到的图像进行预处理,然后通过检测轮廓的方法提取图像中的喷码字符日期区域并进行尺寸归一化处理,再用训練好的卷积神经网络模型对图像进行端到端的识别。实验结果表明,此模型识别一张图像的平均时间为25 ms,对测试集的365张图像进行识别的准确率在gg%以上。
关键词:日期码识别;喷码字符;TensorFlow平台;端到端识别;图像处理;仿真实验
中图分类号:TN911.74-34;TP391.4
文献标识码:A
文章编号:1004-373X( 2019) 24-0084-04
如今,食品安全越来越受到人们的关注,生产日期作为食品安全的重要组成部分已经成为人们购买商品时的重要参考标准。喷码印刷作为许多包装企业的使用方法,其喷码质量与准确度对厂家生产产品时有着重要的意义。人工检测效率低且人力成本较高,利用机器视觉取代人工检测已成为近年来许多学者的研究方向。
肖海俊等入使用HALCON喷码字符识别系统,根据字符特征训练BP网络,检测平均时间为0.283 s,识别率[1]为96%;郭晋璇等人基于拓扑结构对条形分布以及环形分布的喷码字符进行识别研究[2],检测一次的平均时间为70 ms,识别率为gg%;南阳等人使用卷积神经网络,通过投影法将字符区域分割成单个字符后训练识别[3],平均检测时间为46 ms,准确率达98.97%。上述传统的喷码字符识别需要将喷码字符一一分割后进行训练与识别,速度较慢。本文使用TensorFlow平台,搭建一个卷积神经网络模型,实现了端到端的喷码字符日期码识别。通过端到端的卷积神经网络训练学习,能够更快速地提取喷码字符区域的整体字符特征,以期满足视觉检测系统的时效性。
1 系统组成框架
系统硬件结构图如图1所示,由图像采集模块和软件处理模块组成,采用固定角度的可调亮度光源对不同光照条件下的同一样本进行采集。
2 卷积神经网络原理
卷积神经网络是指含有多个处理层的神经网络[4],已经在语音分析[5]和图像识别[6]领域有着广泛研究。一个典型的卷积神经网络主要由输入层、卷积层、下采样层、全连接层和输出层组成[7]。
2.1输入层
输入层是整个神经网络的输入,在处理图像时表示该图像的像素矩阵。从输入层开始,卷积神经网络通过不同的神经网络结构将上一层的矩阵转化为下一层的矩阵直至全连接层。
2.2卷积层
卷积层是一个卷积神经网络中最重要的部分。卷积神经网络的卷积层中,每一个节点的输入只是上一层神经网络的一块,常用的大小有3x3或者5X5。卷积层的输出公式为:
2.4全连接层
在经过多轮卷积层和池化层处理之后,卷积神经网络一般由1-2个全连接层来给出最后的分类结果。本文将卷积层和池化层看成是对图像特征自动提取的过程,然后使用全连接层来完成分类任务。
2.5输出层
本文采用Softmax作为输出层,Softmax可以理解为归一化,例如目前有100种图像分类,经过Softmax层的输出就是100维的向量。向量中的第一个值就是当前图像属于第一类的概率值,第二个值就是第二类的概率值,以此类推,这100维的向量之和为1。Softmax的公式为:
3 卷积神经网络模型的具体设计
3.1 训练数据集的生成
在训练网络之前,首先需要完成训练数据集的生成。由于图像太大容易导致训练不收敛,所以本文将样本图像进行归一化处理,大小为32×256。具体操作流程为:
1)使用cv2.imread函数读取图像;
2)使用cv2.cvtcolory函数和cv2.threshold函数将彩色图像转化为二值图像;
3)使用cv2.findcontours函数寻找轮廓并使用cv2.RETR_LIST检索模式使轮廓不建立等级关系;
4)使用[y1:y1+hight,x1:x1+width]剪辑轮廓所选出来的范围;
5)使用cv2.resize函数将图像大小变为32×256。
归一化处理前后的图像如图2所示。其中,图2a)为原始的图像,图2b)为处理后的二值图像。
3.2 网络的搭建与训练
本文采用4层卷积层与4层池化层、1层全连接层和1层输出层的网络结构。在与传统的CNN激活函数Sigmoid进行对比实验后,使用Relu函数[8]作为卷积层的激活函数,其中第1层内核大小为5X5,1个输入频道,32个输出频道;第二层内核大小为5X5,32个输入频道,64个输出频道;第3层内核大小为3x3,64个输入频道,64个输出频道;第4层内核大小为3x3,64个输入频道,64个输出频道。池化层将两个传统的CNNT采样方式:最大池( Max_pooling)与次采样(Mean-pooling)进行对比,最终选用Max-pooling作为本文的下采样方式,池化窗口大小为2x2。全连接层输出频道为1 024个;输出层采用Softmax回归模型并根据实际需要,将输出端口固定为10个。具体的训练步骤为:
1)使用TensorFlow框架封装的Batch Normalization定义生成一个batch;
2)输入图像,并保存图像的真实label;
3)加入随机膨胀和腐蚀算法[9],以提高鲁棒性;
4)开始训练,使用交叉熵代价函数计算loss值,每取35张图片为一批次进行训练,记为一步,每100步计算一次精确率并通过txt文件保存;
5)当精确率大于gg%时,退出训练并保存模型。
4 仿真实验
4.1 实验条件
本实验中所使用的相机是维视MV-UG040U3C,计算机的配置是Intel酷睿i7 - 7700CPU,操作系统为WINlO,同时还使用了CTX1050Ti显卡,8 GB内存来加速训练。所使用的平台是谷歌开发的机器学习框架TensorFlow l.10。
本次实验的数据集为自己制作,数据集是使用陈百万A5生产日期打码机生成的,共4 015张彩色图像,其中有3 650张用于训练,含有2018年一整年的日期。训练时采用固定的学习率,学习率为0.002,并加入Drop-out[10]优化技术来提高训练精度。
4.2 实验结果与分析
网络结构对比如表1所示。由表1可知,与传统的CNN模型使用的Sigmoid激活函数相比,Relu激活函数可以较好地提高识别精度,在对比两种下采样方式后,最终采用Relu+Max-pooling的组合作为此模型的激活函数和下采样方式。
由于实验条件有限,本文采用循环读取样本的方法来扩大样本集数量。图3a)和图3b)分别是使用Tensor-Flow生成的txt文件,再使用Matlab导人生成的txt文件,分别绘制出识别率图像和损失值图像。完整喷码字符日期码识别结果如图4a)所示。为了提高模型的鲁棒性,在训练模型时加入随机的膨胀和腐蚀算法,图4b)为缺损喷码字符日期码识别结果。
使用本文方法,与文献[1]中提取字符特征后使用BP神经网络训练的方法和文献[3]中分割出单一字符后使用卷积神经网络进行训练的方法进行对比。第一种算法需要对点阵字符进行形态学处理后再提取特征,第二种算法需要垂直投影出单一字符图像后再进行特征提取,而本文方法直接对喷码字符区域进行整体特征提取。不同识别方法的对比如表2所示。从表2可以看出,本文方法与前两者方法相比,识别速度更快,识别率更高。
5 结语
本文通过使用TensorFlow平台,搭建一个端到端的喷码字符日期码识别的卷积神经网络模型,并对该模型使用待测样本进行实验。实验结果表明,所搭建的卷积神经网络模型可以快速、有效地识别出喷码字符日期码,并且在含缺损的喷码字符日期码识别中有着较好的鲁棒性。本实验在食品、药品的生产和包装等方面具有极大的实用价值。
注:本文通讯作者为罗晓曙。
参考文献
[1]肖海俊,葛广英,姚坤,等.基于HALCON的喷码字符识别技术的研究与实现[J]现代电子技术,2015,38( 15):95-98.
XIAO Haijun. GE Guangying, YAO Kun, et al.Research andimplementation of inkjetted code character recognition technolo-gy based on HALCON [J]. Modern electronics technique,2015. 38(15):95-98.
[2]郭晋璇.基于拓扑结构的字符识别[D],广州:广东工业大学,2016.
GUO Jinxuan. Character recognition based on topological struc-ture [D]. Guangzhou: Guangdong University of Technology,2016.
[3]南陽,白瑞林,李新.卷积神经网络在喷码字符识别中的应用[J].光电工程,2015(4):38-43.
NAN Yang, BAI Ruilin. LI Xin. Application of convolutionalneural network in printed code characters recognition [J]. Opto-electronic engineering, 2015(4):38-43.
[4] KRIZHEVSKY A, SUTSKEVER I,HINTON G E.ImageNetclassification with deep convolutional neural networks[C],,Pro-ceedings of 25th International Conference on Neural Informa-tion Processing Systems. Lake Tahoe: ACM, 2012: 1097-1105.
[5] THOMAS S,GANAPATHY S,SAON G,et al.Analyzing con-volutional neural networks for speech activiW detection in mis-matched acoustic conditions [C]// 2014 IEEE International Con-ference on Acoustics. Speech and Signal Processing. Florence:IEEE . 2014 : 2519-2523.
[6] CHEN Y N. HAN C C, WANG C T, et al. A CNN-based facedetector with a simple feature map and a coarse-to-fine classifi-er-Withdrawn [J]. IEEE transactions on pattern analysis & ma-chine intelligence, 2015(99) : l.
[7] LECUN Y, BOTTOU L. BENGIO Y. et al. Gradient -basedlearning applied to document recognition [J]. Proceedings of theIEEE . 1998 , 86(11) : 2278-2324.
[8] ARA N M, SIMUL N S. ISLAM M S. Convolutional neural net-work approach for vision based student recognition system [C[y/International Conference of Computer and Information Technolo-gy. 2017 : 1-6.
[9]邓仕超,黄寅,二值阀图像膨胀腐蚀的快速算法[J].计算机工程与应用 , 2017 .53 ( 5 ) : 207-211.
DENG Shichao. HUANG Yin. Fast algorithm of dilation anderosion for binary image [J]. Computer engineering and applica-tions. 2017, 53(5) : 207-211.
[10] IOFFE S. SZEGEDY C. Batch normalization: acceleratingdeep network training by reducing internal covariate shift [C]//Proceedings of 32nd International Conference on InternationalConference on Machine Learning. Lille : ACM. 2015: 448 -
456.
作者简介:阎晨阳(1992-),男,辽宁沈阳人,硕士研究生,研究领域为机器学习、数字图像处理。
罗晓曙(1961-),男,湖北应城人,博士,教授,研究领域为人工智能。
何富运(1982-),男,广西陆川人,博士,讲师,研究领域为数字图像处理。
马玲(1991-),女,江苏泰兴人,硕士研究生.研究领域为数字图像处理。