 
(a1)(b1)(c1)(d1)
  
(a2) (b2)(c2)(d2)
  
(a3) (b3)(c3)(d3)
图3 纹理合成效果比较
我们可以看出,在合成效果方面,当取w×h=2×2时合成速度,本文方法与传统的块纹理合成方法几乎没有差别,但是在合成速度方面却有质的飞跃。其原因在于利用本文的方法并取像素块w×h=2×2时,相当于将纹理样本缩小到1/(2×2),合成过程中也将邻域窗口大小和重叠区域大小缩小到1/(2×2),则本文的合成速度比传统方法合成速度快约w×h×w×h=2×2×2×2=16倍免费论文。但由于采用本文方法时需要额外的对纹理样本进行预处理等操作,需要耗费一些时间,故总体提高的速度约略低于16倍。表1中的3组数据依次为输入纹理样本为图3(a1)、(a2)、(a3)时的实验数据。其中,“本文方法例1耗时(S)”为本文方法取w×h=2×2时的运行时间,“本文方法例2耗时(S)”为本文方法取w×h=5×5时的运行时间。如表1数据所示,当取w×h=2×2时,实际速度提高约12倍左右,与我们的分析基本相符。
表1 纹理合成数据比较
输入纹理邻域窗口 重叠区域输出纹理 传统方法本文方法例1 本文方法例2 尺寸(Pixel)尺寸(Pixel) 尺寸(Pixel) 尺寸(Pixel)耗时(S) 耗时( S) 耗时( S)
80×8040×408×8 128×128 2.6100.235 0.016
80×80 40×40 8×8 128×128 2.6570.219 0.016
80×80 40×40 8×8 128×128 2.6030.223 0.016
本文中像素块宽度w与像素块高度h是本文方法的两个关键参数,一般情况下选择w的值与h的值相等时效果将比较好。值选择过小,如w×h=1×1,则本文方法就退化为传统的块纹理合成方法;值选择过大,如w×h=5×5,虽然此时的合成速度理论上提高约w×h×w×h=5×5×5×5=625倍,但数据丢失严重将会影响合成质量,如图3(d1)、 (d2) 、(d3)所示。从表1中可知,当取w×h=5×5时,实际速度提高约163倍,原因在于合成速度,当w×h值较大时,计算两纹理块之间的L2距离所需的时间在整个纹理合成过程中所占比重已经较小,而从样本纹理中逐点复制像素块到输出纹理的过程和纹理预处理过程相对占据了较大比重,所以速度改进的幅度比预期的要小。
实验表明,比较合适的参数为w×h=2×2或者w×h=3×3。此时合成质量较高而且速度提升较显著,大约可以提升一个数量级。
3 结论
本文针对纹理合成中的瓶颈问题,提出了一种全新的对于块纹理合成方法的改进方法,此方法基于如何减少计算对应纹理块间L2距离的计算量,以往的改进方法基于如何快速的找到匹配纹理块,如徐晓刚的螺旋线搜索方法[8]等,与本文方法属于不同的改进方式,本文所提出的改进方式可以与以往的各种块纹理合成方式相融合,促使其合成速度进一步大幅提升。
参考文献
[1]Ashikhmin M,Synthesizing naturaltextures.2001 ACM Symposium on Interactive 3D Graphics, March 2001. ISBN1-58113-292-1. 217-226.
[2]Efros A.A.and Leung T. K. Texturesynthesis by non-parametric sampling.
Proceedings of the Seventh International Conference on ComputerVision, Corfu,Greece. 1999. 1033-1038
2/2 首页 上一页 1 2 |