国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于HALCON的噴碼字符識別技術(shù)的研究與實(shí)現(xiàn)

2015-08-14 21:26:30肖???/span>葛廣英姚坤尹紅敏
現(xiàn)代電子技術(shù) 2015年15期

肖?? 「饛V英 姚坤 尹紅敏

摘 要: 為了實(shí)現(xiàn)產(chǎn)品包裝上噴碼字符高效、快速、準(zhǔn)確地識別,設(shè)計(jì)了一種基于HALCON的噴碼字符識別系統(tǒng)。首先采用四次不同結(jié)構(gòu)元素的閉運(yùn)算準(zhǔn)確提取字符,然后再采用BP網(wǎng)絡(luò)訓(xùn)練樣本,根據(jù)字符的特征對樣本進(jìn)行分類,生成相應(yīng)的字符庫,并調(diào)用該字符庫讀取字符,進(jìn)而識別出字符符號。實(shí)驗(yàn)結(jié)果表明,這種方法運(yùn)算速度快、準(zhǔn)確性高。

關(guān)鍵詞: 噴碼字符; HALCON; 閉運(yùn)算; BP網(wǎng)絡(luò)

中圖分類號: TN911.73?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2015)15?0095?04

Research and implementation of ink?jetted code character recognition

technology based on HALCON

XIAO Haijun1, 2, GE Guangying1, 2, YAO Kun1, 2, YIN Hongmin1, 2

(1. College of Physical Science and Information Engineering, Liaocheng University, Liaocheng 252059, China;

2. Shandong Key Laboratory of Optical Communication Science and Technology, Liaocheng 252059, China)

Abstract: To realize efficient, rapid and accurate ink?jetted code character recognition on product packaging, an ink?jetted code character recognition system based on HALCON was designed. The closed operation of four different structural elements is adopted to extract the character. The samples are trained by using BP network, and classified on the basis of character features. Then the relevant character library is generated. The character is read by calling the character library to recognize character symbols. The experimental results show that this method has fast operation speed and high accuracy.

Keywords: ink?jetted code character; HALCON; closed operation; BP network

0 引 言

隨著科學(xué)技術(shù)的發(fā)展,在大規(guī)模的產(chǎn)品包裝流水線生產(chǎn)中,要進(jìn)行噴碼操作,噴碼印刷是飲料、食品、煙酒、化妝品、藥品、電纜等包裝印刷企業(yè)使用比較普遍的一種方法。操作的不穩(wěn)定性往往會(huì)產(chǎn)生漏噴和錯(cuò)噴等現(xiàn)象,所以需要在噴碼之后進(jìn)行噴碼質(zhì)量的檢測。傳統(tǒng)的方式為人工檢測,由于人工檢測需要大量人工,成本高,人眼易疲勞,穩(wěn)定性差,速度慢,而自動(dòng)化、集成化生產(chǎn)是現(xiàn)代工業(yè)生產(chǎn)的趨勢,所以需要一種新的方式替代人工,進(jìn)行產(chǎn)品質(zhì)量無接觸自動(dòng)檢測[1?2],實(shí)現(xiàn)高速度、高精度、實(shí)時(shí)性、自動(dòng)化的生產(chǎn)。

HALCON是德國MVtec公司開發(fā)的具有強(qiáng)大功能的圖像處理軟件,它擁有應(yīng)用廣泛的機(jī)器視覺集成開發(fā)環(huán)境,并且含有一個(gè)非常完善的函數(shù)庫,包含定位、匹配、識別等高級算法,能夠進(jìn)行圖像獲取、模板匹配、Blob分析、邊緣提取、測量、識別等,HALCON是世界公認(rèn)的具有最佳效果的機(jī)器視覺處理軟件[3]。

本文使用HALCON軟件進(jìn)行噴碼字符識別,在獲取圖像之后進(jìn)行圖像預(yù)處理、獲取感興趣區(qū)域、字符提取、字符識別。在字符提取時(shí)采用數(shù)學(xué)形態(tài)學(xué)濾波,與以往不同的是采用四次不同結(jié)構(gòu)元素的形態(tài)學(xué)操作,將每個(gè)字符獨(dú)立的點(diǎn)陣連在一起以便于提取,此方法能夠快速、準(zhǔn)確地提取字符。目前常用的字符識別方法有模板匹配法[4?5]和基于人工神經(jīng)網(wǎng)絡(luò)算法[6?7],本文采用基于人工神經(jīng)網(wǎng)絡(luò)算法進(jìn)行字符識別,首先由BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練樣本,根據(jù)字符的特征對樣本進(jìn)行分類,生成相應(yīng)的字符庫,然后調(diào)用該字符庫讀取字符,進(jìn)而識別出字符符號。

