APP下载

一种基于图像分解的乱针绣模拟生成方法

2013-09-25项建华杨克微孙正兴

图学学报 2013年4期
关键词:针法矢量交叉

项建华, 杨克微, 周 杰, 孙正兴

(1. 常州纺织服装职业技术学院创意与艺术设计学院,江苏 常州 213164;2. 南京大学计算机软件新技术国家重点实验室,江苏 南京 210046)

一种基于图像分解的乱针绣模拟生成方法

项建华1,2, 杨克微2, 周 杰2, 孙正兴2

(1. 常州纺织服装职业技术学院创意与艺术设计学院,江苏 常州 213164;2. 南京大学计算机软件新技术国家重点实验室,江苏 南京 210046)

常州乱针绣是一种具有地方文化特色的绣艺品种,亟待使用先进技术进行保护和传承。论文提出了一种基于图像分解的乱针绣艺术效果模拟生成方法:将图像分解成不同的对象区域、矢量场和图像细节信息后,通过一种多层绘制技术模拟乱针绣的多层叠加效果,同时,建立模拟乱针绣针法的针法库,为使绘制结果更具真实感,模拟单根绣线方法也一并提出。实验结果表明,该方法能有效再现乱针绣艺术效果,为乱针绣数字化传承技术研究奠定了基础。

乱针绣; 图像分解; 多层绘制技术; 针法库

常州乱针绣是一种具有地方文化特色的绣艺品种,已被列入江苏省首批非物质文化遗产保护名录,亟待需要使用先进技术进行保护和传承。从计算机技术辅助刺绣制作的先期研究[1]中可以看出,乱针绣与传统刺绣有着较大差异,其不同点在于:一是针法类型的不同。传统刺绣的针法是规则的,而乱针绣则采用了不规则的交叉针法;二是多层绘制技术的不同。乱针绣将绣线通过不同层次之间的交错叠加来表达作品的艺术效果。本文将研究基于笔触的图像绘制技术用以再现乱针绣作品的艺术效果,并验证其可行性。

基于笔触的绘制技术(Stroke-based Rendering,SBR)[2]近年来成为了研究热点。其研究可被分为两大类。一类在纵向上将图像分为不同层次,先需要简化每层图像所包含的视觉信息,并在不同图像层次之上放置笔触,最后,综合这些不同的图像层次得到最终的结果。Hertzmann[3]根据用户事先定义的笔画大小,按照不同的滤波窗口大小对图像进行高斯滤波,在不同的图层中可按照笔画从大到小的顺序放置不同的笔触来模拟油画的绘制效果;Jingwan Lu[4]将图像按照梯度大小的不同分为3个层次,而笔触的大小则根据梯度值的不同而变化,梯度值越大的区域笔触就越小。上述方法都采用了多层绘制技术,但由于没有对图像进行横向分解,使其分解图像的笔触类型都是相同的。因此,这类方法难以满足乱针绣不同区域采用不同的针法的要求。

另一类在横向上按照图像的颜色、纹理和其他一些视觉特征的相似性将图像分解为不同的区域,区域绘制所用到笔触的位置、朝向和大小则由区域内容所决定。Zeng等[5]提出了一种语义驱动的绘制方法。首先,利用图像分解的方法建立图像的解析树;然后,从建立的针法库中寻找笔触将其绘制在画布上构成结果。笔触的选择过程则由图像解析树中定义的图像语义信息决定,通过这一过程可以形成不同的区域绘制风格;Zhao等[6]拓展了上述的方法,并且定义了8个参数去控制上述的笔触产生过程;Huang等[7]将图像按照图像显著性的不同将图像分为不同的长方形网格,然后,在每一个长方形网格构建笔触。这些方法将图像分解为不同的对象区域,并且不同的区域采用不同的笔触类型区绘制每个区域。然而,这类方法都只使用了单层绘制技术,难以表现乱针绣多层叠加绣制手法所表现出的物体对象的层次感。

