李琪 江齊 葉武劍 劉怡俊 陳穗霞 呂月圓 劉峰
摘要:伴隨著二維碼在現(xiàn)代生產(chǎn)、生活中的廣泛應(yīng)用,高效、準(zhǔn)確地識(shí)別二維碼變得愈發(fā)重要,但是傳統(tǒng)技術(shù)僅限于識(shí)別特定位置的二維碼,而且對(duì)圖像畫(huà)質(zhì)有著較高要求。應(yīng)用網(wǎng)絡(luò)攝像頭的二維碼動(dòng)態(tài)識(shí)別系統(tǒng)可以解決以上問(wèn)題,系統(tǒng)包括四個(gè)模塊;網(wǎng)絡(luò)攝像頭視頻處理、圖像增強(qiáng)、圖像粗粒度定位與分割、二維碼識(shí)別與信息獲取。相比直接調(diào)用二維碼識(shí)別算法獲取二維碼信息,擁有以上四個(gè)模塊的系統(tǒng)漏檢率更低,并且可以識(shí)別實(shí)時(shí)拍攝的視頻中的二維碼。
關(guān)鍵詞:網(wǎng)絡(luò)攝像頭;動(dòng)態(tài)識(shí)別;圖像增強(qiáng);二值化;輪廓檢測(cè)
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):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ái)越多的領(lǐng)域開(kāi)始采用該技術(shù)實(shí)現(xiàn)信息傳遞。二維碼就是通過(guò)二進(jìn)制編碼,把數(shù)字、字母、漢字等字符轉(zhuǎn)換成黑白方塊的圖案,由一個(gè)矩陣圖形和一個(gè)二維碼號(hào),以及下方的說(shuō)明文字組成。二維碼具有儲(chǔ)存量大、保密性高、追蹤性高、成本便宜等特性。
二維碼作為一種新的技術(shù)在人們生活中有著廣泛的應(yīng)用,例如票據(jù)識(shí)別、網(wǎng)上購(gòu)物、手機(jī)支付、圖書(shū)借閱、身份識(shí)別等。能在不同應(yīng)用場(chǎng)景下對(duì)二維碼進(jìn)行快速可靠地定位與識(shí)別也是目前研究的熱點(diǎn),然而傳統(tǒng)的二維碼識(shí)別技術(shù)只限于識(shí)別靜態(tài)場(chǎng)景中的二維碼,僅限于某一區(qū)域或者特定位置,不具備實(shí)時(shí)、動(dòng)態(tài)等特點(diǎn)。本文提出了一套具備現(xiàn)實(shí)生產(chǎn)意義的,可部署于生產(chǎn)現(xiàn)場(chǎng)投入使用的系統(tǒng)來(lái)解決以上問(wèn)題,針對(duì)動(dòng)態(tài)視頻中的二維碼進(jìn)行識(shí)別。目前已在志高工業(yè)園3號(hào)廠區(qū)開(kāi)展多次測(cè)試運(yùn)作,已基本具備記錄貨物出入庫(kù)信息,并與志高后臺(tái)大數(shù)據(jù)庫(kù)協(xié)同工作的能力。
2相關(guān)工作
二維碼作為信息的主要載體之一,針對(duì)它的定位和識(shí)別技術(shù)已經(jīng)被大量研究和開(kāi)發(fā),常用的定位檢測(cè)技術(shù)是結(jié)合圖像匹配的二維碼掃描算法的方法。
Zhao-lai Liao[2]等人提出了三點(diǎn)定位二維碼的有效方法,對(duì)二維碼的三個(gè)頂點(diǎn)的矩形塊進(jìn)行圖像檢測(cè),快速定位二維碼然后利用Hough transform(霍夫變換)得到二維碼傾斜角度,降低因角度導(dǎo)致識(shí)別產(chǎn)生的誤差。Tribak H[8]等人提出了一種基于HOG和SVM分類器的遠(yuǎn)程二維碼識(shí)別方法。Yuji Katoh、Daisuke Deguchi[4]等人采用super resolution(超分辨率)技術(shù)從多個(gè)低分辨率圖像中生成高分辨率圖像,達(dá)到識(shí)別模糊圖像中二維碼的目的。Cheng X M, Hao Q, Zhang C[6]等人提出了一種針對(duì)失真圖像中的二維碼識(shí)別方法,利用固定區(qū)域內(nèi)像素的方差和灰度值,求出區(qū)域內(nèi)方差最小的位置,從而得到黑白數(shù)據(jù)塊,準(zhǔn)確還原二維碼二值圖像。
以上這些方法僅限于識(shí)別特定位置的二維碼,不具備動(dòng)態(tài)、實(shí)時(shí)等特性,而應(yīng)用網(wǎng)絡(luò)攝像頭的二維碼動(dòng)態(tài)識(shí)別系統(tǒng)可以識(shí)別不同攝像頭所拍攝視頻中的二維碼,應(yīng)用場(chǎng)景更加廣闊。
3二維碼定位與識(shí)別關(guān)鍵技術(shù)
本系統(tǒng)首先應(yīng)用網(wǎng)絡(luò)攝像頭動(dòng)態(tài)拍攝視頻,再調(diào)用網(wǎng)絡(luò)攝像頭接口和算法對(duì)視頻進(jìn)行處理,將視頻轉(zhuǎn)化為復(fù)數(shù)的圖像輸入到后臺(tái)計(jì)算機(jī),隨后進(jìn)行圖像增強(qiáng)處理,下一步對(duì)增強(qiáng)處理后的圖像進(jìn)行粗粒度定位分割;其中包括背景分離,二值化,腐蝕濾波,輪廓檢測(cè)、圖像分割等一系列步驟,最后調(diào)用二維碼識(shí)別算法完成對(duì)粗粒度處理后得到二維碼圖像塊進(jìn)行識(shí)別,讀取二維碼信息,流程如圖1所示:
我們利用OpenCV來(lái)完成對(duì)視頻圖像的處理。 OpenCV是一個(gè)基于BSD(伯克利軟件套件)許可(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可以在Linux、Windows、Android和Mac OS的操作系統(tǒng)上運(yùn)行。OpenCV提供的圖像處理算法非常豐富,包含我們要用到的:輪廓檢測(cè)函數(shù)、返回外部矩形邊界函數(shù)、圖像二值化函數(shù)等。
3.1網(wǎng)絡(luò)攝像頭視頻處理
本系統(tǒng)可以同時(shí)驅(qū)動(dòng)多個(gè)攝像頭,并以編碼后的格式將二維碼數(shù)據(jù)發(fā)送到數(shù)據(jù)庫(kù),同時(shí)控制二維碼掃描系統(tǒng)的控制端也能實(shí)現(xiàn)狀態(tài)查詢,啟動(dòng)停止等控制功能。圖2、3是在實(shí)驗(yàn)室環(huán)境測(cè)試系統(tǒng)的示意圖,圖中二維碼距離攝像頭距離約2.5米,且在黑暗背光條件下的測(cè)試。由測(cè)試圖可看出,本系統(tǒng)識(shí)別率較高,環(huán)境適應(yīng)能力較強(qiáng),能適應(yīng)各種不同環(huán)境的生產(chǎn)現(xiàn)場(chǎng),提高各個(gè)行業(yè)領(lǐng)域的生產(chǎn)效率。
在進(jìn)入下一模塊處理之前,首先調(diào)用網(wǎng)絡(luò)攝像頭端口和函數(shù)對(duì)視頻進(jìn)行幀處理,利用軟件工具開(kāi)發(fā)包SDK中的函數(shù)進(jìn)行抓圖,捕獲實(shí)時(shí)流,將實(shí)時(shí)流解碼成YV12格式,然后轉(zhuǎn)換成RGB圖像。將圖像數(shù)據(jù)傳輸?shù)胶笈_(tái)計(jì)算機(jī),為接下來(lái)的模塊處理做準(zhǔn)備。
3.2圖像增強(qiáng)
本模塊是為了應(yīng)對(duì)網(wǎng)絡(luò)攝像頭拍攝過(guò)程中出現(xiàn)的圖像不清晰,亮度過(guò)低等問(wèn)題,避免遺漏部分二維碼,降低漏檢率。這里本文使用OpenCV的常用圖像增強(qiáng)算法。
3.2.1對(duì)數(shù)圖像增強(qiáng)算法
3.3圖像粗粒度定位與分割
本系統(tǒng)創(chuàng)新性地將二維碼識(shí)別重點(diǎn)放在“白紙”上,即我們選取的視頻圖像的特點(diǎn)是二維碼和背景有著較大的色差,也就是我們常說(shuō)的“白底黑碼”。通過(guò)檢測(cè)圖像中出現(xiàn)的矩形白色區(qū)域,實(shí)現(xiàn)二維碼的粗粒度定位。具體有以下幾個(gè)步驟:
3.3.1背景分離
本系統(tǒng)使用網(wǎng)絡(luò)攝像頭來(lái)記錄場(chǎng)景中的二維碼圖片和大背景,我們需要從視頻圖像中提取前景。使用常見(jiàn)的高斯模型去除背景法。本方法的基準(zhǔn)是判斷像素點(diǎn)變化率,把變化慢的學(xué)習(xí)為背景,變化快的視為前景,從而完成背景分離。
3.3.2二值化
3.3.3濾波與腐蝕
經(jīng)過(guò)上一步處理后得到的二值圖像中大體能夠顯示出二維碼區(qū)域。但是不可避免地會(huì)出現(xiàn)不連通和多噪點(diǎn)的瑕疵,會(huì)影響接下一步的輪廓檢測(cè),因此我們對(duì)二值圖像進(jìn)行濾波去除圖像中的噪點(diǎn),并進(jìn)行腐蝕處理來(lái)解決內(nèi)部不連通的問(wèn)題。這一系列的形態(tài)學(xué)處理有助于分割出獨(dú)立的圖像元素,在圖像中連接相鄰的元素,可以降低漏檢率。
3.3.4輪廓檢測(cè)與圖像分割
繼續(xù)上一步驟,我們要做的工作是將二維碼區(qū)域從原圖中分割出來(lái),得到復(fù)數(shù)個(gè)矩形圖像塊,在OpenCV中調(diào)用輪廓檢測(cè)函數(shù)獲得二維碼區(qū)域輪廓,該函數(shù)可以對(duì)輸入的二值圖像進(jìn)行改變,將輪廓繪制出來(lái)。隨后調(diào)用返回外部矩形邊界函數(shù);該函數(shù)可以隨機(jī)生成一些點(diǎn)計(jì)算并包圍輪廓圖像的最小矩形。最后根據(jù)輪廓檢測(cè)的坐標(biāo),對(duì)原本圖像進(jìn)行圖像分割,得到相應(yīng)坐標(biāo)位置的矩形塊。
3.4二維碼識(shí)別與信息獲取
應(yīng)用二維碼識(shí)別算法,調(diào)用函數(shù)庫(kù)和接口對(duì)粗粒度處理得到的復(fù)數(shù)圖像塊進(jìn)行掃描,并獲取其中的信息,獲得的二維碼信息可以通過(guò)后臺(tái)的計(jì)算機(jī)顯示。
4實(shí)驗(yàn)結(jié)果及其分析
各個(gè)模塊的實(shí)驗(yàn)結(jié)果如下所示:
經(jīng)過(guò)圖像增強(qiáng)模塊處理后效果如圖4所示。(a)為增強(qiáng)前,(b)為增強(qiáng)后,可以明顯看出圖像清晰度得到了提高。
經(jīng)過(guò)模塊粗粒度定位與分割模塊后的效果如圖5所示,(a)為處理前,(b)為處理后。經(jīng)過(guò)該模塊的處理,系統(tǒng)已經(jīng)定位出的二維碼部分的矩形。
利用二維碼識(shí)別算法掃描后的最終實(shí)驗(yàn)結(jié)果如圖6所示,其中各項(xiàng)參數(shù)分別為:流水號(hào)、攝像機(jī)ID、mac地址、二維碼內(nèi)容。我們已經(jīng)成功識(shí)別了圖中的二維碼。并且將復(fù)數(shù)個(gè)二維碼的詳細(xì)信息在后臺(tái)計(jì)算機(jī)上顯示,至此整個(gè)識(shí)別流程結(jié)束。
5總結(jié)
本文著重介紹了一種應(yīng)用網(wǎng)絡(luò)攝像頭的二維碼動(dòng)態(tài)識(shí)別技術(shù),系統(tǒng)包括四個(gè)模塊:網(wǎng)絡(luò)攝像頭視頻處理、圖像增強(qiáng)、圖像粗粒度定位與分割、二維碼識(shí)別與信息獲取。擁有漏檢率低、能夠?qū)崟r(shí)動(dòng)態(tài)地識(shí)別視頻中的二維碼的優(yōu)點(diǎn)。本系統(tǒng)有著廣泛的應(yīng)用前景,可在生產(chǎn)線上設(shè)置攝像頭采集二維碼所包含的信息,并發(fā)給遠(yuǎn)方的接收端,批量識(shí)別二維碼,不同場(chǎng)景下二維碼識(shí)別技術(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)編輯:唐一東】