張海洋 ,陳 巍 ,葉松濤 ,陳新宇
(1. 華中科技大學 無錫研究院,江蘇 無錫 214000;2. 無錫中車時代智能裝備有限公司,江蘇 無錫 214000)
高鐵白車身是指未經(jīng)涂裝的高速列車車身。目前國內外圍繞高鐵白車身的自動化生產(chǎn)展開了大量的研究,其中的研究熱點是將工業(yè)機器人技術應用于高鐵列車膩子打磨,以提升加工效率。機器人膩子打磨一般需要根據(jù)加工對象三維模型進行路徑規(guī)劃,因此需要引入相應的測量方法來實現(xiàn)高鐵白車身表面三維模型的測量;此外,白車身膩子表面打磨完成后,還需要通過測量其表面平整度對打磨質量進行評價,而采用合適的測量方法有利于提高檢測效率,降低檢測誤差。
高鐵白車身屬于大型工件,國內外針對大型工件的三維測量取得了不錯的技術成果。其中三坐標測量技術屬于接觸式測量方式,測量時將測頭與物體接觸,然后通過移動導軌來實現(xiàn)物體測量,該方法測量精度高、可靠性好,但是測量效率低、對環(huán)境要求高,無法實時跟蹤測量。編碼結構光技術是通過在兩幅圖像上找到同名點再基于三角法來進行三維重建,并額外采用一個投影儀投射編碼圖案到被測物體表面對其進行編碼,對編碼信息解碼后再進行后續(xù)的測量。該方式適用于表面特征和紋理不明顯物體的三維形貌測量。雖然三維測量方式經(jīng)歷了長期的研究發(fā)展,但對于不同對象的不同因素,其仍舊具有較為廣闊的研究空間[1-4]。
本文引入一種基于編碼結構光(面結構光)的三維測量技術,以實現(xiàn)高鐵白車身膩子機器人打磨的“測量-加工”作業(yè)一體化;除此之外,本文還提出了基于“極線斜率-相位”查找容器的快速匹配方法與基于多球面特征的點云粗拼接技術,以提高點云匹配速度與精度,有效解決了具有低重疊區(qū)域的兩塊點云拼接困難的問題。
使用雙目結構光進行三維測量的原理是,通過投影儀將一系列編碼圖案投影至待測物體表面,再由左右相機拍攝在物體表面發(fā)生畸變的條紋圖像(條紋的畸變包含了物體表面的三維信息);然后根據(jù)相關解碼與匹配算法獲得左右相機像素點的映射關系,再利用三角測量方法獲取物體像素對應的三維點信息。雙目結構光原理如圖1所示,其中oc1xc1yc1zc1和oc2xc2yc2zc2分別表示左右相機的坐標系,o1u1v1與o2u2v2則分別表示左右相機圖像坐標系,被測物體上的P點分別對應左右相機上的 p1與p2像素點。利用 p1與p2像素點坐標與相機標定參數(shù),即可求出空間點P的三維坐標。
圖1 雙目結構光原理圖Fig.1 Principle diagram of binocular structured light
為了確定左右相機像素點的映射關系,需要對拍攝的條紋圖像進行相位解碼,其具體包含了通過像素亮度值求解相對相位的過程與在相對相位基礎上進行相位展開的絕對相位求解過程。
通過計算機能夠獲得理想的正弦條紋光柵,如圖2所示。
圖2 正弦條紋光柵Fig.2 Sinusoidal fringe grating
光強函數(shù)[5-7]可由式(1)表示:
式中:(x, y)——圖像像素索引;p——單根條紋在一個周期內的像素值,即條紋節(jié)距;θ——相移量,光柵的變化方向是沿著x軸方向變化。
常見的相移算法有很多種,包括2+1相移法、雙3步相移法、梯形相移法、標準N步相移法、三角形相移法以及Hariharan 5步相移法等[8],其中標準N步相移法能夠最大程度地壓制系統(tǒng)的隨機噪聲且不會影響(N-1)次以下的諧波[9]。由于標準4步法具備優(yōu)良的誤差容忍能力和超高的測量精度等優(yōu)勢,比較常用[8],因此本次研究中也運用這一方式。
標準4步法運用的4幅圖案分別是0, π/2, π/3和π/4的相移量,所以其理想的光強函數(shù)可列為
根據(jù)式(2)可以計算出光柵圖像的相對相位(包裹相位)為
求得的相位值以反正切函數(shù)的形式表示,其值被限制在(-π, π)中,其在全場范圍內不是連續(xù)變化的,且和真實的相位值相差2kπ(k為正數(shù))。由于圖像全場范圍內存在多個非連續(xù)的相對相位周期,故同一相位值在圖像上對應多個像素點,這導致了相對相位在圖像中的不連續(xù)性和二義性,需要展開相對相位,以獲取全場范圍內唯一的絕對相位。
根據(jù)在相對相位變化方向上加減2π值即為相位展開的基本原理,該原理可以通過式(4)表達:
相位展開算法由時間相位展開算法和空間相位展開算法這兩大部分組成。時間相位展開算法主要是通過另外加入一個或者多個其他相關信息,進而能夠從根本上彌補相位不連續(xù)性的缺陷;而空間相位展開算法則不可以應對位處獨立區(qū)域的物體及表面變化比較明顯的物體。從效果上來看,時間相位展開算法里多頻外差展開算法要更有效些[10-12],多頻外差展開法的原理是,將兩種及兩種以上不同頻率的相位函數(shù)疊加以得到一種頻率更低的相位函數(shù),如圖3所示。
圖3 多頻外差展開原理圖Fig.3 Schematic diagram of multi-frequency heterodyne expansion
把不同頻率的光柵信號通過疊加處理得到其他頻率光柵信號的這一過程稱作頻率外差。若將光柵1的節(jié)距設為λ1,光柵2的節(jié)距設為λ2,則式(5)可以表示外差展開后得出的新光柵的節(jié)距:
同時,式(6)表示新光柵的相對相位:
通過挑選合理的光柵節(jié)距λ1和λ2,對其進行外差得到的新光柵節(jié)距λ12大于原始的光柵節(jié)距λ1和λ2,也就表明新光柵在圖像內的相對相位是展開的。
下面使用三頻外差法對相位展開原理進行解釋。先設置3個不同節(jié)距(λ1, λ2和λ3)的光柵,其中節(jié)距為λ12的新光柵12是光柵1和光柵2外差所得出的,而節(jié)距為λ23的新光柵23是光柵2和光柵3外差所得出的,而節(jié)距為λ123的新光柵123是新光柵12和新光柵23外差所得出的。
將圖像中某一個點的條紋級數(shù)設定為n,并以Δn表示小數(shù)部分,以N表示整數(shù)部分,能夠得出的關系式如下:
展開后得出的絕對相位值如下:
因需要確保第二次外差后得到的新光柵節(jié)距將覆蓋全場,所以N123=0;可以通過式(10)、式(11)和式(12)得到N12和N23的計算公式,具體如下:
這里,round[]代表將得到的結果取整。
還可以根據(jù)式(10)、式(11)和式(12)推導得到N1,N2和 N3:能夠得到Φ1, Φ2和Φ3的最終結果:
綜上所述,全部的計算過程是,通過第二次外差后需全場覆蓋這一要求,可以算出N123=0,進一步得出N12和N23的結果;然后結合得到的N12和N23的結果推算出N1, N2和N3的值,最終能夠將Φ1, Φ2和Φ3的結果計算出來。因此按照順序算出N123, N12, N23, N1, N2和N3的值是整個求解過程的最重要環(huán)節(jié)。
在得到像素點的絕對相位值后,需要對左右圖像進行遍歷,以確定左右像素點之間的映射關系,該過程即被稱為立體匹配。而三維計算則是在確定了映射關系后,結合相機標定參數(shù),利用三角測量法求解得到像素點對應的空間點坐標的過程。
在進行三維數(shù)據(jù)獲取的過程中,立體匹配目的是獲得兩幅圖像中對應著同一個空間點的匹配像素點。通過視差之間的關系,進行空間位置的數(shù)據(jù)信息獲取,按照相位匹配的方法對圖像中的所有像素進行匹配。通過把圖像中各個像素點所具有的極線斜率作為匹配依據(jù),同時結合相位相等的判斷條件,完成整個圖像范圍內像素點的匹配過程。這種方式在抗噪水平、匹配速度和精度方面都存在不錯的表現(xiàn)。
在實際操作過程中,首先構建約束,通過約束來降低匹配過程中的計算量。約束形式多樣,主要有唯一性約束、連續(xù)性約束和外極線約束等。在立體匹配的過程中,外極線約束的運用最為常見,其基本原理如圖4所示。
圖4 外極幾何示意Fig.4 Outer pole geometry sketch
圖4 是對外極線約束對應關系的基本展示。從圖中能夠得出,左極線上的點都能夠在右圖像的右極線上找到相對應的點;同理,右極線上的任一點pr在左圖像上的匹配點也一定能夠在左極線LPl上找到。所以運用該約束進行實際匹配時,通過圖像上的二維搜索到一維搜索的轉變,就能夠在很大程度上簡化計算流程,降低計算量,實現(xiàn)匹配效率的提升。
為盡可能提升立體匹配的速度,本文通過構建“極線斜率-相位”的方式進行查找容器的形成,相較于之前在極線校正基礎上進行的相位匹配,這種方式可以通過大幅降低匹配點的查找范圍而提升匹配的精度和速度。其基本流程如圖5所示。
圖5 快速匹配算法流程Fig. 5 Flow chart of the quickly matching algorithm
該匹配方式的基礎就是左右相機的位置保持穩(wěn)定,將其旋轉矩陣和平移矩陣設定為R和T,其中ri(i=1,2, …, 8, 9)與tk(k =x, y, z)分別為矩陣R和T內的元素,如式(22)所示:
針對空間中的一點p,假定其在左圖像中的圖像為pl,將其與El相連可以得到左極線LPl,其斜率的計算方式是左圖像中取兩點坐標進行計算,并記為kll;則該極線向右圖像平面進行轉化后的斜率klr可以按照式(23)求得[13]:
同理可以求出右圖像中的點pr在極線上的斜率向左圖像進行轉化后的斜率krl為
該算法的基本步驟如下:
(1)運用標定數(shù)據(jù)執(zhí)行矯正過程,然后以雙線性插值法獲得經(jīng)過矯正之后的相位圖;
(2)進行右極線的斜率和實際斜率值的計算,并將所得的結果替換為極線角度值存儲起來;
(3)創(chuàng)建匹配數(shù)據(jù)庫,在每個子數(shù)據(jù)庫中存儲的是某個范圍中的圖像像素點的集合,并能夠實現(xiàn)全部像素點的涵蓋;
(4)匹配的初始時期,應該首先針對像素點的初始匹配點進行具體的計算;
(5)經(jīng)過圖像比對對最終匹配點進行確認,所得即為亞像素級匹配。
為了盡可能地提升匹配效率,在實施光柵投影時,通過采集白光圖并運用灰度期望法[13]將背景進行分割,加上背景掩碼(圖6)后,再進行背景計算,得出相應結果之后再進行點云的拼接計算。
圖6 匹配背景分割示意圖Fig.6 Schematic diagram of matching background segmentation
獲得圖像的匹配點集后,利用三角測量法結合相機標定參數(shù)可以恢復被測物體的三維信息,從而進行測量。
“極線斜率-相位”的匹配方式是建立在非平視雙目幾何結構上而實施的。設定左相機焦距為fl、右相機焦距為fr,所得匹配點對為(Xl,Yl)和(Xr,Yr),左相機到右相機的變換矩陣M可表示為
那么三維點的計算公式如下[14]:
以高鐵白車身側墻為測量對象進行實驗,在實際測量過程中要求:(1)測量范圍廣泛,保證覆蓋全部車身;(2)精度高,要求誤差不得超過0.5 mm/m;(3)速度快,超過0.15 m/s。基于此,開展了下述實驗工作。
本次設計中系統(tǒng)部分包括了TI制造的DLPLightCrafter4500TM型投影儀,其分辨率在1280×800左右;相機則使用的是Basler制造的acA2040-35gm型面陣相機,其鏡頭使用的是FUJINON公司制造的HF12XA-5M型鏡頭,分辨率為500萬,焦距為12 mm,其光圈值F為1.6-16。
系統(tǒng)的硬件布局如圖7所示,其中相機被置于投影儀的兩側,調節(jié)左右相機角度(在不同角度下進行測量,即視角1與視角2),使之具有較大的重疊視野區(qū)域;為使系統(tǒng)獲得更穩(wěn)定的測量結果且盡可能地利用投影儀的投影幅面,三者應保持在同一水平高度。
圖7 系統(tǒng)硬件布局Fig. 7 Layout of the system hardwares
本研究中標定方式采用傳統(tǒng)的張正友標定法[14],即在OpenCV的基礎上進行相機標定。對玻璃材質精度要求比較高的標定板進行了6次實驗,實驗誤差(標定板兩特征點之間測量距離和實際距離之間偏差的 RMS 值)結果如表1所示。由表1可知,各組實驗結果皆滿足高鐵白車身測量實驗所要求的0.5 mm/m的精度,特別是第六次實驗中,系統(tǒng)的RMS誤差達到了0.093 mm/m,這驗證了該標定方法的可行性。
表1 6次標定實驗誤差結果Tab.1 Error results of six calibration experiments(mm/m)
選取高鐵白車身上寬約為1 m、高約為1.2 m、中間位置有弧形、表面有待打磨膩子的側墻板(圖8)展開測量工作。由于實際的高鐵白車身具有大幅度的表面,故需要在不同視角下對其進行多次測量,并通過點云拼接技術以獲得最終完整的高鐵表面點云數(shù)據(jù)。運用多頻外差展開法進行后續(xù)操作,圖9是對節(jié)距(條紋寬度)分別為21、23、25像素的條紋圖案進行投影時,通過左相機在兩不同視角下拍攝得到的條紋圖像。
圖8 測量對象及裝置布置圖Fig. 8 Arrangement of measurement object and device
圖9 在不同視角和不同節(jié)距下的條紋圖Fig. 9 Fringe patterns at different angles and different pitches
在利用多頻外差相位法完成展開計算之后,把圖9(a)和圖9(b)的條紋光柵作為基準繼續(xù)進行匹配,圖10是視角1與視角2中得出的左右相位圖。
圖10 絕對相位圖Fig 10 Absolute phase diagram
運用相位匹配和三角測量的方式能夠準確獲得視角1與視角2的點云,對直徑為50 mm的標準球進行擬合,視角1所得的直徑為50.02 mm(圖11),視角2的為50.24 mm(圖12)。之后開始針對上述視角中的點云執(zhí)行拼接操作,拼接前后的點云比對圖以及拼接所得的重疊區(qū)域分別如圖13和圖14所示。
圖11 視角1下50 mm標準球擬合結果Fig. 11 Fitting results of 50 mm standard ball in perspective 1
圖12 視角2下50 mm標準球擬合結果Fig. 12 Fitting results of 50 mm standard ball in perspective 2
圖13 點云圖對比Fig. 13 Comparison of point cloud images
圖14 拼接后重疊區(qū)放大圖Fig. 14 Enlarged images of overlapping region after splicing
將拼接之后的直徑為50 mm的標準球與點云進行球面擬合操作,所得出的結果如圖15所示。剔除含有拼接部分的數(shù)據(jù),經(jīng)過重構之后所得結果如圖16所示。可見,經(jīng)過重建之后所獲得的車身樣本數(shù)據(jù)信息更加精確。
圖15 拼接后標準球擬合結果Fig. 15 Fitting results of standard balls after splicing
圖16 重建結果Fig. 16 Reconstruction results
通過上述實驗及圖15中軟件計算可得如下結論:50 mm的標準球,其擬合直徑為50.227 9 mm,與進行拼接之前的擬合直徑對比,誤差為0.07 mm/m。因此,所設計的系統(tǒng)其測量精度不超過0.5 mm/m,滿足精度要求。
從測量速度來看,所設計的系統(tǒng)測量時間包括了投射、采集以及計算這3個環(huán)節(jié)的時間,前兩個環(huán)節(jié)的操作所消耗的時間共為1 s左右,而數(shù)據(jù)計算消耗的時間在1.5 s左右,則累計消耗時間為2.5 s,從而得出測量的速度保持在0.4 m/s,符合高鐵白車身對于測量速度的要求(高于0.15 m/s)。所以,這一雙目結構光測量方法在很大程度上滿足了高鐵白車身對于測量速度和測量精度的要求。
本文研究了一種基于雙目結構光的三維測量技術,用其對高鐵白車身表面的質量實施有效的評估和測量,并運用多頻外差相位展開法實施具體的相位展開;首次提出了以構建“極線斜率—相位”的方式形成查找容器,提升了實際匹配過程中的計算效率。利用這一匹配方式可以快速實現(xiàn)粗定位,并且最終得到像素級的匹配點位;利用所得到的點位進行更加精準的查詢,得到亞像素級匹配;此外,在實際的匹配過程中可以將錯誤的匹配點進行提前刪除,有效提升了匹配效率和精度。高鐵白車身測量實驗表明,雙目結構光的測量精度達到0.07 mm/m,滿足測量的精度需求(<0.5 mm/m);其測量速度為0.4 m/s,滿足高鐵白車身測量速度的要求(>0.15 m/s)。然而整個測量方法在測量精度與速度方面還可以有進一步的提升空間,如通過多個雙目結構光設備形成更大的測量視場,可進一步提高測量速度。