專利名稱:一種三維道路模型生成方法及系統的制作方法
技術領域:
本發明屬于虛擬現實中的三維道路建模領域,尤其涉及一種三維道路模型的生成方法及系統。
背景技術:
在很多應用領域,傳統的二維QD)顯示已經越來越讓人感到枯燥、乏味和單一, 遠遠滿足不了由于時代進步所帶來的各種需求。虛擬現實和三維(3D)技術的出現,給人們的視覺以革命性的改變。三維技術所帶來的生動、逼真和豐富的虛擬現實世界,使得人們能更直觀的在計算機上觀察到現實世界的真實場景。在電子地圖導航領域,傳統的二維地圖是采用“點”和“線”來抽象描繪客觀世界的。這種方法雖然能夠簡單、快速和及時的提供用戶所需要的信息,但是它也存在著致命的弱點——它反映的只是一個平面的二維世界,不能真實的、生動的反映客觀世界。如今,三維地圖已經成為新的焦點,受到了廣泛的關注。三維地圖不僅能夠提供二維地圖所需的一切信息,而且它能夠創造一個立體的、逼真的、生動的虛擬世界,帶給用戶全新的、身臨其境的感覺,帶給我們豐富的、真實的體驗。三維場景重現采用的是三維網格化和材質紋理映射的方法。三維網格描述物體的形狀輪廓,材質紋理描述物體的顏色和材質(如透射,反射等)以及外觀信息。利用三維網格和材質紋理,可以非常真實的、清晰的反映現實物體。在三維場景中,通過創建網格化模型,能夠非常細膩地、真實地表現出物體與世界的空間關系,瀏覽三維場景就相當于進入了一個由真實世界映射而成的虛擬世界。三維地圖包含地形地貌、道路、橋梁,建筑物以及其它景觀等多個層次的信息,其中道路是三維地圖最重要的核心組成部分,相當于整個地圖的骨骼和脈絡。傳統的三維道路建模方法非常單一,基本上采用的是通過使用一些三維建模軟件 (例如3Dmax)進行人工建模的方法。人工建模耗時耗力,效率極其低下。尤其是進行大批量建模時,人工建模的缺點與弊端暴露無遺,由此產生的時間限制和效率限制,嚴重影響了三維道路模型在電子地圖及其它領域中的應用。
發明內容
本發明為解決現有人工三維道路建模中效率低下的技術問題,提供一種高效的三維道路模型生成方法及系統。一種三維道路模型生成方法,包括如下步驟(1)、對道路中心線數據進行采集,得到二維道路中心線節點數據;(2)、解析道路結構特征,建立相應的道路模型,所述道路模型包括普通路段模型和路口模型;(3)、解析二維道路中心線節點數據的拓撲關系,分離出普通路段中心線節點數據和路口中心線節點數據;
6
(4)、調用所述道路模型對所述節點數據進行模型化,生成道路邊緣特征點數據, 所述道路邊緣特征點數據包括普通路段邊緣特征點數據和路口邊緣特征點數據;(5)、連接所述邊緣特征點數據對應的每個點,生成三維網格道路模型;(6)、依據道路的屬性數據將生成的三維網格道路模型貼上相應的紋理,得到三維道路實體模型。一種三維道路模型生成系統,包括數據采集模塊,用于對道路中心線數據進行采集,得到二維道路中心線節點數據;道路模型建立模塊,用于解析道路結構特征,建立相應的道路模型,所述道路模型包括普通路段模型和路口模型;數據分離模塊,用于解析所述二維道路中心線節點數據的拓撲關系,分離出普通路段中心線節點數據和路口中心線節點數據;數據模型化模塊,用于調用所述道路模型對所述節點數據進行模型化,生成道路邊緣特征點數據,所述道路邊緣特征點數據包括普通路段邊緣特征點數據和路口邊緣特征點數據;三維網格道路模型生成模塊,用于連接所述邊緣特征點數據對應的每個點,生成三維網格道路模型;三維道路實體模型生成模塊,用于依據道路的屬性數據將生成的三維網格道路模型貼上相應的紋理,得到三維道路實體模型。本發明的三維道路模型生成方法及系統全自動的生成三維道路模型,避免了人工干預,因此可以提高建模效率。
圖1是本發明實施例提供的三維道路模型生成方法的流程圖;圖2是本發明實施例提供的用于確定道路走向的方位圖;圖3是本發明實施例提供的圓弧曲線模擬道路彎道示意圖;圖4是本發明實施例提供的貝塞爾曲線模擬道路彎道示意圖;圖5(a)是本發明實施例提供的確定路口邊緣曲線段示意圖;邊緣特征點生成方法示意圖;圖5(b)是本發明實施例提供的確定路口單個彎道處外擴點和內擴點示意圖;圖5(c)是本發明實施例提供的去掉路口外擴點、保留路口內擴點示意圖;圖5(d)本發明實施例提供的路口邊緣特征點示意圖;圖6是本發明實施例提供的道路中心線數據示意圖;圖7是本發明實施例提供的分離普通路段中心線數據和路口中心線數據的方法流程圖;圖8是本發明實施例提供的根據路口節點數據查找其它包含該節點的多鏈路的方法流程圖;圖9是本發明實施例提供的三維網格道路模型示意圖;圖10是本發明實施例提供的貼上道路紋理后的三維道路實體模型局部效果示意圖;圖11是本發明實施例提供的貼上道路紋理后的三維道路實體模型效果示意圖;圖12是本發明實施提供的一種三維道路模型生成系統示意圖。
具體實施例方式為了使本發明所解決的技術問題、技術方案及有益效果更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。為了解決人工三維道路建模中效率低下的技術問題,本發明提供了一種三維道路模型生成方法,如圖1所示,包括如下步驟(1)、對道路中心線數據進行采集,得到二維道路中心線節點數據;(2)、解析道路結構特征,建立相應的道路模型,所述道路模型包括普通路段模型和路口模型;(3)、解析二維道路中心線節點數據的拓撲關系,分離出普通路段中心線節點數據和路口中心線節點數據;(4)、調用所述道路模型對所述節點數據進行模型化,生成道路邊緣特征點數據, 所述道路邊緣特征點數據包括普通路段邊緣特征點數據和路口邊緣特征點數據;(5)、連接所述邊緣特征點數據對應的每個點,生成三維網格道路模型;(6)、依據道路的屬性數據將生成的三維網格道路模型貼上相應的紋理,得到三維道路實體模型。上述步驟(1)得到二維道路中心線節點數據可以采用如下兩種方法。方法一,首先導入航拍位圖,然后在航拍位圖上提取道路中心線節點信息,最后, 將道路中心線的信息抽象化成二維道路中心線節點數據。在航拍圖上提取道路中心線信息采用取點法,即在道路中心線的每個拐點處取點,得到道路中心線節點信息。利用取點法實現二維的道路中心線信息的采集。采集時可遵循以下規則對于普通路段,即不含路口的路段,從道路的一端開始取點,以道路中心線為基準,若道路的方向有偏轉且偏轉的角度大于α,則在發生偏轉的位置取點,α為自定義的最大偏轉角度值; 對于路口,以道路中心線為基準,按照順序先取任意一條道路的最靠近路口的兩點,然后再取另外一條道路最靠近路口的兩點,依次類推取點。方法二,直接讀取存儲道路中心線信息數據的各種格式的文件,例如KIWI (—種地圖信息數據的存儲格式)文件、或工程文件、或其它自定義文件等。然后對其歸一化處理。文件中中心線信息數據記錄的是道路中心線的經緯度坐標,其精度可能高達小數點后十位之多,因而在數據的計算和處理方面帶來很多的不便。為了達到優化數據、便于處理的目的,提出一種簡便的歸一化方法。首先對中心線信息數據進行分塊,將整個數據劃分成網格型數據,對網格型數據進行標號處理;其次,依次處理每個網格型數據,找到處于網格內最左下方的數據點A ;然后將其它數據點的坐標全部減去數據點A的坐標,獲得關于數據點A的相對坐標,并將得到的坐標乘以M,M為坐標放大的倍數,根據數據的精度確定,這樣就得到了經過初步歸一化處理的坐標,即二維道路中心線節點數據。道路可以簡單的劃分成普通路段和路口。一條完整的道路可以由多個路口和普通路段拼合而成。由此提出如下建立道路模型的方法。普通路段模型及路口模型都是根據道路中心線節點數據生成道路邊緣特征點數據模型得到。建立普通路段模型及路口模型的方法具體步驟如下A、從所述二維道路中心線節點數據中按順序取出三點道路中心線節點數據,并根據這三點道路中心線節點數據生成道路邊緣特征點數據模型;B、剔除第一點道路中心線節點數據,選擇與第三點道路中心線節點數據相鄰的下一個道路中心線節點數據加入,并根據這三點道路中心線節點數據生成道路邊緣特征點數據模型;C、重復步驟B,直到取到最后一個道路中心線節點數據結束。接下來是通過三點道路中心線節點數據生成道路特征邊緣點數據模型并和后續生成的道路邊緣特征點數據模型無縫無重疊銜接。普通路段模型可分為直線路段模型和彎道路段模型。對于普通路段模型中的直線路段模型,直接根據其道路中心線節點數據及單向路寬W確定。從中心中心線節點向兩邊擴展單向路寬W,得到直線路段道路特征邊緣點數據模型。對于彎道路段,利用如下方法得到其道路特征邊緣點數據模型。方法步驟如下a、計算彎道處第一點和第二點道路中心線節點數據構成的第一線段的走向及斜率,及第二點和第三點道路中心線節點數據構成的第二線段的走向及斜率;并計算第一線段和第二線段構成的夾角;b、根據所述夾角、單向路寬、及彎道精度確定中心線上彎道起始點和彎道結束點的位置;C、根據彎道起始點和彎道結束點外擴成外弧曲線點和內弧曲線點,外弧曲線點和內弧曲線點為彎道處道路特征邊緣點數據模型。為了詳細說明得到彎道路段道路特征邊緣點數據模型的方法,下面結合附圖對其進行說明。如圖2所示,為彎道路段中心線數據點位于方位圖中的位置。1、首先確定路段0P、路段OQ的走向及斜率,以及路段0P、路段OQ之間的夾角α。 夾角α利用如下公式求得。
/ 、 OPxOQ公式中&為路段OP的向量,為向量@的模,為路段OQ的向量,為向量
OG的模。對C0s(JI-CI)進行反余弦處理得到α的值,α取值范圍為^),π ]。2、通過路段OP、路段OQ的夾角α、單向路寬W、及彎道精度S確定中心線上彎道起始點A和彎道結束點B的位置。AB段生成弧,其他部分生成直路面。彎道精度是用于控制曲線平滑的因子,即規定用直線段可替代的最大弧度數。AB點的位置計算很重要,取的過小,則彎道過渡不自然,也容易出現內部折疊的狀況;取的過大,則可能影響前后路斷的連接,造成前后路段重疊。彎道起始點A和彎道結束點B坐標計算如下
通過向量Oi確定彎道起始點A的位置;通過向量確定彎道結束點B的位置。
權利要求
1.一種三維道路模型生成方法,其特征在于,所述方法包括如下步驟(1)、對道路中心線數據進行采集,得到二維道路中心線節點數據;O)、解析道路結構特征,建立相應的道路模型,所述道路模型包括普通路段模型和路口模型;(3)、解析二維道路中心線節點數據的拓撲關系,分離出普通路段中心線節點數據和路口中心線節點數據;(4)、調用所述道路模型對所述節點數據進行模型化,生成道路邊緣特征點數據,所述道路邊緣特征點數據包括普通路段邊緣特征點數據和路口邊緣特征點數據;(5)、連接所述邊緣特征點數據對應的每個點,生成三維網格道路模型;(6)、依據道路的屬性數據將生成的三維網格道路模型貼上相應的紋理,得到三維道路實體模型。
2.如權利要求1所述的三維道路模型生成方法,其特征在于,所述步驟(6)之后還包括如下步驟(7)、對三維道路模型數據進行存儲或導出。
3.如權利要求2所述的三維道路模型生成方法,其特征在于,所述步驟(7)之后還包括如下步驟(8)、對導出的三維道路實體模型增加路燈、交通標志、防護欄紋理;(9)、對所述增加了路燈、交通標志、防護欄紋理的三維道路實體模型進行顯示。
4.如權利要求1所述的三維道路模型生成方法,其特征在于,所述步驟(1)包括采集航拍位圖,然后在航拍位圖上提取二維道路中心線節點數據;或讀取存儲道路中心線信息的文件,對道路中心線信息數據進行歸一化處理,得到二維道路中心線節點數據。
5.如權利要求4所述的三維道路模型生成方法,其特征在于,所述步驟( 建立道路模型的方法包括如下步驟A、從所述二維道路中心線節點數據中按順序取出三點道路中心線節點數據,并根據這三點道路中心線節點數據生成道路邊緣特征點數據模型;B、剔除第一點道路中心線節點數據,選擇與第三點道路中心線節點數據相鄰的下一個道路中心線節點數據加入,并根據這三點道路中心線節點數據生成道路邊緣特征點數據模型;C、重復步驟B,直到取到最后一個道路中心線節點數據結束。
6.如權利要求5所述的三維道路模型生成方法,其特征在于,所述道路邊緣特征點數據模型包括普通路段彎道處道路特征邊緣點數據模型,所述得到普通路段彎道處道路特征邊緣點數據模型的方法包括a、計算彎道處第一點和第二點道路中心線節點數據構成的第一線段的走向及斜率,及第二點和第三點道路中心線節點數據構成的第二線段的走向及斜率;計算第一線段和第二線段構成的夾角;b、根據所述夾角、單向路寬、及彎道精度確定中心線上彎道起始點和彎道結束點的位置;C、根據彎道起始點和彎道結束點外擴成外弧曲線點和內弧曲線點,外弧曲線點和內弧曲線點為普通路段彎道處道路特征邊緣點數據模型。
7.如權利要求5所述的三維道路模型生成方法,其特征在于,所述道路邊緣特征點數據模型包括路口道路特征邊緣點數據模型,建立路口道路特征邊緣點數據模型的方法包括h、計算路口道路每條道路第一點和第二點道路中心線節點數據構成的第一線段的走向及斜率,及第二點和第三點道路中心線節點數據構成的第二線段的走向及斜率;計算第一線段和第二線段構成的夾角;i、根據所述夾角、單向路寬、及彎道精度確定中心線上彎道起始點和彎道結束點的位置;j、根據彎道起始點和彎道結束點外擴成外弧曲線點和內弧曲線點,外弧曲線點和內弧曲線點為彎道處道路特征邊緣點數據模型;k、將路口所有彎道處曲線生成,再將彎道處外弧曲線點去掉,保留內弧曲線點,得到路口道路特征邊緣點數據模型。
8.如權利要求6或7所述的三維道路模型生成方法,其特征在于,所述彎道起始點和彎道結束點的確定采用如下方法通過向量Oi確定彎道起始點A的位置;通過向量確定彎道結束點B的位置; OA-X * OP/ ,.
9.如權利要求8所述的三維道路模型生成方法,其特征在于,所述外弧曲線點和內弧曲線點用圓弧模擬或貝塞爾曲線模擬。
10.如權利要求9所述的三維道路模型生成方法,其特征在于,所述用圓弧模擬的方法模擬外弧曲線點和內弧曲線點的方法包括I、過彎道起始點A做&的垂線,過彎道結束點B做的垂線,兩垂線相交于點Τ,所述 T為圓心T AT為半徑R,R加上單向路寬W為外弧半徑,R減去單向路寬W為內弧半徑;·11.依據向量Of、向量的走向,確定起始角度Φ; aIII、以y為步進,依次算出度數,采用公式ct+ZF*S*n計算,ZF為第一系數,由Q點與向 量0^的位置關系確定,ZF取值為1或者-1,η為圓弧分段數,η的取值為[1,〒取整加1]。IV、根據內弧半徑 R-W 及角度 <t+ZF*S*n,采用公式 χ = (R-W) *cos ( Φ+ZF*S*n),y = (R-W)*sin((j5+ZF*S*n)計算內弧上的每個特征點;根據外弧半徑R-W及角度Φ+ZF^S*!!,采用公式 χ = (R-W)*cos(<ji+ZF*S*n),y = (R-W) *sin ( Φ+ZF*S*n)計算外弧上的每個特征點ο
11.如權利要求1所述的三維道路模型生成方法,其特征在于,所述步驟(3)中分離普通路段和路口中心線節點數據的方法如下(一)、順序讀取一條多鏈路;(二)、順序讀取多鏈路中的一條鏈路;(三)、讀取鏈路中的節點;(四)、判斷節點是否屬于多條鏈路;如果否,根據路口節點數據查找其它包含該節點的多鏈路;(五)、將其歸類為普通路段中心線節點信息;(六)、判斷此鏈路是否為多鏈路中最后一條鏈路,如果否,跳轉到步驟(二);(七)、判斷此多鏈路是否為最后一條多鏈路,如果否,跳轉到步驟(一);如果是,結束ο
12.如權利要求11所述的三維道路模型生成方法,其特征在于,所述步驟(四)根據路口節點數據查找其它包含該節點的多鏈路包括如下步驟a、根據路口中心線信息節點查找相關聯的多鏈路;b、逐次讀取多鏈路;C、判斷節點所屬鏈路是否屬于起始或結束鏈路,如果是,獲取一個節點,如果否,獲取兩個節點;d、判斷此多鏈路是否為最后一條多鏈路,如果否,跳轉到步驟b,如果是,則結束。
13.如權利要求1所述的三維道路模型生成方法,其特征在于,所述步驟(6)具體為 依據車道數目信息對三維網格道路模型貼車道紋理,對道路路口的過渡段、斑馬線段、中心區域貼上相應紋理,得到三維道路實體模型。
14.一種三維道路模型生成系統,其特征在于,包括數據采集模塊,用于對道路中心線數據進行采集,得到二維道路中心線節點數據; 道路模型建立模塊,用于解析道路結構特征,建立相應的道路模型,所述道路模型包括普通路段模型和路口模型;數據分離模塊,用于解析所述二維道路中心線節點數據的拓撲關系,分離出普通路段中心線節點數據和路口中心線節點數據;數據模型化模塊,用于調用所述道路模型對所述節點數據進行模型化,生成道路邊緣特征點數據,所述道路邊緣特征點數據包括普通路段邊緣特征點數據和路口邊緣特征點數據;三維網格道路模型生成模塊,用于連接所述邊緣特征點數據對應的每個點,生成三維網格道路模型;三維道路實體模型生成模塊,用于依據道路的屬性數據將生成的三維網格道路模型貼上相應的紋理,得到三維道路實體模型。
15.如權利要求14所述的三維道路模型生成系統,其特征在于,所述系統還包括存儲輸出模塊,用于對所述三維道路模型數據進行存儲或導出。
16.如權利要求15所述的三維道路模型生成系統,其特征在于,所述系統還包括 道路鋪裝模塊,用于對導出的三維道路實體模型增加路燈、交通標志、防護欄紋理; 顯示模塊,用于對所述增加了路燈、交通標志、防護欄紋理的三維道路實體模型進行顯示。
全文摘要
一種三維道路模型生成方法,屬于三維道路建模領域。該方法包括如下步驟(1)、對道路中心線數據進行采集,得到二維道路中心線節點數據;(2)、解析道路結構特征,建道路模型;(3)、從二維道路中心線數據中分離出普通路段和路口中心線節點數據;(4)、調用所述道路模型對所述節點數據進行模型化,生成普通路段和路口邊緣特征點數據;(5)、連接所述邊緣特征點數據對應的每個點生成三維網格道路模型;(6)、依據道路的屬性數據將生成的三維網格道路模型貼上相應的紋理,得到三維道路實體模型。本發明還提供了一種三維道路模型生成系統。本發明的三維道路模型生成方法全自動的生成三維道路模型,避免了人工干預,提高了建模效率。
文檔編號G06T17/05GK102436678SQ20101050343
公開日2012年5月2日 申請日期2010年9月29日 優先權日2010年9月29日
發明者任偉, 張偉鵬, 曹旭, 肖承柳 申請人:比亞迪股份有限公司