一种与用户交互式结构性纹理的合成方法

文档序号:6375532阅读:162来源:国知局
专利名称:一种与用户交互式结构性纹理的合成方法
技术领域
本发明涉及结构性纹理的交互设计与合成的技术领域,具体涉及一种与用户交互式结构性纹理的合成方法。
背景技术
本发明主要关注了具有结构信息纹理的交互设计与合成,最近的成果包括了基于特征的纹理合成、纹元重排列、块的拼接方法以及实时纹理合成。基于特征的纹理合成纹理中的特征多种多样,包括了形状、大小、方向、纹元颜色等等,所以近年来有很 多研究都着眼于此。Wu等人从样图中提取出小的容易获取的结构特征如曲线、褶皱等的分布图,然后特征的匹配及变形构建出一个大的特征分布图从而完成整个合成过程。Hays对于近规则纹理合成提出了一种较好的方法,首先从样图纹理中依据近似规则的拼接由用户参与提取出分布小格子,几何变形场的构建可以提供几何数据用于格子形状的变形,从而合成结果。Dischler等人利用了一个无缝的网格以及样图,首先拼接出一个大的网格图,接着依据从样图中提出的网格信息通过其优化方法对网格图进行变形。特征同样被用于加强纹理合成变化,Velho的方法就能得出这样的结果,它将特征进行变形混合从而引入了形状及纹元的变化,进而得出具有丰富变化的纹理结果。Zara从样图中提取出多个特征分布图,再利用变形方程得出一个单一复杂的的插值结果。Ray利用一个等级集平滑方法进行特征变形,限定了利用给定样图进行纹理的合成。相比较于在整个特征图上进行全局形变,Ruiters等人只是在局部进行特征的插值,然后利用块混合的方法进行合成。纹理特征不仅仅能够在空间上进行变换,在时间上也能进行变化得出良好效果,Narain就从动态的流体现象中提取出特征信息,然后在视频中合成出动态的效果。本文方法同样是基于特征的纹理设计与合成。相对于上述这些方法,本方法避免了对用户输入大网格的严格要求,同时保持了样图以及输入网格的特征,在这个基础上添加的模式。信息为纹理设计带来了更大的灵活性。纹元重排列特征图不仅仅是包含了形状、大小、方向、颜色等信息,同样包含了纹元的排列信息。Zhou Kun等人在特征图合成时加入了纹元密度、分布等信息,此方法在模拟大自然中的纹理时获得了很好的效果。Ray等人引入了材质坐标系用于对纹元进行重排列。相较于特征图,控制图则在更高的水平上加强了对于纹元排列的控制。Reng, Kwartra, Wei Liyi等人都是利用了一个输入控制图对纹元排列进行指导。近年来,Rosenberger自动的从给定样图中获取其层次控制图,进而进行纹理合成。除此之外,还有其他的方法用于纹元的排列。Ijiri提出了一种局部生长的过程性的方法用于纹元的生长排列得出了良好的效果。Zelinka利用了三维空间的褶皱信息用于模式的重排列。
本发明方法,从给定样图中提取出的网格信息可以用于对纹元的重排列。块拼接基于块拼接的纹理合成方法最主要的问题便是如何去除掉拼接处的缝隙。Cohen等人提出了一个由从样图中提取出的Wang Tiles集合,得到连续分布的纹理合成方法。Kwatra, Efros利用误差函数,在两个块的重复部分找出一条最小代价的Graphcut,进而将两个块放在一起。Clapworthy提出了对于非规则形状的块进行边的切割,然后得出在视觉上具有最小非连续性的新图像的方法。Praun更进一步讨论了在3D表面的对非规则块进行优化从而得出满意效果的解决方法。
在本发明方法中有两个步骤用到了块的信息一个是纹理网格的构造,我们会首先通过一个边匹配代价方程从样图网格中提取出一个无缝的网格;另一个是光栅化阶段网格的初始化部分,在这里我们会通过一些变形放缩方法将从样图中提取出的块放入结果网格中。实时纹理合成在计算机图形学中,纹理合成是一个耗时工作,研究者们提出了额、各种方法试图解决实时纹理合成的问题。其中一个想法便是预计算。Zelinka首先通过预计算分析了样图纹理,每个像素的邻域信息都存储在了 jump map中,就是通过这个jump map可以大大加快整个合成的速度。几何空间的结构信息同样可以帮助加快纹理合成的速度。在Michel Dischler中,首先是通过快速构建样图的二维几何信息,在光栅化时结合GPU利用这些信息并行的快速得出结果纹理。另一种减少时间开销的方法是通过块合成方法。在方法Hays中,作者依据马尔科夫随机理论,摒弃了基于像素的合成而采用块的合成大大加快了合成进程,并且取得了很好的效果。随着GPU并行处理数据能力的增强,很多并行合成方法被提出来用于提高合成的效率。Lefebvre等人结合了传统的多分辨率技术与并行处理方法获得了实时合成结果的高质量的纹理。本发明的目标是提出一种可以跟用户进行交互的纹理设计与合成方法。所以我们不能通过预计算加快速度。本发明结合了基于块的思想跟并行合成方法,可以完成跟用户的交互过程。

