鹿武先
摘要:光學字符識別是自動化生產(chǎn)的重要組成部分。針孔字符的特殊性使得字符識別難度加大,鑒于此,在對字符提取后采用閔可夫斯基加減法進行膨脹,解決了針孔字符不連接的問題?;贐P神經(jīng)網(wǎng)絡(luò)對字符進行特征提取,由于生產(chǎn)日期是多分類問題,采用Softmax分類器進行分類。經(jīng)驗證,該系統(tǒng)對針孔字符的正確識別率達95%以上。光學字符識別包含兩個任務(wù):將圖像中的單個字符分割出來并對分割得到的字符進行分類,以酸奶生產(chǎn)日期為例進行探討。
關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò);圖像分析;機器視覺
中圖分類號:TP319
文獻標識碼: A
文章編號: 16727800(2017)004016803
0引言 在酸奶生產(chǎn)過程中,對其盒子頂端的字符進行檢測與識別是不可缺少的一道工序,酸奶盒子頂端的字符包含酸奶生產(chǎn)日期等信息,此字符不僅關(guān)系著酸奶生產(chǎn)日期的準確性,也關(guān)系著酸奶生產(chǎn)下一道工序的選擇。酸奶生產(chǎn)日期也是大眾選購酸奶的重要標準之一,因此酸奶生產(chǎn)日期的檢測至關(guān)重要。一般的字符識別多為連續(xù)字符識別,如車牌識別[13],其使用的訓練樣本多數(shù)有限,學習樣本也有限,很難滿足酸奶生產(chǎn)日期的識別。針孔光學字符識別是將膨脹處理過后的字符進行識別,由于處理后的字符存在差異,因此需要對多種字符進行訓練和識別[46]。1基于Halcon的針孔光學字符識別系統(tǒng) 基于Halcon的針孔光學字符識別系統(tǒng)包含獲取圖像、圖像預處理、字符分割、特征提取以及字符分類5部分,如圖1所示。獲取圖像指通過工業(yè)照相機拍攝到的圖像,圖像預處理指將工業(yè)照相機拍攝到的圖像進行濾波、邊緣增強等處理,以克服噪音對圖像的干擾;字符分割指通過適當?shù)拈撝颠M行閾值分割提取圖像中的連通區(qū)域,然后使用閔可夫斯基加法將同一個字符分離部分連接起來;特征提取指利用BP神經(jīng)網(wǎng)絡(luò)對光學字符進行特征提?。蛔址诸愔甘褂肧oftmax分類器進行分類。2針孔光學字符識別2.1圖像預處理 在圖像采集過程中,由于噪聲、光照以及設(shè)備本身原因,獲取到的圖像帶有一定的噪聲,因而在進一步處理之前會對圖像進行濾波處理。圖像噪聲來源主要分為兩個部分:系統(tǒng)內(nèi)部和系統(tǒng)外部。外部干擾主要是由電磁波的形式進入系統(tǒng)而引起的干擾,可以采用防電磁干擾措施來減少此類噪聲,比如使用屏蔽電磁干擾的傳輸線。內(nèi)部噪聲是由CCD圖像傳感器和工作平臺機械震動引起的噪聲。這些噪聲是不可避免的,為了獲取高質(zhì)量的圖像,一般會對圖像進行濾波,以便提高檢測的準確性。本文所使用圖片的噪聲主要是由CCD圖像傳感器造成的,圖片中存在一定程度的椒鹽噪聲。為了減少這種影響,先對圖片進行高斯平滑處理,抑制圖像噪聲和干擾脈沖,然后使用拉普拉斯算子對圖像進行邊緣處理,使其邊緣輪廓檢測質(zhì)量得到提高,同時也為下文圖像分割做準備。高斯拉普拉斯處理前的圖像如圖2所示,高斯拉普拉斯處理后的圖像如圖3所示。
2.2字符分割 閾值分割是最簡單的分割算法,其算法被定義為:其中,gmin是閾值的下限,gmax是閾值的上限,r,c是圖像的坐標,fr,c是符合條件的像素點。閾值分割是將圖像中灰度值處于一定范圍內(nèi)的所有點輸出到區(qū)域S中。通常情況下使用gmin=0或者閾值的上限設(shè)置為gmax=2b-1。當光照能保持恒定時,閾值的上限和下限均可以在系統(tǒng)中設(shè)置為固定值。固定閾值僅僅在圖像的前景和背景灰度值不變時效果很好,但是這種情況發(fā)生的頻率比期望要低得多,例如,當光照發(fā)生改變時灰度值就會發(fā)生改變。即使光照可以保持恒定,相似物體間的不同灰度值分布也會使固定閾值分割法得到的結(jié)果不理想。因此,本文采用動態(tài)閾值法。通過觀察可以發(fā)現(xiàn)字符明顯比背景亮,可以將亮的當作字符,暗的當作背景。將高斯濾波處理的結(jié)果作為背景灰度的估計,然后將原圖像和其局部背景進行比較。對前景較亮物體的動態(tài)閾值分割處理如下:其中,fr,c表示輸入圖像,gr,c表示平滑后的圖像,gdiff表示設(shè)定的前景和背景的差值。動態(tài)閾值分割后的圖像如圖4所示。
從圖4可以發(fā)現(xiàn),此時的字符仍然是針孔狀字符。為了提高字符識別率,需要對字符進行膨脹操作,使針孔字符變成連續(xù)的字符。本文采用閔可夫斯基加法對圖形進行膨脹操作,其結(jié)構(gòu)元半徑為16。膨脹后的字符如圖5所示,可以看出字符中的針孔已經(jīng)相互連接。
從圖5中不難發(fā)現(xiàn),除了字符和字母外還有分類器無法識別的字符“:”。為了去掉字符“:”,先將字符分成不同的連通區(qū),連通區(qū)較大的就是需要選取的字符區(qū)域,連通區(qū)小的是時間分隔符“:”。根據(jù)字符大小選取字符高度為235,字符寬度為145。處理效果如圖6所示,根據(jù)面積大小很好地去除了“:”。
2.3字符識別目前,常用的字符識別方法有模板匹配算法和人工神經(jīng)網(wǎng)絡(luò)算法。模板匹配算法實現(xiàn)流程是:首先將彩色圖像轉(zhuǎn)化為二值圖像并且將二值圖像的大小縮放為字符數(shù)據(jù)庫中模板字符的大小,接著將縮放后的圖像與數(shù)據(jù)庫中的圖像進行匹配,將最佳的匹配當作結(jié)果。神經(jīng)網(wǎng)絡(luò)識別字符的方法分為兩種:一種方法是先提取待識別字符特征,然后用提取到的特征來訓練分類器;另一種方法是利用神經(jīng)網(wǎng)絡(luò)的特點,將待處理的的圖像直接輸入到網(wǎng)絡(luò)中,由網(wǎng)絡(luò)自動提取字符特征并識別字符,本文設(shè)計使用的正是這種方法。BP算法主要用于訓練BP神經(jīng)網(wǎng)絡(luò)的閾值和權(quán)值,其學習過程分為正向傳播和誤差反向傳播兩部分。當正向傳播時,輸入的信號由輸入層經(jīng)過隱含層單元傳向輸出層,輸出層產(chǎn)生輸出信號,如果輸出信號不是期望輸出則進入誤差信號反向傳播過程;在誤差反向傳播過程中,誤差信號由輸出端開始逐層向輸入層傳播,根據(jù)誤差反饋調(diào)節(jié)網(wǎng)絡(luò)的權(quán)值,同過不斷修正權(quán)值使得輸出層的輸出信號更接近期望值。BP神經(jīng)網(wǎng)絡(luò)一般使用Softmax分類器進行分類,Sofmax分類器的代價函數(shù)如下:
3實驗結(jié)果 本實驗通過HALCON平臺進行仿真,對BP網(wǎng)絡(luò)進行訓練。設(shè)置學習率為0.05,動量系數(shù)為0.90,最大訓練次數(shù)為50 000次。BP網(wǎng)絡(luò)訓練、測試過程中的殘差變化如圖7所示,可以發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)訓練前兩百次殘差收斂較快,200次之后收斂速度放慢,1 000次后殘差開始收斂。
最終結(jié)果如圖8所示,經(jīng)過訓練42 400后正確率達99%左右,完全符合檢測生產(chǎn)日期的要求。
4結(jié)語 光學字符識別中每一個過程都有很多方法,每種方法都有各自的使用用范圍,當具體到某一個實際工程時,不是每一種理論都可以在實踐中實現(xiàn),能夠?qū)崿F(xiàn)的方法也需要比較選擇[7]。測試結(jié)果表明,本設(shè)計有如下優(yōu)點:①實現(xiàn)了自適應(yīng)閾值法分割字符,使得本設(shè)計適用范圍增大;②實現(xiàn)了對英文字母和數(shù)字的整體訓練,有一定的實用價值;③通過所建立的BP神經(jīng)網(wǎng)絡(luò)模型而得到的實際值和期望值已極為接近。
參考文獻:
[1]郭榮艷,胡雪惠.BP神經(jīng)網(wǎng)絡(luò)在車牌識別中的應(yīng)用研究[J].計算機仿真,2010(9):299302.
[2]王偉,馬永強,彭強.SVM多分類器在車牌識字符別中的應(yīng)用[J].計算機工程與設(shè)計,2011(9):31663169.
[3]姜莉莉,蔣瀟,陳昕怡,等.OpenCV在車牌識別中的應(yīng)用[J].軟件2014(3):4547.
[4]危雨軒.魯棒的字符識別算法研究[D].北京:北京郵電大學,2013.
[5]何西麟.基于深度學習的手寫體字符識別研究與實現(xiàn)[D].廣州:中山大學,2015.
[6]賀強.字符識別的相關(guān)算法研究[D].鎮(zhèn)江:江蘇大學,2010.
[7]楊勇,謝剛生.基于BP神經(jīng)網(wǎng)絡(luò)的手寫數(shù)字識別[J].東華大學學報:自然科學,2003,26(4):383386.
(責任編輯:孫娟)