基于密集點(diǎn)云的城市三維模型快速構(gòu)建方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于城市三維模型的構(gòu)建技術(shù)領(lǐng)域,尤其涉及一種基于密集點(diǎn)云的城市三維模型快速構(gòu)建方法。
【背景技術(shù)】
[0002]密集點(diǎn)云是傾斜攝影測(cè)量生產(chǎn)城市三維模型過(guò)程中的中間產(chǎn)物,是通過(guò)航空影像匹配、區(qū)域增長(zhǎng)、粗差剔除等步驟提取出來(lái)的包含物體三維幾何信息的一系列大規(guī)模點(diǎn)數(shù)據(jù)。點(diǎn)云是一個(gè)空間數(shù)據(jù)的集合,其特點(diǎn)是數(shù)據(jù)量大、數(shù)據(jù)間距離較小,通常具備上萬(wàn)個(gè)甚至更多的點(diǎn),存儲(chǔ)量巨大。目前,在城市三維模型的構(gòu)建過(guò)程中,提取出的點(diǎn)云數(shù)據(jù)往往分布不均勻,在每一次尋找最佳匹配點(diǎn)的過(guò)程中,運(yùn)算量巨大,同時(shí)需要匹配多張高質(zhì)量的紋理圖片,影響構(gòu)建效率。為了解決現(xiàn)有技術(shù)存在的問(wèn)題,人們進(jìn)行了長(zhǎng)期的探索,提出了各式各樣的解決方案。
[0003]例如,中國(guó)專(zhuān)利文獻(xiàn)公開(kāi)了一種基于Microstat1n v8i的城市快速建模方法[申請(qǐng)?zhí)?201010548693.X],包括以下步驟:步驟一、采用航空攝影測(cè)量系統(tǒng)且按照常規(guī)航空攝影測(cè)量方法對(duì)被測(cè)區(qū)域進(jìn)行航空測(cè)量;步驟二、處理器在Microstat1n v8i軟件環(huán)境下對(duì)航空測(cè)量數(shù)據(jù)進(jìn)行分析處理對(duì)航空測(cè)量數(shù)據(jù)進(jìn)行分析處理,過(guò)程如下:建立航空攝影測(cè)量立體模型、地物分類(lèi)及標(biāo)記并相應(yīng)建立地物類(lèi)型層色對(duì)應(yīng)表、矢量數(shù)據(jù)采集與分別建立房屋類(lèi)、散樹(shù)類(lèi)和其它類(lèi)地物的模型,對(duì)被測(cè)區(qū)域內(nèi)的所有地物分別進(jìn)行處理,并獲得被測(cè)區(qū)域內(nèi)所有地物的三維幾何模型。
[0004]上述的方案在一定程度上改進(jìn)了現(xiàn)有技術(shù)的部分問(wèn)題,但是,該方案還至少存在以下缺陷:步驟繁瑣,構(gòu)建效率低,紋理質(zhì)量差的技術(shù)問(wèn)題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是針對(duì)上述問(wèn)題,提供一種構(gòu)建效率更高,紋理質(zhì)量高,效果逼真的基于密集點(diǎn)云的城市三維模型快速構(gòu)建方法。
[0006]為達(dá)到上述目的,本發(fā)明采用了下列技術(shù)方案:本基于密集點(diǎn)云的城市三維模型快速構(gòu)建方法包括以下步驟:
[0007]A、點(diǎn)云自適應(yīng)分塊:將點(diǎn)云數(shù)據(jù)進(jìn)行自適應(yīng)分塊,根據(jù)確定的閾值范圍,保證每一塊內(nèi)的點(diǎn)數(shù)目都在設(shè)定的閾值范圍內(nèi),且每一塊根據(jù)點(diǎn)的分布進(jìn)行動(dòng)態(tài)的調(diào)整,每一塊的寬度動(dòng)態(tài)地隨著點(diǎn)的密度變化;
[0008]B、分塊進(jìn)行TIN的構(gòu)建:在已經(jīng)分好的塊內(nèi),分別進(jìn)行三維TIN模型的構(gòu)建;
[0009]C、紋理選擇:為三維TIN模型的每個(gè)面從多視傾斜影像中選出質(zhì)量最好的影像作為紋理數(shù)據(jù)源;
[0010]D、紋理提取:選出質(zhì)量最好的紋理數(shù)據(jù)源之后,進(jìn)行紋理的提??;
[0011]E、漏洞修補(bǔ):根據(jù)紋理特征對(duì)紋理影像進(jìn)行檢索,對(duì)比優(yōu)選出來(lái)的紋理影像,對(duì)于被遮擋的部分,通過(guò)檢索查找紋理特征與之相同或者近似的紋理影像,對(duì)被遮擋的部分的紋理加以替代,完成紋理的漏洞修補(bǔ);
[0012]F、紋理貼圖:將優(yōu)選出來(lái)的紋理自動(dòng)貼于三維TIN模型的表面,生成效果逼真的三維模型。
[0013]在上述的基于密集點(diǎn)云的城市三維模型快速構(gòu)建方法中,所述的點(diǎn)云數(shù)據(jù)自帶均勻格網(wǎng),上述的步驟A包括以下步驟:
[0014]①通過(guò)交互為每塊的平均點(diǎn)數(shù)設(shè)定動(dòng)態(tài)可調(diào)的閾值,所述的閥值為20-100 ;對(duì)于給定的點(diǎn)集P,根據(jù)點(diǎn)集P數(shù)據(jù)量確定一個(gè)閾值,使得每個(gè)塊內(nèi)的點(diǎn)數(shù)盡量接近所述閾值;
[0015]②在讀取點(diǎn)云數(shù)據(jù)時(shí)記錄下離散點(diǎn)的總數(shù),再根據(jù)選定的閥值,計(jì)算出來(lái)共分多少行多少列的矩形區(qū)域;
[0016]③以橫坐標(biāo)為主縱坐標(biāo)為輔對(duì)所有數(shù)據(jù)排序,根據(jù)每塊的閥值和計(jì)算出來(lái)的行列數(shù)計(jì)算出每行內(nèi)共有多少個(gè)離散數(shù)據(jù)即每行的閥值,按照行的閥值將所有的數(shù)據(jù)劃分成一行行的數(shù)據(jù)條;
[0017]④再在每個(gè)數(shù)據(jù)條內(nèi)以縱坐標(biāo)為主橫坐標(biāo)為輔進(jìn)行排序,按設(shè)定好每塊的閥值,將每行的數(shù)據(jù)具體劃分并存儲(chǔ)到每塊的邊鏈表內(nèi)。
[0018]在上述的基于密集點(diǎn)云的城市三維模型快速構(gòu)建方法中,其特征在于,上述的步驟B包括以下步驟:
[0019]①在塊內(nèi)找到任意一點(diǎn)A和與之距離最近的一點(diǎn)B,將兩點(diǎn)連起來(lái)作為第一個(gè)三角形的一條基邊,將其加入到邊鏈表中,并以此為基邊進(jìn)行擴(kuò)展;
[0020]②利用構(gòu)建正方體的方法限定最佳匹配點(diǎn)的搜索范圍;
[0021]a)計(jì)算出第一條基邊的中點(diǎn)坐標(biāo),對(duì)于初始點(diǎn)A、B通過(guò)遍歷記錄下兩個(gè)點(diǎn)的坐標(biāo),并根據(jù)A、B兩點(diǎn)的坐標(biāo)計(jì)算出線段AB的中點(diǎn)O坐標(biāo);
[0022]b)以O(shè)點(diǎn)為中心在塊內(nèi)構(gòu)建一個(gè)正方體,其大小根據(jù)參與構(gòu)網(wǎng)的點(diǎn)數(shù)及密度動(dòng)態(tài)確定,使得落在這個(gè)正方體內(nèi)的點(diǎn)數(shù)在45-55個(gè),將第三點(diǎn)的搜索范圍定位在該正方體內(nèi);
[0023]③在正方體內(nèi)進(jìn)行第一個(gè)三角形的構(gòu)建,根據(jù)最大最小角原則和空外接圓特性尋找最佳匹配點(diǎn),若在正方體內(nèi)沒(méi)有搜索到最佳匹配點(diǎn),則將搜索范圍動(dòng)態(tài)的擴(kuò)大一倍,直到搜索到最佳匹配點(diǎn)為止;
[0024]④在構(gòu)建完第一個(gè)三角形之后,將新構(gòu)成的三角形和邊加入相應(yīng)的結(jié)構(gòu)體中進(jìn)行存儲(chǔ);
[0025]⑤以新生成的三角形的邊為基邊按照步驟②、③向外進(jìn)行擴(kuò)展,并讀取該邊的使用次數(shù),如果使用次數(shù)為2或者該邊的右邊沒(méi)有點(diǎn),則該邊不進(jìn)行擴(kuò)展,同時(shí)對(duì)新生成的三角形和邊進(jìn)行存儲(chǔ);
[0026]⑥重復(fù)步驟⑤,直至邊鏈表中的所有邊都進(jìn)行了擴(kuò)展,結(jié)束構(gòu)網(wǎng);
[0027]⑦進(jìn)行塊間三角網(wǎng)歸并,根據(jù)分成的塊,提取出邊界面上的點(diǎn),對(duì)相鄰的塊的邊界面上的點(diǎn),進(jìn)行構(gòu)TIN處理,從而縫合塊間的三角網(wǎng);
[0028]⑧結(jié)果輸出和預(yù)覽,對(duì)得到的三維TIN模型進(jìn)行效果預(yù)覽,判斷是否滿(mǎn)足要求,若不能滿(mǎn)足要求,則對(duì)算法中的參數(shù)和步驟進(jìn)行調(diào)整,直至得到滿(mǎn)意結(jié)果;
[0029]依據(jù)上述步驟得到三維TIN模型。
[0030]在上述的基于密集點(diǎn)云的城市三維模型快速構(gòu)建方法中,在上述的步驟C中,為每個(gè)面從多視傾斜影像中選出質(zhì)量最好的影像作為紋理數(shù)據(jù)源的優(yōu)選準(zhǔn)則如下:
[0031]①同一面在兩幅或兩幅以上備選影像中均完全可視時(shí),則選擇成像角度最好的影像;
[0032]②同一面僅有一幅影像可視時(shí),則以該影像進(jìn)行紋理采集;
[0033]③同一面在所有備選影像中都存在遮擋時(shí),則以紋理區(qū)域遮擋面積最小的影像優(yōu)先。
[0034]在上述的基于密集點(diǎn)云的城市三維模型快速構(gòu)建方法中,成像角度最好的影像選擇采用視角法進(jìn)行選擇:該面的單位法向量與視點(diǎn)方向的夾角最小即視點(diǎn)最優(yōu),比較每幅紋理影像所求出的夾角,將夾角較小的2-3張紋理影像記錄下來(lái);在利用視角法選出來(lái)視角最佳的2-3張影像之后,采用深度緩存算法優(yōu)選出遮擋程度最小的紋理,該算法基于透視成像時(shí)離透視中心最近的地面點(diǎn)遮擋該光線上其他點(diǎn),若視角最佳影像被遮擋程度最大,則要選擇視角效果次之的影像;首先對(duì)深度緩存器和顏色緩存器進(jìn)行初始化,把深度緩存器中所有單元置成一個(gè)最大可能的深度值,把顏色緩存器中各單元置成背景顏色;然后將場(chǎng)景中的物體不分次序地投影到象平面上去;對(duì)于每個(gè)投影點(diǎn)