宋麗梅,徐婧瑋,楊燕罡,郭慶華,3,楊懷棟
(1.天津工業(yè)大學(xué) 電氣工程與自動(dòng)化學(xué)院 天津市電工電能新技術(shù)重點(diǎn)實(shí)驗(yàn)室,天津 300387;2.天津職業(yè)技術(shù)師范大學(xué) 機(jī)械工程學(xué)院,天津 300222;3.伍倫貢大學(xué) 電氣計(jì)算機(jī)和通信工程學(xué)院,伍倫貢 NSW2500,澳大利亞;4.清華大學(xué) 機(jī)械工程學(xué)院精密儀器系,北京 100084)
包裝是為商品提供保護(hù)及相關(guān)信息說明的重要載體。良好的包裝是商品質(zhì)量的基礎(chǔ)保障,它不僅給消費(fèi)者帶來了“安心”,同時(shí)也對商品生產(chǎn)者提出了加工要求。在商品生產(chǎn)過程中,由于各種外界因素以及設(shè)備自身故障,可能使包裝在印刷過程出現(xiàn)各種問題。例如,包裝表面出現(xiàn)異物、表面模糊、顏色失真、包裝漏印等。這些有問題的包裝不僅給消費(fèi)者帶來了諸多麻煩,也將對生產(chǎn)廠家造成經(jīng)濟(jì)和聲譽(yù)的損失,因此,生產(chǎn)企業(yè)都非常重視包裝的質(zhì)量檢測。缺陷檢測作為包裝質(zhì)量檢測系統(tǒng)的重要部分,同時(shí)也是判斷包裝表面信息是否存在缺陷的直接環(huán)節(jié),其效果是完成整個(gè)包裝質(zhì)量檢測的關(guān)鍵,而實(shí)現(xiàn)缺陷檢測的算法也在一定程度上決定了整個(gè)檢測系統(tǒng)的功能實(shí)現(xiàn)的好壞。工業(yè)中,常用的缺陷檢測方法主要包括:模板匹配檢測算法、圖像差分檢測算法、分層檢測算法[1]、基于圖像質(zhì)量評價(jià)的質(zhì)量檢測算法。
圖像質(zhì)量評價(jià)(image quality assessment,IQA)通過對圖像進(jìn)行特性分析,得到圖像的質(zhì)量指標(biāo),該方法已被廣泛地應(yīng)用于圖像處理的各個(gè)領(lǐng)域。圖像質(zhì)量評價(jià)從是否有人為參與的角度主要分為主觀評價(jià)、客觀評價(jià)兩個(gè)分支。從對原始信息的依賴程度,客觀評價(jià)又可分為無參考、部分參考和全參考圖像質(zhì)量評價(jià)[2]。人類視覺系統(tǒng)主要根據(jù)圖像的底層特征理解圖像,如邊界、零交叉等[3]。其中,梯度作為邊界的構(gòu)成要素,被廣泛應(yīng)用于參考圖像質(zhì)量評價(jià)算法的設(shè)計(jì)中。而梯度幅值(gradient magnitude,GM)能夠反映圖像的細(xì)節(jié)變化和紋理變化,并且對缺陷信息具有較高的敏感度,故將其應(yīng)用于本文的缺陷檢測算法中。局部二值模式(local binary pattern,LBP)[4]是一種有效的紋理描述算子,它具有旋轉(zhuǎn)不變性和灰度不變性等顯著優(yōu)點(diǎn)。LBP算子由于其出色的性能,在紋理特征提取方面己經(jīng)取得了廣泛的應(yīng)用。在紋理分析方面,LBP算子是最好的紋理描述符之一,該算法由于計(jì)算簡單、特征分析能力強(qiáng),被普遍應(yīng)用于人臉識別中[5]。由于LBP算子具有灰度不變性優(yōu)點(diǎn),故將LBP算子引入到本文的檢測算法中。文獻(xiàn)[6]利用模板匹配算法及相似性度量篩選有缺陷的乳品包裝日期噴碼,但該方法對模板圖像要求高,魯棒性較差;文獻(xiàn)[7]采用鄰域平均法和中值濾波法對原始圖像進(jìn)行預(yù)處理,但該方法效率較低,對圖像處理方法效率的要求較高;文獻(xiàn)[8]利用一種基于形狀的模板匹配算法,實(shí)現(xiàn)了印刷圖像的質(zhì)量檢測,但該方法受光照影響較大;文獻(xiàn)[9]、文獻(xiàn)[10]分別采用不同方法分割缺陷區(qū)域,但對光線都要求較高。
針對上述問題,本文立足于實(shí)際生產(chǎn)生活的需求,設(shè)計(jì)了一種基于改進(jìn)梯度幅值的包裝缺陷檢測算法。該方法不僅能有效抑制光照變化對缺陷檢測造成的影響,并且能保留缺陷的紋理特征,提升產(chǎn)品檢測效率,改善檢測精度。
常見的全參考圖像客觀評價(jià)算法包括峰值信噪比(peak signal to noise ratio,PSNR)、視覺信息保真度(visual information fidelity,VIF)[11]、特征相似性(feature similarity index,F(xiàn)SIM)算法[12]、梯度結(jié)構(gòu)相似度(gradient-based structural similarity,GSSIM)[13]等。
PSNR是早期的全參考評價(jià)算法,該方法具有計(jì)算復(fù)雜度小且易于實(shí)現(xiàn)的特點(diǎn),計(jì)算方法如(1)式所示。
(1)
其中MSE(mean square error)為均方差,其計(jì)算方法如(2)式所示。
(2)
其中:I(i,j)和K(i,j)分別代表待測圖像和參考圖像的第(i,j)個(gè)像素的灰度值;mn表示尺寸為m×n圖像的像素總數(shù);L為圖像的灰度級數(shù),常見的8位圖像中L=255。
圖像梯度幅值是檢測缺陷信息的重要指標(biāo),經(jīng)典的圖像梯度算法考慮原始圖像中每個(gè)像素某個(gè)鄰域內(nèi)的灰度變化,利用邊緣鄰近的一階或二階導(dǎo)數(shù)變化規(guī)律,為原始圖像中每個(gè)像素某個(gè)鄰域設(shè)置梯度算子。通常,利用小區(qū)域模板進(jìn)行卷積計(jì)算梯度,常用算子有Sobel算子、Laplace算子、Scharr算子等。
本文采用Scharr算子計(jì)算梯度幅值,而Scharr算子的梯度幅值計(jì)算方法如(3)~(5)式所示。
(3)
(4)
(5)
其中:GM(i,j)表示圖像在點(diǎn)(i,j)處的梯度幅值;Gx(i,j)、Gy(i,j)分別表示點(diǎn)(i,j)在x、y方向的梯度分量;原始圖像在點(diǎn)(i,j)處的灰度值用f(i,j)表示。
由此,可通過(6)式計(jì)算參考圖像和待測圖像每個(gè)點(diǎn)的梯度幅值相似度SGM。
(6)
其中:GM1(i,j)、GM2(i,j)分別為參考圖像和待測圖像在每個(gè)點(diǎn)的梯度幅值;T2=255。
兩幅圖像的梯度幅值相似度GM(g1,g2)通過對圖像內(nèi)所有像素點(diǎn)的梯度幅值相似度取均值即可得到,如(7)式所示。
(7)
其中:g1、g2分別代表參考圖像和待測圖像;m、n分別代表圖像的寬、高。
基本的LBP算子計(jì)算原理為定義灰度圖像中任意3×3矩形鄰域,以鄰域的中心點(diǎn)灰度值為閾值,對該鄰域中心點(diǎn)各鄰域像素灰度值作二值量化處理,并將量化后的序列進(jìn)行數(shù)值轉(zhuǎn)換生成表述圖像局部紋理特征的數(shù)值,基本LBP算子的計(jì)算方法如(8)式所示。
(8)
其中:gi表示中心點(diǎn)鄰域的第i個(gè)采樣點(diǎn)的灰度值;gc表示該鄰域中心像素的灰度值;s(gi-gc)表示符號函數(shù),具體計(jì)算方法如(9)式所示。
(9)
若鄰域像素點(diǎn)灰度值與中心像素灰度值之間作差為負(fù)數(shù),則將該像素點(diǎn)對應(yīng)位置標(biāo)記為0,否則標(biāo)記為1,由此可得到一個(gè)二值編碼序列[14]。按照給定編碼方向?qū)Φ玫降亩稻幋a序列排序,依次對其鄰域點(diǎn)賦予不同權(quán)重值,根據(jù)所賦予的權(quán)重值將得到的二值編碼序列計(jì)算轉(zhuǎn)換為一個(gè)十進(jìn)制數(shù),得到該3×3鄰域中心點(diǎn)的LBP值?;镜腖BP算子如圖1所示。
圖1 基本LBP算子計(jì)算
為了提取不同尺度的紋理特征,文獻(xiàn)[15]將基本的LBP算子進(jìn)行改進(jìn),將3×3鄰域擴(kuò)展到任意鄰域系統(tǒng),利用圓形鄰域代替方形鄰域,如圖2所示。
圖2 改進(jìn)LBP算子示意圖
改進(jìn)后的LBP算子允許在半徑為R的圓形鄰域內(nèi)有任意多個(gè)像素點(diǎn),使用可變半徑的圓對中心像素的近鄰像素進(jìn)行編碼,可以得到多種近鄰模式。改進(jìn)LBP算子的計(jì)算公式如(10)式所示。
(10)
其中:gc表示中心點(diǎn)像素的灰度值;gp(p=0,1,…,p-1)表示圍繞gc、以R為半徑的像素點(diǎn)的灰度值。
對于給定中心點(diǎn)(xc,yc),其鄰域像素的位置(xp,yp)可由(11)式得到。
(11)
其中:R表示采樣半徑;p表示第p個(gè)采樣點(diǎn);P表示采樣點(diǎn)總數(shù)。如果計(jì)算值不是整數(shù),該點(diǎn)就無法在圖像上找到。對于沒有完全落在像素位置的點(diǎn)的灰度值,文中采用雙線性插值算法[16]對該點(diǎn)的灰度值進(jìn)行估計(jì),雙線性插值公式矩陣運(yùn)算表達(dá)式如(12)式所示。
(12)
其中:f(x,y)為所求采樣點(diǎn)像素值;f(0,0)、f(0,1)、f(1,0)、f(1,1)分別表示在原始圖像中與距離采樣點(diǎn)最近的4領(lǐng)域內(nèi)的像素點(diǎn)的灰度值。
本文提出的GM-LBP算法是結(jié)合圖像局部二值模式特征和梯度幅值指標(biāo)的缺陷檢測算法?;趫D像質(zhì)量評估算法中利用梯度幅值指標(biāo)檢測缺陷的思想,對傳統(tǒng)檢測算法進(jìn)行了改進(jìn),融入LBP算子的灰度不變性的特點(diǎn),提升了缺陷檢測算法對光照的魯棒性?;贕M-LBP算法的缺陷檢測方案如圖3所示。
圖3 GM-LBP缺陷檢測算法流程圖
本文缺陷檢測算法的步驟具體如下:
1) 分別對采集模板圖像s(x,y)和待測圖像t(x,y)進(jìn)行灰度化處理得到灰度圖像gs(x,y)、gt(x,y),灰度化處理計(jì)算過程如(13)式所示;
Gray=0.298 9×R+0.587 0×G+0.114 0×B
(13)
其中:Gray表示灰度化處理后的像素值;R表示該像素紅色通道的分量值;G表示該像素綠色通道的分量值;B表示該像素藍(lán)色通道的分量值。
2) 計(jì)算圖像gs(x,y)、gt(x,y)的LBP特征Ls(x,y)、Lt(x,y);
3) 獲取Ls(x,y)、Lt(x,y)的梯度幅值Gs(x,y)、Gt(x,y);
4) 計(jì)算梯度幅值Gs(x,y)、Gt(x,y)的梯度幅值相似度β,β的計(jì)算公式為(7)式;
5) 判斷相似度β是否高于所設(shè)定閾值TGL;
6) 若β低于TGL,則判定該產(chǎn)品存在缺陷,若β高于TGL,則判定該包裝不存在缺陷,本文中設(shè)定TGL為0.92。
基于LBP特征的梯度幅值相似度缺陷檢測算法,通過提取圖像的LBP特征,保留了梯度幅值特征對缺陷檢測的有效性,彌補(bǔ)光照變化極易對梯度幅值造成影響的缺陷,有效地提升了算法在缺陷檢測過程中對光照變化的魯棒性。
實(shí)驗(yàn)環(huán)境:Windows7系統(tǒng),計(jì)算機(jī)配置為CPU:Intel(R) Core(TM) i5-3317U 1.70 GHz,內(nèi)存:8 G,Visual Studio 2013環(huán)境下運(yùn)行算法。
實(shí)驗(yàn)樣本:使用300萬像素的Microview RS-A2300-GC50-M00彩色相機(jī),在不同亮度以及被測物體不同缺陷程度下采集共計(jì)150幅分辨率為1 600像素×1 200像素的待檢測圖像。
本文選取圖像質(zhì)量評價(jià)方法中的PSNR算法和GM相似度指標(biāo)兩種不同方法同本文算法的檢測結(jié)果進(jìn)行對比。實(shí)驗(yàn)中,將PSNR算法的最值設(shè)定為40 dB,并對檢測結(jié)果進(jìn)行了歸一化處理。
特征提取過程采用改進(jìn)的LBP算子,P分別取8、16,R分別取1、2、3。實(shí)驗(yàn)用模板圖像s(x,y)如圖4(a)所示,不同參數(shù)LBP特征提取結(jié)果如圖4(b)~(g)所示。
以P=8,R=2的LBP算子為例,對于圖4(a)所示的場景,分別采集如圖5 (a)~(e)所示的不同光照強(qiáng)度下的圖像,得到如圖5(f)~(j)所示的對應(yīng)的LBP特征提取圖。
由圖5(f)~(j)可以看出,在不同光照情況下,LBP特征算子均能獲取豐富的特征,并且其對光照具有較好的魯棒性。圖5(f)~圖5(j)的梯度幅值圖如圖6所示,并由此計(jì)算與模板圖的梯度幅值相似度β。本文設(shè)定缺陷檢測算法結(jié)果β∈[0,1],當(dāng)且僅當(dāng)待測圖像和模板圖像完全一致時(shí),算法檢測結(jié)果為1。
圖4 不同參數(shù)LBP特征提取圖
圖5 不同光照下LBP特征提取圖
圖6 不同光照下LBP特征的梯度幅值圖
利用圖像采集設(shè)備采集到的實(shí)驗(yàn)用圖像如圖7所示。其中,圖7(a)為模板圖像,圖7(b)~圖7(e)為僅改變光照下的模板圖像,圖7(f)~圖7(o)為不同亮度下有不同程度缺陷的待測圖像。經(jīng)灰度化處理后的圖像如圖8所示。
圖7 不同光照及不同缺陷程度的實(shí)驗(yàn)用圖像
圖8 實(shí)驗(yàn)用灰度圖像
其中,圖8(b)、圖8(c)、圖8(d)、圖8(e)分別為圖8(a)所示場景在不同光照條件下采集得到的圖像;圖8(f)、圖8(g)、圖8(h)、圖8(i)、圖8(j)為同一缺陷場景在不同光照情況下獲取的圖像;圖8(k)、圖8(l)、圖8(m)、圖8(n)、圖8(o)為另一種缺陷場景在不同光照情況下獲取的圖像。對圖8所示的實(shí)驗(yàn)用灰度圖像,在僅改變光照的情況下,不同方法檢測結(jié)果β分別如表1所示,而對于不同光照下不同缺陷實(shí)驗(yàn)用圖像的檢測結(jié)果β如表2所示。
表1 不同光照情況下不同算法的檢測結(jié)果
表2 不同光照及不同缺陷程度下不同算法的檢測結(jié)果
由表1可知,對于同一檢測場景,在僅改變光照的情況下,PSNR、GM缺陷檢測算法的檢測結(jié)果會(huì)隨著光照而發(fā)生變化,因而,無法用于不同光照情況下的缺陷檢測中。而本文提出的GM-LBP算法對于同一場景不同光照條件下的檢測結(jié)果均接近1,符合工業(yè)缺陷檢測要適應(yīng)不同光照變化的需求。由表2可知,GM-LBP算法對于同一缺陷場景在不同光照條件下均能取得相同的檢測結(jié)果。而對于不同缺陷,GM-LBP算法的檢測結(jié)果也不相同,因而,本文算法不僅能夠用于檢測缺陷,還可用于衡量缺陷程度。
為了檢驗(yàn)本文提出算法的精度,本文在僅改變光照的情況下,利用本算法對6種不同光照下的270幅圖像進(jìn)行檢測,檢測結(jié)果如表3所示。
表3 光照改變情況下檢測結(jié)果
另外,本文還對于不同光照條件下3類缺陷的共計(jì)350幅圖像進(jìn)行了檢測,檢測結(jié)果如表4所示。
表4 不同光照下包含污損產(chǎn)品的檢測結(jié)果
由表3可知,對于不同光照情況下的待檢測場景,本文提出的GM-LBP算法能夠達(dá)到94.1%的準(zhǔn)確率。而對于不同光照情況下不同缺陷的檢測精度為96.57%。由此可知,本文提出的GM-LBP算法對于不同光照條件下的不同缺陷均具有較高的檢測精度,滿足工業(yè)缺陷檢測算法能適應(yīng)不同光照條件的要求。
產(chǎn)品包裝、商品標(biāo)簽在檢測過程中容易受到光照強(qiáng)度不同造成的影響,由此影響檢測結(jié)果,造成誤檢、漏檢。傳統(tǒng)的印刷產(chǎn)品檢測系統(tǒng)往往通過復(fù)雜的圖像預(yù)處理環(huán)節(jié)適應(yīng)不同的環(huán)境光強(qiáng),提升檢測結(jié)果的準(zhǔn)確性和可靠性。因此,本文算法利用LBP算子對光照條件魯棒性強(qiáng)的特點(diǎn),將LBP算子與圖像質(zhì)量評價(jià)方法中的梯度幅值相似度方法相結(jié)合,彌補(bǔ)GM相似度對光照變化敏感的不足。實(shí)驗(yàn)結(jié)果表明,GM-LBP算法能夠解決基于圖像質(zhì)量評價(jià)方法進(jìn)行缺陷檢測時(shí)存在的問題,提升印刷產(chǎn)品檢測效率及準(zhǔn)確率。目前,本算法的檢測精度為96.57%,故還存在一定的檢測誤差。后續(xù)可以考慮從以下2個(gè)方面降低檢測誤差:1) 從LBP算子的選型入手,采用其他LBP算子進(jìn)行特征提取;2) 嘗試其他LBP算子所提取特征和GM相似度方法的結(jié)合。