崔中原,田裕鵬,尹相杰,徐奕
(南京航空航天大學 自動化學院,江蘇 南京 211106)
過去10年里,增材制造技術經歷了快速發展。由于增材制造過程中材料是一層接著一層熔化并且快速凝固,零件經歷了涉及定向熱傳遞的復雜熱演化歷程[1],從而導致應力變形和毛孔、針孔或微裂紋的產生。這些因素導致增材制造的印刷效果無法控制。因此,通過實時監控對象的坐標信息和形狀變化并將其與打印模型進行比較,在打印出現一定誤差時可對系統進行閉環控制并及時止損,這對提高生產效率具有重要意義。
三維測量分為主動測量方法和被動測量方法。被動測量方法要求物體表面具有豐富的紋理信息,當紋理信息較少時測量精度降低。對于諸如激光三維掃描的主動測量方法,通過將單線激光投射到待測對象上,激光條紋圖像被兩個相機采集并重建。代表性產品如FARO開發的Freestyle手持式3D掃描儀,由于采用單條激光,所獲得的圖像對環境光具有強抗干擾能力和高測量穩定性。為滿足3D打印中弱紋理對象的監測要求,本方法將多線結構光與雙目立體視覺測量技術相結合,將多線結構光投射到物體的表面上,采用光條序列匹配和極線約束相結合的圖像特征點匹配方法,解決了多線結構光投射后的紋理重復性問題,最后根據相機標定參數,實現了復雜曲面下的一次性表面重建[2]。
該方法有3個創新點:1) 采用匯聚相機模型確保測量精度,而一些主流相機開源庫采用平行相機模型,精度較低;2) 將形態學算法與傳統的光條提取算法相結合,實現了光條細化和提取;3) 解決多線結構光的立體匹配問題。
雙目立體視覺系統可分為平行式相機系統和匯聚式相機系統。如果兩個相機的光軸平行安裝,則構成平行相機系統;如果兩個相機的光軸在安裝時形成一定角度,從而使兩個光軸同時集中在目標物體上,則構成了匯聚式攝像系統[3]。雖然平行雙目視覺系統的重建算法相對簡單,但在實際安置中難以保證兩臺攝像機的嚴格平行,給實際應用帶來了一定的困難。另外,平行雙目視覺系統受視場限制,攝像機間距小,測量誤差大。因此,本方法采用匯聚式雙目視覺系統[4]。
匯聚雙目立體視覺的成像幾何關系如圖1所示。其中,點P是空間中一點,Pl和Pr分別為點P在左、右相機中的投影點,O1C1和O2C2分別是左、右相機的光軸。角度為2θ,基線距離為B。在世界坐標系中,點P是PlC1和PrC2的交點,點P的坐標可以根據上述已知參數獲得:

圖1 匯聚式雙目系統模型
(1)
(2)
其中:x1和x2是左、右攝像機坐標系中相應的x軸物理坐標;f是相機焦距。
圖2顯示了被測物體的原始采集圖像。在圖中,背景與目標對象的灰度值不同,并且投射到背景上的結構光是干擾信息,需要通過合適的閾值分割算法來移除背景部分,僅保留投影到對象上的結構光圖像。
由于物體表面不規則,結構光條在物體表面上的強度分布不均勻,并且在閾值處理之后,出現孔洞現象。設計時采用了形態學處理方法,先使用膨脹算法對圖像進行擴展,然后使用腐蝕算法確保光條的直徑基本不變。

圖2 左相機的初始圖像
在二值圖像的匹配中,通常對圖像進行細化來獲得光條的骨架。在初步細化中,采用Zhang-Suen迭代細化算法。整個迭代過程分為兩個步驟[5]:
第1步:循環所有前景像素并將符合以下條件的像素點標記為刪除:
1) 2 ≤N(P1)≤6;
2)S(P1) = 1;
3)P2×P4×P6=0;
4)P4×P6×P8=0。
其中:N(P1)表示與P1相鄰的8個像素中前景像素的數量;S(P1)表示從P2到P9再到P2像素中出現0~1的累積次數,其中0是背景,1是前景。
第2步:類似于第1步,將滿足以下條件的像素P1標記為已刪除,如下所示:
1) 2 ≤N(P1)≤6;
2)S(P1) = 1;
3)P2×P4×P8=0;
4)P2×P6×P8=0。
循環上述兩個步驟,直到兩個步驟中沒有像素被標記為已刪除,并且輸出結果是二進制圖像被細化后的骨架。輸出如圖3所示。