发明内容
本发明要解决的技术问题是提供一种与用户交互式结构性纹理的合成方法,对于用户提供的输入网格或者从样图中提取出的样图网格,快速的合成出与其模式相一致的结果网格。对于结构性的纹理,结合像素的距离与方向特征快速的合成出结果纹理,完成与用户的交互式纹理设计与合成。本发明解决上述技术问题的技术方案为一种与用户交互式结构性纹理的合成方法,包括以下步骤
步骤(I)、结果纹理的结构信息合成根据用户输入的或者是从样图中提取出的网格进行分析,首先得到无缝的网格块,所述的无缝的网格指的是其上边界与其下边界、左边界与右边界分别完全重叠在一起;然后将这个无缝的网格块进行简单拼接形成理想大小的网格块,最后对这个理想大小的网格块进行优化得到最后的结果纹理的网格信息;步骤(2)、结果纹理的初始化完成对于结果纹理的边界与非边界区域的初始化,对于边界的初始化,利用了像素到其最近边的距离特征在样图中寻找一个与其距离特征最为相似的像素进行赋值;对于非边界像素,将纹理划分成两 个大类分别进行处理第一类是对于变形不明感的纹理,对于该纹理上的每个由网格划分出的块,在样图中随机的找到一个块进行拉伸填充;第二类是对拉伸敏感的纹理,对于这类纹理上的块,在样图中找到一个块,根据这两个块半径的比例,对样图块进行整体的放缩然后填充初始化;步骤(3)、基于邻域的并行像素合成利用了像素的方向特征对其邻域进行旋转从而找到更加适合的样图像素,提高合成质量。进一步的,所述的第一类纹理具体是石块的形变不明感的纹理。进一步的,所述的第二类是纹理具体是花朵的拉伸等形变操作敏感的纹理。本发明的原理在于(I)为了从用户输入网格合成出理想大小的目标网格,首先需要寻找一块无缝网格,寻找方案是随机在输入网格上割取网格块,利用本发明提出的代价方程计算出每个块的自匹配代价,找出代价最小的块作为无缝候选块。根据一定规则移动无缝候选块的顶点使其成为无缝块。拼接无缝块获取初始的目标网格,最后对目标网格进行优化得到结果网格。(2)对于边界像素,根据其距离特征,在样图中选择与其特征最为相似的像素进行初始化。对于非边界像素,则采用对样图块的拉伸或者整体块放缩方法来填充结果纹理块,从而完成整个初始化步骤。(3)利用方向特征,对初始化了的结果纹理中每个像素的邻域进行旋转,得出最佳的邻域,然后并行的采用邻域匹配方法在样图中搜索最佳的匹配像素从而合成出结果纹理。与原有方法相比,本发明首先能够依据用户输入的网格或者是从样图提取的网格合成出理想大小的并且与远网格保持同一模式的结果网格,而不用严格的要求用户输入一张大的结果网格;加入了像素的距离与方向特征后,本发明能够获得比原来方法效果更佳的合成结果,并且利用本发明在合成阶段天生的可并行性完成与用户的快速可交互结果合成。本发明对于结构性纹理的合成具有很好的实用性。


