于春和 張 靜
(沈陽航空航天大學(xué)電子信息工程學(xué)院 沈陽 110136)
現(xiàn)階段,圖像檢測技術(shù)大規(guī)模的應(yīng)用于工件檢測中。而目前在測量領(lǐng)域,圖像檢測技術(shù)是以光學(xué)為基礎(chǔ),并且作為一種新興測量技術(shù)發(fā)揮著舉足輕重的作用。該測量系統(tǒng)屬于非接觸檢測[1]。它主要是通過光的反射對空間中的被測物體成像,得到的圖像可作為檢測信息的載體,最后通過相應(yīng)的后續(xù)處理,實現(xiàn)被測物體的特征檢測。
雙目立體視覺是機器視覺的一個重要的分支,一般采用兩個相同型號的攝像機搭建雙目立體視覺系統(tǒng),對空間同一個目標(biāo)物體進行拍攝,計算目標(biāo)物體的匹配點在左右成像平面中的視差,通過視差原理來獲得待測點的三維信息。雙目立體視覺系統(tǒng)的結(jié)構(gòu)簡單,容易搭建。雙目視覺是仿照人類雙眼依據(jù)視差原理來獲得空間物體三維信息,該方法測量過程快,所得結(jié)果精度高。目前在工業(yè)零件生產(chǎn)、工件尺寸測量、物體的識別與測量、航空航天的研究以及醫(yī)學(xué)等方面得到廣泛的應(yīng)用[2]。本文提出算法依照雙目立體視覺系統(tǒng),獲得待測工件的尺寸等三維信息。首先,明確左右兩側(cè)攝像機的內(nèi)外相關(guān)參數(shù),其次,針對左右兩側(cè)攝像機進行標(biāo)定;然后,使用sobel算子對工件邊緣進行提??;最后,計算出工件待測點的三維坐標(biāo)信息。
雙目立體視覺系統(tǒng)根據(jù)視差原理,得到待測量物體的三維空間信息等參量,從而實現(xiàn)對物體的測量[3]。雙目立體視覺測量模型如圖1所示,在左右兩側(cè)分別放置兩臺攝像機,進而構(gòu)成雙目視覺系統(tǒng),因此,可以從不同的角度對物體進行拍攝,可得到待測物體的兩幅數(shù)字圖像。空間中一點P(X,Y,Z)在左右兩側(cè)攝像機成像平面上分別具有各自的投影坐標(biāo),分別用 pl(ul,vl)、pr(ur,vr)表示。左右兩側(cè)攝像機的光可以表示為Ol、Or,f表示攝像機焦距,n表示相機光軸方向向量。將空間一點P(X,Y,Z)在兩個攝像機成像平面形成的投影坐標(biāo)與攝像機的內(nèi)外相關(guān)參數(shù)相結(jié)合,進而獲取得到空間中待測點P的三維空間坐標(biāo)[4]。
圖1 雙目立體視覺測量模型
由于攝像機位置的放置是由空間中的被測物體決定的,所以引入世界坐標(biāo)系來作為基準(zhǔn)坐標(biāo)系從而確定攝像機的位置,與此同時,明確被測物體在世界坐標(biāo)系中的三維坐標(biāo)信息。將旋轉(zhuǎn)矩陣R與平移矩陣T相結(jié)合,能夠?qū)崿F(xiàn)對于世界坐標(biāo)系與攝像機坐標(biāo)系之間的相互轉(zhuǎn)換[5]。之后,明確兩個坐標(biāo)系之間的關(guān)系,最終能夠計算得出圖像坐標(biāo)系、攝像機坐標(biāo)系與世界坐標(biāo)系三者之間的關(guān)系。在確定三個坐標(biāo)系之間的相互轉(zhuǎn)換關(guān)系后,就能夠利用圖像坐標(biāo)系中P點的坐標(biāo)計算得到P點在世界坐標(biāo)系中的坐標(biāo)。綜上所述,在成像過程中所提及的坐標(biāo)系統(tǒng)、以及整個成像過程,均可用下列公式表示:
其中,u,v表示數(shù)字圖像所涉及的像素坐標(biāo),將世界坐標(biāo)系下的待測點Xw,Yw,Zw經(jīng)過旋轉(zhuǎn)矩陣R和平移向量T的相關(guān)轉(zhuǎn)換,得到相機坐標(biāo)系,然后利用相機的內(nèi)部參數(shù)矩陣進行投影,獲得圖像坐標(biāo)系。攝像機的內(nèi)參矩陣M1是由 fx、fy、u0、v0所確定的,外參矩陣M2是由旋轉(zhuǎn)矩陣R和平移向量T所確定的。因此,可以將M 定義為3×4階投影矩陣。
已知點P在左右成像平面各得到一個投影點,分別用M1和M2表示左右攝像機的投影矩陣。則有:
其中,(ul,vl,1)和(ur,vr,1)分別表示左右兩側(cè)投影點 pl、pr在投影平面上的齊次坐標(biāo)。(Xw,Yw,Zw,1)表示點P在世界坐標(biāo)系下的齊次坐標(biāo)。通過對上式的相關(guān)運算,可消去Zcl和Zcr。進而得到與 Xw,Yw,Zw相關(guān)的線性方程,表達(dá)式如下所示:
聯(lián)立以上兩個方程組便可得到待測點P在世界坐標(biāo)系的坐標(biāo)( )Xw,Yw,Zw。
目前,針對物體的三維立體標(biāo)定靶,該過程對于加工的精度要求較高,同時其制作成本較高?;诙S標(biāo)定板的攝像機標(biāo)定方法是由張正友所提出,在本文中便將其方法引入來實現(xiàn)三維重建過程。攝像機和標(biāo)定板之間可以不斷的進行移動,進而對標(biāo)定板進行不同角度以及不同方向的拍攝,使得標(biāo)定板的標(biāo)定識別過程得以實現(xiàn)[6]。該方法是利用計算所得線性優(yōu)化解,然后利用最大似然法進行非線性求精獲取攝像機的相關(guān)參數(shù)。該方法在實施的過程中操作簡單,且可行性、魯棒性、以及實用性都相對較好,而且對設(shè)備的要求較低[7]。
本次測量采用維視圖像的2臺型號為HD91S攝像頭進行采集。如圖2所示,將位置不同的三塊標(biāo)定板進行拍攝,得到三組不同的數(shù)字圖像,然后進行攝像機標(biāo)定。標(biāo)定結(jié)果可展示如下。
圖2 實驗標(biāo)定板圖像
左相機的內(nèi)參矩陣:
工件尺寸測量流程圖如圖3所示,圖像灰度化處理就是將彩色圖像轉(zhuǎn)換為灰度圖像的過程。構(gòu)成彩色圖像的每一個像素,都要顯示出相應(yīng)的顏色,并且都可以用R、G、B三個分量來共同確定,其中的每個分量的取值范圍是0~255。綜上所述,通過相關(guān)計算可以得到每一個像素的顏色變化范圍,均為255×255×255。但對于數(shù)字圖像處理過程,彩色圖像的計算量相對較大,復(fù)雜度較高;而灰度圖像是屬于彩色圖像中特殊的一種類型。關(guān)鍵在于雖然灰色圖像的R、G、B三個分量相同,但仍然可以和彩色圖像一樣完整地反映整幅圖片的整體和局部的圖像信息和特征,因此圖像進行灰度化處理之后更容易進行運算和分析[8]。
圖像平滑是進行圖像預(yù)處理的一部分,是通過低通濾波來實現(xiàn)降低圖像的噪聲,減小梯度突變的目的,使處理后的圖像質(zhì)量有所改善[9]。注意的是,圖像平滑需要保證在消除噪聲的同時,仍要保持圖像的細(xì)節(jié),盡可能減少圖像的模糊情況發(fā)生。通常系統(tǒng)選用中值濾波,即非線性濾波算法。其中濾波就是前面講的去噪,關(guān)鍵在于中值兩字,中值可從字面意思上理解,就是指中間的那個值也就是中心值[10]。濾波的過程往往采用一個滑動窗口,窗口內(nèi)含點的個數(shù)為奇數(shù)個?;瑒舆^程中用窗口的中灰度值的中值來作為中心點灰度值的替代,其實就是對這個窗口中的灰度值進行排序,然后將其中值賦值給中心點即可。
可以利用微分算子對圖像進行卷積操作來確定圖像的邊緣。利用雙目視覺進行零件的尺寸測量,提取其輪廓特征是很有意義的,例如孔特征、線特征,對工件邊緣輪廓特征的精確提取可以提高系統(tǒng)測量精度。數(shù)字圖像處理中常用的的微分算子有Roberts算子、Sobel算子、canny算子等。
將圖像上的所有像素點數(shù)值置為0或者1就是所謂的圖像二值化處理[11]。處理過程中通過合適的閾值選取,將小于或等于所設(shè)置閾值的圖像中像素的灰度值都置為0,同理,將大于該閾值的圖像中像素灰度值都置為1,這樣就完成了圖像的二值化處理也就是將整個圖像呈現(xiàn)出明顯的黑白效果。
檢測空間中的待測工件的特征角點或邊緣,得到相應(yīng)的圖像邊緣點數(shù)據(jù)。利用數(shù)學(xué)模型進行邊緣數(shù)據(jù)處理,通過計算得出工件的幾何空間維度和尺寸。
圖3 尺寸測量流程圖
邊緣檢測可看作是數(shù)字圖像處理中的一項基礎(chǔ)操作。因為圖像中的待測物體邊緣位置會由于相鄰灰度間發(fā)生劇烈的變化,所以梯度幅值往往比較大[12]。通過與其他的邊緣檢測算法相比較,發(fā)現(xiàn)Sobel邊緣檢測算法相對容易理解,而且在一些實際應(yīng)用邊緣檢測中的運算效率比較高。所以對于形狀相對規(guī)則的工件,首選Sobel算子來進行邊緣檢測的相關(guān)研究[13]。出于對本文的算法復(fù)雜程度以及實驗呈現(xiàn)效果等方面的考慮,采用Sobel邊緣檢測算法對待測工件進行邊界的提取。該算法的邊緣檢測通常帶有方向性,由兩個3×3的卷積核形另一個是檢測豎直邊緣的
首先,進行進行圖像灰度化處理,將采集到的彩色圖像轉(zhuǎn)換為灰度圖像,接下來,將灰度圖像中的每一個像素點分別與Sobel算子中上文提到的兩個核做圖像卷積運算,取每個像素對應(yīng)的的水平方向及垂直方向的灰度值的絕對值之和作為新得到的像素點對應(yīng)的灰度值[14]。設(shè)置合理的閾值T,若某個新得到的像素點其灰度值大于本文中設(shè)置的閾值T,則該點就被標(biāo)記為邊緣點顯示出來。本文閾值T設(shè)為0.5。如圖4所示為工件原始圖像、工件灰度圖像和經(jīng)過邊緣檢測之后的圖像。
圖4
本次實驗測量對象為圓形的法蘭工件,如圖5所示,由于待測工件的顯著輪廓特征主要分布在其正上方,而且工件的底端和放置的實驗臺會有貼合部分,為了對該雙目立體視覺測量系統(tǒng)的精度分析和測量更直觀,所以本次進行的尺寸測量實驗僅取待測工件正上方的邊緣特征點。
圖5 圓形法蘭工件
通過計算得到工件上標(biāo)記的特征點的世界坐標(biāo),之后利用特征點的世界坐標(biāo)值就可以得到相鄰兩個特征點之間的距離,通過兩特征點之間的距離來驗證本次雙目立體視覺測量系統(tǒng)對于特征點的定位精度。其中,研究得到的兩個主要方向的尺寸測量數(shù)據(jù)可見表1。
表1 實驗數(shù)據(jù)
從表1可以看出,計算所得的數(shù)據(jù)還存在一定誤差,主要原因有:一是實驗條件有限,本實驗采用的攝像機比較普通,分辨率不高,兩臺攝像機雖然型號相同,但是不能確定其性能是否完全相同;二是攝像機標(biāo)定過程中,沒有充分考慮各種畸變函數(shù),因此對標(biāo)定得到的攝像機的內(nèi)外參數(shù)存在一定的誤差;三是實際的工件測量值也存在一定的誤差,并且文中待測工件的距離是基于攝像機光心到待測工件的距離,所以對測量值的判斷也會出現(xiàn)些許誤差。
本文提出了一個基于雙目視覺的工件尺寸測量的算法,使用邊緣檢測算法提取出工件的邊緣特征,然后使用雙目攝像機計算出工件的尺寸大小。實驗結(jié)果表明,該算法可以快速得到目標(biāo)工件的尺寸數(shù)據(jù),而且計算誤差在5%以內(nèi),能較好地滿足工業(yè)生產(chǎn)對工件尺寸的一般計算要求。但是實驗過程中該算法對圖像中的特征邊緣的識別精度尚未達(dá)到理想效果,需要通過接下來的進一步研究達(dá)到優(yōu)化的結(jié)果,并提高計算的精度。