基于果蝇算法的动画卡通人物造型配色方案研究
2019-04-26李莹
李莹
(咸阳师范学院 设计学院,咸阳 712000)
0 引言
色彩是动画卡通人物造型设计过程中的重要组成部分,其对产品外观有直接影响[1、2],对动画设计产品整体印象的贡献率高达80%,因此合理科学地搭配动画产品的颜色,对提高动画产品的视觉冲击力和美感,满足用户心理需求具有重要意义[3、4]。随着计算图像处理技术的快速发展,为减轻动画造型手工配色的冗繁工作量、降低设计成本,计算辅助设计配色被应用于动画卡通人物造型配色。为了快速准确地找到动画造型相搭配的配色方案,将将果蝇算法[5](Fruit Fly Optimization Algorithm,FOA)和计算机辅助设计配色结合,提出一种基于果蝇算法的动画卡通人物造型配色方法。研究结果表明,本文提出的方法可以快速准确的找到动画卡通人物造型相搭配的配色方案,提高色彩的设计搭配水平。
1 果蝇优化算法
FOA算法流程如下:
Step1:果蝇算法参数初始化:果蝇群体大小popsize和最大迭代次数Iteration,果蝇群体位置初始化为X_begin、Y_begin;
Step2:参考公式(1)和公式(2),计算果蝇个体的寻优方向和搜索距离为式(1)、式(2)。
xi=X_begin+Value×rand()
(1)
yi=Y_begin+Value×rand()
(2)
其中,Value表示果蝇的搜索距离;xi、yi为果蝇个体的下一时刻的位置。
Step3:参考公式(3)和公式(4),计算果蝇个体和参考原点之间的距离di以及果蝇个体的味道浓度si;为式(3)、式(4)。
(3)
(4)
Step4:参考公式(5)计算出果蝇个体当前位置的适应度值为式(5)。
Smelli=Function(si)
(5)
Step5:找到果蝇群体中最佳适应度值及其对应的最佳位置,最佳适应度表示为Smellb,最佳位置表示为(xb,yb);
Step6:记录并保留果蝇最佳位置和最佳适应度,最佳适应度Smellbest=Smellb,果蝇初始位置X_begin=xb,Y_begin=yb,同时果蝇群体向最佳位置进行寻优搜索;
Step7:迭代寻优,重复迭代Step2-Step5,判断当前适应度是否优于历史最优适应度;若满足条件,则执行Step6。
2 色彩模型
2.1 RGB模型
RGB彩色模型如图1所示。
图1 RGB彩色空间模型
如图1所示RGB彩色空间模型中[6],原点(0,0,0)对应黑色,顶点(1,1,1)对应白色,从原点到顶点(1,1,1)的连线称为灰色线,所有灰度值都分布在这条线上。其中位于X、Y、Z轴上的三个顶点分别对应红、绿、蓝三原色,其余各点分别对应不同的颜色,并由从原点指向该点的向量来定义。在RGB彩色模型中,所表示的图像由红、绿、蓝三种颜色分量组成。
2.2 HSI彩色模型
HSI彩色模型[7]是由孟塞尔(H.A.Munseu)基于颜色的三个基本属性的基础上提出,从人的视觉系统出发,用色调(Hue)、色饱和度(Saturation)和亮度(Intensity)来描述色彩。它建立在两个重要的事实之上:其一是I分量与图像信息的强弱有关,其二是H和S分量和人感受颜色的方式紧密相连。HSI彩色空间模型如图2所示。
图2 HSI彩色空间模型
HSI彩色模型和RGB彩色模型之间可以相互转换,RGB彩色模型对应HSI彩色模型的转换方程如式(6)。
(6)
其中色调分量为式(7)。
(7)
HSI模型更符合人描述和解释颜色的方式,它把图像分成彩色信息和灰度信息,使其更符合灰度级的数字图像处理技术。
3 基于果蝇算法的动画卡通人物造型配色方案
3.1 算法编码
对于一个动画造型,不同颜色的搭配组合能够产生不同的感官和色彩效果,通常一个造型构件对应一种颜色。计算机辅助设计中,任何颜色均由RGB三个颜色分量叠加而成,颜色向量采用实数编码。用户手动指定一个造型中所有需要配色的构件,因此每个构件对应的颜色对应一个RGB颜色向量矩阵,配色方案如图3所示。
图3 配色方案
3.2 适应度
为实现动画造型的自动配色,选择Moon&Speneer的色彩调和理论作为适应度[10-11]。由于编码采用的是RGB色彩模型,虽然便于机器显示,但是不方便自动打分,所以打分时,需要将RGB色彩模型转化为HVC色彩模型,适应度计算结束后,再将HVC色彩模型返回到RGB色彩模型[12],适应度函数如式(8)。
(8)
3.3 算法流程
将公式(8)作为果蝇算法优化动画卡通人物造型配色的目标函数,基于果蝇算法的动画卡通人物的造型配色方案算法步骤如下:
Step1:设定FOA算法的最大迭代次数iteration,种群大小popsize;
Step2:为保证配色色差最小,将配色方案的适应度和参照色的适应度的均方误差作为适应度函数为式(9)。
(9)
其中,f(h,v,c)、f(h0,v0,c0)分别表示配色方案的适应度和参照色的适应度;k表示颜色种类数量。根据适应度函数(9)计算果蝇个体的适应度值,寻找个体最优和全局最优的果蝇个体的位置和最优适应度值;
Step3:更新果蝇群体的速度和位置;
Step4:计算适应度值大小并更新果蝇个体的位置和速度;
Step5:如果gen>iteration,则保存最优解;否则gen=gen+1,转到Step3;
Step6:输出最佳动画卡通人物造型配色方案。
4 设计实例
4.1 设计结果
为证明本文算法进行动画卡通人物造型配色的效果和优势,运用3个卡通造型进行颜色配色方案验证,验证结果分别如图4-图6所示。
(b) 成品2
(c) 成品3
图4 实例1
(a) 成品1
(b) 成品2
(c) 成品3
图5 实例1
(a) 成品1
(b) 成品2
(c) 成品3
图6 实例3
通过2个卡通造型进行颜色配色方案验证结果可知,基于果蝇算法的动画卡通人物造型配色自动进化生成动画卡通人物造型并组装,可以有效提高设计效率和重复利用效率,同时可以提供更多的配色方案和造型设计方案。研究结果表明,本文提出的方法可以快速准确的找到动画造型相搭配的配色方案,提高色彩的设计搭配水平。
4.2 运行时间对比
为了说明本文算法的时间效率,将本文算法FOA与PSO、GA、DE和传统方法进行对比,其配色时间对比结果如表1所示。
由表1不同算法配色时间时间对比结果可知,与PSO、GA、DE和传统方法相比,FOA算法卡通人物配色所耗费的时间最少,可以有效提高工作效率和设计成本。
表1 不同算法配色时间对比(s)
4.3 不同种群大小的寻优路径对比
不同果蝇种群大小的寻优路径对比如图7所示。
图7(a)、(b)和(c)分别表示果蝇种群大小为10、20和30时的寻优路径。由图7(a)可知,果蝇种群大小为10时的搜寻路径非常弯曲而不平稳,行进速度缓慢;而果蝇种群大小为30时的搜寻路径相较于果蝇种群大小为10和20时要平稳许多,行进速度快速。
(a) popsize=10
(b) popsize=20
(c) popsize=30
图7 不同种群大小的寻优路径
4.4 不同算法收敛性对比
为了验证FOA算法的优越性,将FOA与PSO、GA和DE进行对比,种群规模10,最大迭代次数100,PSO算法的学习因子c1=c2=2,惯性权重w=0.2;GA算法交叉概率0.7,变异概率0.1;DE算法缩放因子0.5,交叉概率0.7,3个设计实例不同算法的收敛速度对比结果如图8所示。
(a) 实例1
(b) 实例2
(c) 实例3
图8 收敛速度对比图
由图8不同算法收敛速度对比结果可知,与PSO、GA和DE相比,FOA算法具有更快的收敛速度,并且配色色差误差最小,效果较好。
5 总结
为了减轻动画造型手工配色的冗繁工作量和降低设计成本,将果蝇算法和计算机辅助设计配色结合,提出一种基于果蝇算法的动画卡通人物造型配色方法。研究结果表明,基于果蝇算法的动画卡通人物造型配色自动进化生成动画卡通人物造型并组装,可以有效提高设计效率和重复利用效率,同时可以提供更多的配色方案和造型设计方案,提高色彩设计和搭配水平。