本發(fā)明涉及基于激光點云的環(huán)境建模領(lǐng)域,具體地說是一種基于二維激光傳感器的三維環(huán)境表面三角網(wǎng)格構(gòu)建方法。
背景技術(shù):
三維激光掃描技術(shù)是上世紀(jì)九十年代中期開始出現(xiàn)的一項高科技技術(shù),它通過高速激光掃描測量的方法,大面積高分辨率地快速獲取被測對象表面的三維坐標(biāo)數(shù)據(jù),為空間信息的獲取提供了全新的技術(shù)手段。原始的三維激光點云數(shù)據(jù)缺少足夠的結(jié)構(gòu)特征和語義信息,因此如何重構(gòu)出與原激光掃描環(huán)境拓?fù)浣Y(jié)構(gòu)較為接近的環(huán)境模型成為人們重點關(guān)注的問題。網(wǎng)格構(gòu)建是人們實現(xiàn)對三維環(huán)境表面模型的重建的方法,其中三角網(wǎng)格重構(gòu)又是環(huán)境表面模型重建中使用最廣泛的一種方法,因為三角形是最簡單的多邊形并且具有構(gòu)造靈活,邊界適應(yīng)性好等優(yōu)點,處理上也比較簡單,適用于對空間點云數(shù)據(jù)進(jìn)行曲面重建。
當(dāng)前較為常用的做法是對三維點云數(shù)據(jù)進(jìn)行delaunay三角化,能夠快速的實現(xiàn)對三維激光點云數(shù)據(jù)的環(huán)境表面重建,α-shape、voronoi、crust算法、luigigiaccari的網(wǎng)格算法等算法都是在delaunay算法的基礎(chǔ)之上實現(xiàn)對三維激光點云數(shù)據(jù)的三角網(wǎng)格重構(gòu)的。α-shape算法是刪除了四面體凸包中包圍球或外接圓半徑大于α的四面體來得到重建模型表面。“voronoi協(xié)方差”理論是基于voronoi圖計算過程中的一個協(xié)方差矩陣,得到點云曲面局部的主曲率和主方向,通過改變局部鄰域大小迭代計算協(xié)方差矩陣來提取特征點。crust算法是基于計算幾何中的voronoi圖和delaunay三角剖分。crust算法的優(yōu)點就在于思想直接、簡單,重建效果更為精細(xì),它可以對在細(xì)節(jié)區(qū)域具有密集點,在無特征或較少特征區(qū)域具有稀疏點的采樣點集實現(xiàn)曲線重建。luigigiaccari的網(wǎng)格算法是通過去除冗余三角面,提取模型表面三角平面的方法,該算法具有支持不規(guī)則的表面重構(gòu),能夠應(yīng)用于多數(shù)情況下的開放表面。
這些經(jīng)典的三維表面重建算法在處理均勻一致的三維激光點云數(shù)據(jù)時較為有效,但是由于激光掃描角度、掃描距離等原因,三維激光點云數(shù)據(jù)可能會出現(xiàn)點云數(shù)據(jù)不均勻或掃描面出現(xiàn)某種不連續(xù)的情況,這時上述經(jīng)典算法很難構(gòu)建出理想的三角化元素,甚至可能引入某些干擾的三角化元素,這將嚴(yán)重影響三角網(wǎng)格構(gòu)建的效果。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)的不足,本發(fā)明提供一種基于二維激光傳感器的三維環(huán)境表面三角網(wǎng)格構(gòu)建方法,能夠重構(gòu)出與原環(huán)境拓?fù)浣Y(jié)構(gòu)較為接近的三角網(wǎng)格,有效的避免了網(wǎng)格中三角化元素交叉錯亂和干擾等缺陷。
本發(fā)明為實現(xiàn)上述目的所采用的技術(shù)方案是:
一種基于二維激光傳感器的三維環(huán)境表面三角網(wǎng)格構(gòu)建方法,包括以下步驟:
步驟1:二維激光傳感器采集三維環(huán)境掃描的掃描數(shù)據(jù),并發(fā)送到上位機(jī);
步驟2:將采集到的掃描數(shù)據(jù)轉(zhuǎn)換為笛卡爾空間坐標(biāo)下的三維激光點云矩陣;
步驟3:將得到的三維激光點云矩陣根據(jù)均勻采樣法進(jìn)行數(shù)據(jù)壓縮,得到三維激光點云數(shù)據(jù);
步驟4:對三維激光點云數(shù)據(jù)進(jìn)行三角網(wǎng)格構(gòu)建。
所述均勻采樣法為從第一組單次掃描數(shù)據(jù)開始,每過掃描時間t取一組單次掃描數(shù)據(jù),每次掃描的點云數(shù)一定,根據(jù)測量點的掃描順序,從單次掃描的起始點開始,每隔num個點記錄一個掃描點的掃描數(shù)據(jù)。
所述掃描數(shù)據(jù)包括轉(zhuǎn)動角度和距離值,其中轉(zhuǎn)動角度包括偏置角和關(guān)節(jié)角;
偏置角為:激光傳感器的掃描射線在激光掃描平面上的偏轉(zhuǎn)角度θ;
激光傳感器坐標(biāo)系的xs'軸與pos'的夾角θ,其中pos'為掃描點p與激光傳感器坐標(biāo)系原點os'的連線。
關(guān)節(jié)角為:激光傳感器在豎直方向上俯仰轉(zhuǎn)動的角度ψ;
距離值為:掃描點p到激光傳感器坐標(biāo)系原點os的距離l,即pos'的長度為l。
所述三角網(wǎng)格構(gòu)建包括以下過程:
步驟1:三維激光點云數(shù)據(jù)是按照點云矩陣的形式保存的,對點云矩陣中的數(shù)據(jù)點進(jìn)行編號,點云矩陣p中第i行第j列的點表示為pi,j;
步驟2:對點云矩陣的m×n個數(shù)據(jù)進(jìn)行劃分,得到(m-1)×(n-1)個小的點云矩陣;
步驟3:劃分后的每個點云矩陣包含四個點云數(shù)據(jù),采用連接對角線方式對其劃分,完成三角網(wǎng)格構(gòu)建。
所述對點云矩陣的m×n個數(shù)據(jù)進(jìn)行劃分過程為:點云矩陣共有m行,相鄰兩行劃分為一組,則共可劃分為m-1組;每組共有n列,每相鄰兩列再次劃分為一組,則共可以劃分為n-1組,得到(m-1)×(n-1)個點云矩陣。
所述連接對角線方式為第一行的第二個點與第二行的第一個點相連接。
本發(fā)明具有以下有益效果及優(yōu)點:
1.本發(fā)明適用范圍廣,能夠適用于多數(shù)的三維激光點云數(shù)據(jù)的環(huán)境建模。
2.本發(fā)明針對性強(qiáng),能夠很好的處理激光點云數(shù)據(jù)的不均勻或者掃描面不連續(xù)的情況。
3.本發(fā)明處理效果好,能夠很好的重構(gòu)出于原掃描環(huán)境拓?fù)浣Y(jié)構(gòu)相近的三角網(wǎng)格。
4.本發(fā)明原理簡單,處理速度快。
附圖說明
圖1為本發(fā)明的方法流程圖;
圖2為本發(fā)明的激光點云數(shù)據(jù)坐標(biāo)系變換圖;
圖3為本發(fā)明的三維激光點云圖;
圖4為本發(fā)明的三維激光點云按行首次分組圖;
圖5為本發(fā)明的三維激光點云按列再次分組圖;
圖6為本發(fā)明的對點陣qt進(jìn)行三角形構(gòu)建圖;
圖7為本發(fā)明的最終的三角網(wǎng)格圖。
具體實施方式
下面結(jié)合附圖及實施例對本發(fā)明做進(jìn)一步的詳細(xì)說明。
本發(fā)明的實現(xiàn)原理是:首先利用一維俯仰轉(zhuǎn)動云臺和二維激光傳感器搭建了三維激光掃描儀,并建立笛卡爾空間下的直角坐標(biāo)系。利用上位機(jī)軟件記錄二維傳感器的掃描數(shù)據(jù)和一維俯仰轉(zhuǎn)動云臺的轉(zhuǎn)動角度值。再通過坐標(biāo)變換實現(xiàn)上位機(jī)所記錄距離值、偏轉(zhuǎn)角度值和俯仰角度值到三維空間直角坐標(biāo)系的變換并利用均勻采樣法實現(xiàn)對三維點云數(shù)據(jù)的壓縮。對壓縮后三維點云數(shù)據(jù)進(jìn)行編號將其變成點云矩陣,為了實現(xiàn)點云矩陣的三角網(wǎng)格劃分首先對點云矩陣進(jìn)行按行分組操作,然后再進(jìn)行按列分組操作,則點云矩陣被劃分成了多個只有四個點云數(shù)據(jù)的小型點云矩陣。取任意一個小點云矩陣,連接對角頂點,形成對角線,從而構(gòu)建出了兩個三角形網(wǎng)格。遍歷所有四個點的小型點云矩陣,連接相同位置的對角頂點最終實現(xiàn)對三維環(huán)境表面的三角網(wǎng)格構(gòu)建。
如圖1所示為本發(fā)明的方法流程圖。
其步驟如下:
(1)由二維激光傳感器和一維俯仰轉(zhuǎn)動云臺構(gòu)成三維激光掃描儀,結(jié)合上位機(jī)構(gòu)成三維激光掃描系統(tǒng)。
(2)上位機(jī)軟件通過以太網(wǎng)實現(xiàn)與二維激光傳感器的通訊,通過can總線實現(xiàn)與一維轉(zhuǎn)動云臺的數(shù)據(jù)通訊。上位機(jī)從二維激光傳感器獲取三維環(huán)境掃描的掃描數(shù)據(jù)并同步記錄一維俯仰轉(zhuǎn)動云臺的俯仰角度值。
(3)通過坐標(biāo)變換將采集到的數(shù)據(jù)轉(zhuǎn)換成笛卡爾空間坐標(biāo)系下的三維激光點云數(shù)據(jù)。
(4)適當(dāng)?shù)倪M(jìn)行點云數(shù)據(jù)的壓縮處理,以減少因點云過密而大量消耗的時間和資源。
(5)對經(jīng)過步驟(4)處理過后的三維激光點云數(shù)據(jù)進(jìn)行三維環(huán)境表面的三角網(wǎng)格構(gòu)建。
如圖2所示為本發(fā)明的激光點云數(shù)據(jù)坐標(biāo)系變換圖。所述步驟(1)的實現(xiàn)方法為:
1)由云臺支架和一維轉(zhuǎn)動模塊組成一維俯仰轉(zhuǎn)動云臺,將此云臺安裝在基座上。
2)以地面為xgogyg平面,建立三維場景基坐標(biāo)系{xg,yg,zg}。此時的zg軸與一維俯仰轉(zhuǎn)動云臺的轉(zhuǎn)動模塊的水平轉(zhuǎn)軸交于o0點,yg軸平行于轉(zhuǎn)動模塊的水平轉(zhuǎn)軸,xg軸的正方向指向二維激光傳感器即將安裝位置的方向。
3)以o0點為原點建立直角坐標(biāo)系{x0,y0,z0}。此時的x0軸平行于xg軸,y0軸平行于yg軸,z0軸與zg軸重合。
4)將二維激光傳感器安裝在一維俯仰轉(zhuǎn)動云臺上。以二維激光傳感器的掃描面為xsosys平面,建立二維激光傳感器坐標(biāo)系{xs,ys,zs}。則此時的xs軸與x0軸重合,ys軸平行于y0軸,zs軸與z0軸平行。
所述步驟(2)的實現(xiàn)方法為:
1)安裝完成三維激光掃描儀后,以此時的三維激光掃描儀的位置為初始位置,則此時的俯仰角度值ψ為0°,此位置時某激光掃描點到二維激光傳感器坐標(biāo)系原點os的距離為l。
2)上位機(jī)軟件啟動記錄之后,同步記錄下激光掃描點的距離值l、偏置角度θ和相應(yīng)的俯仰角度值ψ,將這些的數(shù)值分別保存到三個文件中。同一俯仰角度時,只記錄一組掃描點數(shù)據(jù)。當(dāng)俯仰角度值ψ變化后,記錄一組二維激光傳感器產(chǎn)生的距離值l,并同步記錄下與之對應(yīng)的偏置角度值θ。
所述步驟(3)的實現(xiàn)方法為:
1)當(dāng)俯仰角度值為ψ時,建立此時的二維激光傳感器坐標(biāo)系{xs',ys',zs'}。坐標(biāo)系{xs',ys',zs'}即為坐標(biāo)系{xs,ys,zs}轉(zhuǎn)動ψ角度后的坐標(biāo)系。
2)計算二維激光掃描點在二維激光傳感器坐標(biāo)系{xs',ys',zs'}下的直角坐標(biāo)值。當(dāng)俯仰角度為ψ時某掃描點p的到原點os'距離值為l,偏置角度為θ,則點p在{xs',ys',zs'}下的直角坐標(biāo)為:
3)通過坐標(biāo)變換求取二維激光掃描點在基座標(biāo)系下的直角坐標(biāo)值。設(shè)a為轉(zhuǎn)動模塊水平轉(zhuǎn)軸y0到y(tǒng)g的距離;o點是y0軸與xs軸的交點,設(shè)b為oos的長度。則p點在基座標(biāo)系{xg,yg,zg}下的坐標(biāo)值為:
所述步驟(4)的實現(xiàn)方法為:
1)通過記錄的點云數(shù)據(jù),從第一組單次掃描數(shù)據(jù)開始,每過時間t取一組單次掃描數(shù)據(jù),并記錄下這組數(shù)據(jù),刪除其余的未記錄的點云數(shù)據(jù)。
2)在步驟1)的基礎(chǔ)之上,再次減少點云數(shù)量。二維激光傳感器的掃描時間固定,單次掃描的產(chǎn)生點云數(shù)是固定的,根據(jù)記錄掃描點的掃描順序,從單次掃描的第一個掃描點開始,每隔num個掃描點記錄一個掃描點數(shù)據(jù),刪除其余未記錄的點云數(shù)據(jù)。
所述步驟(5)的實現(xiàn)方法為:
1)三維激光點云數(shù)據(jù)是按照點云矩陣的形式保存的,對點云矩陣中的數(shù)據(jù)點進(jìn)行編號,點云矩陣p如下:
其中,元素pi,j=xi,ji+yi,jj+zi,jk(i=1,2…,m;j=1,2…,n)表示上位機(jī)記錄的激光傳感器的第i次掃描的第j個掃描點。如圖3所示為三維激光點云圖。
2)點云矩陣p中共有m×n個數(shù)據(jù),對點云矩陣進(jìn)行劃分。點云矩陣共有m行,相鄰兩行劃分為一組,則共可劃分為m-1組,如圖4所示為本發(fā)明的三維激光點云按行首次分組圖。
每組共有n列,每相鄰兩列再次劃分為一組,則共可以劃分為n-1組,如圖5所示三維激光點云按列再次分組圖。點云矩陣經(jīng)過兩次劃分可以劃分為(m-1)×(n-1)個小組。則有
其中,
qt=q(i-1)(n-1)+j={pi,j,pi,j+1,pi+1,j,pi+1,j+1}(i=1,2…,m-1;j=1,2…,n-1)
3)經(jīng)過步驟2),點云矩陣p被劃分成了(m-1)×(n-1)個小的點云矩陣,每個點云矩陣中有四個點云數(shù)據(jù)。為實現(xiàn)三角網(wǎng)格構(gòu)建,對其進(jìn)一步劃分,采用連接對角線方式對其劃分。第一行的第二個點與第二行的第一個點相連接,實現(xiàn)對單個小組的三角形劃分,如圖6所示本發(fā)明的對點陣qt進(jìn)行三角形構(gòu)建圖。遍歷集合q中所有的元素,共構(gòu)建2(m-1)(n-1)三角形,則點云矩陣p可構(gòu)建成含有2(m-1)(n-1)個三角形的三角網(wǎng)格,如圖7所示為本發(fā)明的對點陣qt進(jìn)行三角形構(gòu)建圖。
本發(fā)明未詳細(xì)說明內(nèi)容為本領(lǐng)域技術(shù)人員公知技術(shù)。