王家壽,李 達(dá)*,袁湘云,葛 文,王保云
(1.紅云紅河煙草(集團(tuán))有限責(zé)任公司,中國 昆明,650231;2.云南師范大學(xué)數(shù)學(xué)學(xué)院,中國 昆明,650500)
在煙盒包裝過程中,標(biāo)簽粘貼錯誤是一種常見的系統(tǒng)問題。此類錯誤的產(chǎn)生具有偶發(fā)性、突發(fā)性、間斷性等特點(diǎn),包裝機(jī)操作工人無法控制,包裝設(shè)備又不能杜絕該類不合格煙包的產(chǎn)生。為了找到不合格煙包,需耗費(fèi)大量的人力物力,降低了設(shè)備效率。該類有外包質(zhì)量缺陷的不合格煙包最終有可能直接進(jìn)入市場,這將嚴(yán)重影響企業(yè)的產(chǎn)品質(zhì)量和聲譽(yù)。因此,如何實現(xiàn)錯誤標(biāo)簽的自動識別成為亟待解決的問題。
沈濤等[1]運(yùn)用多光譜分析對煙包外觀進(jìn)行檢測,實現(xiàn)了包裝紙和透明紙的同步檢測。顏西斌[2]從視覺感知的角度提出了一種新的特征提取算法,可以實現(xiàn)條煙中小包缺失與破損、煙支缺失與錯排等問題檢測。趙眾等[3]結(jié)合邊緣檢測和Radon變換了實現(xiàn)煙包封條的缺陷檢測。馮玉[4]認(rèn)為視覺系統(tǒng)在不合格煙包的發(fā)現(xiàn)與剔除過程中,起到了重要的作用。沈宇航[5]、陳海需[6]、常燦[7]等人對煙盒內(nèi)襯紙缺陷、煙包封條、煙包外觀的錯誤檢測進(jìn)行了較為深入的討論。以上這些方法運(yùn)用視覺系統(tǒng)、傳感系統(tǒng)等對卷煙流水線上錯誤進(jìn)行針對性的檢測與識別,能夠有效降低生產(chǎn)線的廢品率,在生產(chǎn)過程中實現(xiàn)提質(zhì)降耗。但是對于標(biāo)簽粘貼錯誤這一常見問題,卻鮮見針對性研究。
本文在尺度不變特征變化(Scale-invariant feature transform,SIFT)算法[8]的基礎(chǔ)上,設(shè)計了一種基于關(guān)鍵點(diǎn)匹配的煙包標(biāo)簽錯誤檢測算法,能夠較為精確地識別標(biāo)簽傾斜、折角、位移等粘貼錯誤。
由于包裝機(jī)的高速運(yùn)轉(zhuǎn)經(jīng)常受到設(shè)備工況、物料質(zhì)量的影響,產(chǎn)生標(biāo)簽粘貼錯誤。常見錯誤類型包括標(biāo)簽偏移、傾斜、折角等,如圖1所示。
圖1 煙包標(biāo)簽錯誤類型
標(biāo)簽向上和向下偏移是比較常見錯誤,如圖1中(a)和(b)。傾斜和折角(嚴(yán)重的翹邊)也是較為明顯的標(biāo)簽錯誤,圖1(c)為標(biāo)簽傾斜,圖1(d)和(e)為折角。在包裝機(jī)上,煙包移動方向為恒定的,所以標(biāo)簽的傾斜和折角也只偏向一個方向。
在圖1的錯誤圖像中,可以看到除了前面所述的明顯錯誤之外,還存在褶皺、輕微翹邊和撕破等問題。由于這些錯誤較為輕微,且均與上下偏移、傾斜和折角等錯誤相伴出現(xiàn),所以本文重點(diǎn)探討標(biāo)簽的垂直位移、水平位移、傾斜和折角這4類錯誤問題。
SIFT算法是David Lowe于1999年提出并進(jìn)一步改進(jìn)的關(guān)鍵點(diǎn)匹配算法[8-10]。SIFT算法對旋轉(zhuǎn)、尺度縮放、亮度變化不敏感,在角點(diǎn)檢測、物體識別、圖像配準(zhǔn)等領(lǐng)域得到了廣泛的應(yīng)用。
在SIFT算法中,首先定義圖像的尺度空間[11]為
L(x,y,σ)=G(x,y,kσ)*I(x,y),
式中k為尺度變化量,σ為尺度參數(shù),I(x,y)為原始圖像,G(x,y,kσ)為尺度可變高斯函數(shù),L(x,y,σ)為I(x,y)在尺度σ下的表示。
為保證后續(xù)特征點(diǎn)檢測的穩(wěn)定性,一般采用不同高斯差分核(Difference of Gaussian, DoG)與圖像卷積生成高斯差分空間:
D(x,y,σ)=L(x,y,kσ)-L(x,y,σ)。
在高斯差分空間中,尋找局部極大值和極小值點(diǎn),并對這些點(diǎn)坐標(biāo)和尺度通過精確定位,得到局部關(guān)鍵點(diǎn),形成關(guān)鍵點(diǎn)集
對于關(guān)鍵點(diǎn),計算其所在高斯金字塔圖像3σ鄰域內(nèi)的梯度與方向分布。將相同梯度方向的梯度幅值進(jìn)行累計,得到關(guān)鍵點(diǎn)的梯度統(tǒng)計函數(shù)c(grad)。對c(grad)求極值,即可得到當(dāng)前關(guān)鍵點(diǎn)的3σ鄰域內(nèi)的梯度方向dmax和幅值。
對所得到的關(guān)鍵點(diǎn),將相應(yīng)尺度的16×16鄰域旋轉(zhuǎn)角度dmax,使其與該點(diǎn)主方向一致。然后將其分成4×4的子塊,共有16個子塊。對每一個子塊,計算其8個方向的導(dǎo)數(shù)。這樣,就可以形成關(guān)鍵點(diǎn)的16×8=128維描述特征。
由于參考圖像與待匹配圖像中標(biāo)簽部分較為相似,關(guān)鍵點(diǎn)匹配過程也是粗定位過程。直接應(yīng)用SIFT進(jìn)行關(guān)鍵點(diǎn)匹配,效果并不理想,如圖2所示。在圖2中,第(i)行為標(biāo)簽參考圖像及其分區(qū)示意圖,(ii)行為SIFT檢測結(jié)果,(iii)行為改進(jìn)算法的檢測效果(算法詳見第4節(jié))。第(ii)和(iii)行中的五幅圖像,分別與圖1(a)~(e)對應(yīng)。為方便顯示,在圖2(ii)和(iii)行中均將標(biāo)簽參考圖像移到待匹配圖像的上中部。
圖2 關(guān)鍵點(diǎn)匹配情況
從圖中可以看出,SIFT算法的失配點(diǎn)較多,圖1(b)和(c)的失配率均超過80%。匹配錯誤的點(diǎn)對所占比例也較高,圖1(b)和(d)的錯配率都超過25%。詳細(xì)的統(tǒng)計信息見表1。
另一方面,由于只考慮局部梯度,導(dǎo)致參考圖像和待匹配圖像中存在大量的相似點(diǎn)對,如圖3所示。在圖3中,參考圖像中的點(diǎn)之間的相似性超過0.9,待匹配圖像中的點(diǎn)亦如此。圖3(a)和(b)中標(biāo)有“o”的點(diǎn)為最佳匹配點(diǎn),相似度高達(dá)0.963 2。同時,圖3(a)中標(biāo)“o”的點(diǎn)與圖3(b)中其它點(diǎn)的相似度最高可達(dá)0.928 8。根據(jù)匹配規(guī)則,二者失配。可見,由于點(diǎn)之間的相似性,會導(dǎo)致本來應(yīng)該正確匹配點(diǎn)對出現(xiàn)失配的情況。同樣的問題也出現(xiàn)在圖3(c)和(d)中,最佳匹配點(diǎn)相似度為0.946 1,因為次佳匹配點(diǎn)相似性為0.930 2,多個點(diǎn)過于相似,只能判定為失配。
圖3(e)和(f)、圖3(g)和(h)展示了類似情況,只不過最佳匹配點(diǎn)對是錯誤的。在圖3(e)和(f)中,標(biāo)有“o”的一對點(diǎn),雖然并非匹配點(diǎn),但相似性高達(dá)0.958 2,在圖3(g)和(h)中的相似度為0.932 3。
圖3 關(guān)鍵點(diǎn)自相似點(diǎn)簇與失配情況
由于SIFT算子不適用于此類場景,導(dǎo)致失配率、錯配率比例很高,無法進(jìn)一步計算標(biāo)簽錯誤類型。
煙包的成像環(huán)境較為穩(wěn)定,整個成像過程中光照和設(shè)備工況基本不變,這使得圖像的色彩、明暗、成像角度和成像距離的變化都不大。所以,關(guān)鍵點(diǎn)的顏色空間、顯著度信息可以作為新的特征。本文提出基于多特征聯(lián)合的煙包標(biāo)簽錯誤識別算法,算法流程如圖4所示。
圖4 標(biāo)簽錯誤識別流程
首先對參考圖像和待匹配圖像都運(yùn)用SIFT算法進(jìn)行關(guān)鍵點(diǎn)提取,并在此基礎(chǔ)上提取關(guān)鍵點(diǎn)的色彩、顯著度等擴(kuò)展特征;接著進(jìn)行相似點(diǎn)簇聚類,同時進(jìn)行對應(yīng)關(guān)系評估;然后依據(jù)關(guān)鍵點(diǎn)匹配結(jié)果進(jìn)行標(biāo)簽參數(shù)計算;最終根據(jù)標(biāo)簽參數(shù)得到錯誤類型。
根據(jù)前述分析可知,對于同一類型煙包,外觀顏色、形狀、圖案均相同。再加上成像設(shè)備與實物距離不變,成像光照環(huán)境較為穩(wěn)定,使得圖像數(shù)據(jù)的光照、對比度差異較小,故而所得煙包圖像具有以下特征:
(1)煙包圖像之間的空間分辨率不變;
(2)煙包圖像之間的顏色差異很??;
(3)煙包圖像在整幅圖中的位置較為固定。
關(guān)鍵點(diǎn)和局部顯著度特征[12]采用如下公式計算:
結(jié)合上述二者,得到擴(kuò)展特征
對應(yīng)關(guān)系評估包括相似點(diǎn)簇匹配校正和基于聚類的錯誤匹配去除。
對類別特征向量進(jìn)行K-means聚類,得到不同點(diǎn)對類別集。因為正確匹配的點(diǎn)對較為集中,所以點(diǎn)對數(shù)目最多的類別即為正確匹配的類別,其它類別為錯誤匹配的類別。
通過上述步驟,可以大幅提升配準(zhǔn)率,同時降低錯配率,如圖2中(c)行所示。表1中給出了圖1(a)~(e)的關(guān)鍵點(diǎn)匹配情況。表中失配率和配準(zhǔn)率表示失配點(diǎn)數(shù)和配準(zhǔn)點(diǎn)數(shù)占參考圖像關(guān)鍵點(diǎn)總數(shù)的比例,錯配率表示已配對的點(diǎn)對中匹配錯誤的比例。可以看出改進(jìn)前的匹配率較低,最為主要的是錯配率過高,導(dǎo)致無法計算標(biāo)簽參數(shù),也就難以判斷標(biāo)簽的錯誤類型。而改進(jìn)之后的算法,在提高配準(zhǔn)率的同時,大大降低了錯配率,錯配點(diǎn)接近為0,匹配效果較好,在此基礎(chǔ)上可以很方便地計算標(biāo)簽的錯誤類型。
表1 關(guān)鍵點(diǎn)匹配情況統(tǒng)計
圖5 標(biāo)簽參數(shù)計算
標(biāo)簽參數(shù)計算分為位置判斷、傾斜角計算和折角計算。位移計算主要是計算參考圖像的A,B,C和D共4個區(qū)域的關(guān)鍵點(diǎn)匹配情況,判斷標(biāo)簽是否出現(xiàn)垂直方向和水平方向的位移。傾斜角計算是標(biāo)簽的傾斜程度。折角計算主要是計算4個區(qū)域被折疊的程度,折角大多發(fā)生在D區(qū)域。
式中,m0和mref分別為參考圖像的中心點(diǎn)和待匹配圖像中標(biāo)簽的中心位置。ΔS的第一分量為水平位移,第二分量為垂直位移,正數(shù)為右移和下移,負(fù)數(shù)為左移和上移。
對圖1中5幅具有代表性的標(biāo)簽錯誤圖像進(jìn)行參數(shù)計算,得到結(jié)果如表2。
表2 錯誤標(biāo)簽的參數(shù)值
從表中可以看出改進(jìn)的算法能夠大幅提高參數(shù)值的精度。在圖1(a)中,其錯誤類型為標(biāo)簽下移,移動幅度為16像素,SIFT算法計算結(jié)果為18像素,而本文算法與真實值一致。圖1(b)中,標(biāo)簽發(fā)生了嚴(yán)重的上移,移動幅度為35像素,導(dǎo)致區(qū)域A和B沒有成功匹配點(diǎn)。這時用SIFT算法的話,由于錯配點(diǎn)較多,使得計算誤差較大。其它圖1(c)-(e)也是類似的情況。
實驗共使用了3 000張圖像進(jìn)行測試,其中標(biāo)簽傾斜480張、折角455張、垂直位移546張和水平位移426張,其余1 093張為標(biāo)簽粘貼正確的圖像。為方便比較不同類型錯誤的嚴(yán)重程度,以下列3組公式來歸一化錯誤參數(shù):
d垂直移動率=垂直位移值/垂直位移最大值,
d水平移動率=水平位移值/水平位移最大值,
d左傾率=左傾值/左傾最大值,
在垂直移動中,上移情況較為嚴(yán)重,最高可達(dá)70像素,因此垂直移動最大值取70像素。標(biāo)簽的水平移動方向都是向左(順著煙包移動方向),一般移動像素不超過80像素,因此水平移動最大值取80像素。同樣地,左傾最大值取45像素。
對于煙包進(jìn)行檢測時,檢測垂直位移、水平位移、左傾和折角的比率,以最大值對應(yīng)的類型來判定圖像的錯誤。識別率計算公式為
p識別率=正確識別張數(shù)/該錯誤類型張數(shù)×100%,
漏檢率計算公式為
虛警率計算公式為
檢測結(jié)果如表3所示,可以看出本文算法對于常見的標(biāo)簽錯誤識別率均超過99%,且虛警率和漏警率均低于5%。
表3 錯誤類型判斷
針對煙包標(biāo)簽參數(shù)計算與錯誤類型識別問題,提出了基于關(guān)鍵點(diǎn)匹配的煙包標(biāo)簽錯誤檢測算法。首先改進(jìn)了SIFT算法,運(yùn)用擴(kuò)展特征、相似點(diǎn)簇聚類與對應(yīng)關(guān)系評估等提高了關(guān)鍵點(diǎn)的配準(zhǔn)率。在此基礎(chǔ)上,計算標(biāo)簽的參數(shù),并據(jù)此計算標(biāo)簽的錯誤類型。算法主要的貢獻(xiàn)為:
(1)運(yùn)用擴(kuò)展特征、相似點(diǎn)簇聚類和配準(zhǔn)關(guān)系評估等方法,改進(jìn)了關(guān)鍵點(diǎn)匹配算法。
(2)實現(xiàn)了煙包標(biāo)簽錯誤的準(zhǔn)確檢測。
在本文實驗中,成像環(huán)境較為穩(wěn)定,圖像中除標(biāo)簽外的背景部分也較為一致,這為本算法的實現(xiàn)便利之處。同時,這也是本算法的局限性所在。當(dāng)圖像中背景部分變化較大時,需要對標(biāo)簽部分和背景部分進(jìn)行更為復(fù)雜的識別,這是以后工作的方向。