本發(fā)明涉及3d建模,具體涉及基于三維點(diǎn)云的建筑物3d模型自動化建模方法。
背景技術(shù):
1、3d建模技術(shù)作為數(shù)字化時代的重要工具,正逐漸滲透到各行各業(yè),特別是在建筑、城市規(guī)劃、工業(yè)設(shè)計(jì)等領(lǐng)域展現(xiàn)出強(qiáng)大的應(yīng)用潛力,隨著技術(shù)的不斷進(jìn)步,3d建模的精度和效率不斷提高,為建筑物的自動化建模提供了技術(shù)基礎(chǔ),三維點(diǎn)云技術(shù)則是通過激光掃描或其他傳感器獲取物體表面大量點(diǎn)的三維坐標(biāo)信息,能夠精確地反映物體的形狀、尺寸和紋理等特征,相較于傳統(tǒng)的實(shí)景3d建模技術(shù),三維點(diǎn)云技術(shù)具有高效、精準(zhǔn)的特點(diǎn),能夠大大提高建筑制圖的精度和效率。
2、現(xiàn)有技術(shù)中,大多通過切片、手工跟蹤的方法提取建筑物相關(guān)參數(shù),以實(shí)現(xiàn)對建筑物的建模,但切片、手工跟蹤的方法難以體現(xiàn)建筑物的整體尺寸且效率不高,因此,如何提高建筑物的整體建模精度和效率,是我們要解決的問題,為此,現(xiàn)提出基于三維點(diǎn)云的建筑物自動化建模方法。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明目的在于提供基于三維點(diǎn)云的建筑物3d模型自動化建模方法,以解決上述背景技術(shù)中提出的問題。
2、為解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是:
3、基于三維點(diǎn)云的建筑物3d模型自動化建模方法,包括以下步驟:
4、步驟1,采集目標(biāo)建筑物的原始點(diǎn)云數(shù)據(jù),計(jì)算點(diǎn)云各點(diǎn)法線進(jìn)行區(qū)域增長,設(shè)定法線偏差閾值和曲率差閾值對原始點(diǎn)云數(shù)據(jù)進(jìn)行區(qū)域分割,分割出建筑物圓形柱子點(diǎn)云;
5、步驟2,采用基于統(tǒng)計(jì)學(xué)的方法建立濾波器,通過計(jì)算點(diǎn)到鄰域點(diǎn)的平均距離,確定均值和標(biāo)準(zhǔn)差,設(shè)定點(diǎn)到鄰域點(diǎn)的距離閾值,對分割出的建筑物圓形柱子點(diǎn)云進(jìn)行粗差刪除;
6、步驟3,遍歷刪除粗差后的點(diǎn)云,計(jì)算點(diǎn)云的最小和最大高程值,確定目標(biāo)建筑物部件的高程范圍,并將點(diǎn)云向水平面投影,使用最小二乘法對投影后的點(diǎn)云進(jìn)行圓的擬合,得到截面圓參數(shù),分別為截面圓的圓心坐標(biāo)和半徑;
7、步驟4,根據(jù)得到的截面圓參數(shù)以及點(diǎn)云的高程范圍,確定三維模型的繪制參數(shù),并在三維建模軟件中繪制目標(biāo)建筑物圓形柱子的三維模型,并與原始點(diǎn)云數(shù)據(jù)進(jìn)行比較,驗(yàn)證模型的精度和一致性。
8、本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn)在于:所述步驟1中,建筑物圓形柱子點(diǎn)云的分割提取過程為:
9、步驟101,使用激光掃描儀或三維相機(jī)采集目標(biāo)建筑物的三維點(diǎn)云數(shù)據(jù),并使用kd樹算法組織點(diǎn)云數(shù)據(jù),快速檢索點(diǎn)云中的空間鄰近點(diǎn);
10、步驟102,對于每個點(diǎn),確定其鄰域內(nèi)的點(diǎn)集合,并計(jì)算點(diǎn)集合的協(xié)方差矩,對協(xié)方差矩陣進(jìn)行特征值分解,最小特征值對應(yīng)的特征向量即為該點(diǎn)的法線方向;
11、步驟103,計(jì)算相鄰點(diǎn)之間的法線變化偏差,估計(jì)出點(diǎn)在區(qū)域內(nèi)的曲率,將各點(diǎn)按曲率值從小到大進(jìn)行排序,將曲率值最小的點(diǎn)設(shè)置為種子點(diǎn),并計(jì)算種子點(diǎn)與鄰近點(diǎn)的法線差值;
12、步驟104,設(shè)定差值閾值,若種子點(diǎn)與鄰近點(diǎn)的法線差值小于設(shè)定的差值閾值,且曲率值也小于設(shè)定的差值閾值,則將種子點(diǎn)添加至種子點(diǎn)集,歸為一類;
13、步驟105,將歸為一類的種子點(diǎn)在原始點(diǎn)云中去除,進(jìn)行下一區(qū)域的增長,直至原始點(diǎn)云中剩余的點(diǎn)數(shù)小于最小聚類點(diǎn)數(shù)時為止;
14、步驟106,根據(jù)曲率值和法線方向,將點(diǎn)云分為不同的區(qū)域,分離出建筑物圓形柱子點(diǎn)云。
15、本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn)在于:所述協(xié)方差矩陣的表達(dá)式為:
16、;
17、其中,為協(xié)方差矩陣,用于描述點(diǎn)云中點(diǎn)的分布情況,為考慮的點(diǎn)鄰居數(shù),為最近鄰的三維質(zhì)心,為點(diǎn)在空間中的坐標(biāo)向量,為鄰域內(nèi)點(diǎn)的均值向量;
18、所述特征值分解的表達(dá)式為:
19、;
20、其中,為協(xié)方差矩陣的第個特征值,為第個特征向量,表示點(diǎn)云在該方向上的主要分布趨勢,特征值是非負(fù)實(shí)數(shù),表示點(diǎn)云在特征向量方向上的分布方差。
21、本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn)在于:所述步驟2中,對建筑物圓形柱子點(diǎn)云進(jìn)行刪除粗差的過程為:
22、步驟201,輸入建筑物圓形柱子點(diǎn)云,對于點(diǎn)云中的每個點(diǎn),確定其鄰域內(nèi)的空間點(diǎn)集合,并計(jì)算點(diǎn)到其鄰域內(nèi)點(diǎn)的歐氏距離,計(jì)算點(diǎn)到其鄰域內(nèi)點(diǎn)的平均距離,記為,所述點(diǎn)到其鄰域內(nèi)點(diǎn)的歐氏距離的表達(dá)式為:
23、;
24、其中,為點(diǎn)與點(diǎn)的之間的歐氏距離,為三維空間中點(diǎn)的坐標(biāo)向量,為三維空間中點(diǎn)的坐標(biāo)向量,的取值范圍是,表示距離;
25、所述點(diǎn)到其鄰域內(nèi)點(diǎn)的平均距離的表達(dá)式為:
26、;
27、其中,為點(diǎn)到其鄰域內(nèi)點(diǎn)的平均距離,為點(diǎn)的鄰域內(nèi)點(diǎn)的數(shù)量;
28、步驟202,計(jì)算點(diǎn)到其鄰域內(nèi)點(diǎn)距離的標(biāo)準(zhǔn)差,分析點(diǎn)與鄰域點(diǎn)分布的離散程度,所述點(diǎn)到其鄰域內(nèi)點(diǎn)距離的標(biāo)準(zhǔn)差的表達(dá)式為:
29、;
30、其中,為點(diǎn)到其鄰域內(nèi)點(diǎn)距離的標(biāo)準(zhǔn)差,表示點(diǎn)鄰域內(nèi)的點(diǎn)分布離散程度;
31、步驟203,計(jì)算所有點(diǎn)的的全局均值和標(biāo)準(zhǔn)差,并設(shè)定一個標(biāo)準(zhǔn)差倍數(shù)作為粗差點(diǎn)的判斷閾值,的取值通常在1到3之間,具體取決于對粗差的敏感度;
32、步驟204,遍歷點(diǎn)云中的點(diǎn),判斷其是否為粗差點(diǎn),若點(diǎn)到其鄰域點(diǎn)的平均距離與全局均值的差值超過倍的全局標(biāo)準(zhǔn)差,則為粗差點(diǎn);
33、步驟205,從點(diǎn)云數(shù)據(jù)中刪除所有被識別為粗差點(diǎn)的點(diǎn)。
34、本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn)在于:所述所有點(diǎn)的的全局均值的表達(dá)式為:
35、;
36、其中,為所有點(diǎn)的全局平均值,表示整個點(diǎn)云鄰域點(diǎn)的平均距離,為點(diǎn)云中點(diǎn)的總數(shù),為點(diǎn)到其鄰域內(nèi)點(diǎn)的平均距離;
37、所述所有點(diǎn)的的全局標(biāo)準(zhǔn)差的表達(dá)式為:
38、;
39、其中,為全局標(biāo)準(zhǔn)差,表示所有點(diǎn)相對于全局平均值的離散程度,粗差點(diǎn)判斷條件,若條件成立,則點(diǎn)被認(rèn)為是粗差點(diǎn)。
40、本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn)在于:所述步驟3中,截面圓參數(shù)的獲取過程為:
41、步驟301,遍歷刪除粗差后的點(diǎn)云,對于每個點(diǎn),讀取其三維坐標(biāo);
42、步驟302,計(jì)算所有點(diǎn)的坐標(biāo)(高程值)的最小值和最大值,并根據(jù)坐標(biāo)(高程值)的最小值和最大值,確定高程范圍,其中,,,,為點(diǎn)云中點(diǎn)的總數(shù);
43、步驟303,將點(diǎn)云中的每個點(diǎn)投影到的水平面上,并使投影后的點(diǎn)云被圓擬合,圓心坐標(biāo)為,半徑為;
44、步驟304,根據(jù)最小二乘原理推出圓的半徑及圓心坐標(biāo)。
45、本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn)在于:所述最小二乘原理推出圓的半徑及圓心坐標(biāo),其表達(dá)式為:
46、;
47、;
48、其中,為圓心坐標(biāo),為圓的半徑。
49、本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn)在于:所述步驟4中,繪制目標(biāo)建筑物圓形柱子三維模型的過程為:
50、步驟401,使用從點(diǎn)云數(shù)據(jù)中得到的截面圓參數(shù),包括圓心坐標(biāo)和半徑,并提取得到的高程范圍;
51、步驟402,在三維建模軟件中,以作為底面圓心,作為底面半徑繪制一個圓,并以相同的半徑,以作為圓心,繪制另一個圓作為圓柱的頂面;
52、步驟403,使用三維建模軟件的“拉伸”或“旋轉(zhuǎn)”功能,通過底面圓沿軸拉伸至的高度創(chuàng)建圓柱體;
53、步驟404,將繪制的三維圓柱模型與原始點(diǎn)云數(shù)據(jù)進(jìn)行比較,驗(yàn)證模型的精度和一致性。
54、本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn)在于:所述驗(yàn)證模型精度和一致性的過程為:
55、步驟4041,使三維建模軟件中的圓柱模型與原始點(diǎn)云數(shù)據(jù)在同一坐標(biāo)系中正確對齊;
56、步驟4042,對于點(diǎn)云中的每個點(diǎn),計(jì)算其到圓柱模型表面的最短距離;
57、步驟4043,對所有點(diǎn)的距離進(jìn)行統(tǒng)計(jì)分析,計(jì)算最大誤差、最小誤差、平均誤差和標(biāo)準(zhǔn)差;
58、步驟4044,設(shè)置誤差閾值,檢查統(tǒng)計(jì)出的誤差是否在設(shè)定的閾值內(nèi),若所有點(diǎn)的誤差均小于或等于閾值,則模型精度滿足要求;
59、步驟4045,若模型精度不足,回到建模過程進(jìn)行調(diào)整,重新擬合截面圓、調(diào)整高程范圍或修改建模參數(shù),重復(fù)驗(yàn)證模型的過程,直至模型精度滿足要求,并將驗(yàn)證后的三維模型輸出為所需的格式,用于進(jìn)一步的使用。
60、本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn)在于:所述最短距離的計(jì)算公式為:
61、;
62、其中,為點(diǎn)到圓柱模型表面的最短距離,為圓柱表面上的任意點(diǎn)的坐標(biāo),為半徑,為圓柱底面圓心的坐標(biāo);
63、所述最大誤差的表達(dá)式為:;
64、所述最小誤差的表達(dá)式為:;
65、所述平均誤差的表達(dá)式為:;
66、所述標(biāo)準(zhǔn)差的表達(dá)式為:。
67、由于采用了上述技術(shù)方案,本發(fā)明相對現(xiàn)有技術(shù)來說,取得的技術(shù)進(jìn)步是:
68、本發(fā)明提供基于三維點(diǎn)云的建筑物3d模型自動化建模方法,與傳統(tǒng)對點(diǎn)云進(jìn)行切片、手工繪制截面圓相比,通過綜合考慮整個圓柱的點(diǎn)云數(shù)據(jù)、通過最小二乘法進(jìn)行擬合,使繪制的三維模型與整個點(diǎn)云數(shù)據(jù)更加貼近,在提高建模精度的同時,計(jì)算相關(guān)參數(shù)、建立三維模型,提高了建模的效率,同時,該方法建立的三維模型可應(yīng)用于實(shí)景城市、智慧城市、元宇宙等方面,具有一定的推廣價(jià)值。
69、本發(fā)明提供基于三維點(diǎn)云的建筑物3d模型自動化建模方法,通過使用點(diǎn)云處理技術(shù),利用區(qū)域增長法、統(tǒng)計(jì)學(xué)濾波和最小二乘法,顯著提高建筑物模型的精度和一致性,從原始點(diǎn)云數(shù)據(jù)中準(zhǔn)確提取建筑物的特征,精確計(jì)算點(diǎn)云到模型表面的距離,并進(jìn)行統(tǒng)計(jì)分析,不僅提高了模型的幾何精度,還確保了模型在視覺上與實(shí)際建筑物的一致性,為后續(xù)的應(yīng)用,提供了可靠的基礎(chǔ)。