国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于三維激光掃描數(shù)據(jù)的三維實(shí)景構(gòu)建

2013-12-06 08:50:30赫春曉
測(cè)繪工程 2013年1期
關(guān)鍵詞:三角網(wǎng)共線掃描儀

赫春曉,李 浩

(河海大學(xué) 地球科學(xué)與工程學(xué)院,江蘇 南京 210098)

地面三維激光掃描作為一種可以快速獲取空間數(shù)據(jù)的新型技術(shù),越來越多地被應(yīng)用于城市建模、工程建設(shè)等領(lǐng)域。三維激光掃描技術(shù)又稱“實(shí)景復(fù)制技術(shù)”[1],不同于傳統(tǒng)測(cè)量技術(shù)的單點(diǎn)定位方式,而是利用激光測(cè)量單元進(jìn)行從左到右、從上到下的全自動(dòng)高精度步進(jìn)測(cè)量,進(jìn)而得到完整的、全面的、連續(xù)的、關(guān)聯(lián)的全景點(diǎn)的三維坐標(biāo)[2]。本文以Trimble地面三維激光掃描儀為例,以地物作為采集對(duì)象,進(jìn)行三維構(gòu)建。

1 基于網(wǎng)格的數(shù)據(jù)壓縮

三維激光掃描獲得的點(diǎn)云數(shù)據(jù),其數(shù)據(jù)量比較大,在建立三角網(wǎng)時(shí),會(huì)導(dǎo)致三角形過小、過多,導(dǎo)致計(jì)算慢、效率不高;而在本文三維場(chǎng)景的構(gòu)建中,不需要過于細(xì)密的三角網(wǎng),所以要對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行壓縮。

本文采用了基于網(wǎng)格的壓縮方法,其基本原理為將原始數(shù)據(jù)置于一個(gè)長(zhǎng)方體中,長(zhǎng)方體的長(zhǎng)、寬、高分別為:L=Xmax-Xmin,W=Y(jié)max-Ymin,H=Zmax-Zmin,然后將該長(zhǎng)方體分成l×m×n個(gè)小長(zhǎng)方體。統(tǒng)計(jì)第(i,j,k)號(hào)長(zhǎng)方體內(nèi)的點(diǎn)個(gè)數(shù),然后對(duì)這些點(diǎn)計(jì)算特征量,并保留特征量最大點(diǎn)[3]。

在該原理的基礎(chǔ)上,本文做了一定改進(jìn),采用了自適應(yīng)邊長(zhǎng),該邊長(zhǎng)由公式l=得到,然后將點(diǎn)云的各個(gè)點(diǎn)依次放入相應(yīng)小立方體,由式(1)可得某點(diǎn)隸屬的立方體:

再根據(jù)每個(gè)小立方體內(nèi)的點(diǎn)云點(diǎn)計(jì)算得到其均值作為中間值,然后保留到該中間值距離最小的點(diǎn),刪除剩余點(diǎn)。

2 三角網(wǎng)數(shù)字地面模型的建立

2.1 Lawson逐點(diǎn)插入算法

Lawson逐點(diǎn)插入算法[4]的基本思想是:在一已存在的三角網(wǎng)中插入一個(gè)點(diǎn),將該點(diǎn)與包含它的三角形的3個(gè)頂點(diǎn)相連,形成新的3個(gè)三角形,然后用對(duì)角線交換法來優(yōu)化新形成的三角形,從而保證所建三角網(wǎng)為Delaunay三角網(wǎng)。

其基本步驟為:

1)建立包含所有數(shù)據(jù)點(diǎn)的初始多邊形,該多邊形可為1個(gè)正三角形或2個(gè)直角三角形組成的矩形。

2)從數(shù)據(jù)域中取出任一點(diǎn)P,做如下工作:

找出包括點(diǎn)P的三角形T,設(shè)T的3個(gè)頂點(diǎn)為V1,V2,V3;

P與T3個(gè)頂點(diǎn)相連,形成3個(gè)新的三角形T1,T2,T3;

對(duì)所有新形成的三角形,用LOP算法進(jìn)行優(yōu)化。

3)裁剪數(shù)據(jù)范圍外的多余三角形。

2.2 點(diǎn)在三角形中的判斷

算法中要確定插入點(diǎn)所在的三角形,根據(jù)三角網(wǎng)拓?fù)潢P(guān)系和三角形面積坐標(biāo)可以對(duì)該點(diǎn)是否在三角形內(nèi)作出判斷。