1 系統(tǒng)組成框架

系統(tǒng)硬件結(jié)構(gòu)圖如圖1所示,整個(gè)系統(tǒng)主要由產(chǎn)品運(yùn)送模塊、圖像采集模塊、軟件處理模塊組成。產(chǎn)品運(yùn)送模塊主要是利用傳送帶將待檢測產(chǎn)品運(yùn)送到特定的檢測區(qū)域;圖像采集模塊包括相機(jī)和光源,為了達(dá)到更加精確地檢測結(jié)果這一目的,在選擇合適的相機(jī)和光源之后,還要對相機(jī)和光源進(jìn)行位置和角度的調(diào)整,從而保證采集到高質(zhì)量的圖像;軟件處理模塊主要是采用HALCON圖像處理軟件,對采集到的圖像首先進(jìn)行預(yù)處理,然后進(jìn)行形態(tài)學(xué)濾波[8?9],獲取字符,最后進(jìn)行字符識別,字符識別前需要進(jìn)行字符訓(xùn)練,建立相應(yīng)的字符庫,用該庫讀取字符。

圖1 硬件系統(tǒng)結(jié)構(gòu)圖

2 圖像處理

本文采用HALCON軟件進(jìn)行圖像處理,首先通過相機(jī)采集到待檢測產(chǎn)品的圖像,并將采集到的圖像傳送到計(jì)算機(jī);然后對采集到的圖像進(jìn)行預(yù)處理,包括彩色圖像灰度變換,字符角度調(diào)整;由于相機(jī)視野較大,而字符只占一部分區(qū)域,整幅圖像處理起來耗時(shí)較長,所以要獲取感興趣區(qū)域[10];在提取字符時(shí),由于字符為點(diǎn)陣字符,要進(jìn)行形態(tài)學(xué)處理以方便字符的提??;最后采集樣本訓(xùn)練光學(xué)字符識別(Optical Character Recognition,OCR),生成相應(yīng)的字符庫,并用該庫讀取字符。圖像處理的流程圖如圖2所示。

圖2 圖像處理流程圖

2.1 圖像獲取

由于光源對圖像的質(zhì)量影響非常大,為了減小誤差,在選擇好光源和相機(jī)的同時(shí)還要調(diào)整好相機(jī)和光源的位置以及角度,然后調(diào)用HALCON中的read_image()算子讀取相機(jī)采集到的圖像。采集到的圖像如圖3(a)所示。

2.2 圖像預(yù)處理

采集到的圖像一般為彩色圖像,在圖像處理之前要先調(diào)用rgb1_to_gray()算子對彩色圖像進(jìn)行灰度變換,處理后的圖像如圖3(b)所示?;叶茸儞Q的公式如下:

[fx,y=0.299Rx,y+0.587Gx,y+0.114Bx,y] (1)

式中:[fx,y]表示彩色圖像轉(zhuǎn)換為灰度圖像之后的像素灰度值;[Rx,y]表示彩色圖像每個(gè)像素紅色分度值;[Gx,y]表示彩色圖像每個(gè)像素的綠色分度值;[Bx,y]表示彩色圖像每個(gè)像素的藍(lán)色分度值。

圖3 處理后的圖像

在噴嗎的過程中,由于物體的角度、物體的運(yùn)行速度等因素影響,噴碼字符有可能會(huì)發(fā)生歪斜、不整齊等情況,為了更精確地識別噴碼字符,首先要將字符調(diào)整為水平。操作過程為:首先調(diào)用HALCON中的text_line_ orientation()算子計(jì)算出圖像中噴碼字符的角度,然后利用rotate_image()算子按照上一步計(jì)算出的角度進(jìn)行角度調(diào)整,旋轉(zhuǎn)后的圖像如圖3(c)所示。

2.3 獲取感興趣區(qū)域

由于相機(jī)的視野較大,噴碼字符只占被采集圖像的一部分區(qū)域,為了減少工程計(jì)算量提高計(jì)算效率,圖像處理過程中的感興趣區(qū)域(Region of Interest,ROI)的提取是必不可少的。其具體操作步驟如下:

