徐中平,王海寬,李徐輝,童 彥
(1.上海大學(xué) 機(jī)電工程與自動(dòng)化學(xué)院,上海 200444;2.上海飛機(jī)制造有限公司,上海 201324)
管路是航空航天和汽車產(chǎn)品的重要組成部分,管路負(fù)責(zé)系統(tǒng)各部件之間流體的輸送,關(guān)系到系統(tǒng)的可靠穩(wěn)定安全運(yùn)行。受安裝空間限制,管路的空間形狀復(fù)雜,同一管路上往往同時(shí)存在多個(gè)直線段和圓弧段,具有形狀不規(guī)則、三維走向多變的特點(diǎn)。管路三維形狀的正確性是實(shí)現(xiàn)管路可靠裝配的前提,然而在制造過(guò)程中,拉伸和壓縮應(yīng)力的不均勻分布導(dǎo)致回彈等多種缺陷,從而影響管路裝配過(guò)程中的精度[1]。在管路裝配前,管路測(cè)量是保證管路正確裝配的重要步驟。
管路測(cè)量的主要參數(shù)包括節(jié)點(diǎn)坐標(biāo)、步進(jìn)長(zhǎng)度、管路旋轉(zhuǎn)角和管路彎折角等。管路測(cè)量方法主要分為接觸式測(cè)量和非接觸式測(cè)量。接觸式測(cè)量中專用量具、三坐標(biāo)測(cè)量設(shè)備等存在應(yīng)用范圍有限、測(cè)量效率低、自動(dòng)化程度低等不足[2];非接觸式測(cè)量中的視覺(jué)測(cè)量因其操作難度低、測(cè)量效率高等優(yōu)點(diǎn)受到研究院所和工業(yè)界的關(guān)注[3-6]。
管路的幾何形狀可由管路中心線和管路外徑描述,通過(guò)管路中心線進(jìn)行管路三維重建,能夠有效提高重建效率。綜合已有的管路三維重建方法,結(jié)合裝配產(chǎn)線上大量管路的在線快速檢測(cè)需求,以管路中心線提取進(jìn)行管路重建研究,為使獲取的管路中心線既能滿足精度要求,又能具有較高的重建效率,本文提出了一種基于圖割的多相機(jī)管路三維重建測(cè)量方法。該方法利用圖割算法在視差范圍內(nèi)尋求管路中心線的最優(yōu)視差,實(shí)現(xiàn)中心線的匹配,根據(jù)多視圖匹配點(diǎn)以及相機(jī)成像模型計(jì)算出管路三維中心線點(diǎn)云并用NURBS 曲線描述。實(shí)驗(yàn)結(jié)果表明該方法具有較好的重建效果。
對(duì)于具有源點(diǎn)s 和匯點(diǎn)t 的圖G=(V,E),其中V 為頂點(diǎn)集,E 為邊集。圖的一個(gè)割就是將V 分成2個(gè)互不相交的子集S 和T,其中s∈S,t∈T。頂點(diǎn)集S 到頂點(diǎn)集T 所有割邊的容量和稱為割的代價(jià),最小割就是所有割中代價(jià)最小的割[7]。從s 到t 的最大流量稱為最大流,最小割的容量被證明與最大流相等。
運(yùn)用圖割立體匹配一般需要先設(shè)計(jì)滿足匹配目標(biāo)的能量函數(shù),然后根據(jù)能量函數(shù)構(gòu)造圖,將能量函數(shù)與圖的割集對(duì)應(yīng)起來(lái)[8],利用圖最小割算法實(shí)現(xiàn)能量函數(shù)最小化,獲取最佳視差。本文的能量函數(shù)由數(shù)據(jù)項(xiàng)、遮擋項(xiàng)、平滑項(xiàng)、唯一項(xiàng)構(gòu)成[9]。
根據(jù)能量函數(shù)的4 項(xiàng)約束,實(shí)現(xiàn)能量函數(shù)最優(yōu)化就是取得像素點(diǎn)最佳匹配。傳統(tǒng)圖割算法所有像素點(diǎn)都參與圖的構(gòu)建,計(jì)算量過(guò)大,不適用于管路中心線快速重建。管路三維中心線的重建只需中心線上的像素點(diǎn),故在構(gòu)建管路圖時(shí),將圖像在管路中心線上的像素點(diǎn)作為圖的頂點(diǎn),其八鄰域內(nèi)的點(diǎn)作為相鄰點(diǎn),構(gòu)造圖如圖1 所示,其中黑色區(qū)域代表管路中心線像素點(diǎn),s 和t 與頂點(diǎn)之間邊的容量,頂點(diǎn)與頂點(diǎn)之間邊的容量由能量函數(shù)確定。完成圖的構(gòu)造后,通過(guò)最大流算法獲取視差。