圖3 初步骨架提取結果
可以看到在細化之后骨架上有毛刺,局部骨架不再是單個像素,并且光條的連通性被破壞。這是由物體表面本身的復雜性和光條直徑不一致造成的。因此,本文設計了一種針對多線結構光的智能補斷和優化算法。
為去除毛刺,本文先預設毛刺的最大長度為L。查找光條骨架的所有端點并將其刪除,然后迭代此操作l次。在實驗中,此方法還會在刪除毛刺時刪除頂部和底部邊緣點。由于上邊緣點和下邊緣點具有較大的相機畸變,因此刪除這些點有利于提高測量精度。
理想情況下,單光條應是自連通但不與相鄰的光條所串接的。基于此目的,本方法設計了一種金字塔分層連接策略,如下:
1) 設定合理的最大連接半徑R和步長d,設定連接半徑的初始值r(r 2) 使用滑動窗口找到每個帶狀線段的上端點P1和下端點P2。 3) 對于所有的下端點P2,尋找以點P2為中心,以r為半徑的圓內的點P1,連接兩個點。 4) 令r=r+d,然后重復步驟2)-步驟4)。 圖4(a)是算法處理前的圖像,可以看到部分光條已經斷裂,并且有些光條錯誤地連接到相鄰光條,導致后續的匹配錯誤。從圖4(b)的結果可知,光條的優化效果比較理想,滿足了處理的需要。 圖4 補斷算法前后對比 極線約束是立體匹配過程中最重要的約束理論之一。它的本質是建立特征點與其成像點、成像平面之間的聯系。如圖5所示,假設空間中一點P在相機中的成像位置為點p1、p2,II1、II2為成像平面即投影面,O1、O2為相機的光心即投影中心。定義兩投影中心的連線與兩個投影面的交點為極點e1、e2,空間中的點P與投影中心O1、O2所確定的平面為極面O1PO2。 圖5 極線約束模型 對于空間中的點P,與其相關的點p1、p2、e1、e2均在極面O1PO2上。當點P沿著直線PO2移動到點M時,其在右相機上的投影點坐標保持不變,而在左相機上的投影點m1與點p1、e1共線。也即是說,若已知右相機上的一點p2,則其與右極點e2可確定唯一的極線l,并且三維空間中位于直線p2O2上的點在左相機上的對應點必在此極線l上。 然而,對于多線結構光,對應于左攝像機條帶上的某個點的極線與右攝像機光條有很多交叉點(取決于條帶的數量),也即是說,匹配點具有非唯一性。鑒于此,本方法引入了空間一致性約束。具體做法如下: (3) 2) 光條排序。由順序一致性約束可知,投影的光條排列順序具有一定的規律性,根據光條端點的像素坐標關系,對每幅圖像上的光條分別排序,最終每個圖像可以生成一個以一維向量為基本的鏈表,具體表示為: (4) 3) 光條及特征點匹配。當對光條進行成功的搜索和排序后,有n1=n2。則對于左圖像上的光條Lil,其相應的匹配點應該在右圖像單光條Lil中,反之亦然。如此結合極線約束,可以根據單線結構光匹配算法求出唯一解,如圖6所示。 圖6 多線結構光匹配 為了驗證基于多線結構光雙目視覺的三維測量方法的可行性,進行了現場實驗。 硬件包括1個支持多線結構光的LED投影燈,2個分辨率為1 624×1 234的Manta G-201B/C工業相機和一臺計算機,如圖7所示。 圖7 三維測量系統 被測物體是3D打印的曲面物體,其表面純白色無顯著紋理。對系統立體標定之后,將預先設計的結構光投射到物體上,通過調整曝光時間等參數來優化成像效果后,對左右相機圖像進行采集和處理,圖8為左相機的采集圖像。 在對結構光骨架提取和優化之后,進行立體匹配,計算三維點云數據,由于骨架上的點云數量較大,所以對點云采樣后再進行曲面重建,結果如圖9所示。可以看出,該方法對弱紋理表面實現了較為理想的重建。 圖9 三維重建結果 被測物體的表面結構復雜且不規則,不易直接進行精度估算。本文通過高精度打印機在平面上打印一組平行線,利用同樣的處理算法對平行線進行三維重建,將其線間距與真實的線間距相比較來評估算法的三維重建精度,結果如表1所示。可知,近距離下的測量相對誤差在3%以內,精度較高。 表1 三維重建精度 基于對無紋理物體表面快速重建的需求,本文設計了一種多線結構光與雙目視覺測量相結合的方案,解決了傳統單線結構光學掃描測量效率低的問題。本方法采用匯聚式雙目系統來提高小型物體的測量精度,同時解決了多線結構光匹配中非唯一解的問題。在實際測量中,復雜的非連續表面仍然存在不應忽視的測量盲點,這是下一步的研究方向。
2.3 立體匹配



3 實驗驗證




4 結語