(1) 調(diào)用threshold()算子對角度調(diào)整后的圖像進(jìn)行灰度閾值變換,獲取字符區(qū)域;

(2) 調(diào)用connection()算子計(jì)算區(qū)域的連通域,并利用seclect?shap()算子選擇字符區(qū)域;

(3) 調(diào)用area?center()算子獲取字符區(qū)域中心,然后利用gen_rectangle2()得到一個(gè)包含全部噴碼字符的矩形區(qū)域;

(4) 調(diào)用reduce_domain()截取感興趣區(qū)域,如圖4所示。

圖4 獲取ROI后的圖像

2.4 形態(tài)學(xué)處理

由于噴碼字符為5列7行的點(diǎn)陣型字體,如果直接進(jìn)行OCR字符識別,噴碼的質(zhì)量對識別結(jié)果的影響很大。為了排除點(diǎn)陣的變形對字符識別的影響,需要將圖像進(jìn)行形態(tài)學(xué)處理,形態(tài)學(xué)的基本思想就是用具有一定形態(tài)的結(jié)構(gòu)元素提取圖像中對應(yīng)的形狀,從而實(shí)現(xiàn)對圖像的分析和識別。

腐蝕和膨脹是形態(tài)學(xué)兩種最基本的運(yùn)算,腐蝕運(yùn)算公式為:

[AΘB=zB?A] (2)

上式表示B對A的腐蝕作用,就是在A內(nèi)平移B,平移過程中B完全包含在A內(nèi)所有參考點(diǎn)的集合,其中集合A和集合B都在Z2中,腐蝕效果如圖5(a)所示。膨脹運(yùn)算公式為:

[A⊕B=zBz≠?] (3)

上式表示B對A的膨脹作用,就是在A內(nèi)平移B,平移過程中B與A至少有一個(gè)公共點(diǎn)的所有參考點(diǎn)集合,其中集合A和集合B都在Z2中,膨脹效果如圖5(b)所示。

圖5 腐蝕與膨脹示意圖

本文字符提取主要采用四次不同結(jié)構(gòu)元素的閉運(yùn)算,閉運(yùn)算具有填充細(xì)小空洞,連接鄰近物體,在不明顯改變物體面積的情況下平滑其邊界的作用,能夠擴(kuò)大前景收縮背景。閉運(yùn)算就是對灰度圖像先膨脹后腐蝕的運(yùn)算方式,閉運(yùn)算公式為:

[A?B=A⊕BΘB] (4)

為了得到更加清晰的噴碼字符,在閉運(yùn)算操作之前要調(diào)用dots_image()算子對圖像進(jìn)行噴碼圓點(diǎn)增強(qiáng)處理,突出圖像中的點(diǎn)陣,然后調(diào)用threshold()算子對點(diǎn)陣增強(qiáng)后的圖像進(jìn)行閾值處理,處理后的圖像如圖6所示。

圖6 處理后的圖像

調(diào)用closing_rectangle1()算子使用水平矩形結(jié)構(gòu)元素對字符進(jìn)行閉運(yùn)算,填充水平方向的空洞,同理使用豎直矩形結(jié)構(gòu)元素進(jìn)行閉運(yùn)算,可以填充豎直方向的空洞。由于每個(gè)字符之間的間距較小,并且可能存在點(diǎn)陣傾斜、偏移的情況,如果只使用水平矩形結(jié)構(gòu)元素或者豎直矩形結(jié)構(gòu)元素膨脹,幅度過小無法使每個(gè)字符的點(diǎn)陣連在一起,幅度過大很可能使字符粘連,無法分割字符,所以選擇使用對角線結(jié)構(gòu)元素填充對角線上的空洞,這里首先調(diào)用gen_rectangle2()算子獲得對角線結(jié)構(gòu)元素,然后調(diào)用closing()算子,可以填充一條對角線上的空洞,同理重復(fù)以上操作填充另一對角線上的空洞,經(jīng)過以上操作可以將每個(gè)字符連到一起以方便字符的提取,形態(tài)學(xué)處理后的圖像如圖7所示。

圖7 形態(tài)學(xué)處理后的圖像

2.5 字符分割

