滕少華,屈政燁,霍穎翔
1(廣東工業(yè)大學 計算機學院,廣州 510006) 2(華南理工大學 未來技術學院,廣州 510006)
多年來,國家對基礎設施進行了大規(guī)模建設,然而舊基礎設施不斷老化,導致了很多安全隱患,例如橋梁變形引起的橋梁坍塌等.及時發(fā)現(xiàn)建筑物變形,防范潛在風險的是關系國計民生的事情,因此形變識別研究是重中之重,相關研究也成為近幾年的熱點,并且一部分研究在一些場景下實現(xiàn)了工程應用.然而,實踐中復雜的條件影響了識別技術進一步推廣.
傳統(tǒng)測量中接觸式測量是最主要方法,在實驗室環(huán)境下可以精準地收集變形數(shù)據(jù),但是需要人工操作,并且在復雜多變的實際場景下存在固有的局限性.例如,環(huán)境濕度和溫度的變化可能導致數(shù)據(jù)產(chǎn)生誤差,極端環(huán)境下人力無法操作,測量儀器可能失效.
為了降低環(huán)境的影響,減少人力物力,近年來,人們逐漸將目光轉向通過非接觸式測量的方法.其中,二維數(shù)字圖像相關法[1](DIC)最早被應用,該方法通過測量選定的局部區(qū)域在形變前后的差異來實現(xiàn)形變識別.然而,該算法只能測量物體的面內(nèi)位移與應變,容易受到背景、視角、姿態(tài)、遮擋等因素影響.三維重建技術可以解決二維數(shù)字圖像只能計算面內(nèi)位移的問題,得到更加精準的形變信息,是現(xiàn)在形變識別研究中最廣泛使用的技術.其中三維激光掃描技術[2]無需接觸測量目標,精度高,但是設備造價昂貴,且掃描數(shù)據(jù)需要進行復雜的處理.多視角三維重建技術通過利用多個視角的圖片信息,重構物體的三維信息實現(xiàn)形變識別.雙目視覺技術作為多視角三維重建的典型算法之一,具有非接觸測量、成本低廉、幾何結構簡單等顯著優(yōu)點.
然而,雙目視覺三維重建技術因為其結構特點,無法在相機位姿多變的場景下使用.雙目立體視覺常規(guī)的模型在標定相機位姿后,利用位姿參數(shù)將成像平面矯正為同一平面且光軸平行的情況進行空間幾何計算,得到三維信息.這就需要相機位姿保持固定,一旦相機位姿改變就需要重建標定,過程繁瑣.而且在現(xiàn)場環(huán)境中,例如因為風力等外界因素使得相機位姿產(chǎn)生微小變化時,不易被發(fā)現(xiàn),錯誤的位姿參數(shù)導致三維信息計算結果不精準,進而無法實現(xiàn)準確的形變識別.為解決常規(guī)雙目立體視覺模型存在的局限性,運動恢復結構算法[3](SFM)使用不同角度圖像序列,通過匹配相鄰圖像的成對特征點,求解本質(zhì)矩陣得到相機位姿,實現(xiàn)三維重建,無需預先標定相機位姿.SFM通常利用7對匹配的特征點求解基礎矩陣,特征匹配結果難免存在誤匹配項,在選取誤匹配項的情況下,可能會導致估計的相機位姿產(chǎn)生偏差,從而使得三維重建模型扭曲,最終導致結構面形變的錯誤識別,一些微小的結構形變無法識別.
針對上述問題,本文對雙目視覺三維重建方法進行改進,提出:基于信號博弈的三維重建形變識別算法.使用博弈[4,5]方法,在已有的數(shù)據(jù)中提取知識不斷迭代,使得相機位姿不斷修正,并且在策略良好的情況下可以使得相機位姿不斷逼近真實值,從而得到高質(zhì)量的三維形變信息,進而達到準確地識別變形的目的.
算法主要包括兩個方面:
1)采用信號博弈使得相機位姿參數(shù)逼近真實值,完成位姿參數(shù)估計.
2)利用最優(yōu)相機位姿參數(shù),完成三維重建并且識別形變.
基于以上條件,達到在圖片拍攝時,相機相對位姿關系改變或者缺失的條件下,由不同視角的圖片完成三維重建.最終對比三維信息識別出被檢測物體的形變熱點.
視覺三維重建技術被廣泛應用于物體識別[6]、距離測量[7]、變形監(jiān)測[8].在形變識別方面,Tang[9]等人結合鋼管混凝土柱的復雜性和凸曲特點進行了圖像采集、圖像預處理,生成三維點云圖,利用一種改進的非線性最小二乘法對點云進行圓擬合,反求三維變形曲面得到形變,但是需要預先標定好相機,相機位姿不能隨意改變,在工程現(xiàn)場識別效果受限.He[10]等人基于雙目視覺三維重建技術提出同心圓標記方案監(jiān)測邊坡變形.邢[11]等人將標記物粘貼在零件表面,通過三維重建后標記物位置的改變確定零件的形變.這些研究都需要在相機固定后,標定相機位姿外參,然后獲取具體物體的雙目圖片再計算三維信息,最終完成形變識別.然而,相機位姿一旦改變就需要重新標定外參,在極端地形環(huán)境下,例如山坡、雪地、大風或者使用無人機拍攝測量[12]等場景下,很難滿足該條件.因而,近年來,一些算法通過圖片估計相機位姿完成形變識別,從而避免相機位姿變化的負面影響.
為了處理復雜場景下的形變識別,SFM方法利用其對特征點估計相機位姿,還原三維信息完成形變識別,適用于極端地形條件.Xue[13]等人結合SFM與深度學習模型提出隧道形變的自動識別和準確量化方法,并運用于實際的地鐵隧道中,但是深度學習模型的測試集需要人工打標簽.劉[14]等人以SFM為核心得到三維信息,結合二維圖像處理與深度卷積方法進行識別結構面的形變,與人工測量結果相比,裂縫寬度識別的誤差在33%以內(nèi),但是同樣也需人工標記變形樣本.Zeng[15]等人將隨機采樣一致算法(RANSAC)[16]引入SFM,通過迭代求解估計相機位姿的最優(yōu)參數(shù).在增加補充點的點云數(shù)據(jù)集上,利用徑向基(RBF)函數(shù)計算曲面方程修補孔洞.但是在不同場景下,該方法往往需要設置內(nèi)外點閾值,不同的隨機采樣迭代次數(shù)和內(nèi)外點閾值的設置導致不同結果,缺乏穩(wěn)定性,不利于形變識別的實際應用.雖然SFM取得了一定效果,但是特征匹配中存在的誤匹配項可能會導致相機位姿估計錯誤,識別效果不穩(wěn)定.為減少錯誤識別,一種方法是在SFM算法的基礎上增加成對特征點的個數(shù).然而,這種做法增加了算法的運算時間,也不能從根本上解決誤匹配問題.如何降低單個點在估計相機位姿時的影響,進而實現(xiàn)準確形變識別,是當前研究的重點.
雙目視覺三維重建算法的核心是相機位姿參數(shù)估計,所以如何準確估計相機位姿,成為三維重建得到形變信息的關鍵.近年來博弈思想被廣泛應用于機器學習以及深度學習.GAN[17]通過對抗學習的方式來訓練,是博弈思想的一種經(jīng)典的應用.其生成器和判別器在學習優(yōu)化過程中,不斷提高自身能力,最終達到一定平衡,得到最優(yōu)結果.將博弈應用在估計位姿參數(shù)過程中能夠提升重建的精度,并有利于完成準確的形變識別.
雙目視覺形變識別主要包括:
1)預先標定雙目相機的內(nèi)參(焦距、畸變參數(shù)等)和外參(雙目相機之間的平移旋轉關系),基于此位姿關系獲取兩幅物體圖像;
2)圖像畸變矯正及雙目相機位姿校正,如圖1(a)所示;
圖1 雙目視覺相關結構Fig.1 Related structures of binocular vision
3)獲取一幅圖像中每個點與另一幅圖像中每個點的對應關系,如圖1(b)所示;
4)利用點的對應關系,通過幾何關系得到三維信息;
5)前后三維信息比對識別形變,確定變形的位置.
經(jīng)過上述步驟,常規(guī)算法達到識別形變的功能.實際場景中難以直接獲得平移和旋轉量.
雙目視覺三維重建算法的總體思路:首先確定兩次采景時,相機之間的相對位置與角度;其次利用所獲得的位置角度計算三維信息;在空間坐標系對齊之后,對比三維信息進行形變計算.算法的核心是估計相機之間的位姿.
形變識別的數(shù)據(jù)共有4幅圖像,物體變形前的原始狀態(tài)兩幅圖像,以及物體變形后兩幅圖像.由物體變形前的兩副圖像,可得到一組三維信息;同樣,由物體變形后的兩副圖像,也可得到一組三維信息.注意圖像應該在不同的視角與機位下拍攝,圖像需要互有重疊.由物體變形前后對應的兩組三維信息得到形變區(qū)域.
具體的步驟為:1)首先對圖像進行畸變矯正;2)然后進行特征點識別,并對四幅圖像兩兩進行特征點匹配;3)對6組匹配結果進行約束,進而獲得4幅圖像中共有的同名點(各圖像中的點對應物體上的同一個點);4)利用變形前圖像的同名點求解拍攝時相機位姿參數(shù),完成三維信息重建;5)同理得到變形后物體的三維信息,對比前后兩個時期的三維信息,即可得到形變信息.如圖2所示.
相機位姿參數(shù)估計是三維信息計算的關鍵,也關系著形變識別的效果.為了方便后續(xù)描述,對相機位姿參數(shù)進行說明.
其中q∈3×1代表β坐標系相對α坐標系的平移量,R∈3×3則為相對的旋轉量.圖像在經(jīng)過SFIT特征匹配后存在多組同名點,例如a1=[x1,y1]T,a2=[x2,y2]T,其對應真實的點a′∈3×1.以α坐標系為三維世界坐標系,a1和a2對應的坐標表示為a′∈3×1和a″∈3×1.只有ρ確定了,a′和a″的三維坐標才能確定,才能進一步利用空間幾何得到a,所以估計相機位姿是算法的關鍵.
位姿參數(shù)估計過程中結合信號博弈來得到最優(yōu)參數(shù).信號博弈中包含兩個角色,信號發(fā)送者(參數(shù)評判器)與信號接收者(參數(shù)生成器).評判器向生成器發(fā)出參數(shù)的評分信號,生成器收到信號后,根據(jù)信號選擇行動.最終的收益由雙方共同決定.
通過生成器和評判器之間的博弈達到均衡狀態(tài),此時評判器認為真實數(shù)據(jù)和生成數(shù)據(jù)幾乎是相同的,如此便得到了位姿參數(shù)的最優(yōu)解.與RANSAC算法類似,都屬于隨機性方法.RANSAC通過隨機選擇部分同名點作為內(nèi)點計算位姿參數(shù),每次運行可能取得不一樣的結果.本文方法則是直接隨機生成位姿參數(shù),得到模型,然后在所有預篩選過的同名點上進行評估,根據(jù)評估信號獲取數(shù)據(jù)中潛藏的位姿信息,具有一定的選擇傾向性,使得后續(xù)的隨機生成參數(shù),每次迭代后準確度穩(wěn)定上升.
算法1.高斯分布相機位姿參數(shù)生成算法
輸入:特征匹配后的同名點.
a)設定期望值為θ,各維度間獨立且方差微小的概率密度分布P.
g)轉到步驟b).
其中,帶權重系數(shù)協(xié)方差矩陣的計算方式為:
Cij=Cov(Xi,Xj,ε)=E(XiXj,ε)-E(Xi,ε)E(Xj,ε)
(1)
其中,帶權重的期望計算方式為:
(2)
則帶權重系數(shù)ε的高斯分布概率密度函數(shù)為:
(3)
圖3 三維信息計算Fig.3 3D information calculation
(4)
其中:
a′=[x1,y1,1]T
(5)
a″=q+R[x2,y2,1]T
(6)
η=N(a′×(a″-q))·(a′-a″)
(7)
N(a′)將向量a′進行單位化.由下式解出未知數(shù)m1.
(8)
(9)
將上述方法分別用在變形前后的圖像數(shù)據(jù)上,得到物體變形前和變形后兩組三維信息.aa∈3×m為變形前的三維信息,ar∈3×m則對應變形后的三維信息.為了進行對比,需要進行坐標系轉換,最終進行比較得到形變.
由于變形后部分點產(chǎn)生了位移,直接用兩組點計算轉換關系可能會導致變形部分的點扭曲,降低形變識別的精度.S預先對兩組點進行篩選,減少這種影響,然后通過E∈3×m對ar進行平移,通過T∈3×3對ar進行旋轉,最終將坐標系γ中的點轉換至坐標系α中完成對比.S=diag(λ1,λ2,…,λm)為篩選兩組點的選擇矩陣,λ取值為0或1,ξ為大于0小于1的常數(shù).
為了求解最優(yōu)轉換關系T和E,同時提高求解過程的穩(wěn)定性可以同樣用上述估計位姿參數(shù)的方法.首先找到3個較為分散的點aαi,aαj,aαk,(i≠j≠k),且構成面積最大.利用這3個點以及其對應的3個點aγi,aγj,aγk,得到初始值T0和E0以加快求解速度.利用生成方法產(chǎn)生與T0和E0不同但相接近的轉換關系.計算轉換關系的評分d,基于d進行優(yōu)化得到較為準確的轉換關系,并篩選一部分點.對上述過程進行迭代,最終得到一個最優(yōu)的轉換關系,使得對準更加準確.
先求兩組點aαi,aαj,aαk和aγi,aγj,aγk的初始偏移量E0和初始旋轉量T0.
(10)
T0=[aαi,aαj,aαk][(aγi+E0,aγj+E0,aγk+E0]-1
(11)
然后基于初始值得到高斯分布概率密度函數(shù)P,同時有評判標準d,因為同名點經(jīng)過預篩,誤匹配較少,所以在充分學習后,可以得到最優(yōu)的坐標系轉換矩陣,最終進行準確的形變識別.
E=E0+Δe
(12)
T=T0+Δt
(13)
(14)
s.t.tr(S)=|ξm|d=T(aγ+E)-aα
(15)
對準坐標系后,d中對應了每個點產(chǎn)生的位移,也對應了變形的大小,最終用熱點圖展示出對應的變形位置以及大小.
最后用兩組數(shù)據(jù)驗證算法的可行性,第1組用手機拍攝的真實圖片進行驗證,第2組利用三維建模得到的圖片進行形變識別的驗證.
實驗1.數(shù)據(jù)為手機拍攝不同角度的4張圖片,如圖4(a)、(b)、(d)、(e)所示,獲取圖片時保證圖片中物體有重疊的部分.不同于常規(guī)雙目立體視覺需要相機位置和角度固定,然后進行外參標定后獲取圖片,本文的方法無需預先標定外參,圖片拍攝的角度也相對自由,更便于實際環(huán)境下應用.
圖4 實際物體變形前后的圖像及重建效果.(a)、(b)物體變形前的圖像(c)變形前的三維點云(d)、(e)物體變形后的圖像(f)變形后的三維點云Fig.4 Image before and after deformation of the actual object and reconstruction results.(a)、(b)Image before deformation of the object(c)3D point cloud before deformation(d)、(e)Image after deformation of the object(f)3D point cloud after deformation
如圖 4(c)、圖4(f)所示,重建點云圖中點分布規(guī)律輪廓清晰和真實物體非常接近,且噪聲點較少,變形前后的點云幾乎僅在變形處存在不同.
通過前后三維信息的對比得到物體變形的熱點區(qū)域,但是沒有標準的環(huán)境難以量化位姿參數(shù),無法計算參數(shù)的準確性.因此實驗2使用3DsMAX構建數(shù)據(jù)進行實驗.
5.2.1 三維重建效果驗證
實驗2.對柱子的三維模型進行三維重建及形變識別.首先用未變形的兩幅圖像來驗證三維重建的效果.未變形時所對應的兩幅圖像如圖5(a)、圖5(d)所示.
圖5 三維模型的圖像及重建效果.(a)、(d)不同視角的圖像(b)、(e)SFM重建效果(c)、(f)本文的重建效果Fig.5 Images of 3D models and reconstruction results.(a)、(d)images from different perspectives(b)、(e)reconstruction results of SFM(c)、(f)reconstruction results of this paper
使用SFM和本文的算法分別進行三維信息計算,對比各自三維重建的效果.使用SFM對三維模型進行重建得到的點云圖,如圖5(b)、圖5(e)所示,圖5(b)為俯視角的點云圖,圖5(e)為正面視角的點云圖.可以觀測到點云形狀產(chǎn)生傾斜扭曲,圓柱曲面變平緩,與三維模型有較大的差別.因此倘若利用直接用SFM計算變形前后的三維模型的點云,進而對比獲得形變會有較大誤差.
利用本文算法對三維模型進行重建同樣得到點云圖,如圖5(c)、圖5(f)所示,和SFM結果相比,點云輪廓清晰,與三維模型更接近.
5.2.2 相機位姿參數(shù)驗證
在3DMAX中可以準確獲得相機拍攝位置,從而得到兩個相機之間的真實的位姿關系,與本文算法計算的結果進行比較,最終得到位姿參數(shù)的準確性.
相機的相對位置關系為q,為了使表示更為直觀,旋轉關系R被分解為相機朝向v和水平旋轉k.兩個相機之間的真實的位姿關系q,v,k的對比結果見表1、表2以及表3.同時將本文和SFM方法計算得到q,v,k對應結果的誤差對比,見表4.
表1 q的人工評估得分對比Table 1 Comparison of human evaluation scores for q
表2 v的人工評估得分對比Table 2 Comparison of human evaluation scores for v
表3 k的人工評估得分對比Table 3 Comparison of human evaluation scores for k
表4 兩個方法在三維模型數(shù)據(jù)上的效果對比Table 4 Comparison of the effects of the two methods on 3D model data
q與實際方向偏移了2.85度,相機朝向v方向和實際方向偏移了0.114度,水平方向與實際偏移了0.114度,計算得到參數(shù)誤差較小.
5.2.3 三維柱體模型形變識別
準確的相機位姿能夠得到高精度的三維信息,進而精確地完成形變識別.為了進一步得到算法識別變形的范圍,實驗驗證.用3DMAX構建了直徑為19.2的柱子,產(chǎn)生不同大小的形變.當變形至直徑為19.8時,算法尚能較清晰識別出形變區(qū)域,進一步構造更小的形變后難以得到形變區(qū)域.最終得到算法可識別相對柱體直徑而言產(chǎn)生3%及以上的形變.
形變后柱體模型得到點云圖以及形變識別效果如圖6所示.原圖人眼無法識別出是否產(chǎn)生了形變,但是在算法得到的三維點云中可以觀測到柱子側面凸起,且熱點圖清晰展示了變形的位置.
圖6 三維模型變形后的數(shù)據(jù)Fig.6 Data after deformation of 3D model
實驗1利用手機拍攝的圖片,進行三維重建,過程中無需預先標定相機外參,然后保持位姿不變獲取圖片,體現(xiàn)了該方法的方便快捷.得到三維信息后識別到物體形變的熱點,表明其識別形變的有效性,也側面驗證了三維信息的準確性.實驗二利用3DMAX構建物體,和SFM相比本文算法得到的三維點云更加準確,同時得到的位姿參數(shù)也更加準確.
圖7 模型優(yōu)化參數(shù)的結果Fig.7 Result of optimizing the parameters of the model
總體而言,實驗驗證了博弈思想使用在估計參數(shù)時的作用,在通過評判器和生成器合作迭代協(xié)調(diào)后,參數(shù)得到顯著優(yōu)化,同時準確度逐步提升,較為穩(wěn)定.同時基于參數(shù)結果,得到三維信息后,對比后利用熱點圖可以準確展示物體形變的位置和大小.
本文采用信號博弈的方法估計相機位姿參數(shù),提高三維重建精度,完成形變識別.無需預先標定雙目相機之間的位姿關系,拓展了適用的場景,有利于更復雜實際場景下的運用.而且過程中,有著更少的人工參與,具有更高的自動化程度.同時算法采用信號博弈的方法估計相機位姿,得到的參數(shù)更加準確,重建精度更高,更有利于計算形變.通過兩組實驗進行驗證,第1組通過手機隨意拍攝的圖片進行實驗,直接識別了物體的形變,設備簡單且無需預先標定雙目相機位姿.第2組對三維模型進行了形變識別檢測,實驗驗證了算法的有效性.但兩個實驗都是模擬生活場景,后續(xù)有待在真實的相關場景下進行驗證.