鐘鎮洪,李霆,姜幸儉,趙肇信,向珍琳
(五邑大學智能制造學部,江門 529020)
目前,在航空航天等軍工產品研制生產中,導管彎曲成形是一個復雜過程,其影響因素復雜、成形質量難以控制。實際工程中采用“先采樣后生產”的生產方式,首先對發動機拆卸下的導管部件進行數據采集,再進行逆向建模,重建導管三維數字模型并與設計模型進行對比分析,將對比結果作為導管加工生產的依據,這是保證導管制造質量最有效、最直接的手段。因此,實現飛機導管結構的三維數字化重構具有重要意義。
隨著相機采集技術的不斷發展,可利用結構光相機[1]、激光雷達[2]和深度傳感器[3]等進行導管三維建模,但存在成本昂貴、操作繁瑣、效率低下等問題,難以滿足導管快速、精確三維建模需求。國內外學者在三維建模算法研究上取得了一定進展,SFM(Structure From Motion)[4]一種基于特征點匹配的稀疏點云三維重建算法;Berge 等人[5]在表面重建領域已經取得了大量實質性的進展,從輸入數據中提取高保真三維曲面;Yan[6]和Wu[7]等人在表面重建領域改進了對數據覆蓋、模型質量和計算速度等問題;但由于導管表面顏色單一,具有較多的光滑金屬紋理,有的甚至反光強烈、形狀復雜,采用表面或自然紋理的重建方法不適用于導管三維建模。
近年來,導管三維重構工作也取得了一定進展。趙玉芹[8]提出了對貼有特殊標記條的管路系統進行三維重構的方法,但由于導管屬于工業產品,無法對產品直接進行處理。Veldhuis 等人[9]提出一種基于共面性約束的導管重構方法,僅在短導管和沒有自遮擋的情況下才有較高的精度和穩定性。金鵬等人[10]提出一種基于管路中心線的端點坐標測量方法,能取得較高測量精度,但對于帶有喇叭口和外套螺母的導管仍有局限性。
因此,針對導管表面紋理特征單一和難以避免的自遮擋問題,本文采用基于圖像的三維重構方法。通過實驗對比,該方法在低成本、靈活的獲取圖像過程中能實現更高效、更精確的三維建模。
本文研究的方法輸入是n 張圖像(在實驗中n=3,下文分別稱為參考圖像、相鄰圖像和第三圖像),I={I1,…,In},是從不同角度獲取導管的二維圖像;采用SFM[4]計算對應相機位置參數,為K={K1,…,Kn};輸出是一連續的導管三維曲線段序列。
圖像預處理階段,完成每張圖像的曲線段提取。首先對每張圖像進行像素二值化處理,以增加導管區域與圖像背景的對比度;然后根據像素連通性遍歷導管區域,細化并提取1 像素寬的導管中心曲線。由于視差存在自遮擋問題,二維圖像易于出現中心線交叉或存在分支點的情況,如圖1(b)所示,Kovesi[11]提供的方法可對中心線結構像素進行分割的,得到任一不包含交叉點或分支點的曲線段。因此,對于每張輸入圖像Ir,可以得到一組二維曲線段,記為cr={cir}。圖1 為導管重構示意圖,其中紅色框區域顯示一個中心線分割示例,每段二維曲線段都用不同的顏色標示。

圖1
對給定參考圖像Ir提取一組二維曲線段(i=1,2,…,n),每段表示為圖像密集采樣的二維點序列pi,jr,(j=1,2,…,s)的集合。對于每段曲線cir,都是從第一個采樣點pi,1r開始計算其在相鄰圖像相應的極線li,1r→n,每條極線li,1r→n與相鄰圖像中的二維曲線可能相交于多個點,即點pi,jr可能在相鄰圖像中找到多個點與它匹配。由于圖像曲線連續性,相鄰采樣點pi,jr對應的極線在相鄰圖像中具有相同的交點個數,因此可以通過極線交點個數來分割曲線段,當極線交點個數不同時,則將曲線段cir分割成兩段{pi,1r,pi,2r,…,pi,j-1r}和{pi,jr,pi,j+1r,…,pi,sr}。通過不斷跟蹤對應極線的交點個數,分割曲線段cir,得到cir在相鄰圖像中與之相對應的候選二維曲線段集ci,jr→n,(j=1,2,…,m)。如圖2 所示,假設從第一個采樣點P_1 開始計算該采樣點在相鄰圖像上的極線L_1,L_1 在相鄰圖像中與二維曲線段有兩個交點,繼續計算采樣點極線,當計算到采樣點P_2 時,因為交點數量由2 個變為3個,點P_2 為曲線段的一個分割點。對于參考圖像P_1 到P_2 的曲線段,在相鄰圖像中有兩條深紫色的對應二維曲線段,同理,曲線段從P_2 到P_3 在相鄰圖像中有三條淺紫色的對應曲線段。即參考圖像中P_1 到P_3 的曲線段在相鄰圖像中得到五條相對應的候選二維曲線段集。