由于每個(gè)字符的高度和寬度是特定的,字符分割采用基于字符面積和高度的連通域分割,首先調(diào)用connection()算子將圖像中的所有字符分割成單獨(dú)的個(gè)體;然后調(diào)用 select_shape()算子對面積和高度進(jìn)行過濾,選出面積中像素在2 363和4 428之間的部分以及像素高度在120和146之間的部分;最后調(diào)用sort_region()算子排列已經(jīng)分割出單個(gè)的字符。圖8為字符分割后的圖像。

圖8 字符分割后的圖像

2.6 字符識別

HALCON 中含有多種字體的字符庫,在很多情況下都可以直接調(diào)用相應(yīng)的庫識別字符,但是發(fā)現(xiàn)直接利用已有庫識別字符,識別率和預(yù)期的有一些差別,所以要對以上處理過的字符進(jìn)行訓(xùn)練。這里使用的訓(xùn)練方式是基于BP(Back Propagation)三層神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,訓(xùn)練文件生成過程中,要用到大量的字符樣本, 這些樣本取自100幅圖像中的50幅,其余50幅用來做識別。

BP神經(jīng)網(wǎng)絡(luò)是1986年由Rumelhart和McCelland為首的科學(xué)家小組提出的,是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò),是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。BP神經(jīng)網(wǎng)絡(luò)包括輸入層、隱層和輸出層,其中隱層可以為一個(gè)或多個(gè),結(jié)構(gòu)如圖9所示。[n,p,m]分別表示輸入層、隱層、輸出層神經(jīng)元的個(gè)數(shù),[W1,][W0,][θH,][θo]分別表示輸入層到隱層的權(quán)重、隱層到輸出層的權(quán)重、隱層的閾值、輸出層的閾值。

第[q]個(gè)輸入樣本[Xn]首先由輸入層神經(jīng)元傳送到隱層神經(jīng)元,經(jīng)過隱層函數(shù)變換作用得到隱層的輸出信息[Hjq:]

[Hjq=fi=1nW1ijXq-θHj, j=1,2,…,p;q=1,2,…,Q] (5)

式中:[W1ij]表示輸入層的第i個(gè)神經(jīng)元到隱層的第j個(gè)神經(jīng)元的權(quán)重;[θHj]表示隱層的第j個(gè)神經(jīng)元的閾值;訓(xùn)練樣本的個(gè)數(shù)為[Q。]隱層的函數(shù)[fx]采用S型函數(shù),即:

