国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種骨架化物體重建方法

      文檔序號(hào):6421333閱讀:358來(lái)源:國(guó)知局
      專利名稱:一種骨架化物體重建方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及模式識(shí)別與科學(xué)計(jì)算可視化相結(jié)合的技術(shù)領(lǐng)域,特別是一種骨架化物體重建方法。骨架化物體重建主要是用于虛擬現(xiàn)實(shí)、圖象壓縮和重建以及目標(biāo)跟蹤。
      背景技術(shù)
      隨著數(shù)據(jù)采集技術(shù)的迅速發(fā)展,在計(jì)算機(jī)圖形學(xué)、計(jì)算機(jī)輔助設(shè)計(jì)技術(shù)、地理信息系統(tǒng)和醫(yī)學(xué)圖像系統(tǒng)中所使用的圖象數(shù)據(jù)分辨率越來(lái)越高,數(shù)據(jù)量也越來(lái)越大。骨架化作為一種特征提取和特征描述方法,可以有效的刪除冗余信息和保留特征信息,并能根據(jù)應(yīng)用要求重建出原物體。在虛擬現(xiàn)實(shí)中,骨架化可以從數(shù)據(jù)中提取出路徑以指導(dǎo)漫游,防止在漫游中迷路。對(duì)于文字、工程圖、指紋中的”細(xì)莖”狀圖象等都是長(zhǎng)而窄的帶狀圖象,也常常需要通過(guò)計(jì)算它們的骨架來(lái)進(jìn)行識(shí)別或重描等處理。在視頻處理中,通過(guò)骨架提取圖象中主要特征,可以精確的對(duì)運(yùn)動(dòng)物體進(jìn)行跟蹤。
      骨架化物體重建得到了廣泛的重視,陸續(xù)提出了一些典型算法,主要可分為voronoi方法,拓?fù)浼?xì)化和距離變換。
      Ogniewicz利用計(jì)算幾何中重要的工具voronoi圖來(lái)提取出骨架。對(duì)于平面中的點(diǎn),可以得到該點(diǎn)的voronoi多邊形,而voronoi圖就是這些voronoi多邊形的集合。voronoi圖中物體邊界的點(diǎn)所產(chǎn)生的voronoi邊或voronoi面靠近物體的中心,因此這些邊可認(rèn)為是物體的骨架。但是該方法一般只能適用于三角網(wǎng)格模型,并且生成的骨架很粗,雜枝很多。
      Rosenfeld提出了拓?fù)浼?xì)化的骨架化方法。該算法首先定義那些刪除以后不影響拓?fù)湫再|(zhì)的點(diǎn)為簡(jiǎn)單點(diǎn)。然后從這個(gè)概念出發(fā),考慮物體點(diǎn)的8-鄰域或者26-鄰域的拓?fù)潢P(guān)系,設(shè)計(jì)出一些刪除模板,使得模板中的物體點(diǎn)滿足簡(jiǎn)單點(diǎn)的定義。然后利用這些刪除模板一層層的剝開(kāi)物體,直到得到骨架為止。但是這種方法計(jì)算量太大,運(yùn)行時(shí)間太長(zhǎng)。Ma改進(jìn)了刪除模板,并對(duì)刪除操作進(jìn)行并行處理以加快運(yùn)行速度。但細(xì)化的結(jié)果經(jīng)常包含很多的雜枝。
      Borgefors提出了基于距離變換的骨架化方法。距離變換的方法主要根據(jù)他的骨架定義物體的骨架是物體內(nèi)到物體邊界最大距離的點(diǎn)集。這類方法通常是先對(duì)二值體數(shù)據(jù)進(jìn)行距離變換,然后將變換后的距離圖看成一個(gè)有向或無(wú)向的加權(quán)圖,最后采用Dijkstra最短路徑生成算法得到中心路徑。但是該方法對(duì)于物體的拓?fù)浔3植缓茫绕湓谖矬w的分叉處。
      通過(guò)對(duì)上述三種主要方法的描述,骨架化算法應(yīng)考慮以下六個(gè)方面(1)保持連接性;(2)保持中心性;(3)保持物體拓?fù)湫裕?4)不受噪聲的影響;(5)參數(shù)可控的消除雜枝;(6)物體可以重建。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于提供一種骨架化物體重建方法。本發(fā)明欲解決的技術(shù)問(wèn)題是獲取物體的骨架,并可以根據(jù)該骨架重建出原物體。我們綜合了拓?fù)浼?xì)化和距離變換這兩種骨架化方法,設(shè)計(jì)了一種新的方法,以滿足上述六個(gè)要求。算法主要包括以下三步。
      1、數(shù)據(jù)預(yù)處理在介紹預(yù)處理之前,我們先講述一些數(shù)字拓?fù)鋵W(xué)的概念。
      設(shè)p(p1,p2,p3)和q(q1,q2,q3)是三維離散空間Z3上的兩個(gè)物體點(diǎn),我們可以定義以下兩種距離D1(p,q)=&Sigma;i=13|pi-qi|,]]>D∞(p,q)=max{|pi-qi|,i=1,2,3}。
      根據(jù)這兩種距離,我們可以定義兩種領(lǐng)域V1i(p)={q|D1(p,q)&le;i},]]>V&infin;i(p)={q|D&infin;(p,q)&le;i}.]]>在骨架化中,通常用到6-領(lǐng)域、18-領(lǐng)域和26領(lǐng)域,它們被定義為N6(p)=V11(p),]]>N26(p)=V&infin;1(p),]]>N18(p)=V&infin;1(p)IV12(p).]]>如果q&Element;Nn*(p)]]>或者p&Element;Nn*(q),]]>則p和q是n-相鄰(其中n=6,18,26),在這里Ni*(p)=Ni(p)-{p},i=6,18,26.]]>給定一個(gè)物體集合X,n-路徑為一系列定義在X中離散的且n-相鄰的物體點(diǎn)。兩個(gè)物體點(diǎn)是n-連接,如果在X中存在一條n-路徑連接這兩個(gè)物體點(diǎn)。X是n-連接的,如果對(duì)于X中任意兩個(gè)物體點(diǎn)都是n-連接的。X的n-組成是X的非空n-連接子集,且對(duì)于該子集中的任意物體點(diǎn)和X中的其他物體點(diǎn)都不是n-連接。
      一系列二維圖象堆放在一起則構(gòu)成了三維圖象。在三維圖片中,單位邊是指長(zhǎng)度為1的兩個(gè)點(diǎn);單位正方形是指1×1的四個(gè)點(diǎn);單位立方體是指1×1×1的八個(gè)點(diǎn)。其中的長(zhǎng)度1是指每幅圖片中兩個(gè)相鄰像素點(diǎn)的距離或相鄰兩層圖片相對(duì)應(yīng)像素點(diǎn)的距離。
      以上的概念都是定義在三維中的,對(duì)于二維,則可以把上述概念中的3變?yōu)?即可,同時(shí)還可得到4-領(lǐng)域和8-領(lǐng)域這兩種領(lǐng)域。
      我們所提出算法的預(yù)處理主要包括以下三個(gè)部分閾值分割、濾波和拓?fù)湟?guī)范化。
      我們采用閾值分割來(lái)提取感興趣的區(qū)域,但是我們的分割方法同一般的閾值分割又有所區(qū)別。首先設(shè)置5個(gè)值Phighmax,,Phigh,Plowmin,Plow,(Phigh<Phighmax且Plowmin<Plow)和Ptolerance,其中[Plow,Phigh]表示如果物體點(diǎn)的像素值落在這個(gè)范圍內(nèi),則它一定是分割后的物體點(diǎn),[Plow min,Phigh max]表示如果物體點(diǎn)的像素值落在這個(gè)范圍內(nèi),則它有可能是分割后的物體點(diǎn),Ptoleranc e表示兩個(gè)物體點(diǎn)的像素值之差。如果一個(gè)像素滿足以下兩個(gè)條件,則它屬于分割以后的物體點(diǎn),否則屬于背景點(diǎn)(1)Plow≤P(x,y)≤Phigh,(2)Plow min≤P(x,y)≤Phigh max,|P(x,y)-Pneighbor(x,y)|≤Ptolerance,其中P(x,y)為物體點(diǎn)的像素值,Pneighbor(x,y)是該物體點(diǎn)8-領(lǐng)域中物體點(diǎn)的像素值。
      經(jīng)過(guò)這種閾值分割,我們可以得到一系列拓?fù)湎噙B的二維圖片。但在分割過(guò)程中,椒鹽噪聲的引入是不可避免的,所以在本算法中采用了形態(tài)學(xué)中的開(kāi)運(yùn)算濾波,通過(guò)引入合適的運(yùn)算因子以消除椒鹽噪聲。
      如果將骨架化算法直接用于此時(shí)的圖象,則不能保證所得到的骨架為單位像素寬,但拓?fù)湟?guī)范化的圖象能夠保證這樣的性質(zhì)。
      一個(gè)三維圖象是拓?fù)湟?guī)范化的,如果它滿足以下兩個(gè)條件(1)每個(gè)單位正方形至多包含一個(gè)物體點(diǎn)的6-組成,(2)每個(gè)單位立方體至多包含一個(gè)物體點(diǎn)的6-組成。
      根據(jù)上述定義,本發(fā)明了設(shè)計(jì)了兩類加點(diǎn)模板,分別對(duì)應(yīng)于平面和立方體,這兩種模板都可以在程序中進(jìn)行并行處理以加快運(yùn)行速度。附圖1為這兩類加點(diǎn)模板的一種。
      2、并行細(xì)化對(duì)Ma的刪除模板進(jìn)行分析可知,比較耗時(shí)的地方是D類模板需要對(duì)物體點(diǎn)進(jìn)行簡(jiǎn)單點(diǎn)判斷,這種操作會(huì)減弱程序的并行性,從而導(dǎo)致運(yùn)行時(shí)間過(guò)長(zhǎng)。此外為了能夠進(jìn)行骨架化重建,需要知道距離信息,本發(fā)明也在此對(duì)Ma的算法做了改進(jìn)。我們并行細(xì)化算法的流程可以見(jiàn)附圖2。
      在我們的算法中,我們?nèi)∠薉類模板的簡(jiǎn)單點(diǎn)判斷并把這類模板做了單獨(dú)處理。但這樣的改變需要證明以下結(jié)論成立對(duì)滿足D類模板物體點(diǎn)的刪除,并行刪除和單步刪除是一致的。
      從流程圖可以看出,我們有三點(diǎn)理由證明它成立(1)從D類模板(見(jiàn)附圖3)可以看出,p點(diǎn)的刪除并沒(méi)有影響26-領(lǐng)域內(nèi)的拓?fù)湫再|(zhì)。D類的其他刪除模板可以通過(guò)附圖3中的兩個(gè)模板旋轉(zhuǎn)和映射得到,而旋轉(zhuǎn)和映射操作并不影響領(lǐng)域的拓?fù)湫再|(zhì)。(2)我們的改進(jìn)仍然嚴(yán)格的符合Ma中的數(shù)學(xué)證明,通過(guò)它我們可以知道我們得到的骨架是連續(xù)的,并沒(méi)有改變骨架的拓?fù)湫浴?3)因?yàn)镈類模板是被單獨(dú)處理并且刪除模板中的其他物體點(diǎn)和p點(diǎn)是18-連接的,所以D類模板是很少被使用的,因此D類模板對(duì)細(xì)化的結(jié)果影響很小。
      另外一個(gè)改進(jìn)就是使骨架不僅有點(diǎn)的坐標(biāo)信息,而且還有骨架點(diǎn)到邊界的距離信息,從附圖2可以看出,在算法的開(kāi)始部分我們?cè)O(shè)置了一個(gè)整數(shù)R,它表示刪除點(diǎn)到邊界的距離。在執(zhí)行算法時(shí),我們首先標(biāo)定邊界點(diǎn),然后只對(duì)這些邊界點(diǎn)用四類模板刪除,對(duì)刪除點(diǎn)的像素值賦以R,某個(gè)邊界上所有點(diǎn)被處理完畢以后,則繼續(xù)處理新的邊界,并增加R值以表示新的距離值。當(dāng)?shù)玫焦羌芤院?,則可以以每個(gè)骨架點(diǎn)周圍的距離值來(lái)判斷該骨架點(diǎn)到邊界的距離。具體做法為判斷每個(gè)骨架點(diǎn)周圍26-領(lǐng)域的最大值,并將此最大值加1作為骨架點(diǎn)到邊界的距離。
      3、拓?fù)渲亟M上面并行細(xì)化得到的結(jié)果經(jīng)常產(chǎn)生很多的雜枝,并且只得到許多離散的點(diǎn),沒(méi)有太多的拓?fù)湫畔?,所以需要此加以改進(jìn)。我們采用了體素編碼來(lái)解決上述問(wèn)題,并且取得了很好的結(jié)果。在講述拓?fù)渲亟M之前,我們先解釋體素編碼和最短路徑提取的概念。
      設(shè)V為一個(gè)三維圖象,S為選定的種子點(diǎn)所組成的集合,這些種子點(diǎn)都是物體點(diǎn),m6-m18-m26為體素編碼所使用的賦值規(guī)則。
      首先對(duì)于V中所有物體點(diǎn)的像素值初始化為無(wú)窮大。然后體素編碼開(kāi)始于那些選定的種子點(diǎn)S,并對(duì)這些種子點(diǎn)賦值0,對(duì)種子點(diǎn)的N6*(p)、N18*(p)-N6*(p)和N26*(p)-N18*(p)分別賦值為m6、m18和m26。不斷的迭帶和擴(kuò)張,假設(shè)當(dāng)前處理值為m的物體點(diǎn),如果m+m6、m+m18和m+m26小于當(dāng)前點(diǎn)N6*(p)、N18*(p)-M6*(p)和N26*(p)-N18*(p)中物體點(diǎn)的值,則這些物體點(diǎn)分別賦以m+m6、m+m18和m+m26。
      從上面對(duì)體素編碼的描述可知,初始點(diǎn)和賦值規(guī)則的選擇是非常重要的。通常如果將物體的邊界點(diǎn)作為種子點(diǎn),則稱這種編碼為BS-coding。如果以單個(gè)物體點(diǎn)作為種子點(diǎn),則稱這種編碼為SS-coding。1-2-3和3-4-5通常作為賦值規(guī)則。
      SS-coding的一個(gè)重要應(yīng)用就是最短路徑提取。假設(shè)x和y為兩個(gè)定義在V中的物體點(diǎn),首先用上面所描述的方法以x作為種子點(diǎn),選擇一個(gè)賦值規(guī)則進(jìn)行編碼,當(dāng)遇到y(tǒng)時(shí)則可結(jié)束編碼。然后以y作為初始點(diǎn),選取其26-領(lǐng)域中值最小的物體點(diǎn)為路徑的下一個(gè)點(diǎn),不斷的跌帶,直到遇到x為止。因?yàn)閤是整個(gè)數(shù)據(jù)中的最小值,它必定出現(xiàn)在路徑的另一端。
      拓補(bǔ)重組的整個(gè)流程圖可參考附圖4。我們首先進(jìn)行體素編碼,它采用了SS-coding,以3-4-5作為賦值規(guī)則。由于我們重組的是細(xì)化后的骨架,所以在種子點(diǎn)的選擇比較簡(jiǎn)單。通常在三維圖象的第一層只有一個(gè)點(diǎn)或者只有一個(gè)連接區(qū)域,可以以這個(gè)點(diǎn)或者區(qū)域的中心作為種子點(diǎn),其他情況則選擇末端點(diǎn)作為種子點(diǎn)。如果在某個(gè)物體點(diǎn)的26-領(lǐng)域中只有一個(gè)物體點(diǎn),則該物體點(diǎn)稱為末端點(diǎn)。
      骨架體素編碼完以后,則骨架上的每個(gè)物體點(diǎn)就有了距離值,這時(shí)我們需要尋找以下兩種物體點(diǎn)局部最大點(diǎn)和融合點(diǎn)。如果某個(gè)物體點(diǎn)的碼值比其26-領(lǐng)域中的任意一個(gè)物體點(diǎn)的碼值大,則這樣的物體點(diǎn)稱為局部最大點(diǎn)。如果某個(gè)物體點(diǎn)的碼值比其26-領(lǐng)域中的至少兩個(gè)物體點(diǎn)的碼值小,并且這些碼值大的物體點(diǎn)不是26-連接的,則稱這樣的物體點(diǎn)為融合點(diǎn)。通過(guò)上述的定義,我們可以建立兩個(gè)數(shù)組LMArray和HMArray,分別存儲(chǔ)骨架中的局部最大點(diǎn)和融合點(diǎn),其中LMArray中的點(diǎn)以按照碼值的大小降序進(jìn)行存儲(chǔ)。以LMArray中的的每一個(gè)點(diǎn)作為起始點(diǎn),提取最短路徑。處理完LMAarray中的點(diǎn)以后,再以HMArray中未出現(xiàn)在已經(jīng)提取出的路徑中的點(diǎn)為起始點(diǎn),再做最短路徑提取。在提取最短路徑的過(guò)程中,遇到以下兩種情況就終止(1)遇到種子點(diǎn);(2)遇到其他樹(shù)枝上的點(diǎn)。對(duì)于抽取出的每一個(gè)樹(shù)枝我們用BranchArray存儲(chǔ)樹(shù)枝點(diǎn)的坐標(biāo)值,并建立LabelArray存儲(chǔ)這些樹(shù)枝的父子關(guān)系。對(duì)于第一種情況,父樹(shù)枝可以設(shè)置一個(gè)特殊的標(biāo)記值,而對(duì)于第二種情況則以遇到的樹(shù)枝的標(biāo)記為父樹(shù)枝。
      我們?cè)O(shè)置一個(gè)剪枝閾值,當(dāng)枝條長(zhǎng)度(該枝條的BranchArray中存儲(chǔ)的點(diǎn)的個(gè)數(shù))小于這個(gè)值時(shí),則該枝條將被刪除,大于的話則保留。通過(guò)這個(gè)閾值,我們不僅能夠刪除雜枝,確定骨架的拓?fù)潢P(guān)系,而且還可以迅速的抽取出原物體的主特征。
      4、物體重建通過(guò)上面的分析,我們可以看出我們的骨架點(diǎn)的信息非常豐富,這樣我們的重建就變得非常的簡(jiǎn)單。
      通過(guò)骨架點(diǎn)的坐標(biāo)和骨架點(diǎn)到邊界的距離,我們采取區(qū)域增長(zhǎng)的方法來(lái)重建物體。我們以骨架上的每個(gè)點(diǎn)作為種子點(diǎn),26-領(lǐng)域內(nèi)的點(diǎn)可視為重建后的物體點(diǎn),并將該點(diǎn)到邊界的距離減1,這樣不斷的迭帶,直到距離減為0為止,這樣就可以重建出原物體。
      在物體重建中,剪枝閾值也起著非常重要的作用,它控制著重建物體的繁簡(jiǎn)程度。它的值越小,則重建出的物體越細(xì)致,細(xì)節(jié)也越豐富。它的值越大,則重建出的物體越粗糙,物體細(xì)節(jié)丟失的也越多。


      圖1是本發(fā)明的兩類加點(diǎn)模板圖。
      圖2是本發(fā)明的并行細(xì)化流程圖。
      圖3是本發(fā)明的兩種D類模板圖。
      圖4是本發(fā)明的拓?fù)渲亟M的框架流程圖。
      圖5是Ma的結(jié)果和本文算法的比較圖。
      圖6是原物體和骨架圖。
      圖7是不同剪枝閾值對(duì)應(yīng)的骨架和重建的物體圖。
      具體實(shí)施例方式
      圖1中,(a)正方形加點(diǎn)模板(b)立方體加點(diǎn)模板,黑色的點(diǎn)代表物體點(diǎn),白色的點(diǎn)代表背景點(diǎn)。在具體執(zhí)行時(shí),對(duì)三維圖象中的4個(gè)體素點(diǎn)或者8個(gè)體素點(diǎn)符合圖1中左邊模板的,則轉(zhuǎn)換成右邊模板中的4個(gè)或者8個(gè)體素點(diǎn)。其他的加點(diǎn)模板可通過(guò)這兩重模板旋轉(zhuǎn)得到。
      本發(fā)明圖2中的并行細(xì)化的步驟如下步驟1初始化距離值。設(shè)置一個(gè)整數(shù)R,該整數(shù)代表刪除點(diǎn)到邊界的距離。當(dāng)刪除完滿足刪除條件的某一層點(diǎn)以后,則該整數(shù)增加1,以便表示下一層被刪除的點(diǎn)。
      步驟2釋放未被刪除的邊界點(diǎn)并標(biāo)記新的邊界點(diǎn)。如果某個(gè)物體點(diǎn)的26-鄰域中有一個(gè)點(diǎn)是背景點(diǎn),則該物體點(diǎn)就被標(biāo)記為邊界點(diǎn)。對(duì)這些邊界點(diǎn)的體素標(biāo)上一個(gè)特殊的標(biāo)記值,以區(qū)別與其他的體素點(diǎn)。同時(shí)對(duì)于上一次迭帶中未被刪除的邊界點(diǎn),重新賦為物體像素值。
      步驟3用前三類模板刪點(diǎn)。在刪除標(biāo)記點(diǎn)時(shí),首先刪除滿足Ma算法的前三類模板的物體點(diǎn)。
      步驟4用第四類模板刪點(diǎn)。對(duì)于那些不滿足前三類模板的物體點(diǎn),使用改進(jìn)的第四類模板刪點(diǎn)。這一類模板放在一個(gè)單獨(dú)的循環(huán)中,以保證并行細(xì)化和單步細(xì)化是等價(jià)的。
      步驟5為刪除點(diǎn)賦值。當(dāng)某一層的物體點(diǎn)不能再刪除時(shí),為所有的刪除點(diǎn)賦以值R,以表示這些刪除點(diǎn)到物體邊界的距離。
      步驟6骨架點(diǎn)賦值。在為骨架點(diǎn)賦值時(shí),以骨架點(diǎn)的26-鄰域中所有的物體點(diǎn)的最小距離值加1,作為骨架點(diǎn)到物體邊界的距離值。
      圖3中是Ma算法中的兩種D類刪除模板,其中p點(diǎn)必須是簡(jiǎn)單點(diǎn)。在我們的算法中,我們對(duì)D類模板進(jìn)行了改進(jìn),取消了p點(diǎn)的簡(jiǎn)單點(diǎn)判斷。其中黑點(diǎn)為物體點(diǎn),白點(diǎn)為背景點(diǎn),b中的白色方框中至少有一個(gè)是物體點(diǎn),圖4本發(fā)明的拓?fù)渲亟M的框架流程圖。
      其具體步驟如下步驟1對(duì)輸入數(shù)據(jù)進(jìn)行體素編碼。以三維圖象的第一層剩余點(diǎn)中心或者末端點(diǎn)作為種子點(diǎn),以3-4-5作為編碼規(guī)則進(jìn)行體素編碼。
      步驟2根據(jù)碼值,搜尋局部最大點(diǎn),建立三個(gè)數(shù)組分別存儲(chǔ)局部最大點(diǎn),融合點(diǎn)的26-鄰域內(nèi)的點(diǎn)和枝條的標(biāo)記,并建立兩個(gè)數(shù)組存儲(chǔ)他們。再建立一個(gè)數(shù)組用來(lái)存儲(chǔ)枝條的標(biāo)記。
      步驟3以局部最大點(diǎn)數(shù)組中的點(diǎn)為初始點(diǎn),利用最短路徑提取的方法提取枝條,并存儲(chǔ)抽取出的枝條點(diǎn)。如果融合點(diǎn)數(shù)組中有提取枝條中的點(diǎn),則刪除這些點(diǎn)。
      步驟4以融合點(diǎn)數(shù)組中剩余的點(diǎn)為初始點(diǎn),利用最短路徑提取的方法提取枝條,并存儲(chǔ)這些枝條點(diǎn)。
      步驟5根據(jù)閾值,如果某個(gè)枝條的點(diǎn)的個(gè)數(shù)小于閾值,則認(rèn)為是雜枝,刪除該枝條,重新整理各個(gè)樹(shù)枝之間的父子關(guān)系。
      圖5中,最左邊為原物體,中間為Ma的結(jié)果,右圖為本文的結(jié)果。右列圖是一個(gè)三維的空心框和三維的柳樹(shù),中間圖是Ma算法的結(jié)果,右圖是我們算法的結(jié)果。從圖5中我們可以看出,我們的結(jié)果比Ma的算法更加能夠保持物體的拓?fù)潢P(guān)系,并且從下行的兩個(gè)框中右邊的方框中可以看出我們的算法消除了雜枝,使得結(jié)果更加光滑。
      在圖6中,左圖是將柳樹(shù)和骨架放在一起,右圖是將骨架和氣管放在一起,從中可以看出,我們的結(jié)果滿足了在技術(shù)背景中提出的保持連接性,保持中心性,保持物體拓?fù)湫院筒皇茉肼暤挠绊懙囊蟆?br> 圖7中,上列圖是通過(guò)將剪枝閾值分別設(shè)置為60,30和15得到的骨架,下列圖是通過(guò)這些骨架得到的相應(yīng)的重建物體。從這里可以看出我們的算法滿足技術(shù)背景中提到的后兩個(gè)要求,即參數(shù)可控性的消除雜枝和物體可以重建。
      我們用C++語(yǔ)言實(shí)現(xiàn)了本發(fā)明所描述的算法,并且在幾個(gè)不同的數(shù)據(jù)集上作了實(shí)驗(yàn)。所有的實(shí)驗(yàn)都是在一臺(tái)P4 2.4G,512MB內(nèi)存,操作系統(tǒng)為Windows 2000的PC機(jī)上完成的,顯示部分使用了標(biāo)準(zhǔn)的OpenGL圖形函數(shù)庫(kù)。
      從圖5中我們可以看出,我們的結(jié)果比Ma的算法更加能夠保持物體的拓?fù)潢P(guān)系,并且從下行的紅方框中可以看出我們的算法消除了雜枝,使得結(jié)果更加光滑。在圖6中,我們將得到的骨架和原物體放在一起,從中可以看出,我們的結(jié)果滿足了在技術(shù)背景中提出的前四個(gè)要求。在圖7中,我們將剪枝閾值分別設(shè)置為60,30和15,我們可以得到由簡(jiǎn)到繁的骨架和通過(guò)骨架重建出的物體,從這里也可以看出我們的算法滿足技術(shù)背景中提到的后兩個(gè)要求,即參數(shù)可控性的消除雜枝和物體可以重建。
      下表給出了我們算法具體的執(zhí)行情況。

      權(quán)利要求
      1.骨架化廣泛應(yīng)用于模式分類和識(shí)別,現(xiàn)有的骨架化算法基本上都是按照距離變換或者拓?fù)浼?xì)化來(lái)獲得骨架的,如比較成熟的體素編碼技術(shù),它的基本思想是分別以物體的邊界和物體內(nèi)部的某個(gè)參考點(diǎn)作為種子點(diǎn)進(jìn)行距離變換,然后根據(jù)這兩種距離變換值來(lái)提取骨架,但是體素編碼不能很好的保持復(fù)雜物體的拓?fù)浣Y(jié)構(gòu),尤其不能很好的保持物體的分叉;由于我們綜合了拓?fù)浼?xì)化算法,我們提出的方法就可以解決拓?fù)浔3值膯?wèn)題,而且還可以消除拓?fù)浼?xì)化的雜枝效應(yīng),首先通過(guò)刪除模板進(jìn)行拓?fù)浼?xì)化,并且在細(xì)化的過(guò)程中對(duì)每個(gè)刪除點(diǎn)賦以一個(gè)整數(shù)值,該值表示這個(gè)物體點(diǎn)是在那一步被刪除的,不斷的迭帶,直到不能再刪除物體點(diǎn)為止,此時(shí)剩余的物體點(diǎn)可以作為我們的初始路徑,接下來(lái)對(duì)初始路徑進(jìn)行體素編碼,按照提取最短路徑的方法,獲得最終骨架,并設(shè)置一個(gè)刪除閾值以光順最終骨架。
      2.為了確保初始骨架是單位像素寬,我們需要將輸入數(shù)據(jù)進(jìn)行前處理,尤其是要將輸入數(shù)據(jù)進(jìn)行拓?fù)湟?guī)范化,我們總結(jié)了兩種類型的加點(diǎn)原則來(lái)規(guī)范化輸入數(shù)據(jù),并在此原則的基礎(chǔ)上設(shè)計(jì)了兩類加點(diǎn)模板,通過(guò)這兩類模板對(duì)輸入數(shù)據(jù)并行處理,我們可以得到拓?fù)湟?guī)范化的輸入數(shù)據(jù)。
      3.本方法的最終目的是能夠?qū)崿F(xiàn)對(duì)物體的重建,由于我們?cè)O(shè)置了刪除閾值,我們可以得到不同精度的骨架,從而得到不同精度的重建物體,在重建的時(shí)候,由于我們的骨架信息中含有骨架點(diǎn)到物體邊界的距離,我們可通過(guò)區(qū)域增長(zhǎng)的方法以恢復(fù)原物體。
      4.一種骨架化物體重建方法,包括以下步驟數(shù)據(jù)預(yù)處理;并行細(xì)化;拓?fù)渲亟M。
      5.根據(jù)權(quán)利要求4的骨架化物體重建方法,其特征在于,數(shù)據(jù)預(yù)處理步驟包括閾值分割步驟、濾波步驟和拓?fù)湟?guī)范化步驟。
      6.根據(jù)權(quán)利要求5的骨架化物體重建方法,其特征在于,閾值分割的方法,采用閾值分割來(lái)提取感興趣的區(qū)域,首先設(shè)置5個(gè)值Phighmax,,Phigh,Plowmin,Plow,(Phigh<Phighmax且Plowmin<Plow)和Ptolerance,其中[Plow,Phigh]表示如果物體點(diǎn)的像素值落在這個(gè)范圍內(nèi),則它一定是分割后的物體點(diǎn),[Plowmin,Phighmax]表示如果物體點(diǎn)的像素值落在這個(gè)范圍內(nèi),則它有可能是分割后的物體點(diǎn),Ptolerance表示兩個(gè)物體點(diǎn)的像素值之差。
      7.根據(jù)權(quán)利要求6的骨架化物體重建方法,其特征在于,一個(gè)像素滿足以下兩個(gè)條件,則它屬于分割以后的物體點(diǎn),(1)Plow≤P(x,y)≤Phigh,(2)Plowmin≤P(x,y)≤Rhighmax,|P(x,y)-Pneighbor(x,y)|≤Ptolerance,其中P(x,y)為物體點(diǎn)的像素值,Pneighbor(x,y)是該物體點(diǎn)8-領(lǐng)域中物體點(diǎn)的像素值。
      8.根據(jù)權(quán)利要求5的骨架化物體重建方法,其特征在于,濾波步驟的方法,采用了形態(tài)學(xué)中的開(kāi)運(yùn)算濾波,通過(guò)引入合適的運(yùn)算因子以消除椒鹽噪聲。
      9.根據(jù)權(quán)利要求5的骨架化物體重建方法,其特征在于,拓?fù)湟?guī)范化的方法,滿足以下兩個(gè)條件(1)每個(gè)單位正方形至多包含一個(gè)物體點(diǎn)的6-組成,(2)每個(gè)單位立方體至多包含一個(gè)物體點(diǎn)的6-組成。
      10.根據(jù)權(quán)利要求4的骨架化物體重組方法,其特征在于,并行細(xì)化步驟包括步驟1初始化距離值;步驟2釋放未被刪除的邊界點(diǎn)并標(biāo)記新的邊界點(diǎn);步驟3用前三類模板刪點(diǎn);步驟4用第四類模板刪點(diǎn);步驟5為刪除點(diǎn)賦值;步驟6骨架點(diǎn)賦值。
      11.根據(jù)權(quán)利要求4的骨架化物體重建方法,其特征在于,拓?fù)渲亟M步驟包括步驟1對(duì)輸入數(shù)據(jù)進(jìn)行體素編碼,步驟2建立三個(gè)數(shù)組分別存儲(chǔ)局部最大點(diǎn),融合點(diǎn)的26-鄰域內(nèi)的點(diǎn)和枝條的標(biāo)記,步驟3以局部最大點(diǎn)數(shù)組中點(diǎn)為初始點(diǎn),提取枝條,并存儲(chǔ)抽取出的枝條點(diǎn)。如果融合點(diǎn)數(shù)組中有提取枝條中的點(diǎn),則刪除這些點(diǎn),步驟4以融合點(diǎn)數(shù)組中剩余的點(diǎn)為初始點(diǎn),提取枝條,步驟5根據(jù)域值,刪除雜枝,并重新整理各個(gè)樹(shù)枝之間的父子關(guān)系。
      全文摘要
      本發(fā)明涉及模式識(shí)別與科學(xué)計(jì)算可視化相結(jié)合的技術(shù)領(lǐng)域的一種骨架化物體重建方法。包括步驟數(shù)據(jù)預(yù)處理,并行細(xì)化,拓?fù)渲亟M。骨架化物體重建主要是用于虛擬現(xiàn)實(shí)、圖象壓縮和重建以及目標(biāo)跟蹤。廣泛的應(yīng)用于圖象壓縮和重建、虛擬現(xiàn)實(shí)中的自動(dòng)漫游以及計(jì)算機(jī)視覺(jué)中的目標(biāo)跟蹤等。本算法通過(guò)開(kāi)運(yùn)算濾波和拓?fù)湟?guī)范化轉(zhuǎn)換來(lái)預(yù)處理傳輸圖象。在得到拓?fù)湫院玫膱D象以后,對(duì)圖象進(jìn)行并行細(xì)化,得到圖象的骨架和骨架點(diǎn)到邊界的距離,然后對(duì)骨架進(jìn)行體素編碼以消除雜枝,最后使用區(qū)域增長(zhǎng)方法重建出原物體。
      文檔編號(hào)G06T15/20GK1629888SQ20031012333
      公開(kāi)日2005年6月22日 申請(qǐng)日期2003年12月17日 優(yōu)先權(quán)日2003年12月17日
      發(fā)明者張曉鵬, 劉劍飛 申請(qǐng)人:中國(guó)科學(xué)院自動(dòng)化研究所
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1