文/上海理工大學(xué) 許旭萍,陳景華,黃一翔,郭曉巖,胡海川
點(diǎn)陣噴碼技術(shù)已廣泛應(yīng)用于飲料的包裝印刷中,通過在產(chǎn)品外包裝上噴印產(chǎn)品批號(hào)、生產(chǎn)日期等標(biāo)識(shí),可使每一件產(chǎn)品均具可追溯性,便于企業(yè)的質(zhì)量管理。在飲料的包裝流水線中,墨水噴碼機(jī)是實(shí)施點(diǎn)陣噴碼的常用設(shè)備,噴碼運(yùn)用非接觸方式,使非常微小的墨滴從噴頭中噴出,由軟件控制將墨滴落在被噴印物的表面上形成所需噴印的文字和數(shù)碼[1]。噴碼機(jī)產(chǎn)生的噴印故障主要有:光電感應(yīng)器靈敏度偏差或充電電極對(duì)墨滴充電不充分引起的噴印字符遺漏;墨水粘度的變化或產(chǎn)品輸送帶抖動(dòng)等導(dǎo)致的噴印字跡模糊不清、缺少筆畫以及斷字現(xiàn)象。倘若帶有噴印故障的飲料流入市場(chǎng),就會(huì)給消費(fèi)者在選購(gòu)時(shí)由于“生產(chǎn)日期”信息不正確而帶來(lái)麻煩,由此也連帶給企業(yè)造成了一定的信譽(yù)與商業(yè)問題。因此,在生產(chǎn)中有必要對(duì)產(chǎn)品批號(hào)、生產(chǎn)日期等標(biāo)識(shí)加以檢測(cè)。
對(duì)飲料瓶蓋表面噴碼字符檢測(cè)的關(guān)鍵,是對(duì)所獲取圖像中包含的信息數(shù)字正常與否的判別,如圖1所示的是飲料瓶蓋表面的噴碼點(diǎn)陣字符。通常,對(duì)連續(xù)筆畫構(gòu)成的字符識(shí)別,比較容易實(shí)現(xiàn),而對(duì)于采用點(diǎn)陣噴印形成的字符識(shí)別,難度則較高。因?yàn)闃?gòu)成數(shù)字筆畫本身的點(diǎn)陣的離散性,往往與字跡模糊不清、缺少筆畫以及斷字等現(xiàn)象糾合在一起,使計(jì)算機(jī)的自動(dòng)判別實(shí)施,面臨諸多困難。
圖1 瓶蓋表面噴碼點(diǎn)陣字符
當(dāng)產(chǎn)品批號(hào)、生產(chǎn)日期等標(biāo)識(shí)出現(xiàn)字跡模糊不清、缺少筆畫以及斷字等現(xiàn)象時(shí),對(duì)于連續(xù)筆畫構(gòu)成的字符,由于其與正常字符的摸板區(qū)別顯著,因而計(jì)算機(jī)的識(shí)別相對(duì)比較容易。而對(duì)于點(diǎn)陣噴印的字符,由于其正常字符模板本身也是離散點(diǎn)陣構(gòu)成的,對(duì)一般的計(jì)算機(jī)判別方法來(lái)說,區(qū)別并不顯著,因此特別容易出現(xiàn)缺陷字符漏識(shí)、正常字符判誤等問題[2]。 針對(duì)這種情況,首先應(yīng)在字符判別特征的選擇與提取上作恰當(dāng)?shù)目紤]。
神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的設(shè)計(jì)采用什么原則是關(guān)鍵,直接影響其效果??蛇x擇的方法有模板匹配法、神經(jīng)網(wǎng)絡(luò)法、基于規(guī)則推理法等。針對(duì)點(diǎn)陣噴印的字符,當(dāng)出現(xiàn)字跡模糊不清、缺少筆畫以及斷字等現(xiàn)象時(shí),特別容易出現(xiàn)缺陷字符漏識(shí)、正常字符判誤等問題,考慮采用對(duì)數(shù)據(jù)分布要求不高的神經(jīng)網(wǎng)絡(luò)法。
運(yùn)用比較方便的首推BP神經(jīng)網(wǎng)絡(luò),但BP神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)訓(xùn)練中,存在陷入局部最小點(diǎn)的不足。因此,考慮選用高斯核的RBF神經(jīng)網(wǎng)絡(luò)。基于高斯核RBF神經(jīng)網(wǎng)絡(luò)的逼近能力、分類能力和學(xué)習(xí)速度較高,能夠以任意精度逼近任意連續(xù)函數(shù),而且可避免神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)訓(xùn)練中陷入局部最小點(diǎn)的不足[3-5]。
高斯核BRF神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖2所示,其拓?fù)浣Y(jié)構(gòu)為三層,即輸入層、中間層和輸出層。設(shè)輸入向量(即待識(shí)別樣本)為E;輸出向量為F;輸入層與中間層之間的權(quán)值為Aj、Bj;中間層與輸出層之間的權(quán)值為Gj;輸入層單元數(shù)為m;輸出層單元數(shù)為p。
第一層是完成數(shù)據(jù)信息傳遞的輸入層,該層接收待識(shí)別樣本信息(即輸入向量)E。第二層是中間層,該層神經(jīng)元的作用函數(shù),采用高斯函數(shù)對(duì)由第一層接收的外部信息向量E實(shí)施映射變換。第三層是對(duì)輸入向量E作出響應(yīng)的輸出層,該層神經(jīng)元的作用函數(shù),采用線性函數(shù)對(duì)中間層的輸出信息實(shí)施線性加權(quán)后,就可得到高斯核RBF神經(jīng)網(wǎng)絡(luò)的輸出向量F。
圖2 高斯核BRF神經(jīng)網(wǎng)絡(luò)拓?fù)鋱D
飲料瓶蓋表面點(diǎn)陣字符識(shí)別實(shí)現(xiàn)的基本過程是,首先利用訓(xùn)練集所包含相關(guān)信息,通過學(xué)習(xí)訓(xùn)練確定網(wǎng)絡(luò)中的權(quán)系數(shù),使得網(wǎng)絡(luò)輸出方差小于給定值。
判別字符時(shí)首先觀察與分析各種特征的有效性,進(jìn)而提取出最有代表性的特征。計(jì)算機(jī)判別可以充分發(fā)揮其抽取數(shù)學(xué)特征的強(qiáng)大能力,典型的方法有統(tǒng)計(jì)平均值、相關(guān)系數(shù)、協(xié)方差陣等。特征的選取與提取,對(duì)后續(xù)的分類器設(shè)計(jì)及性能影響較大。若不同類別樣品特征的差別足夠大,較高性能分類器的設(shè)計(jì)就比較容易實(shí)現(xiàn)。否則,分類器的設(shè)計(jì)就很困難且性能較差。
由于字符不一定每次都落在6×6元素模板中的同樣位置,因此,必須采用包含各種情況的樣本構(gòu)件統(tǒng)一數(shù)字的摸板類。如此,將得到很多相近的特征選擇樣板,如圖3所示。
圖3 噴碼點(diǎn)陣字符6×6元素模板
接下來(lái)的任務(wù)是特征提取。根據(jù)識(shí)別需要,建立合適的映射關(guān)系,通過適當(dāng)增減、重組前述選擇的特征向量中的分量表述,從而使新的特征描述維數(shù)降低,便于運(yùn)算;或者使新的特征描述更加切題,提高識(shí)別準(zhǔn)確度。
常用的線性判別函數(shù)形式為:
將待測(cè)樣本E的m個(gè)特征值作為判別函數(shù)的自變量,代入到K個(gè)線性判別函數(shù)(1)式中,可分別求得其計(jì)算結(jié)果。待測(cè)樣本E屬于哪一個(gè)類型,則由計(jì)算結(jié)果中最大的值來(lái)決定。這里,K個(gè)判別函數(shù)一般表示成bi(E)。如果第i類決策域與第j類決策域相鄰,則二者邊界上存在bi(E)=bj(E),稱為決策面方程。判別函數(shù)b(E)的確定包括函數(shù)類型的選擇與最佳參數(shù)的求取。最佳參數(shù)的求取,一般是由迭代優(yōu)化的學(xué)習(xí)過程實(shí)現(xiàn)的。
接著,就是分類器的設(shè)計(jì)了。分類器的設(shè)計(jì)就是在給定樣本集和集合內(nèi)各樣本所屬類別條件下,確定判別函數(shù)的各項(xiàng)系數(shù)。此時(shí),按需要確定準(zhǔn)則函數(shù)J,求取其達(dá)到極值時(shí)G的具體數(shù)值,從而確定判別函數(shù),完成分類器的設(shè)計(jì)。比較便捷的準(zhǔn)則函數(shù)為誤差平方和準(zhǔn)則。
對(duì)分屬于g1,g2,...,gM類的M個(gè)樣本,設(shè)有Mi個(gè)樣本的gi類,均值為:
對(duì)應(yīng)所選的分類劃分,定義誤差平方形式的準(zhǔn)則函數(shù)為:
所選的分類劃分,必須是能夠使得準(zhǔn)則函數(shù)J最小。
RBF神經(jīng)網(wǎng)絡(luò)的權(quán)值A(chǔ)j、Bj、Gj是訓(xùn)練所要確定的參數(shù)。首先進(jìn)行訓(xùn)練確定輸入層與中間層之間的權(quán)值A(chǔ)j、Bj。然后進(jìn)行訓(xùn)練確定中間層與輸出層之間的權(quán)值Gj。
具體過程為,根據(jù)獲取的M=36個(gè)訓(xùn)練樣本,設(shè)輸入層單元數(shù)m=20,構(gòu)成E= [e1,e2,...,em]T。取輸出層單元數(shù)p=16,構(gòu)成F=[f1,f2,...,fp]T;期望輸出向量Q=[q1,q2,...,qp]T。
然后在中間層到輸出層中,初始化連接權(quán)值Gk,這里Gk=[gk1,gk2,...,gkp]T,則:
式中:min k——第k個(gè)輸出神經(jīng)元的所有預(yù)期輸出的最小值。
Max k——第k個(gè)輸出神經(jīng)元的所有預(yù)期輸出的最大值。
進(jìn)一步則是對(duì)中間層的各神經(jīng)元的中心參數(shù)Aj進(jìn)行初始化。這里Aj=[aj1,aj2,...,ajm]T,中間層神經(jīng)元的總個(gè)數(shù)為q。則:
式中;min i——第i個(gè)輸入待測(cè)樣品的最小值。
Max i——第i個(gè)輸入待測(cè)樣品的最大值。
對(duì)寬度向量Bj進(jìn)行初始化,則是Bj=[bj1,bj2,...,bjm]T,且:
式中:by——取值小于1的寬度調(diào)節(jié)系數(shù)。
中間層第j個(gè)神經(jīng)元的輸出值z(mì)j應(yīng)為:
式中:Aj——中間層第j個(gè)神經(jīng)元的中心向量,Aj=[aj1,aj2,...,ajm]T。
Bj——中間層第j個(gè)神經(jīng)元的寬度向量,Bj=[bj1,bj2,...,bjm]T。
輸出層神經(jīng)元的輸出F應(yīng)為F=[f1,f2,...,fp]T,且:
式中:gkj——調(diào)節(jié)權(quán)重參數(shù),調(diào)節(jié)范圍是中間層第j個(gè)神經(jīng)元與輸出層第k個(gè)神經(jīng)元之間。
采用便捷易行的梯度下降法,通過迭代計(jì)算可使調(diào)節(jié)權(quán)重參數(shù)、中心和寬度參數(shù)自適應(yīng)調(diào)節(jié)到最佳值。
BRF神經(jīng)網(wǎng)絡(luò)的評(píng)價(jià)函數(shù)為:
式中:Qlk——在第l個(gè)輸入樣本中第k個(gè)輸出神經(jīng)元的期望輸出值。
flk——在第l個(gè)輸入樣本中第k個(gè)輸出神經(jīng)元的網(wǎng)絡(luò)輸出值。
按照以上學(xué)習(xí)訓(xùn)練算法對(duì)神經(jīng)網(wǎng)絡(luò)實(shí)施初始化,并給定迭代終止精度值。計(jì)算網(wǎng)絡(luò)輸出的方差為:
學(xué)習(xí)訓(xùn)練完成后,將待識(shí)別樣本輸入到網(wǎng)絡(luò)中,即便該待識(shí)別樣本是局部數(shù)據(jù),該網(wǎng)絡(luò)還可以產(chǎn)生比較完整的數(shù)據(jù)輸出。這對(duì)于解決點(diǎn)陣字符的辨識(shí),有針對(duì)性優(yōu)點(diǎn)。待識(shí)別樣本的識(shí)別過程為:
1. 輸入待識(shí)別樣本E=[e1,e2,...,em]T,其中各個(gè)分量分別作為輸入層網(wǎng)絡(luò)節(jié)點(diǎn)的m個(gè)輸入。
2. 計(jì)算輸出層神經(jīng)元的輸出F=[f1,f2,...,fp]T。
3. 將所獲得的輸出F,與各個(gè)字符標(biāo)準(zhǔn)樣本比較,選擇最接近的確定為該類字符。
采用高斯核構(gòu)成RBF神經(jīng)網(wǎng)絡(luò)算法,在完成學(xué)習(xí)訓(xùn)練后,對(duì)待識(shí)別樣本實(shí)施判別簡(jiǎn)捷可靠。即使待識(shí)樣本是帶有噴印故障的字符(即噴印字符遺漏、噴印字跡模糊不清、缺少筆畫以及斷字現(xiàn)象),也能得出正確的識(shí)別結(jié)果。
瓶蓋頂面噴印的點(diǎn)陣數(shù)符的檢測(cè)裝置結(jié)構(gòu)示意圖如圖4所示。由噴碼機(jī)在瓶蓋上噴印“生產(chǎn)日期”信息,距噴碼機(jī)后面一定距離,設(shè)置一個(gè)帶有卸件機(jī)構(gòu)的檢測(cè)工位,檢測(cè)工位的正上方安裝CCD圖像傳感器。當(dāng)飲料瓶輸送到檢測(cè)工位時(shí),通過CCD圖像傳感器獲取飲料瓶蓋表面的點(diǎn)陣字符圖像,由計(jì)算機(jī)識(shí)別軟件來(lái)判別其正確性。如果檢測(cè)到字跡模糊不清、缺少筆畫以及斷字等現(xiàn)象,則發(fā)出聲光報(bào)警,并啟動(dòng)傳送帶上的卸件機(jī)構(gòu)動(dòng)作,卸件推手將飲料瓶推移到傳送帶一側(cè)的卸件箱內(nèi);若檢測(cè)結(jié)果正常,即噴碼機(jī)噴印的數(shù)字正確,卸件機(jī)構(gòu)不動(dòng)作,傳送帶將合格的飲料瓶輸送到下一個(gè)規(guī)定的工位。
圖3 檢測(cè)裝置結(jié)構(gòu)示意圖
為了驗(yàn)證基于高斯核的RBF神經(jīng)網(wǎng)絡(luò)的噴碼點(diǎn)陣數(shù)字的識(shí)別有效性,進(jìn)行了如下實(shí)驗(yàn)。選取印有“生產(chǎn)日期”字符的瓶蓋80個(gè),并獲取其數(shù)字圖像,分別用基于高斯核的RBF神經(jīng)網(wǎng)絡(luò)判別法和模板匹配法進(jìn)行測(cè)試比較,兩種方式的正確識(shí)別率結(jié)果如表1所示。
表1 兩種方式的正確識(shí)別率比較
針對(duì)噴碼點(diǎn)陣字符辨識(shí)的困難,采用基于高斯核的RBF神經(jīng)網(wǎng)絡(luò)分類算法,重點(diǎn)實(shí)現(xiàn)樣本分類訓(xùn)練模型與分類器設(shè)計(jì)。通過實(shí)驗(yàn)驗(yàn)證了該方法與模板匹配法相比,有效地提高了識(shí)別的準(zhǔn)確度。因此,該識(shí)別方法對(duì)點(diǎn)陣字符的自動(dòng)檢測(cè)與識(shí)別,有很好的適應(yīng)性。