設(shè)三角形3個(gè)頂點(diǎn)為V1(x1,y1),V2(x2,y2),V3(x3,y3),任給點(diǎn)為P(x,y),按有限元理論,P在三角形△V1V2V3內(nèi)的面積坐標(biāo)L1,L2,L3定義為

式 中:A為△V1V2V3面 積;A1,A2,A3分 別 為△V2V3P,△V3V1P,△V1V2P的面積。

當(dāng)L1,L2,L3都大于0時(shí),該點(diǎn)在該三角形內(nèi);否則則在該三角形外。

2.3 三角化過程三角形拓?fù)潢P(guān)系的創(chuàng)建

在當(dāng)前三角網(wǎng)中插入一點(diǎn)P時(shí),利用2.2方法判斷插入點(diǎn)的位置(當(dāng)插入點(diǎn)落在三角形邊上時(shí),三角形的拓?fù)潢P(guān)系維護(hù)比較麻煩。為維護(hù)程序的穩(wěn)定性和通用性,在保證計(jì)算精度和數(shù)據(jù)范圍的條件下,本文對(duì)共線點(diǎn)位置施加一微小的改正數(shù),即將共線點(diǎn)轉(zhuǎn)化為點(diǎn)在三角形內(nèi)[5]),確定其所屬三角形,同時(shí)修改新增加三角形數(shù)拓?fù)浣M成。由于每插入一點(diǎn)三角形數(shù)目增加2個(gè),故拓?fù)涞男薷闹灰獙?duì)這3個(gè)三角形即可,其偽代碼為:for i=0to n

tempTr//存儲(chǔ)當(dāng)前的三角形

trNumID[0]=curTrNumIndex//當(dāng)前的三角形號(hào)

trNumID[1]=trNum++//trNum為當(dāng)前三角形個(gè)數(shù)

trNumID[2]=trNum++

newTr1.pt[0]=tempTr.pt[0]

newTr1.pt[1]=tempTr.pt[1]

newTr1.pt[2]=i//插入點(diǎn)的點(diǎn)號(hào)

newTr1.tr[0]=tempTr.tr[0];

newTr1.tr[1]=trNumID[1]

newTr1.tr[2]=trNumID[2]

newTr2.pt[0]=tempTr.pt[1]

newTr2.pt[1]=tempTr.pt[2]

newTr2.pt[2]=i//插入點(diǎn)的點(diǎn)號(hào)

newTr2.tr[0]=tempTr.tr[1];

newTr2.tr[1]=trNumID[2]

newTr2.tr[2]=trNumID[0]

newTr3.pt[0]=tempTr.pt[2]

newTr3.pt[1]=tempTr.pt[0]

newTr3.pt[2]=i//插入點(diǎn)的點(diǎn)號(hào)

newTr3.tr[0]=tempTr.tr[2];

newTr3.tr[1]=trNumID[0]

newTr3.tr[2]=trNumID[1]

End

依照2.1節(jié)步驟遍歷點(diǎn)云中的所有點(diǎn)構(gòu)建三角網(wǎng),完成地物的建模過程。

3 紋理映射

本文在紋理映射過程中,不同于計(jì)算機(jī)圖形學(xué)一般常用的cutmall、二步法等紋理映射方法,創(chuàng)新性將攝影測(cè)量空間后方交會(huì)及共線方程引進(jìn)來并進(jìn)行映射。

3.1 三維激光掃描數(shù)據(jù)的二維球面映射

利用Trimble三維激光掃描儀獲取點(diǎn)云的空間坐標(biāo)(X,Y,Z)和激光強(qiáng)度(R)。由三維激光掃描儀測(cè)量原理及其激光點(diǎn)坐標(biāo)計(jì)算公式[6],本文將三維激光數(shù)據(jù)映射到球面即α,θ面,其中α為橫向掃描角度觀測(cè)值,取值范圍為(0,2π),θ為縱向掃描角度觀測(cè)值,取值范圍為(-π/2,π/2),具體公式為

再將映射到球面的點(diǎn)云以Δα,Δθ等角劃分,形成二維矩陣,建立點(diǎn)云各個(gè)點(diǎn)對(duì)應(yīng)的矩陣位置坐標(biāo),其計(jì)算公式為

其中:M為二維矩陣的行數(shù),N為二維矩陣的列數(shù)。

