專利名稱:基于三維可視化和蒙特卡羅方法的體積測量方法
技術領域:
本發(fā)明涉及的是一種計算機信息處理技術領域的方法,具體是一種虛擬環(huán)境下主要針對不規(guī)則、不封閉物體的基于三維可視化和蒙特卡羅方法的體積測量方法。
背景技術:
體積大小的測量在很多領域中都有著重要的意義,近年來,由于二維信息的局限性,科學計算可視化技術得到迅速發(fā)展,由此引起的可視化技術的應用越來越引起人們的重視。可視化工具包VTK是美國kitware公司開發(fā)的,主要針對的是二維和三維圖形圖像處理和可視化,它包含了可視化的多種方法,支持跨平臺使用。目前對于體積的測量的方法主要是針對規(guī)則的物體,一般有現成的體積計算公式可用,對不規(guī)則物體體積的測量也有現成的方法?,F有的測量不規(guī)則物體體積方法主要有排水法、剖分法、經線法、二維超聲法和注水法等。排水法是金標準,針對的對象是離體的組織或器官,不適宜人體內部器官或組織的測量;剖分法是最早提出的測量體積的方法,它將三角形網格先剖分成四面體然后求和,由于該方法復雜和低效,現在已經很少使用;經線法主要是針對離體的器官和病灶;二維超聲是通過測出器官的長度、寬度和厚度,再按照標準的橢圓公式進行計算得出器官的體積,該方法簡單方便,但是精度不高,不適用于相對精確的測量;注水法針對的對象是完全封閉的對象,雖然能相對精確的求得體積的大小,但在使用上存在一定的局限性。對求取不規(guī)則不封閉物體的方法卻很少。蒙特卡羅方法是一種以概率統(tǒng)計理論為指導的數值計算方法,屬于計算數學的一個分支,是利用隨機數來解決問題的方法。具體的思路是給定一個多邊形網格,首先把它轉化為三角形網格,然后在網格的包圍盒外面放置一個簡單的多邊形容器,在容器內產生大量的隨機點,然后判斷有多少隨機點在待測多邊形的網格中,根據在多邊形中的隨機點的個數和總共的隨機點數的比率,再結合多邊形的容器的體積,就能得到待測多邊形網格在容器內部的部分的體積。用蒙特卡羅方法求解時,最簡單的情況是模擬一個事件A,它發(fā)生的概率是P。設置一個隨機變量I,若事件A發(fā)生則I值為1,否則I值為O。那么隨機變量I的數學期望E(€) = l*p+0*q = p,其中q = 1-p,即一次實驗中事件A發(fā)生的概率,I的方差為E(l-E(l))2 = p-p2 = pq。假設在N次實驗中事件A出現的次數是V,該頻數v也是一個隨機變量,其數學期望為E(v) =Np,方差為o2(v) = Npq0令p表示觀察頻率,/)=v/N,按照大數定理,當N值充分大時,P =E{^) = p........................................(式 D成立的概率等于1,由上述模型得到的頻率i = ^和P近似相等,說明了頻率是收斂的,并且收斂于此概率,可利用樣本方差G1(P) = _ P)........................................(式 2)
N - I
作為理論方差o2(p)的相似估計。Monte Carlo方法的收斂性分析蒙特卡羅通常采用某個隨機變量X子樣的算術平均值作為所求問題I的近似解
___J NXn =X Xn................................................(式
B=I
3)其中Xl,x2, x3, x4,......,Xn是X子樣函數,由柯爾莫哥羅夫加強大數定理得,當
E⑴=I時,算術平均值;將以概率I收斂于I,按照中心極限定理,對于任何X a > 0時有
--/I <72 t<2P{xn-1 < -^==) - ~^=\ e 2 dt = 1- a..........(式 4)
JY s/2^u表明,這個不等式X - I <...........................................(式 5)近似的和l_a的概率相等。在通常情況下,當a很小時,如a = 0. 01時,a稱為顯著水平,l_a稱之為置信水平,a稱為隨機變量X的標準差。當O古0時,蒙特卡羅方法的誤差e為£ = j^=-......................................................(式
6)在上式中正態(tài)差X ^與a是對應的關系,其對應關系可以用下面N(0, I)積分公式進行表示i——f a e 2 dt = 1-~..........................................(式
2
7)分析公式f =可以得出該方法的誤差精度e是由O和^決定的。在O不變的情況下,要提高精度一位數則要增加100倍的工作量;另外如果將O減小十倍,則減少100倍的工作量。在實際中不能為了提高精度人為的隨意改變參數,因為既要考慮精度也要考慮工作量和現實的條件。經過對現有技術的檢索發(fā)現,浙江大學周海燕碩士論文《基于三維重建的肺部腫瘤的精確測量》,該文獻首先分析了肺部腫瘤CT圖像的特點、三維重建各個步驟所涉及的方法以及腫瘤任意兩點的直徑測量所涉及的方法,以此為基礎,對肺部腫瘤三維重建和測量進行了具體的方案研究與驗證,實現了基于三維重建的肺部腫瘤的精確測量。包括分析肺部腫瘤CT圖像的特點,分析肺部腫瘤三維重建的各個步驟,包括CT圖像預處理、肺部腫瘤的分割、繪制與顯示等。分析腫瘤直徑測量所涉及的三維交互,包括三維交互拾取和三維交互旋轉?;贗TK與VTK等開發(fā)庫,實現肺部腫瘤的三維重建,并在三維空間內進行任意兩點的直徑測量。通過臨床醫(yī)生驗證,該方法只實現了在三維可視化的前提下的空間測量,比如空間距離的測量,沒有涉及到體積大小的測量。中國專利文獻號CN101756710A,
公開日2010-06-30,記載了一種“顱內血腫體積的測量方法”,該方法I) CT圖像的第一步分割中,顱骨及顱骨外非腦組織的去除利用了閾值法、區(qū)域生長及圖像邏輯運算,由于顱骨在CT圖像中與其它組織在灰度上差異很大,因此采用經驗閾值很容易得到顱骨邊緣,不需要復雜耗時的檢測方法,區(qū)域生長采用四鄰域生長,遍布整個腦組織與血腫,最后對圖像進行“異或”和“乘”邏輯運算,得到只有腦組織與血腫的CT圖像;2)CT圖像的第二步分割中,對于腦組織與血腫的分割,考慮到CT圖像可避免噪聲干燥,采用二維熵閾值化的方法,用像素灰度及其鄰域灰度為參數來分割圖像;3)采用改進的遺傳方法來搜尋最優(yōu)分割閾值使二維熵準則函數最大;4)采用了“自適應的大變異算子”,通過判斷適應度函數平均值與最大值比值,最終決定采用變異概率和交叉概率。但該技術的缺點在于該方法過程復雜,需要進行兩次分割處理,類似于文中提到的面積法求體積,工作量很大。文中提到自動分割的概念,也未對其實現過程詳細介紹,最重要的一點就是該發(fā)明中未體現出分割后的圖像數據及測量數據,缺乏一定的認可性。中國專利文獻號CN101601585,
公開日2009-12-16,記載了一種“基于CT增強掃描技術的肝臟分段體積測量方法”,該技術包括以下步驟1)圖像分割采用圖像處理方法對CT掃描后獲得的數據進行處理,獲取肝臟器官的表面輪廓以及肝臟內部的管道區(qū)域;2)三 維細化獲取肝臟管道中心線;3)管道樹分級將管道中心線處理成為一(棵)樹形結構,即結點的數目等于邊的數目加一 ;4)管道投影將肝臟數據投影到一個投影平面,將三維的肝臟分段轉換為一個二維的分類;5)曲線擬合將血管中心線處理成為平滑的血管中心曲線;6)體積計算根據血管中心曲線將肝臟分段,并計算每一段的體積。但該技術的缺點在于該方法是將三維肝臟分段轉換成二維,是在二維的基礎上進行求取像素的點數來進行體積計算,不是針對整體求體積,而是通過部分求整體的體積,這樣誤差相對較大。
發(fā)明內容
本發(fā)明針對現有技術存在的上述不足,提出一種基于三維可視化和蒙特卡羅方法的體積測量方法,實現了對不規(guī)則物體體積的測量,且測量對象不需要進行分割、分塊等處理,結果精度相對較高。本發(fā)明是通過以下技術方案實現的,本發(fā)明首先通過對被測物體的序列圖像進行三維重建,并將重建的結果置于創(chuàng)建得到的虛擬盒內部,然后在虛擬盒內部產生若干個隨機點,最后統(tǒng)計三維重建后的被測物體內部的隨機點的個數,并根據虛擬盒的體積和隨機點的總數按比例求取被測物體的體積大小。本發(fā)明具體包括以下步驟第一步對被測物體的序列圖像進行三維重建,具體為先對序列圖像進行抽取等值面處理、拼接三角面片處理和數據映射處理,然后采用經典的面繪制方法-移動立方體的方法實現三維重建。所述的抽取等值面處理采用的是移動立方體(Marching Cube)面繪制方法,通過將一系列的二維切片數據視作三維數據場,并從中將具有特定閾值的物質抽取出來以拓撲的方式連接成三角面片,具體步驟包括i)每次讀兩張切片圖像,形成一個層單元(Layer);ii)兩切片圖像上下相對應的四個點構成一個立方體單元(Cube),如圖I所示;iii)先按照從左至右、從前到后的順序將該層單元中的立方體單元進行像素切片并形成新的立方體單元;再按從下到上的順序將對應各個立方體單元進行像素切片并形成新的立方體單元,則對應n個層單元的圖像共進行了 n-1次像素切片。第二步將第一步得到的三維重建模型置于一構建出的虛擬盒內部,具體為通過SetPix)p3D()函數將重建后的結果添加到創(chuàng)建出的虛擬盒內部,并進行參數的設置。SetProp3D()函數是VTK中的常用函數類,主要是對重建后的物體進行操作,在這里作用就是將重建后的物體添加到虛擬盒中。第三步采用偽隨機數發(fā)生器函數來產生由隨機數構成坐標的隨機點,并判斷隨機點是否落在三維重建模型內部;所述的隨機點是指隨機函數產生的三維坐標所對應的點。所述的隨機數通過以下方式得到采用基于ANSI (美國國家標準學會)標準的隨 機數發(fā)生器函數生成隨機序列,具體為3. I)給無符號整型函數srand()提供一個種子(seed);3.2)調用函數rand(),它會根據srandO提供的種子返回隨機數;3. 3)根據需要可以多次調用rand()函數并且隨時可以為srand()函數提供新的種子,從而得到不同的新的隨機數;所述的判斷隨機點采用夾角之和判斷法、叉積判斷法或交點計數判斷法中任一得以實現。第四步根據第三步得到的判斷結果進行統(tǒng)計,得到三維重建模型內隨機點的個
數,并根據數值比例關系即可求得待測不規(guī)則物體的體積,具體為R = 其中=V1是
被求體積,V是虛擬盒的體積,M是生成的隨機點的總數,m是判斷后落入被測體內部隨機點的數目。本發(fā)明實現了對不規(guī)則物體體積的測量,且測量對象不需要進行分割、分塊等處理,結果精度相對較高。
圖I為立方體單元示意圖。圖2為實施例效果圖。圖中(a)為正面示意圖;(b)為背面示意圖,測量得到對象的體積為6076093. 00
立方毫米。圖3為實施例中點在多邊體內外的判斷示意 圖中(a)為叉積判斷法示意圖,(b)夾角之和為2JI判斷法示意圖,(C)夾角之和為0判斷法示意圖,(d)交點計數判斷法示意圖。
圖4為實施例流程示意圖。
具體實施例方式下面對本發(fā)明的實施例作詳細說明,本實施例在以本發(fā)明技術方案為前提下進行實施,給出了詳細的實施方式和具體的操作過程,但本發(fā)明的保護范圍不限于下述的實施例。實施例基于本發(fā)明使用具有普遍性,本發(fā)明中采用如圖2所示的頭顱作為體積測量的對象進行效果演示。如圖4所示,本實施例包括以下步驟第一步對被測物體的序列圖像進行三維重建,具體為先對序列圖像進行抽取等值面處理、拼接三角面片處理和數據映射處理,然后在本實施例中采用經典的面繪制方法-移動立方體的方法實現三維重建。所述的抽取等值面處理采用的是移動立方體(Marching Cube)面繪制方法,通過將一系列的二維切片數據視作三維數據場,并從中將具有特定閾值的物質抽取出來以拓撲的方式連接成三角面片,具體步驟包括i)每次讀兩張切片圖像,形成一個層單元(Layer);ii)兩切片圖像上下相對應的四個點構成一個立方體單元(Cube),如下圖所示; (圖I)iii)先按照從左至右、從前到后的順序處理層中的立方體單元;再按從下到上順序處理,如對應n個層單元的圖像則處理n-1次,所述的處理是指進行切片中像素的處理,使之形成新的立方體。本實施例中,對三角面片的拼接是利用VtkStripper類將生成的三角面片拼接生成三角帶形成等值面。本實施例中,采用VTK中的SetMapperO函數進行映射處理。第二步通過SetProp3D()函數將重建后的結果添加到創(chuàng)建出的虛擬盒內部,并進行參數的設置。SetProp3D()函數是VTK中的常用函數類,主要是對重建后的物體進行操作,在這里作用就是將重建后的物體添加到虛擬盒中。此處虛擬盒是根據物體的大小來生成的,不需要刻意設置其高低,它的大小可以通過頂點坐標求出。第三步采用偽隨機數發(fā)生器函數來產生隨機數,隨機數的數目可以人為的確定,為接下來的計算提供方便,并判斷點在物體的內外;此處點是指隨機函數產生的三維坐標所對應的像素點;物體是指虛擬盒內部的三維構造出的對象模型。所述的隨機數通過以下方式得到采用基于ANSI (美國國家標準學會)標準的隨機數發(fā)生器函數生成隨機序列,具體為3. I)給無符號整型函數srand()提供一個種子(seed);3.2)調用函數rand(),它會根據srandO提供的種子返回隨機數;3. 3)根據需要可以多次調用rand()函數并且隨時可以為srand()函數提供新的種子,從而得到不同的新的隨機數;所述的判斷采用以下任意一種方式實現-夾角之和判斷法將任意一點和除該點以外的其他多個點組成的多邊形的任意兩個頂點進行連接,得到若干組兩條相連線段的組合,當所有線段組合的夾角累加后為360。即2pi,則該點位于多邊形內部。如圖3所示,圖3(b)中多邊形Q1Q2. ..Q5,將%與各頂點相連接,其中QiQtlQw= ^i,這是E e = 2 JI的情況;圖3(C)中將R0與R1R2. R5分別相連,其中RiR0Rw = Yi, E Y=0的情況;圖中QiQ0Qi+! = & !,RiR0Ri+! =^ = 2n ,則判斷點落在多邊形內;當E Y =0,則判斷點落在多邊形的外部;-叉積判斷法該方法適用于凸多邊形,點在凸多邊形內的充要條件是叉積Y1XYinH = I^,......n)的符號相同,在三維空間內,此法僅適用于凸多邊形,;如圖3(a)
中D1D2. . . D6表示為多邊形按逆時針排序的頂點,DciS中心點,其中多邊形頂點按逆時針排序 D1D2. D6,中心點為 D0, Vi = Di-D0, Vn+1 = V1, S t 為 Di 到 Di+1 的夾角,例如 8 :是 D1D0D2的夾角;交點計數判斷法當多邊形為凹多邊形時,可通過將任一待判斷點沿同一方向作一射線至無窮遠,然后求射線與多邊形的交點,若交點個數為奇數,則點在多邊形內,否則點在多邊形外;如圖3(d)中A、B、C、D為判斷點,a、b、c、d分別對應表示射線的方向,根據交點的個數判斷點在多邊形內外。第四步根據第三步得到的判斷結果進行統(tǒng)計,并根據數值比例關系得到待測不
ffl
規(guī)則物體的體積,具體為h其中=V1是被求體積,V是虛擬盒的體積,M是生成的
隨機點的總數,m是判斷后落入被測體內部隨機點的數目。實驗結果分析如圖1、2所示,測量對象為頭顱,數據來源是可視化人項目。目前尚未找到成熟軟件進行對不規(guī)則體積進行測量,本發(fā)明中采用對規(guī)則物體的測量,進行說明本發(fā)明數據的可靠性。用此方法進行求取規(guī)則球體的體積,對球體半徑不斷的改變,得出不同的結果值,如下表I所示表I:
\^半徑 R=O. I R=O. 2~ R=O. 3~ R-O 4~ R=O. 5~ R=O. 6~ R=O. 7~I R 0 8~ R=O. 9~
測量1\_________
測量值 0.0038 0,0312 0.1045 0.2423 0.4667 0.8360 1.3450 I 9381 2,7516
真實值 0. 0041 0. 03340.11300. 2679oTs 0.9041 I. 43572. 14323. 0515
誤差值 0.0003 0.00220. 00850. 02560. 03330.0681I. 3450I. 93842. 7516
誤差率 oTo7 oTo7 o7o8 Oo oTo7 oToi o7o6 oTIo Oo其中R是球體半徑,經過半徑的變化得出不同的測量結果值;測量值是通過該方法得出的結果;真實值是該球體真正的體積大??;誤差值是真實值與測量值之差;誤差率是通過下面公式得出的誤差率=(真實值-測量值)/測量值。結果分析,測量值與真實值之間有一定的誤差,但是都在允許的范圍內。
權利要求
1.一種基于三維可視化和蒙特卡羅方法的體積測量方法,其特征在于,首先通過對被測物體的序列圖像進行三維重建,并將重建的結果置于創(chuàng)建得到的虛擬盒內部,然后在虛擬盒內部產生若干個隨機點,最后統(tǒng)計三維重建后的被測物體內部的隨機點的個數,并根據虛擬盒的體積和隨機點的總數按比例求取被測物體的體積大小。
2.根據權利要求I所述的方法,其特征是,具體包括以下步驟 第一步對被測物體的序列圖像進行三維重建; 第二步將第一步得到的三維重建模型置于一構建出的虛擬盒內部; 第三步采用偽隨機數發(fā)生器函數來產生由隨機數構成坐標的隨機點,并判斷隨機點是否落在三維重建模型內部; 第四步根據第三步得到的判斷結果進行統(tǒng)計,得到三維重建模型內隨機點的個數,并根據數值比例關系即可求得待測不規(guī)則物體的體積。
3.根據權利要求I或2所述的方法,其特征是,所述的重建是指先對文件進行抽取等值面處理、拼接三角面片處理和數據映射處理,然后采用經典的面繪制方法-移動立方體的方法實現三維重建。
4.根據權利要求3所述的方法,其特征是,所述的抽取等值面處理采用的是移動立方體面繪制方法,通過將一系列的二維切片數據視作三維數據場,并從中將具有特定閾值的物質抽取出來以拓撲的方式連接成三角面片。
5.根據權利要求4所述的方法,其特征是,所述的抽取等值面處理的具體步驟包括 i)每次讀兩張切片圖像,形成一個層單元; ii)兩切片圖像上下相對應的四個點構成一個立方體單元,如圖I所示; iii)先按照從左至右、從前到后的順序將該層單元中的立方體單元進行像素切片并形成新的立方體單元;再按從下到上的順序將對應各個立方體單元進行像素切片并形成新的立方體單元,則對應n個層單元的圖像共進行了 n-1次像素切片。
6.根據權利要求2所述的方法,其特征是,所述的隨機數通過以下方式得到采用基于ANSI標準的隨機數發(fā)生器函數生成隨機序列。
7.根據權利要求2所述的方法,其特征是,所述的隨機數通過以下方式得到 3. I)給無符號整型函數srand()提供一個種子(seed); 3. 2)調用函數rand(),它會根據srand()提供的種子返回隨機數; 3.3)根據需要可以多次調用randO函數并且隨時可以為srand()函數提供新的種子,從而得到不同的新的隨機數。
8.根據權利要求I或2所述的方法,其特征是,所述的判斷隨機點采用夾角之和判斷法、叉積判斷法或交點計數判斷法中任一得以實現。
9.根據權利要求8所述的方法,其特征是,所述的夾角之和判斷法是指將任意一點和除該點以外的其他多個點組成的多邊形的任意兩個頂點進行連接,得到若干組兩條相連線段的組合,當所有線段組合的夾角累加后為360°即2pi,則該點位于多邊形內部; 所述的叉積判斷法是指點在凸多邊形內的充要條件是叉積ViXVUi = 1,2,……n)的符號相同; 所述的交點計數判斷法是指當多邊形為凹多邊形時,可通過將任一待判斷點沿同一方向作一射線至無窮遠,然后求射線與多邊形的交點,若交點個數為奇數,則點在多邊形內,否則點在多邊形外。
10.根據權利要求I或2所述的方法,其特征是,所述的第四步具體為Z,其中W1是被求體積,V是虛擬盒的體積,M是生成的隨機點的總數,m是判斷后落入被測體內部隨機點的數目。
全文摘要
一種計算機信息處理技術領域的基于三維可視化和蒙特卡羅方法的體積測量方法,通過對被測物體的序列圖像進行三維重建,并將重建的結果置于創(chuàng)建得到的虛擬盒內部,然后在虛擬盒內部產生若干個隨機點,最后統(tǒng)計三維重建后的被測物體內部的隨機點的個數,并根據虛擬盒的體積和隨機點的總數按比例求取被測物體的體積大小。本發(fā)明實現了對不規(guī)則物體體積的測量,且測量對象不需要進行分割、分塊等處理,結果精度相對較高。
文檔編號A61B5/107GK102749053SQ20121018426
公開日2012年10月24日 申請日期2012年6月6日 優(yōu)先權日2012年6月6日
發(fā)明者呂曉琪, 張寶華, 李許峰 申請人:內蒙古科技大學