馬 驊,梁一星,楊 光
(河南省高速鐵路運營維護(hù)工程研究中心,河南 鄭州 450000)
表面裂縫測量是交通、結(jié)構(gòu)及鐵道工程等領(lǐng)域的常見問題,如道路表面裂縫[1]、建筑結(jié)構(gòu)表面裂縫以及鋼軌表面裂紋的測量等[2]。根據(jù)相關(guān)技術(shù)規(guī)范[3],裂縫測量一般是指裂縫的最大寬度測量。
傳統(tǒng)表面裂縫測量方法包括目測顯微鏡法、超聲波法以及傳感器法等[4]。目測顯微鏡法是指采用裂縫顯微鏡,使用時將顯微鏡貼合于裂縫上方,該方法精度較高,但主觀性較強且效率不高;超聲法[5]同樣存在需貼合操作、使用不便的問題;傳感器法是指通過施工前在結(jié)構(gòu)表面鋪設(shè)移傳感器,該方法成本較高,往往單個傳感器只能監(jiān)測單出裂縫,一般適合關(guān)鍵結(jié)構(gòu)處的實時裂縫監(jiān)測[6]。隨著近年計算機視覺與數(shù)字圖像處理技術(shù)發(fā)展,基于攝影測量的結(jié)構(gòu)表面裂縫檢測技術(shù)取得了廣泛應(yīng)用[7]。
攝影測量法指使用視覺傳感器采集裂縫表面的二維圖像信息[8],然后根據(jù)圖像信息反饋裂縫的幾何尺寸信息,該方法需要保持?jǐn)z像機像平面嚴(yán)格平行于裂縫表面,否則會引起較大誤差,而BSV技術(shù)通常可較好避免此問題[9]。為進(jìn)一步提高上述測量方法的便捷性,筆者提出一種基于運動式單攝像機BSV系統(tǒng)的結(jié)構(gòu)表面裂縫測量方法,使用一個攝像機從兩個不同角度拍攝裂縫圖像,再結(jié)合特征匹配、攝像機運動估計以及圖像邊緣特征提取方法,以期實現(xiàn)裂縫的高精度、自動化測量。
對于裂縫一側(cè)邊緣的一點Xi=(xi,yi,zi)T,可按式(1)計算該點到另一側(cè)的寬度:
(1)
Xi到裂縫另一側(cè)所有Yj點的最小值,即為Xi點處對應(yīng)的裂縫寬度[4],而裂縫一側(cè)所有點對應(yīng)的di中的最大值,即所謂“最大寬度”,為整個裂縫的幾何寬度指標(biāo),這個寬度就是筆者所提出的運動式單攝像機BSV方法的測量目標(biāo)。
測量方法如圖1,使用攝像機從1、2兩個位置分別拍攝同一裂縫圖像,就可對裂縫邊緣某點的空間三維坐標(biāo)進(jìn)行求解,進(jìn)而可按照式(1)完成裂縫的最大寬度測量。
圖1 運動式單攝像機BSV裂縫測量方法示意
運動式單攝像機BSV實際上是BSV的一種推廣,本節(jié)對此進(jìn)行說明。
如圖2中,空間點X(所在坐標(biāo)系為世界坐標(biāo)系)在攝像機1和2兩個位置的相平面的投影像點為x1=(u1,v1)T和x2=(u2,v2)T(所在坐標(biāo)系為二維圖象平面坐標(biāo)系),x1和x2被稱為對應(yīng)點。攝像機在這兩個位置對應(yīng)的投影矩陣為M1和M2,投影中心為O1和O2,這兩個點同時也是相應(yīng)位置攝像機坐標(biāo)系(即人為定義的攝像機所在坐標(biāo)系)原點。
圖2 BSV的計算模型
x1與x2在的齊次坐標(biāo)(u1,v1,1)T和(u2,v2,1)T與點X的齊次坐標(biāo)(x,y,z,1)T的關(guān)系為:
(2)
(3)
式(2)和式(3)分別為直線O1x1和O2x2的解析表達(dá)式,其交點為X,其坐標(biāo)可通過聯(lián)立式 (2)和式(3)求解方程組得出s1和s2為尺度因子,可作為中間變量被消去。這就是運動式單攝像機BSV的基本原理。
投影矩陣M1可經(jīng)矩陣的上三角分解[10],分解成攝像機內(nèi)參矩陣K,旋轉(zhuǎn)矩陣R1和平移向量t1,即M1=K[R1,t1]的形式,M2亦同理。令O1位置的攝像機坐標(biāo)系重合點X所在的世界坐標(biāo)系,則M1=K[I,0],其中I為單位矩陣。設(shè)位置2到位置1的旋轉(zhuǎn)和平移(相對位置關(guān)系)分別為R和t,則有M2=K[R,t]。R和t即為運動式單攝像機BSV系統(tǒng)的運動參數(shù),求解該參數(shù)的過程稱為攝像機運動估計。
根據(jù)分析,系統(tǒng)參數(shù)主要包括攝像機的內(nèi)參數(shù)矩陣K,運動參數(shù)R和t,關(guān)于內(nèi)參矩陣,其求解方法已相當(dāng)成熟,采用經(jīng)典的張氏標(biāo)定法以一個平面黑白棋盤格標(biāo)定板進(jìn)行[11]求解。以下重點分析運動參數(shù)R和t的求解問題[12]。
對于圖2中攝像機像平面上的兩點x1和x2,存在如下關(guān)系:
(4)
式中:F為基本矩陣。F具有如下性質(zhì):
F=K-T[t]×RK-1
(5)
其中:
(6)
令:
E=[t]×R
(7)
式中:E為本質(zhì)矩陣。
令:
(8)
則有:
(9)
本質(zhì)矩陣求解方法很成熟,具體可參考文獻(xiàn)[13]及文獻(xiàn)[14]。待求解出本質(zhì)矩陣之后,可采用奇異值分解 (singular value decomposition,SVD)[10]的方法從E中得出[t]×和R。 此外,該方法求解出的向量t只有方向,沒有模長,為確定平移向量的模長,可通過測量場景中存在的一些具有固定尺寸的信息進(jìn)行反向求解,如邊長已知的矩形等,具體可參考文獻(xiàn)[15]。
邊緣提取指裂縫圖像邊緣像素點提取,即如何在圖像中準(zhǔn)確識別裂縫邊緣處的像素。
根據(jù)圖像的灰度變化速率確定圖像邊緣,由此產(chǎn)生了著名的Canny邊緣檢測算法[16],其核心步驟為:圖像平滑→計算梯度→非極大抑制→雙閾值檢測。Canny邊緣檢測算法的效果如圖3,通過該方法,可將裂縫圖像的邊緣按像素坐標(biāo)形式存儲,便于后續(xù)應(yīng)用于筆者BSV方法裂縫邊緣點坐標(biāo)測量。
圖3 典型的結(jié)構(gòu)表面裂縫及其邊緣檢測結(jié)果
采用實驗方法驗證所提出測量方法的準(zhǔn)確性。使用韓國Vieworks VH-5MG工業(yè)攝像機,分辨率為2 488 pixels×2 056 pixels,單個像素的尺寸大小為3.45 μm×3.45 μm。所用黑白棋盤格標(biāo)定板陣列為12×9,單個小方格尺寸為30 mm×30 mm。首先分析使用運動式但攝像機BSV系統(tǒng)對裂縫測量的實現(xiàn)過程,然后通過實驗驗證該方法對裂縫測量的精度。
使用攝像機分別從兩個不同的位置采集裂縫圖片,攝像機鏡頭離裂縫的距離約為0.5 m;此外,為確定平移向量的真實大小,在裂縫附近置放一陣列為4×4的黑白棋盤格,單個小方格尺寸為10 mm×10 mm,如圖4。
圖4 兩個不同位置采的集裂縫圖像
為便于敘述,將圖4(a)記為圖像1,圖4(b)記為圖像2。為獲取估計E所需的對應(yīng)點,采用SIFT算法[17]將兩幅圖像進(jìn)行匹配,結(jié)果如圖5。
圖5 圖像1和圖像2的對應(yīng)點
將通過張氏方法標(biāo)定所得的攝像機內(nèi)參數(shù)矩陣結(jié)果記為K,那么,根據(jù)內(nèi)參矩陣、特征匹配結(jié)果以及裂縫周邊棋盤的固定尺寸,根據(jù)2.1節(jié)中的方法可計算攝像機從位置2到位置1的運動參數(shù)R和t。
對于x1和x2,有:
x1=x2H
(10)
式中:H為單應(yīng)矩陣,計算公式如下[18]:
(11)
式中:n為攝像機位置2像平面在位置1攝像機坐標(biāo)系下的單位法向量;d為位置1攝像機坐標(biāo)系原點到位置2攝像機像平面的距離,nd=n/d。
對兩幅圖像分別進(jìn)行邊緣檢測,結(jié)果如圖6。
圖6 兩位置下裂縫圖像的邊緣檢測結(jié)果
設(shè)點x2i=(u2i,v2i)為三維空間中裂縫邊緣上的點Xi=(xi,yi,zi)在圖像2裂縫邊緣上的一點,那么x2i在圖像1上的對應(yīng)點x1i可由x2iH計算。
通過計算所得的R和t與真實的旋轉(zhuǎn)及平移往往存在一定差異,因此x2iH與x1i一般情況下并不重合??蓪D像1中距離點x2iH最近的邊緣點作為x2i的對應(yīng)點x1i,如圖7。
圖7 點x2i在圖像1中對應(yīng)點坐標(biāo)的計算
已知點x1i的像平面坐標(biāo)及M1=K[I, 0]和點x2i的像平面坐標(biāo)及M2=K[R,t],可根據(jù)1.3節(jié)的方法計算點Xi在世界坐標(biāo)系下的空間(相對)三維坐標(biāo)。
而后,可以采用以上方法計算裂縫兩側(cè)邊緣所有點的三維坐標(biāo),繼而可以按照1.1節(jié)所述方法計算裂縫的寬度。
實驗中攝像機的內(nèi)參矩陣K,以及運動參數(shù)R和t的求解結(jié)果如式(12)~(14):
(12)
(13)
(14)
針對圖4中的裂縫,將其已知最大寬度(7.032 mm,通過CK-10顯微裂縫測寬儀測出)作為參考值。在不同測量距離的情況下,以3.1節(jié)中所述實驗過程對裂縫寬度進(jìn)行測量,其測量結(jié)果與相對測量偏差如表1。
表1 不同距離下對裂縫寬度的測量值與相對偏差
由表1可見,在2 m以內(nèi)的測量距離條件下,筆者提出的運動式單攝像機BSV系統(tǒng)對裂縫的測量偏差均在5%以內(nèi),這表明筆者所提出的測量方法具有良好的可靠性。同時,該方法無需接觸測量,具有良好的便捷性。
1)提出了一種基于運動式單攝像機BSV的結(jié)構(gòu)表面裂縫測量方法,只需要一個視覺傳感器即可實現(xiàn)傳統(tǒng)BSV的功能。
2)構(gòu)建了一套完整的測量系統(tǒng),實現(xiàn)了較大范圍內(nèi)裂縫的無接觸式自動化測量,并取得了較為準(zhǔn)確的測量精度。
3)筆者實驗采用的是理想情況下的特例,即圖像中僅存在裂縫特征,然而在實際應(yīng)用中,所采集到的裂縫圖像周圍往往存在非常復(fù)雜的干擾特征,如何從干擾特征豐富的測量場景中實現(xiàn)結(jié)構(gòu)表面裂縫區(qū)域的自動化、精準(zhǔn)識別,是進(jìn)一步的研究方向。