圖1 管路中心線的構(gòu)造圖Fig.1 Graph construction of tube centerline
根據(jù)上述方法,可以獲得圖像中管路中心線的視差,即可獲得兩圖像中管路中心線上的匹配點(diǎn)對(duì)。構(gòu)建四相機(jī)陣列視覺(jué)系統(tǒng),以相機(jī)1 為基準(zhǔn),分別使用圖割算法對(duì)相機(jī)2-1、相機(jī)3-1 和相機(jī)4-1 視圖中管路視差進(jìn)行計(jì)算,則相機(jī)1 圖像中同一點(diǎn)可分別獲得在相機(jī)2、相機(jī)3 和相機(jī)4 圖像中的匹配點(diǎn)。
不同圖像中的匹配點(diǎn)即為空間中同一點(diǎn)在相應(yīng)圖像上的投影,如圖2 所示。空間中的一點(diǎn)P和圖像中的點(diǎn)pi(i=1,2,3,4)的關(guān)系可由式(1)表示:

圖2 空間點(diǎn)投影Fig.2 Projection of a spatial point
式中:K為相機(jī)的內(nèi)參矩陣;R為相機(jī)的旋轉(zhuǎn)矩陣;t為相機(jī)的平移矩陣;λ 為齊次值。
將不同圖像中的匹配點(diǎn)代入式(1)并聯(lián)立方程式,通過(guò)最小二乘法求得空間點(diǎn)坐標(biāo)值。對(duì)管路中心線上的匹配點(diǎn)按順序計(jì)算其空間坐標(biāo)點(diǎn),則可獲得管路中心線的離散點(diǎn)云坐標(biāo)。
2.2.1 NURBS 曲線
根據(jù)離散點(diǎn)云坐標(biāo)利用NURBS 曲線重建管路中心線,NURBS 曲線是一種參數(shù)化的曲線,其優(yōu)勢(shì)在于能夠以統(tǒng)一的數(shù)學(xué)表達(dá)形式描述自由曲線,同時(shí)具有產(chǎn)生光滑曲率的柔性[10],NURBS 曲線的定義如下:
式中:Pi(i=0,1,…,n)為控制點(diǎn);wi表示和控制點(diǎn)相應(yīng)的權(quán)因子;u∈[0 1]為自變量;Ni,k(u)為定義在節(jié)點(diǎn)矢量U=[u0,u1,…,un+k+1]上的k 次B 樣條基函數(shù),滿足de Boor 遞推關(guān)系式[11]。
2.2.2 管路中心線平面擬合
根據(jù)平面管路中心線上像素點(diǎn)的角度變化量將管路分為直線段和圓弧段,如圖3 所示。獲取的平面管路中心線和三維管路中心線點(diǎn)云皆為順序排列的點(diǎn)列,故分段位置可對(duì)應(yīng)到三維中心線點(diǎn)云相應(yīng)位置。
在管路中心線分段后,由于直線段Line1、Line2和圓弧段Arc1 在同一平面上,故可將獲得的位于Line1、Line2 和Arc1 上的管路中心線點(diǎn)云進(jìn)行加權(quán)平面擬合。將獲得的所有管路中心線點(diǎn)云投影到多個(gè)原始圖像上,根據(jù)投影點(diǎn)與原始圖像管路中心線的最小距離設(shè)置點(diǎn)云權(quán)重,權(quán)重值設(shè)置為與4 個(gè)原始圖像最小距離中最大值的倒數(shù)。
獲得擬合平面的參數(shù)后,管路中心線由在平面上的直線段和圓弧段組成,設(shè)(X,Y,Z)為世界坐標(biāo)系,建立平面局部坐標(biāo)系(X′,Y′,Z′),則可將世界坐標(biāo)系中的點(diǎn)轉(zhuǎn)換到平面局部坐標(biāo)系中,擬合平面和建立的局部坐標(biāo)系的示意圖,如圖4 所示,其中Z′為擬合平面的法向量方向,圓點(diǎn)代表管路三維中心線點(diǎn)云。

