宋健(四川大学计算机学院,成都 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.