楊 張
(深圳職業(yè)技術(shù)學(xué)院,深圳 518055)
復(fù)雜背景中條碼圖像識(shí)別關(guān)鍵算法的研究
楊 張
(深圳職業(yè)技術(shù)學(xué)院,深圳 518055)
研究了復(fù)雜背景圖片中條碼的定位及識(shí)別技術(shù).通過特征提取、形態(tài)學(xué)的方法在低分辨率圖像中對(duì)條碼進(jìn)行粗定位,以粗定位的結(jié)果為研究對(duì)象,采用邊緣提取及灰度投影的方法對(duì)條碼進(jìn)行精確定位.提出了一種新的二值化算法,算法利用條碼的固有特征得到圖像的全局信息,利用全局與局部相結(jié)合的方法獲取子圖像塊的最優(yōu)閾值.實(shí)驗(yàn)結(jié)果表明,本文算法能有效地去除復(fù)雜背景對(duì)條碼識(shí)別的影響,且算法具有較低的復(fù)雜度,能在嵌入式平臺(tái)上實(shí)時(shí)運(yùn)行.
條形碼;圖像識(shí)別;特征提?。粩?shù)學(xué)形態(tài)學(xué);二值化
隨著信息技術(shù)的高速發(fā)展,條碼技術(shù)經(jīng)過多年的發(fā)展,已廣泛應(yīng)用于生活的方方面面,在許多智能識(shí)別系統(tǒng)中需對(duì)條碼進(jìn)行識(shí)別[1].目前,采用光電或圖像技術(shù)的條碼識(shí)別設(shè)備已非常成熟,但在一些大型智能識(shí)別系統(tǒng)中,識(shí)別內(nèi)容除條碼外,往往還需識(shí)別一些如文字、圖形、符號(hào)等信息,此時(shí)應(yīng)用環(huán)境使得采集到的圖片具有尺寸大、背景復(fù)雜的特點(diǎn),給條碼的定位及識(shí)別帶來了困難.
條碼圖像識(shí)別系統(tǒng)主要包括條碼定位分割與識(shí)別兩部分.條碼定位利用條碼的固有特征去除圖像中的背景信息,常用的特征有對(duì)比度[2]、梯度[3]、角點(diǎn)[3]、邊緣[2]、頻域特征[5]等,條碼的準(zhǔn)確定位對(duì)特征的選取有著較高的要求,同時(shí),復(fù)雜的背景下往往伴隨著巨大的數(shù)據(jù)量,因而如何設(shè)計(jì)復(fù)雜度低、準(zhǔn)確率高的定位算法成為研究的難點(diǎn).條碼圖像識(shí)別的難點(diǎn)在于圖像二值化算法的設(shè)計(jì)上,二值化的基本要求是圖像能夠忠實(shí)的再現(xiàn)條碼的寬度及個(gè)數(shù).常用的二值化算法有全局閾值法和局部閾值法,全局閾值方法的優(yōu)點(diǎn)在于算法簡(jiǎn)單,但對(duì)輸入圖像量化噪聲或不均勻光照等情況的抵抗能力差,局部閾值擇不當(dāng)容易造成偽影和斷點(diǎn)[6].針對(duì)目前存在的這些問題,本文對(duì)復(fù)雜背景圖片中條形碼的定位及二值化算法進(jìn)行了深入的研究,所設(shè)計(jì)的算法能夠很好的兼顧算法性能和復(fù)雜度的矛盾,所設(shè)計(jì)的系統(tǒng)能夠在嵌入式平臺(tái)上實(shí)時(shí)運(yùn)行.
通過前面的分析可知,條碼的定位面臨兩個(gè)難題,一是如何選擇有效的特征將條碼與復(fù)雜背景進(jìn)行區(qū)分,二是面對(duì)大尺寸圖像龐大的數(shù)據(jù)量時(shí)如何有效的降低算法復(fù)雜度[7].本文在現(xiàn)有研究的基礎(chǔ)上,提出將定位過程分為粗定位和精確定位兩個(gè)步驟.粗定位在低分辨率圖像中完成,有效的降低了復(fù)雜的特征提取算法所要面對(duì)的數(shù)據(jù)量,精確定位則是對(duì)粗定位結(jié)果進(jìn)行進(jìn)一步的處理,以保證結(jié)果的精確性.本文條碼定位算法的流程如圖1所示.
圖1 條碼定位流程
1.1.1 圖像縮放
對(duì)一維條形碼圖像進(jìn)行分析,可知圖像每一行所代表的信息相同,在垂直方向上存在信息冗余;在水平方向上,條空的像素寬度決定著條碼的編碼值,但對(duì)條碼圖像特征沒有影響.因而在定位時(shí),可在不影響條碼圖像特征的情況下對(duì)源圖像進(jìn)行適當(dāng)?shù)目s放,以減少特征提取所要面對(duì)的數(shù)據(jù)量.假設(shè)源圖像的高度為H,寬度為W,縮放比例分別為rh和rw,則縮放后的高度與寬度如式(1)所示,在本文,取rh=3,rw=2.
1.1.2 特征提取
將縮放后的圖像分成64*64的圖像塊,對(duì)每個(gè)圖像塊進(jìn)行特征分析.本文選用的特征有梯度[3]、方向邊緣強(qiáng)度和線性尺度[2],其中梯度利用了條空變化頻繁的特征,方向邊緣強(qiáng)度強(qiáng)調(diào)條碼區(qū)域在某個(gè)方向上具有較強(qiáng)的方向邊緣,線性尺度強(qiáng)調(diào)圖像塊的邊緣中存在一定數(shù)量的平行邊緣線.上述三個(gè)特征的復(fù)雜度逐次增加,判決條碼區(qū)域的能力也逐次增強(qiáng).對(duì)每個(gè)圖像塊,按照上述特征的順序進(jìn)行提取,若圖像塊不滿足某個(gè)圖像塊的特征,則認(rèn)為該圖像塊不包含條碼區(qū)域,不對(duì)其進(jìn)行后續(xù)特征的提取,若3個(gè)特征都滿足,則認(rèn)為該圖像塊中包含條碼區(qū)域.圖2顯示經(jīng)特征刪選后的圖像.
圖2 特征刪選后的結(jié)果
1.1.3 形態(tài)學(xué)處理
從上圖中可看出,所選用的特征能去除圖像中大部分背景信息,但仍有不成規(guī)模的圖像塊存在.現(xiàn)生成一幅新圖像,新圖像中的每個(gè)像素點(diǎn)對(duì)應(yīng)縮放后圖像的每個(gè)圖像塊,經(jīng)特征刪選后,若圖像塊屬于條碼區(qū)域,則將新圖像對(duì)應(yīng)的像素點(diǎn)的灰度值為1,否則為0.對(duì)新圖像進(jìn)行形態(tài)學(xué)開運(yùn)算,去除圖像中的孤立點(diǎn),結(jié)果如圖3所示.從圖3(b)可看出,經(jīng)形態(tài)學(xué)處理后,連通區(qū)域最大的那部分即為條碼所在的區(qū)域.在實(shí)踐中,考慮到分塊對(duì)邊界的影響,將坐標(biāo)擴(kuò)大一個(gè)圖像塊的寬度,本文算法粗定位后的結(jié)果如圖4(a)所示.
圖3 形態(tài)學(xué)處理
圖4 粗定位后的結(jié)果
利用Sobel算子[8]對(duì)圖4(a)進(jìn)行垂直方向邊緣的提取,結(jié)果如圖4(b)所示.從圖中可看出,條碼區(qū)域的垂直邊緣比較密集,且其上下有兩個(gè)明顯的空白區(qū).對(duì)邊緣圖像的行進(jìn)行白點(diǎn)數(shù)目統(tǒng)計(jì),可知,白點(diǎn)數(shù)目多且連續(xù)行數(shù)最大的就是條碼所在的區(qū)域,這樣便可確定條碼的上下邊界的準(zhǔn)確位置,定位后的結(jié)果如圖5(a)所示.
圖5 條碼圖像的精確定位
對(duì)上下邊界定位后的圖片(見圖5(a))做垂直方向上的投影,得到投影向量gpro,如圖5(b)所示,向量的維數(shù)為n,用長(zhǎng)度為[n/30]的窗口進(jìn)行濾波,濾波后的向量為gproNew,如圖5(c)所示,濾波器的工作原理是:若窗口內(nèi)信號(hào)的最大值與最小值的差值大于某閾值T,對(duì)應(yīng)輸出信號(hào)為1,否則,輸出信號(hào)為0.濾波后,信號(hào)中值為1的點(diǎn)表示條碼區(qū)域,為0的點(diǎn)表示非條碼區(qū)域,以此對(duì)條碼左右邊界進(jìn)行定位.若gproNew[n/2]=0,則認(rèn)為條碼定位失敗,否則,以該點(diǎn)為起點(diǎn)向左/右搜索,遇到0時(shí)停止搜索,并將該點(diǎn)的坐標(biāo)作為條碼區(qū)域的左/右邊界.定位后的結(jié)果如圖5(d)所示.
本文針對(duì)全局閾值與局部閾值算法的若干缺陷,借鑒車牌圖像的二值化[9-10],提出了一種全局與局部相結(jié)合的二值化算法.算法利用標(biāo)準(zhǔn)條碼的條空像素比例及條碼圖像的邊緣統(tǒng)計(jì)特性得到一個(gè)全局閾值和條空的平均像素寬度.以像素平均寬度為依據(jù)對(duì)圖像進(jìn)行分塊,采用子窗口分割的方法解決光照不均勻?qū)Χ祷瘞淼挠绊懀瑢?duì)每個(gè)子圖像塊,利用局部灰度均值與全局均值,確定子圖像閾值的合理范圍,在該范圍內(nèi)采用最大類間方差法[11]得到最優(yōu)的局部閾值,以此對(duì)圖像進(jìn)行二值化.
(1)全局閾值:一維條形碼由一組黑白相間的條空組成,黑白像素比例在0.25~0.75之間,且大部分條形碼的這一數(shù)值在0.5左右.因而在實(shí)際應(yīng)用過程中,可以利用這一信息得到圖像的一個(gè)全局閾值T1,作為圖像二值化的一個(gè)參考閾值,全局閾值的求取方法如式(2)示,式中hist[i]表示灰度直方圖,W、H 分別表示圖像的像素寬度和高度.
(2)條空平均像素寬度:以128碼為例,一個(gè)字符有11個(gè)單位模塊,6個(gè)條空,條空的平均單位模塊數(shù)為n1=11/6.若知道條空的平均像素寬度,就能估算出單位模塊的像素寬度,進(jìn)一步可計(jì)算出條空的最大像素寬度,以大于該寬度的值作為圖像分塊的依據(jù),便能保證子圖像塊中同時(shí)包含前景和背景.利用Canny算子對(duì)定位后的圖像進(jìn)行垂直邊緣提取,可知,條空的邊界在邊緣圖像中為白點(diǎn).在這里,論文做一個(gè)合理的假設(shè),假設(shè)邊緣圖像的每一行有一半的邊緣點(diǎn)合理.在此假設(shè)下,可對(duì)每行相鄰白點(diǎn)間的距離進(jìn)行統(tǒng)計(jì),去除最大/最小的四分之一個(gè)距離,將余下的距離的平均值作為該行的條空像素平均寬度.對(duì)整幅圖像,去除行條空像素平均寬度最大/最小的四分之一個(gè)點(diǎn),對(duì)余下的點(diǎn)取平均值作為整幅圖像的平均像素寬度bspM.
假設(shè)輸入的條碼灰度圖像為F,圖像高度H,圖像寬度W,f(i,j)表示圖像中第i行、第j列對(duì)應(yīng)的像素點(diǎn)的灰度值,則本文算法可描述如下:
(1)對(duì)輸入圖像F進(jìn)行垂直方向上的中值濾波,濾波后圖像為F1,則有:
式中median表示向量的中值運(yùn)算;
(2)按照上一節(jié)的方法提取全局閾值T1和條空平均像素寬度bspM;
(3)按下式求取圖像的平均灰度值;
(4)將圖像分成n塊,n的取值如式(5)所示;
(5)對(duì)每個(gè)子塊fi,按照式(4)求其均值 meanfi,并由式(6)、(7)確定圖像塊二值化閾值所在的范圍,并在該范圍內(nèi)運(yùn)用最大類間方差法對(duì)圖像塊進(jìn)行二值化.
本文結(jié)合條碼圖像的特征,通過邊緣提取統(tǒng)計(jì)圖像中條空的平均像素寬度,以此為依據(jù)利用子窗口分割法對(duì)圖像進(jìn)行二值化,算法有效的利用了條碼圖像的全局與局部信息,與傳統(tǒng)的全局閾值算法OTSU相比,本文算法能夠有效的避免光照不均勻帶來的影響,與傳統(tǒng)的局部二值化算法Bernsen算法相比,能夠避免由算法局部窗口選取的不合理而產(chǎn)生的偽影、斷筆現(xiàn)象;同時(shí),近年來也有學(xué)者在條碼的二值化上進(jìn)行過研究,如文獻(xiàn)[3-4],圖6為本文算法和傳統(tǒng)算法及文獻(xiàn)算法的效果圖,從圖中可看出,本文算法在處理非均勻光照?qǐng)D片具有一定的優(yōu)勢(shì).
圖6 二值化效果圖
為驗(yàn)證本文算法的有效性和準(zhǔn)確性,采用深圳市供電局提供的500幅電表圖像在嵌入式開發(fā)平臺(tái)UT-S3C6410上對(duì)本文算法進(jìn)行測(cè)試,嵌入式平臺(tái)的核心處理器為ARM11,主頻為667MHz,內(nèi)存為128M.首先利用C語言對(duì)條碼圖像識(shí)別系統(tǒng)進(jìn)行實(shí)現(xiàn),并以動(dòng)態(tài)鏈接庫的形式進(jìn)行封裝,在Visual Studio 2005軟件上完成嵌入式測(cè)試軟件的開發(fā).
圖7為測(cè)試軟件的效果圖,圖中分別給出了光照均勻和非均勻情況下條碼定位與識(shí)別的結(jié)果.通過對(duì)本文算法的準(zhǔn)確率的測(cè)試,本文定位算法能對(duì)500幅圖片中的471幅圖片進(jìn)行準(zhǔn)確的定位,定位準(zhǔn)確率達(dá)到94.2%,識(shí)別算法能對(duì)定位成功圖片中的447幅進(jìn)行正確的識(shí)別,識(shí)別算法的準(zhǔn)確率為95%.通過對(duì)算法的復(fù)雜度的測(cè)試,在嵌入式平臺(tái)上定位算法的平均耗時(shí)為0.912s,識(shí)別算法的平均耗時(shí)為0.124s,系統(tǒng)其余部分耗時(shí)0.231s,條碼圖像識(shí)別系統(tǒng)平均耗時(shí)為1.267s,基本上滿足實(shí)時(shí)操作的性能.
圖7 嵌入式測(cè)試軟件運(yùn)行圖
論文通過對(duì)傳統(tǒng)條碼定位算法中存在的不足進(jìn)行深入的分析,提出將定位過程分成粗定位和精確定位兩個(gè)步驟,復(fù)雜度高的特征提取部分在低分辨率圖像中完成,在保證算法準(zhǔn)確率的同時(shí)降低了算法的復(fù)雜度.在條碼圖像的二值化過程中,本文提出通過條碼的固有特征得到圖像的全局信息,即全局閾值和條空平均寬度,有效的利用這些信息通過子窗口分割法完成二值化算法,有效的避免了復(fù)雜背景圖片中光照不均勻?qū)Χ祷惴ㄐ阅茉斐傻挠绊?實(shí)驗(yàn)結(jié)果表明,本文算法具有較高的準(zhǔn)確率,所設(shè)計(jì)的系統(tǒng)能在嵌入式系統(tǒng)上實(shí)時(shí)運(yùn)行.下一步的研究重點(diǎn)是大尺寸圖片中多條碼并存下的條碼定位與識(shí)別算法的研究.
[1]于忠清.基于圖像處理的嵌入式條碼識(shí)別系統(tǒng)及應(yīng)用研究[D].青島:中國(guó)海洋大學(xué)物理海洋學(xué)博士學(xué)位論文,2007.
[2]劉寧鐘.復(fù)雜背景中條碼檢測(cè)定位技術(shù)的研究[J].南京航空航天大學(xué)學(xué)報(bào),2005,37(1):64-69.
[3]王霞玲,呂 岳,文 穎.復(fù)雜背景和非均勻光照環(huán)境下的條碼自動(dòng)定位和識(shí)別[J].智能系統(tǒng)學(xué)報(bào),2010,5(1):35-40.
[4]胡 鯤.條碼的數(shù)字圖像識(shí)別技術(shù)在電力抄表系統(tǒng)中的應(yīng)用[D].廈門大學(xué)控制工程碩士學(xué)位論文,2009.
[5]Tropf A.,Chai D..Locating 1-D Bar Codes in Dct-Domain[C].Proceedings of the 2006Congress on A-coustics,Speech and Signal Processing,2006,2:741-744.
[6]吳 銳,黃劍華,等.基于灰度直方圖和譜聚類的文本圖像二值化方法[J].電子與信息學(xué)報(bào),2009,31(10):2460-2464.
[7]范永法,姚 俊.有復(fù)雜背景的條碼圖像實(shí)時(shí)處理的研究[J].儀器儀表學(xué)報(bào),2004,24(7):1042-1044.
[8]岡薩雷斯.數(shù)字圖像處理[M].北京:電子工業(yè)出版社,2005.
[9]張 引.基于空間分布的最大類間方差牌照?qǐng)D像二值化算法[J].浙江大學(xué)學(xué)報(bào)(工學(xué)版),2001,35(3):272-280.
[10]吳 煒,薛 磊,等.基于改進(jìn)差分邊緣檢測(cè)法的車牌字符二值化算法[J].四川大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,43(6):1253-1258.
[11]N.Otsu.A Threshold Selection Method from Gray-level Histograms[J].IEEE Transactions on Systems,Man and Ybernetics,Piscataway:IEEE Press,1979:62-66.
Research of Barcode Recognition in Complex Scenes
YANG Zhang
(Shenzhen Polytechnic,Shenzhen 518055,China)
Barcode localization and recognition technology was is explored in this paper.Feature extraction and math morphological methods are used to find the interesting regions in a down-sampled image first,and then edge detection and gray projection are used to locate the barcode accurately.A new binarization algorithm is proposed.A global threshold and mean pixel width of bar and space is calculated by the features of barcode,global and local information is used to get an optimal threshold of a sub-region.The experiment result shows that the algorithm has a good performance to eliminates the effect of complex background in the process of barcode recognition.At the same time,our algorithm has low complexity and can be used in embedded system real-time.
image recognition;feature extraction;mathematical morphology;binarization
TP391
A
1671-119X(2012)03-0042-04
2012-04-02
國(guó)家自然科學(xué)基金項(xiàng)目(60972037);省部產(chǎn)學(xué)研項(xiàng)目(2009B090300267)
楊 張(1984-),女,碩士,研究方向:信號(hào)處理、FPGA設(shè)計(jì).