圖2
給出參考圖像中的曲線段cir,和它在相鄰圖像中的二維候選曲線段ci,jr→n,(j=1,2,…,m),每對相應采樣點根據三角測距原理可重建的三維點序列,生成對應的三維候選曲線段集Ci,jr,(j=1,2,…,m)。其中,每條Ci,jr都有可能是參考圖像二維曲線段cir對應的正確的三維曲線段。
在理想情況下,參考圖像的二維曲線段對應的候選三維曲線段只有一條。如果存在多條候選三維曲線段的情況,就需要通過計算置信度和成對成本從每一組候選三維曲線段中選擇一條正確的曲線段。
置信度體現了三維候選曲線段Ci,jr與第三圖像中曲線的匹配程度,將每條三維候選曲線段Ci,jr投影到第三圖像Iq上,并在第三圖像Iq中找到與候選曲線段的投影差最小的二維曲線段coq(coq∈Iq)。對于點集合(u,v),u 是三維曲線段Ci,jr在Iq上的投影,v 是其在二維曲線段最接近u 的對應點,可以計算置信度S(Ci,jr)并篩選曲線段。

其中,(tu,tv)表示對應點之間的距離和切線方向的偏差,η表示這兩個指標之間的相對權重;diag(Iq)對距離度量進行歸一化;s 為Ci,jr上的采樣點總數,對所有距離和切向偏差之和進行歸一化。如圖3 所示,兩條虛線(深藍色和淺藍色)為三維候選曲線段在第三圖像上的投影,兩條實線(橙色和綠色)為第三圖像上的二維曲線段coq。計算三維曲線段置信度S(Ci,jr),即最近點之間的距離和角度偏差,高置信度的三維曲線段(深藍色)可以刪除,而其他(淺藍色)作為候選。
由于視場存在視差問題,僅靠置信度描述曲線段的匹配程度,還不足以解決所有的歧義。因此,還需要計算成對成本來進一步篩選,成對關系是描述相鄰兩三維候選曲線段之間的關系。正確的三維曲線段是從彎曲、連續導管對象中重構出來的,沿著這條連續曲線段是平滑連接的,因此,相鄰相近且具有相似角度的三維曲線段更有可能是正確的三維曲線段,這就提供了一個更有效的匹配線索。將這些線索在優化問題中形式化,如下所示。為方便,將Ar=∪iCir,表示為所有候選三維曲線段集的并集Cir。對于每一條三維曲線段Aj∈Ar,定義一個二元變量的指示器xj,如果選擇了相應的曲線段則xj=1,否則xj=0,X 向量存放所有二元變量xj。由于只需從每個候選集合中選擇一個三維曲線段,因此,對每個Cir的給出一個線性約束條件:


圖3 計算置信度
接下來,定義一個成對關系代價函數d(Ai,Aj),評價三維曲線段Ai和Aj之間的成對關系:
E(Ai,Aj)是測量兩點Ai和Aj之間的空間歐氏距離;f(Ai,Aj)=(1-cosα)/2,其中α是兩點切線方向的夾度;m 表示這兩個指標之間的相對權重。將所有成對關系放在一個方陣V 中,b×b 維,b 是Ar的基數,并將對角線元素設為0,非對角項元素,設Vij=d(Ai,Aj)。如圖4 所示,左圖當C1 和C2、C1 和C3 的切線角度相似時,C3 比C2 距離上更靠近C1,C1 更適合與C3 連接;右圖當C1 和C2、C1 和C3 的距離上相似時,C1 和C3比C1 和C2 角度差更小,C1 更適合與C3 連接。
最后,用向量U 表示所有三維曲線段Aj∈Ar的置信度合并分數Uj=S(Aj),X 表示二元選擇變量,V 為成對成本變量,給出U 和V,最小化X★如下:

λ表示兩項多項式之間的相對權重,求解方程(4),得到了一組優化的三維曲線段Copt,每條二維曲線段cir都有唯一對應的三維曲線段。