乱针绣独特的绣制特点使乱针绣绘制过程需解决以下3个问题:一是根据乱针绣不同区域需设计不同的针法;二是在绘制中保持乱针绣多层叠加绘制的特点;三是解决适合于乱针绣绘制的针法库;同时,还需解决单根绣线的模拟等问题。现有的 SBR方法显然不能满足乱针绣绘制的需求。因此,本文提出了一种适合于乱针绣绘制的横、纵向相结合的绘制模型,如图1所示。

图1 乱针绣绘制模型

1 交互式图像分解

图像分解旨在将图像分解为不同的图像区域、区域矢量场,并提取图像的细节信息用于指导后续的绘制过程。

1.1 图像区域分割及标注

本文将图像区域分为不同的对象区域,并对区域进行分类,按照不同的区域类型分别确定不同的针法绘制参数。首先,将图像分为不同的区域,记为R= {Rk:k= 1 ,2,...,K},其中每个区域Rk为一个二元组,记为Rk=<Λk,lk>。其中,Λk为区域Rk所覆盖的图像像素区域,lk为其区域类别标号。本文中不同的区域之间不存在覆盖现象,假定Λ为整个图像区域,则有:

1) 根据文献[8]算法将图像分为不同的区域。通过计算每个像素与周围像素在亮度、色彩和纹理多个通道上的差异,并统计了该像素成为区域边界的概率。计算公式如下:

其中,s表示不同的尺度大小,i代表了不同的通道(亮度,色彩通道a,b以及纹理通道),sPb(x,y,θ)代表了对图像进行谱聚类分割得到的结果,它代表了图像中的主要边界信息。γ为权重系数,用于调节细节边界与主要边界之间的关系。Gi,σ(i,s)(x,y,θ)则代表了以像素点(x,y)为圆心,σ(i,s)为半径所形成的圆以角度θ划分而成的上下两个半圆在i通道上的直方图统计差异,由下述公式计算得出:

在得到边界像素点的概率分布gPb(x,y,θ) 后,可采用OWT-UCM算法得到区域的边界。

2) 采用人工交互的方法对图像区域进行分类。按照分割区域的不同对象将区域分为3类,并对区域分割结果进行标注,结果为lk∈ 1 ,2,3,如表1所示。其中流型区域表示该区域有流型的纹理,可用矢量场来描述其纹理走向结构。非流型区域[9]则纹理较为复杂,很难从中提取出其纹理走向的规则。在第4部分中,将按照不同区域类型分别根据图像特征设定不同针法模型参数对这些参数进行填充。如图2所示,即为图像分割及标注的结果。

表1 区域分类

图2 图像区域分割标注

1.2 交互式区域矢量场计算

本文采用了一种交互式的区域平滑矢量场提取方法用于计算区域的矢量场。用户通过交互接口标出区域中重要的线条走向,而后采用建立矢量场能量方程的形式来平衡用户交互线条与初始矢量场之间的关系,通过优化得到最终的平滑矢量场。

首先,需要定义区域Rk中每个像素点s的矢量场为Θk,Θk= θ (s) :θ(s) ∈ [ 0,π) ,s∈Rk;然后,建立图像的3层高斯金字塔,采用Sobel算子计算每层图像的梯度:

其中,Gx(i,j)和Gy(i,j)分别表示了图像在x方向和y方向上的梯度,每层图像的矢量场方向和梯度值可以按照下式计算:其中R表示了像素点s的8邻域像素点集,按照高斯金子塔从上到下的顺序,采用加权平均的方式计算区域的初始矢量场:

在上述公式中,我们可以计算得到区域Rk的初始矢量场,但是含有很多的噪音,为了得到更为平滑的矢量场结果,需要对矢量场进行平滑处理。

根据文献[10],kΘ由两个因素决定:

1) 像素点s的四邻域像素点s∂上的矢量场方向;

2) 像素点s的初始矢量场值。本文可允许用户通过交互的方法指出区域矢量场的主要方向,所以,最终的矢量场Θk还跟第3个层次有关;

kskk

在定义了Θk的能量方程之后,采用文献[11]优化方法计算使得能量方程E(Θk)取值最小的Θk最为最终的矢量场方向。如图 3所示,交互式图像区域矢量场计算结果。

