寇 智,焦光偉
(中國(guó)人民解放軍陸軍勤務(wù)學(xué)院, 重慶 401331)
隨著我國(guó)國(guó)民經(jīng)濟(jì)的快速發(fā)展,我國(guó)已成為石油進(jìn)口大國(guó),能源緊缺的矛盾日益突出[1],為了緩解能源緊缺,我國(guó)建成眾多大型油庫(kù),同時(shí)油罐的建設(shè)也越來(lái)越大型化。但是油罐在使用過(guò)程中,由于施工質(zhì)量低劣、焊接工藝不符合技術(shù)要求,或在運(yùn)行中的油罐出現(xiàn)故障、操作不當(dāng),以及發(fā)生地震等災(zāi)害,都會(huì)導(dǎo)致油罐安全運(yùn)行問(wèn)題的發(fā)生[2-3]。
三維激光掃描作為一種新的數(shù)據(jù)獲取技術(shù),具有高精度、高效率、無(wú)接觸、快速等優(yōu)勢(shì),通過(guò)三維掃描方式獲取被檢測(cè)油罐的三維點(diǎn)模型數(shù)據(jù),并對(duì)其進(jìn)行逆向建模,分析油罐變形情況已經(jīng)成為當(dāng)前油罐變形檢測(cè)的研究熱點(diǎn)。郭巍等[4]基于 Leica TM30提出了在罐外檢測(cè)油罐形變的方法,即 OATS 法 ( outside the tank by automatice total station)。該方法通過(guò)確定基準(zhǔn)點(diǎn)的位置坐標(biāo)與基圓的圓心,測(cè)量測(cè)站至罐壁各測(cè)點(diǎn)的平距,經(jīng)計(jì)算間接得到各圈壁板橢圓度和徑向偏差。他光平等[5]使用徠卡 HDSP20三維激光掃描儀對(duì)油罐進(jìn)行罐內(nèi)掃描得到油罐點(diǎn)云數(shù)據(jù),通過(guò)分析點(diǎn)云數(shù)據(jù)實(shí)現(xiàn)對(duì)西部管道某末端站大型儲(chǔ)油罐進(jìn)行儲(chǔ)備罐的半徑檢測(cè)、垂直度檢測(cè)及油罐高度檢測(cè)。姬斌等[6]使用 ScanStation C10 三維激光掃描儀對(duì)球形儲(chǔ)罐進(jìn)行三維掃描,獲取利用Visual Studio 2010 64位軟件和PCL源碼包開發(fā)了三維重建及變形分析程序,利用 Geomagic Studio 2013 軟件對(duì)點(diǎn)云進(jìn)行三維重建,通過(guò)對(duì)罐體、各支柱三維表面模型的剖切和計(jì)算,建立誤差模型,獲取罐體變形量、各支柱的變形量。張柱柱等[7]利用PENTAX S-3180V三維激光掃描儀對(duì)儲(chǔ)罐罐頂變形進(jìn)行三維掃描測(cè)量,提出了基于三維點(diǎn)云數(shù)據(jù)的變形罐頂球面擬合方法,并編制Matlab程序?qū)崿F(xiàn)了該算法,該方法可有效識(shí)別罐頂變形區(qū)域和范圍。陳偉等[8]利用三維激光掃描儀對(duì)立式罐進(jìn)行掃描測(cè)量,獲取罐體三維點(diǎn)云坐標(biāo)數(shù)據(jù),通過(guò)擬合的方法得出各個(gè)圈板切片的截面圓圓心坐標(biāo),通過(guò)提出的4種新方法對(duì)立式罐的傾斜度進(jìn)行計(jì)算。任志明等[9]采用高精度Leica HDS激光三維掃描儀系統(tǒng)掃描儲(chǔ)氣罐的點(diǎn)云數(shù)據(jù),使用軟件Cycloned 對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行預(yù)處理,通過(guò)程序編程實(shí)現(xiàn)了自動(dòng)剔除噪音以及罐體和柱體的圓心坐標(biāo)計(jì)算,并繪制罐體、支柱的相關(guān)模型,且對(duì)計(jì)算的數(shù)據(jù)進(jìn)行了誤差分析,通過(guò)數(shù)據(jù)比較及各種透視圖來(lái)進(jìn)行罐體和支柱形變的評(píng)估工作,形成了一套可行的應(yīng)用方案。劉春曉等[10]使用天寶TX8三維激光掃描儀采取寧波某罐區(qū)大型原油儲(chǔ)油罐的點(diǎn)云數(shù)據(jù),通過(guò)分析油罐點(diǎn)云數(shù)據(jù)實(shí)現(xiàn)儲(chǔ)罐圈板橢圓度檢測(cè)、壁板凹凸度檢測(cè)、半徑檢測(cè)、傾斜量檢測(cè)。隨著三維激光掃描技術(shù)在油罐變形檢測(cè)中的頻繁運(yùn)用,本文采用Visual Studio 2015軟件和點(diǎn)云數(shù)據(jù)庫(kù)PCL開發(fā)一套油罐變形點(diǎn)云數(shù)據(jù)處理軟件,采用Oracle數(shù)據(jù)庫(kù)對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行管理與存儲(chǔ)。使得該軟件對(duì)儲(chǔ)罐點(diǎn)云數(shù)據(jù)進(jìn)行正確的計(jì)算,從而快速地、準(zhǔn)確地判斷出儲(chǔ)罐是否幾何形變與儲(chǔ)罐形變的具體位置,同時(shí)也能避免影響油罐的正常使用,造成不必要的經(jīng)濟(jì)損失,為儲(chǔ)罐的安全使用、管理、儲(chǔ)罐變形檢修提供依據(jù)。
在進(jìn)行油罐變形點(diǎn)云數(shù)據(jù)處理軟件開發(fā)前,需要確定軟件開發(fā)的功能需求,通過(guò)查閱軟件開發(fā)資料,同時(shí)結(jié)合本軟件的用途,該軟件應(yīng)滿足以下功能[11-13]:
1) 用戶識(shí)別:對(duì)使用軟件的人員進(jìn)行識(shí)別,只有同時(shí)輸入正確的用戶名和密碼才能使用該軟件,如果用戶輸入不正確提醒用戶重新輸入。
2) 數(shù)據(jù)管理:導(dǎo)入儲(chǔ)罐設(shè)計(jì)之時(shí)的基本信息,包括儲(chǔ)罐的高度、圈板數(shù)量、儲(chǔ)罐的直徑、罐頂?shù)陌霃降?,同時(shí)規(guī)定錄入的數(shù)據(jù)格式、數(shù)據(jù)的計(jì)量單位等;導(dǎo)入、導(dǎo)出儲(chǔ)罐的點(diǎn)云數(shù)據(jù);數(shù)據(jù)的添加、刪除、修改與更新。
3) 數(shù)據(jù)處理:數(shù)據(jù)處理是本軟件的核心,選擇實(shí)用性強(qiáng)、普遍認(rèn)可的理論計(jì)算公式或經(jīng)驗(yàn)公式對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行去噪、壓縮、濾波、特征提取、三維重建等,實(shí)現(xiàn)油罐的高度、傾斜度、橢圓度、罐頂凹凸度的檢測(cè)計(jì)算;
4) 油罐使用壽命預(yù)測(cè):采用灰色預(yù)測(cè)法對(duì)油罐變形進(jìn)行預(yù)測(cè),為油罐的使用提供科學(xué)依據(jù);
5) 結(jié)果輸出:對(duì)檢測(cè)結(jié)果生成簡(jiǎn)單的匯總報(bào)表,打印系統(tǒng)生成的報(bào)表,方便用戶對(duì)檢測(cè)結(jié)果的查看;
6) 歷史查詢:保存儲(chǔ)罐最近10次的檢測(cè)結(jié)果,滿足用戶對(duì)歷史數(shù)據(jù)的查詢,為油罐的使用提供更加合理的方案。
目前應(yīng)用軟件的框架結(jié)構(gòu)很多,主要有多層體系結(jié)構(gòu)、C/S結(jié)構(gòu)、B/S結(jié)構(gòu)、C/S+B/S混合結(jié)構(gòu),本應(yīng)用軟件采用面向?qū)ο蟮脑O(shè)計(jì)思想,根據(jù)該應(yīng)用軟件開發(fā)功能需求與軟硬件平臺(tái)條件,在.NET平臺(tái)上,采用B/S結(jié)構(gòu)進(jìn)行軟件開發(fā),B/S結(jié)構(gòu)的主要特點(diǎn)是其開發(fā)和維護(hù)都非常簡(jiǎn)單、方便,而且成本低、分布性良好[11]。B/S結(jié)構(gòu)將軟件框架分為:界面操作層、業(yè)務(wù)邏輯層、數(shù)據(jù)層,在這種3層結(jié)構(gòu)中,每一層都是相對(duì)獨(dú)立的,不會(huì)影響各自的開發(fā),能夠提高工作人員的軟件開發(fā)效率[14-17]。軟件按照各層級(jí)中的配置文件完成業(yè)務(wù)流程的控制,生成整體結(jié)構(gòu)嚴(yán)謹(jǐn)、規(guī)范有效的Web應(yīng)用程序。一個(gè)好的界面操作層設(shè)計(jì),可以方便用戶對(duì)該軟件的使用,本系統(tǒng)的用戶操作層設(shè)計(jì)以操作簡(jiǎn)單、用戶界面友好為主。本軟件界面操作層主要用于確認(rèn)登錄用戶的身份,然后根據(jù)用戶的操作請(qǐng)求調(diào)用業(yè)務(wù)邏輯層相應(yīng)的功能,并將調(diào)用結(jié)果回送到用戶界面層顯示等。業(yè)務(wù)邏輯層是本軟件的核心,實(shí)現(xiàn)軟件對(duì)點(diǎn)云數(shù)據(jù)的調(diào)用與處理,實(shí)現(xiàn)油罐變形情況的計(jì)算。數(shù)據(jù)層的主要功能是實(shí)現(xiàn)數(shù)據(jù)的導(dǎo)入導(dǎo)出、數(shù)據(jù)的存儲(chǔ)、數(shù)據(jù)的備份、數(shù)據(jù)的查詢、數(shù)據(jù)的增加、數(shù)據(jù)的更新、數(shù)據(jù)的刪除等功能。
隨著油罐建造的大型化,三維激光掃描儀掃描油罐得到的點(diǎn)云數(shù)據(jù)量越來(lái)越大,同時(shí)精度也越來(lái)越高,還帶有光學(xué)特征。巨大的點(diǎn)云數(shù)據(jù)會(huì)降低軟件對(duì)點(diǎn)云數(shù)據(jù)處理的效率。為了提高軟件處理點(diǎn)云數(shù)據(jù)的效率,要求點(diǎn)云數(shù)據(jù)庫(kù)系統(tǒng)在儲(chǔ)存和管理數(shù)據(jù)時(shí)具有高效性。在設(shè)計(jì)點(diǎn)云數(shù)據(jù)庫(kù)時(shí),數(shù)據(jù)庫(kù)的性能應(yīng)滿足:一是擴(kuò)展性高,滿足不同大型油罐海量點(diǎn)云數(shù)據(jù)的存儲(chǔ);二是讀寫性能高,由于點(diǎn)云數(shù)據(jù)的龐大,為了提高軟件對(duì)點(diǎn)云數(shù)據(jù)調(diào)用與處理的效率,需要數(shù)據(jù)庫(kù)系統(tǒng)有較高的讀寫性能;三是安全性高,每一次檢測(cè)的油罐點(diǎn)云數(shù)據(jù)都是判斷油罐是否變形的重要證據(jù),需要對(duì)數(shù)據(jù)進(jìn)行保存,為油罐的后續(xù)使用提高依據(jù)[18]。
Oracle數(shù)據(jù)庫(kù)具備完善的數(shù)據(jù)處理功能、支持多元化數(shù)據(jù)、具有分布式存儲(chǔ)、可以提供可靠的安全性、實(shí)施數(shù)據(jù)完整性,并且在操作性上具有可連接、可兼容、可移植等幾大特點(diǎn)[19]。本軟件選用Oracle數(shù)據(jù)庫(kù)對(duì)儲(chǔ)罐點(diǎn)云數(shù)據(jù)進(jìn)行儲(chǔ)存與管理,選用Oracle數(shù)據(jù)庫(kù)中的Spatial技術(shù)實(shí)現(xiàn)空間數(shù)據(jù)與屬性數(shù)據(jù)的一體化存儲(chǔ)。該技術(shù)能夠把點(diǎn)云數(shù)據(jù)的三維信息X、Y、Z坐標(biāo)轉(zhuǎn)換成Geometry類型的點(diǎn),原先在表中的存儲(chǔ)形式是以X、Y、Z為字段,經(jīng)過(guò)轉(zhuǎn)換過(guò)后,只需要用一個(gè)字段Point來(lái)存儲(chǔ)點(diǎn)云數(shù)據(jù)的幾何類型,該P(yáng)oint字段存儲(chǔ)了3個(gè)坐標(biāo)值的信息,并且以二進(jìn)制形式存儲(chǔ)在計(jì)算機(jī)中,能夠極大地提高數(shù)據(jù)訪問(wèn)的效率[20-23]。因儲(chǔ)罐的點(diǎn)云數(shù)據(jù)量較大,需要使用數(shù)據(jù)庫(kù)索引技術(shù)對(duì)儲(chǔ)罐點(diǎn)云數(shù)據(jù)進(jìn)行管理,本文對(duì)傳統(tǒng)數(shù)據(jù)庫(kù)索引與空間數(shù)據(jù)庫(kù)索引進(jìn)行比較,得出空間數(shù)據(jù)庫(kù)索引能極大地節(jié)省查詢用時(shí),提高工作效率。目前,空間數(shù)據(jù)庫(kù)索引包括BSP樹、四叉樹、八叉樹空間索引方法等,本軟件采用線性四叉樹的點(diǎn)云索引方法,對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行分塊空間索引,以實(shí)現(xiàn)對(duì)儲(chǔ)罐點(diǎn)云數(shù)據(jù)的訪問(wèn)管理[24-25]。
表1 索引效率對(duì)比
在被測(cè)油罐的測(cè)量過(guò)程中,三維激光掃描儀在拍攝過(guò)程中易受外界光線的干擾產(chǎn)生刺點(diǎn)、跳點(diǎn),會(huì)因?yàn)殓R頭、支架的抖動(dòng)等因素產(chǎn)生干擾點(diǎn),同時(shí)油罐周圍物體也會(huì)被掃描到,這些數(shù)據(jù)點(diǎn)就是噪點(diǎn)。噪點(diǎn)的存在會(huì)嚴(yán)重影響后續(xù)的儲(chǔ)罐曲面重構(gòu),為保持儲(chǔ)罐曲面的幾何特征、增強(qiáng)曲面重構(gòu)的精度及光順度,需要對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行處理。點(diǎn)云數(shù)據(jù)處理包括:點(diǎn)云數(shù)據(jù)預(yù)處理(點(diǎn)云配準(zhǔn)、點(diǎn)云濾波、點(diǎn)云壓縮)、特征和特征描述、目標(biāo)識(shí)別檢索、三維重建。
點(diǎn)云數(shù)據(jù)預(yù)處理包括:點(diǎn)云數(shù)據(jù)配準(zhǔn)、點(diǎn)云數(shù)據(jù)去噪、點(diǎn)云數(shù)據(jù)壓縮。對(duì)于點(diǎn)云數(shù)據(jù)配準(zhǔn),采用人工布設(shè)自制標(biāo)靶,通過(guò)軟件Geomagic Studio 12處理。
由于掃描油罐會(huì)掃描到周邊物體,為了保持油罐的邊緣信息,需要對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行去噪處理。本文對(duì)高斯濾波與雙邊濾波進(jìn)行比較,兩者都能很好地去除噪點(diǎn),但雙邊濾波在去除噪點(diǎn)的同時(shí)能夠很好地保留物體邊緣信息。本文選擇雙邊濾波方法進(jìn)行點(diǎn)云去噪處理[26-28],雙邊濾波方法考慮了像素值相似度σr和像素點(diǎn)的空間鄰近度σd,兩個(gè)相似度因子σd和σr控制著圖像去噪的精度,σd變大,會(huì)使圖像每個(gè)區(qū)域的權(quán)重基本源于值域?yàn)V波的權(quán)重,對(duì)空間鄰域信息不太敏感;σr變大,則不太考慮值域,權(quán)重多來(lái)自于空間距離,因此近似于普通的高斯濾波,圖像的保邊性能下降。因此,要對(duì)圖像精心去除更多的平滑區(qū)域的噪聲,增大σd的值 ;同時(shí)要保持圖像邊緣,則應(yīng)該減小σr的值。以下是雙邊濾波的公式:
其中:
d(ζ,x)=d(ζ-x)=||ζ-x||
σ(Φ,f)=σ(Φ-f)=||Φ-f||
隨著油罐建造的大型化,掃描油罐獲得的點(diǎn)云數(shù)據(jù)量越來(lái)越大,大量的點(diǎn)云數(shù)據(jù)會(huì)嚴(yán)重影響點(diǎn)云數(shù)據(jù)處理的效率。本文對(duì)一個(gè)300 m3的立式油罐進(jìn)行掃描,得到24 935組數(shù)據(jù)。在保留點(diǎn)云主要特征的同時(shí),為了提高點(diǎn)云數(shù)據(jù)處理效率,需要對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行壓縮處理。目前,點(diǎn)云數(shù)據(jù)壓縮方法有2種:一是對(duì)網(wǎng)格重建后的點(diǎn)云數(shù)據(jù)進(jìn)行壓縮,減少三角面片的數(shù)據(jù)來(lái)實(shí)現(xiàn)數(shù)的簡(jiǎn)化;二是建立散亂點(diǎn)云的拓?fù)潢P(guān)系,直接對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行壓縮。本文選擇第2種方法對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行壓縮[23]。
點(diǎn)云數(shù)據(jù)的特征點(diǎn)提取主要用于約束點(diǎn)云建模,是三維重建過(guò)程中非常重要的部分。點(diǎn)云特征的提取主要針對(duì)兩方面:一是從散亂點(diǎn)云中直接提??;二是從網(wǎng)格中提取[23,29-30]。本軟件采用曲面擬合的方法對(duì)油罐曲率進(jìn)行估算,如果在某處曲率變化越大,則表明油罐該表面有可能存在凹凸形變。
三維重建即建立點(diǎn)云之間的拓?fù)潢P(guān)系并逼近表達(dá)目標(biāo)對(duì)象的過(guò)程,三維重建方法有:微切平面法、三維Delaunay剖分、基于移動(dòng)最小二乘重建方法[23]?;谝苿?dòng)最小二乘重建方法具有擬合精度高、通用性強(qiáng)的特點(diǎn),本軟件采用基于移動(dòng)最小二乘重建方法對(duì)油罐進(jìn)行三維重建與表達(dá)。
儲(chǔ)罐傾斜度量化:根據(jù)國(guó)家計(jì)量檢定規(guī)程 JJG 168—2005《立式金屬罐容量》中規(guī)定立式金屬罐的計(jì)量性能要求之一是罐體傾斜度不得超過(guò)1°[31-32]。本文為了能夠更加貼近儲(chǔ)罐傾斜的實(shí)際,沿罐體Z軸方向以約 0.2 m為間隔對(duì)油罐進(jìn)行切割,儲(chǔ)罐的每層圈板可獲得約10個(gè)水平截面圓。儲(chǔ)罐的第n個(gè)圈板的第m個(gè)截面圓的圓心坐標(biāo)為(xnm,ynm),相對(duì)儲(chǔ)罐基圓的高差為hnm,相對(duì)基圓圓心水平偏差為dnm,對(duì)所有的hnm、dnm進(jìn)行線性回歸處理,從而求得儲(chǔ)罐的傾斜率。
儲(chǔ)罐罐壁凹凸度量化[33-34]:對(duì)于處理后的點(diǎn)云數(shù)據(jù)進(jìn)行三維重建,得出被檢測(cè)油罐的模型,在檢測(cè)儲(chǔ)罐的直徑時(shí)對(duì)儲(chǔ)罐進(jìn)行等間距分割,測(cè)得儲(chǔ)罐的直徑,將測(cè)得的直徑與儲(chǔ)罐設(shè)計(jì)的直徑進(jìn)行比對(duì),得到儲(chǔ)罐的凹凸度。
表2 底圈壁板1 m高處允許偏差
表3 罐壁的局部凹凸變形允許量
罐頂凹凸度的量化[33-34]:對(duì)油罐罐頂?shù)狞c(diǎn)云數(shù)據(jù)進(jìn)行擬合得到一個(gè)球體,得出球體的球形所在位置,可算出每一個(gè)點(diǎn)云數(shù)據(jù)到球心之間的距離,該距離與設(shè)計(jì)的半徑進(jìn)行比對(duì),得出罐頂?shù)陌纪苟取?/p>
表4 罐頂凹凸度允許量
儲(chǔ)罐罐壁高度的量化:選取儲(chǔ)罐最上與最下的2個(gè)截面圓,在2個(gè)圓上隨機(jī)選取15組對(duì)應(yīng)的點(diǎn),求出每組對(duì)應(yīng)點(diǎn)的高差,求出平均值與儲(chǔ)罐設(shè)計(jì)的高度比對(duì)。
表5 高度允許變化量
儲(chǔ)罐變形預(yù)測(cè)[35-38]:儲(chǔ)罐變形主要指標(biāo)有罐體的傾斜度、罐壁板凹凸變形、圈板半徑、儲(chǔ)罐高度等。測(cè)得儲(chǔ)罐長(zhǎng)期使用后變形指標(biāo)的一系列數(shù)據(jù),然后采用灰色預(yù)測(cè)模型對(duì)儲(chǔ)罐變形單個(gè)指標(biāo)進(jìn)行預(yù)測(cè)[39-40],從而預(yù)知油罐變形的趨勢(shì)。分別采用 GM(1,1)與 GM(1,N)對(duì)某油罐的傾斜度進(jìn)行預(yù)測(cè)[41-42]。某油罐6年來(lái)的傾斜度分別為 0.138 6 °、0.152 7 °、0.172 7 °、0.195 2 °、0.218 2 °和0.245 9 °,取前5年的數(shù)據(jù)建立油罐傾斜度 GM模型。
由表6、7可以看出:GM(1,N)模型預(yù)測(cè)的結(jié)果相比GM(1,1)模型預(yù)測(cè)的結(jié)果更接近實(shí)際數(shù)據(jù),但是GM(1,N)模型需要所有影響因素的數(shù)據(jù),所需數(shù)據(jù)量較大。
表6 GM(1,1)預(yù)測(cè)結(jié)果
表7 GM(1,N)預(yù)測(cè)結(jié)果
本文對(duì)三維激光掃描儀在油罐變形檢測(cè)中的應(yīng)用做了簡(jiǎn)單介紹,確定了點(diǎn)云數(shù)據(jù)處理應(yīng)用軟件的功能和需求,采用常用3層服務(wù)設(shè)計(jì)方針完成了軟件的框架設(shè)計(jì);確定了Oracle數(shù)據(jù)庫(kù)對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行管理,Oracle數(shù)據(jù)庫(kù)的Spatial技術(shù)對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行存儲(chǔ)、線性四叉樹法對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行索引,以及點(diǎn)云數(shù)據(jù)庫(kù)的性能要求。選擇了雙邊濾波方法對(duì)點(diǎn)云數(shù)據(jù)去噪,基于移動(dòng)最小二乘重建方法進(jìn)行三維重建,完成油罐變形點(diǎn)云數(shù)據(jù)處理應(yīng)用軟件的總體設(shè)計(jì)。