基于群体智能算法的动画行为建模与控制研究

2022-06-14 10:04晶,孟鹿
计算机仿真 2022年5期
关键词:步长鱼群视野

高 晶,孟 鹿

(青岛农业大学,山东 青岛 266109)

1 引言

随着大型游戏、影视特效和VR应用的拓展,在动画制作中经常出现模拟大规模生物群体行为的场景,通常群体行为控制需要具备良好的全局与局部效果[1]才能保证动画场景的逼真性,因此不能通过简单的设置直接实现,必须对群体动画采取引导控制,或者使其实现自主控制[2-3]。为了提高大场景动画的真实性,高性能群体动画行为控制成为动画技术的重要研究方向。

针对群体动画行为控制在全局表现出的整体趋向性,以及局部表现出的差异性,现有研究大多采用群体智能算法进行建模控制。群体智能算法通过仿生计算,可以很好的模拟自然状态下群体行为,常被用于处理各类寻优和调度问题。文献[4]采用FA算法对群体动画进行建模,根据亮度与距离关系设计运动策略,同时通过速度调节进行躲避。FA算法不存在质量与速度属性,需要在动画制作时通过人为添加,实现复杂。文献[5]采用果蝇算法对群体动画疏散建模,并引入FA算法的感知机理来改善控制的平滑性。该方法中果蝇的属性需要全局数据支持,导致其整体控制效果不佳。文献[6]采用了布谷鸟算法查询整体最佳行为,并将其和个体行为融合,该方法获得了较好的控制连贯性。文献[7]在布谷鸟基础上融合了Logistic混沌序列,利用Logistic迭代得到鸟巢位置,并根据步长更新实现自主寻优。布谷鸟算法在寻优计算过程中,具有较小的复杂度,容易实现,可是其寻优效率和局部寻优效果一般。人工鱼群算法(AFSA)符合群体共性与个性要求,且具有动态感知性能[8],本文在AFSA基础上进行了优化,改善AFSA的寻优性能,并基于改进AFSA实现群体动画行为的高性能控制。

2 群体动画行为模型

在对群体动画行为进行控制时,内部个体的描述性能很重要。考虑到动画的平顺性,这里依据RGB空间模型对个体进行描述。假定个体动画图像区域面积为s,则根据区域内所有像素点的RGB分量得到其色彩度为

(1)

根据RGB进一步得到个体动画图像熵为

G=E(log2pi)

(2)

其中,E(·)为熵函数;pi为像素i的出现概率。利用图像熵G,可以增强个体特征描述的细腻程度。对于个体动画具有的纹理特征,描述如下

M(i,j)=#{(x1,y1),(x2,y2)∈L×W|f(x1,y1)=i,f(x2,y2)=j}

(3)

M(i,j)为由i灰度与j灰度信息构造的共生矩阵。#{·}用于统计包含的个体动画量;f(x,y)为群体动画目标,对应活动的区域范围是L×W。

群体动画行为容易出现碰撞,为准确检测碰撞,同时避免动画行为控制的不自然,这里根据个体动画的位置与加权策略,构建如下碰撞检测模型

(4)

其中,n为群体动画的规模;li为依据特征判断出的个体动画i的顶点位置;wi为个体i的控制权重;Bi,k(t)为B样条曲线基。碰撞模型参数受个体移动影响,于是,对个体移动检测如下

(5)

(6)

考虑到群体动画的方向趋同性,应该保证全部个体的总体趋势,引入聚合中心,将移动方向的检测控制优化如下

(7)

其中,cj为个体动画j的聚合中心。

3 改进ASFA行为控制

在群体动画行为模型中,通过特征与位置信息获取得到个体动画目标,并进行了碰撞检测。为更好的对群体动画共性与个性行为采取控制,本文采用改进人工鱼群模拟群体动画,通过寻优获得群体动画的最佳控制效果。

3.1 视野和步长优化

对ASFA的视野和步长进行分析优化。其中,视野将影响鱼群的随机性与效率,步长将影响收敛性与寻优。为确保它们的合理性,这里设计具有调节系数的更新公式

(8)

其中,horizon、step依次代表视野与步长;λ代表调节系数。在鱼群向目标接近的过程中,应该让调节系数逐渐降低。据此,将调节系数λ公式设计为

λ=exp(-a×(t/Tmax)α)

(9)

其中,a代表常系数;t代表迭代次数;Tmax代表t的上限;α代表调节指数。进行迭代操作时,令调节系数λ不断降低,从而使个体动画接近聚合中心的过程中实时保持合理的horizon与step,确保适应性和收敛性。

3.2 行为优化

对ASFA的行为进行分析优化,它们是控制鱼群活动的引导要素。传统ASFA的三种行为更新公式为

(10)

(11)

其中,μ表示调整因子,它的计算公式为

μ=μmax-λ(μmax-μmin)

(12)