图3 交互式图像矢量场计算

1.3 图像细节信息提取

图像的细节信息,如对象的边缘、毛发的细节等,在乱针绣绘制中同样需要被表现。在非真实绘制中的线绘制技术中,被提取出的线条恰好是图像中需要被强调的图像细节。本文将采用线绘制技术来提取图像的细节信息。

通过选择有利于细节表达、所得线条连续平滑、参数设置简单并且能够实时计算的线条绘制方法(Coherence Line Drawing,CLD)[12]来完成参考图像细节信息的提取。首先,利用参考图像通过基于核的非线性向量平滑方法计算出一个平滑、保持特征的局部边缘正切的特征流场(Edge Tangent Flow, ETF),然后,使用沿着特征流场和垂直于特征流场方向的滤波核进行高斯差分(Difference-of-Gaussians, DoG)计算,进而获得参考图像中的显著特征信息。参考图像相应的细节信息图,如图4所示。

图4 图像细节信息提取结果

2 多层绘制技术

2.1 针法库

乱针绣采用很多不同的针法表现不同对象的特征,本文模拟了两大类针法:交叉针和三角针,并开始建立针法库。

交叉针:交叉针是乱针绣中最常用的针法,艺术家常用该针法绣制流型纹理区域,如花瓣、叶子、水流、织物等。

交叉针参数包括方向和交叉角度,见图5(a),其中,AB、CD是交叉针,EF是两针的角平分线。交叉针的参数以来矢量场方向θ和交叉角度β,两针与X轴的夹角分别为θ+β和θ-β,见图5(b)。乱针绣艺术家反映:θ可以由本文1.2节计算得到的矢量场决定,β以来区域的颜色分布,如果区域内的颜色均匀分布,交叉角度接近垂直,β大约为 45º。如果颜色分布在一个方向比较平稳而在另外的方向变化比较剧烈,那么β值相对较小。

得到θ和β之后,我们在窗口中放置两组平行线,平行线的角度分别为θ+β和θ-β,平行线的间距为d(这里,设置d=),见图5(b)。

图5 交叉针定义

三角针:三角针是乱针绣的一种常用针法之一,艺术家利用该针法绣制弱流型区域,如草地、雌蕊、山脉等。这些区域比较复杂,所有针法通常没有特定的方向。

图6 三角针定义

本文还提出了一种模拟单根绣线的方法,我们采用Ashikhmin[15]提出的将参考绣线纹理转换为特定颜色的算法。首先,将复制绣线纹理直到特定的绣线长度;其次,降低末端绣线的亮度,使绣线的末端点比其他部分亮度低。主要做法是将绣线的颜色空间从RGB转到YUV,然后,降低末端点Y通道值,公式如下:

绣线模拟结果,如图7所示。

图7 绣线模拟结果

2.2 针法排布和绘制

艺术家在创作时通常以粗略的草图开始绘画,然后从整体到局部逐渐细化。在乱针绣绘制过程中,根据2.1节中描述的区域标签定义基本的针法类型和尺寸。基本针法参数如下:

1) 针法类型:由于图像的背景区域(lk=1)不是图像的主要区域,对整体的绘制效果不会产生太大影响,所以采用交叉针绘制一层即可。对于流型区域(lk=2),采用交叉针表现区域的纹理特征;对于弱流型区域(lk=3),采用三角针表现复杂的纹理特征。对于后两种区域,单层绘制是不够的,需要从粗到细的多层绘制以取得较好的效果。

其次确定基本针法参数,将图像前景区域(lk=2,3)和一系列针法尺寸作为输入,针法尺寸为W1…Wn。算法通过绘制一系列层次逐步执行,按照从大到小的顺序,每一层赋予一个尺寸值。初始的画布是一张信纸颜色的图像。根据实验,通常需要5层绘制才能够达到较好的效果。为了由粗到细绘制区域,每层的窗口尺寸逐步缩小。这些尺寸的定义如下:

