吳啟芳 唐好選 顧海燕
摘 要:本文主要工作是根據(jù)車載激光獲取的路面點(diǎn)云數(shù)據(jù),在盡量保留路面特征的基礎(chǔ)上,建立路面細(xì)節(jié)層次模型。通過對比相關(guān)技術(shù),研究了基于分塊的ROAM算法,實(shí)現(xiàn)了實(shí)時調(diào)度大規(guī)模路面點(diǎn)云并建模的工作。首先將點(diǎn)云數(shù)據(jù)通過內(nèi)存映射讀入內(nèi)存,選取進(jìn)行建模的初始點(diǎn)云數(shù)據(jù),對建模數(shù)據(jù)進(jìn)行分塊,根據(jù)與視點(diǎn)的距離建立兩個不同評價準(zhǔn)則,建立二元三角樹,實(shí)現(xiàn)了三維路面可視化及漫游,并利用文件數(shù)據(jù)動態(tài)更新顯示的數(shù)據(jù)。實(shí)驗(yàn)結(jié)果表明,文中算法能夠很好的處理大規(guī)模點(diǎn)云數(shù)據(jù),并且能保留路面特征。
關(guān)鍵詞: 路面重建;點(diǎn)云;細(xì)節(jié)層次
中圖法分類號: TP391 文獻(xiàn)標(biāo)識碼: A
Large-scale Point Cloud of Pavement Reconstruction based on Blocked ROAM Algorithm
WU Qifang1,TANG Haoxuan1,GU Haiyan1
1(School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China)
Abstract:The main work of this paper is to establish pavement level of detail model according to pavement surface point cloud data obtained by the vehicle—borne laser, based on retain pavement features as much as possible. Through the comparison of related technology, the paper analyzes the ROAM algorithm based on block, realizes the real-time scheduling and modeling of large-scale pavement point cloud. First the paper reads point cloud data into memory through memory mapped, then select the initial point cloud data modeling.After that, the modeling data are divided into blocks, and according to the distance from viewpoint two different evaluation criteria are set up. At last, establishes Triangle Bintree, achieves The 3D road visualization and the roaming,therefore uses the data dynamic to update data.The experimental results show that this algorithm can deal with large-scale point cloud data, and can keep the pavement characteristics.
Key words:Pavement Reconstruction; Point Cloud; Level of Detail
0 引言
隨著我國國民經(jīng)濟(jì)的快速發(fā)展,交通運(yùn)輸行業(yè)也進(jìn)入高速增長期,公路總里程等多項(xiàng)參數(shù)業(yè)已升至世界首位。與此同時人們對于公路的要求也日趨高端,其中良好的路況即尤顯重要,為此就對公路養(yǎng)護(hù)提出了更高要求,而路面檢測則是路面養(yǎng)護(hù)的一項(xiàng)基礎(chǔ)性的首要研究工作。傳統(tǒng)的路面檢測方法主要是依靠人力,我國現(xiàn)今也普遍采用此方法,這種方式存在著諸如耗時長,耗費(fèi)人力大,效率低下等一眾缺點(diǎn);另外,對于工作人員也存在一定安全問題,有時甚至?xí)绊懡煌ㄕ_\(yùn)行。為了保證通車道路的舒適安全運(yùn)營,傳統(tǒng)路面檢測方法中的路面養(yǎng)護(hù)已經(jīng)難于適應(yīng)時下的整體經(jīng)濟(jì)發(fā)展,因此一種實(shí)時自動的道路路面檢測系統(tǒng)即已成為迫切期待解決的重點(diǎn)攻關(guān)技術(shù)課題。
激光測量技術(shù)由于其具備了精度高、速度快、操作簡單等優(yōu)點(diǎn),而在近年來獲得了迅速發(fā)展,并已廣泛用于文物復(fù)原、汽車制造等領(lǐng)域。將其裝載到車體上形成車載移動測量系統(tǒng)則可進(jìn)行大范圍的地表測量、建筑物信息獲取等支持性技術(shù)工作。并且由于車載移動測量可以精確、快速獲取高分辨率的三維數(shù)據(jù),近年來即已發(fā)展成為熱門研究領(lǐng)域。相比于傳統(tǒng)的道路檢測方法,車載移動測量不僅速度快,而且安全、可靠,同時還可進(jìn)行路面二次可視化,因此將其應(yīng)用于路面檢測及道路三維可視化等方面必將具有廣闊的應(yīng)用前景。
本文給出的車載移動測量系統(tǒng)主要是將激光傳感器、CCD相機(jī)及PC機(jī)裝載到車體上,通過在道路上行駛掃描路面進(jìn)行高程信息及黑白圖像信息的實(shí)時獲取。同時,系統(tǒng)還具備在線數(shù)據(jù)監(jiān)控和數(shù)據(jù)同步存儲功能。
本文主要研究基于車載移動測量系統(tǒng)中的激光傳感器獲取的路面海量點(diǎn)云的細(xì)節(jié)層次的三維建模工作。
1 相關(guān)工作
目前,對路面激光檢測方面也已開展有一些研究。Si-Jie Yu和Sreenivas在2007年推出一個為路面表面映射和檢測的集成多模態(tài)傳感器移動成像系統(tǒng)[1]。提出一種分兩級處理的思想,粗略模型由第一個內(nèi)插值和網(wǎng)格化得到,而詳細(xì)的模型是經(jīng)過輸出基于保留尖銳特征和幾何細(xì)節(jié)的平滑去噪算法而最終得到,從而在建模速度上實(shí)現(xiàn)了優(yōu)質(zhì)協(xié)調(diào)。2011年Kelvin[2]設(shè)計(jì)的系統(tǒng)將三維激光技術(shù)應(yīng)用到路面建模中。采用線性激光,沿著車移動的橫向方向,并通過激光的照射,再利用高度集中的窄激光束掃描路面表面,由此形成線性三維信息并存儲。系統(tǒng)具有對環(huán)境不敏感的特點(diǎn),無論白天或是夜晚都可以獲得高質(zhì)量的二維和三維信息。
國內(nèi)馬榮貴[3]通過對橫斷面和縱斷面的數(shù)據(jù)進(jìn)行分析得出路面相關(guān)參數(shù),同時建立了路面網(wǎng)格模型。但是其研究更多側(cè)重于路面相關(guān)指數(shù)的測量,而不要求建立并真實(shí)得出完備、完善的可漫游路面模型。
本文的工作是對獲取的點(diǎn)云數(shù)據(jù)在盡量保留路面特征的基礎(chǔ)上,建立路面細(xì)節(jié)層次模型。針對大規(guī)模激光點(diǎn)云的建模可分為基于不規(guī)則網(wǎng)格(TIN)[4]的建模和基于規(guī)則網(wǎng)格的建模兩種。其中,針對基于TIN的點(diǎn)云重建主要是進(jìn)行Delaunay三角剖分[5];由于TIN網(wǎng)格頂點(diǎn)之間距離允許不同,因此以相同精度近似一個表面將需要更少的多邊形,并且能夠更確切地表示特征部分。但其缺點(diǎn)則是構(gòu)建TIN需要大量的計(jì)算,因此,時間開銷很大致使無法在交互時間內(nèi)實(shí)時動態(tài)生成大規(guī)模網(wǎng)格模型,而且也無法與動態(tài)細(xì)節(jié)層次技術(shù)實(shí)現(xiàn)良好結(jié)合。與基于TIN的方法相比,基于規(guī)則網(wǎng)格的方法主要是應(yīng)用四叉樹[6]或二叉樹[7]結(jié)構(gòu)。雖然規(guī)則網(wǎng)格相對TIN產(chǎn)生的多邊形較多,但是規(guī)則網(wǎng)格很容易建立細(xì)節(jié)層次。相對地四叉樹要求數(shù)據(jù)尺寸滿足 ,另外裂縫等的處理也比較復(fù)雜。而ROAM(實(shí)時優(yōu)化自適應(yīng)網(wǎng)格)[7]則主要是使用二叉樹結(jié)構(gòu),通過維護(hù)一個分裂隊(duì)列和一個合并隊(duì)列實(shí)現(xiàn)網(wǎng)格表示?;诜謮K的ROAM算法首先是將點(diǎn)云整個數(shù)據(jù)模型完成分塊,然后對每一塊單獨(dú)進(jìn)行網(wǎng)格化?;诜謮K的ROAM[8]算法能夠很方便地進(jìn)行數(shù)據(jù)交換,對建模尺寸要求也并不嚴(yán)格,適合于公路等狹長模型重構(gòu)。下文即將重點(diǎn)介紹該算法的主要思想及其具體實(shí)現(xiàn)時算法的改進(jìn)和優(yōu)化。
2 算法
算法主要是依據(jù)分塊的ROAM算法,同時為了更好地應(yīng)用在路面點(diǎn)云數(shù)據(jù)上而相應(yīng)增加了數(shù)據(jù)調(diào)度模塊,在評價準(zhǔn)則方面為了更精確地表達(dá)路面特征也進(jìn)行了一定的修改。具體算法實(shí)現(xiàn)需要通過如下步驟:
(1)加載獲取的路面點(diǎn)云文件;
(2)將一定量初始數(shù)據(jù)與整個場景類相關(guān)聯(lián),對整個場景數(shù)據(jù)進(jìn)行分塊,并對每一塊進(jìn)行初始化;
(3)遞歸計(jì)算整個場景模型的基于變差的粗糙度;
(4)對每一個塊進(jìn)行網(wǎng)格近似,即根據(jù)兩種不同評價標(biāo)準(zhǔn)判斷是否分裂三角形,建立二元三角樹;
(5)遍歷二元三角樹結(jié)構(gòu)并將樹的葉子節(jié)點(diǎn)所表示的三角形送入圖形管道進(jìn)行渲染。
(6)更新對應(yīng)塊數(shù)據(jù),同時更新節(jié)點(diǎn)變差。
(7)重復(fù)(4)、(5)、(6)直到所有數(shù)據(jù)繪制完成。
2.1 基于分塊的海量數(shù)據(jù)調(diào)度策略
本文的車載系統(tǒng)所使用的激光傳感器每秒鐘采集的點(diǎn)云數(shù)據(jù)可以達(dá)到數(shù)百萬個,針對路面檢測系統(tǒng)持續(xù)工作一天,點(diǎn)云文件的數(shù)據(jù)量將累積至非常巨大。針對如此海量的路面三維數(shù)據(jù)進(jìn)行漫游,根本無法一次應(yīng)用全部數(shù)據(jù)進(jìn)行建模。然而,根據(jù)視點(diǎn)動態(tài)更新數(shù)據(jù),并且如果每次都進(jìn)行讀外存操作其時間效率不高。因此針對點(diǎn)云數(shù)據(jù)規(guī)模龐大與內(nèi)存規(guī)格限制、計(jì)算能力有限的矛盾問題,研究提出一種可行的方法是分步調(diào)入海量的數(shù)據(jù),內(nèi)存映射文件就是基于這一思想的技術(shù)實(shí)現(xiàn)。
內(nèi)存映射文件是將一個文件與一塊內(nèi)存建立映射關(guān)系,這也是windows的一個內(nèi)存管理方法。內(nèi)存映射文件對于管理大尺寸文件具有實(shí)效顯著優(yōu)勢。
對于激光獲取的數(shù)據(jù)是規(guī)則的掃描線點(diǎn)云,根據(jù)分塊的思想將數(shù)據(jù)映射區(qū)中的前n條掃描線作為首次建模的數(shù)據(jù),對其進(jìn)行分塊,研究選擇每個子塊大小為64*64個激光點(diǎn),相鄰的子塊共享邊界點(diǎn)。為了達(dá)到動態(tài)顯示路面模型的目的,需要對數(shù)據(jù)進(jìn)行不斷更新,使得每一幀渲染的路面場景均呈動態(tài)變化,若干連續(xù)幀將整個路面全部渲染完成,因此,伴隨視點(diǎn)的前移,要不斷對場景模型數(shù)據(jù)塊中數(shù)據(jù)進(jìn)行動態(tài)更新。數(shù)據(jù)動態(tài)加載模型如圖1所示。
針對路面掃描數(shù)據(jù)的寬度是固定不變的,在沿著公路延伸方向漫游過程中,視點(diǎn)隨時間變化,數(shù)據(jù)的更替只發(fā)生在路面里程方向,而路面寬度方向上數(shù)據(jù)不會發(fā)生更新。因此要完成整個高程數(shù)據(jù)文件的漫游,只需要將基于路面橫斷面的數(shù)據(jù)動態(tài)調(diào)入和調(diào)出即可完成所有路面狀況的瀏覽。另一方面本文的算法是分塊的,這就為數(shù)據(jù)調(diào)度提供了另一便利條件。具體的實(shí)現(xiàn)方法則是根據(jù)視線方向移動塊偏移量動態(tài)調(diào)度數(shù)據(jù)。漫游縱向移動塊偏移量為:
(1)
其中, 為視點(diǎn)位置, 為路面場景大小, 為初始視點(diǎn)與場景間的縱軸距離, 為塊邊長,初始狀態(tài)時:
(2)
場景實(shí)際更新縱向塊的位置計(jì)算方法為: (3)
其中 為場景的縱向的標(biāo)號, 為場景縱向的塊數(shù)。隨著視點(diǎn)移動過程中,塊偏移量改變,同時就更新相應(yīng)塊數(shù)據(jù), 所對應(yīng)的橫斷面的所有塊都要更新。
算法實(shí)際建模時,對應(yīng)大小為8*16塊的長方形,其中的8*15塊用于處理顯示模型的數(shù)據(jù),另外的8*1塊用于更新新數(shù)據(jù),伴隨視點(diǎn)移動循環(huán)。如圖1中所示,顯示了視線向前移動時數(shù)據(jù)的加載過程。填充方塊為第一幀緩存區(qū),淺灰色為屏幕繪制的塊如圖中虛線框所示,深灰色為數(shù)據(jù)更新塊,下一幀更新塊顯示在空白塊位置,依次循環(huán),直到所有數(shù)據(jù)加載完成。當(dāng)整個文件的數(shù)據(jù)加載完成時,數(shù)據(jù)將不會再進(jìn)行更新,這時若沿著公路延伸方向的漫游只會變成最后一個場景的循環(huán)顯示模型。
2.2 二元三角樹
ROAM算法使用二元三角樹結(jié)構(gòu)記錄三角形的x、y、z坐標(biāo),并由此來表示網(wǎng)格。這種結(jié)構(gòu)相當(dāng)于將整個場景切割為一塊一塊的小三角形,原始的正方形塊所分成的兩個三角形則作為二元三角樹的根節(jié)點(diǎn)。利用這種邏輯方式存儲頂點(diǎn),ROAM針對每個三角形均能節(jié)省超過36字節(jié)的RAM,如此高效的坐標(biāo)計(jì)算即可作為渲染步驟的一部分。
ROAM算法分為兩個關(guān)鍵階段,建立樹階段和遍歷樹階段。建立樹的過程與四叉樹算法類似,也是自頂向下的。首先對每一個塊分成兩個最初的等腰直角三角形,作為兩個二元三角樹根節(jié)點(diǎn),然后連接直角頂點(diǎn)和斜邊的中點(diǎn)形成樹的新節(jié)點(diǎn),不斷遞歸并為二元樹添加孩子節(jié)點(diǎn),直至達(dá)到研究需要的細(xì)節(jié)層次。樹的子孫層次越多,整個場景就越龐大,就可以通過簡單擴(kuò)大樹的規(guī)模來近似區(qū)域的細(xì)節(jié)。圖2顯示了二元三角樹從0層到~3層的細(xì)分過程。
二元三角樹中,每個三角形對其相鄰三角形通過鄰居關(guān)系邏輯上可見。也就是對于一個三角形節(jié)點(diǎn),可以通過三角形節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)找到每條邊的鄰接三角形。二元三角樹的每個節(jié)點(diǎn)上下層之間可見,也就是可以通過父三角形找到分裂得到的子三角形,反之亦然。因此考慮到分裂過程的傳遞性,二元三角樹應(yīng)能為ROAM算法維護(hù)節(jié)點(diǎn)所需的鄰居關(guān)系和子孫關(guān)系,因此被剖分的三角形結(jié)構(gòu)定義為:
struct BTriNode
{
BTriNode *left_child;
BTriNode *right_child;
BTriNode *base_neigh;
BTriNode *left_neigh;
BTriNode *right_neigh;
};
數(shù)據(jù)結(jié)構(gòu)中的指針left_child,right_child分別指向左、右孩子三角形,指針left_neigh,right_neigh,base_neigh分別指向左、右和底部鄰接三角形。當(dāng)進(jìn)行節(jié)點(diǎn)分裂操作時首先需從已分配的二元三角樹節(jié)點(diǎn)池中取出兩個BTriNode,作為當(dāng)前節(jié)點(diǎn)的孩子節(jié)點(diǎn),調(diào)整各三角形節(jié)點(diǎn)指針,建立鄰居及父子關(guān)系。
如圖3所示灰色三角形節(jié)點(diǎn)的五個成員。其中,灰色三角形與base_neigh指針?biāo)赶虻娜切纬蔀橐环Ndiamond結(jié)構(gòu)。對于一個三角形與鄰居三角形只能有三種關(guān)系:同一級別,更精細(xì)級別和更粗糙級別。而ROAM充分利用鄰接指針,防止了可能出現(xiàn)的裂縫問題。下面具體介紹算法如何在分裂三角形時防止裂縫的出現(xiàn)。
三角形分裂有一個原則:當(dāng)前節(jié)點(diǎn)和斜邊鄰居節(jié)點(diǎn)base_neigh指針必須互相指向彼此。當(dāng)分割遇到一個三角形的斜邊鄰接的三角形節(jié)點(diǎn)存在并且斜邊鄰接的三角形節(jié)點(diǎn)的base_neigh指針不指向自己時,就要強(qiáng)制分割底部鄰接節(jié)點(diǎn)。具體來說,如圖4灰色三角形需要分割,直角與斜邊中心相連生成細(xì)分的孩子節(jié)點(diǎn)三角形,由于灰色三角形斜邊中點(diǎn)位置的實(shí)際高程與斜邊鄰接的三角形的相應(yīng)位置由插值得到的高程存在差異,造成渲染兩個鄰接的三角形產(chǎn)生縫隙,即T型裂縫。處理方法是對產(chǎn)生T型裂縫位置對應(yīng)的節(jié)點(diǎn)強(qiáng)制要求分割,遞歸強(qiáng)制分割直到滿足不產(chǎn)生T型裂縫的要求。強(qiáng)制分割三角形效果如圖4所示。
在完成建立二元三角樹后,第二階段就是對二元三角樹進(jìn)行渲染,此階段中遍歷二元三角樹的同時進(jìn)行渲染樹的葉子節(jié)點(diǎn)作為實(shí)際的三角形繪制到屏幕上。遍歷二元樹的步驟與建立二元樹方法類似,只是建立二元樹根據(jù)評價準(zhǔn)則決定節(jié)點(diǎn)分裂與否而產(chǎn)生遞歸,渲染時則根據(jù)之前產(chǎn)生的子節(jié)點(diǎn)關(guān)系產(chǎn)生遞歸。整個二元三角樹遍歷完成,即可完成整個場景模型的網(wǎng)格化工作。下一節(jié)將介紹三角形分裂與否的雙重評價標(biāo)準(zhǔn)。
2.3 評價標(biāo)準(zhǔn)
基于四叉樹的算法[6]根據(jù)由細(xì)分新引入節(jié)點(diǎn)的高程變化來評價粗糙度,也就是近似網(wǎng)格時的可視化誤差。節(jié)點(diǎn)變差是另一種描述網(wǎng)格模型的粗糙程度的方法,ROAM算法采用此方法。樹中某個節(jié)點(diǎn)的局部變差就是由于分裂這個節(jié)點(diǎn)而改變的該三角形的斜邊中點(diǎn)的高度值,簡單說來就是當(dāng)前二元三角形插值高程與實(shí)際高程的距離,大小為斜邊中點(diǎn)的插值高度減去在高程數(shù)據(jù)位置的實(shí)際高度的值:
(3)
如果對每個節(jié)點(diǎn)只計(jì)算二元三角樹的當(dāng)前節(jié)點(diǎn)的變差,那么誤差將會很大。為了精確地估計(jì)粗糙度,樹中所有節(jié)點(diǎn)的實(shí)際變差即取為局部變差、左孩子節(jié)點(diǎn)變差及右孩子節(jié)點(diǎn)變差三者的最大值,也就是:
(4)
節(jié)點(diǎn)變差結(jié)構(gòu)上也是一棵二叉樹,但是存儲在一個連續(xù)地址空間,如圖5所示。每個塊對應(yīng)兩個變差樹,分別表示塊的左右二元樹。如果建模數(shù)據(jù)不發(fā)生變化,得到的變差不用重新計(jì)算。針對研究中的路面數(shù)據(jù)海量的特征,采取了動態(tài)更新數(shù)據(jù)塊的機(jī)制,每次當(dāng)建模數(shù)據(jù)發(fā)生變化時,就要對變化的建模數(shù)據(jù)重新計(jì)算變差,并更新變差數(shù)組。當(dāng)數(shù)據(jù)完成更新后,則要將橫向更新的8塊數(shù)據(jù)塊的變差進(jìn)行重新計(jì)算,渲染新場景時即根據(jù)新計(jì)算的變差建立新的二元三角樹。
為了更好地顯示路面的裂縫、凹凸等特征,同時提高場景每秒渲染的幀數(shù),本文舍棄分塊ROAM算法的單一的評價標(biāo)準(zhǔn),而是根據(jù)與視點(diǎn)距離遠(yuǎn)近使用了兩種評價標(biāo)準(zhǔn):對于距離視點(diǎn)小于一定距離的數(shù)據(jù)塊,只根據(jù)路面的粗糙程度,即變差來評價是否細(xì)分;距離視點(diǎn)大于一定距離的塊將綜合考慮節(jié)點(diǎn)變差和視距兩個因素,即第二個綜合評價標(biāo)準(zhǔn)為:
(5)
其中, 為塊到視點(diǎn)距離, 為粗糙度變差, 為調(diào)節(jié)常量,如果節(jié)點(diǎn)滿足 ,則該二元三角樹節(jié)點(diǎn)需要進(jìn)行分裂,否則不分裂。視點(diǎn)距離的計(jì)算方法可表述為視點(diǎn)到塊中心點(diǎn)的距離。具體地,圖6則為使用原ROAM算法的單一評價標(biāo)準(zhǔn)的建模效果。圖7即為綜合考慮兩種評價標(biāo)準(zhǔn)的ROAM算法建模效果。
根據(jù)實(shí)驗(yàn)效果圖可以發(fā)現(xiàn),利用綜合評價標(biāo)準(zhǔn)使得離視點(diǎn)近的場景可以不考慮視點(diǎn)距離的影響,而只受路面本身的粗糙程度的影響,由此建立的路面漫游模型更能現(xiàn)實(shí)全面地表現(xiàn)路面特征。算法的這一特性也必將有助于系統(tǒng)使用者更能方便的觀察路面的實(shí)際變況,如路面的裂縫、突起和凹陷等。
3 實(shí)驗(yàn)結(jié)果與結(jié)論分析
為了對算法進(jìn)行驗(yàn)證,實(shí)驗(yàn)數(shù)據(jù)使用le 加拿大的三維傳感器公司LMI的Gocator2380激光傳感器獲取的點(diǎn)云數(shù)據(jù)。實(shí)驗(yàn)環(huán)境為IBM system x3650 m4服務(wù)器,Intel Xeon處理器,96G內(nèi)存。
實(shí)驗(yàn)數(shù)據(jù)建模時第一個評價標(biāo)準(zhǔn)變差設(shè)為2,即路面二元三角樹節(jié)點(diǎn)粗糙度大于2的塊需要進(jìn)行細(xì)分。變差大小的設(shè)置可以控制系統(tǒng)漫游時肉眼能夠看見的最小路面特征。對于離視點(diǎn)遠(yuǎn)的塊需綜合考慮視距和粗糙度,為此基于選擇的實(shí)驗(yàn)數(shù)據(jù)進(jìn)行實(shí)驗(yàn),發(fā)現(xiàn)當(dāng)?shù)诙€評價標(biāo)準(zhǔn)調(diào)節(jié)常量選擇0.1,m選擇800時,能夠?qū)⒋植诙忍貏e大的區(qū)域基本顯示,而與此同時屏幕的突跳也并不明顯。如果將變差設(shè)置較大,模型顯示時就會丟失路面的特征,設(shè)置過小則會導(dǎo)致需要渲染的三角形過多,以致于畫面不連續(xù)或者緩沖區(qū)溢出。綜上所述,實(shí)際應(yīng)用中變差大小的選擇要根據(jù)路面粗糙程度動態(tài)變化。圖8即為文中算法對512*1 536的數(shù)據(jù)進(jìn)行動態(tài)建模的效果圖。
圖8 本算法對模擬特征路面的建模效果圖
Fig.8 The simulation results of the road map
基于四叉樹的算法對數(shù)據(jù)尺寸要求較為嚴(yán)格,如Stefan R?ttger的算法,而基于分塊的算法對數(shù)據(jù)卻沒有必須是正方形區(qū)域的要求。這種特性使得基于分塊的ROAM算法更加適合應(yīng)用于呈狹長的帶狀物的建模。此外,基于分塊的ROAM算法在數(shù)據(jù)更新上也更容易實(shí)現(xiàn)?;谒牟鏄涞穆访娼?shí)驗(yàn)顯示了對于路面特征尺寸小于當(dāng)前四叉樹分割節(jié)點(diǎn)的尺寸時,特征容易丟失,即便此特征非常重要也同樣面臨這一風(fēng)險。如一個很短但是很深的裂縫就存在丟失的危險。但ROAM粗糙度評價標(biāo)準(zhǔn)是基于遞歸建立起來的,因此上就不存在丟失此類特征的可能。結(jié)合路面建模要求,基于分塊ROAM算法實(shí)現(xiàn)路面三維建模即具有的現(xiàn)實(shí)應(yīng)用更大優(yōu)勢。
本文的移動測量系統(tǒng)具有多個激光傳感器和CCD相機(jī),激光傳感器工作頻率為2KHZ,橫向分辨率1.9毫米,每個激光傳感器橫向覆蓋寬度為1米,四個傳感器覆蓋4米寬路面。CCD相機(jī)傳感器運(yùn)行頻率為20KHZ,汽車的行駛速度為80KM/H。系統(tǒng)1秒鐘產(chǎn)生的高程點(diǎn)云數(shù)據(jù)為8M,系統(tǒng)運(yùn)行一天產(chǎn)生的數(shù)據(jù)量就會達(dá)到幾千兆字節(jié),加之更顯可觀的紋理影像數(shù)據(jù),若針對如此規(guī)模數(shù)據(jù)實(shí)現(xiàn)可視化漫游,就要將細(xì)節(jié)層次技術(shù)和數(shù)據(jù)調(diào)度方法應(yīng)用到建模過程中。
本文主要目的是對車載移動測量系統(tǒng)采集的激光數(shù)據(jù)進(jìn)行三維重建,使用并改進(jìn)了ROAM算法。實(shí)驗(yàn)表明,利用本算法重建的三維路面模型能夠有效地保留路面特征,同時也可以實(shí)現(xiàn)對大規(guī)模點(diǎn)云數(shù)據(jù)的漫游操作。
4 結(jié)束語
我國路面總里程長,分布范圍廣,如果只是通過人工測量,其工作效率必然低下,也將難以滿足社會的良性發(fā)展需求,因此,本文對路面檢測及路面激光點(diǎn)云的三維重建進(jìn)行了一些新嘗試,為未來工作提供參考。
參考文獻(xiàn):
[1] YU S, SUKUMAR S R, KOSCHAN A F, et al. 3D reconstruction of road surfaces using an integrated multi-sensory approach[J]. Optics & Lasers in Engineering, 2007, 45:808–818.
[2] WANG K C P. Elements of automated survey of pavements and a 3D methodology [J], Journal of Modern Transportation, 2011, 19(1):51-57.
[3] 馬榮貴.路面三維檢測系統(tǒng)原理及方法研究[D].西安:長安大學(xué),2008.
[4] 黃雄, 劉學(xué)軍. 基于TIN的公路三維表面模型建立方法[J]. 現(xiàn)代測繪, 2006, 29(2):6-8.
[5] 徐青,常歌,楊力.基于自適應(yīng)分塊的TIN三角網(wǎng)建立算法[J].中國圖像圖形學(xué)報(bào),2000, 5(6):461-465.
[6] R?TTGER S, HEIDRICH W, SEIDEL H, et al. Real-Time Generation of Continuous Levels of Detail for Height Fields[J]. Proc Wscg98, 2001,6:315-322.
[7] DUCHAINEAU M, WOLINSKY M, SIGETI D E, et al. ROAMing Terrain: Real-time Optimally Adapting Meshes[C]//Visualization97, Proceedings, Phoenix, AZ, USA:IEEE, 1997:81 - 88.
[8] Turner B. Real-Time Dynamic Level of Detail Terrain Rendering with ROAM. http://www.gamasutra.com/view/feature/3188/realtime_dynamic_level_of_detail_.php