一種快速建立智能交通三維場的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及智能交通領(lǐng)域,尤其是涉及一種快速建立智能交通三維場的方法。
【背景技術(shù)】
[0002]隨著城市化進(jìn)程的不斷推進(jìn),城市面貌發(fā)生了巨大變化,同時(shí)人流、車流、物流對城市道路交通管理帶來了巨大的壓力,如交通堵塞、交通環(huán)境惡化、交通事故頻發(fā)等,已經(jīng)成為當(dāng)前世界各國面臨的共同問題。解決交通問題的傳統(tǒng)辦法是修建或擴(kuò)建道路,但是隨著人口的增長,城市人均居住面積日益減少,可供修建道路的空間也越來越少。同時(shí)交通系統(tǒng)是一個(gè)復(fù)雜的綜合性系統(tǒng),單獨(dú)從道路或車輛的角度來考慮很難解決交通問題,由此產(chǎn)生了智能交通系統(tǒng)。
[0003]智能交通系統(tǒng)是將先進(jìn)的信息處理技術(shù)、定位導(dǎo)航技術(shù)、數(shù)據(jù)通信技術(shù)、電子傳感器技術(shù)、自動(dòng)控制技術(shù)、圖像處理與計(jì)算機(jī)視覺技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、人工智能技術(shù)、運(yùn)籌管理學(xué)等有效的綜合運(yùn)行于交通管理體系。虛擬現(xiàn)實(shí)有著沉浸性、交互性和構(gòu)想性等特性,因此虛擬現(xiàn)實(shí)技術(shù)、計(jì)算機(jī)圖形圖像技術(shù)、人工智能等技術(shù)相結(jié)合能提高交通仿真的真實(shí)性,為交通管理控制提供更可靠的數(shù)據(jù),對控制方案進(jìn)行更科學(xué)的評估,以及對交通事故進(jìn)行更合理的分析。
[0004]現(xiàn)有的交通系統(tǒng)的管理,是通過構(gòu)建三維虛擬交通場景主要是靜態(tài)物體的建立,如房屋、樹木、道路網(wǎng),從而建立起逼真的交通環(huán)境,三維場景一般是通過3D建模軟件來建立,在此基礎(chǔ)上來進(jìn)行道路交通的管理和分析。但是,現(xiàn)有的交通管理系統(tǒng)只是單純的通過三維建模和渲染技術(shù)建立視覺上逼真的交通環(huán)境,缺少了更重要的交通環(huán)境中的各種動(dòng)態(tài)因素,比如道路上的汽車、交通信號、道路誘導(dǎo)信息、檢測器信息等。另外通過3D建模軟件來建立交通環(huán)境是一個(gè)需要大量人力和物力的過程,不能達(dá)到快速實(shí)施的要求。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明的目的在于提供一種快速建立智能交通三維場的方法,解決了現(xiàn)有技術(shù)中的問題,可以快速建立三維場景,同時(shí)將動(dòng)態(tài)因素引入道路交通環(huán)境,提高了虛擬交通環(huán)境的真實(shí)性,有效地逼真再現(xiàn)道路交通環(huán)境的真實(shí)狀態(tài)。
[0006]為達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案:
一種快速建立智能交通三維場的方法,包括如下步驟:
步驟1,建立靜態(tài)模型;靜態(tài)模型包括道路模型、建筑模型、植物模型和地形模型;所述道路模型的建立采用以下步驟:
(1)讀取電子地圖數(shù)據(jù),檢測地圖數(shù)據(jù)的圖像格式,圖像格式為RGB和RGBA兩種;讀取電子地圖的范圍數(shù)據(jù);
(2)將電子地圖數(shù)據(jù)灰度化;根據(jù)道路的灰度代表色,將電子地圖數(shù)據(jù)分割為兩個(gè)區(qū)域,道路區(qū)域和非道路區(qū)域;
(3)去除地圖數(shù)據(jù)中的孤立點(diǎn); (4)在區(qū)域分割后,根據(jù)圖像的連續(xù)性特征,檢測出如果某個(gè)像素是孤立點(diǎn),將其變?yōu)槠湎喾吹膮^(qū)域;
(5)根據(jù)道路區(qū)域平滑算法,對道路區(qū)域進(jìn)行平滑處理;
(6)將地圖數(shù)據(jù)向四周擴(kuò)大一個(gè)非道路區(qū)域像素;使用圖像細(xì)化算法,提取道路區(qū)域的主框架;道路區(qū)域并不是對稱區(qū)域,導(dǎo)致圖像細(xì)化后的道路中心線是曲折的,使用中心線平滑算法,平滑道路中心線區(qū)域;
(7)將地圖數(shù)據(jù)向四周縮小一個(gè)像素;
(8)根據(jù)像素的連通性特性,將道路的主框架分割為若干條獨(dú)立的道路段,根據(jù)電子地圖的范圍,計(jì)算出每個(gè)像素的控件大小,將若干條的獨(dú)立道路段轉(zhuǎn)為三維空間的道路中心線數(shù)據(jù);
(9)根據(jù)道路中心線和道路參數(shù)生成道路模型;
步驟2,建立動(dòng)態(tài)模型;
步驟3,根據(jù)靜態(tài)模型和動(dòng)態(tài)模型進(jìn)行狀態(tài)控制、決策分析和車輛跟蹤。
[0007]作為優(yōu)選,所述去除孤立點(diǎn)的步驟為:
(1)遍歷地圖數(shù)據(jù)中的每一個(gè)像素;
(2)獲取像素位置的周邊像素;
(3)當(dāng)像素在地圖數(shù)據(jù)的邊角的時(shí)候,其周邊像素有3個(gè);當(dāng)像素在地圖數(shù)據(jù)的邊緣但不是邊角的時(shí)候,其周邊像素有5個(gè);當(dāng)像素在地圖數(shù)據(jù)的內(nèi)部的時(shí)候,其周邊像素的數(shù)據(jù)有8個(gè);
(4)周邊像素只有兩種狀態(tài):道路像素和非道路像素,如檢測到的周邊像素的道路像素大于非道路像素的數(shù)量,則將像素位置設(shè)置為道路像素,否則設(shè)置為非道路像素。
[0008]作為優(yōu)選,所述道路區(qū)域平滑算法步驟為:
(1)遍歷地圖數(shù)據(jù)中的每一個(gè)像素;
(2)如果像素是道路像素,則執(zhí)行步驟(1),否則執(zhí)行步驟(3);
(3)以當(dāng)前像素為中心,三個(gè)像素為半徑,按照上、下、左、右、左上、左下、右上、右下8個(gè)方向,判斷每個(gè)方向上是否有道路像素;
(4)計(jì)算有道路像素的方向數(shù)量,如果有道路像素的方向數(shù)量大于非道路像素的方向數(shù)量,則當(dāng)前像素設(shè)置為道路像素;
(5)檢測像素是否遍歷完成,如果沒有完成,執(zhí)行步驟I。
[0009]作為優(yōu)選,所述道路中心線平滑算法步驟為:
(1)水平遍歷地圖數(shù)據(jù)中的每個(gè)像素;
(2)如果當(dāng)前像素是道路像素,則記錄下像素的水平位置,直到在當(dāng)前行遇到下一個(gè)道路像素;
(3)如果兩個(gè)道路像素的像素?cái)?shù)量大于預(yù)設(shè)值,則記錄下當(dāng)前像素的水平位置,執(zhí)行步驟(1),否則執(zhí)行步驟(4);
(4)遍歷兩個(gè)道路像素之間的所有像素:
a.如果當(dāng)前像素的上一行是道路像素,則設(shè)置為非道路像素;
b.如果當(dāng)前像素的下一行是道路像素,則設(shè)置為非道路像素;
c.設(shè)置當(dāng)前像素為道路像素; (5)垂直遍歷地圖數(shù)據(jù)中的每個(gè)像素;
(6)如果當(dāng)前像素是道路像素,則記錄下像素的垂直位置,直到在當(dāng)前行遇到下一個(gè)道路像素;
(7)如果兩個(gè)道路像素的像素?cái)?shù)量大于預(yù)設(shè)值,則記錄下當(dāng)前像素的垂直位置,執(zhí)行步驟(5),否則執(zhí)行步驟(8);
(8)遍歷兩個(gè)道路像素之間的所有像素:
a.如果當(dāng)前像素的上一行是道路像素,則設(shè)置為非道路像素;
b.如果當(dāng)前像素的下一行是道路像素,則設(shè)置為非道路像素;
c.設(shè)置當(dāng)前像素為道路像素。
[0010]作為優(yōu)選,所述建筑建模的步驟為:
(1)讀取道路模型數(shù)據(jù);在道路貼圖庫中隨機(jī)產(chǎn)生一個(gè)建筑貼圖對象,建筑貼圖對象包含了一個(gè)建筑中需要的貼圖信息,主要是墻體和屋頂兩部分;
(2)查找所有的道路模型信息;
(3)計(jì)算道路模型去除交叉口后,剩余的道路信息;
(4)遍歷去除交叉口后的道路,根據(jù)道路中心線和道路參數(shù)信息在道路兩端布局隨機(jī)建筑:
a.獲取道路的中心線,相連的兩個(gè)點(diǎn)為一組,循環(huán)遍歷中心線;
b.獲取道路中心線上的相連的兩個(gè)點(diǎn),根據(jù)道路信息和建筑的退讓距離,獲取道路左右兩邊布局建筑的建筑邊界;
c.對于左右編輯執(zhí)行如下步驟,生成隨機(jī)建筑;
d.根據(jù)指定的隨機(jī)建筑的生成參數(shù),獲取隨機(jī)建筑的長寬高信息;
e.從邊界的初始位置依次放置隨機(jī)建筑,直到邊界的尾端。
[0011]作為優(yōu)選,所述植物模型的建立方式為區(qū)域種樹步驟或沿線種樹步驟;
所述區(qū)域種樹步驟為:
(1)選擇區(qū)域內(nèi)種植植物的種類;
(2)設(shè)置布局植物之間的布局間距;
(3)選擇植物的種植區(qū)域;
(4)在種植區(qū)域內(nèi),根據(jù)樹種的間隔距離,將種植區(qū)域劃分為一定的方格子;
(5)種植區(qū)域內(nèi)的植物數(shù)量為方格子數(shù)量*0.9;
(6)以當(dāng)前時(shí)間為隨機(jī)種子,循環(huán)獲取隨機(jī)數(shù)并與方格子數(shù)量求余得到的結(jié)果,其值的位置就是需要種植植物的位置;
(7)循環(huán)執(zhí)行步驟5,直到區(qū)域內(nèi)的植物滿足步驟5的要求;
所述沿線部樹步驟為:
(1)選擇需要布局的植物;
(2)設(shè)置布局植物之間的布局距離;
(3)繪制布局線段;
(4)獲取布局線段的信息;
(5)根據(jù)植物的布局距離,從布局線段初始位置,每隔布局距離大小的間隔,布局一棵植物,直到布局線段的末端。
[0012]作為優(yōu)選,所述動(dòng)態(tài)模型的建立包括如下步驟:
(1)信號燈的建立步驟:
(11)初始化信號燈實(shí)體庫;
(12)打開信號燈列表,選擇需要添加的信號燈類型;
(13)通過鼠標(biāo)點(diǎn)擊將指定的信號燈添加到場景中,給每個(gè)添加到場景中的信號燈分配一個(gè)唯一的ID信息,信號燈的初始狀態(tài)為無信號;
(14)通