從已知的點(diǎn)云數(shù)據(jù)中,無法直接得到Δα,Δθ的值,本文提出一種自適應(yīng)方法通過點(diǎn)云空間坐標(biāo)間接得到Δα,Δθ的值:由點(diǎn)云空間坐標(biāo)計(jì)算得到α,θ的最值,得總面積(αmax-αmin)(θmax-θmin),每個(gè)點(diǎn)的面積為Δα×Δθ,從而得到Δα,Δθ的值為

式中n為點(diǎn)云總數(shù)。

該方法對(duì)于點(diǎn)云數(shù)據(jù)球面映射后分布越均勻、掃描時(shí)水平間距和垂直間距越接近,得到的結(jié)果精度越高。

通過上述方法得到三維激光數(shù)據(jù)的二維矩陣形式,再將該矩陣對(duì)應(yīng)柵格中的點(diǎn)云強(qiáng)度計(jì)算該位置的特征量,將該特征量作為最后顯示圖像的局部像素值,這里特征量以柵格內(nèi)各點(diǎn)云強(qiáng)度的均值作為最終值。將得到的位圖作為內(nèi)外方位元素的計(jì)算時(shí)同名控制點(diǎn)的選取所用的圖像。

二維激光強(qiáng)度圖像矩陣為

3.2 影像內(nèi)外方位元素的計(jì)算

單像空間后方交會(huì)中,計(jì)算內(nèi)外方位其中一種方法是共線條件方程解法,即以像點(diǎn)的像空間坐標(biāo)和相應(yīng)物點(diǎn)的工程坐標(biāo)系坐標(biāo)為已知條件,將共線方程線性化,列出條件方程,經(jīng)過最小二乘平差以及迭代計(jì)算,求出像片內(nèi)外方位元素[7]。本文將激光數(shù)據(jù)按照3.1節(jié)所述的拓?fù)浣Y(jié)構(gòu)映射到二維平面以圖像形式顯示,再同實(shí)際相片比較,選擇同名點(diǎn)由共線方程經(jīng)過平差計(jì)算得到內(nèi)外方位元素。

計(jì)算內(nèi)外方位元素時(shí),要保證三維激光坐標(biāo)需同近景攝影測(cè)量坐標(biāo)系方向大致相同,才能進(jìn)行計(jì)算。本文三維激光掃描儀的坐標(biāo)系中,X軸、Y軸都在橫向掃描面內(nèi),Z軸垂直橫向掃面[8];而近景攝影測(cè)量的像空間輔助坐標(biāo)系是以攝影中心S為坐標(biāo)原點(diǎn),X軸、Y軸同像平面坐標(biāo)系X,Y軸平行,Z軸與主光軸重合。而主光軸的方向基本同三維激光坐標(biāo)的橫向掃描面一致,因此三維激光坐標(biāo)系的Z軸和近景攝影坐標(biāo)系z(mì)軸基本上是垂直的,無法直接解算相機(jī)的內(nèi)外方位元素,需要進(jìn)行坐標(biāo)變換。轉(zhuǎn)換公式為

其中:α=(maxα+minα)/2-π/2,α為橫向掃描角度觀測(cè)值。

根據(jù)求得的內(nèi)外方位元素,可以計(jì)算得到目標(biāo)點(diǎn)云在相應(yīng)攝像機(jī)圖像處的位置坐標(biāo),再分別除以攝像機(jī)圖像原尺寸的寬度和高度,得到相應(yīng)的紋理坐標(biāo),最后利用OpenGL相關(guān)函數(shù)完成紋理映射,紋理映射步驟如下:

1)將外部圖像數(shù)據(jù)讀入內(nèi)存,用auxDIBImage-Load()函數(shù)可以實(shí)現(xiàn);

2)調(diào)用glGenTextures()函數(shù)創(chuàng)建一個(gè)紋理,該函數(shù)參數(shù)為第一步返回的指針;

3)調(diào)用glBindTexture()函數(shù)綁定紋理;并進(jìn)一步通過glTexImage2D()函數(shù)生成紋理,同時(shí)還必須指定紋理數(shù)據(jù)的指針、紋理的大小、紋理類型等;

4)調(diào)用glTexParameter()函數(shù)控制紋理的映射方式,包括:紋理濾波、重復(fù)與縮放;

5)將紋理坐標(biāo)作為參數(shù)調(diào)用glTexCoord()函數(shù)。

4 實(shí)驗(yàn)與結(jié)論

試驗(yàn)數(shù)據(jù)由Trimble三維激光掃描儀采集得到,以Visual Stdio6.0作為開發(fā)平臺(tái),用VC++語言開發(fā)完成了整個(gè)三維場(chǎng)景的顯示。圖1為試驗(yàn)結(jié)果圖。