其中,μmax、μmin依次代表调整因子的上下阈值,λ为视野与步长的调节系数。据此可知,移动策略的更新与视野、步长有关,从而使得鱼群移动的依据更加充分合理,并且调整因子控制了移动的随机性。在最初更新时,考虑到群体的不确定性较大,采用较小的调整因子,增加当前状态的保持性,避免局部解的出现。在中后期更新时,考虑到鱼群状态的趋稳,不断增加调整因子,使其快速收敛。

3.3 碰撞优化

在考虑群体动画碰撞时,鱼群个体应该具有相互躲避的认知,这里引入R-A模型。在R-A中,包含以r1、r2和r为半径的三个圆形区域,且r1

4 改进ASFA动画行为控制流程

在ASFA中,所有的人工鱼之间看似具有整体的信息交互,来保证它们具有向心性。但是实际上只具备局部交互,通过不断调整实现整体平衡效果。考虑到鱼群交互的复杂度,这里基于局部交互设计通信策略。将所有人工鱼的通信覆盖区域定义为:以所描述个体动画质心做为中心,半径是r的三维空间。将交互对象定义为:处于通信区域中的全部个体。每次迭代,对感知范围中个体产生的移动信息进行记录,并向外传播,从而扩散至全局。关于本文算法的动画行为控制流程描述如图1所示。

图1 改进ASFA的群体动画行为控制流程

5 仿真与结果分析

基于Matlab对群体智能算法及其动画行为控制性能进行仿真。初始化λ计算的常系数a=25,调整因子的上下阈值分别为μmax=0.95、μmin=0.25,视野和步长的阈值分别为horizonmin=0.001、stepmin=0.001。

5.1 改进AFSA算法性能验证

对改进ASFA的性能进行验证,同时选择与传统ASFA作对比。实验选取的测试函数如下:

f1(x)=-cos(2π|x|)+|x|+1

(13)

(14)

测试函数的搜索范围均为[-100,100],限定算法的迭代次数500,得到算法的收敛曲线与性能对比,如图2和表1所示。根据收敛曲线与平均时间对比可知,两种测试函数情况下,改进ASFA算法的收敛性均得到明显提高,测试函数为f1(x)时大约迭代170次完成最优解搜索,执行时间0.493s;测试函数为f2(x)时大约迭代80次完成最优解搜索,执行时间0.276s,表明改进ASFA算法具有更快的收敛速度,虽然改进ASFA较传统ASFA存在一定的复杂度增加,但是每一轮迭代全局搜索性能的提升,使得改进ASFA在整体算法上具有更好的收敛性。另外,f1(x)与f2(x)两种测试函数下,改进ASFA算法的方差分别为0.0841和0.0032,结合收敛曲线的平滑性和收敛效果,显然比未改进前具有更好的计算精度与稳定性。

图2 算法收敛曲线

表1 算法性能对比

5.2 群体动画行为性能验证

在验证群体动画行为性能时,从耗时、碰撞数量和连贯性三个方面进行实验分析,并与文献[5]与文献[7]中提出的方法作对比。设置群体动画规模初始值为100,最大规模为1000,以100为步长采取递增。在群体动画规模变化过程中,得到群体动画行为时间曲线如图3所示。由曲线对比可知,本文方法对应的群体动画行为时间曲线受群体规模影响较小,且上升率极小,由于改进ASFA算法提高了收敛速度与全局规划性能,所以在群体动画规模增加的过程中,行为时间的变化较为线性。

图3 群体动画行为时间曲线

在群体动画规模增长的过程中,群体动画行为碰撞数量如图4所示。由曲线对比可知,本文方法的碰撞次数明显少于对比方法,这得益于本文对碰撞行为的优化,从群体中的个体,到动画场景中的移动物体、静止障碍多方面采取了碰撞检测和躲避策略,显著降低了群体动画行为的碰撞发生。

图4 群体动画行为碰撞数量曲线

表2统计了三种方法对应的群体动画行为连贯性,根据结果可知,本文方法的动画连贯性分别比文献[5]与文献[7]方法提高了0.107和0.049。导致该结果的原因是由于改进ASFA优化了视野与步长更新方式,每次迭代搜索时,使个体动画在接近聚合中心的过程中实时保持合理性,从而令动画的社会行为具有良好的连贯平顺性。

表2 动画行为连贯性

6 结束语

本文在对群体动画场景中的个体动画图像特征、区域和碰撞分析基础上,提出了改进ASFA的动画行为控制方法。利用改进ASFA群体算法模拟群体动画行为,并分别对算法中视野、步长、行为和碰撞进行了相应优化设计,使改进ASFA能够快速有效的实现群体动画行为控制。通过测试函数,验证了改进ASFA算法显著改善了稳定性与全局收敛性;通过群体动画行为仿真,验证了本文方法控制的高效性,明显降低了动画碰撞数量,提高了动画连贯性。

猜你喜欢
步长鱼群视野
通过图像增强与改进Faster-RCNN网络的重叠鱼群尾数检测
董事长发开脱声明,无助消除步长困境
步长制药50亿元商誉肥了谁?
步长制药50亿元商誉肥了谁?
起底步长制药
鱼群漩涡
朱梦琪??《鱼群》
视野
具功能反应食饵捕食模型动力学分析
真相