馬榮貴,汪花梅
(長(zhǎng)安大學(xué) 信息工程學(xué)院,陜西 西安710064)
隨著路面檢測(cè)技術(shù)的快速發(fā)展,數(shù)據(jù)采集系統(tǒng)已相當(dāng)成熟和完備,但相對(duì)滯后的路面重構(gòu)技術(shù)卻無(wú)法直觀地將大量的檢測(cè)數(shù)據(jù)應(yīng)用到道路養(yǎng)護(hù)維修中[1].傳統(tǒng)的路面三維重構(gòu)模型的數(shù)據(jù)一般來(lái)自從影像中提取的道路特征數(shù)據(jù)、采用地理定位系統(tǒng)(global positioning system,GPS)或全站儀野外測(cè)量的離散數(shù)據(jù)以及公路設(shè)計(jì)數(shù)據(jù)等[2].建立的三維重構(gòu)模型一般只能反映道路的宏觀信息,如公路附屬設(shè)施的定位及查詢,公路周邊地形環(huán)境等,而對(duì)于路面表面的行車(chē)安全信息如平整度、車(chē)轍等信息基本上不能直觀地表現(xiàn)出來(lái),特別是無(wú)法分析對(duì)行車(chē)安全危害最大的擁包(在行車(chē)水平力的作用下,使路面產(chǎn)生推移而形成局部不規(guī)則隆起的變形)和坑槽(在行車(chē)作用下,路面骨料局部脫落而產(chǎn)生的坑洼)信息,因此難以滿足道路質(zhì)量評(píng)估和養(yǎng)護(hù)的需求.
本文首先建立路面的三維重構(gòu)模型,然后完成GPS和橫斷面車(chē)轍數(shù)據(jù)的融合,構(gòu)造出用于繪制路面的三角形網(wǎng)格的點(diǎn)陣,最后基于OpenGL完成重構(gòu)路面的繪制,實(shí)現(xiàn)真實(shí)路面三維仿真.由此建立的三維路面,能夠?qū)⒌缆窓z測(cè)數(shù)據(jù)準(zhǔn)確地再現(xiàn),便于決策者直觀地觀察路面的坑槽和擁包,有效地推動(dòng)了路面的數(shù)字化管理.
由于檢測(cè)車(chē)采集道路數(shù)據(jù)時(shí)的采樣頻率或空間步長(zhǎng)不同,為了實(shí)現(xiàn)數(shù)字路面的三維顯示,建立一個(gè)統(tǒng)一的坐標(biāo)系十分重要[3].本文建立了以路面里程為X軸,橫斷面為Y軸,各點(diǎn)相對(duì)高程為Z軸的三維坐標(biāo)系來(lái)完成三維重構(gòu),如圖1所示.其中線段AB是被測(cè)路面的起始橫斷面,C為路面上的任意點(diǎn),xi為各點(diǎn)的里程坐標(biāo),yj(j=1,2,…,m)為各點(diǎn)的橫斷面坐標(biāo),zij為各點(diǎn)的相對(duì)高程坐標(biāo).
圖1 路面三維模型坐標(biāo)系Fig.1 3D model of road coordinate system
在該三維模型坐標(biāo)系下,路面實(shí)體R可以表示為一個(gè)連續(xù)的三維函數(shù)f(x,y,z),即:R=f(x,y,z).要實(shí)現(xiàn)路面三維函數(shù)R的準(zhǔn)確描述,需選用一個(gè)基準(zhǔn)測(cè)試平面,且平行于XOY平面,該假設(shè)基準(zhǔn)面方程為:z=D.其中D表示該平面和XOY平面間的距離.為了便于分析,選擇基準(zhǔn)測(cè)試平面和XOY平面重合,即D=0.
設(shè)路面上各點(diǎn)到該基準(zhǔn)面的距離為{xi,yj,zij},如圖中的A(x1,y1,z11),B(x1,ym,z1m),那么三維路面實(shí)體R可表示如下:
對(duì)于x坐標(biāo)相同的各點(diǎn)有:
Ti表示路面R的一個(gè)橫斷面.因此,路面R可以表示為所有橫斷面的集合:
由于路面橫斷面的檢測(cè)是采用多點(diǎn)準(zhǔn)直激光傳感器來(lái)實(shí)現(xiàn)的,故每一個(gè)橫斷面是由多路車(chē)轍數(shù)據(jù)構(gòu)成的一組離散點(diǎn).在三維重構(gòu)中,x和y值由大地坐標(biāo)系的經(jīng)緯度表示,z值是由GPS大地高程和橫斷面車(chē)轍疊加所求到的.
系統(tǒng)中采用北京星網(wǎng)宇達(dá)的高精度GPS,定位精度1.5 m,可以測(cè)量天線中心所在位置的經(jīng)緯度坐標(biāo)以及海拔高度,最高采樣頻率為20 Hz.根據(jù)GPS返回的GPGGA(GPS的輸出格式之一)指令中的海拔數(shù)據(jù)并配合光電編碼器的里程數(shù)據(jù),就可以得到路面的高程曲線.車(chē)轍的采樣頻率由光電編碼器控制,其采樣步長(zhǎng)為0.05 m.路面是一個(gè)光滑連續(xù)的實(shí)體,由于GPS采集頻率的限制,采集的GPS點(diǎn)是比較稀疏的散亂數(shù)據(jù)[4],因此,為了完成GPS和車(chē)轍的融合,通過(guò)以GPS點(diǎn)為控制點(diǎn)進(jìn)行插值,并在插值后的點(diǎn)中篩選得到更為稠密的點(diǎn)是一個(gè)很重要的環(huán)節(jié).
本文以現(xiàn)有的GPS點(diǎn)為控制點(diǎn),通過(guò)Cardinal三次樣條曲線插值算法計(jì)算出大量有序的關(guān)鍵點(diǎn).Cardinal插值算法在靈活性和計(jì)算速度之間提供了一個(gè)合理的折中方案,不僅具有二階連續(xù)性,而且只需較少的計(jì)算和存儲(chǔ)空間,穩(wěn)定性較好.
設(shè)p(u)是三次Cardinal樣條曲線,由4個(gè)連續(xù)控制點(diǎn)pk-1、pk、pk+1、pk+2給出.這4個(gè)控制點(diǎn)用于建立Cardinal樣條的邊界條件如下:
式中:pi為第i個(gè)控制點(diǎn);p(u)為插值點(diǎn),u∈[0,1],t為張量參數(shù),控制Cardinal樣條與控制點(diǎn)間的松緊程度,并且從式(3)中可以看出,曲線的切線值由控制點(diǎn)本身決定.
根據(jù)邊界條件,可得Cardinal樣條插值公式為
式中:MC為Cardinal矩陣.
式中,s=(1-t)/2,將式(4)展開(kāi)得到多項(xiàng)式:
根據(jù)Cardinal插值公式,把有限的GPS點(diǎn)當(dāng)作控制點(diǎn),設(shè)置公式中u的增量足夠小,對(duì)GPS點(diǎn)進(jìn)行插值.
由于車(chē)轍的采樣頻率遠(yuǎn)高于GPS的采樣頻率,故一段路程內(nèi)車(chē)轍的采樣次數(shù)遠(yuǎn)大于GPS的采樣次數(shù).由于車(chē)轍的采樣步長(zhǎng)是固定的,GPS是非等間距的,所以為了完成GPS與車(chē)轍的融合,需要在以原始GPS點(diǎn)為控制點(diǎn)進(jìn)行插值后的點(diǎn)序列中選出與車(chē)轍采樣次數(shù)相同的個(gè)數(shù)的點(diǎn),且所選取的這些點(diǎn)要求是等間距的.
選取等間距GPS點(diǎn)的處理方法為,在GPS曲線上選出使每一段弧長(zhǎng)相等的GPS點(diǎn).首先對(duì)GPS數(shù)據(jù)從第一個(gè)點(diǎn)開(kāi)始做累加操作,直到該弧長(zhǎng)等于目標(biāo)長(zhǎng)度,則將該點(diǎn)納入等間距點(diǎn)的集合,并從該點(diǎn)重復(fù)以上操作直至完成.如一條由20個(gè)控制點(diǎn)構(gòu)成的曲線,需要選擇1 000個(gè)弧長(zhǎng)相等的曲線點(diǎn),那么首先可設(shè)Δu=0.000 1,也就是在每2個(gè)控制點(diǎn)間將構(gòu)造出10 000個(gè)插值點(diǎn),這樣整條曲線總共有19萬(wàn)個(gè)插值點(diǎn).然后對(duì)這19萬(wàn)個(gè)點(diǎn)間距離求和,得到曲線的弧長(zhǎng)為k,接著從曲線的起始點(diǎn)開(kāi)始查找,找到每一個(gè)累加點(diǎn)間距離為nk/1 000的點(diǎn)(n=1,2,…,1 000),這些點(diǎn)就是1 000個(gè)滿足要求的等間距點(diǎn).至此,完成了GPS點(diǎn)的插值以及等間距點(diǎn)篩選的操作.
GPS插值后的等間距點(diǎn)在三維坐標(biāo)系中只能繪制出一條曲線,即道路的中心線.然而道路并不是簡(jiǎn)單的一維線段,它是有一定寬度的面狀實(shí)體,有一個(gè)或多個(gè)車(chē)道組成的復(fù)雜對(duì)象[5].由于橫斷面車(chē)轍是由檢測(cè)車(chē)橫向剛性梁上以間距d均勻排列23個(gè)準(zhǔn)直激光傳感器采集到的,因此首先把道路中心線以一車(chē)道寬度擴(kuò)展成二維平面,最后融合橫斷面上的23路車(chē)轍數(shù)據(jù),生成繪制三維圖形所需的網(wǎng)格頂點(diǎn)點(diǎn)陣.
GPS擴(kuò)展示意圖如圖2所示,X軸方向?yàn)榻?jīng)度,Y軸方向?yàn)榫暥?,其中p1,p2,p3是以GPS點(diǎn)為控制點(diǎn)插值后篩選出的點(diǎn),代表了道路的中心線,連線p1p2和X軸的夾角為α.A,B分別表示以一定車(chē)道寬度擴(kuò)展后的道路左右兩邊的點(diǎn),擴(kuò)展步驟首先分為以下三步:①相鄰兩個(gè)插值點(diǎn)連線,過(guò)其中一個(gè)點(diǎn)做該連線的垂線段,垂線段的長(zhǎng)度設(shè)定為路面的寬度;②根據(jù)路面寬度,以道路中心線上的點(diǎn)為中心,在垂線段上取等間距的兩點(diǎn),這兩點(diǎn)即為擴(kuò)展后得到的點(diǎn);③重復(fù)步驟①和步驟②,直至所有GPS點(diǎn)擴(kuò)展完成.
圖2 GPS擴(kuò)展Fig.2 GPS extended
根據(jù)以上對(duì)擴(kuò)展步驟的分析,具體的擴(kuò)展過(guò)程如下:
p1(X1,Y1),p2(X2,Y2)分別為兩個(gè)有序的 GPS插值點(diǎn),連接p1,p2兩點(diǎn),過(guò)p1點(diǎn)作p1p2的垂線AB,設(shè)p1p2的斜率為k,則有:k=(Y2-Y1)/(X2-X1)=tanα.設(shè)一個(gè)車(chē)道的寬度為d,則AB=d,那么:
P1A=p1B=d/2
根據(jù)圖2可以求出A,B兩點(diǎn)的經(jīng)緯度.設(shè)A點(diǎn)經(jīng)緯度為(x0,y0),B點(diǎn)經(jīng)緯度為(x1,y1),過(guò)p1點(diǎn)作p1p2的垂線AB,AB與Y軸的夾角也為α,那么,A、B兩點(diǎn)的經(jīng)緯度值分別為
擴(kuò)展后,可計(jì)算出A點(diǎn)的經(jīng)緯度值是(x0,y0),B點(diǎn)的經(jīng)緯度值是(x1,y1).
任意一橫斷面上有均勻間隔的23路車(chē)轍數(shù)據(jù),為了完成任意一橫斷面上GPS與車(chē)轍的融合,接下來(lái)需要根據(jù)橫斷面中心線上的點(diǎn)和對(duì)應(yīng)左右兩邊的擴(kuò)展點(diǎn)完成橫斷面上均勻間隔點(diǎn)的經(jīng)緯度的計(jì)算.根據(jù)A,B兩點(diǎn)的經(jīng)緯度值,在A,p1和B,p1之間分別均勻間隔生成10個(gè)插值點(diǎn),求出每一點(diǎn)的經(jīng)緯度坐標(biāo).這些插值點(diǎn)和A,p1,B總共是23個(gè)點(diǎn),這23個(gè)點(diǎn)的經(jīng)緯度坐標(biāo)均已知,并且在同一高程,其高程值為Zi.
以此類推,可以利用第2個(gè)和第3個(gè)GPS點(diǎn),第3個(gè)和第4個(gè)GPS點(diǎn)一直擴(kuò)展下去,直到完成倒數(shù)第2個(gè)GPS點(diǎn)的擴(kuò)展,對(duì)于最后一個(gè)GPS點(diǎn),可以反向和倒數(shù)第2個(gè)GPS點(diǎn)進(jìn)行擴(kuò)展,此時(shí)所有的GPS擴(kuò)展完畢.這樣在三維路面重構(gòu)模型中,融合基于縱斷面的GPS信息和基于橫斷面的車(chē)轍信息,就能夠成功建立基于縱斷面GPS和橫斷面車(chē)轍的三維路面.
路面橫斷面車(chē)轍采集過(guò)程中,檢測(cè)橫梁須保持統(tǒng)一的測(cè)量基準(zhǔn),檢測(cè)橫梁上均勻布置有23路激光位移傳感器,檢測(cè)車(chē)在任意一個(gè)橫斷面上采集23路車(chē)轍數(shù)據(jù),記錄為d1,d2,…,d23,如圖3所示.
圖3 路面橫斷面車(chē)轍模型Fig.3 Ruts model of road cross-section
以中間一路數(shù)據(jù)d12為基準(zhǔn),設(shè)各路車(chē)轍數(shù)據(jù)相對(duì)于基準(zhǔn)的高程差為l1,l2,…,l23,那么有:
由于GPS安裝在檢測(cè)車(chē)車(chē)頂,且位于檢測(cè)橫梁的正上方,故系統(tǒng)中采集的高程點(diǎn)是在車(chē)頂,所以GPS高程要減去檢測(cè)車(chē)的高度,這樣得到的高程值才是路面高程.本系統(tǒng)中檢測(cè)車(chē)是由依維柯中型客車(chē)改裝而成,檢測(cè)車(chē)的高度是h為2.5 m.已知GPS采集的高程是Zi,假設(shè)實(shí)際大地高程是Z′i,則有:
Z′i=Zi-h(huán).那么可以得知任意一個(gè)橫斷面上有:
通過(guò)式(7),可以計(jì)算出每一個(gè)橫斷面上采集的車(chē)轍深度在大地坐標(biāo)系中的高程,即在上文三維重構(gòu)模型中的z值,這樣便完成了GPS和車(chē)轍的融合.
當(dāng)路面傾斜導(dǎo)致車(chē)體以及車(chē)體上的采集橫梁傾斜時(shí),檢測(cè)橫梁沿理想基準(zhǔn)面產(chǎn)生一個(gè)傾角α,由于準(zhǔn)直激光束是與剛性橫梁垂直的,所以激光束也旋轉(zhuǎn)了一個(gè)角度.此時(shí)激光束照射在路面上的位置與理想基準(zhǔn)面照射到路面上的位置相比產(chǎn)生了一個(gè)橫向的偏差且采集的車(chē)轍是垂直于橫梁的斜高.而GPS的高程是豎直的,此時(shí)為了融合GPS和車(chē)轍,首先要對(duì)采集的車(chē)轍進(jìn)行一個(gè)處理.假設(shè)基準(zhǔn)面上的檢測(cè)得到的橫斷面車(chē)轍曲線為T(mén),檢測(cè)橫梁側(cè)傾振動(dòng)后測(cè)量到的橫斷面車(chē)轍曲線為T(mén)′,根據(jù)T和T′的關(guān)系以及側(cè)傾后檢測(cè)橫梁與理想檢測(cè)基準(zhǔn)面的夾角α,運(yùn)用最小二乘法去除檢測(cè)結(jié)果中的趨勢(shì)項(xiàng)[6],就可以得到近似于理想檢測(cè)基準(zhǔn)面的橫斷面曲線,那么就可以求出各路車(chē)轍數(shù)據(jù)相對(duì)于基準(zhǔn)的高程差l1,l2,…,l23.此時(shí),再利用式(7)完成 GPS和車(chē)轍的融合.
實(shí)際的路面可以表示為一個(gè)連續(xù)的三維函數(shù),然而檢測(cè)車(chē)采集所得到的數(shù)據(jù)是由大量的GPS和橫斷面車(chē)轍離散點(diǎn)所組成的集合,融合GPS和車(chē)轍數(shù)據(jù),在已經(jīng)建立好路面三維模型中,構(gòu)成一個(gè)離散有序的點(diǎn)陣,通過(guò)OpenGL將其以三角形網(wǎng)格的形式繪制出來(lái).由于橫斷面數(shù)據(jù)采集的激光頭個(gè)數(shù)有限,所以激光頭間距較大,導(dǎo)致構(gòu)造出的三維路面不夠光滑.為了繪制出光滑逼真的三維路面,試驗(yàn)中最后采用了內(nèi)插法完成了三維曲面的插值.
基于OpenGL的三維圖形繪制的本質(zhì)是利用Open GL圖形庫(kù)所提供的函數(shù)來(lái)繪制虛擬空間中的點(diǎn)、線、面,通過(guò)對(duì)這些圖元的繪制、移動(dòng)、組合以及光照和渲染并最終投影到計(jì)算機(jī)顯示屏上,從而在視覺(jué)上形成逼真于真實(shí)空間的物體,這在某種程度完成了對(duì)現(xiàn)實(shí)世界物體的仿真顯示.組成三維圖形的基本圖元的繪制取決于OpenGL三維空間中點(diǎn)的坐標(biāo)值,稱這些點(diǎn)為頂點(diǎn),三維空間中所有的直線、曲線、平面或曲面都是由無(wú)數(shù)的頂點(diǎn)組成的.
試驗(yàn)中采用以上的理論和方法完成了三維路面的繪制,運(yùn)用OpenGL圖形庫(kù)在Visual Studio2005編程環(huán)境下開(kāi)發(fā)了測(cè)試軟件.為完成路面的三維重構(gòu),2010年12月在河南洛陽(yáng)選取了一段坑槽、擁包較多的路面進(jìn)行檢測(cè),最終實(shí)現(xiàn)的三維重建效果如圖4—5所示.
圖4 三維重構(gòu)網(wǎng)格路面Fig.4 3D reconstruction of grid road
如圖4所示,在已建立的網(wǎng)格路面上,可以很明顯地觀察出路面車(chē)轍.由于重構(gòu)中融合了GPS經(jīng)度和緯度信息,在重構(gòu)的三維路面中可以體現(xiàn)出該段路程道路的軌跡,故重構(gòu)的路面更加逼真于真實(shí)的路面.如圖5所示的彩色路面,是根據(jù)路面高程給三維路面渲染不同的顏色,通過(guò)顏色的變化來(lái)表現(xiàn)路面的高低起伏.在該圖紅色方框區(qū)域是兩個(gè)坑槽,在重建路面上明顯可以看出對(duì)應(yīng)的兩個(gè)坑槽.并在后期處理中計(jì)算坑槽的容積.
圖5 三維重構(gòu)彩色路面Fig.5 3D reconstruction of color road
實(shí)驗(yàn)中將重構(gòu)的三維路面和道路環(huán)境視頻相結(jié)合,可以實(shí)現(xiàn)三維路面和環(huán)境視頻文件的同步播放,在三維路面漫游的同時(shí)可以觀測(cè)到對(duì)應(yīng)路面的真實(shí)路況環(huán)境.還可以在觀看道路視頻同時(shí),如果發(fā)現(xiàn)視頻中路面上有坑槽,直接把三維路面定位到相應(yīng)的位置,查看坑槽的形狀和容積.最后將此信息提供給相應(yīng)的管理部門(mén)決策者,在制定路面養(yǎng)護(hù)規(guī)劃上將有著重大指導(dǎo)作用.
本文首先建立了路面三維重構(gòu)模型,并完成了GPS和車(chē)轍的融合,繪制出了三維網(wǎng)格路面,三維彩色路面和紋理路面.在重構(gòu)的三維路面上可以查看路面車(chē)轍以及道路軌跡,同時(shí)可以查看路面的坑槽和擁包,能夠立體直觀地觀察路面破損情況,為制定養(yǎng)護(hù)方案提供重要的數(shù)據(jù)依據(jù).
[1] 啜二勇.國(guó)外路面自動(dòng)檢測(cè)系統(tǒng)發(fā)展綜述[J].交通標(biāo)準(zhǔn)化,2009(17):96.CHUO Eryong.Development summary of international pavement surface distress automatic survey system [J]. Transport Standardization,2009(17):96.
[2] 左小清,李清泉,唐爐亮.公路三維模型建立與數(shù)據(jù)組織[J].武漢大學(xué)學(xué)報(bào),2004,29(2):179.ZUO Xiaoqing,LI Qingquan,TANG Luliang.3D modeling and data organization of highway[J].Geomatics and Information Science of Wuhan University,2004,29(2):179.
[3] 馬榮貴.路面三維檢測(cè)系統(tǒng)原理及方法研究[D].西安:長(zhǎng)安大學(xué)公路學(xué)院,2008.MA Ronggui.Study on the principle and method of road three dimension measurement system[D].Xi’an:School of Highway of Chang’an University,2008.
[4] 左小清,李清泉,謝智穎.基于車(chē)道的道路數(shù)據(jù)模型[J].長(zhǎng)安大學(xué)學(xué)報(bào):自然科學(xué)版,2004,24(2):73.ZUO Xiaoqing,LI Qingquan,XIE Zhiying.Lane-based road data model[J].Journal of Chang’an University:Natural Science Edition,2004,24(2):73.
[5] 楊益明,文愛(ài)民,劉奕貫.三維路面模型的構(gòu)建及其在Adams中的驗(yàn)證[J].公路交通科技,2010,27(12):140.YANG Yiming,WEN Aiming,LIU Yiguan.Reconstruction of 3D road model and its verification based on adams[J].Journal of Highway and Transportation Research and Development,2010,27(12):140.
[6] 王建鋒,馬建,馬榮貴,等.路面三維檢測(cè)技術(shù)研究[J].武漢理工大學(xué)學(xué)報(bào):交通科學(xué)與工程版,2010,34(6):1202.WANG Jianfeng,MA Jian,MA Ronggui,et al.Road Threedimensional shape measurement method with multi-laser-sensors[J].Journal of Wuhan University of Technology:Transportation Science &Engineering,2010,34(6):1202.