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