圖4 擬合平面和平面局部坐標(biāo)系Fig.4 Fitting plane and plane coordinate system
2.2.3 管路中心線直線段圓弧段擬合
管路中心線點(diǎn)云轉(zhuǎn)換到平面局部坐標(biāo)系后,將點(diǎn)云投影到擬合平面上,則三維點(diǎn)轉(zhuǎn)化為二維點(diǎn)。對(duì)兩直線段數(shù)據(jù)先進(jìn)行加權(quán)直線擬合獲得直線參數(shù),由兩直線方程求得直線交點(diǎn)O,根據(jù)O 在擬合平面上建立二維圓弧局部坐標(biāo)系(X″,Y″),如圖5所示。其中,O 為圓弧局部坐標(biāo)系原點(diǎn),v1,v2為兩直線方向的單位向量,以v1+v2的方向?yàn)閳A弧局部坐標(biāo)系的X″軸方向,Y″軸垂直X″軸,θ 為直線與X″的角度。

圖5 圓弧局部坐標(biāo)系Fig.5 Arc coordinate system
在兩直線確定的情況下對(duì)圓弧部分進(jìn)行圓擬合,直線確定則可求出直線X″與的角度θ,則與直線相切,圓心在(γ,0)的圓的方程可表示為
依次從圓弧擬合的數(shù)據(jù)中選擇一個(gè)點(diǎn),判斷該點(diǎn)處的斜率絕對(duì)值是否大于直線斜率的絕對(duì)值,若該點(diǎn)處斜率絕對(duì)值大于直線斜率絕對(duì)值,則將點(diǎn)投影到與其相近直線上計(jì)算出點(diǎn)坐標(biāo),否則不進(jìn)行投影。將點(diǎn)的坐標(biāo)代入圓方程中計(jì)算出γ,然后將除此點(diǎn)外的其他圓弧擬合數(shù)據(jù)pci(xci,yci)劃分為N1和N2兩個(gè)數(shù)據(jù)集,如圖5 所示,數(shù)據(jù)點(diǎn)pci劃分的依據(jù)為
對(duì)N1數(shù)據(jù)集中的點(diǎn)計(jì)算其與圓弧的距離誤差和,對(duì)N2數(shù)據(jù)集中的點(diǎn)計(jì)算與其相近直線的距離誤差和,則所有點(diǎn)的誤差和表示為
式中:k′為與點(diǎn)靠近直線的斜率;W 為權(quán)重,通過(guò)誤差和最小的參數(shù)構(gòu)造最終的擬合圓弧。
對(duì)于其余直線段和圓弧段采用類似擬合方法,將Line2、Line3 和Arc2 視為過(guò)直線Line2 的平面束中的一個(gè)平面,通過(guò)平面擬合獲得平面參數(shù),再對(duì)直線和圓弧進(jìn)行擬合。在擬合結(jié)果上選擇部分點(diǎn),將其轉(zhuǎn)換到世界坐標(biāo)系下作為特征點(diǎn)。采用累積弦長(zhǎng)參數(shù)方法對(duì)節(jié)點(diǎn)矢量進(jìn)行設(shè)置,通過(guò)最小二乘法求得NURBS 曲線控制點(diǎn),獲得管路三維中心線曲線。
在搭建的四相機(jī)陣列視覺(jué)系統(tǒng)上對(duì)提出的管路三維重建方法進(jìn)行驗(yàn)證。相機(jī)分辨率為3840×2160,感光芯片尺寸為1″,鏡頭的焦距為6 mm,采用背光源。重建的對(duì)象選取的航空液壓管路,如圖6所示,其外徑為6 mm,以圖中標(biāo)識(shí)角度為測(cè)量對(duì)象。

圖6 重建管路對(duì)象Fig.6 Tube to be reconstructed
構(gòu)建的相機(jī)陣列視覺(jué)系統(tǒng)相機(jī)之間的位姿示意圖,如圖7 所示。

圖7 相機(jī)位姿示意圖Fig.7 Camera pose
對(duì)相機(jī)內(nèi)參、畸變系數(shù)及相機(jī)之間的位姿進(jìn)行標(biāo)定,相機(jī)2-1、相機(jī)3-1 和相機(jī)4-1 兩兩相機(jī)對(duì)通過(guò)標(biāo)定得到的外部參數(shù)如表1 所示。本文4 臺(tái)相機(jī)陣列視覺(jué)系統(tǒng)標(biāo)定的平均投影誤差為0.41 pixel。

