本发明涉及图形、图像处理领域,特别涉及一种纹理合成方法及其装置。
背景技术:
随着计算机图形、图形处理技术的进步,纹理合成越来越多的应用在计算机图像处理中。纹理合成技术旨在使用计算机合成符合人们要求的纹理图片,在真实感以及非真实感的纹理绘制和填充中有着广泛的应用。同时在图像修复、图像艺术风格转换、网络压缩数据的快速传输以及计算机动画等方面也有着广阔的应用前景。
基于样例的纹理合成在很多情况下能合成不错的结果,但是对于原图包含结构信息、由多种材质构成或者存在非均匀渐变等复杂纹理时,目前基于样例的纹理合成技术在无控制的情况下,无法很好的合成纹理图像,更重要的是自动合成的结果无法较好的满足用户的特定需求。
技术实现要素:
本发明主要解决的技术问题是提供一种在纹理合成过程中便于控制的纹理合成方法及其装置。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种纹理合成方法,包括以下顺序步骤:
s1.对原图中的材质纹理进行抽象,分析该材质纹理的纹理特征;
s2.提取所述纹理特征的特征向量,并对不同的所述材质纹理分别标注;
s3.选取所述原图中的标注区域对应的所述纹理特征训练预测算法;
s4.使用已训练的所述预测算法对未标注区域进行预测,并根据预测后的所述纹理特征分布情况创建标号图;
s5.判断所述标号图的所述纹理特征分布是否准确,若准确则执行步骤s6;若不准确则返回步骤s3;
s6.以所述标号图为基础,与预设的目标标号图进行合成得到的目标纹理图。
其中,所述步骤s2具体包括以下步骤:
s21.提取所述纹理特征的色彩直方图,以直方图表示;
s22.提取所述纹理特征的滤波器组响应信息,以直方图表示;
s23.提取所述纹理特征的边缘信息,以直方图表示;
s24.将上述步骤的直方图连接得到所述特征向量;
s25.根据所述纹理特征的差异对不同的所述材质纹理分别进行标注。
其中,所述步骤s3具体包括以下步骤:
s31.将已标注的所述材质纹理作为种子点;
s32.选取所述种子点对应的所述标注区域组成训练集;
s33.提取所述训练集中的所述纹理特征训练随机森林模型。
其中,所述步骤s4包括以下步骤:
s41.使用所述随机森林模型对所述未标注区域进行预测;
s42.使用图割模型对预测完毕的初步标号图进行优化,并生成所述标号图。
其中,所述步骤s5还包括以下步骤:
s51.若判断所述标号图的所述纹理特征分布不准确,则对所述材质纹理重新标注后进入步骤s3。
其中,所述步骤s6中的所述目标标号图包含所述目标纹理图的纹理分布信息。
其中,所述步骤s6包括以下步骤:
s61.将所述标号图与所述目标标号图加入到附加通道;
s62.采用自调节纹理优化方法生成所述目标纹理图。
其中,所述步骤s6还包括以下步骤:
s63.采用距离偏移图对所述目标纹理图的边缘进行加权优化。
为了解决上述技术问题,本发明还提供一种纹理合成装置,包括:
标号图生成单元,用于对输入的原图进行抽象分析后,提取纹理特征的特征向量,并对不同的材质纹理分别标注,选取标注区域的所述纹理特征训练预测算法并对未标注区域进行预测,最后根据所述纹理特征分布情况创建标号图;
特征判断单元,与所述标号图生成单元连接,用于判断所述标号图的所述纹理特征分布是否准确;若不准确,则重新对所述材质纹理进行标注并激活所述标号图生产单元重新训练所述预测算法并生成所述标号图;
合成单元,与所述标号图生成单元连接,用于以所述标号图为基础,与预设的目标标号图进行合成得到的目标纹理图。
其中,所述标号图生成单元包括:
色彩模块,用于提取所述区域的色彩直方图,以直方图表示;
滤波器组响应信息模块,用于提取所述区域的滤波器组响应信息,以直方图表示;
边缘信息模块,用于提取所述区域的边缘信息,以直方图表示;
所述合成单元包括:
附加通道,用于载入的所述标号图和所述目标标号图;
纹理边界优化模块,根据所述标号图和所述目标标号图分别提取距离偏移图,并根据提取的所述距离偏移图对所述目标纹理图的边缘进行加权优化。
本发明的有益效果是:与现有技术相比,本发明在纹理合成过程中采用了对原图进行抽象得到其材质纹理的纹理特征,根据该纹理特征的不同对原图进行标注,并采用可训练的预测算法对原图进行分类后通过图割模型得到该原图的标号图;进而对该标号图是否准确进行判断,如不合适,则重复上述步骤,直到标号图能够准确的反应纹理原图中不同材质纹理的分布情况;最终在目标标号图的引导下合成新的纹理。通过对标号图是否准确的判断以及标号图不准确时的迭代操作,可以有效的对纹理合成的质量进行控制,使得最终合成的纹理可控且符合需求。有效的节约了人工成本、效率高且对纹理合成的质量可控。采用上述方法的装置也具有同样的技术效果。
附图说明
图1是本发明纹理合成方法的基本步骤框图;
图2是本发明纹理合成方法的完整步骤框图;
图3是本发明纹理合成装置的基本结构框图;
图4是本发明纹理合成装置的完整结构框图;
图5是实施本发明纹理合成方法时输入的原图;
图6是根据图5生成的标号图;
图7是实施本发明纹理合成方法时输入的目标标号图;
图8是以图6为基础根据图7的引导进行合成后的目标纹理图;
图9是实施本发明纹理合成方法时输入的原图;
图10手绘标注图;
图11是根据图9生成的标号图;
图12是实施本发明纹理合成方法时输入的目标标号图;
图13是以图10为基础根据图12的引导进行合成后的目标纹理图;
图14是以图11为基础根据图12的引导进行合成后的目标纹理图。
具体实施方式
以下结合图1至图14具体说明本发明提供的一种纹理合成方法和采用该方法的装置。
如图1所示,纹理合成方法包括以下顺序步骤:
s1.对原图中的材质纹理进行抽象,分析该材质纹理的纹理特征。
在本步骤中,对材质纹理进行的抽象操作其实质为对材质纹理进行分析,并提取出相应的纹理特征,使得材质纹理可以被计算机所识别和分类。
s2.提取纹理特征的特征向量,并对不同的材质纹理分别标注。
本步骤直观的说就是把原始几个小像素看成一个逻辑像素,并对原图的每个逻辑像素提取特征(即下文中所述的三类特征:色彩直方图、滤波器组响应信息和边缘信息),每个逻辑像素都会有一个特征向量表示。同时,将不同材质纹理的区域进行标注,可以便于后续对预测算法的培训以及判断生成的标号图是否准确。
在对原图的材质纹理进行标注具体操作中,一般以原图为背景,根据其材质纹理的不同而在对应区域内标记不同的颜色或者数字等,以便于将该材质纹理的纹理特征与相应的标注建立关联。
具体操作时,本实施例使用slic算法将原图(如图5、图9所示)分割成若干均匀的超像素(superpixel)块,并统计每个像素块的纹理特征。超像素块一般而言就是把一幅原本是像素级(pixel-level)的图,划分成区域级(district-level)的图。从这些区域中可以方便的提取出有效的基本信息,比如颜色直方图、纹理信息等。使用超像素的优点在于一方面降低样本点数量,加速了算法过程,另一方面超像素块相比单个像素能更有效的体现出纹理特征。
在其他实施例中,还可以使用seeds算法对原图进行抽象并分割为具有特征一致性的逻辑像素。
s3.选取原图中的标注区域对应的纹理特征训练预测算法。
s4.使用已训练的预测算法对未标注区域进行预测,并根据预测后的纹理特征分布情况创建标号图。
通过选取标注区域对预测算法进行训练,以及采用预测算法对未标注区域进行预测,本发明的纹理合成方法可以有选择的设置原图中种子点(选择的位置),并对其纹理特征进行提取。通过预测算法参照种子点中的纹理规则有助于快速的完成对原图未标注区域的分类和标注。
在本实施例中,采用随机森林算法作为预测算法。随机森林作为一组决策树的组合,其对纹理特征的分类精度高,且快速稳定、结果可预见性强,能够处理很高维度的数据,并且不用做特征选择。在当前的纹理图像处理上,相对其他算法有着很大的优势。
当已训练的随机森林算法对未标注区域进行预测,并记录每个超像素p属于标号lp的置信度p(lp|fp)后,使用图割(graphcut)模型对分类结果进行优化,即可生成本次的标号图(如图6、图11所示)。
s5.判断标号图的纹理特征分布是否准确,若准确则执行步骤s6;若不准确则返回步骤s3。
具体的,采用标号图意义在于其能够较好的描述纹理图像中不同材质纹理的分布情况(参照图6、图11所示,标号图将不同的颜色或者标记与原图中不同的材质纹理联系起来,并相对直观的表示出来)。计算机系统可以根据标号图的信息准确识别原图中的材质纹理的分布,便于对材质纹理进行分类和应用,如填充、模糊、纹理转化等。本发明目标是基于标号图来控制纹理合成的过程,所以标号图生成质量的好坏直接决定最终纹理合成的效果。
通过步骤s5的判断实现对标号图的产生进行交互,即对生产的标号图的准确性进行判断,使得标号图处于受控状态,并通过在现有基础上进一步的重复分类辨析这样的迭代步骤,可以进一步提升标号图中纹理特征分布的准确性,使得最终生成的标号图满足用户的需求。在本实施例中,关于标号图准确性的比对采用计算机基于纹理特征进行分析自动的比对判断。在其他实施例中,也可以进行人工干预,由工作人员比对标号图与原图的差异,判断是进行迭代(在现有基础上进行分类和优化)重新生成标号图或者采用该标号图进行下一步的纹理合成。
s6.以标号图为基础,与预设的目标标号图进行合成得到的目标纹理图。
在合成步骤中,该目标标号图(如图7、图12所示)包括对合成目标的纹理特征分布的类型预期信息和结构信息,标号图与此为基础在相应的区域中填充相应的纹理特征对应的材质纹理,最终合成目标纹理图(如图8、图14所示)。目标标号图的使用进一步加强了对纹理合成时的控制,使得目标纹理图可以更为符合用户的合成预期,以此更好的满足用户的需求。
如图2所示,在优选的实施例中,步骤s21具体包括以下步骤:
s21.提取区域的色彩直方图,以直方图表示;
s22.提取区域的滤波器组响应信息,以直方图表示;
s23.提取区域的边缘信息,以直方图表示;
s24.将上述步骤的直方图连接得到特征向量;
s25.根据纹理特征的差异对不同的材质纹理分别进行标注。
提取上述类型的特征向量,有助于计算机系统对纹理特征的识别、分析和编辑,可以提高对纹理数据处理的准确性。
具体的,在本发明交互式迭代分割方法中,对纹理图像的每个超像素块(逻辑像素)分别提取的纹理特征包括以下3类特征,以便于计算机对材质纹理进行识别:色彩直方图、滤波器组响应信息和边缘信息。
色彩直方图,图像的色彩值是图像最基本的信息,色彩直方图能够描述不同色彩在整幅图像中所占的比例,而并不关心每种色彩所处的空间位置,特别适合描述难以进行自动分割的图像。
滤波器组响应信息,采用mr8滤波器组获得。mr8滤波器组同时包含各向同性和各向异性滤波器,克服了传统的旋转不变性滤波器对滤波器组响应信息图像响应较弱的缺陷,而且mr8滤波滤波器组只有8维响应维度,大大降低了数据处理的复杂度。
边缘信息,采用gpb检测器获得。gpb检测器考虑了图像亮度、纹理和色彩信息,结合局部和全局图像信息,是一个高性能的轮廓检测器。此外,其将边缘检测作为一个像素的分类问题,并从人工标注边界的自然图像中训练分类器(即预测算法,比如随机森林),将使较短的噪声边缘变弱而得到较长较明显(灰度值大)的图像边界。
以上三类特征均使用直方图表示,最终将三个直方图连接成一个长向量作为每个超像素块的最终的特征向量。
在优选的实施例中,步骤s3还包括以下步骤:
s31.将已标注的材质纹理作为种子点;通过该种子点的选择,可以使得后续产生的标号图可以更为准确的体现纹理特征的分布信息,提高纹理合成的可控性。
s32.选取所述种子点对应的所述标注区域组成训练集;
s33.提取训练集中的纹理特征训练随机森林模型。
优选的,步骤s4包括以下步骤:
s41.使用随机森林模型对未选取的区域进行预测;
s42.使用图割模型对预测完毕的初步标号图进行优化,并生成标号图。
基于上述三个特征向量,根据选取已经标注的超像素块(标注区域)来训练分类器(预测算法),该分类器优选随机森林(randomforest)集成学习方法,该预测算法较为成熟可靠。最后采用该分类器对其他未被选取的超像素块进行分类。
具体的,在采用随机森林分类结束后,使用图割(graphcut)算法对分类结果进行优化,其能量函数如下:
其中数据项dp(lp)=1-p(lp|fp),p(lp|fp)表示超像素p分类为lp的概率(置信度),平滑项vpq(lp,lq)=demd(fp,fq),为相邻超像素被赋予不同标号时的代价,这里使用超像素p和q对应特征向量的emd(earthmovers'distance)距离。本发明所有试验中设置λ=1。而权重系数wpq与超像素间的邻接边长相关,选取公式:
其中ladj(p,q)表示相邻超像素p和q邻接的像素个数。阈值a=10在本实施例中。
在其他实施例中,预测算法还可以采用gradientboostdecisiontree(迭代决策树)来被训练并对未被选取的区域进行预测(分类)。同时,也可以提取更多种类的特征加入最终的特征向量中。
如图1所示,步骤s5还包括以下步骤:
s51.若判断标号图的纹理特征分布不准确,则对材质纹理重新标注后进入步骤s3。
该步骤可以对步骤s5得到的结果进行编辑或调整,当步骤s4的结果不准确时,有可能意味着步骤s25对材质纹理的标注可能不准确,重新标注可以有效的修正这个问题。
在优选的实施例中,步骤s6中的目标标号图包含目标纹理图的纹理分布信息。
其中,步骤s6包括以下步骤:
s61.将标号图与目标标号图加入到附加通道;
s62.采用自调节纹理优化方法生成目标纹理图。
在具体操作中,基于自调节纹理优化方法,将标号图作为附加通道加入到纹理图像的合成中,计算标号图与目标标号图的差异作为额外的惩罚项加入到纹理优化中去,具体如下:
纹理优化(最初由kwatra等提出)的是目标图t与样图s之间的相似性,通过最小化目标与样图上所有对应的重叠局部块(overlappinglocalpatches)之间的距离,即:
这里ti表示目标图像t中一个n*n大小的块,块左上角点对应纹理的第i个像素,si是样图s中与ti最相似的块。程序中设置n=10。块与块之间的距离采用色彩值之差的平方和:
对上式的距离度量进行如下修改,给出原图对应的标号图ls,修改距离度量以配合用户提供的目标标号图lt来约束纹理合成:
式中第一部分是色彩值之差的平方和。第二部分是惩罚项,它度量了源图像对应的标号图ls和目标标号图lt在对应局部块上的差异。λ用于调节色彩与惩罚项之间的权重,本发明所有试验均取λ=0.9;c是一个常数,本发明设置为c=100,b(x,y)是一个二值函数,仅当
在优选的实施例中,步骤s6还包括以下步骤:
s63.采用距离偏移图对目标纹理图的边缘进行加权优化。
在具体操作时,离散标号图优点是清晰直观,然而对于一些风化、锈蚀等纹理,由于不同材质或同一材质的不同风化程度之间并不存在十分精确的边缘,而分割得到的标号图却是存在精确边缘的。针对这一矛盾,本发明对于边界具有渐变过渡的纹理图像,在合成目标纹理图时,采用距离偏移图对边缘处加权优化降低边界附近惩罚项权值的方式来达到降低控制边界附近控制的目的。
首先根据原图和生成的标号图提取边界作为特征线。然后基于特征线生成距离变换(distancetransform)图。最后将距离变换得到的“连续”灰度图作为约束项的权值图(weightmap),加入到合成控制中。此时,新的距离度量定义如下:
其中
图9至图14对比了本发明方法生成的标号图与人工标注的标号图,以及相应的引导合成结果。相比人工标注本发明方法更简单高效。图10是用户利用现有工具软件photoshop手绘的标注图,耗时大约10分钟左右。图11由前述的交互迭代分割算法生成,共计5次迭代编辑生产的标号图,耗时大约3分钟。从分类结果来看,本发明方法生成的标号图(图11)接近人工标注的标号图(图10)。更重要的是,最终同样可以合成十分理想的结果,如图12和图13所示。
可见,本发明的纹理合成方法中关于标号图的生产方法可以简单高效生成标号图。且采用交互迭代式的图像分割方法,避免了对纹理是否合适的判断需要庞大数据库支持的缺点。本方法更适合用户快速而准确的获取标号图,即便对于复杂的纹理图像,也同样能高效直观的生成标号图。
同时,本发明针对边缘渐变(如风化、锈蚀等)纹理,用降低边界附近惩罚项权值的方式来达到对边缘渐变纹理控制的目的。
进一步的,本发明中纹理合成技术的应用方便拓展,只需要简单更换目标标号图就可以应用到如图像修补、背景重建及3d模型贴图合成等场景中。
为解决上述技术问题,本发明还提供一种纹理合成装置,包括:
标号图生成单元,用于对输入的原图进行抽象分析后,提取纹理特征的特征向量,并对不同的材质纹理分别标注,选取标注区域的纹理特征训练预测算法并对未标注区域进行预测,最后根据纹理特征分布情况创建标号图。
特征判断单元,与标号图生成单元连接,用于判断标号图的纹理特征分布是否准确;若不准确,则重新对材质纹理进行标注并激活标号图生产单元重新训练预测算法并生成标号图;。
合成单元,与标号图生成单元连接,用于以标号图为基础,与预设的目标标号图进行合成得到的目标纹理图。
如图4所示,纹理合成装置中,标号图生成单元还包括以下特征提取模块:
色彩模块,用于提取区域的色彩直方图,以直方图表示。
滤波器组响应信息模块,用于提取区域的滤波器组响应信息,以直方图表示。
边缘信息模块,用于提取区域的边缘信息,以直方图表示。
合成单元包括:
附加通道,用于载入的标号图和目标标号图;
纹理边界优化模块,根据标号图和目标标号图分别提取距离偏移图,并根据提取的距离偏移图对目标纹理图的边缘进行加权优化。
区别于现有技术,本发明采用原图的标号图来引导纹理合成的过程,由于生产的标号图的过程可控,使得纹理合成也处于受控状态,有效的提升了计算机在处理由多种材质构成或者存在非均匀渐变等复杂纹理信息时的准确性和效率。同时,在生产标号图的过程中引入的对标号图纹理特征准确性的判断,并将准确性不高的标号图重新抽象分割使得对其中纹理特征的分类更为准确,该交互迭代的方式提高了标号图产生过程的可控性,使得最终生成的纹理合成图像准确的符合用户要求,实现精准控制基于样例的纹理合成的目的。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。