一種點(diǎn)云場景重建方法
【專利摘要】本發(fā)明一種點(diǎn)云場景重建方法,具體按照以下步驟實(shí)施:步驟1、將點(diǎn)云場景中的點(diǎn)云數(shù)據(jù)分為地面點(diǎn)、地面以上的平面點(diǎn)、地面以上的非平面點(diǎn);步驟2、對(duì)步驟1中得到的不同類型的地面以上的點(diǎn)云數(shù)據(jù)進(jìn)行分割;步驟3、根據(jù)步驟2中的分割結(jié)果,完成點(diǎn)云場景中不同對(duì)象的提?。徊襟E4、對(duì)步驟3中提取出的不同對(duì)象采用不同的方法完成點(diǎn)云場景的重建。本發(fā)明一種點(diǎn)云場景重建方法解決了現(xiàn)有技術(shù)僅適用于特定的對(duì)象或者是針對(duì)于特定數(shù)據(jù)重建的局限性,能夠自動(dòng)地完成點(diǎn)云場景的重建。
【專利說明】一種點(diǎn)云場景重建方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于計(jì)算機(jī)圖形學(xué)和虛擬現(xiàn)實(shí)相結(jié)合的交叉學(xué)科【技術(shù)領(lǐng)域】,具體涉及一種 點(diǎn)云場景重建方法。
【背景技術(shù)】
[0002] 點(diǎn)云場景重建一直都是計(jì)算機(jī)圖形學(xué)和虛擬現(xiàn)實(shí)的一個(gè)重要研究領(lǐng)域。傳統(tǒng)的重 建多是針對(duì)單個(gè)對(duì)象(如建筑物)或者是基于某種假設(shè)重建出特定類型的建筑物,因此難 以適用于包含復(fù)雜對(duì)象的點(diǎn)云場景重建。
[0003] 由于掃描場景時(shí)物體間存在遮擋,導(dǎo)致場景中的每個(gè)物體不可能得到多方位的掃 描,造成對(duì)象對(duì)應(yīng)的點(diǎn)云數(shù)據(jù)不完整。再加上點(diǎn)云數(shù)據(jù)的海量性,場景中包含有豐富的對(duì) 象,且對(duì)象特征各異,使得點(diǎn)云場景的重建自動(dòng)化程度低,可靠性差。
[0004] 在近幾年中,很多學(xué)者集中于研究場景重建算法的研究。根據(jù)輸入數(shù)據(jù)類型的不 同,現(xiàn)有的方法分為兩類:基于圖像的場景重建以及基于點(diǎn)云數(shù)據(jù)的場景重建。
[0005] 1、基于圖像的場景重建
[0006] 圖像是一種比較容易獲得的數(shù)據(jù)類型,已經(jīng)有很多方法從地面拍攝圖像或者航空 拍攝的圖像恢復(fù)場景?;趫D像的場景重建的方法又可以分為自動(dòng)重建方法和利用交互重 建方法。
[0007] ①自動(dòng)重建
[0008] Dick認(rèn)為建筑物是由一些參數(shù)化的基本元素構(gòu)成(如墻、門和窗等),他給這 些基本元素都分配了一定的概率分布。建筑物的布局一部分通過數(shù)據(jù)訓(xùn)練得到,一部分 通過專家知識(shí)手工添加。最終建筑物采用馬爾科夫鏈蒙特卡羅(MarkovChainMonte Carlo,MCMC)機(jī)器完成重建。Barinova利用條件隨機(jī)場模型(ConditionalRandomField model)從單獨(dú)的一張圖像中恢復(fù)出室外場景。Xiao提出一種利用圖像恢復(fù)街道場景的 方法,該方法將圖像細(xì)分并且識(shí)別成有意義的部分,然后將建筑物單獨(dú)的分離出來,利用 基于逆貼片(inversepatch-based)投影和結(jié)構(gòu)分析的方法對(duì)建筑物立面進(jìn)行重建。 Vanegas提出一種從校準(zhǔn)的航空?qǐng)D像恢復(fù)出建筑物模型的方法,該方法遵從曼哈頓世界假 設(shè)(Manhattan-worldassumption),利用語法將初始的建筑模型進(jìn)行細(xì)化修正,完成建筑 物重建。
[0009] ②交互式重建
[0010] 除了上述的自動(dòng)完成建筑物重建的方法,許多學(xué)者也提出了允許用戶交互的 建筑物重建方法。Sinha提出了一種基于無序圖像序列的交互式建筑物重建方法,通過 用戶在圖像上畫出建筑物的輪廓線,從而形成平面,并根據(jù)多幅圖像獲取消隱點(diǎn),利用 Sfm(StructureFromMotion,從運(yùn)動(dòng)恢復(fù)三維場景結(jié)構(gòu))確定平面的位置和法向量,最后 利用圖割和泊松混合的方法將多幅圖像自動(dòng)組合,自動(dòng)完成建筑物的紋理帖圖,最終的建 筑物模型由平面集合組合而成。Musialski設(shè)計(jì)了一種基于一致性的建筑物立面重建系統(tǒng), 該系統(tǒng)針對(duì)立面橫向或者縱向分割提出了一個(gè)同步編輯工具,允許設(shè)計(jì)人員同時(shí)操作一組 立面元素,可以插入、移動(dòng)一個(gè)元素,或者指定其屬性值。El-hakim也提出了一種基于圖像 的半自動(dòng)建筑物重建系統(tǒng),該系統(tǒng)允許用戶構(gòu)建參數(shù)化形狀,并將它們存儲(chǔ)在數(shù)據(jù)庫中,對(duì) 于類似的對(duì)象可以重復(fù)使用。El-hakim也提出了一種基于圖像的半自動(dòng)建筑物重建系統(tǒng), 該系統(tǒng)允許用戶構(gòu)建參數(shù)化形狀,并將它們存儲(chǔ)在數(shù)據(jù)庫中,對(duì)于類似的對(duì)象可以重復(fù)使 用。
[0011] 2、基于點(diǎn)云數(shù)據(jù)的場景重建
[0012] 雖然獲取圖像非??旖荼憷怯扇S世界轉(zhuǎn)化為二維影像的過程中,會(huì)不可 避免地丟失三維深度值以及拓?fù)潢P(guān)系等眾多信息,所以從二維影像出發(fā)對(duì)三維客觀世界進(jìn) 行重建,往往存在自身的局限。而三維點(diǎn)云數(shù)據(jù)有效地彌補(bǔ)了圖像數(shù)據(jù)的不足。隨著激光 掃描技術(shù)的發(fā)展,很多學(xué)者提出了基于三維點(diǎn)云數(shù)據(jù)的場景重建方法。在這里,根據(jù)用戶是 否參加重建,也將基于點(diǎn)云數(shù)據(jù)的對(duì)象重建分為自動(dòng)重建和交互式重建。
[0013] ①自動(dòng)重建
[0014] Verma針對(duì)航空掃描的點(diǎn)云數(shù)據(jù),通過協(xié)方差矩陣分析去除非平面點(diǎn),然后使用最 大連通域準(zhǔn)則提取屬于屋頂?shù)狞c(diǎn)云數(shù)據(jù),并歸納出建筑物屋頂常見的拓?fù)潢P(guān)系(如I型、L 型和U型結(jié)構(gòu)等),根據(jù)平面間的連接關(guān)系完成建筑物的重建。余利用LiDAR數(shù)據(jù)點(diǎn)集的邊 界來定位衛(wèi)星圖像上的感興趣區(qū)域,利用從感興趣區(qū)域中提取的關(guān)鍵提示線來實(shí)現(xiàn)屋頂?shù)?分割,從而得到屬于每個(gè)建筑物的屋頂點(diǎn),然后,基于三角面片的法向量方向信息對(duì)其進(jìn)行 聚類,根據(jù)法向量之間的關(guān)系進(jìn)行屋頂類型識(shí)別,從而實(shí)現(xiàn)居民區(qū)建筑物的重建。Wan針對(duì) 激光掃描點(diǎn)云,提出一種基于語法規(guī)則分割的三維墻面重建算法,該方法首先利用RANSAC 算法將增強(qiáng)后的點(diǎn)云分割成平面集合,然后根據(jù)定義的語法規(guī)則,采用"自頂向下"的思想 將平面分割成四邊形集合,最終生成建筑物的結(jié)構(gòu)化網(wǎng)格模型。
[0015] ②交互式重建
[0016] Chen認(rèn)為建筑物都是由平面組成的,利用自頂向下的建模思想,對(duì)點(diǎn)云數(shù)據(jù)按照 平面特征作聚類分析,然后從面出發(fā)計(jì)算相鄰面之間的交線。由于有些結(jié)構(gòu)在掃描中可能 存在嚴(yán)重的缺漏(如建筑屋的頂部和玻璃墻等),這個(gè)過程需要依賴用戶少量的交互操作 來修正,算法結(jié)合自動(dòng)計(jì)算和用戶的交互輸入達(dá)到對(duì)建筑物建模的目的。Nan提出一種名為 SmartBoxes的交互系統(tǒng)完成建筑物的重建,通過對(duì)建筑物常見部分(例如:窗戶和陽臺(tái)) 的定義,該系統(tǒng)利用建筑物自身的相似性,將常見部分自適應(yīng)拷貝到重復(fù)出現(xiàn)的區(qū)域,完成 對(duì)稀疏或者不完整的建筑物數(shù)據(jù)的重建。
[0017]目前這些相關(guān)的方法多是針對(duì)于特定的對(duì)象,例如建筑物,或者是針對(duì)于只包含 建筑物屋頂、地面和樹木的航空LiDAR數(shù)據(jù)。由于地面激光掃描儀的高速發(fā)展,從行人的視 角完成場景的重建也非常重要。但是在真實(shí)的城市場景中,往往包含多種復(fù)雜的對(duì)象,現(xiàn)有 的方法并不試用于地面點(diǎn)云數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0018] 本發(fā)明的目的是提供一種點(diǎn)云場景重建方法,解決了現(xiàn)有技術(shù)中存在的僅針對(duì)建 筑物進(jìn)行重建或者針對(duì)于只包含建筑物屋頂、地面和樹木的航空LiDAR數(shù)據(jù),不能重建出 包含有豐富對(duì)象的點(diǎn)云場景的問題。
[0019] 本發(fā)明所采用的技術(shù)方案是,一種點(diǎn)云場景重建方法,具體按照以下步驟實(shí)施:
[0020] 步驟1、將點(diǎn)云場景中的點(diǎn)云數(shù)據(jù)分為地面點(diǎn)、地面以上的平面點(diǎn)、地面以上的非 平面點(diǎn);
[0021] 步驟2、對(duì)步驟1中得到的不同類型的地面以上的點(diǎn)云數(shù)據(jù)進(jìn)行分割;
[0022] 步驟3、根據(jù)步驟2中的分割結(jié)果,完成點(diǎn)云場景中不同對(duì)象的提取;
[0023] 步驟4、對(duì)步驟3中提取出的不同對(duì)象采用不同的方法完成點(diǎn)云場景的重建。
[0024] 本發(fā)明的特點(diǎn)還在于,
[0025] 利用C-SVM對(duì)步驟1中點(diǎn)云數(shù)據(jù)進(jìn)行分類:
[0026] ①點(diǎn)云中的點(diǎn)p,找到其k個(gè)臨近點(diǎn):
【權(quán)利要求】
1. 一種點(diǎn)云場景重建方法,其特征在于,具體按照以下步驟實(shí)施: 步驟1、將點(diǎn)云場景中的點(diǎn)云數(shù)據(jù)分為地面點(diǎn)、地面以上的平面點(diǎn)、地面以上的非平面 占. 步驟2、對(duì)步驟1中得到的不同類型的地面以上的點(diǎn)云數(shù)據(jù)進(jìn)行分割; 步驟3、根據(jù)步驟2中的分割結(jié)果,完成點(diǎn)云場景中不同對(duì)象的提??; 步驟4、對(duì)步驟3中提取出的不同對(duì)象采用不同的方法完成點(diǎn)云場景的重建。
2. 根據(jù)權(quán)利要求1所述的一種點(diǎn)云場景重建方法,其特征在于,利用C-SVM對(duì)所述步驟 1中點(diǎn)云數(shù)據(jù)進(jìn)行分類: ① 點(diǎn)云中的點(diǎn)P,找到其k個(gè)臨近點(diǎn):
P的三階協(xié)方差矩陣M為:
其中,戶為點(diǎn)P的k個(gè)臨近點(diǎn)的平均位置,
通過奇異值分解對(duì)三階協(xié)方差矩陣M進(jìn)行特征值分解,得到協(xié)方差矩陣M的特征值O < λ2< λ3,A1對(duì)應(yīng)特征向量np為點(diǎn)p的法向量; 定義:
F1表示該點(diǎn)偏離其切平面的程度,當(dāng)F1接近O時(shí),表示點(diǎn)p的臨近點(diǎn)可以近似地?cái)M合 成平面,它的臨近點(diǎn)中的噪聲相對(duì)較??; ② 一旦點(diǎn)P的法向量np確定了,利用k-d樹查找點(diǎn)p的m個(gè)臨近點(diǎn)% >點(diǎn)p的協(xié)方差 矩陣為:
通過奇異值分解對(duì)上式的協(xié)方差矩陣〇;進(jìn)行特征值分解,得到協(xié)方差矩陣的特 征值^T 其中,X表示法向量在高斯球上的最大變化度,;I;度量法向量分布是 否規(guī)律; 定義:
如果F2和F3均接近O時(shí),表示該點(diǎn)為平面點(diǎn),如果F2和F3至少有一個(gè)大于O時(shí),表示 該點(diǎn)為非平面點(diǎn); ③ Iii是點(diǎn)Pi的法向量, η? 一 (nxi, nyi, nzi), 定義: F4 = fabs (nzi); 如果F4?1,表示該點(diǎn)為地面點(diǎn); ④ 高度差為每個(gè)點(diǎn)與地面最低點(diǎn)的距離,定義: F5= Δζ = Zi_Zlowesf 如果F5接近0,則表示該點(diǎn)為地面點(diǎn),如果F5大于0,則表示該點(diǎn)為點(diǎn)云場景中的地面 以上的點(diǎn); 上述F2、F3、F4和F5為C-SVM分類所利用的特征值。
3. 根據(jù)權(quán)利要求1所述的一種點(diǎn)云場景重建方法,其特征在于,所述步驟2中對(duì)不同類 型的點(diǎn)云數(shù)據(jù)進(jìn)行分割的具體實(shí)施方法為: ① 對(duì)于地面以上的平面點(diǎn),選取平面點(diǎn)中任意一點(diǎn)q作為種子點(diǎn),nq為點(diǎn)q的法向量, np為除種子點(diǎn)q外未被遍歷點(diǎn)的法向量,若 nq * np ^ I, 將點(diǎn)P與點(diǎn)q歸為一類,然后,利用基于距離的聚類方法進(jìn)行分割:在該類中任選一點(diǎn), 將與這點(diǎn)的距離不大于閾值ε的點(diǎn)歸為一類,得到一個(gè)平面點(diǎn)簇; ② 對(duì)于地面以上的非平面點(diǎn),利用基于距離的聚類方法進(jìn)行分割:在非平面點(diǎn)中任選 一點(diǎn),將與這點(diǎn)的距離不大于閾值S的點(diǎn)歸為一類,得到一個(gè)非平面點(diǎn)簇。
4. 根據(jù)權(quán)利要求3所述的一種點(diǎn)云場景重建方法,其特征在于,所述閾值ε的取值范 圍為:0-0. 1。
5. 根據(jù)權(quán)利要求3所述的一種點(diǎn)云場景重建方法,其特征在于,所述閾值δ的取值范 圍為:0-0. 1。
6. 根據(jù)權(quán)利要求1所述的一種點(diǎn)云場景重建方法,其特征在于,所述步驟3中點(diǎn)云場景 中不同對(duì)象的提取的具體步驟為: 步驟3. 1、計(jì)算得到點(diǎn)云場景中的最低點(diǎn)為地面點(diǎn),計(jì)算每個(gè)平面點(diǎn)簇的最高點(diǎn)與地面 點(diǎn)的距離差Height, Height = max (Zi) -min (Zground), 其中,Hiax(Zi)為每個(gè)平面點(diǎn)簇中最高點(diǎn)的高度值,Hiin(Zgromd)為地面點(diǎn)的高度值, 如果距離差Height不小于10米,則該平面點(diǎn)簇為建筑物,否則,該平面點(diǎn)簇為低矮平 面; 步驟3. 2、計(jì)算步驟3. 1中提取到的建筑物平面的最小包圍盒,包含在最小包圍盒中的 非平面點(diǎn)為窗戶; 步驟3. 3、計(jì)算每個(gè)非平面點(diǎn)簇的長寬比Ratio :
其中,width = Xmax-Xmin, height = ymax-ymin,Xmax為非平面點(diǎn)簇中X坐標(biāo)軸上的最大值, Xniin為非平面點(diǎn)簇中X坐標(biāo)軸上的最小值,y_為非平面點(diǎn)簇中y坐標(biāo)軸上的最大值,ynin為 非平面點(diǎn)簇中y坐標(biāo)軸上的最小值, 如果Ratio近似等于1,則該非平面點(diǎn)簇為樹木,否則,該非平面點(diǎn)簇不為樹木; 步驟3. 4、去除點(diǎn)數(shù)不大于10的點(diǎn)云。
7. 根據(jù)權(quán)利要求6所述的一種點(diǎn)云場景重建方法,其特征在于,所述步驟3. 2中計(jì)算有 向包圍盒的具體步驟為: a. 點(diǎn)云中的點(diǎn)p,找到其k個(gè)臨近點(diǎn):
P的三階協(xié)方差矩陣M為:
其中,Z7為點(diǎn)P的k個(gè)臨近點(diǎn)的平均位置, * ?-丄
通過奇異值分解對(duì)三階協(xié)方差矩陣M進(jìn)行特征值分解,以最小特征值對(duì)應(yīng)的特征向量 為W軸,其余兩個(gè)特征值對(duì)應(yīng)的向量為u,v軸,建立局部點(diǎn)集初始坐標(biāo)系C= (u,v,w); b. 將建筑物上的點(diǎn)繞w軸進(jìn)行旋轉(zhuǎn),新的坐標(biāo)系CT =RC,其中:
Θ e (〇, Ji /2), c. 點(diǎn)P在坐標(biāo)系C'下的坐標(biāo)p' =C' p,求建筑物點(diǎn)集P中每點(diǎn)在坐標(biāo)系C'下的 新坐標(biāo),得到點(diǎn)集中點(diǎn)的最大X值Xmax和最大7值7_以及最小X值X min和最小y 值 Ymin ; d. 利用下式計(jì)算各個(gè)坐標(biāo)系下的有向包圍盒的體積: V = (Umin) X (YmaxImin) X (Umin), 選擇最小的有向包圍盒的體積作為建筑物點(diǎn)集P的最小包圍盒。
8. 根據(jù)權(quán)利要求1所述的一種點(diǎn)云場景重建方法,其特征在于,所述步驟4中點(diǎn)云場景 的重建的具體方法為: ①如果步驟3中提取到點(diǎn)云場景中的對(duì)象為建筑物,首先,找出建筑物平面點(diǎn)簇中具 有最大X坐標(biāo)值的點(diǎn)PMaxX、最小X坐標(biāo)值的點(diǎn)PMinX、最大y坐標(biāo)值的點(diǎn)PMaxY、最小y坐標(biāo)值的 點(diǎn)P MinY、最大z坐標(biāo)值的點(diǎn)PMaxZ、最小z坐標(biāo)值的點(diǎn)PMinZ;利用下式計(jì)算建筑物平面點(diǎn)簇中 的點(diǎn)云數(shù)據(jù)投影到xOy面后的中心點(diǎn),歹,):
其中,N為建筑物平面點(diǎn)簇中的總點(diǎn)數(shù),(XpyP為建筑物平面點(diǎn)簇中每點(diǎn)二維投影的 坐標(biāo); 其次,點(diǎn)P MaxX^ PMinX^PMaxY 和Pmm的二維投影點(diǎn)依次為MaxX、P' MinX、P' MaxY和P' MtaY, 分別將點(diǎn)P' MaxX、P' MinX、P' MaxY和P' MinY的X坐標(biāo)值與巧進(jìn)行比較,點(diǎn)P' MaxX、P' Minx、 MaxY和p MinY中的X坐標(biāo)值小于巧的點(diǎn)位于建筑物平面的一側(cè),點(diǎn)p Max5^pz MM、P' MaxY 和W MinY中的X坐標(biāo)值大于巧的點(diǎn)位于建筑物平面的另一側(cè),對(duì)于位于同一側(cè)的坐標(biāo)點(diǎn), 分別判斷它們與中心點(diǎn)匕,又)的距離,距離最遠(yuǎn)的為端點(diǎn)分別記為PpP 2; 然后,尋找建筑物平面點(diǎn)簇中與P1的X、y坐標(biāo)值相近的點(diǎn),記錄其中最大的Z坐標(biāo)值 ZmaXl,同時(shí)尋找建筑物平面點(diǎn)簇中與Ρ;?的X,y坐標(biāo)值相近的點(diǎn),記錄最大的Z坐標(biāo)值 ZmaX2 ; 最后,將建筑物平面點(diǎn)簇 y,Pmnz. z)、D (P2. X,P2. y,Zmax2)依次連接構(gòu)成平面S,并將點(diǎn)A、B、C、D沿平面S的法向量方 向移動(dòng)0. 1-lm,得到點(diǎn)A'、B'、C'、D',將點(diǎn)A'、B'、C'、D'依次連接構(gòu)成平面S', 分別連接點(diǎn)A和點(diǎn)A'、點(diǎn)B和點(diǎn)B'、點(diǎn)C和點(diǎn)C'、點(diǎn)D和點(diǎn)Di得到建筑物的另外4個(gè) 面; ② 如果步驟3中提取到點(diǎn)云場景中的對(duì)象為地面,首先找到地面點(diǎn)簇中z值最小的點(diǎn) H(X,y,Zniin),然后再分別找出點(diǎn) I (χΜΧ,yMX,Zniin)、點(diǎn) J(xMX,y- Zniin)、點(diǎn) KUniin, yMX,Zniin)、 點(diǎn)L(xmin,ymin,z min),依次連接點(diǎn)I、點(diǎn)J、點(diǎn)L、點(diǎn)K構(gòu)成的平面為地面; ③ 如果步驟3中提取到點(diǎn)云場景中的對(duì)象為樹木,首先找到點(diǎn)云場景中的最小的z值, 最小的z值所在的水平面為樹木的底面位置,(?)為樹木的水平位置,其中:
用半徑為^、高度為Ii1的圓柱表示樹干,底面半徑為r2、高度為h2的圓錐體表示樹枝。
【文檔編號(hào)】G06T17/00GK104392486SQ201410690610
【公開日】2015年3月4日 申請(qǐng)日期:2014年11月25日 優(yōu)先權(quán)日:2014年11月25日
【發(fā)明者】王映輝, 郝雯, 寧小娟, 石爭浩, 趙明華, 周紅芳 申請(qǐng)人:西安理工大學(xué)