胡春梅,王延亮,夏國芳
(1.武漢大學(xué)測繪遙感信息工程國家重點實驗室,湖北武漢430079;2.黑龍江工程學(xué)院測繪與GIS工程技術(shù)研究所,黑龍江哈爾濱150050;3.建設(shè)綜合勘察研究設(shè)計院有限公司,北京100007)
石化企業(yè)是由廠房、管線、儀器和設(shè)備構(gòu)成的一個龐大而復(fù)雜的系統(tǒng)。為了滿足不斷增長的產(chǎn)品需求和技術(shù)改造,石化企業(yè)需要進(jìn)行更新和改擴(kuò)建。但是,由于工廠、設(shè)備和管道經(jīng)過多年的使用都會有一定程度的變形,這樣就給改擴(kuò)建的設(shè)計帶來了一定困難。如果設(shè)計與現(xiàn)實的情況出現(xiàn)碰撞就會帶來很大的經(jīng)濟(jì)損失。為了滿足改擴(kuò)建設(shè)計的需求,對現(xiàn)有大型設(shè)施的三維建模就成了改擴(kuò)建設(shè)計的重要內(nèi)容。
三維激光掃描技術(shù)是一種實景再現(xiàn)技術(shù),可以建立三維模型,制作正射影像圖、立面圖、平面圖和剖面圖等,其實景再現(xiàn)功能得到了古建筑和古文物及文化保護(hù)遺址等很多行業(yè)的青睞[1-4]。在本項目中,把三維激光掃描技術(shù)用于石化企業(yè)的改擴(kuò)建工程,通過對石化企業(yè)的管線進(jìn)行掃描、拼接,生成完整的三維點云模型,再重建其三維模型。改擴(kuò)建設(shè)計時,可以把改擴(kuò)建三維設(shè)計與重建的三維模型相結(jié)合起來,進(jìn)行碰撞檢測,準(zhǔn)確無誤地完成三維設(shè)計任務(wù)。
本文中應(yīng)用的數(shù)據(jù)來源于某石化企業(yè)的一處比較復(fù)雜的管網(wǎng)。該公司要對該處管網(wǎng)作改擴(kuò)建處理,為了保證設(shè)計和施工的準(zhǔn)確性,需要用現(xiàn)狀三維模型進(jìn)行比較設(shè)計。用三維激光掃描儀進(jìn)行掃描,通過數(shù)據(jù)處理生成了完整的點云模型,再建立三維模型和三維表面模型。最后設(shè)計人員應(yīng)用重建的三維模型,在三維環(huán)境下完成了碰撞檢驗和改造設(shè)計。
一般石化企業(yè)的管線都在地表以上,比如煉油廠、乙烯廠、化肥廠等,并且廠內(nèi)的管線被架在離地面幾米甚至十幾米的地方,這樣給掃描儀設(shè)站點的選取都帶來了一定的困難。為了滿足三維重建的精度,確保管線數(shù)據(jù)完整,所以要在地面和高處同時設(shè)置掃描站點,對于復(fù)雜的多層管網(wǎng),還要在多層管線架間設(shè)站掃描[5]。在掃描站間要設(shè)置標(biāo)靶作為控制點,并且保證兩站之間的公共標(biāo)靶達(dá)到4個以上,以滿足平差的需要;同時,標(biāo)靶要盡可能選擇在掃描區(qū)域的四周并且盡量通視的地方;如果需要納入當(dāng)?shù)刈鴺?biāo),在掃描前可以先對其掃描區(qū)域進(jìn)行控制測量,來完成聯(lián)測工作。在外業(yè)采集數(shù)據(jù)前,對掃描區(qū)域進(jìn)行了資料調(diào)研和實地考察,以保證數(shù)據(jù)拼接和三維建模的質(zhì)量。
本文掃描的管網(wǎng)距離地面的距離大概10 m,掃描儀器是Leica Scanstaion2。為了保證數(shù)據(jù)完整性,共設(shè)置了7站,每站設(shè)置了5個標(biāo)靶點,并且保證站與站之間至少有4對標(biāo)靶點通視。為了提高掃描效率,掃描時應(yīng)用了方向定位的快速掃描,且掃描精度按經(jīng)驗設(shè)置為1 cm,每站掃描時間約為20 min,結(jié)果如圖1所示。
圖1 掃描后的點云模型
激光掃描儀記錄了掃描距離內(nèi)所有物體的表面三維數(shù)據(jù),這同時也增大了數(shù)據(jù)的冗余,會影響點云數(shù)據(jù)整體匹配的效率。為此,用C#編寫了處理程序,過濾掉指定范圍外的點云數(shù)據(jù),得到所需的管線點云數(shù)據(jù),且不影響匹配的結(jié)果。石化企業(yè)的管線在復(fù)雜的地方成網(wǎng)狀,管網(wǎng)掃描數(shù)據(jù)的噪音相對比較大,所以還要對掃描得到的單站數(shù)據(jù)進(jìn)行內(nèi)部去噪處理。對于一些明顯的噪音點用相應(yīng)的點云處理軟件進(jìn)行處理,對于不能手動刪除的噪音點要通過其他的逆向工程軟件進(jìn)行去噪。對去除噪音點的數(shù)據(jù)進(jìn)行拼接可以提高整體的拼接精度,從而提高了建模的精度。露天管網(wǎng)是鋪設(shè)在多層鋼架上的,所以在建模前還要去除這些鋼架,以便進(jìn)行建模和碰撞檢測。
去噪后的點云基本上只剩下管線數(shù)據(jù),對于復(fù)雜管網(wǎng),還要對數(shù)據(jù)按單一管線進(jìn)行分割。在分割前要對管網(wǎng)的結(jié)構(gòu)進(jìn)行調(diào)查或者按原設(shè)計圖紙查請各條管線的走向,提高數(shù)據(jù)分割的效率。應(yīng)用點云處理軟件Cyclone分割出每根管線,完成對單根管線進(jìn)行分離建模。對多次彎曲的復(fù)雜管線,要進(jìn)行多次提取才能得到完整的模型。
在去噪和管線分割后,應(yīng)用三維數(shù)據(jù)處理和建模的軟件對管網(wǎng)進(jìn)行建模。管線的建模主要包括直管和彎管兩種。當(dāng)點云模型比較全的時候可以對一個完整的管線直接建模,不論是直管還是彎管可以一次性建模,這是一種比較理想的狀態(tài)。對于點云不夠完整的管線,要進(jìn)行分步建模。一般方法是先對直管進(jìn)行建模,然后在建立兩個直管間的彎管連接。如果直管的數(shù)據(jù)不足以建立模型,還可以把相鄰?fù)軓降闹惫苣P瓦M(jìn)行拷貝,通過平移和旋轉(zhuǎn)變化加載到相應(yīng)的位置,然后在進(jìn)行彎管連接。若缺少數(shù)據(jù)點導(dǎo)致不能確定待建模管線的基本參數(shù)(如管徑或彎管的半徑),可根據(jù)現(xiàn)有點云確定管線的方向,再應(yīng)用軟件的管線建模模具就可以準(zhǔn)確地生成管線模型(如圖2所示)。
圖2 建模后的三維管網(wǎng)(局部)
三維環(huán)境要搭載三維可視化平臺,用VC++6.0在OpenGL開發(fā)了一些模塊,應(yīng)用OpenGL的雙緩沖技術(shù)和實時渲染技術(shù),實現(xiàn)了點云和三維管線模型的可視化。
管線的可視化分直管和彎管兩個部分。直管的可視化途徑為:根據(jù)管線的三維模型,可以得到每根直管的起終點三維坐標(biāo)、管徑、直管的方向向量,通過計算得到起終兩個截圓面上的n個點,然后生成多個矩形面來逼近圓柱面,最后用OpenGL的雙緩沖技術(shù)和實時渲染技術(shù)繪制出三維直管。彎管的可視化與直管的過程相似,只是從三維重建的模型中除了可以知道直管的信息外,還可以得到彎管的曲率及其半徑、彎曲處的圓心、彎管三角面片定點坐標(biāo)[6]。在OpenGL環(huán)境下,應(yīng)用這些數(shù)據(jù),就可以實現(xiàn)三維重建模型和改擴(kuò)建設(shè)計模型的可視化。當(dāng)然,還要用OpenGL實現(xiàn)對模型的旋轉(zhuǎn),縮放和平移等基本的操作[7-8],以便于對碰撞模型的觀察。
當(dāng)檢測出改擴(kuò)建模型與三維重建模型有碰撞的時候,需要對其進(jìn)行量化,量測出碰撞的程度,然后對碰撞的地方進(jìn)行修改設(shè)計,為此設(shè)計了三維拾取點坐標(biāo)的功能。這個功能的原理是鼠標(biāo)點擊屏幕點后,把屏幕坐標(biāo)轉(zhuǎn)換成三維坐標(biāo),這時在三維空間中生成一條射線。在視口所示的三維空間可以視為一個平截頭體,這條射線與其遠(yuǎn)近截平面有兩個交點,兩個交點生成一條直線,檢測所有模型是否與這條直線相交,如果相交,取與起始點最近的點作為交點。通過直線與面相交公式,求出屏幕點擊處的三維坐標(biāo)。通過這個理論,實現(xiàn)了對模型三維坐標(biāo)的拾取功能。
本文研制的碰撞檢測系統(tǒng)有三維模型數(shù)據(jù)的讀取功能,顯示功能,放大、縮小、平移等基本功能,三維坐標(biāo)拾取功能,以及量測結(jié)果的輸出等功能。把改擴(kuò)建設(shè)計數(shù)據(jù)和重建的三維模型數(shù)據(jù)應(yīng)用該系統(tǒng)進(jìn)行三維可視化,即可以得到碰撞檢測的結(jié)果[9-10]。應(yīng)用碰撞檢測系統(tǒng),可以檢測出出現(xiàn)碰撞的地方??梢园颜w的設(shè)計模型與重建的三維模型進(jìn)行碰撞檢測,也可以對懷疑程度比較大的地方那個進(jìn)行單獨的碰撞檢測。在有碰撞的地方通過三維坐標(biāo)拾取功能,量化出碰撞的大小,然后對改擴(kuò)建設(shè)計進(jìn)行修改,直到滿足設(shè)計要求為止[11]。圖3是碰撞檢測的一個實例。深色是三維重建模型,淺色是改擴(kuò)建設(shè)計的模型,在可視化系統(tǒng)中,出現(xiàn)了碰撞的情況。設(shè)計人員通過三維拾取功能得到三維數(shù)據(jù),可修改設(shè)計(如圖3所示)。
圖3 碰撞檢測實例
本文主要討論了兩個問題:一是利用三維掃描技術(shù)實現(xiàn)石油化工企業(yè)管道的三維重建;第二是根據(jù)石油化工企業(yè)改擴(kuò)建工程的需求,設(shè)計了交互式的碰撞檢測系統(tǒng)。本文的研究結(jié)果不僅能用于石油化工等企業(yè)的改擴(kuò)建(應(yīng)用碰撞檢測系統(tǒng)修改設(shè)計),也可將掃描建模與設(shè)計模型相比,通過碰撞檢測,用于各種大型工業(yè)設(shè)備、交通設(shè)施的沉降和變形分析。
[1] 朱合華,吳江斌.管線三維可視化建模[J].地下空間與工程學(xué)報,2005(1):30-33.
[2] 陶國強(qiáng),吳良才,李大軍.城市地下管線三維模型的實現(xiàn)[J].測繪科學(xué),2005(6):110-112.
[3] 宋能,曹菡.基于OpenGL的空間管線的拼接顯示與應(yīng)用[J].計算機(jī)工程與科學(xué),2008(6):144-146.
[4] 李清泉,嚴(yán)勇,楊必勝,等.地下管線的三維可視化研究[J].武漢大學(xué)學(xué)報:信息科學(xué)版,2003,28(3):277-281.
[5] 王延亮,夏國芳,胡春梅.利用三維激光掃描技術(shù)進(jìn)行工業(yè)設(shè)備三維重建及變形分析[J].測繪通報,2012(2):76-79.
[6] 陳艷,付仲良.三維排水管網(wǎng)組成要素的模型設(shè)計[J]. 地理空間信息,2005(2):17-19.
[7] 楊鍵,陳利學(xué),龔捷.基于OpenGL的三維圖形繪制和3D建模[J].軟件導(dǎo)刊,2009(13):168-170.
[8] 鄭綿彬,陳國華.ArcGIS實現(xiàn)三維燃?xì)夤芫W(wǎng)仿真的研究[J]. 計算機(jī)工程與設(shè)計,2008,29(13):1824-1827.
[9] 王鵬,劉旭敏,關(guān)永.基于OBB層次包圍盒的碰撞檢測算法改進(jìn)[J].計算機(jī)工程與設(shè)計,2009,30(13):3196-3198.
[10] CURTIS S,TAMSTORF R,MANOCHAL D.Fast Collision Detection for Deformable Models Using Repre-Sentative-Triangles[C]∥Proceedings of the 2008 Symposium on Interactive 3D Graphics and Games.New York:ACM,2008:61-69.
[11] HU Chunmei,WANG Yanmin.Mapping Digital Image Texture onto 3D Model form LIDAR Data[C]∥Proceedings of International Society of Photogrammetry and Remote Sensing.Beijing:ISPRS,2008.