图I为算法整体流程;图2为割边示意图;图3为边界示意图;图4为网格块顶点分类示意图;图5为网格(左)的距离特征(中)示意图和方向特征(右)示意图;图6为边界像素的初始化过程示意图7为第一类纹理网格块的初始化示意图;图8为第二类纹理网格块的初始化示意图;图9为用户添加不同设计风格示意图;图10为合成阶段像素方向特征对于领域影响示意图;图11为菠萝蜜与催化饼干合成效果示意图;图12为菠萝,砖块,马赛克,格子,标准纹理示意图;图13为一种添加不同设计的马赛克合成图示意图。
具体实施例方式图I给出了本发明的具体实施过程示意图,具体实现方法如下 步骤I:网格合成网格合成是从给定网格中获得理想大小及模式的目标网格。几何网格将合成带入了几何合成空间,所以这里就利用了一些几何方法进行合成。(I)割边匹配代价我们将相交于某个块上的线段称为割边,为了度量两割条边之间的距离,我们提出了一种变匹配代价方程。在图2中&,e2表示两条边,K,Pl, 表示着两条边的四个顶点,并且每条边都是具有方向性的,在本文中都是从in边指向out边。割边ei到e2的距离由如下公式计算咖-2)= (l + ||ii£||)*(l + +(iS;)-其中η( ·)表不一个向量所在的单位向量,I I · I I表不一个向量的长度,λ为权
重参数。根据上面方程可得两条割边的匹配代价c (θ1; e2)c(e”e2) = d (e” e2)+d (e2, e)由上可知当两条割边完全重合时,它们的匹配为O。(2)边界匹配代价在本文中边界指的是一个块的边。边界匹配的指是对于给定的一条边界,找出本边界跟给定边界之间的距离。它们之间的距离的度量可以由在这两条边界上对应割边之间的匹配代价之和表示。在图3中,!^七表示一对拥有相同长度的两条需要计算匹配代价的边界。其中对于Id1有m条割边与之相交,对于b2则有η条割边,如果m与η不相等,那么这两条边界之间的匹配代价为无限大,如若相等,那么它们之间的匹配代价由如下公式给出
Cm
「Cieil, el)啪為
Lni其中,Cnt表示它们割边的数量。(3)网格块的自匹配网格块的自匹配是为了从输入网格中找出一个自身匹配代价最小的块,用于构造无缝网格。如果我们想要将一个网格块进行拼接那么这个块必须是左边界跟右边界相匹配,上边界跟下边界相匹配,所以一个网格块的自匹配代价为c (P) =c (bleft, bright) +c (bright, bleft) +c (btop, bbottom) +c (bbottom, btop)其中,bleft,bright,bbottom, btop表示这个块的四条边界。如果一个网格块的自匹配代价越小,那么表示这个块在拼接时将会更加的容易,如果一个网格块的自匹配代价为0,那么我们称这个块是无缝的网格块。(4)无缝网格块的构造无缝网格块是生成最终大的目标网格的基础单元,其构造过程可以分为两个步骤块的选择与形变。候选无缝块P。是从输入网格中选取出的最小自匹配代价块。首先,在输入网格中随机的选择一些中心点以及边长构建一系列的候选块Pi, S表示所有Pi构成的集合。然后利用自匹配代价方程计算出每个候选块的匹配代价。最后在这些候选块中找出代价最小的作为候选无缝块Pc = arg min c (Pi) Pi e S在绝大部分情况下,不可能直接由上述获得的候选无缝块直接拼接出想要的结果,我们必须进行一些变形操作。在候选无缝块中顶点可以分为两个主要部分一部分是所在边为这个候选块的割边,另一部分则是所在边跟块边界没有相交,如图4所示。对于第一类顶点,我们将与其所在边界的对应边界平移到本条边界位置,然后将这个顶点与其对应顶点的中间位置作为这个顶点的新位置。对于第二类顶点我们同样需要进行一些变形一面产生不好的效果。对于顶点V其位移dsp可由下面公式给出
权利要求
1.一种与用户交互式结构性纹理的合成方法,其特征在于包括以下步骤 步骤(I)、结果纹理的结构信息合成根据用户输入的或者是从样图中提取出的网格进行分析,首先得到无缝的网格块,所述的无缝的网格指的是其上边界与其下边界、左边界与右边界分别完全重叠在一起;然后将这个无缝的网格块进行简单拼接形成理想大小的网格块,最后对这个理想大小的网格块进行优化得到最后的结果纹理的网格信息; 步骤(2)、结果纹理的初始化完成对于结果纹理的边界与非边界区域的初始化,对于边界的初始化,利用了像素到其最近边的距离特征在样图中寻找一个与其距离特征最为相似的像素进行赋值;对于非边界像素,将纹理划分成两个大类分别进行处理第一类是对于变形不明感的纹理,对于该纹理上的每个由网格划分出的块,在样图中随机的找到一个块进行拉伸填充;第二类是对拉伸敏感的纹理,对于这类纹理上的块,在样图中找到一个块,根据这两个块半径的比例,对样图块进行整体的放缩然后填充初始化; 步骤(3)、基于邻域的并行像素合成利用了像素的方向特征对其邻域进行旋转从而找到更加适合的样图像素,提高合成质量。
2.根据权利要求I所述的一种与用户交互式结构性纹理的合成方法,其特征在于所述的第一类纹理具体是石块的形变不明感的纹理。
3.根据权利要求I所述的一种与用户交互式结构性纹理的合成方法,其特征在于所述的第二类纹理具体是花朵的对拉伸形变操作敏感的纹理。
全文摘要
本发明提出一种与用户交互式结构性纹理的合成方法,首先,根据用户输入网格或者是从样图中提取出的网格生成一个跟样图网格模式相同的理想大小的目标网格,之后用户可以添加各种合成模式以进行纹理设计,然后依据本发明提出的特征距离的概念对这个目标网格进行初始化,最后结合本发明提出的像素方向特征并行合成出结果纹理。本发明对于具有结构的纹理得到了很好的合成效果,而且在帧率上利用GPU的并行性实现了可交互纹理设计与合成。
文档编号G06T11/00GK102867317SQ20121030143
公开日2013年1月9日 申请日期2012年8月22日 优先权日2012年8月22日
发明者王莉莉, 陈益, 沈哲, 郝爱民 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1