前言:本站為你精心整理了動態(tài)特效實時建模方法范文,希望能為你的創(chuàng)作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
摘要:提出了一種α-體建模方法:對實拍圖像的學習生成動態(tài)紋理之后,再對紋理進行邊界合成得到劃分了顏色區(qū)域的圖像;通過對圖像區(qū)域邊界的掃描勾勒出圖像的輪廓線網(wǎng)格,并根據(jù)其到中心的距離為每個網(wǎng)格邊界賦予標準的顏色值;最后根據(jù)網(wǎng)格的顏色值生成三維模型。實驗證明這種動態(tài)景物的建模方法能夠滿足虛擬場景實時繪制的要求,而且具有很好的魯棒性和連續(xù)性。
關鍵詞:動態(tài)紋理;網(wǎng)格;三維模型;動態(tài)景物;基于圖像的繪制
0引言
近幾年,隨著虛擬場景建模技術的發(fā)展,客戶對虛擬場景的真實感和實時性要求越來越高。在大部分虛擬場景中,尤其是自然環(huán)境和戰(zhàn)場環(huán)境中,火焰、煙霧、硝煙以及干擾云等景物是必不可少的一部分。真實地模擬這些動態(tài)景物是影響場景繪制速度的一個重要因素,也是計算機圖形圖像研究的一個重點和難點。用更少的運算和內存空間,更加逼真地模擬它們的狀態(tài)一直是人們努力的目標。目前已經(jīng)有很多關于這方面的研究。Lamorletter和Foster對火焰的各個不同部分分別建立模型[1],然后分別計算不同部分的狀態(tài),從而體現(xiàn)整個火焰的運動狀態(tài)。首先建立火焰的外輪廓線模型,然后對火焰進行上下分段,對不同段的粒子采用不同函數(shù)描述,從而體現(xiàn)火焰不同部分的亮度,通過各個部分亮度的變化展現(xiàn)火焰的動態(tài)效果。Beaudoin則是建立三維的火焰骨架[2],并在三維骨架內建立速度場?;鹧娴牧W右援斍八幬恢玫乃俣冗\動,實現(xiàn)動態(tài)效果。同時,他把火焰由內及外分成不同的層,不同的層用不同的亮度計算函數(shù),體現(xiàn)了火焰由內及外的亮度變化。Ngu-yen則是從燃料入手[3],考察固體燃料由固體變成氣體燃燒然后再慢慢冷卻的過程。在燃燒的過程中,燃料顆粒以氣態(tài)在空氣中運動并且相互作用,產(chǎn)生火焰的動態(tài)效果。同時,燃料顆粒經(jīng)歷溫度由低到高的過程,亮度也相應由弱到強地變化,使火焰在不同的段,亮度也不同。Schodl提出一種由少量動態(tài)火焰產(chǎn)生無限動態(tài)火焰序列的算法[4]。Fedkiw通過跟蹤點的運動,利用渦流思路成功模擬了煙的運動[5]。Wijk就如何體現(xiàn)流體紋理隨機性和不確定性,并保持紋理一致性和連續(xù)性提出了很好的思路[6]。
1α-體建模思想
在以上提出的各種建模方法中,出于真實性、隨機性和實時性的考慮,在實際建模過程中常用的方法主要有基于粒子系統(tǒng)的建模和分形[7]建模以及依賴于已有的圖像序列的基于計算機視覺的建模。這類動態(tài)現(xiàn)象包含的共同特性是產(chǎn)生它們的物理機制十分復雜,一般很難通過物理分析的方法對它們建模。而現(xiàn)有的建模算法多數(shù)都是基于粒子系統(tǒng)[7~9],既要考慮其復雜的物理模型,又要利用流體力學的知識計算場景的運動狀態(tài)。其主要缺點是運算量大,很難達到實時繪制的要求。另一方面,可以很容易收集這類動態(tài)序列的樣本。于是,產(chǎn)生了圖像與幾何相結合的建模思想:首先從得到的原始圖像序列樣本恢復幾何信息,然后將紋理映射到幾何體表面。但是這種方法要用到計算機視覺理論,不可避免地要從圖像中精確地恢復對象的幾何模型。這是一個非常復雜的過程,尤其是對于這些沒有固定形狀的動態(tài)景物而言。大部分的火焰合成系統(tǒng)都是動態(tài)地展現(xiàn)紋理效果,使其在二維平面上展現(xiàn)出栩栩如生的逼真效果,目前在這方面已有很多研究成果[10,11]。在虛擬空間中,需要從各個視角對這種現(xiàn)象進行觀察,只靠紋理的方法是不行的;同時,還要求必須能實時地生成。由于景物在運動過程中,紋理狀態(tài)具有不確定性,用傳統(tǒng)的基于粒子的和分形的建模方法,不僅需要大量內存空間來保持它們的連續(xù)性和一致性,還要通過大量的運算來求得它們的下一個狀態(tài)。這會大大降低繪制的速度,不能滿足實時性要求。
基于這種狀況,本文提出了一種利用已有圖像序列的實時建模方法,即α-體建模思想。這種方法既避免了物理建模的復雜性,又省去了用計算機視覺恢復復雜幾何模型的過程。首先運用動態(tài)紋理合成思想從原始圖像集產(chǎn)生動態(tài)紋理序列;其次對動態(tài)紋理序列進行背景消隱,得到?jīng)]有噪聲的動態(tài)紋理序列;然后再對這個紋理序列中的每一張圖像進行邊界合成,找出不同的顏色區(qū)域邊界并計算邊界的α值;最后根據(jù)α值生成α-體集合。在算法中,主要解決了如何利用合成的區(qū)域邊界勾勒出紋理的輪廓線以及如何從輪廓線計算α值,并生成α體的問題。
2算法設計
2.1產(chǎn)生紋理的動態(tài)序列
動態(tài)紋理是一種基于圖像的繪制方法,通過對輸入圖像序列進行學習,生成新的圖像序列。它與原序列在視覺上十分相似,不但具有很強的真實感,還具有一定的可編輯性。下面首先定義一個動態(tài)紋理,然后分別對動態(tài)紋理進行學習、識別和合成。
2.2圖像的邊界合成
為了建立α-體集,必須找出不同區(qū)域的邊界。在火焰圖像中,不同顏色的區(qū)域之間的邊界都是曲線。這里用Alpha估計技術,通過以不同的比例混合兩種顏色產(chǎn)生邊界顏色,而且不需要知道邊界的詳細信息。
在實際圖片中,邊界的顏色往往受多個區(qū)域的影響,有多個區(qū)域的圖像可以被分解為只有兩個鄰接區(qū)域的圖像。因此,這里主要處理有兩個區(qū)域的圖像。本文用分割兩個區(qū)域的像素鏈形成區(qū)域邊界。像素鏈用邊緣監(jiān)測器發(fā)現(xiàn)的邊緣創(chuàng)建,而邊界使用區(qū)域分割算法或邊界尋找工具(如智能截取器IntelligentScissors[13])發(fā)現(xiàn)。事實上的困難在于紋理可能有噪聲和其他數(shù)據(jù)源。本文采用如下的方法:
(2)計算Alpha和非混合顏色
兩個信號集X和Y是每個對象區(qū)域顏色的離散表達?,F(xiàn)在必須在兩個分布之間建立關系和確定顏色空間的任意一個像素Q,只要將顏色信號轉換為連續(xù)的分布,這種關系可以很容易建立。這里使用一個均勻的高斯混合來確保在顏色空間所有的點有一個非空對應和簡化方程。在Q點比較這兩個方程是一個估計Q點Alpha值αQ的方式。當假設Q是X和Y的顏色混合時,Q就不可能是這兩個分布中的任何一個。因為要估計混合量,傳統(tǒng)的決策理論方法是沒有用的。這時要真正地從X分布的顏色穿過邊界變形到Y分布的顏色繪制Q點。這種變形通過在兩個分布之間線性插值實現(xiàn)。這樣估計Alpha就變成一個最大化可能的估計問題,即發(fā)現(xiàn)最大化Q點值可能被插值的密度。
3實驗結果和算法復雜度分析
摘要:提出了一種α-體建模方法:對實拍圖像的學習生成動態(tài)紋理之后,再對紋理進行邊界合成得到劃分了顏色區(qū)域的圖像;通過對圖像區(qū)域邊界的掃描勾勒出圖像的輪廓線網(wǎng)格,并根據(jù)其到中心的距離為每個網(wǎng)格邊界賦予標準的顏色值;最后根據(jù)網(wǎng)格的顏色值生成三維模型。實驗證明這種動態(tài)景物的建模方法能夠滿足虛擬場景實時繪制的要求,而且具有很好的魯棒性和連續(xù)性。
關鍵詞:動態(tài)紋理;網(wǎng)格;三維模型;動態(tài)景物;基于圖像的繪制
0引言
近幾年,隨著虛擬場景建模技術的發(fā)展,客戶對虛擬場景的真實感和實時性要求越來越高。在大部分虛擬場景中,尤其是自然環(huán)境和戰(zhàn)場環(huán)境中,火焰、煙霧、硝煙以及干擾云等景物是必不可少的一部分。真實地模擬這些動態(tài)景物是影響場景繪制速度的一個重要因素,也是計算機圖形圖像研究的一個重點和難點。用更少的運算和內存空間,更加逼真地模擬它們的狀態(tài)一直是人們努力的目標。目前已經(jīng)有很多關于這方面的研究。Lamorletter和Foster對火焰的各個不同部分分別建立模型[1],然后分別計算不同部分的狀態(tài),從而體現(xiàn)整個火焰的運動狀態(tài)。首先建立火焰的外輪廓線模型,然后對火焰進行上下分段,對不同段的粒子采用不同函數(shù)描述,從而體現(xiàn)火焰不同部分的亮度,通過各個部分亮度的變化展現(xiàn)火焰的動態(tài)效果。Beaudoin則是建立三維的火焰骨架[2],并在三維骨架內建立速度場。火焰的粒子以當前所處位置的速度運動,實現(xiàn)動態(tài)效果。同時,他把火焰由內及外分成不同的層,不同的層用不同的亮度計算函數(shù),體現(xiàn)了火焰由內及外的亮度變化。Ngu-yen則是從燃料入手[3],考察固體燃料由固體變成氣體燃燒然后再慢慢冷卻的過程。在燃燒的過程中,燃料顆粒以氣態(tài)在空氣中運動并且相互作用,產(chǎn)生火焰的動態(tài)效果。同時,燃料顆粒經(jīng)歷溫度由低到高的過程,亮度也相應由弱到強地變化,使火焰在不同的段,亮度也不同。Schodl提出一種由少量動態(tài)火焰產(chǎn)生無限動態(tài)火焰序列的算法[4]。Fedkiw通過跟蹤點的運動,利用渦流思路成功模擬了煙的運動[5]。Wijk就如何體現(xiàn)流體紋理隨機性和不確定性,并保持紋理一致性和連續(xù)性提出了很好的思路[6]。
1α-體建模思想
在以上提出的各種建模方法中,出于真實性、隨機性和實時性的考慮,在實際建模過程中常用的方法主要有基于粒子系統(tǒng)的建模和分形[7]建模以及依賴于已有的圖像序列的基于計算機視覺的建模。這類動態(tài)現(xiàn)象包含的共同特性是產(chǎn)生它們的物理機制十分復雜,一般很難通過物理分析的方法對它們建模。而現(xiàn)有的建模算法多數(shù)都是基于粒子系統(tǒng)[7~9],既要考慮其復雜的物理模型,又要利用流體力學的知識計算場景的運動狀態(tài)。其主要缺點是運算量大,很難達到實時繪制的要求。另一方面,可以很容易收集這類動態(tài)序列的樣本。于是,產(chǎn)生了圖像與幾何相結合的建模思想:首先從得到的原始圖像序列樣本恢復幾何信息,然后將紋理映射到幾何體表面。但是這種方法要用到計算機視覺理論,不可避免地要從圖像中精確地恢復對象的幾何模型。這是一個非常復雜的過程,尤其是對于這些沒有固定形狀的動態(tài)景物而言。大部分的火焰合成系統(tǒng)都是動態(tài)地展現(xiàn)紋理效果,使其在二維平面上展現(xiàn)出栩栩如生的逼真效果,目前在這方面已有很多研究成果[10,11]。在虛擬空間中,需要從各個視角對這種現(xiàn)象進行觀察,只靠紋理的方法是不行的;同時,還要求必須能實時地生成。由于景物在運動過程中,紋理狀態(tài)具有不確定性,用傳統(tǒng)的基于粒子的和分形的建模方法,不僅需要大量內存空間來保持它們的連續(xù)性和一致性,還要通過大量的運算來求得它們的下一個狀態(tài)。這會大大降低繪制的速度,不能滿足實時性要求。
基于這種狀況,本文提出了一種利用已有圖像序列的實時建模方法,即α-體建模思想。這種方法既避免了物理建模的復雜性,又省去了用計算機視覺恢復復雜幾何模型的過程。首先運用動態(tài)紋理合成思想從原始圖像集產(chǎn)生動態(tài)紋理序列;其次對動態(tài)紋理序列進行背景消隱,得到?jīng)]有噪聲的動態(tài)紋理序列;然后再對這個紋理序列中的每一張圖像進行邊界合成,找出不同的顏色區(qū)域邊界并計算邊界的α值;最后根據(jù)α值生成α-體集合。在算法中,主要解決了如何利用合成的區(qū)域邊界勾勒出紋理的輪廓線以及如何從輪廓線計算α值,并生成α體的問題。
2算法設計
2.1產(chǎn)生紋理的動態(tài)序列
動態(tài)紋理是一種基于圖像的繪制方法,通過對輸入圖像序列進行學習,生成新的圖像序列。它與原序列在視覺上十分相似,不但具有很強的真實感,還具有一定的可編輯性。下面首先定義一個動態(tài)紋理,然后分別對動態(tài)紋理進行學習、識別和合成。
2.2圖像的邊界合成
為了建立α-體集,必須找出不同區(qū)域的邊界。在火焰圖像中,不同顏色的區(qū)域之間的邊界都是曲線。這里用Alpha估計技術,通過以不同的比例混合兩種顏色產(chǎn)生邊界顏色,而且不需要知道邊界的詳細信息。
在實際圖片中,邊界的顏色往往受多個區(qū)域的影響,有多個區(qū)域的圖像可以被分解為只有兩個鄰接區(qū)域的圖像。因此,這里主要處理有兩個區(qū)域的圖像。本文用分割兩個區(qū)域的像素鏈形成區(qū)域邊界。像素鏈用邊緣監(jiān)測器發(fā)現(xiàn)的邊緣創(chuàng)建,而邊界使用區(qū)域分割算法或邊界尋找工具(如智能截取器IntelligentScissors[13])發(fā)現(xiàn)。事實上的困難在于紋理可能有噪聲和其他數(shù)據(jù)源。本文采用如下的方法:
(2)計算Alpha和非混合顏色
兩個信號集X和Y是每個對象區(qū)域顏色的離散表達。現(xiàn)在必須在兩個分布之間建立關系和確定顏色空間的任意一個像素Q,只要將顏色信號轉換為連續(xù)的分布,這種關系可以很容易建立。這里使用一個均勻的高斯混合來確保在顏色空間所有的點有一個非空對應和簡化方程。在Q點比較這兩個方程是一個估計Q點Alpha值αQ的方式。當假設Q是X和Y的顏色混合時,Q就不可能是這兩個分布中的任何一個。因為要估計混合量,傳統(tǒng)的決策理論方法是沒有用的。這時要真正地從X分布的顏色穿過邊界變形到Y分布的顏色繪制Q點。這種變形通過在兩個分布之間線性插值實現(xiàn)。這樣估計Alpha就變成一個最大化可能的估計問題,即發(fā)現(xiàn)最大化Q點值可能被插值的密度。
3實驗結果和算法復雜度分析
3.1復雜性分析
對于一個基于粒子的繪制系統(tǒng)而言,其算法的復雜度與粒子的屬性和實現(xiàn)過程有關。在任何系統(tǒng)中,粒子都有以下的屬性:粒子的數(shù)量、大小、顏色、亮度、透明度、形狀、運動速度和方向、生存期;它都要經(jīng)歷粒子狀態(tài)初始化、依照運動規(guī)則運動和屬性變化三個實現(xiàn)過程。粒子系統(tǒng)的具體實現(xiàn)過程如下:①在燃點處產(chǎn)生初始火焰粒子集;②賦予火焰粒子屬性;③繪制初始火焰;④重新選擇火焰粒子集;⑤粒子場中粒子運動、變換;⑥粒子生存期減1;⑦部分火焰粒子消亡;⑧產(chǎn)生新的火焰粒子;⑨繪制火焰粒子集。其中對于每一幀都要重復執(zhí)行④~⑨。而在本章提出的α-體建模方法中,第一步是初始化過程,是在程序運行之前就必須準備好的動態(tài)紋理,這個過程遠比粒子系統(tǒng)中①~③要簡單得多;其次,在執(zhí)行過程中對每一幀都要劃分邊界和計算α值并生成α-體,這個過程也遠比粒子系統(tǒng)的④~⑨計算量要小很多,因此該算法的復雜性與基于粒子系統(tǒng)相比要小很多。用粒子系統(tǒng)在SGI圖形工作站生成100fps這樣的火焰序列,而用本文的建模方法在下面普通的試驗環(huán)境中也能生成約100fps的序列,性能有明顯改善。
3.2效果圖
試驗環(huán)境:PentiumⅢ600MHz的PC機,GeForce2MX顯示卡,256MB內存,編程環(huán)境為VC++6.0,運行在WindowsXP下,底層圖形繪制采用三維圖形標準軟件Direct3D,每個項目包含120幅圖像。
在該環(huán)境中,用上面的算法對圖1(a)的火焰進行處理。圖2分別為三維模型繞軸旋轉90°的四個不同視角觀察的結果。由圖2結果可以看出,本文方法生成的視圖沒有人工痕跡,幾乎達到了與圖1(a)的真實圖片相媲美的效果。
4結束語
本文以火焰為例,介紹了一種在三維空間重建場景特效的方法。與傳統(tǒng)基于粒子系統(tǒng)的方法相比,該算法復雜度低、真實感強;與動態(tài)紋理方法相比,該算法能夠滿足自由變換視點的需要。通過對實時生成的紋理分割,提取了紋理的邊界,并利用其邊界屬性生成幾何體,使得用戶在場景中,能從不同的視角和視點進行觀察。實驗證明這種方法不但滿足了特效在三維空間視點變換的需要,而且克服了傳統(tǒng)建模方法占用存儲空間大和運算復雜的缺點,實現(xiàn)了動態(tài)景物的實時繪制,提高了繪制速度。
在本文對虛擬火焰的模擬中,不同層的火焰亮度是用顏色和Alpha值確定的,Alpha值用來確定該層火焰的透明程度。在這里Alpha值的計算只是依據(jù)邊界到中心線的距離,而每一層的實際亮度并不是完全按照這種模式分布的,這將可能導致圖形因亮度因素而部分失真。如何準確地再現(xiàn)特效的實際亮度是今后的努力方向。
參考文獻:
[1]LAMORLETTEA,FOSTERN.Structuralmodelingofflamesforaproductionenvironment:proceedingsofthe29thAnnualConferenceonComputerGraphicsandInteractiveTechniques[C].NewYork:ACMPress,2002:729-735.
[2]BEAUDOINP,PAQUETS,POULINP.Realisticandcontrollablefiresimulation:proceedingsofGraphicsInterface[C].Ottawa:[s.n.],2001:159-166.
[3]NGUYENDQ,FEDKIWR,JENSENHW.Physicallybasedmode-lingandanimationoffire[J].ACMTransactionsonGraphics,2002,21(3):721-728.
[4]SCHODLA,SZELISKIR,SALESINDH,etal.Videotexture:proceedingsofACMSIGGRAPHConference[C].NewOrleans:ACMPress,2000:489-498.
[5]FEDKIWR,STAMJ,JENSENHW.Visualsimulationofsmoke:proceedingsofACMSIGGRAPHConference[C].NewYork:ACMPress,2001:15-22.
[6]WIJKJJV.Imagebasedflowvisualization:proceedingsofthe29thAnnualConferenceonComputerGraphicsandInteractiveTechniques[C].NewYork:ACMPress,2002.
[7]周麗琨.虛擬現(xiàn)實系統(tǒng)中不規(guī)則形體的幾何表現(xiàn)[D].武漢:武漢理工大學,2003.
[8]彭艷瑩.基于粒子系統(tǒng)的內燃機燃燒可視化研究[D].杭州:浙江大學,2003.
[9]孫麗娟.虛擬戰(zhàn)場環(huán)境建模及兵力的運動控制研究[D].哈爾濱:哈爾濱工業(yè)大學,2002.
[10]林夕偉,于金輝.基于粒子和紋理繪制的火焰合成[J].計算機應用,2004,24(4):77-79.
[11]HASINOFFSW.3DReconstructionoffirefromimage[D].Toronto:GraduateDepartmentofComputerScience,UniversityofToronto,2002.
[12]SOATTOS,DORETTOG,WUYN.Dynamictextures:proceedingsofIEEEICCV[C].Vancouver:[s.n.],2001:439-446.
[13]MORTENSENE,BARRETTW.Interactivesegmentationwithintelligentscissors[J].GMIP,1998,60(5):349-384.
[14]劉彥宏,王洪斌,杜威,等.基于圖像的樹類物體的三維重建[J].計算機學報,2002,25(9):930-935.