• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于點(diǎn)云的管道三維自動(dòng)建模方法研究

      2023-09-21 09:52:26梁周雁焦寧鄧先睿姜海峰
      山東國土資源 2023年9期
      關(guān)鍵詞:局內(nèi)圓柱面中心線

      梁周雁,焦寧,鄧先睿,姜海峰

      (1.山東省國土測繪院,山東 濟(jì)南 250013;2.山東永平測繪有限公司,山東 威海 264300)

      0 引言

      近年來許多城市開展了地下空間及市政基礎(chǔ)設(shè)施資源和信息化項(xiàng)目,從而查清城市地下空間及市政基礎(chǔ)設(shè)施種類、構(gòu)成、規(guī)模、空間分布、屬性信息等基本情況,繪制城市地上地下三維立體“一張圖”,為城市地下空間及市政基礎(chǔ)設(shè)施建設(shè)和管理提供數(shù)據(jù)支撐,促進(jìn)地下空間資源合理利用和有序開發(fā),進(jìn)一步健全城市市政基礎(chǔ)設(shè)施工作體系,提高城市建設(shè)管理水平。管廊作為城市地下空間的重要基礎(chǔ)設(shè)施,承載著城市中各式各樣物質(zhì)的輸送、各種信息傳輸和交換等工作,已經(jīng)成為了社會(huì)和人們生產(chǎn)生活中不可缺少的物質(zhì)條件,在城市的建設(shè)和發(fā)展過程中所發(fā)揮的作用越來越大[1-2]。

      管廊是由管線、儀器和設(shè)備構(gòu)成的一個(gè)龐大而復(fù)雜的系統(tǒng),設(shè)備錯(cuò)綜復(fù)雜,管道縱橫交疊交錯(cuò),空間關(guān)系復(fù)雜,傳統(tǒng)的二維符號(hào)或者線條描述方式已不能完整地展示管線的全部信息[3-5]。三維激光掃描技術(shù)作為一種新興的測量技術(shù),在國外已被廣泛地應(yīng)用到石油化工、建筑工程、軍事科技等領(lǐng)域,但在管廊數(shù)據(jù)獲取及逆向建模等方面的應(yīng)用實(shí)例較少[6]。本文將三維激光掃描技術(shù)應(yīng)用于管廊數(shù)據(jù)的獲取中。

      三維激光掃描技術(shù)雖然可以快速獲取目標(biāo)表面的點(diǎn)云數(shù)據(jù),但是如何將海量的管道點(diǎn)云數(shù)據(jù)快速構(gòu)建為管道模型成為亟待解決的問題。李岸等[7]采用過渡特征提取原理獲得管道面的一系列截面線,然后獲得光滑均勻的脊線點(diǎn)列。用三次B樣條曲線擬合采樣點(diǎn)列而獲得脊線。劉煥彬等[8]提出一種局部擬合管道圓柱面的方法,將點(diǎn)云數(shù)據(jù)分塊擬合局部中心軸線的點(diǎn),然后擬合中心軸線,最后根據(jù)中線軸線繪制管道。劉勝男等[9]通過三維激光掃描技術(shù)獲取管道點(diǎn)云,并使用Cyclone軟件對(duì)管線進(jìn)行配準(zhǔn)和建模。陳林[10]將地下管線抽象成圓柱體,使用WebGL開源框架Three.js針對(duì)從后臺(tái)獲取到的二維管線矢量數(shù)據(jù)進(jìn)行批量建??梢暬1疚奶岢鲆环N基于點(diǎn)云的管道三維自動(dòng)建模方法,采用三維激光掃描技術(shù)獲取管廊的點(diǎn)云數(shù)據(jù),并對(duì)點(diǎn)云數(shù)據(jù)中存在的噪點(diǎn)采用拉普拉斯算法進(jìn)行去除,以提高管道中心線的提取效率。在此基礎(chǔ)上提出一種基于RANSAC算法的管道中心線提取方法,并對(duì)提取的中心線進(jìn)行等平面處理,基于OpenGL和MFC框架開源庫結(jié)合RANSAC算法研發(fā)了利用點(diǎn)云進(jìn)行管道三維自動(dòng)建模模塊,以便解決管廊的三維自動(dòng)建模與可視化。圖1為本文管道建模及可視化的基本流程。

      圖1 管道建模及可視化流程

      1 RANSAC算法

      RANSAC(random sample consensus)隨機(jī)采樣一致性算法是一種隨機(jī)參數(shù)估計(jì)算法。RANSAC算法最早由Fischler和Bolles(1981)提出[11]。

      RANSAC從樣本中隨機(jī)抽選出一個(gè)樣本點(diǎn)子集,使用最小方差估算法對(duì)這個(gè)子集計(jì)算模型參數(shù),然后計(jì)算所有樣本與該模型的偏差,在使用一個(gè)預(yù)先設(shè)定好的閾值與偏差比較,當(dāng)偏差小于閾值時(shí),該樣本點(diǎn)屬于模型內(nèi)樣本點(diǎn)(inliers),本文中簡稱局內(nèi)點(diǎn),否則為模型外樣本點(diǎn)(outliers),文中簡稱為局外點(diǎn)。記錄下當(dāng)前的局內(nèi)點(diǎn)的個(gè)數(shù),然后重復(fù)這一過程。每次重復(fù)都記錄當(dāng)前最佳的模型參數(shù),所謂最佳即局內(nèi)點(diǎn)個(gè)數(shù)最多。迭代結(jié)束后,最佳模型參數(shù)就是最終的模型參數(shù)估計(jì)值。如圖2為RANSAC算法的流程圖。

      圖2 RANSAC算法流程圖

      圖3展示了RANSAC算法在二維數(shù)據(jù)集中的搜索過程。圖3(a)示一組既包含局內(nèi)點(diǎn)又包含局外點(diǎn)的數(shù)據(jù)集。紅色點(diǎn)為局內(nèi)點(diǎn),藍(lán)色點(diǎn)為局外點(diǎn)。圖3(b)中紅色線就是基于RANSAC得到的結(jié)果,此例中最終估計(jì)的模型是一條直線。

      a—二維數(shù)據(jù)集;b—RANSAC算法估計(jì)結(jié)果

      2 管道中心線提取方法

      本文依據(jù)RANSAC算法建立管道圓柱面模型,提取管道中心線。并利用OpengGL和MFC實(shí)現(xiàn)管道可視化。

      2.1 管道點(diǎn)云去噪

      三維激光掃描儀獲取的點(diǎn)云數(shù)據(jù)難免會(huì)存在噪聲點(diǎn),噪聲信息屬于無用信息,信息量較小,使得估計(jì)點(diǎn)云特征時(shí)導(dǎo)致錯(cuò)誤的數(shù)值結(jié)果,從而可能導(dǎo)致點(diǎn)云后期處理失敗。所以離群點(diǎn)表達(dá)的信息需要剔除。

      本算法采用拉普拉斯算法[12-13]解決該問題:通過將高頻幾何噪聲能量擴(kuò)散到局部鄰域中的其他點(diǎn)上實(shí)現(xiàn),即通過多次迭代的方法將點(diǎn)移動(dòng)到其鄰域的幾何重心處,其實(shí)質(zhì)是通過把噪聲能量轉(zhuǎn)移到其鄰域的其他點(diǎn)上而最終達(dá)到濾波的目的。

      圖4為原始的管道點(diǎn)云數(shù)據(jù)和去噪后的管道點(diǎn)云,左圖紅色區(qū)域?yàn)樵键c(diǎn)云存在的噪點(diǎn)。

      圖4 點(diǎn)云去噪前后對(duì)比圖

      2.2 圓柱面模型建立

      如果以拐彎處作為分割點(diǎn),可以把管道看做是圓柱面的組合(圖5)??臻g圓柱面的數(shù)學(xué)表達(dá)式可表示為公式(1):

      圖5 空間圓柱示意圖

      (x-x0)2+(y-y0)2+(z-z0)2-r2=

      (1)

      式中:(x0,y0,z0)為圓柱軸線L上的任意一點(diǎn);(l,m,n)為圓柱軸線L方向向量;r為圓柱的半徑,而(x,y,z)則為要擬合該圓柱面的點(diǎn)云數(shù)據(jù)中的某一點(diǎn)坐標(biāo)。這7個(gè)參數(shù)可以確定以圓柱方程,即可識(shí)別出該圓柱面。

      2.3 RANSAC算法估計(jì)圓柱面模型

      根據(jù)圓柱面的空間表達(dá)式,建立RANSAC算法的估計(jì)參數(shù)。本文借助于PCL(Point Cloud Library)[14]中的Sample_consensus模塊,為管道點(diǎn)云的假定圓柱面建立參數(shù)。

      PCL中提供了SACMODEL_CYLI,DER模型,此模型為圓柱面模型,共設(shè)置7個(gè)參數(shù):

      (1)從點(diǎn)集數(shù)據(jù)中隨機(jī)取出n個(gè)點(diǎn),用這n個(gè)點(diǎn)進(jìn)行空間圓柱面擬合,用一個(gè)圓柱面模型適應(yīng)于假設(shè)的局內(nèi)點(diǎn),可以計(jì)算出中心軸線上的點(diǎn)(x0,y0,z0)、軸線的方向向量(l,m,n)以及圓柱面的半徑r。即所有的未知參數(shù)都能從假設(shè)的局內(nèi)點(diǎn)計(jì)算得出,并將得到的帶參數(shù)的圓柱面記為最佳圓柱面。

      (2)用步驟(1)中得到的模型去測試所有的其他數(shù)據(jù),并計(jì)算點(diǎn)到模型的誤差,所以設(shè)置了點(diǎn)到圓柱面的距離閾值T1,如果這個(gè)誤差小于閾值T1,則認(rèn)為是有效點(diǎn),把這個(gè)點(diǎn)放進(jìn)最佳模型中,遍歷點(diǎn)集中所有的點(diǎn)。

      (3)如果有足夠多的點(diǎn)被歸類為假設(shè)的局內(nèi)點(diǎn),即局內(nèi)點(diǎn)數(shù)不小于總數(shù)的80%,就可以認(rèn)為估計(jì)的模型就足夠合理。

      (4)然后,用所有假設(shè)的局內(nèi)點(diǎn)去重新估計(jì)模型,重新計(jì)算一下它的參數(shù),因?yàn)樗鼉H僅被初始的假設(shè)局內(nèi)點(diǎn)估計(jì)過。

      (5)如果此次遍歷并沒有達(dá)到可靠模型的最低點(diǎn)數(shù)要求,則返回第一步重新計(jì)算。

      2.4 提取圓柱面中心線

      管道點(diǎn)云數(shù)據(jù)經(jīng)RANSAC算法估計(jì)后已經(jīng)能夠得到最為可靠的圓柱面參數(shù),根據(jù)圓柱面參數(shù)即可建立中心線的方程,進(jìn)而提取中心線。中心線方程為公式(2):

      (2)

      2.5 中心線等平面處理

      經(jīng)過RANSAC算法分析和處理,已經(jīng)可以提取出各個(gè)圓柱面的中心軸線(圖6)。

      圖6 圓柱面的中心軸線

      但是提取出來的各中心軸線(如圖7所示橙色線)因?yàn)檎`差原因不會(huì)在一個(gè)平面上(理想情況是一個(gè)平面),因此需要處理到相同的平面。因此,本算法首先計(jì)算這2個(gè)線段之間的公垂線,然后將2個(gè)點(diǎn)移動(dòng)到公垂線的一半。這樣保證所有相鄰2個(gè)管道在一個(gè)平面上。

      圖7 等平面處理

      2.6 拐彎弧線處理

      通過以上處理得到管道中心線的結(jié)果如圖8(a)中的綠線所示。其實(shí)誤差比較小,該圖指示為了說明經(jīng)過處理后,不可能完全不保證直角,但整個(gè)誤差很小,對(duì)后續(xù)的管道重構(gòu)影響可以忽略。

      a—等平面處理后結(jié)果; b—拐彎弧線處理

      理想的實(shí)際管道應(yīng)如圖8(b)所示。因此后續(xù)需要對(duì)管道弧度彎角處進(jìn)行處理,本文采用了較簡單的方法,直接給出拐角的弧度,圖8(a)中綠色的中心線進(jìn)行截取,然后通過圓環(huán)進(jìn)行即可。在本程序中,拐角圓弧的半徑設(shè)置為管道半徑的1.4倍,也可以通過操作界面人為進(jìn)行設(shè)置,從而得到整個(gè)管道的中心線,整個(gè)步驟如圖9所示。

      圖9 OpenGL圖形操作步驟

      3 模型重構(gòu)

      得到管道的中心線以后,根據(jù)擬合出的管道中心線構(gòu)建管道模型,劉煥彬[8]曾經(jīng)用四元數(shù)法根據(jù)中心線繪制圓的方法來構(gòu)建管道模型,本文借助OpenGL實(shí)現(xiàn)管道模型的重構(gòu)。OpenGL的全稱是Open Graphics Library,它是圖形硬件的軟件接口,具有高度的可移植性,并具有非??斓匿秩舅俣?允許創(chuàng)建交互式的程序,產(chǎn)生移動(dòng)物體的彩色三維圖像[15-16]。所有的數(shù)據(jù)經(jīng)OpenGL處理之后都要將處理結(jié)果輸出到二維屏幕上,其操作過程如圖9所示。城市地下空間中的管線大部分都是呈圓柱形,而且其幾何屬性包括位置、管徑、長度、厚等參數(shù)[17-19],本文在進(jìn)行管道建模是暫時(shí)不考慮管壁的厚度。在OpenGL庫中,內(nèi)置函數(shù)gluCylinder( )可以快速實(shí)現(xiàn)圓柱面的繪制[20]。

      3.1 平移操作

      平移操作的函數(shù)原型為: void glTranslate(GLTYPEx,GLTYPEy,GLTYPEz)

      其中:x,y,z分別表示x軸、y軸、z軸方向的平移量。平移矩陣T可用以下公式(3)計(jì)算。

      (3)

      3.2 旋轉(zhuǎn)操作

      旋轉(zhuǎn)操作的函數(shù)原型為: void glRotate(GLTYPE angle,GLTYPEx,GLTYPEy,GLTYPEz)

      其中:x,y,z分別指定的旋轉(zhuǎn)軸;angle為指定的旋轉(zhuǎn)角度。

      3.3 縮放操作

      縮放操作的函數(shù)原型為: void glScale(GLTYPEx,GLTYPEy,GLTYPEz)

      其中:x,y,z分別表示3個(gè)坐標(biāo)軸方向的縮放比例因子。當(dāng)x,y,z的值大于1.0時(shí),表示沿坐標(biāo)軸方向放大,當(dāng)x,y,z的值小于1.0時(shí),表示沿坐標(biāo)軸方向縮小??s放矩陣S可以用公式(4)計(jì)算。

      (4)

      本文借助openGL開源庫和MFC框架,結(jié)合RANSAC中心線擬合算法,研發(fā)了利用點(diǎn)云進(jìn)行管線三維建模的模塊,模塊的功能包括讀取點(diǎn)云數(shù)據(jù),點(diǎn)云濾波,點(diǎn)云精簡,中心線擬合,以及管道模型可視化等(圖10)。

      (a)軟件界面;(b)管道點(diǎn)云數(shù)據(jù)顯示;(c)RANSAC算法提取管道中心線;(d)管道重構(gòu)

      4 結(jié)論

      (1)三維激光掃描技術(shù)可以快速獲取地下空間復(fù)雜詳盡的管道三維空間信息,采用拉普拉斯算法實(shí)現(xiàn)密集點(diǎn)云的去噪工作,從而得到純凈的管線的點(diǎn)云,提高了后續(xù)提取管道中心線的效率。

      (2)提出基于RANSAC算法的管道中心線提取方法,實(shí)現(xiàn)了單一管道中心線的快速、自動(dòng)提取。

      (3)利用OpenGL開源庫和MFC框架,結(jié)合RANSAC中心線提取算法,實(shí)現(xiàn)了利用點(diǎn)云進(jìn)行管線三維自動(dòng)建模,該模塊的功能包括讀取點(diǎn)云數(shù)據(jù)、點(diǎn)云濾波、點(diǎn)云精簡、中心線擬合以及管道模型可視化等,取得了較好的可視化效果。

      猜你喜歡
      局內(nèi)圓柱面中心線
      局內(nèi)與局外
      局內(nèi)與局外
      雜文選刊(2022年9期)2022-05-30 21:17:56
      局內(nèi)與局外
      局內(nèi)與局外
      圓柱體全局尺寸評(píng)定結(jié)果的可視化研究*
      基于多線激光雷達(dá)的圓柱面檢測
      確定空間圓柱面方程的方法探析
      第十講 幾何公差代號(hào)標(biāo)注示例10
      ——目鏡套筒
      X線攝影中中心線對(duì)DR攝影質(zhì)量的重要性
      基于Meanshift和Hough變換的秧苗行中心線提取
      绥滨县| 张家川| 鄢陵县| 武穴市| 乐陵市| 西充县| 长武县| 哈尔滨市| 东乌珠穆沁旗| 获嘉县| 辽宁省| 洛隆县| 进贤县| 清水河县| 滨州市| 安义县| 建湖县| 如东县| 嘉义市| 濮阳市| 西林县| 景洪市| 普安县| 德州市| 昆明市| 商水县| 尚义县| 宁波市| 高陵县| 阿巴嘎旗| 贺兰县| 通辽市| 富顺县| 姜堰市| 本溪市| 雷山县| 安龙县| 和硕县| 新津县| 大丰市| 万载县|