对每一层而言,通过模糊原始图像可建立一幅参考图像。模糊过程为高斯核卷积过程,这里,fσ为常量因子,本文设置为0.5。参考图像表示用户期望以当前笔画尺寸进行绘制能够达到的最优的效果。该方法只在需要放置笔画的细节区域添加笔画。根据前面计算得到的每一层针法窗口尺寸,采用一个单层绘制子过程绘制一层。该过程只在绘制图像和参考图像有差别的区域放置新的笔画,与原图颜色在一定阈值范围内匹配的区域不做任何修改。为了防止针线过密,针迹覆盖率在一定阈值范围内的区域也不做任何修改,同时通过提高阈值参数声称更模糊的模拟图像,或者降低阈值生成更接近原图像的模拟图像。

每层的绘制过程在画布上执行一个简单的循环。绘制算法如下:

2) 从区域中随机选取一个网格,网格的尺寸为iW;

4) 如果areaError和coverageRate在一定阈值范围内,我们在当前网格上放置新的曲线针迹笔画,反之执行步骤5;

5) 如果当前区域的所有像素已经被处理过则结束,反之回到步骤2。在步骤4中,曲线针迹笔画利用1.2节计算得到的矢量场方向指导生成。

具体步骤如下:

1) 建立一个记录像素位置的序列q,并将当前网格g的中心点加入到q中;

这里,tcenter和gcenter表示网格t和g的中心点,Θ(g)为网格g内所有像素的矢量方向的平均值,步长λ与当前层次的窗口尺寸相同;

如图8所示,生成曲线针迹笔画的过程,其中图8(a-d)4幅图分别代表了由初始点g生成序列q的过程。针迹笔画颜色由序列q中当前像素点的平均色定义。

图8 曲线针迹笔画生成示意图

精绣层:在绘制过程中加入一层精绣层使CLD算法提取出的显著特征更加明显,通过在CLD算法提取的区域内放置交叉针,可突出绘制结果的细节信息。针迹的参数如下:

1) 针法尺寸:设置针迹窗口尺寸在 10到14之间。当针迹尺寸低于10时,针迹会因为尺寸过小而无法看清。同时,如果尺寸大于14,绘制效果也会不真实。

2) 针法颜色:根据 CLD算法提取的细节区域,提取该区域中对应原图像中相应位置的颜色信息作为绣线的颜色。

3 实验

本文实验以C++语言实现,配置环境为Intel Core 2 Duo E7300 2.6GHz CPU,2GB内存,Windows XP系统。图9显示最终绘制效果,参考图像为图2(a)。一般绘制一幅图像需要时间为3~5分钟,生成的图像像素数为5000*3500左右。

图9 本文最后的绘制效果

为了验证本文方法的有效性,设计了以下实验。

多层绘制技术效果:在2.2节中主要采用了多层绘制技术来绘制前景。图 10展示了五层叠加绘制的结果。图 10(b)显示了当针法大小=26时的绘制结果,后续的图片分别展示了从层次1+2到层次1+2+3+4+5的叠加结果,每个层次的针法大小为22,18,14和10。从图中可以看出,通过本文的多层叠加绘制技术,图中的花朵的花瓣和花蕊的细节被逐层的表现出来。

图10 五层绘制结果

矢量场绘制效果比较:在1.2节中主要计算了矢量场来指导交叉针的针法方向。图 11显示了其效果对比结果,图11(a)是随机选择针法的排布方向;针法交叉角度的概率密度分布图,如图11(c)所示,从图中可以发现,对于图(a)其角度的概率密度分布不存在峰值;而在图 11(b)中,针法的交叉角度由矢量场决定,在其概率密度分布中,可看到角度分布有两个峰值,一个在 67°左右,另一个在112°左右。从实验观察的结果可以看出,花瓣的纹理可以表现的更为生动。

图11 矢量场效果对比

精绣层效果对比:如图 12所示,在多层绘制中加入了精绣层后绘制的效果。通过图 12可以看出图像中的细节特征,花瓣的叶脉和阴影等特征被表现了出来,表明精绣层在整个的绘制阶段具有重要的意义。

图12 精绣层效果对比