表1 相機(jī)外部參數(shù)Tab.1 Camera external parameters
由相機(jī)1~相機(jī)4 分別采集同一位姿管路圖像,提取管路平面中心線,圖像中獲取到的中心線點(diǎn)數(shù)分別為793、808、780、789。然后利用圖割算法獲得管路中心線上點(diǎn)在不同圖像中的匹配點(diǎn),通過(guò)最小二乘法計(jì)算獲得管路三維空間點(diǎn)。實(shí)驗(yàn)采用三次NURBS 曲線進(jìn)行管路中心線擬合,通過(guò)平面擬合、直線擬合和圓弧擬合獲得特征點(diǎn)61 個(gè),將節(jié)點(diǎn)矢量的前4 個(gè)參數(shù)值設(shè)置為0,節(jié)點(diǎn)矢量的末尾4 個(gè)參數(shù)值設(shè)置為1,其余節(jié)點(diǎn)矢量參數(shù)值根據(jù)累積弦長(zhǎng)參數(shù)法計(jì)算設(shè)置。計(jì)算獲得控制點(diǎn)63 個(gè),計(jì)算獲得的NURBS 曲線控制點(diǎn)和NURBS 曲線如圖8 所示。

圖8 NURBS 曲線與控制點(diǎn)Fig.8 NURBS curve and control points
為了定量衡量重建的管路中心線的精度,對(duì)任意擺放的不同位姿的管路進(jìn)行中心線重建,均勻提取重建曲線上800 個(gè)點(diǎn),將其投影到4 臺(tái)相機(jī)的原始圖像上,投影點(diǎn)與原始管路中心線距離的均值如表2 所示。

表2 不同位姿管路中心線投影距離Tab.2 Projection distance of tubes in different poses
實(shí)驗(yàn)結(jié)果表明,將建立的管路三維中心線投影回4 臺(tái)相機(jī)的原始圖像,投影點(diǎn)能夠與原始圖像的管路中心線對(duì)應(yīng),平均誤差基本在0.5 pixel 以內(nèi)。提出的方法對(duì)不同姿態(tài)管路都能有效地進(jìn)行管路中心線重建,方法的穩(wěn)定性較好,并且具有較高的效率和準(zhǔn)確度。
為驗(yàn)證重建方法測(cè)量管路的精度,將重建管路中心線計(jì)算得到的角度值與標(biāo)準(zhǔn)參考值進(jìn)行對(duì)比。采用HEXAGON 關(guān)節(jié)臂三坐標(biāo)測(cè)量機(jī)通過(guò)接觸式取點(diǎn)計(jì)算獲得標(biāo)準(zhǔn)角度參考值。對(duì)同一位姿的管路測(cè)量10 次,結(jié)果取均值,不同位姿管路的測(cè)量結(jié)果如表3 所示。

表3 不同位姿管路角度測(cè)量Tab.3 Measurement of angle in different poses
從表3 中可以看出,管路不同位姿計(jì)算得到的角度值與參考值的偏差值最大為0.33°,不同位姿測(cè)量角度值的平均值與標(biāo)準(zhǔn)參考值的偏差為0.12°,提出方法重建的管路三維中心線能夠用于管路參數(shù)測(cè)量。
本文對(duì)管路三維重建進(jìn)行了研究,提出了一種基于圖割的多相機(jī)管路三維重建測(cè)量方法,該方法利用圖割算法獲取管路中心線視差值實(shí)現(xiàn)匹配。通過(guò)4 臺(tái)相機(jī)陣列視覺(jué)系統(tǒng)獲取了管路準(zhǔn)確的三維中心線點(diǎn)云,并用NURBS 曲線描述,根據(jù)管路中心線和外徑重建管路三維模型。通過(guò)實(shí)驗(yàn)驗(yàn)證了本方法的有效性、魯棒性和準(zhǔn)確性,同時(shí)該方法具有較高的效率,可進(jìn)一步擴(kuò)展多相機(jī)陣列,滿足實(shí)際工程需求。當(dāng)然,實(shí)際工程中存在結(jié)構(gòu)更加復(fù)雜的管路,如何完成對(duì)更復(fù)雜管路的三維重建及進(jìn)一步提高重建精度是今后的研究重點(diǎn)。