李琪 江齊 葉武劍 劉怡俊 陳穗霞 呂月圓 劉峰

摘要:伴隨著二維碼在現(xiàn)代生產(chǎn)、生活中的廣泛應(yīng)用,高效、準(zhǔn)確地識別二維碼變得愈發(fā)重要,但是傳統(tǒng)技術(shù)僅限于識別特定位置的二維碼,而且對圖像畫質(zhì)有著較高要求。應(yīng)用網(wǎng)絡(luò)攝像頭的二維碼動態(tài)識別系統(tǒng)可以解決以上問題,系統(tǒng)包括四個模塊;網(wǎng)絡(luò)攝像頭視頻處理、圖像增強(qiáng)、圖像粗粒度定位與分割、二維碼識別與信息獲取。相比直接調(diào)用二維碼識別算法獲取二維碼信息,擁有以上四個模塊的系統(tǒng)漏檢率更低,并且可以識別實(shí)時拍攝的視頻中的二維碼。
關(guān)鍵詞:網(wǎng)絡(luò)攝像頭;動態(tài)識別;圖像增強(qiáng);二值化;輪廓檢測
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2019)04-0166-03
Abstract:With the wide application of two-dimensional code in modern production and life, it has become increasingly important to identify two-dimensional code efficiently and accurately.However, traditional technology is limited to the identification of two-dimensional code in specific locations,and it has high requirements on image quality.The dynamic identification system of two-dimensional code can solve the above problems,including four modules; network camera video processing,image enhancement,coarse-grained image localization and segmentation,and two-dimensional code recognition and information acquisition.Compared with direct use of two-dimensional code recognition algorithm to obtain two-dimensional code information,the system with the above four modules has a lower miss rate and can identify the two-dimensional code in real-time filmed video.
Key words: webcams; dynamic identification; image enhancement; binarization; contour detection
1引言
隨著二維碼技術(shù)的完善及智能手機(jī)的普及,越來越多的領(lǐng)域開始采用該技術(shù)實(shí)現(xiàn)信息傳遞。二維碼就是通過二進(jìn)制編碼,把數(shù)字、字母、漢字等字符轉(zhuǎn)換成黑白方塊的圖案,由一個矩陣圖形和一個二維碼號,以及下方的說明文字組成。二維碼具有儲存量大、保密性高、追蹤性高、成本便宜等特性。
二維碼作為一種新的技術(shù)在人們生活中有著廣泛的應(yīng)用,例如票據(jù)識別、網(wǎng)上購物、手機(jī)支付、圖書借閱、身份識別等。能在不同應(yīng)用場景下對二維碼進(jìn)行快速可靠地定位與識別也是目前研究的熱點(diǎn),然而傳統(tǒng)的二維碼識別技術(shù)只限于識別靜態(tài)場景中的二維碼,僅限于某一區(qū)域或者特定位置,不具備實(shí)時、動態(tài)等特點(diǎn)。本文提出了一套具備現(xiàn)實(shí)生產(chǎn)意義的,可部署于生產(chǎn)現(xiàn)場投入使用的系統(tǒng)來解決以上問題,針對動態(tài)視頻中的二維碼進(jìn)行識別。目前已在志高工業(yè)園3號廠區(qū)開展多次測試運(yùn)作,已基本具備記錄貨物出入庫信息,并與志高后臺大數(shù)據(jù)庫協(xié)同工作的能力。
2相關(guān)工作
二維碼作為信息的主要載體之一,針對它的定位和識別技術(shù)已經(jīng)被大量研究和開發(fā),常用的定位檢測技術(shù)是結(jié)合圖像匹配的二維碼掃描算法的方法。
Zhao-lai Liao[2]等人提出了三點(diǎn)定位二維碼的有效方法,對二維碼的三個頂點(diǎn)的矩形塊進(jìn)行圖像檢測,快速定位二維碼然后利用Hough transform(霍夫變換)得到二維碼傾斜角度,降低因角度導(dǎo)致識別產(chǎn)生的誤差。Tribak H[8]等人提出了一種基于HOG和SVM分類器的遠(yuǎn)程二維碼識別方法。Yuji Katoh、Daisuke Deguchi[4]等人采用super resolution(超分辨率)技術(shù)從多個低分辨率圖像中生成高分辨率圖像,達(dá)到識別模糊圖像中二維碼的目的。Cheng X M, Hao Q, Zhang C[6]等人提出了一種針對失真圖像中的二維碼識別方法,利用固定區(qū)域內(nèi)像素的方差和灰度值,求出區(qū)域內(nèi)方差最小的位置,從而得到黑白數(shù)據(jù)塊,準(zhǔn)確還原二維碼二值圖像。
以上這些方法僅限于識別特定位置的二維碼,不具備動態(tài)、實(shí)時等特性,而應(yīng)用網(wǎng)絡(luò)攝像頭的二維碼動態(tài)識別系統(tǒng)可以識別不同攝像頭所拍攝視頻中的二維碼,應(yīng)用場景更加廣闊。
3二維碼定位與識別關(guān)鍵技術(shù)
本系統(tǒng)首先應(yīng)用網(wǎng)絡(luò)攝像頭動態(tài)拍攝視頻,再調(diào)用網(wǎng)絡(luò)攝像頭接口和算法對視頻進(jìn)行處理,將視頻轉(zhuǎn)化為復(fù)數(shù)的圖像輸入到后臺計(jì)算機(jī),隨后進(jìn)行圖像增強(qiáng)處理,下一步對增強(qiáng)處理后的圖像進(jìn)行粗粒度定位分割;其中包括背景分離,二值化,腐蝕濾波,輪廓檢測、圖像分割等一系列步驟,最后調(diào)用二維碼識別算法完成對粗粒度處理后得到二維碼圖像塊進(jìn)行識別,讀取二維碼信息,流程如圖1所示:
我們利用OpenCV來完成對視頻圖像的處理。 OpenCV是一個基于BSD(伯克利軟件套件)許可(開源)發(fā)行的跨平臺計(jì)算機(jī)視覺庫,可以在Linux、Windows、Android和Mac OS的操作系統(tǒng)上運(yùn)行。OpenCV提供的圖像處理算法非常豐富,包含我們要用到的:輪廓檢測函數(shù)、返回外部矩形邊界函數(shù)、圖像二值化函數(shù)等。
3.1網(wǎng)絡(luò)攝像頭視頻處理
本系統(tǒng)可以同時驅(qū)動多個攝像頭,并以編碼后的格式將二維碼數(shù)據(jù)發(fā)送到數(shù)據(jù)庫,同時控制二維碼掃描系統(tǒng)的控制端也能實(shí)現(xiàn)狀態(tài)查詢,啟動停止等控制功能。圖2、3是在實(shí)驗(yàn)室環(huán)境測試系統(tǒng)的示意圖,圖中二維碼距離攝像頭距離約2.5米,且在黑暗背光條件下的測試。由測試圖可看出,本系統(tǒng)識別率較高,環(huán)境適應(yīng)能力較強(qiáng),能適應(yīng)各種不同環(huán)境的生產(chǎn)現(xiàn)場,提高各個行業(yè)領(lǐng)域的生產(chǎn)效率。
在進(jìn)入下一模塊處理之前,首先調(diào)用網(wǎng)絡(luò)攝像頭端口和函數(shù)對視頻進(jìn)行幀處理,利用軟件工具開發(fā)包SDK中的函數(shù)進(jìn)行抓圖,捕獲實(shí)時流,將實(shí)時流解碼成YV12格式,然后轉(zhuǎn)換成RGB圖像。將圖像數(shù)據(jù)傳輸?shù)胶笈_計(jì)算機(jī),為接下來的模塊處理做準(zhǔn)備。
3.2圖像增強(qiáng)
本模塊是為了應(yīng)對網(wǎng)絡(luò)攝像頭拍攝過程中出現(xiàn)的圖像不清晰,亮度過低等問題,避免遺漏部分二維碼,降低漏檢率。這里本文使用OpenCV的常用圖像增強(qiáng)算法。
3.2.1對數(shù)圖像增強(qiáng)算法
3.3圖像粗粒度定位與分割
本系統(tǒng)創(chuàng)新性地將二維碼識別重點(diǎn)放在“白紙”上,即我們選取的視頻圖像的特點(diǎn)是二維碼和背景有著較大的色差,也就是我們常說的“白底黑碼”。通過檢測圖像中出現(xiàn)的矩形白色區(qū)域,實(shí)現(xiàn)二維碼的粗粒度定位。具體有以下幾個步驟:
3.3.1背景分離
本系統(tǒng)使用網(wǎng)絡(luò)攝像頭來記錄場景中的二維碼圖片和大背景,我們需要從視頻圖像中提取前景。使用常見的高斯模型去除背景法。本方法的基準(zhǔn)是判斷像素點(diǎn)變化率,把變化慢的學(xué)習(xí)為背景,變化快的視為前景,從而完成背景分離。
3.3.2二值化
3.3.3濾波與腐蝕
經(jīng)過上一步處理后得到的二值圖像中大體能夠顯示出二維碼區(qū)域。但是不可避免地會出現(xiàn)不連通和多噪點(diǎn)的瑕疵,會影響接下一步的輪廓檢測,因此我們對二值圖像進(jìn)行濾波去除圖像中的噪點(diǎn),并進(jìn)行腐蝕處理來解決內(nèi)部不連通的問題。這一系列的形態(tài)學(xué)處理有助于分割出獨(dú)立的圖像元素,在圖像中連接相鄰的元素,可以降低漏檢率。
3.3.4輪廓檢測與圖像分割
繼續(xù)上一步驟,我們要做的工作是將二維碼區(qū)域從原圖中分割出來,得到復(fù)數(shù)個矩形圖像塊,在OpenCV中調(diào)用輪廓檢測函數(shù)獲得二維碼區(qū)域輪廓,該函數(shù)可以對輸入的二值圖像進(jìn)行改變,將輪廓繪制出來。隨后調(diào)用返回外部矩形邊界函數(shù);該函數(shù)可以隨機(jī)生成一些點(diǎn)計(jì)算并包圍輪廓圖像的最小矩形。最后根據(jù)輪廓檢測的坐標(biāo),對原本圖像進(jìn)行圖像分割,得到相應(yīng)坐標(biāo)位置的矩形塊。
3.4二維碼識別與信息獲取
應(yīng)用二維碼識別算法,調(diào)用函數(shù)庫和接口對粗粒度處理得到的復(fù)數(shù)圖像塊進(jìn)行掃描,并獲取其中的信息,獲得的二維碼信息可以通過后臺的計(jì)算機(jī)顯示。
4實(shí)驗(yàn)結(jié)果及其分析
各個模塊的實(shí)驗(yàn)結(jié)果如下所示:
經(jīng)過圖像增強(qiáng)模塊處理后效果如圖4所示。(a)為增強(qiáng)前,(b)為增強(qiáng)后,可以明顯看出圖像清晰度得到了提高。
經(jīng)過模塊粗粒度定位與分割模塊后的效果如圖5所示,(a)為處理前,(b)為處理后。經(jīng)過該模塊的處理,系統(tǒng)已經(jīng)定位出的二維碼部分的矩形。
利用二維碼識別算法掃描后的最終實(shí)驗(yàn)結(jié)果如圖6所示,其中各項(xiàng)參數(shù)分別為:流水號、攝像機(jī)ID、mac地址、二維碼內(nèi)容。我們已經(jīng)成功識別了圖中的二維碼。并且將復(fù)數(shù)個二維碼的詳細(xì)信息在后臺計(jì)算機(jī)上顯示,至此整個識別流程結(jié)束。
5總結(jié)
本文著重介紹了一種應(yīng)用網(wǎng)絡(luò)攝像頭的二維碼動態(tài)識別技術(shù),系統(tǒng)包括四個模塊:網(wǎng)絡(luò)攝像頭視頻處理、圖像增強(qiáng)、圖像粗粒度定位與分割、二維碼識別與信息獲取。擁有漏檢率低、能夠?qū)崟r動態(tài)地識別視頻中的二維碼的優(yōu)點(diǎn)。本系統(tǒng)有著廣泛的應(yīng)用前景,可在生產(chǎn)線上設(shè)置攝像頭采集二維碼所包含的信息,并發(fā)給遠(yuǎn)方的接收端,批量識別二維碼,不同場景下二維碼識別技術(shù)的應(yīng)用是今后工業(yè)化生產(chǎn)發(fā)展的必然方向。
參考文獻(xiàn):
[1] Hogpracha W, Vongpradhip S. Recognition system for QR code on moving car[C]//International Conference on Computer Science & Education. IEEE, 2015:14-18.
[2] Liao Z L, Huang T L, Wang R, et al. A method of image analysis for QR code recognition[C]// International Conference on Intelligent Computing and Integrated Systems. IEEE, 2010:250-253.
[3] Chen J, Wu B. A Otsu Threshold Segmentation Method Based on Rebuilding and Dimension Reduction of the Two-Dimensional Histogram[J]. Journal of Graphics, 2015.
[4] Kato Y, Deguchi D, Takahashi T, et al. Low Resolution QR-Code Recognition by Applying Super-Resolution Using the Property of QR-Codes[C]// International Conference on Document Analysis and Recognition. IEEE Computer Society, 2011:992-996.
[5] Jtc1/Sc I. Information technology -- Automatic identification and data capture techniques -- QR Code 2005 bar code symbology specification[J]. 2006.
[6] Cheng X M, Hao Q, Zhang C, et al. Distortion Correction of a Quick Response Code Image[J]. Applied Mechanics & Materials, 2013, 431:312-317.
[7] Qian K, Yu Y, Wang D, et al. Design for two-dimensional barcode dynamic recognition system in the environment of large-scale logistics[C]// Advanced Information Technology, Electronic and Automation Control Conference. IEEE, 2016:878-882.
[8] Tribak H, Moughyt S, Zaz Y, et al. Remote QR code recognition based on HOG and SVM classifiers[C]//International Conference on Informatics and Computing. IEEE, 2017:137-141.
[9]Qian K, Yu Y, Wang D, et al. Design for two-dimensional barcode dynamic recognition system in the environment of large-scale logistics[C]//Advanced Information Technology, Electronic and Automation Control Conference. IEEE, 2016:878-882.
[10]Sun H, Ma Y, Wu H, et al. An improved OTSU's method for CT image boundary contour extraction[C]// IEEE International Conference on Imaging Systems and Techniques. IEEE, 2016:493-497.
【通聯(lián)編輯:唐一東】