原始點(diǎn)云總數(shù)331 883,壓縮后點(diǎn)云為8 152,壓縮率97.6%;構(gòu)建三角網(wǎng)用時(shí)0.063s,共15 420個(gè)三角形,構(gòu)網(wǎng)效率較高。

原始點(diǎn)云總數(shù)99 239,壓縮后點(diǎn)云為4 111,壓縮率95.9%;構(gòu)建三角網(wǎng)用時(shí)0.031s,共7 463個(gè)三角形,構(gòu)網(wǎng)效率較高。

從試驗(yàn)結(jié)果可以看出,本文中壓縮算法壓縮率高,比較適用于一般精度要求不高、效率要求較高的情形;三角網(wǎng)構(gòu)建用時(shí)較短、效率較高,構(gòu)建的三角網(wǎng)符合Delaunay三角網(wǎng)的要求,在實(shí)驗(yàn)二構(gòu)建的三角網(wǎng)中可以看到部分三角網(wǎng)突起,這是由于掃描儀分辨率的設(shè)置過大導(dǎo)致該處點(diǎn)云的部分丟失,出現(xiàn)了孤立的點(diǎn)云,而本文沒有對(duì)其進(jìn)行粗差剔除;從最終紋理的映射結(jié)果可知,本文提出的利用空間后方交會(huì)及共線方程求紋理坐標(biāo)的方法是可行的,能夠滿足一定的精度要求,同時(shí)也可以看到有些部位的紋理放大后不清晰,這是由于該處點(diǎn)較少,導(dǎo)致三角網(wǎng)中的三角形過大,紋理不豐富,放大后會(huì)出現(xiàn)模糊,造成紋理拉花現(xiàn)象;點(diǎn)較多的部分紋理豐富,不會(huì)出現(xiàn)模糊現(xiàn)象。

[1]范海英,楊倫,邢志輝,等.Cyra三維激光掃描系統(tǒng)工程應(yīng)用研究[J].礦山測(cè)量,2004(3):16-19.

[2]毛方儒,王磊.三維激光掃描測(cè)量技術(shù)[J].宇航計(jì)測(cè)技術(shù),2005,25(2):1-6.

[3]吳杭彬,劉春.三維激光點(diǎn)云數(shù)據(jù)的空間壓縮[J].遙感信息,2006(2):22-24.

[4]LAWSON C L.Software for C1Surface Interpolation[M].Mathematical SoftwareⅢ.J.Rice,Ed.New-York:Academic Press,1977.161-194.

[5]劉學(xué)軍,王永君,車偉濤,等.三角剖分中拓?fù)潢P(guān)系的動(dòng)態(tài)創(chuàng)建與維護(hù)[J].湖南科技大學(xué)學(xué)報(bào):自然科學(xué)版,2008,23(2):79-83.

[6]宋宏.地面三維激光掃描測(cè)量技術(shù)及其應(yīng)用分析[J].測(cè)繪技術(shù)裝備,2008,10(2):40-43.

[7]李德仁,周月琴,金為銑.攝影測(cè)量與遙感概論[M].北京:測(cè)繪出版社,2001.

[8]吳靜,靳奉祥,王健.基于三維激光掃描數(shù)據(jù)的建筑物三維建模[J].測(cè)繪工程,2007,16(5):57-60.

猜你喜歡
三角網(wǎng)共線掃描儀
小議共線向量問題
向量的共線
平面幾何中三點(diǎn)共線的常見解法
針對(duì)路面建模的Delaunay三角網(wǎng)格分治算法
三點(diǎn)共線向量式的巧妙應(yīng)用
三維激光掃描儀在變形監(jiān)測(cè)中的應(yīng)用
便攜高速文件掃描儀
清華山維在地形圖等高線自動(dòng)生成中的應(yīng)用
便攜高速文件掃描儀
新型槍彈掃描儀
固镇县| 文安县| 明溪县| 扶沟县| 运城市| 南华县| 株洲市| 陵川县| 河间市| 绵竹市| 杭锦后旗| 新津县| 阿勒泰市| 洞口县| 水城县| 城市| 道真| 石泉县| 明星| 凤山市| 榆林市| 桂平市| 淮安市| 涞源县| 开平市| 大同县| 高平市| 广宁县| 桓台县| 南涧| 应城市| 西乌| 岱山县| 平南县| 天气| 友谊县| 鹤山市| 汶川县| 深圳市| 萨嘎县| 慈利县|