基于點(diǎn)云的3ds Max快速精細(xì)三維建模方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)字城市三維建模領(lǐng)域,尤其涉及一種基于點(diǎn)云的3ds Max快速精細(xì)三維建模方法及系統(tǒng)。
【背景技術(shù)】
[0002]目前,數(shù)字城市建模主要有三種方式:利用三維建模軟件人工建模、利用激光點(diǎn)云建模、利用航空立體像對(duì)建模。利用三維建模軟件,如3ds Max、AutoCAD、SketchUp進(jìn)行建模屬于傳統(tǒng)方式,雖然能在模型精細(xì)程度上有很大的保證,但無(wú)法滿足城市大范圍快速建模的需要。航空影像在成本、覆蓋度、自動(dòng)化程度上很有優(yōu)勢(shì),可以通過(guò)像對(duì)匹配點(diǎn)云或提取線要素等方式對(duì)建筑物進(jìn)行三維重建,但是在紋理重建方面,由于航空影像只有下視,經(jīng)常出現(xiàn)遮擋、拍攝死角現(xiàn)象,導(dǎo)致建筑物側(cè)面紋理信息缺失,影響重建速度和質(zhì)量?,F(xiàn)有的利用航空立體像對(duì)進(jìn)行建模的軟件產(chǎn)品中,大多數(shù)也之只能構(gòu)建簡(jiǎn)單建筑物,對(duì)模型的編輯修改支持比較弱。
[0003]激光點(diǎn)云中包含著豐富的自然和人工地物信息,主要包括植被、建筑物、道路、綠地等地物信息,但由于地物的復(fù)雜性,如何從眾多的激光點(diǎn)云中提取出所要的建筑物信息一直是國(guó)內(nèi)外研究的熱點(diǎn)。利用機(jī)載激光雷達(dá)提取出所需要的建筑物模型可以分為兩個(gè)步驟:建筑物檢測(cè)盒建筑物模型生成。建筑物輪廓線是城市制圖和建立三維建筑模型的基礎(chǔ),基于點(diǎn)云數(shù)據(jù)提取建筑物輪廓線是當(dāng)前點(diǎn)云數(shù)據(jù)處理的一大熱點(diǎn)和難點(diǎn)。目前基于點(diǎn)云數(shù)據(jù)提取建筑物的一般方法是將點(diǎn)云數(shù)據(jù)先柵格化為深度影像DSM,進(jìn)一步求得規(guī)則化的nDSM,再利用圖像的分割算法及邊界線提取算法等圖像分析手段實(shí)現(xiàn)輪廓線提取。美國(guó)普頓大學(xué)Alhartthy等人設(shè)計(jì)了通過(guò)漸進(jìn)濾波方法進(jìn)行建筑物三維信息的提?。缓商mDelft大學(xué)Vosselman等人利用3D Hough變換獲取建筑物平面,以實(shí)現(xiàn)建筑物三維重建的目的。李樹(shù)楷等使用DSM結(jié)合影像進(jìn)行建筑邊線的提取,分成三個(gè)實(shí)施步驟,依次是激光測(cè)距點(diǎn)分析、陰影分析和建筑物邊界重構(gòu)。尤紅建提出了基于預(yù)測(cè)方向的方位角從同一建筑的激光角點(diǎn)中分離出最靠近建筑物輪廓邊緣上的激光點(diǎn),對(duì)分離出的激光邊界點(diǎn)依據(jù)建筑物的特點(diǎn)進(jìn)行邊緣規(guī)則化處理。同時(shí)依據(jù)邊緣點(diǎn)連線方向角的變化進(jìn)行邊界點(diǎn)的分組,再依據(jù)分組的邊界點(diǎn)計(jì)算出建筑物的主方向,通過(guò)主方向?qū)吔琰c(diǎn)進(jìn)行邊緣規(guī)則化,最后得到建筑物最外側(cè)的輪廓。
[0004]激光點(diǎn)云建模利用三維激光掃描儀獲取的點(diǎn)云數(shù)據(jù),能夠完整并高精度地重建掃描實(shí)物數(shù)據(jù)。但實(shí)際應(yīng)用中因?yàn)槿S激光掃描點(diǎn)云密集,實(shí)體信息隱含特征提取困難。三維建模的軟件對(duì)于激光點(diǎn)云的承載能力有限,并且激光點(diǎn)云數(shù)據(jù)通常需要預(yù)處理,因此需要借助點(diǎn)云處理軟件刪除噪點(diǎn),減少點(diǎn)云的加載量。在點(diǎn)云處理的同時(shí)將點(diǎn)云生成面片,將面片導(dǎo)入建模軟件輔助建模。數(shù)據(jù)需要在點(diǎn)云處理軟件系統(tǒng)和三維建模系統(tǒng)中來(lái)回導(dǎo)入導(dǎo)出,反復(fù)人工核對(duì),工作十分繁瑣,效率低下。
【發(fā)明內(nèi)容】
[0005]本發(fā)明主要研究利用機(jī)載或車載激光雷達(dá)點(diǎn)云數(shù)據(jù)進(jìn)行城市建筑物房屋三維建模,為了發(fā)揮點(diǎn)云的高精度位置幾何信息以及建模軟件的精細(xì)建模功能,本發(fā)明提出一種基于點(diǎn)云的3ds Max快速精細(xì)建模的技術(shù)方案。
[0006]為達(dá)到上述目的,本發(fā)明采用如下的技術(shù)方案:
一種基于點(diǎn)云的3ds Max快速精細(xì)三維建模方法,包括以下步驟:
步驟一、點(diǎn)云預(yù)處理,包括先對(duì)機(jī)載或車載激光雷達(dá)所獲取的點(diǎn)云數(shù)據(jù)進(jìn)行點(diǎn)云去噪,然后進(jìn)行快速聚類和構(gòu)建Κ-D樹(shù),再進(jìn)行點(diǎn)云抽??;
所述快速聚類,包括對(duì)去噪處理后的點(diǎn)云數(shù)據(jù)構(gòu)建不規(guī)則三角網(wǎng)模型,計(jì)算不規(guī)則三角網(wǎng)模型中每個(gè)三角面的法向量,將具有相似法向量值的點(diǎn)聚類到同一個(gè)平面點(diǎn)集;
所述構(gòu)建Κ-D樹(shù),包括根據(jù)快速聚類結(jié)果,對(duì)于每一個(gè)類別分別構(gòu)建Κ-D樹(shù);
步驟二、進(jìn)行3ds Max點(diǎn)云縮略圖加載,包括基于3ds Max根據(jù)步驟一中聚類后的每個(gè)類別的中心點(diǎn)提供全部點(diǎn)云的縮略圖;
步驟三、生成局部點(diǎn)云,包括當(dāng)用戶在步驟二所得縮略圖中選擇一個(gè)點(diǎn)時(shí),利用Κ-D樹(shù)索引搜索出該點(diǎn)的鄰近點(diǎn),生成用戶感興趣的局部點(diǎn)云;
步驟四、修正用戶測(cè)點(diǎn)和測(cè)線,引導(dǎo)用戶完成建筑物輪廓的繪制,包括當(dāng)用戶進(jìn)行測(cè)點(diǎn),提取相應(yīng)特征點(diǎn)修正用戶測(cè)點(diǎn),當(dāng)用戶進(jìn)行測(cè)線,提取相應(yīng)特征線修正用戶測(cè)點(diǎn),實(shí)現(xiàn)方式如下,
在3ds Max操作視窗中提供步驟三所得局部點(diǎn)云,當(dāng)用戶進(jìn)行測(cè)點(diǎn)中采用3ds Max捕捉功能調(diào)整角度選取建筑物角點(diǎn)時(shí),通過(guò)用戶選取的建筑物角點(diǎn)所在類別的Κ-D樹(shù)獲取鄰域點(diǎn)云,通過(guò)角點(diǎn)提取算法從鄰域點(diǎn)云中提取到其中所有的角點(diǎn),作為特征點(diǎn);
對(duì)鄰域點(diǎn)云中點(diǎn)云數(shù)據(jù)進(jìn)行平面擬合,得到平面的交線,作為特征線;
顯示并選中與用戶所選取建筑物角點(diǎn)最鄰近的特征點(diǎn),實(shí)現(xiàn)修正用戶測(cè)點(diǎn),向用戶提供修正后的建筑物角點(diǎn);當(dāng)用戶從一個(gè)修正后的建筑物角點(diǎn)出發(fā)進(jìn)行測(cè)線時(shí),捕捉相應(yīng)特征線并檢索下一個(gè)建筑物的角點(diǎn),實(shí)現(xiàn)修正用戶測(cè)線,繪制建筑的輪廓邊線;
步驟五、進(jìn)行3ds Max精細(xì)建模,包括基于3ds Max根據(jù)所得建筑物輪廓完成建模。
[0007]而且,所述進(jìn)行平面擬合的實(shí)現(xiàn)方式為,利用隨機(jī)選擇的3個(gè)點(diǎn)算出待擬合的平面中參數(shù)初始值,然后根據(jù)參數(shù)初始值尋找點(diǎn)集合內(nèi)的其他點(diǎn),包括判斷其他點(diǎn)到平面的距離,距離在預(yù)設(shè)閾值內(nèi)的點(diǎn)也屬于平面的點(diǎn)集合。
[0008]本發(fā)明還相應(yīng)提供一種基于點(diǎn)云的3ds Max快速精細(xì)三維建模系統(tǒng),包括以下模塊:
點(diǎn)云預(yù)處理模塊,用于先對(duì)機(jī)載或車載激光雷達(dá)所獲取的點(diǎn)云數(shù)據(jù)進(jìn)行點(diǎn)云去噪,然后進(jìn)行快速聚類和構(gòu)建Κ-D樹(shù),再進(jìn)行點(diǎn)云抽?。?br> 所述快速聚類,包括對(duì)去噪處理后的點(diǎn)云數(shù)據(jù)構(gòu)建不規(guī)則三角網(wǎng)模型,計(jì)算不規(guī)則三角網(wǎng)模型中每個(gè)三角面的法向量,將具有相似法向量值的點(diǎn)聚類到同一個(gè)平面點(diǎn)集;
所述構(gòu)建Κ-D樹(shù),包括根據(jù)快速聚類結(jié)果,對(duì)于每一個(gè)類別分別構(gòu)建Κ-D樹(shù);
縮略圖加載模塊,用于基于3ds Max根據(jù)點(diǎn)云預(yù)處理模塊所得聚類后的每個(gè)類別的中心點(diǎn)提供全部點(diǎn)云的縮略圖;
局部點(diǎn)云生成模塊,用于包括當(dāng)用戶在縮略圖加載模塊所得縮略圖中選擇一個(gè)點(diǎn)時(shí),利用Κ-D樹(shù)索引搜索出該點(diǎn)的鄰近點(diǎn),生成用戶感興趣的局部點(diǎn)云; 用戶測(cè)點(diǎn)和測(cè)線修正模塊,用于引導(dǎo)用戶完成建筑物輪廓的繪制,包括當(dāng)用戶進(jìn)行測(cè)點(diǎn),提取相應(yīng)特征點(diǎn)修正用戶測(cè)點(diǎn),當(dāng)用戶進(jìn)行測(cè)線,提取相應(yīng)特征線修正用戶測(cè)點(diǎn),實(shí)現(xiàn)方式如下,
在3ds Max操作視窗中提供局部點(diǎn)云生成模塊所得局部點(diǎn)云,當(dāng)用戶進(jìn)行測(cè)點(diǎn)中采用3ds Max捕捉功能調(diào)整角度選取建筑物角點(diǎn)時(shí),通過(guò)用戶選取的建筑物角點(diǎn)所在類別的K-D樹(shù)獲取鄰域點(diǎn)云,通過(guò)角點(diǎn)提取算法從鄰域點(diǎn)云中提取到其中所有的角點(diǎn),作為特征點(diǎn);
對(duì)鄰域點(diǎn)云中點(diǎn)云數(shù)據(jù)進(jìn)行平面擬合,得到平面的交線,作為特征線;
顯示并選中與用戶所選取建筑物角點(diǎn)最鄰近的特征點(diǎn),實(shí)現(xiàn)修正用戶測(cè)點(diǎn),向用戶提供修正后的建筑物角點(diǎn);當(dāng)用戶從一個(gè)修正后的建筑物角點(diǎn)出發(fā)進(jìn)行測(cè)線時(shí),捕捉相應(yīng)特征線并檢索下一個(gè)建筑物的角點(diǎn),實(shí)現(xiàn)修正用戶測(cè)線,繪制建筑的輪廓邊線;
精細(xì)建模模塊,用于基于3ds Max根據(jù)所得建筑物輪廓完成建模。
[0009]而且,所