本發(fā)明涉及一種點(diǎn)云生成正方形基準(zhǔn)網(wǎng)格面的構(gòu)建方法,屬于3D掃描技術(shù)領(lǐng)域。
背景技術(shù):
近年來,隨著計(jì)算機(jī)硬件性能的提高及價格的降低,其在掃描系統(tǒng)中被大量的引入。做法一般是使用點(diǎn)云獲取裝置獲取物體的點(diǎn)云(即由多個三維離散點(diǎn)組成的點(diǎn)的集合),而后將點(diǎn)云數(shù)據(jù)輸入計(jì)算機(jī),執(zhí)行相應(yīng)軟件對點(diǎn)云數(shù)據(jù)進(jìn)行各種處理,比如計(jì)算機(jī)輔助驗(yàn)證(ComputerAidedVerification,CAV)、逆向工程(ReverseEngineering,RE)、有限元網(wǎng)格自動生成、計(jì)算機(jī)圖形處理及模式識別(如人臉的識別)等。構(gòu)建點(diǎn)云網(wǎng)格面是上述各種處理所需要使用的重要技術(shù)之一,也是上述各種處理所需要解決的一個關(guān)鍵問題。點(diǎn)云網(wǎng)格一般有三角形、四邊形及多邊形等多種形狀?,F(xiàn)有的技術(shù)中,只能構(gòu)建點(diǎn)云三角網(wǎng)格面,對于傳統(tǒng)的噴繪行業(yè),由于噴繪設(shè)備噴嘴結(jié)構(gòu)多為正方形或圓形,對于一些矩形圖案的噴繪,需要將模型處理為由正方形基準(zhǔn)網(wǎng)格組成的三維模型,傳統(tǒng)的三角網(wǎng)格面無法滿足作業(yè)需求。
技術(shù)實(shí)現(xiàn)要素:
發(fā)明目的:針對現(xiàn)有技術(shù)中存在的問題與不足,本發(fā)明提供一種點(diǎn)云生成正方形基準(zhǔn)網(wǎng)格面的構(gòu)建方法,能構(gòu)建點(diǎn)云正方形基準(zhǔn)網(wǎng)格面,實(shí)現(xiàn)多分辨網(wǎng)格的劃分。技術(shù)方案:一種點(diǎn)云生成正方形基準(zhǔn)網(wǎng)格面的構(gòu)建方法,包括如下步驟:使用點(diǎn)云獲取裝置獲取物體的原始點(diǎn)云數(shù)據(jù),所述點(diǎn)云數(shù)據(jù)由多個三維離散點(diǎn)組成;采用空間八叉樹和KD樹的混合結(jié)構(gòu)表達(dá)原始點(diǎn)云數(shù)據(jù);對原始點(diǎn)云數(shù)據(jù)進(jìn)行簡化;生成基準(zhǔn)網(wǎng)格;生成多分辨率網(wǎng)格;輸出多分辨率網(wǎng)格。進(jìn)一步的,所述對原始點(diǎn)云數(shù)據(jù)進(jìn)行簡化包括:將原始點(diǎn)云數(shù)據(jù)按指定大小的立方體單元進(jìn)行劃分,然后對立方體單元內(nèi)的所有點(diǎn)云數(shù)據(jù)的坐標(biāo)值取平均,得到簡化后的點(diǎn)。進(jìn)一步的,所述生成基準(zhǔn)網(wǎng)格包括:對簡化后的點(diǎn)進(jìn)行三向分類,根據(jù)點(diǎn)的三向分類,分別在垂直于X軸方向、垂直于Y軸方向和垂直于Z軸方向,生成多個正方形基準(zhǔn)網(wǎng)格;三方向上的正方形基準(zhǔn)網(wǎng)格生成后,再對不同方向上的面進(jìn)行相關(guān)面銜接,并進(jìn)行多余面清除。進(jìn)一步的,所述相關(guān)面銜接包括:通過對正方形基準(zhǔn)網(wǎng)格進(jìn)行遍歷,獲得組成正方形基準(zhǔn)網(wǎng)格的4個特征點(diǎn)(正方形的四個頂點(diǎn)),對任意正方形基準(zhǔn)網(wǎng)格的邊,比較與其相鄰的行、列、層的特征點(diǎn),判斷是否適合組成正方形基準(zhǔn)網(wǎng)格(即,判斷四個網(wǎng)格的邊是否相等,是否在一個平面),如果適合組成正方形基準(zhǔn)網(wǎng)格,則將這兩個正方形基準(zhǔn)網(wǎng)格標(biāo)記為相關(guān)面,并通過銜接生成新的正方形基準(zhǔn)網(wǎng)格。進(jìn)一步的,所述多余面清除包括:通過對正方形基準(zhǔn)網(wǎng)格進(jìn)行遍歷,對于沒有相鄰面的基準(zhǔn)網(wǎng)格,認(rèn)為是無效的基準(zhǔn)網(wǎng)格,進(jìn)行丟棄清除;對于一個基準(zhǔn)網(wǎng)格的邊,若有其他基準(zhǔn)網(wǎng)格相鄰,則判斷這些基準(zhǔn)網(wǎng)格是否還具備其他相鄰面,如果不具備,則認(rèn)為該基準(zhǔn)網(wǎng)格是無效的基準(zhǔn)網(wǎng)格,進(jìn)行丟棄清除。進(jìn)一步的,所述生成多分辨率網(wǎng)格包括:在生成正方形基準(zhǔn)網(wǎng)格后,通過計(jì)算所有基準(zhǔn)網(wǎng)格的曲率及角度,按照相鄰基準(zhǔn)網(wǎng)格的曲率差及角度差在指定閾值范圍內(nèi)的原則,將基準(zhǔn)網(wǎng)格組合分成多個大的曲面(大面),在每個大的曲面上根據(jù)正方形基準(zhǔn)網(wǎng)格再次生成指定分辨率的較大的正方形網(wǎng)格,當(dāng)物體的輪廓邊緣構(gòu)不成較大的正方形網(wǎng)格時,采用小于指定分辨率的長度擬合點(diǎn),擴(kuò)展生成其他分辨率的網(wǎng)格。有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明提供的點(diǎn)云生成正方形基準(zhǔn)網(wǎng)格面的構(gòu)建方法,實(shí)現(xiàn)了構(gòu)建點(diǎn)云正方形基準(zhǔn)網(wǎng)格(面),可生成多分辨率的網(wǎng)格(面);生成的網(wǎng)格模型整體誤差可控制在1cm以內(nèi);從點(diǎn)云數(shù)據(jù)導(dǎo)入到模型生成,可在兩分鐘左右完成。附圖說明圖1為本發(fā)明方法流程圖。具體實(shí)施方式下面結(jié)合具體實(shí)施例,進(jìn)一步闡明本發(fā)明,應(yīng)理解這些實(shí)施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對本發(fā)明的各種等價形式的修改均落于本申請所附權(quán)利要求所限定的范圍。點(diǎn)云生成正方形基準(zhǔn)網(wǎng)格面的構(gòu)建方法,將三維激光掃描儀對物體掃描后生成物體的數(shù)字化點(diǎn)云模型數(shù)據(jù),再轉(zhuǎn)化為正方形基準(zhǔn)網(wǎng)格模型,并可以導(dǎo)出PLY文件格式。在整個點(diǎn)云處理過程中,需要按照點(diǎn)云轉(zhuǎn)化網(wǎng)格數(shù)據(jù)處理的流程,系統(tǒng)處理過程分為(如圖1所示):點(diǎn)云坐標(biāo)轉(zhuǎn)換、三維離散點(diǎn)數(shù)據(jù)輸入、數(shù)據(jù)簡化、基準(zhǔn)網(wǎng)格生成、多分辨率網(wǎng)格生成和網(wǎng)格輸出幾個環(huán)節(jié)。1)數(shù)據(jù)輸入數(shù)據(jù)輸入是指將三維離散點(diǎn)導(dǎo)入到系統(tǒng)中。2)數(shù)據(jù)簡化坐標(biāo)轉(zhuǎn)換后的點(diǎn)云數(shù)據(jù),通過空間八叉樹和KD樹的混合結(jié)構(gòu)處理后,將已知點(diǎn)云數(shù)據(jù)按指定立方體單元進(jìn)行劃分,然后對立方體單元內(nèi)的所有點(diǎn)云數(shù)據(jù)進(jìn)行取平均值,得到簡化后的點(diǎn)。3)基準(zhǔn)網(wǎng)格生成對簡化后的點(diǎn)進(jìn)行三向分類,即按簡化后的點(diǎn)靠近哪個坐標(biāo)軸,將簡化后的點(diǎn)分為垂直于X軸方向的點(diǎn)、垂直于Y軸方向的點(diǎn)和垂直于Z軸方向的點(diǎn),根據(jù)點(diǎn)的三向分類,分別在垂直于X軸方向、垂直于Y軸方向和垂直于Z軸方向,按指定長度生成Ncm*Ncm(如1cm*1cm)的正方形基準(zhǔn)網(wǎng)格(簡稱“基準(zhǔn)網(wǎng)格”,基準(zhǔn)網(wǎng)格的大小由參數(shù)控制),三方向上的基準(zhǔn)網(wǎng)格生成后,再對不同方向上的面進(jìn)行銜接,清除多余面。4)多分辨率網(wǎng)格生成生成基準(zhǔn)網(wǎng)格后,根據(jù)已知小面(該小面可隨便?。┡c相鄰小面的關(guān)系(已知小面與相鄰小面的屬性不一致),將基準(zhǔn)網(wǎng)格分成多個大面,在每個大面上根據(jù)基準(zhǔn)網(wǎng)格(如1cm*1cm)生成指定分辨率的較大網(wǎng)格(如10cm*10cm),對于物體的輪廓邊緣處,構(gòu)不成指定分辨率的網(wǎng)格時,以不破壞物體的輪廓特征為準(zhǔn)則,采用小于指定分辨率的長度擬合點(diǎn),擴(kuò)展其他分辨率的網(wǎng)格(如生成10cm*Ncm(N在1-9之間)的面)。5)網(wǎng)格輸出網(wǎng)格輸出是指以PLY文件格式輸出多分辨率網(wǎng)格(模型)。舉例說明:已知一輛推土機(jī),通過激光掃描儀快速對其進(jìn)行輪廓掃描,獲得原始點(diǎn)云數(shù)據(jù),現(xiàn)要通過本發(fā)明所描述的方法對其進(jìn)行構(gòu)建正方形網(wǎng)格模型和多分辨率網(wǎng)格模型。術(shù)語解釋:點(diǎn)云數(shù)據(jù):由大量三維離散點(diǎn)組成的數(shù)據(jù)文件。正方形網(wǎng)格模型:全部由正方形面組合而成來表示物體的外輪廓的三維數(shù)據(jù)文件。第一步:數(shù)據(jù)輸入將轉(zhuǎn)換后的三維離散點(diǎn)導(dǎo)入到系統(tǒng)中,采用空間八叉樹和KD樹的混合結(jié)構(gòu)表達(dá)整體數(shù)據(jù)。由于本發(fā)明中只采集被測物體表面數(shù)據(jù)進(jìn)行建模,故若完全采用空間八叉樹來表達(dá),會導(dǎo)致樹深度過大的同時存在較多的空節(jié)點(diǎn),浪費(fèi)存儲空間。采用混合結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)可以有效避免存儲空間的浪費(fèi),又能提高搜索速度。術(shù)語解釋:空間八叉樹:是一種用于描述三維空間的樹狀的一種數(shù)據(jù)結(jié)構(gòu)。KD樹:KD樹(K維搜索樹)是把二叉搜索樹推廣到多維數(shù)據(jù)的一種主存數(shù)據(jù)結(jié)構(gòu)?;旌辖Y(jié)構(gòu):此處混合結(jié)構(gòu)是指同時使用了空間八叉樹和KD樹兩種數(shù)據(jù)結(jié)構(gòu)相結(jié)合,保留兩種樹的特性結(jié)構(gòu)。第二步:數(shù)據(jù)簡化地面激光掃描獲取的模型由集中的海量點(diǎn)組成,點(diǎn)間距在2-5mm之間,稱之為點(diǎn)云數(shù)據(jù),海量點(diǎn)云數(shù)據(jù)雖然能詳細(xì)描述物體特征,但卻因?yàn)閿?shù)據(jù)量較大,為數(shù)據(jù)處理帶來了很大的困難。海量數(shù)據(jù)不僅占用了大量的計(jì)算機(jī)資源,造成數(shù)據(jù)處理緩慢,同時這些數(shù)據(jù)中,有很多是多余的。這些多余的數(shù)據(jù)不利于后續(xù)的三維建模,因此需要將數(shù)據(jù)進(jìn)行簡化,盡可能用最少的點(diǎn)最好地表達(dá)研究對象。本方法中采用的數(shù)據(jù)簡化方式主要是通過將點(diǎn)云模型劃分為1cm*1cm*1cm的基準(zhǔn)正方體,通過對落入基準(zhǔn)正方體內(nèi)的點(diǎn),計(jì)算得到其平均坐標(biāo)(所有點(diǎn)坐標(biāo)值取平均),進(jìn)而得到簡化后的點(diǎn)云數(shù)據(jù),一般可以對原有數(shù)據(jù)量進(jìn)行100倍左右的簡化,同時本方法對簡化后的點(diǎn)云,根據(jù)X軸、Y軸和Z軸對每個基準(zhǔn)正方體進(jìn)行分層編碼(如某個基準(zhǔn)正方體屬于第幾行(橫向位置)、第幾列(縱向位置)、第幾層(高度位置))。第三步:基準(zhǔn)網(wǎng)格生成基準(zhǔn)網(wǎng)格生成就是指對點(diǎn)云數(shù)據(jù)進(jìn)行按正方形網(wǎng)格對其生成由面構(gòu)成的模型,取代原有由點(diǎn)組成的模型。本方法通過對簡化后的點(diǎn)進(jìn)行三向分類(按簡化后的點(diǎn)靠近哪個坐標(biāo)軸,將點(diǎn)分為垂直于X軸方向的點(diǎn),垂直于Y軸方向的點(diǎn)和垂直于Z軸方向的點(diǎn)),根據(jù)點(diǎn)的三向分類,分別在垂直于X軸方向,垂直于Y軸方向和垂直于Z軸方向,生成1cm*1cm的正方形基準(zhǔn)網(wǎng)格,三方向上的基準(zhǔn)網(wǎng)格生成后,再對不同方向上的面進(jìn)行相關(guān)面銜接,并進(jìn)行多余面清除。術(shù)語解釋:相關(guān)面銜接:相關(guān)面銜接指的是通過對基準(zhǔn)網(wǎng)格進(jìn)行遍歷,獲得組成基準(zhǔn)網(wǎng)格的4個特征點(diǎn),本方法中由于所有特征點(diǎn)都具有行、列、層三個屬性,因此系統(tǒng)中的相關(guān)面銜接指的是,對任意基準(zhǔn)網(wǎng)格的邊,通過查詢比較與其相鄰的行、列、層的特征點(diǎn),判別是否適合組成新的基準(zhǔn)網(wǎng)格,若滿足形成新的基準(zhǔn)網(wǎng)格的條件(即可以組成正方形),則此兩個面標(biāo)記為相關(guān)面,并通過銜接生成新的正方形面(即新的基準(zhǔn)網(wǎng)格,或稱“基準(zhǔn)網(wǎng)格面”)。多余面清除:指的是通過對已經(jīng)構(gòu)成的所有基準(zhǔn)網(wǎng)格面進(jìn)行遍歷,對于那些沒有相鄰面(即與該面具有公共邊)的基準(zhǔn)網(wǎng)格,稱為獨(dú)立基準(zhǔn)網(wǎng)格,本方法認(rèn)為其為無效的基準(zhǔn)網(wǎng)格,則進(jìn)行丟棄清除,其次本方法還規(guī)定,對于一個基準(zhǔn)網(wǎng)格的邊,若同時具備多個基準(zhǔn)網(wǎng)格相鄰,則判斷這些相鄰的基準(zhǔn)網(wǎng)格是否還具備其他相鄰的基準(zhǔn)網(wǎng)格,若不具備,則本方法認(rèn)為該基準(zhǔn)網(wǎng)格為無效的基準(zhǔn)網(wǎng)格,則進(jìn)行丟棄清除。第四步:多分辨率網(wǎng)格生成多分辨率網(wǎng)格指的是組成模型除標(biāo)準(zhǔn)正方形網(wǎng)格外,對于一些特定區(qū)域無法構(gòu)成標(biāo)準(zhǔn)正方形網(wǎng)格的地方,可以采用構(gòu)建長方形或者更小的正方形來實(shí)現(xiàn)。本方法中采用的方式是,在生成基準(zhǔn)網(wǎng)格后,通過計(jì)算所有基準(zhǔn)網(wǎng)格面的曲率及角度,按照相近原則,將基準(zhǔn)網(wǎng)格組合分成多個大的曲面(如車輛的側(cè)面由幾百個1cm*1cm小面組成,但是因?yàn)榇蟛糠中∶娑季邆渫瑯拥姆较蚝颓?,以此可以將車輛的側(cè)面大部分劃分為一個大面)。本方法中在每個大面上根據(jù)基準(zhǔn)網(wǎng)格(1cm*1cm)再次進(jìn)行劃分生成指定分辨率的較大網(wǎng)格(如10cm*10cm),當(dāng)裝備輪廓邊緣構(gòu)不成Ncm*Ncm(10cm*10cm)的正方形面時,以不破壞物體的輪廓特征為準(zhǔn)則,采用小于指定分辨率的長度擬合點(diǎn),擴(kuò)展生成其他分辨率的面。第五步:網(wǎng)格輸出將符合指定分辨率大小的網(wǎng)格與不符合的網(wǎng)格區(qū)分出來,分別賦以不同顏色,以ply(一種線面模型的數(shù)據(jù)結(jié)構(gòu)文件)文件格式輸出多分辨率網(wǎng)格模型。