本技術(shù)涉及傾斜模型單體化重建領(lǐng)域,尤其涉及一種實(shí)景三維建筑模型漸進(jìn)式多層次細(xì)節(jié)單體化重建方法。
背景技術(shù):
1、實(shí)景三維模型是指利用攝影測(cè)量、遙感、三維激光掃描、無(wú)人機(jī)測(cè)繪等現(xiàn)代測(cè)繪技術(shù)手段獲取、生成的表達(dá)真實(shí)世界的三維模型。其中傾斜攝影模型是目前最為常見(jiàn)的實(shí)景三維模型,在城市級(jí)實(shí)景三維建設(shè)中扮演重要角色。然而傾斜攝影模型通常為連續(xù)的三角網(wǎng)結(jié)構(gòu)(三角網(wǎng)是由一系列連續(xù)三角形構(gòu)成的網(wǎng)狀的平面控制圖形),模型數(shù)據(jù)量大、數(shù)據(jù)更新困難、缺乏場(chǎng)景對(duì)象語(yǔ)義信息,無(wú)法對(duì)建筑物等地理實(shí)體進(jìn)行對(duì)象化管理,限制了實(shí)景三維應(yīng)用的進(jìn)一步發(fā)展。
2、針對(duì)實(shí)景三維模型中建筑物單體化的問(wèn)題,相關(guān)研究人員提出了基于矢量輪廓的切割單體化、三維渲染過(guò)程中疊加矢量數(shù)據(jù)的動(dòng)態(tài)單體化技術(shù),但此技術(shù)僅僅只是在原始傾斜模型的基礎(chǔ)上進(jìn)行單體化處理,未對(duì)傾斜模型復(fù)雜的三角網(wǎng)和離散的紋理進(jìn)行輕量化重建,無(wú)法從根本上解決傾斜模型數(shù)據(jù)量大、表面凹凸不平、存在孔洞和懸浮物、三維空間分析應(yīng)用困難等先天的局限性。
3、目前對(duì)于實(shí)景三維建筑模型的單體化重建,特別是優(yōu)于lod1.3、lod2.0級(jí)建筑單體化建模主要以手工建模和半自動(dòng)化為主,此技術(shù)方案重建效率低、成本高、易產(chǎn)生幾何結(jié)構(gòu)錯(cuò)誤,難以滿足大范圍實(shí)景三維應(yīng)用的要求。
4、此外,不同的實(shí)景三維應(yīng)用在建筑模型單體化重建精度要求、模型渲染的最大承載量方面不盡相同,往往需要生產(chǎn)lod1.0、lod1.3、lod2.0等多層次細(xì)節(jié)的模型數(shù)據(jù)。目前在進(jìn)行實(shí)景三維建筑模型多層級(jí)lod建模時(shí),普遍采用分開(kāi)獨(dú)立構(gòu)建或從高層級(jí)模型再向低層級(jí)模型逐級(jí)抽取的方式,極大的限制了多層級(jí)單體化建筑模型的生產(chǎn)效率。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于:為了解決現(xiàn)有的實(shí)景三維模型建筑單體化建模工藝存在手工單體化建模成本高、模型幾何結(jié)構(gòu)正確性難保證以及多層級(jí)lod模型構(gòu)建效率低等問(wèn)題,提供一種實(shí)景三維建筑模型漸進(jìn)式多層次細(xì)節(jié)單體化重建方法。
2、本技術(shù)的上述目的是通過(guò)以下技術(shù)方案得以實(shí)現(xiàn)的:
3、s1:根據(jù)建筑的實(shí)景三維模型,結(jié)合基于randla-net和pointnet++相結(jié)合的深度學(xué)習(xí)模型,得到分類后點(diǎn)云數(shù)據(jù);
4、s2:對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行網(wǎng)格劃分,得到各個(gè)點(diǎn)云塊;
5、使用僅保留地面分類的點(diǎn)云塊,逐網(wǎng)格生成表達(dá)地形特征的dem數(shù)據(jù);
6、使用保留建筑分類和地面分類的點(diǎn)云塊,逐網(wǎng)格生成表達(dá)建筑高度特征的dsm柵格數(shù)據(jù);
7、本行情
8、s3:根據(jù)像元高度值,將dsm柵格數(shù)據(jù)渲染成柵格化的立體模型并進(jìn)行水平逐級(jí)切割,得到建筑多層輪廓面數(shù)據(jù);對(duì)建筑多層輪廓面數(shù)據(jù)進(jìn)行建筑輪廓面規(guī)則化處理,輸出規(guī)則化處理后的建筑輪廓面;
9、s4:對(duì)建筑輪廓面進(jìn)行空間合并運(yùn)算,得到lod0級(jí)矢量要素模型;
10、s5:在lod0級(jí)矢量要素模型基礎(chǔ)上,結(jié)合dsm柵格數(shù)據(jù)和dem數(shù)據(jù),確定建筑的屋頂高度值和底部高度值;
11、s6:基于lod0級(jí)矢量要素模型的建筑輪廓面、屋頂高度值和底部高度值,進(jìn)行模型網(wǎng)格體的生成,得到第二個(gè)層次細(xì)節(jié)的lod1.0級(jí)建筑白模;
12、s7:根據(jù)建筑多層輪廓面數(shù)據(jù)以及l(fā)od1.0級(jí)建筑白模,得到lod1.3體塊白模;
13、s8:對(duì)lod1.3體塊白模映射通用紋理,得到lod1.3級(jí)建筑體塊模型;
14、s9:對(duì)dsm柵格數(shù)據(jù)進(jìn)行網(wǎng)格劃分以及平面擬合處理,確定屋頂頂蓋結(jié)構(gòu);根據(jù)屋頂頂蓋結(jié)構(gòu)以及l(fā)od1.3體塊白模,生成lod2.0級(jí)建筑白模;
15、s10:通過(guò)lod2.0級(jí)建筑白模,得到每一棟建筑的第一墻面貼圖和第一屋頂貼圖;
16、s11:對(duì)lod2.0級(jí)建筑白模映射第一屋頂貼圖和第一墻面貼圖,生成lod2.0級(jí)建筑標(biāo)準(zhǔn)模型,完成實(shí)景三維模型的漸進(jìn)式多層次細(xì)節(jié)單體化重建。
17、本技術(shù)通過(guò)采用上述技術(shù)方案,區(qū)別于其他現(xiàn)有的一次重建只能進(jìn)行一種精細(xì)度層級(jí)的模型輸出的技術(shù),本發(fā)明通過(guò)多層級(jí)建筑單體化重建模式的創(chuàng)新,實(shí)現(xiàn)了基于原始傾斜模型的一次單體化重建,漸進(jìn)式輸出lod0、lod1.0、lod1.3、lod2.0多層次細(xì)節(jié)的建筑單體模型,高層級(jí)模型構(gòu)建可充分利用低層級(jí)模型的重建成果,節(jié)省單體化建模時(shí)間,減少建模成本。
18、本技術(shù)通過(guò)采用上述技術(shù)方案,現(xiàn)有的技術(shù)基于實(shí)景三維模型的重建一般直接基于傾斜模型mesh三角網(wǎng)進(jìn)行切割重構(gòu),計(jì)算量巨大,且無(wú)法解決因mesh三角網(wǎng)空洞、懸浮物導(dǎo)致的重建結(jié)果幾何結(jié)構(gòu)異常。本發(fā)明采用先基于傾斜模型生成彩色點(diǎn)云,利用深度學(xué)習(xí)技術(shù)進(jìn)行點(diǎn)云分類,然后利用只保留地面點(diǎn)和建筑點(diǎn)的點(diǎn)云生成dsm柵格數(shù)據(jù)再進(jìn)行建筑重構(gòu),極大的提高了模型重建效率和針對(duì)異常傾斜數(shù)據(jù)重建的魯棒性,對(duì)異常mesh數(shù)據(jù)的適應(yīng)性更強(qiáng)。
19、步驟s1包括:
20、獲取實(shí)景三維模型;
21、對(duì)實(shí)景三維模型進(jìn)行間隔采樣,生成三維彩色點(diǎn)云;
22、采用基于randla-net和pointnet++相結(jié)合的深度學(xué)習(xí)模型對(duì)三維彩色點(diǎn)云進(jìn)行點(diǎn)云語(yǔ)義分割,獲得分類后的點(diǎn)云數(shù)據(jù);點(diǎn)云語(yǔ)義分割包括:建筑分割、地面分割以及植被分割。
23、本技術(shù)通過(guò)采用上述技術(shù)方案,采用randla-net作為點(diǎn)云語(yǔ)義分割主框架并融合pointnet++的點(diǎn)云采樣算法以保證點(diǎn)云分類的效率、精度和對(duì)點(diǎn)云不同密度區(qū)域的適應(yīng)性。
24、步驟s2包括:
25、根據(jù)預(yù)設(shè)大小尺寸,對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行網(wǎng)格劃分,網(wǎng)格之間設(shè)置預(yù)設(shè)距離的重疊區(qū)域。
26、本技術(shù)通過(guò)采用上述技術(shù)方案,對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行網(wǎng)格劃分,以避免因點(diǎn)云的數(shù)據(jù)量過(guò)大導(dǎo)致內(nèi)存溢出的問(wèn)題,降低對(duì)計(jì)算機(jī)硬件環(huán)境的要求。多網(wǎng)格的劃分同時(shí)可進(jìn)行并行計(jì)算,從而進(jìn)一步提高后期建筑重建的效率。另外為解決網(wǎng)格邊界接邊區(qū)域建筑被分割,導(dǎo)致半個(gè)建筑出現(xiàn)的問(wèn)題,在網(wǎng)格之間保持10米的重疊區(qū)域。
27、步驟s3包括:
28、所述對(duì)建筑多層輪廓面數(shù)據(jù)進(jìn)行建筑輪廓面規(guī)則化處理,輸出規(guī)則化處理后的建筑輪廓面的步驟包括:
29、s31:通過(guò)建筑多層輪廓面數(shù)據(jù),構(gòu)建建筑多邊形;
30、通過(guò)建筑多邊形,確定建筑主方向,具體步驟包括:對(duì)建筑多邊形的每條邊進(jìn)行統(tǒng)計(jì)加權(quán),得到候選方向;計(jì)算建筑的各條邊相對(duì)于候選方向的角度偏差值和長(zhǎng)度比例系數(shù);根據(jù)角度偏差值和長(zhǎng)度比例系數(shù),確定貢獻(xiàn)值;將貢獻(xiàn)值最大的候選方向確定為建筑主方向;
31、s32:通過(guò)特征邊篩選條件,對(duì)建筑多邊形的特征邊進(jìn)行篩選和分組,具體包括:
32、設(shè)置邊長(zhǎng)閾值判定系數(shù)和,;
33、特征邊篩選條件包括:特征邊的邊長(zhǎng)大于、特征邊的與建筑主方向垂直或平行且邊長(zhǎng)大于、或存在與特征邊垂直的鄰邊且邊長(zhǎng)大于;
34、s33:對(duì)建筑多邊形的邊界進(jìn)行直角化處理,具體步驟包括:對(duì)建筑多邊形兩個(gè)相鄰的邊,依次以建筑主方向?yàn)榛鶞?zhǔn),進(jìn)行90度直角化處理;
35、s34:采用道格拉斯壓縮算法對(duì)建筑多邊形進(jìn)行簡(jiǎn)化,剔除冗余點(diǎn)和非特征節(jié)點(diǎn),輸出規(guī)則化處理后的建筑輪廓面。
36、步驟s5包括:
37、在lod0級(jí)矢量要素模型基礎(chǔ)上,疊加表達(dá)建筑的dsm柵格數(shù)據(jù)進(jìn)行像元高度值計(jì)算,具體步驟包括:采用四分位數(shù)法去除建筑矢量范圍內(nèi)的各個(gè)屋頂高度值中的極端值;
38、計(jì)算去除極端值后的屋頂高度值的平均值,將平均值作為建筑的屋頂高度值;
39、在lod0級(jí)矢量要素模型基礎(chǔ)上,疊加dem數(shù)據(jù),將建筑矢量輪廓中心點(diǎn)的像元值作為建筑的底部高度值。
40、本技術(shù)通過(guò)采用上述技術(shù)方案,建筑頂部采用四分位數(shù)法去除極端值再求平均高度的方法能夠計(jì)算一個(gè)相對(duì)準(zhǔn)確表達(dá)建筑屋頂垂直位置的高度值,避免少數(shù)異常值對(duì)建筑頂部高度的影響。建筑底部高度采用矢量輪廓中心點(diǎn)的dem像元值能夠讓建筑底部較好的貼合地面。
41、步驟s7包括:
42、采用重疊區(qū)域面積占比算法對(duì)建筑多層輪廓面數(shù)據(jù)進(jìn)行相似性計(jì)算,對(duì)相似度大于預(yù)設(shè)閾值的建筑多層輪廓面進(jìn)行聚類合并,得到預(yù)設(shè)個(gè)數(shù)的不同高度的輪廓面;
43、對(duì)聚類合并后的預(yù)設(shè)個(gè)數(shù)的不同高度的輪廓面進(jìn)行模型網(wǎng)格體生成,形成多級(jí)堆疊的封閉棱柱體,輸出區(qū)分不同高度體塊的lod1.3體塊白模。
44、步驟s8包括:
45、通用紋理包括:映射屋頂紋理和墻面紋理;
46、對(duì)lod1.3體塊白模的頂面和墻面,按重復(fù)貼圖的方式,分別映射屋頂紋理和墻面紋理,步驟包括:
47、在lod1.3體塊白模的墻面上,按照從左到右的水平方向、從上到下的垂直方向以及預(yù)設(shè)間距,依次放置單張窗戶圖片,當(dāng)水平或垂直的位置不足以放下一個(gè)窗戶時(shí)則停止放置;將墻面和窗戶圖片進(jìn)行合并,完成lod1.3體塊白模的墻面紋理的映射;
48、通過(guò)映射墻面紋理和屋頂紋理后的lod1.3體塊白模,生成lod1.3級(jí)建筑體塊模型。
49、步驟s9包括:
50、對(duì)表達(dá)建筑高度特征的dsm柵格數(shù)據(jù)按照預(yù)設(shè)大小的網(wǎng)格劃分,得到預(yù)設(shè)個(gè)數(shù)的dsm網(wǎng)格;
51、采用ransac隨機(jī)抽樣一致性算法對(duì)dsm網(wǎng)格的三維像素點(diǎn)集進(jìn)行平面擬合,主要實(shí)現(xiàn)步驟如下:
52、s91:讀取dsm網(wǎng)格預(yù)設(shè)范圍內(nèi)的所有像素點(diǎn)的平面坐標(biāo)和高度值,以三維坐標(biāo)的形式存儲(chǔ)到數(shù)組中;
53、s92:從數(shù)組中選擇三個(gè)非共線的點(diǎn),計(jì)算平面方程,其中為平面的法向量,表示平面沿法線方向到坐標(biāo)原點(diǎn)的垂直距離;
54、s93:計(jì)算預(yù)設(shè)范圍內(nèi)的每個(gè)點(diǎn)到平面的距離;
55、若點(diǎn)到平面的距離小于預(yù)設(shè)閾值,則將該點(diǎn)認(rèn)定為內(nèi)點(diǎn);
56、若點(diǎn)到平面的距離大于或等于預(yù)設(shè)閾值,則將該點(diǎn)認(rèn)定為外點(diǎn);
57、s94:重復(fù)步驟s92到步驟s93直至達(dá)到預(yù)設(shè)次數(shù),得到內(nèi)點(diǎn)數(shù)量最多的平面作為dsm網(wǎng)格的當(dāng)前最佳模型,輸出每個(gè)dsm網(wǎng)格的最佳擬合平面;
58、計(jì)算最佳擬合平面與其相鄰的小網(wǎng)格平面的法向量夾角,對(duì)法向量夾角小于預(yù)設(shè)閾值度數(shù)的小網(wǎng)格平面進(jìn)行合并,得到屋頂特征面;屋頂特征面包括:斜坡面特征結(jié)構(gòu)和平面特征結(jié)構(gòu);
59、過(guò)濾屋頂特征面中小于預(yù)設(shè)面積閾值的平面特征結(jié)構(gòu)和小于預(yù)設(shè)面積閾值的斜坡面特征結(jié)構(gòu);
60、根據(jù)屋頂特征面的邊緣,對(duì)過(guò)濾后的斜坡面特征結(jié)構(gòu)和平面特征結(jié)構(gòu)進(jìn)行緩沖延伸,形成相互連通、無(wú)縫隙的屋頂頂蓋結(jié)構(gòu);
61、在lod1.3體塊白模的基礎(chǔ)上,疊加屋頂頂蓋結(jié)構(gòu)并進(jìn)行邊緣融合、接縫,生成lod2.0級(jí)建筑白模。
62、本技術(shù)通過(guò)采用上述技術(shù)方案,對(duì)基于點(diǎn)云分類成果生成的僅體現(xiàn)建筑屋頂特征結(jié)構(gòu)的dsm數(shù)據(jù),采用小格網(wǎng)劃分后進(jìn)行特征面擬合,再進(jìn)行具有共面趨勢(shì)的相鄰特征面進(jìn)行遞歸合并的方式獲得建筑屋頂?shù)钠矫嫣卣髅婧托泵嫣卣髅?,并進(jìn)行特征面延伸合并生成了封閉連續(xù)、精細(xì)度較高且拓?fù)潢P(guān)系良好的屋頂頂蓋結(jié)構(gòu),保留屋頂主要特征結(jié)構(gòu)的同時(shí)降低了模型數(shù)據(jù)量。
63、步驟s10包括:
64、在lod2.0級(jí)建筑白模的基礎(chǔ)上,按俯視正射投影方式和側(cè)視水平投影方式,逐像素讀取傾斜紋理圖片像素的rgb顏色值,分別生成單張屋頂紋理圖片和預(yù)設(shè)張數(shù)的墻面紋理圖片;將預(yù)設(shè)張數(shù)的墻面紋理圖片,烘焙合并成單張墻面紋理圖片;單張屋頂紋理圖片即為建筑的第一屋頂貼圖;單張墻面紋理圖片即為建筑的第一墻面貼圖。
65、一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有指令,當(dāng)所述指令被執(zhí)行時(shí),執(zhí)行一種實(shí)景三維建筑模型漸進(jìn)式多層次細(xì)節(jié)單體化重建方法。
66、本技術(shù)提供的技術(shù)方案帶來(lái)的有益效果是:
67、采用先將傾斜模型轉(zhuǎn)換為表達(dá)建筑起伏結(jié)構(gòu)的dsm柵格數(shù)據(jù)再進(jìn)行多級(jí)輪廓提取和屋頂特征面提取的方式,較好的保障的幾何結(jié)構(gòu)的正確性和對(duì)異常mesh數(shù)據(jù)的適應(yīng)性;采用了由低層級(jí)模型向高層級(jí)模型漸進(jìn)式構(gòu)建的思想,高層級(jí)模型的構(gòu)建過(guò)程可充分利用低層級(jí)模型成果,一次構(gòu)建能夠生成多層次細(xì)節(jié)模型,減少多層次重復(fù)建模和建筑精細(xì)模型lod鏈生成的耗時(shí),為超大場(chǎng)景范圍建筑數(shù)據(jù)的多層次lod模型構(gòu)建、三維場(chǎng)景建筑數(shù)據(jù)的多尺度表達(dá)提供技術(shù)支撐。
68、單體化重建流程實(shí)現(xiàn)了真正意義上的全自動(dòng)化,從建筑物的分割到白模單體化重建,從模型的紋理映射到多級(jí)lod模型的輸出全部采用深度學(xué)習(xí)技術(shù)和三維重建算法自動(dòng)化實(shí)現(xiàn),無(wú)需人工干預(yù)可實(shí)現(xiàn)最高lod2.0級(jí)建筑單體化模型輸出,減少了建筑單體化建模的耗時(shí)和成本。