基于分段函数的中国画风格渲染新方法*
2014-09-13杜晓荣陈启文
陈 晨,杜晓荣,陈启文
(中山大学电力电子及控制技术研究所,广东 珠海 519082)
基于分段函数的中国画风格渲染新方法*
陈 晨,杜晓荣,陈启文
(中山大学电力电子及控制技术研究所,广东 珠海 519082)
通过结合物理模拟中随机浓度的思想和分段处理方法,对中远距离分段的扩散浓度采取随机处理,从而提出一种新的分段水墨扩散函数,用于模拟水墨扩散效果,根据其实现要点选取适当算法设计了中国画风格绘制的总体算法框图。该算法首先对图像用均值滤波进行平滑预处理;然后应用K-means聚类算法进行图像分割,用以模拟中国画用水墨浓淡表达色调层次的效果;接着,算法采用形态学方法检测图像的边缘点,对检测出来的边缘点应用自定义的分段处理函数模拟水墨边缘扩散的效果,得出中国画风格渲染图像;最后,用HTML5实现了该算法。该算法所生成的中国画风格在用墨模拟和水墨扩散上都能够得到较逼真的效果。
非真实感绘制(NPR);中国画;HTML5;分段函数;K-means聚类算法
1 引言
自20世纪90年代至今,非真实感图形学一直是计算机图形学中重要的研究领域。非真实图形学的研究也已经取得了很多成绩,这些研究从不同的角度、用不同的方法实现了各种风格化的艺术效果,如中国画、水彩画、油画、铜版画、卡通画等等。中国画,盛行于唐代,根据墨的浓淡层次表现出物体的量感和空间,其基本要素有三:单纯性、象征性、自然性[1]。用非真实感渲染技术模拟以意境为核心的中国画,一直是研究中炙手可热的焦点,也是技术上需要积极克服的难点。在应用层面上,由于中国人特有的水墨风情结,在娱乐游戏产业中,中国画风格很受欢迎,在我国营造出一个独特的市场。尤其在网游应用上,中国画风格更是各大游戏商争相模仿应用的渲染风格,《蜀山Online》、《天之痕Online》、《寻仙》、《魔镜奇谈》等大型水墨风格网络游戏相继出现。可见,无论技术上还是市场上,中国画风格的渲染技术均具有很高的研究价值。
Web应用是未来计算机发展的趋势,各种技术都需要实现其Web版才能更方便地被广大用户所使用。在Web环境下,利用HTML5的canvas+javascript可以很容易实现各种绘制方法,本文选择HTML5技术来实现中国画风格渲染算法。
2 研究现状
众所周知,在非真实感风格化渲染领域中,中国画风格的首次出现并非是由中国人提出的,而是由美国麻省理工大学多媒体实验室的Steve Strassmann第一次尝试实现的。虽然如此,中国画毕竟根植于中国文化,无论其中精粹之处还是市场所在,国人的拿捏始终最为到位。因此,在后续的发展中,我国学者对非真实感中国画风格渲染进行了积极的研究,极大程度地深化了风格实现的效果、提高了算法质量,取得了丰富的成就,也使中国画风格渲染得到了长足的发展。其中,最为突出的是天津大学孙济洲教授所领导的团队:白海飞[2]提出了一种基于物理建模的水墨模型,用于模拟中国画中水墨扩散、叠加的效果;李丹[3]引用了纹理合成技术,实现了中国山水画中皴法渲染的效果,并提出用图像类比实现水墨渲染的方法;王征[4]则在已有的水墨画仿真研究的基础上,按照面向对象的软件工程的方法构建了一个稳定、易用、可扩充性和可维护性良好的水墨画仿真绘制系统。此外,李传峰[5]提出了应用分形技术的基于迭代函数系统的中国书画风格的绘制算法,并成功地实现了中国书画中“干笔飞白”的典型艺术效果。目前中国画风格渲染技术的发展已经是面面俱到,各种细节的模拟都有相应的技术支撑,新技术亦层出不穷,不但技术基础深厚,而且发展前景广阔。
3 中国画风格渲染方法
基于图像的中国画风格处理最主要实现两个效果:一是图像分割,用以产生“墨分五色”的以墨浓淡来表现色调的艺术效果;二是边缘扩散,用以产生水墨在宣纸上的不规则扩散效果。因此,基于图像的中国画风格渲染过程有四个步骤:图像灰度化并进行均值滤波、图像分割、边缘检测和水墨扩散。总体框架如图1所示。
Figure 1 Chinese painting style rendering frame diagram图1 中国画渲染框架图
3.1 均值滤波
均值滤波属于线性滤波的一种,其方法是对于给定图像位置(i,j)处的像素点,取其邻域Sij,其中Sij内包含k个像素,取k个像素的色彩平均值作为(i,j)处像素点的色彩值。由于均值滤波能有效地抑制噪声,在实现中国画风格渲染的主要步骤之前先对图像进行一次均值滤波处理,不但能够去噪使得图像带有平滑的效果,从而达到中国画风格流畅性意境的展现,为后续墨水扩散效果的实现打下基础。均值滤波使图像平滑的同时,会带来图像模糊的现象,会削弱一般的风格化效果,但对于重意境轻形态的中国画风格来说却是相得益彰。
本文中,像素点的均值滤波取3×3的邻域进行,而且只是处理灰度图像,算法只需循环遍历邻域内像素,求其灰度值和及统计其像素个数;然后用灰度和除以像素总数得出平均值,即可得到处理后的像素灰度值。图像均值滤波的效果图如图2所示。
Figure 2 Mean-filter effect diagram图2 均值滤波效果图
3.2 图像分割
图像分割是指为了辨识和分析目标,把图像分成各具特性的区域并提取出感兴趣目标的技术和过程,在遥感、气象等领域中应用甚广。其中边缘检测也属于图像分割的一部分。在中国画风格渲染中,图像分割是最基础的步骤。水墨的浓淡层次能表现的色阶远比图像甚至是灰度图像本来的色阶要少得多,所以可以用图像分割技术将图像色阶相近的区域进行提取和简化分类;然后再根据区域色阶的深浅,用浓淡不同的墨色绘制出来,这是基于图像的中国画风格处理的必要步骤。也就是说,图像分割要实现的是墨色浓淡相宜的效果。
图像分割发展至今,已经有多种实现方法,例如Hough变换法、阈值法、特征空间聚类法、松弛迭代法等等,其中以特征空间法最适合本文所作的中国画风格处理。特征空间聚类法是根据某些特征将目标点分到相应类别中的一种图像分割方法,比较有代表性的实现算法有K-means聚类算法、ISODATA聚类算法、模糊C均值算法、Mean Shift算法,本文采用的是K-means聚类算法。
对于灰度图,可用数组img_gray[i][j]来表示,则应用该图像数组的K-means聚类算法的具体步骤如下:
Step1任意选定k个聚类:Q1、Q2、…、Qk,并赋予聚类均值(一般取灰度最大值的k个均分点):u1、u2、…、uk。
Step2开始算法迭代,计算每个像素所属的聚类,即归属聚类。归属方法是循环遍历k个聚类,对于第n个聚类Qn,计算出(i, j)处像素点灰度值f(i, j)与其的距离|f(i, j)-un|,统计并找出距离最少的值|f(i, j)-um|,并将(i, j)处像素点归属到Qm聚类中。
Step3循环遍历k个聚类,更新每个类的聚类均值,更新公式如式(1)所示,其中Nn表示Qn聚类中像素点的个数。
(1)
Step4如果对于所有k个聚类,均有上一次迭代的聚类均值等于本次迭代的聚类均值,即un=un,或者迭代次数已经达到必要精度,则算法收敛,结束;否则,退回Step 2继续进行下一次迭代。
K-means聚类算法图像分割的效果图如图3所示。
Figure 3 Image segmentation effect diagram图3 图像分割效果图
3.3 边缘检测
边缘检测的作用是找到图像中的边缘像素点,中国画风格渲染的最后一步是要进行水墨的扩散,处理的起始点就是图像的边缘像素点,因此要先对图像进行边缘检测,为以后的扩散过程做准备。
由于边缘检测的目的是找到图像边缘像素点,对其进行水墨扩散处理,而且要求算法的时间复杂度尽可能低,故选择形态学方法对图像进行边缘检测。形态学边缘检测方法的实质是图像膨胀和腐蚀两种效果的差分,由于膨胀和腐蚀对于边缘点的处理最突出,因此两者差分之后保留下来的结构就是边缘点,这是形态学边缘检测的原理。形态学边缘检测方法只需要进行图像的膨胀和腐蚀,过程中可以减少大量数学运算的处理,而且两种处理可以同时在一个循环中进行,因此运算速度相当快,符合以上要求。
经过发展,现在的形态学边缘检测方法有两种,分别是形态学梯度法和形态学拉普拉斯法,两者的公式分别如下所示。
G[f(i,j)]={dilate[f(i,j),B]-
erode[f(i,j),B]}/2
(2)
L[f(i,j)]={dilate[f(i,j),B]+
erode[f(i,j),B]-2f(i,j)}/2
(3)
其中,G[f(i, j)]和L[f(i, j)]分别表示梯度法和拉普拉斯法计算出来的边缘强度,dilate[f(i, j), B]和erode[f(i, j), B]分别表示对(i,j)处像素点进行膨胀和腐蚀处理后的结果,f(i, j)是(i,j)处像素点的灰度值,B是形态学处理的结构元素。
本文选择交叉结构元素的拉普拉斯法[7]进行边缘检测,其效果图如图4所示。
Figure 4 Morphological edge detection effect diagram图4 形态学边缘检测效果图
3.4 水墨扩散
3.4.1 水墨扩散分析
由于水墨扩散在仿真上的重要性,不少学者在此方面都进行了积极的研究并取得了很好的效果。目前,水墨扩散主要以物理模拟为主要实现手段,其中文献[1,2]都通过不同的物理仿真方程进行水墨扩散处理。除此之外,也有一些使用数学方法简化模拟扩散效果的算法,例如文献[5]就设计了一种分段方程的思想用以模拟不同距离下的水墨扩散效果。另外,在最近研究中,文献[8]另辟蹊径,提出用分形模拟扩散边缘,虽然未得到广泛应用,不过其思想新颖独特,很有价值。余斌[9]提出了基于纸的物理建模方法,构造了一个可控的物理纸模型以模拟宣纸,再在该模型上进行水墨扩散过程的模拟运行,将基于“粒子系统”的扩散模型移植到物理模型上,扩散的承载单位不是像素,而是纤维团。为了得到更好的水墨扩散效果,有必要分析下水墨扩散模型[10](见图5)。由图6可见,沿着x轴水墨扩散的浓度并非是逐层递减,变化规律是先递减再升高再递减的过程 ,这个变换规律是我们算法的依据。
Figure 5 Ink diffusion model图5 水墨扩散模型
Figure 6 Ink diffusion density图6 水墨扩散浓度
水墨扩散方法主要分为两大类:一类是基于水墨扩散规律的物理仿真方法,例如石永鑫[11]提出的细胞交换法,将纸面当做一张一个个纤维细胞组成的网格,墨水即当作水墨粒子,通过使用“伪布朗运动”模拟水墨粒子流动的推动力,效果图如图7所示;另一类是基于效果模仿的效果方法,即不考虑水墨扩散的规律,仅仅模仿水墨呈现的效果特征,如石永鑫提出的基于分形算法仿真水墨扩散后的不规则轮廓线。
Figure 7 Physical simulation diffusion method图7 物理模拟扩散方法
3.4.2 水墨扩散算法
为了在HTML5上实现快速形成水墨扩散的效果,本文结合物理模拟中随机浓度的思想和分段处理方法,对其中远距离分段的扩散浓度采取随机处理,从而提出一种新的分段水墨扩散函数,用于模拟水墨扩散效果。图7是本文使用的水墨扩散模型,它是基于图6水墨扩散规律进行离散化仿真的,并进行了适当的简化。但是,本文水墨扩散的步骤依然符合现实水墨扩散规律,保证了扩散的效果。
本文中扩散原点是图像经Laplace边缘检测后得到的边缘点f(i,j),每个边缘点都按照图8的模型来仿真,该模型将水墨扩散过程分为四个部分:
Figure 8 Ink diffusion model in this paper图8 本文水墨扩散模型
(1)d=0~d=1;/*这是水墨浓度最高的部分,是笔与纸直接接触的地方*/
(2)d=1~d=2;
(3)d=2~d=3;/*以上两个部分是低扩散区域*/
(4)d=3~d=4;/*这是高扩散区域*/
四个区间的参数值是要参考水墨扩散模型的,必须保证四个区间参数值满足相应的大小关系,即参考图6中的水墨扩散浓度比例关系,且可以在满足大小关系后适当调整参数值。为了得到最佳的效果,仅仅是按照本文扩散的模型仿真还不够,我们需要通过多组实验,确定每个区域的水墨扩散参数,图9中四个区间参数依次为3/5、1/2、1/5、1/3; 图10中参数依次为2/3、1/2、1/5、1/3。从以下对比图可以看出,图10的轮廓比图9的要模糊,边缘扩散的浓度要高,效果更逼真,因此要尽量将d=0~d=1区间参数值设定大一些。
Figure 9 Para:3/5、1/2、1/5、1/3图9 参数:3/5、1/2、1/5、1/3
Figure 10 Para:2/3、1/2、1/5、1/3图10 参数:2/3、1/2、1/5、1/3
经过多组实验对比,结合图8水墨扩散浓度的变化规律,本文确立的水墨扩散分段函数如下所示。
(4)
Figure 11 Effect diagram of Chinese painting style rendering图11 中国画风格渲染效果图
4 实验结果
4.1HTML5平台
作为下一代Web技术的代表,HTML5概念在近些年尤其火热。HTML5已成为2012年各大互联网活动的标配话题,基于HTML5技术的Web应用是毋庸置疑的未来。使用HTML5技术后,Web应用的核心优势有两个,一是开发语言统一简单,二是具有卓越的跨平台特性。对于用户而言,Web应用完美地实现了即时更新,再也不需要管理大量的客户端应用程序,不需要一个个重新下载并更新,任何新的更新和技术应用,只需要打开浏览器便能实现。因此,本文实验选择了HTML5+javascript技术,实验结果如图12所示,实验配置:英特尔i5-480M,双核2.66GHz,内存2.00GB,测试浏览器包括谷歌Chrome、火狐、IE9等。
4.2 实验步骤、结果及与相关算法的比较
综上所述,本文的中国画风格非真实感渲染的具体算法步骤如下:
Step1输入原始图像,并对图像进行灰度化,处理后数据存于img_gray[i][j]之中。
Step2图像平滑预处理,遍历灰度图中所有像素,对像素进行均值滤波,处理后图像存于img_grad[i][j]中。
Step3应用K-means聚类算法对均值滤波后的图像进行图像分割,结果存于img_kmean[i][j]中。
Step4对原图的灰度图进行边缘检测,采用形态学拉普拉斯法,得出边缘数组存于img_edge[i][j]中。
Step5对img_kmean[i][j]查找img_edge[i][j],如果该点属于边缘点,那么就对边缘点附近距离为4以内的点按照上述分段扩散方程进行水墨扩散处理;否则,该点灰度值不变。
Figure 12 Effect diagram of experiment图12 实验效果图
通过实验结果得出效果图12c,图12b是文献[11]提出的粒子系统仿真法,对比发现本文算法获得的效果图比图12b更富有层次感,边缘扩散效果略次于粒子系统法,更重要的是它的处理时间为132 ms,毫秒级的处理时间在Web应用上更能体现交互的友好性。因此,本文算法计算量小、时间复杂度低,获得较为逼真的扩散效果,是Web上水墨扩散算法的一种较佳选择。
相比较于传统物理仿真算法,如文献[11]提出的粒子系统的水墨扩散算法,用本文提出的算法进行水墨扩散的模拟减少了图5水墨扩散模型的扩散层次,扩散区间参数设置也更灵活,虽然效果要稍差些,但速度要快很多,更适合运算速度要求比较高的Web应用。相比较于效果仿真算法,如文献[12]提出的基于GPU的渲染方法是直接在边缘生成多层小线段,它没有基于扩散规律来仿真,仅从效果上来模拟,本文结合物理模拟中随机浓度的思想和分段处理方法的效果更好一些。
5 结束语
为了找到一种适合Web应用的中国画风格渲染算法,本文通过结合物理模拟中随机浓度的思想和分段处理方法,对中远距离分段的扩散浓度采取随机处理,从而提出一种新的分段水墨扩散模型。通过实验验证,相比较于传统的物理仿真方法,本文模型简化了传统模型的复杂度,同时在中国画的层次感上做了增强,效果比目前的仿真方法要好,仅次于传统物理仿真方法。当然该算法还有需要改进的地方,如在实现效果上还要进一步提高,可以尝试结合贝塞尔曲线进行仿真。该算法是使用HTML5实现的,能很方便地在移动终端和PC端使用,为在Web应用平台上实现非真实感渲染技术进行了探索和尝试。
[1] Mao Guo-hong. Research of the method of ink style rendering based image[D].Wuhan:China University of Geosciences,2006.(in Chinese)
[2] Bai Hai-fei. Research of the "ink diffusion overlay" effects simulation based on physical modeling[D].Tianjin:Tianjin University,2004.(in Chinese)
[3] Li Dan.Computer drawing of Chinese landscape painting[D].Tianjin:Tianjin University,2004.(in Chinese)
[4] Wang Zheng. Design and development Chinese ink painting simulation system based on the object-oriented approach[D].Tianjin:Tianjin University,2005.(in Chinese)
[5] Li Chuan-feng. Drawing exploration of Chinese painting style based on fractal technology[D].Changchun:Jilin University,2006.(in Chinese)
[6] Wang Jun-tao. An improvedK-means clustering algorithm,[C]∥Proc of 2011 IEEE 3rd International Conference on Communication Software and Networks(ICCSN),2011:44-46.
[7] Wang Jian-bin,Ji Yu-bo,Li Yi-ling.Image edge-detection based on mathematical morphology of multi-structure element algorithm[C]∥Proc of the 6th World Congress on Intelligent Control and Automation, 2006:9795-9798.
[8] Zhang Hai-jiang, Wang Xiu-jin, Sun Ji-zhou, et al. Fractal-based simulation of the diffusion effect of Chinese ink wash drawing[J].Journal of Computer Aided Design & Computer Graphics, 2004,16(4):555-558.(in Chinese)
[9] Yu Bin. Simulation of diffusion effect based on physically modeling of paper in Chinese ink wash drawing[J].Journal of System Simulation,2005,17(9):2305-2309.(in Chinese)
[10]JiangXiu-cai.Researchandimplementationonkeytechnologyoflandscapepaintingstylerendering[D].Chengdu:UniversityofElectronicScienceandTechnologyofChina, 2012.(inChinese)
[11]ShiYong-xin,SunJi-zhou,ZhangHai-jiang,etal.GraphicalsimulationalgorithmforChineseinkwashdrawingbyparticlesystem[J].JournalofComputerAidedDesign&ComputerGraphics,2003,15(6):667-672.(inChinese)
[12]ZhangCai-yun.Researchof3DinkeffectbasedonGPU[D].Chengdu:UniversityofElectronicScienceandTechnologyofChina, 2004.(inChinese)
附中文参考文献:
[1] 毛国红.一种基于图像的水墨风格绘制方法研究[D].武汉:中国地质大学,2006.
[2] 白海飞.基于物理建模的“水墨扩散叠加”效果仿真研究[D].
天津:天津大学,2004.
[3] 李丹.中国山水画的计算机绘制[D].天津:天津大学,2004.
[4] 王征.基于面向对象方法的中国水墨画仿真系统的设计与开发[D].天津:天津大学,2005.
[5] 李传峰.基于分形技术的中国书画风格化绘制探索[D].长春:吉林大学,2006.
[8] 张海江,王秀锦,孙济洲,等.应用分形仿真水墨扩散轮廓[J].计算机辅助设计与图形学学报,2004,16(4):555-558.
[9] 余斌.基于纸的物理建模的水墨画扩散效果仿真[J].系统仿真学报,2005,17(9):2305-2309.
[10] 江修才.山水画风格渲染的关键技术研究与实现[D].成都:电子科技大学,2012.
[11] 石永鑫,孙济洲,张海江,等.基于粒子系统的中国水墨画仿真算法[J].计算机辅助设计与图形学学报,2003,15(6):667-672.
[12] 张彩云.基于GPU的3D水墨画效果的研究[D].成都:电子科技大学,2004.
CHENChen,born in 1989,MS candidate,his research interests include computer software development, and image processing.
AnovelrenderingmethodforChinesepaintingstylebasedonpiecewisefunction
CHEN Chen,DU Xiao-rong,CHEN Qi-wen
(Institute of Power Electronic and Control Technology,Sun Yat-Sen University,Zhuhai 519082,China)
By combining the ideas of random concentration in physical simulation and the piecewise approach,the random process of diffusion density of the middle-long distance segment is performed,then a novel subparagraph ink spread function is proposed for simulating the ink diffusion effect.A novel rendering method of Chinese painting style based on piecewise function is proposed.According to the design key points,the overall framework of the proposed method is designed.Firstly,the mean filter is used for smoothing preprocessing of the image.Secondly,theK-means clustering algorithm is adopted for image segmentation so as to simulate the tonal gradation effect expressed by ink shades in Chinese painting.Thirdly,the morphological method is used to detect the edge points.Fourthly,the self-defined piecewise function is applied to the detected edge points to simulate the effect of the diffusion of ink edges,thus obtaining the rendered image of Chinese painting style.Finally,HTML5 is used to implement the proposal. The proposed algorithm can generate a more realistic effect for ink simulation and ink diffusion of Chinese painting style.
non-photorealistic rendering;Chinese painting;HTML5;segmented function;K-means clustering algorithm
1007-130X(2014)11-2196-07
2013-04-09;
:2013-07-05
广东省省部产学研重点项目(2008A090400013);珠海市科技计划资助项目(2012D0501990009)
TP391.41
:A
10.3969/j.issn.1007-130X.2014.11.024
陈晨(1989),男,安徽安庆人,硕士生,研究方向为计算机软件和图形图像处理。E-mail:chenchn8@mail2.sysu.edu.cn
通信地址:519082 广东省珠海市中山大学电力电子及控制技术研究所
Address:Institute of Power Electronics and Control Technology,Sun Yat-Sen University,Zhuhai 519082,Guangdong,P.R.China