霍林生,王憶澤,白曉煜
(大連理工大學海岸和近海工程國家重點實驗室,遼寧大連 116024)
地震是一種有著巨大破壞力的自然災害,而每年在全世界范圍內(nèi)都會發(fā)生大量的地震。地震造成的人員傷亡和建筑物破壞會帶來巨大的損失[1-2],而建筑物的倒塌和破壞是造成生命和財產(chǎn)損失的主要原因,因此地震應急要求地震發(fā)生后在第一時間進行震損建筑的可居住性和安全性評估[3]。
目前利用圖像進行震損結構的評估主要有兩種方式:一種是直接利用二維的震害圖像[4-6];另一種是基于圖像的三維重建技術[7-8]。二維圖像雖然信息可能不夠全面,但是由于圖像獲取的便利性,專家們也是進行了很多的研究,其中在基于結構震后損傷圖像方面主要包括混凝土結構的檢測與自動評估。ZHU 等[9-10]和GERMAN 等[11]對基于圖像的震后結構檢測和結構整體安全評價進行一系列研究,使震損評估更加智能化;韓建平等[12]利用圖像處理方法對結構模型位移測量并且其提出的方法可以較好得識別結構的模態(tài)參數(shù),這對新型結構狀態(tài)評估方法具有啟發(fā)意義。除了上述建筑結構損傷評估,橋梁結構損傷評估也有相關研究[13]。
相較于二維的震害圖像而言,基于圖像的三維重建方法生成的三維模型使得結果更為直觀和精確。因此越來越多的專家把三維重建法應用到結構損傷評估中,其中較多的是裂縫檢測。MATTHEW 等[14]提出了一種針對混凝土裂縫三維模型的檢測算法;JAHANSHAHI等[15]基于圖像和神經(jīng)網(wǎng)絡把三維重建技術應用到裂縫檢測中;另外對于震損結構的三維重建技術目前也有相關研究,霍林生等[16]提出了使用圖像三維重建方法對實際震損墻體建模的方法。雖然基于圖像的三維模型重建法在震損評估中的應用已經(jīng)得到了驗證,但是對于大尺寸結構,為了保證精度必須采集更多的圖片和更高的分辨率,導致的建模耗時過長制約了技術的應用發(fā)展。因此本文利用主成分分析算法壓縮拍攝的圖像,然后對圖像中的目標物三維重建達到減少結構建模時間的目的。
卡爾·皮爾遜在1901年提出主成分分析算法(Principle Component Analysis,PCA)[17],主成分分析算法的核心思想是將n維的數(shù)據(jù)特征映射到k維上(k<n),映射后的k維特征是全新的正交特征。這k維特征稱為原數(shù)據(jù)的主成分,是重新構造出來的k維特征,從而達到數(shù)據(jù)的降維和特征的提取。利用主成分分析算法對圖像進行壓縮的原理為:假設有一個數(shù)據(jù)集S包括m個n維樣本,即:
將數(shù)據(jù)集S以矩陣的形式表示,則矩陣的每一行為一個樣本,每一列為一個維度,即S∈Rm×n Rm×n,將S的每一行進行零均值化,即減去這一行的均值:
式中:C∈Rm×n。計算得到協(xié)方差矩陣C的n個特征向量和特征值,將特征值從大到小排列,取前k個特征值對應的特征向量組成轉換矩陣P,并且這k個特征向量相互正交。壓縮后的矩陣為:
綜上可知:PCA 算法本質上是將方差最大的方向作為主要特征,并且由于特征向量的正交性,使數(shù)據(jù)在不同正交方向上也沒有相關性,根據(jù)PCA算法的特點可以很好地將其應用在圖像的壓縮中。
根據(jù)上述步驟,利用PCA 算法對混凝土塊的圖像進行壓縮。以一個混凝土試塊的圖像為例,拍攝的所有圖像分辨率為768×1 024,首先將每張圖像分解為N張分辨率大小為K的子圖像,此處K值是影響圖像壓縮效果的重要變量,K值越大,N越小,丟失的特征也越多。在實驗中,K值分別取K=2、K=3和K=4,N相應變?yōu)镹=196 608、N=87 495和N=49 216。其次計算每張子圖像的平均值:
式中:IMGN代表子圖像;N代表子圖像數(shù)量。其次將N張子圖像減去平均值圖像得到N張新的子圖像IMGS:
然后計算出新子圖像的協(xié)方差矩陣R,其公式定義為:
式中:i,j,l,m代表元素在圖像中的位置。
由R得到轉換矩陣,將子圖像與轉換矩陣點積,壓縮后的圖像見圖1??梢钥闯觯弘S著K值的增大,壓縮后的圖像清晰度將會降低。
圖1 混凝土塊原始圖像和壓縮后的圖像Fig.1 Original image of the concrete block and its compressed images
從多幅二維圖像中恢復重建結構三維模型的問題,在近幾十年得到大量而深入的研究,尤其是從攝像機運動中恢復重建三維場景(structure from motion,SFM)[18]。SFM 算法能夠從未標定的圖像中檢測特征點,對多幅圖像中的特征點匹配,恢復出結構的三維模型,本文提出的基于圖像壓縮的三維模型重建方法的基本思路如圖2所示:(1)圍繞目標物且盡量保持相機在同一水平面以特定角度拍攝圖像[19];(2)對采集的圖像用主成分分析算法進行壓縮處理;(3)提取和匹配二維圖像中的特征點來標定相機的位置,并由此來重建出三維模型的稀疏點云數(shù)據(jù);(4)使用MVS算法稠密化點云;(5)使用泊松表面重建算法構建三維模型的表面;(6)對模型表面紋理映射,生成真實感強的三維模型,完成三維模型的重建。
圖2 基于圖像壓縮三維模型重建技術流程圖Fig.2 Flow chart of 3Dmodel reconstruction technology based on image compression
運動恢復結構算法(Structure From Motion,SFM)是三維重建技術的核心。該算法是對采集到的圖片進行特征匹配,標定相機,重現(xiàn)相機的運動,恢復場景的三維結構,由此來實現(xiàn)三維重建。算法的基本思路是:首先利用尺度不變特征變換(scale-invariant feature transform,SIFT)方法提取圖像的特征點[20],用最優(yōu)搜索算子對任意兩張圖像進行特征點匹配,然后用隨機采樣一致性算法(random sample and consensus,RANSAC)清除誤匹配的點[21]。最后,利用SFM方法進行結構的三維模型重建,形成稀疏點云。
多視圖立體視覺方法是機器視覺中一種常用的數(shù)據(jù)稠密化處理方法。首先,利用CMVS(clustering views for multi-view stereo)算法將稀疏點云聚類到不同的群集[22],每個群集的圖像數(shù)量小于某個閾值,并且各個群集之間有重疊[23]。聚類完成后,利用PMVS(patch-based multi-view stereo)算法重復生成新的面片來稠密化點云。
在得到稠密點云數(shù)據(jù)后,利用泊松表面重建算法生成三維模型的表面[24]。假定點云模型的表面采樣點為均勻分布,通過求解空間泊松方程由有向點集生成表面,最后提取等值面,得到一個由許多三角形拼接成的完全閉合的表面。
紋理映射是為了生成有顏色和紋理信息的結構三維模型。其具體思路為:首先,建立貼圖與三維空間坐標的映射關系;其次,根據(jù)相機標定參數(shù),可以得到結構三維模型表面的三角面片的位置以及其在二維圖像中的紋理信息,但一個三角面片可以在多幅圖像中出現(xiàn),需要綜合考慮。
本文首先采用Visual SFM 軟件實現(xiàn)稀疏點云的重建[25];其次,使用CMVS 及PMVS2工具稠密化點云;最后,采用Meshlab軟件完成泊松表面重建和紋理映射[26],并對比了混凝土塊的原始圖像和壓縮后圖像及由二者分別恢復重建的混凝土塊三維模型。
將K值由小到大分別取為K=2、K=3和K=4,圖3為不同K值下壓縮后的混凝土塊圖像及其三維模型,t為三維建模所花費的時間。
圖3 不同K值下的混凝土塊壓縮圖像和其三維模型Fig.3 Compressed images of the concrete block and its 3D models under different K values
由圖3可知:結構三維模型建模時間隨著K值的增大而減少,且當K=2時,時間減少的幅度最大,大約為原圖像建模時間的67%。另外由圖像可看出:隨著K值的增大,重建出的結構三維模型的質量在逐漸下降。
為了保證PCA 算法壓縮后的圖像在震損結構三維模型快速重建中的實用性和可行性,選擇一個抗震性能試驗中破壞的裝配式密肋空心剪力墻為實驗對象,剪力墻的尺寸如圖4 所示。圖像采用Canon EOS600D相機拍攝,圖像分辨率為5 184×3 456,共44張。部分受損剪力墻圖像及其三維模型如圖5所示,利用PCA算法壓縮后的圖像及其三維模型如圖6所示,此實驗中K的取值為2。由剪力墻原始圖像重建其三維模型花費時間為2 530 s,由壓縮后的圖像重建其三維模型花費時間為954 s,重建效率約提高了62%。
圖4 剪力墻尺寸圖(單位:mm)Fig.4 Dimension of the shear wall(Unit:mm)
圖5 受損剪力墻原始圖像和其三維模型Fig.5 Original images of damaged shear wall andits 3Dmodel
圖6 受損剪力墻壓縮后圖像和其三維模型Fig.6 Compressed images of damaged shear wall andits 3D model
對剪力墻實際結構與基于壓縮圖像重建出的三維模型的部分標定點間(圖7 中AB、BC 和FG)的尺寸進行了測量得到了其尺度變換關系,利用該尺度關系對受損剪力墻三維模型進行了尺度變換,其中結構三維模型使用的是結構稠密點云?;谠紙D像與壓縮后圖像分別重建出的結構三維模型尺度變換關系見表1。對結構三維模型尺度變換后,利用剪力墻上剩下的標定點(圖7 中DE、HI 和JK)和裂縫寬度對模型的尺寸進行驗證,受損剪力墻實際結構與利用尺度關系縮放后的三維模型的尺寸誤差見表2。
表1 剪力墻實體結構尺寸與三維模型尺度變換關系Table 1 Dimension of the shearwall and scale factors between the dimension of 3D models and its actual structure
表2 剪力墻三維模型與其實體結構尺寸誤差Table 2 Dimensional error between 3D models of the shear wall and its actual structure
圖7 剪力墻標定點示意圖Fig.7 Schematic diagram of calibration points of the shear wall
由表2可知:基于原始圖像重建的受損剪力墻三維模型總體尺寸平均誤差為1.22%,而基于PCA 算法壓縮后的圖像重建出的結構三維模型總體尺寸平均誤差為1.78%,對于震損結構快速評估的研究,可以認為誤差在允許范圍內(nèi)。
為了驗證主成分分析算法對真實結構模型重建的可行性,本文又對一個實際單體建筑進行研究,用于重建的單體建筑圖像采用無人機拍攝獲得,圖像分辨率為5 280×2 970,共110張,其原始圖像與利用PCA 算法壓縮后部分圖像如圖8所示,此實驗中K的取值為2。
圖8 單體建筑原始圖像及其壓縮后圖像Fig.8 Original images and compressed images of the single building
由原始圖像和壓縮后圖像重建出的三維模型如圖9 所示,原始圖像重建過程花費時間為181 min,同樣環(huán)境下壓縮圖像三維重建時間為115 min,重建效率提高了約36%。同樣對模型的尺寸誤差進行了驗證,圖9中紅色點為標定點,藍色點為測點,單體建筑的實際尺寸及其三維模型尺度變換關系見表3,三維模型與實際尺寸的誤差見表4。
表4 單體建筑三維模型與其實體結構尺寸誤差Table 4 Dimensional error between 3D models of the single building and its actual structure
圖9 單體建筑三維模型Fig.9 3D models of the single building
表3 單體建筑實體結構尺寸與三維模型尺度變換關系Table 3 Dimension of the single building and scale factors between the dimension of 3D models and its actual structure
從表4 的結果中可看出:基于原始圖像重建的單體建筑三維模型總體尺寸平均誤差為1.91%,而基于PCA 算法壓縮后的圖像重建出的結構三維模型總體尺寸平均誤差為0.49%,由此得出本文提出的方法在不影響模型精度的情況下可以顯著提高大型結構三維建模的效率。
綜合受損剪力墻和單體建筑的實驗結果可以得出:本文提出的方法在誤差允許范圍內(nèi)相對完整恢復出大型及受損結構的三維模型,且顯著提高了建模效率,因此對于大型震損結構的快速評估由PCA 算法壓縮后的圖像重建出的結構三維模型滿足實用性和可行性的要求。然而由壓縮后圖像重建的三維模型精細程度較由原始圖像重建的三維模型有所降低,這是由于圖像分辨率的限制,如果圖像分辨率越高,重建的三維模型紋理會越清晰。
由于建筑結構及構件尺寸較大、建模時間過長,使其在震損結構評估的應用中受到了限制。本文針對上述問題,提出了基于圖像壓縮方法的三維模型快速重建技術。利用PCA 算法壓縮震損結構圖像,再基于此進行結構三維模型重建。為了驗證本文提出方法的可行性,對一個混凝土塊,實際的受損剪力墻以及大型單體建筑進行了三維模型重建,分別對比了三者由原始圖像和壓縮后圖像重建出結構三維模型的建模時間,對比結果表明:在不影響結構三維模型精度的前提下,將圖像壓縮算法PCA 引入到結構三維模型重建的技術中可以將建模效率至少提高約30%,最多可達約60%。因此本文提出的方法在滿足建筑整體震損狀況的研究需要下,可極大地減少模型的重建時間。