高興宇 鐘 平,* 李志松 潘少慧 何卓昆 趙凌波
1(東華大學(xué)理學(xué)院 上海 201620)2(東華大學(xué)信息科學(xué)與技術(shù)學(xué)院 上海 201620)
現(xiàn)代汽車工業(yè)中,產(chǎn)品質(zhì)量控制是生產(chǎn)線上最重要的過程之一。汽車內(nèi)飾件表面缺陷檢測(cè)作為質(zhì)量控制中一個(gè)重要的組成部分,其產(chǎn)品質(zhì)量直接影響汽車最終的價(jià)格和分級(jí)。到目前為止,汽車內(nèi)飾件的表面缺陷檢測(cè)仍然是通過質(zhì)檢員的主觀評(píng)估來實(shí)現(xiàn)的。由于不同質(zhì)檢員之間的評(píng)估標(biāo)準(zhǔn)存在差異、人工成本高、勞動(dòng)強(qiáng)度大、效率低、無法運(yùn)用大數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,汽車制造商仍在尋找最佳的解決方案。
將機(jī)器視覺技術(shù)應(yīng)用于各種材料表面的缺陷檢測(cè),具有人工檢測(cè)無法比擬的優(yōu)勢(shì)。文獻(xiàn)[1]利用神經(jīng)網(wǎng)絡(luò)算法實(shí)現(xiàn)了汽車車身表面缺陷的識(shí)別和分類,文獻(xiàn)[2]利用光譜殘差的視覺特性實(shí)現(xiàn)了鋼帶表面的缺陷檢測(cè);文獻(xiàn)[3]設(shè)計(jì)的提取器算法實(shí)現(xiàn)了鋼軌的缺陷檢測(cè);文獻(xiàn)[4]設(shè)計(jì)的無監(jiān)督學(xué)習(xí)算法實(shí)現(xiàn)了混凝土的缺陷檢測(cè)。表面缺陷檢測(cè)方法大致可以分為特征提取和非特征提取兩類。特征提取在缺陷檢測(cè)中起著重要的作用,例如在空間域或頻域中提取缺陷的有效特征,該方法最大的難點(diǎn)就是尋找缺陷的一般特征[5-6]。在非特征提取方法中,Gabor濾波被認(rèn)為是檢測(cè)各種紋理缺陷最成功的方法之一,因?yàn)樗恍枰唤M經(jīng)過優(yōu)化的濾波器,就可以提取圖像在各個(gè)尺度和方向上的紋理信息,同時(shí)還可以在一定程度上降低光照和噪聲對(duì)圖像的影響。然而,濾波器參數(shù)的篩選是一項(xiàng)相當(dāng)復(fù)雜的工作[7-8]。汽車內(nèi)飾件表面缺陷檢測(cè)具有挑戰(zhàn)性的主要原因是缺陷類型的多樣性。在注塑過程中,大部分缺陷都是由于機(jī)械故障導(dǎo)致的,這些缺陷是隨機(jī)產(chǎn)生的,而且類型是不可預(yù)知的。所以很難將所有可能的缺陷類型作為負(fù)樣本收集起來進(jìn)行算法優(yōu)化,以獲得更好的檢測(cè)性能[9-11]。
本文提出了一種基于模板重構(gòu)與NSCT的汽車內(nèi)飾件表面缺陷檢測(cè)方法??紤]到缺陷的多樣性及其特征描述的困難,首先利用稀疏表示算法對(duì)試件圖像進(jìn)行模板重構(gòu),然后利用差影法生成殘差圖像,最后利用NSCT對(duì)殘差圖像進(jìn)行增強(qiáng),從而實(shí)現(xiàn)缺陷的提取。
圖像的稀疏表示是將目標(biāo)圖像的特征用若干參數(shù)來表示,這些參數(shù)的組合稱為字典,然后再根據(jù)數(shù)學(xué)模型進(jìn)行模板重構(gòu)。利用稀疏表示算法對(duì)汽車內(nèi)飾件表面檢測(cè)區(qū)進(jìn)行自模板重構(gòu),以生成模板圖像,再與檢測(cè)區(qū)圖像進(jìn)行差影,可突顯瑕疵。
用于自模板重構(gòu)的字典為一系數(shù)矩陣,通過系數(shù)矩陣中元素的線性組合可以有效地表示檢測(cè)區(qū)圖像的每一列。由于檢測(cè)區(qū)圖像的缺陷相對(duì)較小,可以直接從檢測(cè)區(qū)圖像本身進(jìn)行字典學(xué)習(xí)。因?yàn)樽阅0鍒D像來自于檢測(cè)區(qū)圖像,進(jìn)行差影時(shí)不需要對(duì)檢測(cè)區(qū)圖像進(jìn)行位置校準(zhǔn),可以靈活地適應(yīng)各種測(cè)試圖像。圖1展示了汽車內(nèi)飾件表面檢測(cè)區(qū)自模板重構(gòu)的具體流程。
圖1 汽車內(nèi)飾件表面檢測(cè)區(qū)自模板重構(gòu)過程
實(shí)際上,稀疏表示的目的就是找到一個(gè)具有少量基向量的線性組合來近似目標(biāo)圖像,且滿足生成的字典平方誤差最小[12-14]。假設(shè)檢測(cè)區(qū)圖像矩陣為U=[u1,u2,…,un],ui∈Rm,其中m和n分別為該矩陣的行和列。定義字典D=[d1,d2,…,dk],dj∈Rm,矩陣U中的每一列ui都可以由D中的向量線性表示。該字典D的優(yōu)化方法如下:
(1)
式中:βj∈Rk為矩陣U中ui的系數(shù)向量。由于D和β均未知,如何構(gòu)造D被稱為字典學(xué)習(xí)。如果將式(1)中的D或β中的一個(gè)變量固定,求解另一個(gè)變量,那么式(1)就變成了凸化問題的求解[15],其本質(zhì)上為最小二乘問題。采用文獻(xiàn)[16]的方法,通過交替最小化實(shí)現(xiàn)大型數(shù)據(jù)集的快速收斂。假設(shè)字典D已經(jīng)確定,則相應(yīng)的系數(shù)矩陣β*可以通過下式求得:
(2)
自模板圖像U′的近似結(jié)果為:
U′=Dβ*
(3)
由于自模板圖像U′來源于檢測(cè)圖像U, 所以重構(gòu)誤差會(huì)大大減小,稀疏表示算法的詳細(xì)流程如下:
Step1生成一個(gè)隨機(jī)矩陣,記為β0。
Step2對(duì)于i=0,1,2,…,n求解Step3。
Step3利用l2范數(shù)求解字典D:
(4)
更新系數(shù)矩陣β:
(5)
自模板重構(gòu)過程中一個(gè)關(guān)鍵步驟就是字典大小k的選取,k的大小將直接影響圖像的重構(gòu)精度。本文利用文獻(xiàn)[17]的方法來選取k值,其評(píng)價(jià)函數(shù)G(k)的計(jì)算方法如下:
(6)
式中:σk和μk分別為殘差圖像的標(biāo)準(zhǔn)差和均值,殘差圖像由檢測(cè)區(qū)圖像與自模板圖像相減后獲得。圖2展示了不同k值下檢測(cè)區(qū)圖像的重構(gòu)結(jié)果。圖3為字典大小k的評(píng)價(jià)函數(shù)曲線。通過式(6)可以計(jì)算出最優(yōu)字典大小k為5。
圖2 不同k值對(duì)應(yīng)的重構(gòu)結(jié)果
圖3 評(píng)價(jià)函數(shù)曲線G(k)
針對(duì)殘差圖像,文獻(xiàn)[18]設(shè)計(jì)的自適應(yīng)閾值方法實(shí)現(xiàn)了織物的缺陷檢測(cè)。對(duì)于高反射物體表面的缺陷檢測(cè),由于檢測(cè)區(qū)光照不均勻,該方法并不適用,本文提出采用NSCT實(shí)現(xiàn)缺陷的增強(qiáng)。
非下采樣Contourlet變換(NSCT)最早由Cunha等提出,該方法繼承了Contourlet變換的各向異性、多方向性和多尺度性,同時(shí)還具備Contourlet變換所不具有的平移不變性,消除了子帶中頻譜混疊現(xiàn)象[19]。NSCT由非下采樣金字塔(NSP)進(jìn)行子帶分解,每一層被分解為一個(gè)低通子帶和一個(gè)帶通子帶。低通子帶主要包含圖像的低頻信號(hào),可以近似表示原圖像。帶通子帶主要包含圖像的高頻信號(hào),具有豐富的邊緣信息。NSCT對(duì)圖像的多方向分解是由非下采樣方向?yàn)V波器(NSDFB)來實(shí)現(xiàn)的。假設(shè)圖像被分解為H層,第H層的帶通子帶包含2H個(gè)方向。圖4展示了NSCT的3層NSP分解及NSDFB頻帶劃分示意圖。
圖4 NSCT的NSP分解與NSDFB頻帶劃分
圖4中H0(z)為低通分解濾波器,H1(z)為高通分解濾波器,H1(z)=1-H0(z),G0(z)和G1(z)分別為對(duì)應(yīng)的低通合成濾波器和高通合成濾波器,它們滿足 Bezout 恒等式:
H0(z)G0(z)+H1(z)G1(z)=1
(7)
考慮到自模板的重構(gòu)精度與計(jì)算速度,本文中檢測(cè)區(qū)圖像的尺寸設(shè)置較小。由于檢測(cè)區(qū)圖像中缺陷數(shù)量有限,其缺陷會(huì)在某單一方向上有增強(qiáng)響應(yīng),因此無需將所有的子帶都用于瑕疵檢測(cè)。為了提高運(yùn)算速度,本文只選擇第1層子帶和第3層子帶進(jìn)行圖像融合。第3層子帶被分為8個(gè)楔形頻帶,每個(gè)楔形頻帶都可以對(duì)殘差圖像進(jìn)行稀疏表示。另外,不同缺陷的響應(yīng)方向不同,所以不能固定某個(gè)方向的頻帶用于缺陷檢測(cè)。
因此,需要采用一種算法,能自動(dòng)地選取合適的頻帶,即選取最優(yōu)頻帶構(gòu)建圖像,實(shí)現(xiàn)缺陷的增強(qiáng)。本文提出了最優(yōu)頻帶自適應(yīng)選取與缺陷增強(qiáng)算法,具體步驟如下:
Step1假設(shè)頻帶圖像為ft(i,j),t為頻帶序數(shù),根據(jù)評(píng)價(jià)函數(shù)F(t)選取最優(yōu)頻帶:
(8)
式中:σt和μt分別為ft(i,j)的標(biāo)準(zhǔn)差和均值。σt的值越大說明圖像中缺陷越明顯;μt的值越小說明圖像被近似得越好。
Step2利用標(biāo)準(zhǔn)差法實(shí)現(xiàn)缺陷的增強(qiáng)[20]:
f′(i,j)=|f(i,j)-μ|-σ
(9)
Step3缺陷圖像二值化:
(10)
式中:c和d為閾值常數(shù),不同類型的試件需要調(diào)整相應(yīng)的數(shù)值。圖5(a)為劃痕缺陷樣本的殘差圖及對(duì)應(yīng)的二值圖,(b)-(i)為劃痕缺陷樣本8個(gè)方向的融合結(jié)果及對(duì)應(yīng)的二值圖,可以看出,(e)的檢測(cè)結(jié)果明顯優(yōu)于(a)。
圖5 劃痕缺陷8個(gè)方向的融合結(jié)果及對(duì)應(yīng)的二值圖
為了驗(yàn)證本文所提出方法的穩(wěn)定性,實(shí)驗(yàn)對(duì)大量樣本進(jìn)行了分析。實(shí)驗(yàn)樣本中缺陷的類別有劃痕、起泡、凹陷、跑料、脫膜和頂印。實(shí)驗(yàn)樣本包含284幅缺陷圖像和147幅正常圖像,圖像大小為121×121,為單通道灰度圖像。檢測(cè)系統(tǒng)采用Teledyne DALSA V3-GM-04K018-00-R型單線掃攝像機(jī),分辨率為2 048×1像素,最大幀速率為18 kHz,試件的傳動(dòng)速度為22.8 mm/s,上位機(jī)以Windows XP為操作平臺(tái),利用MATLAB 2013a軟件進(jìn)行實(shí)驗(yàn)。圖6顯示了幾種缺陷檢測(cè)效果。
圖6 幾種樣本的檢測(cè)效果
圖6(f)-(j)中第一行圖像為檢測(cè)區(qū)圖像,第二行圖像為Gabor算法檢測(cè)結(jié)果,第三行圖像為本文所提出方法的檢測(cè)結(jié)果,其中,圖6(e)為無缺陷樣本。從檢測(cè)結(jié)果可以看出,對(duì)于(b)、(h)、(j)中的缺陷,Gabor算法具有很好的檢測(cè)效果,且具有良好的邊緣信息;對(duì)于(a)、(c)、(g)中的缺陷,Gabor算法則不能將缺陷從背景中分離出來。由于(f)、(i)光照不均勻,導(dǎo)致Gabor算法不能實(shí)現(xiàn)有效檢測(cè),然而,本文所提出的方法對(duì)光照不敏感,具有更好的檢測(cè)效果。(d)、(f)為劃痕缺陷樣本圖像,由于其缺陷具有較強(qiáng)的方向性,經(jīng)非下采樣Contourlet變換后,其缺陷具有良好的邊緣信息。(b)、(i)的缺陷類型分別為跑料和凹痕,其缺陷在多個(gè)方向都具有較強(qiáng)的方向性,但是并不影響檢測(cè)效果。通過對(duì)比,可以看出本文方法具有更好的魯棒性。通過大量實(shí)驗(yàn)數(shù)據(jù)驗(yàn)證,本文方法可以實(shí)現(xiàn)0.1 mm級(jí)精度檢測(cè)。
本文通過稀疏表示算法對(duì)汽車內(nèi)飾件表面圖像進(jìn)行自模板重構(gòu),然后利用差影法生成殘差圖像,最后利用非下采樣Contourlet變換實(shí)現(xiàn)了缺陷的提取。本文方法作為一種無監(jiān)督缺陷檢測(cè)算法,不需要對(duì)待測(cè)圖像進(jìn)行位置校準(zhǔn),也不需要任何先驗(yàn)信息,對(duì)光照不敏感,且魯棒性好。實(shí)驗(yàn)結(jié)果表明,本文方法可以有效地檢測(cè)因機(jī)械故障引起的注塑過程中出現(xiàn)的各種缺陷,其檢測(cè)精度可達(dá)0.1 mm。下一步的工作將專注于非規(guī)則紋理汽車內(nèi)飾件的缺陷檢測(cè),進(jìn)一步提高算法的魯棒性與可推廣性。