[fx=11+e-x, 0

圖9 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

然后隱層的輸出信息傳送到輸出層,最后輸出處理結(jié)果,完成一次正向傳播,輸出結(jié)果[Ykq]為:

[Ykq=fj=1nW0jkHjq-θok,k=1,2,…,m;q=1,2,…,Q] (7)

式中:[W0jk]表示隱層第j個(gè)神經(jīng)元到輸出層第k個(gè)神經(jīng)元的權(quán)重;[θok]表示輸出層第k個(gè)神經(jīng)元的閾值。

當(dāng)輸出的結(jié)果與預(yù)期的結(jié)果有誤差存在時(shí),則轉(zhuǎn)換到誤差反向傳播,誤差經(jīng)輸出層按照公式(8)修正各層的權(quán)值,并向隱層、輸入層逐層反轉(zhuǎn),信息反復(fù)不斷地正向傳播和誤差反向傳播使誤差減小到最小。[ΔW(t+1)=η?E?W+αΔWt] (8)

式中:[ΔW(t)]表示第[t]次訓(xùn)練的權(quán)值;[η,][α,][E]分別表示比例系數(shù)、動(dòng)量系數(shù)和誤差平方和,[E]的表達(dá)式為:

[E=12k=1mq=1QYq-tq2] (9)

訓(xùn)練過程中,神經(jīng)網(wǎng)絡(luò)的輸出神經(jīng)元的個(gè)數(shù)為2,為了確定輸入神經(jīng)元的個(gè)數(shù),將分割后大小不一的字符統(tǒng)一成8×12大小的圖像進(jìn)行訓(xùn)練,訓(xùn)練字符提取了8×12個(gè)字符特征,所以輸入神經(jīng)元為96個(gè)。由于隱層神經(jīng)元個(gè)數(shù)一般為輸入神經(jīng)元個(gè)數(shù)的2倍,實(shí)驗(yàn)過程中隱層神經(jīng)元的個(gè)數(shù)在192附近變動(dòng),由實(shí)驗(yàn)可得隱層神經(jīng)元個(gè)數(shù)為190時(shí)效果最好。

字符識別是通過read_ocr_class_mlp()算子調(diào)用已創(chuàng)建的分類器,利用do_ocr_multi_class_mlp()算子根據(jù)字符的特征計(jì)算出字符的類,將類返還到數(shù)組中,并返回類的置信度。最后利用for循環(huán)在窗口上顯示字符串。圖10為識別后的圖像。

圖10 識別后的圖像

3 結(jié) 語

實(shí)驗(yàn)中采用PC機(jī)型號core i3,2G內(nèi)存和HALCON的環(huán)境對伊利盒裝純牛奶頂面的噴碼字符進(jìn)行識別,本文共采集100幅圖像,利用HALCON軟件對其中50幅圖像做訓(xùn)練,對另外50幅圖像做識別,平均每0.283 s能夠識別一幅圖像,識別率達(dá)到96%。經(jīng)實(shí)驗(yàn)證明,本文提出的四次不同結(jié)構(gòu)元素閉運(yùn)算字符提取的方法簡單可行,同時(shí)基于BP神經(jīng)網(wǎng)絡(luò)的字符識別能夠增大字符庫、提高識別效率?;贖ALCON的噴碼字符識別可以代替人工,自動(dòng)識別產(chǎn)品包裝上噴碼字符,實(shí)現(xiàn)高速度、高精度、實(shí)時(shí)性、自動(dòng)化生產(chǎn)。隨著科學(xué)技術(shù)的發(fā)展,這種基于機(jī)器視覺軟件的操作將逐漸代替人眼,在產(chǎn)品生產(chǎn)、包裝等方面具有極大的實(shí)用價(jià)值。

參考文獻(xiàn)

[1] 孫懷遠(yuǎn),楊麗英,周夫之.基于機(jī)器視覺技術(shù)的藥品瓶包裝在線檢測系統(tǒng)[J].自動(dòng)化與控制,2011(2):46?50.

[2] 彭曉輝.基于HALCON的IC卡噴碼符號識別技術(shù)研究與實(shí)現(xiàn)[D].廣州:廣東工業(yè)大學(xué),2006.

[3] 郭佳寅,岳秀江,吳雙,等.基于HALCON的乳制品箱體噴碼字符識別方法研究[J].制造業(yè)自動(dòng)化,2013(3):21?22.

[4] 項(xiàng)輝宇,劉倩倩,黃佳軍,等.基于HALCON的字符識別及缺陷檢測[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2014,27(2):77?79.

[5] 李志強(qiáng),項(xiàng)輝宇,李哲.OCR在印刷字符實(shí)時(shí)檢測系統(tǒng)中的應(yīng)用[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2013,26(3):129?130.

[6] 張銀蘋,葛廣英.基于HALCON的車牌識別研究[J].現(xiàn)代電子技術(shù),2014,37(16):92?95.

[7] 朱正禮.基于三層BP神經(jīng)網(wǎng)絡(luò)的字符識別系統(tǒng)的實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī),2006(10):93?95.

[8] 王征.一種基于數(shù)學(xué)形態(tài)學(xué)的邊緣檢測方法[J].計(jì)算機(jī)與數(shù)字工程,2012,40(2):102?104.

[9] 焦圣喜,張善東.機(jī)加工件點(diǎn)陣字符識別研究[J].河南科技,2014(3):13?14.

[10] 趙婷婷,唐晶磊,黃志遠(yuǎn),等.基于孤立像素點(diǎn)去除的車牌ROI區(qū)域快速定位方法研究[J].現(xiàn)代計(jì)算機(jī),2014(9):46?50.

乾安县| 兴安县| 喀喇| 土默特右旗| 荣昌县| 莆田市| 贵定县| 安福县| 蛟河市| 麦盖提县| 高安市| 柘城县| 托克逊县| 来宾市| 庄浪县| 广宗县| 建德市| 文登市| 象州县| 安化县| 安顺市| 禹州市| 旺苍县| 中卫市| 盐津县| 鄂伦春自治旗| 台北县| 宜阳县| 西和县| 江陵县| 新竹县| 武义县| 莎车县| 江都市| 芦山县| 崇明县| 冷水江市| 云龙县| 麟游县| 麻阳| 华池县|