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