圖4 計算成對成本
本節是對重構的一組無序三維曲線段Copt恢復其全局拓撲結構,形成一條連續平滑的曲線段。對于這個任務,根據多旅行商算法(multiple Traveling Sales?man Problem,mTSP)[12]計算最短路徑構建一組連續曲線段,具體細節如下。
給定三維曲線段集合,Copt={Ci},{i=1,2,…,b},構建一個有向圖G=(V,E),其中每個頂點Vi∈V 對應一段三維曲線段Ci,有向邊eij∈E 表示連接節點Vi到Vj的邊,增加一個虛擬的開始節點V0,在圖上的每條路徑都從V0節點開始和結束。已知G=(V,E),我們的目標是找到k條起點和終點都是V0的不同的路徑,使每個Vi恰好包含在一條路徑中。這些路徑中的每條都對應于導管模型的連續三維線。每條路徑都是由它所組成的邊唯一確定的。通過最小化目標函數來解決路徑尋找問題:

給定節點Vi和Vj,wij為有向邊eij的權重,三維曲線段Ci和Cj相應的成對關系,如方程(3)所示,得wij=d(Ci,Cj),有向邊權重是對稱分布的,即:wij=wji;對每條邊eij∈E 定義一個二元變量xij,判斷該有向邊是否被選擇在路徑中,xij=1 說明eij包含在一個路徑,xij=0 表示不包含在一個路徑。
方程(5)在以下約束條件下求解。確保每個路徑都是有效的,要求每個頂點只能訪問一條路徑,且所有節點Vi都需要被路徑訪問。

且在k 中的每條路徑,必須要求在節點V0處開始和結束:

此外,每個節點Vi∈V 分配一個輔助整數變量ui∈N,表示Vi順序訪問一條路徑,u0=0 為虛擬節點V0。為了避免路徑出現循環或節點多次訪問現象,根據Kara和Bektas[13]提出的子循環消除約束:

解決方程(5)中關于方程(6-8)中約束的二元優化問題,即可得到一組連續的k 路徑,W={W1,…,Wk},其中每個Wi由一組有序的三維曲線段組成。
值得注意的是,ξ表示的是相關路徑的代價,增加這個代價權重,可以限制分解更少的路徑,在我們的實驗中,輸入的是一根連續的導管對象,則期待對應輸出的是一條連續的路徑。由已知路徑數量,可對方程(5)進行優化,即手動設置k。在k=1 情況下,簡化了標準的mTSP,其目標是尋找訪問每個節點的單個路徑,當方程(5)在連通圖G 上進行優化時,一些代價高的邊可以預先刪除,以提高計算效率。
本文描述了三維曲線段重構步驟,該步驟從一對參考圖像和相鄰圖像中生成三維候選曲線,并使用第三圖像進行驗證。當輸入更多的圖像時,可以使用增量重建策略,從一對參考圖像和相鄰圖像開始,按照上文描述的步驟,為參考圖像中的每條二維曲線段重構一組三維候選曲線,然后重新選擇新的圖像作為參考圖像,并選擇一個視差范圍良好的相鄰圖像Goesele[14]等人提出。重復這個步驟,直到所有輸入圖像都充當了一次參考圖像。
本文方法已在VS2015 平臺下編程實現了導管的三維重構,擬合空間圓所得到的導管曲面可視化效果如圖5 所示。
為了評估導管三維重構的效果,我們將導管三維模型上的采樣點分別投影到三張輸入圖像中,并通過投影點與輸入圖像中2D 曲線上采樣的最近點間的距離來計算重投影誤差,表1 是6 根導管三維模型的重投影誤差平均值和最大誤差計算結果。

圖5
由表1 可知,導管建模平均誤差在0.5 像素內,最大重投影誤差為4.29 像素,建模效果良好,初步試驗證明了該方法的可行性。
與此同時,將三維導管兩端和各個彎曲部位的數據與標準導管數據進行對比,并計算絕對誤差值,對比結果見表2,其中L 為直線長度,A 為兩直線之間的彎曲角度,R 為相鄰兩平面的空間旋轉角度。

表1 導管模型重投影誤差

表2 導管建模精度對比分析
實驗測試表明,采用該方法能在30 秒內完成導管三維建模,導管直線測量最大誤差為0.523mm,導管角度最大誤差為0.637 度,滿足工程制造需求。
本文研究的基于圖像的三維導管建模方法僅需三張圖像,即可在30 秒內實現精確導管重構。該方法包括以下兩個步驟:首先生成二維曲線段的三維候選曲線段集,并篩選三維曲線段;其次,恢復三維曲線段的全局拓撲結構,將其拼接成一組連續線段。該方法解決了傳統手動測量效率低的問題,具有效率高、精度高的優點。本文研究方法的精度受到導管自身外套螺母、喇叭口以及相機位置計算、曲線擬合等多方面因素的影響,下一步將深入研究三維重建理論誤差分析與建模,提高重建精度。