与真实乱针绣对比:在实验中,通过将本文的结果与真实的乱针绣做了对比,如图13所示,可以看出:(1)通过利用图像区域矢量场等图像特征,在花瓣和头发区域等的针法朝向与真实的乱针绣相似;(2)通过提取对象的边缘和图像细节信息指导绘制过程,保证了绘制结果边缘的清晰和绘制过程中图像细节的表达;(3)通过本文的多层绘制方法,能表现出头发,花瓣和衣领等地方的层次特征(详见图 13(d)中的头发和衣领的阴影)。

图13 与真实乱针绣对比

但是,本文的绘制结果与真实的乱针绣在细节上还存在一些差异。主要表现在:(1)在类似于毛发等区域,由于过于细密且没有规律,在本文中不能很好的提取出这些区域的细节,不能很精确的计算这些区域的矢量场;(2)在图像多层绘制阶段,由于本文采取了随机选取点的方式进行交叉针放置,同一个图像点有可能会存在针法的重叠放置现象,因此,会造成这些点比其他点在视觉效果上显得较为模糊。

不同类型图像乱针绣绘制结果:通过输入不同类型的图片并采用本文算法对其进行了绘制,如图 14所示,可以看出本文技术可用于不同类型的图片转换并进行乱针绣绘制,通过利用图像分割、矢量场、图像细节特征提取及多层绘制等技术可使整个绘制过程更加有效。但由于乱针绣绘制是一个非常复杂的过程,更多细节和效果的处理还有待于将来进行深入的研究。

图14 不同类型图像乱针绣绘制结果

4 结 论

本文提出了一种基于图像的乱针绣效果绘制技术。主要贡献在于:

1) 提出了一种新的基于图像的乱针绣绘制技术,拓展了现有的 SBR方法。针对乱针绣不同区域采用不同针法的要求,采用交互式方法将图像分解为不同的图像区域和其他一些图像特征,并可直接用于后续的绘制过程。

2) 提出了一种横纵结合的绘制策略用于绘制过程。将图像分解为不同层次,并采用多层绘制技术来表达乱针绣多层次叠加效果。

3) 建立了针法库用以模拟乱针绣两种以上基本针法类型。同时提出了一种模拟单根绣线的方法,使绘制的结果更具真实感。

该技术除了可以快速有效地完成整个乱针绣绘制外,还可应用于其它类型的绣艺效果绘制,例如苏绣、湘绣等,主要原因是其他绣种都是按不同的区域采用不同的针法,同时应用多层叠加绘制的方法来达到其艺术效果。

未来工作主要在以下两个方面。一是继续开展矢量场提取技术和图像细节信息提取技术的研究工作,使之可以处理更为复杂的对象区域;二是进一步完善针法优化放置策略,并进一步丰富本文所提出的针法库。

[1]Xinling C, Michael M, Asanobu K, et al. Embroidery Modeling and Rendering [C]//Proceedings of the 2012 Graphics Interface Conference (GI '12). Toronto,Ontario:ACM Press, 2012:131-139.

[2]Hertzmann A. Tutorial:a survey of stroke-based rendering [J]. IEEE Comput. Graph. Appl, 2003,23(4):70-81.

[3]Hertzmann A. Painterly rendering with curved brush strokes of multiple sizes [C]//Proceedings of the 25th annual conference on Computer graphics and interactive techniques (SIGGRAPH' 98). Orlando,Florida:ACM Press, 1998:453-460.

[4]Jingwan L, Pedro V, Adam F. Interactive painterly stylization of images, videos and 3D animations [C]//Proceedings of the 2010 ACM SIGGRAPH symposium on Interactive 3D Graphics and Games(I3D' 2010). Bethesda:ACM Press, 2010:127-134.

[5]Zeng K, Zhao M, Xiong C, et al. From image parsing to painterly rendering [J]. ACM Trans. Graph, 2009,29(1), 2:1-2:11.

[6]Zhao M, Zhu S. Customizing painterly rendering styles using stroke processes [C]//Proceedings of the ACM SIGGRAPH/Eurographics Symposium on Non-Photorealistic Animation and Rendering (NPAR'2011). Vancouver:ACM Press, 2011:137-146.

