李建華,馬瑞杰
(廣西中煙工業(yè)有限責(zé)任公司, 廣西 南寧 530001)
條形碼是香煙的“身份證”,由一組寬度不等的黑白平行線及標(biāo)記符號組成[1],大多采用EAN-13(European article number)編碼。香煙條形碼作為機(jī)器可讀信息,可有效實(shí)現(xiàn)人機(jī)交互,保證卷煙生產(chǎn)、銷售及物流等環(huán)節(jié)信息統(tǒng)計(jì)的準(zhǔn)確性。香煙條形碼的識別和檢測是對采集的條形碼信號進(jìn)行整形處理,進(jìn)而獲得香煙條形碼所代表的信息。
目前,現(xiàn)代卷煙企業(yè)在生產(chǎn)過程中已廣泛采用機(jī)器視覺技術(shù)[2],該技術(shù)在香煙條形碼識別與檢測方面也有一定應(yīng)用。然而,由于采集的香煙圖像通常會(huì)包含與條形碼無關(guān)的其他內(nèi)容,因此基于機(jī)器視覺的香煙條形碼識別與檢測包含條形碼定位和條形碼識別兩部分。在基于圖像的條形碼定位研究方面,李少波等[3]采用基于Halcon的改進(jìn)亞像素輪廓邊緣檢測算法,有效地提高了商品條形碼的定位精度和速度;Wang等[4]用局部二值模式和灰度直方圖提取條形碼圖像的紋理特征,并采用支持向量機(jī)(support vector machine, SVM)訓(xùn)練正負(fù)樣本,建立了基于機(jī)器學(xué)習(xí)的分類器,從而實(shí)現(xiàn)了在復(fù)雜環(huán)境下的條形碼定位。常用的條形碼識別方法有邊緣檢測法、模板匹配法、波形分析法及深度學(xué)習(xí)法等。嚴(yán)小紅[5]運(yùn)用Canny邊緣檢測和Hough變換實(shí)現(xiàn)條形碼的識別與檢測;彭楷烽等[6]采用主成分分析法(principal component analysis, PCA)對圖像梯度方向進(jìn)行篩選,并利用形態(tài)學(xué)法對條形碼進(jìn)行識別。曾欣科等[7]在卷積循環(huán)網(wǎng)絡(luò)中融入全局優(yōu)化方法,有效提高了條形碼的識別精度。
鑒于香煙在傳送帶上存在位置不正和表面不平整導(dǎo)致的條形碼扭曲等問題,本文基于雙目視覺檢測原理,設(shè)計(jì)了軟包香煙的條形碼識別與檢測方案。首先通過軟包香煙上方的左、右相機(jī)采集香煙條形碼的圖像;其次采用基于旋轉(zhuǎn)不變性的局部二值模式(local binary pattern,LBP)算子和SVM分類模型分別在左右圖像中進(jìn)行條形碼定位。在此基礎(chǔ)上,采用SIFT算法提取和匹配左右圖像的條形碼特征,實(shí)現(xiàn)軟包香煙條形碼的識別與檢測。
根據(jù)軟包香煙的生產(chǎn)流程,基于雙目視覺的檢測方案如圖1所示。當(dāng)光電傳感器感應(yīng)到待測軟包香煙進(jìn)入檢測區(qū)域時(shí),雙目相機(jī)啟動(dòng)識別與檢測工作。若檢測合格,軟包香煙進(jìn)入下一道工序;反之將其推出傳送帶。各部分主要功能如下。
1)主控計(jì)算機(jī):根據(jù)軟包香煙雙目圖像識別與檢測條形碼,控制傳送帶和剔除氣缸。
2)雙目相機(jī):采集軟包香煙條形碼圖像,含LED光源,用以消除陰影及反光。
3)傳送帶:輸送待測軟包香煙,并將合格軟包香煙送入下一道工序。
4)光電傳感器:感應(yīng)是否有軟包香煙由傳送帶送入檢測區(qū)域。
5)編碼器:檢測傳送帶位置,用于反饋軟包香煙是否處于檢測和剔除區(qū)域。
6)剔除氣缸:將條形碼不合格或不屬于該批次的軟包香煙剔除出傳送帶。
圖1 基于雙目視覺的檢測方案
雙目視覺是基于視差原理并由多幅圖像獲取物體三維幾何信息的方法,模型示意圖如圖2所示。基于雙目視覺的條形碼識別和檢測利用待測軟包香煙左、右兩側(cè)的相機(jī)采集圖像,根據(jù)幾何關(guān)系還原出其條形碼的信息。
圖2 雙目視覺模型示意圖
單目標(biāo)定和雙目標(biāo)定是基于雙目視覺條形碼檢測方法的關(guān)鍵,決定了軟包香煙條形碼識別與檢測的精度[8]。單目標(biāo)定用于獲取左、右相機(jī)的內(nèi)、外參數(shù),相機(jī)內(nèi)參數(shù)包括焦距、圖像中心及畸變系數(shù)等,相機(jī)外參數(shù)主要是相機(jī)的旋轉(zhuǎn)矩陣和平移矩陣。雙目標(biāo)定獲取的是左、右相機(jī)的平移旋轉(zhuǎn)關(guān)系。單目標(biāo)定得到左、右相機(jī)的旋轉(zhuǎn)矩陣為R1和R2,平移矩陣為T1和T2,則雙目視覺的旋轉(zhuǎn)矩陣R和平移矩陣T分別為:
(1)
基于雙目視覺的條形碼檢測是軟包香煙包裝品質(zhì)保障的關(guān)鍵。利用煙包上方安裝的左、右相機(jī)采集裝置分別獲取煙包的左目和右目圖像,并傳輸至主控計(jì)算機(jī)進(jìn)行條形碼識別與檢測。主要步驟有圖像采集、圖像預(yù)處理、條形碼定位、特征點(diǎn)提取、特征點(diǎn)匹配、識別與檢測等,如圖3所示,其核心是在軟包香煙圖像中進(jìn)行條形碼定位,以及左、右圖像特征點(diǎn)提取與匹配。
圖3 雙目視覺檢測流程
軟包香煙上除了條形碼,還可能包含品牌、支數(shù)、商標(biāo)等很多其他信息,因此需要在灰度化、二值化、均值濾波、形態(tài)學(xué)及圖像平滑等預(yù)處理后的圖像中對軟包香煙條形碼進(jìn)行定位。
圖像的紋理特征利用像素及其周圍空間鄰域的灰度分布來表示,很好地聯(lián)系了周圍環(huán)境。局部二值模式是經(jīng)典的描述圖像紋理特征的算子[9],以某像素點(diǎn)為中心,選擇半徑為1的環(huán)形鄰域上的8個(gè)點(diǎn)來描述紋理特征,LBP算子L(·)計(jì)算公式如下:
(2)
式中:gc為中心點(diǎn)像素灰度值;gi為鄰域像素灰度值。s(·)的表示式為:
(3)
式中:δ為閾值。此時(shí),軟包香煙圖像上的各像素點(diǎn)由八位二進(jìn)制數(shù)表示,范圍為0~255。
香煙在傳送帶上運(yùn)輸時(shí)會(huì)出現(xiàn)偏轉(zhuǎn),而LBP本身不具有旋轉(zhuǎn)不變性,陳東岳等[10]引入形狀數(shù)概念,提出了旋轉(zhuǎn)不變魯棒LBP特征提取算法(rotation-invariant robust LBP, RRLBP)。RRLBP算法過程如圖4所示,經(jīng)循環(huán)移位和處理,此時(shí)特征值由256個(gè)減少為36個(gè),不僅提高了運(yùn)算效率,同時(shí)具有很好的旋轉(zhuǎn)不變性。
SVM將輸入向量通過非線性變換映射到高維空間,從而構(gòu)造一個(gè)最優(yōu)分類超平面[11]。將軟包香煙圖像的RRLBP特征作為SVM的輸入向量x,得到如下最優(yōu)分類函數(shù):
圖4 RRLBP運(yùn)算過程示意圖
(4)
尺度不變特征變換(scale invariant feature transform, SIFT)具有對尺度、亮度及旋轉(zhuǎn)變化等特性保持不變的特點(diǎn),被廣泛應(yīng)用于立體圖像的匹配中。SIFT的特征提取主要包括尺度空間極值檢測、特征點(diǎn)定位、特征點(diǎn)方向及特征點(diǎn)描述等。若I(x,y)為軟包香煙條形碼的圖像灰度值,則其多尺度空間表達(dá)式L(x,y,σ)為:
L(x,y,σ)=G(x,y,σ)*I(x,y)
(5)
式中:σ為尺度因子;G(x,y,σ)為高斯核函數(shù);*表示卷積運(yùn)算。
為了高效率獲取軟包香煙條形碼圖像中穩(wěn)定的條形碼特征點(diǎn),采用高斯差分方程(difference of Gaussian, DoG)進(jìn)行卷積運(yùn)算,其表達(dá)式D(x,y,σ)為:
D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*
I(x,y)=L(x,y,kσ)-L(x,y,σ)
(6)
式中:k為相鄰尺度空間的尺度因子。
在軟包香煙條形碼的多尺度空間建立后,將每個(gè)像素點(diǎn)與同尺度鄰域內(nèi)的n個(gè)像素點(diǎn)進(jìn)行比較,判定是否為極值點(diǎn)。進(jìn)一步,將該點(diǎn)與(n+1)個(gè)像素點(diǎn)進(jìn)行比較,若仍為極值點(diǎn),則認(rèn)定該像素點(diǎn)為軟包香煙條形碼的特征點(diǎn)。為了保證特征點(diǎn)具有旋轉(zhuǎn)不變性[12],利用軟包香煙條形碼的各特征點(diǎn)鄰域像素的梯度方向分布特性作為其方向參數(shù)。以特征點(diǎn)為中心、以3×1.5σ為半徑在其領(lǐng)域內(nèi)計(jì)算軟包香煙條形碼圖像中各個(gè)像素點(diǎn)的梯度幅角和幅值,然后使用直方圖對梯度的幅角進(jìn)行統(tǒng)計(jì)。其中直方圖的橫軸是梯度方向,縱軸為梯度方向?qū)?yīng)的梯度幅值的累加值,直方圖中最高峰所對應(yīng)的方向即為軟包香煙條形碼的特征點(diǎn)方向。
將直方圖的坐標(biāo)軸旋轉(zhuǎn)為軟包香煙條形碼特征點(diǎn)的方向,并以特征點(diǎn)為中心的16×16窗口計(jì)算像素的梯度幅值和方向。進(jìn)一步將窗口內(nèi)的像素分成16塊,在每塊中進(jìn)行8個(gè)方向的直方圖統(tǒng)計(jì),最終形成128維的軟包香煙條形碼特征向量。
軟包香煙條形碼的特征點(diǎn)匹配就是將左目圖像特征點(diǎn)與右目圖像特征點(diǎn)對應(yīng),常用的方法是最近鄰匹配法。若左目圖像其中一個(gè)特征點(diǎn)與右目圖像特征點(diǎn)的歐氏距離最小,同時(shí)比值小于某個(gè)閾值,則認(rèn)為是一對匹配的特征點(diǎn)。
將本文設(shè)計(jì)的方案在某卷煙生產(chǎn)企業(yè)進(jìn)行應(yīng)用測試,軟包香煙的傳輸速度為600包/min。測試數(shù)量為10 000包,其中人為放入5%的異常軟包香煙,包括條形碼污損、條形碼與符號不一致、條形碼批次不符、條形碼扭曲、煙包位置不正等情況,測試結(jié)果見表1。由表可知,整體檢測成功率達(dá)到99.97%,不合格品的剔除率達(dá)到100%。經(jīng)分析,個(gè)別煙包檢測失敗的主要原因是條形碼的污損區(qū)域小于2 mm×2 mm。
表1 軟包香煙異常條形碼檢測結(jié)果單位:包
在軟包香煙的條形碼檢測中運(yùn)用雙目檢測技術(shù),解決了條形碼扭曲與位置不正導(dǎo)致檢測不準(zhǔn)確問題,但對于超小區(qū)域污損煙包的檢測需進(jìn)一步尋找解決方案。本文設(shè)計(jì)方案總體上大大提升了軟包香煙的檢測準(zhǔn)確率,保證了出廠香煙的合格率,從而保障卷煙生產(chǎn)企業(yè)的經(jīng)濟(jì)效益。