本技術(shù)涉及計(jì)算機(jī),具體涉及一種模型構(gòu)建方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著社會(huì)水平的不斷發(fā)展,道路也隨之變得越來(lái)越錯(cuò)綜復(fù)雜,人們?cè)诔鲂袝r(shí)需要借助電子地圖完成路線規(guī)劃、路線導(dǎo)航等。由于二維電子地圖(包括道路的二維信息,即經(jīng)度信息以及緯度信息)無(wú)法直觀顯示隧道的空間展布,故三維電子地圖(包括道路的三維信息,即經(jīng)度信息、緯度信息以及高度信息)的三維隧道構(gòu)建的需求越來(lái)越明顯。
2、相關(guān)技術(shù)中,一般采用手工隧道建模或者基于點(diǎn)云的隧道建模的技術(shù)進(jìn)行三維隧道構(gòu)建,在對(duì)相關(guān)技術(shù)的研究和實(shí)踐過(guò)程中,本技術(shù)的發(fā)明人發(fā)現(xiàn),相關(guān)技術(shù)中,無(wú)論是手工隧道建?;蛘呋邳c(diǎn)云的隧道建模的方式,數(shù)據(jù)處理都較為繁瑣,模型構(gòu)建效率都非常低,且花費(fèi)的人工成本極高。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例提供一種模型構(gòu)建方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可以提升模型構(gòu)建的效率,節(jié)省成本。
2、為解決上述技術(shù)問(wèn)題,本技術(shù)實(shí)施例提供以下技術(shù)方案:
3、一種模型構(gòu)建方法,包括:
4、獲取道路面要素上的長(zhǎng)邊要素,所述長(zhǎng)邊要素上包括多個(gè)邊節(jié)點(diǎn);
5、在所述長(zhǎng)邊要素之間進(jìn)行邊節(jié)點(diǎn)對(duì)位重采樣,得到邊節(jié)點(diǎn)對(duì)位重采樣后包括多個(gè)目標(biāo)邊節(jié)點(diǎn)的長(zhǎng)邊要素;
6、確定所述長(zhǎng)邊要素之間形成的目標(biāo)邊節(jié)點(diǎn)對(duì),并基于所述目標(biāo)邊節(jié)點(diǎn)對(duì)構(gòu)建相應(yīng)的多個(gè)墻面節(jié)點(diǎn),所述多個(gè)墻面節(jié)點(diǎn)的墻頂節(jié)點(diǎn)高度相同;
7、根據(jù)所述多個(gè)墻面節(jié)點(diǎn)構(gòu)建相應(yīng)的多個(gè)頂面節(jié)點(diǎn);
8、基于所述多個(gè)目標(biāo)邊節(jié)點(diǎn)、多個(gè)墻面節(jié)點(diǎn)以及多個(gè)頂面節(jié)點(diǎn)進(jìn)行三維建模,構(gòu)建隧道結(jié)構(gòu)模型。
9、一種模型構(gòu)建裝置,包括:
10、獲取單元,用于獲取道路面要素上的長(zhǎng)邊要素,所述長(zhǎng)邊要素上包括多個(gè)邊節(jié)點(diǎn);
11、采樣單元,用于在所述長(zhǎng)邊要素之間進(jìn)行邊節(jié)點(diǎn)對(duì)位重采樣,得到邊節(jié)點(diǎn)對(duì)位重采樣后包括多個(gè)目標(biāo)邊節(jié)點(diǎn)的長(zhǎng)邊要素;
12、第一構(gòu)建單元,用于確定所述長(zhǎng)邊要素之間形成的目標(biāo)邊節(jié)點(diǎn)對(duì),并基于所述目標(biāo)邊節(jié)點(diǎn)對(duì)構(gòu)建相應(yīng)的多個(gè)墻面節(jié)點(diǎn),所述多個(gè)墻面節(jié)點(diǎn)的墻頂節(jié)點(diǎn)高度相同;
13、第二構(gòu)建單元,用于根據(jù)所述多個(gè)墻面節(jié)點(diǎn)構(gòu)建相應(yīng)的多個(gè)頂面節(jié)點(diǎn);
14、第三構(gòu)建單元,用于基于所述多個(gè)目標(biāo)邊節(jié)點(diǎn)、多個(gè)墻面節(jié)點(diǎn)以及多個(gè)頂面節(jié)點(diǎn)進(jìn)行三維建模,構(gòu)建隧道結(jié)構(gòu)模型。
15、在一些實(shí)施方式中,所述采樣單元,用于:
16、計(jì)算長(zhǎng)邊要素上的每個(gè)邊節(jié)點(diǎn)的位置百分比;
17、依次在每個(gè)邊節(jié)點(diǎn)對(duì)位的長(zhǎng)邊要素上按照相同的位置百分比進(jìn)行邊節(jié)點(diǎn)重采樣,得到包括多個(gè)目標(biāo)邊節(jié)點(diǎn)的長(zhǎng)邊要素。
18、在一些實(shí)施方式中,所述第一構(gòu)建單元,包括:
19、第一確定子單元,用于將對(duì)位的長(zhǎng)邊要素上處于相同的位置百分比的邊節(jié)點(diǎn)對(duì)確定為目標(biāo)邊節(jié)點(diǎn)對(duì);
20、第二確定子單元,用于基于所述目標(biāo)邊節(jié)點(diǎn)對(duì)確定相應(yīng)的墻頂高度;
21、計(jì)算子單元,用于根據(jù)所述目標(biāo)邊節(jié)點(diǎn)對(duì)之間的間距計(jì)算出相應(yīng)的墻面偏移距離;
22、構(gòu)建子單元,用于在所述墻頂高度和墻面偏移距離的約束下,基于所述目標(biāo)邊節(jié)點(diǎn)對(duì)構(gòu)建相應(yīng)的多個(gè)墻面節(jié)點(diǎn)。
23、在一些實(shí)施例中,所述第二確定子單元,用于:
24、獲取所述目標(biāo)邊節(jié)點(diǎn)對(duì)中兩個(gè)目標(biāo)邊節(jié)點(diǎn)的高度;
25、對(duì)比兩個(gè)目標(biāo)邊節(jié)點(diǎn)的高度,確定高度更大的目標(biāo)邊節(jié)點(diǎn)的目標(biāo)高度;
26、基于所述目標(biāo)高度加上預(yù)設(shè)墻面高度,得到墻頂高度。
27、在一些實(shí)施例中,所述計(jì)算子單元,用于:
28、獲取所述目標(biāo)邊節(jié)點(diǎn)對(duì)之間的間距;
29、獲取預(yù)設(shè)墻壁曲率,并根據(jù)所述間距和預(yù)設(shè)墻壁曲率計(jì)算出相應(yīng)的墻面偏移距離。
30、在一些實(shí)施例中,所述構(gòu)建子單元,用于:
31、確定所述目標(biāo)邊節(jié)點(diǎn)對(duì)中每個(gè)目標(biāo)邊節(jié)點(diǎn)的水平偏移方向以及垂直偏移方向;
32、將余弦函數(shù)作為所述墻面偏移距離對(duì)應(yīng)的曲線的偏移函數(shù);
33、在所述水平偏移方向上,根據(jù)所述偏移函數(shù)以及預(yù)設(shè)墻面采樣點(diǎn)數(shù)量確定每個(gè)目標(biāo)邊節(jié)點(diǎn)相應(yīng)的墻面節(jié)點(diǎn)的橫坐標(biāo)偏移量;
34、在所述垂直偏移方向上,根據(jù)預(yù)設(shè)墻面采樣點(diǎn)數(shù)量和墻頂高度確定每個(gè)目標(biāo)邊節(jié)點(diǎn)相應(yīng)的墻面節(jié)點(diǎn)的縱坐標(biāo)偏移量;
35、基于所述橫坐標(biāo)偏移量和縱坐標(biāo)偏移量,構(gòu)建所述目標(biāo)邊節(jié)點(diǎn)對(duì)相應(yīng)的多個(gè)墻面節(jié)點(diǎn)。
36、在一些實(shí)施例中,所述構(gòu)建子單元,還用于:
37、確定所述目標(biāo)邊節(jié)點(diǎn)對(duì)中每個(gè)目標(biāo)邊節(jié)點(diǎn)的水平偏移方向以及垂直偏移方向;
38、將余弦函數(shù)作為所述墻面偏移距離對(duì)應(yīng)的曲線的偏移函數(shù);
39、在所述水平偏移方向上,根據(jù)所述偏移函數(shù)以及預(yù)設(shè)墻面采樣點(diǎn)數(shù)量確定每個(gè)目標(biāo)邊節(jié)點(diǎn)相應(yīng)的墻面節(jié)點(diǎn)的橫坐標(biāo)偏移量;
40、在所述垂直偏移方向上,基于所述墻頂高度和每個(gè)目標(biāo)邊節(jié)點(diǎn)指示的高度的差值,確定目標(biāo)墻高;
41、根據(jù)所述目標(biāo)墻高和預(yù)設(shè)墻面采樣點(diǎn)數(shù)量的比值,確定每個(gè)目標(biāo)邊節(jié)點(diǎn)相應(yīng)的墻面節(jié)點(diǎn)的縱坐標(biāo)偏移量;
42、基于所述橫坐標(biāo)偏移量和縱坐標(biāo)偏移量,構(gòu)建所述目標(biāo)邊節(jié)點(diǎn)對(duì)相應(yīng)的多個(gè)墻面節(jié)點(diǎn)。
43、在一些實(shí)施例中,所述獲取單元,用于:
44、獲取道路面要素上的多個(gè)節(jié)點(diǎn);
45、依次計(jì)算出每個(gè)節(jié)點(diǎn)相應(yīng)的夾角數(shù)據(jù);
46、將所述夾角數(shù)據(jù)滿足預(yù)設(shè)條件的節(jié)點(diǎn)確認(rèn)為直角拐角節(jié)點(diǎn);
47、根據(jù)所述直角拐角節(jié)點(diǎn)確定所述道路面要素上的長(zhǎng)邊要素。
48、在一些實(shí)施例中,所述第二構(gòu)建單元,用于:
49、確定子單元,用于根據(jù)所述多個(gè)墻面節(jié)點(diǎn)中對(duì)稱(chēng)的墻頂節(jié)點(diǎn),確定弧形角度;
50、構(gòu)建子單元,用于根據(jù)所述弧形角度以及預(yù)設(shè)頂面采樣點(diǎn)數(shù)量,構(gòu)建相應(yīng)的多個(gè)頂面節(jié)點(diǎn)。
51、在一些實(shí)施例中,所述確定子單元,用于:
52、根據(jù)所述多個(gè)墻面節(jié)點(diǎn)中對(duì)稱(chēng)的墻頂節(jié)點(diǎn)的坐標(biāo),計(jì)算出相應(yīng)的圓心坐標(biāo);
53、基于所述圓心坐標(biāo)和對(duì)稱(chēng)的墻頂節(jié)點(diǎn)的坐標(biāo),確定相應(yīng)的弧形角度。
54、在一些實(shí)施例中,所述第三構(gòu)建單元,用于:
55、基于每條長(zhǎng)邊要素上的目標(biāo)邊節(jié)點(diǎn)進(jìn)行外墻節(jié)點(diǎn)擴(kuò)展,得到每條長(zhǎng)邊要素相應(yīng)的外墻長(zhǎng)邊要素,所述外墻長(zhǎng)邊要素上包括多個(gè)目標(biāo)外墻邊節(jié)點(diǎn);
56、確定所述外墻長(zhǎng)邊要素之間形成的目標(biāo)外墻邊節(jié)點(diǎn)對(duì),并基于所述目標(biāo)外墻邊節(jié)點(diǎn)對(duì)構(gòu)建相應(yīng)的多個(gè)外墻面節(jié)點(diǎn),所述多個(gè)外墻面節(jié)點(diǎn)的外墻頂節(jié)點(diǎn)高度相同;
57、根據(jù)所述多個(gè)外墻面節(jié)點(diǎn)構(gòu)建相應(yīng)的多個(gè)外墻頂面節(jié)點(diǎn);
58、基于所述多個(gè)目標(biāo)外墻邊節(jié)點(diǎn)、多個(gè)外墻面節(jié)點(diǎn)、多個(gè)外墻頂面節(jié)點(diǎn)、多個(gè)目標(biāo)邊節(jié)點(diǎn)、多個(gè)墻面節(jié)點(diǎn)以及多個(gè)頂面節(jié)點(diǎn)進(jìn)行三維建模,構(gòu)建隧道結(jié)構(gòu)模型。
59、在一些實(shí)施例中,所述裝置,還包括貼圖單元,用于:
60、將所述隧道結(jié)構(gòu)模型的內(nèi)墻面分為墻面區(qū)域、頂燈區(qū)域以及頂面區(qū)域;
61、基于所述墻面區(qū)域、頂燈區(qū)域以及頂面區(qū)域分別進(jìn)行紋理坐標(biāo)貼圖;
62、對(duì)所述隧道結(jié)構(gòu)模型的外墻面進(jìn)行紋理坐標(biāo)貼圖;
63、對(duì)所述隧道結(jié)構(gòu)模型的側(cè)面進(jìn)行紋理坐標(biāo)貼圖。
64、一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有多條指令,所述指令適于處理器進(jìn)行加載,以執(zhí)行上述模型構(gòu)建方法中的步驟。
65、一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器中并可以在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述模型構(gòu)建方法中的步驟。
66、一種計(jì)算機(jī)程序產(chǎn)品或計(jì)算機(jī)程序,所述計(jì)算機(jī)程序產(chǎn)品或計(jì)算機(jī)程序包括計(jì)算機(jī)指令,所述計(jì)算機(jī)指令存儲(chǔ)在存儲(chǔ)介質(zhì)中。計(jì)算機(jī)設(shè)備的處理器從存儲(chǔ)介質(zhì)讀取所述計(jì)算機(jī)指令,處理器執(zhí)行所述計(jì)算機(jī)指令,使得所述計(jì)算機(jī)上述模型構(gòu)建方法中的步驟。
67、本技術(shù)實(shí)施例通過(guò)獲取道路面要素上的長(zhǎng)邊要素;在長(zhǎng)邊要素之間進(jìn)行邊節(jié)點(diǎn)對(duì)位重采樣,得到邊節(jié)點(diǎn)對(duì)位重采樣后包括多個(gè)目標(biāo)邊節(jié)點(diǎn)的長(zhǎng)邊要素;確定長(zhǎng)邊要素之間形成的目標(biāo)邊節(jié)點(diǎn)對(duì),并基于目標(biāo)邊節(jié)點(diǎn)對(duì)構(gòu)建相應(yīng)的多個(gè)墻面節(jié)點(diǎn);根據(jù)多個(gè)墻面節(jié)點(diǎn)構(gòu)建相應(yīng)的多個(gè)頂面節(jié)點(diǎn);基于多個(gè)目標(biāo)邊節(jié)點(diǎn)、多個(gè)墻面節(jié)點(diǎn)以及多個(gè)頂面節(jié)點(diǎn)進(jìn)行三維建模,構(gòu)建隧道結(jié)構(gòu)模型。以此,基于道路面要素,通過(guò)邊節(jié)點(diǎn)對(duì)位重采樣以及墻頂節(jié)點(diǎn)高度一致的構(gòu)建條件,構(gòu)建多個(gè)墻面節(jié)點(diǎn)以及多個(gè)多個(gè)頂面節(jié)點(diǎn),進(jìn)而實(shí)現(xiàn)快速的對(duì)隧道結(jié)構(gòu)模型進(jìn)行三維建模,相對(duì)于相關(guān)技術(shù)通過(guò)手工隧道建模或者基于點(diǎn)云的隧道建模的方案而言,極大的提升了模型構(gòu)建的效率,降低了數(shù)據(jù)處理成本。