[7]Huang H, Fu T, Feng C. Painterly rendering with content-dependent natural paint strokes [J].International Journal of Computer Graphics, 2011,27(9):861-871.

[8]Pablo A, Michael M, Charless F, et al. Contour detection and hierarchical image segmentation [J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 2011, 33(5):898-916.

[9]Hong C, SongChun Z. A generative sketch model for human hair analysis and synthesis [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2006, 28(7):1025-1040.

[10]Perona P. Orientation diffusions [C]//Proceedings of the 1997 Conference on Computer Vision and Pattern Recognition (CVPR' 1997). San Juan, Puerto Rico:IEEE Computer Society, 1997:457-467.

[11]Yony C, Jianhong S. Variational restoration of non-flat image features:models and algorithms [J].SIAM J. Appl. Math., 2000, 61(4):1338-1361.

[12]Kang H, Lee S, Chui C K. Coherent line drawing[C]//Proceedings of the 5th international symposium on Non-photorealistic animation and rendering(NPAR' 2007). San Diego:ACM Press, 2012:43-50.

[13]Jain A K, Prabhakar S, Hong L, et al. Filter bank-based finger print matching [J]. IEEE Transactions on Image Processing, 2000, 9(5):846-859.

[14]Mello V B, Jung C R, Walter M. Virtual woodcuts from images [C]//Proceedings of the 5th International Conference on Computer Graphics and Interactive Techniques in Australia and Southeast Asia(GRAPHITE' 2007). Perth:ACM Press, 2007:103-109.

[15]Ashikhmin M. Fast texture transfer [C]//Computer and applications, 2003, 3(4):38-43.

A Novel Image Disintegration-based Computerized Embroidery Method for Random Stitch

Xiang Jianhua1,2, Yang Kewei2, Zhou Jie2, Shun Zhengxing2
( 1. Creative and Art Design College of Changzhou Textile Garment Institute, Changzhou Jiangsu 213164, China;2. State Key Laboratory for Novel Software Technology, Nangjing University, Nanjing Jiangsu 210046, China )

ChangZhou embroidery with disordered needles represents local culture. It's urgent to develop advanced technique for its protection and inheritance. This paper presents an approach for simulated generating method of embroidery with disordered needles based on image decomposition. This is achieved through decomposing an image into different object regions,vector fields, and image details. We obtain the simulated multilayer superposition effect of embroidery with disordered needles through multilayer rendering technique. Finally, we create a database of disordered needles, and provide realistic rendering through the method of simulating single string stitch. The results show that this framework can effectively reproduce the artistic effect and lays a foundation for digital inheritance of embroidery with disordered needles.

random stitch; image disintegration; multilayer rendering technique; stitch dictionary

TP 391

A

2095-302X (2013)04-0016-08

2013-03-18;定稿日期:2013-04-15

江苏省科技厅科技支撑(工业)计划资助项目(BE2011058);国家“863”高技术研究发展计划基金资助项目(2007AA01Z334)

项建华(1966-),女,江苏苏州人,副教授,硕士,主要研究方向为图像理解、艺术设计,E-mail:jhxiang@foxmail.com

杨克微(1983-),男,河南郑州人,博士研究生,主要研究方向为图像理解与计算机视觉。

周 杰(1987-),男,山东青岛人,博士研究生,主要研究方向为图像理解与计算机视觉。

孙正兴(1964-),男,江苏南京人,博士,教授,博士生导师,主要研究领域为多媒体计算、计算机视觉和智能人机交互。E-mail:szx@nju.edu.cn

猜你喜欢

针法矢量交叉
一种适用于高轨空间的GNSS矢量跟踪方案设计
矢量三角形法的应用
通督调神针法结合推拿治疗颈源性失眠的临床观察
“六法”巧解分式方程
连数
连一连
基于矢量最优估计的稳健测向方法
朝医太极针法操作规范
三角形法则在动态平衡问题中的应用
双线性时频分布交叉项提取及损伤识别应用