劉 勇
(安徽廣播電視大學滁州分校,安徽 滁州 239000)
基于快速面陣相機與圖像處理的條碼識別算法
劉 勇
(安徽廣播電視大學滁州分校,安徽 滁州 239000)
為了解決條碼模糊、缺損和變形而導致其難以識別的問題,提出了基于快速面陣相機與圖像處理的條碼識別算法。首先,針對工程讀碼速度要求進行分析,提出高幀率相機取像,完成視覺系統(tǒng)設計,并搭建打光平臺,達到對條碼快速成像目的。其次,利用Sobel邊緣檢測得到條碼輪廓,判斷條碼旋轉角度,利用旋轉校正方法,完成條碼校正。最后,基于開源庫DeCode,完成條碼解碼,并對各種碼制、不同種類干擾進行測試。實驗測試結果表明,與當前讀碼技術相比,此算法擁有更高的讀碼成功率與魯棒性。
條碼識別;快速面陣;視覺系統(tǒng);Sobel邊緣檢測;圖像處理
隨著“工業(yè)4.0”、“中國制造2025”和“智能制造”概念的深化和實踐,在當下制造行業(yè)競爭日益激烈的背景下,利用先進信息處理技術,實現(xiàn)低成本高品質制造已經(jīng)是必然趨勢[1,2]。制造流水線每天有數(shù)以萬計的產(chǎn)品,對這些產(chǎn)品的制造過程進行信息化履歷管理,是實現(xiàn)工廠大數(shù)據(jù)的基礎。其中最重要的就是產(chǎn)品的條碼,這是令產(chǎn)品唯一化的標簽,在不同工位掃描入口時,首先必須記錄的是條碼。以往工廠普遍采用昂貴的讀碼器,主流品牌如:基恩士、Datalogic、康耐視等商業(yè)專用讀碼器,這種對應方式無疑提高了企業(yè)的運行成本。因此,有些廠家的自動化部門自己研發(fā)基于相機和圖像識別的讀碼系統(tǒng),在一些簡單應用環(huán)境下,取得了一定成績,但是當條碼存在遮擋、缺損等干擾情況時,往往會大幅度降低系統(tǒng)讀碼成功率。另外,制造企業(yè)產(chǎn)量任務重,產(chǎn)品流速快,很多工位不允許產(chǎn)品條碼靜止停頓數(shù)秒供讀碼系統(tǒng)處理,這往往使讀碼系統(tǒng)不能采集到穩(wěn)定的條碼圖像,同樣影響系統(tǒng)解碼的成功率。
在條碼識別方面,國內(nèi)研究人員已經(jīng)將計算機視覺技術引入到該領域中,對其展開研究,如王根源[3]提出了DataMatrix碼的嵌入式識別算法。從復雜的實際應用環(huán)境中分割DataMatrix碼圖像,提高解碼準確率與速度,采用互相關圖像匹配算法進行條碼的初定位,并利用“金字塔分層"思想降低其運算量,利用改進后的Hough變換對定位后的圖像進行“L"邊界線段坐標的精確測定,從而完成解碼前的準備工作,達到條碼識別目的。但是,此技術未考慮條碼遮擋或模糊的情況,當此種異常情況發(fā)生,往往會影響識別效果。馮萬祥[4]提出了高速條碼識別系統(tǒng),針對目前條碼識別算法實時性不夠的不足,同時為解決具體應用中定位算法穩(wěn)定性不高、景深不夠等問題,提出了一種基于計算機視覺、FPGA和DSP混合設計的條碼識別系統(tǒng),其高速條碼定位算法在FPGA上實現(xiàn),定位時間僅為2.5ms,定位速度快,同時減少了后續(xù)DSP的計算量,大大提高了系統(tǒng)的實時性,在達到了讀碼目的的同時,也提高了讀碼處理速度。然而,這種技術只考慮信號接收后的處理問題,未考慮到信號接收是否準確和快速的問題,在條碼運動較快且存在模糊時,往往不能準確進行識別。
本文從視覺采集硬件和視覺處理出發(fā),提出了基于快速面陣與圖像處理的條碼識別算法。根據(jù)條碼運動速度,設計出合適的視覺采集架構方案;基于Sobel邊緣檢測算子和角度旋轉計算,設計條碼定位處理算法。最后,采用開源庫Decode處理條碼圖像,測試了本文算法的識別精度。
為了解決產(chǎn)品條碼隨流水線運動難以成像、條碼圖像存在模糊、遮擋等干擾的問題,本文從視覺硬件選型與視覺算法兩個方面入手,提出了基于快速面陣與圖像處理的條碼識別算法,其過程見圖1。首先,對視覺硬件:快速面陣相機和傳感器進行組合測試,得到最佳配置與組合,完成視覺選型,得到穩(wěn)定成像的條碼圖像。一方面,選擇高幀率相機,另一方面,調低相機曝光時間,調高光源,達到光源補償?shù)推毓饽康?。其次,采用邊緣檢測與定位處理,完成條碼定位。最后,基于開源解碼庫Decode[5],對條碼信息進行識別,并集成顯示在條碼識別系統(tǒng)中。
1.1 基于快速面陣的視覺選型
本文識別對象是條碼,其需求如下:精度要求(0.1mm/pixel)視野覆蓋范圍(50mm*50mm)、動態(tài)檢測方式(相機拍照時條碼保持運動狀態(tài))、條碼運動速度(1m/s)。
因此,本文考慮采用快速面陣相機[6,7],確定如下參數(shù):分辨率、幀率、曝光值。
首先由精度要求和視野覆蓋范圍要求,確定分辨率,如下式所示:
(1)
式中,L代表視野長、W代表視野寬、C代表精度、SL代表分辨率長、SW代表分辨率寬。然后根據(jù)相鄰條碼出現(xiàn)在視野范圍的時間差來確定相機幀率:
(2)
式中,T為相鄰條碼出現(xiàn)在視野范圍的時間差,Z代表相機幀率。
最后根據(jù)條碼圖像單位像素移動的時間確定相機曝光值:
t>B
(3)
式中,t為條碼圖像單位像素移動的時間,B為相機曝光值。
根據(jù)式(1)、式(2),完成對條碼識別的視覺硬件選型,當條碼經(jīng)過相機視野,傳感器觸發(fā)相機拍照,得到穩(wěn)定清晰圖像,如圖2所示,雖然有表面破損,但是屬于本身存在的干擾,相機數(shù)據(jù)采集給出了清晰的成像質量。
1.2 基于圖像處理的條碼識別
得到穩(wěn)定成像的條碼識別,緊接著需要定位出圖像中條碼區(qū)域,去除背景對解碼的干擾。由于條碼具有自己獨特的輪廓,與背景有明顯的差異,本文采用Sobel邊緣[8,9]檢測處理圖像,首先計算邊緣像素值變化的方向性和幅度,計算圖像像素S(i,j)的一階有限差分偏導:
P(x,y)=(S[i,j+1]-S[i,j]+S[i+1,j+1]-S[i+1,j])/2
(4)
Q(x,y)=(S[i,j+1]-S[i+1,j]+S[i,j+1]-S[i+1,j+1])/2
(5)
式中,P、Q分別代表(i,j)的一階偏導,表示像素值在這兩個方向的值變化趨勢。
由于邊緣上的點賦值和方位角都會比較大,為了判斷像素點是否在邊緣上,根據(jù)式(2)、式(3),其賦值和方位角為:
(6)
θ[i,j]=arctan(Q/P)
(7)
其中,M代表像素值變化賦值,θ代表像素值變化方向。
基于以上求取邊緣方式,對圖2進行處理,得到邊緣檢測結果,如圖3所示,可以準確地得到條碼邊緣輪廓。
得到條碼輪廓取底部邊緣,易得到條碼傾斜角度,即完成條碼區(qū)域定位,如圖4所示,綠色標注條碼區(qū)域,可見本文定位條碼準確。最后將條碼區(qū)域輸入開源庫Decode,得到解碼結果,如圖5所示。本文條碼識別流程如圖6所示。
本文條碼識別技術結合視覺選型與圖像處理實現(xiàn)條碼識別(傳統(tǒng)方式依靠靜態(tài)取像采集與加速處理算法),將當前條碼識別性能較好的技術—文獻[3]、文獻[4]設為對照組,并基于VS2012平臺開發(fā)實現(xiàn),算法實驗參數(shù)如:相機曝光參數(shù)為55us、分辨率為800*600、幀率180fps。
本文開發(fā)的條碼識別系統(tǒng)界面如圖7所示,具有動態(tài)視頻、靜態(tài)圖像顯示、讀碼記錄、曝光參數(shù)調整、條碼標注、解碼顯示的功能。
檢測圖8中條碼,可見有缺損干擾,本文首先利用快速面陣得到成像穩(wěn)定圖像,在此基礎上,sobel邊緣檢測得到條碼輪廓,如圖9所示。
然后以輪廓邊緣與背景分明度,定位條碼區(qū)域,并以綠色標準,如圖10所示。最終采用開源庫Decode解碼,如圖11所示。綜合分析可見,本文開發(fā)的條碼識別系統(tǒng)準確解碼。
而利用對照組文獻[3]技術處理圖8時,由于此技術未充分考慮條碼成像不穩(wěn)定,存在條碼缺損的情況時,往往不能準確識別。
而利用對照組文獻[4]技術處理圖8時,由于此技術未充分考慮條碼成像背景干擾比較大時的異常情況,往往不能準確識別。
為了解決對條碼遮擋、缺損干擾對識別功能的影響,本文提出了基于快速面陣與圖像處理的條碼識別系統(tǒng),結合視覺選型、快速面陣成像、Sobel邊緣檢測、條碼定位、開源庫解碼等圖像處理算法,最終穩(wěn)定識別運動中的缺損遮擋條碼,集成于系統(tǒng),運用于實際制造流水線。實驗結果表明:在條碼存在缺損、遮擋的情況下,相較普通技術,本文提出的算法具有更高的識別精度。
[1]ChaoLiu,PingyuJiang.ACyber-physicalSystemArchitectureinShopFloorforIntelligentManufacturing[J].ProcediaCIRP, 2016, 56(3):372-377.
[2] 劉志,洪梅芳.DPM碼快速定位關鍵技術研究[J].浙江工業(yè)大學學報,2016,44(1):28-33.
[3] 王根源,吳祥坤,胡坤,等.DataMatrix碼的嵌入式識別算法[J].吉林大學學報(信息科學版),2016,34(3):419-426.
[4] 馮萬祥,吳錫生,劉棟鋮.高速條碼識別系統(tǒng)[J].計算機系統(tǒng)應用,2015,24(11):38-43.
[5] 胡國強,周兆永,信朝霞.基于SRS的開源直播系統(tǒng)的設計與實現(xiàn)[J].現(xiàn)代電子技術,2016,39(16):36-39.
[6]HervéPron,ToufikBouache.Alternativethermalcalibrationsoffocalplanearraycameras[J].QuantitativeInfraredThermographyJournal,2016,13(1):94-108.
[7]DumasDelphine,FendlerManuel,BaierNicolas,etal.Curvedfocalplanedetectorarrayforwidefieldcameras[J].Appliedoptics,2012,51(22):5419-5924.
[8] 杜正聰,寧龍飛.基于Sobel算法圖像邊緣檢測的FPGA實現(xiàn)[J].電子技術應用,2016,42(10):89-91.
[9]SanjaySingh,AnilKSaini,RaviSaini,etal.Anovelreal-timeresourceefficientimplementationofSobeloperator-basededgedetectiononFPGA[J].InternationalJournalofElectronics,2014,101(12):1705-1715.
Barcode Recognition Algorithm Based on Rapid Array Camera and Image Processing
LIUYong
(AnhuiOpenUniversityChuzhouBranch,Chuzhou239000,China)
In order to solve the problem of identifying the barcode induced by barcode fuzziness, defect and deformation, the barcode recognition algorithm based on rapid array camera and image processing was proposed in this paper. The vision system was designed according to the requirement of code reading speed for High frame rate camera imaging, and lighting platform was set up to achieve fast imaging of the bar code. Then bar code contour was got by Sobel edge detection, the bar rotation angle was judged, and bar code correction was finished by rotation correction method. Finally, the barcode decoding was completed based on open source library DeCode to test the interference from various codes and different kinds of interference. The experiment results showed that this algorithm has a higher success rate and robustness of reading code compared with the current reading code technology.
bar code identification; rapid array; visual system; Sobel Edge Detection; image processing
2016-12-09
劉勇(1983-),男,碩士,安徽廣播電視大學滁州分校講師,研究方向:計算機應用、網(wǎng)絡應用、信息技術。
TP391
A
1674-3229(2017)01-0042-05