宋健(四川大學計算機學院,成都 610065)
基于對稱性表示的紋理傳輸與合成
宋健
(四川大學計算機學院,成都610065)
自然界的物體往往伴隨著各種精細復雜的表面細節,例如動物的皮毛紋路、樹木的樹表條紋,地板的圖案……在計算機圖形學領域中,通過紋理,我們可以逼真有效地渲染這些細節。在早期發展中,主要通過紋理映射的方法來處理大規模紋理場景,由于初始紋理圖片的大小和物體表面積的不匹配,容易出現紋理接縫和扭曲變形現象,嚴重影響了場景的真實感繪制;并且物體表面復雜的細節很難用數學模型,計算復雜度高。于是出現了紋理合成的方法,它抓住圖像的紋理特征(例如相似性和重復性),優化合成任意大小尺寸的紋理圖片,并且保證合成的紋理保持著與原有紋理相似的紋元效果。本文利用已有的算法對目標圖片進行對稱性分析和表示,將目標圖像表示在對稱空間中,從而引導完成紋理的傳輸和合成,得到良好合成結果。
紋理合成在計算機圖形學和計算機視覺得到了很大的發展,根據合成方式的不同,主要經歷了過程紋理合成和基于樣圖的紋理合成。過程紋理合成主要的思想是模擬自然界物體紋理的生成,根據物體的網格曲面信息,直接在模型上合成紋理。這種方法可以很好地表現出物體表面紋理細節,但是大量繁瑣的參數設置導致其計算量巨大,并且需要對不同的模型設置不同的參數。于是,基于樣圖的紋理合成很快地發展起來,它利用紋理的局部相似性特征,合成與樣本紋理相似且連續的大面積紋理。其中基于馬爾可夫隨機場(Markov Random Fields,MRF)模型[1]的紋理合成技術廣受歡迎,它認為紋理具有局部統計性,即相鄰的紋理之間應該具有相似的像素。該技術的發展經歷了基于像素點和基于塊的紋理合成,wei和Levoy[2]于2000年提出了L型紋理匹配塊鄰域并采用樹形矢量化技術(Tree Structure Vector Quantization,TSVQ),加快了合成速度。Efros[3]等人提出了基于塊的合成算法,該算法以特定尺寸大小的塊作為合成單元,合成速度較快,但是可能出現不連續的情況,后續還出現了對該算法的改進。
與此同時,在計算機圖形學和計算機視覺中出現了很多空間物體的對稱性分析和表示,它將物體表示在一個稱為對稱空間的參數化空間中[4],該空間由一組轉化確定,存儲了一個物體/圖像相對于其他轉換的對稱性距離。但是這些方法并沒有應用到紋理合成中,本文通過利用這些對稱性分析和表示的方法,將目標圖片表示在對稱空間中,結合紋理傳輸技術,引導完成基于塊的紋理合成。
紋理傳輸是指將一幅圖像的特征渲染傳遞到另外一幅圖像上,提供特征信息的圖像稱為目標圖像,被渲染的圖像稱為源圖像[5](如圖1)。圖中,將仙人掌的斜條形特征添加到草坪紋理中,產生了輸出圖像中的條形草坪。

