李 民,周亞同,張忠偉,樊逸杰
(1.河北工業(yè)大學(xué)電子信息工程學(xué)院,天津 300401;2.北京安視中電科技有限公司,北京 100871)
黑晶面板是在電磁爐表面廣泛應(yīng)用的黑色有機(jī)玻璃板,其幾何參數(shù)包括長(zhǎng)、寬、圓角半徑、兩條邊夾角度數(shù)等。通過(guò)上述參數(shù)可以判斷黑晶面板是否發(fā)生了形變以及是否合格。然而,目前黑晶面板的幾何參數(shù)測(cè)量還停留在人工測(cè)量階段。由于黑晶面板種類(lèi)多、數(shù)量大,人工測(cè)量只能采取抽樣檢測(cè),不僅效率低,還會(huì)造成視覺(jué)疲勞影響檢測(cè)效率[1]。
目前,很多學(xué)者已對(duì)玻璃面板進(jìn)行了尺寸測(cè)量,測(cè)量設(shè)備前端的光路設(shè)計(jì)是很重要的一部分,直接影響著后端圖像采集質(zhì)量和設(shè)備成本[2]。不同種類(lèi)的玻璃面板的打光方式不同,朱錚濤[3]等采用多個(gè)小光源置于測(cè)量點(diǎn)下方組成背光源系統(tǒng)。但本文黑晶面板透光性差,因此采用多個(gè)大光源環(huán)繞打光的方式使其邊緣更清晰地成像。
在圖像邊緣檢測(cè)方面,張紅霞等[4]研究表明,Canny算子檢測(cè)的邊緣細(xì)膩且得到增強(qiáng),檢測(cè)精度較高。郭瑞峰等[5]彌補(bǔ)了Canny算子對(duì)噪聲敏感,且容易檢測(cè)出假邊緣或者丟失真邊緣的缺點(diǎn),得到了較好的邊緣輪廓。李雪嬌等[6]提出了基于Canny算子的一種單像素邊緣檢測(cè)算法,有效提高檢測(cè)精度。趙明[7]提出了基于類(lèi)間距的自適應(yīng)閾值算法,可以方便選取合適的閾值。
在測(cè)量系統(tǒng)標(biāo)定方面,張正友[8]提出了一種靈活的平面標(biāo)定方法,但對(duì)初值的依賴性較大。為此張俊勇[9]等從影響初值求解精度方面入手,使用高精度棋盤(pán)格標(biāo)定板,采用隨機(jī)抽樣一致性算法[10](RANSAC)提高標(biāo)定精度。吳慶華[11]等提出了一種大尺寸測(cè)量系統(tǒng)快速標(biāo)定方法,該方法標(biāo)定速度很快,但只適用于大尺寸測(cè)量系統(tǒng)。
針對(duì)光源打光方式、邊緣檢測(cè)、系統(tǒng)標(biāo)定等問(wèn)題,提出了基于機(jī)器視覺(jué)的黑晶面板幾何參數(shù)測(cè)量方法,采用大光源環(huán)繞打光的方式,通過(guò)Canny邊緣檢測(cè)和霍夫直線檢測(cè)得到輪廓的邊緣信息,再對(duì)邊緣信息進(jìn)行處理,計(jì)算系統(tǒng)標(biāo)定,得到最終的結(jié)果。對(duì)黑晶面板邊長(zhǎng)的測(cè)量精度能達(dá)到0.1 mm,實(shí)現(xiàn)對(duì)產(chǎn)品100%測(cè)量。
本文的黑晶面板幾何參數(shù)測(cè)量裝置如圖1所示。當(dāng)流水線開(kāi)始運(yùn)行,打開(kāi)光源,黑晶面板從圖1的左側(cè)經(jīng)傳送帶向右移動(dòng),通過(guò)觸發(fā)相機(jī)識(shí)別黑晶面板的來(lái)去。觸發(fā)剩余4個(gè)相機(jī)采集圖像,采集完畢后對(duì)圖像進(jìn)行實(shí)時(shí)處理,計(jì)算黑晶面板的幾何參數(shù),判斷是否發(fā)生形變以及是否合格。
圖1 黑晶面板幾何參數(shù)測(cè)量裝置
當(dāng)前測(cè)量裝置采用條形光源,四面打光的方式,4個(gè)890萬(wàn)工業(yè)相機(jī)采集圖像和一個(gè)230萬(wàn)工業(yè)相機(jī)作為觸發(fā)相機(jī),相機(jī)呈L型擺放,如圖2所示。選擇合適的物距,通過(guò)式(1)計(jì)算出相機(jī)的視野范圍,以保證該測(cè)量系統(tǒng)能夠測(cè)量200 mm×200 mm至400 mm×600 mm范圍的黑晶面板。
(1)
式中:w為所求視野長(zhǎng)或?qū)?;H為頭到物體的距離,即物距;RP為相機(jī)的分辨率;P為像元尺寸;f為分辨率。
圖2 相機(jī)擺放位置示意圖
在上述裝置中,1至4號(hào)相機(jī)是圖像采集相機(jī),5號(hào)相機(jī)是觸發(fā)相機(jī)。在面板運(yùn)行過(guò)程中,當(dāng)5號(hào)相機(jī)識(shí)別到面板進(jìn)入視野觸發(fā)1至4號(hào)相機(jī)進(jìn)行拍照,當(dāng)識(shí)別到面板離開(kāi)再次觸發(fā)1號(hào)和2號(hào)相機(jī)拍照,如此便得到了黑晶面板4個(gè)角的信息。
本文提出的黑晶面板幾何參數(shù)測(cè)量方法的具體流程如圖3所示。
圖3 黑晶面板幾何參數(shù)測(cè)量方法流程
在黑晶面板運(yùn)行過(guò)程中,采集黑晶面板4個(gè)角的圖像,然后對(duì)采集到的圖像進(jìn)行高斯濾波,再進(jìn)行二值化使邊緣更加清晰,然后進(jìn)行Canny邊緣檢測(cè)找到圖像的整體邊緣,霍夫直線檢測(cè)找到邊緣的直線信息,進(jìn)行最小二乘法擬合得到直線,再分出圓角的坐標(biāo)用最小二乘法擬合圓角,最后采用霍夫直線矯正算法校準(zhǔn)并采用人工補(bǔ)償算法校準(zhǔn)最終的結(jié)果。
對(duì)圖像進(jìn)行預(yù)處理,減少圖像噪聲的影響方便后續(xù)處理[12]。本文選擇的是5×5的高斯模板,σ取0.8,對(duì)采集圖片采用高斯濾波進(jìn)行去噪。本文使用的是5×5的高斯濾波器模板,而高斯濾波模板是根據(jù)二維高斯函數(shù)離散得到的,以5×5模板為例,以中心位置為坐標(biāo)原點(diǎn)進(jìn)行取樣;模板在各個(gè)位置的坐標(biāo),如表1所示,其中i軸(和x軸位置相同)水平向右,j軸(和y軸反方向)豎直向下。
表1 高斯濾波器模板位置坐標(biāo)
將各個(gè)位置的坐標(biāo)帶入到高斯函數(shù)中,得到的值就是模板的系數(shù);對(duì)于窗口模板大小為(2k+1)·(2k+1),模板中各個(gè)元素值通過(guò)式(2)計(jì)算:
(2)
對(duì)二值化之后的圖像進(jìn)行Canny邊緣檢測(cè),得到清晰邊緣輪廓,然后對(duì)該輪廓進(jìn)行霍夫直線檢測(cè)?;舴蛑本€檢測(cè)[14]的基本原理在于利用點(diǎn)與線的對(duì)偶性,即在圖像空間中的直線與參數(shù)空間中的點(diǎn)一一對(duì)應(yīng),參數(shù)空間中的曲線與圖像空間中的點(diǎn)也一一對(duì)應(yīng)。因此霍夫直線檢測(cè)算法就是把圖像空間中的直線檢測(cè)問(wèn)題轉(zhuǎn)換為參數(shù)空間中點(diǎn)的檢測(cè)問(wèn)題,通過(guò)在參數(shù)空間中尋找得票數(shù)最多的點(diǎn)完成直線檢測(cè)任務(wù),該點(diǎn)就是所求的霍夫直線。
在實(shí)際應(yīng)用中參數(shù)空間選擇為極坐標(biāo)系ρ-θ,在圖像空間(直角坐標(biāo)系x-y)中直線表達(dá)式是y=k·x+b,其中k是斜率,b是截距。變換到極坐標(biāo)系中是ρ=x·cosθ+y·sinθ,其中ρ是極徑,θ是極角??梢钥闯鰣D像空間中每一條直線都可以用極坐標(biāo)系中的點(diǎn)(ρ,θ)來(lái)表示,或者說(shuō)圖像空間(直角坐標(biāo)系x-y)中的一個(gè)點(diǎn)對(duì)應(yīng)極坐標(biāo)系中的一條曲線。如此就可以將直角坐標(biāo)系下所有點(diǎn)轉(zhuǎn)換為極坐標(biāo)系下的直線,如圖4所示。
圖4 點(diǎn)線轉(zhuǎn)換圖
霍夫直線檢測(cè)得到的直線較粗糙,只選出得票數(shù)最多的直線,但霍夫直線周?chē)€有一些未涉及到的點(diǎn),因此霍夫直線檢測(cè)得到的直線并不準(zhǔn)確,為此采用最小二乘法進(jìn)行擬合以期得到更精準(zhǔn)的直線。
為將霍夫直線周?chē)狞c(diǎn)全部用于直線擬合,在霍夫直線周?chē)O(shè)置管狀區(qū)域,即對(duì)霍夫直線的極徑ρ進(jìn)行加減同一數(shù)值,這樣就在霍夫直線的兩側(cè)各得到一條直線從而形成一個(gè)管狀區(qū)域,在這個(gè)區(qū)域內(nèi)將所有的點(diǎn)進(jìn)行直線擬合,可得到更加準(zhǔn)確的直線。直線擬合完成后進(jìn)行圓角擬合,在二值化圖像中掃描出該圖像上所有的邊緣點(diǎn),刪除用于擬合直線的點(diǎn),剩下的像素點(diǎn)就是用于擬合圓角的點(diǎn),接著采用最小二乘法擬合圓角。
采用斜截式直線方程計(jì)算得出采用最小二乘法擬合直線的參數(shù),需要考慮到該方法不適用于垂直x軸的直線,因此在擬合黑晶面板的豎直邊時(shí),為了避免出現(xiàn)無(wú)限接近垂直的情況,將豎直邊上由霍夫直線形成的管狀區(qū)域內(nèi)的所有點(diǎn)的橫縱坐標(biāo)互換,即像素點(diǎn)的坐標(biāo)原本是(x1,y1),如今變成(y1,x1),令此時(shí)的x=y1,y=x1,將其代入公式即可得到此時(shí)的關(guān)系式:x=l·y+m的參數(shù)l和m,其中l(wèi)是斜率,m是截距。最后再根據(jù)此時(shí)的關(guān)系式求其反函數(shù)得到豎直邊的擬合直線。如此便得到了更為精確的邊緣直線。
對(duì)直線進(jìn)行矯正是考慮到擬合圓角時(shí),由于設(shè)計(jì)的管狀區(qū)域是對(duì)霍夫直線的極徑ρ進(jìn)行加減相同數(shù)值,會(huì)把圓角的一部分點(diǎn)包括在內(nèi),導(dǎo)致圓角擬合不準(zhǔn),擬合結(jié)果有較大傾斜,其次,黑晶面板進(jìn)入相機(jī)視野時(shí)的偏轉(zhuǎn)角不同,也會(huì)導(dǎo)致擬合直線時(shí)存在誤差,因此需要對(duì)直線進(jìn)行矯正。
圖5為偏轉(zhuǎn)角度圖,4條直線的交點(diǎn)為原點(diǎn),4條線為角度分割線,水平線上部的ρ取負(fù)值,水平線下部的ρ取正值。水平線上部的45°~90°區(qū)域內(nèi)不可能有面板偏轉(zhuǎn),因?yàn)闀?huì)超出相機(jī)視野,不予考慮。
圖5 偏轉(zhuǎn)角度圖
水平線下部,ρ為正:0°~45°區(qū)域內(nèi),由原點(diǎn)引出一條直線,此直線一定是和黑晶面板縱向邊緣垂直(和水平邊緣垂直則面板超出視野),可以得出一定是縱向邊緣向右傾斜的情況;45°~90°區(qū)域內(nèi)出現(xiàn)直線一定是橫向邊緣向右上傾斜;90°~135°區(qū)域內(nèi)出現(xiàn)直線一定是橫向邊緣向右下傾斜;135°~180°區(qū)域內(nèi)出現(xiàn)直線一定是縱向邊緣,向左傾斜。
水平線上部,ρ為負(fù):90°~135°區(qū)域內(nèi)出現(xiàn)直線一定是橫向邊緣向右下傾斜;135°~180°區(qū)域內(nèi)出現(xiàn)直線一定是縱向邊緣,向左傾斜。
由此可以看出,0°~45°區(qū)域內(nèi)出現(xiàn)直線一定是縱向邊緣向右傾斜,此時(shí)ρ為正;90°~135°區(qū)域內(nèi)出現(xiàn)直線一定是橫向邊緣向右下傾斜,ρ分正負(fù);135°~180°區(qū)域內(nèi)出現(xiàn)直線一定是縱向邊緣,向左傾斜,ρ分正負(fù)。以90°~135°區(qū)域?yàn)槔?,水平線上部ρ為負(fù),下部ρ為正,在對(duì)該區(qū)域的橫向邊緣組成管狀區(qū)域時(shí),先在霍夫直線上部畫(huà)直線,對(duì)水平線上部來(lái)說(shuō)ρ是增加的,但此時(shí)ρ為負(fù),所以此時(shí)ρ應(yīng)該減去一個(gè)數(shù)值;對(duì)水平線下部來(lái)說(shuō)ρ是減少的,但此時(shí)ρ為正,所以ρ應(yīng)該減去一個(gè)數(shù)值。即90°~135°區(qū)域不管水平線上部還是下部具有相同的情況。同理,135°~180°區(qū)域不管水平線上部還是下部也具有相同的情況。所以,只要保證管狀區(qū)域總寬度一致,移動(dòng)管狀區(qū)域可實(shí)現(xiàn)直線矯正。圖6是誤差直線和矯正直線。
(a)誤差直線
(b)矯正直線
經(jīng)過(guò)上述一系列校準(zhǔn)之后,還會(huì)存在一系列的誤差,長(zhǎng)時(shí)間使用該裝置之后振動(dòng)和灰塵等還會(huì)導(dǎo)致誤差逐漸增大,直到不滿足使用條件。為此需要對(duì)最終的計(jì)算結(jié)果進(jìn)行校準(zhǔn)。只需將同一規(guī)格的黑晶面板的每次測(cè)量結(jié)果都記錄下來(lái),重復(fù)測(cè)試并計(jì)算出補(bǔ)償量,具體式(3)如下:
(3)
基于機(jī)器視覺(jué)的在線測(cè)量系統(tǒng)中,需要找到像素點(diǎn)和實(shí)際尺寸的一一對(duì)應(yīng)關(guān)系,即系統(tǒng)標(biāo)定[6]。本文采用的系統(tǒng)標(biāo)定方法是根據(jù)已知的相機(jī)固定高度、像元尺寸、鏡頭、分辨率計(jì)算出此時(shí)相機(jī)的視野范圍,由此視野范圍與分辨率的比值即是像素點(diǎn)與實(shí)際尺寸的對(duì)應(yīng)關(guān)系。最終得到每個(gè)像素對(duì)應(yīng)實(shí)際尺寸是0.062 100 1 mm。
為了驗(yàn)證本文算法的可行性,在圖1所示檢測(cè)平臺(tái)下,基于VS2010開(kāi)發(fā)環(huán)境編寫(xiě)了黑晶面板幾何參數(shù)測(cè)量軟件。圖7示出了360 mm×290 mm4個(gè)角的擬合情況。
(a)1號(hào)相機(jī)第一次拍的左上角
(b)2號(hào)相機(jī)第一次拍的右上角
(c)1號(hào)相機(jī)第二次拍的左下角
(d)2號(hào)相機(jī)第二次拍的右下角
(e)3號(hào)相機(jī)拍的右下角
對(duì)該尺寸的不同黑晶面板進(jìn)行了多次測(cè)量,表2是黑晶面板四條邊的測(cè)量結(jié)果及對(duì)角線之差。可以看出本文算法對(duì)邊長(zhǎng)的測(cè)量精度可達(dá)到0.1 mm,兩對(duì)角線之差精度可達(dá)0.3 mm。
(1)采集圖像時(shí)邊緣處存在的灰塵沒(méi)有去除,可能會(huì)造成邊緣不穩(wěn),引起誤差。
(2)采集圖像時(shí)由于黑晶面板的厚度不一、相機(jī)不能保證在黑晶面板圓角的正上方,導(dǎo)致在邊緣會(huì)出現(xiàn)陰影,采集圖像之后會(huì)引起較大誤差。
(3)利用最小二乘法進(jìn)行邊緣擬合[15]時(shí)會(huì)存在擬合誤差。
本文針對(duì)當(dāng)前黑晶面板尺寸測(cè)量之不足,提出了一種基于機(jī)器視覺(jué)的黑晶面板幾何參數(shù)測(cè)量方法。
表2 黑晶面板四條邊的測(cè)量值 mm
首先對(duì)黑晶面板各個(gè)角的圖像進(jìn)行預(yù)處理,然后進(jìn)行Canny邊緣檢測(cè),在此基礎(chǔ)上進(jìn)行霍夫直線檢測(cè),并在霍夫直線附近設(shè)置管狀區(qū)域,再對(duì)該管狀區(qū)域進(jìn)行調(diào)整,然后對(duì)該區(qū)域內(nèi)所有點(diǎn)進(jìn)行直線擬合,最終根據(jù)公式計(jì)算黑晶面板的幾何參數(shù)。在實(shí)際的尺寸測(cè)量中,對(duì)黑晶面板的邊長(zhǎng)測(cè)量精度可達(dá)到0.1 mm,兩對(duì)角線之差測(cè)量精度可達(dá)0.3 mm,與人工檢測(cè)相比,在測(cè)量精度上能達(dá)到更好的測(cè)量效果。