田 魁,管庶安,胡堯俊
(武漢工業(yè)學(xué)院數(shù)學(xué)與計算機學(xué)院,湖北武漢430023)
在基于機器視覺的瓷磚尺寸與平整度檢測合為一體的設(shè)備中,由于只能采用上光源方式采集圖像[1],故在皮帶磨損、皮帶上有水漬、瓷磚表面有花紋等情況下,圖像中存在嚴(yán)重的干擾,如圖1所示。按照常規(guī)方法進(jìn)行角點定位[2],會因為干擾因素較多而導(dǎo)致算法復(fù)雜,不僅很難滿足在線實時檢測的要求,而且檢測結(jié)果也難以達(dá)到精度要求,甚至角點定位錯誤。對此,本文采用側(cè)射平行光源照明,在瓷磚邊沿形成陰影暗區(qū),在檢測算法中,先根據(jù)瓷磚在圖像中的形狀和位置特征確定一個存在角點和邊緣的參考區(qū)域,再根據(jù)陰影暗區(qū)的特征在參考區(qū)域中精確搜索邊緣,定位角點。本方法避開了對大量不存在目標(biāo)的區(qū)域的搜索,具有速度快、定位準(zhǔn)確和抗干擾能力強的特點,實際效果良好。
為了檢測瓷磚的四條邊長,將被檢測的瓷磚置于傳輸皮帶上,在皮帶上方固定四臺攝像機,當(dāng)瓷磚勻速地通過攝像機下方時,攝像機同時被觸發(fā)采集瓷磚四個角點的圖像[3]。在由于要將尺寸與平整度檢測合為一體,只能采用上光源照明,為了盡可能地排除干擾,采用側(cè)射平行光源照明,結(jié)果在靠近瓷磚邊沿的皮帶表面上形成陰影暗區(qū),如圖2所示。大量實驗表明,成像后水漬、皮帶磨損等干擾在陰影區(qū)變得不明顯,因此大大地削減了瓷磚邊沿外側(cè)的干擾,對邊緣的準(zhǔn)確定位極為有利。
圖1 采集到的含有干擾的圖像
在以下討論中,記采集到的瓷磚灰度圖像為f(x,y),尺寸為1 280×960像素,對應(yīng)實物的尺寸約為20 mm×15 mm。
圖2 側(cè)射平行光源照明方式
由于攝像機采集到的是瓷磚的四個角點的圖像,故只要知道是哪個角,就能知道水平邊緣和垂直邊緣所處的區(qū)域。實際情況下,由于安裝誤差、對中機構(gòu)工作誤差、瓷磚在運動時光電檢測裝置的延遲誤差等,會使瓷磚的角點偏離圖像中央位置,如果在整幅圖像中盲目搜索角點,由于計算量大,耗時長,將無法滿足實時檢測的要求,因此首先需要確定瓷磚邊緣的參考位置,再由此得到邊緣所在的參考區(qū)域,最后在參考區(qū)域中定位角點。
某攝像機采集到的圖像如圖3所示,將圖像劃分為五個矩形區(qū)域,區(qū)域Ⅴ是瓷磚角點的允許區(qū)域,角點出現(xiàn)在該區(qū)域才能被準(zhǔn)確檢測出來,否則會因為能看到的邊緣點太少而無法準(zhǔn)確定位角點,甚至定位錯誤。實際中,通過調(diào)整攝像機的安裝位置以及使用對中機構(gòu)對瓷磚運動方向進(jìn)行修正,可以保證瓷磚角點始終落在區(qū)域Ⅴ中。
圖3 瓷磚圖像區(qū)域的劃分
在圖3中,設(shè)圖像左上角為坐標(biāo)系原點,水平方向為x軸,豎直方向為y軸,水平邊緣在豎直方向的參考位置設(shè)為yo,豎直邊緣在水平方向的參考位置設(shè)為xo。由于磚角出現(xiàn)在左上方,因此要確定yo,必須在區(qū)域Ⅳ中搜索;要確定xo,必須在區(qū)域Ⅰ中搜索。以確定yo為例,記區(qū)域Ⅳ左上角的坐標(biāo)為(x1,y1),右下角的坐標(biāo)為(x2,y2)。將區(qū)域Ⅳ中的圖像向y軸投影,記為fy(y):
(1)式中求和具有平滑作用,可以抑制一些噪聲的干擾。圖4為攝影和梯度曲線。fy(y)的曲線如圖4(a)所示。
由圖4(a)可以看出從y1到y(tǒng)2,灰度值在yo處發(fā)生跳變后的一段范圍內(nèi)保持不變,這段范圍就對應(yīng)著圖像中的陰影暗區(qū),為了準(zhǔn)確找到y(tǒng)o,求fy(y)關(guān)于y的梯度,記為gy(y):
圖4 投影和梯度曲線
(2)式中求和亦具有平滑作用,所以噪聲得到了進(jìn)一步抑制。gy(y)的曲線如圖4(b)所示。
由圖4(b)可以看出在y1和yo之間出現(xiàn)了很多峰點,這些峰點大部分是由瓷磚表面的花紋形成的干擾點,由于實際邊緣點所在位置峰值較大,設(shè)定一個峰值幅度閾值T1,當(dāng)峰值點的幅度大于T1時,則把該點當(dāng)作候選邊緣點,記為 pi,i=1,2,…m?,F(xiàn)在需要利用陰影暗區(qū)的特征,從m個候選邊緣點中篩選出一個實際邊緣點,算法如下。
對于所有的pi,求Si:
(3)式中N的值由陰影暗區(qū)的寬度決定,一般取陰影區(qū)寬度的1/2。Si取最小值時所對應(yīng)的pi就是瓷磚水平邊緣在垂直方向的參考位置yo。
同理由區(qū)域Ⅰ可以求得瓷磚豎直邊緣在水平方向的參考位置xo。
由于瓷磚的運動,實際的瓷磚邊緣不是嚴(yán)格水平或垂直的,邊緣將存在于參考位置附近的某個矩形區(qū)域內(nèi)。圖5中Sx、Sy分別表示水平邊緣、垂直邊緣存在的區(qū)域,記:
Sx=(0,yo-d,xo+d,yo+d),
Sy=(xo-d,0,xo+d,yo+d).
其中,圓括號中的4個參數(shù)分別表示矩形區(qū)域的左上角x,y坐標(biāo)和右下角x,y坐標(biāo)。d決定矩形區(qū)域的大小,要求選擇適當(dāng)?shù)膁值,使水平或垂直邊緣全部含于Sx或Sy中。實際中,設(shè)允許瓷磚偏轉(zhuǎn)的角度為 ±2°,則可取 d=|W tan2°|,W 為圖像寬度,W=1280,計算得 d≈45,取 d=50。
圖5 邊緣參考區(qū)域
為了定位角點,需要得到全部邊緣點。必須說明,在Sx和Sy內(nèi),仍存在某些干擾,特別是對瓷磚進(jìn)行倒角加工造成的干擾,對精確定位邊緣造成影響。為此,應(yīng)采用抗干擾性能良好的算法來搜索邊緣?,F(xiàn)以水平邊緣的定位為例說明采取的算法。
(1)對Sx中的第x列像素求關(guān)于垂直方向的梯度 grad(x,y):
(2)在第x列,沿著y方向搜索梯度大于閾值T2的峰點,記峰點位置于數(shù)組peek[n]中,n為峰點的個數(shù)。
(3)如果n=0,則轉(zhuǎn)步驟(4);如果n=1,則該點即為邊緣點,記錄位置,轉(zhuǎn)步驟(4);如果n≥2,表明搜索到的邊緣候選點有多個,此時需要利用陰影暗區(qū)的特征來進(jìn)一步甄別,篩選出真正的邊緣點,記錄位置,轉(zhuǎn)到步驟(4)。
(4)若為最后一列,則結(jié)束;否則x=x+1,轉(zhuǎn)步驟(1)。
(4)式中,某點梯度的計算鄰域為矩形,其高為6,寬為2A。由于水平邊緣不會偏離水平位置太多,故A可取大些,有利于抗干擾。通過上述算法可以精確搜索出瓷磚的水平邊緣,同理在Sy內(nèi)也可以精確搜索出瓷磚的垂直邊緣。
通過上述得到的邊緣中不可避免地存在一些由噪聲引起的干擾點,也有可能會丟失一些真正的邊緣點,需要用直線來擬合水平邊緣和垂直邊緣,兩直線的交點就是瓷磚的角點,通過這種方式,甚至在瓷磚少許缺角的情況下也能準(zhǔn)確定位角點。
常用直線擬合方法有Hough變換和最小二乘法。Hough變換具有抗干擾能力強等特點,具有排除干擾點,連接斷裂的功能,但當(dāng)邊緣稍有彎曲時會產(chǎn)生誤差[4]。最小二乘法擬合能對彎曲進(jìn)行平均處理修正,但干擾點會影響擬合的精度[5]。本文將兩者結(jié)合起來[6],先作 Hough變換,再取 Hough變換得到的直線近旁的點作最小二乘法擬合,從而精確地擬合出邊緣,定位角點。
實驗中用側(cè)射平行光源照明采集200塊瓷磚的800幅圖像,其中白色瓷磚100塊,黑色瓷磚50塊,花磚50塊,皮帶面上有嚴(yán)重磨損、水漬。經(jīng)試驗,選擇有關(guān)參數(shù)為 N=30,T1=160,T2=6,A=30,d=50。采用本文算法在SAMSUNG R428筆記本電腦上用VC++編程實現(xiàn)對角點的定位,每幅圖像平均耗時為11.5 ms,很好地滿足了定位誤差在像素內(nèi),對應(yīng)的平均誤差為±0.02 mm,定位精度高。在有花紋干擾、水漬干擾、皮帶磨損、瓷磚倒邊角和缺角的情況下,全部能快速、準(zhǔn)確定位角點。
本文采用的算法具有如下特點:①將目標(biāo)搜索的范圍限定在Sx和Sy中,此區(qū)域內(nèi)噪聲干擾大大削弱,而且在求投影和梯度時,多次利用求和平均的方法使噪聲干擾進(jìn)一步得到抑制。②只在Sx和Sy內(nèi)搜索邊緣點,數(shù)據(jù)量大大減少,定位速度快。③結(jié)合Hough變換和最小二乘法進(jìn)行邊緣擬合,擬合精度高。實驗表明:該算法是一個速度快、定位精度和穩(wěn)定性較高的算法,能滿足瓷磚尺寸檢測系統(tǒng)的應(yīng)用要求。
[1]李亞標(biāo),王寶光,姜希.基于線陣CCD的瓷磚尺寸在線檢測系統(tǒng)的研究[J].傳感器與微系統(tǒng),2010,(1):27 -29.
[2]Rafael C.Gonzalez,Richard Eugene Woods.Digital Image Processing,2nd Edition[M].London:Prentice Hall,2002,568 -572.
[3]吳彰良,劉潔,孫長庫,等.基于計算機視覺的油封尺寸檢測系統(tǒng)設(shè)計[J].計算機測量與控制,2012,20(5):1196 -1198.
[4]Zhiguo Yan,De Xu,Min Tan,et al.A fast and robustmethod for line detection based on image pyramid and Hough transform[J].Transactions of the Institute of Measurement and Control,2011,33(8):971 -984.
[5]楊冬濤,龔昌來,羅聰,等.利用圖像處理技術(shù)測量零件尺寸[J].煤礦機械,2012,33(5):141-143.
[6]郭斯羽,翟文娟.結(jié)合Hough變換與改進(jìn)最小二乘法的直線檢測[J].計算機科學(xué),2012,39(4):196-200.