專利名稱:一種基于近鄰傳播聚類的非均勻點(diǎn)云簡(jiǎn)化處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)視覺(jué)、數(shù)據(jù)處理、計(jì)算機(jī)圖形學(xué)、數(shù)值計(jì)算方法和逆向工程領(lǐng) 域,尤其是一種非均勻點(diǎn)云簡(jiǎn)化處理方法。
背景技術(shù):
通過(guò)圖像匹配和掃描真實(shí)物體模型技術(shù)可以獲得大規(guī)模的采樣點(diǎn)即點(diǎn)云。點(diǎn)云 通常包含大量的數(shù)據(jù)點(diǎn)并且能很好的表達(dá)物體的表面。但是大規(guī)模的點(diǎn)云給點(diǎn)的繪制以 及編輯都帶來(lái)了很大的困難,另一方面,三維模型的表達(dá)通常并不需要如此多的點(diǎn)。為了 更有效的表達(dá)和繪制三維點(diǎn)云模型,近年來(lái)提出的很多方法應(yīng)用于點(diǎn)云簡(jiǎn)化。在初期對(duì)點(diǎn) 云的研究中,多數(shù)研究是基于點(diǎn)的拓?fù)渚W(wǎng)格,有四種經(jīng)典簡(jiǎn)化算法的概述見于Mark Pauly 馬克.波利的文章M. Pauly,"EfficientSimplification of Point-Sampled Surfaces,,, IEEE Visualization 20020ct. 27-Nov.,即馬克.波利點(diǎn)云曲面的有效簡(jiǎn)化IEEE視覺(jué) 2002. 10 ;包括了一下四種(1)頂點(diǎn)移除⑵頂點(diǎn)聚類(3)邊收縮⑷粒子仿真。這幾種 算法都是基于點(diǎn)拓?fù)涠枰馁M(fèi)較多的內(nèi)存。于是近來(lái)很多研究的重點(diǎn)開始放在直接對(duì)點(diǎn) 云進(jìn)行簡(jiǎn)化上。Boissormat引入了一種逐步的由粗糙到精細(xì)的簡(jiǎn)化方法,參照文獻(xiàn)J. _D. Boissonnat and F.Cazals. “Coarse-to-fine surface, simplificationwith geometric guarantees". EUROGRAPHICS 01,Conf. Proc.,Manchester,UK,2001 ;即伯奈特基于幾何方 法的細(xì)化點(diǎn)云簡(jiǎn)化歐洲圖形學(xué)大會(huì)英國(guó)2001。11。重采樣方法是通過(guò)一些定制的規(guī)則計(jì)算 初始點(diǎn)云的子集,而聚類的含義是把數(shù)據(jù)集分割為子集并找到每一子集的代表點(diǎn)。大多數(shù) 聚類算法都需要在初始數(shù)據(jù)集中隨機(jī)的選擇一些聚類中心,通常這些初始聚類中心的選擇 會(huì)影響到最終選出的代表點(diǎn)的結(jié)果。仿射聚類算法的提出克服了這一缺陷,它的主要思想 是初始把每一個(gè)點(diǎn)都作為初始的代表點(diǎn),并在點(diǎn)對(duì)之間發(fā)送帶有點(diǎn)信息的消息,但是和其 他聚類算法一樣不適合應(yīng)用于稠密的相似矩陣。對(duì)點(diǎn)云簡(jiǎn)化的研究主要以點(diǎn)云的網(wǎng)格拓?fù)浣Y(jié)構(gòu)為基礎(chǔ),根據(jù)拓?fù)渚W(wǎng)格的關(guān)系進(jìn)行 網(wǎng)格簡(jiǎn)化以達(dá)到點(diǎn)簡(jiǎn)化的目的,這種方法的缺陷是存儲(chǔ)大量的網(wǎng)格而需要較大的內(nèi)存。而 現(xiàn)在的主流方法主要是直接對(duì)點(diǎn)云進(jìn)行簡(jiǎn)化。仿射聚類算法的主要優(yōu)點(diǎn)是能夠在點(diǎn)與點(diǎn)之 間發(fā)送消息,并且擁有較快的處理速度,應(yīng)用領(lǐng)域較為廣泛,但是對(duì)于稠密的數(shù)據(jù)相似矩陣 時(shí)需要較大的內(nèi)存。在通過(guò)圖像匹配特征點(diǎn)重建后得到的點(diǎn)云中,由于特征點(diǎn)分布的不均勻,會(huì)導(dǎo)致 最后得到的點(diǎn)云分布的不均勻,而在采用激光掃描獲取數(shù)據(jù)點(diǎn)云時(shí),也會(huì)因?yàn)闂l件的限制 而產(chǎn)生非均勻的點(diǎn)云,現(xiàn)有的點(diǎn)云簡(jiǎn)化方法計(jì)算復(fù)雜、需要占用較大內(nèi)存、不能有效處理非 均勻的點(diǎn)云。
發(fā)明內(nèi)容
為了克服已有的點(diǎn)云簡(jiǎn)化的處理方法的計(jì)算復(fù)雜、需要占用較大內(nèi)存、不能有效 處理非均勻的點(diǎn)云的不足,本發(fā)明提供一種簡(jiǎn)化計(jì)算、減少占用的內(nèi)存容量、能有效簡(jiǎn)化非均勻點(diǎn)云的基于近鄰傳播聚類的非均勻點(diǎn)云簡(jiǎn)化處理方法。本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是—種基于近鄰傳播聚類的非均勻點(diǎn)云簡(jiǎn)化處理方法,所述非均勻點(diǎn)云簡(jiǎn)化處理方法包括以下步驟1)、首先對(duì)整體點(diǎn)云進(jìn)行k近鄰計(jì)算,計(jì)算點(diǎn)云模型中每一個(gè)點(diǎn)的k個(gè)鄰近點(diǎn),然 后根據(jù)鄰近點(diǎn)來(lái)計(jì)算每一個(gè)點(diǎn)的曲率值和密度表示值,并將鄰近點(diǎn)的序列號(hào)和其曲率值密
度值--對(duì)應(yīng);2)、根據(jù)每一個(gè)點(diǎn)的密度信息以及曲率信息進(jìn)行自適應(yīng)的均勻重采樣;3)、進(jìn)行近鄰傳播聚類簡(jiǎn)化,設(shè)初始點(diǎn)云為D,輸出簡(jiǎn)化后點(diǎn)云為FD。過(guò)程為3. 1):設(shè)定簡(jiǎn)化目標(biāo)點(diǎn)數(shù)目為閾值;3. 2)對(duì)初始點(diǎn)云D采用均勻網(wǎng)格曲率適應(yīng)性采樣方法獲得其子點(diǎn)集SD ;3. 3)計(jì)算SD中點(diǎn)與點(diǎn)之間的相似度,得到相似度矩陣S,并通過(guò)索引獲得SD中 點(diǎn)的u值;3. 4)運(yùn)用近鄰聚類算法,S和u作為AP算法輸入,計(jì)算點(diǎn)間的代表度矩陣和適選 度矩陣;如果最終選出代表點(diǎn)數(shù)目小于閾值,D = D-SD,則返回到步驟3. 2),每次選出的代 表點(diǎn)標(biāo)號(hào)加入到同一個(gè)矩陣中,直到達(dá)到目標(biāo)值得到最終點(diǎn)集FD。作為優(yōu)選的一個(gè)方案所述步驟2)中,自適應(yīng)的均勻重采樣的過(guò)程為首先對(duì)點(diǎn) 云計(jì)算一個(gè)外接包圍盒,并對(duì)包圍盒中的點(diǎn)云模型進(jìn)行網(wǎng)格劃分,劃分的過(guò)程中是均勻的 劃分網(wǎng)格,由于密度的差異,落入不同單元格中的點(diǎn)數(shù)會(huì)有差異,采樣時(shí)首先以外接立方體 坐標(biāo)最小的立方體開始,并逐漸在此立方體周圍擴(kuò)大,在每一個(gè)單元格中查看其落入點(diǎn)的 曲率和密度信息,如果單元格內(nèi)平均曲率超過(guò)整體點(diǎn)云的平均曲率,則再對(duì)單元格進(jìn)行劃 分以在此格中取到較多的樣點(diǎn),計(jì)算進(jìn)一步細(xì)分格中點(diǎn)集的中心值,并找到最靠近中心值 的點(diǎn)作為一個(gè)采樣點(diǎn),然后把搜索過(guò)的點(diǎn)刪除,在下一個(gè)立方體中搜索,直到遍歷所有的 點(diǎn)o本發(fā)明的技術(shù)構(gòu)思為針對(duì)非均勻的點(diǎn)云,本文提出基于近鄰傳播聚類密度自適 應(yīng)的點(diǎn)云簡(jiǎn)化方法,將曲率計(jì)算和密度計(jì)算結(jié)合起來(lái),共同作為點(diǎn)被保留的條件。密度是指具有統(tǒng)計(jì)性質(zhì)的樣本密度,密度的表示可以有多種方法,一個(gè)真實(shí)物體 的密度在物理學(xué)中的表示是質(zhì)量與體積之比,例如水的密度是一千克每升。而表示所用三 維物體的點(diǎn)云是分布在物體的表面,因此,我們可以用單位面積內(nèi)點(diǎn)的個(gè)數(shù)來(lái)作為三維點(diǎn) 云分布的密度。另外在聚類的概念中,一個(gè)類是一個(gè)區(qū)域,區(qū)域內(nèi)存在的點(diǎn)的密集度可以表 示為點(diǎn)云的密度,例如,以樣本點(diǎn)為中心,以某個(gè)指定數(shù)據(jù)為半徑,在特征空間內(nèi)畫出一個(gè) 球形區(qū)域,計(jì)算落入該區(qū)域的樣本數(shù)目作為該點(diǎn)的密度。還有一種方法是根據(jù)點(diǎn)與點(diǎn)之間 的距離來(lái)判斷點(diǎn)的密度,如果樣本點(diǎn)的鄰近點(diǎn)與此點(diǎn)之間的平均距離小,則松散度小,表示 密度偏大,而樣本點(diǎn)的鄰近點(diǎn)與樣點(diǎn)之間距離大,則表示松散度偏大,密度偏小。本文算法 中為了要計(jì)算點(diǎn)云中點(diǎn)間的密度,首先要對(duì)點(diǎn)云劃分空間為柵格法,在劃分過(guò)程中確定每 個(gè)點(diǎn)所屬的單元格編號(hào),然后在所在單元格內(nèi)搜索周圍點(diǎn)的個(gè)數(shù),或者是根據(jù)單元格的劃 分計(jì)算鄰近點(diǎn)的距離來(lái)表示密度,兩種密度表示方法在本質(zhì)上是相同的。假設(shè)空間中的任意一點(diǎn)p,在以半徑為r的的區(qū)域內(nèi)包含的點(diǎn)的個(gè)數(shù)稱為點(diǎn)p基于 距離r的密度density (p,r),則整個(gè)點(diǎn)云的平均密度為CN 101853485 A
說(shuō)明書
3/4頁(yè)Den = 一density (p ^r)(1)其中N為點(diǎn)云中點(diǎn)的個(gè)數(shù)。點(diǎn)云中的最大最小密度為density.和densitymin。densitymax = max (density (p^ r)) i = 1,2, ... N (2)densitymin = min (density (pi r)) i = 1,2, ... N (3)以點(diǎn)云中點(diǎn)與點(diǎn)之間的距離作為密度衡量標(biāo)準(zhǔn),點(diǎn)間的距離能夠表現(xiàn)點(diǎn)云分布的 緊密程度。點(diǎn)云中任意一點(diǎn)P點(diǎn)到其他點(diǎn)的最小距離為dp,則
(5)Dffl為點(diǎn)云S中點(diǎn)之間的平均距離。點(diǎn)云中點(diǎn)與點(diǎn)之間的距離越小,點(diǎn)的分布越集中,密度也就越大,反之,點(diǎn)之間的 距離越大,則分布越稀疏,密度越小。采用以上基于距離的密度計(jì)算方法,首先利用k鄰近點(diǎn)搜索算法對(duì)點(diǎn)云中的每一 個(gè)點(diǎn)搜索k個(gè)鄰近點(diǎn),計(jì)算鄰近點(diǎn)到樣點(diǎn)的平均距離,得到樣點(diǎn)在點(diǎn)云環(huán)境中周圍的密度J在非均勻點(diǎn)云中同樣存在點(diǎn)云曲面的彎曲度問(wèn)題,為了更好的保留簡(jiǎn)化后點(diǎn)云的 細(xì)節(jié),仍然保留曲率計(jì)算,并把曲率信息也做為點(diǎn)云簡(jiǎn)化的標(biāo)準(zhǔn)之一。曲率計(jì)算方法同第四 章中的曲率計(jì)算方法。對(duì)非均勻密度點(diǎn)云的簡(jiǎn)化仍然基于近鄰傳播聚類算法,在運(yùn)用近鄰傳播聚類算法 前計(jì)算基于距離的點(diǎn)云中點(diǎn)的密度以及曲率信息,并作為近鄰傳播聚類算法中的偏向參 數(shù),達(dá)到以密度以及曲率共同作為監(jiān)督策略來(lái)選擇最終的樣本點(diǎn)的結(jié)果。 本發(fā)明的有益效果主要表現(xiàn)在簡(jiǎn)化計(jì)算、減少占用的內(nèi)存容量、能有效簡(jiǎn)化非均 勻點(diǎn)云
圖1是原始心臟模型的示意圖。圖2是旋轉(zhuǎn)一定角度的原始心臟模型的示意圖。圖3是保留50000點(diǎn)數(shù)的旋轉(zhuǎn)心臟模型的示意圖。圖4是保留50000點(diǎn)數(shù)簡(jiǎn)化率的旋轉(zhuǎn)心臟模型的示意圖。圖5是保留30000點(diǎn)數(shù)的心臟模型的示意圖。圖6是保留30000點(diǎn)數(shù)的旋轉(zhuǎn)心臟模型的示意圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。參照?qǐng)D1 圖6,一種基于近鄰傳播聚類的非均勻點(diǎn)云簡(jiǎn)化方法,假設(shè)點(diǎn)云中任意 一點(diǎn)的密度為么曲率為CV。設(shè)定一參數(shù)U作為衡量^和CV的范圍。u=cv/ d(6)當(dāng)密度孑越大時(shí),u越小,密度孑越小時(shí),u越大。這樣的話u就能反映密度大小的 變化,能夠保證在密度大時(shí)降低點(diǎn)被選中為代表點(diǎn)的概率,而在密度較小時(shí)提高點(diǎn)被選中為代表點(diǎn)的概率,反之,對(duì)于曲率來(lái)說(shuō)也是,當(dāng)曲率cv越大時(shí),點(diǎn)被選中的概率越大,反之, 被選中的概率越小。而密度和曲率都大或都小時(shí),u值則處于中間值,這個(gè)時(shí)候判斷,以曲 率優(yōu)先判定其被選中的概率。在對(duì)非均勻點(diǎn)云簡(jiǎn)化處理方法中,首先對(duì)整體點(diǎn)云進(jìn)行k近鄰計(jì)算,計(jì)算點(diǎn)云模 型中每一個(gè)點(diǎn)的k個(gè)鄰近點(diǎn),然后根據(jù)鄰近點(diǎn)來(lái)計(jì)算每一個(gè)點(diǎn)的曲率值和密度表示值。然 后將點(diǎn)的序列號(hào)和其曲率值密度值一一對(duì)應(yīng),以便于下一步的索引使用。由于點(diǎn)云中的每 一個(gè)點(diǎn)的密度信息以及曲率信息都可以預(yù)先計(jì)算得到,因此我們可以根據(jù)這兩種信息來(lái)對(duì) 點(diǎn)云進(jìn)行自適應(yīng)的采樣后進(jìn)行近鄰傳播聚類簡(jiǎn)化。采樣方法和第四章中均勻重采樣方法有 些類似,首先對(duì)點(diǎn)云計(jì)算一個(gè)外接包圍盒,并對(duì)包圍盒中的點(diǎn)云模型進(jìn)行網(wǎng)格劃分,劃分的 過(guò)程中是均勻的劃分網(wǎng)格,由于密度的差異,落入不同單元格中的點(diǎn)數(shù)會(huì)有差異,采樣時(shí)首 先以外接立方體坐標(biāo)最小的立方體開始,并逐漸在此立方體周圍擴(kuò)大,在每一個(gè)單元格中 查看其落入點(diǎn)的曲率和密度信息,如果單元格內(nèi)平均曲率超過(guò)整體點(diǎn)云的平均曲率,則再 對(duì)單元格進(jìn)行劃分以在此格中取到較多的樣點(diǎn),計(jì)算進(jìn)一步細(xì)分格中點(diǎn)集的中心值,并找 到最靠近中心值的點(diǎn)作為一個(gè)采樣點(diǎn)。然后把搜索過(guò)的點(diǎn)刪除,在下一個(gè)立方體中搜索, 直到遍歷所有的點(diǎn),此種均勻劃分網(wǎng)格的方法能夠保證在點(diǎn)云模型表面采樣到比較均勻的 點(diǎn),并且在曲率較大的網(wǎng)格內(nèi)多采樣點(diǎn)較大的保留細(xì)節(jié)信息。基于近鄰傳播聚類算法的非均勻點(diǎn)云算法流程如下初始點(diǎn)云為D,輸出簡(jiǎn)化后點(diǎn)云為FD。步驟1 設(shè)定簡(jiǎn)化目標(biāo)點(diǎn)數(shù)目為閾值。步驟2 對(duì)初始點(diǎn)云D采用均勻網(wǎng)格曲率適應(yīng)性采樣方法獲得其子點(diǎn)集SD。步驟3 計(jì)算SD中點(diǎn)與點(diǎn)之間的相似度,得到相似度矩陣S,并通過(guò)索引獲得SD中 點(diǎn)的u值。步驟4 運(yùn)用AP聚類算法,S和u作為AP算法輸入,計(jì)算點(diǎn)間的代表度矩陣和適選 度矩陣。如果最終選出代表點(diǎn)數(shù)目小于閾值,D = D-SD,則返回到步驟2,每次選出的代表 點(diǎn)標(biāo)號(hào)加入到同一個(gè)矩陣中,直到達(dá)到目標(biāo)值得到最終點(diǎn)集FD。實(shí)驗(yàn)采用了心臟的點(diǎn)云模型進(jìn)行驗(yàn)證,圖1和圖2所示為原始心臟點(diǎn)云模型,圖3、 4、5、6所示為在不同簡(jiǎn)化數(shù)條件下不同視角的簡(jiǎn)化結(jié)果。
權(quán)利要求
一種基于近鄰傳播聚類的非均勻點(diǎn)云簡(jiǎn)化處理方法,其特征在于所述非均勻點(diǎn)云簡(jiǎn)化處理方法包括以下步驟1)、首先對(duì)整體點(diǎn)云進(jìn)行k近鄰計(jì)算,計(jì)算點(diǎn)云模型中每一個(gè)點(diǎn)的k個(gè)鄰近點(diǎn),然后根據(jù)鄰近點(diǎn)來(lái)計(jì)算每一個(gè)點(diǎn)的曲率值和密度表示值,并將鄰近點(diǎn)的序列號(hào)和其曲率值密度值一一對(duì)應(yīng);2)、根據(jù)每一個(gè)點(diǎn)的密度信息以及曲率信息進(jìn)行自適應(yīng)的均勻重采樣;3)、進(jìn)行近鄰傳播聚類簡(jiǎn)化,設(shè)初始點(diǎn)云為D,輸出簡(jiǎn)化后點(diǎn)云為FD,過(guò)程為3.1)設(shè)定簡(jiǎn)化目標(biāo)點(diǎn)數(shù)目為閾值;3.2)對(duì)初始點(diǎn)云D采用均勻網(wǎng)格曲率適應(yīng)性采樣方法獲得其子點(diǎn)集SD;3.3)計(jì)算SD中點(diǎn)與點(diǎn)之間的相似度,得到相似度矩陣S,并通過(guò)索引獲得SD中點(diǎn)的u值;3.4)運(yùn)用近鄰聚類算法,S和u作為AP算法輸入,計(jì)算點(diǎn)間的代表度矩陣和適選度矩陣;如果最終選出代表點(diǎn)數(shù)目小于閾值,D=D-SD,則返回到步驟3.2),每次選出的代表點(diǎn)標(biāo)號(hào)加入到同一個(gè)矩陣中,直到達(dá)到目標(biāo)值得到最終點(diǎn)集FD。
2.如權(quán)利要求1所述的基于近鄰傳播聚類的非均勻點(diǎn)云簡(jiǎn)化處理方法,其特征在于 所述步驟2)中,自適應(yīng)的均勻重采樣的過(guò)程為首先對(duì)點(diǎn)云計(jì)算一個(gè)外接包圍盒,并對(duì)包 圍盒中的點(diǎn)云模型進(jìn)行網(wǎng)格劃分,劃分的過(guò)程中是均勻的劃分網(wǎng)格,由于密度的差異,落入 不同單元格中的點(diǎn)數(shù)會(huì)有差異,采樣時(shí)首先以外接立方體坐標(biāo)最小的立方體開始,并逐漸 在此立方體周圍擴(kuò)大,在每一個(gè)單元格中查看其落入點(diǎn)的曲率和密度信息,如果單元格內(nèi) 平均曲率超過(guò)整體點(diǎn)云的平均曲率,則再對(duì)單元格進(jìn)行劃分以在此格中取到較多的樣點(diǎn), 計(jì)算進(jìn)一步細(xì)分格中點(diǎn)集的中心值,并找到最靠近中心值的點(diǎn)作為一個(gè)采樣點(diǎn),然后把搜 索過(guò)的點(diǎn)刪除,在下一個(gè)立方體中搜索,直到遍歷所有的點(diǎn)。
全文摘要
一種基于近鄰傳播聚類的非均勻點(diǎn)云簡(jiǎn)化處理方法,包括以下步驟1)首先對(duì)整體點(diǎn)云進(jìn)行k近鄰計(jì)算;2)根據(jù)每一個(gè)點(diǎn)的密度信息以及曲率信息進(jìn)行自適應(yīng)的均勻重采樣;3)進(jìn)行近鄰傳播聚類簡(jiǎn)化,設(shè)初始點(diǎn)云為D,輸出簡(jiǎn)化后點(diǎn)云為FD,設(shè)定簡(jiǎn)化目標(biāo)點(diǎn)數(shù)目為閾值;對(duì)初始點(diǎn)云D采用均勻網(wǎng)格曲率適應(yīng)性采樣方法獲得其子點(diǎn)集SD;計(jì)算SD中點(diǎn)與點(diǎn)之間的相似度,得到相似度矩陣S,并通過(guò)索引獲得SD中點(diǎn)的u值;運(yùn)用近鄰聚類算法,S和u作為AP算法輸入,計(jì)算點(diǎn)間的代表度矩陣和適選度矩陣;每次選出的代表點(diǎn)標(biāo)號(hào)加入到同一個(gè)矩陣中,直到達(dá)到目標(biāo)值得到最終點(diǎn)集FD。本發(fā)明簡(jiǎn)化計(jì)算、減少占用的內(nèi)存容量、能有效簡(jiǎn)化非均勻點(diǎn)云。
文檔編號(hào)G06T17/00GK101853485SQ20101019158
公開日2010年10月6日 申請(qǐng)日期2010年6月4日 優(yōu)先權(quán)日2010年6月4日
發(fā)明者劉盛, 張建偉, 李蘭蘭, 管秋, 陳勝勇 申請(qǐng)人:浙江工業(yè)大學(xué)