圖1 紋理傳輸
本文首先通過對稱化轉換S得到目標圖像g的對稱化表示S(g),然后挑選一個紋理合成方法 θ,將源圖像f轉換為期望尺寸大小的輸出圖像f',同時保持著源圖像的紋理特點。接著將f表示在對稱空間中得到S(f'),同時定義一個目標函數E(S(f')),評估S(f')與S(g)之間的差異。最后更新 θ迭代產生最優 f',使得所有可能的f'中 minE(S(f'))。完整的算法流程圖如圖2。

圖2 算法流程
本文的主要思想是將目標圖片表示在對稱空間中,應用紋理傳輸的技術,引導完成基于塊的紋理合成,從而在保證原始紋理圖片紋元特點的同時,使輸出圖像具有與目標圖片類似的圖像特征。為了衡量輸出圖像與目標圖像之間的匹配程度,文中使用歐氏距離作為目標函數,算法的最終目的就是在對稱空間中找到合適的θ,其合成的f'使得目標函數最小,即:

3.1對稱表示
為了得到g和f'的對稱性表示,本文使用平移對稱性變換ST(f)完成轉換,它度量了一個環函數和它本身在每一個可能的平移方向之間的相關性。

該函數在頻域空間可以得到比較高效的計算,并且其值只有在平行于圖像重復方向的方向上傳輸時才會比較大。為了從一幅圖像中計算ST(f),首先需要求解f的自相關函數,并對其進行標準化,使其均值μ(ST(f))=0,σ2(ST(f))=1;接著將其值域限定到輸入圖像大小,圖3顯示了一些目標圖像的對稱化結果。

圖3 對稱化表示
3.2紋理合成
得到目標圖片的對稱化表示之后,我們就可以引導合成新的輸出紋理。本文采用 [Efros and Freeman 2001][3]中描述的基于塊的紋理合成方法合成新的紋理圖片。首先,我們用源紋理圖像中隨機提取的圖像塊平鋪產生目標尺寸大小的紋理圖像;接著,用原論文中描述的方法,迭代更新每一個圖像塊,使其與周圍的圖像塊保持一致從而保證輸出圖像的一致性。但與原論文不同的是,原論文在更新圖像塊時,是從與周圍圖像塊相似的圖像塊集合中隨機挑選一個,而本文則是挑選能使輸出圖像的對稱化表示向目標圖像的對稱化表示靠近的圖像塊,最終產生的圖像在保證源圖像紋理特征的同時,也具有與目標圖像相似的圖像特征。
生成的結果見圖4。
4.1實驗環境
硬件環境:處理器:Intel Core i3-3220 CPU@ 3.30GHz雙核;內存:4.0GB;顯卡:NVIDIA GeForce GTX 650;操作系統:Windows 7(64位)
編譯環境:VS 2012+Qt 5.5.1

圖4 紋理合成
4.2實驗結果
圖4中展示了使用本文描述的算法合成的一些紋理圖像。第一行表示輸入的源紋理圖像,左邊一列表示目標圖像,中間顯示了對應的源圖像和目標圖像合成產生的紋理圖像,其大小為512×512,紋理和成時選擇的塊大小為16×16。通從圖中可以看出,輸出圖像在保持源圖像和目標圖像的圖像特征,得到了比較好的效果。
本文研究并實現了一種基于對稱性表示的紋理傳輸和合成,將對稱性表示的方法應用到引導紋理的傳輸與合成中,實驗結果表明,該方法可以得到良好的合成效果,在保持源圖像紋理特點的同時,使輸出圖像具有與目標圖像相似的圖像特征。但是由于求解對稱性表示以及迭代產生最優解過程比較耗時,不能應用到實時渲染中,后續可以考慮利用并行的方法(例如CU-DA編程)進行提速。
[1]Efros A,Leung T K.Texture Synthesis by Non-Parametric Sampling[C].Computer Vision,1999.The Proceedings of the Seventh IEEE International Conference on.IEEE,1999,2:1033-1038.
[2]Wei L Y,Levoy M.Fast Texture Synthesis Using Tree-Structured Vector Quantization[C].Proceedings of the 27th Annual Conference on Computer Graphics and Interactive Techniques.ACM Press/Addison-Wesley Publishing Co.,2000:479-488.
[3]Efros A A,Freeman W T.Image Quilting for Texture Synthesis and Transfer[C].Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques.ACM,2001:341-346.
[4]Podolak J,Shilane P,Golovinskiy A,et al.A Planar-Reflective Symmetry Transform for 3D Shapes[C].ACM Transactions on Graphics (TOG).ACM,2006,25(3):549-559.
[5]周瑞華.紋理合成算法及其在紋理傳輸中的應用研究[D].山東師范大學,2015.
Symmetry Representation;Texture Transfer;Texture Synthesis;Texture Control
Symmetry-Representation Based Texture Transfer and Synthesis
SONG Jian
(College of Computer Science,Sichuan University,Chengdu610065)
1007-1423(2016)07-0069-03
10.3969/j.issn.1007-1423.2016.07.016
宋健 (1990-),男,四川雅安人,碩士研究生,研究方向為計算機圖形學、虛擬現實
2015-12-24
2016-02-10
基于樣圖的紋理合成通過已有的紋理信息,合成與樣本相似的大尺寸紋理,保證視覺上的連續性和相似性。但是紋理的傳輸和控制始終是個難題。為了實現這個目的,利用對稱性表示方法將目標圖片以及合成的紋理圖片表示在對稱空間中,實現紋理之間的傳輸,引導完成基于塊的紋理合成,迭代產生最優的輸出紋理。實驗證明,該方法可以完成紋理的傳輸和控制,得到良好的紋理合成效果,并且有較好的魯棒性。
對稱性表示;紋理傳輸;紋理合成;紋理控制
Sample image based texture synthesis uses existing texture information to synthesize a large similar texture,which ensures the visual con-tinuity and similarity.But it's difficult to transfer and control the patterns in texture.This purpose can be achieved by representing pat-terns in a symmetry space,which can transfer texture from one to another and guide the patch-based texture synthesis.Applies an itera-tive optimization algorithm to find the best output.Example results show that this method can be used to transfer and control the texture with fine result and robustness.