杜曉輝,劉 霖,張 靜,倪光明,劉娟秀,劉 永
(電子科技大學(xué) 光電科學(xué)與工程學(xué)院,四川 成都 610054)
在火花塞的生產(chǎn)線中,火花塞端面表觀缺陷的檢測(cè)常常由人工完成,生產(chǎn)沒(méi)有真正達(dá)到標(biāo)準(zhǔn)化和自動(dòng)化?;谌搜鄣臋z測(cè),人為影響因素大,且長(zhǎng)時(shí)間目視容易引起視覺(jué)疲勞,造成誤檢或者漏檢。此外,人眼的檢測(cè)并沒(méi)有一個(gè)合理的檢測(cè)標(biāo)準(zhǔn),對(duì)于缺陷的檢測(cè)往往通過(guò)經(jīng)驗(yàn)來(lái)判斷,不符合生產(chǎn)的標(biāo)準(zhǔn)化、規(guī)范化的要求。
隨著機(jī)器視覺(jué)的發(fā)展,為火花塞端面表觀缺陷檢測(cè)提供了一個(gè)可行的解決方案。但是,由于火花塞的生產(chǎn)并非無(wú)塵生產(chǎn),端面常伴有油污、粉塵等類似缺陷的雜質(zhì),對(duì)于缺陷的提取和檢測(cè)提出了更高的算法要求。
目前,應(yīng)用于火花塞的端面缺陷檢測(cè)算法并未見(jiàn)報(bào)道,但應(yīng)用于金屬缺陷檢測(cè)領(lǐng)域的機(jī)器視覺(jué)算法卻不斷在改進(jìn)。2009年,電子科技大學(xué)摩米實(shí)驗(yàn)室研制的子彈表觀缺陷檢測(cè)系統(tǒng),首次將機(jī)器視覺(jué)引入彈殼表觀缺陷檢測(cè)[1]。2013年,中國(guó)地質(zhì)大學(xué)實(shí)現(xiàn)了應(yīng)用在鋼鐵領(lǐng)域的帶鋼板表觀缺陷檢測(cè)系統(tǒng)[2];同年,電子科技大學(xué)實(shí)現(xiàn)了PCB的表觀缺陷檢測(cè),該算法的實(shí)現(xiàn)為復(fù)雜環(huán)境下目標(biāo)缺陷的提取提供了很大的借鑒意義[3];2014年,北京交通大學(xué)通信和信息系統(tǒng)重點(diǎn)實(shí)驗(yàn)室研制了地鐵隧道自動(dòng)裂縫檢測(cè)和分類系統(tǒng)[4];江南大學(xué)實(shí)現(xiàn)了金屬制罐焊縫缺陷檢測(cè)系統(tǒng)[5]。盡管這些算法對(duì)于火花塞端面的缺陷檢測(cè)具有借鑒意義,但是,由于檢測(cè)需求的不同,在一定程度上并不適用。首先,火花塞端面缺陷檢測(cè)的主要對(duì)象是火花塞端面的凹坑及劃痕缺陷;其次,缺陷的判定條件不同,由于火花塞端面為一環(huán)形,缺陷大小的判定需要增加計(jì)算缺陷在徑向方向的長(zhǎng)度;再次,火花塞生產(chǎn)線工藝較多,生產(chǎn)線環(huán)境惡劣,其上面的油污極易附著灰塵等雜質(zhì)。綜上這些因素都對(duì)檢測(cè)算法提出了更高的要求。
因此,文中提出了一種面向火花塞端面缺陷檢測(cè)的算法。算法首先對(duì)端面的圓環(huán)區(qū)域進(jìn)行提取,之后根據(jù)其缺陷特征進(jìn)行了坐標(biāo)變換,然后利用形態(tài)學(xué)方法進(jìn)行濾波提取缺陷及類缺陷雜質(zhì)區(qū)域,最后對(duì)提取的凹坑缺陷和雜質(zhì)進(jìn)行特征提取并用機(jī)器視覺(jué)方法進(jìn)行識(shí)別。
火花塞端面缺陷檢測(cè)系統(tǒng)采用在線檢測(cè)的方式,在原生產(chǎn)工位加裝檢測(cè)裝置,對(duì)存在缺陷的次品進(jìn)行在線式剔除。檢測(cè)速度和生產(chǎn)線的前進(jìn)速度嚴(yán)格保持一致。該檢測(cè)系統(tǒng)光學(xué)部分由五百萬(wàn)像素工業(yè)相機(jī)、遠(yuǎn)心鏡頭以及定制的同軸光源組成。由于殼體環(huán)形端面在火花塞的中部,端面上方有一段長(zhǎng)約35 mm,直徑約13 mm的螺紋軸,故初步設(shè)計(jì)采用遠(yuǎn)心鏡頭。如果采用普通工業(yè)鏡頭,由于普通工業(yè)鏡頭存在一定的視場(chǎng)角,殼體端面上方的螺紋軸會(huì)對(duì)端面的檢測(cè)造成影響,會(huì)使得端面在CCD上的成像變得模糊且面積縮小。而遠(yuǎn)心鏡頭卻不存在視場(chǎng)角,這對(duì)端面在CCD上的成像非常有利。
由光學(xué)系統(tǒng)采得的圖像如圖1所示。
其端面檢測(cè)區(qū)域如圖1中圓環(huán)所在區(qū)域,檢測(cè)時(shí)圓環(huán)的提取為第一步。由于端面缺陷的判定標(biāo)準(zhǔn)為缺陷大小在徑向方向長(zhǎng)度大于某個(gè)閾值,因此,將圓環(huán)進(jìn)行坐標(biāo)變換,轉(zhuǎn)換為矩形,即將圓環(huán)展開(kāi),這樣在環(huán)向方向盡管有拉伸,但并不影響缺陷的提取。經(jīng)過(guò)一次濾波后,通過(guò)形態(tài)學(xué)方法提取缺陷及類缺陷雜質(zhì)區(qū)域,最后通過(guò)提取特征值及人工智能的方式進(jìn)行識(shí)別區(qū)分。
圖1 火花塞端面檢測(cè)光線成像系統(tǒng)所采圖像
1.2.1 感興趣區(qū)域提取
由圖1可知,相機(jī)采得的圖像具有一定的雜質(zhì)背景,只有圓環(huán)為檢測(cè)的感興趣區(qū)域。圓環(huán)提取常用的方法是霍夫變換,但是由于霍夫變換提取的效率低,文中采用了一種改進(jìn)的霍夫變換用來(lái)提取圓環(huán)。
首先,對(duì)灰度圖像進(jìn)行二值化[6-9]。由于系統(tǒng)的打光方式是采用過(guò)飽和方式,因而二值化采用固定閾值二值化方法,如式1:
(1)
其中,T為分割閾值;fT(x)為分割結(jié)果。
在用面積過(guò)濾掉部分雜質(zhì)點(diǎn)后,采用下述方法求取圓心:
(1)掃描圖像,尋找圖像每行像素的左右端點(diǎn);
(2)求取每行像素左右端點(diǎn)的中心,并對(duì)所有行中心求均值即為圓心行坐標(biāo);
(3)同理,掃描每列,對(duì)所有列的中心求均值即為圓心縱坐標(biāo)。
為了求取外圓的半徑,采用霍夫變換方法[10]:
(1)對(duì)圖1中的圖像用Sobel算子進(jìn)行邊緣檢測(cè);
(2)設(shè)定外圓半徑范圍rmin和rmax;
(3)求取邊緣圖像中每個(gè)亮點(diǎn)到圓心的距離,并對(duì)距離位于rmin和rmax之間的數(shù)值進(jìn)行統(tǒng)計(jì);
(4)統(tǒng)計(jì)數(shù)值中最大為圓環(huán)的外圓半徑。
由于圓環(huán)寬度固定,因而可以根據(jù)外圓半徑求得內(nèi)圓半徑:
(2)
其中,R為外圓半徑;r為內(nèi)圓半徑;L為圓環(huán)寬度;d為邊緣圖像中各亮點(diǎn)到圓心(cx,cy)的距離;Nd為距離的統(tǒng)計(jì)。
最后,可根據(jù)圓心及半徑信息對(duì)圓環(huán)進(jìn)行提取。
1.2.2 坐標(biāo)變換
為提取符合缺陷條件(長(zhǎng)度沿徑向方向過(guò)長(zhǎng))的凹坑或者雜質(zhì),通過(guò)極坐標(biāo)變換將圓環(huán)展開(kāi),展開(kāi)方法如下式所示:
(3)
其中,x和y分別為展開(kāi)后矩形圖像的位置信息;x'和y'分別為展開(kāi)前圓環(huán)的坐標(biāo)信息。
1.2.3 缺陷及類缺陷雜質(zhì)提取
由于圖像中黑點(diǎn)雜質(zhì)的存在,故在進(jìn)行缺陷提取前需要對(duì)圖像進(jìn)行濾波[11-14]。文中采用中值濾波的方式,如下式所示:
f'(x)=med{xn|xn∈W}
(4)
其中,xn為所要進(jìn)行處理的像素點(diǎn);W為以xn為中心的窗口;f'(x)為W窗口中所有像素的中值。
展開(kāi)后的矩形圖像中的主背景為亮色,文中采用了局部閾值分割法對(duì)其進(jìn)行二值化,如下所示:
(5)
其中,f(x)為分割前的像素值;W為以xn為中心的窗口;s(x)為分割后結(jié)果;H和L分別為極端閾值;h和l為相對(duì)閾值。當(dāng)滿足上述四個(gè)條件時(shí)分割為1,否則為0。
二值化的圖像中存在許多雜質(zhì)點(diǎn)及雜質(zhì)條紋,文中采用形態(tài)學(xué)方法對(duì)其進(jìn)行濾除。
首先,對(duì)圖像進(jìn)行橫向膨脹,使得斷開(kāi)的凹坑可以連在一起;其次,對(duì)圖像進(jìn)行縱向腐蝕,腐蝕大小根據(jù)缺陷大小的判定來(lái)確定,通過(guò)腐蝕可以濾除條紋雜質(zhì);然后,對(duì)圖像進(jìn)行橫向腐蝕;最后,對(duì)圖像進(jìn)行縱向膨脹,以完成前兩步的閉合操作。
經(jīng)過(guò)上述濾波,圖像中剩下了凹坑缺陷以及類缺陷雜質(zhì)。
通過(guò)對(duì)上圖進(jìn)行聯(lián)通域標(biāo)記,可以在矩形圖中得到其對(duì)應(yīng)的缺陷位置及形態(tài),如圖2所示。
圖2 火花塞端面檢測(cè)缺陷提取效果圖(1)
1.2.4 缺陷特征提取及識(shí)別
缺陷及類缺陷雜質(zhì)經(jīng)上述步驟后提取如圖3所示。
圖3 火花塞端面檢測(cè)缺陷提取效果圖(2)
其中,圖(2)、(3)、(4)、(6)、(9)為缺陷,(1)、(5)、(7)、(8)、(10)為類缺陷雜質(zhì)。從圖中對(duì)比可以發(fā)現(xiàn),缺陷凹坑和類缺陷雜質(zhì)具有明顯的梯度差異。缺陷凹坑的邊緣信息比較多,因而梯度較大的點(diǎn)多,梯度信息在梯度較大時(shí)統(tǒng)計(jì)數(shù)目多,如圖4中(b)、(d)、(e)所示。類缺陷雜質(zhì)一般是由于油污等雜質(zhì)造成,其圖像上表現(xiàn)為不均勻,反映到梯度信息上是梯度較光滑,如圖4中(a)、(c)所示(統(tǒng)計(jì)橫坐標(biāo)范圍為梯度最大值的一半到梯度最大值)。
在數(shù)據(jù)處理之前,對(duì)數(shù)據(jù)進(jìn)行歸一化,歸一化方法如下:
首先,選取梯度統(tǒng)計(jì)的后100個(gè)數(shù)據(jù)進(jìn)行特征識(shí)別;
其次,利用下述公式進(jìn)行歸一化[15]:
(6)
文中選取了其中4個(gè)較為明顯的特征[15]:
(1)梯度直方圖三階矩,用于描述直方圖的偏斜性度量:
(7)
其中,zi為數(shù)據(jù);m為數(shù)據(jù)均值;p(zi)為該數(shù)據(jù)值的概率。
(2)數(shù)據(jù)之和,由于統(tǒng)計(jì)圖中缺陷統(tǒng)計(jì)圖包含信息量小,而雜質(zhì)的信息量大,故選取該度量:
(8)
(3)非極大均值,即去除極大值后其余數(shù)據(jù)均值:
(9)
(3)極大值位置:
pos(max(zi))=POS(zi=max(zi))
(10)
圖4 火花塞端面檢測(cè)缺陷及缺陷梯度統(tǒng)計(jì)圖
表1給出了上述5幅圖像中的4個(gè)特征值。
表1 5幅圖像的特征值
從表1可以發(fā)現(xiàn),對(duì)于缺陷其梯度直方圖三階矩較類缺陷類雜質(zhì)的數(shù)值絕對(duì)值大一個(gè)數(shù)量級(jí),數(shù)據(jù)之和通常較小,非極大均值較大。此外,類缺陷類雜質(zhì)通常具有多個(gè)極大值,而缺陷只有一個(gè)。
對(duì)于缺陷與類缺陷雜質(zhì)的分類方法,文中采用了邏輯回歸模型。邏輯回歸模型[16-17]是一種二分類的分類器,是機(jī)器學(xué)習(xí)領(lǐng)域監(jiān)督學(xué)習(xí)的一種分類算法,用于估計(jì)事物的可能性。其本質(zhì)是一組權(quán)值w0,w1,…,wm。當(dāng)測(cè)試樣本數(shù)據(jù)到來(lái)時(shí),這組權(quán)值按照線性加權(quán)求和的方式得到一個(gè)z值:
z=w0+w1*x1+w2*x2+…+wm*xm
(11)
其中,x1,x2,…,xm是某樣本數(shù)據(jù)的各個(gè)特征,維度為m。
之后按照sigmoid函數(shù)的形式求出:
(12)
由于sigmoid函數(shù)的定義域是(-INF,+INF),而值域?yàn)?0,1)。因此最基本的LR分類器適合于對(duì)兩類目標(biāo)進(jìn)行分類。邏輯回歸分類器訓(xùn)練的過(guò)程就是求權(quán)值的過(guò)程,使得期望輸出與實(shí)際輸出的差值最小。文中采用極大似然估計(jì)法(MLE)求得迭代關(guān)系式:
(13)
根據(jù)上述理論,選取了50個(gè)缺陷及類缺陷雜質(zhì)作為樣本進(jìn)行訓(xùn)練,其中31個(gè)樣本為缺陷樣本,其余19個(gè)樣本為類缺陷樣本,每個(gè)樣本具有梯度直方圖三階矩、數(shù)據(jù)和、非極大均值等三個(gè)特征值,并取學(xué)習(xí)率為0.5。將樣本輸入訓(xùn)練器,經(jīng)過(guò)6 059次迭代后,權(quán)值的損失小于設(shè)定的閾值0.001,即
(14)
此時(shí),計(jì)算得出權(quán)值如下:
(15)
故得到邏輯回歸模型為:
(16)
當(dāng)σ(z)的值大于等于0.5時(shí),判定為缺陷,否則判定為雜質(zhì)。文中選取了5組測(cè)試樣本,每組有100個(gè)測(cè)試樣本進(jìn)行測(cè)試。檢測(cè)結(jié)果如表2所示。
表2 樣本檢測(cè)結(jié)果
從表2可知,將雜質(zhì)檢測(cè)為缺陷的樣本共有5個(gè),誤檢率為1%,漏檢缺陷樣本有1個(gè)。完全達(dá)到了檢測(cè)需求。
由于雜質(zhì)背景的存在,這些雜質(zhì)背景主要為油污所致,具有不規(guī)律性,因而導(dǎo)致其梯度統(tǒng)計(jì)直方圖與實(shí)際缺陷的梯度統(tǒng)計(jì)直方圖類似,可能會(huì)導(dǎo)致誤檢。
導(dǎo)致漏檢的原因是由于缺陷融合在雜質(zhì)背景中,其梯度變化不明顯,導(dǎo)致梯度統(tǒng)計(jì)直方圖不具有缺陷的特性。
火花塞端面缺陷檢測(cè)一直是機(jī)器實(shí)現(xiàn)自動(dòng)化過(guò)程中從未涉獵的課題。文中基于火花塞端面的缺陷檢測(cè)需要,設(shè)計(jì)了一種基于機(jī)器視覺(jué)的火花塞端面缺陷檢測(cè)算法。該算法從采圖開(kāi)始,逐步進(jìn)行了感興趣區(qū)域提取、坐標(biāo)變換、圖像中值濾波、局部閾值分割、形態(tài)學(xué)濾波等處理,提取了缺陷以及類缺陷雜質(zhì)。最后,通過(guò)分析樣本圖像的梯度信息,構(gòu)建梯度統(tǒng)計(jì)直方圖,提取了樣本的主要顯著特征,然后利用人工智能的機(jī)器學(xué)習(xí)算法——邏輯回歸模型進(jìn)行了分類。結(jié)果表明分類結(jié)果很好,完全達(dá)到了工業(yè)生產(chǎn)的需求。然而,對(duì)于誤檢和漏檢的樣本,仍需進(jìn)一步分析其特性,改進(jìn)算法,以更好地降低誤檢率和漏檢率。