We use cookies to improve your experience with our site.

加速的并行纹理合成

Accelerated parallel texture optimization

  • 摘要: 纹理合成技术能基于小纹理生成视觉上相似的大纹理,它在计算机图形学及计算机视觉中有很广泛的应用。例如,大规模场景的绘制通常需要大量的纹理来丰富其细节表达,如果直接使用大纹理会给外存和内存带来很大的负担,而应用纹理合成技术可以改善绘制时的存储问题;在科学计算可视化方面,纹理合成技术也能用来提高相关内容的表现力,如流场的可视化。由于纹理合成技术的重要性,近年来有大量的工作致力于改进纹理合成技术的速度、质量及合成能力。常见的合成方法大致可分为局部合成方法和全局合成方法。局部合成方法以像素或块为单位逐步生成新纹理;而全局合成方法一次性生成整个纹理,然后根据一定的相似性度量对已生成的纹理反复优化。在局部合成方法中,由于待生成的像素或块取决于已生成的像素或块,局部方法是合成顺序相关的,一般难以并行计算,并且在局部方法合成的过程中,小误差会不断积累导致合成的新纹理中出现较大的失误或不一致性。相反,全局方法可以同时更新待优化纹理中所有的像素或块,有可能使用GPU进行并行处理来加速,且误差累积问题在全局方法中也能得以避免。最近提出的一些全局方法还展示了一些特别的合成能力,例如控制纹理的变化性和合成纹理流场。因此全局方法近年来获得了很大的关注。纹理优化是其中一种新颖的合成方法,它将纹理合成表示成能量最小化问题,并通过类期望最大化算法来逐步优化目标纹理。它不但能合成高质量的纹理,而且可以应用于带约束的纹理合成,如流场的纹理合成。但是,相比于其它合成方法,纹理优化方法的合成速度较慢,限制了它的实践应用。基于纹理优化的思想,本文提出一种可运行于图形处理单元(GPU)的并行纹理合成算法,能很好地提高合成速度,且不降低合成质量。在新算法中,我们首先引进k-coherence search 和主元分析(Principle Component Analysis)技术使得纹理优化可在GPU上并行计算,然后我们利用局部像素的连续性和局部邻域的合成稳定性设计了两个加速技术,进一步提高了纹理合成速度。虽然新算法需要一定的预计算,但相关的开销不大。经对比实验,新算法的在线合成速度能比2005年ACM SIGGRAPH大会上提出的初始的纹理优化算法快4000倍以上,能满足交互式应用的要求。文章最后,我们用新算法实现了纹理流场的交互式编辑。

     

    Abstract: Texture optimization is a texture synthesis method thatcan efficiently reproduce various features of exemplar textures.However, its slow synthesis speed limits its usage in many interactiveor real time applications. In this paper, we propose a parallel textureoptimization algorithm to run on GPUs. In our algorithm, k-coherencesearch and principle component analysis (PCA) are used for hardwareacceleration, and two acceleration techniques are further developed tospeed up our GPU-based texture optimization. With a reasonableprecomputation cost, the online synthesis speed of our algorithm is4000+ times faster than that of the original texture optimizationalgorithm and thus our algorithm is capable of interactiveapplications. The advantages of the new scheme are demonstrated byapplying it to interactive editing of flow-guided synthesis.

     

/

返回文章
返回