閻晨陽 羅曉曙 何富運(yùn) 馬玲
摘要:針對傳統(tǒng)的圖像識別方法在噴碼字符日期碼識別中速度較慢的問題,文中使用TensorFlow平臺,搭建一個(gè)卷積神經(jīng)網(wǎng)絡(luò)模型,實(shí)現(xiàn)端到端的噴碼字符日期碼識別。首先,對采集到的圖像進(jìn)行預(yù)處理,然后通過檢測輪廓的方法提取圖像中的噴碼字符日期區(qū)域并進(jìn)行尺寸歸一化處理,再用訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)模型對圖像進(jìn)行端到端的識別。實(shí)驗(yàn)結(jié)果表明,此模型識別一張圖像的平均時(shí)間為25 ms,對測試集的365張圖像進(jìn)行識別的準(zhǔn)確率在gg%以上。
關(guān)鍵詞:日期碼識別;噴碼字符;TensorFlow平臺;端到端識別;圖像處理;仿真實(shí)驗(yàn)
中圖分類號:TN911.74-34;TP391.4
文獻(xiàn)標(biāo)識碼:A
文章編號:1004-373X( 2019) 24-0084-04
如今,食品安全越來越受到人們的關(guān)注,生產(chǎn)日期作為食品安全的重要組成部分已經(jīng)成為人們購買商品時(shí)的重要參考標(biāo)準(zhǔn)。噴碼印刷作為許多包裝企業(yè)的使用方法,其噴碼質(zhì)量與準(zhǔn)確度對廠家生產(chǎn)產(chǎn)品時(shí)有著重要的意義。人工檢測效率低且人力成本較高,利用機(jī)器視覺取代人工檢測已成為近年來許多學(xué)者的研究方向。
肖海俊等入使用HALCON噴碼字符識別系統(tǒng),根據(jù)字符特征訓(xùn)練BP網(wǎng)絡(luò),檢測平均時(shí)間為0.283 s,識別率[1]為96%;郭晉璇等人基于拓?fù)浣Y(jié)構(gòu)對條形分布以及環(huán)形分布的噴碼字符進(jìn)行識別研究[2],檢測一次的平均時(shí)間為70 ms,識別率為gg%;南陽等人使用卷積神經(jīng)網(wǎng)絡(luò),通過投影法將字符區(qū)域分割成單個(gè)字符后訓(xùn)練識別[3],平均檢測時(shí)間為46 ms,準(zhǔn)確率達(dá)98.97%。上述傳統(tǒng)的噴碼字符識別需要將噴碼字符一一分割后進(jìn)行訓(xùn)練與識別,速度較慢。本文使用TensorFlow平臺,搭建一個(gè)卷積神經(jīng)網(wǎng)絡(luò)模型,實(shí)現(xiàn)了端到端的噴碼字符日期碼識別。通過端到端的卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練學(xué)習(xí),能夠更快速地提取噴碼字符區(qū)域的整體字符特征,以期滿足視覺檢測系統(tǒng)的時(shí)效性。
1 系統(tǒng)組成框架
系統(tǒng)硬件結(jié)構(gòu)圖如圖1所示,由圖像采集模塊和軟件處理模塊組成,采用固定角度的可調(diào)亮度光源對不同光照條件下的同一樣本進(jìn)行采集。
2 卷積神經(jīng)網(wǎng)絡(luò)原理
卷積神經(jīng)網(wǎng)絡(luò)是指含有多個(gè)處理層的神經(jīng)網(wǎng)絡(luò)[4],已經(jīng)在語音分析[5]和圖像識別[6]領(lǐng)域有著廣泛研究。一個(gè)典型的卷積神經(jīng)網(wǎng)絡(luò)主要由輸入層、卷積層、下采樣層、全連接層和輸出層組成[7]。
2.1輸入層
輸入層是整個(gè)神經(jīng)網(wǎng)絡(luò)的輸入,在處理圖像時(shí)表示該圖像的像素矩陣。從輸入層開始,卷積神經(jīng)網(wǎng)絡(luò)通過不同的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)將上一層的矩陣轉(zhuǎn)化為下一層的矩陣直至全連接層。
2.2卷積層
卷積層是一個(gè)卷積神經(jīng)網(wǎng)絡(luò)中最重要的部分。卷積神經(jīng)網(wǎng)絡(luò)的卷積層中,每一個(gè)節(jié)點(diǎn)的輸入只是上一層神經(jīng)網(wǎng)絡(luò)的一塊,常用的大小有3x3或者5X5。卷積層的輸出公式為:
2.4全連接層
在經(jīng)過多輪卷積層和池化層處理之后,卷積神經(jīng)網(wǎng)絡(luò)一般由1-2個(gè)全連接層來給出最后的分類結(jié)果。本文將卷積層和池化層看成是對圖像特征自動(dòng)提取的過程,然后使用全連接層來完成分類任務(wù)。
2.5輸出層
本文采用Softmax作為輸出層,Softmax可以理解為歸一化,例如目前有100種圖像分類,經(jīng)過Softmax層的輸出就是100維的向量。向量中的第一個(gè)值就是當(dāng)前圖像屬于第一類的概率值,第二個(gè)值就是第二類的概率值,以此類推,這100維的向量之和為1。Softmax的公式為:
3 卷積神經(jīng)網(wǎng)絡(luò)模型的具體設(shè)計(jì)
3.1 訓(xùn)練數(shù)據(jù)集的生成
在訓(xùn)練網(wǎng)絡(luò)之前,首先需要完成訓(xùn)練數(shù)據(jù)集的生成。由于圖像太大容易導(dǎo)致訓(xùn)練不收斂,所以本文將樣本圖像進(jìn)行歸一化處理,大小為32×256。具體操作流程為:
1)使用cv2.imread函數(shù)讀取圖像;
2)使用cv2.cvtcolory函數(shù)和cv2.threshold函數(shù)將彩色圖像轉(zhuǎn)化為二值圖像;
3)使用cv2.findcontours函數(shù)尋找輪廓并使用cv2.RETR_LIST檢索模式使輪廓不建立等級關(guān)系;
4)使用[y1:y1+hight,x1:x1+width]剪輯輪廓所選出來的范圍;
5)使用cv2.resize函數(shù)將圖像大小變?yōu)?2×256。
歸一化處理前后的圖像如圖2所示。其中,圖2a)為原始的圖像,圖2b)為處理后的二值圖像。
3.2 網(wǎng)絡(luò)的搭建與訓(xùn)練
本文采用4層卷積層與4層池化層、1層全連接層和1層輸出層的網(wǎng)絡(luò)結(jié)構(gòu)。在與傳統(tǒng)的CNN激活函數(shù)Sigmoid進(jìn)行對比實(shí)驗(yàn)后,使用Relu函數(shù)[8]作為卷積層的激活函數(shù),其中第1層內(nèi)核大小為5X5,1個(gè)輸入頻道,32個(gè)輸出頻道;第二層內(nèi)核大小為5X5,32個(gè)輸入頻道,64個(gè)輸出頻道;第3層內(nèi)核大小為3x3,64個(gè)輸入頻道,64個(gè)輸出頻道;第4層內(nèi)核大小為3x3,64個(gè)輸入頻道,64個(gè)輸出頻道。池化層將兩個(gè)傳統(tǒng)的CNNT采樣方式:最大池( Max_pooling)與次采樣(Mean-pooling)進(jìn)行對比,最終選用Max-pooling作為本文的下采樣方式,池化窗口大小為2x2。全連接層輸出頻道為1 024個(gè);輸出層采用Softmax回歸模型并根據(jù)實(shí)際需要,將輸出端口固定為10個(gè)。具體的訓(xùn)練步驟為:
1)使用TensorFlow框架封裝的Batch Normalization定義生成一個(gè)batch;
2)輸入圖像,并保存圖像的真實(shí)label;
3)加入隨機(jī)膨脹和腐蝕算法[9],以提高魯棒性;
4)開始訓(xùn)練,使用交叉熵代價(jià)函數(shù)計(jì)算loss值,每取35張圖片為一批次進(jìn)行訓(xùn)練,記為一步,每100步計(jì)算一次精確率并通過txt文件保存;
5)當(dāng)精確率大于gg%時(shí),退出訓(xùn)練并保存模型。
4 仿真實(shí)驗(yàn)
4.1 實(shí)驗(yàn)條件
本實(shí)驗(yàn)中所使用的相機(jī)是維視MV-UG040U3C,計(jì)算機(jī)的配置是Intel酷睿i7 - 7700CPU,操作系統(tǒng)為WINlO,同時(shí)還使用了CTX1050Ti顯卡,8 GB內(nèi)存來加速訓(xùn)練。所使用的平臺是谷歌開發(fā)的機(jī)器學(xué)習(xí)框架TensorFlow l.10。
本次實(shí)驗(yàn)的數(shù)據(jù)集為自己制作,數(shù)據(jù)集是使用陳百萬A5生產(chǎn)日期打碼機(jī)生成的,共4 015張彩色圖像,其中有3 650張用于訓(xùn)練,含有2018年一整年的日期。訓(xùn)練時(shí)采用固定的學(xué)習(xí)率,學(xué)習(xí)率為0.002,并加入Drop-out[10]優(yōu)化技術(shù)來提高訓(xùn)練精度。
4.2 實(shí)驗(yàn)結(jié)果與分析
網(wǎng)絡(luò)結(jié)構(gòu)對比如表1所示。由表1可知,與傳統(tǒng)的CNN模型使用的Sigmoid激活函數(shù)相比,Relu激活函數(shù)可以較好地提高識別精度,在對比兩種下采樣方式后,最終采用Relu+Max-pooling的組合作為此模型的激活函數(shù)和下采樣方式。
由于實(shí)驗(yàn)條件有限,本文采用循環(huán)讀取樣本的方法來擴(kuò)大樣本集數(shù)量。圖3a)和圖3b)分別是使用Tensor-Flow生成的txt文件,再使用Matlab導(dǎo)人生成的txt文件,分別繪制出識別率圖像和損失值圖像。完整噴碼字符日期碼識別結(jié)果如圖4a)所示。為了提高模型的魯棒性,在訓(xùn)練模型時(shí)加入隨機(jī)的膨脹和腐蝕算法,圖4b)為缺損噴碼字符日期碼識別結(jié)果。
使用本文方法,與文獻(xiàn)[1]中提取字符特征后使用BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練的方法和文獻(xiàn)[3]中分割出單一字符后使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練的方法進(jìn)行對比。第一種算法需要對點(diǎn)陣字符進(jìn)行形態(tài)學(xué)處理后再提取特征,第二種算法需要垂直投影出單一字符圖像后再進(jìn)行特征提取,而本文方法直接對噴碼字符區(qū)域進(jìn)行整體特征提取。不同識別方法的對比如表2所示。從表2可以看出,本文方法與前兩者方法相比,識別速度更快,識別率更高。
5 結(jié)語
本文通過使用TensorFlow平臺,搭建一個(gè)端到端的噴碼字符日期碼識別的卷積神經(jīng)網(wǎng)絡(luò)模型,并對該模型使用待測樣本進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,所搭建的卷積神經(jīng)網(wǎng)絡(luò)模型可以快速、有效地識別出噴碼字符日期碼,并且在含缺損的噴碼字符日期碼識別中有著較好的魯棒性。本實(shí)驗(yàn)在食品、藥品的生產(chǎn)和包裝等方面具有極大的實(shí)用價(jià)值。
注:本文通訊作者為羅曉曙。
參考文獻(xiàn)
[1]肖???,葛廣英,姚坤,等.基于HALCON的噴碼字符識別技術(shù)的研究與實(shí)現(xiàn)[J]現(xiàn)代電子技術(shù),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]郭晉璇.基于拓?fù)浣Y(jié)構(gòu)的字符識別[D],廣州:廣東工業(yè)大學(xué),2016.
GUO Jinxuan. Character recognition based on topological struc-ture [D]. Guangzhou: Guangdong University of Technology,2016.
[3]南陽,白瑞林,李新.卷積神經(jīng)網(wǎng)絡(luò)在噴碼字符識別中的應(yīng)用[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].計(jì)算機(jī)工程與應(yīng)用 , 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-),男,遼寧沈陽人,碩士研究生,研究領(lǐng)域?yàn)闄C(jī)器學(xué)習(xí)、數(shù)字圖像處理。
羅曉曙(1961-),男,湖北應(yīng)城人,博士,教授,研究領(lǐng)域?yàn)槿斯ぶ悄堋?/p>
何富運(yùn)(1982-),男,廣西陸川人,博士,講師,研究領(lǐng)域?yàn)閿?shù)字圖像處理。
馬玲(1991-),女,江蘇泰興人,碩士研究生.研究領(lǐng)域?yàn)閿?shù)字圖像處理。